Kowalski, R. (2011) La lógica computacional y el pensamiento humano: cómo ser artificialmente inteligente

Capítulo 3. El Piojo y el explorador de Marte

El Fundamentalismo Lógico, que concibe la vida como puro pensamiento sin acción, le ha dado a la lógica una mala reputación. Además, ha ocultado a su cercano familiar, la Lógica Tolerante, que reconoce que la lógica es sólo una forma de pensar y que el pensar no lo es todo.

La anti-tesis del Fundamentalismo Lógico es el Conductismo Extremo, el cual niega cualquier forma de Vida Mental y que, por el contrario, ve la vida completamente en términos de conducta. El Conductismo Extremo, a su vez, puede ser fácilmente confundido con el modelo del pensar que constituyen las reglas de condición-acción.



Conductismo



Imagine que Ud está analizando la conducta del termostato, que regula la temperatura de un cuarto calentándolo cuando está muy frio y enfriándolo cuando está muy caliente. Ud bien podría describir la conducta de entrada-salida del termostato en forma de condiciones-acciones:

Si la temperatura actual es T grados y la temperatura deseada es T’ y T < T’ -  2°

entonces el termostato aumenta la temperatura.

Si la temperatura actual es T grados y la temperatura deseada es T’ y T > T’ + 2°

entonces el termostato reduce la temperatura.

Pero seguramente Ud no le atribuiría al termostato una mente que manipula tales descripciones para generar su conducta.

Tal como Ud ve el termostato en este ejemplo, el conductista ve a los agentes en general.

Por tanto, en el cuento de la zorra y el cuervo, un conductista, incapaz por principios de considerar el estado mental, interno de la zorra, explicaría su conducta de la misma forma en que la zorra explica la conducta del cuervo:

Si la zorra ve que el cuervo tiene un queso entonces la zorra alaba al cuervo.

Si la zorra está cerca del queso entonces la zorra toma el queso.

La descripción conductista de la zorra comienza y termina la conducta de la zorra observable “desde afuera”. El conductista justifica su rechazo a la atribución de cualquier actividad mental interna a la zorra, en el hecho de que es imposible verificar tales atribuciones por el supuesto método científico de la observación y la experimentación.

De acuerdo con el conductista, la zorra es un agente puramente reactivo, que simplemente responde a los cambios en el mundo a su alrededor. Si, durante el proceso de reaccionar a esos cambios, la zorra obtiene el queso, entonces este resultado es meramente un efecto indirecto “emergente”, nunca uno causado deliberadamente por la zorra gracias a su razonar proactivo y orientado a una meta.

El conductista tampoco ve ninguna razón para distinguir entre la conducta del termostato y la de un humano. El conductista podría usar una implicación

Si un pasajero observa una emergencia en el metro,

entonces el pasajero pulsa el botón de la señal de alarma.

para describir la conducta de un pasajero del metro. Pero el uso de esta implicación no dice nada acerca de cómo genera el pasajero esa conducta. Por lo que concierne al conductista, pulsar el botón de la señal de alarma cuando hay una emergencia podría ser simplemente un instinto, cuyo propósito el pasajero ignora completamente.

El conductismo es apoyado circunstancialmente por el Darwinismo, puesto que este sostiene que los organismos evolucionaron a través de adaptaciones frente al ambiente, en lugar de por un proceso de auto-mejora dirigido a metas.

El conductismo también comparte con las reglas de condición-acción esa orientación a modelar la conducta como reacciones a cambios en el ambiente. Sin embargo, mientras el conductismo restringe su atención a las descripciones de la conducta, las reglas de condición-acción son usadas en los llamados sistemas de producción para generar conductas.



Sistemas de Producción



Son pocos los psicólogos que, hoy en día, suscriben incluso las versiones moderadas del conductismo. Por el contrario, la mayoría se adhiere al punto de vista de las ciencias cognitivas, según el cual, los agentes inteligentes realizan cierta forma de pensar que bien puede ser entendida como la aplicación de procedimientos computacionales a representaciones mentales del mundo.

Paul Thagard declara en su libro La Mente: una introducción a la Ciencia Cognitiva (Mind: Introduction to Cognitive Science) que, entre los varios modelos del pensar investigados en las ciencias cognitivas, los sistemas de producción son “los que tienen más aplicaciones en psicología” (página 51). Steven Pinker en Cómo trabaja la mente (How the Mind Works) también utiliza sistemas de producción como su principal ejemplo de un modelo computacional de la mente (página 69).

