Revista si suplimente
MarketWatch
Inapoi Inainte

Cum au răpus şahiştii “dihania preistorică” numită Felix C256?

26 Octombrie 2008




Primele programe de jucat şah pe calculator
În paralel cu activitatea de la institut, când am considerat că ştiu binişor programare, am început să scriu programul de şah Felix 64, care funcţiona pe calculatorul Felix C256. Pe acest calculator aveam aşa numitele teletype-uri. Erau ca o maşină de dactilografiat în care puteai să scrii un scurt text şi dând “enter”, mesajul intra în calculator care îl analiza şi trimitea un răspuns, dialogul dintre operator şi maşină reluându-se. Practic, cu ajutorul programului de şah, mutările erau introduse în calculator de la tastatură, iar calculatorul îţi transmitea mutarea lui pe o rolă de hârtie.


Algoritmul pentru programul de şah l-am conceput prima dată singur. Citind mai mult, am văzut că şi alţii au mers pe aceeaşi idee. Era un aşa-zis algoritm “mini-max”: eu vreau să maximizez profitul meu, iar adversarul vrea să minimizeze beneficiul meu şi să maximizeze beneficiul lui. Rezultă o luptă între piesele albe şi cele negre.


Dacă laşi numai criteriile materiale, adică numărul şi valoarea pieselor pe care le posezi în raport cu cele ale adversarului, se ajunge la un şah destul de modest. În analiza pe care calculatorul o face în jocul de şah se creează o structură arborescentă: să presupunem că dintr-o anumită poziţie, calculatorul are 20 de mutări posibile, adversarul la rândul lui are, să spunem, alte 20 de mutări de răspuns după care calculatorului i se deschid alte 20 de variante de a muta. Astfel că, pentru ca un calculator să gândească, iată, cu numai două mutări înainte (ale lui plus mutarea adversarului) trebuie să analizeze 8.000 de posibile variante. Dar, dacă la fiecare poziţie de şah se mai analizează şi altceva decât materialul, asta consumă şi mai multe resurse din puterea de calcul. De aceea, există în algoritmul “mini-max” nişte raţionalizări numite “alfa-beta”, care reduc numărul de variante de mutări la cele “raţionale”, eliminându-le din analiză pe cele care nu duc la îmbunătăţirea poziţiei.


Totuşi, un program de şah pe calculator evoluat se realizează după criterii de analiză inspirate din principiile şahiste în diferite faze ale jocului – deschiderea: regele ascuns, pionii în centru, figurile în urma pionilor în poziţii deschise şamd., - jocul de mijloc: să ai spaţiu, să ocupi coloane, să distrugi apărarea regelui, să promovezi un pion, să câştigi material. În fine, sunt finalurile pentru care există tehnici şi mai specializate, extrem de fine, pentru că în această fază o întârziere de o mutare poate duce la pierderea partidei. Se cere o analiză pe foarte multe mutări înainte pentru a realiza un joc corect şi clar-văzător. Chiar dacă nu poate anticipa miliarde de mutări, un jucător de şah uman cu experienţă “simte” mutările bune, la care calculatorul nu ar putea ajunge decât prin calcul exact.


Pe de altă parte, părăsind algoritmul de natură matematică, simplist, de tip “mini-max” şi introducând prea multe criterii de analiză, programul devine foarte stufos. Criterii de analiză şahistică precum: alergatul după pionul advers, transformările, distrugerea rocadei regelui, blocarea regelui, perechea de nebuni, piese legate şamd creează noi şi noi algoritmi care, dacă nu sunt corelaţi, pot conduce în joc la situaţii hazlii, la anomalii, calculatorul putând lua decizii total iraţionale, fără noimă.
Cei din Vest, care au creat roboţi pentru jocul de şah, au lucrat în echipe de programatori dedicaţi, cu algoritmi foarte rafinaţi.


Eu am desfăşurat această activitate doar ca un hobby, în timpul meu liber şi câteodată şi la serviciu, pentru că la un moment dat aceste realizări deveniseră o faimă şi pentru institut.


Perioada de ascensiune şi declin a şahului pe calculator
După ce am făcut primul program de şah şi s-a aflat acest lucru, imediat a apărut la institut domnul Ulricht (Uli) Friedberg Vălureanu, ziarist la România Liberă, care ţinea rubrica de ştiri externe, un om pasionat de curiozităţi ştiinţifice, în particular de acest program de şah, pe marginea căruia a făcut multă vâlvă.


O dată s-a organizat la Casa Scânteii o întâlnire cu Octavian Paler, pe atunci directorul ziarului RL şi care era pasionat de şah. Am realizat o conexiune telefonică prin modem (la vremea aceea o mare noutate tehnică) prin care directorul ziarului, având la redacţie un display importat din Franţa, a jucat o memorabilă partidă de şah (pe care a şi câştigat-o, după multă gândire) cu programul meu instalat pe calculatorul Felix C 256 rulat la ITC.
Uli Valureanu şi-a ţinut în ziar o rubrică de şah programat în care a publicat toate partidele de şah cu personalităţile vremii din şah: Florin Gheorghiu, Elizabeta Polihroniade ş.a.


Apoi, în “Magazinul” – revistă ştiinţifică săptămânală - Vălureanu a organizat un concurs de şah între cititori şi program. Era publicată mutarea calculatorului şi cititorii dădeau diferite propuneri de mutări şi cea care întrunea cele mai multe voturi era comunicată calculatorului. Pe la mutarea 20 programul nu a văzut că este în situaţie de “mat în 3 mutări” (3 paşi), ceea ce a permis cititorilor (buni cunoscători ai jocului de şah) să câştige partida şi să “recomande” programului, în glumă, să exerseze acei “3 paşi” la grupa mică de la grădiniţă.


Florin Gheorghiu a jucat o partidă de şah “în deplasare” la Fabrica de Calculatoare. Partida a fost televizată. Totul a fost bine până când Florin a câştigat un pion, după care deznodământul a fost foarte rapid. Nu existau la vremea aceea calculatoare care să joace la nivelul unui şahist de talia lui Florin Gheorghiu. Probabil că Florin ar fi câştigat un simultan cu 100 de calculatoare. Programul încă ducea lipsă de viziune, de strategie, de cultură şahistică, mergea pe o idee şi nu vedea alte lucruri, mai ales idei noi care se naşteau mereu în timpul jocului plin de imaginaţie al marelui maestru român.



Parerea ta conteaza:

(0/5, 0 voturi)

Lasa un comentariu



trimite