UNA LÓGICA CON PODERES DE RETRACTACIÓN


INTRODUCCIÓN

Si los investigadores de inteligencia artificial están de acuerdo en algo es en que un artefacto inteligente debe ser capaz de razonar sobre el mundo que habita. El artefacto debe poseer varias formas de conocimiento y creencias sobre su mundo y debe usar esa información para inferir más información sobre el mundo a fin de tomar decisiones, planear y llevar a cabo sus acciones, responder a otros agentes, etc. El problema técnico de inteligencia artificial es caracterizar los patrones de razonamiento requeridos de tal artefacto inteligente y realizarlos computacionalmente. Existe un amplio cuadro de tales patrones de razonamiento necesarios para la conducta inteligente. Entre ellos:

Esto está lejos de ser una enumeración completa de los patrones del razonamiento humano. La más reciente adición a esta lista es el razonamiento no monotónico, cuyo estudio parece ser exclusivo de la inteligencia artificial. Para lograr un sentido intuitivo de lo que se trata se necesita primero considerar lo que ha llegado a conocerse en inteligencia artificial como el problema de la representación del conocimiento.

Como un agente debe razonar sobre algo (su conocimiento, sus creencias), toda consideración de la naturaleza del razonamiento requiere un interés concomitante por la manera que el agente representa su conocimiento y creencias.... El "contenido de conocimiento" de un programa de razonamiento debe ser representado por estructuras de datos interpretables como fórmulas lógicas de algún tipo....

El campo del razonamiento no monotónico es la derivación de conclusiones plausibles (pero no infalibles) a partir de una base de conocimientos vista abstractamente como un conjunto de fórmulas en una lógica conveniente. Cualquier tal conclusión se entiende como tentativa; puede tener que retractarse después que se añada nueva información a la base de conocimientos.

.................


MOTIVACIÓN

El razonamiento no monotónico es una clase particular de razonamiento plausible. Virtualmente todo ejemplo en inteligencia artificial que invoca este razonamiento se ajusta al siguiente patrón:

Otras paráfrasis de este patrón comúnmente aceptadas:

[Presentaremos enseguida] un número de ejemplos de este patrón, como se presenta en varios ambientes de interés para la inteligencia artificial. La ubicuidad de este patrón es notable. Una vez que aprendemos a buscarlo lo descubrimos virtualmente por todas partes.

El ejemplo canónico en inteligencia artificial de un patrón no monotónico de razonamiento tiene que ver con el vuelo de los pájaros. El enunciado "Los pájaros vuelan" no es sinónimo con "Todos los pájaros vuelan" porque hay excepciones. En efecto, hay una cantidad inmensa de excepciones –las avestruces, los pingüinos, los patos de Peking, los pájaros untados de asfalto, los pajaritos recién nacidos, etc.– una lista evidentemente sin fin. Sin embargo, si nos hablan de un pájaro particular, por ejemplo Piolín, sin decirnos nada más sobre él, tenemos justificación de suponer que Piolín puede volar, mientras no nos enteremos que es uno de los pájaros excepcionales. En otras palabras, tratamos a Piolín como un pájaro típico o normal.

Podemos representar la oración "Los pájaros vuelan" con ejemplos de nuestros patrones de razonamiento plausible:

Podemos ahora ver por qué estos son patrones de razonamiento plausible. Deseamos hacer uso de ellos para concluir que Piolín vuela, pero si subsecuentemente aprendemos información contraria –por ejemplo que Piolín es un pingüino– retractaríamos nuestra conclusión anterior y concluiríamos en cambio que Piolín no puede volar. Así, inicialmente saltamos a la conclusión o hacemos la hipótesis por omisión de que Piolín puede volar. Esto, desde luego, es lo que hace de nuestros patrones reglas plausibles en vez de deductivas; respaldan suposiciones en vez de conclusiones infalibles.

