Discussione:
Studi e problemi in cui i computer falliscono
(troppo vecchio per rispondere)
Multivac85
2012-03-12 22:13:27 UTC
Permalink
Leggo qui:

soloscacchi.altervista.org/?p=25335

"Si può facilmente capire che la forza di un moderno programma di
scacchi, a parità di computer, si basa sulla bontà dei criteri di
selezione delle varianti. Questi criteri si basano in larga parte
sulle comuni conoscenze tattico-strategiche dei giocatori umani,
codificate e tradotte nel linguaggio binario dei computer. Tuttavia
non è sempre facile tradurre queste conoscenze in algoritmi di gioco:
in particolare i programmi di scacchi incontrano difficoltà nel
trattamento dei finali, in cui conta molto la strategia, più difficile
da tradurre nel linguaggio dei computer rispetto alla tattica. Ne
consegue che i più forti programmi in circolazione si affidano ad
appositi database sui finali che contengono le migliori varianti
calcolate per i casi più semplici, cioè tutti i finali con un massimo
di 5 o 6 pezzi sulla scacchiera. Con questi database i computer sono
in grado di calcolare in modo esatto il finale, purché rientri in uno
dei casi citati. Tuttavia, nei casi di finali con un numero maggiore
di pezzi, anche i migliori programmi in commercio, mostrano i loro
limiti, dato che non hanno a disposizione alcun database con varianti
già calcolate e devono calcolare sul momento la mossa da giocare.

Nel diagramma sottostante viene rappresentata una posizione che crea
notevoli difficoltà ai moderni computer.

Fig. 10 – Studio di Zachodjakin, 1930

Il Bianco muove e patta

5B1k/7p/6P1/4NnP1/8/8/K4p2/8

Il Bianco, nonostante la promozione incombente del Pedone nero, si
salva così:

Soluzione: 1. g7+, …

1…, Rg8; 2 Cg4,…a) 2…f1=D?; 3 Cf6+, Rf7; 4 g8=D #; b) 2…, Cxg7; 3
Cxf2, Rxf8; Ce4 con parità
1…, Cxg7; 2 Cf7+, Rg8; 3. Ac5, f1=D; 4. Ch6+, Rh8; 5 Ad6!! e il
Bianco patta.

Nell’ultima variante se il Nero sposta il Cavallo allora il Bianco
gioca Ad6-e5+, costringendo la figura leggera avversaria a ritornare
nella casa g7 per parare lo scacco e inchiodandola permanentemente. Il
Nero non può catturare l’Ac5 o il Pg5 (con Dg2+ o Da5+) senza perdere
la Donna, a causa del micidiale scacco Ch6-f7+. Poiché la Donna da
sola non può dare scacco matto al Re bianco, la partita è patta!

Lo studio di Zachodjakin rappresenta un tipico caso di patta
posizionale, una situazione scacchistica difficilmente codificabile in
un algoritmo di gioco. Sembra infatti che nessun programma
scacchistico commerciale sia stato finora in grado di vedere la
soluzione esatta, dato che in genere veniva giocata per la mossa 1.
Cf7 che porta il Bianco alla sconfitta."

Sarebbe interessante cercare sfide come queste da proporre ai più
avanzati software in circolazione e a vederne i risultati. Poi sarebbe
interessante, tanto per fare la stessa proposta a parti invertite,
costruire un software compositore (chissà se ce ne sono già di
programmi simili) e vedere come se la cavano i migliori risolutori
umani. Certo, non sarà la stessa cosa che con le partite vive, ma
quest'altro tipo di competizione basata su risoluzione di problemi e
studi come questi (sempre se sono confermate ancora oggi queste
difficoltà da parte dei computer) mostrerebbe che l'umano ha comunque
una marcia in più rispetto alla macchina in alcuni aspetti decisivi
nel Nobil Giuoco.

Ciao.
Rocer
2012-03-13 00:49:16 UTC
Permalink
Confermo, nessuno dei programmi che va per la maggiore riesce a risolvere lo
studio.
Il problema non è tanto nella scelta delle varianti, quanto nel fatto che
per quanto in profondità
vada il software, alla fine si troverà sempre a valutare quantitativamente
una situazione in cui
il nero ha una Donna per Alfiere e pedone. Questo si limita a vedere e a
valutare il programma.
Tutto quello che è avvenuto in precedenza, ovvero se sia stata ripetuta per
3 volte la posizione o che siano
state giocate 50 mosse senza catture o spinte di pedone, non fa alcuna
differenza.
Per il software la valutazione è sempre ca. - 6.50

