Graphs: Introduction. Ali Shokoufandeh, Department of Computer Science, Drexel University

Similar documents
Introduction to Graph Theory

Graph Theory: Introduction

Domination, Independence and Other Numbers Associated With the Intersection Graph of a Set of Half-planes

Paths. Path is a sequence of edges that begins at a vertex of a graph and travels from vertex to vertex along edges of the graph.

Adjacent: Two distinct vertices u, v are adjacent if there is an edge with ends u, v. In this case we let uv denote such an edge.

Math 776 Graph Theory Lecture Note 1 Basic concepts

Best known solution time is Ω(V!) Check every permutation of vertices to see if there is a graph edge between adjacent vertices

Introduction III. Graphs. Motivations I. Introduction IV

Graph Theory. ICT Theory Excerpt from various sources by Robert Pergl

Graph Theory S 1 I 2 I 1 S 2 I 1 I 2

arxiv: v1 [cs.dm] 21 Dec 2015

A graph is finite if its vertex set and edge set are finite. We call a graph with just one vertex trivial and all other graphs nontrivial.

Graphs (MTAT , 6 EAP) Lectures: Mon 14-16, hall 404 Exercises: Wed 14-16, hall 402

CMSC 451: Lecture 22 Approximation Algorithms: Vertex Cover and TSP Tuesday, Dec 5, 2017

COMP 355 Advanced Algorithms Approximation Algorithms: VC and TSP Chapter 11 (KT) Section (CLRS)

Minimum-Spanning-Tree problem. Minimum Spanning Trees (Forests) Minimum-Spanning-Tree problem

Theory of Computing. Lecture 10 MAS 714 Hartmut Klauck

Graph Theory. Part of Texas Counties.

Theorem 2.9: nearest addition algorithm

Approximation slides 1. An optimal polynomial algorithm for the Vertex Cover and matching in Bipartite graphs

Number Theory and Graph Theory

Introduction to Combinatorial Algorithms

GRAPH THEORY and APPLICATIONS. Matchings

Section 8.2 Graph Terminology. Undirected Graphs. Definition: Two vertices u, v in V are adjacent or neighbors if there is an edge e between u and v.

Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1

Unit 8: Coping with NP-Completeness. Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems. Y.-W.

DEFINITION OF GRAPH GRAPH THEORY GRAPHS ACCORDING TO THEIR VERTICES AND EDGES EXAMPLE GRAPHS ACCORDING TO THEIR VERTICES AND EDGES

K 4 C 5. Figure 4.5: Some well known family of graphs

Discrete Mathematics (2009 Spring) Graphs (Chapter 9, 5 hours)

On Covering a Graph Optimally with Induced Subgraphs

Chapter 23. Minimum Spanning Trees

Graphs and Network Flows IE411. Lecture 21. Dr. Ted Ralphs

WUCT121. Discrete Mathematics. Graphs

Assignment 4 Solutions of graph problems

CS473-Algorithms I. Lecture 13-A. Graphs. Cevdet Aykanat - Bilkent University Computer Engineering Department

Math 778S Spectral Graph Theory Handout #2: Basic graph theory

Graph and Digraph Glossary

Discrete Structures CISC 2315 FALL Graphs & Trees

1 Minimum Spanning Trees (MST) b 2 3 a. 10 e h. j m

CS 311 Discrete Math for Computer Science Dr. William C. Bulko. Graphs

Let G = (V, E) be a graph. If u, v V, then u is adjacent to v if {u, v} E. We also use the notation u v to denote that u is adjacent to v.

Discharging and reducible configurations

GRAPH THEORY and APPLICATIONS. Factorization Domination Indepence Clique

Algorithm and Complexity of Disjointed Connected Dominating Set Problem on Trees

AMS /672: Graph Theory Homework Problems - Week V. Problems to be handed in on Wednesday, March 2: 6, 8, 9, 11, 12.

Lecture 10. Elementary Graph Algorithm Minimum Spanning Trees

Bipartite Roots of Graphs

CPCS Discrete Structures 1

Graph theory. Po-Shen Loh. June We begin by collecting some basic facts which can be proved via bare-hands techniques.

W[1]-hardness. Dániel Marx. Recent Advances in Parameterized Complexity Tel Aviv, Israel, December 3, 2017

MATH 363 Final Wednesday, April 28. Final exam. You may use lemmas and theorems that were proven in class and on assignments unless stated otherwise.

Solving problems on graph algorithms

Basics of Graph Theory

Part II. Graph Theory. Year

