Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional =...

194

Transcript of Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional =...

Page 1: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Lógica Computacional y Demostración Automática

Carlos [email protected]

http://www.loria.fr/~areces

INRIA Nancy Grand Est, France

Diciembre 2008

Page 2: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

El Curso

I En el curso vamos a estudiar varios lenguajes lógicos (lógicaproposicional, lógicas híbridas, lógicas para la descripción,lógica de predicados) pero desde un punto de vistacomputacional.

I Nos interesa en particular estudiar distintos métodos paradeterminar cuando una fórmula es satisfacible (i.e., cuandoexiste un modelo para una fórmula dada). Aunque tambiéndiscutiremos otras tareas de inferencia (e.g., model checking).

I También nos interesa saber cuan complejos son estosproblemas (NP, PSPACE, indecidible).

I Requisitos: Aunque la mayor parte del curso es autocontenida(i.e., voy a dar todas las de�niciones necesarias para entenderque estamos haciendo), asumo conocimientos básicos delógica, algoritmos y complejidad.

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 3: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

El Curso

I En el curso vamos a estudiar varios lenguajes lógicos (lógicaproposicional, lógicas híbridas, lógicas para la descripción,lógica de predicados) pero desde un punto de vistacomputacional.

I Nos interesa en particular estudiar distintos métodos paradeterminar cuando una fórmula es satisfacible (i.e., cuandoexiste un modelo para una fórmula dada). Aunque tambiéndiscutiremos otras tareas de inferencia (e.g., model checking).

I También nos interesa saber cuan complejos son estosproblemas (NP, PSPACE, indecidible).

I Requisitos: Aunque la mayor parte del curso es autocontenida(i.e., voy a dar todas las de�niciones necesarias para entenderque estamos haciendo), asumo conocimientos básicos delógica, algoritmos y complejidad.

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 4: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

El Curso

I En el curso vamos a estudiar varios lenguajes lógicos (lógicaproposicional, lógicas híbridas, lógicas para la descripción,lógica de predicados) pero desde un punto de vistacomputacional.

I Nos interesa en particular estudiar distintos métodos paradeterminar cuando una fórmula es satisfacible (i.e., cuandoexiste un modelo para una fórmula dada). Aunque tambiéndiscutiremos otras tareas de inferencia (e.g., model checking).

I También nos interesa saber cuan complejos son estosproblemas (NP, PSPACE, indecidible).

I Requisitos: Aunque la mayor parte del curso es autocontenida(i.e., voy a dar todas las de�niciones necesarias para entenderque estamos haciendo), asumo conocimientos básicos delógica, algoritmos y complejidad.

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 5: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

El Curso

I En el curso vamos a estudiar varios lenguajes lógicos (lógicaproposicional, lógicas híbridas, lógicas para la descripción,lógica de predicados) pero desde un punto de vistacomputacional.

I Nos interesa en particular estudiar distintos métodos paradeterminar cuando una fórmula es satisfacible (i.e., cuandoexiste un modelo para una fórmula dada). Aunque tambiéndiscutiremos otras tareas de inferencia (e.g., model checking).

I También nos interesa saber cuan complejos son estosproblemas (NP, PSPACE, indecidible).

I Requisitos: Aunque la mayor parte del curso es autocontenida(i.e., voy a dar todas las de�niciones necesarias para entenderque estamos haciendo), asumo conocimientos básicos delógica, algoritmos y complejidad.

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 6: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

El Curso

I En el curso vamos a estudiar varios lenguajes lógicos (lógicaproposicional, lógicas híbridas, lógicas para la descripción,lógica de predicados) pero desde un punto de vistacomputacional.

I Nos interesa en particular estudiar distintos métodos paradeterminar cuando una fórmula es satisfacible (i.e., cuandoexiste un modelo para una fórmula dada). Aunque tambiéndiscutiremos otras tareas de inferencia (e.g., model checking).

I También nos interesa saber cuan complejos son estosproblemas (NP, PSPACE, indecidible).

I Requisitos: Aunque la mayor parte del curso es autocontenida(i.e., voy a dar todas las de�niciones necesarias para entenderque estamos haciendo), asumo conocimientos básicos delógica, algoritmos y complejidad.

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 7: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

El Curso

I Miércoles: Lógica Proposicional+ Método de David-Putnam+ Métodos Incompletos+ zcha� y walksat

I Jueves: Lógicas Híbridas+ Model Checking+ mcheck

I Viernes: Lógicas para la Descripción+ Método de Tableaux+ racer

I Sábado: Lógica de Predicados+ Método de Resolución+ spass

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 8: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

El Curso

I Miércoles: Lógica Proposicional+ Método de David-Putnam+ Métodos Incompletos+ zcha� y walksat

I Jueves: Lógicas Híbridas+ Model Checking+ mcheck

I Viernes: Lógicas para la Descripción+ Método de Tableaux+ racer

I Sábado: Lógica de Predicados+ Método de Resolución+ spass

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 9: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

El Curso

I Miércoles: Lógica Proposicional+ Método de David-Putnam+ Métodos Incompletos+ zcha� y walksat

I Jueves: Lógicas Híbridas+ Model Checking+ mcheck

I Viernes: Lógicas para la Descripción+ Método de Tableaux+ racer

I Sábado: Lógica de Predicados+ Método de Resolución+ spass

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 10: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

El Curso

I Miércoles: Lógica Proposicional+ Método de David-Putnam+ Métodos Incompletos+ zcha� y walksat

I Jueves: Lógicas Híbridas+ Model Checking+ mcheck

I Viernes: Lógicas para la Descripción+ Método de Tableaux+ racer

I Sábado: Lógica de Predicados+ Método de Resolución+ spass

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 11: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

El Curso

I Miércoles: Lógica Proposicional+ Método de David-Putnam+ Métodos Incompletos+ zcha� y walksat

I Jueves: Lógicas Híbridas+ Model Checking+ mcheck

I Viernes: Lógicas para la Descripción+ Método de Tableaux+ racer

I Sábado: Lógica de Predicados+ Método de Resolución+ spass

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 12: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Lo que hacemos hoy

I Consulta Popular: Que saben de lógica?I Lógica Proposicional

I Una aplicacion simpleI Aplicaciones más interesantesI Métodos completosI El método David-Putnam (DP)I Métodos incompletosI El Algoritmo GreedyI El Algoritmo GSAT

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 13: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Lo que hacemos hoy

I Consulta Popular: Que saben de lógica?

I Lógica ProposicionalI Una aplicacion simpleI Aplicaciones más interesantesI Métodos completosI El método David-Putnam (DP)I Métodos incompletosI El Algoritmo GreedyI El Algoritmo GSAT

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 14: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Lo que hacemos hoy

I Consulta Popular: Que saben de lógica?I Lógica Proposicional

I Una aplicacion simple

I Aplicaciones más interesantesI Métodos completosI El método David-Putnam (DP)I Métodos incompletosI El Algoritmo GreedyI El Algoritmo GSAT

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 15: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Lo que hacemos hoy

I Consulta Popular: Que saben de lógica?I Lógica Proposicional

I Una aplicacion simpleI Aplicaciones más interesantes

I Métodos completosI El método David-Putnam (DP)I Métodos incompletosI El Algoritmo GreedyI El Algoritmo GSAT

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 16: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Lo que hacemos hoy

I Consulta Popular: Que saben de lógica?I Lógica Proposicional

I Una aplicacion simpleI Aplicaciones más interesantesI Métodos completos

I El método David-Putnam (DP)I Métodos incompletosI El Algoritmo GreedyI El Algoritmo GSAT

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 17: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Lo que hacemos hoy

I Consulta Popular: Que saben de lógica?I Lógica Proposicional

I Una aplicacion simpleI Aplicaciones más interesantesI Métodos completosI El método David-Putnam (DP)

I Métodos incompletosI El Algoritmo GreedyI El Algoritmo GSAT

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 18: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Lo que hacemos hoy

I Consulta Popular: Que saben de lógica?I Lógica Proposicional

I Una aplicacion simpleI Aplicaciones más interesantesI Métodos completosI El método David-Putnam (DP)I Métodos incompletos

I El Algoritmo GreedyI El Algoritmo GSAT

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 19: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Lo que hacemos hoy

I Consulta Popular: Que saben de lógica?I Lógica Proposicional

I Una aplicacion simpleI Aplicaciones más interesantesI Métodos completosI El método David-Putnam (DP)I Métodos incompletosI El Algoritmo Greedy

I El Algoritmo GSAT

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 20: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Lo que hacemos hoy

I Consulta Popular: Que saben de lógica?I Lógica Proposicional

I Una aplicacion simpleI Aplicaciones más interesantesI Métodos completosI El método David-Putnam (DP)I Métodos incompletosI El Algoritmo GreedyI El Algoritmo GSAT

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 21: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Que sabe usted de lógica?

I ∨,∧,¬,→I Fórmula Satisfacible, Fórmula Válida (Tautología)I Tablas de verdad, Método de Tableaux, Método de

Resolución, Método de David-PutnamI ∀x ,∃xI Uni�caciónI 2,3

I @iϕ, ↓x .ϕI ∀R.ϕ, u, t, v

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 22: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Que sabe usted de lógica?

I ∨,∧,¬,→

I Fórmula Satisfacible, Fórmula Válida (Tautología)I Tablas de verdad, Método de Tableaux, Método de

Resolución, Método de David-PutnamI ∀x ,∃xI Uni�caciónI 2,3

I @iϕ, ↓x .ϕI ∀R.ϕ, u, t, v

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 23: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Que sabe usted de lógica?

I ∨,∧,¬,→I Fórmula Satisfacible, Fórmula Válida (Tautología)

I Tablas de verdad, Método de Tableaux, Método deResolución, Método de David-Putnam

I ∀x ,∃xI Uni�caciónI 2,3

I @iϕ, ↓x .ϕI ∀R.ϕ, u, t, v

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 24: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Que sabe usted de lógica?

I ∨,∧,¬,→I Fórmula Satisfacible, Fórmula Válida (Tautología)I Tablas de verdad,

Método de Tableaux, Método deResolución, Método de David-Putnam

I ∀x ,∃xI Uni�caciónI 2,3

I @iϕ, ↓x .ϕI ∀R.ϕ, u, t, v

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 25: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Que sabe usted de lógica?

I ∨,∧,¬,→I Fórmula Satisfacible, Fórmula Válida (Tautología)I Tablas de verdad, Método de Tableaux,

Método deResolución, Método de David-Putnam

I ∀x ,∃xI Uni�caciónI 2,3

I @iϕ, ↓x .ϕI ∀R.ϕ, u, t, v

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 26: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Que sabe usted de lógica?

I ∨,∧,¬,→I Fórmula Satisfacible, Fórmula Válida (Tautología)I Tablas de verdad, Método de Tableaux, Método de

Resolución,

Método de David-PutnamI ∀x ,∃xI Uni�caciónI 2,3

I @iϕ, ↓x .ϕI ∀R.ϕ, u, t, v

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 27: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Que sabe usted de lógica?

I ∨,∧,¬,→I Fórmula Satisfacible, Fórmula Válida (Tautología)I Tablas de verdad, Método de Tableaux, Método de

Resolución, Método de David-Putnam

I ∀x ,∃xI Uni�caciónI 2,3

I @iϕ, ↓x .ϕI ∀R.ϕ, u, t, v

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 28: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Que sabe usted de lógica?

I ∨,∧,¬,→I Fórmula Satisfacible, Fórmula Válida (Tautología)I Tablas de verdad, Método de Tableaux, Método de

Resolución, Método de David-PutnamI ∀x ,∃x

I Uni�caciónI 2,3

I @iϕ, ↓x .ϕI ∀R.ϕ, u, t, v

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 29: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Que sabe usted de lógica?

I ∨,∧,¬,→I Fórmula Satisfacible, Fórmula Válida (Tautología)I Tablas de verdad, Método de Tableaux, Método de

Resolución, Método de David-PutnamI ∀x ,∃xI Uni�cación

I 2,3

I @iϕ, ↓x .ϕI ∀R.ϕ, u, t, v

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 30: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Que sabe usted de lógica?

I ∨,∧,¬,→I Fórmula Satisfacible, Fórmula Válida (Tautología)I Tablas de verdad, Método de Tableaux, Método de

Resolución, Método de David-PutnamI ∀x ,∃xI Uni�caciónI 2,3

I @iϕ, ↓x .ϕI ∀R.ϕ, u, t, v

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 31: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Que sabe usted de lógica?

I ∨,∧,¬,→I Fórmula Satisfacible, Fórmula Válida (Tautología)I Tablas de verdad, Método de Tableaux, Método de

Resolución, Método de David-PutnamI ∀x ,∃xI Uni�caciónI 2,3

I @iϕ, ↓x .ϕ

I ∀R.ϕ, u, t, v

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 32: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Que sabe usted de lógica?

I ∨,∧,¬,→I Fórmula Satisfacible, Fórmula Válida (Tautología)I Tablas de verdad, Método de Tableaux, Método de

Resolución, Método de David-PutnamI ∀x ,∃xI Uni�caciónI 2,3

I @iϕ, ↓x .ϕI ∀R.ϕ, u, t, v

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 33: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Lógica Computacional = Logica + Computadoras

I La Lógica nació como parte de la �losoía:I en sus orígenes (allá por la Grecia clásica) la lógica era usada

para modelar el proceso de razonamiento humanoI y para ayudar a derivar inferencias correctas

I Las cosas cambiaron con la llegada de la computadora

I En realidad, la lógica jugó un papel fundamental en eldesarrollo de las computadoras tanto en lo teórico (e.g.,nociones de computabilidad) como en lo práctico (e.g.,circuitos lógicos)

I En este curso, vamos a estudiar como la Ciencia de laComputación contribuye directamente al área de Lógica

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 34: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Lógica Computacional = Logica + Computadoras

I La Lógica nació como parte de la �losoía:I en sus orígenes (allá por la Grecia clásica) la lógica era usada

para modelar el proceso de razonamiento humanoI y para ayudar a derivar inferencias correctas

I Las cosas cambiaron con la llegada de la computadora

I En realidad, la lógica jugó un papel fundamental en eldesarrollo de las computadoras tanto en lo teórico (e.g.,nociones de computabilidad) como en lo práctico (e.g.,circuitos lógicos)

I En este curso, vamos a estudiar como la Ciencia de laComputación contribuye directamente al área de Lógica

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 35: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Lógica Computacional = Logica + Computadoras

I La Lógica nació como parte de la �losoía:I en sus orígenes (allá por la Grecia clásica) la lógica era usada

para modelar el proceso de razonamiento humanoI y para ayudar a derivar inferencias correctas

I Las cosas cambiaron con la llegada de la computadora

I En realidad, la lógica jugó un papel fundamental en eldesarrollo de las computadoras tanto en lo teórico (e.g.,nociones de computabilidad) como en lo práctico (e.g.,circuitos lógicos)

I En este curso, vamos a estudiar como la Ciencia de laComputación contribuye directamente al área de Lógica

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 36: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Lógica Computacional = Logica + Computadoras

I La Lógica nació como parte de la �losoía:I en sus orígenes (allá por la Grecia clásica) la lógica era usada

para modelar el proceso de razonamiento humanoI y para ayudar a derivar inferencias correctas

I Las cosas cambiaron con la llegada de la computadora

I En realidad, la lógica jugó un papel fundamental en eldesarrollo de las computadoras tanto en lo teórico (e.g.,nociones de computabilidad) como en lo práctico (e.g.,circuitos lógicos)

I En este curso, vamos a estudiar como la Ciencia de laComputación contribuye directamente al área de Lógica

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 37: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Lógica Computacional = Logica + Computadoras

I La Lógica nació como parte de la �losoía:I en sus orígenes (allá por la Grecia clásica) la lógica era usada

para modelar el proceso de razonamiento humanoI y para ayudar a derivar inferencias correctas

I Las cosas cambiaron con la llegada de la computadora

I En realidad, la lógica jugó un papel fundamental en eldesarrollo de las computadoras tanto en lo teórico (e.g.,nociones de computabilidad) como en lo práctico (e.g.,circuitos lógicos)

I En este curso, vamos a estudiar como la Ciencia de laComputación contribuye directamente al área de Lógica

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 38: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Por que los lógicos necesitamos computadoras?

I Bueno, por empezar, somo humanos y por lo tanto vagos. Paraque hacer el trabajo si alguien más puede hacerlo por nosotros?

I Pero aún aquellos raros ejemplares de lógicos energéticosnecesitan ayuda: algunos de los problemas que queremosresolver son simplemente demasiado complejos para hacer sinuna computadora

I A veces es necesario chequear millones de posibilidades paraveri�car que un sistema satisface una determinada propiedad.

I Vamos a ver que, aun usando computadoras, tenemos queutiliar buenos algoritmos o todo el tiempo del mundo no nosalcanzaría.

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 39: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Por que los lógicos necesitamos computadoras?

I Bueno, por empezar, somo humanos y por lo tanto vagos. Paraque hacer el trabajo si alguien más puede hacerlo por nosotros?

I Pero aún aquellos raros ejemplares de lógicos energéticosnecesitan ayuda: algunos de los problemas que queremosresolver son simplemente demasiado complejos para hacer sinuna computadora

I A veces es necesario chequear millones de posibilidades paraveri�car que un sistema satisface una determinada propiedad.

I Vamos a ver que, aun usando computadoras, tenemos queutiliar buenos algoritmos o todo el tiempo del mundo no nosalcanzaría.

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 40: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Por que los lógicos necesitamos computadoras?

I Bueno, por empezar, somo humanos y por lo tanto vagos. Paraque hacer el trabajo si alguien más puede hacerlo por nosotros?

I Pero aún aquellos raros ejemplares de lógicos energéticosnecesitan ayuda: algunos de los problemas que queremosresolver son simplemente demasiado complejos para hacer sinuna computadora

I A veces es necesario chequear millones de posibilidades paraveri�car que un sistema satisface una determinada propiedad.

I Vamos a ver que, aun usando computadoras, tenemos queutiliar buenos algoritmos o todo el tiempo del mundo no nosalcanzaría.

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 41: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Por que los lógicos necesitamos computadoras?

I Bueno, por empezar, somo humanos y por lo tanto vagos. Paraque hacer el trabajo si alguien más puede hacerlo por nosotros?

I Pero aún aquellos raros ejemplares de lógicos energéticosnecesitan ayuda: algunos de los problemas que queremosresolver son simplemente demasiado complejos para hacer sinuna computadora

I A veces es necesario chequear millones de posibilidades paraveri�car que un sistema satisface una determinada propiedad.

I Vamos a ver que, aun usando computadoras, tenemos queutiliar buenos algoritmos o todo el tiempo del mundo no nosalcanzaría.

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 42: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Por que los lógicos necesitamos computadoras?

I Bueno, por empezar, somo humanos y por lo tanto vagos. Paraque hacer el trabajo si alguien más puede hacerlo por nosotros?

I Pero aún aquellos raros ejemplares de lógicos energéticosnecesitan ayuda: algunos de los problemas que queremosresolver son simplemente demasiado complejos para hacer sinuna computadora

I A veces es necesario chequear millones de posibilidades paraveri�car que un sistema satisface una determinada propiedad.

I Vamos a ver que, aun usando computadoras, tenemos queutiliar buenos algoritmos o todo el tiempo del mundo no nosalcanzaría.

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 43: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Lógica Proposicional

I Como todos sabemos la lógica proposicional es fácil:Algunos simbolos proposicionales: p1, p2, p3, . . .Dos símbolos lógicos: ¬, ∨Dos símbolos sintácticos: (, )

I También la semántica es simple:

¬ϕ es verdadera sii ϕ es falsaϕ ∨ ψ es verdadera sii ϕ o ψ son verdaderas

I Dada una asignación V de valores de verdad (verdadero ofalso) para todos los símbolos propocisionales podemosdeterminar el valor de verdad de de cualquier formula respectode V .

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 44: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Lógica Proposicional

I Como todos sabemos la lógica proposicional es fácil:Algunos simbolos proposicionales: p1, p2, p3, . . .Dos símbolos lógicos: ¬, ∨Dos símbolos sintácticos: (, )

I También la semántica es simple:

¬ϕ es verdadera sii ϕ es falsaϕ ∨ ψ es verdadera sii ϕ o ψ son verdaderas

I Dada una asignación V de valores de verdad (verdadero ofalso) para todos los símbolos propocisionales podemosdeterminar el valor de verdad de de cualquier formula respectode V .

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 45: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Lógica Proposicional

I Como todos sabemos la lógica proposicional es fácil:Algunos simbolos proposicionales: p1, p2, p3, . . .Dos símbolos lógicos: ¬, ∨Dos símbolos sintácticos: (, )

I También la semántica es simple:

¬ϕ es verdadera sii ϕ es falsaϕ ∨ ψ es verdadera sii ϕ o ψ son verdaderas

I Dada una asignación V de valores de verdad (verdadero ofalso) para todos los símbolos propocisionales podemosdeterminar el valor de verdad de de cualquier formula respectode V .

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 46: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Lógica Proposicional

I Como todos sabemos la lógica proposicional es fácil:Algunos simbolos proposicionales: p1, p2, p3, . . .Dos símbolos lógicos: ¬, ∨Dos símbolos sintácticos: (, )

I También la semántica es simple:

¬ϕ es verdadera sii ϕ es falsaϕ ∨ ψ es verdadera sii ϕ o ψ son verdaderas

I Dada una asignación V de valores de verdad (verdadero ofalso) para todos los símbolos propocisionales podemosdeterminar el valor de verdad de de cualquier formula respectode V .

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 47: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Un problema del corazón

Al lógico cordobés Ceferino le preguntaron: salís con Ana,con Beatriz o con Celeste? Él pensó:Salgo al menos con alguna de las tres. Si salgo conBeatriz pero no con Ana, entonces salgo con Celeste. Osalgo con Ana y con Celeste, o no salgo con Beatriz. Sisalgo con Ana, entonces también salgo con Beatriz.Con quién sale Ceferino?

I Podemos modelar el problema usando Logica Proposicional?I Que ganamos si lo hacemos?I Que tipo de preguntas podemos hacerle a nuestro modelo?

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 48: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Un problema del corazón

Al lógico cordobés Ceferino le preguntaron: salís con Ana,con Beatriz o con Celeste? Él pensó:Salgo al menos con alguna de las tres. Si salgo conBeatriz pero no con Ana, entonces salgo con Celeste. Osalgo con Ana y con Celeste, o no salgo con Beatriz. Sisalgo con Ana, entonces también salgo con Beatriz.Con quién sale Ceferino?

I Podemos modelar el problema usando Logica Proposicional?I Que ganamos si lo hacemos?I Que tipo de preguntas podemos hacerle a nuestro modelo?

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 49: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Un problema del corazón

Al lógico cordobés Ceferino le preguntaron: salís con Ana,con Beatriz o con Celeste? Él pensó:Salgo al menos con alguna de las tres. Si salgo conBeatriz pero no con Ana, entonces salgo con Celeste. Osalgo con Ana y con Celeste, o no salgo con Beatriz. Sisalgo con Ana, entonces también salgo con Beatriz.Con quién sale Ceferino?

I Podemos modelar el problema usando Logica Proposicional?

I Que ganamos si lo hacemos?I Que tipo de preguntas podemos hacerle a nuestro modelo?

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 50: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Un problema del corazón

Al lógico cordobés Ceferino le preguntaron: salís con Ana,con Beatriz o con Celeste? Él pensó:Salgo al menos con alguna de las tres. Si salgo conBeatriz pero no con Ana, entonces salgo con Celeste. Osalgo con Ana y con Celeste, o no salgo con Beatriz. Sisalgo con Ana, entonces también salgo con Beatriz.Con quién sale Ceferino?

I Podemos modelar el problema usando Logica Proposicional?I Que ganamos si lo hacemos?

I Que tipo de preguntas podemos hacerle a nuestro modelo?

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 51: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Un problema del corazón

Al lógico cordobés Ceferino le preguntaron: salís con Ana,con Beatriz o con Celeste? Él pensó:Salgo al menos con alguna de las tres. Si salgo conBeatriz pero no con Ana, entonces salgo con Celeste. Osalgo con Ana y con Celeste, o no salgo con Beatriz. Sisalgo con Ana, entonces también salgo con Beatriz.Con quién sale Ceferino?

I Podemos modelar el problema usando Logica Proposicional?I Que ganamos si lo hacemos?I Que tipo de preguntas podemos hacerle a nuestro modelo?

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 52: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Formalizando el Problema

Tres simbolos proposicionales

A ≡ salgo con Ana ¬A ≡ no salgo con AnaB ≡ salgo con Beatriz ¬B ≡ no salgo con BeatrizC ≡ salgo con Celeste ¬C ≡ no salgo con Celeste

• Salgo al menos con alguna de las tres.(A ∨ B ∨ C )

• Si salgo con Beatriz pero no con Ana, entonces salgo con Celeste.(B ∧ ¬A)→ C = (¬B ∨ A ∨ C )

• O salgo con Ana y con Celeste, o no salgo con Beatriz.(A ∧ C ) ∨ ¬B = (A ∨ ¬B) ∧ (C ∨ ¬B)

• Si salgo con Ana, entonces también salgo con Beatriz.A→ B = (¬A ∨ B)

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 53: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Formalizando el Problema

Tres simbolos proposicionales

A ≡ salgo con Ana ¬A ≡ no salgo con AnaB ≡ salgo con Beatriz ¬B ≡ no salgo con BeatrizC ≡ salgo con Celeste ¬C ≡ no salgo con Celeste

• Salgo al menos con alguna de las tres.(A ∨ B ∨ C )

• Si salgo con Beatriz pero no con Ana, entonces salgo con Celeste.(B ∧ ¬A)→ C = (¬B ∨ A ∨ C )

• O salgo con Ana y con Celeste, o no salgo con Beatriz.(A ∧ C ) ∨ ¬B = (A ∨ ¬B) ∧ (C ∨ ¬B)

• Si salgo con Ana, entonces también salgo con Beatriz.A→ B = (¬A ∨ B)

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 54: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Formalizando el Problema

Tres simbolos proposicionales

A ≡ salgo con Ana ¬A ≡ no salgo con AnaB ≡ salgo con Beatriz ¬B ≡ no salgo con BeatrizC ≡ salgo con Celeste ¬C ≡ no salgo con Celeste

• Salgo al menos con alguna de las tres.(A ∨ B ∨ C )

• Si salgo con Beatriz pero no con Ana, entonces salgo con Celeste.(B ∧ ¬A)→ C = (¬B ∨ A ∨ C )

• O salgo con Ana y con Celeste, o no salgo con Beatriz.(A ∧ C ) ∨ ¬B = (A ∨ ¬B) ∧ (C ∨ ¬B)

• Si salgo con Ana, entonces también salgo con Beatriz.A→ B = (¬A ∨ B)

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 55: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Formalizando el Problema

Tres simbolos proposicionales

A ≡ salgo con Ana ¬A ≡ no salgo con AnaB ≡ salgo con Beatriz ¬B ≡ no salgo con BeatrizC ≡ salgo con Celeste ¬C ≡ no salgo con Celeste

• Salgo al menos con alguna de las tres.(A ∨ B ∨ C )

• Si salgo con Beatriz pero no con Ana, entonces salgo con Celeste.(B ∧ ¬A)→ C = (¬B ∨ A ∨ C )

• O salgo con Ana y con Celeste, o no salgo con Beatriz.(A ∧ C ) ∨ ¬B = (A ∨ ¬B) ∧ (C ∨ ¬B)

• Si salgo con Ana, entonces también salgo con Beatriz.A→ B = (¬A ∨ B)

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 56: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Formalizando el Problema

Tres simbolos proposicionales

A ≡ salgo con Ana ¬A ≡ no salgo con AnaB ≡ salgo con Beatriz ¬B ≡ no salgo con BeatrizC ≡ salgo con Celeste ¬C ≡ no salgo con Celeste

• Salgo al menos con alguna de las tres.(A ∨ B ∨ C )

• Si salgo con Beatriz pero no con Ana, entonces salgo con Celeste.(B ∧ ¬A)→ C = (¬B ∨ A ∨ C )

• O salgo con Ana y con Celeste, o no salgo con Beatriz.(A ∧ C ) ∨ ¬B = (A ∨ ¬B) ∧ (C ∨ ¬B)

• Si salgo con Ana, entonces también salgo con Beatriz.A→ B = (¬A ∨ B)

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 57: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Formalizando el Problema

Tres simbolos proposicionales

A ≡ salgo con Ana ¬A ≡ no salgo con AnaB ≡ salgo con Beatriz ¬B ≡ no salgo con BeatrizC ≡ salgo con Celeste ¬C ≡ no salgo con Celeste

• Salgo al menos con alguna de las tres.(A ∨ B ∨ C )

• Si salgo con Beatriz pero no con Ana, entonces salgo con Celeste.(B ∧ ¬A)→ C = (¬B ∨ A ∨ C )

• O salgo con Ana y con Celeste, o no salgo con Beatriz.(A ∧ C ) ∨ ¬B = (A ∨ ¬B) ∧ (C ∨ ¬B)

• Si salgo con Ana, entonces también salgo con Beatriz.A→ B = (¬A ∨ B)

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 58: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Resolviendo el Problema

I Que podemos deducir?

(A ∨ B ∨ C ) (¬A ∨ B)

B ∨ C

I Una consequencia de lo que nos dijo Ceferino es que sale almenos con Beatriz o con Celeste.

I Pero sale Ceferino con alguien?!!!En realidad hay dossituaciones que son consistentes con lo que dijo Ceferino.

A = verdadero B = verdadero C = verdaderoA = falso B = falso C = verdadero

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 59: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Resolviendo el Problema

I Que podemos deducir?

(A ∨ B ∨ C ) (¬A ∨ B)

B ∨ C

I Una consequencia de lo que nos dijo Ceferino es que sale almenos con Beatriz o con Celeste.

I Pero sale Ceferino con alguien?!!!En realidad hay dossituaciones que son consistentes con lo que dijo Ceferino.

A = verdadero B = verdadero C = verdaderoA = falso B = falso C = verdadero

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 60: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Resolviendo el Problema

I Que podemos deducir?

(A ∨ B ∨ C ) (¬A ∨ B)

B ∨ C

I Una consequencia de lo que nos dijo Ceferino es que sale almenos con Beatriz o con Celeste.

I Pero sale Ceferino con alguien?!!!En realidad hay dossituaciones que son consistentes con lo que dijo Ceferino.

A = verdadero B = verdadero C = verdaderoA = falso B = falso C = verdadero

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 61: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Resolviendo el Problema

I Que podemos deducir?

(A ∨ B ∨ C ) (¬A ∨ B)

B ∨ C

I Una consequencia de lo que nos dijo Ceferino es que sale almenos con Beatriz o con Celeste.

I Pero sale Ceferino con alguien?!!!

En realidad hay dossituaciones que son consistentes con lo que dijo Ceferino.

A = verdadero B = verdadero C = verdaderoA = falso B = falso C = verdadero

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 62: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Resolviendo el Problema

I Que podemos deducir?

(A ∨ B ∨ C ) (¬A ∨ B)

B ∨ C

I Una consequencia de lo que nos dijo Ceferino es que sale almenos con Beatriz o con Celeste.

I Pero sale Ceferino con alguien?!!!En realidad hay dossituaciones que son consistentes con lo que dijo Ceferino.

A = verdadero B = verdadero C = verdaderoA = falso B = falso C = verdadero

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 63: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Resolviendo el Problema

I Como podemos computar esta solucion?I Podemos usar tablas de verdad

A B C (A ∨ B ∨ C) (¬B ∨ A ∨ C) (A ∨ ¬B) (C ∨ ¬B) (¬A ∨ B)T T T T T T T T TT T F T T T F T FT F T T T T T F FT F F T T T T F FF T T T T F T T FF T F T F F F T FF F T T T T T T TF F F F T T T T F

I Pero este método no es muy e�ciente. (Cuál es la complejidadde SAT para LP?)

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 64: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Resolviendo el Problema

I Como podemos computar esta solucion?

I Podemos usar tablas de verdad

A B C (A ∨ B ∨ C) (¬B ∨ A ∨ C) (A ∨ ¬B) (C ∨ ¬B) (¬A ∨ B)T T T T T T T T TT T F T T T F T FT F T T T T T F FT F F T T T T F FF T T T T F T T FF T F T F F F T FF F T T T T T T TF F F F T T T T F

I Pero este método no es muy e�ciente. (Cuál es la complejidadde SAT para LP?)

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 65: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Resolviendo el Problema

I Como podemos computar esta solucion?I Podemos usar tablas de verdad

A B C (A ∨ B ∨ C) (¬B ∨ A ∨ C) (A ∨ ¬B) (C ∨ ¬B) (¬A ∨ B)T T T T T T T T TT T F T T T F T FT F T T T T T F FT F F T T T T F FF T T T T F T T FF T F T F F F T FF F T T T T T T TF F F F T T T T F

I Pero este método no es muy e�ciente. (Cuál es la complejidadde SAT para LP?)

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 66: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Resolviendo el Problema

I Como podemos computar esta solucion?I Podemos usar tablas de verdad

A B C (A ∨ B ∨ C) (¬B ∨ A ∨ C) (A ∨ ¬B) (C ∨ ¬B) (¬A ∨ B)

T T T T T T T T TT T F T T T F T FT F T T T T T F FT F F T T T T F FF T T T T F T T FF T F T F F F T FF F T T T T T T TF F F F T T T T F

I Pero este método no es muy e�ciente. (Cuál es la complejidadde SAT para LP?)

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 67: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Resolviendo el Problema

I Como podemos computar esta solucion?I Podemos usar tablas de verdad

A B C (A ∨ B ∨ C) (¬B ∨ A ∨ C) (A ∨ ¬B) (C ∨ ¬B) (¬A ∨ B)T T T T T T T T TT T F T T T F T FT F T T T T T F FT F F T T T T F FF T T T T F T T FF T F T F F F T FF F T T T T T T TF F F F T T T T F

I Pero este método no es muy e�ciente. (Cuál es la complejidadde SAT para LP?)

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 68: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Resolviendo el Problema

I Como podemos computar esta solucion?I Podemos usar tablas de verdad

A B C (A ∨ B ∨ C) (¬B ∨ A ∨ C) (A ∨ ¬B) (C ∨ ¬B) (¬A ∨ B)T T T T T T T T TT T F T T T F T FT F T T T T T F FT F F T T T T F FF T T T T F T T FF T F T F F F T FF F T T T T T T TF F F F T T T T F

I Pero este método no es muy e�ciente.

(Cuál es la complejidadde SAT para LP?)

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 69: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Resolviendo el Problema

I Como podemos computar esta solucion?I Podemos usar tablas de verdad

A B C (A ∨ B ∨ C) (¬B ∨ A ∨ C) (A ∨ ¬B) (C ∨ ¬B) (¬A ∨ B)T T T T T T T T TT T F T T T F T FT F T T T T T F FT F F T T T T F FF T T T T F T T FF T F T F F F T FF F T T T T T T TF F F F T T T T F

I Pero este método no es muy e�ciente. (Cuál es la complejidadde SAT para LP?)

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 70: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Algunas técnicas para resolver SAT

I Métodos Completos

I ResolucionI TableauxI Davis-PutmanI Mapeo en ecuaciones lineares

I Métodos de AproximaciónI Cambiar el valor de una variable en una fórmula insatisfechaI Algoritmos géneticosI Hill-climbing

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 71: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Algunas técnicas para resolver SAT

I Métodos Completos

I ResolucionI TableauxI Davis-PutmanI Mapeo en ecuaciones lineares

I Métodos de AproximaciónI Cambiar el valor de una variable en una fórmula insatisfechaI Algoritmos géneticosI Hill-climbing

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 72: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Codi�cando Problemas

I Acabamos de ver como usar LP en un ejemplo muy simple.I Pero el poder expresivo de PL es su�ciente para hacer cosas

mucho más interesantes:

I coloreo de grafosI constraint satisfaction problems (CSP)I veri�cacion de hardwareI planningI scheduling

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 73: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Codi�cando Problemas

I Acabamos de ver como usar LP en un ejemplo muy simple.

I Pero el poder expresivo de PL es su�ciente para hacer cosasmucho más interesantes:

I coloreo de grafosI constraint satisfaction problems (CSP)I veri�cacion de hardwareI planningI scheduling

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 74: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Codi�cando Problemas

I Acabamos de ver como usar LP en un ejemplo muy simple.I Pero el poder expresivo de PL es su�ciente para hacer cosas

mucho más interesantes:

I coloreo de grafos

I constraint satisfaction problems (CSP)I veri�cacion de hardwareI planningI scheduling

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 75: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Codi�cando Problemas

I Acabamos de ver como usar LP en un ejemplo muy simple.I Pero el poder expresivo de PL es su�ciente para hacer cosas

mucho más interesantes:

I coloreo de grafosI constraint satisfaction problems (CSP)

I veri�cacion de hardwareI planningI scheduling

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 76: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Codi�cando Problemas

I Acabamos de ver como usar LP en un ejemplo muy simple.I Pero el poder expresivo de PL es su�ciente para hacer cosas

mucho más interesantes:

I coloreo de grafosI constraint satisfaction problems (CSP)I veri�cacion de hardware

I planningI scheduling

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 77: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Codi�cando Problemas

I Acabamos de ver como usar LP en un ejemplo muy simple.I Pero el poder expresivo de PL es su�ciente para hacer cosas

mucho más interesantes:

I coloreo de grafosI constraint satisfaction problems (CSP)I veri�cacion de hardwareI planning

I scheduling

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 78: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Codi�cando Problemas

I Acabamos de ver como usar LP en un ejemplo muy simple.I Pero el poder expresivo de PL es su�ciente para hacer cosas

mucho más interesantes:

I coloreo de grafosI constraint satisfaction problems (CSP)I veri�cacion de hardwareI planningI scheduling

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 79: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Aplicación: Coloreo de Grafos

I El problema: Dados un grafo G = 〈N,E 〉 donde N es unconjunto de nodos y E es un conjunto de ejes, y un número�jo de colores k . Decidir si podemos asignar colores a losnodos de N tal que:

I Todos los nodos estan coloreados con uno de los k colores.I Para cada eje (i , j) ∈ N, el color de i es diferente del color de j .

I Ejemplo

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 80: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Aplicación: Coloreo de GrafosI El problema: Dados un grafo G = 〈N,E 〉 donde N es un

conjunto de nodos y E es un conjunto de ejes, y un número�jo de colores k . Decidir si podemos asignar colores a losnodos de N tal que:

I Todos los nodos estan coloreados con uno de los k colores.I Para cada eje (i , j) ∈ N, el color de i es diferente del color de j .

I Ejemplo

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 81: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Aplicación: Coloreo de GrafosI El problema: Dados un grafo G = 〈N,E 〉 donde N es un

conjunto de nodos y E es un conjunto de ejes, y un número�jo de colores k . Decidir si podemos asignar colores a losnodos de N tal que:

I Todos los nodos estan coloreados con uno de los k colores.

I Para cada eje (i , j) ∈ N, el color de i es diferente del color de j .

I Ejemplo

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 82: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Aplicación: Coloreo de GrafosI El problema: Dados un grafo G = 〈N,E 〉 donde N es un

conjunto de nodos y E es un conjunto de ejes, y un número�jo de colores k . Decidir si podemos asignar colores a losnodos de N tal que:

I Todos los nodos estan coloreados con uno de los k colores.I Para cada eje (i , j) ∈ N, el color de i es diferente del color de j .

I Ejemplo

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 83: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Aplicación: Coloreo de GrafosI El problema: Dados un grafo G = 〈N,E 〉 donde N es un

conjunto de nodos y E es un conjunto de ejes, y un número�jo de colores k . Decidir si podemos asignar colores a losnodos de N tal que:

I Todos los nodos estan coloreados con uno de los k colores.I Para cada eje (i , j) ∈ N, el color de i es diferente del color de j .

I Ejemplo

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 84: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Aplicación: Coloreo de GrafosI El problema: Dados un grafo G = 〈N,E 〉 donde N es un

conjunto de nodos y E es un conjunto de ejes, y un número�jo de colores k . Decidir si podemos asignar colores a losnodos de N tal que:

I Todos los nodos estan coloreados con uno de los k colores.I Para cada eje (i , j) ∈ N, el color de i es diferente del color de j .

