34

Vitruvius User's Manual

Embed Size (px)

DESCRIPTION

Manual in English and Italian for the Vitruvius Chess Engine

Citation preview

Contents

Introduction ..............................................................................................3

1. The ‘Vitruvius philosophy’.............................................................42. The Anti Engine Chess Book ........................................................9

1. Target2. Building process 3. Available formats

3. The right Vitruvius for everyone!...............................................104. Installing Vitruvius........................................................................115. Installing Vitruvius on Fritz©......................................................116. Installing Vitruvius on Arena......................................................12 7. Installing Vitruvius on Scid.........................................................128. Setting Vitruvius parameters .....................................................13 9. Activating LargePage ..................................................................16

10. The Vitruvius Team .....................................................................1711. Acknowledgements .....................................................................17

English

User’sManual

VitruviusChess EngineVers. 1.0

2

Introduction

Vitruvius is a chess engine compatible with the standard U.C.I. (UniversalChess Interface); it may be installed on commercial chess software such asFritz©, Schredder©, Aquarium©, ChessBase©, Chess Assistant©, or onfree programs such as Arena, Scid, Josè or Winboard. Vitruvius is built onthe skeleton structure of the free Ippolit programs (RobboLito, Igorrit,IvanHoe) from which it inherits certain characteristics and peculiarities. It ishowever a chess engine in its own right exhibiting a very original style ofplay with a highly speculative tendency. Thanks to its finely tuned positionalvision, Vitruvius shows a readiness to sacrifice a pawn or two, the exchan-ge and sometimes even a whole piece, for purely positional compensation.

Some technical specs:

Chess strenght over than 3100 ELO Multithreading support, (up to 16 CPUs) Large pages support (15% increase in speed) Intensive exploitation of modern CPUs (hardware functions POPCNT,

SSE4.2, AVX, AES…) Endgame databases support (RobboTotalBases, RobboTriplesBases)

up to 6-man, including ‘blocked position tables’ Detection and exploitation of zugzwang positions Very human and speculative style of play Very strong opening book specificly tailored against computer style of

play

Vitruvius’ goal is to promote powerful, human-like-play in order that playersof all strengths and levels can benefit from its use in their preparation fortheir over the board engagements. The current version has been used bystrong IMs in their preparation, training and study and it has proved itselftime and again to be a very helpful and ‘unforgiving’ sparring partner. Ourtesters working on the Opening Book have been able to prepare and test awhole series of extremly focused and original plans, higly creative on a posi-tional and psychological basis (positional sacrifices), and Vitruvius hasfound some higly interesting novelities in more than one opening. User’s

Manual

VitruviusChess Engine

Vers. 1.0

3

English

1. The ‘Vitruvius philosophy’

Chess engines play in a precise and rational manner and their logic seemsto eschew elegance and beauty in chess. Due to their internal logic, chessengines select the best move by a numerical process. Often the differencebetween the best move and the second best is only a small fraction of thevalue of a pawn and invariably the program settles for the higher value.Moreover, due to the ‘horizon effect’, the move chosen by the computer isnot always the ‘best’ in all circumstances. This is especially true for positio-nal sacrifices. For example, take a look at the position below reached in thegame Kasparov-Mosvesian, 2000:

>________!∫ (ZYQTMUZW)(YOYPYRXR)(RVZXRYZY)(YRYZYZYZ)(ZYZJFYFY)(YZJCIFYZ)(FLFYZHZL)(YAIEYZYE)<--------ò

Analysing this position with a modern chess program, probably will not helpyou to discover the move 1… †≈c3! played by Kasparov. However, afterthis move, most chess engines consider the resulting position roughly equal.

It is clear that from a psychological point of view, this move offers Blackmany advantages, namely:

The unexpected sacrifice creates a very annoying surprise effect; Kasparov was able to put in action a plan prepared before the game; The move contributed in no small way to give him a won game!

English

User’sManual

VitruviusChess EngineVers. 1.0

4

Let’s have a look at another example. The position is taken from the gameRossolimo-Nestler, Venice, 1954.

>________!Ω (QYZYZWMY)(YZTZURXR)(RYOYZVZY)(YRYZXZYZ)(ZLZYFYZY)(LZJCIZYZ)(ZYFYBKFL)(YZYZYEGZ)<--------ò

No engine suggest the nice continuation played in game: 1. †≈f6! å≈f6 2.†≈f6! g≈f6. But, again, when we analyse the resulting position with severalchess engines, we get a verdict of approximate equality. On the basis of atrivially superior evaluation (just an insignificant fraction of a pawn!), engi-nes therefore prefer the quiet 1. åg5. Nevertheless, the practical chess pla-yer will appreciate that the double exchange sacrifice does give him somevery important plusses:

An attack against the enemy King (castling position destroyed); A sharp and unexpected turn of events (the position has unexpectedly

become tactical in nature - psychological pressure); Black is flung on the defensive, and the possibilities of a mistake crop-

ping up are multiplied and every mistake can prove to be fatal; The double sacrifice is ‘safe’ and the worst result that White can

achieve is a draw.

User’sManual

VitruviusChess Engine

Vers. 1.0

5

English

Games played between human players follow a different logic. Muchdepends on intangible factors such as psychological pressure, surpriseeffect, fatigue…

Many moves ruled out by computers (due to a sligthly weaker evaluation)can prove to be significantly stronger from the human point of view (mainlyfor important pratical considerations).

