• Nenhum resultado encontrado

Satisfazibilidade Probabilística

N/A
N/A
Protected

Academic year: 2021

Share "Satisfazibilidade Probabilística"

Copied!
12
0
0

Texto

(1)

Glauber De Bona?? e Marcelo Finger? ? ?

Instituto de Matemática e Estatística, Universidade de São Paulo, São Paulo, Brasil

{debona,mfinger}@ime.usp.br

Resumo Este trabalho estuda o problema da Satisfazibilidade Proba-bilística (PSAT), propondo novos algoritmos para resolvê-lo através da redução ao SAT. Construímos uma redução polinomial do PSAT para o SAT e apresentamos uma Redução de Turing baseada no algoritmo Simplex. Por m, implementamos essas reduções a m de investigar o perl de complexidade do PSAT e observamos o fenômeno de transição de fase.

Nível do Estudante: Mestrado em Ciências Data de Conclusão: 20/05/2011

Comissão Julgadora: Prof. Dr. Marcelo Finger (IME-USP), Prof. Dr. Fábio Gagliardi Cozman (EP-USP), Prof. Dr. Marcus Vinícius Soledade Poggi de Aragão (PUC-RJ). Link para a dissertação e para as publicações derivadas da pesquisa (artigo submetido ao journal Articial Intelligence, e artigos apresentados nas conferências IJCAI-2011, Iberamia-2011 e SBIA-2010, respectivamente):

http://www.teses.usp.br/teses/disponiveis/45/45134/tde-02062011-181639/pt-br.php http://www.ime.usp.br/~logprob/articles/submitted/PSAT-journal-submitted.pdf http://www.ime.usp.br/~logprob/articles2010/line1/FB11.pdf http://www.ime.usp.br/~logprob/articles2010/line1/FB10a.pdf http://www.ime.usp.br/~logprob/articles2010/line1/FB10b.pdf

1 Introdução

O estudo do raciocínio sob incerteza é de interesse de diversas áreas e, na Ciência da Computação, tem aplicações úteis na análise de programas sob premissas probabilísticas. Ainda no século XIX, Boole [Boo54] já estudava a atribuição de probabilidades a sentenças lógicas, e nós vemos sua inuência no trabalho de de Finetti, em sua teoria subjetiva de probabilidade [DF74]. Em 1965 Hailperin [Hai65] revisitou o problema, trazendo-o para a programação linear. Já em 1986, Nilsson [Nil86] formalizou o problema da satisfazibilidade probabilística para comunidade de Inteligência Articial: dadas fórmulas lógicas, e probabilidades atribuídas a elas, deseja-se saber se esta atribuição é consistente.

?Este trabalho foi nanciado pelo projeto FAPESP 2008/03995-5 (LogProb) ?? Durante o desenvolvimento deste trabalho o autor recebeu auxílio nanceiro do

CNPq.

(2)

A maior expressividade da lógica probabilística acarreta sua maior comple-xidade computacional. O problema da satisfazibilidade probabilística (PSAT) é NP-completo, mas na prática tem se mostrado signicantemente mais difícil do que o problema da satisfazibilidade clássica (SAT), outro problema NP-completo. Entretanto, o Teorema de Cook-Levin [Coo71] garante a existência de uma redu-ção polinomial do PSAT para o SAT. Tal reduredu-ção é atraente devido à existência de bons algoritmos para se resolver o SAT, estes em contínua pesquisa. Outro interesse em reduzir o PSAT ao SAT vem da busca por um melhor entendimento da relação entre a raciocínio lógico e a raciocínio probabilístico.

Este trabalho tem por objetivo investigar a relação entre o PSAT e o SAT, procurando por caminhos que possibilitem a redução desejada. Além disso, deseja-se investigar a desconhecida transição de fadeseja-se do PSAT, implementando os al-goritmos oriundos das reduções.

A Seção 2 apresenta formalmente o PSAT e sua forma normal atômica. A Seção 3 propõe uma redução polinomial do PSAT para o SAT e analisa sua complexidade computacional. Na Seção 4, uma redução de Turing é apresentada do PSAT ao SAT. As implementações dos algoritmos propostos são utizadas para investigar o fenômeno de transição de fase do PSAT na Seção 5.

1.1 Contribuições

A principal contribuição teórica do presente trabalho é a detecção do fenômeno de transição de fase no PSAT através da forma normal introduzida. Já do ponto de vista prático, a implementação de três algoritmos propostos está disponi-bilizada como software livre em psat.sourceforge.com. Na mais eciente delas, instâncias com até 450 probabilidades atribuídas podem ser decididas em segun-dos, o que é o estado da arte até onde temos notícia.

