graphs: introduction · graphs and representation: objective: to capture the essential structure an...
TRANSCRIPT
![Page 1: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/1.jpg)
Graphs: Introduction
Ali Shokoufandeh,
Department of Computer Science, Drexel University
![Page 2: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/2.jpg)
Overview of this talk
Introduction:
Notations and Definitions
Graphs and Modeling
Algorithmic Graph Theory and Combinatorial Optimization
![Page 3: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/3.jpg)
Overview of this talk
Introduction:
Notations and Definitions
Graphs and Modeling
Algorithmic Graph Theory and Combinatorial Optimization
![Page 4: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/4.jpg)
Notations:
A graph G is a triple consisting of a vertex set V(G), an edge set
E(G), and a relation (weight function) W(G) associates with
each edge. The two vertices of each edge will be called its
endpoints (not necessarily distinct).
v
2
vi
v
3
v
1
vj
v
n
Vertex
![Page 5: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/5.jpg)
Notations:
v
2
vi
v
3
v
1
vj
v
n
Vertex
Edge between endpoints vi and vj
A graph G is a triple consisting of a vertex set V(G), an edge set
E(G), and a relation (weight function) W(G) associates with
each edge. The two vertices of each edge will be called its
endpoints (not necessarily distinct).
![Page 6: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/6.jpg)
Notations:
v
2
vi
v
3
v
1
vj
v
n
Vertex
Edge between endpoints vi and vj
Relation between
endpoints vi and vj
A graph G is a triple consisting of a vertex set V(G), an edge set
E(G), and a relation (weight function) W(G) associates with
each edge. The two vertices of each edge will be called its
endpoints (not necessarily distinct).
![Page 7: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/7.jpg)
Notations:
We will only consider finite graphs, i.e. graphs for which V(G) and E(G)
are finite sets.
![Page 8: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/8.jpg)
Notations:
We will only consider finite graphs, i.e. graphs for which V(G) and E(G)
are finite sets.
A simple graph is a graph having no loops or multiple edges, i.e., each
edge e=(u,v) in E(G) can be specified by its endpoints u and v in V(G).
![Page 9: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/9.jpg)
Notations:
We will only consider finite graphs, i.e. graphs for which V(G) and E(G)
are finite sets.
A simple graph is a graph having no loops or multiple edges, i.e., each
edge e=(u,v) in E(G) can be specified by its endpoints u and v in V(G).
Induced subgraphs: a subgraph formed by a subset of vertices and edges
of a graph.
![Page 10: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/10.jpg)
Notations:
We will only consider finite graphs, i.e. graphs for which V(G) and E(G)
are finite sets.
A simple graph is a graph having no loops or multiple edges, i.e., each
edge e=(u,v) in E(G) can be specified by its endpoints u and v in V(G).
Induced subgraphs: a subgraph formed by a subset of vertices and edges
of a graph.
![Page 11: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/11.jpg)
Notations:
We will only consider finite graphs, i.e. graphs for which V(G) and E(G)
are finite sets.
A simple graph is a graph having no loops or multiple edges, i.e., each
edge e=(u,v) in E(G) can be specified by its endpoints u and v in V(G).
Induced subgraphs:
Example: an independent set in a graph is a set of vertices that are pairwise
nonadjacent
![Page 12: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/12.jpg)
Notations:
We will only consider finite graphs, i.e. graphs for which V(G) and E(G)
are finite sets.
A simple graph is a graph having no loops or multiple edges, i.e., each
edge e=(u,v) in E(G) can be specified by its endpoints u and v in V(G).
Induced subgraphs:
Example: an independent set in a graph is a set of vertices that are pairwise
nonadjacent
![Page 13: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/13.jpg)
Notations:
We will only consider finite graphs, i.e. graphs for which V(G) and E(G)
are finite sets.
A simple graph is a graph having no loops or multiple edges, i.e., each
edge e=(u,v) in E(G) can be specified by its endpoints u and v in V(G).
Induced subgraphs:
Example: an independent set in a graph is a set of vertices that are pairwise
nonadjacent
![Page 14: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/14.jpg)
Notations:
A <u,v>-path is a simple graph that begins at u and ends at v,
whose vertices can be ordered so that two vertices are adjacent if
and only if they are consecutive in the ordering.
A cycle is a simple path whose vertices can be cyclically ordered
with overlapping endpoints (u=v).
![Page 15: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/15.jpg)
Notations:
Given a graph G=(V,E), where
V is its vertex set, |V|=n,
E is its edge set, with |E|=m=O(n2).
In an undirected graph an edge (u,v)=(v,u).
![Page 16: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/16.jpg)
Notations:
Given a graph G=(V,E), where
V is its vertex set, |V|=n,
E is its edge set, with |E|=m=O(n2).
In an undirected graph an edge (u,v)=(v,u).
In directed graph (u,v) is different from (v,u).
![Page 17: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/17.jpg)
Notations:
Given a graph G=(V,E), where
V is its vertex set, |V|=n,
E is its edge set, with |E|=m=O(n2).
In an undirected graph an edge (u,v)=(v,u).
In directed graph (u,v) is different from (v,u).
In a weighted graph the labels are the weights associated with edges
and/or vertices.w(u,v)
l(u) l(v)
![Page 18: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/18.jpg)
Notations:
Given a graph G=(V,E), where
V is its vertex set, |V|=n,
E is its edge set, with |E|=m=O(n2).
In an undirected graph an edge (u,v)=(v,u).
In directed graph (u,v) is different from (v,u).
In a weighted graph the labels are the weights associated with edges
and/or vertices.
Running time of graph algorithms are usually expressed in terms of
n or m.
![Page 19: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/19.jpg)
Notations:
A graph G is connected if for every u,v in V(G) there exists a
simple <u,v>-path in G (otherwise G is disconnected).
v
1
v
3v
4
v
2
v
5
![Page 20: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/20.jpg)
Notations:
A graph G is connected if for every u,v in V(G) there exists a
simple <u,v>-path in G (otherwise G is disconnected).
v
1
v
3v
4
v
2
v
5
v
6
v
8v
7
![Page 21: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/21.jpg)
Notations:
A graph G is connected if for every u,v in V(G) there exists a
simple <u,v>-path in G (otherwise G is disconnected).
The maximal connected subgraphs of G are called its connected
components.
v
1
v
3v
4
v
2
v
5
v
6
v
8v
7
![Page 22: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/22.jpg)
Notations:
A graph G is connected if for every u,v in V(G) there exists a
simple <u,v>-path in G (otherwise G is disconnected).
The maximal connected subgraphs of G are called its connected
components.
The degree of a vertex v in a graph G, denoted deg(v), is the
number of edges in G which have v as an endpoint.
vi
v
2
vk
k is the degree of vi v
1
![Page 23: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/23.jpg)
Notations:
A graph G is connected if for every u,v in V(G) there exists a
<u,v>-path in G (otherwise G is disconnected).
The maximal connected subgraphs of G are called its connected
components.
The degree of a vertex v in a graph G, denoted deg(v), is the
number of edges in G which have v as an endpoint.
vi
v
2
vk
k is the degree of vi v
1Neighborhood of vi
![Page 24: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/24.jpg)
Important Graphs:
A complete graph is a simple graph whose vertices are pairwise
adjacent. The complete graph with n vertices is denoted Kn.
A graph G is bipartite if V(G) is the union of two disjoint (possibly
empty) independent sets, called partite sets of G.
K1 K2 K3 K4 K5
![Page 25: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/25.jpg)
Important Graphs:
A graph is k-partite if V(G) is the union of k
disjoint independent sets.
K1 K2 K3 K4 K5
A complete graph is a simple graph whose vertices are pairwise
adjacent. The complete graph with n vertices is denoted Kn.
A graph G is bipartite if V(G) is the union of two disjoint (possibly
empty) independent sets, called partite sets of G.
![Page 26: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/26.jpg)
Important Graphs:
A Tree is a connected acyclic graph.
![Page 27: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/27.jpg)
Important Graphs:
A Tree is a connected acyclic graph.
A graph is planar if it can be drawn in the plane without crossings.
A graph that is so drawn in the plane is also said to be embedded in
the plane.
![Page 28: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/28.jpg)
Graph Representation:
The adjacency matrix of a graph G, denoted by AG is an n×n
defined as follows:
If G is directed then AG is asymmetric.
1
2 4
3
G
AG[i, j] =1 if (i, j)Î E
0 if (i, j)Ï E
ì
íï
îï
AG =
0 1 1 0
0 0 1 0
0 0 0 0
0 0 1 0
é
ë
êêêê
ù
û
úúúú
![Page 29: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/29.jpg)
Notes:
Number of 1’s in AG is m if G is directed; if its
undirected, then number of 1’s is 2m.
Degree of a vertex is the sum of entries in
corresponding row of AG
If G is undirected then sum of all degree is 2m.
In a directed graph sum of the out degrees is equal to m.
![Page 30: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/30.jpg)
Overview of this talk
Introduction:
Notations and Definitions
Graphs and Modeling
Algorithmic Graph Theory and Combinatorial Optimization
![Page 31: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/31.jpg)
Graphs and Representation:
Objective: To capture the essential structure an entity/object using a
graph-based representation.
![Page 32: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/32.jpg)
Graphs and Representation:
Objective: To capture the essential structure an entity/object using a
graph-based representation.
Mechanics:
The vertex set V(G) represents feature
primitives extracted from object, encoded as a
label/attribute function l(v) for each v in
V(G).
The edge set E(G) capture the affinity or
relative distribution of features within
object. The edge weight w(e) for each e in
E(G) captures the attributes of the edge.
![Page 33: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/33.jpg)
Graphs and Representation:
Objective: To capture the essential structure an entity/object using a
graph-based representation.
Mechanics:
The vertex set V(G) represents feature
primitives extracted from object, encoded as a
label/attribute function l(v) for each v in
V(G).
The edge set E(G) capture the affinity or
relative distribution of features within
object. The edge weight w(e) for each e in
E(G) captures the attributes of the edge.
![Page 34: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/34.jpg)
Graphs and Representation:
Objective: To capture the essential structure an entity/object using a
graph-based representation.
Mechanics:
The vertex set V(G) represents feature
primitives extracted from object, encoded as a
label/attribute function l(v) for each v in
V(G).
The edge set E(G) capture the affinity or
relative distribution of features within
object. The edge weight w(e) for each e in
E(G) captures the attributes of the edge.
![Page 35: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/35.jpg)
Shock:
Shock Graph (Siddiqi et. al. 1999)
![Page 36: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/36.jpg)
Shock Graphs
![Page 37: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/37.jpg)
Shock Graphs
Representing shape properties.
![Page 38: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/38.jpg)
Variations in Reresentation:
Representing shape properties.
Representing appearance features.
...
![Page 39: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/39.jpg)
Why Graphs?
Many reasons:
Intuitive (representation)
![Page 40: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/40.jpg)
Why Graphs?
Many reasons:
Intuitive (representation)
Compactness (representation)
![Page 41: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/41.jpg)
Why Graphs?
Many reasons:
Intuitive (representation)
Compactness (representation)
Generative (morphologically)
Sebastian et al., 2004
![Page 42: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/42.jpg)
Why Graphs?
Many reasons:
Intuitive (representation)
Compactness (representation)
Generative (morphologically)
Capturing distributions.
![Page 43: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/43.jpg)
Why Graphs?
Many reasons:
Intuitive (representation)
Compactness (representation)
Generative (morphologically)
Capturing distributions.
Makes computational tasks easier!
![Page 44: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/44.jpg)
Sample Computational Tasks:
Shape matching reduced to graph
matching
![Page 45: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/45.jpg)
Sample Computational Tasks:
Shape matching reduced to graph
matching.
Object recognition (affinity
matrix).
![Page 46: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/46.jpg)
Sample Computational Tasks:
Shape matching reduced to graph
matching.
Object recognition (cluttered scene).
![Page 47: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/47.jpg)
Sample Computational Tasks:
Shape matching reduced to graph
matching.
Object recognition
Localization.
![Page 48: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/48.jpg)
Sample Computational Tasks:
Shape matching reduced to graph
matching.
Object recognition
Localization.
Shape abstraction
![Page 49: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/49.jpg)
Sample Computational Tasks:
Shape matching reduced to graph
matching.
Object recognition
Localization.
Shape abstraction
![Page 50: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/50.jpg)
Sample Computational Tasks:
Shape matching reduced to graph
matching.
Object recognition
Localization.
Shape abstraction
Segmentation
Felzenszwalb and Huttenlocher 2004
![Page 51: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/51.jpg)
Why is representation hard?
What is the right level of abstraction?
![Page 52: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/52.jpg)
Hardness of Representation
What is the right level of abstraction?
Generic model construction requires
complex grouping algorithms.
![Page 53: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/53.jpg)
Hardness of Representation
What is the right level of abstraction?
Generic model construction requires
complex grouping algorithms.
![Page 54: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/54.jpg)
Hardness of Representation
What is the right level of abstraction?
Model construction requires complex
grouping algorithms.
Invariance (view point).
![Page 55: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/55.jpg)
Hardness of Representation
What is the right level of abstraction?
Model construction requires complex
grouping algorithms.
Invariance (noise).
![Page 56: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/56.jpg)
Overview of this talk
Introduction:
Notations and Definitions
Graphs and Modeling
Algorithmic Graph Theory and Combinatorial Optimization
![Page 57: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/57.jpg)
Problems:
Decision (yes or no) problems:
Does graph G contain an induced copy of graph H?
![Page 58: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/58.jpg)
Problems:
Decision (yes or no) problems:
Does graph G contain an induced copy of graph H?
Localization problem
![Page 59: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/59.jpg)
Graph Problems:
Optimization problems:
Find the optimal induced substructure in a graph:
Maximum cardinality minimum weight matching, minimum spanning tree,
maximum clique, maximum hitting set, etc.
![Page 60: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/60.jpg)
Graph Problems:
Optimization problems:
Find the optimal induced substructure in a graph:
Maximum cardinality minimum weight matching, minimum spanning tree,
maximum clique, maximum hitting set, etc.
Max-cut dominating sets (Canonical sets)
![Page 61: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/61.jpg)
Graph Problems:
Optimization problems:
Find the optimal induced substructure in a graph:
Maximum cardinality minimum weight matching, minimum spanning tree,
maximum clique, maximum hitting set, etc.
Max-cut dominating sets (Canonical sets)
![Page 62: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/62.jpg)
Algorithmic Graph Theory:
Objective: Designing efficient combinatorial methods for solving
decision or optimization problems.
Runs in polynomial number of steps in terms of size of the graph; n=|V(G)|
and m=|E(G)|.
Example: Minimum Spanning Tree (MST): T(m,n)=O(m+n log n).
Intro. to Algorithms. Corman et al.
![Page 63: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/63.jpg)
Algorithmic Graph Theory:
Objective: Designing efficient combinatorial methods for solving
decision or optimization problems.
Runs in polynomial number of steps in terms of size of the graph; n=|V(G)|
and m=|E(G)|.
Example: Minimum Spanning Tree (MST): T(m,n)=O(m+n log n).
Haxhimusa and Kropatsch, 2004
![Page 64: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/64.jpg)
Algorithmic Graph Theory:
Objective: Designing efficient combinatorial methods for solving
decision or optimization problems.
Runs in polynomial number of steps in terms of size of the graph; n=|V(G)|
and m=|E(G)|.
Optimality of solution:
Example: Maximum matching problem
![Page 65: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/65.jpg)
Algorithmic Graph Theory:
Objective: Designing efficient combinatorial methods for solving
decision or optimization problems.
Runs in polynomial number of steps in terms of size of the graph; n=|V(G)|
and m=|E(G)|.
Optimality of solution:
Example: Maximum matching problem
![Page 66: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/66.jpg)
Algorithmic Graph Theory:
Objective: Designing efficient combinatorial methods for solving
decision or optimization problems.
Runs in polynomial number of steps in terms of size of the graph; n=|V(G)|
and m=|E(G)|.
Optimality of solution:
Example: Maximum matching problem
![Page 67: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/67.jpg)
Algorithmic Graph Theory:
Objective: Designing efficient combinatorial methods for solving
decision or optimization problems.
Runs in polynomial number of steps in terms of size of the graph; n=|V(G)|
and m=|E(G)|.
Optimality of solution:
Example: Maximum matching problem
![Page 68: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/68.jpg)
Algorithmic Graph Theory:
Objective: Designing efficient combinatorial methods for solving
decision or optimization problems.
Runs in polynomial number of steps in terms of size of the graph; n=|V(G)|
and m=|E(G)|.
Optimality of solution:
Example: Maximum matching problem
![Page 69: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/69.jpg)
Algorithmic Graph Theory:
Objective: Designing efficient combinatorial methods for solving
decision or optimization problems.
Runs in polynomial number of steps in terms of size of the graph; n=|V(G)|
and m=|E(G)|.
Optimality of solution:
Maximum matching problem
![Page 70: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/70.jpg)
Algorithmic Graph Theory:
Objective: Designing efficient combinatorial methods for solving
decision or optimization problems.
Runs in polynomial number of steps in terms of size of the graph; n=|V(G)|
and m=|E(G)|.
Optimality of solution:
Example: Maximum matching problem
![Page 71: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/71.jpg)
Algorithmic Graph Theory:
Objective: Designing efficient combinatorial methods for solving
decision or optimization problems.
Runs in polynomial number of steps in terms of size of the graph; n=|V(G)|
and m=|E(G)|.
Optimality of solution:
Example: Maximum matching problem
![Page 72: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/72.jpg)
Algorithmic Graph Theory:
Objective: Designing efficient combinatorial methods for solving
decision or optimization problems.
Runs in polynomial number of steps in terms of size of the graph; n=|V(G)|
and m=|E(G)|.
Optimality of solution.
Bad news: most of the combinatorial optimization problems involving
graphs are computationally intractable:
traveling salesman problem, maximum cut problem, independent set problem,
maximum clique problem, minimum vertex cover problem, maximum
independent set problem, multidimensional matching problem,…
![Page 73: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/73.jpg)
Algorithmic Graph Theory:
Dealing with the intractability:
Bounded approximation algorithms
Suboptimal heuristics.
![Page 74: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/74.jpg)
Algorithmic Graph Theory:
Bounded approximation algorithms
Example: Vertex cover problem:
A vertex cover of an undirected graph G=(V,E) is a subset V’ of V such that if (u,v) is an edge in E, then u or v (or both) belong to V’.
![Page 75: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/75.jpg)
Algorithmic Graph Theory:
Bounded approximation algorithms
Example: Vertex cover problem:
A vertex cover of an undirected graph G=(V,E) is a subset V’ of V such that if (u,v) is an edge in E, then u or v (or both) belong to V’.
The vertex cover problem is to find a vertex cover of minimum size in a given undirected graph.
![Page 76: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/76.jpg)
Algorithmic Graph Theory:
Bounded approximation algorithms
Example: Vertex cover problem:
A vertex cover of an undirected graph G=(V,E) is a subset V’ of V such that if (u,v) is an edge in E, then u or v (or both) belong to V’.
The vertex cover problem is to find a vertex cover of minimum size in a given undirected graph.
![Page 77: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/77.jpg)
Algorithmic Graph Theory:
Bounded approximation algorithms
Example: Vertex cover problem:
A vertex cover of an undirected graph G=(V,E) is a subset V’ of V such that if (u,v) is an edge in E, then u or v (or both) belong to V’.
The vertex cover problem is to find a vertex cover of minimum size in a given undirected graph.
![Page 78: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/78.jpg)
Algorithmic Graph Theory:
Bounded approximation algorithms
Example: Vertex cover problem:
A vertex cover of an undirected graph G=(V,E) is a subset V’ of Vsuch that if (u,v) is an edge in E, then u or v (or both) belong to V’.
The size of a vertex cover is the number of vertices in it.
The vertex cover problem is to find a vertex cover of minimumsize in a given undirected graph.
We call such a vertex cover an optimal vertex cover.
The vertex cover problem was shown to be NP-complete.
![Page 79: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/79.jpg)
Algorithmic Graph Theory:
Vertex cover problem:
The following approximation algorithm takes as input an undirected graph
G and returns a vertex cover whose size is guaranteed no more than twice
the size of optimal vertex cover:
1. C ¬ Æ
2. E ' ¬ E[G]
3. While E ' ¹ Æ do
4. Let (u, v) be an arbitrary edge in E'
5. C ¬ C È{u, v}
6. Remove from E' every edge incident on either
u or v
7. Return C
![Page 80: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/80.jpg)
Algorithmic Graph Theory:
a
b c
e f g a
b
e
d
f g
a
b
e
d
f g
c
cd
![Page 81: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/81.jpg)
The Vertex Cover Problem
a
b
e
d
f g
a
b
e f g
c
c d
![Page 82: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/82.jpg)
The Vertex Cover Problem
a
b
e
d
f g
a
b
e f g a
b
f g
c
cc d
e
d
![Page 83: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/83.jpg)
Algorithmic Graph Theory:
83
Theorem: Approximate vertex cover has a ratio bound of 2.
Proof:
It is easy to see that C is a vertex cover.
To show that the size of C is twice the size of optimal vertex cover.
Let A be the set of edges picked in line 4 of algorithm.
No two edges in A share an endpoint, therefore each new edge adds two new vertices to C, so |C|=2|A|.
Any vertex cover should cover the edges in A, which means at least one of the end points of each edge in A belongs to C*.
So, |A|<=|C*|, which will imply the desired bound.
![Page 84: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/84.jpg)
Algorithmic Graph Theory:
Bounded approximation algorithms
Example: Vertex cover problem:
A vertex cover of an undirected graph G=(V,E) is a subset V’ of V such that if (u,v) is an edge in E, then u or v (or both) belong to V’.
The vertex cover problem is to find a vertex cover of minimum size in a given undirected graph.
![Page 85: Graphs: Introduction · Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation. Mechanics: The vertex set V(G)](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd1cf9f02efc90ea634f125/html5/thumbnails/85.jpg)
What Next?
Geometry of Graphs and Graphs Encoding the Geometry
Spectral Graph Theory