• Nenhum resultado encontrado

RESOLVENDO O PROBLEMA PSAT COM O AUXÍLIO DA FERRAMENTA DE SOFTWARE LIVRE MINISAT. Aluno: Mikail Campos Freitas Orientador: Prof.

N/A
N/A
Protected

Academic year: 2021

Share "RESOLVENDO O PROBLEMA PSAT COM O AUXÍLIO DA FERRAMENTA DE SOFTWARE LIVRE MINISAT. Aluno: Mikail Campos Freitas Orientador: Prof."

Copied!
53
0
0

Texto

(1)

Aluno: Mikail Campos Freitas Orientador: Prof. Marcelo Finger

RESOLVENDO O PROBLEMA

PSAT COM O AUXÍLIO DA

FERRAMENTA DE

SOFTWARE LIVRE MINISAT

(2)

INTRODUÇÃO

PSAT

SOLUÇÕES

MODIFICAÇÕES

RESULTADOS

(3)

INTRODUÇÃO

PSAT

SOLUÇÕES

MODIFICAÇÕES

RESULTADOS

(4)

 Problema da Satisfatibilidade Booleana  Importância teórica e prática:

 Primeiro problema NP-completo (Cook, 1971)

 Planejamento em inteligência artificial

 Projeto de circuitos integrados

 Verificação de software

 Entre outras...

 Evolução das soluções

 Estabelecidas competições de SAT (SAT Competition,

SAT-Race, SAT Challenge)

 Soluções atuais são mais de 30 vezes mais rápidas do que em 2001!

(5)

 Decisão sobre a satisfatibilidade de uma fórmula booleana proposicional

 Muitas vezes apresentado na forma normal conjuntiva (conjunção de disjunções)

 Ex:

Dada a fórmula 𝐹 = 𝑝 ∨ ¬𝑞 ∧ 𝑞 ∨ ¬𝑟 ∧ ¬𝑝 ∨ ¬𝑞 ∨ ¬𝑟 ∧ 𝑟.

É possível satisfazer 𝐹?

(6)

 Problema da Satisfatibilidade Probabilística

 Extensão do SAT, combina lógica e probabilidade

 Mostrado NP-completo (Georgakopoulos, Kavvadias, Papadimitriou, 1988)

 Conjunto de cláusulas proposicionais com probabilidade associada

 Decidir sobre a consistência da atribuição de probabilidades ao conjunto de cláusulas  Aplicações:  Aprendizado automático  Linguística computacional  Modelagem lógico-probabilística  Entre outras...

INTRODUÇÃO - PSAT

(7)

 Ex: (Problema dos Bêbados)

Três amigos costumam ir a um bar, de modo que em todas as noites pelo menos dois deles estão em sua mesa de costume. Entretanto, cada um afirma ir ao bar “apenas” 60% das noites.

Eles estão falando a verdade?

(8)

 Ex: (Problema dos Bêbados)

Três amigos costumam ir a um bar, de modo que em todas as noites pelo menos dois deles estão em sua mesa de costume. Entretanto, cada um afirma ir ao bar “apenas” 60% das noites.

Eles estão falando a verdade? Formulação:

 𝑥1 ∧ 𝑥2 ∨ 𝑥2 ∧ 𝑥3 ∨ 𝑥1 ∧ 𝑥3  𝑃 𝑥1 = 𝑃 𝑥2 = 𝑃 𝑥3 = 0.6

(9)

INTRODUÇÃO

PSAT

SOLUÇÕES

MODIFICAÇÕES

RESULTADOS

(10)

 Instância PSAT Σ = 𝑃 𝛼𝑖𝑖 𝑝𝑖 1 ≤ 𝑖 ≤ 𝑘}

 𝛼𝑖 é fórmula sobre {𝑥1, … , 𝑥𝑛}, ⨝𝑖 ∈ {=, ≤, ≥}

 Uma instância Σ está na forma normal atômica quando pode