2 O Problema da Satisfazibilidade Probabilística

A satisfazibilidade probabilística (PSAT) é um problema de decisão, onde se pergunta se há consistência em um conjunto de probabilidades atribuídas a fór-mulas lógicas. Seja S = {s1, . . . , sk} um conjunto de k sentenças lógicas sobre

um conjunto de n variáveis booleanas X = {x1, . . . , xn}, com os operadores

usuais da lógica proposicional clássica. Dado um conjunto de probabilidades, P = {pi|0 ≤ pi≤ 1, 1 ≤ i ≤ k}, uma instância do problema PSAT (ou instância

PSAT ) é formada pela atribuição das probabilidades de P às sentenças do con-junto S: {p(si) = pi, 1 ≤ i ≤ k}. Dizemos que uma instância PSAT é satisfazível

se, e somente se1, tal atribuição de probabilidades é consistente.

Uma valoração v é denida inicialmente como uma função que associa va-lor verdade a variáveis booleanas, formalmente v : X → {0, 1}. Podemos en-tão estender o domínio das valorações para o conjunto de fórmulas S, à

(3)

neira usual da lógica clássica2, v : S → {0, 1}. Seja V = {v1, . . . , v2n} o

conjunto das valorações possíveis sobre X, e π, uma distribuição de probabi-lidade sobre V . A probabiprobabi-lidade de uma fórmula s de acordo com π é dada por pπ(s) = P{π(vj)|vj(s) = 1}. Assim, as probabilidades pi atribuídas às

fór-mulas de S serão consistentes sse houver uma distribuição π sobre V que faça pπ(si) = pi, 1 ≤ i ≤ k.

O problema PSAT pode ser expresso matematicamente como um problema de programação linear, como feito em [Nil86], que também investigou fórmulas da lógica de primeira ordem. Seja ∆ a instância PSAT formada pela atribuição das probabilidades do conjunto P às k fórmulas do conjunto S, ∆ = {p(si) =

pi|1 ≤ i ≤ k}. Denimos a matriz Ak×2n = [aij], tal que aij = vj(si), e o

vetor pk×1= [pi]. Temos que ∆ é satisfazível sse há um vetor π que satisfaz as

restrições:

Aπ = p (1)

π ≥ 0 (2)

X

π = 1 (3)

Se existir tal solução, dizemos que π satisfaz ∆, caso contrário dizemos que ∆ é (probabilisticamente) insatisfazível. As restrições (2) e (3) forçam que π seja uma distribuição de probabilidade, esta fazendo com que a soma dos elementos de π seja igual a um. A restrição (3) pode ser omitida se adicionarmos a A uma linha inteira de 10s, de tal maneira que a

k+1,j = 1, 1 ≤ j ≤ 2n, e adicionarmos

a p um elemento pk+1 = 1, o que faremos com frequência no restante deste

trabalho.

O Lema de Carathéodory garante que, se o problema de programação linear (1-3) tem solução, então há uma solução com o máximo k + 1 elementos de π diferentes de zero. Como observado em [GKP88], isso faz com que o PSAT esteja em NP, pois podemos tomar uma matriz Ak,k+1, e um vetor πk+1,1 ≥ 0

como NP-certicado, vericando as relações (1-3) em tempo polinomial. Além disso, uma instância SAT pode ser reduzida a uma instância PSAT, em tempo polinomial , atrobuindo probabilidade 1 a todas as cláusulas. Segue que PSAT é NP-difícil e, logo, NP-completo.

2.1 A Forma Normal Atômica

Seja S = {s1, . . . , sk}um conjunto de sentenças da lógica clássica proposicional,

sobre o conjunto de variáveis booleanas X = {x1, . . . , xn}. Dizemos que uma

instância do problema PSAT, ∆ = {p(si) = pi|1 ≤ i ≤ l}, 0 ≤ pi ≤ 1, está na

Forma Normal Atômica se puder ser particionada em dois conjuntos, (Γ, Ψ), onde Γ = {p(si) = 1|1 ≤ i ≤ m}e Ψ = {p(yi) = pi|yi é um átomo e 1 ≤ i ≤ k}, com

0 ≤ pi≤ 1, onde l = m+k. A partição Γ é a parte SAT da forma normal atômica,

2 Sejam α e β fórmulas da lógica clássica proposicional, tem-se: v(α ∧ β) = 1 sse

v(α) = 1e v(β) = 1; v(α ∨ β) = 1 sse v(α) = 1 ou v(β) = 1; v(¬α) = 1 sse v(α) = 0; v(α → β) = 1sse v(α) = 0 ou v(β) = 1; e v(α ↔ β) = 1 sse v(α) = v(β).

