determine if a circuit can be implemented on a planer circuit board

W
Shared by: HC121106103524
Categories
Tags
-
Stats
views:
0
posted:
11/6/2012
language:
English
pages:
65
Document Sample
scope of work template
							                            Discrete Mathematics




            Chapter 9
              Graphs

By courtesy of Prof. Cheng-Chia Chen



                                 Transparency No. 9-1
                                              Discrete Mathematics
                                                Chapter 9 Graphs
  Chapter 8. Graphs

 Old subject with many modern applications
 Introduced by L. Euler, who used it to solve the famous
  Konisberg bridge problem.
 Example applications:
    determine if a circuit can be implemented on a planer
     circuit board (planer graph).
    distinguish b/t two chemical compounds with the
     same molecular formula but with different structures.
    determine if two computers are connected in a
     network.
    schedule (with task precedence information given,
     find an execution plan.)
    ..
                                            Transparency No. 9-2
                                       Discrete Mathematics
                                         Chapter 9 Graphs
  Table of contents

 Introduction
 Graph terminology
 Representing graph and graph isomorphism
 Connectivity
 Euler and Hamilton paths
 Shortest path problems
 Planer graphs
 Graph coloring




                                     Transparency No. 9-3
                                                   Discrete Mathematics
                                                     Chapter 9 Graphs
  8.1 Introduction

 Graph: discrete structure consisting of vertices and edges
  that connects these vertices.
 Types of graphs:
    Simple graph: G = (V,E) where E is a set of unordered
     pairs of distinct elements of V.
    Multi-graph: allow multiple edges b/t two distinct vertices.
    Pseudo-graph: allow self-loops and multiple edges.
    Digraph (directed graph): edges are ordered pairs of
     vertices.
    Directed multi-graph: allow multiple edges b/t any two
     (possibly identical) vertices.
    Hybrid graph: allow both directed and undirected edges.
    Weighted (or labeled) graph: each edge is associated with
     a weight (or a label).
                                                 Transparency No. 9-4
                                                      Discrete Mathematics
                                                        Chapter 9 Graphs
    Formal definitions
Def 2: (multigraph) G = (V,E,f) where
    f: E-> {{u,v} | u,v  V and u  v} with f(e) containing the two
      vertices the edge e is connected to.
    If f(e1) = f(e2) ==> e1 and e2 are parallel or multiple edges.
Def 3: A pseudo graph G = (V,E,f) where
    f: E -> {{u,v} | u,v  V}.
    Note: if f(e) = {u} ==> e is a self-loop on u.
Note: If there is no worry of confusion, we usually use {u,v} to
  identify the edge e with f(e) = {u,v}.
Def 4: A digraph G = (V,E) where E is a subset of V2.
Def 5: A directed multigraph G = (V,E,f) where f: E -> V2.
  If f(e1) = f(e2) ==> e1 and e2 are parallel or multiple edges.
  Note: f(e1) = (u,v) /\ f(e2) = (v,u) /\ u  v => e1 and e2 are not
  parallel edges (opposite directions).

                                                    Transparency No. 9-5
                                                         Discrete Mathematics
                                                           Chapter 9 Graphs
   Labeled (or weighted) grapghs
 A labeled graph G = (V,E,f,L,l) where
    (V,E,f) is a graph of any kind (without labeling)
    L is the set of labels, and
    l: E->L is the labeling function. if f(e) = w, we say e is an w-
     labeled edge or simply a w-edge.
 Hyper graph: edges can connect more than 2 vertices:
    e.g hyper k-graph G = (V,E,f) where f: E-> Vk.
 Summary:
type             directed edge?     multiedge?       loop?
simple               no                   no             no
multigraph           no                   yes            no
pseudo               no                   yes            yes
digraph              yes                  no             yes
directed-            yes                  yes            yes
-multigraph                                          Transparency No. 9-6
                                                  Discrete Mathematics
                                                    Chapter 9 Graphs
  Graph models

Ex1: Niche overlap graphs in ecology:
 G = (V,E) is a simple graph where
    V is the set of species.
    {u,v}  E iff u and v compete for food.
Ex2: V: Persons
  (u,v)  E iff u can influence v. => Influence graph: (digraph)
  (u,v)  E iff u, v know each other => Acquaintance graph
                                         (undirected graph)
Ex3: Round-robin tournaments
  One where each team plays each other team exactly once.
  V: the set for all teams                    A       B

  (u,v) in E iff team u beats team v.
