10
Açgözlü algoritma (greedy algorithm) nedir?

Açgözlü algoritma, bir problemin çözümünde olası seçenekler arasından o adımdaki en iyi seçimi yapan ve böylece ana problemin çözümüne ulaşılabileceğini öngören bir optimizasyon algoritmasıdır.

Tanım
Bir problemin çözümünde ileride doğabilecek sonuçlar göz önüne alınmadan, mevcut şartlar altında en iyi olan seçimin yapılması gerektiğini savunan yaklaşımına açgözlü algoritma (greedy algorithm) denir.

Bu yaklaşıma açgözlü denilmesinin nedeni kısa vadeli çözüm bulma arayışından kaynaklanmış olabilir. Temel ilke, lokalde (o adımda) bulunan çözümün globalde (genelde) de işe yarayabileceği düşüncesidir.

Optimizasyon
Optimizasyon, olası çözümler arasındaki en iyi olanı seçmektir. Açgözlü algoritma optimizasyon problemlerinin çözümü için kullanılır.

Bir problem çözme yaklaşımı olan açgözlü algoritmada, her adımda optimal bir çözüm bulunur. Böyle bir yaklaşım belki her zaman kesin çözüm vermez ama basit olduğu için karmaşık hesaplamalar gerektirmez ve en azından belirli bir sürede problemi çözüme kavuşturur.

Yöntem
Açgözlü algoritma, karşısına çıkan seçenekler arasından seçim yapmak gerektiğinde problemin çözümü için o adımda ne gerekiyorsa onu yapar.

Örnek
Örneğin A şehri ile H şehri arasındaki en kısa yolu bulmak için açgözlü algoritma probleme şöyle yaklaşır:
  • 1<10 o halde B'ye git
  • 3<15 o halde E'ye git
Böylece sonuç A-B-E-H (1+3+2=6) olur. Bu çözüm, verilen koşullarda gerçekten de optimal çözümdür. Fakat E ile H arası mesafe 2 değilde 20 olsaydı problemin çözümü (1+3+20=24) yanlış çıkacaktı. Yani açgözlü yaklaşım her zaman en iyi çözümü bulmayı vadetmez.


Açgözlü algoritma ile ilgili örnek problem için tıklayınız.

Bir optimizasyon probleminin kesin çözümünü veren kaba kuvvet, geri izleme, dal sınır algoritması gibi yaklaşımlar karmaşıktır ve fazla kaynağa (bellek, işlem gücü, zaman gibi) ihtiyaç duyarlar.
Bu alana not ekleyebilirsiniz.
Başka bir sorunuz mu var?
Yorumlar (1)
Katılıyor musun?
00

en çok kullanılan aç gözlü algoritmalar nelerdir?


05.10.2022

Bu Yoruma Cevap Yaz

İlgili Konu
Algoritma Türleri
İlgili Kayıtlar
İlginizi Çekebilir