I Ejemplo

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 85: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Aplicación: Coloreo de GrafosI El problema: Dados un grafo G = 〈N,E 〉 donde N es un

conjunto de nodos y E es un conjunto de ejes, y un número�jo de colores k . Decidir si podemos asignar colores a losnodos de N tal que:

I Todos los nodos estan coloreados con uno de los k colores.I Para cada eje (i , j) ∈ N, el color de i es diferente del color de j .

I Ejemplo

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 86: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Aplicación: Coloreo de Grafos

I Una codi�cación simple del problema de k-coloreo de un grafocon n nodos usa n · k símbolos proposicionales (unacodi�cación más compacta usa sólo n log2(k) símbolosproposicionales)

I Para 1 ≤ i ≤ n, 1 ≤ j ≤ k , escribimos pij para decir que `elnodo i tiene color j '

Cada nodo tiene un color: pi1 ∨ . . . ∨ pik ,para 1 ≤ i ≤ n

Nodos vecinos tienen colores diferentes: ¬pil ∨ ¬pjl ,para i y j nodos vecinos, y 1 ≤ l ≤ k

Cada nodo no tiene mas de un color: ¬pil ∨ ¬pim,para 1 ≤ i ≤ n, y 1 ≤ l < m ≤ k

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 87: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Aplicación: Coloreo de Grafos

I Una codi�cación simple del problema de k-coloreo de un grafocon n nodos usa n · k símbolos proposicionales (unacodi�cación más compacta usa sólo n log2(k) símbolosproposicionales)

I Para 1 ≤ i ≤ n, 1 ≤ j ≤ k , escribimos pij para decir que `elnodo i tiene color j '

Cada nodo tiene un color: pi1 ∨ . . . ∨ pik ,para 1 ≤ i ≤ n

Nodos vecinos tienen colores diferentes: ¬pil ∨ ¬pjl ,para i y j nodos vecinos, y 1 ≤ l ≤ k

Cada nodo no tiene mas de un color: ¬pil ∨ ¬pim,para 1 ≤ i ≤ n, y 1 ≤ l < m ≤ k

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 88: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Aplicación: Coloreo de Grafos

I Una codi�cación simple del problema de k-coloreo de un grafocon n nodos usa n · k símbolos proposicionales (unacodi�cación más compacta usa sólo n log2(k) símbolosproposicionales)

I Para 1 ≤ i ≤ n, 1 ≤ j ≤ k , escribimos pij para decir que `elnodo i tiene color j '

Cada nodo tiene un color: pi1 ∨ . . . ∨ pik ,para 1 ≤ i ≤ n

Nodos vecinos tienen colores diferentes: ¬pil ∨ ¬pjl ,para i y j nodos vecinos, y 1 ≤ l ≤ k

Cada nodo no tiene mas de un color: ¬pil ∨ ¬pim,para 1 ≤ i ≤ n, y 1 ≤ l < m ≤ k

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 89: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Aplicación: Coloreo de Grafos

I Una codi�cación simple del problema de k-coloreo de un grafocon n nodos usa n · k símbolos proposicionales (unacodi�cación más compacta usa sólo n log2(k) símbolosproposicionales)

I Para 1 ≤ i ≤ n, 1 ≤ j ≤ k , escribimos pij para decir que `elnodo i tiene color j '

Cada nodo tiene un color: pi1 ∨ . . . ∨ pik ,para 1 ≤ i ≤ n

Nodos vecinos tienen colores diferentes: ¬pil ∨ ¬pjl ,para i y j nodos vecinos, y 1 ≤ l ≤ k

Cada nodo no tiene mas de un color: ¬pil ∨ ¬pim,para 1 ≤ i ≤ n, y 1 ≤ l < m ≤ k

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 90: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Aplicación: Coloreo de Grafos

I Una codi�cación simple del problema de k-coloreo de un grafocon n nodos usa n · k símbolos proposicionales (unacodi�cación más compacta usa sólo n log2(k) símbolosproposicionales)

I Para 1 ≤ i ≤ n, 1 ≤ j ≤ k , escribimos pij para decir que `elnodo i tiene color j '

Cada nodo tiene un color: pi1 ∨ . . . ∨ pik ,para 1 ≤ i ≤ n

Nodos vecinos tienen colores diferentes: ¬pil ∨ ¬pjl ,para i y j nodos vecinos, y 1 ≤ l ≤ k

Cada nodo no tiene mas de un color: ¬pil ∨ ¬pim,para 1 ≤ i ≤ n, y 1 ≤ l < m ≤ k

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 91: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Aplicación: Coloreo de Grafos

I Una codi�cación simple del problema de k-coloreo de un grafocon n nodos usa n · k símbolos proposicionales (unacodi�cación más compacta usa sólo n log2(k) símbolosproposicionales)

I Para 1 ≤ i ≤ n, 1 ≤ j ≤ k , escribimos pij para decir que `elnodo i tiene color j '

Cada nodo tiene un color: pi1 ∨ . . . ∨ pik ,para 1 ≤ i ≤ n

Nodos vecinos tienen colores diferentes: ¬pil ∨ ¬pjl ,para i y j nodos vecinos, y 1 ≤ l ≤ k

Cada nodo no tiene mas de un color: ¬pil ∨ ¬pim,para 1 ≤ i ≤ n, y 1 ≤ l < m ≤ k

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 92: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Aplicaciones: Coloreo de Grafos 2

I Resultados:

I Los algoritmos de GSAT y WalkSAT son competitivos encomparación con algoritmos especifícos de coloreo de grafos

I Una aplicación en álgebra:I problemas relacionados con quasi-grupos pueden verse como

casos particulares de coloreo de grafos.I algunos problemas abiertos en la teoría de quasi-grupos fueron

codi�cados de esta forma y resueltos en forma automáticamediante demostradores de teoremas para LP-SAT.E.g., existe un quasi-grupo que satisfaga las siguientesequaciones?

∀a.(a · a) = a

∀a, b.((b · a) · b) · b = a

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 93: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Aplicaciones: Coloreo de Grafos 2

I Resultados:

I Los algoritmos de GSAT y WalkSAT son competitivos encomparación con algoritmos especifícos de coloreo de grafos

I Una aplicación en álgebra:I problemas relacionados con quasi-grupos pueden verse como

casos particulares de coloreo de grafos.I algunos problemas abiertos en la teoría de quasi-grupos fueron

codi�cados de esta forma y resueltos en forma automáticamediante demostradores de teoremas para LP-SAT.E.g., existe un quasi-grupo que satisfaga las siguientesequaciones?

∀a.(a · a) = a

∀a, b.((b · a) · b) · b = a

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 94: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Aplicaciones: Coloreo de Grafos 2

I Resultados:

I Los algoritmos de GSAT y WalkSAT son competitivos encomparación con algoritmos especifícos de coloreo de grafos

I Una aplicación en álgebra:I problemas relacionados con quasi-grupos pueden verse como

casos particulares de coloreo de grafos.

I algunos problemas abiertos en la teoría de quasi-grupos fueroncodi�cados de esta forma y resueltos en forma automáticamediante demostradores de teoremas para LP-SAT.E.g., existe un quasi-grupo que satisfaga las siguientesequaciones?

∀a.(a · a) = a

∀a, b.((b · a) · b) · b = a

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 95: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Aplicaciones: Coloreo de Grafos 2

I Resultados:

I Los algoritmos de GSAT y WalkSAT son competitivos encomparación con algoritmos especifícos de coloreo de grafos

I Una aplicación en álgebra:I problemas relacionados con quasi-grupos pueden verse como

casos particulares de coloreo de grafos.I algunos problemas abiertos en la teoría de quasi-grupos fueron

codi�cados de esta forma y resueltos en forma automáticamediante demostradores de teoremas para LP-SAT.

E.g., existe un quasi-grupo que satisfaga las siguientesequaciones?

∀a.(a · a) = a

∀a, b.((b · a) · b) · b = a

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 96: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Aplicaciones: Coloreo de Grafos 2

I Resultados:

I Los algoritmos de GSAT y WalkSAT son competitivos encomparación con algoritmos especifícos de coloreo de grafos

I Una aplicación en álgebra:I problemas relacionados con quasi-grupos pueden verse como

casos particulares de coloreo de grafos.I algunos problemas abiertos en la teoría de quasi-grupos fueron

codi�cados de esta forma y resueltos en forma automáticamediante demostradores de teoremas para LP-SAT.E.g., existe un quasi-grupo que satisfaga las siguientesequaciones?

∀a.(a · a) = a

∀a, b.((b · a) · b) · b = a

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 97: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Y problemas realmente importantes?

I Siga este link http://www.sudokusolver.co.uk/.

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 98: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Y problemas realmente importantes?

I Siga este link http://www.sudokusolver.co.uk/.

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 99: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Métodos de Desición

I Los método de desición para resolver SAT debe:I Siempren responden SAT o UNSATI En un tiempo �nitoI correctamente

I Los métodos completos más conocidos sonI tablas de verdadI axiomatizaciones, calculo de Gentzen, deduccion naturalI resolucion, tableauxI Davis-Putnam

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 100: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Métodos de Desición

I Los método de desición para resolver SAT debe:I Siempren responden SAT o UNSAT

I En un tiempo �nitoI correctamente

I Los métodos completos más conocidos sonI tablas de verdadI axiomatizaciones, calculo de Gentzen, deduccion naturalI resolucion, tableauxI Davis-Putnam

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 101: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Métodos de Desición

I Los método de desición para resolver SAT debe:I Siempren responden SAT o UNSATI En un tiempo �nito

I correctamente

I Los métodos completos más conocidos sonI tablas de verdadI axiomatizaciones, calculo de Gentzen, deduccion naturalI resolucion, tableauxI Davis-Putnam

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 102: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Métodos de Desición

I Los método de desición para resolver SAT debe:I Siempren responden SAT o UNSATI En un tiempo �nitoI correctamente

I Los métodos completos más conocidos sonI tablas de verdadI axiomatizaciones, calculo de Gentzen, deduccion naturalI resolucion, tableauxI Davis-Putnam

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 103: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Transformando una formula en forma clausal

I Forma clausal. Escribimos ϕ en forma normal conjuntiva(conjunctive normal form, CNF)

ϕ =∧l∈L

∨m∈M

ψ(l ,m), donde ψ(l ,m) es un literal (i.e., p o ¬p).

I Usando las siguientes equivalencias:(p → q) ; (¬p ∨ q)(p ↔ q) ; (p → q) ∧ (q → p)

(¬(p ∨ q)) ; (¬p ∧ ¬q)(¬(p ∧ q)) ; (¬p ∨ ¬q)

(¬¬p) ; p

(p ∨ (q ∧ r)) ; ((p ∨ q) ∧ (p ∨ r))

El conjunto de cláusulas asociado a

(l11 ∨ . . . ∨ l1n1)∧(l21 ∨ . . . ∨ l2n2)∧. . .∧(lk1 ∨ . . . ∨ lknk ) es{{l11, . . . , l1n1} , {l21, . . . , l2n2} , . . . , {lk1, . . . , lknk}}

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 104: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Transformando una formula en forma clausalI Forma clausal. Escribimos ϕ en forma normal conjuntiva

(conjunctive normal form, CNF)

ϕ =∧l∈L

∨m∈M

ψ(l ,m), donde ψ(l ,m) es un literal (i.e., p o ¬p).

I Usando las siguientes equivalencias:(p → q) ; (¬p ∨ q)(p ↔ q) ; (p → q) ∧ (q → p)

(¬(p ∨ q)) ; (¬p ∧ ¬q)(¬(p ∧ q)) ; (¬p ∨ ¬q)

(¬¬p) ; p

(p ∨ (q ∧ r)) ; ((p ∨ q) ∧ (p ∨ r))

El conjunto de cláusulas asociado a

(l11 ∨ . . . ∨ l1n1)∧(l21 ∨ . . . ∨ l2n2)∧. . .∧(lk1 ∨ . . . ∨ lknk ) es{{l11, . . . , l1n1} , {l21, . . . , l2n2} , . . . , {lk1, . . . , lknk}}

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 105: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Transformando una formula en forma clausalI Forma clausal. Escribimos ϕ en forma normal conjuntiva

(conjunctive normal form, CNF)

ϕ =∧l∈L

∨m∈M

ψ(l ,m), donde ψ(l ,m) es un literal (i.e., p o ¬p).

I Usando las siguientes equivalencias:(p → q) ; (¬p ∨ q)(p ↔ q) ; (p → q) ∧ (q → p)

(¬(p ∨ q)) ; (¬p ∧ ¬q)(¬(p ∧ q)) ; (¬p ∨ ¬q)

(¬¬p) ; p

(p ∨ (q ∧ r)) ; ((p ∨ q) ∧ (p ∨ r))

El conjunto de cláusulas asociado a

(l11 ∨ . . . ∨ l1n1)∧(l21 ∨ . . . ∨ l2n2)∧. . .∧(lk1 ∨ . . . ∨ lknk ) es

{{l11, . . . , l1n1} , {l21, . . . , l2n2} , . . . , {lk1, . . . , lknk}}

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 106: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Transformando una formula en forma clausalI Forma clausal. Escribimos ϕ en forma normal conjuntiva

(conjunctive normal form, CNF)

ϕ =∧l∈L

∨m∈M

ψ(l ,m), donde ψ(l ,m) es un literal (i.e., p o ¬p).

I Usando las siguientes equivalencias:(p → q) ; (¬p ∨ q)(p ↔ q) ; (p → q) ∧ (q → p)

(¬(p ∨ q)) ; (¬p ∧ ¬q)(¬(p ∧ q)) ; (¬p ∨ ¬q)

