«És possible vèncer una ment artificial que juga als escacs?», per Manuel Sampayo

Tothom ha jugat o ha vist a algú disputant una partida als escacs. Aquest és un joc de taula que existeix des del segle VII i en el qual han sorgit jugadors realment extraordinaris amb una capacitat cognitiva increïble per dissenyar estratègies davant de cada situació de manera improvisada. Però, com és que als grans jugadors dels escacs els és tan difícil guanyar a una màquina?

Molt pocs han sigut capaços de vèncer les intel·ligències artificials que cada dia milloren la seva manera de jugar. Fins i tot als rànquings on es puntuen i classifiquen els millors jugadors es troba una gran diferència si es compara amb els rànquings de les màquines. Mentre que el millor jugador actual va aconseguir la puntuació més alta de la història amb 2882 punts, les intel·ligències artificials com Stockfish o AlphaZero sobrepassen els 3200. Què fan les màquines, llavors, a l’hora de jugar una partida per obtenir aquesta diferència amb els humans? 

Els ordinadors (especialment Stockfish) utilitzen constantment algoritmes Minimax. Aquests algoritmes són unes funcions hash que transformen un conjunt d’elements, en aquest cas les diferents posicions a una partida, en un conjunt de números. Abans de fer qualsevol moviment analitzen la posició a fons amb ajuda de la creació d’arbres de cerca. Els arbres de cerca agafen l’estat inicial, que correspon amb la posició que es vol analitzar i, a partir d’aquest, generen diferents operadors, que corresponen a totes les posicions que poden existir a partir de la inicial. Els operadors es continuen desenvolupant fins que una condició terminal indiqui el contrari (aquesta condició terminal en el cas dels escacs és l’eliminació d’un dels reis). Tot seguit, apareixen les funcions d’utilitat que s’encarreguen d’atribuir un valor numèric a cada operador: un 1 en cas d’haver-hi una victòria, un 0 si hi ha un empat o un -1 si hi ha una derrota. Finalment, la informació aconseguida després del desenvolupament de tots els operadors s’envia a l’estat inicial, el qual decideix quin moviment possibilitarà una major facilitat de victòria. 

Les ments artificials se centren, també, en la legalitat dels moviments. A l’hora de desenvolupar els operadors a partir d’un estat inicial, les màquines comproven en tot moment que el desplaçament de les peces sigui legal. Aquest serà legal o no, segons si les regles del joc de taula ho permeten.

Ara bé, tota aquesta anàlisi i la comprovació legal d’un moviment que fa la màquina també la pot realitzar l’ésser humà, però de manera menys ràpida. Fins fa poc, es creia gairebé impossible poder vèncer un ordinador amb una puntuació de 3200. No obstant això, el jugador i streamer Zolpi va pujar ala xarxa un vídeo on mostrava com ho havia aconseguit després de molts dies d’investigació. Zolpi es va posar a la pell de la màquina i va començar a analitzar cada posició de la partida. Va imaginar, suposar i representar les millors opcions possibles de l’ordinador per decidir quin moviment podria obtenir avantatge sobre els posteriors. D’aquesta manera, amb només disset moviments i fent el sacrifici de quatre peces, va assolir una victòria inimaginable per a molts jugadors.

L’assoliment de Zolpi és l’exemple que les màquines encara no ens han superat completament. Així i tot, pot ser que algun dia sigui impossible guanyar a una màquina? Els avenços tecnològics permeten que les intel·ligències millorin cada dia, per tant, hem de reconèixer que arribarà un moment en el qual aquestes dominin l’històric joc de taula.

L’alumne de 2n de batxillerat, Manuel Sampayo ha centrat el seu Treball de Recerca en la relació dels escacs amb les matemàtiques, investigació per la qual ha estat seleccionat per representar l’Institut S’Agulla en l’edició d’enguany de la Mostra de Treballs de Recerca de La Selva.  

 

 

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *

XHTML: Trieu una d'aquestes etiquetes <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>