Úvodní stránka | Tato stránka v originále

Šachy počítače

Chess nadšenci a inženýři počítače pokoušeli se se budovat, s rostoucími mírami vážnosti a úspěchu, šachy-hrát stroje protože 1769. Motivations může nezbytně být upevněn do dva: firstly, stavět stroj hrát šach s pro zábavu sóla a secondly, vyšetřovat šachy jako problém, který by mohl poskytovat nějaké nahlédnutí do lidského poznání. V tomto pohledu, minulost šachů počítače je jak okázalý úspěch tak doslova kompletní porucha.

Chess-hrát počítače jsou dostupné pro zanedbatelnou cenu a tam je mnoho programů (dokonce uvolnit GNU šachy, Amy, Pepito, Lstivý, a více) to hrát hře to, s pomocí doslova některý moderní osobní počítač může porazit většinu hráčů pána v turnajových podmínkách, zatímco špičkové obchodní programy jako Fritz předčily dokonce mistr světa hráči kalibru u vybombardovat a kontroly krátkého času.

Nicméně, k překvapení a zklamání mnoho, šachy učily nás málo o stavebních strojích, které nabídnou člověka-jako inteligence, nebo opravdu dělat něco kromě hrát vynikající šach. Z tohoto důvodu, šachy počítače, (jak s ostatními hrami, jako Hrabat) je už ne velkého akademického zájmu k výzkumníkům v umělé inteligenci, a velmi byl nahrazený intuitivnějšíma hrami jako igo jak vzor testování. Chess-hrát programy nezbytně prozkoumávají obrovská množství potenciálních budoucích pohybů oběma hráči a aplikují relativně jednoduché ohodnocení funkce k pozicím, které vyplývají kde jako hra jako igo výzvy programátoři zvažovat pojmové přístupy ke hře.

Hovado-metody síly jsou neužitečné pro většinu jiných problémů výzkumníci umělé inteligence zvedali, a být věřil být velmi odlišný od jak lidských šachistů vybrat jejich pohyby. V některých hrách strategie, počítače snadno vyhrají každou hru, zatímco v jiných oni jsou pravidelně porazeni dokonce amatéry.

Proto, skutečnost, že největší snahy šachových mistrů a inženýři počítače jsou jak 2003 tak jemně vyvážený should pravděpodobně být viděn jako zábavná hříčka osudu poněkud než hluboká připomínka k myšlence tolik v minulosti, včetně některých těch časných teoretiků na inteligenci stroje, myslelo si to být.

Tabulka s obsahem
1 brutální síla vs. strategie
2 brutální síla vs. lidi
3 Endgame databáze
4 počítačová šachová implementace vytéká
5 chronologie šachů počítače
6 jiného šachového softwaru
7 počítačových Chess teoretiků
8 budoucnost šachů počítače?
9 vidět také
10 externích spojení

Brutální síla vs. strategie

V brzkých dnách šachů počítače, tam byly dvě obecné názorové školy. První tábor vzal “strategickou AI” přístup, odhadovat, že zkoumat všechny možné sledy pohybů do nějaké rozumné hloubky by byly nepraktické přímo k astronomickému množství možností a nominální zpracovací síle. Místo toho, aby plýtval sílou zpracování zkoumat špatné nebo triviální pohyby (a jejich rozšíření), oni pokusili se nutit jejich programy diskriminovat mezitím špatný, triviální a dobré pohyby, rozpoznat vzory nebo vytvořit a vykonat plány, hodně jak lidé dělají.

Druhý tábor bral”hledání brutální síly” přístup, zkoumat tolik pozic jako možné používání algoritmus minimax s jediný nejvíce základní ohodnocení fungovat. Program by mohl, například, dávat pozor jediný k šachmatu, která strana má více kusů a která strana má více možných pohybů, bez nějakého pokusu o více komplikovaného polohového mínění. V náhradě, program by byl rychlý dost dívat se podrobně vůbec pozice k určité hloubce uvnitř jeho vymezeného času.

