オセロやチェスなどを含めたボードゲームって、結構難しいですよね。次は相手がどんな手を出してくるか予想したり、はたまた自分が攻め落とされないように守りもやらなくてはいけない・・・など、頭を使うでしょう。もちろんそれが楽しいのもわかるのですが、実は私も結構ボードゲーム系苦手で、(人間には)本当に勝てくて悩んでいます。
ちなみにAIZINE編集部のヤナセは将棋が趣味だって言っていたな・・・今度コツ教えてもらいたいな。
その一方、「相手の先を予測する」という動きはAI(人工知能)が得意としているところで、これまで囲碁・将棋のAI(人工知能)が開発されています。最近ではそんな囲碁・将棋AI(人工知能)が人間に勝った、というニュースもちらほら聞こえてきます。
そんなニュースを聞いていると、「AI(人工知能)って人間よりも強いのでは?」と不安がる方も多いはず。ところがそんな中で、なんと「世界最弱のオセロのAI(人工知能)」が登場しました!AVILEN社が開発した「最弱オセロ」は3477勝1134616敗187引分(2019年8月21日現在)とのこと。実際に開発者がこんなツイートをしています。
世界最弱のオセロAI作りましたhttps://t.co/OMZVaiFnMG
すでにたくさんの方にプレイされて、いまの戦績は5勝2110敗4引き分け!
負けられるなら負けてみてくれ!#最弱オセロ
— 吉田 拓真 (@TakuAtCoder1) July 25, 2019
圧倒的に負けてばかりなのに、自ら負けにいくって一体どういうことなんだろう?そもそも、オセロAIはそんなに弱いのか?など気になりますよね。
そこまで言うのなら、世界最弱レベルの弱さを誇る私と弱さ勝負をしてみよう!
ということで、今回は「世界最弱のオセロAIとの5番勝負」について、負け方などを分析しながらお伝えしていきます。
最弱王決定戦・オセロAIvs私〜1回戦〜
早速「最弱オセロ」で遊んでみましょう。実際の画面はこんな感じです。(ちなみに白:オセロAI、黒:私)
最初は数が少ないので、オセロAI(人工知能)が優勢を取りました。それにしても、オセロってどこに打てばいいのか迷うはずなのに、このゲームはご丁寧にガイドついているやん!これは勝てるに決まってるわ!って感じてしまいました。
ところがゲームが進んでいくに連れて
あれ、気がついたら私の方がリードしているじゃないか。なぜだ!
ガイドに導かれつつ、どうしたら数を抑えられるか考えていたのにも関わらず、どんどん黒に埋め尽くされていく・・・
あれ、いつの間にか勝っていた!
どうやら私が負けにいこうとしても、オセロAI(人工知能)の方が上手。結果として私の方が勝ってしまいました・・・!その弱さに驚いてしまいますよね。
最弱王決定戦・オセロAIvs私〜2回戦〜
ということで、「負け方」に関してはかなり極めていたので今度は「徹底的にコテンパンにつぶしにいった場合どうなるか」を試してみました。(最弱王決定戦じゃなかったのか、というツッコミはなしで)
このときはまだ序盤。
早くも私が勝てるように差をつけました。AI(人工知能)に対してとにかく差をつける気満々でゲームを進めていたら・・・
はやっ!
あっという間に私の完封勝ちになりました。とはいえ、やっぱりあっさり勝ってしまうともの足りなく、やっていくうちにさらに「負けたい!」という願望がむくむくと出てきました。こうなったら、意地でもオセロAIに負けてやる!
最弱王決定戦・オセロAIvs私〜3回戦〜
ということで、「勝ちに行く」ではなく「負けに行く」勝負、3回戦。「負けられるなら負けてみてくれ!」と言われたなら、今回は「あえて自ら負けに行く」スタイルで行きましょう。
つまり提示されたガイドの中でも、一番取れる数が少ないところを狙う見込みです。また今までの試合を見ていると、「序盤から勝ちに行ってしまう→そのまま勝ち」のパターンが多かったので、今回は「序盤は勝ちに行かない」という方針をとることにしました。
この状態は私の方が若干リードしていますが、まだまだオセロAIが勝てる余裕があるはず。なるべく一つずつとっていく方針をとっていたのですが・・・
おやおや?もうすでに差がついてしまいました。このままではオセロAIが負けてしまう!
オセロAIもどうやったら負けられるか考えています。ちなみに考える時間はだいたい10秒ぐらい(ただしインターネットやシステムの状況によってはフリーズしたまま動かないということもあります)これはまたしても、オセロAIが「圧勝」ならぬ「圧負」する予感・・・!
やっぱり私が圧倒的に勝ってしまいました。ここまで来ると、なんだか「勝っても悔しい」感じになりますよね。そういえばこのオセロAIが有名になるきっかけになったYoutuber「はじめしゃちょー」とオセロAIが対戦した動画があるのですが、「勝ってもうれしくねえ・・・!」という感想を話していました。その気持ちがよくわかりました。
ぐぬぬ・・・やはり世界最弱の噂は本当だったのか・・・!
何回やっても負けられないのできっと今度も負けられなさそうですが、次の試合では「負け方」について分析しながら見ていきましょう。
最弱王決定戦・オセロAIvs私〜4回戦〜
そんなわけで、オセロの戦い方を観察しながら負け方を分析してみましょう。
なんとか互角に戦っています。オセロAIはどうやらあんまり最初から攻めない方針なのかもしれません。
おっと、ここでもすでに差が付きつつあります。一方オセロAIは先程から1〜2つずつしかとっていません。どこまでも攻めない姿勢のようです。
じわじわ差が付きつつあります。そして・・・
やっぱりどうやっても負けられない・・・!
さて今更ながら、オセロAIの「負け方」にはいくつかポイントがあることに気が付きました。それを実際の場面で見てみましょう。
コツその1:四隅をほとんど相手に取らせる
オセロにおいて、「四隅を狙うとよい」という声がちらほら聞こえます。これはなぜかというと四隅を確保しておけば、ひっくり返される可能性は低くなるからです。そういえば今までの戦い方を見てみると、オセロAIが四隅すべてを取った例がありません。
つまりオセロAIは、あえて私たちに四隅を取らせるようにしているのです。これも「負け方」を極める一つの方法だったとは、驚きですよね!
コツその2:石を少なく取る・ひっくり返されやすい場所におく
こちらもオセロで「ここを取るとひっくり返される」といわれているのが、四隅の1〜2マス隣のマスです。実はこのマス、オセロの戦術としては結構危険なマスなんだとか。
なぜこのマスは危険なのかというと、その後四隅のマスやその周辺で相手が石をおいたら、確実にひっくり返されるためです。(わかりやすく言うと、自ら一人で100人いる敵陣に突っ込んでいく感じです)確かにその後ひっくり返して取り戻せる確率が低そうです。
もちろんオセロAIがとっている戦略はこれだけではなく、まだまだたくさんありますが、このような工夫をしながら、オセロAIが自分の打てる場所を減らしていくことで「負ける」方に進んで行くのです。
さあ、負け方の原因がわかったところで最後の試合をしてみましょう。
最弱王決定戦・オセロAIvs私〜5回戦〜
さて、最後の試合も「序盤から攻める」などの負けパターンを使って戦ってみましょう。
おっ、最初はオセロAIがちょっとだけリード。ここでオセロAIが負けの定番「序盤から攻める」を使っていきます。。
私も負けじと少しずつ攻めていきますが、今のところほぼ互角な戦い方をしています。これは負ける見込みが出てきた・・・!?
さあ、オセロAIもいい感じに攻めてきました。でもここでじわじわと差がついて私がリードする形となっています。そして・・・
やはり勝ってしまいました。終盤でだんだん選択肢がなくなってきて2~3石は確実に取れるような感じになってしまい、必然的に攻めてしまうことが勝ちの要因かもしれません。
負けの道を極めたオセロAI、恐るべし・・・!
世界最弱のオセロAIは全日本チャンピオン以上に「弱かった」!
さて、これだけ戦ってきて結果はすべて「私の圧勝・オセロAIの負け」となりました。やはり「世界最弱」を名乗っているだけあって、負け方をわかっていてすごいですよね。でも、そもそもボードゲームって普通では「勝ち」を目指すのに、なぜこのAI(人工知能)は「負け」にこだわるのか、詳しく見ていきましょう。
開発したAVILEN社の吉田拓真さんがオセロのAI(人工知能)を開発する最初のきっかけは、囲碁のAI(人工知能)「AlphaGo」でした。「AlphaGo」が学習を続けて人間のチャンピオンに勝ったというニュースは、実際にAIZINEが編集部のテツヤやつっちーがその衝撃を記事にしています。
そこで「自分も同じものを、オセロで作りたい!」と考えプログラミングを勉強するようになりました。とはいえ、それなら「オセロに勝ちまくるAI(人工知能)」を作ればいいのでは?と考えますよね。吉田さんが「わざと負けようとするオセロAI」を作るきっかけとなったのは、Youtube・ニコニコ動画の「全力で負けようとするオセロAIは本当に負けるのか検証してみた」を見たことでした。
この動画ではAI(人工知能)が勝つ試合が多かったので、吉田さんが「自分の手でもっと弱いAIを作ろう!」と考えて生まれたのが「最弱オセロAI」でした。最弱オセロAIは、通常のAI(人工知能)とは逆に「石を少なくとったほうが勝ち」というルールのもとで学習を続けつつ、私たち人間の打つ先まで読むことができるようになりました。
また、このオセロAIの「弱さ」には段階があって、3000勝してしまった今では「最弱」のレベルに設定されているとのこと。
逆にいうと他の人が3000回もこのオセロAIに「負けている」だなんて、私たち人間もすごいですよね・・・!
さて、今回は「世界最弱のオセロAI」と戦ってみました。この試合から
- オセロAIはやっぱり最弱だった(5戦5勝)
- オセロAI「負け方」を極めているため、こちらが負けに行こうとしても難しい
- オセロAIは全日本オセロチャンピオンが負けに行こうとしても負けない
- オセロAIは「全力で負けに行くオセロAIの動画を見て、これならさらに弱いものを作ることができる」という理由で生まれた
- 一見すると弱いオセロAIも、「石を少なく取る」「私たちの手の内を読む」などで学習を続けている
ということがわかりましたよね。世界最弱、と言ってもただのヘタレのような負け方ではなく、「計算して負けていく」という姿勢がなんだか面白い感じがします。
また、「オセロ弱いんだよね・・・」と感じている皆さん、ぜひオセロAIに挑んでみて「どっちが弱いか」という競争をしてみるのもありかもしれません。頭のいい人は「オセロの負け方」から学んで自分のオセロの戦い方に活かすこともできるでしょう。
とはいえ、「弱い」オセロAIは今後も負け記録を伸ばしていくに違いありません。どんどん「弱く」なっていくオセロAIにも期待が高まりますよね!
コメントをどうぞ