(¬¬p) ; p

(p ∨ (q ∧ r)) ; ((p ∨ q) ∧ (p ∨ r))

El conjunto de cláusulas asociado a

(l11 ∨ . . . ∨ l1n1)∧(l21 ∨ . . . ∨ l2n2)∧. . .∧(lk1 ∨ . . . ∨ lknk ) es{{l11, . . . , l1n1} , {l21, . . . , l2n2} , . . . , {lk1, . . . , lknk}}

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 107: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Ejemplo 1

1. ¬((p ∨ q)→ (¬q → (p ∨ q)))

2. ¬(¬(p ∨ q) ∨ (¬¬q ∨ (p ∨ q)))

3. ¬(¬(p ∨ q) ∨ (q ∨ (p ∨ q)))

4. (¬¬(p ∨ q) ∧ ¬(q ∨ (p ∨ q)))

5. ((p ∨ q) ∧ ¬(q ∨ (p ∨ q)))

6. ((p ∨ q) ∧ (¬q ∧ ¬(p ∨ q)))

7. ((p ∨ q) ∧ (¬q ∧ (¬p ∧ ¬q)))

8. {{p, q}, {¬q}, {¬p}}

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 108: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Ejemplo 1

1. ¬((p ∨ q)→ (¬q → (p ∨ q)))

2. ¬(¬(p ∨ q) ∨ (¬¬q ∨ (p ∨ q)))

3. ¬(¬(p ∨ q) ∨ (q ∨ (p ∨ q)))

4. (¬¬(p ∨ q) ∧ ¬(q ∨ (p ∨ q)))

5. ((p ∨ q) ∧ ¬(q ∨ (p ∨ q)))

6. ((p ∨ q) ∧ (¬q ∧ ¬(p ∨ q)))

7. ((p ∨ q) ∧ (¬q ∧ (¬p ∧ ¬q)))

8. {{p, q}, {¬q}, {¬p}}

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 109: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Ejemplo 1

1. ¬((p ∨ q)→ (¬q → (p ∨ q)))

2. ¬(¬(p ∨ q) ∨ (¬¬q ∨ (p ∨ q)))

3. ¬(¬(p ∨ q) ∨ (q ∨ (p ∨ q)))

4. (¬¬(p ∨ q) ∧ ¬(q ∨ (p ∨ q)))

5. ((p ∨ q) ∧ ¬(q ∨ (p ∨ q)))

6. ((p ∨ q) ∧ (¬q ∧ ¬(p ∨ q)))

7. ((p ∨ q) ∧ (¬q ∧ (¬p ∧ ¬q)))

8. {{p, q}, {¬q}, {¬p}}

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 110: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Ejemplo 1

1. ¬((p ∨ q)→ (¬q → (p ∨ q)))

2. ¬(¬(p ∨ q) ∨ (¬¬q ∨ (p ∨ q)))

3. ¬(¬(p ∨ q) ∨ (q ∨ (p ∨ q)))

4. (¬¬(p ∨ q) ∧ ¬(q ∨ (p ∨ q)))

5. ((p ∨ q) ∧ ¬(q ∨ (p ∨ q)))

6. ((p ∨ q) ∧ (¬q ∧ ¬(p ∨ q)))

7. ((p ∨ q) ∧ (¬q ∧ (¬p ∧ ¬q)))

8. {{p, q}, {¬q}, {¬p}}

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 111: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Ejemplo 1

1. ¬((p ∨ q)→ (¬q → (p ∨ q)))

2. ¬(¬(p ∨ q) ∨ (¬¬q ∨ (p ∨ q)))

3. ¬(¬(p ∨ q) ∨ (q ∨ (p ∨ q)))

4. (¬¬(p ∨ q) ∧ ¬(q ∨ (p ∨ q)))

5. ((p ∨ q) ∧ ¬(q ∨ (p ∨ q)))

6. ((p ∨ q) ∧ (¬q ∧ ¬(p ∨ q)))

7. ((p ∨ q) ∧ (¬q ∧ (¬p ∧ ¬q)))

8. {{p, q}, {¬q}, {¬p}}

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 112: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Ejemplo 1

1. ¬((p ∨ q)→ (¬q → (p ∨ q)))

2. ¬(¬(p ∨ q) ∨ (¬¬q ∨ (p ∨ q)))

3. ¬(¬(p ∨ q) ∨ (q ∨ (p ∨ q)))

4. (¬¬(p ∨ q) ∧ ¬(q ∨ (p ∨ q)))

5. ((p ∨ q) ∧ ¬(q ∨ (p ∨ q)))

6. ((p ∨ q) ∧ (¬q ∧ ¬(p ∨ q)))

7. ((p ∨ q) ∧ (¬q ∧ (¬p ∧ ¬q)))

8. {{p, q}, {¬q}, {¬p}}

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 113: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Ejemplo 1

1. ¬((p ∨ q)→ (¬q → (p ∨ q)))

2. ¬(¬(p ∨ q) ∨ (¬¬q ∨ (p ∨ q)))

3. ¬(¬(p ∨ q) ∨ (q ∨ (p ∨ q)))

4. (¬¬(p ∨ q) ∧ ¬(q ∨ (p ∨ q)))

5. ((p ∨ q) ∧ ¬(q ∨ (p ∨ q)))

6. ((p ∨ q) ∧ (¬q ∧ ¬(p ∨ q)))

7. ((p ∨ q) ∧ (¬q ∧ (¬p ∧ ¬q)))

8. {{p, q}, {¬q}, {¬p}}

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 114: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Ejemplo 1

1. ¬((p ∨ q)→ (¬q → (p ∨ q)))

2. ¬(¬(p ∨ q) ∨ (¬¬q ∨ (p ∨ q)))

3. ¬(¬(p ∨ q) ∨ (q ∨ (p ∨ q)))

4. (¬¬(p ∨ q) ∧ ¬(q ∨ (p ∨ q)))

5. ((p ∨ q) ∧ ¬(q ∨ (p ∨ q)))

6. ((p ∨ q) ∧ (¬q ∧ ¬(p ∨ q)))

7. ((p ∨ q) ∧ (¬q ∧ (¬p ∧ ¬q)))

8. {{p, q}, {¬q}, {¬p}}

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 115: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Ejemplo 1

1. ¬((p ∨ q)→ (¬q → (p ∨ q)))

2. ¬(¬(p ∨ q) ∨ (¬¬q ∨ (p ∨ q)))

3. ¬(¬(p ∨ q) ∨ (q ∨ (p ∨ q)))

4. (¬¬(p ∨ q) ∧ ¬(q ∨ (p ∨ q)))

5. ((p ∨ q) ∧ ¬(q ∨ (p ∨ q)))

6. ((p ∨ q) ∧ (¬q ∧ ¬(p ∨ q)))

7. ((p ∨ q) ∧ (¬q ∧ (¬p ∧ ¬q)))

8. {{p, q}, {¬q}, {¬p}}

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 116: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Ejemplo 2

1. (p ↔ q) ∨ r2. ((p → q) ∧ (q → p)) ∨ r3. ((¬p ∨ q) ∧ (¬q ∨ p)) ∨ r4. (((¬p ∨ q) ∨ r) ∧ ((¬q ∨ p) ∨ r))

5. {{¬p, q, r}, {¬q, p, r}}

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 117: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Ejemplo 2

1. (p ↔ q) ∨ r

2. ((p → q) ∧ (q → p)) ∨ r3. ((¬p ∨ q) ∧ (¬q ∨ p)) ∨ r4. (((¬p ∨ q) ∨ r) ∧ ((¬q ∨ p) ∨ r))

5. {{¬p, q, r}, {¬q, p, r}}

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 118: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Ejemplo 2

1. (p ↔ q) ∨ r2. ((p → q) ∧ (q → p)) ∨ r

3. ((¬p ∨ q) ∧ (¬q ∨ p)) ∨ r4. (((¬p ∨ q) ∨ r) ∧ ((¬q ∨ p) ∨ r))

5. {{¬p, q, r}, {¬q, p, r}}

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 119: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Ejemplo 2

1. (p ↔ q) ∨ r2. ((p → q) ∧ (q → p)) ∨ r3. ((¬p ∨ q) ∧ (¬q ∨ p)) ∨ r

4. (((¬p ∨ q) ∨ r) ∧ ((¬q ∨ p) ∨ r))

5. {{¬p, q, r}, {¬q, p, r}}

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 120: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Ejemplo 2

1. (p ↔ q) ∨ r2. ((p → q) ∧ (q → p)) ∨ r3. ((¬p ∨ q) ∧ (¬q ∨ p)) ∨ r4. (((¬p ∨ q) ∨ r) ∧ ((¬q ∨ p) ∨ r))

5. {{¬p, q, r}, {¬q, p, r}}

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 121: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Ejemplo 2

1. (p ↔ q) ∨ r2. ((p → q) ∧ (q → p)) ∨ r3. ((¬p ∨ q) ∧ (¬q ∨ p)) ∨ r4. (((¬p ∨ q) ∨ r) ∧ ((¬q ∨ p) ∨ r))

5. {{¬p, q, r}, {¬q, p, r}}

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 122: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Métodos Completos: Davis-Putnam

I El método de Davis-Putnam es quizas el mas usado parademostracion automatica de LP-SAT

I A pesar de que ya tiene muchos años, es aun uno de los maspopulares y exitosos entre los Métodos completos.

Sea Σ el conjunto de cláusulas asociado a la fórmula ϕ

procedure DP(Σ)

if Σ={} then return SAT // (SAT)if {} ∈ Σ then return UNSAT // (UNSAT)if Σ has unit clause {l}

then DP(Σ[{l=true}]) // (Unit Pr.)Choose literal l and

if DP(Σ[{l=true}]) return SAT

then return SAT

else return DP(Σ[{l=false}]) // (Split)

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 123: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Métodos Completos: Davis-PutnamI El método de Davis-Putnam es quizas el mas usado para

demostracion automatica de LP-SAT

I A pesar de que ya tiene muchos años, es aun uno de los maspopulares y exitosos entre los Métodos completos.

Sea Σ el conjunto de cláusulas asociado a la fórmula ϕ

procedure DP(Σ)

if Σ={} then return SAT // (SAT)if {} ∈ Σ then return UNSAT // (UNSAT)if Σ has unit clause {l}

then DP(Σ[{l=true}]) // (Unit Pr.)Choose literal l and

if DP(Σ[{l=true}]) return SAT

then return SAT

else return DP(Σ[{l=false}]) // (Split)

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 124: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Métodos Completos: Davis-PutnamI El método de Davis-Putnam es quizas el mas usado para

demostracion automatica de LP-SATI A pesar de que ya tiene muchos años, es aun uno de los mas

populares y exitosos entre los Métodos completos.

Sea Σ el conjunto de cláusulas asociado a la fórmula ϕ

procedure DP(Σ)

if Σ={} then return SAT // (SAT)if {} ∈ Σ then return UNSAT // (UNSAT)if Σ has unit clause {l}

then DP(Σ[{l=true}]) // (Unit Pr.)Choose literal l and

if DP(Σ[{l=true}]) return SAT

then return SAT

else return DP(Σ[{l=false}]) // (Split)

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 125: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Métodos Completos: Davis-PutnamI El método de Davis-Putnam es quizas el mas usado para

demostracion automatica de LP-SATI A pesar de que ya tiene muchos años, es aun uno de los mas

populares y exitosos entre los Métodos completos.

Sea Σ el conjunto de cláusulas asociado a la fórmula ϕ

procedure DP(Σ)

if Σ={} then return SAT // (SAT)if {} ∈ Σ then return UNSAT // (UNSAT)if Σ has unit clause {l}

then DP(Σ[{l=true}]) // (Unit Pr.)Choose literal l and

if DP(Σ[{l=true}]) return SAT

then return SAT

else return DP(Σ[{l=false}]) // (Split)

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 126: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Métodos Completos: Davis-PutnamI El método de Davis-Putnam es quizas el mas usado para

demostracion automatica de LP-SATI A pesar de que ya tiene muchos años, es aun uno de los mas

populares y exitosos entre los Métodos completos.

Sea Σ el conjunto de cláusulas asociado a la fórmula ϕ

procedure DP(Σ)

if Σ={} then return SAT // (SAT)

if {} ∈ Σ then return UNSAT // (UNSAT)if Σ has unit clause {l}

then DP(Σ[{l=true}]) // (Unit Pr.)Choose literal l and

if DP(Σ[{l=true}]) return SAT

then return SAT

else return DP(Σ[{l=false}]) // (Split)

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 127: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Métodos Completos: Davis-PutnamI El método de Davis-Putnam es quizas el mas usado para

demostracion automatica de LP-SATI A pesar de que ya tiene muchos años, es aun uno de los mas

populares y exitosos entre los Métodos completos.

Sea Σ el conjunto de cláusulas asociado a la fórmula ϕ

procedure DP(Σ)

if Σ={} then return SAT // (SAT)if {} ∈ Σ then return UNSAT // (UNSAT)

if Σ has unit clause {l}

then DP(Σ[{l=true}]) // (Unit Pr.)Choose literal l and

if DP(Σ[{l=true}]) return SAT

then return SAT

else return DP(Σ[{l=false}]) // (Split)

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 128: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Métodos Completos: Davis-PutnamI El método de Davis-Putnam es quizas el mas usado para

demostracion automatica de LP-SATI A pesar de que ya tiene muchos años, es aun uno de los mas

populares y exitosos entre los Métodos completos.

Sea Σ el conjunto de cláusulas asociado a la fórmula ϕ

procedure DP(Σ)

if Σ={} then return SAT // (SAT)if {} ∈ Σ then return UNSAT // (UNSAT)if Σ has unit clause {l}

