El método de Pólya para resolver problemas

George Pólya presentó en su libro Cómo plantear y resolver problemas (en inglés, How to solve it) un método de 4 pasos para resolver problemas matemáticos. Dicho método fue adaptado para resolver problemas de programación, por Simon Thompson en How to program it.

En la siguientes secciones mostramos los 4 pasos de ambos métodos, junto con sus correspondientes preguntas.
Read More “El método de Pólya para resolver problemas”

LMF2012: Sustituciones en la lógica de primer orden

En la segunda parte de la clase de hoy del curso Lógica matemática y fundamentos se ha estudiado la sustituciones en la lógica de primer orden. Concretamente, se ha definido el concepto de sustitución y cómo se aplica a términos y fórmulas. Finalmente, se ha comentado que hay sustituciones que aplicadas a una fórmula satisfacible puede dar una fórmula insatisfacible. Esto motiva la definición de las sustituciones libres.

Las transparencias de esta clase son las páginas 1 a 8 del tema 7.

LMF2012: Semántica de la lógica de primer orden (2)

En la primera parte de la clase de hoy del curso Lógica matemática y fundamentos se ha continuado la presentación de la semántica de la lógica de primer orden, extendiendo los conceptos semánticos de las fórmulas a los conjuntos. Concretamente, se ha definido los siguientes conceptos:

  • realizaciones y modelos de conjuntos de fórmulas,
  • conjuntos consistentes e inconsistentes,
  • consecuencia lógica y
  • fórmulas equivalentes.

También se ha estudiado las relaciones entre dichos conceptos

Las transparencias de esta clase son las páginas 39 a 45 del tema 6.

Sistemas de ternas de Steiner en Haskell

Un sistema de Steiner de ternas de orden n, S(n), es un conjunto de ternas tal que los elementos de cada terna son números del 1 al n y cualquier par de elementos \{i,j\} (con 1 \leq i < j \leq n[/latex]) pertenece exactamente a una terna. Por ejemplo, [latex]S(3) = \{\{1,2,3\}\}[/latex] [latex]S(7) = \{\{1,2,4\}, \{2,3,5\}, \{3,4,6\}, \{4,5,7\}, \{5,6,1\}, \{6,7,2\}, \{7,1,3\}\}[/latex] Se verifica que [latex]S(n)[/latex] es no vacío si, y sólo si, si [latex]n[/latex] es congruente con 1 o con 3 módulo 6. En ese caso, el número de elementos de [latex]S(n)[/latex] es [latex]\frac{n(n-1)}{6}[/latex]. En la Wikipedia se encuentra más información sobre los sistemas de Steiner.

El objetivo de esta relación es definir en Haskell una función para calcular los sistemas de ternas de Steiner de orden n.
Read More "Sistemas de ternas de Steiner en Haskell"