320 likes | 459 Views
The Upper Envelope of Voronoi Surfaces and Its Applications המעטפת העליונה של משטחי וורונוי ואפליקציות הקשורות אליה. נכתב ע”י: Daniel P. Huttenlocher קלרה קדם מיכה שריר. במה יעסוק המאמר:. 1. נדון במבנה של המעטפת העליונה של m משטחי וורונוי:
E N D
The Upper Envelope of Voronoi Surfaces and Its Applicationsהמעטפת העליונה של משטחי וורונויואפליקציות הקשורות אליה נכתב ע”י: Daniel P. Huttenlocher קלרה קדם מיכה שריר
במה יעסוק המאמר: 1. נדון במבנה של המעטפת העליונה של mמשטחי וורונוי: א. נקבע חסם על מספר הקודקודים (הסיבוכיות של המעטפת). ב. נספק אלגוריתם מספק לחישוב הקודקודים. 2. נדון בשני מיקרים: א. mקבוצות של נקודות ב-R2(דו-מימדי). ב. mקבוצות של סגמנטים ב -R2 .
מוטיבציה המעטפת העליונה של מספר משטחי וורונוי המוגדרים כל אחד לקבוצה שונה של מקורות , יכולה לעזור בפתרון הבעיה של מציאת מרחק Hausdorff מינימלי בין שתי קבוצות נקודות או סגמנטים.
d(x)=min P(x,p) נגדיר את משטח וורונוי של קבוצה Sלהיות: pS y x דיאגרמת וורונוי במימד 1 נבנה את המעטפת העליונה של משטחי וורונוי במימד 1 נסמן ב-f(x) את המעטפת העליונה
- קבוצה של מקורות (נקודות או סגמנטים). S={pj | j=1,…,n} - דיאגרמת וורונוי של קבוצה S. Vor(S) m=|{Si | i=1,….,m}| ni=|Si |, i=1,….,m - מספר הקבוצות של המקורות. - מספר המקורות ב-Si. n= ∑ni - סה”כ המקורות סימונים
d(x)=min P(x,p) הגדרנו את משטח וורונוי של קבוצה Sלהיות: pS p4 d(x) p2 Min P(x,q) p3 x p5 p1 מקורות במישור S={p1,p2,p3,p4,p5} שתי אבחנות: 1. המשטח (d(x הוא בנקודת מינימום מקומית (השווה ל-0) כאשר x=pj. 2. המשטח (d(x הוא בנקודת מקסימום מקומית עבור נקודות הנמצאות על גבול התאים של (Vor(S .
קבוצת נקודות ב-R2 אבחנה : בהנתן נק’ x0 , ,כאשר המקור הקרוב ביותר ל-x0ב- (Vor(Si , רחוק יותר מ- x0 מאשר המקור הקרוב ביותר ל- x0בכל דיאגרמה אחרת של (Vor(Sj. f(x0)=di(x0) כלומר: f(x)=max di(x). i=1,..,m יהיו S1,…., Smאוסף של mקבוצות של נקודות במישור. נחשב את הסיבוכיות של המעטפת העליונה של mמשטחי וורונוי (di(x.
p f(x)=di(x)שבהם מתקיים - Fהחלקים ב- האיחוד של כל החלקים הללו מכל התאים בכל m דיאגרמות וורונוי, מגדירות את ההיטל-xy של כל המשטח f(x). F– תא ב- Vor(Si) המוגדר ע"י p. F P נשתמש באבחנה מס' 1 לקבוע את החלק (יתכן ריק) ב-Vor(Si) שבו f(x)=di(x).
Vor(Si)ב- qהתא של F q Qj1 Qj2 Vor(Si Sj)ב- qהתא של Q = Qj j≠i נשים לב ש-Qj F עבור כל j.
x p Qj1 Qj2 למה: המעטפת העליונה f(x) שווה ל- di(x) עבור xF אמ"ם .xF-Q
γ1(σ) γ3(σ)=max γj(σ) J=1,….,m σ נייצג את Q כפונקציה פולרית. max γj(σ) = r y x q Qj1 Qj2 Qj3 מאחר וכל תא הוא בצורת כוכב , ניתן להציג קורדינטות פולאריות (r, σ) כש-q הוא הראשית ולהתייחס לגבולות של Qj כגרף המיוצג ע"י הפונקציה γj(σ) = r.
למה : הסיבוכיות של שפת האיחוד של Q לינארית ביחס ל- CF, עבור דיאגרמות וורונוי המבוססות על 1L ו-L. והיאO(CF(CF)) עבור L2. נסמן: Cj – מספר הצלעות של jiQj. CF=Cj. הוכחה: עבור דיאגרמות וורונוי המבוססות על 2L , הצלעות בדיאגרמה הם סגמנטים בכיוונים שרירותיים. מכיוון שכל שניים מהם נחתכים לכל היותר פעם אחת , אזי שפת האיחוד שלהם היא מסיבוכיות O(CF(CF))[16]. במקרה של 1L ו-L , גבולות התא מכילות סגמנטים רק ב-4 כיוונים. ע"י שימוש באלגוריתם הפרד ומשול לחישוב שפת האיחוד [6] אנחנו משלבים את 4 משפחות הסגמנטים ע"מ לקבל מעטפת עליונה שסיבוכיותה ליניארית ל-CF.
יהי N=F CF– מספר הצלעות שיוצרות את Qj , עבור כל תאי וורונוי בכל הדיאגרמות. למה: N = O(mn) . הוכחה: עבור Vor(Si) ניקח את כל הדיאגרמות Vor(SiSj) ע"מ ליצור את כל הגבולות של ה-Qj-ים אשר בכל תא של Vor(Si) . מספר הצלעות עבור כל Vor(SiSj) הוא O(ni+nj). נסכום עבור כל ji ונקבל:(ni+nj)) = O(nim+n) CF =O( נסכום עבור כל Si,i=1,…,mונקבל:iO(mni+n) = O(mn+i(mni)) = O(mn)
משפט: הסיבוכיות של המעטפת העליונה של משטחי וורונוי , המורכבת מ-m קבוצות של נקודות במישור ועם סך של n מקורות היא O(mn) ב- L1 ו- L. והיא O(mn(mn)) כשמשתמשים ב-L2.
2H 2H 2H 2H 2H y0 2(H-δ) y0 –2(H-δ) 2(H-δ) 2(H-δ) 2(H-δ) 2(H-δ) 2(H-δ) נראה כי מספר הקודקודים במעטפת העליונה של משטחי וורונוי היא במקרה הגרוע (mn). נוכיח בעזרת בנייה:
חישוב המעטפת העליונה f(x). • נשתמש במשפט הקובע את הסיבוכיות של f(x). • האלגוריתם עוקב אחרי הבניה הזו, ויש בו 2 שלבים בסיסים: • מחשב את "דיאגרמת הזוגות" Vor(SiSj) עבור 1ijm. • עבור כל מקור q בכל Si , מחשב את הגבולות של Q. שלב 1, לוקח זמן של O(mn log(mn)) ,מכיוון שהגודל של כל הזוגות הוא O(mn). שלב 2, לוקח זמן של O(CFlogCF) עבור כל מקור q [17], כך שעבור כל המקורות של דיאגרמות וורונוי , ובהתחשב בכך ש- FCF=O(mn) מתקבל הזמן הרצוי O(mn log(mn)).
x p Qj,1 Qj,2 מציאת המינימום המקומי של f(x). יהי qSi מקור כלשהו, ויהי F תא ב-Vor(Si) המכיל את q, ויהי Q האזור סביב q כפי שהגדרנו קודם. אזי, המינימום המקומי של f(x) עבור xF-Q, נמצא על השפה של Q. ומכאן שניתן להשיג את המינמום המקומי של f(x) בלי עלות נוספת.
q עלxהיא הנק' הקרובה ביותר ל-q’ F q’ q x F – Vor(Si(ב-qהתא של
Sjסגמנטים מ - qj,3 Qj,1 q Qj,2 qj,1 Qj,3 qj,2
q* x Q q q’ F qj,l
A Voronoi cell of a “line segments Voronoi diagram” has the weak star shape property .
f(x) = di(x) for x in F iif x in F – Q Q = UU Qj,l Qj,1 q Qj,2 Qj,3
The combinatorial complexity of the boundary of Q is O(cα(c )) for L1, L∞ and O(c 2^α(c )) for L2 .
Bלנקודה ב - a1המרחק הקצר ביותר מ - h(A*,B*) = המרחק הגדול ביותר מבין המרחקים הקצרים b1 a1 B A b2 a2 a3 b3
H(A,B) – Aשאינן קרובות לנקודות ב - B גדול,מכיוון שיש נקודות ב- D(A,B) – Aלנקודה ב- B קטן,מכיוון שיש העתקה שמקרבת כל נקודה ב- A B
D A B H h(A* , B*) = max min ρ (a , b) H(A,B) = max(h(A* , B*) , h(B* , A*)) D(A,B) = min H(A , B ⊕ x)
bj d’j(x) = min δi,j(x) di(x) = min δi,j(x) bj ai ai ∈ A bj ∈ B ai x ai bj x ai-bj δi,j(x) = ρ(ai , bj + x) = ρ(ai – bj , x) Lets define the function di(x) to be the lower envelope of δi,j(x) for a fixed point ai in A and over all bj in B :
δi,j(x) = ρ(ai – bj , x) d’j(x) = min δi,j(x) di(x) = min δi,j(x) d’j(x) = min ρ(p , x) di(x) = min ρ(p , x) ai ∈ A bj ∈ B p ∈ S'j p ∈ Si min f(x) = min H(A , B ⊕ x) = D(A,B) x x Si = { ai – bj | bj ∈ B} S’j = {ai – bj | ai ∈ A} f(x) = (max (max di(x) , max d’j(x)) = H(A , B ⊕ x)
h(A* , B*) = max min ρ (a , b) H(A,B) = max(h(A* , B*) , h(B* , A*)) D(A,B) = min H(A , B ⊕ x) d’j(x) = min ρ(p , x) di(x) = min ρ(p , x) di(x) = min ρ(p , x) p ∈ S’j p ∈ Si p ∈ Si f(x) = max (maxdi(x) , max d’j(x)) = max(h(A* , B*) , h(B* , A*)) = H(A , B ⊕ x) is by definition the Voronoi surface of Si . To find D between two sets A , B we have to identify the value of x that minimizes the upper envelope of all Voronoi surfaces defined by the sets Si = ai -* B and S’j = A – bj .
Example in one dimension A 1 4 0 B 2 11 0 3 Hausdorff distance = 3 3 How do we get this result by using the Voronoi surfaces ???
S1 = {-1 , -10} S2 = {2 , -7} S’1 = {-1 , 2} S’2 = {-10 , -7} -10 -7 -1 0 2 Example in one dimension (cont.) A = {1 , 4} B = {2 , 11} (-4,3)