Forum pubblico/privato: Pubblico
Permessi di scrittura: Utenti registrati
Giorno: 03/05/2014, 13:01:54
Balor - U.C.I. chess engine
image 1277

Il mitico Balor col suo occhio paralizzante, come quello di Medusa, come quello di Saruman! smile.gif

Dopo molti scambi di idee, pareri e informazioni, io e Matteo D'Annibale (l'autore dell'interessantissimo Black Mamba) abbiamo deciso di iniziare una joint-venture col progetto di un nuovo motore.

L'entusiasmo è alle stelle e le idee traboccano. L'obiettivo: creare un top-engine per tentare la scalata ai Mitici Tre (Hodini, StockFish e Komodo).
Troppo ambizioso? Forse, anche se i primi test ci permettono almeno di sperare. Il motore è forte, più forte dei vari Fire, Bouquet e compagni. Nel gioco veloce impegna Gull-3 allo spasimo e attendiamo di vedere come si comporta sui tempi lunghi.
Matteo è un vulcano nelle tecniche di ricerca, selezione e taglio e io cerco di fare la mia parte nell'impostazione strategica e nel tuning... Chissà che non esca veramente qualcosa di buono! mmmm.gif
Sono una carota in cerca di sè stessa...
Giorno: 26/10/2020, 11:02:42
Link sponsorizzati
Giorno: 03/05/2014, 13:09:33
Fra i test iniziali, abbiamo provato la famosa Hardends 2013 suite, (tempo max di risoluzione: 10 sec.) con un risultato davvero lusinghiero.

Houdini = 14 solved, 2.23s
Balor = 13 solved, 2.47s
Stockfish DD = 12 solved, 2,85s
BlackMamba 2.1 = 12 solved, 3,34s
Gull 2.8 = 9 solved, 1,96s
BlackMamba 2.0 = 3,45s
Fire 3.0 = 8 solved, 1,12s
Komodo TCECr = 8 solved, 2,34s

Abbiamo ancora qualche problemino da risolvere e qualche impostazione da "limare", ma il programma è quasi pronto per il rilascio ed è cattivo, molto cattivo. cool.gif
Sono una carota in cerca di sè stessa...
Giorno: 03/05/2014, 13:42:59
Ho appena completato lo stesso test anche con la nuova versione di Gull certocerto.gif
Il test l'ho fatto sul mio pc con i7-3770 CPU @ 3.40GHz, 1GB di hash e 10 secondi di tempo.

Gull3 = 9 solved, 1.28s noncisiamo.gifnoncisiamo.gif

Ragazzi preparatevi.....

/Matteo
https://sites.google.com/site/mdannib/home
Giorno: 03/05/2014, 17:29:01
Complimenti per questo grande progetto di collaborazione tutto "tricolore"! zizi.gif

In effetti, se davvero si vuole mettere a punto un motore in grado di tenere il passo dei primi tre, una persona sola ormai non basta più: per quanto dotata di esperienza e buona volontà non può competere col lavoro di un team affiatato, e credo che anche Houdart se ne stia rendendo conto.

Riuscire a migliorare la forza di un motore è una gran bella cosa, ma non dimenticate di sviluppare tutte quelle "funzioni accessorie" che rendono un prodotto davvero completo e che fanno la gioia di noi utenti finali, tipo opzione "tattica", riconoscimento di posizioni bloccate o di zugzwang, tablebase (e se fate un pensierino alle nuove Syzygy non dimenticate di inserire qualche valido comando per il probe depth biggrin.gif), riduzione della regola delle 50 mosse, e chi più ne ha più ne metta...biggrin.gifbiggrin.gif

Infine vorrei sottoporvi una considerazione che sto maturando in questi giorni, esaminando le partite del TCEC.
Ho infatti notato che una percentuale notevole di vittorie/sconfitte maturano perché i motori non riescono a dare il giusto peso (sottovalutandone ampiamente la portata strategica in apertura e centro partita) a un pedone passato, o comunque a una maggioranza pedonale "lontana" (sull'ala di Donna nel caso più comune di arrocchi omogenei sull'ala di Re).

Credo che tutti i motori migliori prevedano già un bonus per questo tipo di situazione, ma a quanto pare la loro valutazione è del tutto insufficiente, soprattutto nelle fasi iniziali della partita; il motore in difficoltà si accorge in generale dell'estrema pericolosità di una tale maggioranza pedonale solo quando è ormai troppo tardi...senzasperanza.gifdho.gifdho.gif