It is exactly this role that Vitruvius has been modelled to fit. That is toapproach as much as possible the human way of thinking. The algorithms itfollows are focused on strategic and positional aspects, and take intoaccount all ‘reasonable’ material sacrifices. Moreover, it tends to favouralways aggressive moves. However, Vitruvius does have a set of controlsthat force it to execute a series of tactical and strategical checks in order toensure that the chosen move falls within certain safety parameters.Vitruvius therefore chooses always ‘reasonably aggressive moves’ and itssacrifices are always strongly motivated by positional considerations.

Here are some other examples where Vitruvius suggests exactly the moveplayed by the human player in the actual game:

>________!∫ (QYOTQYMY)(XRYZYRUR)(ZYPYZVRY)(YZLRYZYZ)(ZYZJZYZY)(YZJZIFYZ)(FLZHCYFL)(KZYZYEGZ)<--------òKarpov-Kasparov, New York, 1991

Here Vitruvius follow Kasparov’s logic and suggest the amazing exchangesacrifice: 1… †≈e3! From a purely ‘numerical’ point of view the position isequal, but the practical chances ‘materialised’ on the board after the sacri-fice are now very much in Black’s favour.

English

User’sManual

VitruviusChess EngineVers. 1.0

6

Another example: Shirov-Anand, 2008:

>________!∫ (ZYQYMUZW)(YOYPYRXR)(RTZXRVZY)(YRYZYZIZ)(ZYZYFLZY)(YDJCYZYB)(FLFYZYFL)(YZGEKZYZ)<--------ò

Found and played by Vitruvius (following Anand’s logic): 1… †≈c3!.

Last example (but there are many others): Vitruvius 1.0-Houdini 2.0.

>________!Ω (ZWNYMUPY)(YZYOYRXQ)(RYZXZYZX)(YZVFXZYD)(ZYZYFYZI)(JZYZYBYZ)(ZYEYCLFL)(YZKZYZGZ)<--------ò

Here Vitruvius played the promising exchange sacrifice: 21. †≈c5! d≈c5 22.©c4.

Justification for the sacrifice is ample: Black’s backward development, theinitiative is in White’s hands and his pieces are better coordinated.

User’sManual

VitruviusChess Engine

Vers. 1.0

7

English

The advantages gained by White proved decisive just a few moves later:

>________!Ω (ZWZYMUPY)(YNYOYZXQ)(RYZYZXZX)(YZVFXZYD)(ZYDYFYZY)(YZYZYBIZ)(ZYZYCLFL)(KZYZYZGZ)<--------ò

Again Vitruvius played an unexpected piece sacrifice, very nice and deva-stating: 27. ©f4!! and Black was lost in all variations.

So Vitruvius can help the tournament player in may ways:

Prepare new and original opening lines; Study original plans and find new risk-acceptable-aggressive-moves

which may include material sacrifices in return of concrete positionaladvantages.

In the positions above and in many others we tested, Vitruvius’ choice wasalways original and aggressive but within reasonable risk limits. The movesplayed aren’t the ‘best’ but by any counts they are surely not ‘bad’ and thepractical advantages secured give enough positional compensation for theinferior evaluation (by a few tenths of a pawn) they get on ‘standard’ machines.

English

User’sManual

VitruviusChess EngineVers. 1.0

8

2. The Anti Engine Chess Book

The Opening Book is developed with the aim to underline Vitruvius’strengths and thus present the chessplayer with an exhaustive set of toolsfor the preparation and study of modern and original opening ideas.

1. Target

Our aim is to give priority to lines which present huge problems (despite sta-tistically inferior evaluation) to the strongest chess engines in circulation.However, the enormous number of games used to generate it, and severaltests confirms it, our Opening Book rivals any other book in circulationtoday. And though it perfectly fits the Vitruvius bill, it can be used just as pro-fitably with any other engine.

2. Building process

The Anti Engine Chess Book has been built with the best techniques availa-ble today with some very original criteria applied through out the process.

a) Accurate high quality games selected from games between bestengines and tournament games between top GMs;

b) Further selection was made with specific queries on chess DBMS, toinclude all positions which tend to be less congenial to chess engines(sacrifices and various types of positions with unbalanced material,games won despite weakness in pawn structure, pawn advancesagainst enemy King and positions with advanced pawns in front owncastled King, sudden attacks against enemy King, blocked positionsfor several moves and loss of Bishop pair).

c) Further selection based on theory of Russian GM and physicistAlexander Shashin.

3. Available formats

ctg for Chessbase, Fritz and Aquarium. bin for Scid, Josè, Pocket Fritz… abk for Arena with suggested setup:

Move selectionNumber of Games: MaximumWin percentage: Minimum

User’sManual

VitruviusChess Engine

Vers. 1.0

9

English

3. The right Vitruvius for everyone!

