5路盤の完全解析の結果 論文名:Solving Go on Small Boards 著者: Eric C.D. van der Werf

Slides:



Advertisements
Similar presentations
HBSP モデル上での 行列積を求めるアルゴリ ム 情報論理工学 吉岡健太.
Advertisements

模擬国内予選2013 Problem F テトラ姫のパズル 原案:須藤 解答:大友、須藤 解説:須藤.
 C 川船 美帆.  強い人工知能の作成 o 「遺伝的アルゴリズム」  「どうぶつしょうぎ」のアプリケーショ ン作成 o スマートフォン向けアプリケーション.
J: Magical Switches JAG 模擬地区予選 2013 原案:保坂 解答:保坂・楠本 解説:保坂.
到着時刻と燃料消費量を同時に最適化する船速・航路計画
区間グラフにおける区間表現からMPQ-treeを効率よく構成するアルゴリズム
3次元nクイーン問題の 解に関する研究 論理工学研究室 伊藤精一
ファイルキャッシュを考慮したディスク監視のオフロード
Bipartite Permutation Graphの ランダム生成と列挙
極小集合被覆を列挙する 実用的高速アルゴリズム
近似アルゴリズム 第10章 終了時刻最小化スケジューリング
コンピュータ囲碁の仕組み ~ 将棋との違い ~
データ構造とアルゴリズム論 第6章 探索のアルゴリズム
四路の碁アプリ開発 情報論理工学研究所 高倉秀斗.
リバーシの並列化 並列化するときに起こる問題を定義しろ おぷてぃまいざー SSAIとMSAIは比較しろ  前田昂寛.
An Algorithm for Enumerating Maximal Matchings of a Graph
人 工 知 能 第3回 探索法 (教科書21ページ~30ページ)
15パズルの解法について 北海道情報大学 情報メディア学部 情報メディア学科 新井山ゼミ  大石 貴弘.
モンテカルロ法によるミニ囲碁 増井拓視 情報理論工学研究所.
モンテカルロ法と囲碁・将棋ソフトの人知超え
データ構造とアルゴリズム論 第6章 探索のアルゴリズム
第7章 データベース管理システム 7.1 データベース管理システムの概要 7.2 データベースの格納方式 7.3 問合せ処理.
単位 おねだり ☆オセロ おねだり隊☆D班.
LogStructuredFileSystem Servey
碁石ゲームに関する考察 4目並べ講座 パターン生成ゲームの楽しみ 徳山 豪 (東北大学) .
近畿大学理工学部情報学科 情報論理研究室 井藤 雄太
最短路問題のための LMS(Levelwise Mesh Sparsification)
モンテカルロ碁 電気通信大学 村松研究室 下川和也.
データ構造と アルゴリズム 第十一回 理工学部 情報システム工学科 新田直也.
JAVAでつくるオセロ 伊東飛鳥、宮島雄一 長畑弘樹、ソギ原直人.
第四回 ゲーム                 05A1054         前田嵩公.
~オセロゲーム~ アルゴリズムとそのプログラム
7-3.高度な木 (平衡木) AVL木 平衡2分木。回転操作に基づくバランス回復機構により平衡を保つ。 B木
シャノンのスイッチングゲームにおけるペアリング戦略の複雑さについて
Bridge It と Connections の 必勝法について
定兼邦彦 今井浩 東京大学理学系研究科 情報科学専攻
情報論理工学 研究室 第10回 完全解析されたゲーム.
卒論の書き方: 参考文献について 2017年9月27日 小尻智子.
4人版リバーシYoninの解析 情報論理研究室 藤本 侑花
 情報の授業 アルゴリズムとプログラム(1) Go.Ota.
