数値解析Ⅱ課題発表

数値解析Ⅱ課題発表
3班
発表内容:Othello
班長:篠崎
プログラマー:杉村・鈴木
ユーザー:須川・武田
広報:下池
課題の変更理由
• 最初は『はさみ将棋』を作ろうと思っていたが、
班員の誰もそれについて詳しい人がおらず、
またプログラムも非常に複雑になることが予
想されたため、時間が足りないと判断した。
• オセロなら誰もがある程度やり方を知ってお
り、参考になる文献なども多く、プログラムも
比較的簡単なため、急遽オセロに変更した。
オセロのルールと遊び方
• 自分の石と相手の石を交互に置いていきます。
石の置き方には決まりがあり、相手の石を自分の石
で挟むことのできる場所以外に置くことは出来ませ
ん。置き場所がない場合は「パスッ!」となり、相手
の番になります。
自分の石で相手の石を挟むと、挟まれた石は自分
の石になります。
置き場所がなくなった時点でゲームは終了し、石の
多いほうが勝ちとなります。
プログラミングの概要
● ○
○ ●
• まず盤面や駒などの設
定、勝ち負けの判定の
方法などを設定。
• コンピュータの動作中
に駒を置けないように
設定。
• 次に相手の駒を挟んで
取れるかどうかの判定。
• コンピュータの戦略。
コンピュータの戦略①
0 1 2 3 …
8 9 …
• 相手の一手先まで読み、
((コンピュータが取れ
る相手の駒数)-(次に
相手が取れる最大の駒
数))の最大値が得られ
るところに置くように設
定した。
• 最大値が二つ以上ある
場合は左の番号で一
番若い場所に置く。
コンピュータの戦略②
① ②
② ②
② ① • また右図において①に
置くのは相手の駒をさ
② ②
らに10個取るのと等し
く、②に置くのは相手に
さらに5個取られるのと
等しいというプログラム
を付け加えた。
② ②
② ②
① ②
② ①
コンピュータの強さ
• ある程度オセロを知っている人なら、じっくり
考えながら勝負して負けることはまずない。
• あまりオセロを知らない人がやったり、適当に
やっていれば、負ける可能性は大きくなる。
感想と反省
• 短期間で、しかも試験期間中に作成したプロ
グラムの割にはそれほど弱くはないレベルに
なった。
• コンピュータの戦略では様々な弱点があり、
もう少し手を加えれば強くなると思った。
• 今回の課題を通じてプログラムとはどういうも
のか、少し理解できたと思う。
以上です。