There are two versions of Vitruvius: ‘Human’ and ‘Conservative/Normal’. TheHuman version is the original setup, sharp and speculative, while theConservative version, although it maintains the main characteristics, deve-lops a more prudent and risk free type of game. Both versions have beencompiled with executable files for the 32bit and 64bit operating systems.Special HEM versions (for High Performance Machines (for example IntelCore I-7©, or AMD Phenom©) are also available in order to make use of thespecial hardware functions available on these CPUs (e.g. POPCNT andSSE4.2) to increase performance.

To decide which version is right for you, check your CPU (whether normal orhigh performance) and then your Windows© operating system (32bit or64bit). Other things being equal the 64bit version registers about a 30%increase in speed compared with the 32bit version. However Vitruvius 64bitwill not work on Windows 32bit. Vitruvius will crash if you try to run an HEMversion on a ‘normal’ computer.

The two packages being offered are:

32/64bit containing Vitruvius_1.0H_w32.exe:

Human version for normal CPUs, Windows 32bit Vitruvius_1.0H_w64.exe:

Human version for normal CPUs, Windows 64bit Vitruvius_1.0C_w32.exe:

Conservative version for normal CPUs, Windows 32bit Vitruvius_1.0C_w64.exe:

Conservative version for normal CPUs, Windows 64bit

HEM containing Vitruvius_1.0H_HEM_w32.exe:

Human version for High End Machines (HEM) Windows 32bit Vitruvius_1.0H_HEM_w64.exe:

Human version for High End Machines (HEM) Windows 64bit Vitruvius_1.0C_HEM_w32.exe:

Conservative version for High End Machines(HEM)/Windows 32bit Vitruvius_1.0C_HEM_w64.exe:

Conservative version for High End Machines (HEM) Windows 64bit

English

User’sManual

VitruviusChess EngineVers. 1.0

10

4. Installing Vitruvius

Complete installation of Vitruvius is comprehensive of the executables andthe opening book (in the various formats). It’s sufficient to extract theVitruvius folder in C:\program Files (or in C:\Programs) and Vitruvius is readyto be installed into your GUI (Graphic User Interface). The endgame databa-ses (TB-Table Bases) are free and you can download them from:

http://chess.cygnitec.com/RobboBases/

In the same page, you will also find instructions for their correct installation.

5. Installing Vitruvius on Fritz

1. Run Fritz2. Click on ENGINE tab, then on CREATE UCI ENGINE ;3. A window named SET UP UCI ENGINE will appear on the screen.4. Click on the (…) button then in the window which will come up

select and double click on the Vitruvius folder. Double click on theversion you want to install. Don’t forget that if you install a versionnot supported by your system (for example 64bit version whenyour Windows is 32bit, or HEM version when your CPU does notsupport it) Vitruvius will not work.

5. Click OK to complete the installation.6. Now you have to set Vitruvius as the main engine. Select ENGINE

tab, and click on CHANGE MAIN ENGINE. Select the Vitruvius versionyou installed. In the same window you can change the changeengine parameters by clicking on ENGINE PARAMETERS. Confirm yoursettings by clicking on OK.

User’sManual

VitruviusChess Engine

Vers. 1.0

11

English

6. Installing Vitruvius on Arena

1. Run Arena.2. Select ENGINES/INSTALL NEW ENGINE menu.3. Select appropriate Vitruvius version.4. Modify Vitruvius parameters from ENGINES/ENGINE 1/CONFIGURE menu.

7. Installing Vitruvius on Scid

1. Run Scid.2. Select TOOLS/ANALYSING ENGINE menu.3. Click on NEW.4. In the active window:

• Input ‘Vitruvius 1.0’ in the NAME field.• Click on BROWSE and select the required version of Vitruvius.• Click on CONFIGURE to manage Vitruvius settings.

English

User’sManual

VitruviusChess EngineVers. 1.0

12

8. Setting Vitruvius parameters

You can set several U.C.I. parameters according to your needs.

GENERAL FUNCTIONS

Hash: Vitruvius stores in a special table (Hash table) the results of its analy-sis. If during its analysis Vitruvius encounters a position stored in the Hashit gains time by directly retrieving the stored evaluation. Default setting is128 Mbytes but if you have enough RAM and a sufficiently powerful CPU,you can increase it (gaining in performance). Very high values however willslow down the program. On medium strength CPUs you shouldn’t over stepthe 2 Gbytes mark.

PawnsHash: this is the memory reserved for pawn structure evaluations.Suggested values are roughly 1/8 of the Hash or, as second try, 1/16. Defaultsetting is 64.

MultiThread: if you have a ‘multi-core’ CPU (DualCore or QuadCore, or a clu-ster) this parameter must be set to ‘True’.

MaxThreads: insert the exact number of CPUs you want to use (for example2 for a DualCore, or 4 for a QuadCore). You can use less CPUs than the totalnumber available, if you have other tasks to perform. Do not however inserta higher number than the number of CPUs available otherwise the programmay crash.

TripleDirectory: set path where RobboTripleBases are stored.

TotalDirectory: set path where RobboTotalBases are stored.

TotalCacheSize: works in the same manner as the Hash but is used forRobboTotalBases. Do net set this higher than 64 if your system is not sopowerful.

TripleCacheSize: the same thing, but for RobbotripleBases.

Largepage: allows to take advantage of the particular functions that speedup the transfer of large parts of memory. If you want to use it set it to ‘true’and set also the relevant settings for your Operating System (see paragraph9). The use of LargePage allows an increase in performance of about 15%.

User’sManual

VitruviusChess Engine

Vers. 1.0

13

English

Useful functions in games between engines

For matches and tournaments between chess engines, in some GUIs likeFritz and Arena, you can set certain functions to help manage these ‘auto-matic games’ and keep track also of ELO variations.

Very important is the game time used and also other parameters specificallyused for games between chess engines. These functions can influence theprogram’s performance in a marked manner and therefore care must betaken to input the right values for the best results.

Ponder: when this function is set, the computer uses ALSO the opponent’stime to evaluate the position.

Send Currmove: when set the program will show the move it is analysing.Turning it off engine gains in computing time.

SendHash: shows the Hash memory in use.

IstantMoveFromHash: useful in blitz games. When set, program uses Hashvalues without first verifying them. It gains time but at the expense of preci-sion. In normal tournament games and analysis it is best to deactivate thisfunction.

SplitCut: this function can be turned on only if MultiThread is active and per-mits to customize parallel search.

SplitDepthCut: sets the depth (in half-moves) at which the program will start‘split’ search, in other words at what depth should it start to assign sharedsearch to more CPUs. Default value is 14 half-moves. In tournament gamesand analysis best is to set threshold to 16 half-moves.

SplitDepthAll e SplitDepthPV: default setting for these split values is 12 half-moves. In tournament games and analysis best is 14 half-moves.

English

User’sManual

VitruviusChess EngineVers. 1.0

14

TIME FACTORS:

TimeEasyFactorPonder, TimeordinaryFactor, TimeBattleFactor,TimeEasyFactor, TimeAbsolutepercent: used to customise the varioustiming modes. Following are two standard settings you can use.

a) For normal games (15 minutes or more):TimeEasyFactorPonder = 32 (default 33)TimeordinaryFactor = 64 (default 75)TimeBattleFactor = 96 (default 100)TimeEasyFactor = 15 (default 15)TimeAbsolutepercent = 24 (default 25)

