Računalnik in jaz: Igrajte šah z računalnikom
Leta 1769 je bil skonstruiran prvi šahovski stroj za zabavo avstrijske kraljice Marije Terezije.
Stroj je bil mehanski, v njem se je skrival človek, vešč šaha, ki je prek vzvodov premikal lutko in tako premikal figure. Prvi šahovski stroj z vgrajenim algoritmom za računanje potez je nastal leta 1912. To je bil mehanski stroj, ki je s pomočjo elektromagnetov popolnoma avtomatsko premikal tri šahovske figure.
Med drugo svetovno vojno so v ZDA zgradili ogromen laboratorij za razvoj atomskega orožja. Za to pa so potrebovali veliko število izračunov. Leta 1950 je bil izdelan gromozanski računalnik, imenovan MANIAC. Zmožen je bil izračunati deset tisoč operacij na sekundo in dalo se ga je programirati. Vendar znanstveniki niso takoj začeli atomskih izračunov, pač pa je bila ena prvih stvari, ki so jo sprogramirali, igranje šaha. Stroj je potreboval dvanajst minut za potezo pri globini štirih polpotez. Sredi petdesetih let se je prvič zgodilo, da je računalnik premagal človeka v intelektualni sposobnosti.
Glavni problem pri šahovskem programiranju je veliko število izračunov. V povprečni šahovski igri je okoli 40 potez. Pri odgovoru na vsako od teh potez dobimo 1.600 razporeditev. To pomeni, da po vsaki drugi polpotezi, ki se obravnava kot ena poteza v šahu, število razporeditev naraste za 1.600. Po dveh potezah je število že 2,5 milijona in po treh 4,1 milijarde. Če povprečna šahovska igra traja 40 potez, to pomeni 10.128 na 128. potenco razporeditev. Zgodnji računalniki so bili sposobni izračunati okoli petsto razporeditev na sekundo ali devetdeset tisoč v treh minutah, ki so na voljo v turnirski igri.
Leta 1958 so razvili algoritem alfa-beta, s katerim se da izogniti velikemu številu izračunov, ne da bi to vplivalo na končni rezultat. Gre za čisto matematično tehniko, ki deluje brez uporabe kakršnegakoli dodatnega šahovskega znanja. Deloval je tako, da kakor hitro naslednji izračun pokaže nižjo vrednost od prejšnje poteze, program prekine njeno računanje. Ni pomembno, če je poteza slabša, program se bo vedno odločil za potezo z največjo vrednostjo.
Na tej osnovi so razvili računalnik, sestavljen iz več tisoč čipov. Računalnik so imenovali Belle in bil je sposoben igranja šaha. Računal je lahko okoli 180 tisoč razporeditev na sekundo. Z njim je bilo omogočeno igranje na mojstrski ravni.
Sredi osemdesetih let je bil sestavljen hardverski šahovski računalnik, imenovan HiTech. S 64 vzporednimi čipi je bil HiTech med boljšimi šahovskimi računalniki. Kmalu zatem so razvili računalnik, imenovan ChipTest, in kasneje Deep Thought, ki je lahko izračunaval petsto tisoč razporeditev na sekundo.
Sledil je Deep Blue, s katerim je leta 1997 svetovni šahovski prvak Gari Kasparov izgubil z rezultatom 2,4 : 3,5. Deep Blue ima vgrajeno ogromno število namenskih čipov, ki omogočajo hitre izračune. Vsak čip je sposoben računanja dva do tri milijone razporeditev na sekundo.
Seveda je pri igralni moči pomembna tudi kvaliteta programiranja. Današnji najboljši programi za osebne računalnike, kot sta Fritz in Junior, sta sposobna izračuna petsto tisoč in več razporeditev na sekundo. Kljubuje jim lahko le sto najboljših šahovskih igralcev na svetu. V pospešenem šahu so jima kos le nekateri, v petminutni igri pa verjetno le dva ali trije igralci na svetu.
Pomembno vlogo v moči računalnikov ima knjižnica otvoritev in končnic. Zbrano znanje in izkušnje več generacij človeških šahovskih velemojstrov je preprosto shraniti na trdi disk in tako dostopati do nje v otvoritveni ali zaključni fazi šahovske igre. Programi za osebne računalnike poznajo desetine milijonov otvoritvenih razporeditev in končnic ter imajo dostop do statistik za vsako od njih. Pogosto bo program odigral petnajst ali dvajset potez, preden začne izračunavati razporeditev. Brez te knjižnice s človeškim znanjem bi bili programi občutno slabši.
Kdaj natančno se bo to zgodilo, da bo računalnik premagal svetovnega šahovskega prvaka v regularnem dvoboju? Lahko že kaj kmalu.