お釣り最適化のページに示した通り、常に最適な支払いを行っている場合には、各時点で財布の中に入っている硬貨の枚数や、支払いに必要な硬貨の枚数などといった値は、比較的簡単な計算で求めることができます。
しかし現実には、常に最適なお釣りのもらい方をするのは難しいでしょうし、他の指標を考えた場合にはお釣り最適化のページで示している方法が必ずしもベストだとは言えません。
そこで「お釣りシミュレーション」を行うことによって、どのような支払い方が良いのかについてもう少し詳しく調べてみました。
シミュレーションの枠組みは非常に単純で、次のようになっています。
この2-4までを100万回繰り返し、そのときの平均お釣り枚数などを集計しました。
シミュレーションの目的は、3での支払い方の違いによって、平均お釣り枚数や、財布の中の硬貨枚数がどのように変わるのかを見ることです。
支払い方法としては、以下の4種類を試しました。
それぞれの場合について100万回の支払いをシミュレートし、財布の中の硬貨枚数、受け渡し硬貨枚数などについて集計した結果を示します。
財布の中の硬貨枚数を最少にした結果
財布の中の硬貨枚数を最少にした結果2
お釣り硬貨枚数を最少にした結果
お釣り硬貨枚数を最少にした結果2
受け渡し硬貨枚数を最少にした結果
受け渡し硬貨枚数を最少にした結果2