22 Elementary Graph Algorithms. There are two standard ways to represent a

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret

Stanford University CS261: Optimization Handout 1 Luca Trevisan January 4, 2011

Discrete mathematics II. - Graphs

Minimum spanning trees

Course Introduction / Review of Fundamentals of Graph Theory

Definition: A graph G = (V, E) is called a tree if G is connected and acyclic. The following theorem captures many important facts about trees.

Module 6 NP-Complete Problems and Heuristics

Algorithmic aspects of k-domination in graphs

Chapter 2 Graphs. 2.1 Definition of Graphs

The Structure of Bull-Free Perfect Graphs

Notes for Lecture 24

Discrete mathematics , Fall Instructor: prof. János Pach

Module 6 NP-Complete Problems and Heuristics

Decreasing a key FIB-HEAP-DECREASE-KEY(,, ) 3.. NIL. 2. error new key is greater than current key 6. CASCADING-CUT(, )

Graph Theory. Connectivity, Coloring, Matching. Arjun Suresh 1. 1 GATE Overflow

CME 305: Discrete Mathematics and Algorithms Instructor: Reza Zadeh HW#3 Due at the beginning of class Thursday 02/26/15

Introduction to Optimization

Math 443/543 Graph Theory Notes 11: Graph minors and Kuratowski s Theorem

CS 561, Lecture 9. Jared Saia University of New Mexico

How can we lay cable at minimum cost to make every telephone reachable from every other? What is the fastest route between two given cities?

(5.2) 151 Math Exercises. Graph Terminology and Special Types of Graphs. Malek Zein AL-Abidin

Graph Theory Day Four

APPROXIMATION ALGORITHMS FOR GEOMETRIC PROBLEMS

Partha Sarathi Mandal

CONNECTIVITY AND NETWORKS

Lecture Notes on Graph Theory

CS 220: Discrete Structures and their Applications. graphs zybooks chapter 10

Minimum Spanning Trees

Network models and graph theory

Math 170- Graph Theory Notes

Minimum Spanning Trees My T. UF

Module 6 NP-Complete Problems and Heuristics

Graphs. Pseudograph: multiple edges and loops allowed

Greedy Algorithms. At each step in the algorithm, one of several choices can be made.

CPSC 536N: Randomized Algorithms Term 2. Lecture 10

Module 6 P, NP, NP-Complete Problems and Approximation Algorithms

Artificial Intelligence

Approximation Algorithms

Treewidth and graph minors

Introduction to Optimization

Matching and Planarity

Graph Connectivity G G G

v V Question: How many edges are there in a graph with 10 vertices each of degree 6?

Research Question Presentation on the Edge Clique Covers of a Complete Multipartite Graph. Nechama Florans. Mentor: Dr. Boram Park

An Introduction to Graph Theory

Transcription:

Graphs: Introduction Ali Shokoufandeh, Department of Computer Science, Drexel University

Overview of this talk Introduction: Notations and Definitions Graphs and Modeling Algorithmic Graph Theory and Combinatorial Optimization

Overview of this talk Introduction: Notations and Definitions Graphs and Modeling Algorithmic Graph Theory and Combinatorial Optimization

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). Vertex v 1 v 2 v 3 v n v i v j

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). Vertex v 1 v 2 v 3 v n v i v j Edge between endpoints v i and v j

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). Vertex v 1 v 2 Relation between endpoints v i and v j v 3 v n v i v j Edge between endpoints v i and v j

Notations: We will only consider finite graphs, i.e. graphs for which V(G) and E(G) are finite sets.

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).

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.

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.

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

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

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

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).

Notations: Given a graph G=(V,E), where V is its vertex set, V =n, E is its edge set, with E =m=o(n 2 ). In an undirected graph an edge (u,v)=(v,u).

Notations: Given a graph G=(V,E), where V is its vertex set, V =n, E is its edge set, with E =m=o(n 2 ). In an undirected graph an edge (u,v)=(v,u). In directed graph (u,v) is different from (v,u).

Notations: Given a graph G=(V,E), where V is its vertex set, V =n, E is its edge set, with E =m=o(n 2 ). 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. l(u) w(u,v) l(v)

Notations: Given a graph G=(V,E), where V is its vertex set, V =n, E is its edge set, with E =m=o(n 2 ). 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.

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 2 v 5 v 4 v 3

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 2 v v 6 5 v 4 v 3 v 7 v 8

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 2 v v 6 5 v 4 v 3 v 7 v 8

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. k is the degree of v i v i v 1 v 2 v k

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. k is the degree of v i v i v 1 Neighborhood of v i v 2 v k