b) For Blitz games (no more than 15 min per game):TimeEasyFactorPonder = 32 (default 33)TimeordinaryFactor = 25 (default 75)TimeBattleFactor = 96 (default 100)TimeEasyFactor = 10 (default 15)TimeAbsolutepercent = 15 (default 25)

Note for expert usersYou may modify these values and try your own. If you find better setups, youcan send them to the authors or publish them on our blog.

User’sManual

VitruviusChess Engine

Vers. 1.0

15

English

9. Activating LargePage

To use the special function LargePage, apart from the engine setting, youmust also set the operating system parameters. LargePage can speed upcomputer processing time by about 15%. Bigger the Hash, bigger will be theincrease.

1. Run the Local Group Criteria Editor by typing ‘gpedit.msc’ in thefield ‘Search file and programs’ in the Start Menu.

2. Under ‘Computer setup’, ‘Windows settings’, ‘Security settings’,‘Local Policies’ click on ‘User Rights Assignment’.

3. Double click on ‘Block of pages in memory’.4. Click on ‘Add user or group…’.5. Input your Windows account name or else type ‘Everyone’ in the

text box; click ‘OK’.6. Restart Windows.7. Run GUI with administrator rights (right button—> ‘Execute as

administrator’).

English

User’sManual

VitruviusChess EngineVers. 1.0

16

10. The Vitruvius Team

Roberto MunterBorn in Mezzolombardo (Trentino South Tyrol, IT) 06/10/1963, industrial con-sultant, lives and works in Trentino. His three great passions are alpinism,chess and programming. In the quiet enviroment of the first he managed tomerge the two others conceiving Vitruvius during an excursion at an altitu-de of 4000 meters. For this reason Vitruvius can be considered the ‘top most’chess engine in circulation…

Andrea ManzoBorn in Rome 22/04/1971, computer engineer, lives and works in France. Heis also Corrispondence chess master and has also a first InternationalMaster norm. At the moment he is playing in the 15th final ICCF.

Domenico LattanziBorn in Rome 31/01/1972, computer engineer, chess player and instructor.Author of the book for beginners Corso Base di Scacchi (Basic Chess cour-se) published by Prisma Editori.

11. Acknowledgements

Our thanks to the authors of the ‘Ippolit’ program series (RobboLito, Igorritand IvanHoe): Yakov Petrovich Golyadkin, Igor Igorovich Igoronov, RobertoPescatore, Yusuf Ralf Weisskopf, Ivan Skavinsky Skavar e Yakov PetrovichGolyadkin.

To Robert Flesher, Dom Leste, Winning Blund, Trebejo, IpMan, FossilHunter,Predator, and all testers, for their ideas, suggestions and encouragement,go our most heartfelt thanks.

Special thanks to Maurizio Platino, official program beta-tester ofDeepSaros, who followed Vitruvius from the start and contributed with sug-gestions, ideas and never failing encouragement. We are indebted to him forthe very great number of tests he made on PlayChess.com.

User’sManual

VitruviusChess Engine

Vers. 1.0

17

English

Contents

Introduzione............................................................................................19 1. La ‘filosofia’ di Vitruvius ..............................................................202. La libreria Anti Engine Chess Book...........................................25

1. Scopo ....................................................................................252. Modalità di realizzazione ...................................................253. Formati disponibili ...............................................................25

3. Ad ognuno il suo Vitruvius! ........................................................264. Installare Vitruvius .......................................................................275. Installare Vitruvius sul Fritz©.....................................................276. Installare Vitruvius sul Arena.....................................................287. Installare Vitruvius sul Scid........................................................288. I parametri di Vitruvius................................................................299. Come attivare la LargePage.......................................................32

10. Il Team Vitruvius...........................................................................3311. Ringraziamenti ..............................................................................33

Italiano

Manualed’Uso

VitruviusChess EngineVers. 1.0

18

Introduzione

Vitruvius è un motore scacchistico (o d’analisi) aderente allo standard U.C.I. (Universal Chess Interface) installabile su tutti i migliori softwarescacchistici 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 epeculiarità, ma è stato sviluppato per giocare con uno stile molto originale especulativo. Una delle peculiarità di Vitruvius è l’utilizzo dei sacrifici posizio-nali (uno o due pedoni, la qualità e in alcuni casi anche un pezzo!) e la suaprofonda 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 lapreparazione e l’allenamento degli scacchisti a tutti i livelli (dal dilettante alGM). L’attuale versione è stata utilizzata da giocatori di elevato livello tecni-co (M.I.) per la preparazione, l’allenamento e lo studio, rivelandosi uno stru-mento molto efficace. Le nostre ‘cavie’ hanno potuto preparare dei piani digioco originali e creativi, sia dal punto di vista tecnico che psicologico(sacrifici posizionali) ed inoltre Vitruvius ha trovato alcune interessanti novi-tà teoriche in diverse aperture.

