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)
İ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...
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...