Mate emateko programatua

Roa Zubia, Guillermo

Elhuyar Zientzia

Xakean jokatzeko programek dagoeneko erabiltzen dute estrategia, baina horrek ez ditu egiten gizakiaren berdinak.
Mate emateko programatua
2010/02/01 | Roa Zubia, Guillermo | Elhuyar Zientziaren Komunikazioa
(Argazkia: Guillermo Roa)

Badago modu perfektu bat xakean jokatzeko. Piezak mugitzeko sekuentzia ezin hobea da, sekuentzia hori erabiliz gero ez baitago partida galtzeko arriskurik. Hala ere, arazo bat dago: inork ez daki zein den sekuentzia perfektu hori.

Jokoen teoriak, matematikaren adar batek, aspaldi frogatu zuen existitzen dela, baina, xakearen konplexutasuna dela eta, ezin izan dute matematikariek aurrerago joan. Ez dakite sekuentzia horrek irabaztera ala berdinketara eramaten duen ere. Partida perfektua existitzen da, baina inork ez daki zein den. Hori berri ona da xake-jokalarientzat.

Hala ere, informatikariek aurrerapen handiak egin dituzte. Gaur egun, xakean jokatzeko softwarea ez da kalkulu hutsean oinarritzen, baizik eta estrategiaren esparruan sartu da. "Piezen kokapenak ebaluatzen ditu irizpide estrategiko baten arabera, hainbat ezaugarri aztertuta: endrokeak, peoien kokapena, alfilentzako diagonal irekiak ote dauden eta abar" dio Antonio Salmeron Almeriako Unibertsitateko informatikariak. "Jakina, gero kalkulua erabili behar du jokaldiak egoera oker batera eraman duen edo ez jakiteko. Baina, oinarrian, estrategiak bideratzen du ordenagailuaren jokoa".

Giza estrategia

Giza jokalarien jokoa ere estrategiak bideratzen du. Oinarrian, gerra bateko bataila batean bezala, eremua kontrolpean hartzen saiatzen da; xakean, taularen erdigunea mendean hartzea da eremua kontrolpean hartzea, bai piezak han kokatuta, bai eta beste kokapen batzuetatik erdigunean dagoenari eraginda ere. Hori lortuta, jokoa ondo bideratuta dago. Eta, hori lortzeko, estrategia erabili behar da.

Estrategia bera definitzea zaila da. Maila askotan funtzionatzen du, eta faktore asko hartzen ditu barruan. Adibidez, estrategia erabiltzeak esan nahi du erabakiak hartzea, besteari ziria sartzeko mugimenduak egitea, piezak trukatzearen etekinak neurtzea (arerioari pieza bat jateko beste bat sakrifikatzea), pieza batekin baino gehiagorekin sartzea erasoan eta abar. Eta hori jokaldiak eta arerioaren erantzuna kalkulatzea baino gehiago da.

Maisu handi batzuek esaten dute xakean joka daitekeela inongo kalkulurik egin gabe, eta estrategia hutsa irizpide hartuta. "Nik uste dut hori gehiegi esatea dela, baina, behintzat, adierazten du nolako garrantzia duen estrategiak kalkuluekin alderatuta" dio Salmeronek.

Antonio Salmeron (Almeria, 1971). Informatikaria. Almeriako Unibertsitateko katedraduna da Estatistikan eta Ikerketa Operatiboan. Adimen artifizialean eta xakean aditua da. José Cuena saria irabazi zuen Adimen Artifizialaren Espainiako Elkartearen 2001eko kongresuan, CAEPIA'2001-ean. Eta BayesChess xake-softwarea garatzeko proiektuaren zuzendaria da. Gainera, xake-jokalaria da: 2005ean, Almeriako txapelduna izan zen taldekako lehiaketan Alboran taldearekin; Reverté-Universidad de Almería taldeko kidea da; eta, 2008an, Andaluziako txapelduna izan zen ohorezko mailan. Arg.: Jose Miguel Puerta.

Estrategia informatikoa

Hain zuzen ere, azken urteetan, xakean jokatzeko softwareak horretan aurreratu du: programazioari estrategiaren ikuspuntua gehitu zaio.

