atragon
28-11-2004, 18:43
Giusto per fare qualche test, senza necessità commerciali di alcun genere, volevo fare un tentativo, meglio un abbozzo, di realizzazione di un programma che giochi a scacchi, tra l'altro uno dei miei passatempo preferiti che mi ha dato delle belle soddisfazioni in passato. :D
So che esiste molto materiale su questo argomento così come del codice sorgente già pronto. Il fatto è che la programmazione scacchistica realizzata fino ad oggi ha perso completamente la sfida che aveva affrontato: creare un giocatore artificiale. In pratica ciò che esiste oggi è per lo più la dimostrazione che anche un perfetto "idiota" può giocare a scacchi, purchè sia dotato di smisurate capacità di calcolo.
Ovviamente, specialmente per la base tattica del gioco è irrinunciabile il ricorso ad algoritmi già pronti.
L'idea che intenderei testare, anche senza arrivare ad un prodotto finito, anzi sicuramente senza arrivarvi, è partire da un programma base, con i rudimenti base del gioco, che "apprenda" dai propri errori, ovvero sia in grado di modificare il proprio comportamento in posizioni uguali sulla base dell'andamento del gioco.
Esistono già tentativi in questo senso: una prima idea era consentire al programma la modifica di determinati parametri valutativi, col rischio però di cadere in una serie di correzioni "circolari". Oppure memorizzare quelle posizioni critiche in una sorta di database da cui attingere informazioni. Con questo approccio però si rischia di tentare di svuotare il mare con un cucchiaino.
Non ho l'ambizione , nè il tempo, di creare qualche cosa di geniale, solo mi piacerebbe testare qualche approccio, qualche modello, originale a questo tipo di problema.
Può darsi non se ne faccia nulla ma se avete qualche spunto provate a farmelo sapere, visto che, nel tempo morto, potrei lavorarci un po'.
So che esiste molto materiale su questo argomento così come del codice sorgente già pronto. Il fatto è che la programmazione scacchistica realizzata fino ad oggi ha perso completamente la sfida che aveva affrontato: creare un giocatore artificiale. In pratica ciò che esiste oggi è per lo più la dimostrazione che anche un perfetto "idiota" può giocare a scacchi, purchè sia dotato di smisurate capacità di calcolo.
Ovviamente, specialmente per la base tattica del gioco è irrinunciabile il ricorso ad algoritmi già pronti.
L'idea che intenderei testare, anche senza arrivare ad un prodotto finito, anzi sicuramente senza arrivarvi, è partire da un programma base, con i rudimenti base del gioco, che "apprenda" dai propri errori, ovvero sia in grado di modificare il proprio comportamento in posizioni uguali sulla base dell'andamento del gioco.
Esistono già tentativi in questo senso: una prima idea era consentire al programma la modifica di determinati parametri valutativi, col rischio però di cadere in una serie di correzioni "circolari". Oppure memorizzare quelle posizioni critiche in una sorta di database da cui attingere informazioni. Con questo approccio però si rischia di tentare di svuotare il mare con un cucchiaino.
Non ho l'ambizione , nè il tempo, di creare qualche cosa di geniale, solo mi piacerebbe testare qualche approccio, qualche modello, originale a questo tipo di problema.
Può darsi non se ne faccia nulla ma se avete qualche spunto provate a farmelo sapere, visto che, nel tempo morto, potrei lavorarci un po'.