then DP(Σ[{l=true}]) // (Unit Pr.)

Choose literal l and

if DP(Σ[{l=true}]) return SAT

then return SAT

else return DP(Σ[{l=false}]) // (Split)

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 129: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Métodos Completos: Davis-PutnamI El método de Davis-Putnam es quizas el mas usado para

demostracion automatica de LP-SATI A pesar de que ya tiene muchos años, es aun uno de los mas

populares y exitosos entre los Métodos completos.

Sea Σ el conjunto de cláusulas asociado a la fórmula ϕ

procedure DP(Σ)

if Σ={} then return SAT // (SAT)if {} ∈ Σ then return UNSAT // (UNSAT)if Σ has unit clause {l}

then DP(Σ[{l=true}]) // (Unit Pr.)Choose literal l and

if DP(Σ[{l=true}]) return SAT

then return SAT

else return DP(Σ[{l=false}]) // (Split): Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 130: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Métodos Completos: Davis-Putnam 2

I DP no es el desarrollado por Davis & Putnam, sino el métodoperfeccionado de Davis, Logemann & Loveland

I el algoritmo original propuesto por Davis & Putnam usaba unaregla de resolucion en vez de la regla de splitting, lo que podriallevar a un uso exponencial de espacio

I Reglas Adicionales:I un literal puro (pure literal) es un literal que aparece siempre

en forma positiva o siempre en forma negativa en el conjuntode clausulas; podemos asignar a ese literal el valor verdadero(si aparece positivo) o falso (si aparece negativo) y eliminarlo.

(Pure) if Sigma has pure literal l then DP(Sigma {l=true})

I Tautology Deletion

(Taut) if Sigma contains C ∪ {p,¬p} then DP(Sigma\ C ∪ {p,¬p})

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 131: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Métodos Completos: Davis-Putnam 2

I DP no es el desarrollado por Davis & Putnam, sino el métodoperfeccionado de Davis, Logemann & Loveland

I el algoritmo original propuesto por Davis & Putnam usaba unaregla de resolucion en vez de la regla de splitting, lo que podriallevar a un uso exponencial de espacio

I Reglas Adicionales:I un literal puro (pure literal) es un literal que aparece siempre

en forma positiva o siempre en forma negativa en el conjuntode clausulas; podemos asignar a ese literal el valor verdadero(si aparece positivo) o falso (si aparece negativo) y eliminarlo.

(Pure) if Sigma has pure literal l then DP(Sigma {l=true})

I Tautology Deletion

(Taut) if Sigma contains C ∪ {p,¬p} then DP(Sigma\ C ∪ {p,¬p})

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 132: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Métodos Completos: Davis-Putnam 2

I DP no es el desarrollado por Davis & Putnam, sino el métodoperfeccionado de Davis, Logemann & Loveland

I el algoritmo original propuesto por Davis & Putnam usaba unaregla de resolucion en vez de la regla de splitting, lo que podriallevar a un uso exponencial de espacio

I Reglas Adicionales:I un literal puro (pure literal) es un literal que aparece siempre

en forma positiva o siempre en forma negativa en el conjuntode clausulas; podemos asignar a ese literal el valor verdadero(si aparece positivo) o falso (si aparece negativo) y eliminarlo.

(Pure) if Sigma has pure literal l then DP(Sigma {l=true})

I Tautology Deletion

(Taut) if Sigma contains C ∪ {p,¬p} then DP(Sigma\ C ∪ {p,¬p})

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 133: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Métodos Completos: Davis-Putnam 2

I DP no es el desarrollado por Davis & Putnam, sino el métodoperfeccionado de Davis, Logemann & Loveland

I el algoritmo original propuesto por Davis & Putnam usaba unaregla de resolucion en vez de la regla de splitting, lo que podriallevar a un uso exponencial de espacio

I Reglas Adicionales:I un literal puro (pure literal) es un literal que aparece siempre

en forma positiva o siempre en forma negativa en el conjuntode clausulas; podemos asignar a ese literal el valor verdadero(si aparece positivo) o falso (si aparece negativo) y eliminarlo.

(Pure) if Sigma has pure literal l then DP(Sigma {l=true})

I Tautology Deletion

(Taut) if Sigma contains C ∪ {p,¬p} then DP(Sigma\ C ∪ {p,¬p})

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 134: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Métodos Completos: Davis-Putnam 2

I DP no es el desarrollado por Davis & Putnam, sino el métodoperfeccionado de Davis, Logemann & Loveland

I el algoritmo original propuesto por Davis & Putnam usaba unaregla de resolucion en vez de la regla de splitting, lo que podriallevar a un uso exponencial de espacio

I Reglas Adicionales:I un literal puro (pure literal) es un literal que aparece siempre

en forma positiva o siempre en forma negativa en el conjuntode clausulas; podemos asignar a ese literal el valor verdadero(si aparece positivo) o falso (si aparece negativo) y eliminarlo.

(Pure) if Sigma has pure literal l then DP(Sigma {l=true})

I Tautology Deletion

(Taut) if Sigma contains C ∪ {p,¬p} then DP(Sigma\ C ∪ {p,¬p})

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 135: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Davis-Putnam: Las Reglas

I La regla (Pure) usualmente no es implementada, ya que elcosto de su evaluacion puede ser mas alto que los bene�ciosque produce

I Lo mismo vale para la regla (Taut): las tautologies soloaparecen al comienzo de la busqueda

I La regla (Unit) no es esencial y su efecto puede obtenersemediante una combinacion de las reglas (Split) y (Empty)

I Pero (Unit) es crucial para el buen comportamientocomputacional del método. Por ejemplo, la regla (Unit) por simisma es completa sobre clausulas Horn.

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 136: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Davis-Putnam: Las Reglas

I La regla (Pure) usualmente no es implementada, ya que elcosto de su evaluacion puede ser mas alto que los bene�ciosque produce

I Lo mismo vale para la regla (Taut): las tautologies soloaparecen al comienzo de la busqueda

I La regla (Unit) no es esencial y su efecto puede obtenersemediante una combinacion de las reglas (Split) y (Empty)

I Pero (Unit) es crucial para el buen comportamientocomputacional del método. Por ejemplo, la regla (Unit) por simisma es completa sobre clausulas Horn.

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 137: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Davis-Putnam: Las Reglas

I La regla (Pure) usualmente no es implementada, ya que elcosto de su evaluacion puede ser mas alto que los bene�ciosque produce

I Lo mismo vale para la regla (Taut): las tautologies soloaparecen al comienzo de la busqueda

I La regla (Unit) no es esencial y su efecto puede obtenersemediante una combinacion de las reglas (Split) y (Empty)

I Pero (Unit) es crucial para el buen comportamientocomputacional del método. Por ejemplo, la regla (Unit) por simisma es completa sobre clausulas Horn.

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 138: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Davis-Putnam: Las Reglas

I La regla (Pure) usualmente no es implementada, ya que elcosto de su evaluacion puede ser mas alto que los bene�ciosque produce

I Lo mismo vale para la regla (Taut): las tautologies soloaparecen al comienzo de la busqueda

I La regla (Unit) no es esencial y su efecto puede obtenersemediante una combinacion de las reglas (Split) y (Empty)

I Pero (Unit) es crucial para el buen comportamientocomputacional del método. Por ejemplo, la regla (Unit) por simisma es completa sobre clausulas Horn.

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 139: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Davis-Putnam: Las Reglas

I La regla (Pure) usualmente no es implementada, ya que elcosto de su evaluacion puede ser mas alto que los bene�ciosque produce

I Lo mismo vale para la regla (Taut): las tautologies soloaparecen al comienzo de la busqueda

I La regla (Unit) no es esencial y su efecto puede obtenersemediante una combinacion de las reglas (Split) y (Empty)

I Pero (Unit) es crucial para el buen comportamientocomputacional del método. Por ejemplo, la regla (Unit) por simisma es completa sobre clausulas Horn.

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 140: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Ejemplos de DP

I ¬((p ∨ q)→ (¬q → (p ∨ q)))

{{p, q}, {¬q}, {¬p}}

I (p ↔ q) ∨ r

{{¬p, q, r}, {¬q, p, r}}

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 141: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Ejemplos de DP

I ¬((p ∨ q)→ (¬q → (p ∨ q)))

{{p, q}, {¬q}, {¬p}}

I (p ↔ q) ∨ r

{{¬p, q, r}, {¬q, p, r}}

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 142: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Ejemplos de DP

I ¬((p ∨ q)→ (¬q → (p ∨ q)))

{{p, q}, {¬q}, {¬p}}

I (p ↔ q) ∨ r

{{¬p, q, r}, {¬q, p, r}}

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 143: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Ejemplos de DP

I ¬((p ∨ q)→ (¬q → (p ∨ q)))

{{p, q}, {¬q}, {¬p}}

I (p ↔ q) ∨ r

{{¬p, q, r}, {¬q, p, r}}

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 144: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Davis-Putnam: La regla (Split)

La regla (Split) es no-deterministica: Que literal elegimos?I Heuristica MOM: elegir el literal que ocurre `most often in the

minimal size clauses' (con empates resueltos en forma aleatoria osiguiendo un orden predeterminado). Este método es uno de losmejores en terminos de resultados, velocidad y simplicidad.

I Heuristica de Jeroslow-Wang: estimamos la contribucion que cadaliteral podria hacer a la satis�abilidad del conjunto de clausulas yelegimos el coe�ciente mas alto

score(l) =∑

c∈Σ & l∈c

2−|c|

I SATZ, uno de los mejores implementaciones actuales de DP, usauna heuristica que intenta maximizar el uso de unit propagation:genera todos los posibles branchings con distintos literales y aplicainmediatamente unit propagation sobre el resultado, para continuarla ejecucion con el conjunto de clausulas mas pequeño.

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 145: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Davis-Putnam: La regla (Split)La regla (Split) es no-deterministica: Que literal elegimos?

I Heuristica MOM: elegir el literal que ocurre `most often in theminimal size clauses' (con empates resueltos en forma aleatoria osiguiendo un orden predeterminado). Este método es uno de losmejores en terminos de resultados, velocidad y simplicidad.

I Heuristica de Jeroslow-Wang: estimamos la contribucion que cadaliteral podria hacer a la satis�abilidad del conjunto de clausulas yelegimos el coe�ciente mas alto

score(l) =∑

c∈Σ & l∈c

2−|c|

I SATZ, uno de los mejores implementaciones actuales de DP, usauna heuristica que intenta maximizar el uso de unit propagation:genera todos los posibles branchings con distintos literales y aplicainmediatamente unit propagation sobre el resultado, para continuarla ejecucion con el conjunto de clausulas mas pequeño.

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 146: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Davis-Putnam: La regla (Split)La regla (Split) es no-deterministica: Que literal elegimos?

I Heuristica MOM: elegir el literal que ocurre `most often in theminimal size clauses' (con empates resueltos en forma aleatoria osiguiendo un orden predeterminado). Este método es uno de losmejores en terminos de resultados, velocidad y simplicidad.

I Heuristica de Jeroslow-Wang: estimamos la contribucion que cadaliteral podria hacer a la satis�abilidad del conjunto de clausulas yelegimos el coe�ciente mas alto

score(l) =∑

c∈Σ & l∈c

2−|c|

I SATZ, uno de los mejores implementaciones actuales de DP, usauna heuristica que intenta maximizar el uso de unit propagation:genera todos los posibles branchings con distintos literales y aplicainmediatamente unit propagation sobre el resultado, para continuarla ejecucion con el conjunto de clausulas mas pequeño.

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 147: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Davis-Putnam: La regla (Split)La regla (Split) es no-deterministica: Que literal elegimos?

I Heuristica MOM: elegir el literal que ocurre `most often in theminimal size clauses' (con empates resueltos en forma aleatoria osiguiendo un orden predeterminado). Este método es uno de losmejores en terminos de resultados, velocidad y simplicidad.

I Heuristica de Jeroslow-Wang: estimamos la contribucion que cadaliteral podria hacer a la satis�abilidad del conjunto de clausulas yelegimos el coe�ciente mas alto

score(l) =∑

c∈Σ & l∈c

2−|c|

I SATZ, uno de los mejores implementaciones actuales de DP, usauna heuristica que intenta maximizar el uso de unit propagation:genera todos los posibles branchings con distintos literales y aplicainmediatamente unit propagation sobre el resultado, para continuarla ejecucion con el conjunto de clausulas mas pequeño.

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 148: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Davis-Putnam: La regla (Split)La regla (Split) es no-deterministica: Que literal elegimos?

