דיאגרמת וורונוי
Download
Report
Transcript דיאגרמת וורונוי
ערן אבנור
26.12.012
1
הבנה/ריכוז
אני פה!
איטי מידי
נרדמים
מהר מידי
לא מבינים
קצב דיבור
2
מוטיבציה
עד עכשיו התעסקנו בקמור או בשילוש של קבוצת נקודות כלשהו
במרחב או במישור.
עכשיו נרצה לברר בהינתן קבוצת נקודות במישור ,Sובהינתן
נקודה כלשהי שלא ב ,S-איזה נקודה ב S-הכי קרובה אליה.
נניח שאוסף הנקודות Sשלנו מייצג את רשת דואר ישראל .כל
סניף מיוצג על ידי נקודה במישור .נרצה לשייך כל אזור בארץ
לסניף דואר ,סביר להניח על פי קירבה לסניף.
הערה :זאת הרצאת מבוא .לא נדבר פה על מבני-נתונים או לשאלה היותר
מתבקשת ,איך מוצאים לאיזה איזור שייכת נקודה כלשהי.
3
גיאומטרית וורונוי -הגדרות
במהלך הרצאה ,כאשר אדבר על קבוצת נקודות ,Sהכוונה היא
לקבוצה סופית של נקודות במישור.
לאיבר ב( S-נקודה) נקרא "אתר" ()Site
אזור וורונוי ( )Voronoi Regionשל אתר - pיסומן כ- Vor(p)-
הוא
}𝑆 ∈ 𝑞 𝑥 − 𝑝 ≤ 𝑥 − 𝑞 ,
V𝑜𝑟 𝑝 = 𝑥 ∈ ℝ2
כלומר קבוצת הנקודות במישור שהאתר pהוא הכי קרוב אליהן
(משאר האתרים ב.)S-
דיאגרמת וורונוי היא חלוקה סופית של המישור לאזורי וורונוי.
עבור קבוצה ,Sנסמן ב Vor(S)-את קבוצת הנק' שנמצאות ביותר
מאזור וורונוי אחד (נמצאות על גבולות האזורים) .אוסף הנקודות
הזה מגדיר לנו קשתות וקודקודים.
4
גיאומטרית וורונוי – הגדרות (המשך)
אבחנה :דיאגרמת וורונוי היא חלוקה סופית של המישור ,לכן
חייבים להיות גם אזורי וורונוי שהם לא חסומים.
קשתות וורונוי הן הגבולות בין אזורי וורנוי.
קודקודי וורונוי הם נקודות החיבור של קשתות וורונוי.
5
הדגמה
Voro
Glide
גיאומטרית וורונוי – אזורי וורונוי
טענה :כל אזורי וורונוי הם קמורים.
הוכחה:
נוכיח 2משפטי עזר.
טענה ( :)1חיתוך (לא בהכרח סופי) של אזורים קמורים הוא קמור.
הוכחה :אזור הוא קמור אמ"מ כל 2נק' באזור רואות זו את זו
(הישר המחבר ביניהן נמצא כולו באזור).
נסמן ב A-את החיתוך ,אז:
עבור 2נק' ב A-מתקיים:
לכן הקטע abנמצא כולו בכל ) Siכי Siקמור) ולכן גם ב.A-
6
גיאומטרית וורונוי – אזורי וורונוי
טענה :כל אזורי וורונוי הם קמורים.
הוכחה -המשך:
עבור שני אתרים p, qנסמן ב H(p,q)-את חצי המישור הקרוב ל-
pשנפרש ע"י אנך אמצעי בין pל:q-
} 𝑞𝑥−𝑝 ≤ 𝑥−
7
𝐻 𝑝, 𝑞 = 𝑥 ∈ ℝ2
גיאומטרית וורונוי – אזורי וורונוי
טענה :כל אזורי וורונוי הם קמורים.
הוכחה -המשך:
טענה ( )2אזור וורונוי של אתר pהוא חיתוך של כל חצאי
המישורים בין pלבין שאר האתרים.
הוכחה :נסתכל על חצי המישור של אתר pמול שאר האתרים:
8
גיאומטרית וורונוי – אזורי וורונוי
טענה :כל אזורי וורונוי הם קמורים.
הוכחה -המשך:
לפי משפט עזר ( (2אזור וורונוי הוא חיתוך סופי של חצאי
מישורים .נשים לב שחצי מישור הוא איזור קמור ,ולכן לפי משפט
עזר ( ,)1חיתוך של אזורים קמורים הוא קמור ,ולכן אזור וורונוי
הוא קמור.
9
גיאומטרית וורונוי – קודקודי וורונוי
תכונה של קודקודים:
בהינתן 3נקודות במישור ,לא על קו ישר ,מתקיים ששלושת
האנכים האמצעיים יפגשו בנקודה יחידה ונקודה זאת היא מרכז
המעגל החוסם את המשולש הנוצר ע"י 3הנקודות (משפט של
אוקלידס)
שאלה :איפה נמצאת נקודת המפגש ביחס למשולש?
10
גיאומטרית וורונוי – קודקודי וורונוי
כאשר 4אתרים נמצאים על אותו מעגל נקבל מקרה מנוון
לכן כעת נגדיר "נקודות במיקום כללי" כקבוצת נקודות שכל 4
נקודות בה לא נמצאות על מעגל משותף (כבר ראינו בעבר).
11
גיאומטרית וורונוי – קודקודי וורונוי
לצומת וורונוי של קבוצת נקודות במיקום כללי יש בדיוק דרגה .3
(נבין למה מיד אחרי המשפט הבא שתיכף נוכיח)
כל צומת וורונוי הוא נקודת מפגש של אנכים אמצעים ,אבל להפך
לא בהכרח.
12
גיאומטרית וורונוי – קודקודי וורונוי
משפט :תהא Sקבוצת נקודות ו Vor(S)-דיאגרמת וורונוי שלה.
נקודה vהיא קודקוד וורונוי של ) Vor(Sאמ"מ קיים מעגל
שמרכזו ב v-שעל היקפו לפחות 3אתרים והפנים שלו ריק
(מאתרים).
דוגמא:
13
גיאומטרית וורונוי – קודקודי וורונוי
משפט :תהא Sקבוצת נקודות ו Vor(S)-דיאגרמת וורונוי שלה.
נקודה vהיא קודקוד וורונוי של ) Vor(Sאמ"מ קיים מעגל
שמרכזו ב v-שעל היקפו לפחות 3אתרים והפנים שלו ריק
(מאתרים).
הוכחה >= :אם vהוא קודקוד וורונוי אז הוא חייב להיות סמוך
לפחות 3-אזורי וורונוי .Vor(p), Vor(q), Vor(r) :לכן vנמצא
במרחק שווה מ p,q-ו( r-למה?) .לכן קיים מעגל ש v-הוא המרכז,
ו p,q,r-על היקפו .אם קיים אתר אחר בתוך המעגל אז הוא קרוב
יותר ל v-בסתירה לכך שהאזורים )Vor(p), Vor(q), Vor(r
נפגשים ב.v-
14
גיאומטרית וורונוי – קודקודי וורונוי
משפט :תהא Sקבוצת נקודות ו Vor(S)-דיאגרמת וורונוי שלה.
נקודה vהיא קודקוד וורונוי של ) Vor(Sאמ"מ קיים מעגל
שמרכזו ב v-שעל היקפו לפחות 3אתרים והפנים שלו ריק
(מאתרים).
=< נניח שקיים מעגל שמרכזו ב v-ו 3-אתרים p,q,rעל היקפו.
בגלל שפנים המעגל ריק ,אז vנמצא בקצה האזוריםVor(p), :
)( Vor(q), Vor(rבמרחק שווה) ולכן הוא נקודת מפגש של
הקצוות שלהם ולכן הוא אכן קודקוד וורונוי.
15
גיאומטרית וורונוי – קודקודי וורונוי
תרגיל :עבור ,n≥3האם אפשר למצוא קבוצת נקודות Sבעלת n
אתרים שמקיימת:
א) אין אף קודקוד וורונוי?
ב) יש בדיוק קודקוד וורונוי אחד?
פתרון:
16
גיאומטרית וורונוי – קשתות וורונוי
משפט :תהא Sקבוצת נקודות ו Vor(S)-דיאגרמת וורונוי שלה.
תהא eתת קבוצה קשירה של האנך האמצעי בין האתרים pו.q-
eהיא קשת וורונוי אמ"מ לכל נקודה xב e-קיים מעגל שמרכזו
ב x-ועל היקפו רק האתרים pו q-והפנים שלו ריק .בנוסף e
מקסימלית עם תכונה זו.
דוגמא:
17
גיאומטרית וורונוי – קשתות וורונוי
משפט :תהא Sקבוצת נקודות ו Vor(S)-דיאגרמת וורונוי שלה.
תהא eתת קבוצה קשירה של האנך האמצעי בין האתרים pו.q-
eהיא קשת וורונוי אמ"מ לכל נקודה xב e-קיים מעגל שמרכזו
ב x-ועל היקפו רק האתרים pו q-והפנים שלו ריק .בנוסף e
מקסימלית עם תכונה זו.
הוכחה >= :נניח ש x-נקודה על קשת וורונוי eבין הצמתים pו.q-
לכן pו q-במרחק שווה מ .x-אם המעגל שמרכזו ב x-ונוגע ב p-ו-
qמכיל עוד אתר ( rבפנים) אז xתהיה שייכת רק ל .Vor(r)-אם
על היקף המעגל יש עוד אתר rאז נקבל סתירה לכך ש x-על קשת
וורונוי ולכן יכולה להיות שייכת רק ל 2-האזורים הסמוכים
לקשת.
18
גיאומטרית וורונוי – קשתות וורונוי
משפט :תהא Sקבוצת נקודות ו Vor(S)-דיאגרמת וורונוי שלה.
תהא eתת קבוצה קשירה של האנך האמצעי בין האתרים pו.q-
eהיא קשת וורונוי אמ"מ לכל נקודה xב e-קיים מעגל שמרכזו
ב x-ועל היקפו רק האתרים pו q-והפנים שלו ריק .בנוסף e
מקסימלית עם תכונה זו.
=< נניח שקיים מעגל ריק שהיקפו נוגע רק ב p-ו q-ומרכזו
וכן לכל אתר rאחר:
בנקודה xכזו .מתקיים:
(אחרת המעגל לא ריק) .לכן xחייבת להיות או
על קשת או צומת וורונוי .לפי המשפט הקודם x ,לא יכולה להיות
צומת וורונוי (צריך 3אתרים על ההיקף) .לכן xעל קשת וורונוי.
19
גיאומטרית וורונוי – קשתות וורונוי
איפיון של הקשתות :קשת וורונוי יכולה להיות אחת מ:3-
קטע סופי (עם 2קצוות)
קרן (קצה אחד ,ראינו בציור)
ישר אינסופי
ננסה לאפיין מתי קשת תהיה ישר אינסופי.
20
גיאומטרית וורונוי – קשתות וורונוי
משפט :ל Vor(S)-יש קשתות שהן ישרים אינסופיים אמ"מ כל
האתרים ב S-נמצאים על אותו קו ישר.
הוכחה =< :אם כל האתרים על אותו ישר ,קל לראות שהקשתות
הן קווים מקבילים ולכן לא יפגשו לעולם (ראינו).
>= נניח כעת שלא כל הנקודות על אותו הישר .נניח שבVor(S)-
קשת אינסופית Lשמפרידה בין האזורים ) Vor(pו .Vor(q)-יהי r
אתר ב S-שלא נמצא על אותו ישר יחד עם pו .q-בה"כ נניח גם ש-
r 21ב( H(p,q)-קרוב יותר ל.)p-
גיאומטרית וורונוי – קשתות וורונוי
משפט :ל Vor(S)-יש קשתות שהן ישרים אינסופיים אמ"מ כל
האתרים ב S-נמצאים על אותו קו ישר.
המשך הוכחה >= :נסתכל על
האנך האמצעי ל .pr-הוא חייב
לחתוך את ( Lכי הם לא
לא שייכת
מקבילים) .בנוסף הקרן
ל Vor(S)-כי הקרן קרובה יותר
ל r-ולכן כולה ב.Vor(r)-
ולכן Lלא כולו ב( Vor(S)-ולא
אינסופי משני הכיוונים).
22
גיאומטרית וורונוי – קשתות וורונוי
מסקנה Vor(S) :היא לא קשירה אמ"מ כל האתרים ב S-הם על
אותו ישר.
רעיון הוכחה >= :אם ) Vor(Sלא קשירה ,אז חייב להיות אזור
וורונוי )( Vor(pאינסופי) שמפריד את המישור לשני חלקים זרים.
בגלל ש Vor(p)-הוא קמור ומחלק את המישור לשני חלקים זרים
אז הגבולות שלו חייבים להיות 2קווים מקבילים .לפי המשפט
הקודם ,כל האתרים ב S-חייבים להיות על אותו ישר.
=< בדיוק מה שהוכחנו במשפט הקודם – קשתות וורונוי מקבילות
אחת לשניה ,ולכן ה Vor(S)-לא קשירה.
23
גיאומטרית וורונוי -סיבוכיות
משפט :תהא Sקבוצת נקודות בעלת n ≥ 3אתרים .ל Vor(S)-יש
לכל היותר 2n-5קודקודים ולכל היותר 3n-6קשתות( .הסיבוכיות
הקומבינטורית של ) Vor(Sהיא לינארית במספר האתרים).
הוכחה :ראשית ניקח את כל הקשתות שהן קרנים ו"נכופף" אותן
לנק' חדשה שנמצאת באחד האזורים הלא חסומים (למה חייב
להיות אחד כזה?).
24
גיאומטרית וורונוי -סיבוכיות
משפט :תהא Sקבוצת נקודות בעלת n ≥ 3אתרים .ל Vor(S)-יש
לכל היותר 2n-5קודקודים ולכל היותר 3n-6קשתות( .הסיבוכיות
הקומבינטורית של ) Vor(Sהיא לינארית במספר האתרים).
המשך הוכחה :נשים לב שקיבלנו גרף מישורי קשיר Gשבו יש
התאמה בין פאה לאתר -האזור וורונוי שלו .נסמן את מספר הפאות
ב G-ב( n-מספר האתרים) .מתקיים :ל G-ו Vor(S)-אותו מספר
קשתות – .eלVor(S)-
יש vקודקודים
(האתרים לא נחשבים)
ולכן ל G-יש v+1
קודקודים.
25
גיאומטרית וורונוי -סיבוכיות
משפט :תהא Sקבוצת נקודות בעלת n ≥ 3אתרים .ל Vor(S)-יש
לכל היותר 2n-5קודקודים ולכל היותר 3n-6קשתות( .הסיבוכיות
הקומבינטורית של ) Vor(Sהיא לינארית במספר האתרים).
המשך הוכחה G :גרף מישורי קשיר ,לכן מקיים את נוסחת אוילר:
.V-E+F=2
נציב F=n, E=e, V=v+1 :ולכן.(v+1)-e+n=2 :
לכל קודקוד דרגה לפחות 3לכן( 3(v+1)≤2e :למה?)
נציב באי-שוויון את נוסחת אוילר ( )v+1=2+e-nונקבל:
3(v+1)≤2e 3(2+e-n) ≤ 2e 6+3e-3n ≤ 2e e ≤ 3n-6
26
גיאומטרית וורונוי -סיבוכיות
משפט :תהא Sקבוצת נקודות בעלת n ≥ 3אתרים .ל Vor(S)-יש
לכל היותר 2n-5קודקודים ולכל היותר 3n-6קשתות( .המורכבות
הקומבינטורית של ) Vor(Sהיא לינארית במספר האתרים).
המשך הוכחה :באותו אופן שוב נציב באי-שוויון ( ) 3(v+1)≤2eאת
נוסחת אוילר ( )e=v+1-2+nונקבל:
3(v+1)≤2(v+1-2+n) 3v+3 ≤ 2v+2n-2 v ≤ 2n-5
27
גיאומטרית וורונוי -סיבוכיות
תרגיל :מתי מתקבל שוויון? (החסמים הדוקים)
בקבוצת נקודות Sבמצב כללי שיש בדיוק 3קרנים ,אז דרגת כל
צומת בגרף Gהיא 3ולכן.3(v+1)=2e :
28
גיאומטרית וורונוי -סיבוכיות
תרגיל :הוכיחו שלכל קבוצת נקודות Sבמיקום כללי ,המספר
הממוצע של קודקודי וורונוי לאזור וורונוי קטן מ.6-
הוכחה :תהא Sקבוצת נקודת במיקום כללי בגודל .nעבור n≤3
יש לכל היותר קודקוד אחד .אחרת:
לפי המשפט הקודם ל Vor(S)-יש לכל היותר 2n-5קודקודים .אם
נספור את כל הקודקודים שרואים כל האזורים נקבל לכל היותר
) – 3(2n-5כי כל קודקוד שייך בדיוק ל 3-אזורים .לכן הממוצע
לכל אזור וורונוי הוא ) 6-(15/nקודקודים (כי יש nאזורים) .עבור
nגדול מאוד החסם שואף ל( 6-מלמטה).
29
גיאומטרית וורונוי -סיבוכיות
טענה :עבור ) Vor(Sונק' Vor(p) ,pהוא לא חסום אמ"מ p
נמצאת על הקמור של .S
הוכחה =< :תהי pנקודה בקמור .אז קיים קו דרך pשמשיק
לקמור של Sומחלק את המישור ל 2-חלקים שבאחד כל .Sנעביר
אנך מ p-לקו המשיק הזה.
נוכיח שהוא מוכל ב.Vor(p)-
תהי aנקודה על הקרן הזאת.
תהי qנקודה כלשהי בקמור.
נסתכל על הקו ,aqהוא חייב
לחצות את המשיק בנקודה כלשהי
.rמתקיים ( ar>apיתר במשולש
ישר זווית) .בפרט .aq>ar>ap
ולכן ).a∈Vor(p
30
גיאומטרית וורונוי -סיבוכיות
טענה :עבור ) Vor(Sונק' Vor(p) ,pהוא לא חסום אמ"מ p
נמצאת על הקמור של .S
הוכחה >= :יהי ) Vor(pאזור וורונוי לא חסום .אז קיימת קרן
שיוצאת מ p-שמוכלת בו .נעביר אנך לקרן דרך .pנראה שהוא
מחלק את המישור לשני חלקי
שבאחד מהם .Sתהי aנקודה על
הקרן .בגלל שהיא באזור )Vor(p
היא קרובה יותר ל p-מאשר לכל
אתר אחר .qנניח בשלילה שקיים
אתר qמ"ימין" למשיק .אזי
קיימת aכזו על הקרן שלא שייכת
ל( Vor(p)-לפי פיתגורס)
בסתירה לכך שיש קרן אינסופית
31ב.Vor(p)-
אלגוריתמים לדיאגרמת וורונוי
האלגוריתם הטריוויאלי :נמצא כל אזור ע"י חיתוך של n-1חצאי
מישורים .זמן ריצה.O(n2logn) :
שיפורים:
ב Shamos and Hoey 75-המציאו אלג' רקורסיבי (divide-and-
)conquerשזמן ריצתו ) .O(nlognהאלג' קשה למימוש ודורש
תשומת לב זהירה למבני הנתונים.
ב Fortune 85-פיתח אלג' נוסף באותו זמן ריצה ,שמתבסס על
שיטת סריקת המישור ( .)plane sweepהרעיון:
32
סריקת המישור משמאל לימין ע"י קו אנכי (מייצג מעין אתר נע).
בניה של הדיאגרמה תוך כדי התקדמות הקו (בעת מפגש עם אתרים).
בכל רגע נתון משמאל לקו (לפני ה"חזית הפרבולית") קיימת דיאגרמת
וורונוי (לא מלאה) – מיד דוגמא.
אלגוריתמים לדיאגרמת וורונוי
הרצה של אלגוריתם ה-
sweep-line
הקו האדום מתנהג כאתר,
כלומר בכל רגע נתון
משמאל לקו קיים אזור
וורונוי (הנק' על שפתו
במרחק שווה מהקו
ומאיזשהו אתר שמאלי).
http://en.wikipedia.org/wiki/Sweep_line_algorithm
33
אלגוריתמים לדיאגרמת וורונוי
ב Green and Sibson 77-פיתחו אלגוריתם תוספתי
( )incrementalפשוט ואלגנטי שעדין מאוד פופלרי למרות זמן
ריצה לא מדהים של ).O(n2
תיאור האלגוריתם:
נניח שכבר יש בידינו דיאגרמת וורונוי עם kאתרים .כעת נוסיף אתר
חדש pונתקן את הדיאגרמה בהתאם.
34
אלגוריתמים לדיאגרמת וורונוי
הקלות:
הנק' החדשה נמצאת ממש בתוך אזור וורונוי קיים ולא על קצה שלו.
אזורי וורוני שמשתתפים בצעד האלג' הם חסומים.
35
עבור נקודה ,pנמצא את האזור אליו היא שייכת (חייב להיות
אחד כזה) .נגיד ).Vor(p1
נסתכל על האנך האמצעי לקטע .p1p
בגלל ש Vor(p1)-קמור וחסום הוא חותך
את השפה שלו בדיוק ב 2-נקודות.
נסמן את נק' החיתוך x1,x2כך שהמשולש
px1x2הוא נגד כיוון השעון.
הקטע x1x2חותך את ) Vor(p1לשני
חלקים שאחד מהם שייך ל.Vor(p)-
אלגוריתמים לדיאגרמת וורונוי
הנקודה x2נמצאת על קשת וורונוי ,כלומר בין שני אזורים
) Vor(p1ו.Vor(p2)-
נסתכל על האנך האמצעי לקטע .p2p
האנך חותך את ) Vor(p2בדיוק ב-
x2ובעוד נקודה .x3
באותו אופן הקטע x2x3חותך את
) Vor(p2לשני חלקים שאחד מהם שייך
ל.Vor(p)-
נמשיך בתהליך עד שנגיע בחזרה לx1-
שנסיים נזרוק הקודקודים הישנים
וחלקי הקשתות שהוסרו.
36
אלגוריתמים לדיאגרמת וורונוי
טיפול ב"הקלות"
אם הנק' החדשה נמצאת על קצה אזור וורונוי – נוסיף להגדרה של
מצב כללי ,שהמקרה הזה לא יקרה.
אם אזור וורוני לא חסום :נשנה את כיוון האלגוריתם .מתקיים
שהאנך האמצעי חותך לפחות פעם אחת את האזור (אלא אם כל
האתרים על ישר אחד) .נמשיך את צעד האלגוריתם מנקודה זו ,ולא
מהנקודה הרגילה .נעצור כשנגיע שוב לקשת וורונוי לא חסומה.
37
שילוש דלוני והבעיה הדואלית
38
בדיאגרמת וורונוי מייצגים קירבה של נקודות לאתרים.
נרצה להסתכל אולי על קרבה של אתרים זה לזה.
הגדרה :הגרף הדואלי של ) Vor(Sהוא גרף שקודקודיו הם
האתרים ב S-ושני קודקודים מחוברים בקשת אמ"מ הם חולקים
אותה קשת וורונוי (סמוכים זה לזה).
מתקיים :הגרף הדואלי של ) Vor(Sהוא גרף מישורי (הוכחה
בהמשך).
תזכורת :גרף מישורי הוא גרף שאפשר לצייר אותו כך שאף קשת
לא תחתוך קשת אחרת – כלומר מספיק להראות דרך ציור אחת
כזאת.
שילוש דלוני והבעיה הדואלית
בשחור – קשתות וורונוי .באדום :קשתות הגרף הדואלי.
(קודקודי וורונוי ,בשחור ,לא שייכים לגרף הדואלי).
39
שילוש דלוני והבעיה הדואלית
שאלה קיומית :מה יקרה לגרף הדואלי אם ניישר את הקשתות?
(כלומר נרשה שהן יהיו קווים ישרים בלבד)
תשובה קיומית :כתוב בכותרת .עכשיו נוכיח.
40
שילוש דלוני והבעיה הדואלית
למה :יהיו B,Aשני עיגולים עם 2מיתרים שחותכים זה את זה.
אז מתקיים שלפחות נקודת קצה אחת של אחד המיתרים בעיגול
אחד נמצאת ממש בתוך העיגול השני.
הוכחה :אם אחד העיגולים מוכל בשני ,סיימנו.
אחרת ,נסובב את המישור כך שהנקודה השמאלית ביותר של A
נמצאת משמאל לנקודה השמאלית ביותר של .B
נסמן ב a1a2-את המיתר של Aכך שa1≤xa2
נסמן ב b1b2את המיתר של Bכך שb1≤xb2
נסמן ב L-את המיתר הנמתח בין נקודות
החיתוך של העיגולים (הקו השחור).
41
שילוש דלוני והבעיה הדואלית
למה :יהיו B,Aשני עיגולים עם 2מיתרים שחותכים זה את זה.
אז מתקיים שלפחות נקודת קצה אחת של אחד המיתרים בעיגול
אחד נמצאת ממש בתוך העיגול השני.
אם a1,a2<xLוגם b1,b2>xLאז מתקיים ציור שמאל .ולכן
המיתרים לא יכולים להיחתך בסתירה להנחה.
) או
לכן בהכרח ) a1או a2ב-
)
) b1או b2ב-
בכל מקרה קצה של מיתר אחד חייב
להיות בעיגול השני.
42
שילוש דלוני והבעיה הדואלית
משפט :בגרף הדואלי של ) Vor(Sעם קשתות קווים ישרים אין
קשתות חוצות (נסמנו .)G
הוכחה :נניח בשלילה שקיימות שתי קשתות a1a2ו b1b2-בG-
שחוצות זו את זה ( a1,a2,b1,b2אתרים) .לפי המשפט שהוכחנו
קודם – קיימת נקודה xעל קשת
וורונוי בין a1ל a2-כך שקיים עיגול A
ש x-היא מרכזו ,ורק האתרים
a1ו a2-נמצאים בהיקפו והפנים ריק.
באותו אופן קיימת נקודה yועיגול B
כך שהאתרים b1ו b2-על היקפו בלבד.
43
שילוש דלוני והבעיה הדואלית
משפט :בגרף הדואלי של ) Vor(Sעם קשתות קווים ישרים אין
קשתות חוצות (נסמנו .)G
הוכחה – המשך :אבל לפי הלמה הקודמת ,חייב להתקיים שקצה
אחד (אתר) של הקטעים נמצא ממש בעיגול השני .בסתירה למשפט
שהעיגולים חייבים להיות
ריקים.
לכן אף קשת לא חותכת קשת אחרת.
(למשל בציור a2 ,בתוך המעגל )B
44
שילוש דלוני והבעיה הדואלית
מסקנה :עבור קבוצת נקודות Sבמיקום כללי (אין 4אתרים על
אותו היקף מעגל) מתקיים שהגרף הדואלי עם קשתות קווים
ישרים של ) )G( Vor(sהוא שילוש של .S
הוכחה :מתקיים שדרגת כל קודקוד וורונוי היא בדיוק ,3לכן
מתאים בדיוק למשולש ב .G-נשים לב שב G-אף קשת לא חוצה
קשת אחרת .ולכן קיבלנו שילוש חוקי.
45
שילוש דלוני והבעיה הדואלית
הגדרה :הגרף הדואלי של ) Vor(Sעם קשתות קווים ישרים נקרא
השילוש הדואלי של דיאגרמת וורונוי( .בקיצור פשוט הדואלי).
הדואליות מקשרת כל אזור וורונוי לצומת (אתר) וכל אתר מקשרת
למשולש.
46
שילוש דלוני והבעיה הדואלית
המשפט הקיומי :תהא Sקבוצת נקודות במיקום כללי אז
השילוש הדואלי של ) Vor(Sהוא בדיוק שילוש דלוני )Del(S
של .S
הוכחה :לפי משפט שהוכחנו קודם ,כל צומת וורונוי הוא מרכז של
מעגל החוסם את 3האתרים שאליו הוא סמוך ,והמעגל ריק .נשים
לב שהמעגל חוסם בדיוק את המשולש בשילוש .לפי עוד משפט
שהוכח בהרצאות הקודמות ,שילוש הוא דלוני אמ"מ לכל משולש
מתקיים שיש מעגל חוסם שבו אין אף קודקודים אחרים מלבד של
המשולש.
47
שילוש דלוני והבעיה הדואלית
הקשר בין שילוש דלוני לדיאגרמת וורונוי הוא לא סתם מקרי!
דלוני היה בעצם דוקטורנט של וורונוי באוניברסיטה של קייב .
48
שילוש דלוני והבעיה הדואלית
מסקנה :תהא Sקבוצת נקודות במיקום כללי אז שילוש דלוני
) Del(Sהוא יחיד – הוכחה אלטרנטיבית ליחידות שילוש דלוני.
הוכחה :דיאגרמת וורונוי היא יחידה (ישירות מההגדרה) ולכן לפי
המשפט הקודם היא מתאימה בדיוק לשילוש דלוני.
49
שילוש דלוני והבעיה הדואלית
תזכורת :ה flip graph-של קבוצת נקודות Sהוא גרף שבו כל
קודקוד הוא שילוש חוקי של Sושני קודקודים מחוברים אמ"מ
אפשר לעבור משילוש אחד לשני ע"י הפיכת אלכסון אחד.
שימוש מעניין :הוכחה מחודשת למשפט שה flip graph-הוא
קשיר.
הוכחה :לפי האלג' למציאת שילוש דלוני (היפוך אלכסונים) ,אפשר
להפוך כל שילוש לשילוש דלוני .לפי המסקנה ,שילוש דלוני הוא
יחיד .לכן קיים מסלול ב flip graph-מכל צומת לצומת המייצג
את שילוש דלוני .לכן הגרף קשיר.
50
שילוש דלוני והבעיה הדואלית
עוד שימוש לדואליות :אלגוריתם incrementalלבניית שילוש
דלוני.
תיאור האלגוריתם :נניח שכבר בנינו שילוש דלוני ל k-האתרים
הראשונים ונראה הוספת נק' חדשה ( pשוב נניח שהנק' בתור
הקמור).
לפי משפט מההרצאות הקודמות ,המשולשים
היחידים שיושפעו הם אלה שעכשיו pנמצאת
במעגל החוסם שלהם.
51
שילוש דלוני והבעיה הדואלית
52
אלגוריתם incrementalלבניית שילוש דלוני.
נסמן את כל המשולשים המושפעים האלה .אותם נצטרך לתקן.
נשים לב שאיחוד המשולשים יוצר מצולע (שניתן לשלש דלוני).
נמחק את כל האלכסונים במצולע ונמתח אלכסונים חדשים
מהמעטפת אל הנק' החדשה.
נוכיח שהשילוש החדש אכן
דלוני.
שילוש דלוני והבעיה הדואלית
53
אלגוריתם incrementalלבניית שילוש דלוני.
נכונות:
כעת ,נניח שביצענו שילוש דלוני על המצולע שנוצר (לפני חיבור
האלכסונים ל .)p-לכל משולש בשילוש יש מעגל חוסם ריק מקודקודים
אחרים.
נניח בשלילה שיש משולש חדש tבשילוש שלנו שבו pהיא לא קודקוד .אז
המעגל החוסם של tחייב להיות ריק (אחרת לא שילוש דלוני) .בפרט pלא
במעגל החוסם שלו .לכן tלא יכול להיות משולש חדש ,כי לא היינו
משנים אותו.
pחייבת להיות קודקוד בכל משולש שנוצר ,ולכן אפשר לחבר אותה לכל
קודקוד במצולע שנוצר ,כי אחרת היה נוצר משולש בלי pבסתירה לכך
שזהו משולש חדש.
לכן השילוש החדש שהתקבל בהכרח דלוני (כל המעגלים החוסמים
ריקים).
זמן ריצה( O(n2) :האלג' הנ"ל הוא הדואלי של מה שראינו קודם) .נשים
לב שאם סדר הוספת הנקודות הוא "טוב" נתקן מעט מאוד משולשים.
שילוש דלוני והבעיה הדואלית
ובעיה לא פתורה אחת:
מהי הסיבוכיות הקומבינטורית של דיאגרמת וורונוי לקווים
בתלת-מימד?
בדיאגרמה זו ,אזור וורונוי מכיל את אוסף הנקודות שקרובות
יותר לקו שהוא מייצג מאשר שאר הקווים.
והחסם עליון שהוא
כיום יש פער בין החסם התחתון שהוא
בערך (?) בחזקה רביעית.
54
סוף.
תודה על ההקשבה
55