
Moskva, 1978.
******************
Ljudski razum, kako s pravom ističe D. Miči, odlikuje se upravo svestranošću i ispoljavanjem sposobnosti u najrazličitijim oblastima. Uopšte, pitanje inteligentnosti šahovskog programa, postavljeno na ovaj direktan način, predstavlja svojevrsnu sholastiku, a odgovor na njega nije nimalo jednoznačan.
Bilo da se poslužimo logičkim kriterijumima — sposobnošću klasifikacije, uopštavanja, prepoznavanja obrazaca, indukcije i tako dalje — ili da sudimo prema rezultatu „crne kutije“, odnosno konačnom ishodu igre; bilo da pedantno tražimo kreativne komponente u njenim odlukama ili se zadovoljimo njenom sposobnošću učenja — teško da ćemo doći do uvjerljivog odgovora. Jer, još uvijek tako malo znamo o sopstvenom, ljudskom razumu i, htjeli-ne htjeli, nemamo nikakve neljudske kriterijume inteligencije. A, kako nas život podsjeća, ljudskih kriterijuma imamo napretek.
Još je složenije pitanje da li će šahovski program ikada moći da igra kreativno, s maštom, imaginacijom, „s božanskom iskrom“ i sličnim ljudskim kvalitetima.
Akademik A. N. Kolmogorov jednom je sasvim određeno rekao: da bi se računar naučio da piše dobre stihove, potrebno je u njega programirati čitavu istoriju ljudske civilizacije.
„Sadržaj naših pojmova određuje naš odnos prema njima“, govorio je drugi istaknuti matematičar A. A. Markov. Zato su naše procjene kreativnosti — kako mašinske tako i ljudske — uvijek duboko asocijativne i emocionalne.
I pritom one uopšte nisu toliko tačne koliko bismo željeli.
Šta da se radi: pitanje kreativnog karaktera igre programa jednostavno je potisnuto u drugi plan. „Mi istražujemo heurističke mehanizme mišljenja, sistematizovaćemo iskustvo, provjerićemo različite principe sastavljanja programa“, govorio je Dž. Makarti, rukovodilac rada na programiranju šahovske igre na Univerzitetu Stanford, tokom prvog sovjetsko-američkog meča šahovskih programa 1967–1968. godine.
Ali već tada se prestalo s principijelnim poistovjećivanjem pojmova heurističko i kreativno. Danas je pristup još praktičniji: šahista se već upoređuje s rukovodiocem privrednog sistema (V. A. Trapeznikov), a pojam složenog kreativnog zadatka jednostavno označava nivo koji programeri još nisu dostigli.
Ipak, svi smo uvjereni da programiranje šahovske igre ima neposredne veze s problemom vještačke inteligencije. Cijenimo mogućnost da objektivno procjenjujemo brzinu svog napredovanja ka rješavanju tog „problema kraja XX vijeka“, upoređujući snagu programa sa živom inteligencijom pomoću fleksibilnih i diferenciranih kriterijuma.
I konačno, neobično nam prija napeta atmosfera potrage, tajne i uzbuđenja u kojoj rade programeri šahovskih programa. Svima nama — i zanesenjacima i realistima, bez izuzetka.
„Govore nam: ‘Ludak i fantast’,
Ali, oslobodivši se tužne zavisnosti,
S godinama će vješti mozak mislioca
Umjetno stvoriti mislioca.“
— Gete, „Faust“
Kao što je poznato, sovjetski šahovski program „Kaissa“ je u avgustu 1974. godine pobijedio u četiri partije, a našim naučnicima uručena je zlatna medalja od 110 grama Međunarodne federacije za obradu informacija, s natpisom „Svjetsko prvenstvo šahovskih računara“.
Ovaj sasvim nedavni eksperiment pokazao je da su svi programi, na ovaj ili onaj način, zasnovani na principu pretraživanja varijanti. Razlika u snazi programa objašnjava se potpunošću i, ako se tako može reći, stepenom usklađenosti ugrađenih principa tog pretraživanja s karakterom pozicija koje se stvarno pojave u partiji.
To znači da neke pozicije program može igrati veoma snažno, dok u drugima počinje da „pliva“. Za određeni broj pozicija stvarna dubina proračuna može biti nedovoljna (na primjer, „Kaissa“ je računala pet polupoteza unaprijed), dok pomoćni postupci — recimo, proračun forsiranih varijanti — mogu ostati potpuno neiskorišćeni u situacijama kada veliku ulogu imaju pozicioni faktori.
Zbog toga u partijama šahovskih programa postoji izvjestan element „sportske sreće“. Program može dospjeti u pozicije, odnosno do ideja za koje je dobro pripremljen, i svoj debi-repertoar iskoristiti „punom snagom“. A može se dogoditi i da do takvih pozicija uopšte ne dođe.
„Kaissa“ je u izvjesnom smislu imala sreće. U odlučujućoj partiji protiv američkog programa „Ostrich“, nakon što je napravila elementaran „previd“, ostala je bez kvaliteta: štedeći vrijeme, ograničila je proračun na svega tri polupoteza. S druge strane, „Ostrich“ nije uspio da dobije kombinacijom sa žrtvom topa, za čiji je proračun bilo potrebno devet polupoteza.
U cjelini, ovo „Svjetsko prvenstvo“ još jednom je potvrdilo praktičnu neiscrpnost šahovskih pozicija, kao i, u izvjesnoj mjeri, principijelna ograničenja metoda koje se koriste pri programiranju.
Istorija šahovskih programa počinje radom I. Šenona, objavljenim još 1950. godine. Šenon nije ponudio program, ali je razmotrio osnovne probleme koji se ovdje javljaju.
Prema Šenonu, šah je igra s konačnim brojem mogućih pozicija, pri čemu za svaku poziciju postoji konačan broj mogućih poteza. Pravila igre garantuju da će se nakon konačnog broja poteza postići pobjeda, poraz ili remi. Zato se igra može opisati pomoću „stabla“, čiji vrhovi odgovaraju pozicijama, a grane — mogućim potezima.
Intuitivno je jasno da šah za igrača koji može sagledati čitavo stablo i vidjeti najdalje posljedice svake donesene odluke postaje jednostavna igra.
Šenon je predložio da se pri analizi stabla igre slijede sljedeći principi: prvo, razmotriti sve moguće poteze do određene dubine; drugo, svakom potezu dodijeliti numeričku ocjenu; treće, pri toj procjeni koristiti ponderisanje bodova koji se dodjeljuju figurama i njihovim pozicijama; i četvrto, izabrati potez s najvećom ocjenom.
U prvim programima ovi principi su praktično i primijenjeni. Međutim, dubina proračuna (pretraživanja) bila je veoma mala — svega četiri polupoteza — pa programi čak nisu uspijevali da do kraja izračunaju varijante izmjena i pravili su besmislene poteze (programi Bernštajna, de Grot-a i drugih).
Poznati stručnjaci za heurističko programiranje Njuvel, Sajmon i Šo pokušali su 1958. godine da odustanu od prvog Šenonovog principa. Oslonili su se na heuristička pravila koja se lako mogu pronaći u udžbeniku za početnike.
(Nastaviće se)