Manualed’Uso

VitruviusChess Engine

Vers. 1.0

19

Italiano

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. Acausa della loro logica interna, i motori scacchistici scelgono la mossamigliore esclusivamente in base a valori numerici. Spesso, la differenza trala mossa migliore, e la ‘seconda migliore’ è solamente di pochi centesimi dipedone ed ovviamente il programma sceglie la più alta. Altrettanto spessotuttavia, a causa del cosiddetto ‘effetto orizzonte’, la mossa scelta dal com-puter, non è realmente la migliore. Ciò è particolarmente vero per i sacrificiposizionali. Si osservi la posizione del diagramma sottostante, tratta dallapartita ‘Kasparov-Mosvesian, 2000’:

>________!∫ (ZYQTMUZW)(YOYPYRXR)(RVZXRYZY)(YRYZYZYZ)(ZYZJFYFY)(YZJCIFYZ)(FLFYZHZL)(YAIEYZYE)<--------ò

Se facciamo analizzare questa posizione ad uno qualsiasi dei più forti pro-grammi del mercato, ben difficilmente proporrà la mossa 1… †xc3! gioca-ta in partita da Kasparov. Tuttavia se lanciamo l’analisi dopo questa mossa,i vari motori giudicheranno la posizione approssimativamente pari. Dalpunto 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!

Italiano

Manualed’Uso

VitruviusChess EngineVers. 1.0

20

Vediamo un altro esempio. Il diagramma sottostante è tratto dalla partita‘Rossolimo-Nestler. Venezia, 1954’.

>________!Ω (QYZYZWMY)(YZTZURXR)(RYOYZVZY)(YRYZXZYZ)(ZLZYFYZY)(LZJCIZYZ)(ZYFYBKFL)(YZYZYEGZ)<--------ò

Nessuno dei motori in mio possesso suggerisce la spettacolare varianteeseguita in partita, ovvero: 1. †≈f6! å≈f6 2. †≈f6! gxf6. Ma se agli stessimotori facciamo eseguire l’analisi dopo queste mosse, essi giudicheranno laposizione approssimativamente pari. A causa di una valutazione leggermen-te superiore (pochi centesimi di pedone!), i motori preferiscono però la tran-quilla 1. åg5. Eppure i vantaggi ‘pratici’ della continuazione del testo sononotevoli:

in primo luogo il Bianco ha la possibilità di attaccare violentemente ilRe avversario, il cui arrocco è letteralmente ‘sbrecciato’;

l’impatto psicologico dovuto dall’improvviso passaggio da una posi-zione ‘tranquilla’ ad una spiccatamente tattica e tagliente;

il Nero dovrà condurre una penosa e delicata difesa, dove le possibi-lità di sbagliare sono moltiplicate ed ogni errore può avere conse-guenze mortali;

il doppio sacrificio è ‘sicuro’ e nella peggiore delle ipotesi la partitafinirà patta.

Manualed’Uso

VitruviusChess Engine

Vers. 1.0

21

Italiano

Le partite giocate fra esseri umani seguono una logica diversa da quella deicomputer ed entrano in gioco numerosi fattori ‘imponderabili’ quali la pres-sione psicologica, l’effetto sorpresa, la stanchezza, la possibilità di incorre-re in errori grossolani e sviste, ecc.

Molte mosse scartate dal computer (il più delle volte a causa di una valuta-zione inferiore di pochissimo alla mossa ‘umana’) sono spesso molto più fortidal punto di vista umano e presentano vantaggi pratici non indifferenti.

Vitruvius è stato studiato e sviluppato per cercare ed adottare proprio que-sto tipo di mosse. I suoi algoritmi si concentrano maggiormente sugli aspet-ti strategici e posizionali del gioco, anche a costo di ‘ragionevoli’ sacrifici dimateriale. Inoltre nella scelta delle mosse esso privilegia quelle più aggres-sive. La particolarità di Vitruvius però è che esso non ‘si butta a capofitto’ suquesto tipo di mosse ma esegue una serie di verifiche tattico-strategicheaffinché la mossa scelta sia entro un certo margine di sicurezza. Per questomotivo le scelte di Vitruvius sono sempre ‘ragionevolmente aggressive’ enella stragrande maggioranza dei casi i suoi sacrifici hanno delle oggettivee tangibili contropartite posizionali.

Nelle posizioni dei diagrammi precedenti Vitruvius suggerisce le mosse gio-cate in partita, come anche nelle seguenti:

>________!∫ (QYOTQYMY)(XRYZYRUR)(ZYPYZVRY)(YZLRYZYZ)(ZYZJZYZY)(YZJZIFYZ)(FLZHCYFL)(KZYZYEGZ)<--------òKarpov-Kasparov, New York, 1991

Qui Vitruvius segue la logica di Kasparov e suggerisce il sorprendente sacri-ficio di qualità: 1… †≈e3! Dal punto di vista ‘numerico’ la posizione è prati-camente pari, ma dal punto di vista ‘pratico’ i vantaggi sono molto più con-sistenti.

Italiano

Manualed’Uso

VitruviusChess EngineVers. 1.0

22

Un altro esempio: Shirov-Anand, 2008:

>________!∫ (ZYQYMUZW)(YOYPYRXR)(RTZXRVZY)(YRYZYZIZ)(ZYZYFLZY)(YDJCYZYB)(FLFYZYFL)(YZGEKZYZ)<--------ò

Vitruvius segue anche qui la logica del giocatore ‘umano’ e sacrifica la qua-lità con: 1… †≈c3!

Ultimo esempio (ma ce ne sono a decine), partita Vitruvius 1.0-Houdini 2.0:

>________!Ω (ZWNYMUPY)(YZYOYRXQ)(RYZXZYZX)(YZVFXZYD)(ZYZYFYZI)(JZYZYBYZ)(ZYEYCLFL)(YZKZYZGZ)<--------ò

Qui Vitruvius ha giocato un promettente sacrificio di qualità con: 21. †≈c5!d≈c5 22. ©c4 ∂c7.

Il sacrificio è giustificato da numerosi fattori posizionali, quali il ritardo di svi-luppo del Nero, l’iniziativa e la maggior coordinazione dei pezzi.

Manualed’Uso

VitruviusChess Engine

Vers. 1.0

23

Italiano

Questi fattori sono diventati decisivi solamente poche mosse più tardi quan-do si è raggiunta questa posizione:

>________!Ω (ZWZYMUPY)(YNYOYZXQ)(RYZYZXZX)(YZVFXZYD)(ZYDYFYZY)(YZYZYBIZ)(ZYZYCLFL)(KZYZYZGZ)<--------ò

Qui Vitruvius ha giocato un inatteso sacrificio di pezzo, tanto spettacolarequanto devastante: 27. ©f4!! E il Nero è perduto in tutte le varianti. Le mossedi 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 ditangibili vantaggi di posizione;

In queste e in molte altre posizioni, le scelte di Vitruvius sono originali eaggressive, ma sempre ragionevoli e sicure. Di certo non sono cattivemosse e, dal punto di vista pratico, i vantaggi compensano pienamentel’handicap eventuale di alcuni decimi di pedone.

Italiano

Manualed’Uso

VitruviusChess EngineVers. 1.0

24

2. La libreria Anti Engine Chess Book

Questa libreria di aperture è stata studiata e messa a punto per evidenziareal massimo le caratteristiche di Vitruvius e fornire uno strumento completoed efficace per la preparazione e lo studio di un repertorio di aperturemoderno ed originale.

1. Scopo

Privilegiare le linee che più mettono in difficoltà i motori più forti attualmen-te in circolazione anche se, a livello statistico, leggermente meno perfor-manti di quelle più comuni. In ogni caso, dato l’elevato numero di partitedalle quali s’è partiti nella generazione, sicuramente, e diversi test lo con-fermano, il libro s’è rivelato un ottimo rivale dei migliori attualmente in cir-colazione. In tal senso, si integra perfettamente con il motore Vitruvius, rea-lizzato con lo stesso spirito, anche se, ovviamente, è pure usabile indipen-dentemente.

2. Modalità di realizzazione

La Anti Engine Chess Book è stata messa a punto con le migliori tecnichedisponibili, utilizzando una serie di criteri molto originali.

a) La libreria si basa su un’accurata selezione di partite d’alta qualità tramotori, derivanti dal telegioco o dal gioco a tavolino tra top GM;

b) Scrematura della selezione 1, con query ad hoc tramite DBMS scac-chistico, per ottenere tutte quelle che presentano posizioni notoria-mente più o meno ostiche per i motori (sacrifici e sbilanci di materia-le vari, vittorie nonostante debolezze nella struttura pedonale, avan-zate di pedoni contro il Re avversario o davanti al proprio arrocco,attacchi repentini al Re avversario, posizioni più o meno bloccate perdiverse mosse e vittorie nonostante la cessione della coppia degliAlfieri, ecc).

c) Ulteriore scrematura in base alla teoria del GM nonché fisico russoAlexander 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

Manualed’Uso

VitruviusChess Engine

Vers. 1.0

25

Italiano

3. Ad ognuno il suo Vitruvius!

Vitruvius è disponibile in due versioni: la ‘Human’ e la ‘Conservative’. La ver-sione Human è quella originale: tagliente e speculativa, mentre la versioneConservative, pur mantenendo la maggior parte delle caratteristiche origi-nali, sviluppa uno stile di gioco un po’ più prudente e conservativo. Perentrambe le versioni sono state inoltre compilati degli eseguibili specificiper sistemi operativi a 32bit e per quelli a 64bit. Per finire sono disponibilidelle speciali versioni per macchine ad alte prestazioni (ad es. Intel Core I-7©, oppure AMD-Phenom©) che sfruttano le speciali funzioni harware dis-ponibili su queste CPU (ad es. POPCNT ed SSE4.2) che permettono di incre-mentare notevolmente le prestazioni.

La prima cosa da fare, per decidere quale versione installare, è di verificarela vostra CPU (se ‘normale’ o ad alte prestazioni) e in seguito se la vostraversione di Windows© è a 32bit oppure a 64bit. A parità di hardware la ver-sione a 64bit è più veloce di circa il 30% rispetto a quella a 32bit, ma se lavostra versione di Windows© è a 32bit, Vitruvius a 64bit non potrà funziona-re ed andrà in errore. Il programma andrà in errore anche se installate unaversione ‘ad alte prestazioni’ su un computer che non le supporta. Percomodità gli eseguibili sono stati raggruppati in due cartelle: Human eConservative, che contengono ognuna gli eseguibili specifici per i vari siste-mi operativi e le varie CPU.

I due pacchetti:Pacchetto 32/64bit contenente Vitruvius_1.0H_w32.exe:

Human per CPU normali, per Windows 32bit

Vitruvius_1.0H_w64.exe:Human per CPU normali, per Windows 64bit

Vitruvius_1.0C_w32.exe:Conservative per CPU normali, per Windows 32bit

Vitruvius_1.0C_w64.exe:Conservative per CPU normali, per Windows 64bit

Pacchetto HEM contenente Vitruvius_1.0H_HEM_w32.exe:

Human per CPU ad alte prestazioni (HEM) Windows 32bit

Vitruvius_1.0H_HEM_w64.exe:Human per CPU ad alte prestazioni (HEM) Windows 64bit

Vitruvius_1.0H_HEM_w32.exe:Conservative per CPU ad alte prestazioni (HEM) Windows 32bit

Vitruvius_1.0H_HEM_w64.exe:Conservative per CPU ad alte prestazioni (HEM) Windows 64bit

Italiano

Manualed’Uso

VitruviusChess EngineVers. 1.0

26

4. Installare Vitruvius

L’installazione completa di Vitruvius comprende gli eseguibili, e la libreriadelle aperture (nei vari formati).

Basta estrarre la cartella di Vitruvius in C:\program Files (oppure inC:\Programs) e Vitruvius è pronto per essere installato all’interno delle varieGUI (Graphic User Interface).

Le Tabelle dei Finali (TB - Table Bases) sono gratuite e liberamente scarica-bili da http//chess.cygnitec.com/RobboBases/, dove si troveranno anche leistruzioni per la corretta installazione.

5. Installare Vitruvius su Fritz

1. Lanciare Fritz;2. Cliccare sul tab ‘Motore’ e poi sul pulsante ‘Crea motore UCI’ ; 3. Subito dopo si aprirà una finestra chiamata ‘Installa motore UCI’. 4. Cliccate sul pulsante (...) e nella finestra che si aprirà cercare la

cartella ‘Vitruvius’. Fare doppio click sulla versione che si intendeinstallare. Si ricorda che che se si cerca di installare una versio-ne non supportata dal proprio computer (ad esempio quella a 64bitquando il vostro Windows© è a 32bit, oppure la versione HE quan-do non avete una CPU che la supporta) il programma non funzio-nerà ed andrà in errore.

5. Selezionare la finestra ‘Installa motore UCI e cliccare sul pulsan-te ‘Ok’. Adesso Vitruvius è correttamente installato.

6. Come ultima operazione bisogna settare Vitruvius come motoreprincipale. Cliccare sul pulsante ‘Cambia il motore principale’sempre nel tab ‘Motore’. Nella finestra che si aprirà selezionare laversione di Vitruvius appena installata. In questa finestra è possi-bile cambiare le impostazioni del motore cliccando sul pulsante‘Parametri motore’ (vedere più avanti). Per terminare l’operazionecliccare su ‘Ok’.

Manualed’Uso

VitruviusChess Engine

Vers. 1.0

27

Italiano

6. Installare Vitruvius su Arena

1. Lanciare il programma ‘Arena’. 2. Selezionare il menù ‘Motori/Installa Nuovo Motore’. 3. Selezionare la versione desiderata di Vitruvius all’interno della

cartella creata nel punto 4.1. 4. È possibile configurare i parametri di Vitruvius selezionando il

menù ‘Motori/Motore 1/Configura’

7. Installare Vitruvius su Scid

1. Lanciare il programma ‘Scid’. 2. Selezionare il menù ‘Strumenti/Motore d’analisi’. 3. Nella finestra che appare cliccare sul pulsante ‘Nuovo’. 4. Nella nuova finestra:

• nel campo ‘nome’ scrivere: ‘Vitruvius 1.0’; • cliccare poi sul pulsante ‘Browse’ e selezionare la versione di

Vitruvius desiderata; • cliccando sul pulsante ‘Configura’ è possibile modificare le

impostazioni di Vitruvius.

Italiano

Manualed’Uso

VitruviusChess EngineVers. 1.0

28

8. I parametri di Vitruvius

Vitruvius ha una serie di parametri U.C.I. configurabili per le impostazioni ‘difino’ del motore. È possibile impostare e variare questi parametri tramite levarie GUI.

FUNZIONI GENERALI

Hash: Vitruvius memorizza in una speciale tabella (Tabella ‘Hash’) il risulta-to delle sue analisi. Se nelle analisi successive incontra una posizionememorizzata nella Hash potrà utilizzare così la valutazione già effettuata,con notevole guadagno di tempo. Di default il valore è 128 Mbytes ma seavete una buona quantità di RAM e un processore veloce, potete aumen-tarla con relativo aumento di efficienza. Attenzione a non utilizzare valoritroppo elevati, altrimenti il programma ne verrà rallentato. Non si consigliadi superare i 2 Gbytes, a meno di non avere una macchina particolarmenteperformante.

PawnsHash: è la memoria Hash riservata alla valutazione delle strutturepedonali. I valori consigliati sono pari a circa 1/8 della Hash, o in secondabattuta 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 intensi-vo delle cpu’s, tramite la parallelizzazione dei calcoli.

MaxThreads: inserire il numero esatto delle CPU che intendete utilizzare (ades. 2 per un DualCore, oppure 4 per un QuadCore). È possibile utilizzareanche meno CPU di quelle disponibili, in modo da poter utilizzare comoda-mente il computer per altre operazioni. L’importante è non superare il nume-ro di CPU realmente disponibili, altrimenti il programma andrà in errore.

TripleDirectory: indicare il percorso dove sono memorizzate leRobboTripleBases.

TotalDirectory: indicare il percorso dove sono memorizzate leRobboTotalBases.

TotalCacheSize: funziona allo stesso modo della Hash ma è utilizzata per leRobboTotalBases. È bene non superare il valore di 64, a meno di non posse-dere una macchina particolarmente performante.

TripleCacheSize: stessa cosa ma per le RobbotripleBases.

Largepage: permette di sfruttare delle particolari funzioni che velocizzano lo

Manualed’Uso