Mi chiedo se sia davvero così difficile implementare nel software la nozione
delle 50 mosse
o anche della triplice ripetizione di posizione.

Rocer
Post by Multivac85
soloscacchi.altervista.org/?p=25335
"Si può facilmente capire che la forza di un moderno programma di
scacchi, a parità di computer, si basa sulla bontà dei criteri di
selezione delle varianti. Questi criteri si basano in larga parte
sulle comuni conoscenze tattico-strategiche dei giocatori umani,
codificate e tradotte nel linguaggio binario dei computer. Tuttavia
in particolare i programmi di scacchi incontrano difficoltà nel
trattamento dei finali, in cui conta molto la strategia, più difficile
da tradurre nel linguaggio dei computer rispetto alla tattica. Ne
consegue che i più forti programmi in circolazione si affidano ad
appositi database sui finali che contengono le migliori varianti
calcolate per i casi più semplici, cioè tutti i finali con un massimo
di 5 o 6 pezzi sulla scacchiera. Con questi database i computer sono
in grado di calcolare in modo esatto il finale, purché rientri in uno
dei casi citati. Tuttavia, nei casi di finali con un numero maggiore
di pezzi, anche i migliori programmi in commercio, mostrano i loro
limiti, dato che non hanno a disposizione alcun database con varianti
già calcolate e devono calcolare sul momento la mossa da giocare.
Nel diagramma sottostante viene rappresentata una posizione che crea
notevoli difficoltà ai moderni computer.
Fig. 10 – Studio di Zachodjakin, 1930
Il Bianco muove e patta
5B1k/7p/6P1/4NnP1/8/8/K4p2/8
Il Bianco, nonostante la promozione incombente del Pedone nero, si
Soluzione: 1. g7+, …
1…, Rg8; 2 Cg4,…a) 2…f1=D?; 3 Cf6+, Rf7; 4 g8=D #; b) 2…, Cxg7; 3
Cxf2, Rxf8; Ce4 con parità
1…, Cxg7; 2 Cf7+, Rg8; 3. Ac5, f1=D; 4. Ch6+, Rh8; 5 Ad6!! e il
Bianco patta.
Nell’ultima variante se il Nero sposta il Cavallo allora il Bianco
gioca Ad6-e5+, costringendo la figura leggera avversaria a ritornare
nella casa g7 per parare lo scacco e inchiodandola permanentemente. Il
Nero non può catturare l’Ac5 o il Pg5 (con Dg2+ o Da5+) senza perdere
la Donna, a causa del micidiale scacco Ch6-f7+. Poiché la Donna da
sola non può dare scacco matto al Re bianco, la partita è patta!
Lo studio di Zachodjakin rappresenta un tipico caso di patta
posizionale, una situazione scacchistica difficilmente codificabile in
un algoritmo di gioco. Sembra infatti che nessun programma
scacchistico commerciale sia stato finora in grado di vedere la
soluzione esatta, dato che in genere veniva giocata per la mossa 1.
Cf7 che porta il Bianco alla sconfitta."
Sarebbe interessante cercare sfide come queste da proporre ai più
avanzati software in circolazione e a vederne i risultati. Poi sarebbe
interessante, tanto per fare la stessa proposta a parti invertite,
costruire un software compositore (chissà se ce ne sono già di
programmi simili) e vedere come se la cavano i migliori risolutori
umani. Certo, non sarà la stessa cosa che con le partite vive, ma
quest'altro tipo di competizione basata su risoluzione di problemi e
studi come questi (sempre se sono confermate ancora oggi queste
difficoltà da parte dei computer) mostrerebbe che l'umano ha comunque
una marcia in più rispetto alla macchina in alcuni aspetti decisivi
nel Nobil Giuoco.
Ciao.
Bruno Rizzuti
2012-03-13 12:46:22 UTC
Permalink
Post by Rocer
Mi chiedo se sia davvero così difficile implementare nel software
la nozione delle 50 mosse
o anche della triplice ripetizione di posizione.
La triplice ripetizione ovviamente e' implementata, e non causa mai
problemi. La nozione delle 50 mosse e' pure implementata, ma causa
problemi per l'effetto dell'orizzonte limitato nella profondita' di
analisi.

