7:19
13 Maggio 2015
Come sapete, sto lavorando al mio motore scacchistico "Satana". Mi sono reso conto, studiando su questo sito, di quanto lacunosa sia la mia preparazione scacchistica e credo che questo influisca molto anche sulle prestazioni del mio software, attualmente uno degli ultimi al mondo.
La proposta indecente è questa: perché non collaborare per capire quali sono le mancanze strategiche del motore, così da impostarlo in modo da essere più vicino al gioco umano e meno a quello "motoresco"? A livello di algoritmi ne uso già di originali e nons eguo le strade battute da tutti; migliorare il modo di "pensare" del motore, puntando più ai concetti che alla forza bruta, sarebbe un passo avanti notevole.
9:28
28 Ottobre 2013
La "brute force" combinata con algoritmi min-max alfabeta, ordinamento
delle mosse (prima scacchi e catture, poi il resto)
tabelle di trasposizione hash, indispensabile nei finali, book delle aperture,
bitboard per la rappresentazione della scacchiera (soluzione più veloce)
, generare anche le mosse illegali e "potarle" poi, mi sembra che hanno fornito
i risultati migliori. Poi naturalmente ci sono molti altri raffinamenti...
Botvinnik tentò col suo programma di scacchi Pioneer di seguire strade diverse,
ma si arenò.
Una tesi interessante è la seguente: http://www.cs.unibo.it/~cianca.....e/toni.pdf
11:11
13 Maggio 2015
Alekin2 ha detto
La "brute force" combinata con algoritmi min-max alfabeta, ordinamento
delle mosse (prima scacchi e catture, poi il resto)
tabelle di trasposizione hash, indispensabile nei finali, book delle aperture,
bitboard per la rappresentazione della scacchiera (soluzione più veloce)
, generare anche le mosse illegali e "potarle" poi, mi sembra che hanno fornito
i risultati migliori. Poi naturalmente ci sono molti altri raffinamenti...
Botvinnik tentò col suo programma di scacchi Pioneer di seguire strade diverse,
ma si arenò.
Una tesi interessante è la seguente: http://www.cs.unibo.it/~cianca.....e/toni.pdf
In quella tesi si parla di ricavare le informazioni per l'ottimizzazione del motore analizzando un database di partite. Quello che chiedevo era invece di analizzare il gioco del motore da un punto di vista umano, evidenziandone i limiti e difetti "a parole", per poi provare ad insegnargli a ragionare, come se fosse un allievo che impara da un Maestro. Non posso farlo da solo, perché il mio livello di gioco è troppo basso e non arrivo oltre ai principi di base. Posso facilmente insegnare a Satana cos'è una torre in settima o su colonna aperta ma non so io stesso come e quando condurre un attacco di minoranza, tanto per fare un esempio semplice.
Se Botvinnik avesse avuto i computer e le conoscenze informatiche attuali, chissà cosa avrebbe potuto fare!!!
5:52
30 Novembre -0001
Per correttezza nei riguardi di Stefano Gemma, vorrei precisare che non intervengo non per disinteresse, ma perchè sono fedele alla regola "Ubi maior, minor cessat". L'utente Alekin2 lo conosco: è dottore in Ingegneria Informatica ed ha ELO FIDE superiore ai 2000 punti; pertanto ne capisce senz'altro più di me!
5:58
13 Maggio 2015
Alekin2 ha detto
Potresti cominciare con cose "semplici", tipo i finali "semplici".
Non so come li gestisca il tuo engine, ma mi interessa come faccia a giocare un finale di Re+T vs Re senza brute force e hash table o Re+A+C vs Re.
Questi li gioca già bene. Con RT vs R vince sempre. Con RAC vs R a volte cade nella ripetizione mosse ma solo perché non funziona bene il riconoscimento della triplice ripetizione.
In questi finali l'intelligenza serve poco, basta "spiegare" al motore dove deve spingere il Re nemico ed il matto viene trovato poi con pochi livelli di profondità (forza... debole!). Probabilmente è più difficile RD vs RT, almeno per Satana. Lo puoi comunque scaricare e vedere come gioca i finali elementari, così da darmi qualche dritta in quelli che gestisce male.
NB: tecnicamente quello che fa giocare in modo perfetto i finali sono le tablebase non le hash table e Satana ha solo le ultime... tanto difficilmente arriva in vantaggio in finale 🙂
6:02
13 Maggio 2015
Giuseppe Tarascio ha detto
Per correttezza nei riguardi di Stefano Gemma, vorrei precisare che non intervengo non per disinteresse, ma perchè sono fedele alla regola "Ubi maior, minor cessat". L'utente Alekin2 lo conosco: è dottore in Ingegneria Informatica ed ha ELO FIDE superiore ai 2000 punti; pertanto ne capisce senz'altro più di me!
Ti ringrazio, comunque voglio tenere la discussione più sul lato scacchistico che tecnico-informatico (ma è dura!), come se stessimo parlando di allenare un giovanotto promettente per le prossime olimpiadi degli scacchi.
6:24
30 Novembre -0001
Non è la stessa cosa!!! Esempio:
stamattina ore 8 ricevo messaggio su whatsapp "Oggi pomeriggio gioco contro un GM che usa Ovest Indiana. Cosa mi consigli?" E nel giro di un'ora ci siamo scambiati opinioni sull'ordine delle mosse....
Questo non ha nulla a che vedere coi motori! E' difficile far capire ad un motore concetti umani (ma all'apparenza strambi) come "Ritarda sviluppo Cf3" che, in estrema sintesi, è stato mio consiglio
6:49
13 Maggio 2015
Giuseppe Tarascio ha detto
Non è la stessa cosa!!! Esempio:
stamattina ore 8 ricevo messaggio su whatsapp "Oggi pomeriggio gioco contro un GM che usa Ovest Indiana. Cosa mi consigli?" E nel giro di un'ora ci siamo scambiati opinioni sull'ordine delle mosse....
Questo non ha nulla a che vedere coi motori! E' difficile far capire ad un motore concetti umani (ma all'apparenza strambi) come "Ritarda sviluppo Cf3" che, in estrema sintesi, è stato mio consiglio
Farlo capire al motore è compito mio. Questo è già un ottimo suggerimento di un elemento tattico che non ho mai considerato, che potremmo riassumere con:
"in posizioni di tipo X ritarda lo sviluppo del pezzo Y"
Il che si risolve in modo per nulla banale nello "spiegare" al motore come riconoscere le posizioni di tipo X.
Come dicevo, il mio motore sa già che è di solito vantaggioso portare un torre in settima (ma non sa il perché!) per cui non ci stupiremmo di una sua mossa Te7 col bianco. Oggi ci stupiremmo se nell'ovest indiana ritardasse lo sviluppo del cavallo in f3... domani no ed allora diremmo: "satana ha imparato a ritardare opportunamente lo sviluppo di alcuni pezzi in alcune posizioni". Ci stupiremmo ancor di più se sapesse farlo anche in una siciliana (ammesso che ci siano casi analoghi), perché mostrerebbe una caratteristica più umana che "da macchina".
Most Users Ever Online: 124
Currently Online:
25 Guest(s)
Currently Browsing this Page:
1 Guest(s)
Top Posters:
madame x: 501
Masterblaster: 235
Stefano Gemma: 202
pinkmoon: 146
DNApisano: 139
Luciano: 111
Member Stats:
Guest Posters: 3
Members: 7565
Moderators: 0
Admins: 1
Forum Stats:
Groups: 1
Forums: 1
Topics: 317
Posts: 4072
Newest Members: Trabbo
Administrators: Giuseppe Tarascio: 1932