PH-Book2008.bin

  WB/UCI a Fritz 8 CZ. Utility a návod pro WB/UCI enginy ve Fritzovi. Také konvertor pro Genia, hodně štěstí a trpělivosti při té snaze.
  Moje turnaje enginů.
  Moje knihovny - Knihovny pro různé programy.
  Download - Nějaké UCI a WB enginy ke stažení, linky na jejich stránky.

  Nový Polyglot od verze 1.4 umožňuje slučování knihoven, přičemž ponechává první a z druhé připojí jen to, co tam není, zbytek přeskočí. Když si vytvoříte vlastní způsob práce, vynikající věc.

turnajová varianta

  Vrstvy 1 + 2 (aktivní repertoár do hloubky 20 půltahů)
  Pro tyto první vrstvy navrhuji speciální databázi (zde dále 2008-1.pgn), bez počítačových partií, hlavně z posledních let. Doporučuji to ovšem napřed ukládat v ChessBasi jako *.cbh, snáze se vyhází dvojníci, vyhodí komentáře a smažou nějaké partie. Do *.pgn pak převeďte až konečný stav. Můj výběr z Megabáze 2008 a novějších TWIC byl přibližně:
- poslední dva roky, ELO 2300+ (!). Trochu překvapivé, že? Občas to z těch návodů tvůrců knihoven vypadá, že kdo nemá ELO alespoň 2600, asi se naučil šachy někdy předevčírem. Ale i hráči nižšího ratingu přeci zvládnou zahrát dobrých 10 tahů dle teorie (ti pracovitější mají "své" varianty určitě prověřené i na počítači) a o to se v této první fázi jedná. Slabší varianty se (věřím) eliminují parametry min-score a min-game. Pokud se do knihovny nějaká nežádoucí věc přesto dostane, stačí zde pro opravu umáznout dané partie. Pasivní znalost kniha získá v dalších vrstvách. Ty nové partie doporučuji hlavně kvůli zmenšení pravděpodobnosti, že se motor dostane do nějaké sice dříve módní, ale dnes již vyvrácené varianty. Ona je totiž potíž s tím, co je vlastně kvalitní partie pro knihovnu. Podle mého názoru je to taková, kde je maximálně jedna rozhodující chyba (tu definuji jako chybu, která mění výsledek partie, např. remizuje vyhranou pozici, nebo partii prohrává). I v partii velmistrů takových chyb bývá víc, nyní si dělám komentované partie k přehrávání a např. v partii tuším Chalifman - Karpov jsem takové našel čtyři! Napřed se Karpov dostal do prohrané pozice, pak Chalifman zřejmě vypustil výhodu, potom po nepřesnosti mohl pravděpodobně prohrát, ale šanci zahodil i Karpov - remíza. Taková partie přitom s rezervou splňuje požadovaná kritéria na ELO. A představte si, kolik takových v té databázi máte, předpokládám, že nemáte čas analyzovat nejméně několik set (ale spíš tisíců) partií. Proto dávám přednost ještě většímu množství a důvěřuji spíše parametru min-game, než min-score.
- a nějaká kvalita jako doplněk, dejme tomu 2700+ (roky 2000 a více), 2650+ (1995-2000), 2600+ (starší). Takhle postupně to dělám kvůli inflaci ELO v poslední době, když já začínal hrát v turnajích, tak 2600 stačilo tak na TOP 20, zatímco dnes ... . Ale těch prvních partií by mělo být o dost víc.
- vyházet případné dvojníky, velmistrovské blicky a možná i rapidy (oni zde často hrají trochu jiná, méně solidní zahájení, v MegaBázi je přitom takových partií až dost), smazat krátké partie (dejme tomu do 15 tahů) i o něco delší remízy (třeba do 20 tahů). Tím se programu sníží příležitost hrát např. výměnnou francouzskou a podobné věci, což by se bez toho mazání mohlo klidně stát.

polyglot make-book -min-game 50 -only-white -pgn 2008-1.pgn -bin 2008aw.bin -max-ply 10
polyglot make-book -min-game 50 -only-black -pgn 2008-1.pgn -bin 2008ab.bin -max-ply 10

  Pokud se nic nevytvořilo, Polyglotovi cosi vadí ve vaší databázi, vraťte se k tomu přeloženému návodu od Fabiena Letouzey (anglická verze by měla být v adresáři Polyglota, soubor readme.txt).
  Jak vidíte, pro první část vůbec neužívám parametr min-score. Ono totiž těch doporučovaných 50-55 vede kromě omezení repertoáru i ke zvláštním věcem, např. zkušební kompilace mé knihovny při těchto parametrech hrála po 1.e4 e5 2.Jf3 Jc6 tah 3.Sc4, ve více jak v polovině případů. Uvedu ještě jeden teoretický příklad: "I přes pečlivý výběr se do databáze dostala jedna pochybná varianta, třeba za černé, ve třech partiích. Černý zásluhou chyby soupeře v časové tísni, v naprosto vyhrané pozici bílého, jednou vyhrál a ve zbylých dvou hrách po dlouhé obraně udržel remízu. Tím máte potřebné 3 partie a výsledné skóre je 66%, takže to při standartních nastaveních máte vždy jako aktivní znalost v knihovně. Zvýšení parametru min-score třeba na 60% to celé ještě zhorší, protože se tím vyřadí některé běžné a dobré varianty". Takže pozor na nezamýšlené, nakonec jsem po nějakém experimentování prostě parametr min-score zde vyhodil. Ale na oplátku jsem zvýšil parametr min-game na 50 (Fabien doporučuje 3, nebo u kvalitně vybrané databáze jen 2). Chcete-li opravdu solidní repertoár, možná by se to při databázi kolem 50 000 partií (tím výše popsaným postupem vybraných) dalo zvýšit i na 100 (!) - dobré varianty dobrých zahájení se v takové databázi i v tomto počtu určitě najdou. Stejně se zde hledá jen prvních 5 tahů (max-ply je v půltazích), to se rozumně rozehraná partie prohrát nedá, dokonce ani u hráčů s ELO podstatně nižším, než těch 2300, zde použitých. Pár drobností se ovšem najde, např. varianta 1.e4 c5 2.Jf3 Jf6 je v mé databázi 92x (ještě jsem se nerozhodl, zda to vyhodit, či ne - Fruit stál trochu podezřele, ale neprohrál), také se mi nelíbí jedna verze Skandinávské (podobně, jako u předchozího) a teď jsem naposled při testu proti gambitové knize narazil na 1.Jf3 Jc6 (můj způsob, jak se gambitová knihovna snaží přejít do otevřených her) a zde 2.g3. Po e5 to hrál Fruit tak špatně, že prohrál bílými s Glaurungem. Za to ovšem první dvě vrstvy nemohou, to je až v těch dalších (uvedené pořadí tahů je ve 2008-1.pgn jen dvakrát). Pro opravu tohoto by se zde např. dal vytvořit mezistupeň s partiemi 1.Jf3 Jc6 2.e4 a 2-4x 2.d4 (proč nabízet soupeři jen otevřené hry, když po d4 by mohl jezdec na c6 trochu vadit - ať to 2.d4 hraje zde častěji), zkompilovat za bílé a připojit k dočasné 2008aw.bin.

polyglot make-book -min-game 25 -only-white -pgn 2008-1.pgn -bin 2008bw.bin -max-ply 20
polyglot make-book -min-game 25 -only-black -pgn 2008-1.pgn -bin 2008bb.bin -max-ply 20

  I zde byl nakonec vynechán parametr min-score. Jen se snížil minimální počet partií na 25 a nyní se kompiluje prvních deset tahů. Nadvakrát je to udělané proto, aby se eliminovaly málo používané (a tedy asi slabší) varianty, typu většiny gambitů, domečků (tomu by zase počítač nerozuměl a v turnajích se to moc nehraje, protože dobrý hráč obvykle nemá problémy s vyrovnáním), apod. O pravděpodobnosti přijatých tahů se v těchto dvou vrstvách stará Polyglot, na základě počtu partií a výsledného skóre, alespoň tak to je v návodu od Fabiena Letouzey. Všechny vytvořené dočasné knihovny, 2008-xxx.bin, se pak spojí až na závěr.

  Vrstva 3 (aktivní repertoár do hloubky 30 půltahů a boční varianty)
  Tady už je potřeba vytvořit další dočasnou databázi (dále 2008-2.pgn, opět napřed vytvořit jako *.cbh a do *.pgn převést nakonec), tentokrát již co nejkvalitnějších partií. Nejlepší jsou korespondenční, ale těch je bohužel málo. Navíc CorrBase je zaplevelena i partiemi z různých serverů, v krátkém tempu. Odhaduji to na takový filtr:
- CorrBase: 2300 (2004 a pozdější) a 2400 (starší), s pomocí počítačů jsou ty partie skoro určitě lepší, než praktické velmistrovské. Vyházet blicky ze serverů, protože ty ELA jsou tam úplně jinde, asi se tam při takovém výběru nějaké takové dostanou.
- MegaBase: dejme tomu 2700+ (roky 2000 a více), 2650+ (1995-2000), 2600+ (starší).
- partie počítačů spíše ještě ne. Ale já myslím použil zde i Playchess s tempem od 60+15 (poslední rok) a ještě další výběr, co je ke stažení někde na internetu, myslím že od Pollocka, nebo Lacrosseho. K tomu snad i CEGT extreme a quad, 40/120.
- protože předchozí vrstvy vytvořily vlastně jen hlavní varianty, je čas se zabývat odbočkami. V této vrstvě vše, co se do knihovny dostane do hloubky 20 půltahů, již nebude zřejmě aktivně hráno. Výjimkou mohou být snad jen méně obvyklá pořadí tahů. Já použil prostě databázi, kterou jsem měl z doby vytváření prvních knih Glaurunga, Gambit a Exotic knihoven. Tam byly partie na jednotlivé varianty vyhledávány podobným filtrem, jako ty hlavní, jen bylo sníženo ELO, abych na každou variantu měl alespoň 50 partií. Nejsem si jistý, zda by tuto vrstvu nebylo lepší dělat až o kus později. Zde je riziko, že se do knihovny zanese cosi špatného (kvůli tomu se i s touto databází pracuje naněkolikrát), u té druhé možnosti zase riskuji omezený gambitový repertoár v obraně (pokud by v té hlavní databázi 2008-2.pgn nebyly dodány tyto partie, může se stát, že třeba proti nějakému gambitu bude hrána jen jedna varianta).
- A jako předtím, vyházet krátké partie (15 tahů a ještě 20 u remíz).

polyglot make-book -min-game 25 -only-white -pgn 2008-2.pgn -bin 2008cw.bin -min-score 50 -max-ply 30
polyglot make-book -min-game 25 -only-black -pgn 2008-2.pgn -bin 2008cb.bin -min-score 40 -max-ply 30

  Zde je opět parametr min-game pro začátek na 25, aby se do aktivní knihy dostaly především používané (a tedy snad dobré) varianty. Podobný smysl má i zde prvně použitý parametr min-score, zde 50 pro bílé a 40 pro černé. Můžete ho samozřejmě zvýšit, ale myslím, že jako hlavní ochranu proti slabým variantám je lépe používat min-game. Chce to s tím chvíli experimentovat, záleží na tom, jak máte vybranou databázi. Parametr max-ply 30 je tu kvůli paměti mého notebooku, protože mnou použitá databáze má i s těmi gambity/exoty přes 600k partií. Polyglot se tak vejde do těch volných asi 350MB RAM. Pokud bych zde přidal ještě nějaké partie, asi bych tuto vrstvu musel dělat na domácím počítači.

  Vrstva 4 a 5 (doplnění do hloubky 30 půltahů)
  Zde se vracím k první databázi, 2008-1.pgn

polyglot make-book -min-game 10 -only-white -pgn 2008-1.pgn -bin 2008dw.bin
polyglot make-book -min-game 10 -only-black -pgn 2008-1.pgn -bin 2008db.bin

polyglot make-book -min-game 5 -only-white -pgn 2008-1.pgn -bin 2008ew.bin -min-score 55
polyglot make-book -min-game 5 -only-black -pgn 2008-1.pgn -bin 2008eb.bin -min-score 45

  Smyslem je doplnit jako zřejmě již jen pasivní znalost to, co se předtím přeskočilo. To co už je v předchozích vrstvách, pak přeskočí při závěrečném spojování Polyglot.

  Vrstva 6 a 7 (prodloužení za hloubku 30 půltahů)
  K tomu jsou potřeba další dočasné databáze, co nejspolehlivější, pro vrstvu 6 dále 2008-3.pgn. Já zde použil jen:
