「Othello is Solved 論文解説(私見)」 記事を読んでみたよ記録その1

前置き

この記事は「OpenEsys Advent Calendar 2023」24日目に向けて書かれた記事です。

adventar.org

 

この記事は何?

Othello is Solved 論文解説(私見)」 という記事があります。

qiita.com


こちらは2023年度OpenEsys代表のにゃにゃんさんが書かれたもので、「Othello is Solved」という論文の解説記事です。詳しくは元記事をご参照ください。

 

当記事はこちらの記事をオセロにもAIにも全く触れていない門外漢が読んだ感想(?)というか記録を書いていきます。わからないところは、というかわからないところしかないと思うんですが都度調べながら読んでいきます。

 

 

この記事を書いてるのは誰?

私はカラビナと申します。

ITF.20生です。

 

この記事を書いてる人が持っている前提知識について

私は大学では、一般に理系ではないとされる分野を専攻してます。

 

前提知識、以前に正直、この記事を読むにあたってどういう分野の前提知識が必要なのかすらよくわかんないっす。

とりあえずオセロは小学生の頃に友達とやって、なんかこっちが打てる場所が無くなる戦略でコテンパンに負けてウケた記憶がある程度、AI関連に対してはチャットGPTとか絵を描くAIとか最近よく聞きますね〜程度、です。

 

これくらいの前提知識の人が「Othello is Solved 論文解説 (私見) #AI - Qiita」 の記事を読んだときの思考の流れを記録するのがこの記事です。

 

なんでその記事を読もうと思った?

自分の全然知らない領域かつめちゃくちゃニッチで専門的なことについて語ってるその道のめっちゃ詳しい人を見るのが好きなんで、なんかそういうコンテンツとかないかな〜と思ってた時にこの記事に出会いました。かなり専門的な内容についての記事ですが、都度わかんない単語調べていけば門外漢でもなんとか読めるのでは?と思えるくらいわかりやすく噛み砕かれた書き方をされてるように感じたので、読んでみたくなったという経緯です。

 

なんでこの記事を書こうと思ったのか?

全く詳しくない領域って誰にでもあると思うんすけど、そういう領域に飛び込んでいくときの思考の流れとか、わかんねぇこれ!ってなる部分とか、わかんないながらもここ面白そう!ってなる部分を記録してたら色々と面白いんじゃないかと思ったためです。ゲームとかも初見の人がプレイしてる時の反応を見るのって面白いじゃないすか。そういう記録ができれば。

 

あと専門外の人の知識量とか理解度ってこんな具合です〜というのをさっくり示すことで、専門の人にとっても何らかの参考になるんじゃないかと思っています。

 

なのでこの記事はあまりまとまりなく、読んでる時に考えてることをそのまま口語に近い文体で垂れ流していくふうに書きます。最終的に結局よくわかんなかったですとなるかもしれませんが、とにかく読んでみたいという気持ちを大事にします。

大事にするぞ!!!!!

 

 

この記事を書くにあたっての目標

こちらの元記事を読んで全てを完全に理解するのは無理だと思うんで、自分なりに目標を定めておきます。

とりあえずタイトルが「Othello is Solved 論文解説」ということなので「オセロが解かれる」ことが主題なのでしょうと思います。しかし私にとって「オセロが解かれ」たというのがどういうことかピンときません。

なので「オセロが解かれた」ってどういうことなのか?がなんとなく飲み込めるというところを目標にします。

 

読みますよ

当記事は元記事↓と照らし合わせながら読まないと意味わかんないと思います

qiita.com

 

あと↑の記事はそもそも私レベルの門外漢に向けて書かれているものではなく、ある程度の知識を前提としているものなのでそこは踏まえた上で読んでいきます。

とりあえず頭から読んでってわからない単語が出てきたらそれを調べる感じにしましょう。

読んでる部分は引用挿入していきます。元記事以外は脚注で引用元を記載します。

 

 

本編

読むぞーーーーー

 

え?まって

 

この記事には専門用語が出てくるので、最後の方に基礎知識として重要な用語や知識をまとめました。

 

ありがてぇ〜〜

じゃあ、まずこの基礎知識のところを読んでから本文行ったほうがいいわけね

 

評価値
オセロでは終局結果において、勝ち負けよりも詳しく、「自分の石の数-相手の石の数」を評価します(空きマスがあったら勝者の石数にカウントします)。

 

え!!!空きマス勝者のものになるんだ 厳し 摂理やね 自然の

あ、ちょっと待てよ。これって評価値っていう語がオセロAI分野でどう使われるかの話か。じゃあまず評価値っていう語の定義調べよう

 

ひょうか‐ち〔ヒヤウカ‐〕【評価値】 の解説
囲碁や将棋で、AIによる形勢判断が数値で表されたもの。*1

 

あー うん?AI関連の語なのね。人間どうしでの時には使われない言葉なんかな?ていうか使う必要が無いのかな。

一旦元記事に戻ろう。

 

ですので、オセロの評価値は通常、-64から64までの整数となります(さらに、競技の特性上、厳密な値はこのうちで偶数値しか取りません)。

 

オセロ置くマスが8*8だから64で自分がオール取ったら64ってことですね。偶数値しか取らないのは直感的にそうな気がするんすけど微妙に飲み込めないのでちょっと考えていいすか?

 

うーん

 

あっ考えてもわかんないわこれ。一旦飛ばして続きを読もう

 

 

αβ法