(4)

representada geralmente como um conjunto de fórmulas, e a partição Ψ é a parte de atribuição de probabilidades atômicas. O teorema a seguir, cuja demonstração se encontra na versão completa deste trabalho, mostra como qualquer instância do problema PSAT pode ser trazida para a forma normal atômica, adicionando um número linear de novas variáveis.

Teorema 1 (Forma Normal Atômica) Seja ∆ = {p(si) = pi|1 ≤ i ≤ k}

uma instância do problema PSAT, então pode-se construir, em tempo polinomial, uma instância do PSAT na forma normal atômica (Γ, Ψ), tal que ∆ é satísfazivel se, e somente se, (Γ, Ψ) também o é.

Para a explicação dos algoritmos que serão propostos, nos convém a denição de valoração consistente, bem como o teorema que a segue, demonstrado na dissertação que estamos resumindo. Seja v0 uma valoração sobre {y

1, . . . , yk}.

Dizemos que v0 é consistente com Γ , uma instância do problema SAT sobre as

variáveis {y1, . . . , yk} ∪ {x1, . . . , xn}, se existe uma valoração v : {y1, . . . , yk} ∪

{x1, . . . , xn} → {0, 1}que satisfaça Γ , tal que v(yi) = v0(yi), 1 ≤ i ≤ k.

Teorema 2 Seja Ψ = {p(yi) = pi|1 ≤ i ≤ k}. Uma instância PSAT na forma

normal atômica (Γ, Ψ) é satisfazível sse existe uma matriz AΨ, com k + 1 linhas

e até k + 1 colunas, que, junto de um vetor π, atende às restrições (1) e (2), tal que cada coluna de AΨ (a menos da última linha) corresponde a uma valoração

sobre {y1, . . . , yk} consistente com Γ .

3 Redução Canônica do PSAT ao SAT

Sendo o PSAT um problema NP, e o SAT, NP-completo, o Teorema de Cook [Coo71] garante a existência de uma redução polinomial do primeiro ao segundo. A busca por tal redução tem motivações teóricas e práticas: por um lado, abordar o PSAT com ferramentas lógicas, para melhor entender a conexão entre proba-bilidade, álgebra linear e lógica; por outro lado, explorar a eciência de SAT Solvers (programas que resolvem o SAT) para implementar a redução e estudar o perl de complexidade do PSAT em busca do fenômeno de transição de fase. 3.1 Esboço da Redução

Seja ∆ = hΓ, Ψi uma instância PSAT na forma normal atômica, onde Γ = {s1, . . . , sm} é um conjunto com m cláusulas da lógica proposicional clássica

sobre n+k variáveis Booleanas, {y1, . . . , yk}∪{x1, . . . , xn}, e Ψ é uma atribuição

de probabilidades a átomos, Ψ = {p(yi) = pi|1 ≤ i ≤ k}. Mostramos no Teorema

2 que, se ∆ é probabilisticamente satisfazível, então existe uma matriz A, com klinhas e até k + 1 colunas, que, junto com um vetor π, atende as restrições (1-3), de tal maneira que as colunas de A representam valorações sobre y1, . . . , yk

consistentes com Γ . Se quisermos que tal matriz A tenha exatamente k + 1 colunas, podemos eventualmente completá-la com colunas referentes a valorações consistentes com Γ , que terão probabilidade nula. Podemos também incluir a

(5)

restrição P π = 1 no sistema Aπ = p, inserindo uma linha de 1's na matriz A e fazendo pk+1= 1, o que faremos no restante desta Seção.

Sendo ∆ probabilisticamente satisfazível, há então uma matriz A(k+1)×(k+1)

e um vetor π ≥ 0 (distribuição de probabilidade) que formam um NP-certicado, de tamanho polinomial, desde que os elementos de π sejam representados em ta-manho polinomial, com relação ao tata-manho de ∆. De posse desses certicados, poderíamos constatar a satisfazibilidade probabilística da instância ∆ pela ve-ricação de um sistema de equações lineares, o que pode ser feito em tempo polinomial sobre o tamanho do sistema. A ideia da redução canônica é represen-tar esta matriz certicado A(k+1)×(k+1) juntamente com o vetor π ≥ 0 usando

variáveis lógicas (como bits) e codicar a vericação das relações Aπ = p em fórmulas lógicas sobre estas variáveis, que formarão uma instância do problema SAT.

Para garantir a correção da redução, tais operações devem ser codicadas em uma aritmética racional, sem arredondamentos. Porém, tal implementação na prática se mostrou ineciente, portanto aprensentaremos aqui uma redução que usa uma aritmética de precisão xa bπ(em bits). Logo, a instância será