- extreme a quad dlouhé partie z CEGT
- a pár vybraných korespondenčních partií
  Pokud i sem zařazovat praktické partie, potom jen asi ty počítačem prověřené. Zatímco zhruba pro prvních 15 tahů platí, že počítače asi i dnes hrají hůře, než lidé (čti silní velmistři), dále už je to velice sporné. Vždyť u Rybky na silném počítači je už dnes otázka, zda může dávat pěšce fóra všem velmistrům, nebo jen některým. Dokonce si, s prodloužením propočtu o další tak 2-3 půltahy na nějakém lepším hw, dokáži představit, že si bude moci dovolit dávat i figuru - velmistr se prostě někde takticky nachytá dříve, než stihne materiál povyměňovat. Stejně tak i korespondenční partie pro zařazení do této části by bylo dobré prověřit, nebo by měly být alespoň komentovány někým dobrým. V této fázi se už partie může rozhodnout. Jasně, třeba některé Španělské a Sicilské mají teorii pomalu k 35.tahu, tam bych proti praktickým partiím i zde nebyl, je to jen otázka kvalitního výběru. Já to pro tuto verzi své knihy nechal na vrstvě č.8.

polyglot make-book -min-game 3 -only-white -pgn 2008-3.pgn -bin 2008fw.bin
polyglot make-book -min-game 3 -only-black -pgn 2008-3.pgn -bin 2008fb.bin

  Jak vidíte, znovu jen parametr min-game 3, bez omezení skóre. Občas se dle té speciální osmitahové knihovny CEGT hrají podivné varianty, ale protože tohle již zařídily předchozí vrstvy, je to eliminováno a podivné věci jsou zde jen jako pasivní znalost.

  Pro následnou vrstvu je další databáze, 2008-4.pgn. Tam už jsou z CEGT i všechny dlouhé partie na čas 40/120, dále dlouhé partie z Playchessu od určitého ELO a pár vybraných korespondenčních partií, kde jsem se spolehl na zdroj. Jinak je smysl podobný, jako u vrstvy šest, rozšířit knihovnu v hraných variantách o další půltahy, na základě kvalitních partií.

polyglot make-book -min-game 2 -only-white -pgn 2008-4.pgn -bin 2008gw.bin
polyglot make-book -min-game 2 -only-black -pgn 2008-4.pgn -bin 2008gb.bin

  Podobně jako předtím, jen jsem ještě snížil min-game. Tím jsou řešeny počítači prověřen varianty za 15 půltah.

  Vrstva 8 (doplnění o pasivní znalosti do 30 půltahů)
  Znovu k obří databázi 2008-2.pgn z třetí vrstvy.

polyglot make-book -min-game 5 -only-white -pgn 2007-2.pgn -bin 2008hw.bin -min-score 50 -max-ply 30
polyglot make-book -min-game 5 -only-black -pgn 2007-2.pgn -bin 2008hb.bin -min-score 40 -max-ply 30

  Jak vidíte, držím si odstup od utahování parametru min-score, pouze 40 pro černé a 50 pro bílé. Zde importované znalosti už totiž budou asi jen pasivní, pokud soupeř odbočí do bočních variant. Vzhledem k nekvalitnímu výběru té databáze tu stále je parametr min-game poněkud neobvykle na 5. Například proto, aby se tam nedostaly třeba věci z jakéhosi tématického turnaje před 15 lety, kdy ještě počítače korespondenčním hráčům zase tolik nepomáhaly (jak už jsem psal výše, k této databázi byla připojena i sbírka gambitových a exotických zahájení) a na prověření takového počtu variant prostě není čas.
  Zde původní knihovna končí, ale hned první testy prokázaly, že někde by se vyplatilo varianty prodloužit.

  Vrstva 8 (opravy, resp. prodloužení za hloubku 30 půltahů, pomocí dodatečných analýz)
  Pro každou takovou variantu se udělá analýza a pak se rozhodne, zda se má ukládat za bílé, černé, nebo obě strany. Zde dále databáze 2008-5b.pgn a 2008-5c.pgn.

polyglot make-book -min-game 1 -only-white -pgn 2008-5b.pgn -bin 2008iw.bin
polyglot make-book -min-game 1 -only-black -pgn 2008-5c.pgn -bin 2008ib.bin

  Závěrečné spojení
