Motore simile all'uomo per l'allenamento del gioco finale


10

Sto facendo un allenamento di fine gioco con LucasChess (LC), ma il problema non è realmente legato alla LC, ma ai motori di scacchi in generale.

Ho questo problema: vedi foto. Quando muovo Kh6 in questa posizione, il motore in LC sposta Ke8. Probabilmente questa è la mossa con cui il bianco ha bisogno di più mosse fino all'accoppiamento.posizione: w: Kh5, Pg6, Pg4, b: Kf8, bianco da spostare

Ma è anche la mossa che rende le cose facili per il bianco. Sarebbe più difficile per il bianco se il nero muovesse Kg8, cercando di bloccare il pedone fino a quando non è più possibile e forse provocando una situazione di stallo. Invece di bloccare, il nero fugge in direzione del centro.

Suppongo che il motore veda che con la fuga verso il centro è forse un compagno su 20 e senza fuggire e cercare di bloccarlo è forse un compagno su 16. Quindi fa la mossa "ottimale" con cui la distanza da accoppiare è la più lunga .

Ma questa non è la migliore mossa umana. Perché rende più facile per il bianco dominare il suo pedone. Cancella tutte le possibilità che il bianco commetta errori e in questo modo toglie una parte importante dell'effetto allenamento.

Ho visto questo comportamento in quasi tutte le terminazioni del pedone, non solo in questo; e anche in altri finali.

Tutti i motori che ho provato mostrano questo comportamento. (Komodo, stoccafisso, gabbiano, gaviota, frutta)

Quindi la mia domanda è: conosci un motore libero o alcune impostazioni per un motore che gioca a giochi simili a quelli umani, cercando di bloccare i pedoni il più a lungo possibile invece di fuggire con il re al centro?

Aggiornamento: konsolas trovato un motore (Leela o LC0), che tratta la posizione data bene e così in un primo momento ho accettato la sua risposta come la risposta. Nel frattempo ho testato di più Lc0 e sono giunto alla conclusione che non è assolutamente utilizzabile per l'allenamento dei giochi finali, perché gioca la maggior parte dei finali in modo catastrofico. Accettando la risposta, non riuscivo nemmeno a immaginare un motore che giocasse così tanto ai giochi finali.

Quindi voglio chiarire la mia domanda: conosci un motore gratuito o alcune impostazioni per un motore che, con movetime 1s o inferiore, senza bisogno di una scheda grafica, gioca a giochi simili all'essere umano, cercando di bloccare i pedoni il più a lungo possibile invece di in fuga con il re al centro?

Lc0 con le reti attuali o le reti distillate di dkappe non si qualificano, perché questi giocano la maggior parte dei giochi finali in modo orribile e assolutamente non umano su un PC senza scheda grafica. E da tutto ciò che ho letto una scheda grafica non aiuta nemmeno per il suo gioco finale.

Aggiornamento 2: Vorrei chiarire che non è solo la posizione sopra, ma anche molti altri. I motori svolgono la mossa che aumenta la distanza dell'accoppiamento, assumendo un gioco perfetto dell'avversario. Esempio 8/8/8 / 6K1 / 8/8 / 3Q2kp / 8 b - - 4 9, vedi seconda immagine. I motori giocano a Kf3, il che rende molto facile per W. Ciò che B dovrebbe giocare è Kg1, e ora è molto più difficile per W vincere. W allora ha bisogno di sapere o scoprire che deve consentire B alla regina.8/8/8 / 6K1 / 8/8 / 3Q2kp / 8 b - - 4 9


2
Lo stesso problema si presenta a volte quando si pratica la tattica della lichess. Spesso, il motore non giocherà la maggior parte delle prove di difesa in quanto con la migliore giocabilità è inferiore a una difesa che è facile da confutare.
Qudit

1
Senza offesa ... Ma 1.Kh6 Kg8 2.g7 è abbastanza semplice.
Jossie Calderon,

@ Jossie C .: Sì, se conosci il tipo di posizione, se sai che c'è un pareggio in agguato dietro l'angolo. Ma in una posizione simile, (5k2 / 8 / 6P1 / 7K / 6P1 / 8/8 / 8w - - 2 2) dopo 1.Kh6, Kg8 apre la possibilità per White di commettere l'errore g5? con pareggio. Se conosci bene la posizione, non commetterai l'errore. ... Ma poi anche tu non hai bisogno di allenare questo tipo di posizione. Ma se ti piace allenare questa posizione e non ti imbatterai mai in questo sorteggio durante l'allenamento, non hai imparato molto. Ancora peggio. allora hai imparato che non c'è nulla di cui essere a conoscenza qui.
Wickie,

