Reflexiones sobre inteligencia artificial

Por Agustin Morales

Ingeniero informático

Experto en robótica

¿Como juega una máquina al ajedrez? La base es sencilla, solo tres pasos:

- Definimos una cuadrícula (matriz bidimensional) de 8 por 8.
- Colocamos las piezas en sus casillas de salida.
- Y asignamos unas reglas para el movimiento de estas piezas.

Con esto ya tenemos un programa que juega al ajedrez. Podemos por ejemplo elegir una pieza al azar y moverla a cualquier casilla permitida también al azar.  El juego lógicamente sería horriblemente malo. El contrincante nos daría jaque mate enseguida, pero sería juego al fin y al cabo.

¿Como hacemos para dotar de “inteligencia” al programa?
En la primera jugada hay alrededor de 30 movimientos El contrincante tiene otros 30 movimientos para cada uno de los nuestros… y así sucesivamente. En unas pocas jugadas tendríamos que contemplar billones de jugadas. La progresión exponencial es inviable: hemos de reducir el número de jugadas posibles.

Para reducir hemos de seleccionar y para seleccionar hemos de valorar  jugadas en el contexto de una posición. Para esto utilizamos un algoritmo de poda (por ejemplo la llamada poda alfa-beta).  Esto implica que continuaremos analizando SOLO aquellas jugadas valoradas como más significativas (usualmente nuestras mejores jugadas a las mejores jugadas del contrario)

Cuando al programa se le requiera jugar, realizará aquella jugada que en ese instante haya valorado como mejor.

El cerebro, como dispositivo inteligente de proceso, debe por tanto tener una manera de ponderar/valorar los hechos. Entiendo que son las emociones las que se encargan de esto en nuestro cerebro. El hecho  intrascendente , la jugada sin valor, está destinada a no ser evaluada, es decir al olvido. Los hechos importantes, jugadas de mayor interés, deben consumir mayor tiempo de proceso, alcanzando un pico cuando detectamos un posible jaque mate del contrario.

El cerebro analiza en tiempo real. La información disponible es siempre muy superior a lo que podemos procesar. El desierto de lo real es muy grande. Grande y carente de sentido para nosotros. Es un desierto cuya concepción no podemos alcanzar y en el que es de suponer que hay un horizonte de sucesos o universo cognitivamente observable. Fuera de nuestras reglas quizás los caballos se muevan como alfiles , las damas como torres o los peones no existan. La ciencia es un poderoso brazo que nos permite extender mucho nuestros límites, pero quizás haya un mundo mucho más amplio fuera del propio tablero y que ya no podamos ni siquiera concebir.

Las reglas de nuestro ajedrez, las dicta nuestro software/hardware humano, interactuando fuertemente con este desierto y con otros sistemas hard-soft preferentemente de nuestra especie.

Los aplazamientos de partida fueron un clásico del juego-ciencia. Una partida en la que se aplazan las jugadas cambia todo el panorama pues el citado aplazamiento rompe la regla de jugar en tiempo real. Es como un sueño. Los maestros llevan a sus analistas y estos tras él aplazamiento, analizan la posición en la que quedó la partida durante toda la noche.  Los jugadores normalmente participan en este análisis, pero solo hasta un punto, pues deben descansar. Cuando se despiertan, los análisis habitualmente han mejorado. Se encuentran por tanto con una jugada que no es suya, pero que hacen suya en el tablero.

Volvamos ahora al ordenador que juega. Hemos hablado de la necesidad de evaluación para dotar de inteligencia al programa, pero ¿cómo funciona ese módulo que evalua?
El programa efectúa en una memoria interna distintas jugadas y sigue la secuencia hasta un punto coherente (por ejemplo si hay un cambio de piezas debe terminar a que se hagan todos los cambios antes de evaluar), luego realiza un contaje bastante burdo de la situación : asigna valores a las piezas y suma lo que hay sobre el tablero. Si el puntaje es muy desfavorable la jugada se descarta (salvo sutilezas). Pero cuando la cosa está igualada inevitablemente se llega a un punto en el que debe mirarse el tablero en conjunto. Hay que encontrar patrones en este paisaje que nos den la pista de si la posición es o no favorable.  Hay cientos de patrones que sabemos que funcionan aunque es raro que sepamos por qué hasta sus últimas consecuencias. Las torres deben dominar columnas abiertas (sin peones); el centro debe tomarse; el rey enrrocarse, los álfiles no deben cambiarse por caballos,  hay que evitar doblar los peones o dejarlos aislados,  etc, etc… Es el módulo heurístico del programa, que se nutre de una experiencia que le viene dada, que nos viene dada también a los jugadores a través de nuestros mayores (tradición), de nuestros compañeros de juego (sociedad) o de nuestros aciertos y errores (experiencia).

Por tanto los programas ajedrecisticos, al igual que los jugadores, fundamentan todo su juego en creencias.Un buen jugador, humano o no, debe tener muchas creencias y saberlas aplicar al contexto y debe intentar eliminar aquellas que no funcionan.