polyglot merge-book -in1 2008aw.bin -in2 2008bw.bin -out 2008abw.bin
polyglot merge-book -in1 2008abw.bin -in2 2008cw.bin -out 2008acw.bin
polyglot merge-book -in1 2008acw.bin -in2 2008dw.bin -out 2008adw.bin
polyglot merge-book -in1 2008adw.bin -in2 2008ew.bin -out 2008aew.bin
polyglot merge-book -in1 2008aew.bin -in2 2008fw.bin -out 2008afw.bin
polyglot merge-book -in1 2008afw.bin -in2 2008gw.bin -out 2008agw.bin
polyglot merge-book -in1 2008agw.bin -in2 2008hw.bin -out 2008ahw.bin
polyglot merge-book -in1 2008ahw.bin -in2 2008iw.bin -out 2008aiw.bin

polyglot merge-book -in1 2008ab.bin -in2 2008bb.bin -out 2008abb.bin
polyglot merge-book -in1 2008abb.bin -in2 2008cb.bin -out 2008acb.bin
polyglot merge-book -in1 2008acb.bin -in2 2008db.bin -out 2008adb.bin
polyglot merge-book -in1 2008adb.bin -in2 2008eb.bin -out 2008aeb.bin
polyglot merge-book -in1 2008aeb.bin -in2 2008fb.bin -out 2008afb.bin
polyglot merge-book -in1 2008afb.bin -in2 2008gb.bin -out 2008agb.bin
polyglot merge-book -in1 2008agb.bin -in2 2008hb.bin -out 2008ahb.bin
polyglot merge-book -in1 2008ahb.bin -in2 2008ib.bin -out 2008aib.bin

polyglot merge-book -in1 2008aiw.bin -in2 2008aib.bin -out ph-book2008.bin

  Doporučuji vytvořit podadresář temp v polyglotovi a tam si tyhle všechny dočasné knihovny schovat, kvůli pozdějšímu hledání chyb a opravám.

hráčské knihovny

  Tvorba knihoven podle partií jednotlivých hráčů je v Polyglotovi velmi snadná. Kvůli možnosti ukládat zvlášť tahy černého i bílého. To třeba v *.CTG u Fritze neuděláte, tam byste museli vytvořit knihovny dvě, zvlášť pro černé i bílé, nebo si několik večerů hrát s barvami variant podle hráčových partií. Poměrně obtížné by to bylo třeba i ve Spike BookBuilderu. Takže prvním krokem je vytvoření databáze partií požadovaného hráče. Dejme tomu třeba Kasparov. Najděte si v nějaké databázi (v mém případě Mega2008) všechny jeho partie bílými a uložte je do databáze třeba kasparov-b.cbh (opět doporučuji napřed pracovat s *.cbh, kvůli pročištění) a partie černými do kasparov-c.cbh. Máte-li ještě další zdroj partií, které třeba v Megabázi nejsou (U Kasparova? Snad nějaké ruské časopisy z konce 70.let. U aktivních hráčů pak třeba TWIC.), připojte je také. Je jen na vás, zda z toho vyházíte třeba krátké remízy, nebo i krátké výhry, velmistrovské rapidy a blicky. V každém případě je vhodné vyházet dvojníky a nutné je odstranit fragmenty partií, nebo FRC. Polyglot neumí pracovat s partiemi, začínajícími z jiné, než základní pozice a hlásí přitom chybu, obvykle nemožný tah.
  Můj postup tvorby partiových knihoven pak vypadal (kromě Estrina) takto:

polyglot make-book -min-game 2 -max-ply 58 -only-black -pgn kasparov-c.pgn -bin kasparov-c1.bin
polyglot make-book -min-game 2 -max-ply 58 -only-white -pgn kasparov-b.pgn -bin kasparov-b1.bin

  V první vrstvě vše, co hrál Kasparov alespoň dvakrát. Parametrem max-ply jsem omezil hloubku do 29.tahu. Mě šlo spíše o zahájení, než o snahu reprodukovat Kasparovovy partie. V případě nějakých vyvrácených variant by se to mohlo zkrátit třeba i na 12 tahů, o zbytek by se postarala poslední, "záchranná" vrstva. Knihovna by tak hrála varianty jako Kasparov, ale dále v aktuální podobě.