Nótese que existe otra posible paráfrasis de nuestro patrón de razonamiento. En el caso del pájaro Piolín estamos listos a suponer que Piolín puede volar con tal de que no conozcamos información contraria, a saber, que Piolín es un pingüino o una avestruz o .... Así pues, una manera posible de leer nuestro patrón de razonamiento plausible es:

En ausencia de información contraria, supóngase A.

Lo que es aquí problemático (así como lo es para nociones como "típicamente" y "normalmente") es definir de manera precisa lo que significamos por "ausencia de información contraria". Una manera natural de leer esto es algo así como "nada se conoce que sea incongruente con la deseada suposición A"....

.................

BASES DE DATOS

En la teoría de bases de datos hay una convención explícita sobre la representación de información negativa que apela a una clase particular de supuesto por omisión. Para ver por qué la información negativa plantea un problema, consideremos el ejemplo simple de una base de datos para los itinerarios de vuelo de una línea aérea que representa los códigos de vuelos y los pares de ciudades que conectan. Ciertamente no queremos incluir en esta base de datos todos los vuelos y los pares de ciudades que ellos no conectan, pues claramente serían una cantidad sobrecogedora de información. Por ejemplo, el vuelo de LACSA 620 no conecta New Orleans con Caracas ni Madrid con México NOTA 1 ni ....
Existe demasiada información negativa para que podamos representarla explícitamente, y esto es verdad de cualquier base de datos realista.

En vez de representar explícitamente tal información negativa, las bases de datos lo hacen implícitamente, apelando al llamado supuesto del mundo cerrado que establece que toda la información positiva pertinente está expresamente representada. Si un hecho positivo no está explícitamente presente en la base de datos, se supone que su negación es el caso. Para bases de datos simples, que consisten solo en hechos atómicos, por ejemplo una base de datos relacional, este enfoque para la información negativa resulta muy claro. En el caso de las bases de datos deductivas, sin embargo, el supuesto del mundo cerrado no es tan fácil de formular. No es ya suficiente que un hecho no esté explícitamente presente para conjeturar su negación; el hecho puede ser derivable. Así pues, en general necesitamos una regla de mundo cerrado que, para el ejemplo de los vuelos, luciría más o menos así:

Aquí, por "ausencia de información contraria" entendemos que CONECTA( v, c1, c2) no es derivable usando la base de datos como premisas....

.................


DIAGNÓSTICO A PARTIR DE PRIMEROS PRINCIPIOS

Hay dos enfoques básicos en la literatura de inteligencia artificial para razonamiento de diagnóstico. Bajo el primero de ellos, que podemos llamar el enfoque experiencial, la información heurística NOTA 2 juega un papel dominante. Los sistemas correspondientes intentan codificar las reglas aprendidas por la práctica, las intuiciones estadísticas y la experiencia pasada de los seres humanos que realizan diagnósticos y que se consideran expertos en un dominio de tareas particular. En concreto, la estructura o diseño del objeto que se diagnostica sólo se representa de manera débil, si acaso. Los diagnósticos exitosos se desprenden primordialmente de la experiencia codificada del experto humano que se modela, más que de información detallada sobre el objeto que se diagnostica. Esta es la base de los llamados enfoques basados en reglas para diagnóstico, de los cuales el sistema MYCIN NOTA 3 es un notable ejemplo.

Bajo el segundo enfoque, a menudo llamado diagnóstico a partir de primeros principios o diagnóstico a partir de estructura y comportamiento, la sola información a mano es una descripción de un sistema, por ejemplo un aparato físico o configuración de interés, junto con una observación del comportamiento del sistema. Si esta observación entra en conflicto con el comportamiento esperado del sistema, entonces el problema de diagnóstico es determinar cuáles componentes que podrían estar funcionando mal dan cuenta de la discrepancia entre lo observado y el comportamiento correcto del sistema. Siendo así que los componentes pueden fallar de maneras diversas y a menudo impredecibles, sus funcionamientos normales son los que deben ser descritos. Estas descripciones corresponden bien con el patrón de razonamiento plausible que hemos estado considerando. Por ejemplo, una puerta en Y de un circuito digital podría tener la siguiente descripción:

Y en un medio de diagnóstico médico, podríamos necesitar la descripción:

En diagnóstico se usan estas descripciones de componentes de la siguiente manera: primero suponemos que todos los componentes del sistema se comportan normalmente. Supongamos, sin embargo, que el comportamiento del sistema predicho por este supuesto entra en conflicto (es incongruente con) el comportamiento observado. Así, alguno de los componentes que supusimos funcionaban normalmente deben en realidad estar funcionando mal. Podemos remover la incongruencia entre el comportamiento observado y el predicho si retractamos suficientes supuestos originales sobre la corrección del comportamiento de los componentes. La lista de los componentes mencionados en la retractación constituye un diagnóstico. Este enfoque del diagnóstico a partir de primeros principios forma la base de diversos sistemas de razonamiento....


PROTOTIPOS, CLASES NATURALES Y MARCOS

El razonamiento no monotónico está íntimamente conectado con la noción de prototipos en psicología y de clases naturales en filosofía. Para ver la conexión, obsérvese que ambas nociones se refieren a conceptos que no pueden ser definidos por medio de condiciones suficientes y necesarias. No podemos, por ejemplo, definir la clase natural "pájaro" diciendo que algo es pájaro si y solo si es bípedo, es emplumado, etc..., porque podemos siempre imaginar un pájaro al que le falte alguna o más de esas propiedades definitorias, digamos un pájaro con solo una pata. Lo más que parecemos capaces de hacer es describir uno o más miembros "típicos" de concepto y definir el concepto como el conjunto de individuos que no se desvían mucho de los miembros típicos. Esta noción de miembro "típico" de un tal concepto provee un enlace con el razonamiento no monotónico.

.................

Los conceptos de sentido común como "pájaro", "silla", "juego", etc. no son como los conceptos matemáticos; carecen de definiciones en el sentido clásico basadas en condiciones suficientes y necesarias. Sin embargo, apelando a la lógica convencional junto con nuestro patrón de razonamiento plausible podemos definir nociones que corresponden a las condiciones necesarias y suficientes normales. Por ejemplo, tenemos las siguientes "condiciones necesarias" para el concepto "pájaro":

Es natural definir como pájaro prototípico al que disfrute de todas las consecuencias, incluyendo los supuestos por omisión, de las "condiciones necesarias" indicadas arriba: es un vertebrado bípedo, emplumado y con pico, que vuela, etc.

El concepto de pájaro también posee "condiciones suficientes", algunas de las cuales son implicaciones lógicas mientras que otras se ajustan a nuestro patrón para el razonamiento por omisión:

Es natural, entonces, tomar el concepto de pájaro como definido por las anteriores "condiciones suficientes y necesarias".

Ahora bien, el obvio problema para la representación del conocimiento en inteligencia artificial es este: ¿cómo caracterizamos, representamos y computamos con prototipos, o conceptos como clases naturales, donde los supuestos por omisión juegan tan prominente papel? En su muy influyente "artículo de los marcos", Minsky propuso la noción de marco, una estructura de datos compleja para representar información estereotípica. Aunque la descripción de marco que da Minsky es informal y a veces impresionista, los temas que acabamos de considerar son centrales en su noción: prototipos, supuesto de omisión e insuficiencia de las definiciones clásicas para conceptos de sentido común como las clases naturales....

.................


LA NECESIDAD DE UNA TEORÍA FORMAL

