Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Çizgeler Çizge G=(V,E), ikilisine denir, burada V sonlu bir kümedir, E ise bu kümenin elemanları arasında ikili bir bağıntıdır. V kümesine G çizgesinin.

Benzer bir sunumlar


... konulu sunumlar: "Çizgeler Çizge G=(V,E), ikilisine denir, burada V sonlu bir kümedir, E ise bu kümenin elemanları arasında ikili bir bağıntıdır. V kümesine G çizgesinin."— Sunum transkripti:

1 Çizgeler Çizge G=(V,E), ikilisine denir, burada V sonlu bir kümedir, E ise bu kümenin elemanları arasında ikili bir bağıntıdır. V kümesine G çizgesinin köşeler(vertex) kümesi denir. E kümesine ise G çizgesinin kirişler kümesi (edge set) denir. Çizgelerin 2 çeşidi vardır: yönlü ve yönsüz

2 Yönlü çizge örneği Öz-döngüler(Self-loops)-yani bir köşenin kendisinden kendisine kirişler olabilir. 1 4 3 2 5 6

3 Yönsüz çizgelere örnek
1 5 3 2 4

4 Tanımlar Yönlü ve yönsüz çizgeler için bir çok tanım aynıdır.
Sadece bazı kavramlar az da olsa farklılık göstermektedir. Eğer (u,v) yönlü G=(V,E) çizgesinin bir kirişi ise, (u,v) kirişi u köşesinden çıkıyor ve v köşesine giriyor denir. Eğer (u,v) yönsüz G=(V,E) çizgesinin bir kirişi ise, (u,v) kirişi u ve v köşelerini bağlıyor denir. Eğer (u,v) G=(V,E) çizgesinin bir kirişi ise v köşesi u köşesinin komşusudur (adjacent) denir.

5 Tanımlar Yönsüz bir çizgede bir köşesinin derecesi bu köşeye bağlı kirişlerin sayısına eşittir. 0 dereceli köşeye tecrit olunmuş(isolated) köşe denir. Yönlü çizgelerde, bir köşenin dış-derecesi bu köşeden çıkan kirişlerin sayısına eşittir. Yönlü çizgelerde, bir köşenin iç-derecesi bu köşeye giren kirişlerin sayısına eşittir. Yönlü çizgelerde, bir köşenin derecesi bu köşenin dış-derecesi ile iç-derecesinin toplamına eşittir.

6 Tanımlar Bir G=(V,E) çizgesinde u köşesinden w köşesine olan k uzunluklu yol, köşelerin (v0,v1,…,vk) dizisine denir, burada u=v0,w=vk ve {(v0,v1),(v1,v2),…(vk-1),vk)} kümesi E nin bir altkümesidir. Bir yolun uzunluğu bu yoldaki kiriş sayısına eşittir. Eğer u köşesinden w köşesine bir p yolu varsa w köşesi u köşesinden p yolu ile ulaşılabilirdir(reachable) denir. Bir yoldaki tüm köşeler birbirinden farklı ise bu yola basit (simple) yol denir.

7 Tanımlar Eğer yönlü bir çizgenin (v0,v1,…vk) yolunda v0=vk ve yolda en az bir kiriş varsa bu yola devir(cycle) denir. Eğer bir devirde başlangıç ve son köşe dışında diğer tüm köşeler farklı ise bu devire basit devir. Yönlü çizgede basit devirde öz-döngü olamaz.A directed graph with no self-loops is simple. Yönsüz bir çizgede (v0,v1,…vk) yolunda k>=3, v0=vk ve başlangıç ve son köşeler dışında tüm köşeler farklı ise bu yola devir denir. Bir çizgede devir yoksa bu çizgeye devirsiz çizge denir.

8 Tanımlar Yönsüz bir çizgede her hangi 2 köşenin birinden diğerine yol varsa bu çizgeye bağlantılı (connected ) çizge denir. Bir çizgenin köşelerinin “ulaşılabilir” bağıntısının oluşturduğu denklik sınıflarına bağlantılı bileşenleri (connected components) denir. Yönlü bir çizgede eğer her hangi 2 köşe birbirinden ulaşılabilirse bu çizgeye kuvvetli bağlantılı (strongly connected) çizge denir. Yönlü bir çizgenin köşelerinin “karşılıklı ulaşılabilir” bağıntısının oluşturduğu denklik sınıflarına kuvvetli bağlantılı bileşenleri (strongly connected components) denir.

9 Tanımlar G1=(V1,E1) ve G=(V,E) çizgeleri için eğer V1 kümesi V nin ve E1 kümesi E nin altkümesi ise G1=(V1,E1) çizgesine G=(V,E) çizgesinin altçizgesi (subgraph) denir. Her hangi 2 köşesi bir birine komşe olan yönsüz bir çizgeye tam çizge(complete graph) denir. Yönsüz bir G=(V,E) çizgesinde V kümesi V1 ve V2 gibi 2 kümeye ayrılabiliyorsa ve bir (u,v) ikilisinin E nin elemanı olmasından ya u nun V1 de ve v nin V2 de olması ya da tam tersı u nun V2 de ve v nin V1 de oması çıkarsa bu çizgeye iki kümeli (biparite graph) çizge denir.

10 Çizgelerin gösterimi Komşuluk listesi: (V+E) Seyrek(sparce) çizgeler için tercih edilir, yani |E| << |V|2 Adj[u] listesi (u, v) E koşulunu sağlayan tüm v köşelerinin listesidir. Ağırlıklı çizgelerde (weighted graphs): ağırlık w(u, v) sayısı Adj[u] listesinde v ile birlikte tutulur. Bu yöntemin eksik yönü, verilen ikilinin çizgenin köşesi olduğunu hızlı bulamıyoruz. Komşuluk matrisi: (V2) Yoğun(dense) çizgeler için tercih edilir. Yönsüz çizgelerde simetriktir Ağırlıklı çizgelerde (u,v) yerinde w(u, v) tutulur. (u,v) nin giriş olup olmadığı anında bulunur.

11 Yönsüz çizge gösterimi

12 Yönlü çizge gösterimi 1 bit per entry

13 Ağaçlar ve örten ağaçlar
ağaç: devir içermeyen bağlantılı çizgeye denir orman: devir içermeyen (bağlantılı veya bağlantısız) çizgeye denir. Örten ağaç(spanning tree) köşeleri G çizgesinin köşeleri ile aynı olan ve ağaç olan bir altçizgedir.

14 G nin bazı örten ağaçları :
Örten ağaç örnekleri G G nin bazı örten ağaçları : T1 T3 T2

15 Bir çok çizge algoritmasında çizgenin tüm
köşelerinde gezinme gereksinimi bulunur. Çizgede arama için 2 yöntem vardır: a) Derinlik öncelikli arama (depth-first search (DFS)) b) Genişlik öncelikli arama ( bread-first search (BFS))

16 GENİŞLİK ÖNCELİKLİ ARAMA (BREADTH FIRST SEARCH (BFS))
Giriş: Yönlü veya yönsüz G=(V, E) çizgesi ve s başlangıç köşesi Amaç: G çizgesinde • s den ulaşılabilir tüm köşeleri bulmak •s den ulaşılabilir tüm köşeler olan en kısa uzaklıkları bulmak •Kökü s de olan genişlik öncelikli ağacı(BFT) üretmek −BFT ağacında s den ulaşılabilir tüm köşeler vardır −her v köşesi için s den v ye tek yol vardır ve bu yol G de en kısadır Ana Fikir: Bulunduğumuz köşenin tüm komşularını öncelikle ziyaret etmek ve bunun için FIFO kuyruğu kullanmak

17 Algoritmada her u∈V köşesi için aşağıdakiler kullanılır: •color[u]: u nun rengi−WHITE : yani henüz keşfedilmemiş −GRAY : kendisi keşfedildi ama keşfedilmemiş komşuları vardır −BLACK: kendisi ve tüm komşuları keşfedildi •Π[u]: u nun velisi(u=s ise veya u henüz keşfedilmemişse NIL olur) u yu hangi köşenin komşusu olarak keşfettiğimizi gösterir •d[u]: s den u ya olan uzaklık

18 Copyright © The McGraw-Hill Companies, Inc
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

19 Breadth First Search - A B C D E F G H I front FIFO Queue

20 Breadth First Search A - enqueue source node FIFO Queue front A B C D
G H I enqueue source node A front FIFO Queue

21 Breadth First Search A - dequeue next vertex FIFO Queue front A B C D
G H I dequeue next vertex A front FIFO Queue

22 Breadth First Search - visit neighbors of A FIFO Queue front A B C D E

23 Breadth First Search - visit neighbors of A FIFO Queue front A B C D E

24 Breadth First Search B - A B discovered FIFO Queue front A B C D E F G

25 Breadth First Search B - A visit neighbors of A FIFO Queue front A B C

26 Breadth First Search B I - A A I discovered FIFO Queue front A B C D E
G H I A I discovered B I front FIFO Queue

27 Breadth First Search B I - A A finished with A FIFO Queue front A B C
G H I A finished with A B I front FIFO Queue

28 Breadth First Search B I - A A dequeue next vertex FIFO Queue front A
G H I A dequeue next vertex B I front FIFO Queue

29 Breadth First Search I - A A visit neighbors of B FIFO Queue front A B

30 Breadth First Search I - A A visit neighbors of B FIFO Queue front A B

31 Breadth First Search I F - A B A F discovered FIFO Queue front A B C D
G H B I A F discovered I F front FIFO Queue

32 Breadth First Search I F - A B A visit neighbors of B FIFO Queue front

