Was wäre das Elo eines Computerprogramms, das zufällig abgespielt wird?


11

Was wäre das Elo eines Computerprogramms, das zufällige Züge spielt?

Nehmen Sie der Einfachheit halber an, dass er niemals um eine Auslosung bittet oder zurücktritt und niemals ein Auslosungsangebot annimmt.


Stellen Sie sich alle Teile auf dem Brett vor und Sie greifen die Königin des Computers an. Es hat eine 1: 16-Chance, die Königin zu bewegen, und vielleicht eine geringe Chance, mit einem anderen Stück zu verteidigen.
ZL1Corvette

4
Es fällt mir schwer, mir vorzustellen, dass ein menschlicher Spieler schlechter als zufällig spielt.
Dag Oskar Madsen

Ich würde es lieber wissenschaftlich machen
MikhailTal

Für meine KI-Klasse sollten wir eine Schach-KI erstellen. Die erste Phase der Zuweisung waren zufällig gültige Züge. Wenn diese KIs kämpften, endete es meistens unentschieden. Eine gierige KI, die gegebenenfalls das wertvollste Stück angreift, andernfalls schlägt die zufällige KI jedes Mal zufällig.
Harrichael

Antworten:


13

Ganz unten in der Computer Chess Rating List für die 40/4-Zeitsteuerung befindet sich Brutus RND, eine Engine, die einfach zufällige legale Züge auswählt.

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

Es hat eine Bewertung von 205 (Stand 06.06.2008). Dies ist natürlich keine FIDE-Bewertung, aber es wird das Elo-System verwendet.

Es hat 0 Siege, 242 Niederlagen und 64 Unentschieden. Die Draws sind auf fehlerhafte Programme zurückzuführen, die versehentlich Draws durch Wiederholung oder gelegentliches Patt verursachen, obwohl sie in diesem Fall im Allgemeinen einen erheblichen materiellen Vorteil haben.

Die FIDE hat eine Bewertungsuntergrenze von 1000. Brutus RND würde einfach keine so hohe Bewertung erzielen und wäre nicht bewertet.

Wenn wir die FIDE-Bewertungsuntergrenze ignorieren, ist es möglich, dass das Elo-System eine negative Bewertung aufweist.

Ein zu erwähnender Punkt ist, dass die FIDE eine Tabelle verwendet, um Bewertungsänderungen zu berechnen. Wenn der Bewertungsunterschied größer als 735 ist, tritt keine Änderung auf, wenn der stärkere Spieler gewinnt. Dies bedeutet, dass Brutus niemals eine Bewertung von -5000 oder so etwas haben könnte, da er Punkte an spektakulär inkompetente Spieler verlieren müsste, die nicht in der Lage wären, Schachmatt zu liefern.

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

Wir raten hier. 1000 Spieler mit Elo-Bewertung könnten Brutus 'Bewertung auf 265 senken, aber da es keine Spieler mit schlechteren Bewertungen gibt, können wir nicht genau sagen, um wie viel sie Brutus' Bewertung weiter senken könnten, wenn sie existieren würden.

Ich würde vermuten, dass Spieler mit 500 Elo oder schlechter Probleme haben würden, ihren Partner konstant zu liefern, ähnlich wie bei den fehlerhaften Programmen. Ziehungen durch dreifache Wiederholung oder die 50-Zug-Regel sind nach den FIDE-Regeln nicht automatisch und würden nur stattfinden, wenn Brutus sie beansprucht. Aber ein Mensch könnte verlieren, wenn ihm die Zeit ausgeht und er durch versehentliches Patt zieht.

Ich schätze also irgendwo im Bereich von -200 bis 200, ob die FIDE Bewertungen unter 1000 zuließ und Brutus den Wettbewerb erlaubte.


Klingt hoch. Ich hätte näher an 100 geraten, wenn die Bewegungen wirklich zufällig sind.
Edwina Oliver

6

Das Problem beim zufälligen Spielen ist, dass es auf einer durchschnittlichen Schachposition viele, viele Züge gibt (von 20 in der Eröffnung bis leicht 50 oder mehr in komplizierten Endspielen), aber nur eine Handvoll davon sind akzeptabel. Zufällige Bewegungen führen zu Beginn des Spiels zu völliger Diskoordination. Darüber hinaus wäre es besonders im Mittelspiel sehr üblich, weniger wertvolle Stücke zu erfassen. Dies sagte, selbst gegen extrem schwache Opposition wird der Computer auf lange Sicht einen Fehler machen: Tonnen von Material werden gehandelt und möglicherweise nicht viele gut für den Computer, der Computer wird zweifellos unentwickelt sein, sein König wird nicht sicher sein und möglicherweise nicht einmal Burgen ...

So viele schlechte Dinge, die sich häufen und extrem schnell sind, führen zu einer sicheren Niederlage für die Maschine. Sein Elo wird wahrscheinlich 0 FIDE sein.


2
Es wäre sogar schwer, gegen einen solchen Motor zu verlieren! Selbst wenn Sie schachmatt gesetzt werden möchten, kann es eine Ewigkeit dauern, bis der Motor es schafft. Der einzig realistische Weg, um mit einer zufälligen Engine zu gewinnen, besteht darin, dass der Gegner zurücktritt.
Peter

Wenn Sie auch nur ein wenig über das Spiel wissen, stimme ich voll und ganz zu. Aber wenn Sie nur wissen, wie man die Teile bewegt, nicht einmal ihren Wert oder irgendeine Strategie ... Nun, dann spielen Mensch und Computer mehr oder weniger gleich.
Pablo S. Ocal

Ich denke, selbst ein Anfänger, der heute gerade die Regeln gelernt hat, würde besser als zufällig spielen. Der Anfänger verwendet möglicherweise eine Heuristik wie "Lass uns Teile erfassen", die sich hervorragend gegen die zufällige Engine eignet, da Sie jedes Teil erfassen können, auch wenn es geschützt ist, oder einfach Ihre Teile hängen lassen, und es ist sehr unwahrscheinlich, dass die Engine erfasst da es so viele andere nutzlose Züge zur Auswahl hat. Am Ende besteht die einzig mögliche Schwierigkeit für den Anfänger darin, herauszufinden, wie er sich paaren soll, aber angesichts des wahrscheinlichen materiellen Vorteils sollte es nicht zu schwer sein.
Itub

Nein, es ist nicht schwer, gegen einen zufälligen Spieler zu verlieren, wenn Sie verlieren möchten. Sie können es mit der Play Magnus-App versuchen, die auf 5 Jahre alt eingestellt ist. Sie müssen nur eine Situation erzwingen, in der der einzige legale Schritt darin besteht, Schachmatt zu liefern. Der einfachste Weg, dies zu tun, besteht darin, alle seine Figuren außer 1 Bauer zu erobern, seinen König zu fangen, damit er nur den Bauern vorrücken kann, Ihren König auf dem ersten Rang zu lassen und Ihre anderen Figuren so zu arrangieren, dass Ihr König nicht entkommen kann, wenn der Bauer befördert und ruft prüfen. Dies funktioniert, wenn es zur Königin oder zum Turm befördert wird, sodass Sie eine 50% ige Chance haben, zu verlieren (oder 100%, wenn es niemals zu wenig befördert).
Silas S. Brown

5

Wirklich zufälliges Spielen ist viel schlimmer als Sie wahrscheinlich denken würden. Die absolute USCF-Untergrenze beträgt 100, und dieses Programm würde niemals darüber hinausgehen.


1

Ich bin mir nicht sicher , wie Go Ratings Schach vergleichen, aber die Zufallswiedergabe ist über -3500 gibt . Da der Verzweigungsfaktor für Schach niedriger ist, würde ich erwarten, dass der Elo des zufälligen Spielers höher ist, vielleicht irgendwo zwischen -2000 und -500.


1
Wie in der Antwort unter chess.stackexchange.com/a/6509/9025 angegeben , beträgt die USCF-Bewertungsuntergrenze 100, sodass eine negative Bewertung unmöglich wäre.
Herb Wolfe

Nur eine andere Perspektive auf die Frage. Es wurde nicht angegeben, welches Bewertungssystem verwendet werden soll, und das statistische Elo hat keine "Untergrenze".
Akababa

1

Schlimmer als ein absoluter Anfänger, der kaum die Regeln des Spiels kennt, weil zumindest die Anfänger legen einige Gedanken in der Wahl eine Bewegung. Ihre Bewegungen mögen immer noch größtenteils zufällig sein, aber zumindest gibt es eine Bewertung der Positionen.

Die Motorleistung würde sich also auf dem niedrigstmöglichen Niveau des von Ihnen gewählten Bewertungssystems befinden. Es könnte schließlich ein Spiel gegen einen ebenso schlechten Gegner gewinnen oder unentschieden spielen und sich dann um einige Punkte erhöhen. Sie können jedoch davon ausgehen, dass die Motorleistung danach schnell auf den Mindestboden zurückfällt.

In Shannons "Programmieren eines Computers zum Schachspielen" stellt er fest, dass die Wahrscheinlichkeit, dass Botvinnik zufällig gespielt wird, in der Größenordnung von 10 ^ -75 liegt. Wenn dieser zufällige Computer Botvinnik (oder sogar einen normalen Meister) ein Leben lang ohne Unterbrechung spielen würde, können wir davon ausgehen, dass er niemals gewinnen wird.

Shannon fährt jedoch fort, dass zufälliges Spielen nicht die schlechteste Strategie ist; Die schlechteste Strategie besteht darin, absichtlich Züge zu spielen, die dem Gegner helfen. Während es möglich ist, dass ein Anfänger dies tun könnte, besteht die Möglichkeit, dass er versucht, Züge zu spielen, die seine eigene Position verbessern.


0

Eine sehr gute Antwort wäre, dies zu tun:

Verwenden Sie numpy, eine sehr schwache Spiel-Engine, etwa 1500 ELO, und fügen Sie ein Python-Skript hinzu. Es gibt viele Bibliotheken, die Ihnen die möglichen Bewegungen an einer Position ermöglichen, sodass wir eine zufällig auswählen können. Ich werde die Ergebnisse später veröffentlichen.

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

Sie sollten dies auch überprüfen.


3
Numpy ist eine wissenschaftliche Mathematikbibliothek, keine Schachmaschine.
Svineet

Es ist auch eine Schachmaschine
MikhailTal

2
chess.stackexchange.com/questions/6034/… Es scheint numpty genannt zu werden
MikhailTal

1
@MikhailTal: Gibt es einen Grund, warum Sie diese Antwort nicht bearbeiten, um den Namen zu korrigieren?
GreenMatt

2
@SmallChess: Ähnliche Namen, aber nicht die gleichen.
GreenMatt
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.