Représentation canonique de l'arbre de décision binaire dans Ptime?

10

Je me demande s'il peut exister un moyen de donner une sorte de "forme normale" aux arbres de décision binaires (BDT) de manière maniable.

Plus précisément: un BDT est un arbre avec des nœuds internes étiquetés par des variables booléennes et des feuilles étiquetées par ou . Un BDT représente une fonction booléenne de manière évidente. Deux BDT sont équivalents ( ) lorsqu'ils représentent la même fonction.1 A , B A B01A,BAB

Existe-t-il une fonction qui entre un BDT et le transforme en une autre structure de données telle que:f

  1. f est dans Ptime
  2. A Bf(A)=f(B) si et seulement siAB
  3. g g ( f ( A ) ) Af a un pseudo-inverse , c'est-à-dire , également dans Ptimegg(f(A))A

Par exemple, les diagrammes de décision binaires ordonnés réduits OBDD valident 2 et 3, mais pas 1 car avec le mauvais ordre des variables, la sortie peut être de taille exponentielle.

J'ai le sentiment que cela pourrait ne pas être possible, mais je n'ai trouvé aucune preuve de cela nulle part.


Pour commenter davantage la suggestion de Ricky Demer:

Cet article définit les classes (classes d'équivalence en Ptime) et (invariant complet en Ptime) et CF (forme canonique en Ptime). Ils étudient diverses implications (improbables) de P E q = K e r et K e r = C F mais ne fournissent pas de réponse définitive à ces questions.K e rPEqKerPEq=KerKer=CF

Diverses réponses négatives (impossibilité de 1 & 2, 1 & 2 & 3) à cette question fourniraient des résultats de séparation comme ou K e r C F ... ce qui semble être un problème ouvert jusqu'à présent.PEqKerKerCF

Marc
la source
1
Est même connu pour être en Ptime?
1
Indépendamment de cela, votre question est équivalente à "Est-ce que a une forme canonique FP ?".
2
@RickyDemer: Oui, ~ peut être décidé en temps polynomial.
William Hoza
Merci Ricky Demer, je ne savais pas qu'une approche systématique de cette question existait.
Marc
Pourquoi une "réponse négative à cette question" "fournirait-elle un résultat de séparation "?PEqKer

Réponses:

9

A g ( f ( A ) ) | g ( f ( A ) ) | poly ( | A | ) B A g ( f ( A ) ) = g ( f ( B ) ) | g ( f ( A ) ) | poly (NPSUBEXPUNEg(F(UNE))|g(F(UNE))|poly(|UNE|)BUNEg(F(UNE))=g(F(B))|g(F(UNE))|N PS U B E X Ppoly(|B|)NPSUBEXP

William Hoza
la source
Je n'étais au courant que de la "réponse 2" de ce message. Par conséquent, j'ai commencé le même raisonnement, mais je suis resté coincé en cours de route.
Marc
Il serait cependant bon de le conclure de manière autonome. Je vais essayer de lire l'article sous-jacent à la demande de l'article: researcher.watson.ibm.com/researcher/files/us-vitaly/… et le faire.
Marc
1
J'ai peur qu'il y ait un problème avec la "réponse 3" de cette réponse. J'ai interrogé l'auteur à ce sujet, mais je n'ai reçu aucun commentaire.
Marc