LI2013: Sintaxis y semántica de la lógica de primer orden

En la primera parte de la clase de hoy del curso Lógica Informática se presentado la lógica de primer orden como sistema de representación del conocimiento.

La clase ha comenzado recordando la ecuación que resumen el curso: LI=RC+AR, donde LI = Lógica informática, RC = Representación del conocimiento y AR = Automatización del razonamiento.

Ya hemos estudiado el sistema básico de representación del conocimiento (la lógica proposicional) y tres sistemas deductivos (deducción natural, tableros semánticos y resolución). Además, hemos usado Prover9 y Mace4 para resolver problemas que se pueden codificar mediante la lógica proposicional, como el de las 4 reinas. Un inconveniente de las codificaciones es la cantidad y el tamaño de las fórmulas resultantes. En la clase vamos a ver una forma de reducir el tamaño de las codificaciones: la lógica de primer orden. Este sistema permite representar de forma más compacta conocimiento representable en lógica proposicional y también representar conocimiento que no se puede representar en lógica proposicional.

Como ejemplos de representación hemos visto cómo representar conocimiento geográfico, del mundo de los bloques y conocimiento astronómico. En los distintos ejemplos hemos resaltado los tipos de símbolos lógicos utilizados.

En la segunda parte, se presentado la sintaxis y la semántica de la lógica de primer orden como respuestas a las siguientes preguntas: ¿qué es una§ fórmula?, ¿qué significa que una fórmula verdadera?

En primer lugar, a partir de los ejemplos de representación del conocimiento, se han definido los símbolos lógicos (variables, conectivas, cuantificadores e igualdad) y los símbolos no lógicos (constantes, predicados y funciones) que forman el alfabeto del lenguaje de la lógica de primer orden.

A partir del alfabeto, se definen los términos, las fórmulas atómicas y las fórmulas del lenguaje.

Como medio del reconocimiento de fórmulas, se introducen los árboles de análisis. Con ello, respondemos a la primera de las preguntas iniciales.

En el estudio sintáctico, definimos el conjunto de las subfórmulas, el conjunto de las variables de un término, las ocurrencias libres y ligadas, el conjunto de las variables libres y ligadas y las fómulas cerradas y abiertas. Algunas de las definiciones anteriores se realizan por recursión sobre fórmulas o sobre términos.

En segundo lugar hemos estudiado la semántica, comenzando con distintas cuestiones sobre qué significa que una fórmula sea verdadera para resaltar su dependencia del universo, la interpretación de los símbolos no lógico y de las asignaciones a las variables libres.

Se han definido las estructuras de un lenguaje, las asignaciones a las variables y las interpretaciones de un lenguaje.

Se ha definido el valor de un término o de una fórmula en una interpretación. Con ello, repondemos a la segunda de las preguntas iniciales.

Las transparencias de esta clase son las páginas 1 a 34 del tema 7:
Read More “LI2013: Sintaxis y semántica de la lógica de primer orden”

LI2013: Aplicaciones de la lógica proposicional con Prover9 y Mace4

En la clase de hoy del curso Lógica Informática hemos visto cómo resolver lógicamente problemas representándolos en la lógica proposicional y usando Prover9/Mace4 para su solución.

Los problemas que se han visto son

  • El problema de los veraces y los mentirosos.
  • El problema de los animales.
  • El problema del coloreado del pentágono.
  • El problema del palomar.
  • El problema de los rectángulos.
  • El problema de las 4 reinas.
  • El problema de Ramsey.

Las transparencias utilizadas son las páginas 13 a 49 del tema 6
Read More “LI2013: Aplicaciones de la lógica proposicional con Prover9 y Mace4”

LI2013: Estrategias de resolución proposicional

En la clase de hoy del curso Lógica Informática hemos continuado la búsqueda de la automatización del razonamiento.Empezamos con un primer algoritmo de búsqueda de la cláusula vacía: el de saturación y dos mejoras: eliminación de tautologías y de subsumsución. A continuación, hemos estudiado distintas estrategias cuyo objetivo es mejorar la búsqueda de la refutación por resolución. Las estrategias estudiadas son la resolución positiva, la resolución negativa, la resolución unitaria, la resolución por entradas y la resolución lineal. Las transparencias de esta clase son las páginas 18 a 37 del tema 5
Read More “LI2013: Estrategias de resolución proposicional”

LI2013: Resolución proposicional

En la clase de hoy del curso Lógica Informática hemos continuado la búsqueda de la automatización del razonamiento.

Comenzamos observando que, a partir de la forma normal conjuntiva, podemos representar las fórmulas, y los conjuntos de fórmulas, mediante conjunto de conjuntos de literales. Con esta nueva representación, basta una única regla de demostración: la regla de resolución. Esta regla engloba distintas reglas (como modus ponens, modus tollens y encadenamiento).

Mediante FNC, el problema de inconsistencia de un conjunto de de fórmulas se reduce al de la inconsistencia de un conjunto de cláusulas.

Mediante resolución, el problema de la inconsistencia de un conjunto de cláusulas se reduce a buscar la cláusula vacía entre las resolventes del conjunto S.

Las transparencias de esta clase son las páginas 1 a 17 del tema 5
Read More “LI2013: Resolución proposicional”