Quali algoritmi ed euristiche sono popolari negli scacchi per computer?


18

Gli scacchi per computer sono esplosi negli ultimi vent'anni, con l'istituzione di un campionato mondiale di computer e molti progettisti di computer per scacchi stanno diventando abbastanza redditizi dai loro sforzi. Alcuni programmi nascondono il loro codice sorgente, ma molti sono open source, in particolare Fruit, che è servito da base per una famiglia di motori di scacchi.

Quali sono alcuni esempi di euristica o algoritmi utilizzati dai computer di scacchi e quali hanno avuto più successo o sono più popolari?


2
Questo non è il posto giusto per questa domanda ed è già stato chiesto nella definizione del progetto: discuss.area51.stackexchange.com/questions/5056/…
Charles Menguy

Risposte:


7

Gli algoritmi utilizzati principalmente si basano sulla ricerca nello spazio degli stati. Il problema è che le possibili posizioni che un pezzo può fare nella prossima mossa sono enormi. Ma è finito. È fondamentalmente un problema di ricerca. C'è una posizione valida che un pezzo può assumere. Cioè c'è uno stato iniziale noto e uno stato finale noto. Non è prevista alcuna probabilità come il problema di lanciare una moneta.
Un tipico algoritmo è usare la forza bruta e calcolare le mosse per un numero fisso di mosse. In questi casi è possibile utilizzare MiniMax. La potatura alfa-beta è anche un noto algoritmo utilizzato. Principalmente gli spazi di ricerca sono rappresentati usando una struttura di dati basata su albero.
Anche i programmi per computer usano pesantemente database contenenti mosse, aperture, posizioni di fine gioco ecc.


1
La domanda pone sull'euristica . L'intero punto dell'euristica è evitare le spese del calcolo della forza bruta di tutte le mosse legali. Quindi una risposta che coinvolge un approccio a forza bruta non è, purtroppo, sull'argomento.
Jaxter,
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.