読者です 読者をやめる 読者になる 読者になる

デジタル・デザイン・ラボラトリーな日々

アラフィフプログラマーが数学と物理を基礎からやり直す

「サザエさんのじゃんけん データ分析」の2016年の結果

機械学習

はじめに

明けましておめでとうございます。

昨年は東芝の不正会計について触れたのですが、また今年も東芝のことを触れるとは思っていませんでした。 不正会計後に少しずつ回復傾向にあったのに、まさか昨年末に再度危機的状況になるなんて。 東芝家電のためにサザエさんがあるのに家電売却したら意味が無いんじゃないと思うんですが、まー国民的アニメですから東芝がスポンサー降りたら別のスポンサーになるだけですよね。

さてさて、2016年のサザエさんのじゃんけん結果はどうなったでしょう。 ちなみに、2015年のサザエさんのじゃんけん結果は、32勝9敗9分(勝率0.78)でした。

R言語からPythonに移植

もともと2013年に静岡Developers勉強会で機械学習を学んだ際にR言語を覚えたのですが、その後に1年に1回だけサザエさんのじゃんけんのためだけにR Studioを起動するだけになっていて、操作も思い出す感じでやっている状態だったのです。
昨年、Visual Studio CodeでPythonの開発環境を整えることが出来たので、R言語からPythonに移植してみました。とはいっても、Pythonを本格的に意識して組むこと自体は今回初めてなので、そこそこ苦労しました。

はてなブログPythonソースコードを掲載しようとしたら表示がおかしくなるため、Qiitaにしました qiita.com

次の手の予測アルゴリズム

  • チョキが多いので、グー > チョキ > パーの優先順位とする
  • 前回と違う手を出すので、上記の優先順位で勝手を選ぶ
  • 二手前と一手前が違う手なら、残りの手を出すので勝手を選ぶ
  • 三手の中に同手がある場合、 残りの手を出すので勝手を選ぶ
  • 二手前と一手前が同じ手なら、勝手を出すので負手を選ぶ

2016年の勝敗結果

年月 サザエさんの手 予想の手 勝敗結果
01月03日 休み
01月10日 チョキ グー 勝ち
01月17日 グー グー 引き分け
01月24日 チョキ チョキ 引き分け
01月31日 グー チョキ 負け
02月07日 パー チョキ 勝ち
02月14日 チョキ グー 勝ち
02月21日 チョキ パー 負け
02月28日 グー パー 勝ち
03月06日 パー チョキ 勝ち
03月13日 パー グー 負け
03月20日 グー グー 引き分け
03月27日 チョキ グー 勝ち
04月03日 パー チョキ 勝ち
04月10日 グー パー 勝ち
04月17日 グー グー 引き分け
04月24日 チョキ グー 勝ち
05月01日 チョキ チョキ 引き分け
05月08日 パー チョキ 勝ち
05月15日 パー パー 引き分け
05月22日 グー パー 勝ち
05月29日 パー グー 負け
06月05日 チョキ グー 勝ち
06月12日 グー パー 勝ち
06月19日 パー チョキ 勝ち
06月26日 グー グー 引き分け
07月03日 チョキ グー 勝ち
07月10日 チョキ チョキ 引き分け
07月17日 パー チョキ 勝ち
07月24日 チョキ パー 負け
07月31日 グー パー 勝ち
08月07日 グー チョキ 負け
08月14日 チョキ チョキ 引き分け
08月21日 パー チョキ 勝ち
08月28日 チョキ パー 負け
09月04日 パー パー 引き分け
09月11日 グー パー 勝ち
09月18日 グー グー 引き分け
09月25日 パー グー 負け
10月02日 チョキ グー 勝ち
10月09日 グー パー 勝ち
10月16日 チョキ チョキ 引き分け
10月23日 休み
10月30日 パー チョキ 勝ち
11月06日 チョキ パー 負け
11月13日 グー パー 勝ち
11月20日 グー チョキ 負け
11月27日 パー チョキ 勝ち
12月04日 パー グー 負け
12月11日 チョキ グー 勝ち
12月18日 グー パー 勝ち
12月25日 パー チョキ 勝ち

結果は、27勝11敗12分(勝率0.71)となりました。

ちなみに、サザエさんじゃんけん研究所 公式ウェブサイトサザエさんの手の予想と勝負結果(2016年)が22勝13敗15分(勝率0.628)でした。

これまで研究所公式側に僅差で負けていましたが、今回は勝ちました。といってもアルゴリズムは何も変えてないので、単に相手側がミスったということですね。

データ分析 研究所公式
2013 24勝13敗12分(勝率0.65) 25勝9敗17分(勝率0.735)
2014 30勝10敗11分(勝率0.75) 30勝9敗12分(勝率0.769)
2015 32勝9敗9分(勝率0.78) 33勝9敗8分(勝率0.785)
2016 27勝11敗12分(勝率0.71) 22勝13敗15分(勝率0.628)

スライド

2013年に静岡Developers勉強会で機械学習を学び、2014年1月にネタとしてSlideShareに公開しました。

サザエさんのじゃんけん データ分析 from yaju88

最後に

本当は、TensorFlowを使って人工知能ディープラーニングで予測手を作りたかったのですが、まだ組むだけの理解度(n-gramモデル)が足りないため持ち越しです。
でも、今年中には実現したいと思っています。