2011-01-19 3 views
0

私は今AIに関するクラスに入っており、何らかの方法でAIを適用する学期全体を通してプロジェクトを行う必要があります。教授は、それはかなり多くの言語でもほとんど何でもできると言った。参考までに、「デフォルト」プロジェクトはWumpusの世界を解決するためのものを書いていますが、教授はそれはやや簡単かもしれないと言って、私たち自身の問題を思いついてみるべきです。私は本当に何をすべきか分からない。私は大きなチェスプレイヤーなので、ゲームのルールを少し簡略化したり、オープニングで本当に特定のゴールがあるため(スペースを獲得したり、ピースを開発したり、センターをコントロールしたりする)何かを書くことを考えていたかもしれません。その他の提案はありますか?ありがとうございました。AIプロジェクトの提案?

答えて

0

通常、これらの質問の方法は、私が常にあなたが持っている情熱を探求することをお勧めします。あなたの情熱の1つがチェスなら、それはAIプロジェクトにとって理想的なドメインです。

チェスプログラムを考え出すのは大変難しいことではありません。実際には、既存のチェスのコードベースを使って簡単にブートストラップすることができ、検索アルゴリズムを中止して自分のものに置き換えることができます。そのトップレベル関数からの入力と出力が(元の開発者がそれを書いた方法に基づいて)何であるか把握しようとするといくつかの問題が生じる可能性がありますが、「退屈な」作業をすべて「自由」のための道(移動を読み、ボードを見せるなど)。

チェスは隠された情報のない決定論的なゲームなので、すばらしいドメインです。あなたが学ぶことは、チェスAIの検索アルゴリズムを書く方法です。あなたは既にチェスが好きなので、ルールを理解していて、評価関数(つまり単純なマテリアルの差を超えて)に関する興味深いアイデアを考え出すことができます。基本的なアルファベット検索を拡張して、検索キャッシュ、Zobristハッシュ、「面白い」行の決定などを含めることができます。

2

私はチック - タック - トウを一度やりました。それは私のために十分だった。

自然言語の解釈、OCR、またはイメージングと関連があるものは試してはいけません。

+0

私は「スクラッチ」からそれを再生することを学ぶためにANNを進化させようとしていたので、私はティックタックつま先で一度も問題がありました。前にAIプロジェクト。 (ここでMinksy Ice Cream Koanを挿入してください)。しかし、Alpha-Betaの検索ははるかに簡単なアルゴリズムです(これは私の答えでお勧めします) –

0

あなたがチェスをしたい場合は、ルックアップし、学ぶ:

  • 分最大の問題

  • アルファおよびベータ剪定

他のオプションがあまりにもあります。もちろん。よく知られているオープンソースAIプロジェクトのピギーバックのように。たとえば、のタブー検索(ウィキペディアを参照)、Drools Planner's Traveling Tournament Problem exampleのフォークを10分間実行してスコアを取得してから、そのスコアを10分向上させるために、たとえばintroducing better movesを試してください。ねえ、たぶんあなたはビートすることもできますa TTP record :)