Programat per a matear

Roa Zubia, Guillermo

Elhuyar Zientzia

Els programes d'escacs ja utilitzen l'estratègia, però no són els mateixos que els humans.
Programat per a matear
01/02/2010 | Rosegui Zubia, Guillermo | Elhuyar Zientzia Komunikazioa
(Foto: Guillermo Roa)

Hi ha una forma perfecta de jugar als escacs. La seqüència de moviment de les peces és òptima, ja que amb aquesta seqüència no hi ha perill de perdre la partida. No obstant això, hi ha un problema: ningú sap quina és la seqüència perfecta.

La teoria de jocs, una branca de les matemàtiques, va demostrar fa temps que existeix, però la complexitat dels escacs ha impedit que els matemàtics vagin més enllà. No saben si aquesta seqüència porta a guanyar o a l'empat. El partit és perfecte, però ningú sap qui és. Això és una bona notícia per als jugadors d'escacs.

No obstant això, els informàtics han avançat molt. En l'actualitat, el programari d'escacs no es basa en el mer càlcul, sinó que s'ha integrat en el marc de l'estratègia. "Avalua les ubicacions de les peces segons un criteri estratègic, analitzant diferents característiques: els endrokes, la ubicació dels peons, si existeixen diagonals obertes per a alfils, etc.", explica Antonio Salmerón, informàtic de la Universitat d'Almeria. "Per descomptat, després ha d'utilitzar el càlcul per a saber si la jugada ha portat o no a una situació incorrecta. Però, bàsicament, l'estratègia orienta el joc de l'ordinador".

Estratègia humana

L'estratègia també orienta el joc dels jugadors humans. En la base, igual que en una batalla d'una guerra, tracta de prendre el control de la zona; en els escacs, dominar el centre del tauler és prendre el control de la zona, tant de la ubicació de les peces, com de la zona central des d'altres ubicacions. Una vegada aconseguit, el joc està ben orientat. I per a aconseguir-ho cal utilitzar l'estratègia.

