Böl ve Fethet algoritmik bir modeldir. Algoritmik yöntemlerde tasarım, büyük bir girdiyle ilgili anlaşmazlığı ele almak, girdiyi küçük parçalara ayırmak, küçük parçaların her birinde soruna karar vermek ve ardından parçalı çözümleri küresel bir çözümde birleştirmektir. Sorunu çözmenin bu mekanizmasına Böl ve Fethet Stratejisi denir.
Böl ve Fethet algoritması aşağıdaki üç adımı kullanan bir anlaşmazlıktan oluşur.
Genel olarak takip edebiliriz böl ve fethet üç adımlı bir süreçte yaklaşılmaktadır.
Örnekler: Belirli bilgisayar algoritmaları Böl ve Yönet yaklaşımına dayanmaktadır:
- Maksimum ve Minimum Sorun
- Ikili arama
- Sıralama (birleştirme sıralaması, hızlı sıralama)
- Hanoi kulesi.
Böl ve Fethet Stratejisinin Temelleri:
Böl ve Fethet Stratejisinin iki temeli vardır:
- İlişkisel Formül
- Durdurma Durumu
1. İlişkisel Formül: Verilen teknikten ürettiğimiz formüldür. Formülün oluşturulmasından sonra D&C Stratejisini uyguluyoruz, yani sorunu yinelemeli olarak çözüyoruz ve bozuk alt problemleri çözüyoruz.
2. Durdurma Durumu: Böl ve Fethet Stratejisini kullanarak sorunu çözdüğümüzde, ne kadar süre boyunca böl ve Fethet uygulamamız gerektiğini bilmemiz gerekir. Yani D&C'nin özyineleme adımlarımızı durdurmamız gereken duruma Durma Durumu denir.
Böl ve Fethet Yaklaşımının Uygulamaları:
Aşağıdaki algoritmalar Böl ve Fethet Tekniği konseptine dayanmaktadır:
Böl ve Fethet'in Avantajları
- Böl ve Fethet, bir matematik bulmacası olan Hanoi Kulesi gibi en büyük sorunlardan birini başarıyla çözme eğilimindedir. Hakkında hiçbir temel fikrinizin olmadığı karmaşık sorunları çözmek zordur, ancak böl ve yönet yaklaşımının yardımıyla, ana sorunu iki yarıya bölerek ve daha sonra tekrar tekrar çözerek çabayı azalttığı için çabayı azaltmıştır. Bu algoritma diğer algoritmalara göre çok daha hızlıdır.
- Daha yavaş olan ana belleğe erişmek yerine önbellek içindeki basit alt sorunları çözdüğü için fazla yer kaplamadan önbelleği verimli bir şekilde kullanır.
- Muadili Brute Force tekniğinden daha yetkindir.
- Bu algoritmalar paralelliği engellediğinden herhangi bir değişiklik gerektirmez ve paralel işlemeyi içeren sistemler tarafından gerçekleştirilir.
Böl ve Fethet'in dezavantajları
- Algoritmalarının çoğu özyinelemeyi içerecek şekilde tasarlandığından yüksek bellek yönetimi gerektirir.
- Açık bir yığın alanı aşırı kullanabilir.
- Özyinelemenin CPU'da bulunan yığından daha büyük bir titizlikle gerçekleştirilmesi durumunda sistemin çökmesine bile neden olabilir.