Vitruvius User's Manual

Page 1


English

Contents Introduction ..............................................................................................3 1. The ‘Vitruvius philosophy’.............................................................4 2. The Anti Engine Chess Book ........................................................9 1. Target 2. Building process 3. Available formats 3. The right Vitruvius for everyone!...............................................10 4. Installing Vitruvius........................................................................11 5. Installing Vitruvius on Fritz©......................................................11 6. Installing Vitruvius on Arena......................................................12 7. Installing Vitruvius on Scid.........................................................12 8. Setting Vitruvius parameters .....................................................13 9. Activating LargePage ..................................................................16 10. The Vitruvius Team .....................................................................17 11. Acknowledgements .....................................................................17

User’s Manual Vitruvius Chess Engine Vers. 1.0

2


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

English

Introduction

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 players of all strengths and levels can benefit from its use in their preparation for their over the board engagements. The current version has been used by strong IMs in their preparation, training and study and it has proved itself time and again to be a very helpful and ‘unforgiving’ sparring partner. Our testers working on the Opening Book have been able to prepare and test a whole series of extremly focused and original plans, higly creative on a positional and psychological basis (positional sacrifices), and Vitruvius has found some higly interesting novelities in more than one opening.

User’s Manual Vitruvius Chess Engine Vers. 1.0

3


English

1. The ‘Vitruvius philosophy’ Chess engines play in a precise and rational manner and their logic seems to eschew elegance and beauty in chess. Due to their internal logic, chess engines select the best move by a numerical process. Often the difference between the best move and the second best is only a small fraction of the value of a pawn and invariably the program settles for the higher value. Moreover, due to the ‘horizon effect’, the move chosen by the computer is not always the ‘best’ in all circumstances. This is especially true for positional sacrifices. For example, take a look at the position below reached in the game Kasparov-Mosvesian, 2000:

>________! ∫ (ZYQTMUZW) (YOYPYRXR) (RVZXRYZY) (YRYZYZYZ) (ZYZJFYFY) (YZJCIFYZ) (FLFYZHZL) (YAIEYZYE) <--------ò Analysing this position with a modern chess program, probably will not help you to discover the move 1… †≈c3! played by Kasparov. However, after this move, most chess engines consider the resulting position roughly equal. It is clear that from a psychological point of view, this move offers Black many advantages, namely: ■ The unexpected sacrifice creates a very annoying surprise effect; User’s Manual Vitruvius Chess Engine Vers. 1.0

4

■ 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!


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

English

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

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 several chess engines, we get a verdict of approximate equality. On the basis of a trivially superior evaluation (just an insignificant fraction of a pawn!), engines therefore prefer the quiet 1. åg5. Nevertheless, the practical chess player will appreciate that the double exchange sacrifice does give him some very 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 cropping 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’s Manual Vitruvius Chess Engine Vers. 1.0

5


English

Games played between human players follow a different logic. Much depends on intangible factors such as psychological pressure, surprise effect, 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 (mainly for important pratical considerations). It is exactly this role that Vitruvius has been modelled to fit. That is to approach as much as possible the human way of thinking. The algorithms it follows are focused on strategic and positional aspects, and take into account all ‘reasonable’ material sacrifices. Moreover, it tends to favour always aggressive moves. However, Vitruvius does have a set of controls that force it to execute a series of tactical and strategical checks in order to ensure that the chosen move falls within certain safety parameters. Vitruvius therefore chooses always ‘reasonably aggressive moves’ and its sacrifices are always strongly motivated by positional considerations. Here are some other examples where Vitruvius suggests exactly the move played by the human player in the actual game:

>________! ∫ (QYOTQYMY) (XRYZYRUR) (ZYPYZVRY) (YZLRYZYZ) (ZYZJZYZY) (YZJZIFYZ) (FLZHCYFL) (KZYZYEGZ) <-------ò Karpov-Kasparov, New York, 1991 User’s Manual Vitruvius Chess Engine Vers. 1.0

6

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


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

English

Another example: Shirov-Anand, 2008:

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, the initiative is in White’s hands and his pieces are better coordinated.

User’s Manual Vitruvius Chess 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 devastating: 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 positional advantages. In the positions above and in many others we tested, Vitruvius’ choice was always original and aggressive but within reasonable risk limits. The moves played aren’t the ‘best’ but by any counts they are surely not ‘bad’ and the practical advantages secured give enough positional compensation for the inferior evaluation (by a few tenths of a pawn) they get on ‘standard’ machines.

