見出し画像

おいしいスパイスカレーのつくり方

自己紹介

初めまして!
ディップ株式会社でPdMをしている高橋です!

私は2020年4月にディップ株式会社DX事業本部へエンジニア職採用として新卒で入社し、現在まで約2年半PdMとして働いています。

業務

「ディップ株式会社」と聞いてピンと来ない方もいらっしゃると思いますが、求人情報メディアの「バイトル」などのサービスを運営している会社です。

自分はバイトルではなく、面接コボットというプロダクトでPdM見習いとしてお仕事しています。

特技

スパイスカレー作り

当然ですが、スパイスカレーはスパイスの組み合わせや分量によって全く違った味わいになります。

本編

今回noteを書かせていただくにあたり、新卒PdMを目指す方々に向けて私の経験から何か役立つことを書けないかと考えました。

そこでここからは
新卒でPdMとして入社した人は大学時代にどんな事をやっていたの?

という疑問の答えのひとつになればと思い、

さらに学生以外の方に向けては
ディップのDX事業部にはこんな人がいます!
という自己紹介記事を兼ねて

趣味のスパイスカレー作りについて書いていきたいと思います!
ここからが本編です!


おいしいスパイスカレーを作るのは大変

まず、スパイスを入れる量は0(全く入れない)~9(最大量入れる)の10段階で考えます。
使うスパイスが1種類の場合作ることができるカレーの種類は

$$
10^{1}=10通り
$$

この10種類の中で一番おいしいものレシピを探すとしたら10回の試食で良いです。
しかし、1つ問題があります

使うスパイスの種類を増やします。
2種類の場合は単純に

$$
10^{2}=100通り
$$

100回もの調理と試食が必要となると、スパイス2種類の時点でかなり大変です。
それでもスパイスカレーというには少し寂しいです。

実際のスパイスカレーはどれくらいの種類のスパイスを使っているのでしょうか。

クミン、コリアンダー、ターメリック、カイエンペッパー、シナモン、カルダモン、クローブ、オールスパイス、スターアニス、マスタードシード…

簡単に思いつくだけでも10種類も挙がりました。実際には20種類以上のスパイスを使うことも珍しくないようです。

10種類のスパイスを使った場合は何種類のスパイスカレーが作れるでしょうか。

$$
10^{10}=10000000000=100億通り
$$

ここでわかる通り、あるスパイスのすべての組み合わせのレシピを試食するのは困難です。

そのため、あるスパイスの組み合わせのすべてのレシピを試食するのではなく、試食回数を減らしたうえで美味しいレシピを選ぶことにします。


レシピとおいしさのイメージ

スパイスの量の変化とおいしさの変化をとらえるため、スパイスを1種類のみ入れる場合のおいしさの変化を表すグラフを考えます。
だいたいこんなかたちになりますでしょうか。

あるスパイスaの量に応じたおいしさの変化イメージ

おいしさは上にあるほどそのスパイスの量のカレーが美味しいと言える状態とします。
(おいしさは数値にしづらい概念のため今回は軸の数値を消しています。)

上記の図に合わせると最もおいしいレシピの求め方はこの図のようになります。

おいしいレシピの決め方

ただし前項にもあったように

すべてのレシピを試食するのではなく、試食回数を減らしたうえで美味しいレシピを選ぶ

図でいうと、③を飛ばして②から④に行きたいということになります。


効率的な試食の方法を考える

ここまでをもとに、効率的においしいレシピを探すとしたらどのような方法をとるでしょうか。

一番おいしいレシピはグラフでいうと一番高い地点です。
高い地点を探すということは、山登りと同じように頂上を目指すように
よりおいしいレシピの方向へ進んでいけば良さそうです。

手順にするとこうなります。

先ほどのグラフの場合、x=0からのスタートだとしても5回の試食で1番おいしいレシピにたどり着くため、大幅な時間短縮にもなります。

探索の順序


考えた方法を他の場合に適用する

次に、2種類のスパイスを入れる場合を考えます。

