我有一个简单的零和,离散,确定性,完全信息棋盘游戏。我想机器学习一个人工智能代理的评估功能。
假设每个板状态有大约20个可识别的特征,这些特征可以被加权以形成一个评估函数。
假设两个玩家在整个游戏中的所有动作的时间限制是15秒,那么每个游戏最多需要30秒。
在我看来,一种天真的方法是无休止地循环每个特性,创建代理,对特性加权进行小幅度的增量/递减,并将它们相互匹配。
Create agent(N=0) with uniform or random weightings
While (Brendan hasn't stopped the program)
For each F
用状态设计模式实现的FSM是设计AI代理的一种常见方法。我熟悉国家设计模式,并知道如何实现它。
这是如何在游戏中用于设计人工智能代理?
考虑一个简化的类Monster,它表示一个人工智能代理:
class Monster {
State state;
// other fields omitted
public void update(){ // called every game-loop cycle
state.execute(this);
}
public void setState(State state){
我有一个运行纸牌游戏的F#程序。我想使用遗传算法来确定最优的游戏策略。然而,我对人工智能或遗传算法了解不多。你能给我介绍一些好的文学作品来开始吗?
玩游戏的策略由对给定手牌的反应组成。在每一回合中,一个机器人都会得到一手牌。它可以根据发过的牌来选择打动作牌,或者购买新的牌。目标是以尽可能多的胜利点卡结束游戏。
硬编码的方法可能类似于:
def play(hand, totalDeck):
if hand contains Smithy then use Smithy
if hand contains enough coins for Province then buy Prov
在从12.10升级到13.04之后,当我试图打开进化论的地址簿时,会出现以下错误:
This address book cannot be opened. Please check that the path /home/... exists and that permissions are set to access it.
Detailed error message: Cannot open book: table folders has 8 columns but 6 values were supplied
我在另一台机器上安装了12.10,将~/.local/share/evo