Trapezoidal Maps

advertisement
Trapezoidal Maps
Shmuel Wimer
Bar Ilan Univ., School of Engineering
March 2011
1
Trapezoidal Map
Planar subdivision
Abscissas are all distinct
n segments
6n+4 vertices at most
3n+1 trapezoids at most
March 2011
2
to p   
leftP o in t   
leftP o in t   
to p   
bottom   
bottom   
to p   
to p   
leftP o in t   
leftP o in t   
bottom   
bottom   
Trapezoidal map can be constructed in O(nlogn) time
by a scan-line algorithm.
March 2011
3
Randomized Incremental Algorithm
T  S  - trapezoidal m ap of a set S   s i  i 1 of line
n
segm ents w ith distinct abscissae of end points.
T he algorithm builds a by-product data s tructure
D  S  supporting point location queries in T  S  .
A n advantage over construction by scan-line w hich
doesn't yield query supporting data stru cture.
March 2011
4
T S

D S 
p1
B
A
s1
x-node
q1
q1
p1
E
D
p2
A
q2
s1
G
s2
B
p2
s2
C
F
q2
G
E
y-node
C
S2
Inner nodes
have degree 2
trapezoid
D
F
T rapezoids of T  S  and leaves of D  S  are interlinked by pointers
March 2011
5
Querying a point location
Does q lie to the left or to the right ?
p1
B
A
s1
q1
q1
p1
E
D
p2
A
q2
s1
G
s2
B
p2
s2
C
F
q2
G
E
C
S2
Does q lie above or below?
March 2011
D
F
6
Randomized Construction Algorithm
S eg m en ts are ad d ed to T  S  ran d o m ly, o n e at a tim e.
T h e stru ctu re o f D  S  is affected b y selectio n o rd er.
S o m e o rd ers m ay yield D  S  w ith b ad q u ery tim e o f
O  n  , o th ers m ay yield g o o d q u ery tim e o f O  l o g n  .
Som e D  S  m y be of large size O  n
2
 , others m ay b e
of size O  n  .
E xpected query tim e is O  log n  and expected size
is O  n  !
March 2011
7
T rap ezoid alM ap ( S ) { // S - non crossing segm ents
// R eturns T  S  an d D  S 
bound S by a rectang le R ;
initialeze T
0
and D
0
;
for ( s i  S , 1  i  n , random ly selected ) {
find
 0 ,
rem ove
,k T
 0 ,
i 1
, 
,k T
i 1
j
si   ;
and insert new
i
trapezoids in T appearing by s i insertion ;
rem ove corresponding leaves from D
i
i 1
, create
i
leaves in D for new trapezoids and interlink to T ;
}
}
March 2011
8
T w o invariants of T rap ezoid alM ap :
1) T is a trapezoidal m ap of S i   s1 ,
, si  ,
i
i
i
2) D is a valid search structure for T .
Initialization: T
T o m odify T
derive  0 ,
i 1
0
 T    R, D
0
is a corresponding leaf.
w e query p i by searching in D
i 1
an d
,  k successively from left to righ t.
 j
If righ tP oin t 
is above s i , then 
j 1
is its low er-right
neighbor, otherw ise it is upper right. ( A bscissa uniqueness
ensures there are only tw o right-adjacen t trapezoids).
March 2011
9
0
1
si
3
2
If p i doesn't exist in S i 1 , searching in D
i 1
w ill end
at a leaf (trapezoid  0 ).
March 2011
10
sj
pi  q j
si
0
If p i exists in S i 1 , it m ust m eet an internal node. If it is
x -node laying on a vertical line, proceed ing query w ith
p i  = p i   obtaine s  0 .
pi  p j
si
sj
0
If it is y -node, it m ust be a left point p j , s j  S i 1 . S lops
of s i and s j are com pared and  0 is decided ac cordingly.
March 2011
11
F ollow S egm en t ( T
i 1
,D
i 1
// R eturns sequence  0 ,
search p i in T
i 1
, si :  p i , q i  ) {
,  k inter sected by s i
to find  0 ;
j0 ;
 j
w hile ( q i  righ tP oin t 
 j
i f ( righ tP oin t 
{ 
j 1
else { 
) { // progress rightw ard along s i
is above s i )
is low er-right neighbor of 
j 1
j
}
is upper-right neighbor of 
j
}
++j ;
}
return sequence  0 ,
,k;
}
March 2011
12
New segment insertion
T
i 1

pi
si
qi
D
i 1

