1 Processing & Analysis of Geometric Shapes Shortest path problems Shortest path problems The discrete way © Alexander & Michael Bronstein, 2006-2009 ©

Slides:



Advertisements
Similar presentations
Problem solving with graph search
Advertisements

Single Source Shortest Paths
Chapter 9: Graphs Shortest Paths
Shortest Paths Text Discrete Mathematics and Its Applications (5 th Edition) Kenneth H. Rosen Chapter 9.6 Based on slides from Chuck Allison, Michael T.
Multiple Shape Correspondence by Dynamic Programming Yusuf Sahillioğlu 1 and Yücel Yemez 2 Pacific Graphics 2014 Computer Eng. Depts, 1, 2, Turkey.
The Greedy Approach Chapter 8. The Greedy Approach It’s a design technique for solving optimization problems Based on finding optimal local solutions.
1 Appendix B: Solving TSP by Dynamic Programming Course: Algorithm Design and Analysis.
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.
CSCI 3160 Design and Analysis of Algorithms Tutorial 2 Chengyu Lin.
Topology-Invariant Similarity and Diffusion Geometry
Discrete Geometry Tutorial 2 1
State Space Search Algorithms CSE 472 Introduction to Artificial Intelligence Autumn 2003.
Discrete geometry Lecture 2 1 © Alexander & Michael Bronstein
1 Discrete Structures & Algorithms Graphs and Trees: II EECE 320.
1 Numerical geometry of non-rigid shapes Consistent approximation of geodesics in graphs Consistent approximation of geodesics in graphs Tutorial 3 © Alexander.
Shape reconstruction and inverse problems
Fast marching methods The continuous way 1
Fast marching methods Lecture 3 1 © Alexander & Michael Bronstein
Numerical geometry of non-rigid shapes
Shortest Paths Definitions Single Source Algorithms –Bellman Ford –DAG shortest path algorithm –Dijkstra All Pairs Algorithms –Using Single Source Algorithms.
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
1 Numerical geometry of non-rigid shapes Lecture II – Numerical Tools Numerical geometry of shapes Lecture II – Numerical Tools non-rigid Alex Bronstein.
Shortest Path Problems Directed weighted graph. Path length is sum of weights of edges on path. The vertex at which the path begins is the source vertex.
Lecture 3 Informed Search CSE 573 Artificial Intelligence I Henry Kautz Fall 2001.
1 Advanced Algorithms All-pairs SPs DP algorithm Floyd-Warshall alg.
Shortest Paths Definitions Single Source Algorithms
1 Numerical geometry of non-rigid shapes A journey to non-rigid world objects Numerical methods non-rigid Alexander Bronstein Michael Bronstein Numerical.
1 Numerical geometry of non-rigid shapes Numerical Geometry Numerical geometry of non-rigid shapes Numerical geometry Alexander Bronstein, Michael Bronstein,
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
1 Numerical Geometry of Non-Rigid Shapes Invariant shape similarity Invariant shape similarity © Alexander & Michael Bronstein, © Michael Bronstein,
1 Numerical geometry of non-rigid shapes Non-Euclidean Embedding Non-Euclidean Embedding Lecture 6 © Alexander & Michael Bronstein tosca.cs.technion.ac.il/book.
1 Numerical geometry of non-rigid shapes Shortest Path Problems Shortest Path Problems Alexander Bronstein, Michael Bronstein © 2008 All rights reserved.
Dijkstra's algorithm.
Graphs – Shortest Path (Weighted Graph) ORD DFW SFO LAX
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 223 – Advanced Data Structures Graph Algorithms Shortest-Path.
1 Graphs Algorithms Sections 9.1, 9.2, and Graphs v1v1 v2v2 v5v5 v7v7 v8v8 v3v3 v6v6 v4v4 A graph G = (V, E) –V: set of vertices (nodes) –E: set.
1 WEEK 9-10 Graphs II Unweighted Shortest Paths Dijkstra’s Algorithm Graphs with negative costs Acyclic Graphs Izmir University of Economics.
Dijkstras Algorithm Named after its discoverer, Dutch computer scientist Edsger Dijkstra, is an algorithm that solves the single-source shortest path problem.
Computing the shortest path on a polyhedral surface Presented by: Liu Gang
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
1 Numerical geometry of non-rigid shapes Shortest path problems Shortest path problems Lecture 2 © Alexander & Michael Bronstein tosca.cs.technion.ac.il/book.
Graph Algorithms. Definitions and Representation An undirected graph G is a pair (V,E), where V is a finite set of points called vertices and E is a finite.
Graphs. Definitions A graph is two sets. A graph is two sets. –A set of nodes or vertices V –A set of edges E Edges connect nodes. Edges connect nodes.
Shortest Paths Text Discrete Mathematics and Its Applications (5 th Edition) Kenneth H. Rosen Chapter 8.6 Based on slides from Chuck Allison, Michael T.
Data Structures and Algorithm Analysis Graph Algorithms Lecturer: Jing Liu Homepage:
Proof of correctness of Dijkstra’s algorithm: Basically, we need to prove two claims. (1)Let S be the set of vertices for which the shortest path from.
Shortest Paths.
Lecture 13 Shortest Path.
COMP 6/4030 ALGORITHMS Prim’s Theorem 10/26/2000.
Algorithms and Data Structures Lecture XIII
Shortest Path Problems
The A* Algorithm Héctor Muñoz-Avila.
Shortest Paths Discrete Mathematics and Its Applications (7th Edition)
Greedy Algorithms / Dijkstra’s Algorithm Yin Tat Lee
Shortest Paths.
Shortest Paths Discrete Mathematics and Its Applications (7th Edition)
Shortest Path Algorithms
Lecture 13 Algorithm Analysis
Lecture 13 Algorithm Analysis
Shortest Path Problems
Lecture 13 Algorithm Analysis
Lecture 13 Algorithm Analysis
All pairs shortest path problem
Shortest Path Problems
Shortest Paths.
CSE 417: Algorithms and Computational Complexity
Shortest Paths Discrete Mathematics and Its Applications (8th Edition)
Lecture 12 Shortest Path.
CS 3013: DS & Algorithms Shortest Paths.
Shortest Paths Discrete Mathematics and Its Applications (7th Edition)
Presentation transcript:

1 Processing & Analysis of Geometric Shapes Shortest path problems Shortest path problems The discrete way © Alexander & Michael Bronstein, © Michael Bronstein, 2010 tosca.cs.technion.ac.il/book Advanced topics in vision Processing and Analysis of Geometric Shapes EE Technion, Spring 2010

2 Processing & Analysis of Geometric Shapes Shortest path problems How to compute the intrinsic metric? So far, we represented itself. Our model of non-rigid shapes as metric spaces involves the intrinsic metric Sampling procedure requires as well. We need a tool to compute geodesic distances on.

3 Processing & Analysis of Geometric Shapes Shortest path problems Shortest path problem Paris Brussels Bern Munich Prague Vienna

4 Processing & Analysis of Geometric Shapes Shortest path problems Shapes as graphs Sample the shape at vertices. Represent shape as an undirected graph set of edges representing adjacent vertices. Define length function measuring local distances as Euclidean ones,

5 Processing & Analysis of Geometric Shapes Shortest path problems Shapes as graphs Path between is an ordered set of connected edges where and. Path length = sum of edge lengths

6 Processing & Analysis of Geometric Shapes Shortest path problems Geodesic distance Shortest path between Length metric in graph Approximates the geodesic distance on the shape. Shortest path problem: compute and between any. Alternatively: given a source point, compute the distance map.

7 Processing & Analysis of Geometric Shapes Shortest path problems Bellman’s principle of optimality Let be shortest path between and a point on the path. Then, and are shortest sub-paths between, and. Suppose there exists a shorter path. Contradiction to being shortest path. Richard Bellman ( )

8 Processing & Analysis of Geometric Shapes Shortest path problems Dynamic programming How to compute the shortest path between source and on ? Bellman principle: there exists such that has to minimize path length Recursive dynamic programming equation.

9 Processing & Analysis of Geometric Shapes Shortest path problems Edsger Wybe Dijkstra (1930–2002) [‘ ɛ tsxər ‘wibə ‘d ɛɪ kstra]

10 Processing & Analysis of Geometric Shapes Shortest path problems Dijkstra’s algorithm Initialize and for the rest of the graph; Initialize queue of unprocessed vertices. While Find vertex with smallest value of, For each unprocessed adjacent vertex, Remove from. Return distance map.

11 Processing & Analysis of Geometric Shapes Shortest path problems Dijkstra’s algorithm Paris Brussels Bern Munich Prague Vienna     

12 Processing & Analysis of Geometric Shapes Shortest path problems Dijkstra’s algorithm – complexity While there are still unprocessed vertices Find and remove minimum For each unprocessed adjacent vertex Perform update Every vertex is processed exactly once: outer iterations. Minimum extraction straightforward complexity: Can be reduced to using binary or Fibonacci heap. Updating adjacent vertices is in general. In our case, graph is sparsely connected, update in. Total complexity:.

13 Processing & Analysis of Geometric Shapes Shortest path problems Troubles with the metric Grid with 4-neighbor connectivity. True Euclidean distance Shortest path in graph (not unique) Increasing sampling density does not help.

14 Processing & Analysis of Geometric Shapes Shortest path problems Metrication error 4-neighbor topology Manhattan distance Continuous Euclidean distance 8-neighbor topology Graph representation induces an inconsistent metric. Increasing sampling size does not make it consistent. Neither does increasing connectivity.

15 Processing & Analysis of Geometric Shapes Shortest path problems Connectivity solves the problem! Inconsistent Consistent Geodesic approximation consistency depends on the graph

16 Processing & Analysis of Geometric Shapes Shortest path problems Sufficient conditions for consistency Theorem (Bernstein et al. 2000) Let, and. Suppose Connectivity is a -covering The length of edges is bounded Then

17 Processing & Analysis of Geometric Shapes Shortest path problems Why both conditions are important? Insufficient density Too long edges

18 Processing & Analysis of Geometric Shapes Shortest path problems Stick to graph representation Change connectivity Consistency guaranteed under certain conditions Stick to given sampling Compute distance map on the surface New algorithm Discrete solution Continuous solution