Beruflich Dokumente
Kultur Dokumente
PRIMER ORDEN
Es de color(Casa#1, Amarillo)
Es de color(Casa#2, Amarillo)
Es de color(Casa#3, Amarillo)
Es de color(Casa#n, Amarillo)
MOTIVACION
- Nº Sentencias: cuantificadores
· a1 ∧ a 2 ∧ a 3 ∧ …∧ a n → ∀xAx
· a1 ∨ a 2 ∨ a 3 ∨ …∨ a n → ∃xAx
EXPRESIVIDAD VS DEDUCCION
- Variables: x y z …
- Constantes Lógicas: T F
- Conectivas: ¬ ∧ ∨ → ↔
- Cuantificadores:
· Universal: ∀ (para todo)
· Existencial: ∃ (existe algún)
- Símbolos Auxiliares de Puntuación: ( ) ,
- Símbolos Opcionales de Igualdad: = ≠
LEXICO – SIMBOLOS PROPIOS
- Constantes: a b c …
· Representan objetos concretos.
· Asignan un nombre a un objeto.
- Functores: f(a) g(x,y) h(x,y,a) …
· Objetos que no importa su nombre o no se conoce.
- Relatores: Rx Sxy … o R(x) S(x,y) …
· Propiedades y relaciones.
· Pueden ser verdaderos o falsos.
LEXICO - RESUMEN
SINTAXIS
Podemos concluir Malvado(Juan) por que sabemos que Juan es un rey y que Juan
es codicioso al igual que todo el mundo. Necesitamos encontrar una sustitución
para las variables en la sentencia de implicación y las variables de las sentencias
que se deben emparejar. En este caso, aplicando la sustitución {x/Juan, y/Juan} a
las premisas de implicación Rey(x) y codicioso(x) y a las sentencias de la BC
Rey(Juan) y Codicioso(y) las hará idénticas. De este modo podemos inferir la
conclusión de una implicación.
EJEMPLO
Es el proceso por el cual las reglas de inferencia elevadas encuentran las sustituciones
que hacen que expresiones lógicas diferentes se hagan idénticas.
Es el componente clave de todos los algoritmos de inferencia en lógica de primer
orden.
El algoritmo UNIFICA toma dos sentencias y devuelve un unificador para ellas, si éste
existe:
Estas son los resultados de la unificación con 4 sentencias que podrían estar en
la BC:
La última unificación falla por que x no puede tomar los valores 𝐽𝑢𝑎𝑛 𝑦 𝐸𝑙𝑖𝑠𝑎𝑏𝑒𝑡 al
mismo tiempo. Este problema se presenta cuando las dos sentencias tienen que
usar el mismo nombre de variable, 𝑥. Si renombramos la x de Conoce(𝑥, 𝐸𝑙𝑖𝑠𝑎𝑏𝑒𝑡) por
otro nombre de variable la unificación* tendrá éxito:
ENCADENAMIENTO HACIA DELANTE
Al contrario que los literales proposicionales, los literales de primer orden pueden
contener variables, en cuyo caso se asume que están cuantificadas universalmente.
Son una forma normal muy adecuada para utilizar el MODUS PONENS
GENERALIZADO. No todas las BC se pueden convertir a un conjunto de cláusulas
positivas, pero si se pueden transformar.
CLAUSULAS POSITIVAS DE PRIMER ORDEN
CLAUSULAS POSITIVAS DE PRIMER ORDEN
EJEMPLO ENCADEMIENDO HACIA DELANTE
EMPAREJAMIENTO REGLAS CON HECHOS
El algoritmo se invoca con una lista de objetivos que contiene un solo elemento, la
petición original, y devuelve el conjunto de todas las sustituciones que satisfacen la
petición. La lista de objetivos se puede ver como una «pila» a la espera de ser
procesada; si todos tos objetivos se pueden satisfacer, entonces la rama actual de la
demostración tiene éxito.
ENCADENAMIENTO HACIA ATRAS
PROGRAMACION LOGICA
La programación lógica es una tecnología que está bastante relacionada con abarcar
el ideal declarativo: • “Los sistemas se construirían expresando el conocimiento en un
lenguaje formal y los problemas se resolverían ejecutando procesos de inferencia sobre
dicho conocimiento”.
Prolog es, de lejos, el lenguaje de programación lógica más extensamente utilizado.
Los programas en Prolog son conjuntos de cláusulas positivas escritas en una notación
algo diferente a la estándar de la lógica de primer orden.
Prolog utiliza las letras mayúsculas en las variables y las minúsculas en las constantes.
PROGRAMACION LOGICA