Použití alpha-beta klestit kombinoval s množstvím heuristiky hledání dramaticky zlepšil výkon hovada-nutit vyhledávací algoritmy. V moderní době, všeobecný souhlas je ty šachy jsou teoreticky skoro-dohodnutý vzor jak AI navrhnou cíl a Čínskou hru jít je nyní u popředí útoků na návrháře AI.

Nakonec, tábor brutální síly vyhrál, v pocitu, že jejich programy prostě hrály lepší šach. Šachová hra není napomáhající inerrantly rozlišovat mezi zřejmě špatný, triviální a dobré pohyby používat přísný soubor pravidel. Pasti jsou zapadl a skočil zkušenými hráči, kteří rozumějí a zvládají mnoho úrovní hloubky a ironie tkvící ve hře. Dále, technologické pokroky pořadími velikosti u zpracovací moci dělaly přístup brutální síly daleko pronikavější v uplynulých letech než byl případ v raných létech. Výsledek je to velmi pevná, taktická AI hráč byl postavený který je errorless k limitům jeho hloubky hledání a čas. Toto opustilo strategickou AI přístup všeobecně uznaný jak zastaralý. To dopadalo dosáhnout lepších výsledků, přinejmenším v poli šachů, nechat počítače dělat co oni dělají nejlépe (tj. počítat) poněkud než přemluvit je k napodobujícím lidským myšlenkovým postupům a znalostem.

Brutální síla vs. lidi

Na druhé straně, to zůstalo otevřenou otázkou zda nějaké množství výpočtu hrubého násilí by někdy bylo přiměřené porazit kvalifikaci lidí vrcholu. V 1968, Im David Levy uzavřel slavnou sázku že žádný šachový automat by byl schopný porazit jej uvnitř desíti roků. On vyhrál jeho sázku v 1978 tím, že porazí Chesse 4.7 (nejsilnější počítač v době), ale potvrzený pak to to by nebylo dlouho předtím, než on byl by překonaný. To je dobře že Levy neobnovil jeho se vsadil pro jiného deset roků, protože v 1989 on byl rozdrcený počítačem Chytré myšlení v zápase výstavy, a odkázaný pravděpodobně prohráli dokonce k časnějším, lesser počítačům.

Chytré myšlení, nicméně, byl ještě značně pod úrovní mistrovství světa jak pak panujícím mistrem světa Gary Kasparov demonstroval v dva libra vyhraje v 1989. To wasn't until 1996 se hodit k IBM' s Sytě modrý že Kasparov prohrál jeho první zápas k počítači u turnajových časových kontrol v Sytě modrý - Kasparov, 1996, hra 1. Tato hra byla, ve skutečnosti, první čas vládnoucí světový mistr prohrál s počítačem používat pravidelné časové kontroly. Nicméně, Kasparov přeskupil vyhrát tři a kreslit dva zůstávat pěti hrami zápasu, pro přesvědčivé vítězství.

V květnu 1997, aktualizovaná verze hluboce Blue porazil Kasparova 3.5-2.5 v odvetném zápase. IBM drží internetové místo události u http://www.chess.ibm.com. zatímco ne oficiální mistrovství světa, výsledek zápasu je často vzat znamenat, že nejsilnější hráč na světě je počítač. Takový požadavek je otevřený silné debatě jak opravdově férovému člověku-zápas stroje jde těžko dohodnout.

Firstly, v jednom z her, Kasparov nebyl porazený přes tabuli. On odstoupil na technicky nataženém svém místě, možná rozrušený že hluboce Blue hrál takového člověka-jako pohyby. On rozzlobeně obvinil sytě modrou skupinu člověka krmení uloženého k počítači, zatímco hra byla v průběhu. Tak tato porážka by měla být spočítána více jako psychologická ztráta než znamení nižší šachové schopnosti.

Secondly, tam jsou jiní hráči jehož hrající styl je uznaný jak účinnější proti oponentům počítače. Kasparovova síla spočívá v předčení soupeřů takticky a psychologicky, oba které hry k síle počítačů, zatímco Vladimir Kraminik, kdo nedávno porazil Kasparova ve světovém zápase mistrovství, je více spokojený, že brání udržitelný postoj, hledat slabosti, a hromadit malé výhody.

