有创建一个AI框架的方法吗?

我正在使用Actionscript 3.0创建一个棋盘游戏。 我已经完成了这个游戏点(电脑玩家随机决定)。 我现在正在创建一个AI框架/模块(devise和创建将用于驱动AI的类)。 有创建一个人工智能框架普遍/stream行的方法)? 我已经search了一下,只能findalgorithm和示例代码。 我不是在寻找游戏/代码细节,而是在devise和建模AI时思考过程。

人工智能在很大程度上取决于它应该做什么。 我的意思是说存在这么多种人工智能,不可能一概而论。

为了您的棋盘游戏的特定目的(或者至less是完美的信息游戏),您通常使用minmax树以及从那里开始的所有可能的优化。 (如AB修剪 )。

这些algorithm可以很容易地被开发成一个框架,因为你真正需要的基本上是两个function:

  • function(game state, player) -> game state list ,其计算玩家从游戏的特定状态开始的所有可能的移动
  • 一个函数(game state, player) -> float这是algorithm的核心。 这个函数用来评估特定玩家的状态。 这是涉及的启发式,这是你将调整整个algorithm,使您的AI更劈刀。

你可以通过修改上面描述的两个函数来轻松地将它应用到你喜欢的任何棋盘游戏中。

行为树最近越来越受欢迎,这是将游戏逻辑从AIstream中部分解耦的一种方式。 你可能会想find一个实现了基本元素的库,但是从头开始写这个很麻烦。

我不认为有一个通用的方法,因为人工智能不是一个组件或一个系统作为一个广泛的algorithm分类,其中许多做了完全不同的事情。 没有标准的接口可以应用于所有的标准接口,也没有一个标准的接口可以在它们之间使用。

您需要确定程序中哪些部分需要人工智能(AI)方法(例如select移动进行),然后select一个有利于该方法的algorithm(例如,最小值)。