Ingeniero De Sistemas
Fundamentos de Sistemas Inteligentes
Curso de Adaptación al Grado en Ingeniería Informatica
Facultad de Ciencias - Universidad de Salamanca
INTRODUCCIÓN
● Utiliza la lógica depredicados
● Dispone de su propio motor de inferencia
○ Algoritmo de unificación
○ Estrategia de backtracking
● Es un lenguaje declarativo
● Consta de dos partes
○ Base de datos
■ Hechos
■ Reglas○ Consultas
■ Hechos a evaluar
BASE DE DATOS - HECHOS
● Algo que se considera cierto
● Dos tipos:
○ Simples
■ Ejemplo: llueve.
○ Relaciones (hechos con parámetros)
■ Parámetros
●enteros(1, 2, 3)
● símbolos (pepe, juan, manzanas)
● variables (Persona, Fruta)
● listas ([pepe, juan, pablo], [1,5,9])
■ Ejemplo: come(juan, manzanas).
BASE DE DATOS - REGLAS
● Permiten validarhechos a partir de otros
● Constan de dos partes separadas por ":-"
○ Formato: hecho :- condicion1, condicion2, ... .
● Normalmente utilizan variables
Ejemplo:
Si dos personas son distintas, tienenel mismo padre y tienen la misma madre,
entonces son hermanos.
hermanos(X, Y):XY,
padre(X, P), padre(Y, P),
madre(X, M), madre(Y, M).
CONSULTAS
Se puede preguntar por hechos o relaciones
● Noincluye variables
○ Nos devuelve verdadero o falso
● Incluye variables
○ Nos devuelve los valores de las variables que hacen
cierta la relación
Ejemplos:
llueve.
come(juan, manzanas).come(juan, X).
Respuesta: true
Respuesta: true
Respuesta: X = manzanas
MECANISMO DE RESOLUCIÓN
● Algoritmo de unificación
○ Prolog trata de buscar las sustituciones de variables
que hacenciertas las relaciones
● Estrategia de backtrack
○ Los objetivos se satisfacen en orden de arriba a abajo
○ Cuando un objetivo se empareja con la cabeza de una
regla, el cuerpo de esta seconstituye como el siguiente
objetivo a verificar
○ Un objetivo ha sido satisfecho cuando se consigue
emparejar cada una de sus hojas del árbol de objetivos
DESARROLLO
● Utilizaremos Visual Prolog...
Regístrate para leer el documento completo.