Date post: | 16-Jan-2016 |
Category: |
Documents |
Upload: | madlyn-franklin |
View: | 223 times |
Download: | 0 times |
Comment reconstruire le graphe de visibilité d’un polygone?
(Reconstructing visibility graphs of polygons)
Jérémie Chalopin, Shantanu DasLIF, Aix-Marseille University
Yann Disser, Matúš Mihalák, Peter WidmayerETH Zurich, Suisse
12èmes Journées Graphes et Algorithmes, Marseille, 2010
10 Nov 2010 JGA 2010 @ Marseille 2
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)
10 Nov 2010 JGA 2010 @ Marseille 3
Visibility Graph of Polygons
Gvis(P):
• Vertices of Gvis <=> vertices of P
• Edge (u,v) in Gvis iff
u and v can see each-other.
(if the line u to v is inside P)
Objective:
• Construct Gvis
(up to isomorphism)
10 Nov 2010 JGA 2010 @ Marseille 4
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.
10 Nov 2010 JGA 2010 @ Marseille 5
Local Orientation
• Robot sees the visible vertices in CCW order.
There is a local orientation on edges of Gvis.
• After each move, the robot can look-back to its previous location.
Each edge of Gvis is labeled from
both sides.
1
2
3
10 Nov 2010 JGA 2010 @ Marseille 6
Polygons vs. Graphs
Exploration of Polygons ≈ Exploration of edge-labeled graphs
10 Nov 2010 JGA 2010 @ Marseille 7
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.
10 Nov 2010 JGA 2010 @ Marseille 8
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
10 Nov 2010 JGA 2010 @ Marseille 9
Graph Exploration
• The view of an exploring robot:
Minimum-base
10 Nov 2010 JGA 2010 @ Marseille 10
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.
10 Nov 2010 JGA 2010 @ Marseille 11
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)?
10 Nov 2010 JGA 2010 @ Marseille 12
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.
10 Nov 2010 JGA 2010 @ Marseille 13
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) 12
1
-2
Lemma:
If v is an ear,
every vertex in the class of v is an ear.
-1
-1
10 Nov 2010 JGA 2010 @ Marseille 14
Deconstructing Polygons
Choose a class Ci of ears.
Remove all Ci vertices from P
(i.e. remove a vertex from B)
10 Nov 2010 JGA 2010 @ Marseille 15
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!
10 Nov 2010 JGA 2010 @ Marseille 16
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.
10 Nov 2010 JGA 2010 @ Marseille 17
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.
10 Nov 2010 JGA 2010 @ Marseille 18
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.
10 Nov 2010 JGA 2010 @ Marseille 19
Constructing Gvis
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?
10 Nov 2010 JGA 2010 @ Marseille 20
Identifying Adjacencies
Identify edges (vi,v
i+k) of increasing
distances k = 2, 3, ..., n/2.
• Is the next unidentified vertex
vj = 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 vj and look back (LB)
We can show that
vj = v
i+k <=> LB = -(y+1)
10 Nov 2010 JGA 2010 @ Marseille 21
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(n3m) moves.
(Additional cost = O(n2) moves)
10 Nov 2010 JGA 2010 @ Marseille 22
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.
10 Nov 2010 JGA 2010 @ Marseille 23
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?
10 Nov 2010 JGA 2010 @ Marseille 24
Merci de votre attention!