ser particionada em (Γ, Ψ) onde:

 Γ = 𝑃 𝛼𝑖 = 1 1 ≤ 𝑖 ≤ 𝑚}

 Ψ = 𝑃 𝑦𝑖 = 𝑝𝑖 𝑦𝑖 é átomo, 1 ≤ 𝑖 ≤ 𝑘}

(11)

 Instância PSAT Σ = 𝑃 𝛼𝑖𝑖 𝑝𝑖 1 ≤ 𝑖 ≤ 𝑘}

 𝛼𝑖 é fórmula sobre {𝑥1, … , 𝑥𝑛}, ⨝𝑖 ∈ {=, ≤, ≥}

 Uma instância Σ está na forma normal atômica quando pode

ser particionada em (Γ, Ψ) onde:

 Γ = 𝑃 𝛼𝑖 = 1 1 ≤ 𝑖 ≤ 𝑚}

 Ψ = 𝑃 𝑦𝑖 = 𝑝𝑖 𝑦𝑖 é átomo, 1 ≤ 𝑖 ≤ 𝑘}

 Ex: (bêbados)

 𝑥1 ∧ 𝑥2 ∨ 𝑥2 ∧ 𝑥3 ∨ 𝑥1 ∧ 𝑥3

 𝑃 𝑥1 = 𝑃 𝑥2 = 𝑃 𝑥3 = 0.6

(12)

 Instância PSAT Σ = 𝑃 𝛼𝑖𝑖 𝑝𝑖 1 ≤ 𝑖 ≤ 𝑘}

 𝛼𝑖 é fórmula sobre {𝑥1, … , 𝑥𝑛}, ⨝𝑖 ∈ {=, ≤, ≥}

 Uma instância Σ está na forma normal atômica quando pode

ser particionada em (Γ, Ψ) onde:

 Γ = 𝑃 𝛼𝑖 = 1 1 ≤ 𝑖 ≤ 𝑚}

 Ψ = 𝑃 𝑦𝑖 = 𝑝𝑖 𝑦𝑖 é átomo, 1 ≤ 𝑖 ≤ 𝑘}

 Ex: (bêbados)

 𝑥1 ∧ 𝑥2 ∨ 𝑥2 ∧ 𝑥3 ∨ 𝑥1 ∧ 𝑥3 = 𝑥1 ∨ 𝑥2 ∧ 𝑥2 ∨ 𝑥3 ∧ 𝑥1 ∨ 𝑥3

 𝑃 𝑥1 = 𝑃 𝑥2 = 𝑃 𝑥3 = 0.6

(13)

 Instância PSAT Σ = 𝑃 𝛼𝑖𝑖 𝑝𝑖 1 ≤ 𝑖 ≤ 𝑘}

 𝛼𝑖 é fórmula sobre {𝑥1, … , 𝑥𝑛}, ⨝𝑖 ∈ {=, ≤, ≥}

 Uma instância Σ está na forma normal atômica quando pode

ser particionada em (Γ, Ψ) onde:

 Γ = 𝑃 𝛼𝑖 = 1 1 ≤ 𝑖 ≤ 𝑚}  Ψ = 𝑃 𝑦𝑖 = 𝑝𝑖 𝑦𝑖 é átomo, 1 ≤ 𝑖 ≤ 𝑘}  Ex: (bêbados)  𝑥1 ∧ 𝑥2 ∨ 𝑥2 ∧ 𝑥3 ∨ 𝑥1 ∧ 𝑥3 = 𝑥1 ∨ 𝑥2 ∧ 𝑥2 ∨ 𝑥3 ∧ 𝑥1 ∨ 𝑥3  𝑃 𝑥1 = 𝑃 𝑥2 = 𝑃 𝑥3 = 0.6 Γ = 𝑥1 ∨ 𝑥2 , 𝑥2 ∨ 𝑥3 , 𝑥1 ∨ 𝑥3 Ψ = {𝑃 𝑥1 = 𝑃 𝑥2 = 𝑃 𝑥3 = 0.6}