Un sistema de producción es una colección de reglas de condición-acción imbuídas en el componente pensante del ciclo observación-pensamiento-decisión-acción de un agente.

Las reglas de condición-acción (también llamadas reglas de producción) son muy parecidas a las descripciones de conducta de los conductistas. Sin embargo, puesto que son usadas por cada agente internamente para generar su conducta, sus conclusiones pueden ser expresadas en modo imperativo en lugar del declarativo.

Si (estas) condiciones (se cumplen)

entonces haga (estas) acciones.

Los sistemas de producción fueron inventados en la década de 1930 por el lógico Emil Post, pero fueron propuestos como un modelo computacional de la inteligencia humana por Alan Newell.



El ciclo del Sistema de Producción



Los sistemas de producción incorporan las reglas de condición-acción en ciclo de observación-pensamiento-decisión-acción del agente:

Para “ciclar” o para que cicle,

observe el mundo,

piense,

decida cuáles acciones realizar,

actúe,

cicle de nuevo.

El pensar es, así, una forma de razonamiento hacia adelante, que comienza con una observación que se aparea con una de las condiciones de una regla de condición-acción. En tales casos, se dice que la observación dispara la regla de condición-acción. Tal como en lógica, si las restantes condicciones también se verifican, se deriva la conclusión.

En lógica, la conclusión es una consecuencia inescapable de las condiciones. Sin embargo, en los sistemas de producción, se trata solamente de una recomendación de realizar las acciones que están en la conclusión. Si sólo una de las reglas es disparada por las observaciones, entonces las recomendación es, de hecho, una orden inequívoca. Pero, si más de una regla es disparada, el agente debe escoger entre las varias recomendaciones, para decidir cuál acción realizar. Está decisión es normalmente etiquetada como resolución de conflicto, puesto que las recomendaciones pueden contradecirse unas a otras.

Por ejemplo:

Si alguien me ataca, responde igual.

Si alguien me ataca, consigue ayuda.

Si alguien me ataca, trata de escapar.

Decidir que hacer, cuando hay conflicto entre las recomendaciones, puede ser más difícil que generar las recomendaciones. Volveremos al problema de decisión más adelante.



Sistemas de Producción sin ninguna representación del mundo



En el caso más simple, el estado mental del agente podría consistir únicamente de reglas de producción, sin ninguna representación mental del mundo. En tal caso, las condiciones de una regla se verifican por apareo directo con las observaciones actuales del agente. En este caso, se puede decir (y se ha dicho) que el mundo sirve como su propia representación: Si quieres averiguar acerca del mundo, no pienses al respecto, sólo observa!.

Observar el estado actual del mundo es mucho más fácil que tratar de predecirlo a partir de las observaciones pasadas y suposiciones acerca de la persistencia de los estados pasados. Y es mucho más confiable, porque las suposiciones de persistencia fácilmente pueden ser erróneas, especialmente cuando hay otros agentes alrededor, cambiando el mundo a placer. Es muy pronto aún, para discutir este tema en este capítulo, pero volveremos a él más tarde, cuando revisemos en detalle que implica el razonar acerca de la persistencia de estados en el tiempo.



Qué se siente ser un Piojo



Para entender en qué consiste ser un sistema de producción sin ninguna representación del mundo, imagine que Ud es un piojo de la madera y que toda su conducta de vida se puede resumir en las siguiente tres reglas:

Si al frente está libre entonces me muevo adelante.

Si hay un obstáculo al frente entonces volteo a la derecha.

Si estoy cansando entonces me detengo.

Puesto que es Ud tan elemental forma de vida, su visión se limita a la porción del mundo que está directamente en frente suyo. Además, puede Ud sentir cuando está cansado. Es decir, su cuerpo es parte del mundo, externo a su mente. Tal como ocurre con otros objetos externos, su cuerpo genera observaciones como estar cansado o estar hambriento, que deben ser atendidas por su mente.

No importa de donde provienen las reglas. Si son un producto del proceso evolutivo o si le fueron otorgadas por un Gran Diseñador. Lo importante es que, ahora que las tiene, ellas gobiernan y regulan su vida.

Suponga, para propósitos ilustrativos, que Ud percibe la siguiente secuencia de observaciones:

Al frente está libre.

Al frente está libre.

Hay un obstáculo al frente.

Al frente está libre y estoy cansado.

Apareando las observaciones, en ese mismo orden, con las condiciones de sus reglas, se obtiene la siguiente secuencia combinada de observaciones y acciones:

Observe:               Al frente está libre.

Haga:                   Me muevo adelante.

Observe:               Al frente está libre.

Haga:                   Me muevo adelante.

Observe:               Hay un obstáculo al frente.

Haga:                   Volteo a a derecha.

Observe:             Al frente está libre y estoy cansando.

En este punto, las observaciones actuales disparan dos reglas diferentes y las acciones correspondientes que ellas recomiendan están en conflicto. Ud no puede moverse adelante y detenerse al mismo tiempo. Necesita un método para resolver el conflicto, para decidir que hará.

Existen muchas estrategias para resolver conflictos. Pero, en este, como en muchos otros casos, el conflicto puede resolverse simplemente[1] asignando prioridades distintas a las reglas y seleccionando la acción generada por la regla con la mayor prioridad. En nuestro caso, es obvio que la tercer regla debe tener mayor prioridad que la segunda (NT: ¿lo es?. Suponemos que el cansancio impide el movimiento). Así que la acción apropiada es:

Haga:   Me detengo.

Una vez que un piojo ha aprendido sus reglas, su estado interno permanece fijo. Las observaciones vienen y van y las acciones asociadas se realizan sin que se les registre o recuerde. El precio a pagar por esta simplicidad es que el piojo vive en el aquí y ahora solamente y no tiene idea de grandioso mundo que le rodea. Pero, para un piojo, ese es, probablemente, un pequeño precio a pagar por el disfrute de una vida simple.



Sistemas de Producción con Memoria



Aunque la vida simple pueda parecer atractiva, la mayoría de las personas probablemente preferiría algo más excitante. Para tenerlo, Ud necesita, por lo menos, un sistema de producción con una memoria interna. La memoria puede ser usada, no sólo para registrar las observaciones del estado actual del mundo, sino también para almacenar los registros históricos de las observaciones pasadas.

Normalmente, una observación individual tiene la forma de una oración atómica [2], llamada así porque no se puede subdividir en subpartes que sean también oraciones. Esto implica que la forma lógica de una observación no contiene a ninguna de las conectivas lógicas “y”, “o”, “si” y “no”, que transforman oraciones simples en otras más complejas. Cada oración atómica es también llamada átomo.

En un sistema de producción con memoria, una regla se dispara con una observación que se aparee con una de las condiciones de la esa regla. Todas las otras condiciones son también verificadas evaluándo si corresponden a los registros de observaciones pasadas, futuras y las del momento. Si todas las condiciones concuerdan con observaciones, las acciones de la regla se separan como candidatas para ejecución.



Qué se siente se un Explorador de Marte



Para imaginar cómo es ser un sistema de producción con memoria, imagine que Ud ha superado su vida como piojo y ha reencarnado como un robot que fue enviado a Marte en busca de rastros de vida marciana.

Por fortuna, su vida anterior como piojo le da a Ud una buena idea de como comenzar esta nueva reencarnación. Más aún, siendo un robot, Ud nunca se cansa y nunca tiene que descansar. No obstante, todavía hay 2 problemas que debe resolver: cómo reconocer la vida cuando la vea y cómo evitar caminar en círculos.

Para el primer problema, sus diseñadores lo han equipado a Ud con un módulo de reconocimiento de vida, que le permite identificar signos de vida, y también con un transmisor para informar al centro de control de sus descubrimientos. Para el segundo problema, necesita Ud una memoria que le permita reconocer cuando ya ha estado en un lugar antes, de manera que evite visitarlo de nuevo.

Un sistema de producción con memoria, que es una versión mejorada del sistema de producción de un piojo, podría verse así:

Si el espacio adelante está libre

y yo no he estado en ese espacio antes,

entonces vaya a ese espacio.

 

Si el espacio adelante está libre

y he estado en ese espacio antes,

entonces volteo a la derecha.

 

Si hay un obstáculo adelante

y no muestra signos de vida,

entonces volteo a la derecha.

 

Si hay un obstáculo adelante

y muestra signos de vida,

entonces lo reporto al centro de control

y volteo a la derecha.

