En Küçük Yol Ağacı (Minimum Spanning Tree)

Slides:



Advertisements
Benzer bir sunumlar
Ders İçeriği Ağaç Veri Modeli Tanım ve Gerçekleştirim İkili Ağaç
Advertisements

YAPAY ZEKA Yrd. Doç. Dr. Rembiye Kandemir
Yapay Zeka DR.KORHAN KAYIŞLI.
MIT503 Veri Yapıları ve algoritmalar Algoritma Oluşturma – Açgözlü algoritmalar ve buluşsallar Y. Doç. Yuriy Mishchenko.
YAPAY ZEKA ÖDEV - 1 Kenan KILIÇASLAN Trakya Üniversitesi Fen Bilimleri Enstitüsü Makina Mühendisliği Doktora Programı.
FİLOGENİ Filogeni , en kısa deyimle ile evrimsel şecere ilişkisi olarak tanımlanabilir. Tür ve tür üstü kategoriler jeolojik dönemlerde türleşme süreçleri.
10. OPTİMİZASYON OPTİMİZASYON NEDİR?
Algoritmalar En kısa yollar I En kısa yolların özellikleri
CLUSTERING USING REPRESENTATIVES Hazırlayan: Arzu ÇOLAK
İçerik Ön Tanımlar En Kısa Yol Problemi Yol, Cevrim(çember)
MIT503 Veri Yapıları ve algoritmalar En önemli graf problemleri
Yapay Zeka DR.KORHAN KAYIŞLI.
BPR151 ALGORİTMA VE PROGRAMLAMA - I
Karar ifadeleri ve Döngüler
İkili Arama Ağaçları (Binary Search Trees) BST
SOME-Bus Mimarisi Üzerinde Mesaj Geçişi Protokolünün Başarımını Artırmaya Yönelik Bir Algoritma Çiğdem İNAN, M. Fatih AKAY Çukurova Üniversitesi Bilgisayar.
Karar Ağaçları.
EMRE SEVİNDİK KONU: ANALİZ ÖNCESİ YAPILMASI GEREKEN İŞLEMLER
Algoritmalar Ders 14 En Kısa Yollar II Bellman-Ford algoritması
BPR151 ALGORİTMA VE PROGRAMLAMA - I
Karar Ağaçları İle Sınıflandırma
Algoritma ve Akış Diyagramları
Yapısal Program Geliştirme – if, if-else
Çizge Teorisi, Dağıtık Algoritmalar ve Telsiz Duyarga Ağları
İçerik: Graflar Tanım Gösterim Dolaşma Algoritmaları
ÇİZGELERİN GÖSTERİMİ Yılmaz KILIÇASLAN. Sunu Planı Bu derste, çizgelerin bilgisayarda gösterimine ilişkin iki standart yaklaşımı inceleyeceğiz.
MIT503 Veri Yapıları ve algoritmalar Veri ağaçları
Veri Yapıları ve Algoritmalar
GRAF TEORİSİ Ders 1 TEMEL KAVRAMLAR.
ÇİZGELERİN GÖSTERİMİ Yılmaz KILIÇASLAN.
Yrd. Doç. Dr. Ayhan Demiriz
GRAPHS ÖZET.
BİL551 – YAPAY ZEKA BİLGİSİZ ARAMA YÖNTEMLERİ
Arama ile sorun çözme Ders 3.
YMT219: Veri Yapıları Ders Saatleri: Pazartesi 9:15-12, 17:30-20:15
Kablosuz Algılayıcı Ağlarında Kara-Delik Saldırısına Karşı Geliştirilmiş Bir Güvenlik Algoritması Majid Meghdadi 1, Suat Özdemir 2, İnan Güler 3 1 Bilgisayar.
BİYOİNFORMATİK NEDİR? BİYOİNFORMATİKTE KULLANILAN SINIFLAMA YÖNTEMLERİ
ÇİZGE KURAMI Yılmaz KILIÇASLAN.
Veri Yapıları ve Algoritmaları ders_1
Oyunlar.
Graf notasyonu z x u y w v Graf: G = (N,E)
EE465: Introduction to Digital Image Processing Copyright Xin Li
Yapay Sinir Ağları (YSA)
AVL(Adel’son-Vel’skiĭ and Landis) Ağacı AVL ağacı, iki alt ağacının yükseklikleri farkının en fazla 1 olabildiği dengeli ikili arama ağacıdır. AVL ağacında.
Veri Madenciliği Birliktelik Analizi: Temel Kavramlar ve Algoritmalar
AB-2016 / Kablosuz Duyarga Ağlarında Yönlendirme Algoritmalarının Performans Analizi Yard. Doc Coşkun Atay Sinem Seçgin.
Tesis (Kuruluş) Yeri Seçimi
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
Dinamik programlama ve Açgözlü algoritma
GrafTeorisine İlişkin Bazı Tanımlar
Tanım: ( Temel Çevreler Kümesi)
Algoritmalar II Ders 6 Açgözlü Algoritmalar.
En kısa yol yön.alg. (shortes path routing alg.)
Algoritmalar II Ders 8 Açgözlü Algoritmalar.
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
SEMBOLLER.
Tamsayılı Doğrusal Programlama Algoritmaları
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
Çizge Algoritmalari 6. ders.
GrafTeorisine İlişkin Bazı Tanımlar
G grafının aşağıdaki özellikleri sağlayan Ga alt grafına çevre denir:
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
PROGRAMLAMA VE KODLAMAYA GİRİŞ
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
Algoritmanın Hazırlanması
Algoritma Nedir? Algoritmayı, herhangi bir problemin çözümü için izlenecek yolun adımlar halinde yazılması olarak tanımlayabiliriz. Algoritma, bir problemin.
Fırat Üniversitesi Mühendislik Fakültesi Elektrik-Elektronik Müh.
NİŞANTAŞI ÜNİVERSİTESİ
Algoritmalar II Ders 16 Prim algoritması.
Çizge Algoritmalari 10. Ders.
Sunum transkripti:

En Küçük Yol Ağacı (Minimum Spanning Tree) Yol ağacı, bir graf üzerinde tüm düğümleri kapsayan ağaç şeklinde bir yoldur. Ağaç özelliği olduğu için kapalı çevrim(çember) içermez. Bir graf üzerinde birden çok yol ağacı olabilir. En az maliyetli olan en küçük yol ağacı (minimum spanning tree) olarak adlandırılır.

MSP - Örnek 2 C 2 B B C 3 3 3 A 7 3 A 7 9 D E D E 15 6 2 2 B C B C 3 3 3 A A 9 14 D E D E 20 6 6

MST Hesaplama – Ağırlıksız Graf Graf ağırlıksızsa veya tüm kenarların ağırlıkları eşit ise MST nasıl bulunur? BSF veya DSF çalıştırın oluşan ağaç MST’dir A B C E D A B C E D A B C E D DFS(A) BFS(A)

Algoritmalar En küçük yol ağacını belirlemek için birçok algoritma geliştirilmiştir. Kruskal’ın Algoritması: Daha az maliyetli kenarları tek tek değerlendirerek yol ağacını bulmaya çalışır. Ara işlemler birden çok ağaç oluşturabilir. Prim’in Algoritması: En az maliyetli kenardan başlayıp onun uçlarından en az maliyetle genişleyecek kenarın seçilmesine dayanır. Bir tane ağaç oluşur. Sollin’in Algoritması: Doğrudan paralel programlamaya yatkındır. Aynı anda birden çok ağaçla başlanır ve ilerleyen adımlarda ağaçlar birleşerek tek bir yol ağacına dönüşür.

Greedy Yaklaşımı/Yöntemi Dolaşma yapılırken bir sonraki düğümü belirlemek için kullanılan bir karar verme/seçme yöntemidir. O andaki seçenekler içerisinden en iyi olarak gözükeni seçer. Bölgesel/yerel değerlendirmeler yapar. Yerel optimum daima global optimum anlamına gelmez dolayısıyla en iyi sonuca götürmeyebilir. Fakat bazı durumlarda en iyi sonuca götürür. (MST, en kısa yol alg. , Huffman coding)

Kruskal’ın Algoritması Graf üzerindeki düğümler, aralarında bağlantı olmayan N tane bağımsız küme gibi düşünülür. Daha sonra bu kümeler tek tek maliyeti en az olan kenarlarla birleştirilir (çevrim oluşturmayacak şekilde ). Düğümler arasında bağlantı olan tek bir küme oluşturulmaya çalışılır. Küme birleştirme işleminde en az maliyetli olan kenardan başlanılır; daha sonra kalan kenarlar arasından en az maliyetli olanlar seçilir.

Kruskal’ın Algoritması – Kaba Kod  

Kruskal’ın Algoritması: Örnek 7 8 b c d 4 2 9 4 14 a 11 i e 7 6 10 8 g f h 1 2 Sıralı kenar listesi (h, g) (h, g) (i, c) (i, c) (g, f) (g, f) (a, b) (a, b) (c, f) (c, f) (i, g) (i, g) (i, h) (i, h) (c, d) (c, d) (a, h) (a, h) (b, c) (b, c) (d, e) (d, e) (e, f) (e, f) (b, h) (b, h) (d, f) (d, f)

Prim’in Algoritması En küçük yol ağacını belirlemede kullanılan diğer bir algoritmadır. Greedy algoritmalarından biridir. Kruskal’ın algoritmasından tek farkı bir sonraki kenarı nasıl seçtiğidir.

Prim’in Algoritması Adım-1: Başlangıçta, herhangi bir noktayı ağacı oluşturmaya başlamak için seç. Adım-2: Oluşturulan ağaca eklemek için, şu ana kadar oluşturulmuş ağaç üzerinden erişilebilen ve daha önceden ağaca katılmamış olan en küçük ağırlıklı kenarı seç. Adım-3: Eğer bu kenarın ağaca katılması, bir çember oluşmasına sebep olmuyorsa, ağaca ekle. Adım-4: Ağaçtaki kenar sayısı (N-1)'e ulaşana kadar ikinci adıma geri dön.

Prim’in Algoritması r u 12 10 6 7 3 5 9 “u” eklendikten sonra ağaç 12 11 u u 4 5 Başlangıçtaki Ağaç (A)

Prim’in Algoritması - Örnek 7 8 4 2 9 4 14 11 7 6 10 8 1 2