Boole
Razonamiento Aristotélico
Uso de la lógica común y el algebra
Nuevas implementaciones
Jevon, Pierce, Schroeder y Huntington
Aristóteles (384-322 AC)
Teoría silogística
Clase particular de implicadores: 2 premisas y una conclusión
Precursores Matemáticos
Programación Lógica
Siglo 20
Desarrollos
En paralelo al desarrollo de la lógica se produjeron las maquinas de calculo.
Alan Turing
Machine learning
1960
Con la ayuda de Kowalski nace el primer PROLOG
Programación Lógica como rama de la demostración automática
Desarrollo de aplicaciones de inteligencia artificial
Prueba de teoremas de forma automática
Un programa genera nuevos teoremas a partir de uno existente
Procesamiento del lenguaje natural
donde un programa es capaz de comprender (con limitaciones) la información contenida en una expresión lingüística humana.
Calculo de predicados
Posee un alfabeto y dos clases de expresiones definidas a partir de los simbolos del alfabeto
Conjuntos del alfabeto
V={ x, y, z, ....} cuyos elementos se denominan símbolos de variables (individuales)
F={ f, g, h, ….} , donde cada elemento f es un símbolo funcional n-ario (n ≥ 0)
R={ R, S, .....} , donde cada elemento R es un símbolo de relación n-aria ( n ≥ 0)
Operadores lógicos
: denominado negación
∧ : denominado conjunción
∨ : denominado disyunción
⇒ : denominado implicación
⇔: denominado bicondicional
Cuantificadores
∀(.) (denominado cuantificador universal)
∃(.) (denominado cuantificador existencial)
Campo
Estudia el uso de la lógica para
el planteamiento de problemas
y el control sobre las reglas de
inferencia para alcanzar la solu-
ción automática
Mecanismo
Implementación descriptiva
Indica no como, si no lo que el programa deberá hacer para combatir un problema
Relaciona entidades entre si
Programa
Lógica
Hechos y reglas para manejar el conocimiento
Control
Deducción lógica para dar respuesta
Programación lógica y funcional
Programación Declarativa
Indica como resolver un problema
mediante sentencias
Dado un problema S, saber si la afirmación A es solución o no del problema o en que casos lo es. Además queremos que los métodos sean implantados en maquinas de forma que la resolución del problema se haga de forma automática
Fundamentos (Programación Lógica)
Construye base de conocimientos
Mediante reglas y hechos
Regla
Implicación o inferencia lógica
que deduce nuevo conocimiento
Define relaciones a partir de otras ya existentes
Inteligencia Artificial
Lenguajes de alto nivel
Multiplicidad
Capacidad de solucionar problemas en tiempo real
La maquina es capaz de buscar la mejor opción y establecer los resultado es tiempo real
Interpretación en lógica de problemas
La interpretación es basada en el principio de la lógica de interferencia
Simplicidad
La aplicación de problemas abstractos pueden ser implementados a programación lógica de una manera muy practica