User’s Manual Vitruvius Chess Engine Vers. 1.0

8


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

English

2. The Anti Engine Chess Book

Target

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

Building process

The Anti Engine Chess Book has been built with the best techniques available today with some very original criteria applied through out the process. a) Accurate high quality games selected from games between best engines and tournament games between top GMs; b) Further selection was made with specific queries on chess DBMS, to include 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 advances against enemy King and positions with advanced pawns in front own castled King, sudden attacks against enemy King, blocked positions for several moves and loss of Bishop pair). c) Further selection based on theory of Russian GM and physicist Alexander Shashin. 3.

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

Move selection Number of Games: Maximum Win percentage: Minimum

User’s Manual Vitruvius Chess Engine Vers. 1.0

9


English

3. The right Vitruvius for everyone! There are two versions of Vitruvius: ‘Human’ and ‘Conservative/Normal’. The Human version is the original setup, sharp and speculative, while the Conservative version, although it maintains the main characteristics, develops a more prudent and risk free type of game. Both versions have been compiled with executable files for the 32bit and 64bit operating systems. Special HEM versions (for High Performance Machines (for example Intel Core I-7©, or AMD Phenom©) are also available in order to make use of the special hardware functions available on these CPUs (e.g. POPCNT and SSE4.2) to increase performance. To decide which version is right for you, check your CPU (whether normal or high performance) and then your Windows© operating system (32bit or 64bit). Other things being equal the 64bit version registers about a 30% increase in speed compared with the 32bit version. However Vitruvius 64bit will not work on Windows 32bit. Vitruvius will crash if you try to run an HEM version 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: User’s Manual Vitruvius Chess Engine Vers. 1.0

10

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


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

English

4. Installing Vitruvius

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

5.

Installing Vitruvius on Fritz 1. 2. 3. 4.

5. 6.

Run Fritz Click on ENGINE tab, then on CREATE UCI ENGINE ; A window named SET UP UCI ENGINE will appear on the screen. Click on the (…) button then in the window which will come up select and double click on the Vitruvius folder. Double click on the version you want to install. Don’t forget that if you install a version not supported by your system (for example 64bit version when your Windows is 32bit, or HEM version when your CPU does not support it) Vitruvius will not work. Click OK to complete the installation. Now you have to set Vitruvius as the main engine. Select ENGINE tab, and click on CHANGE MAIN ENGINE. Select the Vitruvius version you installed. In the same window you can change the change engine parameters by clicking on ENGINE PARAMETERS. Confirm your settings by clicking on OK.

User’s Manual Vitruvius Chess Engine Vers. 1.0

11


English

6. Installing Vitruvius on Arena 1. 2. 3. 4.

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

7. Installing Vitruvius on Scid 1. 2. 3. 4.

User’s Manual Vitruvius Chess Engine Vers. 1.0

12

Run Scid. Select TOOLS/ANALYSING ENGINE menu. Click on NEW. 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.


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

English

8. Setting Vitruvius parameters

GENERAL FUNCTIONS Hash: Vitruvius stores in a special table (Hash table) the results of its analysis. If during its analysis Vitruvius encounters a position stored in the Hash it gains time by directly retrieving the stored evaluation. Default setting is 128 Mbytes but if you have enough RAM and a sufficiently powerful CPU, you can increase it (gaining in performance). Very high values however will slow down the program. On medium strength CPUs you shouldn’t over step the 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. Default setting is 64. MultiThread: if you have a ‘multi-core’ CPU (DualCore or QuadCore, or a cluster) this parameter must be set to ‘True’. MaxThreads: insert the exact number of CPUs you want to use (for example 2 for a DualCore, or 4 for a QuadCore). You can use less CPUs than the total number available, if you have other tasks to perform. Do not however insert a higher number than the number of CPUs available otherwise the program may 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 for RobboTotalBases. Do net set this higher than 64 if your system is not so powerful. TripleCacheSize: the same thing, but for RobbotripleBases. Largepage: allows to take advantage of the particular functions that speed up 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 paragraph 9). The use of LargePage allows an increase in performance of about 15%.

