首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我们如何在Javascript游戏中实现人工智能?

我们如何在Javascript游戏中实现人工智能?
EN

Stack Overflow用户
提问于 2011-02-01 20:05:46
回答 5查看 7.2K关注 0票数 5

我正在开发html5 5/JavaScript中的两人棋盘游戏。两个玩家版本已经接近完成。我想添加单机模式,其中计算机将是对手。此游戏将在单一浏览器中进行(没有服务器端集成)。

我是AI的新手。我想要一些在JavaScript游戏中AI实现的指导方针,我应该从哪里开始?

请帮帮忙。

编辑:游戏是巴格查尔

谢谢你的回答:我已经在百货游戏中实现了Minimax。这里

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-02-01 20:40:32

对于巴格查尔,您可能希望对α-β修剪采用极小最大方法。

这个算法有很多很好的资源,但是这里有一个关于带有α-β剪枝的Minimax的CS背诵。我个人不认为这是一个AI算法,但是在AI的介绍中经常会讨论这个问题。

或者,你可以训练一个实际的人工智能算法来玩游戏(神经网络,遗传算法等),但是对于像Bagh-Chal这样的游戏来说,这种方法似乎有点不切实际。

票数 8
EN

Stack Overflow用户

发布于 2011-02-01 20:11:56

第一步:学习(A) JavaScript。

第二步:学习(B)棋盘游戏的人工智能算法。

第三步:在A中实现B。

可选步骤4:选择另一个棋盘游戏,然后转到第二步。

票数 3
EN

Stack Overflow用户

发布于 2011-02-01 21:03:16

Lirik提到的带有Alpha-beta剪枝的Minimax是一个很好的起点,但是如果您不熟悉它,则需要一些时间来处理它。

或者,如果你有一个完美的记忆,并且可以快速计算并尝试实现,你可以考虑如何玩这个游戏。好处是,这通常更容易理解。

Minimax可能会导致更短但更难理解的代码(对于那些不熟悉它的人来说),根据游戏的不同,如果游戏足够简单的话,它可能会导致玩一个完美的游戏(然而,它也有一个不利的缺点,就是不赞成输而不赢,因为它假设对手也会打得很好)。

因为这听起来像是一个完全信息的游戏(所有玩家都可以看到整个棋盘),一个具有无限前瞻性的适当实现的Minimax可以给出一个永远不会失败的人工智能(假设无限的计算时间)。在使用Minimax的游戏中,难度级别通常取决于算法向前看了多少步。如果游戏不是超级简单的(这就是为什么现在还没有一个完美的棋盘来玩人工智能,我想我上次检查过,在我读这篇文章的时候,在最快的计算机上需要两千年的时间,很抱歉没有引用)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4867413

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档