G班メンバー リーダー 橋本望 SE 北本理紗と服部友哉 PPT作成 橋本望と山田侑加
京都大学大学院情報学研究科 宮川博光 伊藤大雄
正規表現パート2 NFAエンジンの場合は、 正規表現の磨き上げが必要?.
近畿大学理工学部情報学科 情報論理研究室 松浦 美里
非対称リンクにおける ジャンボフレームの性能評価
暗号技術 ~暗号技術の基本原理~ (1週目) 情報工学科  04A1004 石川 真悟.
数独の解生成と 解に対する番号付け 理学部 情報科学科 渡辺研究室 戸神星也.
GPGPUによる 飽和高価値 アイテム集合マイニング
近畿大学理工学部情報学科 情報論理工学研究室 赤井 隆純
モンテカルロ法を用いた 立体四目並べの対戦プログラム
コンピュータにログイン 第1章 コンピュータにログイン 啓林館 情報A最新版 (p.6-13)
「アルゴリズムとプログラム」 結果を統計的に正しく判断 三学期 第7回 袖高の生徒ってどうよ調査(3)
Data Clustering: A Review
近畿大学 理工学部 情報学科 情報論理工学部研究室 潘小月
第16章 動的計画法 アルゴリズムイントロダクション.
データ構造とアルゴリズム論 第6章 探索のアルゴリズム
数値解析ⅡーI ~オセロゲームのプログラム~
F班 メンバー 班長 雨堤 智宏 アルゴリズム解析 角田 泰彬 竹林 秀高 ppt作成 清水 貴史
囲碁プログラム 彩の仕組み 山下 宏 2008年9月4日 FIT2008.
数値解析Ⅱ ~五目並べのプログラミング~ C班.
近畿大学理工学部情報学科 情報論理工学研究室 段野健太
or-8. ゲーム理論 (オペレーションズリサーチを Excel で実習するシリーズ)
第28回世界コンピュータ将棋選手権アピール文章 作成:井本 康宏 作成日:2018/3/吉日
アルゴリズム入門 (Ver /10/07) ・フローチャートとプログラムの基本構造 ・リスト ・合計の計算
ネット時代のセキュリティ3(暗号化) 2SK 情報機器工学.
戦術的観点からの  変形碁盤間の   類似度評価 佐藤 真史(早稲田大学).
Othello G班         山崎 木下 山本 上手      .
情報論理工学 研究室 第8回: ミニマックス法.
プログラミング論 バイナリーサーチ 1.
京都大学 情報学研究科 通信情報システム専攻 高田智史 joint work with 伊藤大雄 中村義作
Presentation transcript:

5路盤の完全解析の結果 論文名:Solving Go on Small Boards 著者: Eric C.D. van der Werf H.Jaap van den Herik Jos W.H.M. Uiterwijk オランダのマーストリヒト大学 出典: ICGAジャーナル 2003年6月号 紹介:清 愼一、山下 宏 2003年10月11日 CGF例会 電通大

目次 1.Introduction 2.碁のルール 3.評価関数 4.探索方法 5.スーパーコウ(同型反復を全て禁止)による問題 6.実験結果 7.結論と将来の予想 8.参照

1. Introduction 探索ベースのアプローチによって解かれた(最善手をプレイし続けると、どちらが勝ちなのか解明された)ゲームがたくさんあるが、囲碁はまだ。 小さい碁盤ならば、4×4までは解けている(2000年、清)。 証明はされていないが、7×7までは人手で解いたという報告はある。

2. 碁のルール コンピュータで解かせる場合に、考慮しなければいけないことがある。 (1) 劫と同型反復、自殺手、地の計算 様々なルールが存在する (2) 生死の判定 生死をコンピュータが判定できるか

最後まで打たずに「生きている石」を判定する 人間どうしの対局では、両者が終局を合意したときに終局となる。    → コンピュータには無意味な概念。 合法手がある限り打ち続けると、なかなか終わらないので、合法手が残っていても終局の判定をしたい。 「生きている石」の判定には、Bensonのアルゴリズム(1976)が有効。  ※対局プログラムにとっては、Bensonのアルゴリズムは遅くて使い物にならない!

Bensonのアルゴリズム 領域(同一色で囲われている)について、呼吸点や連結の度合いから、生死を判定する。

最後まで打たずに「地」を判定する 眼は、Bensonのアルゴリズムによってわかる。 ダメは、両者の生き石に接続。または生き石に接続してない(序盤)。 一方の石に囲まれた大きな領域が、地か否かの判定は、計算が必要。