con-siderada satisfazível apenas se existir uma distribuição onde cada probabilidade tem bπ bits. A redução via aritmética racional está na dissertação.

Cada elemento da matriz certicado procurada, A, será representado por uma variável Booleana, já que aij ∈ {0, 1}. Cada elemento do vetor π procurado

é representado no sistema posicional binário com bπ bits, cada bit sendo uma

variável Booleana. Analogamente, representaremos os elementos do vetor p por bits. Podemos agora codicar, em uma instância SAT, a vericação do sistema de equações lineares, o que corresponde a uma série de somas e multiplicações, todas com reduções ao SAT polinomiais em relação ao tamanho da instância PSAT ∆. Assim, se a instância SAT construída for satisfazível (com precisão bπ),

teremos encontrado a matriz A e o vetor π que satisfazem a instância PSAT, caso contrário, não existe tal par A e π, e a instância PSAT será probabilisticamente insatisfazível, se foi usada uma precisão suciente. O cálculo de tal precisão remete a argumentos de álgebra linear, detalhados na dissertação completa. 3.2 Construção da Instância SAT

Seja ∆ = hΓ, Ψi uma instância PSAT na forma normal atômica, onde Γ = {s1, . . . , sm}é um conjunto de cláusulas da lógica proposicional clássica sobre as

variáveis {y1, . . . , yk} ∪ {x1, . . . , xn}, e Ψ = {p(yi) = pi|1 ≤ i ≤ k}é uma

atribui-ção de probabilidades atômica. Desejamos construir, em tempo polinomial, uma instância SAT Λ que seja satisfazível sse ∆ for probabilisticamente satisfazível com precisão bπ.

Como as soluções terão precisão limitada a bπ, não faz sentido atribuir

pro-babilidades com maior precisão. Então vamos multiplicar as propro-babilidades atri-buídas p por 2bπ, obtendo p0, e procuraremos a solução π0 = 2π, levando o

problema para o domínio dos inteiros.

Como o Teorema 2 mostra, a matriz certicado procurada representa valora-ções sobre os átomos y, que devem ser consistentes com Γ . Assim, cada coluna

(6)

da matriz será representada pelo conjunto de variáveis yj 1, . . . , y

j

k, que pode ser

entendido como uma valoração sobre y1, . . . , yk, a menos da última linha. Os

conjuntos de variáveis hπ01 j, . . . , πj0 bπie hp0 i 1 , . . . , p0iisão as codicações de π0 j e p0

iem bits. O sistema abaixo mostra o papel que as variáveis terão na redução

a ser construída:      y1 1 · · · y k+1 1 ... ... ... y1 k · · · y k+1 k y1 k+1· · · y k+1 k+1      ·       hπ01 1, . . . , π0b π 1 i hπ01 2, . . . , π0b π 2 i ... hπ01 k+1, . . . , π0b π k+1i       =       hp01 1, . . . , p0b π 1 i ... hp01 2, . . . , p0b π 2 i hp01 k+1, . . . , p0b π k+1i       (4)

Primeiramente acrescentamos a instância SAT Λ as cláusulas de Γ instanci-adas k + 1 vezes, para k + 1 conjuntos disjuntos de variáveis. Isto permite que cada coluna da matriz procurada Y possa ser consistente com Γ independente-mente de outra. Até aqui temos uma instância SAT Λ com Θ(m · k) cláusulas e Θ(k(k + n))variáveis.

O restante das cláusulas de Λ virão da vericação das restrições (4). Primei-ramente representamos os p0 = 2p, a partir de Ψ, no sistema binário posicional,

o que pode ser feito em tempo polinomial. Então forçamos os bits de cada p0 i

a corresponderem a tal representação, lembrando que p0

k+1= 2bπ. Fazemos isso

acrescentando a Λ fatos p0j

i ou ¬p0ji, para 1 ≤ i ≤ k + 1 e 1 ≤ j ≤ bp. Nesta

etapa, teremos Θ(bπ· k)cláusulas, e variáveis, acrescentadas a Λ.

As variáveis do tipo zj

i, que representam a multiplicação do elemento y j i da

matriz Y pelo π0j correspondente, terão cada bit equivalente a conjunção dos

bits de π0j com yj

i, isso para todo 1 ≤ i, j ≤ k + 1 . Então, acrescentamos a Λ

as fórmulas zj i,h↔ (y j i ∧ π 0j h), para 1 ≤ i, j ≤ k + 1 e 1 ≤ h ≤ bπ. O número de

cláusulas introduzidas a Λ nessa etapa será Θ(k2· b

π), assim como o número de

variáveis.

As somas são feitas de 2 em 2 parcelas, armazendo os resultados parciais nas variáveis z0, totalizando k(k + 1) somas. Para codicar cada soma bit a bit

em cláusulas com precisão bπ, gasta-se tempo Θ(bπ). Precisaremos de variáveis

auxiliares em número linear, que não contabilizamos explicitamente aqui. Então acrescentamos a Λ as fórmulas referentes às Θ(k2)somas, cada uma codicada

em Θ(bπ)cláusulas, o que leva a Θ(k2bπ)cláusulas e variáveis adicionadas a Λ.

Finalmente, resta-nos codicar a igualdade entre ambos os lados do sistema, o que pode ser feito via equivalência bit a bit, acrescentando a Λ um número de cláusulas igual a Θ(bπk).

3.3 Análise do Algoritmo

Da seção anterior, conclui-se que o algoritmo de redução apresentado é polino-mial. Aqui nos interessa analisar o tamanho da instância SAT gerada pela redu-ção, já que, até a presente data, qualquer algoritmo que decida a satisfazibilidade de Λ deve ter um tempo de pior caso Θ(2N) = O(2|Λ|), onde N é o número de

(7)

variáveis em Λ. Totalizamos o número de variáveis de Λ em N = Θ(k(n + bπk)).

Assim, se quisermos decidir a satisfazibilidade probabilística da instância PSAT ∆decidindo a satisfazibilidade clássica de sua redução ao SAT, Λ, teríamos hoje um tempo de pior caso Θ(2k(n+bπk)). O fator k2 no expoente, aliado às altas

constantes omitidas na notação assintótica, diculta tal estratégia na prática para k's muito pequenos, o que nos motiva a procurar reduções mais ecientes.

4 Redução de Turing do PSAT para o SAT

4.1 Esboço do Algoritmo

O algoritmo a ser apresentado usa um SAT Solver como oráculo para decidir o PSAT, o que é conhecido como Redução de Turing do PSAT ao SAT. Nossa ideia é partir da abordagem do PSAT como problema de programação linear, pelo emprego do algoritmo Simplex, adaptando-o para entradas na forma nor-mal atômica. Explorando o Teorema 2, com o método de geração de colunas, o problema de encontrar novas colunas será reduzido ao SAT.

Para uma instância PSAT ∆ = hΓ, Ψi na forma normal atômica, com m cláusulas em Γ e Ψ = {p(yi) = pi|1 ≤ i ≤ k}, a aplicação direta da primera

fase do algoritmo Simplex levaria a uma base com m + k + 1 linhas e colunas, já que cada cláusula α ∈ Γ corresponde a uma atribuição de probabilidade p(α) = 1. Por outro lado, podemos modicar o Teorema 2, acrescentando uma linha acima de A composta por 1's e uma probabilidade correspondente p0= 1

para representar a condição P π = 1, e completando k + 1 colunas, que não necessariamente representam valorações consistentes com Γ , de modo a obter uma matriz A(k+1)×(k+1)não singular. Isso nos sugere que, para instâncias PSAT

∆ = hΓ, Ψ ina forma normal atômica, temos um problema de programaçao linear onde A pode ser uma matriz com apenas k + 1 linhas e colunas representando apenas valorações consistentes com Γ ; a primeira linha de A representa condição P π = 1. Podemos então aplicar o Simplex com uma base de tamanho k + 1, considerando apenas as k probabilidades atribuídas em Ψ, com a restrição de, a cada iteração, adicionarmos a base apenas colunas que representem valorações consistentes com Γ (chamaremos simplesmente de colunas Γ -consistentes).

A cada iteração queremos uma matriz Bk+1,k+1(base) e um vetor π tais que

Bπ = p, com algumas colunas eventualmente Γ -inconsistentes tendo probabili-dade não nula. Dada uma instância PSAT ∆ = hΓ, Ψi, dizemos que ∆ = h∅, Ψi é a instância PSAT relaxada. Como para instância relaxada não há valorações inconsistentes, qualquer matriz B, em que as colunas representem valorações, tal que Bπ = p, será uma solução para a instância relaxada. Nosso plano é então partir de soluções para a instância relaxada até encontrarmos uma matriz B onde todas as colunas com probabilidade não negativa são Γ -consistentes, que será uma solução para a instância PSAT não relaxada.

Antes de usarmos o algoritmo Simplex, precisamos de base inicial. A pri-meira fase do Simplex com duas fases sugere o uso da matriz identidade como base inicial, com a adição de variáveis articiais. Entretanto, tal matriz não

(8)

é candidata a solução para a instância PSAT, uma vez que a primeira linha não é composta apenas de 1's. Alternativamente, suponha que as probabilida-des p0 = 1, p1, . . . , pk são dadas em ordem decrescente e considere a matriz

I∗= [ai,j], onde:

ai,j=

 1, i ≤ j 0, i > j

Então o sistema I∗· π = [1|p]0, sempre admite uma solução π

1= 1 − p1≥ 0;

πi = pi−1− pi≥ 0, 2 ≤ i ≤ k; e πk+1= pk ≥ 0. Pelo Teorema 2, o par I∗ e π

satisfaz a instância relaxada.

Chegamos a uma nova base inicial I∗ para nosso algoritmo, com uma clara

vantagem em relação a matriz identidade: suas colunas podem representar va-lorações, já que seu primeiro elemento é 1, e então podem ser Γ -consistentes. Assim, a função objetivo a ser minimizada será a soma das probabilidades refe-rentes às colunas de I∗não consistentes com Γ , já que as demais poderão compor

a solução nal.

Agora podemos apresentar o problema de programação linear para instâncias PSAT na forma normal atômica, onde a base inicial é I∗ em vez de I, as

pro-babilidades das colunas Γ -consistentes de I∗ não entram no custo e a matriz A

contém apenas colunas Γ -consistentes. Denotamos por J o conjunto dos índices das colunas em I∗ que não são Γ -consistentes.

min f =P j∈Jπj sujeito a [A|I∗]π = p π ≥ 0 (5) O Algoritmo 1 é resultado da aplicação do Simplex com o método de geração de colunas no problema (5), oriundo de uma instância PSAT na forma normal atômica. Aqui a função P roblemaAuxiliar deve retornar colunas com custo reduzido negativo (que diminuam o custo total ao entrar na base) que sejam Γ-consistentes.

A função pivoteamento aqui atualiza o vetor custo da base cB, que conterá

0 para cada coluna Γ -consistente que entrar na base e 1 para as inconsisten-tes, além de inserir uma coluna na base mantendo a viabilidade da solução. A função Consistente(Bj, Γ )retorna T RUE sse a coluna Bjrepresenta uma

valo-ração sobre y1, . . . , yk consistente com Γ , a menos da primeira linha. Tal função

pode ser implementada simplesmente chamando a um SAT Solver para Γ , com uma valoração parcial sobre y1, . . . , yk correspondente à coluna Bj. A função

P roblemaAuxiliar retorna uma coluna Γ -consistente com custo reduzido nega-tivo, ou ∅ se não houver tal coluna. Lembremos que as colunas retornadas devem conter 1 na primeira linha, representando a condição P π = 1.

Comparado à abordagem tradicional do PSAT via Simplex com geração de colunas, o Algoritmo 1 apresenta 3 principais modicações:

 a entrada é uma instância PSAT na forma normal atômica, o que nos permite utilizar o Simplex com uma base de tamanho k + 1, independentemente do tamanho de Γ ;

(9)

Algoritmo 1 PSAT via Simplex com Geração de Colunas para Forma Normal Atômica

Entrada: Uma instância PSAT ∆ = hΓ, Ψi na forma normal atômica, onde Ψ = {p(yi) = pi|1 ≤ i ≤ k}e Γ é uma instância SAT sobre as variáveis y1, . . . , yk; x1, . . . , xn.

Saída: Uma matriz B e um vetor πBtal que BπB= [1|p]0se ∆ for probabilisticamente

satisfazível; "UNSAT"caso contrário. 1: B ← I∗ (k+1)×(k+1) /*Base inicial*/ 2: cB= [1 . . . 1]k+1×1 3: for j = 1 to k + 1 do 4: if Consistente(Bj , Γ )then 5: cB j= 0 6: end if 7: end for

8: πB= B−1p /*Solução para a instância relaxada*/

9: while c0 BπB> 0do 10: Aj← P roblemaAuxiliar(Γ, c0BB −1 , B) 11: if Aj= ∅then 12: return UNSAT 13: end if 14: P ivoteamento(B, Aj, πB)

15: πB← B−1p /*Encontra a nova solução para instância relaxada*/

16: end while 17: return B, πB

 a base inicial é I∗, que, diferentemente da matriz identidade, possui colunas

que podem representar valorações consistentes com Γ - que são procuradas no laço das linhas 3-7;

 o problema auxiliar deve retornar colunas Γ -consistentes.

