Aplicaiones De Prolog
Curso 2004-2005
Departamento de Electrónica, Sistemas Informáticos y Automática Universidad de Huelva
Tema 4: Aplicaciones de Prolog.
Programación Declarativa
Tema 4: Aplicaciones de Prolog
Definición de problemas de espacio de estados Paso previo a la búsqueda de soluciones de un problema:
• Especificación del problema
Especificar un problema comoespacio de estados consiste en describir de manera clara cada de uno de sus componentes Ventaja: procedimientos generales de búsqueda de soluciones Independientes del problema
Departamento de Electrónica, Sistemas Informáticos y Automática Universidad de Huelva Pág. 2 Curso 2004-2005
Programación Declarativa
Tema 4: Aplicaciones de Prolog
Definición de problemas de espacio de estadosElementos del problema
• ¿Cuál es la situación inicial desde la que se parte? • ¿Cuál es el objetivo final? • ¿Cómo describir las diferentes situaciones o estados por los que podemos pasar? • ¿Qué acciones u operadores se pueden llevar a cabo en cada momento para cambiar las situaciones y cómo cambian?
Departamento de Electrónica, Sistemas Informáticos y Automática Universidad de Huelva Pág. 3Curso 2004-2005
Programación Declarativa
Tema 4: Aplicaciones de Prolog
Aplicaciones
• Este tipo de problemas son muy frecuentes en el campo de la inteligencia artificial. Claros ejemplos son:
– – – – – – Ajedrez Puzzle Grafos Planificación Resolución de laberintos ... Etc.
Pág. 4 Curso 2004-2005
Departamento de Electrónica, Sistemas Informáticos y Automática Universidad de HuelvaProgramación Declarativa
Tema 4: Aplicaciones de Prolog
Planteamiento del problema de las jarras • Enunciado:
– Se tienen dos jarras, una de 4 litros de capacidad y otra de 3. – Ninguna de ellas tiene marcas de medición. – Se tiene una bomba que permite llenar las jarras de agua.
• Averiguar cómo se puede lograr tener exactamente 2 litros de agua en la jarra de 4 litros de capacidad.• Representación de estados: estado(jarra4, jarra3) con jarra4 y jarra3 el número de litros en un intervalo. • Número de estados: 20.
Departamento de Electrónica, Sistemas Informáticos y Automática Universidad de Huelva Pág. 5 Curso 2004-2005
Programación Declarativa
Tema 4: Aplicaciones de Prolog
Planteamiento del problema de las jarras
• Estado inicial: estado(0, 0). • Estadosfinales: todos los estados de la forma estado(2, y). • Operadores:
– – – – – – Llenar la jarra de 4 litros con la bomba. Llenar la jarra de 3 litros con la bomba. Vaciar la jarra de 4 litros en el suelo. Vaciar la jarra de 3 litros en el suelo. Llenar la jarra de 4 litros con la jarra de 3 litros. Llenar la jarra de 3 litros con la jarra de 4 litros.
Pág. 6 Curso 2004-2005
Departamento deElectrónica, Sistemas Informáticos y Automática Universidad de Huelva
Programación Declarativa
Tema 4: Aplicaciones de Prolog
Planteamiento del problema de las jarras • Aplicación de operadores a un estado (jarra4 jarra3)
– Operador “Llenar jarra de 3”
• Aplicabilidad: jarra30 (precondición) • Estado resultante: (0 jarra3)
– Operador “Llenar jarra de 4 con jarra de 3”
• Aplicabilidad:jarra40, jarra4+jarra3>4 (precondición) • Estado resultante: (4 jarra4+jarra3-4)
• Análogamente los demás operadores
Departamento de Electrónica, Sistemas Informáticos y Automática Universidad de Huelva Pág. 7 Curso 2004-2005
Programación Declarativa
Tema 4: Aplicaciones de Prolog
Planteamiento del problema de las jarras
• Solución:
– Parte de un estado inicial – Aplica un numerofinito de operadores – Llega al estado final – solucion :estadoinicial(Estado), operaciones(Estado,Y), estadofinal(Y).
Departamento de Electrónica, Sistemas Informáticos y Automática Universidad de Huelva Pág. 8 Curso 2004-2005
Programación Declarativa
Tema 4: Aplicaciones de Prolog
Implementación Prolog
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% Resolucion del...
Regístrate para leer el documento completo.