Thirdly, to bylo nemožné pro Kasparova připravovat se hrát stroj jak on odkázaný proti člověku oponent jak programování počítače byli nastaveni mezi dřívějšími zápasy a Kasparov zápasem. Ta inkarnace hluboce Blue měl žádný turnajový rekord před zápasem, zatímco sytě modrý tým byl schopný studovat a připravovat se proti stovkám Kasparovových veřejných her.

Konečně, šest-zápas hry byl příliš krátký pro Kasparova přizpůsobit se nějakým potenciálním slabostem sytě modrý. Jedna velká výhoda lidí přes počítače je přizpůsobivost. Ve všech jeho předchozí setkání s počítači Kasparov skončil více silně než on začal a to je rozumné předpokládat, že on by měl dopadl lépe v čtyřiadvacet hry si odpovídá, tradiční délka mistrovství světa si odpovídá.

IBM odešel sytě modrý po zápase a to nehrálo protože. Nicméně, jiný “muž vs. Stroj” zápasy pokračují být hrán. V říjnu 2002, Vladimir Kramnik a Hluboce Fritz soutěžil v osm-hra Mozky v Bahrainu si odpovídají, který skončil remízou. Kramnik vyhraná utkání 2 a 3 “konvenční” anti-taktiky počítače - hra konzervativně pro dlouhodobou výhodu počítač není schopný vidět v jeho herním stromovém hledání. Fritz, nicméně, vyhraná hra 5 po hrozné hrubé chybě Kramnik. Hra 6 byl popsaný komentátory turnaje jak “podívanou”. Kramnik, v lepší pozici v časném midgame, zkoušel okázalou kusovou oběť dosáhnout silného taktického útoku, strategie známý být velmi riskantní proti počítačům, které jsou u jejich nejsilnějších hájících takových útoků. Věrný formě, Fritz našel nepropustnou obranu a Kramnik útok se ztrácel opouštět jej na špatném svém místě. Kramnik odstoupil hra, věřit pozice prohrála. Nicméně, pošta-člověk hry a analýza počítače ukázala, že Fritz program byl nepravděpodobný k byli schopní nutit vyhrát a Kramnik účinně obětoval nataženou pozici. Finále dvě hry byly remízy. Daný okolnosti, většina komentátorů ještě ohodnotí Kramnik silnější účastník zápasu.

V lednu 2003, Kasparov hrál Hluboce juniorský, další program šachového automatu, v New Yorku. Zápas skončil 3-3.

Endgame databáze

Počítače byly použité analyzovat některé šachy endgame pozice kompletně. Takové endgame databáze jsou tvořeny předem používat formu zpětné analýzy. Ken Thompson, snad lépe známý jako klíčový návrhář Unixu operační systém, byl průkopník v této oblasti. Za ta léta, jiné endgame databázové formáty mají být propuštěn včetně Edward Tablebases, De Koning Endgame databáze (vydaná v roce 2002) a Nalimov Endgame Tablebases který je současná úroveň podporovaná většinou programy šachů taková jako Fritz. Všech pět-konce kusu nyní byly analyzovány kompletně, a některých těch šest-konce kusu jsou dostupné. Používání počítače tyto databáze chtějí, na dosáhnutí postavení v nich, být schopný hrát dokonale, a okamžitě stanovit zda pozice je vyhrát, ztráta nebo kreslit. Znalosti zda pozice je vyhrát, ztráta nebo remíza je také nápomocná předem od té doby, co toto může pomoci počítači vyhýbat se nebo spět k takovým pozicím se spoléhat na situaci.

Endgame databáze představovaly prominentně v roce 1999, když Kasparov hrál zápas výstavy na internetu proti zbytku světa. Sedm královna kusu a endgame pěšáka byli podáváni s týmem světa bojovat, aby zachránil remízu. Eugene Nalimov pomáhal buzením šest konce kusu tablebase kde obě strany měly 2 královny, které byly používány těžko k analýze pomoci oběma stranami.

Počítačová šachová implementace vytéká

Vývojáři šachů-hrát počítačový systém musí se rozhodnout pro množství základních implementačních záležitostí. To zahrnuje:

Implementors také potřebuje se rozhodnout jestliže oni budou používat endgame databáze nebo jiné optimalizace, a často splnit obyčejný de facto standardy šachů.

Reprezentace tabule

Jeden z nejjednodušších způsobů, jak reprezentovat tabuli má vytvořit 8x8 dvojrozměrnou sadu (nebo, equivalently, 64 elementu jednorozměrná sada). Každý element sady by poznal jaký kus nebo pěšák zabíral daný čtverec, nebo jinak, jestliže čtverec je prázdný. Obyčejné kódování má zvážit to 0 jak se vyprázdnit, pozitivní jako bílá a zápor jako černá, např., bílý rytíř + 1, černý rytíř - 1, bílý biskup + 2, a tak dále.

Jeden problém s tímto přístupem je že pohyby rytíře musí být opatrně zkoumány ujistit se oni nejdou “mimo tabuli”. Jedno řešení má používat sadu 10x10 místo toho, s vnějšími hranami naplněnými nesmyslem blokovat kusy; toto znamená, že pohyby rytíře nemusí uskutečnit okraj speciality-kontrolovat kód.

Nicméně, další technika získala přízeň v mnoha programech: bitboard. Bitboard zjeví se byli původně vyvinuti KAISSA týmem v Sovětském svazu v pozdních šedesátých létech. Bitboard je 64 bitový sled kousků (0 nebo 1), který ukáže nepřítomnost nebo přítomnost (nepravdivý nebo pravdivý) nějakého státu o každém místě na desce. Pozice tabule může pak být reprezentována používat sérii bitboards. Pro příklad, sérii bitboards pro každý typ kusu nebo pěšáka, pro každou stranu, moci reprezentovat pozici tabule. Viďte Bitboard.

Doplňující informace musí být uložena také jako kus a umístění pěšáka, takový jako číslo pohybu, která strana má pohybovat se, zda nebo ne castling je možný (a na které straně), en informace passant, kreslit-příbuzné informace, a tak dále.

Techniky hledání

Počítačové šachové programy považují šachy za pohyby jako strom hry. Teoreticky, oni zkoumají všechny pohyby pak celý pult-se stěhuje do těch pohybů pak všech pohybů čelit jim, a tak na, kde každý pohyb jednotlivce jedním hráčem je volán “pendlovat”. Toto ohodnocení pokračuje, než to podá fináli “listovou” pozici, která je ohodnocena.

Naivní realizace tohoto přístupu, nicméně, by hrál relativně uboze, tak různé metody byly vymyšlené velmi urychlovat hledání navždy navrhne.

Pro další informace, vidět:

Leaf ohodnocení

Pro většinu pozic šachů, počítače nemohou dívat se dopředu ke všem finálním možným pozicím. Místo toho, oni musí se dívat dopředu nemnoho pendlovat a pak hodnotit finální tabulovou pozici. Algoritmus, který ocení finální tabulové pozice je nazývaný “funkce ohodnocení” a tyto algoritmy jsou často obrovsky různé mezi různými šachovými programy.

Téměř všechny funkce ohodnocení ocení pozice v jednotkách pěšáků, a u nejméně oni zvažují věcnou hodnotu. Tak, oni budou počítat množství materiálu o tabuli pro každou stranu (kde pěšák je hodnota 1 pěšák, rytíř je hodnota 3 pěšáci, biskup je hodnota 3 pěšáci nebo tak, havran 5 pěšáků, a královna 9 nebo 10 pěšáků). Funkce ohodnocení vezmou mnoho jiných faktorů do účtu, nicméně, takový jako struktura pěšáka, fakt, který se zdvojnásobil biskupové jsou obvykle hodnota více, centralizované kusy jsou hodnota více, a tak dále. Ochrana králů je obvykle zvažována, stejně jako fáze hry (otevření, střed, nebo koncovka).

Používat databáze endgame

To je ještě nejasné jak hodně šachů-hrát programy těžit z používání aktuální soubor databází endgame. Toto je, protože většina moderních šachových programů může hrát většinu takových pozic dobře dost používat jejich normální vyhledávací algoritmy a heuristiku bez používání databáze endgame jako berla. To je podezříval to jak více endgame databáze [například šest a sedm kusu tablebases] být vytvořený a použitý, tato situace bude se měnit.

