I1M2015: División y factorización de polinomios mediante la regla de Ruffini en Haskell

En la segunda parte de la clase de hoy del curso de Informática de 1º del Grado en Matemáticas se han explicado las soluciones de los ejercicios de la relación 34. El objetivo de la relación es implementar la regla de Ruffini y sus aplicaciones utilizando las implementaciones del TAD de polinomio estudiadas en el tema 21.

Los ejercicios, y sus soluciones, se muestran a continuación.
Read More “I1M2015: División y factorización de polinomios mediante la regla de Ruffini en Haskell”

LMF2016: 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.

Comenzamos observando que, a partir de la forma normal conjuntiva, podemos representar las fórmulas, y los conjuntos de fórmulas, mediante conjunto de conjuntos de literales. Con esta nueva representación, basta una única regla de demostración: la regla de resolución. Esta regla engloba distintas reglas (como modus pones, modus tollens y encadenamiento).

Mediante las cláusulas, el problema de inconsistencia de un conjunto de de fórmulas se reduce al de la inconsistencia de un conjunto de cláusulas.

Mediante resolución, el problema de la inconsistencia de un conjunto de cláusulas se reduce a buscar la cláusula vacía entre las resolventes del conjunto S.

Finalmente, hemos visto propiedades del método (adecuación y completitud) y algoritmos de búsqueda de demostraciones por resolución.

Las transparencias de esta clase son las páginas 1 a 24 del tema 5.

I1M2015: El tipo abstracto de datos de grafos en Haskell

En la clase de hoy del curso de Informática de 1º del Grado en Matemáticas hemos estudiado el tipo abstracto de datos de los grafos y dos de sus implementaciones en Haskell: mediante vectores y matrices de adyacencia.

Además, hemos estudiado los algoritmos de recorrido de los grafos en profundidad y en anchura.

Las transparencias usadas en la clase son las páginas 1-39 del tema 22:

El código de la implementación de grafos mediante vectores de adyacencia es
Read More “I1M2015: El tipo abstracto de datos de grafos en Haskell”