Qual é a complexidade do problema de equivalência para árvores de decisão de leitura única?


11

Uma árvore de decisão de leitura única é definida da seguinte maneira:

  • True e são árvores de decisão de leitura única.False
  • Se e são árvores de decisão de leitura única e é uma variável que não ocorre em e , também é uma árvore de decisão leitura única.ABxAB(xA)(x¯B)

Qual é a complexidade do problema de equivalência para árvores de decisão de leitura única?

  • Entrada: Dois leitura uma vez árvores de decisão e .AB
  • Saída: ?AB

Motivação:

Esse problema surgiu enquanto eu examinava o problema da equivalência de prova (permutação de regras) de um fragmento da lógica linear.


Você não pode usar diagramas binários de decisão reduzidos? Edit: err talvez não, suas variáveis são não ordenou ...
Sylvain

@ Kaveh Não, isso ocorre na teoria da prova: estou analisando o problema da equivalência da prova (permutação de regras) de um fragmento da Lógica Linear. Tudo se resume a esse problema booleano. Como não sou especialista, imaginei que perguntaria se essa era uma pergunta bem conhecida / fácil. Por isso, sim, inventei o nome porque não conheço melhor.
Marc

1
@ Marc, geralmente é uma boa idéia explicar por que você está interessado em um problema. Eu editei a pergunta. Por favor, dê uma olhada para garantir que está tudo bem. (Também remover os meus comentários anteriores, uma vez que não são mais necessários.)
Kaveh

@ Kaveh Sim, desculpe por isso. Eu editei a sua reformulação para torná-lo mais perto do meu argumento original (eu não conseguia descobrir imediatamente se a sua foi OK para que ele parecia mais fácil para fazer isso)
Marc

Respostas:


5

Encontrei uma solução parcial. O problema está em L.

A negação de é equivalente a que é equivalente a se ambos e são.AB(A¯B)(AB¯)False(A¯B)(AB¯)

A árvore de decisão leitura uma vez para pode ser obtido a partir da leitura uma vez árvore de decisão para , alternando e em . Isso pode ser feito no espaço de log.A¯ATrueFalseA

Para verificar se é equivalente a (e da mesma forma para ), percorremos todos os pares de folhas , uma de cada árvore, e verificamos se elas são compatíveis ( ou seja, não há em um dos caminhos e no outro). É equivalente a se não encontrarmos um par compatível. Isso pode ser feito no espaço de log.A¯BFalseAB¯Truexx¯False

Então o problema está pelo menos em L.


EDIT: Eu tenho algumas idéias para provar que isso é L-completo, provavelmente sob a redução . Mas eu precisaria verificar os detalhes e não caberá aqui. Vou postar um link para o artigo que estou escrevendo, se tudo der certo!AC0


EDIT2: aqui está, http://iml.univ-mrs.fr/~bagnol/drafts/mall_bdd.pdf

Portanto, o problema é realmente completo no espaço de log.


como você consegue essa negação? A negação de deve ser , ou seja,x.A+x¯.B(x¯+A¯).(x+B¯)x.A¯+x¯.B¯+A¯.B¯
Denis

1
@ Denis: Eu acredito que este foi um erro de digitação, sua fórmula simplifica para , então, de fato, a negação é calculada lançando 0 e 1 nas folhas. x.A¯+x¯.B¯
Nicolas Perrin

1
@ AndrásSalamon, na verdade, o número de folhas é linear no tamanho da fórmula, então você precisa de um número logarítmico de bits para identificá-los, independentemente do equilíbrio da árvore. Depois, verifique se há uma variável problemática (uma com em um caminho e na outra) para cada par de . Eu pensei que havia um problema porque você precisava adivinhar a variável problemática para cada par, mas na verdade você pode tentar todas elas uma após a outra, ela permanece em porque o número de variáveis ​​é linear. xx¯1L
Denis

1
Uma maneira mais fácil de declarar isso é: Cada caminho é um termo mínimo ou máximo, dependendo do rótulo da folha. Verificamos se eles têm os mesmos min-termos. Podemos enumerar os min-termos no espaço de log e verificar se dois min-termos são iguais no espaço de log.
Kaveh

2
Parece-me que isso realmente pode ser feito em (ou mesmo ) se você usar uma representação das árvores para verificar se um nó é um ancestral de outro em (por exemplo, algo como linguagem de conexão estendida para o circuito). NC1AC0AC0
Kaveh

2

Em uma fórmula ITE , é possível calcular polinomialmente uma lista de atribuições reduzida para descrever todas as avaliações, o que a torna verdadeira.ϕ

Para fazer isso, basta olhar para sua fórmula como uma árvore com nós rotulados por variáveis ​​e folhas por e . Ramos esquerdos são a parte "then" que define a variável como true e ramos direitos são a parte "else" que define false. Cada ramificação que leva a uma licença será rotulada por um conjunto de atribuição de variáveis ​​parciais, por exemplo . Computar a lista de todos esses conjuntos de sua fórmula é polinomial. Você pode calcular uma forma normal dessa lista removendo um conjunto, se ele estiver contido em outro, e mesclando conjuntos que diferem em uma variável: se e estão na sua lista, você os remove e adiciona011{x,y¯,z}{x,y¯,z}{x,y,z}{x,z}, o que significa que ele funciona, independentemente do valor de . No entanto, se você tiver e , não poderá mesclá-los e mantê-los assim. Você aplica essas regras até estabilizar, mais uma vez esse procedimento é polinomial.y{x,y¯,z,t}{x,y,z}

Finalmente, escolha uma ordenação arbitrária de variáveis , e chamá- o peso de . O peso de uma lista é a soma de todos os pesos que aparecem em que (com multiplicites). Aplique "rotações" sempre que possível, para minimizar o peso total da sua forma normal. Uma rotação alterações a com ( é uma lista, e e também pode ser negada variáveis). Podemos ver que ele faz a diminuição do peso total em{x1,,xn}ixi{x,xi,xj},{x,xj¯}{x,xi},{x,xi¯,xj¯}i<jxxixjji. Espero que agora a forma normal seja única, tentarei uma prova formal mais tarde.

Então, duas fórmulas são equivalentes se tiverem a mesma lista de forma normal de atribuições. Então, o problema parece estar em .P


1
Olá, obrigado pela sua resposta, a primeira parte com árvores e essa é realmente uma boa maneira de analisar o problema. Mas a segunda parte não funciona: formas normais não são exclusivos, por exemplo. - - . No entanto, pode haver algo específico sobre as fórmulas ITE que o fazem funcionar. Mas, como tal, iria resolver a equivalência de qualquer soma de monômios, que é coNP completa, eu acredito. x,y,zx,y¯,zx,y,z¯
Marc

Ah sim esqueceu que, eu estou adicionando uma correção esperando que funciona agora.
Denis

Não se esqueça de reclamar o seu $ milhões se ele funciona :)
Marc

Sim, aparentemente eu reduzi um problema em para um coNP-completo, tanto para efficency ...L
Denis
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.