「地」の判定 囲っている側が全てパスしたと仮定して、侵入側が打ちつづけた場合に、眼が2つ以上できれば「地」ではない。 「欠け眼」の判定は簡単(眼の斜めを調べればよい)。 「欠け眼」だけでも生きている場合があるが、これはEuler数で判定できる。 「中手」「セキ」の判定も必要(詳細不明)。

終局時の生死について 通常はパス2回で終局 劫があると、パスは3回以上続かないと終局にならない。 終局時に、死に石は、相手の地にカウントされる。 スーパーコウでは、盤上に存在する石が、そのまま生き石となる。

採用したルール 自殺手は無し 2眼作れない石(セキを除く)は死に 曲がり4目は生死の判定をせずに打ちつづける 巨大墓場は死に

3.評価関数 1.盤上置ける最大の石数 2.ダメの数を最大にする 3.盤の端に打つ手を避ける 4.石を連絡する。 5.眼を作る 石の連結とか眼の数の計算は時間がかかる。 オイラー数(Euler Number)を持ちいることで連絡と眼の数を高速に計算できる。

連絡と眼の評価 連絡する方が好型 W=2 W=1 連絡して眼を作ればさらに好型 W=2 W=0

Euler Number(オイラー数) Topology(位相)の用語らしい。 0000000 物体の数は2 オイラー数=物体の数-孔の数 0000000    物体の数は2 0111010    孔の数は1なので 0101010 →  オイラー数は 0111000    2-1=1となる 0000000

Euler数が囲碁に適用できる! 囲碁では眼を作ることと石を連絡することが一般的に好ましい。 オイラー数=物体の数-孔の数、 なので物体の数を減らすこと=連絡、孔の数=眼を作ることになり、オイラー数を減らすことがいい評価関数になりうる。

Euler数の計算の仕方 diagonal(対角線)

Euler数の計算の仕方 2 オイラー数を減らすのは石を連絡して眼を作ることになる 4W=n(Q1) - n(Q3) -2n(Qd) 2017/3/1 Euler数の計算の仕方 2 オイラー数を減らすのは石を連絡して眼を作ることになる 4W=n(Q1) - n(Q3) -2n(Qd) 4W=12 - 0 -2*2 = 8, W=2 4W=8 -0 -2*4 = 0, W=0 ここでは斜めでも連絡、というEuler数で計算している

Euler数の計算の仕方 3 0110110 Q1=2、Q3=0、Qd=2 0001000 0001000  縦に2行ずつ取り出してこの部分だけQ1,Q3,Qdの数をカウントすれば高速に計算できる。 あらかじめ2^14=16384通りのテーブルを作っておく 黒を計算するときには白は無視する。 盤の枠に0があるとして

4.探索方法の概略 PVSによる反復深化法。 途中局面の末端では軽い評価関数を使い、終局局面では特別の関数で正しい値を出す。 αβ法の改良版の一つ。一番最初に探索する手以外は枝刈りされると期待して幅1のNull Windowで探索する。失敗すれば真面目に再探索する。 途中局面の末端では軽い評価関数を使い、終局局面では特別の関数で正しい値を出す。

4.探索方法の詳細 4.1 ハッシュ表 4.2 対称形の照合 4.3 内部の無条件限界 4.4 手の並び替えの向上

4.1 ハッシュ表(探索した局面を保存) two-deep replacement ハッシュが衝突した場合にどれを捨ててどれを残すか、という手法。 ハッシュ表をA、Bの2つ持ち、ハッシュを読む場合は、A,Bと2つ調べる。 登録するときは、まずAを見て、より深い探索結果の場合はをBにコピーしてAに情報を書き込む。それ以外の場合は無条件にBに上書きする。 A...より深い結果だけを登録。 B...常に最新の情報で上書きされる。

2つからなるハッシュ表(続き) 1つだけのハッシュ表で深い探索結果と入れ替える方法よりも一番効率がいい。 他には探索された局面数の多い方を残す方法も有力 ハッシュ表が十分大きいなら関係ない

