Zheng Zhang, 27.05.2010 Exact Matchingslide 1 Exact (Graph) Matching Zheng Zhang e0928502 Presentation for VO Structural Pattern Recognition.

Slides:



Advertisements
Similar presentations
Algorithms for computing Canonical labeling of Graphs and Sub-Graph Isomorphism.
Advertisements

1 Decomposing Hypergraphs with Hypertrees Raphael Yuster University of Haifa - Oranim.
Inconsistent Heuristics
Traveling Salesperson Problem
Midwestern State University Department of Computer Science Dr. Ranette Halverson CMPS 2433 – CHAPTER 4 GRAPHS 1.
Graph Isomorphism Algorithms and networks. Graph Isomorphism 2 Today Graph isomorphism: definition Complexity: isomorphism completeness The refinement.
1 NP-completeness Lecture 2: Jan P The class of problems that can be solved in polynomial time. e.g. gcd, shortest path, prime, etc. There are many.
Movie theatre service on brightness and volume range leading to maximum clique graph By, Usha Kavirayani.
Branch & Bound Algorithms
Graphs Graphs are the most general data structures we will study in this course. A graph is a more general version of connected nodes than the tree. Both.
GOLOMB RULERS AND GRACEFUL GRAPHS
1 Efficient Subgraph Search over Large Uncertain Graphs Ye Yuan 1, Guoren Wang 1, Haixun Wang 2, Lei Chen 3 1. Northeastern University, China 2. Microsoft.
Outline Graph matching Definition Manifold application areas
CPSC 322, Lecture 9Slide 1 Search: Advanced Topics Computer Science cpsc322, Lecture 9 (Textbook Chpt 3.6) January, 23, 2009.
C++ Programming: Program Design Including Data Structures, Third Edition Chapter 21: Graphs.
Applied Discrete Mathematics Week 12: Trees
Branch and Bound Similar to backtracking in generating a search tree and looking for one or more solutions Different in that the “objective” is constrained.
Structure discovery in PPI networks using pattern-based network decomposition Philip Bachman and Ying Liu BIOINFORMATICS System biology Vol.25 no
1 Data Structures and Algorithms Graphs I: Representation and Search Gal A. Kaminka Computer Science Department.
MAE 552 – Heuristic Optimization Lecture 26 April 1, 2002 Topic:Branch and Bound.
SubSea: An Efficient Heuristic Algorithm for Subgraph Isomorphism Vladimir Lipets Ben-Gurion University of the Negev Joint work with Prof. Ehud Gudes.
1 Branch and Bound Searching Strategies 2 Branch-and-bound strategy 2 mechanisms: A mechanism to generate branches A mechanism to generate a bound so.
Backtracking.
Chapter 15 Graph Theory © 2008 Pearson Addison-Wesley.
Part I: Introductory Materials Introduction to Graph Theory Dr. Nagiza F. Samatova Department of Computer Science North Carolina State University and Computer.
Zheng Zhang, Exact Matching slide 1 Outline Graph matching – Definition – Manifold application areas Exact matching – Definition – Different.
Yinghui Wu LFCS Lab Lunch Homomorphism and Simulation Revised for Graph Matching.
FAST FREQUENT FREE TREE MINING IN GRAPH DATABASES Marko Lazić 3335/2011 Department of Computer Engineering and Computer Science,
Busby, Dodge, Fleming, and Negrusa. Backtracking Algorithm Is used to solve problems for which a sequence of objects is to be selected from a set such.
Tractable Symmetry Breaking Using Restricted Search Trees Colva M. Roney-Dougal, Ian P. Gent, Tom Kelsey, Steve Linton Presented by: Shant Karakashian.
Physical Mapping of DNA Shanna Terry March 2, 2004.
MCS312: NP-completeness and Approximation Algorithms
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
Research Directions for Big Data Graph Analytics John A. Miller, Lakshmish Ramaswamy, Krys J. Kochut and Arash Fard Department of Computer Science University.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
GRAPHS CSE, POSTECH. Chapter 16 covers the following topics Graph terminology: vertex, edge, adjacent, incident, degree, cycle, path, connected component,
Fundamentals of Algorithms MCS - 2 Lecture # 7
BackTracking CS335. N-Queens The object is to place queens on a chess board in such as way as no queen can capture another one in a single move –Recall.
Computational Intelligence II Lecturer: Professor Pekka Toivanen Exercises: Nina Rogelj
1 Lower Bounds Lower bound: an estimate on a minimum amount of work needed to solve a given problem Examples: b number of comparisons needed to find the.
An Efficient Algorithm for Enumerating Pseudo Cliques Dec/18/2007 ISAAC, Sendai Takeaki Uno National Institute of Informatics & The Graduate University.
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
Graphs. Graphs Similar to the graphs you’ve known since the 5 th grade: line graphs, bar graphs, etc., but more general. Those mathematical graphs are.
Research Directions for Big Data Graph Analytics John A. Miller, Lakshmish Ramaswamy, Krys J. Kochut and Arash Fard.
LIMITATIONS OF ALGORITHM POWER
Ferdowsi University of Mashhad 1 Automatic Semantic Web Service Composition based on owl-s Research Proposal presented by : Toktam ghafarian.
Graphs Basic properties.
Union By Rank Ackermann’s Function Graph Algorithms Rajee S Ramanikanthan Kavya Reddy Musani.
Chapter 13 Backtracking Introduction The 3-coloring problem
FUNCTIONS COSC-1321 Discrete Structures 1. Function. Definition Let X and Y be sets. A function f from X to Y is a relation from X to Y with the property.
Introduction to Graph Theory By: Arun Kumar (Asst. Professor) (Asst. Professor)
Chapter 3.5 and 3.6 Heuristic Search Continued. Review:Learning Objectives Heuristic search strategies –Best-first search –A* algorithm Heuristic functions.
Chapter 20: Graphs. Objectives In this chapter, you will: – Learn about graphs – Become familiar with the basic terminology of graph theory – Discover.
Algorithms for hard problems Parameterized complexity Bounded tree width approaches Juris Viksna, 2015.
Introduction to NP Instructor: Neelima Gupta 1.
A Binary Linear Programming Formulation of the Graph Edit Distance Presented by Shihao Ji Duke University Machine Learning Group July 17, 2006 Authors:
The NP class. NP-completeness Lecture2. The NP-class The NP class is a class that contains all the problems that can be decided by a Non-Deterministic.
(CSC 102) Lecture 30 Discrete Structures. Graphs.
(iii) Simplex method - I D Nagesh Kumar, IISc Water Resources Planning and Management: M3L3 Linear Programming and Applications.
Lecture 20. Graphs and network models 1. Recap Binary search tree is a special binary tree which is designed to make the search of elements or keys in.
Gspan: Graph-based Substructure Pattern Mining
Traveling Salesperson Problem
BackTracking CS255.
Structural Patten Recognition Instead of describing an object in terms of a feature vector, describe it by its structure Describe complicated objects.
Design and Analysis of Algorithm
Subtree Isomorphism in O(n2.5)
Copyright © Cengage Learning. All rights reserved.
Trees-2, Graphs Data Structures with C Chpater-6 Course code: 10CS35
Major Design Strategies
Complexity Theory: Foundations
Presentation transcript:

Zheng Zhang, Exact Matchingslide 1 Exact (Graph) Matching Zheng Zhang e Presentation for VO Structural Pattern Recognition

Zheng Zhang, Exact Matchingslide 2 Outline Graph matching –Definition –Manifold application areas Exact matching –Definition –Different forms of exact matching –Necessary concepts Algorithms for exact matching –Techniques based on tree search –Other techniques Conclusion

Zheng Zhang, Exact Matchingslide 3 Graph matching Definition: –Graph matching is the process of finding a correspondence between the nodes and the edges of two graphs that satisfies some (more or less stringent) constraints ensuring that similar substructures in one graph are mapped to similar substructures in the other. [D. Conte, Pasquale Foggia, Carlo Sansone, and Mario Vento. Thirty Years of Graph Matching in Pattern Recognition.] in comparison with matching (graph theory): –A matching or independent edge set in a graph is a set of edges without common vertices. It may also be an entire graph consisting of edges without common vertices. [Wikipedia]

Zheng Zhang, Exact Matchingslide 4 Graph matching Manifold application areas –2D and 3D image analysis –Document processing –Biometric identification –Image databases –Video analysis –Biological and biomedical applications Categories of matching –Exact matching –Inexact matching –Other matching problems

Zheng Zhang, Exact Matchingslide 5 Exact matching Definition –Exact graph matching is characterized by the fact that the mapping between the nodes of the two graphs must be edge- preserving in the sense that if two nodes in the first graph are linked by an edge, they are mapped to two nodes in the second graph that are linked by an edge as well. Different forms of exact matching –The most stringent form: graph isomorphism –A weaker form: subgraph isomorphism –A slightly weaker form: monomorphism –A still weaker form: homomorphism –Another interesting form: maximum common subgraph (MCS)

