Presentation is loading. Please wait.

Presentation is loading. Please wait.

5.4 Shortest-path problem  Let G=(V,E,w) be a weighted connected simple graph, w is a function from edges set E to position real numbers set. We denoted.

Similar presentations


Presentation on theme: "5.4 Shortest-path problem  Let G=(V,E,w) be a weighted connected simple graph, w is a function from edges set E to position real numbers set. We denoted."— Presentation transcript:

1 5.4 Shortest-path problem  Let G=(V,E,w) be a weighted connected simple graph, w is a function from edges set E to position real numbers set. We denoted the weighted of edge {i,j} by w(i,j), and w(i,j)=+  when {i,j}  E  Definition 21: Let the length of a path p in a weighted graph G =(V,E,w) be the sum of the weights of the edges of this path. We denoted by w(p). The distance between two vertices u and v is the length of a shortest path between u and v, we denoted by d(u,v).

2  Dijkstra’s algorithm (E.W.Dijkstra)  Let G=(V,E,w) and |V|=n where w>0. Suppose that S is a nonempty subset of V and v 1  S. Let T=V-S. Example: Suppose that (u,v',v'',v''',  v) is a shortest path between u and v. Then (u,v',v'',v''') is a shortest path between u and v'''.

3  Let v  T. l(v) be the length of a shortest path from v1 to v containing only vertices in S.

4  l(e)=?  a,b,e 6;  a,b,c,e 4, l(e)=4?  。  Note:l(v) is the length of a shortest path from v1 to v containing only vertices in S.  l(e)=6, l(d)=8  l(z)=  。 Example : S={a,b}, T={c,d,e,z} l(c) : a  c : a,c 4 a,b,c 3, l(c)=3 。

5  l(c)=3 , l(e)=6, l(d)=8, l(z)=  。  min v  T {l(v)}=l(c)=3 is the length of a shortest path from a to c.  Theorem 5.12 : Suppose that min v  T {l(v)}= l(v'). Then the length of the shortest path from v 1 to v' is l (v').

6  Proof: Suppose that there is a path p from v 1 to v', and the length of this path less than l(v').  Then the path p must conclude some vertices of T-{v'}.

7  l(v)?  (1) S={v 1 },T=V-{v 1 },for v  T (2)For S  V, T=V-S, suppose that these vertices of the shortest paths from v 1 to any vertices of S are in S. By Theorem 5.12(min v  T {l(v)}=l(v k ), v k  T), we gained the result which l(v k ) is the length of the shortest path from v 1 to v k (distance) 。 The vertex v k is added to S. (3)Let S'=S ∪ {v k }, T'=T-{v k }, v  T'. Suppose that l'(v) is the length of a shortest path from v 1 to v containing only vertices in S'. Then l'(v)=min{l(v),l(v k )+w(v k,v))} (4)Let S=S',T=T', l(v)=l'(v), goto (2)

8  S={a,b},T={c,d,e,z}  l(c)=3 , l(e)=6, l(d)=8, l(z)=+  。  min v  T {l(v)}=l(c)=3  S’={a,b,c}, T’={d,e,z}  l'(e)=min{ l(e), l(c)+w(c,e)}=4,  l'(d)=min{l(d), l(c)+w(c,d)}=8,  w(c,d)= +   l'(z)=min{l(z), l(c)+w(c,z)}= + 

9  Theorem 5.13: For v  T‘, l’(v)= min{l(v), l(v k )+w(v k, v)}  Proof: Let S'=S ∪ { v k }.  Suppose that l‘(v) is the length of a shortest path from v1 to v containing only vertices in S’.  (1)There are some paths from v 1 to v, but these paths don’t contain the vertex v k and other vertices of T'. Then l(v) is the length of the shortest path of these paths, i.e. l'(v)=l(v) 。  (2)There are some paths from v 1 to v, these paths from v 1 to v k don’t contain other vertices of T', and the vertex v k adjacent edge {v k,v}. Then l(v k )+w(v k,v) is the length of the shortest path of these paths, viz l'(v)= l(v k )+w(v k,v).

10  (1)Let S= ,T=V,l(v 1 )=0,for v  v 1 and l(v)=+   Let k=1  (2)S'=S ∪ {v k },T'=T-{v k } ,  For each vertex v of T',  l'(v)=min{l(v),l(v k )+w(v k,v)};  l'(v)  l(v),S'  S,T'  T 。  (3)min v  T {l(v)}=l(v k+1 ) 。  (4)if k=n-1,then stop  if k<n-1,then k+1  k goto (2) 。

11  Example:Find the length of a shortest path between a and z in the given weighted graph

12

13  The length of a shortest path between a and z is 13 and the path is (a,c,g,e,f,z)

14 5.5 Trees  5.5.1 Trees and their properties  Definition 22: A tree is a connected undirected graph with no simple circuit, and is denoted by T. A vertex of T is a leaf if only if it has degree one. Vertices are called internal vertices if the degrees of the vertices are more than 1. A graph is called a forest if the graph is not connected and each of the graph’s connected components is a tree.

15

16  Theorem 5.14: Let T be a graph with n vertices. The following assertions are equivalent.  (1)T is a connected graph with no simple circuit.  (2)T is a graph with no simple circuit and e=n-1 where e is number of edges of T.  (3)T is a connected graph with e=n-1 where e is number of edges of T.  (4)T is a graph with no simple circuit, and if x and y are nonadjacent vertices of T then T+{{x,y}} contains exactly a simple circuit. T+{{x,y}} is a new graph which is obtained from T by joining x to y.  (5)T is connected and if {x,y}  E(T) then T-{x,y} is disconnected. Where T-{x,y} is a new graph which is obtained from T by removing edge {x,y}.  (6)There is a unique simple path between any two of vertices of T.

17  Proof : (1)→(2): If T is a connected graph with no simple circuit, then T is a graph with no simple circuit and e=n-1. i.e prove e=n-1  Let us apply induction on the number of vertices of T.  When n=2, T is a connected graph with no simple circuit, the result holds

18  Suppose that result holds for n=k  n=k+1?  (Theorem 5.4:Let  (G)≥2, then there is a simple circuit in the graph G.)  By the theorem 5.4, and T is connected and no simple circuit.  There is a vertex that has degree one. Let the vertex be u, and suppose that u is incident with edge {u,v}.  We remove the vertex u and edge {u,v} from T, and get a connected graph T’ with no simple circuit, and T’ has k vertices.  By the inductive hypothesis, T’ has k-1 edges.  e(T)=e(T’)+1=k

19  (2)→(3): T is an acyclic graph with e=n- 1.Now we prove T is connected and e=n-1. i.e. prove T is connected  Suppose T is disconnected. Then T have  (  >1) connected components T 1,T 2,…,T . The number of vertices of T i is n i for i=1,2,… , and n 1 +n 2 +…+n  =n.

20  (3)→(4): T is a connected graph with e=n-1, we prove “T is a graph with no simple circuit, and if x and y are nonadjacent vertices of T then T+{x,y} contains exactly a simple circuit”.  1)We first prove that T doesn't contain simple circuit.  Let us apply induction on the number of vertices of T.  T is connected with n=2 and e=1, Thus T doesn't contain any simple circuit. The result holds when n=2 and e=1

21  Suppose that result holds for n=k-1  For n=k,  (T)  1  There is a vertex that has degree one. The vertex is denoted by u. i.e d(u)=1.  Why?  2e  2k, i.e. e  k( e=n-1=k-1), contradiction  We has a new graph T’ which is obtained from T by removing the vertex u and incident with edge {u,v}  By the inductive hypothesis, T' doesn't contain any simple circuit. Thus T doesn't contain any simple circuit

22  2) If x and y are nonadjacent vertices of T, then T+{x,y} contains a simple circuit  There is a simple path from x to y in T.  (x=v i,v i1,…, v is,v j =y) 。  (x=v i,v i1,…, v is,v j =y,v i =x) 。  3)Next, we prove T+{x,y} contains exactly a simple circuit.  Suppose that there are two (or more than) simple circuit in T+{x,y}.

23  (4)→(5): T is a graph with no simple circuit, and if x and y are nonadjacent vertices of T, then T+{x,y} contains exactly a simple circuit. We prove “T is connected and if {x,y}  E(T) then T-{x,y} is disconnected”.  Suppose T is disconnected. There are vertices v i and v j such that there is not any simple path between v i and v j.  Add an edge {v i,v j }  T  The new graph has also no simple circuit. Contradiction

24  (5)→(6): T is connected and if {x,y}  E(T) then T-{x,y} is disconnected. We prove “There is a unique simple path between any two of vertices of T”.  (6)→(1): There is a unique simple path between any two of vertices of T. We prove “T is a connected graph with no simple circuit”  T is a connected graph.  If T contains a simple circuit, then …  contradiction

25  Corollary 5.1: If G is a forest with n vertices and  connected components, then there are n-  edges in G.  Theorem 5.15: The tree T with |V(T)|>1 contains at least 2 leaves.  Proof: e=n-1  Suppose T that contains at most 1 leaf  2e  2(n-1)+1=2n-1>2(n-1)  Contradiction

26  Definition 23: T is called spanning tree of graph G, if the spanning subgraph T of G is a tree.  Theorem 5.16: G is connected if and only if G contains a spanning tree.  Proof:1) G contains a spanning tree, we prove G is connected.  2) G is connected, we prove G contains a spanning tree  If G has not any circuit, then G is a spanning tree  Suppose that C is a simple circuit of G.  We remove a edge from a simple circuit, the new graph is also connected.

27  NEXT :Minimum spanning trees P280 7.5  Rooted tree and binary tree P254—263,7.1,7.2  Exercise  1.Let G be a simple graph with n vertices. Show that ifδ(G) >[n/2]-1, then G is a tree or contains three spanning trees at least  2.Find the length of a shortest path between a and z in the given weighted graph.


Download ppt "5.4 Shortest-path problem  Let G=(V,E,w) be a weighted connected simple graph, w is a function from edges set E to position real numbers set. We denoted."

Similar presentations


Ads by Google