AI项目的建议?

时间:2011-01-19 21:55:16

标签: artificial-intelligence project

我现在正在上一节关于AI的课程,我需要在整个学期中以某种方式应用AI来完成一个项目。这位教授说,它几乎可以用于任何语言。作为参考,“默认”项目正在写一些东西来解决Wumpus世界,但教授说这有点太容易了,我们应该尝试提出自己的问题。我真的不知道该怎么办。我是一个伟大的国际象棋选手,所以我想可能会稍微简化游戏规则或者写一些能够起到开场作用的东西,因为开场时确实有特定的目标(获得空间,开发棋子,控制中心)。还有其他建议吗?谢谢。

3 个答案:

答案 0 :(得分:2)

我试过做一次井字游戏。这对我来说已经够难了。

不要尝试任何与自然语言解释,OCR或成像有关的事情。

答案 1 :(得分:0)

通常这些问题的出现方式,我总是建议你探索自己的激情。如果你的一个激情是国际象棋,那么这是AI项目的理想领域。

想出国际象棋程序应该非常困难。实际上,您可以通过使用现有的国际象棋代码库轻松引导事物,并掏空其搜索算法并将其替换为您自己的搜索算法。虽然可能会遇到一些挑战,试图弄清楚顶级函数的输入和输出是什么(基于原始开发人员的编写方式),但要获得所有“无聊”的工作是一个很小的代价。 “自由”的方式(阅读动作,显示董事会等)。

国际象棋是一个伟大的领域,因为它是一个没有隐藏信息的确定性游戏。您将学习的是如何为国际象棋AI编写搜索算法。既然你已经喜欢国际象棋,你就会理解规则,你可能会想出一些评估函数的有趣想法(即超出简单的材料差异)。然后,您可以扩展基本的alpha-beta搜索,包括搜索缓存,Zobrist哈希,确定“有趣”的游戏线等等。

答案 2 :(得分:0)

如果你想下棋,请查阅并学习:

  • min max problem

  • alpha和beta修剪

当然还有其他选择。就像众所周知的开源AI项目的背驮式一样。例如,学习禁忌搜索(请参阅维基百科),分叉Drools Planner's Traveling Tournament Problem example,运行10分钟(以便获得分数),然后通过以下方式努力提高10分钟的分数 - 例如 - 尝试introducing better moves。嘿,也许你甚至可以击败a TTP record:)