🎓 Bounlu tarafından hazırlandı
12.630 görüntülenme

Açgözlü Algoritmalar Nedir?

Açgözlü algoritmalar, bir problemi adım adım çözerken her aşamada o an için en iyi görünen seçeneği seçmeye dayanan bir optimizasyon stratejisidir. Bu yaklaşım, her adımda yapılan yerel optimum seçimlerin, genel olarak en iyi çözümü vereceği varsayımına dayanır.

Kısa cevap

Açgözlü algoritmalar, her adımda o anki en iyi seçeneği belirleyerek ilerleyen ve genellikle global optimum çözümü bulmaya çalışan algoritma tasarlama tekniğidir.

01

Adım adım çözümlü örnekler

Deyimsel Para Üstü Problemi: Belirli bir tutarı en az sayıda madeni parayla nasıl ödersiniz?

1. En büyük değerli madeni paradan başla. 2. Kalan tutar için bu madeni paradan mümkün olduğunca fazla kullan. 3. Gerekirse daha küçük değerli madeni paralara geç ve adımları tekrarla. 4. Toplam tutar sıfırlanana kadar devam et.

Minimum Kapsayan Ağaç (MST) Problemi (Prim's Algoritması): Birbirine bağlı bir grup düğüm arasındaki maliyeti en aza indiren bir ağaç nasıl oluşturulur?

1. Rastgele bir düğüm seç ve bu düğümü içeren bir ağaç oluştur. 2. Mevcut ağaca en az maliyetle bağlanabilecek kenarı ve düğümü bul. 3. Bu kenarı ve düğümü ağaca ekle. 4. Tüm düğümler ağaca dahil olana kadar 2. ve 3. adımları tekrarla.

Aktivite Seçim Problemi: Verilen bir dizi aktivite arasından, çakışmayan ve maksimum sayıda aktiviteyi içeren bir alt küme nasıl seçilir?

1. Aktiviteleri bitiş zamanlarına göre sırala. 2. İlk aktiviteyi seç. 3. Seçilen aktivite ile çakışmayan, en erken biten bir sonraki aktiviteyi seç. 4. Tüm aktiviteler gözden geçirilene kadar 3. adımı tekrarla.
02

Bilgi kartları

03

Mini test

S1.Aşağıdakilerden hangisi açgözlü algoritmaların temel özelliğidir?

Doğru cevap: B. Açgözlü algoritmalar, her aşamada o an için en avantajlı görünen seçeneği tercih ederler. Bu, her zaman en iyi global çözümü garanti etmese de, birçok problemde etkili bir yöntemdir.

S2.Açgözlü algoritmalar hangi tür problemler için genellikle uygundur?

Doğru cevap: B. Açgözlü algoritmalar, bir problemi alt problemlere ayırıp her adımda yerel olarak en iyi kararı vererek ilerleyebildiğimiz ve bu kararların genel çözümü etkilediği durumlarda etkilidir.

S3.Açgözlü bir algoritmanın her zaman optimal çözümü garanti etmediği durumlar için verilebilecek bir örnek nedir?

Doğru cevap: B. Deyimsel Para Üstü Problemi'nde, bazı para birimi setleri için açgözlü yaklaşım (her zaman en büyük madeni parayı kullanmak) optimal olmayan bir sonuç verebilir. Örneğin, 1, 3, 4 birimlik madeni paralarla 6 birimlik bir ödeme yaparken, açgözlü yaklaşım 4+1+1 (3 madeni para) kullanırken, optimal çözüm 3+3 (2 madeni para)'tür.
📄Bu konuyu PDF çalışma kağıdı olarak indirKonu özeti + 10 soru + cevap anahtarı — sınıfta paylaş, yazdır.
04

Sık yapılan hatalar

Açgözlü algoritmalar her zaman en iyi çözümü bulur.Doğrusu: Açgözlü algoritmalar, yerel optimum seçimlerin global optimumu garanti edeceği varsayımına dayanır ancak bu her zaman doğru değildir.

Açgözlü algoritmalar, dinamik programlama ile aynıdır.Doğrusu: Dinamik programlama, alt problemlerin çözümlerini saklayarak ve tekrar kullanarak optimal çözümü bulurken, açgözlü algoritmalar her adımda anlık en iyi kararı verir.

05

Sıkça sorulan sorular

Açgözlü bir algoritma ne zaman kullanılır?

Açgözlü algoritmalar, bir problemi çözmek için her adımda yerel olarak en iyi seçeneğin seçilebileceği ve bu seçimlerin genel olarak optimal bir sonuca yol açacağı durumlarda kullanılır. Ayrıca, problemin yapısı gereği geri adım atmadan ilerlemenin mümkün olduğu durumlarda da tercih edilir.

Açgözlü algoritmaların dinamik programlamadan farkı nedir?

Dinamik programlama, alt problemlerin çözümlerini saklayarak ve tekrar kullanarak optimal çözümü bulur; tüm olası alt yapılar dikkate alınır. Açgözlü algoritmalar ise her adımda sadece o anki en iyi görünen seçeneği seçer ve bu karardan geri dönmez. Bu nedenle açgözlü algoritmalar genellikle daha hızlıdır ancak her zaman optimal çözümü garanti etmezler.

Açgözlü algoritmaların en bilinen örnekleri nelerdir?

Deyimsel Para Üstü Problemi, Minimum Kapsayan Ağaç (Prim ve Kruskal algoritmaları), Huffman Kodlaması, Aktivite Seçim Problemi ve Graf Boyama gibi problemler açgözlü algoritmalarla çözülebilen örneklere dahildir.

İlgili konular