Rappresentazione canonica dell'albero decisionale binario in Ptime?


10

Mi chiedo se possa esistere un modo per dare una sorta di "forma normale" per gli alberi di decisione binari (BDT) in modo trattabile.

Più precisamente: un BDT è un albero con nodi interni etichettati da variabili booleane e foglie etichettate da o . Un BDT rappresenta una funzione booleana in modo ovvio. Due BDT sono equivalenti ( ) quando rappresentano la stessa funzione.1 A , B A B01A,BAB

Esiste una funzione che immette un BDT e lo trasforma in qualche altra struttura di dati tale che:f

  1. f è in Ptime
  2. A Bf(A)=f(B) se e solo seAB
  3. g g ( f ( A ) ) Af ha uno pseudo-inverso , ovvero , anche in Ptimegg(f(A))A

Ad esempio, i diagrammi di decisione binaria ridotti ridotti OBDD convalidano 2 e 3, ma non 1 perché con un ordine variabile errato l'output potrebbe avere dimensioni esponenziali.

Ho la sensazione che questo potrebbe non essere possibile, ma non ho trovato alcuna prova di ciò da nessuna parte.


Per commentare ulteriormente il suggerimento di Ricky Demer:

Questo documento definisce le classi (classi di equivalenza in Ptime) e (invariante completo in Ptime) e CF (forma canonica in Ptime). Studiano varie (improbabili) implicazioni di e ma non forniscono una risposta definitiva a queste domande.K e r P E q = K e r K e r = C FPEqKerPEq=KerKer=CF

Varie risposte negative (impossibilità di 1 e 2, 1 e 2 e 3) a questa domanda fornirebbero risultati di separazione come o K e r C F ... che sembra essere finora un problema aperto.PEqKerKerCF


1
è noto anche per essere in Ptime?

1
Indipendentemente da questo, la tua domanda è equivalente a "non hanno una forma canonica FP ?".


Grazie Ricky Demer, non sapevo che esistesse un approccio sistematico a questa domanda.
Marc

Perché una "risposta negativa a questa domanda" "fornirebbe un risultato di separazione "?PEqKer

Risposte:


9

A g ( f ( A ) ) | g ( f ( A ) ) | poli ( | A | ) B A g ( f ( A ) ) = g ( f ( B ) ) | g ( f ( A ) ) | poli (NPSUBEXPAg(f(A))|g(f(A))|poly(|A|)BAg(f(A))=g(f(B))|g(f(A))|N PS U B E X Ppoly(|B|)NPSUBEXP


Da quel post ero a conoscenza della "risposta 2". Quindi ho iniziato lo stesso ragionamento ma sono rimasto bloccato lungo la strada.
Marc

Sarebbe bello avvolgerlo in modo autonomo però. Proverò a leggere l'articolo alla base del reclamo del post: researcher.watson.ibm.com/researcher/files/us-vitaly/… e farlo.
Marc

1
Temo che ci sia un problema con "risposta 3" da questa risposta. Ho chiesto all'autore a riguardo, ma non ho ricevuto feedback.
Marc,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.