入れるスパイスをそれぞれスパイスa、スパイスbとした場合こんなイメージになるかと思います。

あるスパイスa,bの量に応じたおいしさの変化イメージ

スパイスの2種類(x軸,z軸)の量の組み合わせに対してそれぞれおいしさ(y軸)が異なるので3次元のグラフになります。

3次元のグラフでもスパイス1種類の場合と同じように頂上にたどり着くことを考えればいいため先ほどと同じように以下の方法が使えそうです。

  1. 適当なスタート地点を決定

  2. 今の地点の周りのレシピを試食

  3. よりおいしいレシピの地点へ進む

  4. 周りすべてが今よりおいしくない場合移動を終了

  5. 今の場所を最もおいしいレシピと認定

この方法で探索が行えそうです。


さらに他の場合に適用する

次に、10種類のスパイスを入れる場合を考えます。

入れるスパイスをそれぞれ$${x_1,x_2,x_3,x_4,x_5,x_6,x_7,x_8,x_9,x_{10}}$$とした場合こんなイメージになるかと思います。

11次元のグラフは書けません

スパイス10種類の場合のグラフを書くことは大変難しいので割愛します。
しかし、使うスパイスの種類が10種類でも探索自体は同じ方法でおこなうことができそうです。


さらに他の場合を考える

さて、ここで他の例について考えてみましょう。
スパイス1種類のときこんな場合が考えられます。

おいしさの山が2つある場合

おいしさの山が2つある場合です。

  • 薄味(入れる量少なめ)の場合はある程度美味い

  • 全く入れない状態と最大量の真ん中くらいだと味がぼやけてあまりおいしくない

  • 濃い味(入れる量多め)の場合またある程度美味しい

といったように十分に考えられるパターンです。


さらに極端な例を考えてみます。

おいしさが激しく上下する場合

入れる量1単位ごとにおいしさが激しく上下する場合です。
現実においてまずありえませんが、可能性はあります。

スパイスが2種類の場合でも同様のことが考えられます。

山が複数
激しく上下

山が複数ある場合や組み合わせによって激しく上下する場合です。

このような場合、先ほど考えた以下の方法を使うとどうなるでしょうか。

  1. 適当なスタート地点を決定

  2. 今の地点の周りのレシピを試食

  3. よりおいしいレシピの地点へ進む

  4. 周りすべてが今よりおいしくない場合移動を終了

  5. 今の場所を最もおいしいレシピと認定

一番おいしいレシピにたどり着けない場合

このように、0からスタートした場合2回の試食で終わりますが、一番おいしいレシピにたどり着けません。


おいしいスパイスカレーのつくり方まとめ

先ほど考えた方法ではうまくいかないことがわかりましたが、実はすべてのレシピを試食する以外に一番おいしいレシピを確実に見つける手段はありません。

しかし、先ほどのように山登りを模してみたり、例えば味見をして苦みが多く感じれば苦みの強いスパイスの量を減らしてみたり…
できるだけ試行回数でできるだけ良い解にたどり着くことを考えることはできます。


今回ような問題を組合せ最適化といいます。


組合せ最適化問題は今回考えてみたものだけでなく様々な問題が存在します。
代表的なものには巡回セールスマン問題などがあります。

組合せ最適化を解く手法は様々なものが考えられており、今でも研究が続けられています。

ここから実際に組合せ最適化の手法を適用したおいしいスパイスカレー作りをしていきたいところなのですが、時間の都合上難しいため今回はここで終わりにしたいと思います。

次回、おいしいスパイスカレーのつくり方 実践編 にご期待ください!

以上です。ありがとうございました。


DX事業部は色々なポジションでメンバーを募集しています!
もし、ご興味持ってくださった方はぜひ除いてみてくださいね!

求人一覧はこちら
プロダクトマネージャー(PdM)
プロジェクトマネージャー(PjM)
QAエンジニア
リードエンジニア
インフラエンジニア
データエンジニア
Webアプリケーションエンジニア
PMM/商品企画・推進マネージャー


この記事が気に入ったらサポートをしてみませんか?