(14)

 Toda instância PSAT tem uma instância em Forma Normal

Atômica equivalente

 Valoração 𝑣 sobre 𝑦1 … 𝑦𝑘 é Γ-consistente se podemos

estender 𝑣 para y1 … yk, 𝑥1 … 𝑥𝑛 de modo que Γ 𝑣 = 1; assim, o vetor 1 𝑣 𝑦1 … 𝑣 𝑦𝑘 T também é Γ-consistente

 Lema:

Uma instância Γ, Ψ na forma normal atômica é satisfazível sse existe

uma matriz 𝐴Ψ de dimensão 𝑘 + 1 × 𝑘 + 1 onde todas as suas colunas

são Γ-consistentes e 𝐴Ψ𝜋 = 𝑝, ∑𝜋 = 1 tem solução 𝜋 ≥ 0.

1 ⋯ 1 𝑎1,1 … 𝑎1,𝑘+1 ⋮ ⋱ ⋮ 𝑎𝑘,1 … 𝑎𝑘,𝑘+1 ⋅ 𝜋1 𝜋2 ⋮ 𝜋𝑘+1 = 1 𝑝1 ⋮ 𝑝𝑘 , 𝑎𝑖,𝑗 ∈ {0, 1}

(15)

INTRODUÇÃO

PSAT

SOLUÇÕES

MODIFICAÇÕES

RESULTADOS

(16)

 Usando resolvedor SAT, Marcelo Finger e Glauber de Bona propuseram e implementaram três soluções:

 Redução Canônica de PSAT para SAT

 Geração de Colunas através de Redução de Turing para SAT

 Geração de Colunas através de Redução de Turing para MAXSAT

Ponderado

(17)

 Tradução através da codificação de operações binárias  1 ⋯ 1 𝑎1,1 … 𝑎1,𝑘+1 ⋮ ⋱ ⋮ 𝑎𝑘,1 … 𝑎𝑘,𝑘+1 ⋅ 𝜋1 𝜋2 ⋮ 𝜋𝑘+1 = 1 𝑝1 ⋮ 𝑝𝑘

(18)

 Tradução através da codificação de operações binárias  1 ⋯ 1 𝑎1,1 … 𝑎1,𝑘+1 ⋮ ⋱ ⋮ 𝑎𝑘,1 … 𝑎𝑘,𝑘+1 ⋅ 𝜋1 𝜋2 ⋮ 𝜋𝑘+1 = 1 𝑝1 ⋮ 𝑝𝑘 𝑏 bits 𝜋𝑖 = 0. 𝜋𝑖𝑏 … 𝜋𝑖1 𝑝𝑖 = 0. 𝑝𝑖𝑏 … 𝑝𝑖1

(19)

 Tradução através da codificação de operações binárias  1 ⋯ 1 𝑎1,1 … 𝑎1,𝑘+1 ⋮ ⋱ ⋮ 𝑎𝑘,1 … 𝑎𝑘,𝑘+1 ⋅ 𝜋1 𝜋2 ⋮ 𝜋𝑘+1 = 1 𝑝1 ⋮ 𝑝𝑘 𝑏 bits 𝜋𝑖 = 0. 𝜋𝑖𝑏 … 𝜋𝑖1 𝑝𝑖 = 0. 𝑝𝑖𝑏 … 𝑝𝑖1

 Multiplicação 𝑎𝑖 ,𝑗 ⋅ 𝜋𝑗 : conjunção dos bits de 𝜋𝑗 com 𝑎𝑖 ,𝑗

 Soma: soma binária

 Igualdade: equivalência binária

(20)

 Tradução através da codificação de operações binárias  1 ⋯ 1 𝑎1,1 … 𝑎1,𝑘+1 ⋮ ⋱ ⋮ 𝑎𝑘,1 … 𝑎𝑘,𝑘+1 ⋅ 𝜋1 𝜋2 ⋮ 𝜋𝑘+1 = 1 𝑝1 ⋮ 𝑝𝑘 𝑏 bits 𝜋𝑖 = 0. 𝜋𝑖𝑏 … 𝜋𝑖1 𝑝𝑖 = 0. 𝑝𝑖𝑏 … 𝑝𝑖1

 Multiplicação 𝑎𝑖 ,𝑗 ⋅ 𝜋𝑗 : conjunção dos bits de 𝜋𝑗 com 𝑎𝑖 ,𝑗

 Soma: soma binária

 Igualdade: equivalência binária

 Número de variáveis na tradução é 𝑂(𝑘3log𝑘)

(21)

 Tradução através da codificação de operações binárias  1 ⋯ 1 𝑎1,1 … 𝑎1,𝑘+1 ⋮ ⋱ ⋮ 𝑎𝑘,1 … 𝑎𝑘,𝑘+1 ⋅ 𝜋1 𝜋2 ⋮ 𝜋𝑘+1 = 1 𝑝1 ⋮ 𝑝𝑘 𝑏 bits 𝜋𝑖 = 0. 𝜋𝑖𝑏 … 𝜋𝑖1 𝑝𝑖 = 0. 𝑝𝑖𝑏 … 𝑝𝑖1

 Multiplicação 𝑎𝑖 ,𝑗 ⋅ 𝜋𝑗 : conjunção dos bits de 𝜋𝑗 com 𝑎𝑖 ,𝑗

 Soma: soma binária

 Igualdade: equivalência binária

 Número de variáveis na tradução é 𝑂(𝑘3log𝑘)

 Resolvedor SAT é chamado

(22)

 Tradução através da codificação de operações binárias  1 ⋯ 1 𝑎1,1 … 𝑎1,𝑘+1 ⋮ ⋱ ⋮ 𝑎𝑘,1 … 𝑎𝑘,𝑘+1 ⋅ 𝜋1 𝜋2 ⋮ 𝜋𝑘+1 = 1 𝑝1 ⋮ 𝑝𝑘 𝑏 bits 𝜋𝑖 = 0. 𝜋𝑖𝑏 … 𝜋𝑖1 𝑝𝑖 = 0. 𝑝𝑖𝑏 … 𝑝𝑖1

 Multiplicação 𝑎𝑖 ,𝑗 ⋅ 𝜋𝑗 : conjunção dos bits de 𝜋𝑗 com 𝑎𝑖 ,𝑗

 Soma: soma binária

 Igualdade: equivalência binária

 Número de variáveis na tradução é 𝑂(𝑘3log𝑘)

 Resolvedor SAT é chamado

 Implementação: PSATtoSAT

(23)

 Problema da forma 𝐴𝜋 = 𝑝

 Começar com um problema relaxado:

 1 ⋯ 1⋮ ⋱ ⋮

0 ⋯ 1

𝜋′ = 𝑝 ⇒ 𝐴(0)𝜋(0) = 𝑝

 Sempre tem solução

(24)

 Problema da forma 𝐴𝜋 = 𝑝

 Começar com um problema relaxado:

 1 ⋯ 1⋮ ⋱ ⋮

0 ⋯ 1

𝜋′ = 𝑝 ⇒ 𝐴(0)𝜋(0) = 𝑝

 Sempre tem solução Mas pode ser Γ-inconsistente!

(25)

 Problema da forma 𝐴𝜋 = 𝑝

 Começar com um problema relaxado:

 1 ⋯ 1⋮ ⋱ ⋮

0 ⋯ 1

𝜋′ = 𝑝 ⇒ 𝐴(0)𝜋(0) = 𝑝

 Sempre tem solução Mas pode ser Γ-inconsistente!

 𝑘 + 1 chamadas iniciais ao resolvedor SAT para verificar

Γ-consistência das colunas e inicializar vetor de custo

