Floyd Algoritması Floyd Algoritması Dijkstra algoritmasının daha genel halidir. Çünkü şebekedeki herhangi iki düğüm arasındaki en kısa yolu belirler. Algoritma,

Slides:



Advertisements
Benzer bir sunumlar
KONU :GÖRÜNTÜNÜN GEOMETRİK MODELLERİNİN KURULMASI
Advertisements

FONKSİYONLAR Hazırlayan:Ogün İçel.
AES (Advanced Encryption Standart)
DEMATEL Yrd. Doç. Dr. Hacer GÜNER GÖREN Pamukkale Üniversitesi
SINIFLANDIRMA VE REGRESYON AĞAÇLARI (CART)
Kofaktör Matrisler Determinantlar Minör.
MATRİSLER Şekildeki gibi bir cismin elemanlarından oluşan sıralı tabloya m x n tipinde bir matris denir. i= 1,2,3, .. , m ve j = 1,2,3, ... , n olmak üzere,
KARMA Ş IK SAYILAR Derse giriş için tıklayın... A. Tanım A. Tanım B. i nin Kuvvetleri B. i nin Kuvvetleri C. İki Karmaşık Sayının Eşitliği C. İki Karmaşık.
BAĞINTI SAYISI VE ÇEŞİTLERİ Kim korkar matematikten?
MODÜLER ARİTMETİK.
Kümeleme Modeli (Clustering)
MATLAB’İN SAYI YUVARLAMA FONKSİYONLARI
İçerik Ön Tanımlar En Kısa Yol Problemi Yol, Cevrim(çember)
Bellek Tabanlı Sınıflandırma
Kareköklü Sayılar TAM KARE OLMAYAN SAYILARIN KAREKÖKLERİNİ STRATEJİ KULLANARAK TAHMİN ETME.
MIT503 Veri Yapıları ve algoritmalar En önemli graf problemleri
Algoritma ve Akış Diyagramları
Tam Sayılarla Toplama Çıkarma.
Binary Ağaçlar (Ekleme/Silme Örnekleri)
ALGORİTMA ve PROGRAMLAMA
İçerik: Graflar Tanım Gösterim Dolaşma Algoritmaları
MATRİSLER ve DETERMİNANTLAR
MIT503 Veri Yapıları ve algoritmalar Veri ağaçları
DERS 2 MATRİSLERDE İŞLEMLER VE TERS MATRİS YÖNTEMİ
Kareköklü Sayılar.
MATRİS-DETERMİNANT MATEMATİK.
TAM SAYILAR.
SINIFLANDIRMA VE REGRASYON AĞAÇLARI
İŞLEM ve MODÜLER ARİTMETİK.
KÖKLÜ SAYILAR.
KONU: FONKSİYONLARIN LİMİTİ
KONU: MATRİSLER VE DETERMİNANTLAR
BM-103 Programlamaya Giriş Güz 2014 (4. Sunu)
Bölüm 7: Matrisler Fizikte birçok problemin çözümü matris denklemleriyle ifade edilir. En çok karşılaşılan problem türleri iki başlıkta toplanabilir. Cebirsel.
KENAN ZİBEK.
SONLU ELEMANLARA GİRİŞ DERSİ
Yrd. Doç. Dr. Mustafa AKKOL
SONLU ELEMANLAR DERS 4.
ENF 204 Bilgisayar Programlama Algoritma ve Akış Diyagramları
EREN MERCAN GÖKSU İLKÖĞRETİM OKULU
Öğretmenin; Adı Soyadı :
KARMAŞIK SAYILAR.
KARMAŞIK SAYILAR.
Prof. Dr. Halil İbrahim Karakaş
TBF Genel Matematik I DERS – 11: Belirsiz İntegral
ÇEMBER, DAİRE VE SİLİNDİR
Algoritmalar ve Programlama I Ders 2: Akış Diyagramları
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
ALGORİTMA VE AKIŞ ÇİZELGELERİ
Bilgisayar Grafikleri Ders 3: 2B Dönüşümler
RASYONEL SAYILAR.
ALGORİTMA DERS 3 AKIŞ ŞEMALARI.
Lineer Cebir (Matris).
BİLGİSAYAR PROGRAMLAMA DERSİ 6. DERS NOTU Konu: Matlab’ de Diziler ve Matrisler.
Kümeleme Modeli (Clustering)
HARİTANIN DİLİ.
Temel kanunlardan bizi ilgilendirenler şunlardır:
ÇARPANLAR ve KATLAR.
Tüm ikililer arasında en kısa yollar
Algoritmalar II Ders 1: Alan zaman takası yöntemi.
FOTOGRAMETRİ - I Sunu 3- 3 Eminnur Ayhan
MATEMATİKTE TAM SAYILARI ÖĞRENİYORUZ
X-IŞINLARI KRİSTALOGRAFİSİ
TAM SAYILAR.
İleri Algoritma Analizi
Algoritma Nedir? Algoritmayı, herhangi bir problemin çözümü için izlenecek yolun adımlar halinde yazılması olarak tanımlayabiliriz. Algoritma, bir problemin.
Çizge Algoritmalari 5. ders.
İleri Algoritma Analizi
Sunum transkripti:

Floyd Algoritması Floyd Algoritması Dijkstra algoritmasının daha genel halidir. Çünkü şebekedeki herhangi iki düğüm arasındaki en kısa yolu belirler. Algoritma, N düğümlü şebekeyi N satırlı ve N sütunlu kare matris olarak gösterir. Matrisin ( i , j ) elemanı, i. düğümden j. düğüme olan uzaklığı verir. i doğrudan j'ye bağlıysa bağlantı değeri, değilse sonsuz değeri alır.

Floyd Algoritması Floyd Algoritmasında Uzaklıklar Matrisi (D) ve Düğüm Sırası Matrisi ( S ) bulunur. D matrisi bağlantıları birer matematiksel bağıntı olarak ele alır ve ( i, j ) elemanını i. düğümden j. düğüme olan uzaklık olarak seçer. S matrisi düğümlerin bağlanma sırasını tutar. S(i,j)=j olmalıdır.Şebekenin bağlantıları, D ve S matrisleri aşağıda gösterilmiştir. ( 1 , 2 ) = 3 ( 2 , 1 ) = 3 ( 1 , 3 ) = 10 ( 3 , 1 ) = 10 ( 2 , 4 ) = 5 ( 4 , 2 ) = 5 ( 3 , 4 ) = 6 ( 4 , 3 ) = 6 ( 3 , 5 ) = 15 ( 4 , 5 ) = 4 ( 5 , 4 ) = 4 Bağlantı olmaması sonsuz uzaklık demektir.

Floyd Algoritması Genel kural; D ( i , j ) karesi için, D ( i, k ) + D ( k , j ) < D ( i , j ) var ise D ( i , j ) = D ( i , k ) + D ( k , j ) yazılır ve S( i , j ) = k yapılır. 0. Yineleme : D ve S matrisleri yukarıda şebekenin başlangıç durumunu vermektedir. D matrisindeki sonsuz ifadesi ilgili i ve j düğüm noktalarının bağlı olmadığı anlamına gelir. Ayrıca "-" ile gösterilen veriler de bir düğüm noktasının kendisi ile bağlı olamayacağını belirtir.

Floyd Algoritması 1. Yineleme : Anahtar satır ve sütun, yukarıda da görüldüğü gibi "MAVİ" renkle gösterilmektedir. K = 1'dir. Buna göre mavi kareler haricindeki bütün kareler taranırsa görülecektir ki D ( 2 , 1 ) + D ( 1 , 3 ) < D ( 2 , 3 ) ve D ( 3 , 1 ) + D ( 1 , 2) < D ( 3 , 2 ) olduğundan D ( 2 , 3 ) ve D ( 3 , 2 ) karelerinin değerleri (kırmızı kareler) genel kuralda olduğu gibi değiştirilir. D ( 2 , 3 ) = D ( 2 , 1 ) + D ( 1 , 3 ) ve D ( 3 , 2 ) = D ( 3 , 1 ) + D ( 1 , 2 ) S tablosunda da S ( 2 , 3 ) = 1 ve S ( 3 , 2 ) = 1 yapılır.

