PDF de programación - Tema 5: Aplicaciones de los algoritmos para SAT

Tema 5: Aplicaciones de los algoritmos para SATgráfica de visualizaciones

Publicado el 20 de Junio del 2017
717 visualizaciones desde el 20 de Junio del 2017
540,1 KB
13 paginas
Creado hace 8a (03/11/2015)
Algoritmos para

SAT

Ejemplos de
Aplicación
Prover9 y Mace4
El problema de los
mentirosos
El problema de los
rectángulos
El problema de las 4
reinas
Sudoku

Tema 5:

Aplicaciones de los algoritmos para SAT

Dpto. Ciencias de la Computación Inteligencia Artificial

Universidad de Sevilla

Lógica Informática (Tecnologías Informáticas)

Curso 2015–16

Contenido

Ejemplos de Aplicación

Prover9 y Mace4
El problema de los mentirosos
El problema de los rectángulos
El problema de las 4 reinas
Sudoku

Algoritmos para

SAT

Ejemplos de
Aplicación
Prover9 y Mace4
El problema de los
mentirosos
El problema de los
rectángulos
El problema de las 4
reinas
Sudoku

Prover9 y Mace4

Prover9 es un demostrador automático para las lógicas

proposicionales y de primer orden.

Mace4 es un calculador de modelos.
Disponen de un interfaz gráfico. Son libres y se pueden

descargar en:
http://www.cs.unm.edu/∼mccune/mace4

Algoritmos para

SAT

Ejemplos de
Aplicación
Prover9 y Mace4
El problema de los
mentirosos
El problema de los
rectángulos
El problema de las 4
reinas
Sudoku

El problema de los mentirosos

Enunciado: En una isla hay dos tribus, la de los veraces
(que siempre dicen la verdad) y la de los mentirosos (que
siempre mienten). Un viajero se encuentra con tres isleños
A, B y C y cada uno le da la siguiente información:

A dice ”B y C son veraces si y sólo si C es veraz”
B dice ”Si A y C son veraces, entonces B y C son

veraces y A es mentiroso”

C dice ”B es mentiroso si y sólo si A o B es veraz”

Determinar a qué tribu pertenece cada uno.

Algoritmos para

SAT

Ejemplos de
Aplicación
Prover9 y Mace4
El problema de los
mentirosos
El problema de los
rectángulos
El problema de las 4
reinas
Sudoku

Algoritmos para

SAT

Ejemplos de
Aplicación
Prover9 y Mace4
El problema de los
mentirosos
El problema de los
rectángulos
El problema de las 4
reinas
Sudoku

El problema de los mentirosos

Formalización: a, b y c representan que A, B y C son
veraces (en consecuencia, ¬a, ¬b y ¬c representan que
A, B y C son mentirosos).

Representación:

a ↔ (b ∧ c ↔ c)

b ↔ (a ∧ c → b ∧ c ∧ ¬a)

c ↔ (¬b ↔ a ∨ b)

Resultado del cálculo de modelos con Mace4:

v (a) = 1, v (b) = 1, v (c) = 0

Conclusión: A y B son veraces y C es mentiroso.

El problema de los mentirosos
Si añadimos a ∧ b ∧ ¬c como objetivo, y usamos Prover9
para encontrar una demostración:

Algoritmos para

SAT

Ejemplos de
Aplicación
Prover9 y Mace4
El problema de los
mentirosos
El problema de los
rectángulos
El problema de las 4
reinas
Sudoku

El problema de los rectángulos

Enunciado: Un rectángulo se divide en seis rectángulos
menores como se indica en la figura. Demostrar que si cada
una de los rectángulos menores tiene un lado cuya medida es
un número entero, entonces la medida de alguno de los lados
del rectángulo mayor es un número entero.

Algoritmos para

SAT

Ejemplos de
Aplicación
Prover9 y Mace4
El problema de los
mentirosos
El problema de los
rectángulos
El problema de las 4
reinas
Sudoku

Formalización:

base: la base del rectángulo mayor es un número entero
altura: la altura del rectángulo mayor es un número

entero

basex : la base del rectángulo x es un número entero
alturax : la altura del rectángulo x es un número entero

Algoritmos para

SAT

Ejemplos de
Aplicación
Prover9 y Mace4
El problema de los
mentirosos
El problema de los
rectángulos
El problema de las 4
reinas
Sudoku

El problema de los rectángulos

Representación:

baseA ∨ alturaA, baseB ∨ alturaB , baseC ∨ alturaC
baseD ∨ alturaD, baseE ∨ alturaE , baseF ∨ alturaF

baseA ↔ baseC , baseA ∧ baseD → baseF

baseD ∧ baseE → baseB , baseA ∧ baseB → base

alturaD ∧ alturaF → alturaE

alturaA ∧ alturaC ∧ alturaF → altura
alturaB ∧ alturaD ∧ alturaF → altura

alturaB ∧ alturaE → altura

Objetivo: base ∨ altura
Prover9: THEOREM PROVED

El problema de las 4 reinas

Enunciado: Calcular las formas de colocar 4 reinas en un
tablero de 4x4 de forma que no se ataquen entre sí (no haya
más de una reina en cada fila, columna o diagonal).

Algoritmos para

SAT

Ejemplos de
Aplicación
Prover9 y Mace4
El problema de los
mentirosos
El problema de los
rectángulos
El problema de las 4
reinas
Sudoku

