Representasi kanonik dari Binary Decision Tree in Ptime?

10

Saya bertanya-tanya apakah mungkin ada cara untuk memberikan semacam "bentuk normal" untuk pohon keputusan biner (BDT) dengan cara yang traktable.

Lebih tepatnya: BDT adalah pohon dengan node internal yang dilabeli oleh variabel boolean dan daun dilabeli dengan atau . BDT mewakili fungsi boolean dengan cara yang jelas. Dua BDT adalah setara ( ) ketika mereka mewakili fungsi yang sama.1 A , B A B01A,BAB

Apakah ada fungsi yang menginput BDT dan mengubahnya menjadi beberapa struktur data lain sehingga:f

  1. f ada di Ptime
  2. f(A)=f(B) jika dan hanya jikaAB
  3. f memiliki pseudo-invers , yaitu , juga dalam Ptimeg ( f ( A ) ) Agg(f(A))A

Misalnya, diagram keputusan biner tereduksi, OBDD memvalidasi 2 dan 3, tetapi bukan 1 karena dengan variabel yang salah, pemesanan mungkin berukuran eksponensial.

Saya punya perasaan bahwa ini mungkin tidak mungkin, tetapi belum menemukan bukti di mana pun.


Untuk mengomentari lebih lanjut tentang saran Ricky Demer:

Makalah ini mendefinisikan (kelas ekivalensi dalam Ptime) dan (invarian lengkap dalam Ptime) dan CF (bentuk kanonik dalam Ptime). Mereka mempelajari berbagai implikasi (tidak mungkin) dari dan tetapi tidak memberikan jawaban yang pasti untuk pertanyaan-pertanyaan ini.K e r P E q = K e r K e r = C FPEqKerPEq=KerKer=CF

Berbagai jawaban negatif (ketidakmungkinan 1 & 2, 1 & 2 & 3) untuk pertanyaan ini akan memberikan hasil pemisahan sebagai atau ... yang tampaknya menjadi masalah terbuka sejauh ini.K e r C FPEqKerKerCF

Marc
sumber
1
Apakah bahkan dikenal sebagai Ptime?
1
Terlepas dari itu, pertanyaan Anda setara dengan "Apakah memiliki bentuk kanonik FP ?".
2
@ RickyDemer: Ya, ~ dapat diputuskan dalam waktu polinomial.
William Hoza
Terima kasih Ricky Demer, saya tidak tahu pendekatan sistematis untuk pertanyaan ini ada.
Marc
Mengapa "jawaban negatif untuk pertanyaan ini" "memberikan hasil pemisahan "? PEqKer

Jawaban:

9

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

William Hoza
sumber
Saya hanya mengetahui "jawaban 2" dari pos itu. Oleh karena itu saya memulai alasan yang sama tetapi macet di sepanjang jalan.
Marc
Akan lebih baik untuk membungkusnya secara otonom. Saya akan mencoba membaca artikel yang mendasari klaim pos: peneliti.watson.ibm.com/researcher/files/us-vitaly/… dan melakukannya.
Marc
1
Saya khawatir ada masalah dengan "jawaban 3" dari jawaban ini. Saya bertanya kepada penulis tentang hal itu, tetapi tidak mendapat tanggapan.
Marc