Download presentation
Presentation is loading. Please wait.
Published byこうじ あいしま Modified 約 8 年前
1
Othello Let us cling together
2
メンバー 班長 杉本友宏 プログラマー 京谷貴平 アルゴリズム 佐野祐之 パワーポイント 菊澤遼平 発表 川本敏和
3
はじめに 小さな頃からみんなが慣れ親しんできた Othello 。 普段は戦略について深く考えることなく打っ ていたが、今回の機会を利用して戦略に基づ いたプログラムを考えてみる。 そのために調べた方法を紹介していく。
4
基本方針 ・盤面にポイントを設定。 → 同じポイントの場合ランダムに打つ という 問題あり。 ・ α ー β 法とミニマックス法を取り入れるこ とで 上記の問題を解決。
5
特徴 隅での対処法 各セルの評価値は隅に石があるかないかで変動する。 隅を取られないためには、隅に隣接するセルには置かな い方がよいが、隅が埋まった後には気にする必要がない ためである。そこで、隅の状態により、評価値表を盤面 の 1/4 毎に差し替える。 下図は盤面左上の評価値表であ る。 2001005030 100302010 502010 5010 0503020 5010155 301550 20500 隅が自分の石の時隅が敵の石の時
6
着手数・要石の計算 リバーシゲームでは打てる所がある限りパスが 許されないので、手詰りで不利な個所に打たな いように、着手数 ( 石が置ける場所の数 ) は多け れば多いほど有利である。 しかし、一見着手数が多いように見えても、 ひっくり返す敵の石がひとつしかなければ、結 局一度しか使えない。そこで、着手数と同時に、 その手によりひっくり返される石 ( 要石 ) の数も 考慮に入れる。
7
着手数・要石を計算するのに、全てのセ ルから 8 方向にスキャンしていたのでは時 間がかかるので、本プログラムでは盤面 に対して 4 方向にスキャンし、盤面と同サ イズの 2 次元配列にフラグを立てるように している。
8
参考文献 将棋とコンピュータ ( 情報フロンティアシ リーズ ), 松原仁, 共立出版, 1994 思考ゲームプログラミング, 森田和郎, 国 枝交子, 津田伸秀, アスキー出版局, 1986
9
感想 今回 Java によるプログラミングについて 学んでみて、普段我々が何気なく思考し ていることでも、それをコンピュータに 同じように思考させるのは非常に大変な ことであると思いました。この知識をこ れからにも役立てていきたいと思いまし た。
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.