1 / 23

Graph -definition

Graph -definition. V : vertex set (頂点集合). A⊆V×V: arc set (枝集合). vertex (頂点). arc (枝). G=(V, A) discrete structure (離散構造). 3. グラフ探索. to examine the vertices and arcs of a graph, systematically. depth first search(DFS)  深さ優先探索 breadth first search(BFS)   幅優先探索. DFS (深さ優先探索).

Download Presentation

Graph -definition

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Graph -definition V : vertex set(頂点集合) A⊆V×V: arc set(枝集合) vertex (頂点) arc(枝) G=(V, A) discrete structure(離散構造)

  2. 3.グラフ探索 to examine the vertices and arcs of a graph, systematically. • depth first search(DFS) 深さ優先探索 • breadth first search(BFS)  幅優先探索

  3. DFS(深さ優先探索) from a vertex v already treated, we proceed to any vertex w adjacent to v which was not yet treated and, after having examined w, continue to look for the next unlabeled vertex directly from w.

  4. DFS example true v w Initialization a (= s) Av c d b e g f h

  5. DFS property(1) Each arc in the connected component of s is used exactly once in each direction during DFS a (= s) c d b e g f h

  6. DFS property(2) A’={(p(v), v) | v ∈V} When G is connected, T=(V, A’) is a spanning directed tree with root s. --- Depth first search tree a (= s) c d b e g f h

  7. BFS(幅優先探索) Process all the neighbors of the starting vertex. Then process all the neighbors of neighbors of the starting vertex. And so on.

  8. BFS example Q= [ ] a b c d e f g h v w Av a (= s) c d b e g f h

  9. BFS property (1) Each arc in the connected component of s is used exactly once in each direction during BFS a (= s) c d b e g f h

  10. BFS property (2) A’={(p(v), v) | v ∈V} When G is connected, T=(V, A’) is a spanning directed tree with root s. ---- Breadth first search tree a (= s) c d b e g f h

  11. BFS property (3) If v and v’ are two vertices in the same connected component, there is a path of shortest length l between v and v’. Then v and v’ are said to have distance l = d(v, v’) At the end of BFS, d(s, t) = d(v), if d(v) is defined. a (= s) c d b e g f h

  12. For digraph We can apply DFS and BFS to digraphs. (DFS) Av a (= s) c d b e g f h

  13. Finding strongly connected components We can determine strongly connected components in a digraph G by executing the (modified) DFS both for G and for the directed graph having opposite orientation.

  14. DFS+ nr(v) gives the order in which the vertex v is reached Nr(v) gives the order in which the examination of the vertex v is finished input Graph G and a vertex s begin set nr(v)←0, p(v)←0, Nr(v)←0 for all v∈V; set u(a)←false for all a∈A; set i ←1, v←s, nr(s)←1, j←0; repeat while there exists w∈Av with u(vw)=false do begin choose some w∈Av with u(vw)=false ; set u(vw)←true; ifnr(w) = 0then set p(w)←v, i←i+1, nr(w)←i, v←w; end set j←j+1, Nr(v)← j,v←p(v); untilv=s and u(sw)=true for all w∈As; end.

  15. DFS+ example 6 5 2 3 4 1

  16. DFS+ property in the same tree, but v is not descendant nor ancestor of x and x is accessible from v in different DFS trees v is descendant of x v x x x v v If Nr(v) <Nr(x) for two vertices v, x v is accessible from x

  17. Algorithm for strongly connected component SCC input digraph G begin apply DFS+ to G and obtain Nr; construct the digraph H by reversing the orientation of all arcs of G; set k←0; repeat choose the vertex r in H for which Nr(r) is maximal; apply DFS+ to H where the starting vertex s=r. set k←k+1, Ck←{v ∈V | nr(v) ≠0}; set H←H\Ck; until the vertex set of H is empty; end. C1, C2, …,Ck are vertex sets of strongly connected components

  18. SCC example 6 3 2 5 1 4

  19. SCC correctness two vertices v and w are in the same set Ci two vertices v and w are in the same strong component ⇔ (⇒) v and w are in the same strong component ⇒ there are directed paths from v to w and from w to v in G ⇒ there are directed paths from v to w and from w to v in H ⇒ w.l.o.g. v is reached before w in DFS on H, v∈Ci , then w∈Ci

  20. SCC correctness two vertices v and w are in the same set Ci two vertices v and w are in the same strong component ⇔ (⇒) v and w are in the same set Ci ⇒ v and w are in the same DFS tree Ti Let x be the root of Ti ⇒ Nr(x)>Nr(v) and v is accessible from x Nr(x)>Nr(w) and w is accessible from x ⇒ x is accessible from v x is accessible from w x v w

  21. Acyclic(非閉路)digraph not contain a directed cycle

  22. Acyclic graph example 1 2 4 3 5 topological order :o 7 6 for any arc(v, w), o(v) < o(w) 8 socks undershorts shoes shirt pants tie belts jacket

  23. Topological sort Let G be a directed acyclic graph. Then G contains at least one vertex with din (v) = 0, where din (v) denotes the number of arcs having head v. 4 3 5 1 8 6 2 7 9

More Related