はい、ロボットはじゃんけんで毎回あなたに勝てます。ただし、それはあなたの手を予測しているからではなく、目に見えないほど速く反応しているからです。有名なのは、東京大学の石川奥研究室が作ったじゃんけんロボットです。2012年に初めて公開され、高速ビジョンで相手の手の形を読み取り、約1ミリ秒で勝つ手の形を作ります。人間の手を本当に予測するソフトウェアは、これとは別物です。こちらは何ラウンドも続ければ多くの人に勝てますが、毎回勝てるわけではありません。
必ず勝つロボット
東京のロボットは、非常に高速なカメラで人間の手の動きを追いかけます。手の位置と形の認識にかかる時間は約1ミリ秒。そのあと高速なロボットハンドが、相手に勝つ形を作ります。見ている人には、両方の手が同時に出たように見えます。でも実際には、ロボットはもうあなたの手を見ているのです。
研究室はその後、改良版も作りました。第2版は人間とほぼ同じタイミングで手の形を完成させるので、反応していることがさらに分かりにくくなりました。第3版では高速なパン・チルト追跡が加わり、より広い範囲で手を追えるようになりました。
審判のいる試合なら、これは「後出し」で、そのラウンドは負けになります。高速ビジョンと制御の見事なデモであり、それこそが研究の目的でした。でも戦略ではありません。ここからじゃんけんのやり方について学べることは何もないのです。
反応ではなく予測する機械
もっと面白いのは、相手の手を先に見なくても機械が勝てるのか、という問いです。答えは、あなたの手が読みやすければ勝てる、です。そして、ほとんどの人は読みやすいのです。
- RoShamBoプログラミング大会。 1999年、Darse BillingsがFirst International RoShamBo Programming Competition(第1回国際RoShamBoプログラミング大会)を開きました。プログラム同士が長い対戦を行う大会です。優勝したのはDan EgnorのIocaine Powderで、多くの予測戦略に加えて、「相手もこちらを予測しようとしている」と仮定する「メタ戦略」を組み合わせていました。
- ニューヨーク・タイムズのゲーム。 同紙はオンラインゲームを公開しました。コンピューターは20万回以上の過去のラウンドの記録を使い、直近の手をもとに人間が次に何を出すかを当てようとします。
- Kaggle、2020年。 Kaggleはじゃんけんのシミュレーション大会を開きました。ボット同士が1,000ラウンドの対戦を行い、パターン検出が効いてくるだけの長さがありました。
よく使われる方法は簡単に説明できます。直近の数手とその結果を見て、このプレイヤー(または人間一般)が同じ状況でふだん何を出すかを調べ、それに勝つ手を出すのです。Wang、Xu、Zhou(2014年)の研究は、人間には「勝ったら同じ手、負けたら手を変える」傾向があることを示しました。これが、この方法がうまくいく理由です。詳しくは科学のページをご覧ください。
AIはランダムなプレイヤーに勝てる?
勝てません。どの手も同じ確率で出し、パターンがまったくない相手には、人間でも機械でも、どんな戦略も長い目で見れば約3分の1しか勝てません。ゲーム理論によれば、ランダムな手は突くことができません。だから予測するAIが有利なのは人間に対してだけで、サイコロに対してではないのです。理由はゲーム理論のページで説明しています。
自分で試してみよう
WRPSAでコンピューターと対戦すると、コンピューターは終わったラウンドだけをもとに手を選び、あなたが今出す手は見えません。だから、あなたが思っているほどランダムかどうかを公平に試せます。3,020回の手を集めた私たち自身のデータを見ると、ほとんどの人はそうではないようです。グーが36.2%、チョキはわずか28.2%でした。このデータは主に、2026年7月から9月にコンピューターと対戦した人たちのものです。
よくある質問
じゃんけんで必ず勝つロボットはあるの?
あります。東京大学のじゃんけんロボットです。ただし、あなたの手を見て約1ミリ秒で反応することで勝っています。
機械学習でじゃんけんの戦略は良くなる?
人の手のパターンを見つけて、それを突くことはできます。本当にランダムな相手には勝てません。
ロボットはズルをしているの?
大会のルールでは、そうです。相手の手に反応するのは後出しになります。ルールをご覧ください。