polyglot make-book -min-game 1 -max-ply 58 -min-score 50 -only-black -pgn kasparov-c.pgn -bin kasparov-c2.bin
polyglot make-book -min-game 1 -max-ply 58 -min-score 50 -only-white -pgn kasparov-b.pgn -bin kasparov-b2.bin

  Druhá vrstva pak připojí vše, co Kasparov hrál, ale jen pokud to neprohrál. Proto je tam parametr min-score na 50. Smyslem je nezanést do knihy nějaké hrubky (ale pokud nakonec neprohrál po chybě soupeře, stejně se to tam dostane, proto tento tip knihoven do turnajů počítačů moc nedoporučuji. Ovšem moje knihovna právě Kasparova si v testu Sedatovy Perfect13x vedla dobře, s výjimkou Sicilských B9).

polyglot merge-book -in1 kasparov-c1.bin -in2 kasparov-c2.bin -out kasparov-c.bin
polyglot merge-book -in1 kasparov-b1.bin -in2 kasparov-b2.bin -out kasparov-b.bin
polyglot merge-book -in1 kasparov-c.bin -in2 kasparov-b.bin -out kasparov-p.bin

  No a máte knihovnu z Kasparovových partií. Taková je vhodná třeba na přípravu, ale pokud knihovnu chcete používat třeba pro zápasy motorů? Co když soupeř zahraje něco méně obvyklého, má Kasparov partii na Španělskou, kde černý hrál třeba 3.-Sc5? Já to řešil připojením běžné turnajové knihovny. Z prostorových důvodů jsem k tomu použil Lacrosseho performance.bin (všechny mé hráčské knihovny tohoto typu jsou ke stažení na stránce knihoven). Ale když už máte hotovou turnajovou knihovnu, můžete takto připojit vlastní. Zvlášť, pokud jste zkrátili tu délku, pomocí max-ply, to by se zrovna hodilo na tu zmiňovanou Sicilskou B97.

polyglot merge-book -in1 kasparov-p.bin -in2 ph-book2008.bin -out kasparov.bin

  A co když vás zajímá jen určité období, např. když v letech 81-84 hrával dámský gambit s c5? Pak jeho partie z požadovaného období uložte ještě do dalších databází (jako předtím, černými i bílými zvlášť), třeba kasparov-b8184.pgn a kasparov-c8184.pgn.
  A postup by mohl vypadat třeba takto:

polyglot make-book -min-game 2 -max-ply 58 -only-black -pgn kasparov-c8184.pgn -bin kasparov-c1.bin
polyglot make-book -min-game 2 -max-ply 58 -only-white -pgn kasparov-b8184.pgn -bin kasparov-b1.bin

polyglot make-book -min-game 2 -max-ply 58 -only-black -pgn kasparov-c.pgn -bin kasparov-c2.bin
polyglot make-book -min-game 2 -max-ply 58 -only-white -pgn kasparov-b.pgn -bin kasparov-b2.bin

polyglot make-book -min-game 1 -max-ply 58 -min-score 50 -only-black -pgn kasparov-c.pgn -bin kasparov-c3.bin
polyglot make-book -min-game 1 -max-ply 58 -min-score 50 -only-white -pgn kasparov-b.pgn -bin kasparov-b3.bin

polyglot merge-book -in1 kasparov-c1.bin -in2 kasparov-c2.bin -out kasparov-c12.bin
polyglot merge-book -in1 kasparov-c12.bin -in2 kasparov-c3.bin -out kasparov-c13.bin
polyglot merge-book -in1 kasparov-b1.bin -in2 kasparov-b2.bin -out kasparov-b12.bin
polyglot merge-book -in1 kasparov-b12.bin -in2 kasparov-b3.bin -out kasparov-b13.bin
polyglot merge-book -in1 kasparov-c13.bin -in2 kasparov-b13.bin -out kasparov-p.bin
polyglot merge-book -in1 kasparov-p.bin -in2 ph-book2008.bin -out kasparov.bin

  Je jen na vás, zda to celé takto převezmete, nebo něco odsud vyhodíte. Vynikající použití pro tyto knihovny jsou např. personality Rebela Pro Deo. Teoreticky by se to dalo používat i k přípravě, i když s zrovna s Kasparovem asi hrát nebudete. Na běžné soupeře zase budete mít asi příliš málo partií, aby to mělo smysl.

