Klonovací války v počítačovém šachu II.
20.01.2010 07:02 | PC šachIppolit, RobboLilo a Žar-Ptica - Nejprve jasná fakta. První prokazatelné zmínky o motoru Ippolit se na webu objevily už koncem května 2009, ale v záplavě jiných událostí mu nikdo nevěnoval pozornost. Těžko říci, zda to byla náhoda ne...
Autor Ippolita je určitě svérázný člověk a zatím zůstává v hluboké anonymitě. Podepisuje se Yakov Petrovich Golyadkin, což je ovšem jméno hrdiny z Dostojevského novely Dvojník. Program je datován 92 let po Revoluci (rozuměj Velké říjnové) a nechybí ani odkazy na Lenina. Je přiložen zdrojový kód v jazyku C, který ovšem nevypadá, že by byl vytvořen ručně, ale ani nepřipomíná strojové zpětné překlady. Podle autora jde o strojově generovaný kód z jeho speciálního jazyka „měkký znak“, o kterém ovšem nikdy nikdo neslyšel; západní komentátoři bez znalosti ruštiny ho například chybně uváděli jako „b“.
Skupina nadšenců zdrojový kód Ippolita „zušlechtila“. To znamená, rozdělili ho na pojmenované části, vydělili hlavičkové soubory a doplnili komentáře. Přitom také opravili pár dětských nemocí Ippolita, který občas „padal“, nastavoval dámu a špatně hospodařil s časem.
Výsledek se nazývá RobboLito, je stabilní a na jednoprocesorovém počítači přesvědčivě poráží Rybku 3. Rozhodně nejde jen o její napodobeninu.
Zatímco Rybka 3 má délku kolem 2,5 Mega, stačí RobboLitu pouhá desetina! Navíc umí stavět střelce a disponuje znalostmi, které Rybce chybí; třeba rozezná remízu v koncovkách s falešným střelcem.
RobboLito je neustále vyvíjen. Skupina je zřejmě při chuti, nové verze a jména začínají být už nepřehlednými. Začátkem roku 2010 se objevila varianta jménem Igorrit, který dokáže využít vícejádrové procesory, což znamená definitivní sesazení Rybky z trůnu. Další motor z této rodiny Ivanhoe zvládá vícevariantový analytický mód a vrcholem „šlechtitelských“ snah je super-motor Firebird (rusky Žar-Ptica), jehož funkční beta verze se objevila 16. ledna. V době psaní článku jde zřejmě o nejsilnější dostupný šachový motor.
Vašík si tentokrát dal s reakcí trochu na čas. Zprvu se neozval sám, ale prostřednictvím moderátora Rybka fóra s přezdívkou Vytron (P. Ulysses z Mexika). Vytron Ippolita přímo nejmenoval, ale napsal, že nový motor je klonem Rybky a dokonce i odkazy na něj jsou nelegální.
O to větší úsilí vyvinula Vašíkova parta na orwellovské machinace, kterými se snažili vymazat Ippolita ze známých webů. I já jsem dostal nepodepsaný mail se strohým oznámením, abych odstranil z webu ilegální odkaz. Odpověděl jsem, že s anonymy se nebavím a že žádám důkazy. Zkusili to ještě jednou s argumentem, že známé západní weby už ten odkaz odstranily. Teprve ve třetím mailu jsem se dozvěděl, s kým mám tu čest – Ivana Rajlich(ová), Vašíkova matka. Přešli jsme na češtinu, probrali komunistický režim a jejich emigraci, ale tím diskuse skončila. S axiomem, že Vašík nikdy nelže a celý svět se proti němu spikl, se prostě nedá nic řešit.
Vašík si mezitím kalhoty pojistil opaskem a ještě kšandami. Naznačil podezření z krádeže zdrojového kódu Rybky a k tomu ještě bez větších podrobností uvedl, že mu tvůrce Ippolitu mailem průběžně popisoval průběh dekompilace.
Nějak se ale zapomněl zmínit o tom, jaký to balast, který Ippolit zjevně nepotřebuje, tvoří 90 procent Rybky.
Tajemství Rybky prozrazeno?
Vašík dosáhl toho, že prestižní listiny CEGT a CCRL RobboLita netestují. Diskusní fóra jsou ale plná příspěvků a testů nadšenců, které není možné ignorovat. Také korespondenční hráče a analytiky „klonovací“ válka nijak netrápí a Firebird už určitě na jejich strojích vesele analyzuje na plný výkon.
Navíc je tajemství Rybky zřejmě prozrazeno. V minulém seriálu jsem napsal: Vašík musel narazit na nějaký „kámen mudrců“, který umožňuje programu bez velkých šachových znalostí dosáhnout neuvěřitelně efektivního a hlubokého propočtu. Posledním takovým objevem byla nultahová heuristika, která posunula programy o 200-300 Elo bodů. V devadesátých letech minulého století měli ovšem šachoví programátoři hlavní společný cíl posunout nevalnou úroveň tehdejších programů, proto si nápady předávali. Nultahovou heuristiku popsal Dr. Donninger v ICCA Sept1993 a tak mohla být využita podle uvážení všemi konkurenčními programy. Zato Vašíkovi se zatím výborně daří svůj nápad před konkurencí utajit.
Nakonec to vypadá, že hlavní síla Rybky spočívala zase v chytré modifikaci nultahové heuristiky. Stopy vedou k programu StockFish.
StockFish
Program StockFish (Marco Costalba a Joona Kiiski) je klonem Glarungu (Tord Romstad, Norsko) v tom nejlepším slova smyslu – nakonec se k vývoji připojil i sám Tord, který neměl čas sám vylepšovat svůj původní produkt. V prosinci 2009 se StockFishi podařil husarský kousek, když verze 1.6 (proti 1.5) poskočila nejméně o 100 Elo bodů. A výkon ještě dále narostl v podverzi „s“ (smooth scaling nullmove), která vidí o polotah hlouběji.
Růst přes 100 Elo bodů se pravidelně označuje zvýšením hlavní verze. Nový StockFish porazí současnou dvojku Shreddera 12 a na listinách se pohybuje těsně za Rybkou. Pražský nadšenec Miroslav Czak dokonce tvrdí, že se svou knihovnou StockFish Rybku 3 porazí a tento trend je markantnější s rostoucím počtem jader. Viděl jsem ale také opačný závěr, kdy více jader StockFishi moc nepomáhalo.
Přirozeně se naskýtá otázka, zda tento skok nebyl dosažen tak, že se Marco „podíval“ do RobboLita. Těžko říci; osobně si myslím, že v roce 2010 se „podívá“ každý autor šachového motoru.
Rybka 4
Útoky se valí ze všech stran, a aby Vašík udržel trůn, nestačí už jen obviňovat konkurenci a mazat odkazy. Svět si žádá Rybku 4, která zase všechny porazí. Vypadá to ale, že Vašík se uplynulý rok věnoval spíš zdokonalení paralelních algoritmů, které využívá ve svém clusteru. Na slibovanou Rybku 3+ mohou uživatelé zapomenout úplně, stejný osud zřejmě čeká Pocket verzi a čtyřka je jen neurčitě ohlášena na první pololetí 2010. Autor dokonce připustil, že to nebude takové „zemětřesení“, jako byla Rybka 3.
Vzdálená Rybka
Tou opravdovou bombou má být Remote neboli Vzdálená Rybka. O co se jedná?
Ve snaze zvýšit výkon šachových programů využívají programátoři více procesorů. Jde o tzv. Deep- nebo MP verze programů.
Zpočátku byly k jejich provozování potřeba velmi drahé servery osazené skutečně několika procesory. Ovšem uvedení dvou- a čtyjádrových čipů (Core2Duo, Quad, i5, i7 od Intelu nebo Athlon X2, Phenom od AMD) přiblížilo tuto technologii obyčejným lidem.
Efektivita Deep- programů ovšem není příliš velká, protože zorganizovat dobrou spolupráci je obtížné.
Vezměte dva silné hráče a dejme jim společně analyzovat nějakou šachovou pozici. Určitě nebudou hotovi dvakrát tak rychle jako jeden z nich. Podobné problémy právě řeší Deep- motory.
Vašík šel ale ještě dál a vytvořil tzv. cluster, což je několik spojených počítačů. V nedávném rozhovoru s Nelson Hernandezem poodhalil poněkud tajemství své počítačové „farmy“. Cluster je umístěn v Německu u Dr. Lukase Cimiotti a tvořen devíti osmi-jádrovými počítači; tedy celkem 72 malých spolupracujících Rybek.
Podle zákulisních informací se mezitím cluster rozrostl na 13 počítačů.
Problémy efektivity jsou zde ještě výrazně komplikovanější než u Deep- motorů.
Jeden kopáč vykope jámu za určitou dobu. Dva kopáči budou skoro dvakrát rychlejší, dohodnou se snad i čtyři. Ale když se jich sejde stovka...
Pro nejnáročnější uživatele chce Vašík svůj cluster nabídnout komerčně. V principu to znamená přihlásit se na internetový server, zadat nějakou pozici a po čase obdržet výsledek od vzdáleně běžícího clusteru. ChessBase i Convecta připravují pro tuto službu vhodné rozhraní. Není to až tak revoluční novinka. Totéž ve skromnější variantě nabízí Shredder pro mobilní telefony už několik let. Za drobnou mikroplatbu si můžete z mobilu odeslat pozici, která bude vzdáleně zpracována silným počítačem s aktuální verzí Deep Shreddera a zaslána zpět. Uživatelský komfort zajišťuje javový program Mobile Shredder. Mimochodem, za podobných podmínek umožní také v terénu prohlídku kvalitního stromu zahájení a tablebasí.
Vašík pojal celou záležitost velkoryse a zájemcům chce nabídnout vysoký výkon v několika cenových hladinách. Za 750 EUR ročně (nebo 0,5 EUR za hodinu) byste měli dostat výrazně vyšší výkon, než bude mít Rybka 4 na čtyřjádru. Přístup na maximálně výkonný cluster má být účtován dokonce až 80-100 EUR za hodinu. Výhodou Vzdálené Rybky je také naprosto aktuální verze programu, zatímco klasická čtyřka zůstane nejméně 14 měsíců bez updatu (stejně jako Rybka 3).
V této souvislosti je zajímavá otázka, za kolik si dnes pořídíte domů osmijádro. Přijatelné procesory jsou i7-920 za 6.500 Kč a i7-950 za 12.800 Kč. Za základní desku dáte kolem 5.000 Kč a k tomu potřebujete aspoň 6G pamětí (osazují se tříkanálově) DDR3 za 4.000 Kč. Připočtěte bednu, disk, mechaniku a Windows a i šetřílkové se dostanou o něco výš, než je roční předplatné Remote Rybky. Srovnáváme ovšem jablka s hruškami; i předplatitel nějaký počítač k přístupu potřebuje a na druhou stranu soukromé osmijádro zdaleka nemusí sloužit jen na šachy...
Od tohoto systému si Vašík slibuje zastavení pirátských kopií a zpětných překladů Rybky. Obávám se však, že nakonec zase skončíme u peněz. Neznám v České republice člověka, který by byl ochoten platit uvedené částky a ani odezvy z výrazně bohatšího Německa nejsou o moc optimističtější.
I kdyby se projekt rozběhl, mohou vzniknout zcela nečekané problémy. Zajímavá je třeba otázka, kdo bude duševním vlastníkem vygenerovaných špičkových analýz. Uchováváním zajímavých částí může síla clusteru růst a jsou tu i možnosti zneužití. V rozhodující korespondenční partii o titul MS bude pan A klientem Vzdálené Rybky, zatímco pan B ne. Jakou záruku má v dnešním zkorumpovaném světě A, že analýzy „neuniknou“ směrem k B?
Závěr
Pojem klonu a klonování šachových motorů je vágní. Trochu „opisuje“ každý, hranice přijatelnosti je sporná a subjektivní. Platí presumpce viny nebo presumpce neviny? Zatím to evidentně vypadá tak, že pravdu má vítěz. Dosud to byl Vašík, ale nový Firebird a spol. mohou řádně zahýbat dalším vývojem šachového softwaru.
Odkazy najdete na mém webu www.vlasak.biz.
Tak, jak to popisujete by to mohla i7 možná zvládnout přes noc. Ale já myslím, že těch úrovní by mohlo být potřeba víc, právě kvůli několikanásobnému odseknutí nulovým tahem. Byl by to asi první případ vyřešení této pozice nějakým programem.
Zajímavá pozice! Můj Pták ohnivák měl úroveň 27 půltahů za 5 minut, 30 za 14 a pak 31 za 25 minut. Dál by to šlo už velmi pomalu, tak jsem ho típnul. Tah Dxe5 zvažoval jako pátou možnou variantu. Při testíku jsem si zhruba zpočítal, že jeden pěšec dámského křídla dojde k poli proměny za minimálně 15 tahů (po manévru Sd1-b3-d5 a Vf7, černá věž stojí na e7 a černá dáma tahá jen e8-d8. K řešení tedy asi nebude potřeba moc úrovní navíc .
ŽarPtice/FireBirdovi nalezení remízy po 1.Da3 na mém notebooku zabralo necelých 7 minut. K nalezení výhry je ovšem ještě dlouhá cesta, má někdo čas pustit počítač na měsíc a zároveň s nadějí, že nevypnou ani na chvíli proud?
4q1kr/p6p/1prQPppB/4n3/4P3/2P5/PP2B2P/R5K1 w - - 0 1
Analysis by FireBird 1.0 beta x64:
1.Qd5 Rxe6 2.Bd1 Kf7 3.Bb3 Qd7 4.Qxd7+ Nxd7 5.Be3 Rc8 6.Bd4 Rd8 7.Rf1 Ke7 8.Bxe6 Kxe6 9.Kg2 Ne5 10.Kg3 h6 11.b3 h5 12.Bxe5 Kxe5
=/+ (-0.45) Depth: 18 00:00:02 6616kN
1.Qd5 Rxe6 2.Bd1 Kf7 3.Bb3 Qd7 4.Qxd7+ Nxd7 5.Be3 Rc8 6.Bd4 Rd8 7.Rf1 Ke7 8.Bxe6 Kxe6 9.Kg2 Ne5 10.Kg3 h6 11.b3 h5 12.Bxe5 Kxe5
=/+ (-0.45) Depth: 18 00:00:02 6799kN
1.Qd5 Rxe6 2.Bd1 Kf7 3.Bb3 Qd7 4.Qxd7+ Nxd7 5.Be3 Rc8 6.Bd4 Rd8 7.Rf1 Ke7 8.Bxe6 Kxe6 9.Kf2 Ne5 10.Bxe5 Kxe5 11.Ke3 h5 12.Rg1 g5 13.Rf1
=/+ (-0.41) Depth: 19 00:00:04 11680kN
1.Qd5 Rxe6 2.Bd1 Kf7 3.Bb3 Qd7 4.Qxd7+ Nxd7 5.Be3 Rc8 6.Bd4 Rd8 7.Rf1 Ke7 8.Bxe6 Kxe6 9.Kf2 Ne5 10.Bxe5 Kxe5 11.Ke3 h5 12.Rg1 g5 13.Rf1
=/+ (-0.41) Depth: 19 00:00:04 12424kN
1.Qd5 Rxe6 2.Bd1 Kf7 3.Bb3 Qd7 4.Qxd7+ Nxd7 5.Be3 Ne5 6.Bd4 Nf3+ 7.Kg2 Nd2 8.Bxe6+ Kxe6 9.Re1 Nc4 10.b3 Ne5 11.Rf1 Rf8 12.Bxe5 Kxe5 13.Rd1 Rc8 14.Rd7 Rxc3 15.Re7+ Kd4 16.Rxh7
=/+ (-0.40) Depth: 20 00:00:07 20101kN
1.Qd5 Rxe6 2.Bd1 Kf7 3.Bb3 Qd7 4.Qxd7+ Nxd7 5.Be3 Ne5 6.Bd4 Nf3+ 7.Kg2 Nd2 8.Bxe6+ Kxe6 9.Re1 Nc4 10.b3 Ne5 11.Rf1 Rf8 12.Bxe5 Kxe5 13.Rd1 Rc8 14.Rd7 Rxc3 15.Re7+ Kd4 16.Rxh7
=/+ (-0.40) Depth: 20 00:00:08 20871kN
1.Qd5 Rxe6 2.Bd1 Kf7 3.Bb3 Qd7 4.Qxd7+ Nxd7 5.Be3 Ne5 6.Rf1 Rc8 7.Bxe6+ Kxe6 8.Bd4 Rd8 9.Kg2 h5 10.Kg3 Rc8 11.h3 Rf8 12.b3 Rc8 13.a4 Rd8 14.Rf2 Rc8 15.Bxe5 Kxe5
=/+ (-0.37) Depth: 21 00:00:12 31960kN
1.Qd4
=/+ (-0.32) Depth: 21 00:00:45 115mN
1.Qd4
= (-0.24) Depth: 21 00:00:48 125mN
1.Qd4 Rxe6 2.Rf1 Kf7 3.Bd1 Qb5 4.Bb3 Rhe8 5.h3 Qd3 6.Kg2 R8e7 7.Bf4 Qxd4 8.cxd4 Nd3 9.Bg3 Ke8 10.Bxe6 Rxe6 11.Kf3 Nxb2 12.Rc1 Kf7 13.d5 Re7 14.Bd6 Rd7 15.Rc6 g5 16.Bb4 f5 17.Bc3 fxe4+ 18.Kxe4 Na4 19.Bd4 Re7+ 20.Kf5
= (-0.19) Depth: 21 00:01:04 163mN
1.Qd4 Rxe6 2.Rf1 Kf7 3.Bd1 Qb5 4.Bb3 Rhe8 5.h3 Qd3 6.Kg2 R8e7 7.Bf4 Qxd4 8.cxd4 Nd3 9.Bg3 Ke8 10.Bxe6 Rxe6 11.Kf3 Nxb2 12.Rc1 Kf7 13.d5 Re7 14.Bd6 Rd7 15.Rc6 g5 16.Bb4 f5 17.Bc3 fxe4+ 18.Kxe4 Na4 19.Bd4 Re7+ 20.Kf5
= (-0.19) Depth: 21 00:01:04 164mN
1.Qd4 Rxe6 2.Rf1 Kf7 3.Bd1 Qb5 4.Bb3 Rhe8 5.h3 Qd3 6.Kg2 R8e7 7.Bf4 Qxd4 8.cxd4 Nd3 9.Bg3 Ke8 10.Bxe6 Rxe6 11.Kf3 Nxb2 12.Rc1 Kf7 13.d5 Re7 14.Bd6 Rd7 15.Rc6 g5 16.Bb4 f5 17.Bc3 fxe4+ 18.Kxe4 Na4 19.Bd4 Re7+ 20.Kf5
= (-0.19) Depth: 22 00:01:13 186mN
1.Qd4 Rxe6 2.Rf1 Kf7 3.Bd1 Qb5 4.Bb3 Rhe8 5.h3 Qd3 6.Kg2 R8e7 7.Bf4 Qxd4 8.cxd4 Nd3 9.Bg3 Ke8 10.Bxe6 Rxe6 11.Kf3 Nxb2 12.Rc1 Kf7 13.d5 Re7 14.Bd6 Rd7 15.Rc6 g5 16.Bb4 f5 17.Bc3 fxe4+ 18.Kxe4 Na4 19.Bd4 Re7+ 20.Kf5
= (-0.19) Depth: 22 00:01:16 193mN
1.Qd4 Rxe6 2.Rf1 Kf7 3.Bd1 Qb5 4.Bb3 Rhe8 5.h3 Qd3 6.Kg2 R8e7 7.Bf4 Qxd4 8.cxd4 Nd3 9.Bg3 Ke8 10.Bxe6 Rxe6 11.Kf3 Nxb2 12.Rc1 Kf7 13.d5 Re7 14.Bd6 Rd7 15.Rc6 g5 16.Bb4 f5 17.Bc3 fxe4+ 18.Kxe4 Na4 19.Bd4 Re7+ 20.Kf5
= (-0.19) Depth: 23 00:01:37 248mN
1.Qd4 Rxe6 2.Rf1 Kf7 3.Bd1 Qb5 4.Bb3 Rhe8 5.h3 Qd3 6.Kg2 R8e7 7.Bf4 Qxd4 8.cxd4 Nd3 9.Bg3 Ke8 10.Bxe6 Rxe6 11.Kf3 Nxb2 12.Rc1 Kf7 13.d5 Re7 14.Bd6 Rd7 15.Rc6 g5 16.Bb4 f5 17.Bc3 fxe4+ 18.Kxe4 Na4 19.Bd4 Re7+ 20.Kf5
= (-0.19) Depth: 23 00:01:44 267mN
1.Qd4 Rxe6 2.Rf1 Kf7 3.Bd1 Qb5 4.Bb3 Rhe8 5.h3 Qd3 6.Kg2 R8e7 7.Bf4 Qxd4 8.cxd4 Nd3 9.Bg3 Ke8 10.Bxe6 Rxe6 11.Kf3 Nxb2 12.Rc1 Kf7 13.d5 Re7 14.Bd6 Rd7 15.Rc6 g5 16.Bb4 f5 17.Bc3 fxe4+ 18.Kxe4 Na4 19.Bd4
= (-0.11) Depth: 24 00:03:10 475mN
1.Qa3 Rxe6 2.Qxa7 Nf7 3.Bd2 Rxe4 4.Bf3
= (-0.03) Depth: 24 00:05:50 878mN
1.Qa3 Rxe6 2.Qxa7 Nf7 3.Bc4 Rxe4 4.Bb3 g5 5.Qb7 Re1+ 6.Rxe1 Qxe1+ 7.Kg2 Qe2+ 8.Kg1 Qe3+ 9.Kg2 Qd2+ 10.Kf3 Qd3+ 11.Kf2 Qd2+ 12.Kf3
= (0.00) Depth: 24 00:06:34 989mN
1.Qa3 Rxe6 2.Qxa7 Nf7 3.Bc4 Rxe4 4.Bb3 g5 5.Qb7 Re1+ 6.Rxe1 Qxe1+ 7.Kg2 Qe2+ 8.Kg1 Qe3+ 9.Kg2 Qd2+ 10.Kf3 Qd3+ 11.Kf2 Qd2+ 12.Kf3
= (0.00) Depth: 24 00:06:37 997mN
Všimněte si i časů na jednotlivých hloubkách a porovnejte s mými staršími komentáři.
22.01.2010 14:32:33 | SKA
Nikoliv, to je pozice z jedné partií zápasu StockFish-Shredder. Sice pěkný, ale pro počítač nijak zvlášť obtížný tah. Skutečnou antipočítačovou pozici hledejte na stránkách EVCOMP o pár let vzad, musel jsem jít až na začátek 2006:
4q1kr/p6p/1prQPppB/4n3/4P3/2P5/PP2B2P/R5K1 w - - 0 1
Gusev - Averbach, Moscow 1951
1.Dxe5!! fe 2.Vf1!
Zdá se, že žádný motor nenajde tento postup v rozumném čase. Pokud se mýlím, dejte vědět!
Stále platí, na vyřešení úlohy by se musel dopočítat program do hloubky nějakých 27 půltahů a to ještě asi s vypnutou technikou nulového tahu, s ní by možná byla potřeba hloubka tak 35. Daleko nad možnostmi i dnešních počítačů. I když máte ty první dva tahy, není zase úplně lehké vyanalyzovat ten zbytek .... Zkoušel jsem to někdy začátkem roku 2008 na starém notebooku (Sempron 3000+) s Togou a po několika dnech byla myslím v hloubce snad 23 a po nějakém tušení výhry ani stopa. Jen první noc myslím zabrala na to, aby dopočítala, že bílý není prohraný.
Např. Rybka 3 je dost důvodně podezřívána, že hloubku propočtu a uzlů udává nesprávně. Počet uzlů neříká vůbec nic, pokud se porovnávají různé programy. Hloubka propočtu určité měřítko je, i když samozřejmě, inteligentní programu stačí nižší hloubka, ale ne zase tak o moc. Někdy před čtyřmi lety např. Smarthink s hloubkou propočtu kolem 12-13 na turnajový čas nebyl o moc slabší než Shredder (kolem 17). Ale zase, pokud se porovná hloubka propočtu u stejného programu, nebo poměr času, za jak dlouho se do ní dostal, docela dobré měřítko to je. Když nechám hrát zápas stejného programu s nastavením na různé délky propočtu, i zde občas vyhraje ten slabší ... Kdysi hodně dávno jsem dělal takové pokusy s Mephistem.
ono řešit počet pozic za vteřinu nebo hloubku propočtu je velmi relativní - každý motor funguje jinak, relevantní je jenom kvalita zahraného tahu
Tak sem zkusil na notebooku a robbolito mi dělá ňákých cca pul milionu pozic za vteřinu. Třeba to Jg5 v pozici 2r3r1/1p1qb2k/p5pp/2n1Bp2/2RP3P/1P2PNQ1/5P1K/3R4 w - - našel tuším za 20s a za cca 40 věděl že je to nejmíň pik navíc, za cca minutu a půl už viděl že to vyhrává. Tohle je nějaká antipočítačová pozice ? Já teda se přiznám sem se nepodíval o tah dál a teda neviděl to Vd4 po Dxd1 co tam bílý má, ale myslel bych si že počítač to uvidí rychle :)
22.01.2010 13:05:17 | SKA
Přesně tak. Skoro určitě by notebook Carlsena pozičně nepřehrál. Ale pokud by Carlsen nehrál nějakou silně zjednodušující, nebo zablokovanou variantu, téměř jistě by dříve či později ztratil materiál a pak už by měl k prohře velmi blízko. Já samozřejmě nejsem Carlsen, chybí mi na něj hodně ELO bodů, ale nevhraji moc často ani se svým HTC, kterému na Rybku na i7 těch ELO bodů chybí zhruba stejně. Princip je stejný, jen ta úroveň těch Carlsenových proher by byla jiná.
22.01.2010 13:35:44 | SKA
Konkrétně 1.e4 f6. Máte Akvárium? Nebo Rybku 3 od Chessbase? naklepněte ty tahy a pusťte MonteCarlo a po nějaké době uložte výsledný strom. Pak si to projděte, zda vás nenapdnou nějaké tahy, které program vynechal a zadejte je do knihy ručně, pokud program neukazuje rovnou, že jsou špatné. Pak si vemte nějakých, třeba osm motorů a dejte mezi nimi turnaj s touto knihovnou pro všechny, případně pak nějaké další, jejichž knihovna by spočíval jen v tazích 1.e4 f6 a dál by hrály vlastní silou. Výsledné partie naimportujte do té knihovny. Lze to udělat i několikrát po sobě. Získáte asi knihovnu, se kterou by program mohl proti jiným programům sem tam udělat nějaké body (ona ta pozice po 1.e4 f6 asi opravdu nebude nic moc, ale porazil jsem např. s Togou s mou gambitovou knihou Hiarcs s jeho vlastní a to po tazích 1.d4 e5 ...). Ale tatáž knihovna vám asi nebude moc platná při hře proti lidem, většina lidí vám asi brzy odbočí, takže nerozhodne zahájení, ale jak umíte oba hrát.
22.01.2010 13:32:20 | Bond(James):
I dnešní počítače hrají ranné zahájení poměrně slabě. A třeba důsledky varianty braní na b2 v B97 nějaký počítač nedopočítá asi ještě hodně dlouho. Lidé jsou možná slabší, ale v knihách je leckdy až několik set let vývoje, to také musí být znát ... Že program po dokončení vývinu a ukončení knihy nějakou figuru zase "zavinuje" se mi u velmi slabého klonu Minimaxu MaxRubin také stávalo. Ale dnešní programy už zase tak špatně nehrají, takže pouhé vyhodnocení výsledků partií proti několika soupeřům by pro odstranění takových excesů mělo stačit. Svého času, někdy v 2008 jsem zkoušel Loop - Shredder bez knihoven. 1.e4 e5 2.Jf3 Jc6 3.Sb5 a6 4.Sxc6 dc6 5.0-0 Sg4 6.h3 Sxf3 ... 1/2, tedy relativně normální výměnná španělka, kde černý pominul 6.-h5. S obrácenými barvami to už bylo slabší. 1.e4 Jf6 2.e5 Jd5 3.Jf3 d6 4.d4 Sg4 5.Se2 Jc6?! 6.0-0 de5? a bílý stál znatelně lépe a vyhrál. Na hraní úplně bez knihovny asi ještě nějaký ten výpočet chybí, nehraje to přesně, i když většinu velmistrů Rybka dnes porazí i bez pěšce, takže i tohle by nakonec asi stačilo. A druhý problém je, že počítače až na výjimky hrají to samé. Strom takové knihovny by byl velice úzký, takže na nějakém silnějším stroji by se časem mohlo najít vyvrácení několika hlavních variant a tím by celá taková knihovna byla k ničemu. To je problém většiny dnešních playchessových speciálů, které většinou hrají stále stejné varianty, které autoři postupně vylepšují analýzami programu - dříve či později se vyvrácení, nebo alespoň snadná cesta k vyrovnání najde.
Jo takže bych si prostě buď pustil multivariant, anebo si udělal počáteční velmi širokou knihovnu (všechny tahy co počítač nezavrhne ihned) , pak na to nechal robbolita sehrát turnaj abych měl na každý tah řekněme 4-10 partií a pak bych vyházel z možností ve druhém tahu za bílého ty kde černý více skóroval a pokračoval úrovní že bych přidal tahy černého a zase kde by skóroval bílý nadměrně bych odebral atakdál a tím by se mi pomalu s každou další úrovní tvořila teorie zahájení = knihovna po 1.e4 f6. Jelikož nejdelší dobu zabere to odehrání turnajů nevypadá to tak pracně zase možná. (to vyhodnocení se dá navíc určitě zautomatizovat i nějak s tím vyškrtáním tahů).
Obecný problém knihovny zahájení je v tom, jaké tahy řešit - pokud pouze ty nejlepší, tak vznikne velmi úzký strom, který v praxi k ničemu není (soupeř brzy uhne "slabším" tahem) a pokud chcete řešit všechny "normální" tahy, tak je strom neúměrně široký a moc do hloubky se nedostanete. Většinou se to řeší přebíráním variant s odehramných velmistrovských partií, ale otázkou je, do jaké míry jsou tyto varianty k užitku motorům, které myslí přece jenom jinak. Je to zkrátka takové "polidšťování" motoru, kterému nejsem moc nakloněný. Počítač by měl hrát na základě vlastních analýz.
Re mephisto : jo to je hezká ukázka toho co lidi počítače naučili : že koukat do šířky víc se vyplatí :)
22.01.2010 13:10:53 | SKA - tohle by třeba šlo, ale chyběly by tam lidské nápady, jak to zmíněném 1.e4 f6 hrát bílými i jinak. Chtělo by to pustit multivariant a do určité úrovně tam za obě strany zaznamenat do ní alespoň několik nejlepších tahů a ještě případně nějaké svoje nápady, pokud podle počítače neprohrávají ihned. A teprve takovou knihovnu zkoušet ve spoustě partií. Zrovna toto je snad jediný případ, kdy se hodí funkce MonteCarlo/Idea u Rybky/Akvária. Sice to nevidí pro krátký propočet taktické obraty, ale jako určitý ukazatel úspěšnosti zahájení pro daný program by to snad fungovalo.
Tak sem se podíval na ten zajímavý odkaz o tvorbě knihovny a pochopil sem z toho, že teda tohle dělá jen výhradně člověk zatím. Tedy pro 1.e4 f6 (když zůstanu u tohoto příkladu na nějž nejsou za posledních sto let žádné partie) bych si knihovnu zahájení musel udělat sám a to tak, že budu postupně ji upřesňovat od počáteční velké šířky tahů (zvláště za bílého) do hloubky a k menší šířce ponecháním jen těch kde má černý největší problém. Žádná automatizace tedy, průzkum bude na mně (páč počítač s robbolitem bude hrát vždy jen pár tahů sám od sebe na konci knihovny) počítač pak bude simulovat sgm zápasy z dané pozice na konci knihovny. Tedy rozdíl mezi mým pc+mnou a Carlsenem hrajícím f6 bude v tom, 6e Carlsen má počítač v hlavě, společné bysme měli že musíme dělat průzkum ručně :)
SKA: V knize Šachy na PC je pěkný příklad, jak prohrála Polgárová s nějakým Mephistem. Knihu nemám u sebe, takže jen jak si pamatuji:
Polgárová černými měla strukturu pěšců e6,f5,g6, pěšec f5 byl tedy krytý dvakrát pěšcem. Asi málokterý velmistr by se zabýval propočtem oběti figury právě na takovém poli. Jeho uvažování by bylo zhruba tady vezmu, on vezme pěšcem a co za to mám - blbost, a začne přemýšlet nad něčím jiným. A přesto počítač, Mephisto (PRAVĚK, maximálně pár stovek pozic za sekundu), rozhodl partii právě braním na f5. Lidé při partii mají určitý způsob uvažování a někdy nejsou schopni odhalit to, co počítač vidí ihned, protože je to prostě vůbec nenapadne, že by mohlo stát za to něco takové počítat - a ono to ještě k tomu VĚTŠINOU za to nestojí! A tak sem tam nějaký hráč vlivem intuice, nebo mimořádné dispozice nějakou vítěznou kombinaci najde, ale mnohem častěji ji najde dříve počítač. Proto se už poměrně dávno kombinační hra proti počítači moc nevyplácí. Já porazil kombinací naposledy snad Rebel8 (i ve své době uváděný jako takticky slabší) na nějaké 486 obětí na b5 v Sicilské, to už je hodně dávno.
Co se týče té knihovny zahájení, ten přístup DeepBlue mně zaujal : prostě špatné či horší osekal (či označil jako 5% jen šance na výhru resp. na celý bod) a ostatní pak nechal na další upřesnění, proto sem se ptal zda něco takového existuje, že bych počítači zadal třeba (ať máme názorný extrém) 1.e4 f6 a nechal ho půl roku počítat ať mi udělá (na základě partií co sehraje proti sobě či jiným programům případně) knihovnu zahájení jak hrát f6. Před několika lety tohle člověk mohl dělat jen ručně, proto ten dotaz i.
Hmm, no s těma nápadama to moc nechápu (jako že nerad zkoumá na první pohled divné varianty?)
Jinak teda robbolito (či rybka3) na pc/notebooku (dejme tomu s jedním procesorem) kolem 2GHz je oproti Carlsenovi takový skvělý taktik ale slabý poziční hráč ? Takže prostě by to Carlsenovi zkazil tím, že si počká až Carlsen udělá chybu ? Teda teď sem se vyjádřil asi dost nešťastně.
Bond: Že program dobře hodnotí nějakou vaiantu, když z knihovny vyleze ještě nic znamenat nemusí. O dva tahy dále může být hodnocení dost odlišné. Optimalizovat knihovnu pro program by měl spíš člověk a to nikoliv podel hodnocení, ale podle výsledků jednotlivých zahájení proti ostatním programům. Jeden takový nápad, jak to udělat u binární knihovny (Polyglot/Toga/Fruit, dnes StockFish) jsem popsal v závěru této stránky:www.chesspraga.cz/ph-book2008.htm , v kapitole ladění turnajové knihovny pro jednotlivé motory.
SKA: Můj notebook je dvou jádro s 2.27MHz. Mám 64bitový systém (32bitů = u Rybky tak 40% výkonu dolů, tedy možná -40ELO). Na CEGT www.husvankempen.de/nunn/40_120_ratinglist/ratinglist/rangliste.html je pro Rybku na dvoujádru (možná s trochu vyšší frekvencí) uvedeno 3117ELO. Jak jsem v předešlých příkladech dokazoval, zhruba to sedí. Takže i na mém notebooku by mohla mít Rybka ELO kolem 3100ELO. Je ovšem nutné také vědět, jak program té síly dosahuje. Především tím, že nedělá hrubé chyby a každou soupeřovu nemilosrdně využije. Pak také občas dokáže najít taktický obrat, jaký by člověka vůbec nenapadl. I tak se dá říci, že poziční hra mého notebooku je zhruba na úrovni přes 2600ELO, tedy srovnatelné s velmistrem, ten zbytek je nutné připsat právě těm specifickým vlastnostem počítače. Takže asi i ty máš doma velmistra, ale ... počítač nemá tak zajímavé poziční nápady. Na přehrávání/výuku jsou lepší lidské partie, na zhodnocení variant asi počítačové. Ale co nelze hrát proti počítači, třeba většinu starých gambitů, lze hrát proti lidem - nikdo do hlavy nenacpe ani zlomek počítačové knihovny, technika obrany bude určitě horší, člověk sandno nějaké obraty přehlédne.
Co se týče klihovny zahájení, tak každý motor si ji samozřejmě musí optimalizovat pro svou oceňovací fci - tj. ořeže varianty, které se mu nelíbí. Jinak by odehrál X tahů teorie a v závěrečné pozici by se začal zase "zavíjet", protože se mu konečná pozice nelíbí a chce postavit figurky jinam.
SKA: Jistě, kompilátory jsou různě kvalitní a pokud ten druhý byl sice novější, ale zadarmo, klidně mohl vyhodit dost pomalejší kód. Většinou si s tím lidé hrají a zkompilují několik variant s různým nastavením kompilátoru, pak se do světa pustí ta nejpovedenější. Já si pamatuji jen starý Borland 3.1. Minimax z kódu zkompiloval asi o 10% pomalejší, než byla ta verze na CD u knihy Šachy na PC. Tamtéž psali o programu Nimzo 2.2.1, že běží rychleji, když je zkompilován na co nejmenší velikost souboru, nikoliv rychlost programu, kvůli volnější cache. Jazyk C++ snad pro šachy žádná podstatná zlepšení nemá, ale profesionální kompilátor by asi měl stvořit trochu rychlejší kód, než před lety. Dá se to asi přirovnat k vytváření html stránek ve Wordu a dalších editorech - je to čím dál kvalitnější, ale html kód napsaný v notepadu (v případě šachového programu assembler) bude vždy menší a tedy se načte rychleji.
Jinak ještě jedna otázka se vnucuje : za předpokladu že skutečně teda počítače mají na běžném procesoru (zde bych prosil o upřesnění pár hodnot např. notebook 1.8GHz, PC 2GHz, 3GHz, multijádro ... ) sílu 2800 či 2900, znamená to že když chci vidět špičkově sehranou partii tak nemusím chodit sledovat Carlsena ale stačí si mi doma pustit vážnou partii na PC počítač vs počítač ? (a ještě mám možnost jim vnutit zahájení jaké mně zajímá)
SKA: Dnes už velmistři nechtějí s počítači moc hrát. Někde v argentině udělal nějaký PDA/PC Pocket (lepší telefon, třeba HTC), velmistrovskou normu ...
Moje HTC Diamond má procesor na 466Mhz, myslím, to odpovídá Pentiu II. A na něm mívaly programy tak 2400-2500ELO (Fritz5/cca 2000), ty dnešní, pokud by na tom hardware běžely, by mohly mít o dalších 100ELO víc. Takže to zase odpovídá. A kdybys pustil takový mobil proti slušnému domácímu počítači, semtam nějakou remízu by asi udělal, ale moc % dohromady by to nebylo, tam hledej těch 3200 uváděných pro Rybku3 a možná až 3400 plánovaných pro Firebird/ŽarPticu
Mimochodem jak je to s jazyky a kompilátory ?
Třeba nedávno sem cvičně překompiloval jeden motor v nějaké novější verzi C++ (co byla i zadarmo) a oproti kompilaci ve star0m MS Visual C++ pak počet pozic za vteřinu byl výrazně pomalejší.
Bond: Jo tys myslel lidi proti sobě, aha. No tak k výhře jsou obvykle vždy dvě, třeba malé výhody. Ony ani počítače dnes v zahájení pěšce moc neberou, vypni Rybce/Fritzovi/Shredderovi knihovnu a dívej se třeba na různé příklady braní pěšců v zahájení. A ne vždy tam je vidět konkrétní vyvrácení, "jen nějaká iniciativa".
Jinak na jednom běžném procesoru robbolito hlásí cca kolem 1milionu pozic za vteřinu řádově že ? Proto sem se ptal, se mi to zdálo těm 200 milionům děsně daleko. Ty koeficienty jsou nicméně velmi zajímavé, je-li to tak možná to souhlasí.
Ale stejně se nemůžu zbavit dojmu, že počítače hrají jen mezi sebou a přitom by bylo zajímavé mít jeden (se stejným hardware třeba vždy 2 roky) v každém turnaji top hráčů.Pokud by se mu zafixoval hardware tak by se mu i mohlo počítat elo. A díky jeho stabilitě by pak byl tímto propojen svět izolovaného PC šachu a lidské top. Zajímalo by mně jaké by měl takový "šachový robot" výsledky.
Ono to letí, kniha Šachy na PC je už 15let stará. Pro ty, kdo ji neznají, tak asi hlavním způsobem, jak omezit protočet nežádoucích variant je technika nulového tahu.
Vychází z logiky, že pokud ani při dvou tazích po sobě nezískám lepší výsledek, než mi dává aktuálně hlavní varianta, potom ten první z dvojice tahů nestojí za nic a nemá smysl se jím dále zabývat. Zatímco dříve program spočetl hlavní variantu a na odseknutí ostatních tahů potřeboval ještě nejméně dvojnásobný čas (kdo má např. nějaké Mephisto z 80let, ať se koukne), spíše více, dnes spočte hlavní variantu a zbytek tahů většinou jen zběžně prolétne. Nefunguje to stoprocentně, občas někdo zveřejní pozici, kde program se zapnutou technikou nulového tahu nenajde mat apod., ale jinak jen toto asi zrychluje propočet dost výrazně. V knize Šachy na PC uvádí přínos této techniky kolem 200ELO bodů.
Program samozřejmě odsekává tím rychleji, oč je hlavní varianta lepší, než ostatní. Proto většinou není moc výhodné nechat běžet počítač v režimu dvou, nebo dokonce více variant. O to pomaleji odsekává ten zbytek a hrozí riziko, že se přehlédne nějaký taktický obrat. Má to snad smysl pro zběžnou prohlídku aktuálně vkládané partie, ale pro analýzy korespondenčních partií tento způsob asi není výhodný (většinou). Již dvě při dvou variantách se počítač do stejné hloubky dostane možná i třikrát pomaleji a jsou prý i tací, kteří si těch variant nechávají zobrazovat deset ...
Re pěšec : myslel sem samozřejmě v minulosti že pěšec navíc, počítače později ukázaly že se dá hledat kompenzace a taktiky často tam kde by je nikdo nehledal (lepší schopnost počítače procházet "minovým polem" (=soupeř má mnoho stejně dobrých tahů, ale strana počítače v té pozici jen málo či 1 třeba i často jen, ostatní prohrávají). A jak je to dnes ? Teda pokud ukazuje třeba robbolito +1 pěšec, vždy (99.99%) vyhraje ? Mám podezření, že jelikož i on má horizont tak ... ne
Co se týče DeepBlue dával sem to spíš jako příklad počtu pozic za vteřinu, to byl antikasparovský bspeciál, jo hydra vs Adams bylo zajímavější. hrát antipočítačově či ne to je otázka vždy je to něco za něco, to je jako nutit capablanku útočit mi přijde - viz Adamsův rozhovor k zápasu s hydrou, zdá se to logické.
"Hraje roli štěstí na variantu, kterou zrovna knihovna vyhodí." - Není tohle ale obecně problém 2700+ šachu obecně i lidského ? Netráví lidé hlavní čas pak nad domácí přípravou zahájením ? Jinak je pravda, že počítače v šachu se neumí sami připravovat na zápas - učit se, dělat si sami analýzu a rozšiřování knihoven. Se divím, že to někdo ještě nenaprogramoval, by se pustil pc přes noc a ladil by své knihovny (sám proti sobě, proti jiným motorům, podle partií hraných ve špičce ...).
Rubinus: Jak tím vyvracíš skutečnost, že velmistr proti velmistrovi potřebuje kromě pěšce navíc ještě poziční výhodu (proto takové pěšce většinou nežerou, ale dusí soupeře a drží iniciativu)?
Bond: A četl jsi na EVCOMP ty zprávy o zápasech Rybky bez pěšce proti poměrně renomovaným velmistrům? Pokud vím, tak jeden jediný takový minizápas vyhrál. Takže to s tím nalézáním kompenzace asi nebude zase tak žhavé.
A když se ještě vrátím k Deep Blue a Hydře, tak:
- Deep Blue porazil Kasparova 3.5:2,5? = 58%, pokud Kasparova počítám 2800 (spíš méně, myslím že nehrál v optimální formě a také "nepřizpůsobil jízdu stavu vozovky" - nehrál mo antipočítačově), potom performance Deep Blue je zhruba 2860. Pokud jsem v předchozím příspěvku napsal +400 ELO pro dnešní programy, tak když se mrknete na listinu CEGT, zhruba to odpovídá!
- Hydra byla novější než Deep Blue, měla asi i trochu lepší (novější) program, dejme tomu můj ODHAD 3,5násobek pro prodloužení propočtu o půltah ... Na druhé straně již běžela na více procesorech a v té době se to programátoři teprve učili. Takže efektivita jejího využití více procesorů patrně byla také o dost horší, než u Rybky na clusteru. Ten odhad něco přes 3000ELO možná mohl sedět, ale ... Hydra, pokud vím, nikdy nevyhrála MS počítačů a to ani proti tehdejším protivníkům, u kterých bylo odhadováno ELO do 2900ELO (rok 2005, Shredder). Největším úspěchem Hydry byla myslím výhra v Paderbornu 2005, 8 z 9.
Turnaje počítačů jsou podle mě příliš krátké, Donninger měl s Hydrou asi i trochu smůlu. Třetina soupeřů je do počtu, třetina má šanci sebrat body favoritům a zbytek má šanci na titul. Takže o výhře rozhoduje nějakých šest partií, příliš málo. Hraje roli štěstí na variantu, kterou zrovna knihovna vyhodí. Dokonce i zápas v Mexiku mezi Rybkou a Zappou byl podle mě příliš krátký. Zbytečně se hrálo jen 10 partií, většinou dvě denně, při zvoleném tempu hry mohli klidně hrát šest sérií po čtyřech hrách (přestávky na případné dolaďování programů a knihoven), zápas by přitom trval stejně dlouho a dvacetčtyři partií by dalo mnohem přesnější obrázek.
No fór je v tom, že velmistr si tu kompenzaci vždycky najde, když už vidí, že se schyluje ke ztrátě pěšce - řečeno PC hantýrkou, +1.0 k výhře opravdu nestačí, je třeba alespoň +1.25
SKA: Pěšec (bez kompenzace) je v podstatě stále výhra, že to velmistr s počítačem nevyhraje, to je "koncovka nestejných hráčů". A co se Deep Blue týká, nejde jen o rychlost propočtu. Deep Blue měl pokud vím velmi primitivní oceňovací funkci a to zabudovanou snad přímo do nějakého harwarového čipu, kvůli rychlosti (Šachy na PC). Oceňovací funkce většiny dnešních programů jsou asi lepší, k tomu lepší knihovny zahájení (Šachy na PC - ta pro Deep Blue prý vznikala tak, že program projížděl různé varianty a tam kde vykazoval dobré hodnocení, označil si ji jako hratelnou, to je dost zavádějící systém při kvalitách jeho oceňování), tablebáze koncovek. A hlavně:
Alice: Nejde ani tak o ty oceňovací funkce, ale o ta programátorská vylepšení. Ta umožňují daleko efektivněji ořezávat strom výpočtu, než dříve, takže dnešní programy pro prodloužení propočtu o jeden půltah potřebují 2-3 násobek času pro předchozí úroveň. Počítač dnes dokáže odvrhnout neperspektivní tahy rychleji, jak dříve, takže se s nimi tolik nezdržuje. Hsuův program pro Deep Thought/Blue vznikal někdy koncem osmdesátých a začátkem devadesátých let. Tehdejší programy, např. M-Chess pro, potřebovaly k prodloužení propočtu nejméně pětinásobek a programová část Deep Blue určitě nebyla lepší, jak u M-Chess Pro. Zkuste si to, začněte třeba na hlouvbce 12, kterou mohl mít Deep Blue do 1s (jen takový můj odhad) a dále násobte 5 - kolik času bude potřebovat pro dnes celkem normální hloubku 20 (mám na mysli nějakou obyčejnou pozici střední hry, ne koncovku? 5s pro 13 (u M-Chess na pentiu I to bylo na celou noc ...), 2min pro 15, 50min pro 17, 104h10min pro hloubku 20. Dnešní Rybka se do té hloubky často dostane do tří minut .... A psávalo se, že každý dvojnásobek rychlosti je 70-100ELO bodů, podle kvality programu. I kdybych se u Deep Blue sekl o dva půltahy, takže by tu hloubku 20 měl 25x rychleji, za 4h10min tak je to pořád proti 3min tipovaným u Rybky přibližně 83x pomalejší. A za každý násobek dvou počítej 70ELO, tedy 2/4/8/16/32/64/(128) cca 6,2krát 70 a máme tady právě těch přibližně 400ELO, o které jsou dnešní programy lepší. Jasné?
Jo jo, podnětná diskuze, asi zase konečně začnu makat na svém SUJAK Fractal Chessu.
P.S. Davide - jestli si myslíš, že piškvorky jsou vyřešené, tak si spolu můžeme dát mač kde budeš vždycky začínat a vsadím se, že tě lusknu
SKA-zajimave prispevky.
Srovnavat DeepBlue s dnesnimi programy je trochu nestastne - myslim si, ze bych vsadila cokoliv na Rybu na nejakem sviznem okta. Jednoduse ocenovaci funkce za posledni 4 roky udelaly velky skok a to ani HW prilis nezachrani. Mimochodem i na takovem PC Rybka bude vykazovat nekde radove kolem 500.000 pozic/s - kdyz to vynasobime 10, coz je oficialni parametr, tak uz Rybka vykazuje jen 40x mene pozic za vterinu nez Deep Blue. A nemam pochyby, jakym tempem a kam se HW za poslednich posunul. Hydra je zajimavejsi projekt, ale take zjevne mrtvy - posledni zminka je jaro 2006 (Freestyle) a pak uz nic.
Jeste yajimavejsi je myslenka ohledne remizoveho "koridoru" - ten se stal opravdu velmi sirokym a i drive pochybne varianty a zahajeni lze dnes celkem uspesne hrat.
Co se týče tajemnosti, přijde mi jí v šachu ještě dost a dost, třeba sem prověřoval dogma, že po 1.e4 f6 je to prohrané za černého a to i v pomalejších tempech a říkal sem si robbolit vs robbolit či rybka to asi bude bílýmsa drtit vždy a ono ejhle nebylo to tak jasné ... Není zřejmé, zda prostě je to tím, že bílý má mnoho tahů a černý jen třeba často jeden který nevede k prohře anebo tím, že je to vždy vyhrané za bílé. V tomhle mít na testování schopný nástroj typu počítač+robbolit je něco nenahraditelného, umožňuje se vydat kam se nikdo předtím ještě nevydal ...
Jinak už před lety sme hrávali takzvaný kreativní šach, před partií se řeklo jak chodí která figurka a pak se hrálo. Třeba dáma chodila do spirály apod. Pokaždé jinak, to pak člověk musel i přemýšlet jakou má asi která figura cenu, jaká koncovka se dá a jak vyhrát o tom nemluvě. Navíc to rozvíjí určitě strategické myšlení více než sedění nad zahájeníma klasického šachu. Stačilo by zobecnit šachy takovýmto směrem a nejspíše by počítače zase poklesli hluboko pod velmistrovskou úroveň. Ono i fišerovy šachy sou lepší o něco málo a přesto se pořád hrají ty klasické, je to logické, když už Ti co sou na špici do toho vrazili tolik času aby se to naučili, přece nebudou se vzdávat té výhody. Na druhé straně mládeži a ostatním by to otevřelo zcela nové obzory ...
Jinak mně se líbí, že počítače pomáhají odhalit podstatu šachu, dnes je jiná doba, každý má doma trenéra (super)velmistra typu robbolito .... Už v minulých letech se pomalu ukazovalo, že šachy jsou mnohem taktičtější a možná i mnohem remízovější než se zdálo, tak uvidíme.Každopádně zcela jistě třeba Carlsen je zástupce generace, která už si hrála se silnýma počítačema v dětství, určitě vidí šachy jinak o něco zase, ale byla by nuda kdyby pořád platilo, že pěšec navíc je téměř automaticky výhra jak se to třeba v éře Karpova hlásalo no ne ?
Jinak poslední velké měření sil šachové špičky s počítači bylo asi Adams vs Hydra a tam počítač počítal tuším cca 200 milionů pozic za vteřinu, což bylo totéž co kdysi DeepBlue co porazil Kasparova. Tenkrát sílu Hydry odhadovali na 3000+, s tím že nedělala slabší tahy jako běžné PC, z toho plyne dotaz:
Když se mluví o síle 3000 ELO či dokonce 3300, není to nadsazené, běžné PC přece má pořád daleko k DeepBlue či Hydře s těmi 200 miliony pozic za vteřinu. Dosahuje tedy běžné PC skutečně 3000, nebo spíš je to gm až super gm tedy 2600-2700 ?
Tak od nějakého vyřešení šachu sme daleko věky věků ještě, a ikdyby teď nějaký ufon přinesl na X miriádách bytů řešení, stejně by ještě zbýval problém jak to interpretovat. Mnohem složitější než u koncovek, kde se sice ví u některých X kamenových kdo vyhraje ale pochopit proč a jak je věc jiná. Je to jako pochopit určitý vesmír, ví se něco jak funguje ale jak to popsat všeobjímající teorií, vemte si problém termodynamiky vs ostatní fyzika, problém sloučení teorií do jedné...
PS. piškvorky sem viděl vyvrácené jen nějaké pidi 15x15, eště sem neviděl program co by vždy vyhrál na nekonečném či dost velkém papíře (třeba čtverečkovaný A3.
peknej clanek fakt. co se tyce tech analyz. vcera jsme meli trenink s klimousem a on ukazoval partii vanWelly Carlsen, standartni damsky gambit a naraz prislo je4. tohle podle me nikdo normalni nevymysli a je to dopad sachovych motoru na dnesni stav pripravy na zahajeni. kdo bude ovladat tyhle triky ze zahajeni (a disponuje velkou sachovou silou coz carlsen urcite disponuje), ma obrovsky naskok pred "normalnimi" hraci. tady fakt ty pocitace sachy doslova borti. na druhou stranu nikdo si nedokaze zapamatovat vsechno takze snad sachy neskonci jako piskvorky. (tam je dokazano jak ten kdo je na tahu proste musi vyhrat...)
Jen se smeju. Jako praktickemu hraci mi to je celkem sumak, ale hrat kor. sach, tak mi z toho vypada i tech poslednich par vlasu.
Petr Hába: Rybka 3 není tři roky stará, ale necelý rok a půl. Můj adresář s Rybkou tři má datum 27.9.2008 a více, jak měsíc mi její pořízení netrvalo. Další verze Rybky v mých zálohách: 2.3 - 15.2.07 (posl. verze serie byla 2.3.2a, pak se Vašík odmlčel na rok a půl), 12.f - 7.5.06 (mezi posledními jedničkami a prvními dvojkami byla asi půlroční pauza), první beta 24.12.2005.
Pěkný článek! Druhý odstavec mne rozesmál, autor programu je skvělý recesista. Soudím, že jeho cílem bylo nejen pobavit mně a mně podobná individua, ale taky rozlítit Vašíka, což se mu povedlo.
Jsou nějaké indicie alespoň naznačující odkud autor Ippolita pochází?
Také bych chtěl poděkovat autorovi za velmi čtivé aktuální informace ze světa počítačového šachu. Myslím, že vývoj situace bude zajímat hodně nadšenců a proto bych takové články (případně i diskuzní fórum) uvítal častěji. Podělím se i o vlastní zkušenosti:
Stockfish 1.6 jsem nějakou dobu na své i7 testoval, jeví se opravdu slabší než R3, ale v koncovkách je bezchybný i bez pomocí Tablebází. Nové beta verze motorů Firebird a Ivanhoe jsou o dost rychlejší než Rybka 3, není se ani čemu divit. Přeci jenom nezapomínejte, že R3 je už více než tři roky stará, tedy v počítačovém šachu vlastně důchodkyně! Testovat je ale budete muset asi sami, neboť Chessbase hraní těchto "podezřelých" motorů na svém serveru jednoznačně zakázala.
exot: Pravděpodobně ano. A jako doplněk doporučuji StockFish, pokud běží i kibic. Zejména v zahájení a počáteční střední hře leccos objeví dříve.
Honza Hučín: Analytický přínos ve smyslu oceňování pozice téměř nehraje roli. Jakákoliv znalost navíc se projeví zpomalením, což je většinou nevýhodné. Daleko vyšší je lidský přínos po programátorské stránce, různé triky jak co nejefektivněji omezit propočet špatných variant - to také nemá s rychlostí hardwaru nic společného.
deVillante: Ano počítají, ale bývá tam jedna drobná podmínka, v případě využití kódu je nutné následný program také nabízet jako open source (a to Vašík u Rybky, je-li skutečně klonem Fruita, nesplnil). O to také v těch vzájemných výpadech na různých diskuzních serverech jde. Mě osobně už to čtení tam unavuje). Ippolit a spol kód nabízí.
Chválím autora za zajímavé a aktuální informace.
Článek je to pěkný, akorát bych doplnil, že open source motory počítají s tím, že budou klonovány. Je to v zásadě jeden z principů open source. Autor počítá s tím, že bude jeho práce využita dál.
skvělé, je to jako detektivka . Nemyslím si, že tím šachy trpí. Je to úplně jiný svět než praktický šach, a i v tom computerovém se, jak je vidět, utkávají ve svých zápasech lidské mozky.
Vynikající články od p. Vlasáka, díky !
Je to fascinující, ale zároveň i trochu smutné čtení - každým dnem ztrácejí šachy trochu ze své tajemnosti.
Zajímalo by mě, do jaké míry se na vzestupu šachových programů podílí rostoucí dostupnost hrubé síly, tj. zlepšující se technické podmínky, a jaký podíl má zpřesňování hodnocení pozic, tj. lidský analytický vklad.
Výborný článek!
EV: Takže vystřídat Rybku 3 v prostředí Fritze 11 Žarem-Pticou je dobrý nápad?