D
T
D
i
i 1
pi
C
B
A
A
D
qi
si
C
March 2011
i
B
D
13
Assuming that a point is contained in Δ, the sub tree
replacing its leaf is sufficient to determine whether the
point is in A, B, C or D.
The information attached to new trapezoids is their left
and right neighbor trapezoids, top and bottom segment
and points defining their left and right vertical segment.
If the information in Δ is properly stored, above info
can be determined in a constant time from si and Δ.
If pi=leftPoint(Δ) and / or qi=rightPoint(Δ), Δ is divided
into two or three trapezoids and sub-tree replacement is
simpler.
March 2011
14
Intersection with more than one trapezoid
0
1
2
si
T
3
i 1
D
A
qi
i
E
C
pi
T
F
B
Any of p i and q i that didn't exist partition  0 and  k into
three trapezoids.
B y using the inform ation stored in  0 ,
,  k , t he vertical
extensions are shortened to incidence s i , consum ing constant
tim e per trapezoid.
March 2011
15
0
1  2
T
3
si
i 1
D
T
A
i
E
qi
F
C
pi
B
D
D
D
0
1
i
i 1
i 1
si
2
3
si
B
si
D
qi
si
F
E
A
March 2011
C
16
If p i   0 and / or q i   k are internal points, leaf is
replaced w ith an internal x -node pointing to a leaf
and a y -node of s i w hich points to tw o leav es. E lse,
a leaf is replaced by a y -node pointing to tw o leaves.
T he leaves of  1 to  k 1 are replaced w ith a y -node
of s i pointing to tw o leaves.
T he fact that different trapezoids in T
i 1
m erge into
i
a single trapezoid in T results few incom ing arcs to
i
a leaf in D .
March 2011
17
T h eorem : T  S  and its associated search structure
D  S  for n line segm ents set S , are constructe d in
O  n log n  expected tim e, occupying O  n  storage
and yielding expected query tim e of O  log n  .
Proof : A query traverses a path in D  S  from root
to a leaf (trapezoid).
X i - the num ber of new nodes on the query path,
w hich have been created at s i insertion. X i , 1  i  n
are random variables satisfying X i  3.
March 2011
18
T h e len g th o f a search p ath s is o b tain ed b y su m m in g
th e ran d o m variab les X i o ver all in sertio n s,
 i 1 X i .
n
B y lin earity o f ex p ectatio n it fo llo w s th at th e ex p ected
len g th o f a search p ath is:
n

E 
Xi 
 i 1

 i 1 E  X i .
n
Pi - probability that there exists a node on the search
path of q , created at s i insertion. T herefo re
E  X i   X i Pi  0 1  Pi   3 Pi .
March 2011
19
 q  S i 1  - trapezoid after insertion of s i 1 contain ing q .
T herefore, Pi  P r   q  S i    q  S i 1   
Pr  q  Si   T

i 1
  4 i.

R .H .S follow s from the observation that the probability
of  q  S i  to disappear by the rem oval of s i from T is
i
4 i at m ost since s i m ay participate in defining any of
its four border edges.
March 2011
20
P utting everything togather, the expecte d length of
a query path is bounded by:
n

E 
Xi 
 i 1

 i 1 3 Pi   i 112
n
n
H n is th e n -th h arm o n ic n u m b er
i  12 
1

1
1
2

n
i 1
1 i  12 H n

1
, w h ich
n
satisfies ln n  H n  ln n  1 (recall th at ln n 
n
1
d x x ).
In co n clu sio n , q u ery tim e is O  lo g n  .
T o obtain the size of D  S  w e'll bound its n ode count.
March 2011
21
D  S  leaves are in 1:1 correspondence w ith T  S 
trapezoids, w hose num ber is bounded by O  n  .
T o bound the num ber of inner node let k i b e the
m um ber of new trapezoids created by s i ins ertion.
It follow s by construction of D that the num ber of
inner nodes is exactly k i  1.
i
H ow m any new trapezoids are in T ? N o m ore
i
than total num ber in T w hich is bounded b y O ( i ).
March 2011
22
S u m m in g o ver all in sertio n , a w o rst-case u p p er
b o u n d o f D  S  size is g iven b y:
O n 
 i 1
n
 .
O i  O n
2
M o re in terestin g is th e ex p ected size, w h ich b y
lin earity o f ex p ectatio n is:
n

O  n   E   ki  1   O  n  
 i 1

 i 1 E  k i 
n
i
F or a trapezoid   T and a segm ent s  S i define
 1 if   T i w hen s is rem oved from S i ,
 , s  
 0 otherw ise.
March 2011
23
4 segm ents at m ost cause trapezoids disa ppearence.
H ence,
 sS i  T
i    , s   4 | T | O  i  .
i
| S i | i and the probability of a segm ent to b e chosen
is 1 i . k i is the num ber of trapezoids create d (rem oved)
by insertion (rem oval) of s i .
T aking the average over all s i  S i ,
E  ki  
March 2011
1
i  , s  


s S i
 T
i
O i
i
 O 1  .
24
In conclusion the expected num ber of new trapezoids
created at a segm ent insertion is O 1  .
T h is yield s O  n  sto rag e b o u n d .
E x p ected ru n tim e co n sists o f O 1  in itializatio n
tim e, O  lo g i  q u erin g to fin d p i at s i in sertio n ,
an d E  k i   O  1  fo r in tern al n o d es creatio n .
T his yields O  n log n  creation tim e. ■
March 2011
25
Given a set of segments, nothing is guaranteed on the
maximal run time, which can be quadratic.
Considering all possible problems of n segments, what
is the expected maximal query time?
O(logn)
March 2011
26
Download