如何创建合理的AI?


11

我正在基于Fox and Hounds游戏创建一个逻辑游戏。玩家扮演狐狸,AI扮演猎犬。(据我所知)我设法使AI完美,因此它永远不会丢失。对人类玩家来说,保持原样就不会很有趣。

现在,我必须简化AI,以便人类可以获胜,但我不确定如何获胜。当前的AI逻辑基于模式匹配-如果我引入随机移动以使棋盘超出模式空间,则AI最有可能在游戏结束之前一直处于哑巴状态。

有什么想法如何以一种不从“天才”变成“完全愚蠢”的方式愚弄AI?


因此,您找到并实施了最佳且始终获胜的策略。为什么不现在转向稍微复杂一些的游戏?或者,挑战又如何呢:实施一个总是失败的策略,无论其他参与者做什么。另请参阅:失去国际象棋/棋子
Martin Sojka

也许您想看看我对另一个问题的回答:gamedev.stackexchange.com/questions/12858/…–
Tyn

狐狸和猎犬不像国际象棋那么复杂。一次错误的举动肯定会使AI失败。使AI显得愚蠢是很容易的。我使用笔和纸以及数小时的战略思考来解决问题的事实,并不意味着我的玩家也会这样做。
米兰·巴布斯科夫2011年

Answers:


7

许多实现可能会导致随机加权的举动机会-例如,做出最佳举动的机会和做出次优举动的机会。确定某个动作的次优程度可能是一个非常棘手的问题,但也会导致您的AI做出看似明智的决策。

重要说明:无论难度设置如何,让AI放弃立即赢得比赛的机会可能是一个坏主意。如果有可能采取行动完成转身比赛,则应始终采取这种行动。如果没有,它将绝对破坏玩家对AI行为方式的印象。


谢谢。我决定让它对所有简单的模式都发挥作用。在两种复杂的模式中,玩家通往自由的道路不容易看到,因此我创建了其他模式,这些模式使AI失去了通过玩类似新手人类的动作而失败的机会。在游戏开始时,我会随机切换获胜模式,而在此类位置上输掉一个。
米兰·巴布斯科夫,

10

由于这似乎是一个“已解决”的游戏,因此唯一的答案是计算机必须故意进行不良动作。

一个快速的解决方案可能是计算最佳举动,然后还计算另一个可能不太理想的合法举动。AI的难度等级将以它选择另一个不太好的动作而不是完美动作的机会百分比来衡量。

  • 困难-90%的好动作
  • 艰难-70%的好举动
  • 正常-50%的好动作
  • 简单-20%的好举动
  • 小时候就掉了-少于5%的好动作
  • 热狗-全部随机

10
这可能是一个好主意,但如果故意采取错误的措施,您最终将获得智障的AI。首先,我要通过“合法”举动,然后对每个举重施加重量并按重量排序,最好的举动是重量最大。然后,您可以根据难度使RNG向更好的方向收敛。
乔纳森·康奈尔

4
我同意@Jonathan Connell。考虑一下:躲在板条箱后面vs躲在炸药桶后面vs躲在板条箱和活跃的手榴弹之间。人工智能应该评估移动的糟糕程度,更好的人工智能会更频繁地做出更好的移动。一个AI不会很大或者如果70%的时间是拍摄你和的30%的时间它吹起来本身硬。这将很有趣。
doppelgreener 2011年

2
@Adrian Seeley您的最后评论确实触及了最大的问题。对我而言,与AI对抗的人总是会本能地找到其选择背后的原因,即使它们在理论上是完全随机的。例如,在棋盘游戏中,可以通过限制预测动作的迭代次数来抵消这种情况,因此,这在可解决的游戏中可能是一个好的解决方案?
乔纳森·康奈尔

2
我都同意乔纳森(Jonathans)的
观点

2
@乔纳森·康内尔(Jonathan Connell):您应该发布自己的主张/解决方案作为答案。这将值得一些支持。
bummzack 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.