network localization cpsc 436/eeng 460 guest lecture david goldenberg oct 7, 2004
Post on 15-Jan-2016
217 views
TRANSCRIPT
Network Localization
CPSC 436/EENG 460 Guest Lecture
David Goldenberg
Oct 7, 2004
Motivations• Location-aware computing
– Resource Selection (server, printer, etc.)
– Location aware information services (web-search, advertisement, etc.)
• Sensor network applications– Inventory management, intruder detection, traffic monitoring,
emergency crew coordination, air/water quality monitoring, military/intelligence apps
• Geographic routing in ad hoc networks– Scalable, lightweight, fault-tolerant protocols
– Current location more important than identity
Localization Problem
node with unknown position
distance measurement
Illustration:
Given: Set of n points in the plane, Distances between m pairs of points.Find: Positions of all n points…
……subject to rotation and translationssubject to rotation and translations
Localization problem “rephrasing”2
3
0 4
1
56
0 d01 d02 d03 d04 d05 d06
d10 0 d12 ? ? ? d16
d20 d21 0 d23 ? ? ?d30 ? d32 0 d34 ? ?d40 ? ? d43 0 d45 ?d50 ? ? ? d54 0 d56
d60 d61 ? ? ? d65 0
Given:
0 d01 d02 d03 d04 d05 d06
d10 0 d12 d13 d14 d15 d16
d20 d21 0 d23 d24 d25 d26
d30 d31 d32 0 d34 d35 d36
d40 d41 d42 d43 0 d45 d46
d50 d51 d52 d53 d54 0 d56
d60 d61 d62 d63 d64 d65 0
Find:
23
0 4
1
56
0 d01 d02 d03 d04 d05 d06
d10 0 d12 ? ? ? ?d20 d21 0 d23 ? ? ?d30 ? d32 0 d34 ? ?d40 ? ? d43 0 d45 ?d50 ? ? ? d54 0 d56
d60 ? ? ? ? d65 0
Given:
0 d01 d02 d03 d04 d05 d06
d10 0 d12 d13 d14 d15 d16
d20 d21 0 d23 d24 d25 d26
d30 d31 d32 0 d34 d35 d36
d40 d41 d42 d43 0 d45 d46
d50 d51 d52 d53 d54 0 d56
d60 d61 d62 d63 d64 d65 0
Cannot Find!
23
0 4
1
56
2
3
0 4
1
56
…24 possibilities
Remove one edge…and the problem becomes unsolvable
When can we solve the problem?
Given: Set of n points in the plane, Distances between m pairs of points.Find: Positions of all n points………subject to rotation and translationssubject to rotation and translations
1:a
d
b
c
2a: 3a:
ad
a
c
2b: 3:
Discontinuous deformation
a
b
ef
c
d
a
b
e
f
c
d
Discontinuous non-uniqueness: - Can’t move points from one configuration to others while respecting constraints
flip
somethingelse
Continuous deformation
Continuous non-uniqueness: -Can move points from one configuration to another while respecting constraints-Excess degrees of freedom present in configuration
Rigidity
• A formation* is flexible if it admits a non-trivial† continuous deformation.
• A formation that is not flexible is rigid.• For “almost all” formations, rigidity is a property of the
connectivityconnectivity and not of the geometry of the formation.
• The network graph therefore contains sufficient information to determine (generic) rigidity.
* A formation is a set of points in the plane along with a set of pairwise distance constraints† Trivial deformations are rotations and translations
In case you were wondering: Why “with probability 1”? Degenerate cases fool abstraction.
2
1
3
4
4
2
13
2
1
3
4
{x1, x2, x3}
{d14, d24, d34}
probability 1 case:
probability 0 case:
first case: {x4}second case: ???
2
1
3
?
?
In general, this graph is uniquely realizable.
In degenerate case, it is not:The constraints are redundant.
Significance of graph rigidity
• A graph with a unique realization cannot be flexible
• Rigidity is a necessary condition for a graph to be uniquely realizable
†An assignment “satisfies edge constraints” if for every edge (i,j), the euclidean distance between the assigned positions of i and j equals the weight of (i,j).
*An assignment of positions to the vertices of a weighted graph satisfying edge constraints†
is called a realization of the graph.
Intuition:
Total degrees of freedom: 2n
How many distance constraints are necessary to limit a formation toonly trivial deformations?
==How many edges are necessary for a graph to be rigid?
Each edge can remove a single degree of freedom
How many edges are necessary to make a graph of n nodes rigid?
Rotations and translations will always be possible, so at least 2n-3edges are necessary for a graph to be rigid.
Is 2n-3 edges sufficient?
n = 3, 2n-3 = 3
yes
n = 4, 2n-3 = 5
yes
n = 5, 2n-3 = 7
no
Further intuition
• Need at least 2n-3 “well-distributed” edges.
• If a subgraph has more edges than necessary, some edges are redundant.
• Non-redundant edges are independent.• Each independent edge removes a degree of freedom.
• Therefore, 2n-3 independent edges guarantee rigidity.
Determining edge independence
This means that a graph with 2n-3 edges is rigid if and only if nosubgraph has more than 2n’-3 edges.
* n’ is the number of nodes |V’| in the subgraph (V’,E’).
The edges of a graph are independent if and only if no subgraph has more than 2n’-3 edges*.
Laman’s Condition:
Illustration of Laman’s condition
n=5, m=10 > 2n-3=7
There must be at least 3 dependent edges
remove 3 edges
too many edges inred subgraph!
remove 3 edges
2n-3 well-distributed edges
Continuous deformation solved
Continuous non-uniqueness: -Can move points from one configuration to the other while respecting constraints-Excess degrees of freedom present in configuration
Discontinuous deformation
a
b
ef
c
d
a
b
e
f
c
d
Discontinuous non-uniqueness: - Can’t move points from one configuration to others while respecting constraints
flip
somethingelse
Non-uniqueness solved
a e
b
f
c
d
ac
b
e
d
f
Solution:
G must be 3-connected
G must be redundantly rigid:It must remain rigid upon removal of any single edge
G must rigid
Global Rigidity
A graph has a unique realization iff it is redundantly rigid and 3-connected
Network Localization Problem
Given: Set of n points in the plane, Positions of k of them, Distances between m pairs of points.Find: Positions of all n points.
node with known position (beacon)
node with unknown position
distance measurement
Illustration:
Is the problem solvable?
• Problem: By looking only at the graph structure, we neglect our a priori knowledge of beacon positions
• Solution: The distances between beacons are implicitly known! – By adding all edges between beacons to network graph, we get the Grounded
Graph, whose properties determine solvability with probability 1• By augmenting graph structure in this way, we fully capture all constraint
information available in the graph itself.
is this localizable?
5
4
1
2
3 1
2
3
4
5{x4, x5}
If it is, then I can use {x1,x2,x3} and δ to get
the answer
Conditions for unique localizability?
Properties of this graph? Or rather, this one determine localizability!
Algorithm to test rigidity
• Laman’s condition taken literally leads to poor algorithm, as it involves checking all subgraphs of subgraphs with 2n-3 edges!
• Efficient and intuitive algorithm exists, based on counting degrees of freedom.
Alternate Laman’s condition
For a graph G=(V,E) with m edges and n
vertices, the following are equivalent:A. The edges of G are independent in 2-D.
B. For each edge (a,b) in G, the graph formed by adding 3 additional copies of (a,b) has no subgraph G’ with more than 2n’ edges.
Illustration
no subgraph with >2n’ edges
no subgraph with >2n’ edges
“quadruple an edge”
G
G is rigid.
Algorithm idea
• Grow a maximal set of independent edges one at a time. • New edge added if it is independent of existing set. • If 2n-3 edges found, then graph is rigid.
• Revised Laman condition to efficiently determine independence.
• Each candidate edge quadrupled and the resulting graph tested for Laman’s condition.
“The Pebble Game”
• Each node assigned 2 pebbles• An edge is covered by having one pebble
placed on either of its ends• Pebble covering is assignment of pebbles so
that all edges in graph are covered
• Existence of pebble covering of graph implies all edges independent
initialtesting e for independence
assignment
e
copy 1 of e copy 2 of e
copy 3 of e copy 4 of e
e
copy 4 of e assignment
• Assume we have a set of edges covered with pebbles and we want to add a new edge
• First, look at vertices incident to new edge.– If either has a free pebble, use it to cover the edge and
Done.– Otherwise, their pebbles are covering existing edges. If
vertex at other end of one of these edges has free pebble, then use that pebble to cover existing edge, freeing up pebble to cover new edge.
• Search for free pebbles in a directed graph.– If edge ea,b is covered by pebble from vertex a, the edge
if directed from a to b.• Search until pebble is found, then swap pebbles
until new edge covered, else fail
Pebble Game Algorithm
0
1
2
3
1
2
3
3
2
3
4
4
0
5
4
3
1
2
3
3
2
3
4
4
unassigned pebble
Pebble game properties
• Testing edge for independence takes O(n) time. At worst, all m edges will be tested for a running time of O(nm).
• If entire graph not rigid, pebble game discovers rigid subgraphs
• Algorithm is amenable to distributed implementation• Intuitive appeal: Each pebble corresponds to a
degree of freedom. A pebble covering always has at least 3 free pebbles.
a
b c
dInitial state
a
c
d
a
c
d
b
(a,b) independent
Testing (a,b)b
After (a,b) included
cba
c
d
b
Input to next step
a d
a
c
d
b
After (b,c) included
Testing (b,c)
a
a
c
d
b
Input to next step c
d
b
Testing (a,c)
?
a
c
d
b
After (a,c) included
d
a
c
d
b
Input to next step
a
cb
Testing (a,d)
a
c
d
b
After (a,d) included
b
d
a
c
d
b
Input to next step
a
c
d
b
After (b,d) included
a
c
Testing (b,d)
a
c
d
b
Input to next step
a
c
d
b
Testing (c,d) fails!
a
c
d
b
G=({a,b,c,d}, {ab,ac,ad,bc,bd})is rigid
Additional applications
• Pebble game can also identify redundantly rigid section of the graph.
• Using this tool, along with algorithms for discovering 3-connected components, it is possible to decompose networks into uniquely localizable regions
Solvability vs. Solution
Decision problemSearch problem
Does this graph have a unique realization?
Yes/No
This graph has a Unique realization. What is it?
???
positions of all nodes
What is the Complexity of this problem?
a
b
ef
c
d
{dab, dae, dbc, dbe,…}
a
b
ef
c
d
Previous solution approaches
• Computational biochemists used a global optimization approach :
• The optimization is computationally expensive, and tricks such as divide-and-conquer and objective function smoothing have been applied
Eji
ji xxji),(
2)),((min
Complexity of graph realization
• We will use two tools in our proof– The NP-hard set-partition problem
– The globally rigid wheel graph Wn
W6
The set partition problem:Input: A set of numbers SOutput: Can S be partitioned into two subsets A and S-A such that the sum of numbers in each subset is equal?
Set-partition-searchThe set partition problem:Input: A set of numbers SOutput: Can S be partitioned into two subsets A and S-A such that the sum of numbers in each subset is equal?
The set partition search problem:Input: A set of numbers S that has a set-partitionOutput: The set partition A and S-A
• Set-partition-search is NP-hard
Suppose algorithm X solves set-partition-search.Run X on S for time equal to the running time of X on input size |S|If X has terminated, S has a set-partition iff the output is a set-partition of SIf X has not terminated S does not have a set-partition.X decides set-partition.
decisionproblem
searchproblem
NP-hardness of realizationTheorem:
Realization of globally rigid weighted graphs that are realizable is NP-hard
Proof outline:Assume we have algorithm X that takes as input a realizable globally rigid weighted graph and outputs its unique realization.
We will find the set-partition of the partitionable set S scaled w.l.o.g so that the sum of elements in S is less than π/2 by using calls to X.Suppose we have S={s1,s2,s3,s4} with a set-partition. Construct a graph G for X:
0
1
23
4 s1s3
s4s2
s1+s4=s2+s3
rights = lefts
This is a realization of W5!
Picture unavailable without setpartition, but we have the edge weights of G: di,i+1=2sin(si/2)that uniquely determine the realization .When G is realized, we obtainthe picture on the left, from which we obtain set partition!
sin(s1/2)
sin(s1/2)
Localization complexity for realistic network graphs
• Problem with previous result is edges exist arbitrarily between nodes– the type of graph used in the NP-hardness proof are unlikely to arise in
practice
• In realistic networks, edges are more likely to exist between close nodes, and do not exist between distant nodes.– Unit Disk Graphs: edge present if distance between nodes less than
parameter r.– Therefore: if edge absent, distance between nodes is greater than r.
• Does this information help us solve the localization problem?
No, this info doesn’t help
• Result:– There is no efficient algorithm that solves the
localization problem for sparse sensor networks unless P=NP
• Method:– Reduction from CIRCUIT SATISFIABILITY
to UNIT DISK GRAPH RECONSTRUCTION
Reduced-to problem
• Unit Disk Graph Reconstruction (decision problem)• Input
– Graph G along with a parameter r, and the square of each edge length (luv)2 (to avoid irrational edge lengths)
• Output– Yes iff there exists a set of points in R2 such that distance
from u to v is luv if uv is an edge in G and greater than r otherwise
Reduction• Reduction is by construction of a family of graphs that represent boolean
circuits.– Rigid bodies in the graph represent wires
• Relative position of rigid bodies in the graph represent signals on wires– NOT and AND gates built out of constraints between these bodies expressed
in the graph structure• 4 graph components in construction
– Binary hinge• Enables bodies to represent wires with binary value• Forces bodies into 2 relative offsets expressing binary value
– Junction• Forces two wires to carry same bit• Forces intersecting bodies to carry same parity offset
– NOT• Forces one wire to carry the negation of another’s value• Forces two parallel bodies into opposite parity offset
– Implication• Forces one wire to carry true if a specific partner wire is also true• Forces one parallel body into one configuration if another is up, while
unconstrained if other is down
Binary Hinge
• Enforces a fixed offset in direction of hinge and offset of +/- h in perpendicular direction
• This allows the allowable positions of bodies to represent 0 and 1
Circuit grid
• Grid of horizontal and vertical wires, made up of rows and columns of rigid bodies in 2D array.
• Each body connected to 4 immediate neighbors in the grid• Horizontal offset propagates along rows, vertical along columns
Anchored grid
• To limit the shifts of rows and columns to two values, we anchor grid to frame
• Every other row and column fixed at offset “0”• Column represents “1” iff shifted up, Row represents “1” iff shifted right• Rows represent wire in circuit – columns used to implement logic
+/- h vertically
+/- h horizontally
+/- h vertically or horizontally
fixed
Junctions
• Uses sqrt(2) times larger hinge
• Forces row and column to carry the same bit
NOT gates
• Double-width hinge• Forces adjacent horizontal wires
to carry opposite bits• Assume that horizontal wires
paired off into variables and their negations
• To extract any variable for use, use a junction with vertical wire
Implications
• Left column up and right column down not possible• All other configurations possible• Using junctions, we can create implication between any
two variables represented by horizontal wires
AND gates
• And gate built out of 4 implications– z x– z y– ~x ~z– ~y ~z
• Using AND gates and negation, we can build OR gates
Reduction
• Given boolean circuit C– Construct a graph G using as just described
• Each wire and its negation represented by a row of rigid bodies• Each AND gate is implemented using 8 columns with 4
implication structures
– Any solution to the localization problem for graph G corresponds to assignment of bits to wires in C consistent with logic of C
– To enforce output 1, anchor output row to L-shaped frame to force this
Theorem
• There is a polynomial-time reduction from CIRCUIT SATISFIABILITY to UNIT DISK GRAPH RECONSTRUCTION, in which there is a one-to-one correspondence between satisfying assignments to the circuit and solutions to the resulting localization problem