Archivo de la categoría ‘Programación Lógica’

Programación Lógica (Semana 11: 15 de junio)

A) Se estudió una solución al problema del coloreado de grafos usando programación lógica con restricciones.

B) Se estudió el tema 8: “Formalización en Prolog de la lógica proposicional”.
1) Sintaxis de la lógica proposicional usando operadores infijos.
2) Implementación del cálculo de los tableros semánticos para la lógica proposicional.
3) Semántica de la lógica proposicional.

Programación Lógica (Semana 10: 8 de junio)

Se estudió el tema 7: “Programación Lógica con restricciones”.
1) Restricciones sobre números reales: CLP(R).
a) Ejemplos de restricciones, ecuaciones e inecuaciones.
b) minimize/1, maximize/1, inf/2,sup/2
c) Planificador de tareas.

2) Restricciones sobre dominios finitos: CLP(FD).
a) Ejemplos de restricciones, indomain/1, label/1, all_different/1, #=, #<, #>,…
b) Criptoaritmética
c) Problema de las N reinas
d) Optimización en CLP(FD)
e) Acertijos lógicos: problemas de los músicos y problema de la cebra.

Programación Lógica (Semana 9: 1 de junio)

Se continuó el estudio del tema 6: ”Ingeniería del conocimiento y metaintérpretes”.
1) Metaintérpretes con consultas al usuario. Consistencia de las respuestas del usuario.
2) Metaintérprete con CÓMO.
3) Metaintérprete con POR QUÉ.

Programación Lógica (Semana 8: 25 de mayo)

Se estudió la primera parte del tema 6: ”Ingeniería del conocimiento y metaintérpretes”.
1) Ejemplo de Base de Conocimiento objeto: Sistema eléctrico.
2) Metaintérprete simple: prueba/1.
3) Metaintérprete ampliado (disyunción, llamadas a Prolog).
4) Metaintérprete con profundidad acotada.
5) Metaintérprete con consultas al usuario.

Además, se estudiaron los predefinidos que permitan la modificación dinámica de la
base de conocimiento en Prolog: assert/1, asserta/1, assertz/1, retract/1, retractall/1.
Asimismo, se explicó cómo usar estos predefinidos para mejorar la eficiencia en el
cálculo de funciones recursivas de doble paso (fibonacci).

Programación Lógica (Semana 7: 18 de mayo)

Se estudiaron aplicaciones del tema 5: “Procesamiento del lenguaje natural”.
1) Traductor Inglés/Español basado en GCD’s donde el árbol de análisis se usa como una interlingua para la traducción automática.
2) Cambio  formato HH:MM /lenguaje natural para expresar la hora en castellano (ej. 1:45 = ‘dos menos cuarto’) basado en GCD’s.

Además, se estudiarion y se presentaron ejemplos de:
1) Programación interactiva en Prolog: read/1, write/1, get/1, get0/1, put/1
2) Lectura y escritura de ficheros en Prolog: see/1,  seen/0, tell/1, told/0