Formalización: rij (1 ≤ i, j ≤ 4) indica que hay una reina en
la fila i columna j

Algoritmos para

SAT

Ejemplos de
Aplicación
Prover9 y Mace4
El problema de los
mentirosos
El problema de los
rectángulos
El problema de las 4
reinas
Sudoku

El problema de las 4 reinas

En cada fila hay una reina:

r11 ∨ r12 ∨ r13 ∨ r14, r21 ∨ r22 ∨ r23 ∨ r24
r31 ∨ r32 ∨ r33 ∨ r34, r41 ∨ r42 ∨ r43 ∨ r44

Si en una casilla hay reina, entonces no hay más reinas en su
fila, su columna y sus diagonales:
r11 → (¬r12∧¬r13∧¬r14)∧(¬r21∧¬r31∧¬r41)∧(¬r22∧¬r33∧¬r44)
r12 → (¬r11∧¬r13∧¬r14)∧(¬r22∧¬r32∧¬r42)∧(¬r21∧¬r23∧¬r34)
r13 → (¬r11∧¬r12∧¬r14)∧(¬r23∧¬r33∧¬r43)∧(¬r31∧¬r22∧¬r24)
r14 → (¬r11∧¬r12∧¬r13)∧(¬r24∧¬r34∧¬r44)∧(¬r23∧¬r32∧¬r41)
r21 → (¬r22∧¬r23∧¬r24)∧(¬r11∧¬r31∧¬r41)∧(¬r32∧¬r43∧¬r12)
r22 → (¬r21∧¬r23∧¬r24)∧(¬r12∧¬r32∧¬r42)∧(¬r11∧¬r33∧¬r44∧¬r13∧¬r31)
r23 → (¬r21∧¬r22∧¬r24)∧(¬r13∧¬r33∧¬r43)∧(¬r12∧¬r34∧¬r14∧¬r32∧¬r41)
r24 → (¬r21∧¬r22∧¬r23)∧(¬r14∧¬r34∧¬r44)∧(¬r13∧¬r33∧¬r42)

El problema de las 4 reinas

Algoritmos para

SAT

Si en una casilla hay reina, entonces no hay más reinas en su
fila, su columna y sus diagonales:
r31 → (¬r32∧¬r33∧¬r34)∧(¬r11∧¬r21∧¬r41)∧(¬r42∧¬r13∧¬r22)
r32 → (¬r31∧¬r33∧¬r34)∧(¬r12∧¬r22∧¬r42)∧(¬r21∧¬r43∧¬r14∧¬r23∧¬r41)
r33 → (¬r31∧¬r32∧¬r34)∧(¬r13∧¬r23∧¬r43)∧(¬r11∧¬r22∧¬r44∧¬r24∧¬r42)
r34 → (¬r31∧¬r32∧¬r33)∧(¬r14∧¬r24∧¬r44)∧(¬r12∧¬r23∧¬r43)
r41 → (¬r42∧¬r43∧¬r44)∧(¬r11∧¬r21∧¬r31)∧(¬r14∧¬r23∧¬r32)
r42 → (¬r41∧¬r43∧¬r44)∧(¬r12∧¬r22∧¬r32)∧(¬r31∧¬r24∧¬r33)
r43 → (¬r41∧¬r42∧¬r44)∧(¬r13∧¬r23∧¬r33)∧(¬r21∧¬r32∧¬r34)
r44 → (¬r41∧¬r42∧¬r43)∧(¬r14∧¬r24∧¬r34)∧(¬r11∧¬r22∧¬r33)

Ejemplos de
Aplicación
Prover9 y Mace4
El problema de los
mentirosos
El problema de los
rectángulos
El problema de las 4
reinas
Sudoku

Algoritmos para

SAT

Ejemplos de
Aplicación
Prover9 y Mace4
El problema de los
mentirosos
El problema de los
rectángulos
El problema de las 4
reinas
Sudoku

El problema de las 4 reinas

Búsqueda de modelos con Mace4:

r11 : 0, r12 : 0, r13 : 1, r14 : 0

r21 : 1, r22 : 0, r23 : 0, r24 : 0

r31 : 0, r32 : 0, r33 : 0, r34 : 1

r41 : 0, r42 : 1, r43 : 0, r44 : 0

r11 : 0, r12 : 1, r13 : 0, r14 : 0

r21 : 0, r22 : 0, r23 : 0, r24 : 1

r31 : 1, r32 : 0, r33 : 0, r34 : 0

r41 : 0, r42 : 0, r43 : 1, r44 : 0

Algoritmos para

SAT

Ejemplos de
Aplicación
Prover9 y Mace4
El problema de los
mentirosos
El problema de los
rectángulos
El problema de las 4
reinas
Sudoku

Sudoku

Problema: Resolver sudokus.
Descripción del problema:

Un sudoku estás dado por un tablero de 9 × 9 casillas,

dividido a su vez en 3 × 3 subtableros de 3 × 3.

7
2

8

1

7

2

6
3
4

3

5

7

1

8

4

6

3

Cada casilla puede contener un número del 1 al 9.
Inicialmente se proporcionan los números que ocupan
algunas de las casillas. El juego consiste en rellenar el
resto de casillas de modo que cada fila, cada columna y
cada subtablero contenga todos los números del 1 al 9.
  • Links de descarga
http://lwp-l.com/pdf4508

Comentarios de: Tema 5: Aplicaciones de los algoritmos para SAT (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad