Quale sarebbe l'elo di un programma per computer che suona a caso?


11

Quale sarebbe l'Elo di un programma per computer che riproduce mosse casuali?

Per semplicità, supponi che non chiede mai un pareggio o si dimette e non accetta mai un'offerta di pareggio.


Immagina tutti i pezzi sul tabellone e attacchi la regina del computer. Ha una probabilità 1 su 16 di muovere la regina e forse una minima possibilità di difendersi con un altro pezzo.
ZL1Corvette,

4
Trovo difficile immaginare che un giocatore umano giochi peggio che a caso.
Dag Oskar Madsen,

Preferirei farlo scientificamente
MikhailTal

Per la mia classe AI dovevamo creare un'intelligenza artificiale di scacchi. La prima fase del compito era costituita da mosse valide casuali. Quando questi IA hanno combattuto, per lo più si è conclusa con un pareggio. Un'intelligenza artificiale avida che attacca il pezzo più prezioso, se applicabile, altrimenti ogni volta un battito casuale casuale.
Harrichael,

Risposte:


13

Proprio in fondo all'Elenco di valutazione degli scacchi del computer per il controllo del tempo 40/4 c'è Brutus RND, un motore che seleziona semplicemente mosse legali casuali.

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

Ha un punteggio di 205 (al 6/06/2018). Questa non è una valutazione FIDE, ovviamente, ma utilizza il sistema Elo.

Ha 0 vittorie, 242 sconfitte e 64 pareggi. I sorteggi sono dovuti a programmi difettosi che causano accidentalmente sorteggi a causa di ripetizioni o occasionalmente di stallo, anche se in genere presentano un sostanziale vantaggio materiale in questo caso.

FIDE ha una soglia di valutazione di 1000. Brutus RND non riuscirebbe semplicemente a stabilire una valutazione così alta e sarebbe priva di rating.

Se ignoriamo la classificazione FIDE, è possibile avere una valutazione negativa sotto il sistema Elo.

Un punto da menzionare è che FIDE utilizza una tabella per calcolare le variazioni di valutazione e se la differenza di valutazione è maggiore di 735, non si verificano cambiamenti quando vince il giocatore più forte. Ciò significa che Bruto non potrebbe mai avere un punteggio di -5000 o qualcosa del genere perché avrebbe bisogno di perdere punti per i giocatori incredibilmente incompetenti che non sarebbero in grado di fornire scacco matto.

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

Rimaniamo a indovinare qui. 1000 giocatori classificati Elo sarebbero in grado di portare il punteggio di Brutus a 265, ma poiché non ci sono giocatori con punteggi peggiori, non possiamo dire esattamente quanto più lontano potrebbero abbassare il punteggio di Brutus se esistessero.

Immagino che i giocatori di 500 Elo o peggio avrebbero problemi a consegnare il compagno in modo coerente, proprio come i programmi difettosi. I sorteggi per 3 volte la ripetizione o la regola delle 50 mosse non sono automatici secondo le regole FIDE e si verificherebbero solo se Bruto li rivendicasse. Ma un essere umano potrebbe perdere rimanendo a corto di tempo, oltre a disegnare per stallo accidentale.

Quindi sto indovinando da qualche parte nella gamma da -200 a 200 se FIDE ha permesso valutazioni inferiori a 1000 e ha permesso a Brutus di competere.


Sembra alto. Avrei indovinato più vicino a 100 se le mosse fossero veramente casuali.
Edwina Oliver,

6

Il problema con il gioco casuale è che in una posizione di scacchi media ci sono molte molte mosse (da 20 in apertura a 50 o più facilmente in giochi complicati), ma solo una manciata di quelle sono accettabili. Le mosse casuali si tradurranno in una totale disordinazione fin dall'inizio del gioco. Inoltre, catturare pezzi di minor valore sarebbe molto comune, specialmente nel medio periodo. Detto questo, anche contro un'opposizione estremamente debole, il computer sarà, a lungo termine, un errore: tonnellate di materiale saranno scambiate e forse non molto buone per il computer, il computer sarà senza dubbio sviluppato, il suo re non sarà al sicuro e forse nemmeno arroccato ...

Tante cose cattive che si accumulano, ed estremamente rapidamente, comporteranno una sicura sconfitta per la macchina. Il suo Elo sarà probabilmente 0 FIDE.


2
Sarebbe anche difficile perdere contro un tale motore! Anche se VUOI essere controllato, può volerci un'eternità prima che il motore lo gestisca. L'unico modo realistico per vincere un motore casuale è se l'avversario si dimette.
Peter,