33 Breadth First Search I F - A B A A already discovered FIFO Queue front
G H B I A A already discovered I F front FIFO Queue

34 Breadth First Search I F - A B A finished with B FIFO Queue front A B
G H B I A finished with B I F front FIFO Queue

35 Breadth First Search I F - A B A dequeue next vertex FIFO Queue front
G H B I A dequeue next vertex I F front FIFO Queue

36 Breadth First Search F - A B A visit neighbors of I FIFO Queue front A

37 Breadth First Search F - A B A visit neighbors of I FIFO Queue front A

38 Breadth First Search F - A B A A already discovered FIFO Queue front A
G H B I A A already discovered F front FIFO Queue

39 Breadth First Search F - A B A visit neighbors of I FIFO Queue front A

40 Breadth First Search F E - A I B A E discovered FIFO Queue front A B C
G H I B I A E discovered F E front FIFO Queue

41 Breadth First Search F E - A I B A visit neighbors of I FIFO Queue
front FIFO Queue

42 Breadth First Search F E - A I B A F already discovered FIFO Queue
G H I B I A F already discovered F E front FIFO Queue

43 Breadth First Search F E - A I B A I finished FIFO Queue front A B C D
G H I B I A I finished F E front FIFO Queue

44 Breadth First Search F E - A I B A dequeue next vertex FIFO Queue
G H I B I A dequeue next vertex F E front FIFO Queue

45 Breadth First Search E - A I B A visit neighbors of F FIFO Queue front

46 Breadth First Search E - A I B F A G discovered FIFO Queue front A B C

47 Breadth First Search E G - A I B F A F finished FIFO Queue front A B C

48 Breadth First Search E G - A I B F A dequeue next vertex FIFO Queue
front FIFO Queue

49 Breadth First Search G - A I B F A visit neighbors of E FIFO Queue
front FIFO Queue

50 Breadth First Search G - A I B F A E finished FIFO Queue front A B C D

51 Breadth First Search G - A I B A dequeue next vertex FIFO Queue front

52 Breadth First Search - A I B F A visit neighbors of G FIFO Queue front

53 Breadth First Search C - A G I B F A C discovered FIFO Queue front A B

54 Breadth First Search C - A G I B F A visit neighbors of G FIFO Queue
front FIFO Queue

55 Breadth First Search C H - A G I B F G A H discovered FIFO Queue front

56 Breadth First Search C H - A G I B F G A G finished FIFO Queue front A

57 Breadth First Search C H - A G I B F G A dequeue next vertex
front FIFO Queue

58 Breadth First Search H - A G I B F G A visit neighbors of C FIFO Queue
front FIFO Queue

59 Breadth First Search H - A G C I B F G A D discovered FIFO Queue front

60 Breadth First Search H D - A G C I B F G A C finished FIFO Queue front

61 Breadth First Search H D - A G C I B F G A Get next vertex FIFO Queue
front FIFO Queue

62 Breadth First Search D - A G C I B F G A visit neighbors of H
front FIFO Queue

63 Breadth First Search D - A G C I B F G A H finished FIFO Queue front A

64 Breadth First Search D - A G C I B F G A dequeue next vertex
front FIFO Queue

65 Breadth First Search - A G C I B F G A visit neighbors of D FIFO Queue
front FIFO Queue

66 Breadth First Search - A G C I B F G A D finished FIFO Queue front A B

67 Breadth First Search - A G C I B F G A dequeue next vertex FIFO Queue
front FIFO Queue

68 Breadth First Search - A G C I B F G A STOP FIFO Queue front A B C D E

69 Genişlik öncelikli ağaç (Breadth-first Tree(BFT))
Başlangıç köşesi s olan G = (V, E) çizgesi için G = (V , E) alt çizgesi elde edildi V ={vV : [v]  NIL}{s} E ={([v],v)E : v  V - {s}} G çizgesi aşağıdaki koşulları sağlıyorsa bu çizgeye genişlik öncelikli ağaç (BFT) denir: V kümesi s den ulaşılabilir tüm köşelerin kümesidir ve tüm vV için G de s den v ye basit ve tek yol vardır ve bu yol G de s den v ye en kısa yoldur. E kümesindeki kirişlere ağaç kirişleri denir. |E | = |V | - 1.

70 BFT Aşağıdaki algoritma s den v ye olan en kısa yolu yazıyor. (Bu algoritma BFS algoritması bittikten sonra çalıştırılmalıdır)

71 Print-Path(G,s,v) 1 if v=s 2 then print s 3 else if π[v]=NIL 4 then print “no path from” s “to” v “exists” 5 else Print-Path(G,s,π[v]) 6 print v


"Çizgeler Çizge G=(V,E), ikilisine denir, burada V sonlu bir kümedir, E ise bu kümenin elemanları arasında ikili bir bağıntıdır. V kümesine G çizgesinin." indir ppt

Benzer bir sunumlar


Google Reklamları