今日は非常にどうでもいいネタを持ってきました。
鰻屋さんなんかにある秘伝のタレ
あれがどれくらい持つのかを
シミュレーションで検証してみました。

解説動画はこちら



さて、実際にタレを用意できませんので
プログラムでシミュレーションして行きましょう。

データをタレとして用意して
世代交代させるようにします。

10リットル = 10000ミリリットル
1ミリリットル単位で
1日1リットル世代交代させると
初代は何日残るのか?

これをシミュレーションします。

まずはタレを用意しましょう。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import warnings
warnings.simplefilter('ignore')
%matplotlib inline

# 秘伝のタレのデータフレームを用意
amount = 10000
tare = [1 for i in range(amount)]

df = pd.DataFrame(data = tare,columns=['世代'])
df.head()
世代
0 1
1 1
2 1
3 1
4 1

非常に濃厚なタレを用意しました。
データフレームに1ミリリットル単位で
第1世代として用意します。

これを1日1リットル分ランダムで
世代を入れ替えます。

cost = 1000
tmp = df.sample(n=cost)
tmp['世代']= 2
df.iloc[tmp.index] = tmp

df['世代'].plot(kind='hist')
plt.show()

pd.DataFrame(df.value_counts())
download


はい、こんな感じで1日分を入れ替えると
世代交代します。


まとめて50日分やって見ましょう。

amount = 10000
cost,days = 1000 , 50
# 秘伝のタレのデータフレームを用意
tare = [1 for i in range(amount)]
df = pd.DataFrame(data = tare,columns=['世代'])

# 1日入れ替える
for i in range(2,days):
    tmp = df.sample(n=cost)
    tmp['世代']= i+1
    df.iloc[tmp.index] = tmp

# 結果をみる
df.plot(kind='hist',bins = days)
plt.show()
downloadのコピー

第一世代はほんの少しだけ残っていますが
風前の灯火ですね。

どれくらい日数世代交代させると
第一世代が亡くなるのかを
見て見ましょう。

amount = 10000
cost,days = 1000 , 1000
result = []
for c in range(100):
    tare = [1 for i in range(amount)]
    df = pd.DataFrame(data = tare,columns=['世代'])
    for i in range(2,days):
        tmp = df.sample(n=cost)
        tmp['世代']= i+1
        df.iloc[tmp.index] = tmp

        if int(df[df['世代']==1].count())==0:
            result.append(i)
            break
            
np.mean(result)
96.55

はい出ました!!!!

およそ100日ほど世代交代させると
第1世代は消失しますね。

ということで100日も入れ替えて使っていれば
元々のタレは使われて無くなるのではないかと思います。


秘伝のタレ、100日経てば、タダのタレ

あおとが宜しいようでwww

今回はここまでです
それでは。