La pròpia estratègia és difícil de definir. Funciona a molts nivells i abasta molts factors. Per exemple, l'ús de l'estratègia implica prendre decisions, fer moviments per a enganyar a l'altre, mesurar els beneficis de l'intercanvi de peces (sacrificar una peça per a menjar una altra a l'enemic), entrar en atac amb més d'una peça, etc. I això és més que calcular les jugades i la resposta del rival.

Alguns grans mestres diuen que es pot jugar als escacs sense fer cap càlcul i amb una estratègia pura. "Jo crec que això és a dir massa, però almenys indica la importància de l'estratègia respecte als càlculs", diu Salmerón.

Antonio Salmerón (Almeria, 1971). Informàtic. És Catedràtic d'Estadística i Recerca Operativa de la Universitat d'Almeria. Expert en intel·ligència artificial i escacs. Premi José Cuena en el Congrés de l'Associació Espanyola d'Intel·ligència Artificial 2001, CAEPIA'2001. I Bayes és el director del projecte de desenvolupament de programari d'escacs Chess. A més és jugador d'escacs: En 2005 va ser Campió d'Almeria per equips amb l'equip Alboran, membre de la Reverté-Universitat d'Almeria, i en 2008 va ser Campió d'Andalusia en Honor. Ed. : José Miguel Puerta.

Estratègia informàtica

De fet, en els últims anys el programari d'escacs ha avançat en això, afegint a la programació una perspectiva estratègica.

"Des del punt de vista informàtic, els escacs és un problema de cerca. Cal buscar les seqüències de moviment més adequades que porten al màxim benefici", diu Salmerón. Existeixen algorismes coneguts que ho fan, com el Minimax. L'ordinador construeix un arbre de possibles jugades però no íntegrament, detecta i no desenvolupa branques que dirigeixen els algorismes de Minimax a resultats desfavorables. Això evita molts càlculs innecessaris. És una estratègia bàsica. No obstant això, el programari actual utilitzen estratègies molt més refinades que Minimax.

"Per a això és necessària la intel·ligència artificial", afirma Salmerón. L'ordinador aprèn a jugar mitjançant algorismes molt complexos, analitzant les bases de dades de partides d'escacs.

Hi ha moltes tècniques per a això. Antonio Salmerón i els seus companys, per exemple, han aplicat al problema dels escacs la idea de les xarxes bayegas. És una representació matemàtica d'una distribució de probabilitat a partir d'un conjunt de variables. En el cas dels escacs, aquesta representació indica a l'ordinador quines jugades dirigeixen cap a un bon resultat i quins no.

"D'una banda, és un mitjà per a aprendre de les bases de dades dels partits jugats per jugadors humans i, per un altre, l'ajuda a descobrir com és el jugador que té davant". En la base hi ha tres tipus de jugadors: els agressors, els de posició i els intermedis. "Volem que l'ordinador actuï com un ésser humà, és a dir, que quan s'oposa a un enemic agressiu, adopti una posició de posició i viceversa. Un jugador no se sent còmode quan l'obliga a jugar un tipus de joc contrari".

Deep Blue

Utilitzant tècniques d'intel·ligència artificial, els informàtics han aconseguit que les màquines funcionin perfectament. "Actualment els programes d'escacs tenen més força que gairebé qualsevol jugador", afirma Salmerón. No és molt de temps que l'ordinador Deep Blue d'IBM i el jugador Gari Kasparov es van enfrontar, en 1996 per primera vegada i en 1997 es van disputar cinc partits més. El segon partit el va guanyar Deep Blue, la primera vegada que un ordinador guanyava contra un gran mestre. L'ordinador tenia una gran capacitat de càlcul, però també utilitzava l'estratègia.

(Foto: © George Mayer/123 RF)

Des de llavors no hi ha dubte de la capacitat dels escacs informàtics. No obstant això, durant aquells partits es va parlar molt del test de Turing. Era una vella idea d'intel·ligència artificial. En la dècada de 1950, l'anglès Alan Turing va afirmar que les màquines aviat serien capaces d'imitar als éssers humans en termes d'intel·ligència. Per tant, va proposar un test per a poder diferenciar una màquina d'una persona mitjançant una entrevista. I estant tan a prop el món dels escacs de l'àmbit de la intel·ligència artificial, molts van proposar completar un test de Turing a través dels escacs, un test que permetia diferenciar una màquina o una persona en funció de com un jugador jugava un partit d'escacs.

Quan Deep Blue va guanyar a Kasparov sorgeix el dubte de si aquest test de Turing amb escacs seria possible o no. Finalitzat el segon partit, Kasparov va indicar que Deep Blue no havia jugat com un ordinador. Ho van comparar amb un jugador humà.

No obstant això, a partir de llavors han millorat molt els programes d'escacs. Millora de la programació i millora dels ordinadors. Com a conseqüència, la situació ha canviat radicalment. "Avui dia hi ha programes molt avançats per a l'ordinador de casa, que es poden comprar a 50 o 60 euros", diu Salmerón. "Són programes que guanyen a gairebé qualsevol. Normalment són utilitzats pels jugadors d'escacs per a entrenar".

El programa més conegut és Fritz, un programari comercial molt comú en l'actualitat. Fritz, a pesar que guanya la majoria dels partits --amb estratègies complicades-, no es comporta com l'home. En el test de Turing es veuria clarament que és un programa. "Per això aquests programes no són atractius, tenen massa capacitat, sempre guanyen i a més són molt monòtons. Guanyen sempre igual", diu Salmerón. "Aquest és, al meu entendre, el repte dels programadors: humanitzar aquest joc. A mi no m'agrada jugar contra un programa d'escacs actuals".

Aquest és l'objectiu de les empreses que realitzen programes d'escacs. El tema de l'estratègia potser no ha aconseguit el sostre, però ha aconseguit un nivell molt alt. Sobri. Però ara volen desenvolupar un joc semblant al joc humà, no per a superar un test, però sí per a donar-li vitalitat. Encara falta molt perquè els ordinadors pensin com els humans, fins i tot en els escacs.

Valor peces
No és el mateix una torre que un alfil. El primer és més poderós que el segon, però quant? Els informàtics treballen de manera numèrica i han de quantificar aquests valors. Així doncs, hi ha una escala de valors per a les peces: s'assigna al peó el valor 1, al cavall el valor 3, a l'agulla el valor 3, a la torre el valor 5 i a la reina el valor 9. Aquests valors depenen de la mobilitat de la peça i de les possibilitats que ofereix. Però aquests valors no són suficients per a programar els escacs.
Si un cavall està en una cantonada del tauler, només es pot moure a dos llocs en un sol moviment. Si està en el centre de la taula pot saltar a vuit llocs. I depenent de la ubicació de les altres peces, la seva ubicació en un determinat lloc pot tenir major o menor valor.
(Foto: Guillermo Roa)
Per això, juntament amb el valor intrínsec de la peça, els programadors utilitzen una matriu de 8 x 8 dimensions per peça. Cada element de la matriu correspon a una casella de la taula. També es pot donar un valor negatiu als quadres. Per exemple, per a intentar treure els cavalls al principi del partit, el valor negatiu es dóna a la pròpia casella en la qual es troba el cavall. D'aquesta manera es pot dirigir numèricament el joc.
No obstant això, les matrius i els valors de les peces no defineixen l'estratègia d'un jugador. Per a això és necessari realitzar una anàlisi més enllà dels números.
Deep Blue i Gari Kasparov
L'ordinador Deep Blue va disputar sis partits contra el mestre Gari Kasparov. El primer ho va guanyar Kasparov, molt fàcil per als experts. El segon partit va ser per a Deep Blue. Les tres següents van acabar en empat i l'última va guanyar l'ordinador. S'ha escrit molt de sobre aquest joc de partits: una màquina guanyadora per primera vegada contra un dels millors jugadors del món.
L'ordinador Deep Blue funcionava basant-se en l'algorisme Minimax. A més, va utilitzar una enorme capacitat física. Utilitzava 256 processadors i podia calcular 200 milions de moviments per segon, és a dir, estudiava 14 nivells de joc (possibles seqüències de 14 moviments).
Kasparov va dir que la clau del segon partit va ser un moviment molt estrany, que no podia ser calculat per una màquina i que Deep Blue va tenir l'ajuda oculta dels humans durant el partit. Per això, va sol·licitar a l'empresa IBM la possibilitat de realitzar una recerca per a veure què va passar en els partits. Els programadors van acceptar malament aquesta petició, van afirmar que havien actuat molt correctament i es van negar a Kasparov.
La polèmica sobre aquests partits no li va portar a cap part. No sabem si els d'IBM van ajudar a l'ordinador. No obstant això, el seu coneixement no tenia gran importància. Els programadors asseguraven que en el futur seria un ordinador que guanyaria també contra els 10 grans mestres del món. I ara, en el seu futur, aquest anunci s'està complint.
Puente Rosegui, Guillermo
Serveis
261
2010
Serveis
022
Intel·ligència Artificial; Programari
Article
Uns altres
Babesleak
Eusko Jaurlaritzako Industria, Merkataritza eta Turismo Saila