Zheng Zhang, Exact Matchingslide 6 Necessary concepts Morphism – A morphism is an abstraction derived from structure-preserving mappings between two mathematical structures. – In comparison with homomorphism: a homomorphism is a structure-preserving map between two mathematical structures. – If a morphism f has domain X and codomain Y, we write f :X→Y. Thus a morphism is represented by an arrow from its domain to its codomain. The collection of all morphisms from X to Y is denoted Hom(X,Y) or Mor(X,Y). Isomorphism – An isomorphism is a bijective homomorphism. – An isomorphism is a morphism f :X→Y in a category for which there exists an "inverse" f −1 :Y→X, with the property that both f −1 ·f = id X and f·f −1 =id Y.

Zheng Zhang, Exact Matchingslide 7 Necessary concepts Epimorphism – an surjective homomorphism Monomorphism – an injective homomorphism Endomoprphism – a homomorphism from an object to itself Automoprphism – an endomorphism which is also an isomorphism an isomorphism with itself

Zheng Zhang, Exact Matchingslide 8 Different forms of exact matching Graph isomorphism – A one-to-one correspondence must be found between each node of the first graph and each node of the second graph. – Graphs G(V G,E G ) and H(V H,E H ) are isomorphic if there is an invertible F from V G to V H such that for all nodes u and v in V G, (u,v) ∈ E G if and only if (F(u),F(v)) ∈ E H.

Zheng Zhang, Exact Matchingslide 9 Different forms of exact matching Subgraph isomorphism – It requires that an isomorphism holds between one of the two graphs and a node-induced subgraph of the other. Monomorphism – It requires that each node of the first graph is mapped to a distinct node of the second one, and each edge of the first graph has a corresponding edge in the second one; the second graph, however, may have both extra nodes and extra edges.

Zheng Zhang, Exact Matchingslide 10 Different forms of exact matching Homomorphism – It drops the condition that nodes in the first graph are to be mapped to distinct nodes of the other; hence, the correspondence can be many-to-one. – A graph homomorphism F from Graph G(V G,E G ) and H(V H,E H ), is a mapping F from V G to V H such that {x,y} ∈ E G implies {F(x),F(y)} ∈ E H.

Zheng Zhang, Exact Matchingslide 11 Different forms of exact matching Maximum common subgraph (MCS) – A subgraph of the first graph is mapped to an isomorphic subgraph of the second one. – There are two possible definitions of the problem, depending on whether node-induced subgraphs or plain subgraphs are used. – The problem of finding the MCS of two graphs can be reduced to the problem of finding the maximum clique (i.e. a fully connected subgraph) in a suitably defined association graph.

Zheng Zhang, Exact Matchingslide 12 Different forms of exact matching Properties – The matching problems are all NP-complete except for graph isomorphism, which has not yet been demonstrated whether in NP or not. – Exact graph matching has exponential time complexity in the worst case. However, in many PR applications the actual computation time can be still acceptable. – Exact isomorphism is very seldom used in PR. Subgraph isomorphism and monomorphism can be effectively used in many contexts. – The MCS problem is receiving much attention.

Zheng Zhang, Exact Matchingslide 13 Algorithms for exact matching Techniques based on tree search – mostly based on some form of tree search with backtracking Ullmann’s algorithm Ghahraman’s algorithm VF and VF2 algorithm Bron and Kerbosh’s algorithm Other algorithms for the MCS problem Other techniques – based on A* algorithm Demko’s algorithm – based on group theory Nauty algorithm

Zheng Zhang, Exact Matchingslide 14 Techniques based on tree search The basic idea –A partial match (initially empty) is iteratively expanded by adding to it new pairs of matched nodes. –The pair is chosen using some necessary conditions, usually also some heuristic condition to prune unfruitful search paths. –Eventually, either the algorithm finds a complete matching, or no further vertex pairs may be added (backtracking) –For PR the algorithm may consider the attributes of nodes and edges in constraining the desired matching.

