Académique Documents
Professionnel Documents
Culture Documents
V E R S I O N1 . 0
Contents
Introduzione................................................................................................................... 3 1. La filosofia di Vitruvius..........................................................................................4 2.La libreria Anti Engine Chess Book........................................................................... 9 1.Scopo...........................................................................................................................9 2.Modalit di realizzazione............................................................................................ 9 3.Formati disponibili.................................................................................................... 10 3.Ad ognuno il suo Vitruvius!......................................................................................11 4.Installare Vitruvius....................................................................................................12 5.Installare Vitruvius sul Fritz...................................................................................12 6.Installare Vitruvius sul Arena................................................................................... 12 7.Installare Vitruvius sul Scid...................................................................................... 13 8.I parametri di Vitruvius.............................................................................................14 9.Come attivare la LargePage...................................................................................... 17 10.Il Team Vitruvius.................................................................................................... 17 11.Ringraziamenti........................................................................................................ 17
Page 2 of 17
Introduzione
Vitruvius un motore scacchistico (o d'analisi) aderente allo standard U.C.I. (Universal Chess Interface) installabile su tutti i migliori software scacchistici quali i commerciali Fritz, Schredder, Aquarium, ChessBase, Chess Assistant, o i programmi liberi tipo Arena, Scid Jos o Winboard. Vitruvius deriva dai programmi liberi della serie Ippolit (RobboLito, Igorrit, IvanHoe) dai quali ha ereditato diverse caratteristiche e peculiarit, ma stato sviluppato per giocare con uno stile molto originale e speculativo. Una delle peculiarit di Vitruvius l'utilizzo dei sacrifici posizionali (uno o due pedoni, la qualit e in alcuni casi anche un pezzo!) e la sua profonda visione strategica. Alcune caratteristiche tecniche: forza di gioco superiore ai 3100 punti ELO; supporto multi-threading fino a 16 CPUs; supporto alle Large Pages (incremento di velocit del 15%); sfruttamento intensivo delle moderne CPUs (funzioni hardware POPCNT, SSE4.2, AVX, AES, ecc.); supporto alle tabelle dei finali (RobboTotalBases e RobboTriplesBases) fino a 6 pezzi, con incluse tabelle delle posizioni bloccate; rilevamento e sfruttamento posizioni di zugzwang; stile di gioco molto umano e speculativo; forte libreria di aperture (Anti-Engine-Chess-Book) specializzata nel gioco contro i computer. Vitruvius si propone quindi come uno strumento completo e moderno per la preparazione e l'allenamento degli scacchisti a tutti i livelli (dal dilettante al GM). L'attuale versione stata utilizzata da giocatori di elevato livello tecnico (M.I.) per la preparazione, l'allenamento e lo studio, rivelandosi uno strumento molto efficace. Le nostre cavie hanno potuto preparare dei piani di gioco originali e creativi, sia dal punto di vista tecnico che psicologico (sacrifici posizionali) ed inoltre Vitruvius ha trovato alcune interessanti novit teoriche in diverse aperture.
Page 3 of 17
1. La filosofia di Vitruvius
I motori scacchistici esprimono un gioco estremamente preciso e razionale, nessuno spazio concesso all'eleganza e alla bellezza degli scacchi. A causa della loro logica interna, i motori scacchistici scelgono la mossa migliore esclusivamente in base a valori numerici. Spesso, la differenza tra la mossa migliore, e la seconda migliore solamente di pochi centesimi di pedone ed ovviamente il programma sceglie la pi alta. Altrettanto spesso tuttavia, a causa del cosiddetto effetto orizzonte", la mossa scelta dal computer, non realmente la migliore. Ci particolarmente vero per i sacrifici posizionali. Si osservi la posizione del diagramma sottostante, tratta dalla partita KasparovMosvesian, 2000:
Se facciamo analizzare questa posizione ad uno qualsiasi dei pi forti programmi del mercato, ben difficilmente proporr la mossa 1... Txc3! giocata in partita da Kasparov. Tuttavia se lanciamo l'analisi dopo questa mossa, i vari motori giudicheranno la posizione approssimativamente pari. Dal punto di vista psicologico per il Nero ha ottenuto diversi vantaggi: ha sorpreso l'avversario con un sacrificio inaspettato; ha eseguito un piano di gioco precedentemente preparato; ed infine... Ha vinto la partita!
Page 4 of 17
Vediamo un altro esempio. Il diagramma sottostante tratto dalla partita "Rossolimo-Nestler. Venezia, 1954".
Nessuno dei motori in mio possesso suggerisce la spettacolare variante eseguita in partita, ovvero: 1.Txf6! Axf6 2.Txf6! gxf6. Ma se agli stessi motori facciamo eseguire l'analisi dopo queste mosse, essi giudicheranno la posizione approssimativamente pari. A causa di una valutazione leggermente superiore (pochi centesimi di pedone!), i motori preferiscono per la tranquilla 1.Ag5. Eppure i vantaggi pratici della continuazione del testo sono notevoli: in primo luogo il Bianco ha la possibilit di attaccare violentemente il Re avversario, il cui arrocco letteralmente sbrecciato; l'impatto psicologico dovuto dall'improvviso passaggio da una posizione tranquilla ad una spiccatamente tattica e tagliente; il Nero dovr condurre una penosa e delicata difesa, dove le possibilit di sbagliare sono moltiplicate ed ogni errore pu avere conseguenze mortali; il doppio sacrificio sicuro e nella peggiore delle ipotesi la partita finir patta.
Page 5 of 17
Le partite giocate fra esseri umani seguono una logica diversa da quella dei computer ed entrano in gioco numerosi fattori imponderabili quali la pressione psicologica, l'effetto sorpresa, la stanchezza, la possibilit di incorrere in errori grossolani e sviste, ecc. Molte mosse scartate dal computer (il pi delle volte a causa di una valutazione inferiore di pochissimo alla mossa umana) sono spesso molto pi forti dal punto di vista umano e presentano vantaggi pratici non indifferenti. Vitruvius stato studiato e sviluppato per cercare ed adottare proprio questo tipo di mosse. I suoi algoritmi si concentrano maggiormente sugli aspetti strategici e posizionali del gioco, anche a costo di ragionevoli sacrifici di materiale. Inoltre nella scelta delle mosse esso privilegia quelle pi aggressive. La particolarit di Vitruvius per che esso non si butta a capofitto su questo tipo di mosse ma esegue una serie di verifiche tattico-strategiche affinch la mossa scelta sia entro un certo margine di sicurezza. Per questo motivo le scelte di Vitruvius sono sempre ragionevolmente aggressive e nella stragrande maggioranza dei casi i suoi sacrifici hanno delle oggettive e tangibili contropartite posizionali. Nelle posizioni dei diagrammi precedenti Vitruvius suggerisce le mosse giocate in partita, come anche nelle seguenti:
Qui Vitruvius segue la logica di Kasparov e suggerisce il sorprendente sacrificio di qualit: 1... Txe3! Dal punto di vista numerico la posizione praticamente pari, ma dal punto di vista pratico i vantaggi sono molto pi consistenti.
Page 6 of 17
Vitruvius segue anche qui la logica del giocatore umano e sacrifica la qualit con: 1... Txc3! Ultimo esempio (ma ce ne sono a decine), partita Vitruvius 1.0Houdini 2.0:
Qui Vitruvius ha giocato un promettente sacrificio di qualit con: 21.Txc5! dxc5 22.Cc4 Dc7. Il sacrificio giustificato da numerosi fattori posizionali, quali il ritardo di sviluppo del Nero, l'iniziativa e la maggior coordinazione dei pezzi.
Page 7 of 17
Questi fattori sono diventati decisivi solamente poche mosse pi tardi quando si raggiunta questa posizione:
Qui Vitruvius ha giocato un inatteso sacrificio di pezzo, tanto spettacolare quanto devastante: 27.Cf4!! E il Nero perduto in tutte le varianti. Le mosse di questo genere hanno di solito un effetto psicologico micidiale! Riassumendo, Vitruvius offre al giocatore di torneo, molti vantaggi pratici: la possibilit di preparare linee di apertura di nuove e originali; la possibilit di studiare piani di gioco originali e "ragionevolmente aggressivi che possono includere sacrifici di materiale in cambio di tangibili vantaggi di posizione; In queste e in molte altre posizioni, le scelte di Vitruvius sono originali e aggressive, ma sempre ragionevoli e sicure. Di certo non sono cattive mosse e, dal punto di vista pratico, i vantaggi compensano pienamente l'handicap eventuale di alcuni decimi di pedone.
Page 8 of 17
1. Scopo
Privilegiare le linee che pi mettono in difficolt i motori pi forti attualmente in circolazione anche se, a livello statistico, leggermente meno performanti di quelle pi comuni. In ogni caso, dato lelevato numero di partite dalle quali s partiti nella generazione, sicuramente, e diversi test lo confermano, il libro s rivelato un ottimo rivale dei migliori attualmente in circolazione. In tal senso, si integra perfettamente con il motore Vitruvius, realizzato con lo stesso spirito, anche se, ovviamente, pure usabile indipendentemente.
2. Modalit di realizzazione
La Anti Engine Chess Book stata messa a punto con le migliori tecniche disponibili, utilizzando una serie di criteri molto originali. a) La libreria si basa su un'accurata selezione di partite d'alta qualit tra motori, derivanti dal telegioco o dal gioco a tavolino tra top GM; b) Scrematura della selezione 1, con query ad hoc tramite DBMS scacchistico, per ottenere tutte quelle che presentano posizioni notoriamente pi o meno ostiche per i motori (sacrifici e sbilanci di materiale vari, vittorie nonostante debolezze nella struttura pedonale, avanzate di pedoni contro il Re avversario o davanti al proprio arrocco, attacchi repentini al Re avversario, posizioni pi o meno bloccate per diverse mosse e vittorie nonostante la cessione della coppia degli Alfieri, ecc). c) Ulteriore scrematura in base alla teoria del GM nonch fisico russo Alexander Shashin.
3. Formati disponibili
ctg per Chessbase, Fritz e Aquarium. bin per Scid, Jos, Pocket Fritz, ecc abk per Arena. Si consiglia il seguente setup: - Move selection - Number of Games: Maximum - Win percentage: Minimum
Page 9 of 17
2.
Page 10 of 17
3.
Installare Vitruvius
L'installazione completa di Vitruvius comprende gli eseguibili, la libreria delle aperture (nei vari formati) e le Tabelle dei Finali (TB - Table bases). Basta estrarre la cartella di Vitruvius in C:\program Files (oppure in C:\Programmi) e Vitruvius pronto per essere installato all'interno delle varie GUI (Graphic User Interface).
4.
Page 11 of 17
5.
6.
Page 12 of 17
7. I parametri di Vitruvius
Vitruvius ha una serie di parametri U.C.I. configurabili per le impostazioni di fino del motore. E' possibile impostare e variare questi parametri tramite le varie GUI.
FUNZIONI GENERALI: Hash: Vitruvius memorizza in una speciale tabella (Tabella Hash) il risultato delle sue analisi. Se nelle analisi successive incontra una posizione memorizzata nella Hash potr utilizzare cos la valutazione gi effettuata, con notevole guadagno di tempo. Di default il valore 128 Mbytes ma se avete una buona quantit di RAM e un processore veloce, potete aumentarla con relativo aumento di efficienza. Attenzione a non utilizzare valori troppo elevati, altrimenti il programma ne verr rallentato. Non si consiglia di superare i 2 Gbytes, a meno di non avere una macchina particolarmente performante. PawnsHash: la memoria Hash riservata alla valutazione delle strutture pedonali. I valori consigliati sono pari a circa 1/8 della Hash, o in seconda battuta 1/16 della Hash. Di default impostata a 64. MultiThread: se possedete una CPU multi-core (DualCore o QuadCore, oppure un cluster) va impostata su Vero. Permette lo sfruttamento intensivo delle cpu's, tramite la parallelizzazione dei calcoli. MaxThreads: inserire il numero esatto delle CPU che intendete utilizzare (ad es. 2 per un DualCore, oppure 4 per un QuadCore). E' possibile utilizzare anche meno CPU di quelle disponibili, in modo da poter utilizzare comodamente il computer per altre operazioni. L'importante non superare il numero di CPU realmente disponibili, altrimenti il programma andr in errore. TripleDirectory: indicare il percorso dove sono memorizzate le RobboTripleBases. TotalDirectory: indicare il percorso dove sono memorizzate le RobboTotalBases. TotalCacheSize: funziona allo stesso modo della Hash ma utilizzata per le RobboTotalBases. E' bene non superare il valore di 64, a meno di non possedere una macchina particolarmente performante. TripleCacheSize: stessa cosa ma per le RobbotripleBases.
Page 13 of 17
Largepage: permette di sfruttare delle particolari funzioni che velocizzano lo spostamento di grosse parti di memoria. Se si vuole utilizzare settare su true ma poi bisogna impostare questa funzione sul proprio Sistema Operativo (vedi apposito capitolo). L'utilizzo della LargePage consente un aumento delle prestazioni di circa il 15%.
FUNZIONI PER LE PARTITE FRA COMPUTER. Sono sempre pi numerosi gli appassionati che utilizzano vari motori scacchistici per fargli disputare partite e tornei fra loro, in automatico. Alcune GUI, quali Fritz o il programma gratuito Arena, hanno speciali funzioni per la gestione di queste partite automatiche e addirittura interi tornei con relative variazioni ELO. Particolare importanza viene data alla gestione del tempo di riflessione utilizzato dai motori e per questo possibile regolare una serie parametri scritti appositamente per le partite fra motori. Queste funzioni possono incidere in maniera decisiva sulle prestazioni del programma ed bene quindi impostarle correntemente per ottenere le migliori performances. Ponder: quando questa funzione attivata, il computer utilizza ANCHE il tempo dell'avversario per eseguire le sue valutazioni. Send Currmove: se attivato visualizza la mossa correntemente in valutazione. La sua disattivazione permette un leggero guadagno sul tempo di riflessione. SendHash: idem c.s. Per la visualizzazione della memoria Hash attualmente in uso. IstantMoveFromHash: questa funzione pu essere utile nelle partite a tempo breve o brevissimo. Quando attivata, il programma utilizza i valori della Hash senza effettuare nessuna verifica e non esegue analisi aggiuntive. In questo modo si risparmia sul tempo di riflessione ma l'analisi sar meno accurata. Per le partite a tempo lungo e per l'analisi bene disattivare questa funzione.. SplitCut: questa funzione attivabile solamente se MultiThread attivo e permette di personalizzare la parallelizzazione della ricerca. SplitDepthCut: indica a che profondit (in semi-mosse) il programma comincia a splittare la ricerca, ovvero a suddividere il lavoro di ricerca alle varie CPUs. Di default impostato a 14 semi-mosse. Nell'analisi e nelle partite a tempo lungo consigliabile abbassare la soglia a 16 semi-mosse.
Page 14 of 17
SplitDepthAll e SplitDepthPV: questi valori di split sono impostati di default a 12 semi-mosse. Nell'analisi e nelle partite a tempo lungo bene abbassare la soglia a 14 semi-mosse.
FATTORI TEMPO: TimeEasyFactorPonder, TimeordinaryFactor, TimeBattleFactor, TimeEasyFactor, TimeAbsolutepercent: questi fattori servono a regolare in vari modi il tempo di riflessione. Senza impazzire con tentativi e valori strani si possono considerare queste due impostazioni:
a) Per partite a tempo lungo (da 15 min. In su): TimeEasyFactorPonder = 32 (default 33) TimeordinaryFactor = 64 (default 75) TimeBattleFactor = 96 (default 100) TimeEasyFactor = 15 (default 15) TimeAbsolutepercent = 24 (default 25)
a) Per partite Blitz (fino a 10, 15 min/partita): TimeEasyFactorPonder = 32 (default 33) TimeordinaryFactor = 25 (default 75) TimeBattleFactor = 96 (default 100) TimeEasyFactor = 10 (default 15) TimeAbsolutepercent = 15 (default 25)
Nota per gli smanettoni: si pu provare a variare i valori suggeriti, verificando nella pratica se i cambiamenti saranno o meno positivi. Se qualcuno trova valori migliori pu inviarli agli autori o farli pubblicare sul blog.
Page 15 of 17
8.
1. Avviare lEditor Criteri di gruppo locali digitando gpedit.msc nel campo Cerca programmi e file del menu Start ; 2. Sotto "Configurazione computer" , "Impostazioni di Windows", "Impostazioni di sicurezza", "Criteri locali" cliccare su "Assegnazione diritti utente" ; 3. Fare poi un doppio click su "Blocco di pagine in memoria" ; 4. Cliccare su "Aggiungi utente o gruppo..." ; 5. Scrivere il nome del nostro account Windows oppure Everyone nella casella di testo e poi cliccare su OK ; 6. Riavviare Windows per completare l'operazione; 7. Avviare la GUI con diritti di amministratore (tasto destro --> Esegui come amministratore).
Page 16 of 17
9.
Il Team Vitruvius
Roberto Munter. Nato a Mezzolombardo (TN) il 06/10/1963, consulente industriale, vive e lavora in Trentino. Le sue tre grandi passioni sono l'alpinismo, gli scacchi e la programmazione. Nella calma della prima, ha unito le altre due concependo Vitruvius durante un'impegnativa arrampicata a 4000 metri d'altitudine. Per questo possiamo considerare Vitruvius il chess engine pi alto del mondo. :-) Andrea Manzo. Nato a Roma il 22/04/1971, di professione ingegnere informatico, vive e lavora in Francia. Maestro ASIGC, ha acquisito la prima norma di maestro internazionale ed attualmente impegnato nella finale della quindicesima coppa del mondo ICCF. Domenico Lattanzi. Nato a Roma il 31/01/1972, ingegnere informatico, scacchista di categoria 1N ed istruttore giovanile di scacchi. Autore del libro "Corso Base di Scacchi" edito da Prisma.
10. Ringraziamenti
Ai bravissimi autori dei programmi della serie Ippolit (RobboLito, Igorrit ed IvanHoe) e cio: Yakov Petrovich Golyadkin, Igor Igorovich Igoronov, Roberto Pescatore, Yusuf Ralf Weisskopf, Ivan Skavinsky Skavar e Yakov Petrovich Golyadkin.
A Robert Fleshe, Dom Leste, Winning Blund, Trebejo, IpMan, FossilHunter, Predator, e tutti i testers, per le idee, i suggerimenti e l'incoraggiamento. Un ringraziamento particolare a Maurizio Platino, beta-tester ufficiale del programma DeepSaros che ha accompagnato Vitruvius fin dalla sua concezione con suggerimenti, idee incoraggiamento e soprattutto per i numerosi test effettuati sul sito PlayChess.com.
Page 17 of 17