Motorri scacchistici: verso dove stiamo andando?

» Motori - Inserito da Carotino il 04/12/2010, 00:45:58

Molti si lamentano degli insignificanti progressi dei più forti chess engines e in effetti, se è vero che i miglioramenti ci sono stati, è pur vero che non sono stati così significativi come quelli avuti nel passato decennio. Claude Shannon, il papà dei chess engines, aveva individuato due precise strategie per il "giocatore artificiale": una chiamata semplicemente "A" e basata su tecniche euristiche basate su principi strategici e posizionali, ed una chiamata "B" basata esclusivamente sulla velocità e sulla forza bruta. Dopo pochi anni, complice anche il progresso hardware, ci si accorse di due cose: 1) Trasformare in algoritmi la strategia "A" era molto più difficile di quanto si era immaginato; 2) Che aumentando di una sola semi-mossa (ply) l'analisi, portava a significativi miglioramenti nel gioco del computer. Nacque così una generazione di chess engine "stupidi ma veloci", ossia basati quasi esclusivamente sul bilancio materiale (e poche regole posizionali) ed orientati a velocizzare al massimo le analisi. Gli studi si concentrarono in modo particolare sulle tecniche di "taglio", ovvero su metodi che permettessero di di evitare l'analisi verso parti dell'albero (di analisi) poco redditizie. Campioni di questa nuova tendenza furono Cray Blitz, che girava sul più veloce super-computer dell'epoca (Cray, appunto) e Deep-Blue, il super-computer della IBM che battendo l'allora campione del mondo Gary Kasparov (anche se in maniera un po' sospetta) segnò sia l'apice che l'inizio del declino di questo tipo di programmi. Nell'ultimo decennio abbiamo assistito all'introduzione sempre più spinta di "bonus" di tipo strategico che hanno raggiunto l'apice con Rybka ed IvanHoe. Anche in questo tipo di approccio però, sembra che ormai si stia grattando il fondo del barile e gli esperti si stanno muovendo un po' "a tastoni" nella ricerca di nuovi metodi. Vasik Rajlic ha provato ad introdurre l'Analisi Montecarlo (seguito dalle ultime versioni di IvanHoe) ma i risultati non sembrano entusiasmanti. C'è chi ha provato ad introdurre le tecniche tipiche dei Sistemi Esperti, dove il computer cerca di imparare dalle sue esperienze... Interessante, ma anche qui non si sono avuti risultati pratici degni di nota. Le ultime novità riguardano l'applicazione delle Reti Neurali e degli Algoritmi Genetici, ma fino ad ora anche qui i risultati sembrano davvero pochi. E allora? Cosa si può fare? Sembra che le ricerche siano in una fase di stallo e se non si riuscirà a trovare un approccio nuovo e diverso da quelli attuali, credo che le nuove versioni dei chess engine non presenteranno nessun significativo progresso.

Carotino.
stumbleUpon
twitter
delicious

Ti è piaciuto?

Commenti

  1. IvanHoe

    04/12/2010, 13:45:19

    Credo che il futuro potrebbe avere più opzioni. Uno è quello dell'autoapprendimento. Memorizzare in forma binaria le partite che gioca, e ricostruire gli alberi di ricerca con la stessa tecnica. Quando è stata introdotta la forma binaria nella rappresentaziione della board e relative posizioni delle mosse è stato un balzo avanti in questo campo.La rappresentazione 1 0 va diritto al processore.Un liguaggio che non ha bisogno di interpretazioni.
  2. Utente: Carotino

    04/12/2010, 21:48:04

    Esperimenti simili sono già stati compiuti. Rybka 3 implementava la possibilità di memorizzare fu un file la Hash, per richiamarla alla bisogna. Ai fini pratici i risultati sono però scarsi. Il prof. Bolognesi, dell'Università di Bologna, ha provato ad applicare diversi di questi algoritmi sperimentali al programma GNU-Chess. Ad esempio ha applicato un SE (Sistema Esperto) che modificava dinamicamente la libreria di aperture, in base all'esperienza acquisita, poi ha applicato un algoritmo genetico alle funzioni di ricerca e scelta delle mosse. I risultati sono sembrati incoraggianti... Anche se al di sotto delle aspettative.
  3. IA

    06/12/2010, 09:51:26

    Le più avanzate tecniche di IA, applicate alle reti neurali, ormai hanno superato il conceto di bit. Alcuni esperimenti con la nuova versione di Rybka IA che gira su una CPU quantistica da 1Gq, riesce a prevedere la mossa successiva solo basandosi sull'esperienza. Il sistema ha già giocato 3bilioni di partite contro se stesso imparando e autocorreggendo le righe di codice errate.
    Le simulazioni sono condotte al CERN da Chessbase (che ha stanziato 10 milioni di euro), quando l'accelleratore è spento perchè la potenza impegnata metterebbe in crisi le centrali nucleari francesi.
    La libreria delle aperture creata da questo super-super- computer verrà venduta poi assieme alla nuova versione di rybka, ma solo per i fortunati possessori di Olivetti M24-CPU il nuovo computer multicore a 24 CPU.
  4. Lord Carrot

    06/12/2010, 10:14:56

    Olivetti M24-CPU????

    :-D

    Ce lo aveva il mio papà quando portavo i calzoni corti... Ai tempi era una bestia... Bellissima!!
  5. Rodriquez

    06/12/2010, 10:38:24

    IA - Non c'è che dire una bufala molto divertente.
  6. IA

    12/12/2010, 09:15:13

    ;-)
  7. Utente: Albitex

    13/02/2011, 02:49:29

    Io credo che dal punto di vista software abbiamo raggiunto un limite, che difficilmente sarà spostato di molto in breve tempo. Credo che progressi significativi, potranno esserci in futuro non sulla "forza" di gioco dei programmi, ma sulla loro interratività con l'uomo e sulla capacità "d'apprendere".
    Per quanto riguarda la "forza" dei motori, diciamo la verità: quanti esseri umani oggi, possono giocare in modo competitivo con un software ai vertici delle liste elo engines? Senza limitazioni, credo che poche decine di GM possano sperare di non fare una magra figura. Discorso diverso invece per l'analisi. Per comprendere e sopratutto trasmettere a terzi le varie sfumatore di una posizione, gli engines hanno ancora molto margine di miglioramento. Ad oggi quello che si può apprendere da un maestro umano, non si può apprendere da un PC. E' qua che sta la sfida del futuro.
Solo gli utenti registrati possono commentare