Habiendo aislado un patrón común de razonamiento, a saber "Normalmente, A se da" o "Asúmase A por omisión", nos queda todavía el problema de definir lo que significa. Además, necesitaremos una teoría del llamado mantenimiento de coherencia. Aunque el explorar los sistemas de mantenimiento de coherencia no es un objetivo de este artículo, es importante notar su íntima conexión con la clase de razonamientos plausibles considerados hasta ahora. Porque nuestro patrón de razonamiento respalda los supuestos por omisión, algunos de estos supuestos pueden tener que ser retractados a la luz de nueva información. Pero estos supuestos retractados pueden ellos mismos haber servido de apoyo para otras conclusiones, las cuales por ello deben también retractarse, y así sucesivamente. Es la tarea de los sistemas de mantenimiento de coherencia ... administrar este proceso de retractación. Una razón por la cual los sistemas de mantenimiento de coherencia son tan complejos es que las conclusiones por omisión se basan normalmente en dos cosas: ( a) la presencia, explícita o inferida, de cierta información (por ejemplo, la presencia del hecho de que Piolín es un pájaro) y ( b) la ausencia de cierta información, explícita o inferida (por ejemplo la ausencia de ~VUELA(Piolín)). Un sistema de mantenimiento de coherencia debe mantener un registro de dependencia para cada hecho inferido, indicando su justificación en términos tanto de la presencia como de la ausencia de información. Esto obviamente complica tanto la contabilidad del sistema como su proceso de revisión de creencias cuando la base de conocimientos se modifica.

Una razón por la cual se requiere una versión formal para el razonamiento por omisión es que las inferencias que respalda pueden ser complicadas. Por ejemplo, dos supuestos por omisión pueden estar en conflicto, como el siguiente ejemplo muestra:

Sabemos que Nixon es cuáquero y republicano. Entonces hereda supuestos por omisión contradictorios, de modo que intuitivamente ninguna de las dos propiedades debe serle adscrita.

Un segundo ejemplo ilustra que la tipicidad no es necesariamente transitiva, en el sentido de que "Los As típicos son Cs" no se sigue necesariamente de "Los As típicos son Bs" y "Los Bs típicos son Cs". Porque si la tipicidad fuera transitiva entonces de

podríamos concluir algo intuitivamente incorrecto, a saber,

.................


LA LÓGICA CLÁSICA ES INADECUADA

Hay dos argumentos contra la lógica clásica para formalizar los patrones de razonamiento que hemos venido considerando. El primero simplemente nota que incluso si pudiéramos enumerar todas las excepciones al vuelo de los pájaros con un axioma de la forma

todavía no podríamos derivar que Piolín vuela a partir solamente de que Piolín es un pájaro. Esto es así porque no nos han dicho que Piolín no es una avestruz, no está muerto, etc. El antecedente de la implicación no puede derivarse, en cuyo caso no hay manera de derivar el consecuente de la implicación.

El segundo argumento contra la lógica clásica es el llamado argumento de la monotonicidad. Las lógicas clásicas tienen en común que son monotónicas. Esto significa que ... toda nueva información [o nuevos axiomas que agreguemos al sistema] preserva sus viejas conclusiones.

Pero supóngase que pudiéramos representar el razonamiento por omisión en alguna lógica clásica y que sus axiomas implicaran que Piolín vuela. Si más tarde aprendemos que Piolín es una avestruz, querríamos que el conjunto aumentado de axiomas no implique que Piolín vuela.... Pero esto es imposible en una lógica clásica. Así pues, cualquiera que sea el mecanismo para formalizar el razonamiento por omisión, tendrá que ser no monotónico: sus conclusiones deberán ser retractables....


NO MONOTONICIDAD PROCEDIMENTAL

Los investigadores de inteligencia artificial han estado implantando sistemas de razonamiento no monotónico ya por algún tiempo, usualmente sin enfocar conscientemente los patrones de razonamiento en que descansan sus programas. Típicamente estos patrones se implantan usando el mecanismo llamado negación-por-fracaso que ocurre como un operador explícito en lenguajes de programación de inteligencia artificial como PROLOG o en sistemas basados en reglas. En PROLOG, por ejemplo, la meta no G tiene éxito si y solo si G fracasa en tiempo finito. Puesto que el fracaso de G es equivalente a no haber podido hallar una prueba de G usando el programa PROLOG como axiomas, el operador no representa la ausencia de una prueba finita. De esta observación podemos ver que la negación de PROLOG es un operador no monotónico. Si G no se puede probar desde ciertos axiomas, ello no quiere decir que tenga que permanecer sin prueba bajo un conjunto de axiomas aumentado.