Se sai anche solo un po 'del gioco, sono completamente d'accordo. Ma se sai solo come spostare i pezzi, nemmeno il loro valore o qualsiasi strategia ... Bene, allora l'umano e il computer stanno giocando in termini più o meno uguali.
Pablo S. Ocal,

Penso che anche un principiante che ha appena imparato le regole oggi giocherebbe meglio che a caso. Il principiante potrebbe usare un'euristica come "catturiamo i pezzi", che funziona alla grande contro il motore casuale, perché puoi catturare qualsiasi pezzo, anche se è protetto, o semplicemente lasciare i tuoi pezzi appesi, ed è molto improbabile che il motore catturi dal momento che ha tante altre mosse inutili tra cui scegliere. Alla fine l'unica difficoltà possibile per il principiante è capire come accoppiarsi, ma non dovrebbe essere troppo difficile dato il probabile vantaggio materiale.
itub

No, non è difficile perdere contro un giocatore a caso se vuoi perdere. Puoi provarlo con l'app Play Magnus impostata su 5 anni. Devi solo forzare una situazione in cui l'unica mossa legale che può fare è consegnare scacco matto. Il modo più semplice per farlo è catturare tutti i suoi pezzi tranne 1 pedone, intrappolare il suo re in modo che possa solo avanzare il pedone, lasciare il tuo re in prima fila e disporre gli altri pezzi per impedire al tuo re di fuggire quando il pedone promuove e chiama dai un'occhiata. Funziona se promuove la regina o la torre, quindi hai una probabilità del 50% di perdere (o del 100% se non promuove mai).
Silas S. Brown,

5

Il gioco veramente casuale è molto peggio di quanto si pensi. La soglia assoluta dell'USCF è di 100 e questo programma non supererebbe mai questo.


1

Non sono sicuro di come le valutazioni di Go siano paragonabili agli scacchi, ma il gioco casuale è di circa -3500 . Dato che il fattore di ramificazione per gli scacchi è più basso, mi aspetto che il giocatore casuale elo sia più alto, forse tra -2000 e -500.


1
Come indicato nella risposta su chess.stackexchange.com/a/6509/9025 , la soglia di valutazione USCF è 100, quindi sarebbe impossibile avere una valutazione negativa.
Herb Wolfe,

Solo una prospettiva diversa sulla domanda. Non ha specificato quale sistema di classificazione utilizzare e elo statistico non ha un "limite inferiore".
Akababa,

1

Peggio di un principiante assoluto che conosce a malapena le regole del gioco, perché almeno il principiante pensa un po ' alla scelta di una mossa. Le loro mosse possono essere ancora per lo più casuali, ma almeno c'è qualche valutazione delle posizioni in corso.

Quindi la valutazione di questo motore sarebbe al livello più basso possibile di qualunque sistema di classificazione tu scelga. Potrebbe eventualmente vincere o pareggiare una partita contro un avversario ugualmente cattivo, e quindi aumentare di alcuni punti. Tuttavia, ci si può aspettare che la potenza del motore scenda rapidamente al piano minimo in seguito.

In "Programmazione di un computer per giocare a scacchi" di Shannon, osserva che la probabilità di giocare casualmente a battere Botvinnik è dell'ordine di 10 ^ -75. Quindi, se questo computer casuale dovesse giocare ininterrottamente Botvinnik (o persino un maestro normale) per una vita umana, possiamo ragionevolmente aspettarci che non vincerà mai.

Tuttavia, Shannon continua dicendo che il gioco casuale non è la strategia peggiore; la peggior strategia è deliberatamente giocare mosse che aiutano l'avversario. Mentre è possibile che un principiante completo possa farlo, è probabile che proveranno a giocare mosse che migliorano la propria posizione.


0

Una risposta molto buona sarebbe fare questo:

Usa numpy, un motore di gioco molto debole, 1500 ELO o giù di lì, e allega uno script Python. Esistono molte librerie che ti forniscono le mosse possibili in una posizione, quindi possiamo sceglierne una a caso. Invierò i risultati più tardi.

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

Dovresti anche dare un'occhiata.


3
Numpy è una biblioteca di matematica scientifica, non un motore di scacchi.
svineet,

È anche un motore di scacchi
MikhailTal


1
@MikhailTal: c'è un motivo per cui non modifichi questa risposta per correggere il nome?
GreenMatt

2
@SmallChess: nomi simili , ma non uguali.
GreenMatt
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.