(26)

 Problema da forma 𝐴𝜋 = 𝑝

 Começar com um problema relaxado:

 1 ⋯ 1⋮ ⋱ ⋮

0 ⋯ 1

𝜋′ = 𝑝 ⇒ 𝐴(0)𝜋(0) = 𝑝

 Sempre tem solução Mas pode ser Γ-inconsistente!

 𝑘 + 1 chamadas iniciais ao resolvedor SAT para verificar

Γ-consistência das colunas e inicializar vetor de custo

 Função objetivo: combina número de colunas Γ-inconsistentes com a soma das suas probabilidades associadas

(27)

 Problema da forma 𝐴𝜋 = 𝑝

 Começar com um problema relaxado:

 1 ⋯ 1⋮ ⋱ ⋮

0 ⋯ 1

𝜋′ = 𝑝 ⇒ 𝐴(0)𝜋(0) = 𝑝

 Sempre tem solução Mas pode ser Γ-inconsistente!

 𝑘 + 1 chamadas iniciais ao resolvedor SAT para verificar

Γ-consistência das colunas e inicializar vetor de custo

 Função objetivo: combina número de colunas Γ-inconsistentes com a soma das suas probabilidades associadas

 A cada passo é usado o resolvedor SAT para gerar uma coluna Γ-consistente com custo associado negativo

(28)

 Problema da forma 𝐴𝜋 = 𝑝

 Começar com um problema relaxado:

 1 ⋯ 1⋮ ⋱ ⋮

0 ⋯ 1

𝜋′ = 𝑝 ⇒ 𝐴(0)𝜋(0) = 𝑝

 Sempre tem solução Mas pode ser Γ-inconsistente!

 𝑘 + 1 chamadas iniciais ao resolvedor SAT para verificar

Γ-consistência das colunas e inicializar vetor de custo

 Função objetivo: combina número de colunas Γ-inconsistentes com a soma das suas probabilidades associadas

 A cada passo é usado o resolvedor SAT para gerar uma coluna Γ-consistente com custo associado negativo

 Implementação: PsatColGen

(29)

 Semelhante ao método anterior

 Inicialização igual a antes (problema relaxado, resolvedor SAT para verificar Γ-consistência)

(30)

 Semelhante ao método anterior

 Inicialização igual a antes (problema relaxado, resolvedor SAT para verificar Γ-consistência)

 Diferença:

 Antes: gerar uma coluna com custo associado negativo

(31)

 Semelhante ao método anterior

 Inicialização igual a antes (problema relaxado, resolvedor SAT para verificar Γ-consistência)

 Diferença:

 Antes: gerar uma coluna com custo associado negativo

 Agora: gerar a coluna com o menor custo associado

(32)

 Semelhante ao método anterior

 Inicialização igual a antes (problema relaxado, resolvedor SAT para verificar Γ-consistência)

 Diferença:

 Antes: gerar uma coluna com custo associado negativo

 Agora: gerar a coluna com o menor custo associado

 A cada passo usar resolvedor MAXSAT Ponderado para gerar

a coluna Γ-consistente com menor custo

(33)

 Semelhante ao método anterior

 Inicialização igual a antes (problema relaxado, resolvedor SAT para verificar Γ-consistência)

 Diferença:

 Antes: gerar uma coluna com custo associado negativo

 Agora: gerar a coluna com o menor custo associado

 A cada passo usar resolvedor MAXSAT Ponderado para gerar

a coluna Γ-consistente com menor custo

 Implementação: PSATtoMaxSat

(34)

 Baseados no uso de softwares externos:

 zChaff

 wmaxsatz2009

 LA

(35)

 Baseados no uso de softwares externos:

 zChaff (licença própria)

 wmaxsatz2009 (GPLv3)

 LA (GPLv3)

(36)

 Baseados no uso de softwares externos:

 zChaff (licença própria)

 Uso restrito a pesquisa, não comercial

 wmaxsatz2009 (GPLv3)

 LA (GPLv3)

