I1M2012: Ejercicios de definiciones por recursión y comprensión en Haskell (5)

En la clase de hoy de Informática de 1º del Grado en Matemáticas hemos comentado las soluciones de los ejercicios 6 a 8 de la 11ª relación en las que se presentan ejercicios con dos definiciones (una por recursión y otra por comprensión) y la comprobación de la equivalencia de las dos definiciones con QuickCheck.

Los ejercicios, y sus soluciones, se muestran a continuación:
Read More “I1M2012: Ejercicios de definiciones por recursión y comprensión en Haskell (5)”

LI2012: Formas normales de Skolem y cláusulas

En la clase de hoy del curso Lógica Informática se estudiado cómo se puede diseñar un procedimiento de forma que dada una fórmula F obtenga otra G que no tenga cuantificadores, que esté en forma normal conjuntiva y que sea equisatisfacible con F (es decir, que G es satisfacible precisamente si lo es F). Con dicho procedimiento se calcula la forma normal de Skolem. A partir de las formas se Skolem se obtienen las formas clausales.

Las transparencias de esta clase son las del tema 10
Read More “LI2012: Formas normales de Skolem y cláusulas”

I1M2012: Suma de números monótonos

En la clase de hoy de Informática de 1º del Grado en Matemáticas hemos comentado la solución con Haskell de un problema propuesto para la Olimpiada Internacional de Matemáticas de 1982 cuyo enunciado es

Calcular la suma de todos los enteros positivos cuyos dígitos forman una sucesión estrictamente creciente o estrictamente decreciente.

Lo resolveremos generando las listas de todos los enteros positivos cuyos dígitos forman una sucesión estrictamente monótona. Para ello nos basaremos en las listas de dígitos que forman una sucesión estrictamente monótona.

Comenzamos con los decrecientes:

  • (listasDecrecientesDesde n) es la lista de las sucesiones estrictamente decrecientes cuyo primer elemento es n. Por ejemplo,
    ghci> listasDecrecientesDesde 3
    [[3],[3,2],[3,2,1],[3,2,1,0],[3,2,0],[3,1],[3,1,0],[3,0]]

  • listasDecrecientes es la lista de las sucesiones estrictamente decrecientes cuyo primer elemento es un dígito. Por ejemplo,
    ghci> take 10 listasDecrecientes
    [[0],[1],[1,0],[2],[2,1],[2,1,0],[2,0],[3],[3,2],[3,2,1]]

  • (listaNumero xs) es el número correspondiente a la lista de dígitos xs. Por ejemplo,
    listaNumero [3,2,5] == 325

  • numerosDecrecientes es la lista de los enteros positivos cuyos dígitos forman una sucesión estrictamente decreciente. Por ejemplo,
    ghci> take 17 numerosDecrecientes
    [0,1,10,2,21,210,20,3,32,321,3210,320,31,310,30,4,43]

    Análogamente se construyen los crecientes:

  • (listasCrecientesDesde n) es la lista de las sucesiones estrictamente crecientes cuyo primer elemento es n. Por ejemplo,
    ghci> listasCrecientesDesde 6
    [[6],[6,7],[6,7,8],[6,7,8,9],[6,7,9],[6,8],[6,8,9],[6,9]]

  • listascrecientes es la lista de las sucesiones estrictamente crecientes cuyo primer elemento es un dígito. Por ejemplo,
    ghci> take 5 listasCrecientes
    [[1],[1,2],[1,2,3],[1,2,3,4],[1,2,3,4,5]]

  • numerosCrecientes es la lista de los enteros positivos cuyos dígitos forman una sucesión estrictamente creciente. Por ejemplo,
    ghci> take 5 numerosCrecientes
    [1,12,123,1234,12345]

    Con las definiciones anteriores la solución es inmediata:

    El cálculo de la solución es

LI2012: Equivalencias lógicas y tableros semánticos de primer orden

La clase de hoy del curso Lógica Informática ha tenido tres partes.

En la primera parte, se ha demostrado por deducción natural las principales equivalencias en lógica de primer orden.

En la segunda parte, se ha presentado un nuevo sistema deductivo: los tableros semánticos de primer orden como ampliación del presentado en el tema 3 para la lógica proposicional.

En la tercera parte, se ha comentado la solución de los siguientes ejercicios de formalización:

  • La existencia de algún canal de TV pública, supone un acicate para cualquier canal de TV privada; el que un canal de TV tenga un acicate, supone una gran satisfacción para cualquiera de sus directivos; en Madrid hay varios canales públicos de TV; TV5 es un canal de TV privada; por tanto, todos los directivos de TV5 están satisfechos.
  • Todo individuo que esté conforme con el contenido de cualquier acuerdo internacional lo apoya o se inhibe en absoluto de asuntos políticos. Cualquiera que se inhiba de los asuntos políticos, no participará en el próximo referéndum. Todo español, está conforme con el acuerdo internacional de Maastricht, al que sin embargo no apoya. Por tanto, cualquier individuo o no es español, o en otro caso, está conforme con el contenido del acuerdo internacional de Maastricht y no participará en el próximo referéndum.

Además, se ha demostrado mediante tableros semánticos la corrección de ambos argumentos.

Como tarea pendientes se propone la resolución de los ejercicios del tema 9 del libro de ejercicios.

Las transparencias de esta clase son las finales del tema 8 y las del
tema 9 que se muestran a continuación
Read More “LI2012: Equivalencias lógicas y tableros semánticos de primer orden”

I1M2012: Ejercicios de definiciones por recursión y comprensión en Haskell (4)

En la clase de hoy de Informática de 1º del Grado en Matemáticas hemos comentado las soluciones de los ejercicios 4 y 5 de la 10ª relación y 1 a 5 de la 11ª relación en las que se presentan ejercicios con dos definiciones (una por recursión y otra por comprensión) y la comprobación de la equivalencia de las dos definiciones con QuickCheck.

Los ejercicios, y sus soluciones, se muestran a continuación: Los de la relación 10 son
Read More “I1M2012: Ejercicios de definiciones por recursión y comprensión en Haskell (4)”