Ex: 4-team round-robin tournament             C
                                                        D

                                                Transparency No. 9-7
                                            Discrete Mathematics
                                              Chapter 9 Graphs
   Graph model (cont'd)
Ex 4: (precedence graph and concurrent processing)
eg: 1. x := y + 1;
      2. z := f(x)
=> (1) must be executed before (2) no matter which
  processors execute (1) or (2), since (2) must use the
  execution result of (1).
The executed-before relation in a program can be
  represented by a digraph G = (V,E) where
    V = the set of statements in the program
    (u,v)  E means u must be executed before v.
    Note: if (u,v) and (v,w)  E, ==> (u,w)  E.
    Hence E is transitive.
                                          Transparency No. 9-8
                                         Discrete Mathematics
                                           Chapter 9 Graphs
  Precedence graph of a program
Ex 4:
s1: a := 0;                       s1                  s2
s2: b := 1;
s3: a := a+1;                     s3                   s4
s4: d := b+a;
s5: e := d+1;
                                  s5                  s6
s6: e := c+d

==> What is the precedence
  graph of this program?


                                       Transparency No. 9-9
                                                  Discrete Mathematics
                                                    Chapter 9 Graphs
   Precedence graph of a program
Ex 4:
s1: a := 0;
s2: b := 1;                                s1                  s2
s3: a := a+1;
s4: d := b+a;
s5: e := d+1;
                                           s3                   s4
s6: e := c+d

==>Problems:
 1. Minimum time needed to complete        s5                  s6
   the program using multiple
   processors? (Depth)
   => length of longest paths + 1
 2. Minimum # of processors needed to
   complete the program in minimum
   time? (Width)
   => p1: [s1,s3,s4,s6], p2: [s2,-,-,s5]


                                                Transparency No. 9-10
                                            Discrete Mathematics
                                              Chapter 9 Graphs
  Graph terminology

Def 1: G = (V,E): undirected graph
if u --e-- v ==>
    u and v are adjacent (or neighbors)
    Edge e is incident with u (& v).       D  C   B

    e connects u and v.
                                          G
    u and v are end points of e.              E  F                A

Def 2: G = (V,E): undirected graph; v  V ==>
    [Degree of v:] deg(v) = #edges incident with it =
     |{e | v is an end point of e and e is an edge}|.
    If deg(v) = 0 ==> v is isolated.
    If deg(v) = 1 ==> v is pendant (or hang).
Ex: In Fig. 1, E has degree 3, D is pendant and G is
  isolated.
                                          Transparency No. 9-11
                                                               Discrete Mathematics
                                                                 Chapter 9 Graphs
    Handshaking theorem
Theorem 1: G = (V,E): an undirected graph
==> S v  V deg(v) = 2 |E|. // 插孔數 = 插頭數
Pf: Simple induction on the number of edges |E|.
    (Intuition: vertex deg = socket, edge end = plug)
Ex: G = (V,E) with |V| = 10 & each vertex with degree 6.
 ==> |E| =?
Corollary: The sum of the degrees of the vertices of an
  undirected graph is even.
Theorem 2: The number of vertices in a graph with odd degree is
  even.
Pf:
Sv in V deg(v) = Sv in V /\ deg(v) is odd deg(v) +Sv in V /\ deg(v) is even deg(v)
==> Sv in V /\ deg(v) is odd deg(v) is even ==> |{v in V | deg(v) is odd}| is
  even. QED
                                                             Transparency No. 9-12
                                                      Discrete Mathematics
                                                        Chapter 9 Graphs
  Terminology for digraphs

Def 3: G = (V,E): a digraph
if u --e--> v then
     u is adjacent to v
     v is adjacent from u
     u is the initial (or starting) vertex of e
     v is the end (or terminal) vertex of e
     e is an edge from u to v.
Def. 4: [in-degree; out-degree]
     In-deg(v) = #edge coming into v = |{e  E | v is the terminal
       vertex of e}|.
     out-deg(v) = #edge going out from v = |{e  E | v is the
       starting vertex of e}|.
Theorem 3: Sv in V in-deg(v) = Sv in V out-deg(v) = |E|.
                                                    Transparency No. 9-13
                                                  Discrete Mathematics
                                                    Chapter 9 Graphs
  Underlying undirected graph

G = (V,E,f): a directed graph
==> Its underlying undirected graph is a pseudo graph
  G' = (V,E,f') where f': E -> {{u,v} | u,v  V} s.t.
  f'(e) = {a,b} iff f(e) = (a,b).

Note:
1. Both G and G' have the same number of edges (=
 |E|).
2. If both (u,v) and (v,u) are edges in G ==> (u,v) and
 (v,u) are two distinct edges in G'.

Ex: G = ({1,2,3}, {(1,2),(1,2),(1,3),(2,3),(3,2)})
 ==> G' =?
                                                Transparency No. 9-14
                                                     Discrete Mathematics
                                                       Chapter 9 Graphs
   Special simple graphs
Ex 4: complete graphs Kn = (V,E) where
 |V| = n and E = {{x,y} | x and y are distinct vertices of V}.
Ex: K1,..., K5 =?
Ex 5: cycles: Cn (n > 2) = (V,E) where V = {1,2,...,n} and
 E = {{i,i+1} | i = 1,...,n-1} U {{n,1}}.
Ex: C3,C4,C5,C6 =?
Ex 6: wheels: (n > 2) Wn = (V,E) where V = {0,1,...,n} and
 E = {{0,i} | i = 1,...,n} U {{i,i+1} | i = 1,...,n-1} U {{n,1}}.
 W3,W4,W5 =?
Ex7: n-cubes Qn = (V,E) where V = {0,1}n is the set of all bit
  strings of length n and E ={{x,y} | x and y differ at exactly one
  position}. Ex: 11011 and 11111 is connected.
Ex: Q1, Q2, Q3, Q4 =?

                                                   Transparency No. 9-15
                                                            Discrete Mathematics
                                                              Chapter 9 Graphs
   Bipartite Graphs

Def 5: G = (V,E) is bipartite iff there is a binary partition {V1,V2}
  of V s.t. for all e  E, one end point of E is in V1 and the other
  end point is in V2.
Ex8: Is C6 bipartite? (yes! why?)                   g  a    b
Ex9: Is K3 bipartite? (no! why?)                  f           c
Ex10: Which of Fig G and H is bipartite?              e
                                                           d
                                                              G

Ex11: Km,n (complete bipartite graph)                   a         b
Km,n = ({u1,...,um} U {v1,...,vn}, E} , where   f
                                                                         c
    E = {{ui, vj} | i=1..m v = 1..n}                e             d
                                                             H
eg: K2,3, K3,3 = ?

Problem: Km,n has ? edges

                                                    Transparency No. 9-16
                                                      Discrete Mathematics
                                                        Chapter 9 Graphs
  Ex 13: interconnection network for processors

Types of connections
    Linear array

   Mesh

   Hyper cube (m-cube)



  Main measures:      1. #links             2. longest distance
  linear array        n-1                   n-1
  mesh                2sqrt(n)(sqrt(n)-1)   2(sqrt(n) -1)
  m-cube (n=2m)       nm/2 = O(n lg n)      m = lg n


                                                    Transparency No. 9-17
                                                    Discrete Mathematics
                                                      Chapter 9 Graphs
  New graphs from old