Rybka nella modalita' di analisi chiamata MonteCarlo, che consiste
nell'equivalente di tante partite virtuali a tempo brevissimo giocate a
partire da una certa posizione, dovrebbe risolvere questo tipo di studi.
In altri termini, il software dovrebbe accorgersi che il suo vantaggio
apparentemente cosi' alto in realta' non e' finalizzabile, e la
valutazione scenderebbe a zero. Non l'ho mai usato io stesso, ma mi dicono
che funziona.

Ciao, Bruno.
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ***@newsland.it
Mau C
2012-03-13 09:33:14 UTC
Permalink
Post by Multivac85
soloscacchi.altervista.org/?p=25335
[...]



L'analisi con i consueti software lascia il tempo che trova. La
tipologia di software qui citata (Fritz, Houdini, Rybka ... per
intenderci) è stata realizzata per giocare una partita _reale_.

Gli studi sono composizioni artistiche per lo più fantasiose e quasi mai
raggiungibili in una partita reale. Infatti esistono - se non erro -
software specifici per la risoluzione dei problemi e degli studi.

Non ha dunque senso chiamare in ballo i software _standard_ quando si
parla di problemi e studi.
--
FICS Manual :: http://www.deepthought.it/chess/fics.html
eBooks :: http://www.deepthought.it/chess/ebooks.html
MyChess Portal :: http://mychess.deepthought.it
l***@gmail.com
2012-03-13 09:42:34 UTC
Permalink
Post by Mau C
Post by Multivac85
soloscacchi.altervista.org/?p=25335
[...]
L'analisi con i consueti software lascia il tempo che trova. La
tipologia di software qui citata (Fritz, Houdini, Rybka ... per
intenderci) è stata realizzata per giocare una partita _reale_.
Gli studi sono composizioni artistiche per lo più fantasiose e quasi mai
raggiungibili in una partita reale. Infatti esistono - se non erro -
software specifici per la risoluzione dei problemi e degli studi.
Non ha dunque senso chiamare in ballo i software _standard_ quando si
parla di problemi e studi.
Mah, il punto è che parecchie composizioni, in particolare gli studi, sono spesso "plausibili", cioè potrebbero capitare in una partita sensata (alcuni studi sono addirittura stati ispirati da qualche variante di finale di partita reale).
E la casistica delle patte "posizionali" non comprensibili dai motori è parecchio ampia, non è cosi raro il caso in cui anche in partita reale si riesce a costruire una posizione di "fortezza" valutata dagli engine come netto vantaggio di una parte mentre in realtà si tratta di evidente impossibilità di vincere.
Bruno Rizzuti
2012-03-13 13:01:51 UTC
Permalink
Post by Mau C
L'analisi con i consueti software lascia il tempo che trova. La
tipologia di software qui citata (Fritz, Houdini, Rybka ... per
intenderci) è stata realizzata per giocare una partita _reale_.
E' assolutamente vero. Ricordo vagamente ad esempio una discussione su un
forum specialistico, in una posizione legale ma con cinque cavalli di uno
stesso colore. Tutti i software fallivano nell'analisi, e per un motivo
semplice: la "scala di valori" empirica per i pezzi (all'incirca P=1,
C/A=3, T=5, D=10) vale solo per il numero di pezzi comunemente presenti
(P=0-8, C/A=2, T=2, D=1) o piccole variazioni in piu'. In altri termini,
quando i C presenti sono cinque questo pezzo non vale affatto 3, ma un
valore completamente diverso.

