Gostaria de saber se pode existir uma maneira de fornecer uma espécie de "forma normal" para árvores de decisão binária (BDT) de maneira tratável.
Mais precisamente: um BDT é uma árvore com nós internos rotulados por variáveis booleanas e folhas rotuladas por ou . Um BDT representa uma função booleana da maneira óbvia. Dois BDT são equivalentes ( ) quando representam a mesma função.
Existe uma função que insere um BDT e o transforma em alguma outra estrutura de dados, como:
- está em Ptime
- se e somente se A ∼ B
- tem um pseudo-inverso g , que é g ( f ( A ) ) ∼ A , também em Ptime
Por exemplo, diagramas de decisões binárias ordenadas reduzidas, o OBDD valida 2 e 3, mas não 1, porque com a ordem incorreta da variável, a saída pode ter tamanho exponencial.
Sinto que isso pode não ser possível, mas não encontrei nenhuma evidência disso em nenhum lugar.
Para comentar ainda mais a sugestão de Ricky Demer:
Este documento define o (classes de equivalência em óptimos) e K e r as classes (invariante completa em óptimos) e CF (forma canónica em óptimos). Eles estudam várias implicações (improváveis) de P E Q = K e R e K e r = C F , mas não fornecem uma resposta definitiva a estas perguntas.
Vários respostas negativas (impossibilidade de 1 & 2, 1 & 2 & 3) para esta questão iria proporcionar resultados de separação como ou K e r ≠ C F ... que parece ser um problema até agora aberto.
Respostas:
Penso que, assumindo que , essa representação canônica não existe. Prova: suponha que essa representação canônica exista. Então a função A ↦ g ( f ( A ) ) = g ( f ( B ) ) , então | gN P ⊈ S U B E X P pode ser calculada em tempo polinomial, portanto, em particular | g ( f ( A ) ) | é poli ( | A | ) . Mas se considerarmos B como um BDT mínimo equivalente a A , entãoUm ↦ g( f( A ) ) | g( f( A ) ) | poli ( | A | ) B UMA g( f( A ) ) = g( f( B ) ) é poli ( | B | ) . Tal algoritmo de aproximação implica que N P ⊆ S U B E X P , de acordo comuma resposta em outro post, se bem entendi.| g( f( A ) ) | poli ( | B | ) N P ⊆ S U B E X P
fonte