Il programma intelligente dell'ing. Botvinnik.

» Altro - Inserito da Carotino il 16/07/2010, 09:28:17

Dopo aver perso il titolo di Campione del mondo nel 1963, Mikhail Botvinnik si dedicò alla messa a punto di pun programma che realmente pensasse come un campione di Scacchi ed utilizzò se stesso come cavia.
Oggi i migliori programmi lavorano principalmente a "forza bruta": calcolano milioni di posizioni al secondo e le valutano in base al guadagno di materiale. Tuttalpiù utilizzano dei "bonus" in base alla posizione dei pezzi e a qualche altro fattore posizionale.
Il concetto di Botvinnik invece era molto più profondo e più vicino al modo di pensare di un essere umano. In un famoso articolo intitolato, Storia di un alberello (dove per "alberello" si intendeva naturalmente l'albero delle varianti di una partita a scacchi) Botvinnik espresse il suo pensiero riguardo al chess engine ideale: «Tutti sanno che un giocatore non sviluppa TUTTE le possibili variazioni e non analizza TUTTE le possibili mosse. In ogni data situazione, un giocatore esamina da due a quattro mosse che sceglie intuitivamente, sulla base della sua esperienza. Durante una partita di una quarantina di mosse, ne vengono analizzate in tutto un centinaio.»
Un concetto strardinariamente moderno, non milioni o centinaia di milioni, come Deep Blue... Ma un centinaio in tutto!! Questo ambizioso obbiettivo era anche dovuto alla limitatezza dell'hardware del tempo, negli anni '60 un computer poteva analizzare al massimo qualche decina di posizioni al secondo, ma in realtà solo in parte. Successivamente dichiarò: «Il cervello umano ha molte meno risorse di un computer. Matematicamente un computer può risolvere un numero enorme di equazioni e un programma può certamente battere un uomo. Ma se un programma riuscisse ad analizzare soltanto le mosse migliori, l'uomo non lo vedrebbe neppure!».
A ben pensarci Botvinnik aveva ragione, uno scacchista esperto non prende nemmeno in considerazione le mosse cattive, ma analizza solamente quelle 3-4 "buone" che sono presenti di solito in ogni posizione, allo stesso modo in cui un principiante non prende in considerazione le mosse illegali.
Il programma studiato Botvinnik, chiamato "Pioniere", non fu mai completamente terminato ma era straordinariamente efficiente. Utilizzava anch'esso la costruzione di un albero delle varianti, come tutti i programmi di scacchi, ma la differenza fondamentale era nella "potatura" delle mosse che avveniva in maniera completamente diversa. Botvinnik introdusse concetti rivoluzionari come "l'orrizzonte limite variabile" e "l'albero delle traiettorie" e attraverso un sofisticato e complesso modello matematico, riusciva costruire un albero delle variabili stretto e profondo, analizzando in profondità solo le mosse più forti.
Per rendersi conto dell'estrema efficaciadi questo programma si pensi che Pioniere riusci a risolvere il famoso "studio di Nadareisvili" (il Campione del mondo di allora, Chess 4.6, non vi riuscì!) analizzando meno di 200 posizioni!!
I programmi attuali, supportati da un hardware centinaia di volte più potente del computer usato da Botvinnik, risolvono tranquillamente lo studio di Nadareisvili, ma analizzando molti milioni di posizioni... Una differenza di efficienza incredibile. Purtroppo Botvinnik si è portato il suo segreto nella tomba.

Carotino.
ciao.gif

Lo studio di Nadareisvili:
abcdefgh
8
8
7
7
6
6
5
5
4
4
3
3
2
2
1
1
abcdefgh
Fen: 7K/2p5/4p3/2p2kPP/8/4P3/2b5/4n3 w - - 0 1


Il Bianco muove e vince.
stumbleUpon
twitter
delicious

Ti è piaciuto?

Commenti

  1. Utente: Carotino

    16/07/2010, 10:02:05

    Hem... Forse è meglio se do anche la SOLUZIONE del problema!

    La variante fondamentale scoperta da Pioniere inizia con le mosse:

    1. Pg6 Rf6

    2. Pg7 Ah7!

    3. Pe4!! …

    [Non 3. Rxh7 Cf3! 4. Pg8-D Cg5+ che porta alla patta.]

    e ora dopo 3. … Cf3 4. Pe5+ Cxe5 5. Rxh7 Cf7 6. Pg8-D Cg5+ 7. Dxg5+ Rxg5 8. Ph6 Pc4 lascio al lettore, che sia ferrato scacchisticamente, il compito di verificare che, nella posizione ottenuta, il Bianco vince facilmente.

    La logica dello studio di Nadareisvili consiste essenzialmente nel fatto che il Re nero, nella casa f6, controlla la casa di fuga del re bianco; questo dà controgioco al Nero.

    P.S. Nell'articolo ho affermato che i moderni programmi risolvono "tranquillamente" il problema... In effetti non è proprio così....
  2. Teri30Middleton

    17/07/2010, 04:58:20

    SPAM
  3. Utente: Carotino

    17/07/2010, 09:45:56

    Dear Mr. Benefactor,
    You should send spam elsewhere, preferably in your home.

    Thank You,
    Carotino.

    P.S. Nophiq, come ha fatto ad entrare questo bot? :-)
  4. Utente: Nophiq

    17/07/2010, 10:11:36

    @Carotino, è inutile che rispondi. E' un programma automatico che è riuscito a postare nel sito perchè si vede che l'antispam è poco efficiente -.- Provvederò a cambiarlo al più presto.

    Intanto cancello lo spam
  5. Utente: ghiceda

    17/07/2010, 16:13:48

    ciao carotino: orizzonte limite variabile? albero delle traiettorie? sai qualcosa di più su questi concetti? o bisogna riesumare il cadavere?
  6. Utente: Carotino

    17/07/2010, 17:24:30

    :-)
    No Ghi, non c'è niente di trascendentale. Per "orizzonte limite variabile" si intende il numero massimo di mosse che può venir preso in considerazione per ogni posizione.
    Mentre l'”albero delle traiettorie” che rappresenta un insieme di azioni e obiettivi ammissibili. L'albero delle traiettorie è costituito formalmente da quei pezzi che, nei limiti dell'orizzonte, sono in grado di partecipare alle azioni prese in considerazione e dall'insieme delle case che essi possono attraversare. Questa schematizzazione è conforme al modo di operare scelte del maestro di scacchi: egli inizia calcolando le possibilità di attacco (e di difesa) entro i limiti dell'orizzonte e non vede tutti i pezzi ma SOLO quelli che intervengono nei suoi calcoli e quella parte delle case della scacchiera che tali pezzi attraversano. La complessità del modello matematico di Botvinnik (che viene descritto nella sua monografia del 1982, Computers in Chess ) deriva dal fatto che la determinazione dell'orizzonte e quella degli obiettivi ammissibili sono reciprocamente dipendenti, come le incognite di un sistema di equazioni.
  7. l'educato

    17/07/2010, 19:45:44

    ....minchia....
  8. Mordlioo

    18/07/2010, 19:08:22

    Ciao Carotino, un motore di scacchi quanto sta "dentro" il libro di aperture .
  9. Utente: Carotino

    18/07/2010, 20:27:56

    Normalmente una libreria di aperture "classifica" aperture e varianti secondo la frequenza e le varie percentuali di vittoria o di pareggio. I motori poi, combinano le statistiche con un numero casuale e infine scelgono l'apertura o la variante. Si può dire dunque che la scelta dell'apertura è legata ad un "caso corretto statisticamente".
    Ovviamente in fase di creazione delle librerie, si può decidere di non assegnare nessun "peso statistico" alle varie aperture e allora la scelta è puramente casuale. Con la libreria di aperture di Deep Saros ho fatto proprio così, in modo da "sorprendere" il giocatore anche con le aperture più assurde.
Solo gli utenti registrati possono commentare