随机播放的计算机程序的作用是什么?


11

播放随机动作的计算机程序的Elo是多少?

为了简单起见,假设他从不要求提款或辞职,也从不接受提价。


想象一下板上的所有部件,然后您攻击计算机的皇后。女王移动的几率为16分之一,而防守另一块的几率很小。
ZL1Corvette 2014年

4
我发现很难想象任何人类玩家的表现都会比随机情况差
Dag Oskar Madsen 2014年

我宁愿科学地做这件事
MikhailTal 2014年

对于我的AI课,我们将创建一个国际象棋AI。分配的第一阶段是随机有效的动作。当这些AI进行战斗时,大多数都以平局告终。贪婪的AI(如果适用)会攻击最有价值的物品,否则每次都会随机击败随机AI。
Harrichael

Answers:


13

在40/4时间控件的“计算机国际象棋等级列表”的最下方是Brutus RND,该引擎仅选择随机的合法动作。

http://www.computerchess.org.uk/ccrl/404/cgi/engine_details.cgi?print=Details&each_game=1&eng=Brutus%20RND#Brutus_RND

它的评级为205(截至6/6/2018)。当然,这不是FIDE等级,而是使用Elo系统。

它有0赢,242输和64平局。抽奖是由于错误的程序造成的,这些程序偶然通过重复或有时陷入僵局而意外导致抽奖,尽管在发生这种情况时它们通常具有实质性的优势。

FIDE的评级下限为1000。BrutusRND根本无法建立那么高的评级,因此它不会被评级。

如果我们忽略FIDE的最低评级,则在Elo系统下可能会有负面评级。

值得一提的是,FIDE使用一张表格来计算等级变化,如果等级差大于735,则当较强的玩家获胜时不会发生变化。这意味着Brutus永远不会拥有-5000或类似的评分,因为它将需要失去点分给那些无能为力的无能的玩家,这些玩家将无法交付将死。

https://www.fide.com/component/handbook/?view=article&id=197

我们在这里猜测。1000名Elo等级的玩家将能够将Brutus的等级降低到265,但是由于没有评级更差的球员,所以我们无法确切地说出如果存在的话他们可以将Brutus的等级降低多少。

我猜想,Elo等于或小于500的玩家将很难像稳定的程序那样始终如一地交付队友。在FIDE规则下,以3倍重复或50移动规则进行抽奖不是自动的,只有在Brutus要求时才发生。但是一个人可能会因为时间用尽而失败,或者由于意外的僵局而陷入困境。

因此,我猜测,如果FIDE允许评分低于1000并允许Brutus参加比赛,则介于-200到200之间。


听起来很高。如果移动是真正随机的,我会猜到接近100。
埃德温娜·奥利弗

6

随机下注的问题是,在平均棋位置上,有很多动作(从开局中的20个动作到复杂的残局中的轻松50个或更多动作),但是其中只有少数是可以接受的。从游戏一开始,随机移动将导致完全不协调。此外,捕获价值较低的棋子非常普遍,尤其是在中间游戏中。这就是说,即使面对极其弱小的反对者,计算机从长远来看也会犯下错误:大量的材料将被交易,可能对计算机没有太多好处,计算机无疑将不被开发,他的国王将不会安全和可能甚至没有城堡...

如此多的坏东西堆积起来,而且速度极快,将导致机器的故障。他的Elo可能会是0 FIDE。


2
面对这样的引擎,甚至很难输掉!即使您想接受检查,也可能要经过一个永恒的过程,直到引擎对其进行管理。赢得随机引擎的唯一现实方法是对手辞职。
彼得

如果您只对游戏有所了解,我完全同意。但是,如果您只知道如何移动各个部分,甚至不知道它们的价值或任何策略……那么,人与计算机的玩法或多或少都是平等的。
Pablo S. Ocal

我认为,即使是刚刚学到今天规则的新手,也会比随机玩的更好。新手可能会使用启发式方法,例如“让我们捕获碎片”,这对随机引擎非常有用,因为即使保护了碎片,您也可以捕获任何碎片,或者只是挂起碎片,引擎就不太可能捕获因为它还有许多其他无用的举动可供选择。最后,对于新手来说,唯一可能的困难是弄清楚如何进行配对,但是鉴于可能的实质优势,应该不难。
itub

不,如果您想输掉比赛,不难输给随机玩家。您可以将Play Magnus应用设置为5岁,尝试一下。您只需要强制执行一种情况,即唯一可以采取的法律行动就是交付将死。最简单的方法是捕获除1个典当之外的所有碎片,捕获其国王,以便只能推进典当,将您的国王排在第一位,并安排其他碎片阻止当典当晋升和召唤时您的国王逃脱校验。如果它晋升为皇后或新手,则此方法有效,因此您有50%的机会输球(如果从未晋级,则为100%)。
西拉斯·布朗

5

真正的随机播放比您想象的要糟糕得多。USCF的绝对下限是100,该程序永远不会超过该上限。


1

我不确定Go评分与国际象棋相比如何,但那里的随机下注约为-3500 。由于国际象棋的分支因子较低,因此我希望随机玩家elo较高,也许在-2000到-500之间。


1
正如在Chess.stackexchange.com/a/6509/9025的答案中所指出的那样,USCF的最低评级为100,因此不可能有负面评级。
赫尔·沃尔夫

只是对问题的看法不同。它没有指定要使用的评分系统,并且统计表述没有“下限”。
赤羽市

1

比一个几乎不了解游戏规则的绝对初学者更糟糕,因为至少初学者会在选择举动时投入一些思考。他们的举动可能仍然大部分是随机的,但是至少对持仓情况有所评估。

因此,该发动机的额定功率将处于您选择的任何额定系统的最低限度。它最终可能会赢或与一个同样糟糕的对手对局,然后增加几分。但是,您可以期望发动机的额定值随后会迅速下降到最低限度。

在Shannon的“为下象棋编程计算机”中,他指出击败Botvinnik的随机游戏概率为10 ^ -75。因此,如果这台随机计算机在人类一生中不停地玩Botvinnik(甚至是常规主机),我们可以合理地期望它永远不会赢。

但是,香农继续说,随机比赛并不是最糟糕的策略;最糟糕的策略是故意打出有助于对手的动作。尽管有可能是一个完整的初学者可以做到这一点,但他们很可能会尝试做出改善自己位置的动作。


0

一个很好的答案是这样做:

使用numpy(一个非常弱的游戏引擎),1500 ELO左右,并将python脚本附加到它。有许多库可以为您提供某一位置的可能移动,因此我们可以随机选择一个。我将在稍后发布结果。

http://creative-co.de/random_chess/

您还应该检查一下。


3
Numpy是一个科学数学图书馆,而不是国际象棋引擎。
svineet

它也是一台国际象棋引擎
MikhailTal 2015年


1
@MikhailTal:您是否有理由不编辑此答案以更正名称?
GreenMatt

2
@SmallChess:名称相似,但不相同。
GreenMatt
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.