Interpretaciones de FNC (fórmulas en forma normal conjuntiva)
Nota: En este ejercicio usaremos las mismas notaciones que en el anterior importando los módulos Evaluacion_de_FNC y Atomos_de_FNC.
Definir las siguientes funciones
1 2 |
interpretacionesClausula :: Clausula -> [Interpretacion] interpretaciones :: FNC -> [Interpretacion] |
tales que
- (interpretacionesClausula c) es el conjunto de interpretaciones de la cláusula c. Por ejemplo,
1 2 |
interpretacionesClausula [1,2,-1] == [[],[1],[2],[1,2]] interpretacionesClausula [] == [[]] |
- (interpretaciones f) es el conjunto de interpretaciones de la fórmula f. Por ejemplo,
1 2 |
interpretaciones [[1,-2],[-1,2]] == [[],[1],[2],[1,2]] interpretaciones [] == [[]] |
Nota: Escribir la solución en el módulo Interpretaciones_de_FNC para poderlo usar en los siguientes ejercicios.
Soluciones
1 2 3 4 5 6 7 8 9 10 11 |
module Interpretaciones_de_FNC where import Evaluacion_de_FNC import Atomos_de_FNC import Data.List (subsequences) interpretacionesClausula :: Clausula -> [Interpretacion] interpretacionesClausula = subsequences . atomosClausula interpretaciones :: FNC -> [Interpretacion] interpretaciones = subsequences . atomosFNC |
Otras soluciones
- Se pueden escribir otras soluciones en los comentarios.
- El código se debe escribir entre una línea con <pre lang=»haskell»> y otra con </pre>
Pensamiento
«En matemáticas, el arte de hacer preguntas es más valioso que la resolución de problemas.»
2 Comentarios