Mustafa Kemal Üniversitesi

Transkript

Mustafa Kemal Üniversitesi
Algoritma Geliştirme ve Veri Yapıları – 10
Graf Veri Modeli
Mustafa Kemal Üniversitesi
Graf Veri Modeli
• Graf, matematiksel anlamda, düğümler ve bu düğümler
arasındaki ilişkiyi gösteren kenarlardan oluşan bir
kümedir; mantıksal ilişki düğüm ile düğüm veya düğüm
ile kenar arasında kurulur. Bir graf üzerinde n tane
düğüm ve m tane kenar varsa, matematiksel
gösterilimi, düğümler ve kenarlar kümesinden
elamanların ilişkilendirilmesiyle yapılır:
• G={D,K}
• D={d0, d1, d2, d3 … dn-1, dn}
• K ={k0, k1, k2, k3 … kn-1, kn}
Mustafa Kemal Üniversitesi
- Graf
- Düğüm Kümesi
- Kenar Kümesi
Graf Veri Modeli
Mustafa Kemal Üniversitesi
Graf Veri Modeli
•
Komşuluk Matrisi (Adjacency Matrice):
Düğümlerden düğümlere olan bağlantıyı gösteren bir kare matrisdir; komşuluk matrisinin elemanları ki
değerlerinden oluşur. Komşuluk matrisi Gdd'nin matrisel şekilde gösterilmesinden oluşur. Eğer komşuluk matrisi
Gdd=[aij] ise, yönlü-maliyetsiz graflar için
olur; basit (yönsüz-maliyetsiz) graflar için ise,
•
Bitişiklik Matrisi (Incedence Matrice):
Düğümlerle kenarlar arasındaki bağlantı/bitişiklik ilişkisini gösteren bir matrisdir; matrisin satır sayısı düğüm, sütun
sayısı kenar sayısına kadar olur. Bitişiklik matrisi Gdk'nin matrisel şekilde gösterilmesinden oluşur. Eğer bitişiklik
matrisi Gdk=[mij] ise, maliyetsiz graflar için,
•
Düğüm Derecesi (Node Degree): Düğüme bağlı toplam uç sayısıdır; çevrimli kenarlar aynı düğüme hem çıkış hem
de giriş yaptığı için dereceyi iki arttırır. Yönlü graflarda, düğüm derecesi giriş derecesi (input degree) ve çıkış
derecesi (output degree) olarak ayrı ayrı belirtilir.
Mustafa Kemal Üniversitesi
Graf Veri Modeli
Mustafa Kemal Üniversitesi
Graf Veri Modeli
• Tamamlanmış Graf: Herbir düğümü arasında
doğrudan birebir bağlantı olan graflardır.
Düğüm sayısı n için; düğüm derecesi (n-1),
kenar sayısı n(n-1)/2 tanedir.
• Düzenli Graf: Tüm düğümlerinin derecesi aynı
olan graftır. Tamamlanmış graf aynı zamanda
düzenli bir graftır.
• Düzlemsel Graf: Hiçbir kenarı birbirini
kesmeyen graf türüdür.
Mustafa Kemal Üniversitesi
Graf Veri Modeli
• Yol ve Yol Ağacı: Belirtilen iki düğüm arasında doğrudan
yada dolaylı olarak kurulan bağlantıdır. Yol ağacı ise, bir
graf üzerinde tüm düğümlere herhangi bir çevrim
oluşturmadan gidilen yoldur; graf üzerinde birden fazla
yol ağacı olabilir.
• Çevrim: Başlangıç ile bitiş düğümü aynı olan kapalı yol;
çevrim uzunluğu kapalı yol üzerindeki kenar sayısıdır.
• Dolaşı: Birbirine bitişik olan düğüm-ayrıt-düğüm
sıralanımıdır, diğer bir deyişle düğümler arasında
kendilerine bağlı bulunan ayrıtlar üzerinden
gidilebilmesidir.
Mustafa Kemal Üniversitesi
Graf Veri Modeli
• Hamilton Grafı: Herbir düğümden yalnızca bir kez
geçilmesi
koşuluyla
kapalı
bir
dolaşı
gerçeklenebilen graftır. Hamiltonsal çevrim ise,
graf üzerinde her düğümü kapsayan kapalı bir
yolun olmasıdır.
• Euler Grafı: Üzerinde kenarların tekrarlanmadığı
bir dolaşı, yani kapalı bir gezi yapılabilen graftır.
Euler grafında bütün düğümlerin dereceleri çifttir.
Eulersel çevrim, graf üzerindeki herbir kenarı
kapsayan kapalı bir gezi yapılabilecek yolun
olmasıdır.
Mustafa Kemal Üniversitesi
Graf Veri Modeli
Graf Renklendirme
• Graf üzerinde birbirine komşu olan düğümlere
farklı renk atama işlemidir, en az sayıda renk
kullanılarak tüm düğümlere komşularından
farklı birer renk verilir.
• Graf renklendirme işleminde kullanılan
algoritmalardan birisi Welch ve Powel’in
önerdiği yöntemdir. Bu yöntem genel olarak
düğümlerin derecelerine dayanmaktadır.
Mustafa Kemal Üniversitesi
Graf Veri Modeli
Welch ve Powel Algoritması
• Düğümler derecelerine göre büyükten küçüğe
doğru sıralanır.
• İlk renk birinci sıradaki düğüme uygulanır ve daha
sonra aynı renk birbirine bitişik olmayacak
biçimde diğer düğümlere verilir.
• Bir sonraki renge geçilir; bu renk sıradaki derecesi
en yüksek olan düğüme atanır. Bu renk daha önce
renklendirilmemiş düğümlere birbirine bitişik
olmayacak şekilde verilerek tekrarlanır.
Mustafa Kemal Üniversitesi
Graf Veri Modeli
•
•
•
Kırmızı: Ankara
Mavi: Adana, İzmir ve Trabzon
Turuncu: Antalya, İstanbul ve Diyarbakır
Adana-Ankara bağlantısı kesilirse;
• Kırmızı :Ankara ve Adana
• Mavi: Antalya, Diyarbakır, İstanbul ve Trabzon
• Turuncu: İzmir
Mustafa Kemal Üniversitesi
Graf Veri Modeli
Soru: d0, .., dn ders olmak üzere
Öğrenci-1:d0, d1, d3 Öğrenci-2:d0, d2, d4
Öğrenci-3:d2, d3, d5 Öğrenci-4:d3, d4, d5
• Kaç sınav oturumu gerekir?
• Hangi derslerin sınavı aynı anda yapılabilir?
• Öğrenci-4, d4 dersini bırakırsa sınav yerleşimi
nasıl etkilenir?
Mustafa Kemal Üniversitesi
Graf Veri Modeli
Graf Üzerinde Dolaşma:
• DFS (Depth First Search), graf üzerinde dolaşma
yöntemlerinden birisidir; önce derinlik araması olarak
adlandırılabilir; başlangıç düğümünün bir kenarından
başlayıp o kenar üzerinden gidilebilecek en uzak (derin)
düğüme kadar sürdürülür.
Mustafa Kemal Üniversitesi
Graf Veri Modeli
Graf Üzerinde Dolaşma:
• BFS (Breadth First Search), önce genişlik araması olarak
adlandırılabilir. Bu yöntemin DFS'den farkı, dolaşmaya,
başlangıç düğümünün bir kenarı ayrıtı üzerinden en uzağa
gidilmesiyle değil de, başlangıç düğümünden gidilebilecek tüm
komşu düğümlere gidilmesiyle başlanır(en kısa yol
algoritmasıdır).
Mustafa Kemal Üniversitesi
Graf Veri Modeli
Çeşitli Graf Algoritmaları:
• Greedy Yaklaşımı/Yöntemi: Greedy yaklaşımı, graf
üzerinde belirli bir konuda optimum sonucu veya en iyi
sonucu bulabilmek amacıyla dolaşma yapılırken bir
sonraki düğümü belirlemek için kullanılan bir karar
verme/seçme yöntemidir. Greedy yaklaşımında o
andaki seçenekler içerisinden en iyi olarak görüneni
seçer; kriteri bölgesel/yerel değerlendirmelere göre
yapılmakta olup seçilenin global olarak tüm sistem için
en iyi seçim olacağı öngörülür. Bu algoritma daha çok
en kısa yol ağacı ve en kısa yolu bulan algoritmalarda
kullanılır.
Mustafa Kemal Üniversitesi
Graf Veri Modeli
• Dijkstra'nın Algoritması: Belirli bir başlangıç
noktasına göre en kısa yolu belirleyen bir
algoritmadır; bir düğümden, yani başlangıç
düğümünden, diğer tüm düğümlere olan en
kısa yolu belirler. Ağırlıklı ve yönlü graflar için
geliştirilmiş olup graf üzerindeki herbir kenarın
ağırlığı sıfır veya sıfırdan büyük sayıdır.
Dijkstra'nın algoritması en kısa yolu belirlerken
Greedy yaklaşımını kullanır.
Mustafa Kemal Üniversitesi
Graf Veri Modeli
• Dijkstra'nın Algoritması: A başlangıç noktası
Mustafa Kemal Üniversitesi
Graf Veri Modeli
• Dijkstra'nın Algoritması: A başlangıç noktası
• Sonraki adımlar benzer şekilde gerçekleştirilir
Mustafa Kemal Üniversitesi
Graf Veri Modeli
Örnek1: a başlangıç noktası
Mustafa Kemal Üniversitesi
Graf Veri Modeli
Mustafa Kemal Üniversitesi
Graf Veri Modeli
Mustafa Kemal Üniversitesi
Graf Veri Modeli
Mustafa Kemal Üniversitesi
Graf Veri Modeli
Mustafa Kemal Üniversitesi
Graf Veri Modeli
Mustafa Kemal Üniversitesi
Harf
Rota
Maliyet
a
-
0
b
f
7
c
a
4
d
b
9
e
c
8
f
c
5
Graf Veri Modeli
Örnek2: a başlangıç noktası
Mustafa Kemal Üniversitesi
Graf Veri Modeli
Mustafa Kemal Üniversitesi
Graf Veri Modeli
Mustafa Kemal Üniversitesi
Harf
Rota
Maliyet
a
-
0
b
c
7
c
a
3
d
b
9
e
c
5
Graf Veri Modeli
Yol Ağaçları
• Kruskal'ın Algoritması: En küçük yol ağacını
belirlemek için kullanılır; algoritmik ifadesi
davranışsal olarak oldukça basittir; ancak
gerçeklenmesi için bazı yardımcı fonksiyonlara
gerek duyulur. Başlangıçta düğümler arasında
herhangi bir bağlantı yok gibi düşünülür ve
ardından düğümler tek tek ve çevrim
oluşturmayacak biçimde bağlanır; eğer bir düğüm
çevrim oluşturuyorsa o düğüm atlanır.
Mustafa Kemal Üniversitesi
Graf Veri Modeli
Mustafa Kemal Üniversitesi
Graf Veri Modeli
Mustafa Kemal Üniversitesi
Graf Veri Modeli
Mustafa Kemal Üniversitesi

Benzer belgeler

Graf Teorisi (Graph Theory)

Graf Teorisi (Graph Theory) İzomorfik (Isomorphic) Graflar Đki grafın izomorfik olup olmadığı nasıl kontrol edilir ?  Kenar sayıları aynı olmalıdır.  Düğüm sayıları aynı olmalıdır.  Düğüm dereceleri aynı olmalıdır.  Düğüm...

Detaylı

graf - WordPress.com

graf - WordPress.com Bunu görmek için G bağlı ve Euler yoluna sahip olsun. G bağlı olduğundan Euler yolunun düğüm dizisi bütün düğümleri içerir. Yol ne zaman bir düğümden geçse bu derecesine iki katkı yapar. Tüm ayrıtl...

Detaylı