LMF2013: Cláusulas en Haskell

En la clase de hoy del curso de Lógica matemática y fundamentos (de 3º de Grado en Matemáticas) se ha comentado las soluciones de los ejercicios sobre la implementación en Haskell de las cláusulas.

Las soluciones de los ejercicios se muestran a continuación. En los ejercicios se usa el módulo SintaxisSemantica desarrollado en la clase del día 27 de febrero y el módulo FormasNormales desarrollado en la clase del día 8 de mayo.
Read More “LMF2013: Cláusulas en Haskell”

LMF2013: Formas normales conjuntivas y disyuntivas en Haskell

En la clase de hoy del curso de Lógica matemática y fundamentos (de 3º de Grado en Matemáticas) se ha comentado las soluciones de los ejercicios sobre la implementación en Haskell de las formas conjuntivas y disyuntivas.

Las soluciones de los ejercicios se muestran a continuación. En los ejercicios se usa el módulo SintaxisSemantica desarrollado en la clase del día 27 de febrero.
Read More “LMF2013: Formas normales conjuntivas y disyuntivas en Haskell”

LMF2013: Estrategias de resolución proposicional

En la clase de hoy del curso Lógica matemática y fundamentos hemos continuado la búsqueda de la automatización del razonamiento.

Después de haber visto en la clase anterior el algoritmo de resolución por saturación, hemos estudiado distintas estrategias cuyo objetivo es mejorar la búsqueda de la refutación por resolución.

Las estrategias estudiadas son la resolución positiva, la resolución negativa, la resolución unitaria, la resolución por entradas y la resolución lineal.

Además, se ha presentado la estrategia por pesos y propagación unitaria.

Finalmente, como sistema de demostración por resolución se ha presentado el Prover9.

Las transparencias de esta clase son las páginas 25 a 37 del tema 5
Read More “LMF2013: Estrategias de resolución proposicional”

I1M2012: El problema de las N reinas en Haskell

En la clase de hoy de Informática de 1º del Grado en Matemáticas hemos estudiado el problema de las reinas (consistente en colocar N reinas en un tablero de dimensiones N por N de forma que no se encuentren más de una en la misma línea: horizontal, vertical o diagonal) y su programación en Haskell.

El código del problema de las N reinas es
Read More “I1M2012: El problema de las N reinas en Haskell”

I1M2012: Ejercicios sobre matrices en Haskell (2)

En la clase hoy Informática de 1º del Grado en Matemáticas hemos continuando comentado las soluciones de los ejercicios sobre vectores y matrices en Haskell de la relación 26. Concretamente, de los ejercicios para

  • calcular la traspuesta de una matriz (ej. 14),
  • decidir si una matriz es cuadrada (ej. 15),
  • decidir si una matriz es simétrica (ej. 16),
  • calcular la diagonal principal de una matriz (ej. 17),
  • calcular la diagonal secundaria de una matriz (ej. 18) y
  • calcular la submatriz obtenida suprimiendo una fila y una columna (ej. 19).

Los ejercicios de la relación, junto con las soluciones de los 19 primeros, se muestran a continuación
Read More “I1M2012: Ejercicios sobre matrices en Haskell (2)”