"Informatikaren ikuspuntutik, xakea bilaketa-arazo bat da. Irabazi handienera eramaten duten mugimendu-sekuentzia egokienak bilatu behar dira" dio Salmeronek. Hori egiten duten algoritmo ezagunak badaude, Minimax izenekoa, adibidez. Ordenagailuak jokaldi posibleen zuhaitz bat eraikitzen du, baina ez osorik; Minimax algoritmoak emaitza txarretara bideratzen duten adarrak detektatzen ditu, eta ez ditu garatzen. Horrek alferrikako kalkulu asko saihesten du. Oinarrizko estrategia bat da. Baina gaur egungo softwareek Minimax baino askoz estrategia finduagoak erabiltzen dituzte.

"Horretarako, beharrezkoa da adimen artifiziala" dio Salmeronek. Ordenagailuak jokatzen ikasten du, oso algoritmo konplexuen bitartez, xake-partiden datu-baseak aztertuta.

Teknika asko daude horretarako. Antonio Salmeronek eta haren lankideek, adibidez, sare bayestarren ideia aplikatu diote xakearen problemari. Probabilitatearen distribuzio baten irudikapen matematiko bat da, aldagai-multzo batetik abiatuta. Xakearen kasuan, irudikapen horrek esaten dio ordenagailuari zer jokaldik bideratzen duten emaitza on baterantz eta zeinek ez.

"Alde batetik, giza jokalariek jokatutako partiden datu-baseetatik ikasteko baliabide bat da, eta, bestetik, aurrean duen jokalaria nolakoa den antzematen laguntzen dio". Oinarrian, hiru jokalari-mota daude: erasotzaileak, posiziozkoak eta tartekoak. "Ordenagailuak gizakia balitz bezala jokatzea nahi dugu; hau da, arerio erasokor baten aurka jokatzen duenean, posiziozko jarrera hartzea, eta alderantziz. Jokalari bat ez da eroso sentitzen kontrako joko-mota jokatzera behartzen dutenean".

Deep Blue

Adimen artifizialaren teknikak erabilita, informatikariek lortu dute makinek ezin hobeto jokatzea. "Gaur egun, xake-programek ia edozein jokalarik baino indar handiagoa dute" dio Salmeronek. Ez da denbora asko IBM enpresaren Deep Blue ordenagailuak eta Gari Kasparov jokalariak elkarren kontra jokatu zutela; 1996an lehen aldiz, eta 1997an beste bost partida. Bigarren partida Deep Bluek irabazi zuen; ordenagailu batek maisu handi baten kontra irabazten zuen lehen aldia zen. Ordenagailuak kalkulu-ahalmen izugarria zuen, baina estrategia ere erabiltzen zuen.

(Argazkia: © George Mayer/123 RF)

Geroztik, ez dago zalantzarik xake informatikoaren ahalmenari buruz. Hala ere, partida haien garaian, asko hitz egin zuten Turing testari buruz. Adimen artifizialaren ideia zahar bat zen. 1950eko hamarkadan, Alan Turing ingelesak esan zuen laster makinak gai izango zirela gizakiak imitatzeko adimenari dagokionez. Hortaz, test bat proposatu zuen elkarrizketa baten bidez makina bat eta pertsona bat bereizi ahal izateko. Eta xakearen mundua adimen artifizialaren esparrutik hain gertu egonda, hainbatek xakearen bidezko Turing test bat osatzea proposatu zuten: jokalari batek xake-partida bat nola jokatzen zuen ikusita, makina bat edo pertsona bat bereizi ahal izateko testa zen.

Deep Bluek Kasparovi irabazi zionean, zalantza sortu zen, xakearen bidezko Turing test hori posible izango zen edo ez. Bigarren partida bukatuta, Kasparovek esan zuen Deep Bluek ez zuela ordenagailu bat bezala jokatu. Giza jokalari batekin konparatu zuten.

Dena dela, ordutik aurrera asko hobetu dituzte xake-programak. Programazioa hobetu dute, eta ordenagailuak ere hobetu dituzte. Horren ondorioz, egoera erabat aldatu da. "Gaur egun, oso programa aurreratuak daude etxeko ordenagailurako, 50 edo 60 eurotan eros daitezkeenak" dio Salmeronek. "Ia edozeini irabazten dioten programak dira. Normalean, xake-jokalariek entrenatzeko erabiltzen dituzte".

Programa ezagunena Fritz da, oso software komertzial arrunta gaur egun. Fritzek, nahiz eta partida gehienak irabazten dituen --estrategia konplexuak erabilita gainera--, ez du gizakiak bezala jokatzen. Turingen testean argi ikusiko litzateke programa bat dela. "Horregatik ez dira erakargarriak programa horiek; ahalmen handiegia dute, beti irabazten dute, eta, gainera, oso monotonoak dira. Beti modu berean irabazten dute" dio Salmeronek. "Hain zuzen ere, hori da, nire ustez programatzaileen erronka: joko hori gizatiartzea. Niri ez zait gustatzen gaur egungo xake-programa baten kontra jokatzea".

Xake-programak egiten dituzten enpresetan hori da helburua. Estrategiaren kontuak agian ez du goia jo, baina oso maila altura iritsi da. Sobrakoa. Baina giza jokoaren antzekoa den joko bat garatu nahi dute orain; ez test bat gainditzeko, baina bai bizitasuna emateko. Asko falta da oraindik ordenagailuek gizakiek bezala pentsatzeko; baita xakean ere.

Piezen balioa
Ez da berdina dorre bat edo alfil bat. Lehenengoa ahaltsuagoa da bigarrena baino; baina, zenbat? Informatikariek zenbakitan egiten dute lan, eta balio horiek kuantifikatu behar dituzte. Hortaz, bada balioen eskala bat piezentzat: peoiari 1 balioa ematen zaio, zaldiari 3, alfilari 3, dorreari 5 eta erreginari 9. Balio horiek piezaren mugikortasunaren eta eskaintzen dituen aukeren araberakoak dira. Baina balio horiek ez dira nahikoa xakea programatzeko.
Zaldi bat taularen ertz batean baldin badago, bi tokitara besterik ezin da mugitu mugimendu bakarrean. Taularen erdian baldin badago, ordea, zortzi tokitara egin dezake salto. Eta, beste piezen kokapenaren arabera, leku jakin batean egoteak balio handiagoa edo txikiagoa izan dezake.
(Argazkia: Guillermo Roa)
Horregatik, piezaren berezko balioarekin batera, programatzaileek 8 x 8 dimentsioko matrize bat erabiltzen dute pieza bakoitzeko. Matrizearen elementu bakoitza taularen lauki bati dagokio. Laukiei balio negatiboa ere eman dakieke. Adibidez, partidaren hasieran zaldiak ateratzeko ahalegina egiteko, zaldia dagoen laukiari berari ematen zaio balio negatiboa. Horrela bidera daiteke numerikoki jokoa.
Hala ere, matrizeek eta piezen balioek ez dute jokalari baten estrategia definitzen. Horretarako, zenbakiez haratago dagoen analisia egin behar da.
Deep Blue eta Gari Kasparov
Sei partida jokatu zituen Deep Blue ordenagailuak Gari Kasparov maisuaren kontra. Lehenengoa Kasparovek irabazi zuen; erraz, adituen ustez. Bigarren partida Deep Bluek irabazi zuen. Hurrengo hirurak berdinketan bukatu ziren, eta azkena ordenagailuak irabazi zuen. Asko idatzi da partida-sorta hari buruz: lehen aldiz irabazi zuen makina batek munduko jokalari onenetako baten kontra.
Deep Blue ordenagailuak Minimax algoritmoan oinarrituta funtzionatzen zuen. Horrez gain, sekulako ahalmen fisikoa erabili zuen. 256 prozesagailu erabiltzen zituen, eta segundoko 200 milioi mugimendu kalkula zitzakeen, hau da, jokoaren 14 maila aztertzen zituen (14 mugimenduko sekuentzia posibleak).
Kasparovek esan zuen bigarren partidaren gakoa mugimendu oso arraro bat izan zela; jokaldi hura ezin zuela makina batek kalkulatu, eta gizakion laguntza ezkutua izan zuela Deep Bluek partidan zehar. Horregatik, IBM enpresari eskatu zion ikerketa bat egin ahal izatea partidetan zer gertatu zen ikusteko. Programatzaileek gaizki hartu zuten eskaera hura, esan zuten oso zuzen jokatu zutela, eta ezetz erantzun zioten Kasparovi.
Partida haiei buruzko polemikak ez zuen inora eraman. Ez dakigu IBMkoek ordenagailuari lagundu zioten partidetan. Nolanahi ere, hori jakiteak ez zuen garrantzi handirik. Programatzaileek zioten etorkizunean munduko 10 maisu handienen kontra ere irabaziko zuen ordenagailu bat izango zela. Eta, orain, haien etorkizun honetan, iragarpen hori betetzen ari da.
Roa Zubia, Guillermo
3
261
2010
2
022
Adimen artifiziala; Softwarea
Artikulua
42
Babesleak
Eusko Jaurlaritzako Industria, Merkataritza eta Turismo Saila