Faster Con struction of Plan ar 2-Cen ters David Eppstein Dept. In form ation an d Com puter Scien ce Un iv. of Californ ia, Irvin e http:/ / www.ics.uci.edu/ ∼ eppstein / 1
The problem Cover n poin ts w/ two m in im um -radius circles 2
It’s safe to assum e: • Both circles are the sam e size • On e circle has three tan gen t poin ts, or is diam eter circle of two poin ts • (Other circle is less con strain ed) 3
History Agarwal an d Sharir, SODA 1991: O ( n 2 log 3 n ) Eppstein , FOCS 1991: O ( n 2 log 2 n log log n ) ran dom ized Katz an d Sharir, SCG 1993: O ( n 2 log 3 n ) Jarom czyk an d Kowaluk, SCG 1994: O ( n 2 log n ) Sharir, SCG 1996: O ( n log 9 n ) New result: O ( n log 2 n ) ran dom ized 4
Two Cases (based on circle separation ) d < (2- ε )r d > ε r 5
Overlappin g Case → Matrix Fin d poin t in in tersection of disks (by testin g O (1) can didates) Look for partition by two rays Form m atrix represen tin g possible partition s: Row in dex = position of upper ray Colum n in dex = position of lower ray 6
Overlappin g Case: Quadtree Search (based on m atrix selection of Frederickson an d John son ) Represen t poten tial partition s as set of n k × n k squares (in itially, on e square for whole m atrix) For O (log n ) stages: Subdivide each square in to four Prun e back down to O ( k ) squares 7
Overlappin g Case: Prun in g Too m any squares → m any in terior corn ers Pick a corn er x ran dom ly an d evaluate correspon din g circum radii Com pare x again st all other in terior corn ers If x better than y , elim in ate on e of y ’s squares (above an d to right of y , left circle on ly gets larger; below an d to left, right circle on ly gets larger.) Expect 50% of in terior corn ers to becom e exterior Repeat O (1) tim es un til few in terior corn ers left 8
Overlappin g Case: An alysis O (log n ) stages. On ly slow part: com pare corn ers to ran dom choice ( = test circum radii from correspon din g partition s) Con n ect in to path, use Hershberger-Suri offlin e circum radius decision algorithm : O ( n log n ) per stage Use exact circum radius data structure: O ( k log c n ) per stage Com bin e both m ethods: Exact circum radius when k = O ( n / log c n ) Offlin e alg for rem ain in g O (log log n ) stages Total: O ( n log n log log n ) 9
Separated Case: Cut Lin e Fin d halfspace con tain in g on ly poin ts of con strain ed disk, in cludin g at least on e tan gen t poin t (by testin g O (1) can didates) 10
Separated Case: Main Idea Param etric search Let A 1 be decision algorithm (com pare given radius again st optim um ) Let A 2 be any algorithm that is discon tin uous at the optim al value (e.g. the decision algorithm again ) Sim ulate A 2 ( r ∗ ) by replacin g each com parison in A 2 with a call to A 1 . Because of discon tin uity, calls m ust in clude A 1 ( r ∗ ) 11
Separated Case: Efficien cy Con sideration s To m ake param etric search efficien t: • Sim ulate a parallel algorithm • Batch calls to decision alg usin g bin ary search • Rem ove as m uch as possible from sim ulation – preproc. n ot depen din g on param eter – postproc. after already discon tin uous 12
Separated Case: Decision Algorithm Swin g circle aroun d circular hull of pts in half- plan e, testin g circum radius of rem ain in g poin ts Total: O ( n log n ) 13
Separated Case: Sim ulated Algorithm • Com pute circular hull of poin ts • Sweep circle aroun d hull • Fin d sequen ce of poin t sets swept by circle Already discon tin uous – don ’t have to apply offlin e decision algorithm to sequen ce (Proof: 4 cases. Is optim al circle supported by two or three tan gen t poin ts, an d are on e or two of them on circular hull?) 14
Separated Case: Fast Circular Hull Circular hull arcs correspon d to certain edges of the farthest poin t Voron oi diagram Com pute Voron oi diagram (preproc.) Test which Voron oi edges give hull arcs ( O ( n ) processors, O (1) tim e) Con n ect the dots (in depen den t of param .) 15
Separated Case: Swin gin g the Circle For each poin t p n ot in the hull fin d hull vertex v the circle is pivotin g on when it crosses p (bin ary search) For each hull pivot v sort the associated poin ts by sweep tim e O ( n ) processors, O (log n ) tim e but suitable for Cole’s speed-up 16
Separated Case: An alysis Preprocessin g: Voron oi diagram O ( n log n ) Sim ulate: Fin din g hull arcs O ( n ) bin ary searches On e sortin g algorithm Total: O ( n log 2 n ) 17
Open Problem s Deran dom ize (on ly uses O (log n log log n ) ran dom bits!) Im prove tim e boun d (on ly slow case: n early tan gen t circles) Make sim ple en ough to be practical (m ost com plicated part: param etric sort) 18
Recommend
More recommend