TATETI – UNA VENTANA A LA INTELIGENCIA ARTIFICIAL

TATETI – Una ventana a la Inteligencia Artificial

La Inteligencia Artificial es una disciplina que intenta crear máquinas que actúen inteligentemente frente a una situación. La palabra inteligencia es difícil de definir pero si partimos de su etimología “Inter Elegere” (Elegir entre) podríamos definirla como la capacidad de “elegir” acertadamente la mejor opción frente a un problema.

El problema que se le ha presentado a la IA es cuando el rango de respuestas posibles es muy alto o infinito. La IA básicamente es un conjunto de programas computacionales que contienen información y reglas de actuación. Cuanto mayor sea el rango de posibilidades mayor es la cantidad de reglas necesarias a definir.

Sistema inteligente

La expresión “sistema inteligente” se usa a veces para sistemas inteligentes incompletos, por ejemplo para una “casa inteligente” o un “sistema experto”. En este caso “incompleto” significa que la “inteligencia” del programa se aplica a un universo restringido de conocimientos. Un “sistema experto” muy conocido son los programas que juegan ajedrez. El éxito de estos programas que han llegado a derrotar a los grandes maestros, está basado en fuerza bruta: enorme cantidad de bits de información y velocidad de procesamiento. Sin embargo con toda su complejidad estos programas no pueden jugar a otra cosa, ni siquiera al TATETI. La inteligencia humana en cambio puede lidiar con una enorme diversidad de asuntos y con problemas de diferente nivel de complejidad. Podemos aprender cientos de juegos.

Reglas de actuación

Una regla de actuación es el resultado de una experiencia o el resultado de interpretar la propia memoria. Relaciona situación y consecuencias de la acción. Las reglas se expresan en líneas de programación encabezadas por el condicional SI (IF). La sintaxis de estas líneas es SI (Comparación) [Reacción verdadera] [Reacción falsa].

PARA TURNO1

es [Buena suerte, que gane el mejor…]

haz “permitidas [a1 a2 a3 b1 b2 b3 c1 c2 c3]

haz “primer ll

Si :primer = [a1] [jugadaa1 circb2 es [CIRCULO en b2] espera 50 turno2a1 stop]

Si :primer = [a2] [jugadaa2 circb2 es [CIRCULO en b2] espera 50 turno2a2 stop]

Si :primer = [a3] [jugadaa3 circb2 es [CIRCULO en b2] espera 50 turno2a3 stop]

Si :primer = [b1] [jugadab1 circb2 es [CIRCULO en b2] espera 50 turno2b1 stop]

Si :primer = [b2] [jugadab2 circa1 es [CIRCULO en a1] espera 50 turno2b2 stop]

Si :primer = [b3] [jugadab3 circb2 es [CIRCULO en b2] espera 50 turno2b3 stop]

Si :primer = [c1] [jugadac1 circb2 es [CIRCULO en b2] espera 50 turno2c1 stop]

Si :primer = [c2] [jugadac2 circb2 es [CIRCULO en b2] espera 50 turno2c2 stop]

Si :primer = [c3] [jugadac3 circb2 es [CIRCULO en b2] espera 50 turno2c3 stop]

Si NO MIEMBRO? :primer [[a1] [a2] [a3] [b1] [b2] [b3] [c1] [c2] [c3]] [es [tu jugada está en offside] turno1]

fin

CONDUCTISMO Y CONSTRUCTIVISMO

En cierta forma la creación de estos sistemas incompletos se parece a una especie de aprendizaje “conductista”. Se agregan reglas de actuación, se evalúa su desempeño, si es defectuoso se agregan más reglas. No es un aprendizaje constructivo. Me parece interesante que la búsqueda de un sistema que aprenda constructivamente, es decir generar un conocimiento nuevo o de mayor complejidad a partir del conocimiento previo, impulsó al Dr. Seymour Papert a estudiar con Piaget durante 5 años. Es que Piaget con su epistemología genética había descripto cómo se genera (génesis) el conocimiento, cómo se complejizan los esquemas corporales y mentales a partir de esquemas previos más simples. El aprendizaje piageteano tiene una “aroma” a programación que seguramente habrá sido irresistible para los creadores del Logo. Los puntos en común con la teoría societaria de la mente del Dr. Marvin Minsky, publicada en 1985, son el resultado de esa convergencia. Obsérvese que es la característica de toda programación en Logo, se crean procedimientos más complejos a partir de “primitivas” elementales.

Una exposición muy interesante sobre Inteligencia Artificial y Educación puede leerse en mi blog en PIAGET Y LA INTELIGENCIA ARTIFICIAL

TATETI

El primer juego que Bill Gates programó fue un TATETI, aunque no sé a que edad. Comparado con el ajedrez no parece gran cosa, seguramente el juego nos parecerá aburrido ya que ganar es mposible si el adversario no comete un error.

El TATETI es un juego que tiene un rango de posibilidades relativamente bajo. Al inicio del juego hay 9, luego 8, 7, 6,… Factorial de 9 posiciones posibles (362880). Pero claro muchas de estas posiciones son “inaceptables” porque llevan a la derrota, con lo cual el número de bifurcaciones posibles se achica considerablemente. Pero para ello hay que introducir en el sistema cuáles son las jugadas “aceptables” o sea ganadoras.

Como sea es un notable esfuerzo de programación crear un programa que juegue al TATETI contra un usuario y nunca pierda. Es como crear a uno de esos insoportables que o la ganan o la empatan.

Esta programación que presento es el trabajo “creativo” de Juan Cruz, alumno egresado 2012 del colegio Bayard. Fue ese año, cuando el colegio conmemoraba 30 años de computadoras en educación que le sugerí embarcarse en el desafío. Cada tanto surge un alumno maestro de la programación con una gran motivación interna. Juan Cruz, con unas mínimas instrucciones, perseveró todo el año trabajando en su casa para completar el juego y presentarlo en la muestra de fin de año. Utilizó FMS LOGO que es la versión que utilizamos en robótica.

Fue un logro que tuvo el reconocimiento principalmente de muchos alumnos que ingresaban al editor y podían “ver” el complejo y extenso trabajo de programación. Es que en programación lo “esencial es invisible a los ojos”.

Adjunto un documento PDF con los procedimientos y comentario y un archivo DOC con los procedimientos (no puede insertar un archivo LOGO), por lo que podrán copiar los archivos y pegarlos en el editor del FMS LOGO.

Hay 2 programas principales: DALE y REVANCHA

En DALE comienza actuando el usuario. En REVANCHA comienza la computadora. Es divertido también preceder a estos procedimientos el comando PERSPECTIVA.

ARCHIVO PDF: TATETI PROCEDIMIENTOS FMS LOGO

ARCHIVO DOC PARA COPIAR PROCEDIMIENTOS Y PEGAR EN EL EDITOR FMS LOGO: TATETI PROCEDIMIENTOS FMS LOGO Para ingresar la posición tipea la columna y luego la fila: A1 B2 C3

 

CÓMO EL TATETI SALVÓ AL MUNDO

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

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