LMF2013: Soluciones lógicas de problemas lógicos

En la clase de hoy del curso Lógica matemática y fundamentos se ha presentado una colección de problemas para mostrar cómo pueden resolverse elementalmente con Prolog.

Los problemas son

  1. Rompecabeza lógico.
  2. La banda de músicos.
  3. Mini sudoku.
  4. Criptoaritmética.
  5. Cuadrados mágicos.
  6. La sucesión de Langford.
  7. Coloraciones de un mapa.
  8. El mono y el plátano.

A continuación se muestran los problemas y sus soluciones
Read More “LMF2013: Soluciones lógicas de problemas lógicos”

LMF2013: Introducción a la programación lógica con Prolog

En la clase de hoy del curso Lógica matemática y fundamentos se ha realizado una introducción a la programación lógica con Prolog como aplicación de la resolución en la lógica de primer orden.

Se ha presentado el sistema deductivo de Prolog en tres fases: proposicional, relacional y funcional. En cada una se ha comentado cómo representar el conocimiento, cómo realizar consultas y cómo es el razonamiento de Prolog para calcular las respuestas.

Los apuntes de esta clase son Introducción a la programación lógica con Prolog (páginas 1-26).

Las transparencias de esta clase son las páginas 1 a 18 del tema 13
Read More “LMF2013: Introducción a la programación lógica con Prolog”

LMF2013: Aplicaciones de la lógica proposicional con Prover9 y Haskell

En la clase de hoy del curso Lógica matemática y fundamentos
hemos estudiado cómo resolver lógicamente problemas representándolos en la lógica proposicional y usando Prover9/Mace4 o Haskell para su solución.

Los problemas que se han visto son

  • El problema de los veraces y los mentirosos.
  • El problema de los animales.
  • El problema del coloreado del pentágono.
  • El problema del palomar.
  • El problema de los rectángulos.
  • El problema de las 4 reinas.
  • El problema de Ramsey.

Las transparencias utilizadas son las páginas 13 a 49 del tema 6
Read More “LMF2013: Aplicaciones de la lógica proposicional con Prover9 y Haskell”

LMF2013: Resolución en lógica de primer orden

En la clase de hoy del curso Lógica matemática y fundamentos se ha presentado la resolución en la lógica de primer orden como ampliación del presentado en el tema 5 para la lógica proposicional.

Las principales diferencias se encuentran en la unificación, separación de variables y factorización.

Las transparencias de esta clase son las del tema 12
Read More “LMF2013: Resolución en lógica de primer orden”

LMF2013: Algoritmo DPLL (Davis, Putnam, Logemann y Loveland)

En la segunda parte de la clase de hoy del curso de Lógica matemática y fundamentos (de 3º de Grado en Matemáticas) hemos estudiado el algoritmo DPLL (Davis, Putnam, Logemann y Loveland).

Además, se ha comentado la propuesta del 4º ejercicio evaluable consistente en la implementación en Haskell del algoritmo de DPLL y de refinamientos de resolución.

Las transparencias utilizadas son las del tema 6
Read More “LMF2013: Algoritmo DPLL (Davis, Putnam, Logemann y Loveland)”