5月
09
2006

マインスイーパー自動処理マシーン

お見事です。

Windows 2000やXPに付属している、マインスイーパーは誰もが一度はやってみたことはあると思います。
マウスの操作練習やストレス解消にやってみたことがあるかな。

それを人間の代わりにプログラムが、「操作をして」解いてくれます。マウスを動かして「操作をする」というところがお見事です。普通に解くプログラムは書いたことがあったものですから。こういうプログラムをみると、数独や他のパズル自動的に解くプログラムを作りたくなってしまいますね。ブログのコメントで、作者が言っていますが1,2,3,4という数字を色で判断してゲームがどういう状況であるかを判断したようです。それが効果的だったのですね。数字を画像認識するのは少し大変ですから。

マインスイーパーのルールは単純で、地雷をすべて見つけることが目的です。
地雷の数はあらかじめわかっていて、マスをクリックすると前後左右にある地雷の数を教えてくれます。数に一定のパターンがあり、何回かやっているとだんだん地雷を見つけやすくなります。
ただし、最初の1回目のクリックや途中で手がかりがなくなるので、試しにクリックして地雷を踏んでしまうかもしれません。運もありますが、だんだんと早くなっていくゲームです。

修士論文のテーマに、こういったパズルやゲームを人がどのようにパターンを知識として獲得していくかということをしました。数理的にわかっているパズルがいいなと思って、マインスイーパーと倉庫番を選んで、マインスイーパーは単純すぎたので結局倉庫番を選びました。
人が解いていくパターンを、CLIPS(http://www.ghg.net/clips/CLIPS.html)というルールエンジンで記述しました。倉庫番はオリジナル版の20面だけでなく、難解なのを含めて150面ぐらい解きました。いまだと数独を選ぶかな。数独はsamo1965さんのブログでも書かれていましたが大変難しいですね。

実際には、人は私が書いたプログラムのように考えているわけではなく、もっと低レベルでの思考だと思います。修士論文の研究の次はそれを解明したかったのですが、それができなくて残念でした。
(修士論文のテーマは教官との話し合いで決まってしまいますので、その前はLISPで認知モデルを構築したいと思っていたのですが、なかなかうまくいきませんね)

http://ishi.blog2.fc2.com/blog-entry-184.html

いや話はそうじゃなくて、普通のゲームを他のプログラムが操作してしまうところがすごいなと思っています。
ネットワークゲームをプログラムが操作してしまうとおもしろいと思います。
ただ将棋や碁も人間の方が勝っているので、複雑な状況のゲームはなかなか人間には勝てないと思います。しかし、人間がやっているゲームを見て学習していくことができれば、プログラムとしておもしろいのではと思います。

Written by in: 楽天日記 |

コメントはまだありません »


コメント&トラックバック




トラックバック URL

コメントのRSS feed