Nel caso in discussione in questo thread siamo di fronte ad una
difficolta' di tipo differente, ma il motivo e' lo stesso. Per metterla in
termini semplici (anche se banalizza un po' la questione, che e' molto
piu' sottile), potremmo dire che ottimizzare un software per la ricerca di
soluzioni molto lunghe ma con un vantaggio finale enorme in posizioni si
puo' fare, ma lo stesso software potrebbe poi rivelarsi pessimo nel
distinguere tra vantaggi minimi (per esempio tra un +0.20 e +0.45). Come
risultato, giocherebbe molto peggio dei software attuali nel 99% o piu'
delle partite.

Ciao, Bruno.
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ***@newsland.it
F.M.Arouet
2012-03-14 14:41:13 UTC
Permalink
Post by Mau C
Post by Multivac85
soloscacchi.altervista.org/?p=25335
[...]
L'analisi con i consueti software lascia il tempo che trova. La
tipologia di software qui citata (Fritz, Houdini, Rybka ... per
intenderci) è stata realizzata per giocare una partita _reale_.
Non sono molto d'accordo. I motori al contrario degli uomini non
lavorano per "idee"
ma per mossa-analisi-mossa-analisi. E non tutte le buone idee emergono
naturalmente
in questo modo, a meno di spingire l'analisi ad ampiezze e soprattutto
profondita' ancora
ingestibili. E non e' solo il caso della patte posizionali, anche idee
strategiche offensive
(certi sacrifici di qualita' per esempio) danno i loro effetti a una
profondita' "eccessiva" e
percio' i motori non riescono ad individuare la bonta' di tali mosse.
Credo siano problemi irrisolvibili all'interno dell'architettura
classica dei motoro scacchistici.

Ciao.Fabio.
Mau C
2012-03-14 15:18:38 UTC
Permalink
Il 14/03/2012 15:41, F.M.Arouet ha scritto:
[...]
Post by F.M.Arouet
Credo siano problemi irrisolvibili all'interno dell'architettura
classica dei motoro scacchistici.
Credo dipenda dall'orizzonte degli eventi raggiunto dal motore e dalla
disponibilità di usare le tablebase.
A conti fatti, il problema proposto, a che profondità di calcolo viene
risolto? Profondità 20? 30? 40? (Semimosse) E' possibile usare le tablebase?

Se la profondità è ancora oggi troppo alta e le tablebase non sono
utilizzabili (troppi pezzi in gioco) l'engine darà una valutazione
numerica errata.

E' anche possibile che la linea di gioco "corretta" venga in qualche
modo tagliata via dall'engine, in modo irrecuperabile. Solo un engine a
"brute-force" la vedrebbe. In questo caso, come già detto, non conviene
modificare l'engine per "fargli vedere" anche quelle linee... Perderebbe
molta della sua forza di gioco.

Gli engine risolutori di problemi sono modificati allo scopo: risolvono
bene i problemi.. ma non sanno giocare a scacchi in una partita "reale".

M.

guanche
2012-03-13 10:16:44 UTC
Permalink
Post by Multivac85
Sembra infatti che nessun programma
scacchistico commerciale sia stato finora in grado di vedere la
soluzione esatta, dato che in genere veniva giocata per la mossa 1.
Cf7 che porta il Bianco alla sconfitta."
Houdini_15a mi ha proposto la soluzione corretta in seconda variante
(1. g7+, Cxg7; ecc.)
Tuttavia, come segnala Rocer, ha mantenuto sino alla fine della
sequenza il vantaggio del Nero nei dintorni del -7
Luigi Caselli
2012-03-13 13:28:42 UTC
Permalink
Post by guanche
Houdini_15a mi ha proposto la soluzione corretta in seconda variante
(1. g7+, Cxg7; ecc.)
Tuttavia, come segnala Rocer, ha mantenuto sino alla fine della
sequenza il vantaggio del Nero nei dintorni del -7
Probabilmente l'ha trovata come variante perdente con la seconda miglior
valutazione.
Il fatto che dia giudizio -7 dimostra che non riesce a capire questa patta
posizionale.
Probabilmente l'unico modo per risolverlo, anche se non in modo sintetico
come farebbe un umano, è l'analisi Montecarlo come segnalato da Rizzuti.

Luigi Caselli
Luigi Caselli
2012-03-13 13:21:43 UTC
Permalink
<snip>
Nel diagramma sottostante viene rappresentata una posizione che crea
notevoli difficoltà ai moderni computer.
Fig. 10 – Studio di Zachodjakin, 1930
Il Bianco muove e patta
5B1k/7p/6P1/4NnP1/8/8/K4p2/8
<snip>

Ho un deja vu clamoroso...

Guarda cosa postavo il 5 luglio 1999 (un secolo fa!):
-----------------------------------------------------------------------------------------
Dalla meccanica quantistica ritorniamo alla fisica classica...

Giuro, questa volta niente analisi retrograda... ma una posizione con pochi
pezzi e in cui bisogna solo giocare bene.

Immaginate che vi serva pattare per salire di categoria e arrivate dopo una
lotta titanica in questa posizione:

Bianco: Ra2, Af8, Ce5, Pg5, Pg6
Nero: Rh8, Cf5, Pf2, Ph7

State per abbandonare perchè il pedone f2 sembra andare a donna facilmente
ma improvvisamente venite visitati dallo spirito di Capablanca che vi indica
la rocambolesca via del pareggio...

A parte gli scherzi la posizione è quella di partenza di uno studio (il
Bianco muove e patta) di inizio secolo che mi sembra raffinatissimo anche se
non molto noto.

P.S. L'ho fatto analizzare una decina di minuti da Fritz che però si è perso
in analisi profondissime ma erratissime. Potrebbe anche questa essere una
posizione anti-computer a meno di usare un software non solo di brute force
ma con un pò di sale in zucca... Forse però lasciandolo (il Fritz)
analizzare più a lungo sarebbe arrivato alla soluzione (ma non ne sono
sicurissimo...). Ad esempio "Napoleone" potrebbe rifare partire il suo PC
per un'altra mostruosa analisi e farci sapere cosa ne viene fuori... Alla
fine la quantità può fare anche qualità...

Luigi Caselli
--------------------------------------------------------------------------------------------
enrico tognoni
2012-03-13 18:37:02 UTC
Permalink
Post by Multivac85
Il Bianco muove e patta
5B1k/7p/6P1/4NnP1/8/8/K4p2/8
Il Bianco, nonostante la promozione incombente del Pedone nero, si
Soluzione: 1. g7+, …
Ho provato stockfish nella variante Kg8 trova subito la patta, nella
variante Nxg7 invece si attesta su una valutazione -8.xx circa
nonostante che non riesca mai a monetizzarla, intanto vorrei dire
bellissima l'idea di mettere l'alfiere in una posizione che se
catturato, diventa un trappolone grazie al doppio di cavallo.
Vorrei dire pero' che dal punto di vista del programma che gioca a
scacchi, e' perfettamente funzionale alla forza del programma il fatto
di andare alla ricerca della monetizzazione del vantaggio senza pero'
mai riuscirci.
Basterebbe mettere un if se dopo 8 mosse il vantaggio resta uguale con
un determinato numero di pezzi sulla scacchiera, allora la posizione e'
patta.
Se ci fossero altre mosse a profondità maggiori che cambiassero la
valutazione -8 a -20 prima o poi verrebbero trovate, avendo sufficiente
tempo a disposizione.
Ma considera questo fare un if (valutazione > N && numero_mosse>8 &&
variazione_valutazione<1 && materiale==Qualcosa_da_definire) e ripeterlo
milioni di volte per ogni variante analizzata non sarebbe una riduzione
delle prestazioni di pochi punti elo rispetto alla reale forza del
programma che gioca?
In realtà stockfish pur sbagliando la valutazione trova in un lampo le
due mosse chiave per non perdere, anche se sbaglia la valutazione, e il
mio pc e' mono e vecchio e stanto ^^.

P.S. prova a copiare incollare il FEN che hai postato e dimmi se
funziona, in realtà FEN è molto semplice da riprodurre, qualsiasi editor
decente di scacchi ha la funzione Salva Fen o Salva PGN la prossima
volta evita di togliere informazioni vitali al FEN grazie ^^
Multivac85
2012-03-13 18:59:40 UTC
Permalink
Post by enrico tognoni
P.S. prova a copiare incollare il FEN che hai postato e dimmi se
funziona, in realtà FEN è molto semplice da riprodurre, qualsiasi editor
decente di scacchi ha la funzione Salva Fen o Salva PGN la prossima
volta evita di togliere informazioni vitali al FEN grazie ^^
E' vero che ho trascritto il FEN a mano, però mi risulta che funzioni,
prova a postarlo qui

http://www.chess-poster.com/fen/epd_fen.htm

Dove avrei tolto informazioni vitali?

Ciao.
enrico tognoni
2012-03-13 20:08:43 UTC
Permalink
Post by Multivac85
Dove avrei tolto informazioni vitali?
Ciao.
Il colore di chi muove, la situazione dell'arrocco, FEN e' un metodo
completo per permettere di riconoscere all'istante data una posizione
tutti i dati necessari a giocare, se nel caso, anche il numero di mosse
necessarie a determinare la patta (le una volta famose 50 mosse).
In Fen devi specificare ad un certo punto della stringa chi muove w o b
e non e' contrattabile questa informazione KQkq indicano gli arrocchi
possibili che se mancanti dovrebbero comparire - - due trattini.
Apri winboard o scid o chessbase, salva in clipboard la posizione FEN e
poi fai un paste in un editor e vedi subito cosa manca.

ciao ^^
↓ ↓↓↓↓ ↓ ↓ ↓
r1bqkbnr/pppp1ppp/2n5/4p3/3PP3/5N2/PPP2PPP/RNBQKB1R b KQkq - 0 3
come vedi c'è molto di + dei pezzi sulla scacchiera ^^ se togli b e
tutto i resto mancano informazioni "vitali".
Loading...