Floyd Algoritması 2. Yineleme : K = 2'dir. Genel kural yine tüm beyaz karelere uygulandığunda yukarıdaki gibi D ( 1 , 4 ) ve D ( 4 , 1 ) kareleri değişikliğe uğrar. D ( 1 , 4 ) = D ( 1 , 2 ) + D ( 2 , 4 ) ve D ( 4 , 1 ) = D ( 4 , 2 ) + D ( 2 , 1 ) S tablosunda da S ( 1 , 4 ) = 2 ve S ( 4 , 1 ) = 2 yapılır.

Floyd Algoritması 3. Yineleme : K = 3'tür. Genel kural yine tüm beyaz karelere uygulandığunda yukarıdaki gibi D ( 1 , 5 ) ve D ( 2 , 5 ) kareleri değişikliğe uğrar. D ( 1 , 5 ) = D ( 1 , 3 ) + D ( 3,5) ve D ( 2 , 5 ) = D ( 2 , 3 ) + D ( 3 , 5 ) S tablosunda da S ( 1 , 5 ) = 3 ve S ( 2 , 5 ) = 3 yapılır. 15

Floyd Algoritması Algoritma bu şekilde N. adıma kadara gider. Tüm adımları yukarıdaki tablolardan görebilirsiniz. Artık şebeke üzerindeki herhangi iki düğüm noktası için gereken tüm bilgiler D ve S tablosunda mevcuttur. Tek yapılması gereken iki tablodan da bilgileri belli bir sistematikle okumaktır. Örnek : 1 ile 5 arasındaki en kısa uzaklık D tablosunda 12 olarak belirtilmiştir. Şimdi rotayı S tablosundan bulalım. S ( i , j ) = j olduğunda tam bağlantı vardır. S ( 1 , 5 ) = 4'tür. O halde 1 ile 5 arasına 4 yazılır. 1 --> 4 --> 5 En baştan itibaren sayılar ikili ikili kontrol edilir. S ( 1 , 4 ) = 2 O halde 1 ile 4 arasına da 2 yazılacaktır. 1 --> 2 --> 4 --> 5 Yine en baştan kontrol edilirse; S( 1 , 2 ) = 2 , S ( 2 , 4 ) = 4 ve S ( 4 , 5 ) = 5 'tir. O halde rota tamamlanmıştır. Örnek : 3.düğüm noktası ile 2. düğüm noktası arasındaki en kısa uzaklığı bulalım. S ( 3 , 2 ) = 4'tür. O halde 3 ile 2 arasına 4 yazılır. 3 --> 4 --> 2 Bu rotayı ikili ikili kontrol edelim. S( 3 , 4 ) = 4 ve S ( 4 , 2 ) = 2 O halde rota tamamlanmıştır. D ( 3 , 2 ) = 11 olduğundan rota 3 --> 4 --> 2 ve uzaklık 11 birimdir.

Floyd Algoritması S C D A B H F E G 3 2 1 5 4 0. yineleme: S H G F E D - 1 ∞ 2 3 5 4 8 7 6 9 D0: S0: 0. yineleme:

Floyd Algoritması S H G F E D C B A - 1 ∞ 2 3 5 9 4 8 7 6 1. yineleme: 14

Floyd Algoritması S H G F E D C B A - 8 7 3 5 2 1 9 6 4 ∞ 14 3. yineleme: D3: S3: 4. yineleme: D4: S4: 10 16 12 11

Floyd Algoritması 5. yineleme: D5: S5: 6. yineleme: D6: S6: S H G F E C B A - 8 4 3 5 9 6 2 1 7 14 10 12 11

Floyd Algoritması 7. yineleme: D7: S7: 8. yineleme: D8: S8: 7 8 - 1 6 2 5 3 4 S H G F E D C B A 9 S-A ARASI EN KISA YOL 8 DİR