Para saber si Ud ha estado en un lugar antes, necesita Ud un mapa del terreno. Puede hacerlo, por ejemplo, dividiendo el terreno en espacios cuadrados e identificando cada espacio con unas coordenadas, (E, N), donde E es la distancia hacia el Este desde el centro del cuadrado y hasta un punto de origen o referencia, mientras que N es la distancia al Norte desde ese origen. Ud comienza en el cuadrado (0,0).

Para que esto funcione, cada cuadrado tiene que tener el mismo tamaño que el paso que Ud da al moverse adelante. Suponiendo que Ud conoce las coordenadas de su posición actual, Ud puede usar aritmética simple para calcular las coordenadas tanto del cuadrado adelante, como del cuadrado a la derecha, con lo que estaría obteniendo las coordenadas de su siguiente posición.

Cada vez que Ud pasa a un nuevo cuadrado, registra su observación del cuadrado con sus coordenadas. Así, para establecer si ha estado ya en ese lugar antes, sólo tiene que consultar su memoria de observaciones pasadas.

Suponga que, por ejemplo, Ud está en el origen, mirando al Este. Suponga, también, que las siguientes oraciones atómicas describen el mundo a su alrededor:

Vida en (2,1)

Libre el (1, 0)

Libre el (2, 0)

Obstáculo en (3, 0)

Obstáculo en (2, -1)

Obstáculo en (2, 1).

Aunque hay vida en su vecindario, Ud no puede verla. Al arrancar, lo único que Ud sabe del mundo es que está libre en (1,0).

Suponga también que, aún cuando su misión es buscar vida, Ud es la única cosa que se mueve. Esta descripción del mundo se cumple en todos los estados del mundo que encontrará (suponiendo que, cuando Ud ocupe un lugar, este se considerará libre).

Dadas esas suposiciones, Ud no tiene elección. Su conducta está completamente predeterminada:

Observe:               Libre el (1, 0)

Haga:                   Vaya a (1, 0)

Observe:            Libre el (2, 0)

Haga:                   Vaya a (2, 0)

Observe:            Obstáculo en (3, 0)

Haga:                   Volteo a la derecha

Observe:            Obstáculo en (2, -1)

Haga:                   Volteo a la derecha

Observe:               Libre el (1, 0)

Recuerde:            Visité (1, 0)

Haga:                   Volteo a la derecha

Observe:            Obstáculo en (2, 1)  y  Vida en (2, 1)

Haga:                   Reporte vida en (2, 1) al centro de control.

Haga:                   Volteo a la derecha.[3]



Observe que el reportar su descubrimiento de vida al centro de control es simplemente otra acción más, como moverse adelante o voltear a la derecha. Ud no tiene idea de que, para sus creadores, esta es su misión fundamental.

Sus diseñadores lo han dotado con un sistema de producción que logra la meta de descubrir vida como una propiedad emergente. Quizás, incluso para ellos, esta meta es una sub-meta de otra de nivel todavía superior, tal como satisfacer su propia curiosidad científica. Pero ninguna de esas metas o sub-metas es evidente para Ud.



El uso de los sistemas de producción para simular la reducción de metas



Los sistemas de producción han sido usados, no sólo para construir modelos computacionales de agentes inteligentes, sino también para construir aplicaciones, con frecuencia con la forma de sistemas expertos. En muchas de esas aplicaciones, se usan reglas de condición-acción para simular explícitamente la reducción de metas, en lugar de confiar en las propiedades emergentes para procurar metas de nivel superior implícitamente.

Por ejemplo, la reducción de la Zorra que obtiene de la meta de tener el queso, la de estar cerca del queso y tomarlo, puede ser simulada con la siguiente regla de condicción-acción[4]:

Si yo quiero tener un objeto

entonces paso a creer que yo quiero estar cerca de ese objeto

y tomo el objeto.

Aquí la Meta se representa anotando en la memoria del sistema una pseudo-creencia con la siguiente forma:

Yo quiero Meta.

La reducción de Meta a Sub-metas se simula con una regla de condición-acción que tiene por condición a Meta y cuyas acciones bien pueden tener la forma:

Agrega a mis creencias que yo quiero Sub-metas

que se convierte luego en una actualización interna de la memoria de sistema , o bien pueden ser acciones genuínas realizadas externamente.