User’s Manual Vitruvius Chess Engine Vers. 1.0

13


English

Useful functions in games between engines For matches and tournaments between chess engines, in some GUIs like Fritz and Arena, you can set certain functions to help manage these ‘automatic games’ and keep track also of ELO variations. Very important is the game time used and also other parameters specifically used for games between chess engines. These functions can influence the program’s performance in a marked manner and therefore care must be taken to input the right values for the best results. Ponder: when this function is set, the computer uses ALSO the opponent’s time 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 Hash values without first verifying them. It gains time but at the expense of precision. In normal tournament games and analysis it is best to deactivate this function. SplitCut: this function can be turned on only if MultiThread is active and permits 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 shared search to more CPUs. Default value is 14 half-moves. In tournament games and analysis best is to set threshold to 16 half-moves. SplitDepthAll e SplitDepthPV: default setting for these split values is 12 halfmoves. In tournament games and analysis best is 14 half-moves.

User’s Manual Vitruvius Chess Engine Vers. 1.0

14


TIME FACTORS:

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)

English

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

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

User’s Manual Vitruvius Chess Engine Vers. 1.0

15


English

9. Activating LargePage To use the special function LargePage, apart from the engine setting, you must also set the operating system parameters. LargePage can speed up computer processing time by about 15%. Bigger the Hash, bigger will be the increase. 1. 2. 3. 4. 5. 6. 7.

User’s Manual Vitruvius Chess Engine Vers. 1.0

16

Run the Local Group Criteria Editor by typing ‘gpedit.msc’ in the field ‘Search file and programs’ in the Start Menu. Under ‘Computer setup’, ‘Windows settings’, ‘Security settings’, ‘Local Policies’ click on ‘User Rights Assignment’. Double click on ‘Block of pages in memory’. Click on ‘Add user or group…’. Input your Windows account name or else type ‘Everyone’ in the text box; click ‘OK’. Restart Windows. Run GUI with administrator rights (right button—> ‘Execute as administrator’).


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

English

10. The Vitruvius Team

Andrea Manzo Born in Rome 22/04/1971, computer engineer, lives and works in France. He is also Corrispondence chess master and has also a first International Master norm. At the moment he is playing in the 15th final ICCF. Domenico Lattanzi Born in Rome 31/01/1972, computer engineer, chess player and instructor. Author of the book for beginners Corso Base di Scacchi (Basic Chess course) published by Prisma Editori.

11. Acknowledgements Our thanks to the authors of the ‘Ippolit’ program series (RobboLito, Igorrit and IvanHoe): Yakov Petrovich Golyadkin, Igor Igorovich Igoronov, Roberto Pescatore, Yusuf Ralf Weisskopf, Ivan Skavinsky Skavar e Yakov Petrovich Golyadkin. 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 of DeepSaros, who followed Vitruvius from the start and contributed with suggestions, ideas and never failing encouragement. We are indebted to him for the very great number of tests he made on PlayChess.com. User’s Manual Vitruvius Chess Engine Vers. 1.0

17


Italiano Manuale d’Uso Vitruvius Chess Engine Vers. 1.0

18

Contents Introduzione............................................................................................19 1. La ‘filosofia’ di Vitruvius ..............................................................20 2. La libreria Anti Engine Chess Book...........................................25 1. Scopo ....................................................................................25 2. Modalità di realizzazione ...................................................25 3. Formati disponibili ...............................................................25 3. Ad ognuno il suo Vitruvius! ........................................................26 4. Installare Vitruvius .......................................................................27 5. Installare Vitruvius sul Fritz©.....................................................27 6. Installare Vitruvius sul Arena.....................................................28 7. Installare Vitruvius sul Scid........................................................28 8. I parametri di Vitruvius................................................................29 9. Come attivare la LargePage.......................................................32 10. Il Team Vitruvius...........................................................................33 11. Ringraziamenti ..............................................................................33


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.

Italiano

Introduzione

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. Manuale d’Uso Vitruvius Chess 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. 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 ‘Kasparov-Mosvesian, 2000’:

>________! ∫ (ZYQTMUZW) (YOYPYRXR) (RVZXRYZY) (YRYZYZYZ) (ZYZJFYFY) (YZJCIFYZ) (FLFYZHZL) (YAIEYZYE) <--------ò Se facciamo analizzare questa posizione ad uno qualsiasi dei più forti programmi del mercato, ben difficilmente proporrà la mossa 1… †xc3! 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; Manuale d’Uso Vitruvius Chess Engine Vers. 1.0

