Newsgroup: it.hobby.scacchi
Titolo: Motori x scacchi: una marcia in più

Un supporto (software) furbo per giungere velocemente alla vittoria!
Come è nata l'idea?: L'uomo e il computer adottano schemi diversi che
possono portare allo stesso risultato nello stabilire quale sia la
mossa più valida in una determinata situazione.
IL COMPUTER (generalmente) sviluppa fin dove può arrivare tutto
l'albero delle varianti, questo è vincolato molto dalla velocità
della macchina e dalla snellezza degli algoritmi implementati. Un po'
come avviene con il metodo "brute force" per l'individuazione di una
chiave.
L'UMANO si affida molto all'intuito, che deriva dall'esperienza. la
fase dove si accentua di più questo processo è l'apertura: il
giocatore muove quasi d'istinto usando schemi assimilati con lo
studio e la pratica.
Un motore software dal volto umano:
Prendendo spunto da queste constatazioni ho provveduto a realizzare
un algoritmo di gioco simile a quello umano, che non si sbizzarrisce
alla ricerca di nodi e varianti, ma che forza la partita in posizioni
note e vincenti, e questo avviene con naturalezza. Chiaramente questo
algoritmo ha dei vantaggi:
1) Il tempo di riflessione risulta immediato e porta subito a un
vantaggio in termini di tempo rispetto un software con ricerca a
esaustativa e recursiva
2) Predetermina fin da subito un vantaggio sottile non prevedibile da
software standard perché si concretizza dopo un numero di mosse
superiori  a quelle calcolabili generalmente
3) Ogni incontro disputato aumenta l'esperienza dell'algoritmo di
calcolo rafforzandone l'efficacia
Dove non è possibile arrivare:
Questo tipo d'algoritmo può entrare in crisi quando durante il gioco
si raggiungono situazioni di cui non si prospettano varianti note e
di validità conclamata; Chiaramente se si ha un bagaglio d'esperienze
enormi (con i schemi di gioco di tutti i più grandi giocatori di
tutti i tempi) e si cade in una situazione non nota (perché
l'avversario esce dagli schemi), con grande facilità significa che si
è in vantaggio posizionale o tattico. a questo punto utilizzando un
motore con algoritmo standard si dovrebbe facilmente chiudere in
vittoria. (in questa situazione come minimo si ha un vantaggio sul
tempo).
Chi fosse interessato a implementare questo supporto nel proprio
motore può contattarmi: Andrea_Bruno@H...
Ho disponibile una DLL (Elaborazione.dll) facilmente interfacciabile
con software di vario genere (P.S. tra le altre cose la dll
implementa un po' di tutto. l'ho usata per il supporto PGN di Scacchi
1.0 e per implementare il controllo mosse di DDChessBoard realizzato
da un membro di G6)

 è in vantaggio posizionale o tattico.
e anche qui si puo' discutere per ore.
Per es., molte posizioni sono poco giocate perche' danno luogo a finali
chiaramente patti. Tuttavia qualcuno ogni tanto te le fa giocare in torneo,
ma queste partite di basso livello non vengono utilizzate come "training
set" per il motore (almeno spero, altrimenti addestriamo il programma a
giocare come me invece che come Kasparov!!!); quindi il programma non le ha
memorizzate nel suo addestramento e non sa come giocarle a meno di non
adottare  gli approcci standard degli altri programmi.
Ci sono tanti altri casi in cui posizioni inusuali non coincidono col chiaro
vantaggio di una delle due parti.
A parte il fatto che anche le partite giocate dai grandi giocatori
contengono minchiate allucinanti e che alla fine addestreresti il programma
anche con errori, sia pure di GM.

Mauro, le osservazioni da te fatte sono giuste... ho voluto solamente fare
un tentativo un questa direzione...
Come detto in precedenza si tratta semplicemente di un supporto per motori
scacchistici (una marcia in più).... Sicuramente con un po' di tempo e
costanza si potrebbe realizzare uno strumento che va oltre il ruolo di
supporto...
I risultati che ho avuto modo di testare hanno soddisfatto le mie
aspettative... per chi volesse provare concretamente questo algoritmo potrà
effettuare qualche prova utilizzando "Scacchi v.1.0"
per incominciare si potrebbe far continuare al computer una partita da
questa posizione FEN:
r2k1r2/2p5/3bp3/1q1pNnPp/1nbP3P/1BP5/1P3B2/1KNRQ1R1 b KQkq - 0 0
Posso assicurare che il computer in questo caso decide la mossa
(istantaneamente) solamente basandosi sulla sua "esperienza"... pur non
avendo mai riscontrato una partica con questa situazione "identica".
Il software non ha nessun libro per le aperture... ma gioca benissimo
l'inizio partita senza lasciare nessuna soddisfazione all'avversario...
Il software Scacchi lo si può prelevare gratuitamente da questo sito:
http://communities.msn.it/RussiaVista&naventryid=131
(Il software è affiancato da un motore di tipo tradizionale di scarsa
potenza per quelle situazione che non entrano negli schemi...)