I Heuristica MOM: elegir el literal que ocurre `most often in theminimal size clauses' (con empates resueltos en forma aleatoria osiguiendo un orden predeterminado). Este método es uno de losmejores en terminos de resultados, velocidad y simplicidad.

I Heuristica de Jeroslow-Wang: estimamos la contribucion que cadaliteral podria hacer a la satis�abilidad del conjunto de clausulas yelegimos el coe�ciente mas alto

score(l) =∑

c∈Σ & l∈c

2−|c|

I SATZ, uno de los mejores implementaciones actuales de DP, usauna heuristica que intenta maximizar el uso de unit propagation:genera todos los posibles branchings con distintos literales y aplicainmediatamente unit propagation sobre el resultado, para continuarla ejecucion con el conjunto de clausulas mas pequeño.

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 149: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Métodos Incompletos (o de Aproximacion): Motivacion

I DP puede resolver en tiempo razonable problemas con 500variables proposicionales. . .

I . . . pero los problemas que surgen habitualmente en lapractica tienen 1000s de variables!

I Dependiendo de la aplicacion, Métodos de semi-decisionpueden ser utiles: encontrar una solucion en algunos casos

I E.g., encontrar un plan ≡ encontrar un modelo, y podemos noestar interesados en los casos en los que no existe un plan

I Ademas, podemos estar interesados en �anytime answers� quedan �best guess� en cualquier momento que querramos detenerel algoritmo

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 150: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Métodos Incompletos (o de Aproximacion): Motivacion

I DP puede resolver en tiempo razonable problemas con 500variables proposicionales. . .

I . . . pero los problemas que surgen habitualmente en lapractica tienen 1000s de variables!

I Dependiendo de la aplicacion, Métodos de semi-decisionpueden ser utiles: encontrar una solucion en algunos casos

I E.g., encontrar un plan ≡ encontrar un modelo, y podemos noestar interesados en los casos en los que no existe un plan

I Ademas, podemos estar interesados en �anytime answers� quedan �best guess� en cualquier momento que querramos detenerel algoritmo

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 151: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Métodos Incompletos (o de Aproximacion): Motivacion

I DP puede resolver en tiempo razonable problemas con 500variables proposicionales. . .

I . . . pero los problemas que surgen habitualmente en lapractica tienen 1000s de variables!

I Dependiendo de la aplicacion, Métodos de semi-decisionpueden ser utiles: encontrar una solucion en algunos casos

I E.g., encontrar un plan ≡ encontrar un modelo, y podemos noestar interesados en los casos en los que no existe un plan

I Ademas, podemos estar interesados en �anytime answers� quedan �best guess� en cualquier momento que querramos detenerel algoritmo

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 152: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Métodos Incompletos (o de Aproximacion): Motivacion

I DP puede resolver en tiempo razonable problemas con 500variables proposicionales. . .

I . . . pero los problemas que surgen habitualmente en lapractica tienen 1000s de variables!

I Dependiendo de la aplicacion, Métodos de semi-decisionpueden ser utiles: encontrar una solucion en algunos casos

I E.g., encontrar un plan ≡ encontrar un modelo, y podemos noestar interesados en los casos en los que no existe un plan

I Ademas, podemos estar interesados en �anytime answers� quedan �best guess� en cualquier momento que querramos detenerel algoritmo

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 153: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Métodos Incompletos (o de Aproximacion): Motivacion

I DP puede resolver en tiempo razonable problemas con 500variables proposicionales. . .

I . . . pero los problemas que surgen habitualmente en lapractica tienen 1000s de variables!

I Dependiendo de la aplicacion, Métodos de semi-decisionpueden ser utiles: encontrar una solucion en algunos casos

I E.g., encontrar un plan ≡ encontrar un modelo, y podemos noestar interesados en los casos en los que no existe un plan

I Ademas, podemos estar interesados en �anytime answers� quedan �best guess� en cualquier momento que querramos detenerel algoritmo

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 154: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Métodos Incompletos (o de Aproximacion): Motivacion

I DP puede resolver en tiempo razonable problemas con 500variables proposicionales. . .

I . . . pero los problemas que surgen habitualmente en lapractica tienen 1000s de variables!

I Dependiendo de la aplicacion, Métodos de semi-decisionpueden ser utiles: encontrar una solucion en algunos casos

I E.g., encontrar un plan ≡ encontrar un modelo, y podemos noestar interesados en los casos en los que no existe un plan

I Ademas, podemos estar interesados en �anytime answers� quedan �best guess� en cualquier momento que querramos detenerel algoritmo

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 155: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Revoleando Monedas: El Algoritmo �Greedy�

I El algoritmo fue propuesto por Koutsopias y PapadimitriouI Idea principal: cambiamos el valor de una variable hasta que no

podemos incrementar el numero de clausulas satisfechas.

procedure greedy(Sigma)

T := random(Sigma) ; random assignment

repeat until no improvement possible

T := T with variable flipped that increases

the number of satisfied clauses

end

I El algoritmo encuentra un modelo para casi todos losproblemas satisfacibles con n variables proposicionales y O(n2)clausulas (lamentablemente, muy pocos problemas son de estetipo)

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 156: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Revoleando Monedas: El Algoritmo �Greedy�

I El algoritmo fue propuesto por Koutsopias y PapadimitriouI Idea principal: cambiamos el valor de una variable hasta que no

podemos incrementar el numero de clausulas satisfechas.

procedure greedy(Sigma)

T := random(Sigma) ; random assignment

repeat until no improvement possible

T := T with variable flipped that increases

the number of satisfied clauses

end

I El algoritmo encuentra un modelo para casi todos losproblemas satisfacibles con n variables proposicionales y O(n2)clausulas (lamentablemente, muy pocos problemas son de estetipo)

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 157: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Revoleando Monedas: El Algoritmo �Greedy�

I El algoritmo fue propuesto por Koutsopias y PapadimitriouI Idea principal: cambiamos el valor de una variable hasta que no

podemos incrementar el numero de clausulas satisfechas.

procedure greedy(Sigma)

T := random(Sigma) ; random assignment

repeat until no improvement possible

T := T with variable flipped that increases

the number of satisfied clauses

end

I El algoritmo encuentra un modelo para casi todos losproblemas satisfacibles con n variables proposicionales y O(n2)clausulas (lamentablemente, muy pocos problemas son de estetipo)

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 158: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Revoleando Monedas: El Algoritmo �Greedy�

I El algoritmo fue propuesto por Koutsopias y PapadimitriouI Idea principal: cambiamos el valor de una variable hasta que no

podemos incrementar el numero de clausulas satisfechas.

procedure greedy(Sigma)

T := random(Sigma) ; random assignment

repeat until no improvement possible

T := T with variable flipped that increases

the number of satisfied clauses

end

I El algoritmo encuentra un modelo para casi todos losproblemas satisfacibles con n variables proposicionales y O(n2)clausulas (lamentablemente, muy pocos problemas son de estetipo)

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 159: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Revoleando Monedas: El Algoritmo �Greedy�

I El algoritmo fue propuesto por Koutsopias y PapadimitriouI Idea principal: cambiamos el valor de una variable hasta que no

podemos incrementar el numero de clausulas satisfechas.

procedure greedy(Sigma)

T := random(Sigma) ; random assignment

repeat until no improvement possible

T := T with variable flipped that increases

the number of satisfied clauses

end

I El algoritmo encuentra un modelo para casi todos losproblemas satisfacibles con n variables proposicionales y O(n2)clausulas (lamentablemente, muy pocos problemas son de estetipo)

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 160: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Revoleando Monedas: El Algoritmo �Greedy�

I El algoritmo fue propuesto por Koutsopias y PapadimitriouI Idea principal: cambiamos el valor de una variable hasta que no

podemos incrementar el numero de clausulas satisfechas.

procedure greedy(Sigma)

T := random(Sigma) ; random assignment

repeat until no improvement possible

T := T with variable flipped that increases

the number of satisfied clauses

end

I El algoritmo encuentra un modelo para casi todos losproblemas satisfacibles con n variables proposicionales y O(n2)clausulas (lamentablemente, muy pocos problemas son de estetipo)

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 161: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Revoleando Monedas: El Algoritmo �Greedy�

I El algoritmo fue propuesto por Koutsopias y PapadimitriouI Idea principal: cambiamos el valor de una variable hasta que no

podemos incrementar el numero de clausulas satisfechas.

procedure greedy(Sigma)

T := random(Sigma) ; random assignment

repeat until no improvement possible

T := T with variable flipped that increases

the number of satisfied clauses

end

I El algoritmo encuentra un modelo para casi todos losproblemas satisfacibles con n variables proposicionales y O(n2)clausulas (lamentablemente, muy pocos problemas son de estetipo)

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 162: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

El procedimiento GSAT

I El algoritmo fue propuesto por Selman, Levesque y MitchellI Agrega restarts al algoritmo greedy, y permite �pasos al

costado� (i.e., que no incrementan la funcion de costo)

procedure GSAT(Sigma)

for i := 1 to MAX-TRIES ; estos son los restarts

T := random(Sigma) ; asignacion al azar

for j := 1 to MAX-FLIPS ; asegura terminacion

if T satisfies Sigma then return T

else T := T with variable flipped to maximize

number of satisfied clauses

; No importa si el # de clausulas satisfechas

; no se incrementan. Estos son los �side steps�

end

end

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 163: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

El procedimiento GSAT

I El algoritmo fue propuesto por Selman, Levesque y MitchellI Agrega restarts al algoritmo greedy, y permite �pasos al

costado� (i.e., que no incrementan la funcion de costo)

procedure GSAT(Sigma)

for i := 1 to MAX-TRIES ; estos son los restarts

T := random(Sigma) ; asignacion al azar

for j := 1 to MAX-FLIPS ; asegura terminacion

if T satisfies Sigma then return T

else T := T with variable flipped to maximize

number of satisfied clauses

; No importa si el # de clausulas satisfechas

; no se incrementan. Estos son los �side steps�

end

end

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 164: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

El procedimiento GSAT

I El algoritmo fue propuesto por Selman, Levesque y MitchellI Agrega restarts al algoritmo greedy, y permite �pasos al

costado� (i.e., que no incrementan la funcion de costo)

procedure GSAT(Sigma)

for i := 1 to MAX-TRIES ; estos son los restarts

T := random(Sigma) ; asignacion al azar

for j := 1 to MAX-FLIPS ; asegura terminacion

if T satisfies Sigma then return T

else T := T with variable flipped to maximize

number of satisfied clauses

; No importa si el # de clausulas satisfechas

; no se incrementan. Estos son los �side steps�

end

end

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 165: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

El procedimiento GSAT

I El algoritmo fue propuesto por Selman, Levesque y MitchellI Agrega restarts al algoritmo greedy, y permite �pasos al

costado� (i.e., que no incrementan la funcion de costo)

procedure GSAT(Sigma)

for i := 1 to MAX-TRIES ; estos son los restarts

T := random(Sigma) ; asignacion al azar

for j := 1 to MAX-FLIPS ; asegura terminacion

if T satisfies Sigma then return T

else T := T with variable flipped to maximize

number of satisfied clauses

; No importa si el # de clausulas satisfechas

; no se incrementan. Estos son los �side steps�

end

end

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 166: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

El procedimiento GSAT

I El algoritmo fue propuesto por Selman, Levesque y MitchellI Agrega restarts al algoritmo greedy, y permite �pasos al

costado� (i.e., que no incrementan la funcion de costo)

procedure GSAT(Sigma)

for i := 1 to MAX-TRIES ; estos son los restarts

T := random(Sigma) ; asignacion al azar

for j := 1 to MAX-FLIPS ; asegura terminacion

if T satisfies Sigma then return T

else T := T with variable flipped to maximize

number of satisfied clauses

; No importa si el # de clausulas satisfechas

; no se incrementan. Estos son los �side steps�

end

end

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 167: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

El procedimiento GSAT

I El algoritmo fue propuesto por Selman, Levesque y MitchellI Agrega restarts al algoritmo greedy, y permite �pasos al

costado� (i.e., que no incrementan la funcion de costo)

procedure GSAT(Sigma)

for i := 1 to MAX-TRIES ; estos son los restarts

T := random(Sigma) ; asignacion al azar

for j := 1 to MAX-FLIPS ; asegura terminacion

if T satisfies Sigma then return T

else T := T with variable flipped to maximize

number of satisfied clauses

; No importa si el # de clausulas satisfechas

; no se incrementan. Estos son los �side steps�

end

end

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 168: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

El procedimiento GSAT

I El algoritmo fue propuesto por Selman, Levesque y MitchellI Agrega restarts al algoritmo greedy, y permite �pasos al

costado� (i.e., que no incrementan la funcion de costo)

procedure GSAT(Sigma)

for i := 1 to MAX-TRIES ; estos son los restarts

T := random(Sigma) ; asignacion al azar

for j := 1 to MAX-FLIPS ; asegura terminacion

if T satisfies Sigma then return T

else T := T with variable flipped to maximize

number of satisfied clauses

; No importa si el # de clausulas satisfechas

; no se incrementan. Estos son los �side steps�

end

end

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 169: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

El procedimiento GSAT

I El algoritmo fue propuesto por Selman, Levesque y MitchellI Agrega restarts al algoritmo greedy, y permite �pasos al

costado� (i.e., que no incrementan la funcion de costo)

procedure GSAT(Sigma)

for i := 1 to MAX-TRIES ; estos son los restarts

T := random(Sigma) ; asignacion al azar

for j := 1 to MAX-FLIPS ; asegura terminacion

if T satisfies Sigma then return T

else T := T with variable flipped to maximize

number of satisfied clauses

; No importa si el # de clausulas satisfechas

; no se incrementan. Estos son los �side steps�

end

end

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 170: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

El procedimiento GSAT

I El algoritmo fue propuesto por Selman, Levesque y MitchellI Agrega restarts al algoritmo greedy, y permite �pasos al

costado� (i.e., que no incrementan la funcion de costo)

procedure GSAT(Sigma)

for i := 1 to MAX-TRIES ; estos son los restarts

T := random(Sigma) ; asignacion al azar

for j := 1 to MAX-FLIPS ; asegura terminacion

if T satisfies Sigma then return T

else T := T with variable flipped to maximize

number of satisfied clauses

; No importa si el # de clausulas satisfechas

; no se incrementan. Estos son los �side steps�

end

end

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 171: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

El procedimiento GSAT

I El algoritmo fue propuesto por Selman, Levesque y MitchellI Agrega restarts al algoritmo greedy, y permite �pasos al

costado� (i.e., que no incrementan la funcion de costo)

procedure GSAT(Sigma)

for i := 1 to MAX-TRIES ; estos son los restarts

T := random(Sigma) ; asignacion al azar

for j := 1 to MAX-FLIPS ; asegura terminacion

if T satisfies Sigma then return T

else T := T with variable flipped to maximize

number of satisfied clauses

; No importa si el # de clausulas satisfechas

; no se incrementan. Estos son los �side steps�

end

end

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 172: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

El procedimiento GSAT

I El algoritmo fue propuesto por Selman, Levesque y MitchellI Agrega restarts al algoritmo greedy, y permite �pasos al

costado� (i.e., que no incrementan la funcion de costo)

procedure GSAT(Sigma)

for i := 1 to MAX-TRIES ; estos son los restarts

T := random(Sigma) ; asignacion al azar

for j := 1 to MAX-FLIPS ; asegura terminacion

if T satisfies Sigma then return T

else T := T with variable flipped to maximize

number of satisfied clauses

; No importa si el # de clausulas satisfechas

; no se incrementan. Estos son los �side steps�

end

end

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 173: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

GSAT: Evaluacion

I El procedimiento GSAT ha sido muy in�uencialI GSAT es excelente en algunos tipos de problemas (random

3-SAT, n-queens, etc.)

formulas

var clauses

50 215100 430140 602150 645300 1275500 2150

GSAT

M-FLIPS restarts time

250 6.4 0.4s500 42.5 6s700 52.6 14s

1500 100.5 45s6000 231.8 12m

10000 995.8 1.6h

DP

choices depth time

77 11 1.4s84 x 103 19 2.8m2.2 x 106 27 4.7h

� � �� � �� � �

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 174: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

GSAT: Evaluacion

I El procedimiento GSAT ha sido muy in�uencial

I GSAT es excelente en algunos tipos de problemas (random3-SAT, n-queens, etc.)

formulas

var clauses

50 215100 430140 602150 645300 1275500 2150

GSAT

M-FLIPS restarts time

250 6.4 0.4s500 42.5 6s700 52.6 14s

1500 100.5 45s6000 231.8 12m

10000 995.8 1.6h

DP

choices depth time

77 11 1.4s84 x 103 19 2.8m2.2 x 106 27 4.7h

� � �� � �� � �

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 175: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

GSAT: Evaluacion

I El procedimiento GSAT ha sido muy in�uencialI GSAT es excelente en algunos tipos de problemas (random

3-SAT, n-queens, etc.)

formulas

var clauses

50 215100 430140 602150 645300 1275500 2150

GSAT

M-FLIPS restarts time

250 6.4 0.4s500 42.5 6s700 52.6 14s

1500 100.5 45s6000 231.8 12m

10000 995.8 1.6h

DP

choices depth time

77 11 1.4s84 x 103 19 2.8m2.2 x 106 27 4.7h

� � �� � �� � �

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 176: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

GSAT: Evaluacion

I El procedimiento GSAT ha sido muy in�uencialI GSAT es excelente en algunos tipos de problemas (random

3-SAT, n-queens, etc.)

formulas

var clauses

50 215100 430140 602150 645300 1275500 2150

GSAT

M-FLIPS restarts time

250 6.4 0.4s500 42.5 6s700 52.6 14s

1500 100.5 45s6000 231.8 12m

10000 995.8 1.6h

DP

choices depth time

77 11 1.4s84 x 103 19 2.8m2.2 x 106 27 4.7h

� � �� � �� � �

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 177: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

GSAT: Evaluacion

I El procedimiento GSAT ha sido muy in�uencialI GSAT es excelente en algunos tipos de problemas (random

3-SAT, n-queens, etc.)

formulas

var clauses

50 215100 430140 602150 645300 1275500 2150

GSAT

M-FLIPS restarts time

250 6.4 0.4s500 42.5 6s700 52.6 14s

1500 100.5 45s6000 231.8 12m

10000 995.8 1.6h

DP

choices depth time

77 11 1.4s84 x 103 19 2.8m2.2 x 106 27 4.7h

� � �� � �� � �

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 178: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

GSAT: Evaluacion

I El procedimiento GSAT ha sido muy in�uencialI GSAT es excelente en algunos tipos de problemas (random

3-SAT, n-queens, etc.)

formulas

var clauses

50 215100 430140 602150 645300 1275500 2150

GSAT

M-FLIPS restarts time

250 6.4 0.4s500 42.5 6s700 52.6 14s

1500 100.5 45s6000 231.8 12m

10000 995.8 1.6h

DP

choices depth time

77 11 1.4s84 x 103 19 2.8m2.2 x 106 27 4.7h

� � �� � �� � �

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 179: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

GSAT: Pasos al costado

I Recordemos: la diferencia mas importante entre el algoritmogreedy y GSAT es la posibilidad de pasos al costado

I Hay alguna diferencia?

type

randomrandom30-queens

formulasvars clauses

50 215100 430900 43240

M-FLIPS

1000100000100000

no sideways moves%-solved restarts time

69% 537 10s39% 63382 15m100% 50000 30h

all moves%-solved tries time

100% 6 1.4s100% 81 2.8m100% 1 2.5s

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 180: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

GSAT: Pasos al costado

I Recordemos: la diferencia mas importante entre el algoritmogreedy y GSAT es la posibilidad de pasos al costado

I Hay alguna diferencia?

type

randomrandom30-queens

formulasvars clauses

50 215100 430900 43240

M-FLIPS

1000100000100000

no sideways moves%-solved restarts time

69% 537 10s39% 63382 15m100% 50000 30h

all moves%-solved tries time

100% 6 1.4s100% 81 2.8m100% 1 2.5s

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 181: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

GSAT: Pasos al costado

I Recordemos: la diferencia mas importante entre el algoritmogreedy y GSAT es la posibilidad de pasos al costado

I Hay alguna diferencia?

type

randomrandom30-queens

formulasvars clauses

50 215100 430900 43240

M-FLIPS

1000100000100000

no sideways moves%-solved restarts time

69% 537 10s39% 63382 15m100% 50000 30h

all moves%-solved tries time

100% 6 1.4s100% 81 2.8m100% 1 2.5s

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 182: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

GSAT: Pasos al costado

I Recordemos: la diferencia mas importante entre el algoritmogreedy y GSAT es la posibilidad de pasos al costado

I Hay alguna diferencia?

type

randomrandom30-queens

formulasvars clauses

50 215100 430900 43240

M-FLIPS

1000100000100000

no sideways moves%-solved restarts time

69% 537 10s39% 63382 15m100% 50000 30h

all moves%-solved tries time

100% 6 1.4s100% 81 2.8m100% 1 2.5s

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 183: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

GSAT: Pasos al costado

I Recordemos: la diferencia mas importante entre el algoritmogreedy y GSAT es la posibilidad de pasos al costado

I Hay alguna diferencia?

type

randomrandom30-queens

formulasvars clauses

50 215100 430900 43240

M-FLIPS

1000100000100000

no sideways moves%-solved restarts time

69% 537 10s39% 63382 15m100% 50000 30h

all moves%-solved tries time

100% 6 1.4s100% 81 2.8m100% 1 2.5s

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 184: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

GSAT: Pasos al costado

I Recordemos: la diferencia mas importante entre el algoritmogreedy y GSAT es la posibilidad de pasos al costado

I Hay alguna diferencia?

type

randomrandom30-queens

formulasvars clauses

50 215100 430900 43240

M-FLIPS

1000100000100000

no sideways moves%-solved restarts time

69% 537 10s39% 63382 15m100% 50000 30h

all moves%-solved tries time

100% 6 1.4s100% 81 2.8m100% 1 2.5s

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 185: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

GSAT: Pasos al costado

I Recordemos: la diferencia mas importante entre el algoritmogreedy y GSAT es la posibilidad de pasos al costado

I Hay alguna diferencia?

type

randomrandom30-queens

formulasvars clauses

50 215100 430900 43240

M-FLIPS

1000100000100000

no sideways moves%-solved restarts time

69% 537 10s39% 63382 15m100% 50000 30h

all moves%-solved tries time

100% 6 1.4s100% 81 2.8m100% 1 2.5s

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 186: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Logica Proposicional: Conclusiones

I Los Métodos completos garantizan solucionar el problemaLP-SAT (y en muchos casos, e.g. DP, permiten encontrartodas las soluciones posibles)

I Los Métodos de aproximacion garantizan correctitud pero nocompletitud (i.e., si encuentran una solucion, es correcta, peropueden terminar diciendo `No se').

