miércoles, noviembre 23, 2005

Humanos 0,5 - Máquinas 2,5

Por si alguien pensaba que este momento nunca llegaría...

Yo lo tenía bastante claro y no es que sea un experto en el tema, pero una de las cosas que aprendí en la carrera en Inteligencia Artificial, fueron los conceptos básicos de la teoría de juegos. Una vez que sabes como se plantea el problema de los juegos como el ajedrez, las damas, el bantumi, etc. caes en la cuenta de que tarde o temprano las máquinas vencerán al hombre, tal y como ya pasa.

El planteamiento es simple (Alfred-λ puede corregirme si me equivoco), el ordenador se dedica a hacer todos los movimientos posibles (suyos y del oponente) hasta un cierto límite de jugadas consecutivas (denominado profundidad). Una vez tiene todas esas partidas virtuales hasta el movimiento N, coge la "mejor" y "decide" hacer la primera jugada que llevaba a esa posición final. Este proceso se repite, hasta que se llegue al final de la partida.

La clave de todo esto es como sabe el programa que posición es mejor que otra. En algunos juegos esto es sencillo, pero en otros como el ajedrez esto no es tan simple (es más, es bastante complicado decirlo con exactitud). Para determinar esto, el programa aplica un algoritmo a cada posición que le devuelve un valor numérico que determina como de buena es esa situación. A este algoritmo se denomina Función de evaluación y es la pieza maestra de todo el tema. El resto de código solo se encarga de ir haciendo todos los movimientos posibles, distintos con cada pieza, pero bastante mecánico.

Creo que una vez llegados aquí, la cosa está bastante clara. Es solo cuestión de potencia de cálculo y está claro que de momento esto no parece tener límite. Así que solo era cuestión de tiempo que un procesador pudiera ejecutar N mil millones de movimientos por segundo y adelantarse a los movimientos de los humanos. Creo que la única razón por la que los humanos aun tenemos alguna posibilidad es por la explosión combinatoria que ofrece el ajedrez (16 piezas por jugador, distintos movimientos por cada una, piezas que pueden mover un número distinto de casillas, etc.).

Parece que de momento es imposible determinar quien ganará la partida desde el inicio (cosa que ocurre en algunos juegos simples), pero pienso que llegará ese día en el que muevas el peón de rey y el PC te muestre un mensaje que diga "Mate en 87 movimientos"