[GeriDon]

[DersOgretimPlani]


[DersinKodu] [DersinAdi] [DersinTuru] [Yil] [YariYil] [Ects]
BİM-23-107 İLERİ ALGORİTMA ANALİZİ VE TASARIMI Seçmeli Ders Grubu 1 2 6,00

[YuksekLisans]


Türkçe


Bu dersin amacı, algoritmaların verimliliğini ve kaynak kullanımını nicel olarak analiz edebilme yeteneğini kazandırmaktır. Öğrenciler, farklı algoritma tasarım paradigmalarını (böl ve yönet, açgözlü, dinamik programlama vb.) öğrenerek; zaman ve bellek karmaşıklığını hesaplayıp karşılaştırabilecek, çözüm yaklaşımının ölçeklenebilirliğini ve sınırlamalarını değerlendirebilecek yetkinliğe erişeceklerdir.


Prof. Dr. Çetin Kaya KOÇ


1 Farklı algoritmaların zaman ve bellek karmaşıklıklarını asimptotik notasyonlarla ifade edip karşılaştırabilecek.
2 Böl ve yönet, açgözlü ve dinamik programlama paradigmalardan uygun olanını seçerek etkin algoritmalar tasarlayıp uygulayabilecek.
3 Grafikler ve ağaçlar üzerinde temel arama, sıralama ve optimizasyon algoritmalarını analiz ederek doğruluğunu ve performansını değerlendirebilecek.

Birinci Öğretim


Yok


Yok


Algoritma analizi dersinde öncelikle asimptotik notasyon (O, Ω, Θ) kavramları, temel karmaşıklık sınıfları (P, NP, NP-tam) ve karşılaştırmalı analiz yöntemleri ele alınır. Böl ve yönet (divide and conquer), açgözlü algoritmalar ve dinamik programlama paradigmasının temel uygulamaları üzerinde durulur. Ardından sıralama, arama, ağaç ve grafik yapılarına yönelik grafik algoritmaları (DFS, BFS, en kısa yol, minimum yayılım ağacı) incelenir. Algoritma tasarımına ilişkin geri dönüşümlü (backtracking) ve dallanıp-sınırlandırma (branch and bound) teknikleri ile NP-zor problemler ve yaklaşık algoritma yöntemleri dersin sonlarında tartışılır.


[Hafta] [Teorik] [Uygulama] [Laboratuvar]
1 Asimptotik Notasyon ve Karmaşıklık Sınıfları
2 Karşılaştırmalı Analiz ve En Kötü/Ortalama/En İyi Durum Analizi
3 Böl ve Yönet Paradigması: Merge Sort, Quick Sort
4 Açgözlü Algoritmalar ve Örnek Uygulamaları
5 Dinamik Programlama: Temel Kavramlar ve Uygulamalar
6 Veri Yapıları Üzerinde Grafik Algoritmalarına Giriş
7 Derinlik Öncelikli ve Genişlik Öncelikli Arama (DFS, BFS)
8 Ara Sınav
9 En Kısa Yol Algoritmaları (Dijkstra, Bellman-Ford)
10 Minimum Spanning Trees: Kruskal, Prim
11 Geri Dönüşümlü (Backtracking) ve Dallanıp-Sınırlandırma (Branch & Bound)
12 NP-Tam ve NP-Zor Problemler; Karşılaştırmalı Örnekler
13 Yaklaşık Algoritmalar ve Rastgeleleştirilmiş Yaklaşımlar
14 Karmaşıklık Teorisine Ek Bakış: P vs. NP ve Modern Gelişmeler
15 Final Sınavı
16 Final Sınavı

Cormen, Leiserson, Rivest, Stein – Introduction to Algorithms Kleinberg, Tardos – Algorithm Design Dasgupta, Papadimitriou, Vazirani – Algorithms



Yarıyıl (Yıl) İçi Etkinlikleri [Adet] [Deger]
Ara Sınav 1 100
[Toplam] 100
Yarıyıl (Yıl) Sonu Etkinlikleri [Adet] [Deger]
Final Sınavı 1 100
[Toplam] 100
Yarıyıl (Yıl) İçi Etkinlikleri 40
Yarıyıl (Yıl) Sonu Etkinlikleri 60

Yok


[Etkinlikler] [Sayisi] [Suresi] [ToplamIsYuku]
Ara Sınav 1 1 1
Final Sınavı 1 2 2
Bireysel Çalışma 16 6 96
Ara Sınav İçin Bireysel Çalışma 8 4 32
Final Sınavı içiin Bireysel Çalışma 8 6 48
[ToplamIsYuku] 179

[PC] 1
[OC] 1
[OC] 2
[OC] 3
[PCOCAciklama]