Tentamen Geometrische Algoritmen, 8 mei2001, 14{17 uur
Naam: ::::::::::::::::::::::::::::::::: Collegekaartnummer: :::::::::::::::::::::
Voor dit tentamen zijn 9.5 punten te halen (0.5 punt is kado). Lees elke opgave zorgvuldig
door voordat je 'm beantwoordt; zorg dat je begrijpt wat er gevraagd wordt. Controleer
achteraf of je inderdaad de vraag hebt antwoord. Maak eerst de opgaven die je makkelijk
vindt, en daarna pasde moeilijkere. Hettentamen is gesloten boek.
1. (a.) (1 punt) Beschrijf precies hoe een intervalboom voor een verzameling van (1-
dimensionale)intervallenis opgebouwd.
(b.) (0.5 punt) Geef het zoekalgoritme om alleintervallen in de intervalboom te rap-
porterendie eengegeven zoekwaarde xbevatten.
2. (1 punt)GegeveneenconvexpolygoonP met alleverticesineenarrayA[0;:::;n 1].
De meest linkse vertex van P zit in A[0] (beide coordinaten zitten daar dus) en de
vertices zijntegen deklok inopgeslagen inA.
Geef eenalgoritme dat inO(logn) tijd bepaaltof een gegeven punt q inhet polygoon
P ligtofniet.
3. Gegeven eenverzameling H met n horizontale lijnstukken in het platte vlak. De lijn-
stukkenzijnniet-snijdend,engeentweeeindpuntenvanverschillendelijnstukkenhebben
dezelfde x-of y-coordinaat.
(a.) (1 punt) Teken de trapezodale decompositie (vertikale decompositie) binnen de
getekendeboundingboxvande6lijnstukkenindeguurhierboven. Degestippeldelij-
nenzijnalleenvoororientatieen horenniettotdelijnstukkenwaarvoordetrapezodale
decompositie getekendmoetworden.
(b.) (2 punten) Geef een sweep algoritme dat alle lijnstukken oplevert die (naast de
delenvanH) indetrapezodaledecompositiezitten. Beschrijfdestatusenstatusstruc-
tuur, en geef de events, de eventlijst en de eventafhandeling. Het algoritme moet in
O(nlogn) tijdwerken, maar dithoeftniet bewezenteworden.
4. Beschouwhetalgoritmevoorlineairprogrammerenin2dimensies,waarvaneengewone
incrementele en een gerandomiseerde incrementele versie bestaat. We beschouwen de
versiesuit hetboek (hieronderstaat dievoorgewone incrementele LP).
Dit tentamen is in elektronische vorm beschikbaar gemaakt door de T BC van A–Eskwadraat.
A–Eskwadraat kan niet aansprakelijk worden gesteld voor de gevolgen van eventuele fouten in dit tentamen.
1
1 2
Input: A linearprogram (H[fm
1
;m
2
g;~c ), whereH isa setof n half-planes,~c2R 2
,
and m
1 ,m
2
aretwo half-planesthat boundthesolution.
Output: If (H[fm
1
;m
2
g;~c ) is infeasible, then thisfact is reported. Otherwise, the
lexicographicallysmallestpoint pthat maximizesf
~c
(p)is reported.
Let v
0
be thepointthat maximizesf
~c (fm
1
;m
2 g).
Let h
1
;:::;h
n
bethehalf-planes ofH.
for i 1to n
do if v
i 1 2h
i
thenv
i v
i 1
elsev
i
thepointp on`
i
thatmaximizesf
~c
(p),subjecttotheconstraintsinH
i 1 .
ifp doesnotexist
thenReport thatthelinear programis infeasibleand quit.
return v
n
Neem aan: m
1
:= (x+y 0) en m
2
:=(y x0) in de volgendeonderdelen. Neem
ookaandatdeobjectivefunctionf
~c
(::)gemaximaliseerdwordtbijhetlaagstepunt,dus
minimaley-coordinaat.
(a.) (0.5 punt) Wat is de worst-case tijdgrens als het gewone incrementele algoritme
wordttoegepast opde verzamelinghalf-vlakken(in onbekendevolgorde)
H =fx+yk j1kn=2g [ fy xk j1kn=2g:
(b.) (0.5 punt)Wat is de verwachte tijdgrens van het gerandomiseerde algoritme als
het opde verzamelingH metn half-vlakken wordt toegepast?
(c.) (0.5 punt) Bestaat er een verzameling H met n half-vlakken waarvoor het LP
feasibleis,enwaarvoorhetgewone incrementele algoritmeinhetworst-casegevaltoch
slechtsO(n)tijd nodigheeft? Beargumenteer hetantwoord of geefeenvoorbeeld.
5. In de guurhierna staan de vertices, half-edges en faces van eensubdivisiein doubly-
connected edgelistgetekend.
~ e
1;2
~ e
3;2
~ e
2;2
~e
1;1
~ e
2;1
~e
3;1
~ e
4;2
~e
4;1
~e
5;1
~e
5;2
~e
6;1
~e
6;2
~ e
7;1
~ e
7;2
v
1
v
2
v
3
v
4 v
5 v
6
v
7
v
8 f
1
f
2
(a.) (0.5punt)Geefaannaarwelkehalf-edges,verticesenfacesdehalf-edgerecordvan
~ e
2;1
verwijzingen(pointers)heeft inde doubly-connectededgelist structuur.
(b.) (0.5punt) Geef aan naarwelke half-edges,vertices en faces de facerecordvan f
1
verwijzingen(pointers)heeft. Erzijnmeerderemogelijkeantwoorden;geefeenantwoord
dat bijeenmogelijke DCELvoorde getekendesubdivisiekanhoren.
6. (1.5 punten) EenpolygoonP heet stervormig als ereenpunt q inP ligt(eventueel op
de randvan P) zodanig datvoorelkander punt r inP (eventueelop de rand van P),
het lijnstuk qr volledigin P ligt(eventueel deelsmet de rand samenvalt), en dus niet
buitenhet polygoon P komt.
GeefeenzoeÆcient mogelijkalgoritmeomtebepalenofeenpolygoonP metnvertices
stervormig is. Hoe snelisje algoritme?