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
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 ...
- 1. arasındaki farklar
- 2. Harita ile kullanıcı arasındaki farklar
- 3. Page.User.Identity ile Request.LogonUserIdentity arasındaki farklar
- 4. Genişlik-ilk ile derinlik-ilk arama arasındaki girdi/çıktı
- 5. scipy.sparse.linalg.lsmr ve scipy.sparse.linalg.lsqr arasındaki farklar
- 6. ActionExecutingContext ve HttpActionContext arasındaki farklar
- 7. RestKit ve AFIncrementalStore arasındaki farklar
- 8. Git dalları arasındaki belirli bir klasördeki farklar
- 9. Agda ve Idris arasındaki farklar
- 10. Symfony form satırı ile widget arasındaki farklar
- 11. Derleyici ile bağlayıcı arasındaki farklar nelerdir?
- 12. DomainKeys vs DKIM arasındaki farklar?
- 13. rows.add ve importRow arasındaki farklar
- 14. SwingWorker ve Executor arasındaki farklar
- 15. MVC ve Görünüm arasındaki farklar Web geliştirmede ilk yaklaşım
- 16. Yönergeler arasındaki iletişim kurmanın en iyi yolu
- 17. Delphi ve Lazarus arasındaki Form Başlatmadaki Farklar?
- 18. Python 2 ve 3 arasındaki klişelerdeki farklar
- 19. MATLAB: .mat sürümleri arasındaki farklar aşağıdaki
- 20. Modüller ve uzantılar arasındaki farklar Yii
- 21. MXBean, JMX ve OSBean arasındaki farklar
- 22. .Net'de ConcurrentQueue ve BlockingCollection arasındaki farklar nelerdir?
- 23. Mercurial'da klonlama ve kopyalama arasındaki farklar
- 24. Yük açısal bağımlılıkları arasındaki farklar nelerdir ve modülleri paylaşmanın en iyi yolu nedir?
- 25. JE/JNE ve JZ/JNZ arasındaki farklar
- 26. Portletler - setAttribute ve setRenderParameter arasındaki farklar
- 27. CHMOD 755 vs 750 izinleri arasındaki farklar
- 28. Veri öznitelikleri ve yöntem öznitelikleri arasındaki farklar
- 29. Kol "sürümleri" arasındaki farklar? (Sadece ARMv7)
- 30. UIButton IOS 5.1 ve 6.1 arasındaki farklar
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
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
Ü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