Hrať proti najsilnejšiemu šachovému počítaču na svete
Chystám sa hrať proti Stockfishu 16, najsilnejšiemu šachovému počítaču na svete, a uvidíme, ako dlho dokážem prežiť. Čo to, do čerta?! Som v poriadku… nie, nie som v poriadku. Dáma berie strelca, šach-mat. To bolo hrozné. Nikdy to už nechcem zažiť. Dostal som šach-mat v 34. ťahu.
Volám sa Levy Rosman a chcel by som sa dozvedieť trochu viac o tom, ako Stockfish premýšľa, aby som mohol jeho triky využiť na porážku iných ľudí. Dnes sa budeme rozprávať s Garym Lincotom, softvérovým inžinierom, ktorý pracuje v oblasti počítačového šachu viac ako 20 rokov.
Čo robí Stockfish takým výnimočným?
„Gary, pracovali ste na Stockfishu. Čo ho robí takým dobrým?“
„Stockfish skutočne využíva výhody supersilných počítačov. Prehľadáva desiatky miliónov pozícií za sekundu. Ak mu dáte 30 sekúnd, prehľadá viac ako miliardu pozícií, čo je viac, než koľko pozícií uvidí človek za celý svoj život.“
Aj keby som žil sto životov, nebol by som schopný vyhrať túto hru. Nielen to, ale hodnotiaca funkcia, ktorú používa – jeho spôsob posúdenia šachovnice – je pravdepodobne silnejšia ako takmer všetci šachoví hráči na svete.
Šachové ELO je v podstate číslo, ktoré kvantifikuje vašu úroveň zručností. Najvyššie ELO, aké kedy dosiahol človek, patrí Magnusovi Carlsenovi. Moje ELO je momentálne 2322.
„Aké presne je ELO Stockfishu?“
„Pravdepodobne viac ako 3500.“
Nikdy som nemal šancu pochopiť, ako Stockfish vlastne rozmýšľa. Mali by sme začať úplne od začiatku hry.
Ako Stockfish pristupuje k otvoreniu hry
Väčšina šachových otvorení je pre ľudí subjektívna. Človek si vyberie otvorenie, pretože mu prináša väčšiu zábavu. Môžete mať niečo radi, pretože vám to dáva veľký stred alebo veľmi aktívne figúrky. Takto si väčšina hráčov vyberá svoje otvorenia.
V mojej hre proti Stockfishu som zahral pešiak na D4. Pozrime sa, aké otvorenie hrá Stockfish – a odpovedal jazdcom na F6.
„Gary, spôsob, akým sa ľudia učia šachové otvorenia – čítame knihy, vytvárame šachové súbory a snažíme sa ich zapamätať, pretože počas turnajových hier k nim nemôžeme pristupovať. To by bolo ako podvádzanie pri školskom teste. Kniha otvorení v šachu je obrovská šachová databáza. Má Stockfish nejaký názor na šachové otvorenie už v druhom alebo dokonca prvom ťahu?“
„Spôsob, akým premýšľa o otvorení, je naozaj odlišný od človeka. Nepoužíva šachovú teóriu, veľmi zriedka hodnotí pozíciu otvorenia. To, čo hodnotí, sú výsledné štruktúry, ktoré by sa mohli vyvinúť z tohto otvorenia, ale ďaleko dole v hernom strome. Už od začiatku hodnotí koncovku.“
Vo svojom druhom ťahu Stockfish zahral D5, čo je veľmi populárny ťah, a tu som sa rozhodol zajať tohto jazdca. Ľudia by mohli vidieť zdvojených pešiakov a cítiť sa nepríjemne, mohli by vidieť slabosť vo svojej pozícii.
„Má Stockfish tieto malé kľúčové slová ako ‚slabosť‘ alebo ‚neaktívna figúra‘? Čo vlastne vstupuje do jeho hodnotenia?“
„Hodnotiaca funkcia je trénovaná na obrovskej knižnici šachových hier, ktoré boli hrané, a tak absorbuje tieto znalosti. Všetko ide do obrovskej neurónovej siete a potom môžete trénovať svoju hodnotiacu funkciu, aby sa naučila, čo je dobré a čo zlé. A potom táto sieť beží, keď Stockfish prehľadáva pozíciu a používa ju na navigáciu v otvorení.“
Stredná hra a tajomstvo Stockfishu
Väčšina stredných hier začína okolo 10. až 15. ťahu. Je to fáza hneď po otvorení, keď ste dostali všetky svoje figúrky von. Strednú hru v šachu si môžete predstaviť ako obrovský oceán – masívny strom možností.
V mojej strednej hre proti Stockfishu som zahral pešiak na C4. Stockfish zahral ťah, ktorý by podľa mňa proti mne nezahral žiadny človek – absurdný pešiak na G5, čo ma prinútilo hlasne povedať: „Čo je to? Panebože, je to naozaj najlepší ťah v tejto pozícii?“
Tento ťah porušuje väčšinu ľudských šachových princípov, s ktorými sme vyrastali. Nemali by ste posúvať pešiakov pred svojho kráľa. Nemali by ste oslabiť oblasť šachovnice, kde nemôžete získať žiadnu výhodu.
„Ako môže Stockfish porušovať tieto starodávne princípy?“
„V tomto prípade to môže byť jednoducho tým, že tento ťah je príliš ďaleko za ľudskou hranicou, aby bol rozumný. Stockfish hodnotí každý možný ťah a zoradí ich. Všetko sa redukuje na jediné číslo, čo je pravdepodobnosť, že z tejto pozície vyhrám. Stockfish nemá emócie a názory, jednoducho zahrá najlepší ťah, ktorý podľa neho existuje.“
„Áno, Stockfish sa určite emočne nezaoberá pozíciou. Hodnotí ju na úrovni veľmajstra, ale potom prehľadáva 50 ťahov, 60 ťahov do budúcnosti, aby vyhodnotil, aký je najlepší možný ťah.“
„Som zvedavý, ako extrémne silný človek – koľko ťahov dopredu vyhľadávate vy?“
„Neuvedomil som si, že toto bude praženie Levyho Rosmana. Niekedy môžem ísť 10 ťahov dopredu, ak je to pozícia v koncovke a môžem identifikovať vynútené ťahy pre obe strany. Niekedy som zaseknutý v strednej hre a už som nerozhodný. Je to ako byť v reštaurácii – máte tri dobré možnosti, všetky je veľmi ťažké vyhodnotiť, a hodím si mincou. Ale to nefunguje proti Stockfishu.“
Napočítal som, že v tejto pozícii má čierny 41 legálnych ťahov. „Ako Stockfish vie, ktoré z nich má preskúmať a nakoniec sa rozhodnúť pre jeden, ak tri alebo štyri vyzerajú naozaj, naozaj dobre?“
„Buduje herný strom a tento strom bude obsahovať všetky legálne ťahy. Zoradí všetky tieto ťahy. Postupuje krok za krokom. Prehľadá dva ťahy dopredu, potom tri ťahy dopredu, potom štyri ťahy dopredu.“
Tri alebo štyri ťahy mi prídu na myseľ asi za 5 sekúnd a to je pravdepodobne dôvod, prečom som dobrý hráč rýchleho šachu. Ale rozhodovanie o najlepšom ťahu niekedy potrebujem stráviť 5 minút, 10 minút odkrývaním pravdy o jednom z týchto ťahov.
„Šachové počítače vlastne robia podobný proces. Stockfish sa v skutočnosti pozerá len na asi dva ťahy v každej pozícii, a to sa nazýva technika alfa-beta vyhľadávania, na ktorej je postavený Stockfish a väčšina ďalších enginov. Alfa-beta umožňuje enginu eliminovať veľa, veľa ťahov z pozície, pretože vie, že sú horšie ako najlepší ťah, ktorý doteraz našiel. To umožňuje alfa-beta orezať obrovské množstvo vyhľadávacieho stromu.“
Napríklad, ak by bol na ťahu biely, jedným z legálnych ťahov je jazdec na E4, čo je naozaj hlúpe, pretože pešiak by zobral jazdca a biely by sa ocitol v katastrofálne horšej pozícii. Niektoré počítače to dokážu okamžite vyradiť, a ľudia tiež.
„Alfa-beta sama o sebe môže znížiť tých 35 ťahov, ktoré musíte preskúmať, v priemere asi na 15, čo je obrovská redukcia.“
Koncovka a dokonalé riešenie
Poslednou fázou šachu je koncovka. „Existuje nejaký rozdiel v tom, ako Stockfish pristupuje ku koncovke oproti strednej hre alebo otvoreniu?“
„Áno, keď počet figúrok klesne pod určité množstvo – sedem – Stockfish môže v skutočnosti hru vyriešiť dokonale.“
„Šach je vyriešený, ak na šachovnici zostane sedem alebo menej figúrok?“
„Presne tak. Existujú takzvané koncové databázy a pod ‚vyriešené‘ myslíme doslova každú kombináciu možných ťahov. Ak strelec ide sem a jazdec ide tam, alebo ak strelec ide pôvodne na to políčko a jazdec ide tam alebo tam alebo tam, alebo akékoľvek z týchto kombinácií – to všetko je vyriešené. Doslova Stockfish musí len vyhľadať pozíciu vo svojej databáze a presne vie, aká je odpoveď.“
„Dokonca aj pre sedem figúrok je to len asi 10 až 20 terabajtov údajov, čo je veľa, ale zvládnuteľné. Už nie je žiadne vyhodnocovanie – najlepší ťah v pozícii je buď víťazný, remíza alebo prehra. A to je všetko. Je to úplne nespochybniteľné.“
„Presne. Šachové počítače sú schopné hrať aj bez týchto koncových databázi a stále budú hrať neuveriteľne silný šach, ale mohli by urobiť chybu.“
„Gary, prehral som s Stockfishom. Dostal som šach-mat v 34 ťahoch, nedostali sme sa do koncovky.“
„To je v poriadku. Stockfish vždy vie, ako ukončiť hru v najmenšom počte ťahov, dokonca aj keď to najlepší svetoví hráči nevedia.“
Stockfish vs. najlepší hráči sveta
Mám tu hru Magnus Carlsen verzus Fabiano Caruana z Majstrovstiev sveta v šachu 2018. Magnus bol v koncovke, kde mu chýbala figúrka, ale ani jeden z nich nenašiel správnu techniku. Fabiano má strelca a jazdca, a Magnus má len strelca. Fabiano nemohol premeniť svoj materiálny náskok, pretože sa zdalo, že Magnus má obrannú pevnosť. Hra sa skončila remízou.
Zatiaľ čo hráči hrali a celý svet sledoval, Stockfish na nich kričal z digitálneho kybernetického priestoru: „Vy idioti, vynútený šach-mat v 35 ťahoch!“ To je smiešne – ako by to mohlo vedieť, že ak by obe strany ťahali 35 ťahov, čierny by vyhral?
Stockfish dokáže nahliadnuť do koncových databáz a každej cesty k týmto databázam. To najlepšie, čo je možné dosiahnuť, je M35 (mat v 35 ťahoch). Ak by Stockfish hral za čierneho namiesto Fabiana, zahral by strelca na H4, potom by sem presunul svojho jazdca a potom by uväznil svojho vlastného jazdca na okraji šachovnice. Jazdec teraz nemôže nikam utiecť, pretože by ho zobral biely strelec.
Žiadny človek by takto nehral šach. Nemôžete uväzniť svojho jazdca na okraji šachovnice. Ale zdá sa, že bielemu nakoniec dôjdu ťahy ako prvému a pomaly, ale iste by čierny vyhral túto koncovku. Stockfish to videl z diaľky. Žiadny človek na planéte to nevidel.
Stockfish v porovnaní s inými formami umelej inteligencie
„Stockfish je veľmi špecializovaná umelá inteligencia. Ako sa porovnáva s inými umelými inteligenciami, ako sú autonómne autá alebo niečo iné?“
„Stockfish je dobrý len v jednej veci a je super dobrý v tej jednej veci, čo je hranie šachu. Šachové enginy si teraz požičiavajú najmodernejší výskum v umelej inteligencii, ktorým je hlboké učenie. Stále sú však v zásade obmedzené na oblasť šachu.“
„Myslím, že šach bol otvorený umelou inteligenciou. Ľudia môžu využívať šachové enginy na zlepšenie svojich vlastných zručností, a to je taký ideálny prípad použitia technológií – pomáhajú ľuďom robiť veci lepšie.“
Súhlasím s Garym. Myslím si, že umelá inteligencia bola pre šach čistým prínosom. Myslím si, že pomáha ľuďom zlepšovať sa tempom, aké sme nikdy predtým nezažili. Samozrejme, musíme riešiť problém potenciálneho podvádzania, ale zostávam pozitívny a optimistický.
Teraz, keď viem trochu viac o Stockfishu, idem si dať odvetu.
Obrázky: AI, Zdroj informácii: Wired.com