Dada a caracterização do problema auxiliar, é natural que este seja reduzido a uma instância SAT, já que procuramos valorações que satisfaçam Γ . Assim, teremos uma Redução de Turing do PSAT ao SAT, onde aplicamos o Simplex ao PSAT e, a cada iteração, chamamos um SAT Solver para gerar uma nova coluna a ser inserida na base. Como sabemos do Simplex, se não existir uma nova coluna com custo reduzido negativo, em alguma iteração onde o custo da base é positivo, então a instância PSAT em questão é insatisfazível. Do contrário, a menos de casos degenerados, o custo sempre decresce e o algoritmo termina em um número nito de passos.

4.2 O Problema Auxiliar

O problema auxiliar consiste em encontrar uma valoração vj que corresponda

a uma coluna Γ -consistente Aj com custo reduzido negativo, ou seja, que não

aumente o custo total ao entrar na base. A expressão do custo reduzido da co-luna [1|y1. . . yk]0 candidata a entrar na base é −c0BB−1[1|y1. . . yk]0. Minimizar

(10)

que queremos uma valoração que maximiza a soma dos pesos das cláusulas yi

satisfeitas, ao mesmo tempo que satisfaz todas as cláusulas de Γ . Uma possibi-lidade então seria implementar a rotina P roblemaAuxiliar com um MAXSAT Solver, o que é melhor explicado na versão completa deste trabalho. Ignorando o critério da otimalidade, onde buscaríamos uma coluna com o menor custo re-duzido, contentaremo-nos com uma coluna com custo reduzido negativo, cando com um problema de decisão, que pode ser reduzido a uma instância SAT:

c0BB−1[1|y1. . . yk]0> 0 (6)

A coluna a ser gerada deve respeitar tal inequação para que seu custo reduzido seja negativo. Partindo da inequação, queremos gerar uma instância SAT Λ tal que uma valoração v satisfaz Λ sse a inequação (6) é verdadeira quando substituímos yi por v(yi). A transfomação de uma inequação linear em uma

fórmula da lógica proposicional clássica no formato clausal pode ser feita em tempo linear sobre o produto do número de variáveis com o número de bits usados para representar os coecientes, como mostra [War98]. De posse de tal instância, podemos submeter Γ ∪ Λ a um SAT Solver para obter uma valoração sobre {y1, . . . , yk} ∪ {x1, . . . , xn} que satisfaça Γ , cuja valoração parcial sobre

y1, . . . , ykcorresponda a uma coluna com custo reduzido negativo. A construção

de tal instância Λ, em tempo polinomial, a chamada de um SAT Solver para decidir Γ ∪ Λ e o retorno da coluna correspondente a valoração é exatamente o escopo da função P roblemaAuxiliar, claramente polinomial se considerarmos tempo constante para o SAT Solver.

4.3 Análise da Complexidade Computacional

Além das chamadas ao SAT Solver, as operações restantes são tipicamente poli-nomiais, mas não conseguimos limitar o número de iterações no laço das linhas 9 − 16, exponencial no pior caso, sem o uso do critério de otimalidade. Resta-nos analisar o número de variáveis das instância SAT geradas, que determinam assintoticamente o tempo do SAT Solver.

Na rotina P roblemaAuxiliar, a instância SAT submetida ao SAT Solver é a união de Γ com a instância Λ. Como Λ vem do algoritmo proposto em [War98], sabemos que seu tamanho é linear em relação ao produto do número de variáveis na inequação, k, com o número de bits usados para representar os coecientes. Com um pouco de algebrismo, podemos limitar o número de variáveis de Λ a O(k2log k). Porém, vemos que uma valoração parcial sobre as variáveis

lógi-cas que representam as variáveis algébrilógi-cas y da inequação, por Propagação de Restrição Booleana (BCP), determina uma única valoração para as variáveis restantes de Λ. Sendo assim, para decidir a satisfazibilidade da instância Λ, um SAT Solver precisa testar apenas valorações parciais sobre k variáveis. Com as variáveis de Γ , temos O(n + k) variáveis.

(11)

5 Resultados

Os algoritmos apresentados foram implementados em C++ e acoplados ao SAT Solver zCha [MMZ+01]. Para investigar o perl de complexidade do PSAT,

instâncias na forma normal atômica foram geradas aleatoriamente, com k pro-babilidades tomadas de uma distribuição de probabilidade uniforme em [0, 1], e m 3-cláusulas geradas de um total de n variáveis (incluindo as k de Ψ). A m de detectar o fenômeno de transição de fase, xamos k e n, variando m, e gerando 100 instâncias aleatórias para cada m/n, constrastando o tempo médio consumido pelo algoritmo com a fração de instâncias satisfazíveis (%PSAT).

