1 / 18

数値解析 Ⅱ

数値解析 Ⅱ.  ~五目並べプログラムを作る~. F班 メンバー          班長 雨堤 智宏           アルゴリズム解析 角田 泰彬             竹林 秀高 ppt 作成 清水 貴史. 参考 宍戸輝光氏作成 「五目ならべゲーム」. ① 既存の五目並べプログラムをプレイ. 先手・後手交互に石を打って、先に一直線上に五つの石を並べたほうが勝ち. ○. A. ○. B. 三つの石の並びが勝負を左右する. ② 五目並べとは?. 黒番なら A か B に置けば次手で勝ちが確定 白番なら A か B に置いて黒の勝ちを阻止.

moshe
Download Presentation

数値解析 Ⅱ

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 数値解析Ⅱ  ~五目並べプログラムを作る~ F班 メンバー          班長 雨堤 智宏           アルゴリズム解析 角田 泰彬             竹林 秀高 ppt作成 清水 貴史

  2. 参考 宍戸輝光氏作成 「五目ならべゲーム」参考 宍戸輝光氏作成 「五目ならべゲーム」 ①既存の五目並べプログラムをプレイ

  3. 先手・後手交互に石を打って、先に一直線上に五つの石を並べたほうが勝ち先手・後手交互に石を打って、先に一直線上に五つの石を並べたほうが勝ち ○ A ○ B 三つの石の並びが勝負を左右する ②五目並べとは? 黒番ならAかBに置けば次手で勝ちが確定 白番ならAかBに置いて黒の勝ちを阻止

  4. ・配石可能な場所に重要度の高い順に点数をつける・配石可能な場所に重要度の高い順に点数をつける  例)自分が4連しており、勝ちが確定する場所には15,000点     相手が4連しており、置かなければ負けが確定する場所には12,000点     自分が2連しており、その両端に置くことにより3連ができる場所には10点                                        など ・全ての盤面評価が終わると、その中から最高点の場所にCPUの手を決定  最高点が複数存在する場合は、その中からランダムで選出 盤面評価からCPUの手の決定までの流れ ③宍戸氏のプログラムの特徴 ・16×16256マス全ての盤面にある石の場所と数を記憶する

  5. HUMかCPUのいずれかが一直線上の連続する5点のうち2点に並ぶまで意味の無い手を打ち続けるHUMかCPUのいずれかが一直線上の連続する5点のうち2点に並ぶまで意味の無い手を打ち続ける ・序盤に何の戦略性も無い無意味な手を打つ ・相手の動きに合わせて打つ⇔例え先手でも出遅れる ④宍戸氏のプログラムの問題点 例 CPU後手の場合 ●:先手HUMAN ●:後手CPU

  6. 定石とは? →序盤の手順に戦略性のある定石を導入 ⑤プログラムの是正

  7. CPU先手の時、HUMが離れた場所に打ってきた場合CPU先手の時、HUMが離れた場所に打ってきた場合 HUM先手の時、第一手に端に置かれた場合 ⑤プログラムの是正

  8. 挑戦するも知識不足に加え、バグが無くならず断念・・・・挑戦するも知識不足に加え、バグが無くならず断念・・・・ ・相手が奇抜な手を打ってきた時にも定石を交えな  がら対応できるプログラムが必要 ・定石の数は豊富でその全てに対応するプログラム  を作成する必要がある ⑤プログラムの是正

  9. とにかく序盤に無理やりにでも2連を作る 9 9 ⅰ)HUM(●)が●の直近周囲(①~   ⑧)に無い場合 ①~⑧からランダムに選択して決定 9 ●が二つ並んだので以降は既存のプログラムに準じて手を決定 ① ② ③ ④ ⑤ 9 ⑥ ⑦ ⑧ ⑥せめて無駄な手を無くす Ⅰ)CPU先手(●)の場合 第一手は有無を言わさず座標[9,9]

  10. とにかく序盤に無理やりにでも2連を作る 9 × ① ② ③ 9 ④ ⑤ ⅱ)HUM(●)が●の直近周囲(①~⑧)のいずれかにある場合 ⑦ ⑧ ●を挟んで●の反対側を除く6箇所からランダムに選択して決定 (図の例では●が⑥にある場合は③を除外) 9 ① ② ③ ④ ⑤ 9 ⑥ ⑦ ⑧ ●が二つ並んだので以降は既存のプログラムに準じて手を決定 ⑥せめて無駄な手を無くす Ⅰ)CPU先手(●)の場合 第一手は有無を言わさず座標[9,9]

  11. とにかく序盤に無理やりにでも2連を作る 有無を言わさず座標[9,9]にCPUの手を決定 9 a)HUMの第2手(トータル3手目)の場所の情報は無視 CPU一手目の囲りに注目 一手目の囲りに●が0個の場合 ① ② ③ 9 ④ ⑤ ⑥ ⑦ ⑧ ①~⑧からランダムに選択してCPUの手を決定 ⑥せめて無駄な手を無くす Ⅱ)HUM先手(●)の場合 ⅰ)HUMの第一手が座標[9,9]に無い場合

  12. とにかく序盤に無理やりにでも2連を作る 有無を言わさず座標[9,9]にCPUの手を決定 b)HUMの第2手(トータル3手目)の場所の情報は無視 CPU一手目の囲りに注目 一手目の囲りに●が1個の場合 ① ② ③ × ⑤ ⑥ ⑦ ⑧ ●を挟んで●の反対側を除く6箇所からラン ダムに選択して決定 (図の例では●が④にある場合は⑤を除外) ⑥せめて無駄な手を無くす Ⅱ)HUM先手(●)の場合 ⅰ)HUMの第一手が座標[9,9]に無い場合

  13. とにかく序盤に無理やりにでも2連を作る 有無を言わさず座標[9,9]にCPUの手を決定 c)HUMの第2手(トータル3手目)の場所の情報は無視 CPU一手目の囲りに注目 一手目の囲りに●が2個の場合 × ② ③ × ⑤ ⑥ ⑦ ⑧ ●を挟んで●の反対側を除く5箇所からラン ダムに選択して決定 (図の例では●が①と④にある場合は⑤と⑧を除外) ⑥せめて無駄な手を無くす Ⅱ)HUM先手(●)の場合 ⅰ)HUMの第一手が座標[9,9]に無い場合

  14. とにかく序盤に無理やりにでも2連を作る × 有無を言わさず座標[10,10]にCPUの手を決定 a)HUMの第2手(トータル3手目)の場所の情報は無視 CPU一手目の囲りに注目 一手目の囲りに●が2個の場合 × ② ③ ⑤ ⑥ ⑦ ⑧ ●を挟んで●の反対側を除く5箇所からラン ダムに選択して決定 (図の例では●が①と④にある場合は⑤と⑧を除外) ⑥せめて無駄な手を無くす Ⅱ)HUM先手(●)の場合 ⅱ)HUMの第一手が座標[9,9]に有る場合

  15. とにかく序盤に無理やりにでも2連を作る × ④ 有無を言わさず座標[10,10]にCPUの手を決定 b)HUMの第2手(トータル3手目)の場所の情報は無視 CPU一手目の囲りに注目 一手目の囲りに●が1個の場合 ② ③ ⑤ ⑥ ⑦ ⑧ ●を挟んで●の反対側を除く6箇所からラン ダムに選択して決定 ⑥せめて無駄な手を無くす Ⅱ)HUM先手(●)の場合 ⅱ)HUMの第一手が座標[9,9]に有る場合

  16. とにかく序盤に無理やりにでも2連を作る ⑥せめて無駄な手を無くす Ⅰ-ⅰ)CPU先手-黒が近くにない場合 Ⅰ-ⅱ)CPU先手-黒が近くに有る場合 Ⅱ-ⅰ)HUM先手-黒が近くにない場合 Ⅱ-ⅰ)HUM先手-黒が近くに1個の場合 Ⅱ-ⅰ)HUM先手-黒が近くに1個の場合

  17. 9 既存のプログラムでは対処できていたことに対処出来なくなった 9 ⑥考察と更なる改良点 オセロと違い、広い盤面のどこから打ち始めてもいいという条件(最初から端っことか)が、特に序盤のCPUの手を決めるプログラムを作ることはなかなか難しかった。 宍戸氏のプログラムにおける序盤の脆弱性を無くす為に、無理やり二連を作るように修正を施しましたが、それによって新たな問題が出てきた。 例)HUM先手 (9,9)に無い場合

  18. Fin

More Related