Important Graphs: A complete graph is a simple graph whose vertices are pairwise adjacent. The complete graph with n vertices is denoted K n. K 1 K 2 K 3 K 4 K 5 A graph G is bipartite if V(G) is the union of two disjoint (possibly empty) independent sets, called partite sets of G.

Important Graphs: A complete graph is a simple graph whose vertices are pairwise adjacent. The complete graph with n vertices is denoted K n. K 1 K 2 K 3 K 4 K 5 A graph G is bipartite if V(G) is the union of two disjoint (possibly empty) independent sets, called partite sets of G. A graph is k-partite if V(G) is the union of k disjoint independent sets.

Important Graphs: A Tree is a connected acyclic graph.

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.

Graph Representation: The adjacency matrix of a graph G, denoted by A G is an n n defined as follows: A G [i, j] = ìï í îï 1 if (i, j) Î E 0 if (i, j) Ï E If G is directed then A G is asymmetric. G 1 2 4 3 é ê A G = ê ê ê ë 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 ù ú ú ú ú û

Notes: Number of 1 s in A G 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 A G If G is undirected then sum of all degree is 2m. In a directed graph sum of the out degrees is equal to m.

Overview of this talk Introduction: Notations and Definitions Graphs and Modeling Algorithmic Graph Theory and Combinatorial Optimization

Graphs and Representation: Objective: To capture the essential structure an entity/object using a graph-based representation.

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.

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.

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.

Shock: Shock Graph (Siddiqi et. al. 1999)

Shock Graphs

Shock Graphs Representing shape properties.

Variations in Reresentation: Representing shape properties. Representing appearance features....

Why Graphs? Many reasons: Intuitive (representation)

Why Graphs? Many reasons: Intuitive (representation) Compactness (representation)

Why Graphs? Many reasons: Intuitive (representation) Compactness (representation) Generative (morphologically) Sebastian et al., 2004

Why Graphs? Many reasons: Intuitive (representation) Compactness (representation) Generative (morphologically) Capturing distributions.

Why Graphs? Many reasons: Intuitive (representation) Compactness (representation) Generative (morphologically) Capturing distributions. Makes computational tasks easier!

Sample Computational Tasks: Shape matching reduced to graph matching

Sample Computational Tasks: Shape matching reduced to graph matching. Object recognition (affinity matrix).

Sample Computational Tasks: Shape matching reduced to graph matching. Object recognition (cluttered scene).

Sample Computational Tasks: Shape matching reduced to graph matching. Object recognition Localization.

Sample Computational Tasks: Shape matching reduced to graph matching. Object recognition Localization. Shape abstraction

Sample Computational Tasks: Shape matching reduced to graph matching. Object recognition Localization. Shape abstraction

Sample Computational Tasks: Shape matching reduced to graph matching. Object recognition Localization. Shape abstraction Segmentation Felzenszwalb and Huttenlocher 2004

Why is representation hard? What is the right level of abstraction?

Hardness of Representation What is the right level of abstraction? Generic model construction requires complex grouping algorithms.

Hardness of Representation What is the right level of abstraction? Generic model construction requires complex grouping algorithms.

Hardness of Representation What is the right level of abstraction? Model construction requires complex grouping algorithms. Invariance (view point).

Hardness of Representation What is the right level of abstraction? Model construction requires complex grouping algorithms. Invariance (noise).

Overview of this talk Introduction: Notations and Definitions Graphs and Modeling Algorithmic Graph Theory and Combinatorial Optimization

Problems: Decision (yes or no) problems: Does graph G contain an induced copy of graph H?

Problems: Decision (yes or no) problems: Does graph G contain an induced copy of graph H? Localization problem

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.

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)

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)

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.

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

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

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

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

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

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

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

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

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

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,

Algorithmic Graph Theory: Dealing with the intractability: Bounded approximation algorithms Suboptimal heuristics.

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.

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.

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.

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.

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 size of a vertex cover is the number of vertices in it. The vertex cover problem is to find a vertex cover of minimum size 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.

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

Algorithmic Graph Theory: b c d b c d a e f g a e f g b c d a e f g

The Vertex Cover Problem b c d a e f g b c d a e f g

The Vertex Cover Problem b c d a e f g b c d b c d a e f g a e f g

83 Algorithmic Graph Theory: 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.

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.

What Next? Geometry of Graphs and Graphs Encoding the Geometry Spectral Graph Theory