Diyelim ki , yapısını bilmediğimiz sabit dereceli bir ağaçtır. Sorun çıkışına ağaçtır "düğüm mu: Formun sorguları sorarak düğümü gelen yolda yalan düğümü için ?". Her bir sorgunun bir kehanet tarafından sabit zamanda cevaplanabileceğini varsayın. değerini , ağaçtaki düğüm sayısını biliyoruz . Amaç, ağacının çıktısını almak için harcanan zamanı en aza indirmektir .T x a b n n
Yukarıdaki sorun için bir algoritması var mı?
herhangi bir düğümün derecesinin en fazla 3 olduğunu varsayın .
Bildiklerim
Sınırlı çaplı kasa kolaydır . Ağacın çapı , bir bölme ve fethetme algoritması alabiliriz:
Herhangi bir ikili ağaç, ağacı 1 / 3n'den daha küçük olmayan bileşenlere ayıran iyi bir ayırıcıya sahiptir.
- Herhangi bir tepe noktasını seçin x. Eğer iyi bir ayırıcı etiket ise ve recurse.
- X'in 3 komşusunu bulun.
- En fazla sayıda düğüme sahip olan komşu yönünde hareket edin. Komşu ile Adım 2'yi tekrarlayın.
Ayırıcısını bulmakta en çok sürer bu yana aşamaları, bir olsun algoritması.
A rastgele algoritma. (aşağıdaki yorumlardan taşındı)
İki x ve y köşesini rastgele seçin. 1/9 olasılıkla, bir ayırıcının karşı tarafında bulunurlar. Yolundan orta düğümü al için . Bir ayırıcı olup olmadığına bakın, değilse ikili arama yapın.
Bu alır ayırıcıyı bulmak için beklenen süre. Yani bir rastgele algoritma.
Arka fon. Bu problemi olasılıksal grafik modellerde çalışan bir arkadaştan öğrendim. Yukarıdaki problem kabaca bir kavşak ağacının yapısını üç rastgele değişken X, Y ve Z verildiğinde, Z değeri verilen X ve Y arasındaki karşılıklı bilginin değerini söyleyebilen bir kehanet kullanarak öğrenmeye karşılık gelir. sıfıra, Z'nin X'ten Y'ye giden yolda olduğunu varsayabiliriz.