Presentation is loading. Please wait.

Presentation is loading. Please wait.

Comment reconstruire le graphe de visibilité d’un polygone? (Reconstructing visibility graphs of polygons) Jérémie Chalopin, Shantanu Das LIF, Aix-Marseille.

Similar presentations


Presentation on theme: "Comment reconstruire le graphe de visibilité d’un polygone? (Reconstructing visibility graphs of polygons) Jérémie Chalopin, Shantanu Das LIF, Aix-Marseille."— Presentation transcript:

1 Comment reconstruire le graphe de visibilité d’un polygone? (Reconstructing visibility graphs of polygons) Jérémie Chalopin, Shantanu Das LIF, Aix-Marseille University Yann Disser, Matúš Mihalák, Peter Widmayer ETH Zurich, Suisse 12èmes Journées Graphes et Algorithmes, Marseille, 2010

2 10 Nov 2010JGA 2010 @ Marseille2 Robots in Polygons Robots move from vertex to vertex inside a polygon The polygon is –simple (no holes) –finite –of size n = # vertices Visibility restricted to straight lines. Objectives: Build a map of the polygon Rendezvous (Gathering of robots)

3 10 Nov 2010JGA 2010 @ Marseille3 Visibility Graph of Polygons G vis (P): Vertices of G vis vertices of P Edge (u,v) in G vis iff u and v can see each-other. (if the line u to v is inside P) Objective: Construct G vis (up to isomorphism)

4 10 Nov 2010JGA 2010 @ Marseille4 The Robot Model The robots sees a subset of the vertices. It can decide to move to one of the visible vertices It repeats its observation from its new location. The robot can not measure distances or angles. The robot can not distinguishable vertices.

5 10 Nov 2010JGA 2010 @ Marseille5 Local Orientation Robot sees the visible vertices in CCW order. There is a local orientation on edges of G vis. After each move, the robot can look-back to its previous location. Each edge of G vis is labeled from both sides. 1 2 3

6 10 Nov 2010JGA 2010 @ Marseille6 Polygons vs. Graphs Exploration of Polygons  Exploration of edge-labeled graphs

7 10 Nov 2010JGA 2010 @ Marseille7 Polygons vs. Graphs II Exploration of Polygons  Exploration of edge-labeled graphs Property [YK 1996]: A robot exploring an edge-labeled graph of known size n, can not always reconstruct the graph.

8 10 Nov 2010JGA 2010 @ Marseille8 Polygons vs. Graphs III Property [YK 1996]: A robot exploring an edge-labeled graph of known size n, can not always reconstruct the graph. Theorem: A robot exploring a polygon can always reconstruct the visibility graph of the polygon if it knows an upper bound on n. Exploration of Polygons  Exploration of edge-labeled graphs

9 10 Nov 2010JGA 2010 @ Marseille9 Graph Exploration The view of an exploring robot: Minimum-base

10 10 Nov 2010JGA 2010 @ Marseille10 Graph Exploration II The minimum-base of a graph G: The smallest graph B such that G covers B  Property [YK 1996]: A robot exploring an edge-labeled graph can construct the minimum-base if it knows an upper bound on n.

11 10 Nov 2010JGA 2010 @ Marseille11 Exploring visibility graphs If C1,C2,…,Cp are the classes of vertices in G vis | Ci | = q = n/p Classes repeat periodically on the boundary. How to find the internal edges (chords)?

12 10 Nov 2010JGA 2010 @ Marseille12 Properties of Polygons Every polygon has an ear! ( If a,b,c appear in this order on the boundary: b is an ear iff a sees c.) Removing an ear of a simple polygon leaves a smaller polygon. (visibility relationships are maintained) Every sub-polygon of four or more vertices has a chord.

13 10 Nov 2010JGA 2010 @ Marseille13 Properties of Polygons II It is easy to recognize an ear! Check for the paths: (1, -1) (-2, 2) (1, -1) (-1, 1) (2, -2) (-1, 1) 1 2 1 -2 Lemma: If v is an ear, every vertex in the class of v is an ear.

14 10 Nov 2010JGA 2010 @ Marseille14 Deconstructing Polygons Choose a class Ci of ears. Remove all Ci vertices from P (i.e. remove a vertex from B)

15 10 Nov 2010JGA 2010 @ Marseille15 Deconstructing Polygons-II Choose a class Ci of ears. Remove all Ci vertices from P (i.e. remove a vertex from B) Repeat until a single class remains!

16 10 Nov 2010JGA 2010 @ Marseille16 Deconstructing Polygons III  Choose a class Ci of ears.  Remove all Ci vertices from P (i.e. remove a vertex from B) Repeat until a single class remains! Remaining vertices form a clique! Lemma: There is a unique class C* which forms a clique.

17 10 Nov 2010JGA 2010 @ Marseille17 Using class C* C* corresponds to a vertex with q-1 self loops in the minimum-base. => Robot can compute n = p*q Lemma: There is a unique class C* which forms a clique.

18 10 Nov 2010JGA 2010 @ Marseille18 Solving Rendezvous Solving rendezvous is easy! 1. Compute minimum-base. 2. Identify C* 3. Go to any vertex of C* Rendezvous: Position the robots s.t. they are mutually visible to each other.

19 10 Nov 2010JGA 2010 @ Marseille19 Constructing G vis Edges incident to C* –Can be identified easily. –Clique edges partitions P –Each class appears once in each part Same holds for any other class that forms a clique How to identify the remaining edges?

20 10 Nov 2010JGA 2010 @ Marseille20 Identifying Adjacencies Identify edges (v i,v i+k ) of increasing distances k = 2, 3,..., n/2. Is the next unidentified vertex v j = v i+k or not? Easy, if in different classes. Let y be the number of dist. (k-1) backward-edges of v i+k Go to v j and look back (LB) We can show that v j = v i+k LB = -(y+1)

21 10 Nov 2010JGA 2010 @ Marseille21 Complexity of the Algorithm The complexity is dominated by cost of constructing minimum-base Walk along the boundary and identify the neighbors of each vertex. Use distinguishing paths to identify classes (n-1 paths of length n) Iteratively obtain distinguishing paths for k =1 to n Cost = O(n 3 m) moves. (Additional cost = O(n 2 ) moves)

22 10 Nov 2010JGA 2010 @ Marseille22 Summary A robot moving in a polygon P that –knows an UB on n (#vertices of P) –and can look back Is able to –compute the value of n –construct the visibility graph –solve rendezvous Why visibility graphs? –It is not possible to determine the exact shape of the polygon. –Visibility graphs provide sufficient topological information.

23 10 Nov 2010JGA 2010 @ Marseille23 Related Results With angle measurements at each vertex A robot moving only on the boundary and knowing n, can reconstruct the polygon. [Disser et al. 2010] Convexity Detection + Look-back A robot knowing n can construct the visibility graph [Bilo et al. 2009] Only Convexity Detection A robot can knowing n construct the visibility graph (in exponential time) [(unpublished)] Impossibility A robot moving on the boundary can not construct visibility graph even if it knows n [Bilo et al. 2009] Distance Measurements to visible vertices Can the robot construct the visibility graph?

24 10 Nov 2010JGA 2010 @ Marseille24 Merci de votre attention!


Download ppt "Comment reconstruire le graphe de visibilité d’un polygone? (Reconstructing visibility graphs of polygons) Jérémie Chalopin, Shantanu Das LIF, Aix-Marseille."

Similar presentations


Ads by Google