F班 メンバー 班長 雨堤 智宏 アルゴリズム解析 角田 泰彬 竹林 秀高 ppt作成 清水 貴史

Slides:



Advertisements
Similar presentations
Othello Let us cling together. メンバー 班長 杉本友宏 プログラマー 京谷貴平 アルゴリズム 佐野祐之 パワーポイント 菊澤遼平 発表 川本敏和.
Advertisements

 C 川船 美帆.  強い人工知能の作成 o 「遺伝的アルゴリズム」  「どうぶつしょうぎ」のアプリケーショ ン作成 o スマートフォン向けアプリケーション.
リーダー 辻元健照 プログラム 北川泰士 アルゴリズム 水野雄太 ユーザー 松田邦久 プレゼン 戸所風士
2行+αチョンプに関する考察 京都大学 ○後藤順一 伊藤大雄.
3次元nクイーン問題の 解に関する研究 論理工学研究室 伊藤精一
人工知能概論 第4回 探索(3) ゲームの理論.
UECコンピュータ大貧民大会 参加後の考察
ゲーム理論・ゲーム理論Ⅰ (第4回) 第3章 完全情報の展開形ゲーム
ML 演習 第 8 回 2007/07/17 飯塚 大輔, 後藤 哲志, 前田 俊行
人間の対戦相手としての ゲームアルゴリズム, 話題提供
懐かしき日の思ひで Aチーム リーダー 福島則行 吉武優一郎 水谷聡 石松孝之 近藤悠介
コンピュータ囲碁の仕組み ~ 将棋との違い ~
ブロック運びゲーム.
四路の碁アプリ開発 情報論理工学研究所 高倉秀斗.
半順序集合ゲーム周期性定理の拡張 京都大学情報学研究科 ○後藤順一 伊藤大雄.
ⅩⅠ 落着きのない子供たちの理解 ADHDと思われる子どもに 関わる教師や保護者の悩み 診断名は別として
CG作品展示サイト”Fragments” ~ 『閲覧しやすさ』と『デザイン性』を両立させた Webデザイン~
リバーシの並列化 並列化するときに起こる問題を定義しろ おぷてぃまいざー SSAIとMSAIは比較しろ  前田昂寛.
2004年度JAVAゼミコンテスト作品 「Othello」
目標設定のための管理技術 「目標創造法」 G社シナリオにおける 演習課題.
Handel-Cによる       エアホッケー.
モンテカルロ法によるミニ囲碁 増井拓視 情報理論工学研究所.
<研修資料>研修後の具体的な取組の事例紹介 <クラスの実態に合わせて個々の学級担任が取り組んだ例>
モンテカルロ法と囲碁・将棋ソフトの人知超え
EMアルゴリズム クラスタリングへの応用と最近の発展
単位 おねだり ☆オセロ おねだり隊☆D班.
碁石ゲームに関する考察 4目並べ講座 パターン生成ゲームの楽しみ 徳山 豪 (東北大学) .
近畿大学理工学部情報学科 情報論理研究室 井藤 雄太
論理回路 第8回
JAVAでつくるオセロ 伊東飛鳥、宮島雄一 長畑弘樹、ソギ原直人.
情報論理工学 研究室 第6回: リバーシの合法手生成.
2010年度春季 成果発表 2010年5月7日 大阪開発センター 技術3部 中村 光秀 年度春季成果発表会.
研究集会「組合せゲーム・パズル」,豊橋技術科学大学
~オセロゲーム~ アルゴリズムとそのプログラム
シャノンのスイッチングゲームにおけるペアリング戦略について
シャノンのスイッチングゲームにおけるペアリング戦略の複雑さについて
Bridge It と Connections の 必勝法について
情報論理工学 研究室 第10回 完全解析されたゲーム.
佐藤のゲーム とその仲間たち (完全可解ゲームの話) 関西学院大学  川中 宣明 数理科学研究センター談話会    2011年6月29日.
テトリスにおけるAI の開発 情報論理工学研究室 13— 川原 翔太.
リーダー 亀山奈央 プレゼンター 橘貴志 アルゴリズム 古森愛美 プログラマー 中島宏基 パワーポイント 公文ゆい
強化学習を用いたバックギャモンプレイヤーの生成 TD-Gammon
4人版リバーシYoninの解析 情報論理研究室 藤本 侑花
BLACK JACKの作成 ブラックジャックのルール 概要 勝敗の判定 開発中の問題点 Aの扱いについて 配り直し(DEAL) 工夫した点
G班メンバー リーダー 橋本望 SE 北本理紗と服部友哉 PPT作成 橋本望と山田侑加
京都大学大学院情報学研究科 宮川博光 伊藤大雄
Bridge It と Connections の 必勝法について
近畿大学理工学部情報学科 情報論理研究室 松浦 美里
近畿大学理工学部情報学科 情報論理工学研究室 赤井 隆純
JavaScript プログラミング演習 - じゃんけんゲーム - 「ホームページを動的に制御したい…」
プロジェクト演習Ⅱ インタラクティブゲーム制作
モンテカルロ法を用いた 立体四目並べの対戦プログラム
情報論理工学 研究室 第7回: 強い手の選択.
★C++/オブジェクト指向実践企画★ Othelloゲーム作成
Problem L: シャノワール 問題作成: 高橋 解法作成: 安達・高橋・前原 解説: 安達.
~新聞紙を使ってエコバッグ作りに挑戦!~
数値解析ⅡーI ~オセロゲームのプログラム~
Othelloのプログラム 班長:佐々木 悠二 班員:石黒 護     井上 雄滋     齊藤 良裕     清水 裕亮.
『shockwave.com リバーシ』コンテンツスポンサーシップの仕組み
リバーシ 06a1056 藤田将義.
数値解析Ⅱ ~五目並べのプログラミング~ C班.
近畿大学理工学部情報学科 情報論理工学研究室 段野健太
戦術的観点からの  変形碁盤間の   類似度評価 佐藤 真史(早稲田大学).
分割制限ニム 山崎浩一*、五十嵐善英*、塚村善弘 *群馬大学理工学部.
Othello G班         山崎 木下 山本 上手      .
第8回 ステップ応答によるシステム同定.
ポケットティッシュ入れ B A C.
割り当て問題(assignment problem)
人工知能概論 第4回 探索(3) ゲームの理論.
C.岩崎雅哉 大須賀佑介 杉原雄太 中野武重 日名啓吾
Presentation transcript:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Fin