El problema principal con este método simulado es que pierde la conexión entre la reducción de la meta y la creencia que la justifica, en este caso, con la creencia:

Un animal tiene un objeto

si el animal está cerca del objeto

y el animal toma el objeto.

Como hemos visto, la conexión a la que nos referimos es que la reducción de la meta es lo mismo que razonar hacia atrás con la creencia, tal como se postula en la idea principal de la programación lógica.

Thagard (página 45) da un ejemplo similar con una regla de condición-acción, pero la usa para ilustrar su afirmación de que “a diferencia de la lógica, los sistemas basados en reglas pueden también representar fácilmente información estratégica acerca de lo que hay que hacer”:

si Ud quiere ir a casa y tiene Ud el dinero del pasaje del bus

entonces Ud puede tomar el bus.

Razonando hacia adelante con la regla se puede reducir la meta (ir a casa) a la sub-meta (tomar el bus), lo cual simula el razonamiento hacia atrás con la creencia[5]:

Vas a casa si tienes el pasaje del bus y tomas un bus.

Así pues, el argumento de Thagard en contra de la Lógica puede, por el contrario, ser visto como un argumento en favor de la programación lógica porque esta puede “representar fácilmente información estratégica acerca de lo que hay que hacer” (lo que un Agente debe hacer).

De hecho, tal parece que todos los argumentos de Thagard en favor de la reglas de producción pueden ser entendidos como argumentos en favor de la lógica computacional. Esto se debe a que él confunde reglas de producción:

Si condiciones entonces haga acciones.

con implicaciones lógicas:

Si condiciones entonces conclusiones.



Una lamentable confusión



La confusión de Thagard es quizás más evidente cuando escribe (en página 47) que “las reglas se pueden usar para razonar bien hacia adelante o bien hacia atrás”. Esto, sin embargo, no es cierto de las reglas de producción sino más bien es una característica de las implicaciones lógicas.

Puesto que las condiciones en las reglas de producción aparecen primero y las acciones ocurren después, las verdaderas reglas de producción sólo pueden ser usadas hacia adelante, cuando se cumplen las condiciones para derivar acciones sugeridas. Mientras que debido a que, en lógica, las conclusiones siempre se expresan en modo declarativo, las implicaciones lógicas se pueden usar para razonar bien hacia adelante o hacia atrás.

Thagard, entonces, erróneamente le atribuye a las reglas de producción una propiedad que no tienen, pero que sí tienen las implicaciones lógicas, para luego usar esa atribución para argumentar que “las reglas” son mejores que la lógica.

Siendo justos, debemos reconocer que Thagard sólo está exhibiendo una confusión muy generalizada. En este caso, la regla que él usa como ejemplo simula reducción de metas, que es un caso especial de razonamiento hacia atrás con una creencia expresada en forma lógica. Veremos también, como la reducción de metas y las reglas de producción se pueden combinar en un contexto más general que usa lógica tanto para creencia como para metas.

Resumen

El uso de los sistemas de producción para generar la conducta de un agente inteligente, como hemos visto en este capítulo, se puede perfilar así:










[1] Un método todavía más simple es evitar tener que resolver los conflictos, cambiando las reglas con una condición extra “y Ud no está cansado” en las primera y segunda regla. Un método más complicado es a través de la llamada Teoría de Decisiones, que compararía las diferentes alternativas y seleccionaría la alternativa con el máximo beneficio esperado. Sin importar como se haga, sin embargo, en este caso el resultado seguramente será el mismo: mejor descansar cuando Ud está cansado que forzarse y seguir en contra de todo.

 

[2] Aquí se asume que la experiencia de un agente en el mundo se puede expresar en términos lingüisticos. Esto, ciertamente, no es cierto del lenguaje natural ordinario, pero podría, con un esfuerzo de la imaginación, servir para el “Lenguaje del Pensamiento”. Más de esto más adelante.

[3] Le dejo al lector el derivar que pasa después, y me disculpo por adelantado.

[4] La regla puede ser parafraseada en Español con mayor naturalidad, aunque quizás menos precisa, así: Si quiero tener un objeto, entonces debo estar cerca del objeto y tomar el objeto

[5] En esta forma es, quizás, menos obvio que el procedimiento servirá sólo si el bus que Ud toma pasa por su casa.

Kowalski. R.A. Lógica Computacional y el Pensamiento Humano (Traducido por Jacinto Dávila) 2011-2018