Para a redução canônica da Seção 3, xamos k = 4 e n = 40, e obtemos os resultados da Figura 1, que podem ser comparados aos resultados do simplex convencional para as mesmas instâncias, na Figura 2. Para k > 6, o desempenho da redução canônica já não permitia tais experimentos. A redução de Turing da Seção 4 se mostrou mais eciente que a redução canônica: com n = 100, conseguimos xar k = 15 no levantamento do perl do PSAT. Os resultados estão na Figura 3. A Figura 4 mostra a curva de satisfazibilidade para diferentes n's, xando k/n = 1/6 e variando m.

Figura 1. Redução Canônica. Figura 2. Simplex convencional.

Os grácos resultantes das reduções mostram um típico padrão do fenômeno transição de fase, até então não notado no PSAT, embora conjecturado para todo NP-completo. Para k = 0, teríamos o 3-SAT, cujo ponto de transição de fase é em m/n = 4, 3, então é normal que tal ponto no PSAT esteja à esquerda desse, pois aumentando k, aumenta-se a quantidade de instâncias insatisfazíveis. A aplicação direta do Simplex, não tratando de forma separada as cláusulas com probabilidade 1, vê o tempo médio crescer com m, sem o pico típico da transição de fase. O gráco da Figura 4 aponta para uma regularidade na localização da transição de fase em função de k/n, que é estudada no trabalho que resumimos.

(12)

Figura 3. Redução de Turing. Figura 4. Redução de Turing, n variando.

6 Conclusão

Neste trabalho, apresentamos alternativas para resolver o PSAT atráves de re-duções ao SAT. Propusemos uma redução polinomial e uma redução de Turing resultante da adpatação do Simplex. Investigamos o perl de complexidade do PSAT e detectamos curvas típicas do fenômeno de transição de fase, esperado em todos problemas NP-completos, mas desconhecido no PSAT até então.

Como a transição de fase parece estar ligada ao tratamento diferenciado de cláusulas com probabilidade 1, convém testar a abordagem convencional de programação linear, traduzindo tais fórmulas em inequações e usando um oti-mizador numérico, em vez de um SAT Solver, para gerar novas colunas. Outro trabalho futuro de interesse é a generalização dos algoritmos para lidar com probabilidades qualitativas e condicionais, de maior uso prático.

Referências

[Boo54] G. Boole. An Investigation of the Laws of Thought: on which are Founded the Mathematical Theories of Logic and Probabilities. Walton and Maberly, 1854.

[Coo71] S.A. Cook. The complexity of theorem-proving procedures. Em Proceedings of the third annual ACM symposium on Theory of computing, página 158. ACM, 1971.

[DF74] B. De Finetti. Theory of probability, 1974.

[GKP88] G. Georgakopoulos, D. Kavvadias, e C.H. Papadimitriou. Probabilistic sa-tisability. Journal of Complexity, 4(1):111, 1988.

[Hai65] T. Hailperin. Best possible inequalities for the probability of a logical func-tion of events. American Mathematical Monthly, 72(4):343359, 1965. [MMZ+01] M.W. Moskewicz, C.F. Madigan, Y. Zhao, L. Zhang, e S. Malik. Cha:

Engineering an ecient SAT solver. Em Design Automation Conference, 2001. Proceedings, páginas 530535, 2001.

[Nil86] N.J. Nilsson. Probabilistic logic* 1. Articial Intelligence, 28(1):7187, 1986.

[War98] J.P. Warners. A linear-time transformation of linear inequalities into con-junctive normal form* 1. Information Processing Letters, 68(2):6369, 1998.

Referências

Documentos relacionados

[r]

As Forças Radiantes da Luz Divina, também chamadas Formas As Forças Radiantes da Luz Divina, também chamadas Formas Angélicas, não têm gênero na mais densa

Mova a alavanca de acionamento para frente para elevação e depois para traz para descida do garfo certificando se o mesmo encontrasse normal.. Depois desta inspeção, se não

Podem treinar tropas (fornecidas pelo cliente) ou levá-las para combate. Geralmente, organizam-se de forma ad-hoc, que respondem a solicitações de Estados; 2)

Inserido nesse contexto expandido, o rádio desdobra-se em novos formatos sonoros. Neste trabalho, nos dedicamos a observar como se dá a adaptação de um mesmo programa

das células produtoras de IFN−γ (Th1) e IL-4 (Th2); avaliar o efeito da terapia PUVA sobre as células Th1 e Th2; e avaliar a presença das células CLA+ na pele antes e após a

sóciomotrizes e culturais presentes na brincadeira de roda, chamada de CACURI, típica dos Povos Sateré-Mawé/AM. Sob o foco da Praxiologia motriz podemos definir

Por isso, segundo os especialistas, para apenas manter a meta climática já assumida anteriormente pelo Brasil no Acordo de Paris, o ministro do Meio Ambiente deveria ter