αβ法は、ゲーム木探索の一般的な手法の一つです。

えーびー法?全く聞いたことがないな。ゲーム木も聞いたことないな。

 

なお、ゲーム木とは木構造の一種で、ゲームにおいて各プレイヤの打てる手をどんどん展開していったときにできる構造です。

 

なるほど?いや、わからん。今頭の中にこういう図が浮かんでるけど合ってんのかな?

 

なんかこういう感じのイメージ

 

とりあえずこのエービー法を検索し……待て

 

これabじゃなくてアルファ・ベータだわ

🙂🙃😀

 

αβ法のgoogle検索結果

 

え!!図これ合ってるくね!?なんで!?😆😆😆😆 ほんとになんで?

ウチ、センスあるかも

 

てか先にゲーム木(き?もく?)調べるんだった

 

ゲーム木のWikipedia記事のスクショ

いっぱい文字がある……

おしまいだ……

 

あ、ゲーム木(き)って読むんだね。それは覚えとこう。読み仮名すぐわかんなくなるからね。

 

ゲーム木(ゲームき、英: game tree)は、組合せゲーム理論において、ゲームの盤面を有向グラフのノードで、手をエッジで表したものである。*2

 

組合せゲーム理論→?

有向グラフ→?

ノード→?

エッジ→?

 

????

 

 

いや、ごめん、カマトトぶった。グラフはちょっと知ってるのでノードとエッジはわかる。単語としてはわかる。「組み合わせゲーム理論」は時間かかりそうだから飛ばそう。「有向グラフ」って何?

 

有向グラフとは、頂点と向きのついた辺からなる「図形」 のことである。各辺がどの頂点からどの頂点に向かっているかという情報のみを与えることで定めることができる。点とそれを結ぶ辺の関係のみに注目し、辺の長さやまっすぐか曲がっているかなどの情報は一切与えない。*3

 

なるほど、ただノード同士を結んでるだけの無向グラフに対して、どのノードからどのノードに行くかという向きの情報も含むのが有向グラフなんですね。ゲームの盤面で言うとどの盤面からどの手でどの盤面に行くか示すから有向グラフが使われるわけですね。

 

🤩了解です🤩

 

え?ノードが点だよね?もうそこもあやふやだわ

「エッジ」って単語なんか尖ってる感じするから点の方がエッジっぽくない?

😕😕😕😕😕😕😕😕😕

 

調べたらノードが点/エッジが線で合ってたんで次行きます。

 

 

「組合せゲーム理論」とはなんですか🙂🙃🙃🙂🙂

 

組み合わせゲームとは
組み合わせゲームとは、2人の対局者が盤面に対して交互に手を打ち、一方の手番の時に局面に対して打ち手がなくなった場合を終局とするゲームのことを言います。

組み合わせゲームは特徴として、以下のような性質を持ちます。

完全情報 : ゲームの局面(状態)が全て公開されている
確定 : (サイコロなど)偶然に左右される要素がない
有限 : 有限の手数によって必ずゲームが終了する*4

 

組合せゲームとは、二人のプレイヤーが交互に手を打つ(着手する)ゲームであり、次の二つの性質を持つものです。

(1)確定性・・・サイコロを振るなどの偶然要素を含まない。

(2)完全情報性・・・ゲームの進行やお互いの手の内が隠されていない。*5

 

検索しても出てくるページによって微妙に説明のされ方が違うな……ってことはここは何となく雰囲気が分かればいいか。

これ、私に前提知識が無さすぎてどの情報源が信頼できるのかすらあんまよくわかんないな。

 

とにかく「運要素が無くて」「ゲームの状態が隠されない/ゲーム盤面の情報をお互い全て知っている」タイプのゲームって理解でいいんですかね。オセロはもちろん、チェス・囲碁・将棋なども当てはまると。

 

この組合せゲームに対し、数学的に必勝法を与えることがこの分野の目標となります。*6

 

あぁ、だから「解かれる」っていう表現が出てくるんですかね。数学の問題を「解く」ようにゲームの必勝法を導き出すのが目標になっているというか。

ん、もしかして「解かれる」って表現がピンとこないのって翻訳の問題だったりする?
(ここでちょっと英単語solveの意味について検索しましたがここで疑問に思ってることの解答がうまくヒットしなかったので一旦割愛)

 

うーん翻訳の問題というより「解かれる」っていうのがどういう定義なのか把握してないからよくわかんないんだろうね。

 

 

とりあえずここまで調べた感じ、元記事が解説してる論文は「オセロという組み合わせゲームについて、数学的な必勝法を見つけた=オセロが解かれた」という論文だったってことで合ってるのかな?

 

合ってるとしても「数学的な必勝法」ってどういうことかわかんないし、その他もまだまだ何もわかってないので調べますよ。というかまだ「基礎知識」解説の項目すら読み終わってませんよ。

 

 

---

 

 

面白くなってきましたね。ガチでな。

 

 

さて、この記事は一旦ここで区切ります。

この調子で行くと全て読み終わるまでにどれくらいかかるのかわからない&アドカレの締切的にはすでに一日過ぎてるので(すみません)。

 

アドベントカレンダーの企画はもう終わってしまいますが、元記事を読み終わるまでは個人的にこのシリーズ記事を更新していくつもりです。とりあえず1月上旬あたり完結を目指します。あとついでに少なくとも週一更新くらいでいきたい。

 

 

それではみなさん、ハッピーホリデー!