Nalimov Endgame Tablebases, který užívací stav uměleckých komprimačních technik, vyžadovat 7.05 GB tvrdého prostoru na disku pro všechny pět-konce kusu. To je odhadoval, že ke krytu všech šest-konce kusu budou vyžadovat přinejmenším 1 terabajt. Sedm-tablebases kusu jsou současně dlouhá cesta pryč.

Zatímco Nalimov Endgame Tablebases se ovládá En passant pozice, oni předpokládají, že castling není možný. Toto je menší vada, která je pravděpodobně zájmu jen aby endgame specialisty.

Více důležitě, oni nevezmou v úvahu padesát pohybu rozhodne. Nalimov Endgame Tablebases jen uloží nejkratšího možného kamaráda (v pendlovat) pro každou pozici. Nicméně v jistých unikátních pozicích, silnější strana nemůže nutit vyhrát předtím, než narazí do padesát pohybu rozhodne. Program šachů, který prohlédne databázi a získá hodnotu kamaráda v 85 nebude být schopný vědět to předem jestliže takový pozice je vlastně remíza shodovat se k padesáti pravidlu pohybu, nebo jestliže to je vyhrát, protože tam bude kus výměna nebo pěšák se pohybují podél cesty. Různá řešení včetně přidání “vzdálenosti do nuly” (DTZ) namítá byli chystal se vypořádat se s tímto problémem, ale žádný byli realizováni přesto.

Jiné optimalizace

Mnoho jiných optimalizací může být používáno dělat šachy-hrát programy silnější. Například, stoly přemístění jsou zvyklé na pozice záznamu, které byly předtím oceněné, uložit přepočítávání je. Argument předloží rekordní klíčové pohyby, které “vyvrátí” co vypadá, že je dobrý pohyb; tito jsou typicky se snažil nejprve v pozicích varianty (protože pohyb, který vyvrátí jednu pozici pravděpodobně vyvrátí jiného). Otevření rezervuje pomoci počítačové programy tím, že dává obyčejná otevření, která jsou považována za dobrou hru (a/nebo dobrý způsoby, jak zvrátit chudá otevření).

Samozřejmě, rychleji hardware a další procesory mohou zlepšit šachy-hrát programovat schopnosti a některé systémy (takový jak Sytě modrý) používat specializovaný šachový hardware místo toho pouze implementace softwaru.

Standardy

Počítačové šachové programy obvykle podporují číslo obyčejný de facto standardy. Skoro všichni dnešní programy mohou číst a psát pohyby hry jako Přenosná herní notace (PGN), a moci číst a psát individuální pozice jak Forsyth-Edwards notace (močál). Starší šachové programy často jen rozuměly dlouho algebraické notaci, ale dnes uživatelé očekávají programy šachů rozumět standardu algebraická šachová notace.

Většina počítačových šachových programů je rozděleno do motoru (který počítá nejlepší pohyb daný současný postoj) a uživatelské rozhraní. Nejvíce motory jsou oddělené programy od uživatelského rozhraní a dvě části komunikují ke každému jinému používání veřejný komunikační protokol. Nejvíce populární protokol je Xboard /Winboard komunikační protokol. Další otevřený střídavý šachový komunikační protokol je univerzální Chess rozhraní. Tím, že rozdělí programy šachů do těchto dvou kusů, vývojáři mohou psát jen uživatelské rozhraní, nebo jediný motor, bez potřebovat napsat obě role programu.

Chronologie šachů počítače

Jiný software šachů

Tam je několik jiných forem šachů-líčil počítačový software, včetně sledování:

Počítačoví Chess teoretici

Známí počítačoví šachoví teoretici obsahují:

Budoucnost šachů počítače?

Mnoho pozorovatelů extrapoluje to počítače souhlasně porazí nejlepší lidské hráče možná 2010, a pak pokračovat překonat jejich schopnosti k věci kde člověk vs. počítačový šachový zápas byl by jak nečestný jak člověk vs. automobilový závod. Jiní jsou nepřesvědčení, pověst, že tam jsou ještě hluboko strategické elementy k šachům, které budou se bránit hovadu-nutit hledání počítače.

Viz též

Externí odkazy