20

■ ed infine... Ha vinto la partita!


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

Italiano

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. †≈f6! å≈f6 2. †≈f6! 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. åg5. 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. Manuale d’Uso Vitruvius Chess Engine Vers. 1.0

21


Italiano

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:

Manuale d’Uso Vitruvius Chess Engine Vers. 1.0

22

>________! ∫ (QYOTQYMY) (XRYZYRUR) (ZYPYZVRY) (YZLRYZYZ) (ZYZJZYZY) (YZJZIFYZ) (FLZHCYFL) (KZYZYEGZ) <-------ò Karpov-Kasparov, New York, 1991 Qui Vitruvius segue la logica di Kasparov e suggerisce il sorprendente sacrificio di qualità: 1… †≈e3! Dal punto di vista ‘numerico’ la posizione è praticamente pari, ma dal punto di vista ‘pratico’ i vantaggi sono molto più consistenti.


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

Italiano

Un altro esempio: Shirov-Anand, 2008:

Vitruvius segue anche qui la logica del giocatore ‘umano’ e sacrifica la qualità 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 sviluppo del Nero, l’iniziativa e la maggior coordinazione dei pezzi.

Manuale d’Uso Vitruvius Chess Engine Vers. 1.0

23


Italiano

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

>________! Ω (ZWZYMUPY) (YNYOYZXQ) (RYZYZXZX) (YZVFXZYD) (ZYDYFYZY) (YZYZYBIZ) (ZYZYCLFL) (KZYZYZGZ) <--------ò Qui Vitruvius ha giocato un inatteso sacrificio di pezzo, tanto spettacolare quanto devastante: 27. ©f4!! 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.

Manuale d’Uso Vitruvius Chess Engine Vers. 1.0

24


Questa libreria di aperture è stata studiata e messa a punto per evidenziare al massimo le caratteristiche di Vitruvius e fornire uno strumento completo ed efficace per la preparazione e lo studio di un repertorio di aperture moderno ed originale. 1.

Italiano

2. La libreria Anti Engine Chess Book

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 l’elevato 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

Manuale d’Uso Vitruvius Chess Engine Vers. 1.0

25


Italiano

3. Ad ognuno il suo Vitruvius! Vitruvius è disponibile in due versioni: la ‘Human’ e la ‘Conservative’. La versione Human è quella originale: tagliente e speculativa, mentre la versione Conservative, pur mantenendo la maggior parte delle caratteristiche originali, sviluppa uno stile di gioco un po’ più prudente e conservativo. Per entrambe le versioni sono state inoltre compilati degli eseguibili specifici per sistemi operativi a 32bit e per quelli a 64bit. Per finire sono disponibili delle speciali versioni per macchine ad alte prestazioni (ad es. Intel Core I7©, oppure AMD-Phenom©) che sfruttano le speciali funzioni harware disponibili su queste CPU (ad es. POPCNT ed SSE4.2) che permettono di incrementare notevolmente le prestazioni. La prima cosa da fare, per decidere quale versione installare, è di verificare la vostra CPU (se ‘normale’ o ad alte prestazioni) e in seguito se la vostra versione di Windows© è a 32bit oppure a 64bit. A parità di hardware la versione a 64bit è più veloce di circa il 30% rispetto a quella a 32bit, ma se la vostra versione di Windows© è a 32bit, Vitruvius a 64bit non potrà funzionare ed andrà in errore. Il programma andrà in errore anche se installate una versione ‘ad alte prestazioni’ su un computer che non le supporta. Per comodità gli eseguibili sono stati raggruppati in due cartelle: Human e Conservative, che contengono ognuna gli eseguibili specifici per i vari sistemi 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: Manuale d’Uso Vitruvius Chess Engine Vers. 1.0

26

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


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

Italiano

4. Installare Vitruvius

Basta estrarre la cartella di Vitruvius in C:\program Files (oppure in C:\Programs) e Vitruvius è pronto per essere installato all’interno delle varie GUI (Graphic User Interface). Le Tabelle dei Finali (TB - Table Bases) sono gratuite e liberamente scaricabili da http//chess.cygnitec.com/RobboBases/, dove si troveranno anche le istruzioni per la corretta installazione.

5. Installare Vitruvius su Fritz 1. 2. 3. 4.

5. 6.

Lanciare Fritz; Cliccare sul tab ‘Motore’ e poi sul pulsante ‘Crea motore UCI’ ; Subito dopo si aprirà una finestra chiamata ‘Installa motore UCI’. Cliccate sul pulsante (...) e nella finestra che si aprirà cercare la cartella ‘Vitruvius’. Fare doppio click sulla versione che si intende installare. Si ricorda che che se si cerca di installare una versione non supportata dal proprio computer (ad esempio quella a 64bit quando il vostro Windows© è a 32bit, oppure la versione HE quando non avete una CPU che la supporta) il programma non funzionerà ed andrà in errore. Selezionare la finestra ‘Installa motore UCI e cliccare sul pulsante ‘Ok’. Adesso Vitruvius è correttamente installato. Come ultima operazione bisogna settare Vitruvius come motore principale. Cliccare sul pulsante ‘Cambia il motore principale’ sempre nel tab ‘Motore’. Nella finestra che si aprirà selezionare la versione di Vitruvius appena installata. In questa finestra è possibile cambiare le impostazioni del motore cliccando sul pulsante ‘Parametri motore’ (vedere più avanti). Per terminare l’operazione cliccare su ‘Ok’. Manuale d’Uso Vitruvius Chess Engine Vers. 1.0

27


Italiano

6. Installare Vitruvius su Arena 1. 2. 3. 4.

Lanciare il programma ‘Arena’. Selezionare il menù ‘Motori/Installa Nuovo Motore’. Selezionare la versione desiderata di Vitruvius all’interno della cartella creata nel punto 4.1. È possibile configurare i parametri di Vitruvius selezionando il menù ‘Motori/Motore 1/Configura’

7. Installare Vitruvius su Scid 1. 2. 3. 4.

Manuale d’Uso Vitruvius Chess Engine Vers. 1.0

28

Lanciare il programma ‘Scid’. Selezionare il menù ‘Strumenti/Motore d’analisi’. Nella finestra che appare cliccare sul pulsante ‘Nuovo’. 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.


I parametri di Vitruvius

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

Italiano

8.

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). È 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. È bene non superare il valore di 64, a meno di non possedere una macchina particolarmente performante. TripleCacheSize: stessa cosa ma per le RobbotripleBases. Largepage: permette di sfruttare delle particolari funzioni che velocizzano lo

Manuale d’Uso Vitruvius Chess 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 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. Manuale d’Uso Vitruvius Chess Engine Vers. 1.0

30

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. 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

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)

Italiano

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:

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.

Manuale d’Uso Vitruvius Chess Engine Vers. 1.0

31


Italiano

9. Come attivare la LargePage Per utilizzare la speciale funzione ‘LargePage’ non è sufficiente impostarla nei parametri del motore ma è necessario anche impostarla sul proprio Sistema Operativo. Come abbiamo visto, l’utilizzo della LargePage può portare a significativi aumenti della velocità, valutati intorno al 15%. Più grande sarà la Hash e tanto maggiore sarà l’incremento di velocità. 1. 2.

3. 4. 5. 6. 7.

Manuale d’Uso Vitruvius Chess Engine Vers. 1.0

32

Avviare l’Editor Criteri di gruppo locali digitando ‘gpedit.msc’ nel campo Cerca programmi e file del menu Start ; Sotto ‘Configurazione computer’ , ‘Impostazioni di Windows’, ‘Impostazioni di sicurezza’, ‘Criteri locali’ cliccare su ‘Assegnazione diritti utente’ ; Fare poi un doppio click su ‘Blocco di pagine in memoria’ ; Cliccare su ‘Aggiungi utente o gruppo...’ ; Scrivere il nome del nostro account Windows oppure ‘Everyone’ nella casella di testo e poi cliccare su ‘OK’ ; Riavviare Windows per completare l’operazione; Avviare la GUI con diritti di amministratore (tasto destro —> ‘Esegui come amministratore’).


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’.

Italiano

10. Il Team Vitruvius

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.

11. 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 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 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.

Manuale d’Uso Vitruvius Chess Engine Vers. 1.0

33


www.vitruviuschess.com


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.