VitruviusChess Engine

Vers. 1.0

29

Italiano

spostamento di grosse parti di memoria. Se si vuole utilizzare settare su‘true’ ma poi bisogna impostare questa funzione sul proprio SistemaOperativo (vedi apposito capitolo). L’utilizzo della LargePage consente unaumento delle prestazioni di circa il 15%.

FUNZIONI PER LE PARTITE FRA COMPUTER

Sono sempre più numerosi gli appassionati che utilizzano vari motori scac-chistici per fargli disputare partite e tornei fra loro, in automatico. AlcuneGUI, quali Fritz© o il programma gratuito Arena, hanno speciali funzioni perla gestione di queste ‘partite automatiche’ e addirittura interi tornei con rela-tive variazioni ELO. Particolare importanza viene data alla gestione deltempo di riflessione utilizzato dai motori e per questo è possibile regolareuna serie parametri scritti appositamente per le partite fra motori. Questefunzioni possono incidere in maniera decisiva sulle prestazioni del program-ma ed è bene quindi impostarle correntemente per ottenere le migliori per-formances.

Ponder: quando questa funzione è attivata, il computer utilizza ANCHE iltempo dell’avversario per eseguire le sue valutazioni.

Send Currmove: se attivato visualizza la mossa correntemente in valutazio-ne. La sua disattivazione permette un leggero guadagno sul tempo di rifles-sione.

SendHash: idem c.s. Per la visualizzazione della memoria Hash attualmentein uso.

IstantMoveFromHash: questa funzione può essere utile nelle partite a tempobreve o brevissimo. Quando è attivata, il programma utilizza i valori dellaHash senza effettuare nessuna verifica e non esegue analisi aggiuntive. Inquesto modo si risparmia sul tempo di riflessione ma l’analisi sarà menoaccurata. Per le partite a tempo lungo e per l’analisi è bene disattivare que-sta funzione.

SplitCut: questa funzione è attivabile solamente se MultiThread è attivo epermette di personalizzare la parallelizzazione della ricerca.

SplitDepthCut: indica a che profondità (in semi-mosse) il programma comin-cia a ‘splittare’ la ricerca, ovvero a suddividere il lavoro di ricerca alle varieCPUs. Di default è impostato a 14 semi-mosse. Nell’analisi e nelle partite atempo lungo è consigliabile abbassare la soglia a 16 semi-mosse.

SplitDepthAll e SplitDepthPV: questi valori di split sono impostati di defaulta 12 semi-mosse. Nell’analisi e nelle partite a tempo lungo è bene abbassa-re la soglia a 14 semi-mosse.

Italiano

Manualed’Uso

VitruviusChess EngineVers. 1.0

30

FATTORI TEMPO

TimeEasyFactorPonder, TimeordinaryFactor, TimeBattleFactor,TimeEasyFactor, TimeAbsolutepercent: questi fattori servono a regolare invari modi il tempo di riflessione. Senza impazzire con tentativi e valori ‘stra-ni’ 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)

b) 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 smanettoniSi può provare a variare i valori suggeriti, verificando nella pratica se i cam-biamenti saranno o meno positivi. Se qualcuno trova valori migliori puòinviarli agli autori o farli pubblicare sul blog.

Manualed’Uso

VitruviusChess Engine

Vers. 1.0

31

Italiano

9. Come attivare la LargePage

Per utilizzare la speciale funzione ‘LargePage’ non è sufficiente impostarlanei parametri del motore ma è necessario anche impostarla sul proprioSistema Operativo. Come abbiamo visto, l’utilizzo della LargePage può por-tare a significativi aumenti della velocità, valutati intorno al 15%. Più grandesarà la Hash e tanto maggiore sarà l’incremento di velocità.

1. Avviare l’Editor Criteri di gruppo locali digitando ‘gpedit.msc’ nelcampo 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’).

Italiano

Manualed’Uso

VitruviusChess EngineVers. 1.0

32

10. Il Team Vitruvius

Roberto MunterNato a Mezzolombardo (TN) il 06/10/1963, consulente industriale, vive e lavo-ra in Trentino. Le sue tre grandi passioni sono l’alpinismo, gli scacchi e laprogrammazione. Nella calma della prima, ha unito le altre due concependoVitruvius durante un’impegnativa arrampicata a 4000 metri d’altitudine. Perquesto possiamo considerare Vitruvius ‘il chess engine più alto del mondo’.

Andrea ManzoNato a Roma il 22/04/1971, di professione ingegnere informatico, vive e lavo-ra in Francia. Maestro ASIGC, ha acquisito la prima norma di maestro inter-nazionale ed è attualmente impegnato nella finale della quindicesima coppadel mondo ICCF.

Domenico Lattanzi Nato a Roma il 31/01/1972, ingegnere informatico, scacchista di categoria1N ed istruttore giovanile di scacchi. Autore del libro ‘Corso Base diScacchi’ edito da Prisma.

11. Ringraziamenti

Ai bravissimi autori dei programmi della serie ‘Ippolit’ (RobboLito, Igorrit edIvanHoe) e cioè: Yakov Petrovich Golyadkin, Igor Igorovich Igoronov,Roberto Pescatore, Yusuf Ralf Weisskopf, Ivan Skavinsky Skavar e YakovPetrovich Golyadkin.

A Robert Flesher, 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 delprogramma DeepSaros che ha accompagnato Vitruvius fin dalla sua conce-zione con suggerimenti, idee incoraggiamento e soprattutto per i numerositest effettuati sul sito PlayChess.com.

Manualed’Uso

VitruviusChess Engine

Vers. 1.0

33

Italiano

www.vitruviuschess.com