ladění turnajové knihovny pro jednotlivé motory

  Velice problematická věc, protože pokud nejste třeba vlastníky internetové kavárny, správci počítačové studovny apod., asi dost těžko dáte dohromady potřebný počet partií. Podle mého názoru by jich mělo být nejméně 1000, v nějakém rozumném minimálním tempu (nabízí se třeba 10+10, testy 1+1 já neberu). A formou turnaje jeden proti všem, proti třeba osmi až dvanácti konkrurentům. Např. Toga. Necháte ji hrát takový turnájek, se základní turnajovou knihou (zde ph-book2008.bin) proti 10 jiným silným motorům, pokud možno každému s jinou knihovnou, 100x bílými a 100x černými (2000 partií v tempu 10+10 na jednom počítači zabere zhruba 50 dní ...). Partie Togy se pak opět uloží, zvlášť bílými i černými.

polyglot make-book -min-game 2 -max-ply 24 -min-score 40 -only-black -pgn toga-c.pgn -bin toga-c1.bin
polyglot make-book -min-game 2 -max-ply 24 -min-score 45 -only-white -pgn toga-b.pgn -bin toga-b1.bin

  Opět pozor na parametr min-score, já bych ho možná zase úplně vynechal, nebo ho nastavil raději na méně, než více. Co když nějakou dobrou variantu hrála Toga zrovna s Rybkou a prohrála někde daleko v koncovce? Můj nápad je udělat průměrný výsledek, např. bylo dosaženo 47.5% bodů. A plus/mínus 3% bílý černý, takže by to bylo třeba 45 černý /50 bílý. Max-ply se zde nemusí hnát moc do hloubky.

polyglot make-book -min-game 1 -max-ply 24 -min-score 50 -only-black -pgn toga-c.pgn -bin toga-c2.bin
polyglot make-book -min-game 1 -max-ply 24 -min-score 50 -only-white -pgn toga-b.pgn -bin toga-b2.bin

  Podobně jako u hráčských knih vše, co se hrálo alespoň jednou a neprohrálo.

polyglot merge-book -in1 toga-c1.bin -in2 toga-c2.bin -out toga-c.bin
polyglot merge-book -in1 toga-b1.bin -in2 toga-b2.bin -out toga-b.bin
polyglot merge-book -in1 toga-c.bin -in2 toga-b.bin -out toga-p.bin
polyglot merge-book -in1 toga-p.bin -in2 ph-book2008.bin -out toga-ph-book2008.bin

  A hotovo. Na závěr je připojena základní knihovna, coby "záchranná" vrstva, kvůli pasivním znalostem. Předpokládám, že šířka repertoáru by se dost zredukovala. Vyladěná knihovna by pak výkon motoru možná mohla zvednout o dalších pár (se štěstím i desítek) ELO bodů.

knihovny pro jednotlivá zahájení

  Tohle je, proti Fritzovskému *.ctg a Spike BookBuilderu, v Polyglotovi pro změnu o dost pracnější. V prvním případě jen změníte barvu pár variant, ve druhém to pak upravíte nastavením přímo ve stromu. Zde musíte vytvořit několik databází. Do první pro černé (dále index-1c.pgn) zadat ručně varianty, např. pro Francouzskou 1.e4 e6, 2.d4 e6 (aby měl možnost přejít po 2.e4), vlastně by měl černý hrát 1.-e6 a 2.-d5 (téměř) na cokoliv. Pokud ještě chcete ovlivnit, jak často se bude hrát která varianta, o to víc si zde musíte dát práci. Já bych se pro první pokus spokojil jen s 1.-e6, 2.-d5 a volbu konkrétních variant bych ponechal na vrstvě partií. Podobně další databázi za bílé (index-1b.pgn), zde by mohlo stačit 1.e4 a pokud si chcete hrát, tak 8x 1.e4 e6 2.d4, 2x 1.e4 e6 2.d3 a 1x třeba 1.e4 e6 2.f4. O to víc práce by bylo s určováním třetích tahů, kolikrát 3.Jc3, 3.Jd2, 3.ed5, 3.e5, nebo i něco dalšího, třeba gambitové 3.Se3. Do druhé (dále index-2.pgn) pak podle nějakého filtru najít partie, třeba vyhledávání podle pozice po 1.e4 e6 2.d4 d5, 1.e4 e6 2.d3 d5, nebo podle indexu C00-C19, omezit nějaké minimální ELO hráčů, vyházet krátké partie i o něco delší remízy a dvojníky. No a na závěr se zase přiloží standartní turnajová knihovna, jako "záchranná" vrstva pro případ, že soupeř prostě Francouzskou hrát nechce.
  Mohlo by to vypadat třeba takto:

polyglot make-book -min-game 1 -only-black -pgn index-1c.pgn -bin index-c1.bin
polyglot make-book -min-game 1 -only-white -pgn index-1b.pgn -bin index-b1.bin
polyglot make-book -min-game 10 -max-ply 20 -only-black -pgn index-2.pgn -bin index-c2.bin
polyglot make-book -min-game 10 -max-ply 20 -only-white -pgn index-2.pgn -bin index-b2.bin
polyglot make-book -min-game 2 -only-black -pgn index-2.pgn -bin index-c3.bin
polyglot make-book -min-game 2 -only-white -pgn index-2.pgn -bin index-b3.bin

polyglot merge-book -in1 index-c1.bin -in2 index-c2.bin -out index-c12.bin
polyglot merge-book -in1 index-c12.bin -in2 index-c3.bin -out index-c13.bin
polyglot merge-book -in1 index-b1.bin -in2 index-b2.bin -out index-b12.bin
polyglot merge-book -in1 index-b12.bin -in2 index-b3.bin -out index-b13.bin
polyglot merge-book -in1 index-c13.bin -in2 index-b13.bin -out index.bin
polyglot merge-book -in1 index.bin -in2 ph-book2008.bin -out index-ph-book2008.bin

  První vrstva by měla zaručit, že se program bude snažit vždy hrát určené zahájení. Druhá pak je omezená parametry max-ply na 20 a min-game na 10. Má na starost rozdělení na další varianty a parametry min-game 10 by měl zajistit, aby program nehrál ty největší "originality". No a třetí část se postará o zbytek, ve fázi spojování se připojí nějaká standartní knihovna pro doplnění ostatních zahájení.

  Zvláštním případem knihovny pro zahájení jsou mé gambitové a exotické knihy. Od těch pro jednotlivá zahájení se však liší jen tím, že je potřeba si dát mnohem více práce s ručně zadávanou databází (index-1?.pgn) a tu případně ještě rozložit na více vrstev, pro určení pravděpodobností pro první tah, druhý tah třetí tah a možná i čtvrtý tah. Vše se dělá takto postupně a pak se teprve připojí partiová databáze. Např. u Gambitové v prvním tahu by se mělo hrát nejméně v 70% případů asi 1.e4, anglická s 1.Jf3 asi vůbec a 1.f4 okrajově (kvůli možnosti 1.-e5). A černými pak např. na 1.Jf3 Jc6, aby měl bílý šanci přejít do otevřených her atd. Vrstva pro druhý tah pak např. po 1.e4 e5 rozdělí "práci" na 2.d4 (a 3.c3), 2.f4 a 2.Jf3. Třetitahová část si pak pohraje např. s variabilitou královského gambitu a rozdělením mezi gambity po 1.e4 e5 2.Jf3 Jc6. Je to celé docela pracné a doporučuji si tyto databáze ještě nějakou dobu ponechat, pro případné opravy. U staré gambitové knihy jsem naimportoval špatně vrstvu 3 bílých za černé, takže kvůli tomu se tam hraje jen královský gambit s 3.Jf3 g5 4.h4 - dělat to celé znovu se mi už nechtělo, možná se někdy dokopnu udělat gambitovou knihu i pro verzi 2008. Podobně se postupuje i s exotickou knihou, prostě tam ručně naklepete všechny možné (šachové) úchylky, co vás napadnou a ono z toho něco vyleze. Já si kvůli tomu prolistoval i Veselého encyklopedii, kde jsou uvedeny i varianty, které by mi samy nenapadly, např. 3.Se3 ve Francouzské, 3.-g5 ve Španělské atd. Dalším zdrojem je internet, nadšenci vedou stránky pro dost podivných variant. I exotická kniha si na verzi 2008 ještě nějakou dobu počká.Ale v těchto dvou případech nejsou zase aktualizace tak akutní, vždyť tyto knihy nejsou určeny pro turnajovou hru počítačů, maximálně se dají využívat pro testování jiných knihoven, kromě vlastního hraní. Co se importu partií pro vkládané varianty týká, asi bude potřeba slevit s tím minimálním ELO. Pro některé jsem tehdy šel třeba i na 2100+, aby vůbec měl alespoň trochu partií.

  17.7.08: Zbytek dokončím zase někdy později, pro dnešek to snad stačí.