I El método de DP es muy usado, pero notemos que DP es enrealidad un esquema general para una familia de algoritmos.Como vimos, se pueden tomar decisiones diferentes hacerca decomo implementarlo (como elegimos literales, como hacemosbacktracking, etc.)

I Aun por ejemplos �simples� en en logica proposicional las cosaspuden ponerse di�ciles si no usamos optimizacionesinteligentes.

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 187: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Logica Proposicional: Conclusiones

I Los Métodos completos garantizan solucionar el problemaLP-SAT (y en muchos casos, e.g. DP, permiten encontrartodas las soluciones posibles)

I Los Métodos de aproximacion garantizan correctitud pero nocompletitud (i.e., si encuentran una solucion, es correcta, peropueden terminar diciendo `No se').

I El método de DP es muy usado, pero notemos que DP es enrealidad un esquema general para una familia de algoritmos.Como vimos, se pueden tomar decisiones diferentes hacerca decomo implementarlo (como elegimos literales, como hacemosbacktracking, etc.)

I Aun por ejemplos �simples� en en logica proposicional las cosaspuden ponerse di�ciles si no usamos optimizacionesinteligentes.

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 188: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Logica Proposicional: Conclusiones

I Los Métodos completos garantizan solucionar el problemaLP-SAT (y en muchos casos, e.g. DP, permiten encontrartodas las soluciones posibles)

I Los Métodos de aproximacion garantizan correctitud pero nocompletitud (i.e., si encuentran una solucion, es correcta, peropueden terminar diciendo `No se').

I El método de DP es muy usado, pero notemos que DP es enrealidad un esquema general para una familia de algoritmos.Como vimos, se pueden tomar decisiones diferentes hacerca decomo implementarlo (como elegimos literales, como hacemosbacktracking, etc.)

I Aun por ejemplos �simples� en en logica proposicional las cosaspuden ponerse di�ciles si no usamos optimizacionesinteligentes.

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 189: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Logica Proposicional: Conclusiones

I Los Métodos completos garantizan solucionar el problemaLP-SAT (y en muchos casos, e.g. DP, permiten encontrartodas las soluciones posibles)

I Los Métodos de aproximacion garantizan correctitud pero nocompletitud (i.e., si encuentran una solucion, es correcta, peropueden terminar diciendo `No se').

I El método de DP es muy usado, pero notemos que DP es enrealidad un esquema general para una familia de algoritmos.Como vimos, se pueden tomar decisiones diferentes hacerca decomo implementarlo (como elegimos literales, como hacemosbacktracking, etc.)

I Aun por ejemplos �simples� en en logica proposicional las cosaspuden ponerse di�ciles si no usamos optimizacionesinteligentes.

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 190: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Logica Proposicional: Conclusiones

I Los Métodos completos garantizan solucionar el problemaLP-SAT (y en muchos casos, e.g. DP, permiten encontrartodas las soluciones posibles)

I Los Métodos de aproximacion garantizan correctitud pero nocompletitud (i.e., si encuentran una solucion, es correcta, peropueden terminar diciendo `No se').

I El método de DP es muy usado, pero notemos que DP es enrealidad un esquema general para una familia de algoritmos.Como vimos, se pueden tomar decisiones diferentes hacerca decomo implementarlo (como elegimos literales, como hacemosbacktracking, etc.)

I Aun por ejemplos �simples� en en logica proposicional las cosaspuden ponerse di�ciles si no usamos optimizacionesinteligentes.

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 191: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Zcha�

I Un demostrador muy optimizaco implementando una versionde DP (conocida como el algoritmo 'cha�').

I Site: http://www.princeton.edu/~chaff/zchaff.htmlI Tambien conocido como el `Princeton Prover'.I zCha� se hizo famoso al resolver problemas con mas de un

millon de variables y mas de 10 millones de clausulas.I Es usado en otros systems como el planner BlackBox, el Model

Checker NuSMV, el demostrador GrAnDe, etc.

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 192: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

Zcha�

I Un demostrador muy optimizaco implementando una versionde DP (conocida como el algoritmo 'cha�').

I Site: http://www.princeton.edu/~chaff/zchaff.htmlI Tambien conocido como el `Princeton Prover'.I zCha� se hizo famoso al resolver problemas con mas de un

millon de variables y mas de 10 millones de clausulas.I Es usado en otros systems como el planner BlackBox, el Model

Checker NuSMV, el demostrador GrAnDe, etc.

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 193: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

WalkSat

I Walksat esla implementacion de un algoritmo de busquedalocal para resolver SAT para PL (es una mejora de GSAT).

I Site: http://www.cs.rochester.edu/u/kautz/walksatI Ha resultado particularmente exitoso en resolver problemas

resultantes de la conversion a SAT de problemas de planning.

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est

Page 194: Carlos Areces - cs.famaf.unc.edu.arcareces/cordoba08/cordoba08-1.pdf · Lógica Computacional = Logica + Computadoras I LaLógicanació como parte de la losoía: I en sus orígenes

WalkSat

I Walksat esla implementacion de un algoritmo de busquedalocal para resolver SAT para PL (es una mejora de GSAT).

I Site: http://www.cs.rochester.edu/u/kautz/walksatI Ha resultado particularmente exitoso en resolver problemas

resultantes de la conversion a SAT de problemas de planning.

: Lógica Computacional y Demostración Automática INRIA Nancy Grand Est