(37)

 Baseados no uso de softwares externos:

 zChaff (licença própria)

 Uso restrito a pesquisa, não comercial

 Distribuição apenas com o consenso da Universidade de Princeton

 wmaxsatz2009 (GPLv3)

 LA (GPLv3)

(38)

 Baseados no uso de softwares externos:

 zChaff (licença própria)

 Uso restrito a pesquisa, não comercial

 Distribuição apenas com o consenso da Universidade de Princeton

 wmaxsatz2009 (GPLv3)

 LA (GPLv3)

 Interface e troca de dados feita por arquivos  Overhead na criação de processos

(39)

INTRODUÇÃO

PSAT

SOLUÇÕES

MODIFICAÇÕES

(40)
(41)

Melhorar o desempenho do resolvedores PSAT

Facilitar a distribuição, uso e modificação do projeto

(42)

(43)

 Resolvedor SAT desenvolvido com o intuito de fácil integração a outros projetos

 Foi premiado em duas de quatro SAT Competition que

participou e em todas as SAT-Race

 Licença MIT

(44)

 Resolvedor SAT desenvolvido com o intuito de fácil integração a outros projetos

 Foi premiado em duas de quatro SAT Competition que

participou e em todas as SAT-Race

 Licença MIT Compatível com GPLv3!

(45)
(46)

Trocar a utilização do zChaff pelo MiniSat

Incluir o código de todos os softwares externos ao

dos resolvedores

(47)

INTRODUÇÃO

PSAT

SOLUÇÕES

MODIFICAÇÕES

(48)

 Instâncias satisfazíveis

 Variar 𝑘 (junto com 𝑛 e 𝑚)

 50 instâncias para cada 𝑘

 Instâncias aleatórias

 Fixar 𝑘 e 𝑛, variar 𝑚 (3-SAT)

 50 instâncias para cada valor de 𝑚

(49)

Instâncias satisfazíveis

(𝑛 = 2 𝑘 + 1 )

Instâncias aleatórias

(𝑛 = 4 0 , 𝑘 = 4 )

(50)

Instâncias satisfazíveis

(𝑛 = 2 𝑘 + 1 )

Instâncias aleatórias

(𝑛 = 7 0 , 𝑘 = 1 2 )

(51)

Instâncias satisfazíveis

(𝑛 = 2 𝑘 + 1 )

Instâncias aleatórias

(𝑛 = 1 0 0 , 𝑘 = 2 0)

(52)
(53)

Referências

Documentos relacionados

O objetivo principal deste estudo de caso era verificar o grau de valorização da medicina popular de plantas entre o próprio povo, tendo por base uma comunidade com diferentes

5 “A Teoria Pura do Direito é uma teoria do Direito positivo – do Direito positivo em geral, não de uma ordem jurídica especial” (KELSEN, Teoria pura do direito, p..

Note on the occurrence of the crebeater seal, Lobodon carcinophagus (Hombron & Jacquinot, 1842) (Mammalia: Pinnipedia), in Rio de Janeiro State, Brazil.. On May 12, 2003,

Sendo assim buscou compreender qual o uso das técnicas da medicina tradicional chinesa no tratamento da fibromialgia, seguindo como pergunta norteadora desta dúvida quais

Incidirei, em particular, sobre a noção de cuidado, estruturando o texto em duas partes: a primeira será uma breve explicitação da noção de cuidado em Martin Heidegger (o cuidado

4.5 Conclusões: Este trabalho mostrou um modelo criado para representar uma linha de transmissão monofásica através de uma cascata de circuitos π, cujos parâmetros longitudinais

Nessa situação temos claramente a relação de tecnovívio apresentado por Dubatti (2012) operando, visto que nessa experiência ambos os atores tra- çam um diálogo que não se dá

O score de Framingham que estima o risco absoluto de um indivíduo desenvolver em dez anos DAC primária, clinicamente manifesta, utiliza variáveis clínicas e laboratoriais