Def 6: [subgraph] G = (V,E): a graph
H = (V',E') is a subgraph of G iff
    V‘  V and E'  E and
    H is a graph (i.e., if e  E' is an edge connecting u and v in
     V, then u, v must belong to V'.)
Ex: G = K5; find a subgraph H of K5.
Def 7: [union of simple graphs] G1 = (V1,E1); G2 = (V2,E2): two
  graphs ==> G1 U G2 =def (V1 U V2, E1 U E2)
  Note: Not only V1 and V2, but also E1 and E2 may overlap.
Ex: G1 = ({a,b,c,d,e}, {ab,bc,ce,be,ad,de})
    G2 = ({a,b,c,d,f}, {ab,bc,bd,bf}}
    ==> G1 U G2 =?
Def 7': Disjoint union of graphs: (skip)
 Disjoin union of G1 and G2 =?
                                                  Transparency No. 9-18
                                                       Discrete Mathematics
                                                         Chapter 9 Graphs
   Graph representation and graph isomorphism

 Graph representation: [suitable only for finite graphs]
   adjacent list (for graphs w/o multiple edges): O(|E|+|V|)
   adjacent matrices: O(|V|2)
   incident matrices (or list): O(|V|x|E|).

 adjacent list: for each vertex v, a[v] is the list of all adjacent
  vertices of v.
 adjacent matrix: M[u,v]=1 iff {u,v} (or (u,v) if directed) is an
  edge.
 incident matrix: I[u,e] = 1 iff u in f(e), or (for directed graph)
       i[u,e]= 1 (or -1) iff u is the starting (or ending) vertex of e.
Ex: (p558 fig2)


                                                     Transparency No. 9-19
                                                       Discrete Mathematics
                                                         Chapter 9 Graphs
   Graph isomorphism

Def . 1: G1 = (V1,E1), G2 = (V1,E2): two simple or digraphs
    G1 and G2 are isomorphic iff $ a bijection h: V1->V2 s.t.
       for all u,v in V1,
       {u,v} (or (u,v))  E1 iff {h(u),h(v)} (or (h(u),h(v)))  E2.
    Such h is called an isomorphism (b/t G1 and G2).



Ex 8: Are G = ({1234},{12,23,34,41}) and H =
  ({abcd},{ad,ac,bc,bd}) isomorphic?

Fact: If G1 and G2 are isomorphic ==> |V1| = |V2| & |E1| = |E2|,
        and G1 and G2 have the same degree type.
Def: For each G = (V,E), type(G) is the multiset {deg(v) | v  V}.
                                                     Transparency No. 9-20
                                                Discrete Mathematics
                                                  Chapter 9 Graphs
  Connectivity

Def 1: G = (V,E,f): an undirected [multi-]graph
   A path a of length n > 0 from u to v is a sequence
    of edges e1,e2,...,en s.t. f(e1) = {u,x1}, f(e2) =
    {x1,x2},…,f(en) = {xn-1,v}.
        e1 e2       e3 e4 e5 e6             en-1 en
  u=x0----x1-----x2----x3----x4----x5---- ….----xn-1----Xn=v

    If G is a simple graph ==> a can be identified by
     the sequence of vertices: x0 = u, x1,..., xn-1, xn = v.
    a is a circuit (or cycle) iff x0 = xn.
    a is simple if all edges in the path are distinct (i.e.,
     for all 0≤ i<j≤ n, ei  ej ).
                                              Transparency No. 9-21
                                                Discrete Mathematics
                                                  Chapter 9 Graphs
  Connectivity (cont'd)

Def. 2: G = (V,E,f): a directed multigraph
   A path a of length n > 0 from u to v is a
     sequence of edges e1, e2, ...,en s.t. f(e1) = (u,x1),
     f(e2) = (x1,x2),...f(en) = (xn-1,v).
   If G is a digraph ==> a can be identified by the
     sequence of vertices: x0=u, x1,..., xn-1, xn = v.
   a is a circuit (or cycle) iff x0 = xn.
   a is simple if all edges in the path are distinct
     (i.e., for all 0<i<j<n+1, ei  ej ).

Def 3: An undirected graph is connected if there is a
 path between every pair of distinct vertices.
                                              Transparency No. 9-22
                                                                               Discrete Mathematics
                                                                                 Chapter 9 Graphs
    Theorem about simple paths
Theorem 1: There is a simple path between every pair of distinct
  vertices of a connected undirected [multi-]graph.
Pf: (u,v): any two distinct vertices of G.
Since G is connected, there exist paths from u to v.
Let a = e1,e2,...,en be any path of least length from u to v.
Then a must be a simple path. If it were not, then there would be
0 i <j n s.t. ei = ej.
==> the path b = e1,..,ei-1,ej+1,..,en or e1,..,ei,ej+1,..,en is another
  path from u to v with length < |a|, a contradiction!. QED
                                  join xi-1 and xj if x i-1 = xj

       e1    e2                   ei                       ej           ej+1
                   .....                      .......                              ......
   u        x1    x2       xi-1          xi             xj-1       xj           xj+1        v
                                       join xi and xj if xi = xj
                                                                           Transparency No. 9-23
                                                              Discrete Mathematics
                                                                Chapter 9 Graphs
                                 xj
                                 xi
                                             ej+1
                        ei
  e1 e2                                             xj+1
               .....             ej                                        ......
 u x1     x2       xi-1                                                             v
                   xj-1
                                  xj-1
                                  xi

                            ei
   e1 e2                                             xj+1
                .....             ej                                        ......
  u x1     x2          xi-1                                                          v
                       xj             ej+1
Note: Theorem 1 does not hold for circuit (cycle)
                                                            Transparency No. 9-24
                                                           Discrete Mathematics
                                                             Chapter 9 Graphs
   A theorem about simple circuits

 G = (V,E): an undirected multi-graph, u,v: two vertices in G.
Theorem: if there are two distinct simple paths from u to v, then
   there is a simple circuit in G. (skip)
Pf: Let
a1: x0 --(e1)-- x1 --(e2)-- x2 --(e3)--…--(et)--xt--(et+1)--xt+1--…---xn=v,
and
a2: x0 --(e1)-- x1 --(e2)-- x2 --(e3)--…--(et)--xt--(e’t+1)--yt+1--…---ym=v,
be two distinct simple paths fro u to v in G
If either a1 or a2 contains a (simple) circuit, then we are done.
Otherwise let et+1, e’t+1 the first edges with et+1 ≠ e’t+1.
let J be the least number in {t+1,…,m} such that yJ = xs where s
   is any vertex occurring in path a1 (i.e., yJ=xs ∈ {x0,…,xn}).
Note since ym = xn= v, such J must exist.

                                                         Transparency No. 9-25
                                                    Discrete Mathematics
                                                      Chapter 9 Graphs
  A theorem about simple circuits

Now it is easy to see that:
1. If s ≤ t then { xs --(es+1)-- xs+1--…--(et)—xt } U
    { xt--(e’t+1)--yt+1--…--(e’J-1)-yJ } is a circuit. This is not
  possible since all edges of the circuit are part of a2.
2. If s > t then {xt--(et+1)--xt+1--…-(es-1)--xs} U
  { xt--(e’t+1)--yt+1--…--(e’J-1)-yJ } ---(*) is a simple circuit.
Note: {xt,xt+1,…,xs} ⋂ {xt,yt+1,…,yJ } = {xt, yJ=xs}
If there were ea = e’b => f(ea) = {xt, xt+1=xs} = {xt,yt+1=yJ}
            => a=b=t+1 => e t+1 = e’t+1 a contradiction!
   o/w, by def, (*) is a simple circuit.


                                                  Transparency No. 9-26
                                                Discrete Mathematics
                                                  Chapter 9 Graphs




                Xt
                        et+1
         xs

u   yJ          e’t+1
                                                          v

                                      es
                                           xs

                               e’J     yJ
          e’J

                               yJ-1

                                            Transparency No. 9-27
                                            Discrete Mathematics
                                              Chapter 9 Graphs
  Connected components

 G = (V,E): an undirected graph.
1. Any maximal connected subgraph of G is called a
  connected component of G.
  (i.e., G‘ = (V',E') is a connected component of G iff
  1. G' is a connected subgraph of G and
  2. There is no connected subgraph of G properly
  covering G'.)

Ex:




                                          Transparency No. 9-28
                                            Discrete Mathematics
                                              Chapter 9 Graphs
   Connected components (cont'd)
Note 1. Every two distinct connected components are
  disjoint.
Pf: G1 = (V1,E1), G2 = (V2,E2): two distinct connected
  components.
 If G1 and G2 overlap (i.e., V1 V2   ).
 ==> $v ∈ V1V2 ==> G3 = (V1 ⋃ V2,E1 U E2) is a
  connected subgraph larger than G1 and G2, a
  contradiction! QED


Note 2. Every connected subgraph G' of G must be
 contained in some connected component of G. (skip)


                                          Transparency No. 9-29
                                            Discrete Mathematics
                                              Chapter 9 Graphs
  Connected components (cont'd)

Pf: Let i = 0 and Gi = G'. If Gi is maximal then we are
  done.
 o/w, there is connected Gi+1 contains Gi.
  If Gi+1 is maximal, then we are done; o/t let i = i+1
  and repeat the same process, we will eventually (if
  G is finite) get a maximal graph containing G'.

Note 3. Let G1,G2,...,Gk be the set of all connected
  components of G. Then G = Ui = 1..k Gi
Pf: 1. Ui=1,k Gi  G since every Gi  G.
    2. G  Ui=1,kGi since every edge and every vertex
       must belong to some connected component.
                                          Transparency No. 9-30
                                                Discrete Mathematics
                                                  Chapter 9 Graphs
  Connected components (cont'd)

Note 4: Every undirected graph G has a unique set of
   connected components. (skip)
Pf: Let G = (V,E).
For each vertex u in V, let Gu = (Vu,Eu) where
 Vu = {v | there is a path from u to v}  V, and
 Eu = {e | f(e)  Vu}  E.
It is easy to show that Gu is a connected component of G.
Moreover, we have
1. for all u, v ∈ V: Gu = Gv iff Vu=Vv /\ Eu=Ev and
2. for all e ∈ E: if f(e) = {u,v} ==> Gu=Gv and e  Eu.
Hence the set of connected components of G = {Gu | u  V}.
Note: Connected components in graphs play a role
 like equivalence classes in equivalence relations.
                                              Transparency No. 9-31
                                                      Discrete Mathematics
                                                        Chapter 9 Graphs
  The connectivity relation in a graph (skip)

 G = (V,E): an undirected graph
   Let ~ be the connectivity relation induced by G, i.e., for all u,v
   in V, u ~ v iff either u = v or u and v are connected in G.
 Theorem:
1. ~ is an equivalence relation on V. (Hence V/~ is a partition of
   V)
2. For all u,v in V, u and v are connected iff u and v are in the
   same block of the partition.
3. For each u  V, Gu = (Vu,Eu) = ([u]~, E|[u]) where
   E|S is the set of edges restricted to the vertex set S, i.e.,
  {e  E | f(e)  S}.
4. The set of all connected components of G =
  { (S, E|S) : S  V/~}.

                                                    Transparency No. 9-32
                                                 Discrete Mathematics
                                                   Chapter 9 Graphs
  Cut vertices and cut edges

 A vertex in a graph is called a cut vertex (or articulation
  point) if the removal of this vertex and all edges incident
  with it will result in more connected components than in the
  original graph.
Corollary: The removal of a cut vertex (and all edges incident
  with it) produces a graph that is not connected.

 Cut edges (bridges)
The removal of it will result in graph with more connected
  components.
                                          a    d f         g
Ex 4: Determine all cut vertices
 and all bridges in the right graph.
cut vertices =?                       b                     h
                                             c      e
bridges =?
                                               Transparency No. 9-33
                                                   Discrete Mathematics
                                                     Chapter 9 Graphs
  Strongly connected digraphs

Def 4: G = (V,E): a directed graph
G is strongly connected iff there are paths from u to v and
  from v to u for every pair of distinct vertices u and v in G.
Def 5: G is weakly connected iff there is a path between every
  pair of distinct vertices in the underlying graph of G.

Ex 5:




               G                          H
   G is strongly connected.
   H is weakly connected.
                                                 Transparency No. 9-34
                                                    Discrete Mathematics
                                                      Chapter 9 Graphs
  Path and isomorphism

 P(-) : a property on graphs
Ex: P(G) = "G has a simple cycle of length > 2"
      P(G) = " G has an even number of vertices and edges".
      P(G) = ...
P is said to be an isomorphic invariant if P is invariant under all
   isomorphic graphs, i.e., for all graph G1 and G2,
  if G1 and G2 are isomorphic then P(G1)  P(G2).
Ex1: Pm,n(G) = " G has m vertices and n edges ", where m and n
   are some constant numbers, is an isomorphic invariant.

Corollary: G1,G2: two graphs; P: an isomorphic invariant;
 If P(G1) and P(G2) have distinct truth value, then G1 and G2 are
   not isomorphic.

                                                  Transparency No. 9-35
                                                         Discrete Mathematics
                                                           Chapter 9 Graphs
   More on graph isomorphism
Ex2: P2(G) = "G has a simple circuit of length k", where k is a
  number > 2, is an isomorphic invariant.
Pf: G1 = (V1,E1), G2 = (V2,E2): two simple graphs.
Let h: V1->V2 be any isomorphism from G1 to G2.
Then if x0 --(e1)--> x2--(e2)--> x3--.... -->(en)-->xn is a simple path
  on G1, then the sequence
h(x0) -->(h(e1))-->h(x2)--(h(e2))-->h(x3)--...-->((h(en))-->h(xn)
is also a simple path on G2.
Ex 6: G and H are not isomorphic since H has s simple cycle of
  length 3 (1261), whereas G has no simple cycle of length 3.
             2        3                      2       3
       1                    4       1                      4

             6        5                   6        5
                 G                            H
                                                       Transparency No. 9-36
                                                          Discrete Mathematics
                                                            Chapter 9 Graphs
    Counting paths b/t vertices
G = (V,E) with V = {V1,...,Vn} : a simple graph with adjacent matrix M.
==> # different paths of length k from vi to vj = (Mk)ij, where scalar
   multiplication are integer product (instead of boolean AND).
Pf: by math ind on k.
1. basis step: k = 1: => By def. Mij is the number of edges (= path of
   length 1) from vi to vj.
2. Ind. step: assume (Mm)ij = #paths of length m from vi to vj for all m <
   k and for all ui, uj ∈ V.
But #paths of length k from vi to vj =
#paths of length k-1 from ui to v1 x #paths of length 1 from v1 to vj +
#paths of length k-1 from ui to v2 x #paths of length 1 from v2 to vj +
... +
#paths of length k-1 from ui to vn x #paths of length 1 from vn to
 vj
= St=1..n (Mk-1)it x Mtj = (MK)ij.

                                                        Transparency No. 9-37
                                                       Discrete Mathematics
                                                         Chapter 9 Graphs
   Example

Ex 8: G = ({1,2,3,4}, {12,13,24,34})
==> M = [0110;1001;1001;0110]
==> M4 = [8008;0880;0880;8008]
==> There are 8 different paths of length 4 from a to d.

Notes:
1. The length of the shortest path from vi to vj is the least k s.t.
   (MK)ij != 0.
2. G is connected if (Sk=1..n-1 Mk )ij != 0 for all 1≤ i<j ≤ n.
Pf: G is connected =>
for any i ≠ j, there is a simple path (of length t < n) from vi to vj
==> (Mt)ij > 0 ==> (Sk=1..n-1 Mk )ij != 0. QED

                                                     Transparency No. 9-38
                                                     Discrete Mathematics
                                                       Chapter 9 Graphs
  Euler and Hamilton paths

 The seven bridges problem:               C


 Problem: Is there a path                     A
                                                                           D
  passing through all bridges
  w/o crossing any bridge twice?           B
                                   The town of Konigsburg

Multigraph model:                   C

  Problem: Is there a simple
  path of length 7?                A                         D

                                       B
                                                   Transparency No. 9-39
                                                            Discrete Mathematics
                                                              Chapter 9 Graphs
  Eular paths and Eular cycles

Def. 1: A Eular path in a multigraph G is a simple path
  containing all edges.
Def. 2: A Eular circuit in a multigraph G is a simple circuit
  containing all edges.
Ex1: In G1, G2 and G3:
G1 has a Eular         a        b   a         b   a         b
circuit: a,e,c,d,e,b,a.
                          e                e

G3 has a Eular path: d             c   d            c   c               d          e
bedbadca.                     G1               G2               G3

Note: If there is a Eular circuit beginning from a vertex v, then
there is a Eular path or circuit beginning from any other vertex.

                                                        Transparency No. 9-40
                                                            Discrete Mathematics
                                                              Chapter 9 Graphs
    Necessary and sufficient conditions for Eular paths and Eular circuits

Theorem 1: A connected multigraph has a Eular circuit iff each of
   its vertices has even degree.
Corollary: The seven-bridges problem has no Eular circuit.
Pf: "=>": G = (V,E): any multigraph.
Let a = x0 e1 x1 e2 x2 e2 x3 ... en xn=x0 be any Eular circuit.
For each v=xi in V ≠ x0, since ei-->xi --> ei+1 we have
deg(v) = 2 |{j | xj = v and 0<j<n}| and for x0 we have
deg(x0) = 2x|{j | xj = x0 and 0<j<n }| + 2.
Hence every vertex has even degree.
(<=): by induction on |E|. If |E|=0, by definition, it has a Eular ckt.
O/W Let a = x0 e1 x1 e2 x2 e3 ... en xn=x0 be any simple circuit.
 (its existence will be shown later.)
If a is a Eular circuit, then we are done. O/W:
                                                          Transparency No. 9-41
                                                                      Discrete Mathematics
                                                                        Chapter 9 Graphs
     Proof of Eular condition
Let G' = (V',E') be the resulting graph formed from G by removing all
  e1,e2,...,en from E.
Let G1 = (V1,E1),...,Gk =( Vk,Ek) be all connected components of G'.
Since G is connected, {x0,...,xn} Vi != {} for all 0<i<k+1.
(o/w there is no path from x0 to vertices in Vi).
For each i let xti be any vertex in {x0,...,xn}  Vi.
Since Gi = (Vi,Ei) and |Ei| < |E| and every vertex in Vi has even degree,
  by ind. hyp. there is a Eular circuit ai = xti ->...-> xti in Gi.
Now join each ai with a at xti:
                   a1                       ak
 e1      e2                  ei                    ej        ej+1
               .....                   .......                         ......
x0     x1     x2       xt1        xi             xtk    xj          xj+1         xn=x0

we can form a Eular circuit in G. QED.

                                                                    Transparency No. 9-42
                                                       Discrete Mathematics
                                                         Chapter 9 Graphs
   Example: (skip)
                                                 h       g
 a = a b c d a is a simple circuit in G.
 removing all edges in a results in        e         f

three connected components:               a                    d
  G1, G2 and G3 intersecting with
                                                   G
a at {a,d}, {b} and {c} respectively.                                        i

By ind. hyp.,                             b
                                                          c                      j
$ Eular ckt :a1 = (a...a)                 h      g
  =(aedfghefa)
                                      e        f
  a2: (b) and
                                    a
  a3: (c i j c)                             G1          d

==> join a and all ai, we obtain
                                                           i
 a Eular ckt of G:                                 G3
                                    b G2
(aedfghefa)b(cijc)da.                               c        j

                                                     Transparency No. 9-43
                                                   Discrete Mathematics
                                                     Chapter 9 Graphs
  Eular condition for Eular paths:

Theorem 2: A connected multigraph has an Eular path but not
  a Eular ckt iff it has exactly two vertices of odd degree.
Pf: (=>): G = (V,E): any multigraph.
Let a = x0 e1 x1 e2 x2 e2 x3 ... en xn != x0 be any Eular path.
For each v=xi in V != x0 or xn, since ei-->xi --> ei+1 we have
 deg(v) = 2 |{j | xj = v and 0<j<n}| and for v = x0 or xn we have
 deg(v) = 2x|{j | xj = v and 0<j<n } + 1.
Hence all vertices but x0 and xn have even degree.
(<=): Let G' = (V, EU{e}) where e is a new edge connecting a
  and b, which are vertices of G with odd degree.
==> Every vertex of G has even degree. By theorem 1,
 $ a Eular path a = a -> .... ->b->(e)->a.
==> removing e from a we get a Eular path of G. QED

                                                 Transparency No. 9-44
                                                           Discrete Mathematics
                                                             Chapter 9 Graphs
   Existence of simple circuits
Lemma: G = (V,E): a multigraph s.t. E != {} and every vertex has
  even degree. Then there exist a simple ckt in G from any
  vertex of nonzero degree.
Pf: Let x0 be any vertex in G with nonzero degree.
We construct a sequece of simple paths a’s which eventually become a
   simple circuit as follows:
0. Initially a1 = x0 --e1-- x1. G1 = (V, E \{e1}).
  note: x1 in G1 has degree > 0 hence there is an edge leaving x1.
1. assume ai = x0...xi has been formed and Gi = (V, Ei= E\{e1,...,ei}).
  If xi = xk for k<i then xk-ek- - … xi is a simple ckt and we are done.
  o/w by ind. hyp. xi has odd degree in Gi, hence we can find an
  edge e in Gi connecting xi and some other vertex u.
 now let ai+1= ai -- e--u; xi+1 = u ; and i = i+1
2. goto 1.
Note: the procedure must terminate since every iteration of step 1 will
   result in one edge removed from G, but G has only a finite number of
   edges. So the prod. will exit from step 1 with a simple ckt returned. QED
                                                         Transparency No. 9-45
                                                       Discrete Mathematics
                                                         Chapter 9 Graphs
   Hamilton paths and circuits

Def. 2: G = (V,E): a multigraph.
 A path x0 e1 x1 e2 x2... en xn in G is a Hamilton path if {x0,...,xn}
  = V and xi  xj for all i  j.
 A ckt x0 e1 x1 e2 x2... en xn=x0 (n > 1) in G is a Hamilton ckt if
  {x1,...,xn} = V and xi  xj for all i  j
Ex:

Problem: Is there a simple principle, like that of Eular ckt, to
  determine whether a multigraph has a Hamilton ckt?
Ans: no ! In fact, there is no known polynominal time algorithm
which can test if a given input multigraph has a Hamilton ckt!
Theorem: [sufficient condition] G: a connected simple graph
  with n  3 vertices. => If every vertex has degree  n/2, then
  G has Hamilton ckts.
                                                     Transparency No. 9-46
                                                    Discrete Mathematics
                                                      Chapter 9 Graphs
  Grey code (skip)

Ex 8: label regions of a disc:
Problem: split the disc into 2n arcs of equal length and assign a
   bit string of length n to each arc s.t. adjacent arcs are
   assigned bit strings differing from neighbors by one bit only.
Problem:
How to find Gray code         111 000                  100 000
of n-bit length?           110       001
                                                   101        001
Rule: Let Gn = (Vn,En) 101          010
                              100 011              111        011
= Qn be the n cube.
                                      011      111     110 010
A cycle of the disc
(a grey code) corresponds 001              101

to an Hamilton ckt in Qn.
                                    010       110
                             000            100
                                                  Transparency No. 9-47
                                                  Discrete Mathematics
                                                    Chapter 9 Graphs
  Shortest path problems
 A weighted graph is a graph G = (V,E) together with a
  weighting function w:E->R+.
 A shortest path from a to b is a path:
 a e1 x1 e2 x2 ... en b s.t. Si=1,n w(ei) is minimized.
 Problem: Given a graph and two vertices a, z, find the length
  of a shortest path from a to z.
 Alg: [Dijkstra's algorithm]
  //L(v): the length of a shortest path from a to v//
1. L(a) := 0; L(v) = w(a,v) for all v ≠ a ; S := {a};
2. While( ~S ≠ { } ){ // i.e., S ≠ V
3. u = any vertex ∉ S with minimum L(u);
4. S = S U {u};
5. for( all v ∉ S)
6. L(v) = min(L(u) + w(u,v), L(v)) }
7. end /* L(z) = length of the shortest path from a to z}.
                                                Transparency No. 9-48
                                                                               Discrete Mathematics
                                                                                 Chapter 9 Graphs
  Example:

 Running Time: O(n2)
                     b             5             d
             4                                               6

     a               1         8                                     z
                                             2
          2                                                  3
                                   10            e
                     c


                         b,4            5                d
                 4                                               6

         a,0             1         8                                     z
                                                     2
                 2                                               3
                                        10               e
                         c,2

                                                                             Transparency No. 9-49
                                                   Discrete Mathematics
                                                     Chapter 9 Graphs


          b,3           5        d,10
      4                                  6

a,0       1         8                        z
                             2
      2                                  3
                        10       e,12
          c,2




              b,3       5        d,8
      4                                  6

a,0       1         8                        z
                             2
      2                                  3
                        10        e,12
              c,2


                                                 Transparency No. 9-50
                                              Discrete Mathematics
                                                Chapter 9 Graphs




          b,3           5        d,8
      4                                 6

a,0       1         8                       z,14
                             2
      2                                 3
                        10       e,10
          c,2


              b,3       5        d,8
      4                                 6

a,0       1         8                       z,13
                             2
      2                                 3
                        10       e,10
              c,2


                                            Transparency No. 9-51
                                                     Discrete Mathematics
                                                       Chapter 9 Graphs
  Correctness (skipped!)
 Let Sk = the value of S after the kth iteration of the for-loop.
    uk = the vertex added to Sk at the kth iteration.
    Lk(v) = the value of L(v) after kth iteration.
 Notes
    Sk = {u0=a,u1,…,uk}.
    Lj(uk) = Lk-1(uk) for all j >k-1.

1. L(a) := 0; L(v) = w(a,v) for all v ≠ a ; S := {a};
2. While( ~S != { } ){
3. u = any vertex ∉ S with minimum L(u);
4. S = S U {u};
5. for( all v ∉ S)
6. L(v) = min(L(u) + w(u,v), L(v)) }
7. end /* L(z) = length of the shortest path from a to z}.
                                                   Transparency No. 9-52
                                                                       Discrete Mathematics
                                                                         Chapter 9 Graphs
   Correctness of Dijkstra alg is a direct app. of the following lemma: (skipped)

 Lemma: for all iterations k and all vertices v:
      1. v  Sk  Lk(v) is the length of the shortest of all paths from a to v.
      2. v ∉ Sk  Lk(v) is the length of the shortest of all paths from a to v of
        which all intermediate vertices must come from Sk.
pf: By induction on k.
k = 0: Then
  S={a} , Lk (a) = 0 is the shortest length from a to a.
 v ≠ a => Lk (v) = w(a,v) is the length of the shortest from a to v without passing
    through any vertex in S.

k= j+1 > 0:
 By step 3, Lj(uk ) = min { Lj(v) | v  ~Sj }, and by step 4. Lk(uk) = Lj(uk).
 Now we show that Lj(uk) (and hence Lk(uk) ) is the shortest length of all paths from
   a to uk.
 Assume it is not. Then there must exist a shorter path a from a to uk, but such path
   must pass through a vertex not in Sj, since by ind.hyp, Lj(uk) is the least length of
   all paths passing only through Sj.
  Now let a = a --- u ----uk where u is the first vertex of a that are not in S and the
   subpath a --- u contains only vertices from Sj.
  Then the length |a| = | a---u | + |u --- uk|, but |a ---u| ≥ Lj(uk) Hence it is impossible
   that |a| < Lj(uk). This shows (1) is true.
                                                                     Transparency No. 9-53
                                                       Discrete Mathematics
                                                         Chapter 9 Graphs
   (skipped)

Now consider (2). let v be any vertex ∉ Sk .
The shortest path from a to v with intermediate vertices among
   Sk either contains uk or not.
1. If it does not, then it is also a shortest path from a to v
   containing vertices form Sj, and by ind.hyp, its length is Lj(v).
2. If it conatins uk, then uk must be the last vertex before
   reaching v, since if
    a---uk,t---v is a shortest path, then the path a---t---v, where a--
   -t is a shortest path from a to t, must be not longer than it.
As a result, it has distance Lj(uk) + w(uk,v), where by ind.hyp.,
   Lj(uk) is the shortest distance of all paths from a to uk
   passing through Sj.
   Finally, Step 6 assigns the minimum of both cases to Lk(v)
   and hence sastisfies lemma (2).
                                                     Transparency No. 9-54
                                                      Discrete Mathematics
                                                        Chapter 9 Graphs
  Find the distances b/t all pairs of vertices

 Floyd(G:(V,E,w))
1. for i = 1 to n
     for j = 1 to n
      d(i,j) = w(i,j);
2. for k = 1 to n ---- d(i,j) is the distance of minimum path from i
                    ----- to j with interior points among {1,2,...,k}.
    for i = 1 to n
     for j = 1 to n
      d(i,j) = min (d(i,k) + d(k,j), d(i,j));
   end /* d(i,j) is the shortest distance b/t i and j */
running time : O(n3).
Note: we can also apply Dijkstra's alg to obtain a O(n3) alg for
   distances of all pairs of vertices.
                                                    Transparency No. 9-55
                                                  Discrete Mathematics
                                                    Chapter 9 Graphs
  Planar graphs

Def 1: A graph is planar iff it can be redrawn in the plane w/o
  any edges crossing. Such a drawing is called a planar
  representation of the graph.
Ex1: K4: ok
Ex2: Q3: ok
Ex3: K3,3: not planar.
Eular's formula:
A planar representation splits the plane into regions (including
  an unbounded one. Eular showed a relation among #regions,
  |E| and |V|).
Theorem 1: G=(V,E): a connected planar graph with e edges
  and v vertices. Then r (#regions) = e - v + 2.
Pf: By induction on G =(V,E).
Let G0,...., Gn = G be a sequence of subgraphs of G.
                                                Transparency No. 9-56
                                                      Discrete Mathematics
                                                        Chapter 9 Graphs
    Planar graphs (cont'd)
G0 contains only one vertex.
Gi+1 is formed from Gi by adding one edge incident with one
   vertices in Gi (and a vertex if needed)
 Let ri, ei, vi are #regions, #edges, #vertices in Gi respectively.
Basis: e0 = 0; r0 = 1; v0 =1. Hence r0 = e0 - v0 + 2.
Ind. step: assume ri = ei - vi + 2.
 Let (ai+1,bi+1) be the edges added to Gi to form Gi+1.
 case 1: {ai+1,bi+1 } ∈ Vi:
  ==> ai+1 and bi+1 must be on the boundary of a common region.
   (o/w crossing would occur!)
  ==> add {ai+1,bi+1} partition the region into 2 subregion
 ==> ri+1 = ri + 1; ei+1 = ei +1; vi+1 = vi. ==> ri+1 = ei+1-vi+1+2.
case 2: a i+1 ∈ Vn but b i+1 ∉ Vi => add {ai+1,bi+1 } does not
   produce any region. => ri+1 = ri; ei+1=ei+1; vi+1 = vi+1
   ==> ri+1 = ei+1 -vi+1+ 2. QED
                                                    Transparency No. 9-57
                                                   Discrete Mathematics
                                                     Chapter 9 Graphs
  More on planar graphs

Ex4: G has 20 vertices, each of degree 3.
 ==> #regions = ? r = e - v + 2 = 30 - 20 + 2 = 12.
Corollary: G: a connected planar simple graph with e edges
   and v vertices  3. ==> e  3v - 6.
pf: for each region R:
  define deg(R) = #edges on the boundary of R.
==> 2e = S deg(R) [each edge shared by 2 regions] =S deg(v)
Since deg(R)  3 (simple graph),
2e = S deg(R)  3 r. ==> 2e/3  r = e-v+2 ==> 3v- 6  e. QED
Ex5: K5 is not planar.
sol: K5 has C(5,2) = 10 edges and 5 vertices.
 ==> 3v - 6 = 15-6 = 9 < 10, violating the necessary condition !
Ex6: K3,3, though satisfying the condition: e  3v - 6, is not
   planar.
                                                 Transparency No. 9-58
                                                   Discrete Mathematics
                                                     Chapter 9 Graphs
  More on planar graph:

 G: a connected planar simple graph of e edges and v > 2
   vertices and no simple ckt of length 3 => e  2v - 4.
pf: no ckt of length 3 ==> every region has degree  4.
==> 2e = S deg(R)   r. ==> e  r = 2e-2v+4 ==> e  2v - 4.

Ex 6: K 3,3 is not planar.
K 3,3 has 9 edges and 6 vertices and has no cycle of length 3.
==> 2 x 6 - 4 = 8 < 9. Hence not planar.

General rule about planar graphs:
Def: elementary subdivision:

  u--------------v   ==>   u------w------v.
                                                 Transparency No. 9-59
                                                   Discrete Mathematics
                                                     Chapter 9 Graphs
  General rule about planar graphs

Def: G1 and G2 are homeomorphic iff they can be obtained
  from the same graph by a sequence of elementary
  subdivisions.
Ex12:

Fact: G in not planar if some of its subgraphs is not planar.
Theorem 2: [Kuratowski theorem]
A graph is nonplanar iff its contains a subgraph which is
  homeomorphic to K5 or K3,3.




                                                 Transparency No. 9-60
                                                     Discrete Mathematics
                                                       Chapter 9 Graphs
  Graph coloring

 Problem: Given a map, determine at least how many colors
  are needed to color the map s.t. neighbor regions (with a
  common border) are assigned diff colors.
 Ex:


                       B                   H

                               C       I

                                               G
                   A
                           D


                       E           F



                                                   Transparency No. 9-61
                                                  Discrete Mathematics
                                                    Chapter 9 Graphs
  Transform maps into graphs

 Ideas:
    regions ---> vertices
    R1 and R2 share a border ---> {R1,R2} is an edges
 Def: M: a map
 GM = (V,E) where
    V = the set of all regions
    E={ {r1,r2} | r1 and r2 share a common border line in M}
    GM is called the dual graph of the map M.
Notes:
1. Every dual graph of maps are planar graphs
2. Every planar graph is the dual graph of some map.



                                                Transparency No. 9-62
                                                     Discrete Mathematics
                                                       Chapter 9 Graphs
  Graph coloring
Def 1:G=(V,E): a graph.
 A coloring of G is the assignment of a color to each vertex s.t.
  no two adjacent vertices are assigned the same color.
Problem: What is the least number of colors necessary to color
  a graph ?

Def 2: G=(V,E): a graph.
The chromatic number of G is the least number of colors
  needed for a coloring of the graph G.

Problem: What is the maximum of all chromatic numbers of all
  planar graphs ?
==>1. a problem studied for over 100 years ! [1850~1976,
        solved by Appel&Haken]
  2. 2000 cases generated and verified by computer programs.
  3. issue: believable ?                       Transparency No. 9-63
                                                   Discrete Mathematics
                                                     Chapter 9 Graphs
  The 4-color theorem

Theorem 1: The chromatic number of a planar graph is no
  greater than 4.

Note: 1. Theorem 1 holds for planar graphs only.
      2. Non-planar graphs can have any chromatic number > 4.

Ex: K5 has chromatic number 5.
    In fact Kn has chromatic number n for any n.

Exs: #(Km ,n) = 2.
     #(Cn) = 2 if n is even and 3 if n is odd.



                                                 Transparency No. 9-64
                                                            Discrete Mathematics
                                                              Chapter 9 Graphs
  Applications (scheduling and assignments)

Ex 5: Problem: how to assign the final exams s.t. no student
     has two exams at the same time.

Sol: G = (V,E) where
    V = the set of all courses
    {c1,c2} in E iff $ a student taking courses c1 and c2.
 ==> A schedule of the final examinations corresponds to a
     coloring of the associated graph G.
                1 I
     IV                                 Time    courses
                       2 II               I      1,6
    7
                                    ==>   II      2
                                          III     3,5
                        3     III         IV      4,7
  I 6

        III 5         4 IV
                                                          Transparency No. 9-65
65

						
Related docs
Other docs by HC121106103524
Read all about it part 2
Views: 2  |  Downloads: 0
Care Transition Step by Step guide
Views: 0  |  Downloads: 0
laboral1 e3e4c045778366a797414a91cae271d72123
Views: 2  |  Downloads: 0
Guiapedagogica20horas
Views: 0  |  Downloads: 0
My Personal Growth Statement
Views: 3  |  Downloads: 0
planificacion - Get as DOC
Views: 42  |  Downloads: 0
TYPE HEADING HERE
Views: 0  |  Downloads: 0