¿Cuál es la utilidad de la lógica no monotónica?

Hay una respuesta de alto nivel bastante simple. Usualmente usamos la lógica para modelar cosas de nuestro mundo y sacar conclusiones al respecto. Y a veces los modelos lógicos no monótonos son mejores, especialmente si estamos tratando de modelar la representación del conocimiento y el razonamiento humano. Lea a continuación para ver algunos ejemplos.


En lógica, tiene cierta información (una teoría == un conjunto de fórmulas que asume) y utiliza algunos mecanismos permitidos (por ejemplo, reglas de deducción como modus ponens) para aprender cosas nuevas: deduzca un conjunto de consecuencias de la teoría dada.

Las lógicas formales habituales son monótonas. La monotonicidad de una lógica formal es la siguiente propiedad: si la teoría A es un subconjunto de la teoría B, el conjunto de conclusiones que pueden derivarse de A es un subconjunto de conclusión que puede derivarse de B.

A primera vista, parece algo natural: si le doy más información, es lógico que no obtenga menos resultados o incluso diferentes , ¿verdad? Todavía tiene (entre otras cosas) toda la información anterior, por lo que debería poder obtener al menos todo lo que pudo obtener antes.

Bueno, eso no es exactamente cierto. La monotonicidad es ciertamente una buena propiedad de su lógica formal si la está utilizando para modelar cosas como la demostrabilidad en matemáticas. Sin embargo, nuestro razonamiento no funciona de esa manera, y a veces se necesita una lógica no monotónica para modelarlo mejor. La lógica clásica no es buena cuando se trata de expresar cosas como “la mayoría”, “generalmente” o cosas como “él sabe que yo sé”

Por ejemplo, lea las siguientes oraciones:

  • Tengo un pájaro mascota.
  • Es el hijo de nuestro presidente.
  • Recientemente se mudó al sur.

Su modelo mental ahora probablemente incluye una jaula con algo parecido a un canario; un hombre cuyo padre es el presidente; y una niña que ahora vive en un clima más cálido. Y tiene razón al suponer que sí, porque generalmente es (*) el caso. Y de esos supuestos ahora puede sacar conclusiones: mi pájaro puede volar si no tengo cuidado; el padre del hombre es un hombre poderoso; y la niña ahora se bronceará bien.
Luego, recibes conocimiento adicional : el pájaro es un avestruz , el presidente es la madre del hombre y la niña se mudó a Tierra del Fuego . Esto hace que revises las conclusiones que has sacado antes.

(*) La mayoría de las aves vuelan, la mayoría de los presidentes siguen siendo machos, y la mayoría de nosotros vivimos en el hemisferio norte. En los tres casos, el porcentaje de tales casos es muy significativo.

Otra cosa estrechamente relacionada con la lógica no monotónica es el concepto de dos negaciones diferentes . En la lógica clásica tenemos un tipo de negación: el conocido operador “no lógico”. Si “algo” es verdadero, “no algo” es falso, y viceversa. Nuestro razonamiento no siempre funciona así. Tenemos dos tipos diferentes de negación: negación explícita (sabes que algo es falso) y negación como fracaso (asumes que algo es falso porque no hay evidencia de que sea verdad).

Compare las siguientes dos oraciones:
“si (no (cometió un delito)) no debería estar en la cárcel”
“si (no (hay un auto que viene)) cruza la calle”
En el primer caso, estamos utilizando la negación predeterminada (negación como falla). Si no tenemos evidencia de que cometió un delito, no lo arrojaremos a la cárcel. En el segundo caso, desea la negación explícita. Solo desea cruzar la calle si sabe con seguridad que no vendrá ningún automóvil. No se apresuraría a cruzar la calle con los ojos vendados, a pesar de que no tiene evidencia de que venga un automóvil. Las lógicas clásicas no pueden expresar esta diferencia.

El razonamiento no monótono es útil para tratar con el conocimiento parcial. Normalmente, un agente tiene una base de conocimiento (KB) llena de cosas que considera verdaderas. Ahora, para que un agente sea útil, debe ser capaz de razonar y / o actuar sobre el mundo de una manera racional y sólida. Si el agente tiene que estar 100% seguro de que su razonamiento y sus acciones son correctos, necesitará un conocimiento completo sobre el mundo. Esto es muy difícil e imposible en la mayoría de los dominios, por lo que si el agente insiste en un conocimiento completo, nunca podrá hacer nada útil y simplemente se quedará allí con incertidumbre. Entonces, para lidiar con esto, el agente hará todo lo posible para aprender el conocimiento que falta al hacer suposiciones. Si estas suposiciones resultaron ser correctas, entonces no se hizo daño, el agente aún es consistente. Sin embargo, si las suposiciones resultan ser incorrectas, el agente incorpora la nueva información correcta en su KB y revisa sus creencias eliminando información contradictoria para que permanezca consistente. En la lógica clásica, esto no es posible. En la lógica clásica, expandir la KB solo puede expandir el conjunto de teoremas. Además, los humanos hacen un razonamiento no monótono todo el tiempo. Siempre tratamos de sacar conclusiones racionales y útiles en ausencia de un conocimiento completo.

Podemos expresar conocimiento basado en suposiciones. Si obtenemos conocimiento adicional, esto puede deshacer supuestos anteriores, como en la vida real. La lógica clásica que es monotónica no puede hacer esto.

El ejemplo estándar es “las aves generalmente pueden volar”, por lo que, a menos que sepamos lo contrario, asumimos que las aves pueden volar.

Luego nos enteramos de que Tony y Tweedy son pájaros, Tony una paloma y Tweety un pingüino.

No sabemos nada especial sobre palomas o pingüinos.

Por lo tanto, suponemos que Tony y Tweedy pueden volar.

Pero luego aprendemos que los pingüinos no pueden volar.

Esto es conocimiento adicional.

Con este conocimiento adicional, ya no podemos suponer que Tweedy puede volar, pero aún podemos suponer que Tony puede volar.

Quizás más tarde aprendamos que Tony tiene un ala rota y que los pájaros con alas rotas no pueden volar. Nuevamente necesitamos una lógica no monotónica para representar esto y realizar el razonamiento correcto.