是否有找到最佳“实用”举动的引擎?


25

一个标准的国际象棋引擎会在双方都假设最佳的情况下找到自己认为最佳的举动。但是,此举可能会导致微不足道的优势或棘手的路线,很容易导致具有特定能力的人类玩家犯错。是否有程序为中级玩家找到最佳的“实用”举动?例如,它可能会选择一个导致非常强大的进攻位置的举动,即使对手可以通过完美的防守来防御,也很可能会犯错。


5
这是一个非常有趣的问题,但是我认为实现这样的事情可能会很困难,因为“实际”可能会因情况而异。例如,对于对手200分以上和200分以下的对手,同样的举动是否同样可行?古典游戏与闪电战游戏怎么样?
Akavall

似乎您要比minimax更接近Expectimax?
Mehrdad

这让我想起了扑克。我认为大多数扑克机器人总是玩实际动作,而不是假设纳什均衡并尝试玩理论上最好的动作。
保罗

考虑这一点的一种方法是,您正在寻找量化另一个目标函数的方法。当您迷失方向时,您不希望仅将自己所遭受的损失最小化(谁在乎您是被一个ip子还是一个皇后输掉了)。取而代之的是,您要最大程度地减少输掉的钱,但前提是您的对手仍然可以合理地跌倒。您可以通过计算“仅”举动或只有最高(或两个)举动继续发挥优势,而其他举动却使您具有优势的情况来量化“合理地下跌”。
ddunn801

打个比方,在美式足球中,您的旁侧踢是因为它给您提供了一个(纤细的)迅速得分的机会,即使预期的结果会使您的情况更糟。
ddunn801

Answers:


22

您所描述的东西与鄙视非常相似。鄙视的想法是,如果您保持更多的活力,那么一个较弱的对手更有可能犯下错误,然后您就可以利用。因此,给定两次举动得出相似的结果,那么鄙视得分高的引擎将选择在位置上保持更多动力的引擎。当前最强大的传统引擎都被鄙视了(例如Komodo)。

轻蔑的危险是,对一个强壮的对手,高轻蔑会使您丧生-毕竟,这是强迫引擎打出较弱的举动,以保持游戏的活力。


1
谢谢,这与我要寻找的东西相似,但我的问题甚至适用于具有相同能力的球员。例如,考虑到对手可能采取的行动,一招可能会导致9/10次获胜。
阿里

3
@Ari虽然很相似。采取两项措施,其中一项将导致平局,而另一项则可能导致90%的时间获胜,而其余10%的时间导致亏损。鄙视设置很高的引擎可能会选择后者(并且会失去完美的防御)。
倾城

1
如果不鄙视引擎,很可能会通过不排除任何时候的强制重复来吸引大多数劣等对手的比赛。
惯性无知

1
如果其他玩家的时间用完了,可能会非常好。
Ian Ringrose

@Ari如果您的对手与您处于同一级别,那么如果您可以对一条线进行元分析(即,不仅确定它是否获胜,还可以估计您的对手看到它获胜的可能性),那么他们也许可以对其进行分析。
累计

6

我意识到这个问题主要适用于使用minimax函数评估动作的标准国际象棋引擎。但是,像alphazero这样的象棋引擎使用蒙特卡洛树搜索来模拟许多不同的游戏,因此它们不仅在寻找最佳的移动方式。它们可能已经被用来寻找最佳的“实用”举动,或者可以被用于此目的。例如,可以更新蒙特卡洛搜索算法以查看“合理”移动并模拟发生的情况。



但是随后您必须将“合理”编程到算法中。
惯性无知

1

并不是的。

数据库之所以有用,是因为它们可以告诉您经常进行棋步,而结果是什么,但是由于多种原因,它们并不完美。

Fritz 12(不确定以后的版本)带有一个“热度”表,可以告诉您变化的复杂程度。

底线。这是事情的结合。您正在寻找最原则性的举动证明是不好的举动。没有引擎能告诉你这一点。

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.