Arka fon
İkili karar ağacı , her iç düğümün (ve kökün) dizininde indeksiyle etiketlendiği ve kökten yaprağa hiçbir yolun bir dizini tekrarlamadığı köklü bir ağaçtır , yapraklar içindeki çıkışlarla etiketlenir ve her kenar sol çocuk için ve sağ çocuk için olarak etiketlenir . girişine ağaç uygulamak için :
- Kökten başlayın
- eğer yaprakdaysanız, veya yaprak etiketini çıkarır ve sonlandırırsınız
- Geçerli düğümünüzün etiketini okuyun , eğer ise sol alt , ise sağ alt .
- adım 2'ye atla
Ağaç, özellikle bir ağaç, söz gelimi bir fonksiyonunu değerlendirmek için bir yol olarak kullanılan toplam fonksiyonu temsil eder için ise, her elimizdeki . Bir ağacın sorgu karmaşıklığı derinliğidir ve bir işlevin sorgu karmaşıklığı onu temsil eden en küçük ağacın derinliğidir.
Sorun
Bir ikili karar ağacı T verildiğinde, T ve T 'aynı işlevi temsil edecek şekilde minimum derinlikte bir ikili karar ağacı T' verir.
Soru
Bunun için en iyi bilinen algoritma nedir? Daha düşük sınırlar biliniyor mu? Bildiğimiz eğer ? Sadece nin yaklaşık olarak minimum derinlikte olmasını istiyorsak ne olur?
Saf yaklaşım
Saf yaklaşım verilir ardışık derinliği tüm ikili karar ağaçları numaralandırmak için bunlar aynı şey değerlendirilmesi ise test sırasında . Bu, Adımları gerektirmektedir ( in rastgele bir için neyi değerlendirdiğini kontrol etmek için adım sürdüğü varsayılarak ). Daha iyi bir yaklaşım var mı?d - 1 , T O ( d 2 , n , n !dT(x)x
Motivasyon
Bu soru, sorgu karmaşıklığı ve zaman karmaşıklığı arasındaki ödünleşime dair önceki bir soru tarafından motive edilmektedir . Özellikle, amaç toplam fonksiyonlar için zaman ayrımını sınırlamaktır. Biz bir ağaç yapabilir seferinde optimum algoritma ile çalışma zamanı gelen , sonra bir ağaca dönüştürmek istiyoruz sorgu optimum algoritması için. Ne yazık ki, (Ve genellikle ) darboğaz dönüşümdür. değiştirsek iyi olur gibi bir şeyle .t T ′ t ∈ O ( n ! / ( N - d ) ! ) D ∈ Θ ( n ) n ! / ( n - d ) ! 2 gün