2013-06-25 24 views
6

Tez çalışmam için branş ve ciltli ve en iyi ilk araştırmayı inceliyorum, ancak web üzerinde bu iki kavram hakkında birçok çelişki buldum. İlk olarak, dalı düşündüm ve sadece yüksek maliyet çözümüne (heuristic kullanarak) giden şubeleri eritin ve aramaya öncelik vermeyin (budamadan sonra bir ağacın geri kalanında basit bir DFS veya BFS yapın). Ancak, daha sonra BB'nin devletleri sıraladığını ve ilk sırada yer alan düğümleri (öncelikli bir arama) düşündüğünü söyleyen birçok kaynak buldum. Öyleyse, BB ile en iyi ilk arama arasındaki fark nedir?Şube ile cilt arasındaki en iyi ilk arama arasındaki farklar

cevap

5

2 kavramlar ilişkilidir (bazen hatta birleştirebilirsiniz) ama onların isimlerinden anlaşılacağı gibi sadece aralarındaki temel farklar odaklanmalıdır:

Dal ve sınır değişkenlere dallanma tarafından etraflıca arama alanını araştırır (= değişkenlerin değerlerini test edin). Bu, birkaç alt problemi yaratır örn. Bir ikili değişken üzerinde dallanma, = 0 değişkeninin olduğu ve = 1 olduğu bir problem yaratır. Daha sonra bunları tekrar tekrar çözebilir ve çözebilirsiniz. Tekniğin 'sınırlayıcı' yönü, alt problemde elde edilebilecek çözümlerin sınırlarını belirlemekten ibarettir. Alt problem sadece kötü bir çözüm getirebiliyorsa (daha önce bulunan bir çözüme kıyasla), arama alanının o kısmının keşfini güvenle atlayabilirsiniz.

En iyi ilk önce, arama alanının en ilgi çekici kısmına bakarak mümkün olduğunca hızlı bir çözüm bulmaya çalışın (en ilginç = tahmin). Arama alanını bölmez, sadece mümkün olduğu kadar hızlı bir şekilde çözüme ulaşmaya çalışır.

Her iki yaklaşım da arama alanının parçalarının araştırılmasını atlamaya çalışır. Kullanımları ve verimliliği problem ayarına bağlıdır. En iyisi, “araştırmak için en ilginç çözüm” için bir ölçüt belirlemenizi gerektirir, bu da bazen zor/imkansız olabilir. Şube ve sınır, sadece alt problemlere yükleyebileceğiniz sınır anlamlı/çok geniş değilse ilginçtir. Göz önünde bulundurduğunuz soruna göre değişir ...

+0

Anladığım şey şudur: En iyi ilk arama yalnızca bir eyalete (yani kök durumdan bu duruma kadar olan maliyetlerin toplamı) sıralama maliyetini dikkate alır. Ancak BB, bu durumla komple çözümlere sahip olmanın tahmini minimum maliyetini kullanır. Ben haklı mıyım – Barpa

+0

Hayır, Best First, yalnızca geçerli maliyeti değil, aynı zamanda global bir maliyet tahmini kullanarak bir sonraki aşama düğümünü seçmeye çalışır. Dijkstra'yı en kısa yol ağaçları oluşturmak için kullanabileceğiniz bir navigasyon problemini düşünün. Sadece mevcut duruma ulaşmanın maliyetine bakmak, Dijkstra'nın bir sonraki yerleşmek için en düşük geçici mesafeye sahip düğümü seçerek yaptığı şeydir. En İyi İlk harfini uygulayarak, A * 'daki gibi A * değerini alırsınız, her zaman en düşük toplam maliyet tahminine sahip olan düğümü seçersiniz. – Origin

+0

Üzgünüz, ama şimdi daha kafam karıştı. Küresel maliyet tahmini kullanarak bir sonraki düğümü en iyi seçerek söylersiniz. Küresel maliyet tahmini, global bağlı (alt veya üst) branş ile aynı değil ve mevcut durumla karşılaştırmak için bağlı kullanımlar mıdır? – Barpa

İlgili konular