Zheng Zhang, Exact Matchingslide 15 Techniques based on tree search The backtracking algorithm – depth-first search(DFS): it progresses by expanding the first child node of the search tree that appears and thus going deeper and deeper until a goal node is found, or until it hits a node that has no children. – Branch and bound(B&B): it is a BFS(breadth-first search)-like search for the optimal solution. Branch is that a set of solution candidates is splitted into two or more smaller sets; bound is that a procedure upper and lower bounds.

Zheng Zhang, Exact Matchingslide 16 Techniques based on tree search Ullmann’s algorithm – Probably the most popular graph matching algorithm – Application for graph isomorphism, subgraph isomorphism and monomorphism, also for MCS problem – A refinement procedure based on matrix of possible future matched node pairs to prune unfruitful matches – The simple enumeration algorithm for the isomorphisms between a graph G and a subgraph of another graph H with the adjacency matrices A G and A H An M’ matrix with |V G | rows and |V H | columns can be used to permute the rows and columns of A H to produce a further matrix P. If, then M’ specifies an isomorphism between G and the subgraph of H. [J.R.Ullmann.An algorithm for subgraph isomorphism.]

Zheng Zhang, Exact Matchingslide 17 Techniques based on tree search Ullmann’s algorithm – Example for permutation matrix – The elements of M’ are 1’s and 0’s, such that each row contains 1 and each column contains 0 or 1

Zheng Zhang, Exact Matchingslide 18 Techniques based on tree search Ullmann’s algorithm – Construction of another matrix M (0) with the same size of M’ – Generation of all M’ by setting all but one of each row of M (0) – A subgraph isomorphism has been found if

Zheng Zhang, Exact Matchingslide 19 Techniques based on tree search Ullmann’s algorithm – Example

Zheng Zhang, Exact Matchingslide 20 Techniques based on tree search Ghahraman’s algorithm – Application for monomorphism – Use of the netgraph obtained from the Cartesian product of the nodes of two graph, monomorphisms correspond to particular subgraphs of the netgraph – A strong necessary condition and a weak one, then two versions of the algorithm to detect unfruitful partial solutions VF and VF2 algorithm – Application for isomorphism and subgraph isomorphism – VF algorithm defines a heuristic based on the analysis of the sets of nodes adjacent to the ones already considered in the partial mapping. – VF2 algorithm reduces the memory requirement from O(N 2 ) to O(N).

Zheng Zhang, Exact Matchingslide 21 Techniques based on tree search Bron and Kerbosh’s algorithm – Application for the clique detection and the MCS problem – Based on the use of a heuristic for pruning the search tree – Simplicity and an acceptable performance in most cases Other algorithms for the MCS problem – Balas and Yu’s alogrithm also defines a heristic, but based on graph colouring techniques. – McGregor’s alogrithm is not applicated for a maximum clique problem. – Koch’s alogrithm is applicated for a slightly simplified version of the MCS problem and suggests the use of the Bron and Kerbosh’s algorithm.

Zheng Zhang, Exact Matchingslide 22 Other techniques Based on the A* algorithm – It uses a distance-plus-cost heuristic function to determine the order in which the search visits nodes in the tree. The heuristic is a sum of two functions: the path-cost function, i.e. the cost from the starting node to the current node, and an admissible “heuristic estimate” of the distance to the goal. – Demko’s algorithm investigates a generalization of MCS to hypergraphs. Based on group theory – McKay’s Nauty(No automorphisms yes?) algorithm deals only with the isomorphism problem. It constructs the automorphism group of each of the input graphs and derives a canonical labeling. The isomorphism can be checked by verifying the equality of the adjacency matrices.

Zheng Zhang, Exact Matchingslide 23 Conclusion The exact graph matching problem is of interest in a variety of different pattern recognition contexts. Of the exact graph matching problems, exact isomorphism is very seldom used in PR while subgraph isomorphism, monomorphism and the MCS problem are popularly proposed. Ullmann’ algorithm, VF2 algorithm and Nauty algorithm are mostly used algorithms, which based on the search methods, and may outperform others. Most modified algorithms adopt some conditions to prune the unfruitful partial matching.

Zheng Zhang, Exact Matchingslide 24 Thank you!