こんにちは!
なおき(@waste_investor)です!
人間は1日の中で判断できる回数が決まっているようですね。
確かに、日常で判断する回数は少なくしておいた方が、すぐに行動できるので時間をうまく使っていけるのかと思います。
今回はそれをプログラミングで確かめて見ましょう!
実際に確かめて見た
1日のご飯を毎食選ぶ人と、毎食同じものを食べる人がいたとします。
毎食選ぶ人は0〜1の乱数で出た数によって食べるものを選択します。
朝は、納豆、目玉焼き、お茶漬け、食パン、何も食べないから選択、昼は、ラーメン、そば、定食、チャーハン、手作り弁当から選択、夜は、焼肉、寿司、ラーメン、鍋、ダイエットから選択します。
毎食同じものを食べる人は、朝:納豆、昼:ラーメン、夜:焼肉を食べるものとします。
コードを書くとこんな感じです。
if やelif は条件分岐の構文で、人の判断をこれに置き換えています。
morning、lunch、dinnerのイコールの右側の食べ物をその日に食べることにします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
import time import numpy as np # 毎食選んで食べる人 def what_eat(): # 朝ごはん morning = '' # 乱数で何を食べるか決める val = np.random.rand() if val < 0.2: morning = '納豆' elif 0.2 <= val < 0.4: morning = '目玉焼き' elif 0.4 <= val < 0.6: morning = 'お茶漬け' elif 0.6 <= val < 0.8:a morning = '食パン' else: mornign = '食べない' # 昼ごはん lunch = '' # 乱数で何を食べるか決める val = np.random.rand() if val < 0.2: lunch = 'ラーメン' elif 0.2 <= val < 0.4: lunch = 'そば' elif 0.4 <= val < 0.6: lunch = '定食' elif 0.6 <= val < 0.8: lunch = 'チャーハン' else: lunch = '手作り弁当' # 夜ごはん dinner = '' # 乱数で何を食べるか決める val = np.random.rand() if val < 0.2: dinner = '焼肉' elif 0.2 <= val < 0.4: dinner = '寿司' elif 0.4 <= val < 0.6: dinner = 'ラーメン' elif 0.6 <= val < 0.8: dinner = '鍋' else: dinner = 'ダイエット' # 毎食決まったものを食べる人 def eat(): morning = '納豆' lunch = 'ラーメン' dinner = '焼肉' |
ご飯を選択する関数を作ったので、実行時間を計測して見ます。
回数が少ないと差がわかりづらいので、10,000回関数を読んで計測します。
1 2 3 4 5 6 7 8 9 10 |
# 毎食選ぶ人 start_time = time.time() for i in range(10000): what_eat() end_time = time.time() # 経過時間 print(end_time - start_time) |
1 |
実行時間:0.02149200439453125秒 |
1 2 3 4 5 6 7 8 9 10 |
# 毎食同じものを食べる人 start_time = time.time() for i in range(10000): eat() end_time = time.time() # 経過時間 print(end_time - start_time) |
1 |
実行時間:0.0013217926025390625秒 |
その差はなんと16倍でした。
人間もプログラムも判断する回数が増えれば増えるだけ時間を使うことがわかりましたね。
毎日食べるご飯は少し選びたい気もするので、他のことでも日常生活でルーティン化できるところはルーティン化して判断、迷う回数を減らして時間を効率よく使いましょう。
まとめ
毎食ご飯を選ぶ人と、毎食決まったものを食べる人がいた場合、判断に使う時間に16倍の差が生まれる。
あくまでサンプルコードを実行した結果です。
時間を効率よく使うためには判断する回数は減らした方がいいことがわかりましたね。
自分でも何を書いているんだろうと思いましたが、たまにはこういうことを書くのも面白かったです。
なにかリクエストもあればください。
こんなブログでしたが、最後まで読んでいただき、ありがとうございました。