Addendum: (5k2 / 8 / 6P1 / 7K / 6P1 / 8/8 / 8w - - 2 2) non è una posizione simile, è la mia posizione originale.
Wickie,

1
Un modo per "risolvere" questo problema è forzare il computer a interrompere la ricerca a una profondità leggermente superiore alla propria profondità di ricerca effettiva. In questo modo, è improbabile che manchi qualcosa che puoi vedere, ma non farà nemmeno una mossa per un motivo che solo lui può vedere.
user21820

Risposte:


5

I motori alfa-beta, in molte posizioni finali, troveranno rapidamente un compagno e quindi sceglieranno la mossa che prolunga il compagno più a lungo.

I motori che utilizzano Monte Carlo Tree Search, tuttavia, scelgono la linea con le maggiori possibilità di vincita / disegno. Ad esempio, Lc0 , un motore di rete neurale che utilizza MCTS, suggerisce Kg8 come volevi nella tua posizione:

NN - NN
1 ... Kg8 2. Kh6 Kh8 3. Kg5 Kg7 4. Kf5 Kg8 5. Kf6 Kf8

Lc0 non gioca ai endgames e ai motori alfa-beta, ma tende a giocarli in un modo molto più umano.

Suggerirei anche di dare un'occhiata a Komodo 12 MCTS, che potrebbe anche mostrare questo tipo di comportamento.


In effetti, ho treid Lc0 con pesi 36089 e gioca quei giochi finali molto meglio di qualsiasi altro motore che ho provato (e ho provato dozzine di più in mezzo). D'altra parte, non sa come accoppiarsi con KQ-Q. Quindi potrebbe non essere il miglior motore per l'allenamento del gioco finale. Tuttavia, la mia domanda originale è stata risolta.
Wickie,

1
@Wickie che cos'è KQ-Q?
Pedro A

@Pedro KQ-Q è un errore al mio fianco. Intendevo KQ-K. Re e regina contro il re.
Wickie,

2
Di cosa stai parlando? Leela può accoppiarsi il 100% delle volte con un KQ contro K. È stato in grado di farlo da oltre un anno: docs.google.com/spreadsheets/d/…
NoseKnowsTutto il

1
@NoseKnowsAll Sì, può accoppiarsi in modo evidente con KQ-K, se hai i nervi per aspettare 30 mosse o più. Almeno con la mia configurazione (nessuna scheda grafica, 1 secondo di tempo, core duo cpu 2,4 GHz), tutte le reti che ho provato giocano orribilmente nel gioco finale. Mi vengono i crampi allo stomaco guardandoli. Ho provato le reti distillate 36089 e dkappes 11258-48x5, 11258-64x6 e 11258-80x7.
Wickie,

1

Freechess.org ha un bot chiamato endgamebot contro cui puoi giocare.

Conosce fino a 6 giocatori finali.


3
Ma gioca in modo umano, qual è la domanda del PO?
Glorfindel

@Glorfindel: Sì.
Jossie Calderon,

@ Jossie Calderon: vorrei provarlo. Ho un account di fics e BabasChess. Come posso allenare una determinata posizione con questo bot? ( help bot o help endgamebot non ha risultati.)
Wickie

@ Jossie Calderon: l'ho trovato anch'io: dì aiuto a endgamebot
Wickie

2
@ Jossie Calderon: no :-( Dopo 1. Kh6, Kg8 apre la possibilità dell'errore bianco g5 con il pareggio. Il robot da gioco gioca Ke7 lì, il tipico fuggire verso il centro.
Wickie

0

Dipende da quale motore di scacchi LC sta usando, al giorno d'oggi i motori giocano in modo molto simile alle mosse di tipo umano, scaricano stoccafisso 9 e alleghiamo LC come farete. C'è anche un punto importante, a volte l'app di allenamento utilizza mosse integrate con cui giocare, quindi assicurati che il motore stia giocando e non risponda alle mosse solo dalla notazione


Ho provato molti motori in LC, tutti mostrano il comportamento del re in fuga. A parte Leela o Lc0 che presenta altre carenze.
Wickie,
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.