Pero ¿qué ocurre si eliminamos esta parte heurística? ¿que ocurre si no tenemos patrones de referencia?
La falta de conocimiento  no lleva al jugador novato a pensar menos, sino más (habitualmente). El novato queda atrapado. Sin creencias no puede elegir. Se desespera. Su decisión puede extenderse hasta el infinito, y finalmente responde quizás solo por la exigencia temporal. También ocurre en jugadores avanzados o medios cuando la posición no les recuerda a ningún patrón conocido. La mayor parte del tiempo un ajedrecista en esta posición no está pensando en nada útil. No obstante sufre, se pone nervioso… pues si no hay patrón no hay jugada. El tiempo pasa en el exterior, pero no pasa para el jugador, el cual da vueltas una y otra vez a la jugada. Cae entonces en lo que en la jerga llamamos zeitnot, apuro de tiempo que es causa muy habitual de pérdida de la partida. La pérdida no se produce tanto por la falta de tiempo sino por el Síndrome de Kotov, que es una compulsión a hacer una jugada totalmente irracional, después de haber pensado largo tiempo.

Darle vueltas a una posición de la cual no se encuentra un patrón es contraproducente. O al menos lo es en lo que habitualmente llamamos pensamiento (encadenar ideas). La mente da vueltas en círculo y comienza a asociar a proyectar en la posición ideas que no pertenecen a ella sino al estado de ánimo ansioso en que uno se encuentra. Son muchas partidas las que se dan por perdidas debido a esto.

Cuando no hay patrón parece mejor estrategia limitarse a observar como un paisaje. El patrón surgirá y con él la jugada.

No obstante en ocasiones la presión del momento es muy grande y uno se ve en zeitnot, perdiendo la partida. En este punto lo mejor que puede hacerse es analizar la partida concienzudamente, en la tranquilidad de la casa o aun mejor en la reunión amistosa de los miembros del club ajedrecístico. Gente más experimentada que uno, puede indicarle a que patrón correspondía aquella posición. El tiempo aquí no es indiferente. La posición debe analizarse cuanto antes y es además la práctica habitual en clubes.

Cuando esto no se hace y uno se encuentra de nuevo con la nueva posición, los pensamientos espurios de aquel primer momento se transmiten de una sola vez. Ya no se trata de una cadena de pensamientos, sino de todo un estado completo que se transfiere de una sola vez. Ahora la tarea es más difícil y será aun más difícil cada vez que la situación se presente. La asociación con lo pensado anteriormente se va acumulando en cada nueva situación y da lugar a un tipo de “amaurosis scachistica”, termino acuñado por el gran jugador Dr.Tarrasch para indicar la imposibilidad de ver jugadas que en principio deberían ser evidentes.

La solución al problema sigue siendo la misma. No asociar, no juzgar, la próxima vez que la ocasión se presente. No juzgar en un doble aspecto: no juzgar la posición y no juzgar el estado repentino que se presenta como consecuencia de haber experimentado anteriormente el problema. La nueva emoción consecuencia de “no juzgar” será la que se asocie con la posición como forma de ponderar la importancia subjetiva de la misma.

4 pensamientos en “Reflexiones sobre inteligencia artificial

  1. La clave de la sabiduría de todos los tiempos es la que tú dices: “no juzgar la próxima vez” en base a montajes pre-sabidos. Cada situación es probabilísticamente nueva y distinta.
    Genial, Agustín :)

  2. Me ha gustado mucho el escrito de Agustín. Ver la vida como un sueño o relacionarla con una partida de ajedrez o con un juego es una metáfora que ha sido utilizada en literatura desde antiguo, así que algo de eso debe haber cuando insistimos en verlo así, pero con grandes matices.
    Personalmente eso de “no juzgar la próxima vez” me parece casi imposible dentro del software humano si lo que tienes delante en verdad interesa y es transcendente. Si no interesa lo suficiente al sujeto, evidentemente, esperará hasta más ver, pero, si es de importancia, el análisis de la situación y de los hechos es inmediato e imparable. Cada situación es probabilísticamente nueva pero nuestro cerebro no, así que rápidamente hará asociaciones y comparaciones para poder explicar de la mejor manera posible lo que tiene delante y poder tomar la decisión más acertada si es posible teniendo en cuenta el tiempo y la complejidad de la decisión a tomar.

  3. Bueno, si nos basamos que en la estructura del cerebro y en las ultimas ideas de la IA se puede extrapolar que; A) Recibimos, procesamos y guardamos Patrones Sinapticos.
    B) Si algo es novedoso lo intentamos procesar hasta resolver(Deducción Natural; Normalmente con un limite de procesamiento por segundo de 7+/-2 por segundo y no mas de tres veces por caso (¿”A la tercera va la vencida”?) o actuamos metódicamente( Lógica, Método Científico,etc) o actuamos aleatoria-mente.
    C)Almacenamos el error (De errores se aprende: 1º)generalizamos y luego por inducción especificamos si vale o no según que caso [Sensibilidad al contexto por inducción; prueba o error]
    D)Por experiencia: a patrón almacenado, plan preparado para cada caso. Sea gradual (Todas las opciones posibles) ó sea probable (No seguro y por tanto red Bayesiana “al canto” o calculo de probabilidades [Moda, Mediana, Media, Desviación, Calculo Matricial Acotado..blah, blah,blah) y el esquema/agrupamiento por similitud (tema) de tales patrones.

    Todo por medio de jerarquías y redes.

    En definitiva existe muchisimo sobre IA, SicoSociologia y Neurologia y si pones a investigar…pffff es infinito. :-) Me lo he pasado como un enano :o)

Deja un comentario

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s