La negación procedimental es casi siempre identificada con la negación real –es decir, la negación lógica–. La manera en que la negación procedimental es usada en la práctica en los programas de inteligencia artificial es invocando la regla de inferencia "Del fracaso de G, inferir ~ G". Esto es realmente el supuesto del mundo cerrado, que encontramos antes en el contexto de la representación de información negativa en las bases de datos. En parte porque es un operador no monotónico, la negación procedimental puede a menudo ser usada para implantar otras formas de razonamiento por omisión.

El siguiente ejemplo, un programa PROLOG para razonar sobre pájaros que vuelan, ilustra esto. NOTA 4

Nótese que la primera regla usa un predicado ab que significa anormal. Así, esta regla dice que x tiene éxito si x no es un pájaro anormal, en otras palabras, si x es un pájaro normal. La cuarta regla describe una circunstancia bajo la cual algo es anormal, a saber, cuando es una avestruz.... Identificando negación procedimental con negación real podemos derivar que el avestruz Eusebio no vuela, mientras que el pájaro Piolín si lo hace.

.................

[El texto continua con una elaborada presentación técnica de varios formalismos del razonamiento no monotónico, cuyo detalle matemático va más allá de los objetivos de esta recopilación de lecturas y que por lo tanto omitimos]

.................


CONCLUSIONES

La no monotonicidad parece ser la regla más que la excepción en mucho de lo que pasa por razonamiento de sentido común. El estudio formal de tales patrones de razonamiento y sus aplicaciones ha hecho impresionante progreso, que acelera rápidamente.

.................

Con la posible excepción de la negación-por-fracaso de PROLOG, no conocemos casi nada sobre maneras razonables de computar inferencias no monotónicas. Los sistemas de mantenimiento de coherencia deben ser parte integrante de los razonadores no monotónicos; sin embargo, hasta ahora no tenemos un marco formal adecuado de tales sistemas. Todos los formalismos no monotónicos actuales lidian con razonadores de un solo agente. Sin embargo, está claro que los agentes deben frecuentemente adscribir inferencias no monotónicas a otros agentes, por ejemplo en el planeamiento cooperativo o en la conversación. Tales contextos de agentes múltiples requieren teorías formales adecuadas, pero por el momento no las tenemos.

La búsqueda suprema, por supuesto, tiene que ver con el descubrimiento de una teoría unitaria que abarque todos aquellos contextos de inteligencia artificial aparentemente dispares donde surge el razonamiento no monotónico. Indudablemente, habrá sorpresas en el camino, pero la inteligencia artificial se beneficiará del viaje, haciéndose en el proceso mucho más científica de lo que actualmente es.


NOTA 1 Nos hemos permitido adaptar el ejemplo a ejemplos más cercanos a los lectores. Nota del editor.


NOTA 2 El término "heurístico" es muy usado en la literatura de inteligencia artificial. Se refiere al conjunto de reglas que permiten sacar conclusiones razonables pero no infalibles, sobre la materia de que se trate. Corriente mente el término "heurístico" se contrapone a "algorítmico": este último garantiza una solución correcta, mientras que el primero no. Nota del editor.


NOTA 3 Un sistema de inteligencia artificial para el diagnóstico de enfermedades infecciosas creado en la Universidad de Stanford por Buchanan y Shortliffe en la década de los 70s. Nota del editor.


NOTA 4 Para una explicación de los fundamentos del lenguaje PROLOG y de la programación en lógica, consúltese el artículo de Verónica Dahl en esta misma colección. Nota del editor.