4.2 対称形の照合 回転で4通り、対称型で2通り、さらに白と黒と入れ替えたパターンで2通り、全部で4*2*2=16通りの対称形を考慮している。 対称形のハッシュ値はいちいち計算しなおしている。--->時間がかかる! が問題なし。これは浅い深さ(深さ5ぐらいまで)でのみ。対称形が効果を最大限に発揮するのは最初の方なので。 SSK(同型反復禁止)ルールでは手順が問題になるので手の並び替えにしかハッシュの情報を使えない。

4.3 無条件地での枝刈り 無条件の地、を使って枝刈りが可能 例えば、黒の確定地が5x5で8目を超えていれば、(alpha,beta)=(-25,+6)の場合に即座に枝刈りされる。黒は8目以上負けようがないので。 同時に無条件地の中に打つ手は普通は試す必要がないので手の制限にもなる。 SSK(同型反復禁止)の場合は全部試す。

4.4 読む手の順番 1. ハッシュの手 2. ヒストリー手 3. キラー手 4. ヒストリーの2番目 5. キラー手の2番目 6. ヒストリーの残りの手全部

ヒストリー手 ある局面で枝刈りが起こった手の場所を覚えておき、その場所を+していく。 枝刈りが起きやすい場所が点数が高くなり、その手を優先的に試す。 キラー手、は兄弟局面で枝刈りが起きた手。ヒストリーと似てる。 敵の急所は我が急所、で黒白のテーブルは一緒。

キラー手とsibling promotion

5.スーパーコウ(SSK)による問題 全ての同一局面の反復を禁止するこのルールではハッシュを使っているとGHIという問題が発生する。 GHI(Graph History Interaction) 異なる手順で同一局面が出現する問題の事。 ハッシュにはその局面に至った手順が含まれていないためハッシュの情報を鵜呑みにすると間違える。

この論文でのGHIの対応策 ハッシュにパスの回数と取った石の数を加えた。 簡易版(appr.SSK) その局面に至った手順のハッシュ情報を通常のハッシュと別に持ち、両方が一致した時のみを同一局面とする。 完全版(full SSK) 探索効率がかなり悪化する。

6.実験結果 P4-2.0GHz ハッシュで1600万局面を記憶

ルールの違い Basic Ko … 2手のコウのみ禁止。同型反復は全て許可。 Japanese Ko … 同型反復は持碁(引き分け) Appr.SSK … 全ての同型反復は禁止。ハッシュに取った石の数、パスの回数を含む。 Full SSK … その局面にいたった手順情報のハッシュを別に持つ。

5路盤での初手の位置による結果 天元は黒25目勝ち 辺は黒3勝ち 隅は白1目勝ち それ以外は白が25目勝ち

天元、辺、隅における最善手順 辺の手順は趙治勲の解析手順と一緒 辺で白6を黒7の位置に打つ変化は趙治勲の解析は間違いらしい 天元 辺 隅

辺に打った場合の趙治勲の解析手順 最善手順と同一。黒3目勝ち(日本ルールでは黒2目勝ち)

辺で白6を打った場合の趙治勲の解析手順 最終図は両コウゼキになって持碁 中国ルールでは白1目勝ちになる。ルールの差の問題?

探索手法による探索局面数の減少 ハッシュ表は効果絶大 対称性を考慮したハッシュも効果的 HistoryがKillerよりも効果的

6路盤の解析(8個石を置いた後で) 6路盤では8個以上石を置いた局面を幾つか解いた。

結論と将来の予想 5x5は全ての初手に対して完全に解いた。 6x6は盤上に石が8以上ある場合を幾つか解いた。 探索手法やヒューリスティックな評価関数、無条件地の判定が探索効率を高めた。 清と川嶋が解いた4x4で1400万ノードに対してMIGOSは70万ノードで解いている。探索速度は20万から30万局面/秒 次なるステップ6路、7路盤の解析へ… 人間による解析結果 6x6 黒4目勝 7x7 黒9目勝