Magari varrebbe la pena di potenziare il bonus per questo elemento strategico, perché nella pratica di gioco sembra essere un tipo di vantaggio addirittura superiore a quello della coppia degli Alfieri. mmmm.gifmmmm.gifmmmm.gif

Cosa ne pensate? confused.gif

ciao.gifciao.gif
"TB or not TB..."
Giorno: 03/05/2014, 17:50:28
Grazie Luigi, come al solito i tuoi suggerimenti sono sempre preziosi.
Effettivamente, le partite del TCEC che hai riportato giustificano appieno la tua osservazione, tanto che si arriva al paradosso che l'importanza di tali pedoni è spesso sottovalutata anche dal vincitore che si ritrova di colpo, "quasi per caso", in posizione vincente. dotto.gif

Attualmente non abbiamo ancora pensato alle TB e a quali utilizzare, ma Matteo voleva inserire nel sorgente alcuni finali elementari fra i più diffusi, in modo da migliorare la resa del motore nei finali, senza ricorrere troppo spesso alle TB.
Sono una carota in cerca di sè stessa...
Giorno: 03/05/2014, 18:31:19
Bello!

In bocca al lupo :)
Giorno: 03/05/2014, 21:05:03
Deep Saros, Vitruvius (reso commerciale e misteriosamente defunto), La Bête, Balor...
Ma esiste un "autore di chess engines" piu' prolifico al mondo?
A pensar male ci si sbaglia, ma molto spesso ci si azzecca: sorge il dubbio che, se non abbiamo di fronte un genio, quella che viene spacciata come "programmazione" sia semplicemente una modifica di numerelli qua e là.
I veri esperti di chess programming dimostrano che il tuning è, oggi come oggi, anch'esso un'attività di programmazione essenziale nella realizzazione d'un motore scacchistico e dev'essere affrontata in modo sistematico e ingegneristico, con framework di test basati sull'implementazione d'algoritmi statistici e risorse hw adeguate e non sull'"ispirazione del momento".
In bocca al lupo, comunque, per la nuova avventura, almeno finché non vi scontrerete inevitabilmente con i test e, scocciato, il nostro eroe non passerà a una nuova creatura: non si puo' certo dire che gli manchi la fantasia nella scelta dei nomi...
Giorno: 03/05/2014, 21:18:40
Mi piacciono i commenti "disinteressati"... smile.gif

La mia è semplice passione e tanto entusiasmo, mai spacciati per altro.
Vitruvius era un tentativo di sviluppare un'idea partendo da Deep Saros (che, come sempre dichiarato, è una derivazione di Ivanhoe 999952). L'idea non ha avuto il seguito che speravo e quindi era giusto chiuderla li.
La Bète è invece un motorino from scratch, su cui ogni tanto perdo un po' di tempo, ma al momento l'ho accantonato.

Balor invece sta procedendo bene, grazie anche ad alcune ottime idee di Matteo. I test che abbiamo svolto finora sembrano contraddire la "modifica di numerelli qua e là" e ci fanno ben sperare, indifferenti agli "incoraggiamenti" dei rosiconi. smile.gif
Sono una carota in cerca di sè stessa...
Giorno: 03/05/2014, 21:25:48
Nel frattempo ho iniziato un test a tempi lunghi (60' + 10"/mossa) contro Komodo-TCEC, basato su una decina di partite.

CPU: AMD-8350-FX
O.S.: Windows-7 Pro
Hash: 4096 MBytes
Book: Libra 8 moves

La prima partita è iniziata con Balor col Bianco e dopo 30 mosse la situazione è di perfetta parità.

abcdefgh
8
8
7
7
6
6
5
5
4
4
3
3
2
2
1
1
abcdefgh
Fen: q3r1k1/2b2pp1/p2ppnp1/8/2PP3P/B2Q2P1/P1R2P2/1R4K1 w - - 0 1
Sono una carota in cerca di sè stessa...
Giorno: 03/05/2014, 22:32:22
Mario vuoi sapere una cosa, il nome l'ho proposto io certocerto.gif
Quello che aveva in mente Roberto è stato accantonato.

E siamo tutti e due consapevoli che non basta modificare qualche numerello qua e là.
Quello che a me manca è sicuramente la preparazione scacchistica che ha Roberto; unita alle idee sull'ottimizzazione della search e sui test sistematici che stiamo facendo (dividendoci il lavoro) dovrebbero portare a ottimi risultati. Anche se non ci dovessimo riuscire almeno ci siamo divertiti cool.gif

Un saluto
/Matteo
https://sites.google.com/site/mdannib/home