Ausarbeitungen zum Seminar “Algorithmische Geometrie”

Werbung
Ausarbeitungen zum Seminar
“Algorithmische Geometrie”
Veranstalter: Mathias Katzer & Marc Hanheide
Sommersemester 2003
28. Januar 2004
1. Christoph Hermes: Konvexe Hüllen
2. Andrea Matyssek: Polygone und der Sweep-Line-Algorithmus
3. Nadine Brandt: Bereichsbäume, Bereichssuche und Fractional Cascading
4. Christian Höner zu Siederdissen: Quadtrees
5. Jan Schäfer: Der KD-Baum
6. Marion Zysik: Triangulation
Alle Arbeiten in dieser Zusammenstellung sind von Studenten erstellt. Es besteht keinerlei Gewähr bzgl. der Korrektheit und Gültigkeit der Aussagen.
1
Seminar Algorithmische Geometrie
Konvexe Hüllen
Christoph Hermes
[email protected]
30. September 2003
Inhaltsverzeichnis
1
Einleitung
1
2
Vorüberlegungen
2.1 Mathe... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 grundlegende Datenstrukturen . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Eigenschaften der konvexen Hülle . . . . . . . . . . . . . . . . . . . . . . .
2
2
3
3
3
Algorithmen für konvexe Hüllen
3.1 Gift Wrapping (Einwickeln)
3.2 QuickHull . . . . . . . . . .
3.3 GrahamScan . . . . . . . . .
3.4 GrahamScan (improved) . .
3.5 Divide&Conquer-Verfahren .
4
4
5
7
9
9
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4
Ein Ausflug in die 3D-Welt
12
5
Fazit
14
1
Einleitung
Die konvexe Hülle (oft auch nur „die Hülle“ genannt) ist eines der verbreitetsten Strukturen
innerhalb der algorithmischen Geometrie. Einfach gesagt ist sie das kleinstmögliche Polygon,
das in einer Ebene von Punkten alle Punkte umschließt. Bildlich gesprochen kann man sie sich
als ein Gummiband vorstellen, das um eine Menge von Nägeln gespannt ist.
Aus dieser wichtigen Eigenschaft heraus ergeben sich nun eine Reihe von Anwendungsmöglichkeiten und das nicht nur innerhalb der Geometrie:
Kollisionsabfrage: Die Geometrie eines Roboters kann als relativ komplex angesehen
werden, so dass es bei der Kollisionsabfrage innerhalb eines Pathfinding zu sehr vielen Berechnungen kommen kann. Wird aber zuerst die konvexe Hülle des Gefährts bestimmt, so vereinfacht sich auch die Geometrie des Roboters erheblich; es verringern
sich somit auch die Berechnungen, was vor allem bei der Echtzeitplanung von Vorteil
ist. Die Vereinfachung von komplexen Gebilden wird allgemein auch als Näherung für
die Objektgeometrie bezeichnet.
Data Mining: Daten mit gleichen Eigenschaften können mit Hilfe der konvexen Hülle
zusammengefasst werden. So lassen sich dann verschiedene Hüllen auf Überschneidung
und dergleichen überprüfen.
smallest box: Bei diesem Problem soll (wie der Name schon treffend aussagt) die kleinste mögliche Box berechnet werden, in die eine Punktmenge passt. Dies gilt vor allem im
3D-Bereich. Die Berechnung der konvexen Hülle ist hier zwingend notwendig, möchte
man nicht jeden Punkt mit jedem vergleichen. Allein durch die Hülle werden im Allgemeinen schon sehr viele Punkte ausgesondert.
Die Stärke der konvexen Hülle liegt also vor allem in der Vereinfachung von bereits bestehenden Daten, die als Grundlage für weitere Berechnungen verwendet werden.
In dieser Ausarbeitung wird mit genaueren (mathematischen) Definitionen für die konvexe
Hülle begonnen, die teilweise in den Algorithmen wieder erscheinen. Es wird noch kurz darauf
eingegangen, auf welchen Daten in diesen Beispielen gearbeitet wird. Danach werden einige
wichtige Eigenschaften noch zusätzlich zu den Definitionen behandelt, die sie ergänzen sollen
und eher in die Kategorie Trickkiste passen. Nun erst wird mit der Beschreibung der Verfahren
zur Lösung des Problems der konvexen Hülle begonnen.
In der Darstellung der nachfolgenden Algorithmen für die Berechnung der konvexen Hülle
wird allerdings bewusst auf eine besondere Programmiersprache (Java, C(++), etc.) verzichtet
und nur ein Pseudocode gegeben, da sich geometrische Algorithmen im Allgemeinen leichter
auf einer höheren Abstraktionsebene besprechen lassen, als sie direkt in eine Sprache zu implementieren. Diese Schwierigkeiten beruhen vor allem auf der Tatsache, dass ein Computer
nicht exakt rechnen kann und somit sämtliche Ausnahmefälle betrachtet werden müssten.
In dieser Ausarbeitung werden zum großen Teil nur die Grundalgorithmen in der 2D-Ebene
betrachtet, in der „Realität“ jedoch wird meist mit höheren Räumen gearbeitet. Darum werden
zum Schluss einige Ansätze für die Anwendung des Problems in 3D gegeben.
Natürlich darf am Ende die Diskussion, welcher der aufgezeigten Algorithmen nun der
optimalste für jedes Problem dieser Art ist, nicht fehlen.
1
2
Vorüberlegungen
Bevor wir mit der Darstellung und Beschreibung der eigentlichen Algorithmen beginnen, sind
noch einige Vorüberlegungen fällig, die nachher bei der Darstellung der einzelnen Verfahren
auftreten und erheblich zum Verständnis beitragen.
2.1 Mathe...
Ein Problem präzise zu formulieren, heißt in der Informatik meist, es mathematisch zu beschreiben. Das gilt vor allem für das Problem der konvexen Hülle. Es sei aber darauf hingewiesen, dass es mehrere Definitionen für die konvexe Hülle und Konvexität an sich gibt, die
sich zwar zumeist alle entsprechen, aber dennoch verschieden ausgeprägt in den Algorithmen
erscheinen können. Abbildung 1 zeigt anschaulich den Unterschied zwischen einem konvexen
und nicht-konvexen Polygon.
y
x
keine konvexe Hülle
konvexe Hülle
Abbildung 1: Vergleich zweier Polygone auf Konvexität
Die Definitionen und damit auch die Eigenschaften folgen auf dem Fuß:
1. Eine Menge wird als konvex bezeichnet, wenn das Segment mit dig in der Menge enthalten ist: vollstän-
Diese Aussage kann als primäre Definition aufgefasst werden. Man beachte, dass die
Definition nicht auf eine Dimension beschränkt ist. Es sollte klar sein, dass der innere
Winkel eines konvexen Polygons nicht sein darf, bzw. dass es keine „Dellen“ hat,
wie das erste Bild in Abbildung 1 zeigt.
2. Eine Konvexkombination1 von Punkten ist eine Summe der Form
Die Punkte !#" $
&%
'
$ &%
)(+*
kann (und sollte man auch höheren Dimensionen) als Vektoren ansehen.
Somit ist das in Def. 1 besprochene Segment eine Konvexkombination aus den Punkten und . Ein Dreieck wäre demnach eine Konvexkombination aus seinen drei Endpunkten und in 3D bestünde ein Tetraeder aus der Konvexkombination seiner vier Endpunkte. Man beachte, dass diese Objekte selbst wieder konvex sind.
1
Ein sehr gutes Beispiel hierzu kann man in [MBrg] nachlesen.
2
3. Eine konvexe Hülle einer Menge von Punkten , ist die Menge aller Konvexkombinationen der Punkte von , . Sie wird häufig mathematisch als -.0/1,32 geschrieben.
4. Die konvexe Hülle einer Menge von Punkten , in 4 Dimensionen ist die Menge aller
Konvexkombinationen von 46587 (oder weniger) Punkten von , .
Somit ist die Hülle einer Menge von Punkten im zweidimensionalen Bereich eine Konvexkombination einer Untermenge von drei Punkten, die je ein Dreieck aufspannen.
5. Die konvexe Hülle einer Menge von Punkten , in einer Ebene ist das kleinste Polygon
9
9;:
9=<!9>:?
, das , einschließt. Somit gibt es kein anderes Polygon
für das gilt:
, .
6. Die konvexe Hülle einer Menge von Punkten , in einer Ebene ist das konvexe Polygon
9
, das , einschließt und die kleinste Fläche besitzt.
7. Die konvexe Hülle einer Menge von Punkten , in einer Ebene ist das konvexe Polygon
9
, das , einschließt und den kleinsten Umfang besitzt.
Die Definitionen 5-7 erscheinen trivial, legen aber dennoch im einzelnen fest, dass es nur
eine konvexe Hülle geben kann, die exakt charakterisiert wird.
2.2 grundlegende Datenstrukturen
Bevor man Algorithmen zur Lösung eines Problems entwirft, sollte man wissen, auf welche
Art von Daten sie angewendet werden sollen; in unserem Fall operieren wir auf Punkten in
einer Ebene (im dreidimensionalen Raum) mit dem Ergebnis ein Polygon (3D-Hülle) zur erhalten, dass alle Punkte einschließt. Diese Ansicht dient nur dazu, anschaulich die Algorithmen
zur Bestimmung der konvexen Hülle zu erläutern. In der Realität werden sie geeignet modifiziert werden müssen, um zum Beispiel auf verschiedenene Datensätzen arbeiten zu können.
Punkte (engl. Points) sind einfach darzustellen; viele Programmiersprachen (Java, C/C++,
etc.) bieten dafür sogar eigene Klassen an. Polygone lassen sich auf die Punktdarstellung zurückführen: Als eine Liste von Punkten, dessen Reihenfolge dem Entlanggehen den Polygons
entspricht. Die Realisierung einer solchen Liste kann durch einen Array oder einer (doppelt)
verketteten Liste erfolgen, abhängig von dem Algorithmus.
2.3 Eigenschaften der konvexen Hülle
Die Definitionen (siehe Abschnitt 2.1) liefern zwar schon eine gute Grundlage für die Entwicklung von Algorithmen für das dargestellte Problem, einige Besonderheiten sollten jedoch
trotzdem hervorgehoben werden.
Zu diesen Besonderheiten zählen vor allem die Extremalpunkte einer konvexen Hülle. Das
sind Punkte, die garantiert zur Hülle gehören und sich schnell und intuitiv bestimmen lassen. Sie werden häufig als Ausgangspunkte für die Algorithmen verwendet (als Ankerpunkte
oder Pivotelemente). Dessen Bestimmung in einer Ebene ist einfach: Es sind Punkte mit der
kleinsten (größten) @ -Koordinate oder kleinsten (größten) A -Koordinate. Das enspricht der Bestimmung der äußersten Punkte in den vier Himmelsrichtungen.
In Definition 1 wurde ein weiterer Aspekt nebenbei erwähnt, der hier aber noch mal deutlich hervorgehoben werden sollte: Der innere Winkel der Hülle. Es ist klar, dass er nicht BDC
sein darf, da sonst eine „Delle“ entsteht und somit keine konvexe Hülle mehr vorhanden ist.
3
Eine weitere Winkeleigenschaft kann aber auch wie folgt beschrieben werden: Gegeben sei
eine Menge von Punkten E , ihre konvexe Hülle F)G0HIEKJ8L E und drei Punkte MNOPNRQTS
E U MOVQWXFGYHIE3J , wobei sich MOZQ gegen den Uhrzeigersinn auf der Hülle dreht. Nun
gilt für alle Punkte Q\[PS]E3^V_`MNOPNRQVa :
b
b
H MOcN OVQdJfe
b
H MOPN OVQ [ J
Der angegebene Winkel ( ) sollte als innerer Winkel verstanden werden.
Die (Un-)Gleichung klärt auch gleichzeitig die Frage, ob Punkte, die sich auf dem Segment
zweier zusammenliegender Punkte der Hülle liegen (sich also durch die eine Konvexkombination zweier zusammenliegender Punkte darstellen lassen), noch zur Hülle gehören oder nicht.
(Die Antwort ist ja!)
3
Algorithmen für konvexe Hüllen
Die folgenden Algorithmen beschränken sich auf die Lösung des Problem in einer Ebene (2D)
mit einer Menge von Punkten. Es wird davon ausgegangen, dass alle Punkte dieser Menge
paarweise verschieden und keine drei Punkte kollinear sind.
3.1 Gift Wrapping (Einwickeln)
Zu den ersten Verfahren, die für die Bestimmung der konvexen Hülle entwickelt wurden, zählt
das Einwickeln (engl. wrap) der Menge von Punkten. Es ist dem naiven Verfahren nachempfunden, wie Menschen ein solches Problem mit Papier und Bleistift lösen würden.
jk
ghgi
tu
vw
no
O
pq
lm
rs
y
x
Abbildung 2: Einwickelverfahren graphisch
Daher ist die Beschreibung auch recht einfach (siehe Abb. 2): Man beginne mit einem
Punkt, der garantiert zur Hülle gehört, wie etwa der Punkt mit der kleinsten O -Koordinate
(hier x ), nehme einen horizontalen, in die positive verlaufenden Strahl und „schwenke“ ihn
gegen den Uhrzeigersinn, bis er auf einen weiteren Punkt trifft; dieser Punkt (M ) muss zur
Hülle gehören. Dann benutze man diesen Punkt als Angelpunkt und drehe weiter gegen den
Uhrzeigersinn, bis ein weiterer Punkt getroffen wird. Das Verfahren wird so lange wiederholt,
bis der Ausgangspunkt x wieder erreicht ist; das Paket ist nun eingewickelt.
Die etwas schwammige Formulierung „Schwenken“ beinhaltet nicht anderes als die Berechnung des Winkels2 y zwischen dem verlängerten Strahl der letzten beiden Punkte (hier
2
Dass es auch möglich ist, ohne die doch recht zeitaufwändigen trigonometrischen Funktionen bei der Berechnung von z aus zukommen, wird in [RSed, S. 405] gezeigt.
4
gestrichelt dargestellt) und der Verbindung des Angelpunktes zu jedem noch nicht betrachteten Punkt. Derjenige neue Punkt mit dem kleinsten Winkel ist ein Punkt der konvexen Hülle.
Der folgende Pseudocode zeigt dieses Verfahren noch einmal kurz:
1
2
3
4
5
6
7
8
9
10
11
12
Algorithmus wrap
Finde Pivotelement {| mit {P}~€Y‚ƒ&„V…†ˆ‡
Finde Punkt {c‰ mit kleinstem Š zur Horizontalen {|`‹ŒhŽ]
{V‘’{‰
“ { |) {
while ({ ”€•
“ {— {
for each {d– €•
{\–`}˜Š™‘›šœ‹ {—ž‰Ÿ{—I {V¡{d–
}
{V¢f‘£‚>ƒ&„Z…¤{\–¥}˜Š‡
Füge {Z¢ der Hülle hinzu
{—‘¦{V¢
}
Zeile 3 ist ein Vorgriff auf die innere Schleife (Zeile 6-8), um die Bestimmung von § ž‰ zu
ermöglichen. In Zeile 7 wird nur der Winkel zu jedem neuen Punkt berechnet, derjenige Punkt
mit dem kleinsten Winkel wird in Zeile 9 ermittelt.
Erfahrungsgemäß sind die meisten naiven Verfahren nicht immer die besten; nicht anders
verhält es sich mit der konvexen Hülle. Der Algorithmus berechnet immer wieder neu den
Winkel zu den noch nicht aufgenommenen Punkten, ohne evtl. vorher berechnete Informationen zu nutzen. Das macht eine Effizienzanalyse für den Zeitaufwand einfach (¨ ist Anzahl der
zu betrachtenden Punkte): ©
ª  ‰ ­
¬«c‰
­
¨ ³
¨ ®µ´¥±
¨®°¯¤±3²
¶
·
¸
­
¨¹º±
Diese Abschätzung gilt nicht nur für den worst-case, sondern auch für den best-case »
­
¨ ¹±.
3.2 QuickHull
Dieser Algorithmus wurde in den späten 70ern von mehreren Wissenschaftlern unabhängig
voneinander vorgeschlagen. Es setzte sich der Name „QuickHull“ auf Grund der Ähnlichkeit
zu QuickSort durch, denn beide beruhen auf dem Divide&Conquer-Verfahren. Das Prinzip
ist einfach: Aus einer Menge von Punkten lassen sich viele Elemente schon mit wenigen Rechenschritten eindeutig als innere Punkte der Hülle identifizieren und somit ausschalten. Die
restlichen Punkte, die zwangsweise näher zur Hülle liegen, werden nun erst genauer betrachtet.
Diese allgemeine Formulierung lässt sie wie folgt präzisieren: In einem ersten Schritt (siehe Abb. 3) findet eine grobe Unterteilung der Punktmenge ¼ statt; dabei werden zunächst die
beiden horizontal am weitesten entfernte Punkte (entspricht Westen ½ und Osten ¾ ) ermittelt
und als Grenze für eine Unterteilung der Punkte in eine obere und untere Hälfte verwendet.
Der zweite, entscheidende Schritt (siehe Abb. 4) besteht in der getrennten Betrachtung der
beiden Hälften, die so lange rekursiv aufgerufen wird, bis nur noch die Hülle übrig bleibt.
Dabei wird aus der Punktmenge ¼ der Punkt ¿ mit dem weitesten Abstand zu ÀÂÁ bestimmt. ¿
kann nun als Punkt der Hülle betrachtet werden, so dass alle Punkte, die sich innerhalb des
Dreiecks ÀÂÁ¿ befinden, nicht zur Hülle gehören können. Sie werden eliminiert. Die verbleibenden Punkte (sollte es welche geben) werden nun wiederum in zwei Hälften (hier à und Ä )
5
ÏÐ
w
ãä
ÇÈ
ÅÆ
ÑÒ
áâ
ÕÖ
ÙÚ
ÓÔ
ÍÎ
ÛÜ
ßà
ËÌ
åæ
ÉÊ
c íî
×Ø
e
÷ø
b
Abbildung 3: erste Einteilung der Punkte
ûü
ç èç
èP
B
ùú
ÝÞ
ïð
A
óô
õö
ýþ
ÿ
ñò
ëì
a
éê
Abbildung 4: genauere Betrachtung des Randes
geteilt. Bei der Unterteilung werden die Segmente und als Vektoren aufgefasst, die eine
(in Pfeilrichtung) linke und rechte Seite haben. Der neuen Menge werden somit alle Punkte,
sich sich rechts von befinden und der neuen Menge alle Punkte, die sich rechts von befinden, zugeordnet3 . Der rekursive Aufruf erfolgt dann auf und .
Somit ergibt sich folgender Pseudocode für die Funktion QuickHull:
1
2
3
4
5
6
7
8
9
10
Algorithmus Quickhull
function QuickHull {
if ( ) {
return }
Punkt mit max. Abstand von !
"# Punkte rechts von !
$% Punkte rechts von return QuickHull &'"(*)+) QuickHull '$,
}
Ein Aufruf der Funktion geschieht dann folgendermaßen:
1
2
3
4
5
-. Punkt /0 mit 21435#6,798
:; Punkt /0 mit 2143 #6,<'=
"# Punkte oberhalb von ->:
$? Punkte unterhalb von ->:
QuickHull @-:A"(*)+) QuickHull B:CD-$,
Eine Effizienzanalyse erweist sich hier als weitaus schwieriger, als bei dem vorangegangenen Gift Wrapping. Man kann zwar schon erahnen, dass QuickHull ähnliche Effizienzen wie
QuickSort an den Tag legen wird, der endgültige Beweis fehlt aber noch.
Sei E die Menge der zu verarbeitenden Punkte und FHGJIKELI deren Anzahl. Die Teilung der
Punkte zu Anfang lässt sich innerhalb von MONPFRQ bewerkstelligen, die Kosten der rekursiven
Aufrufe hängen aber von I SI und I4HI ab. Sei TUGVI I und WXGJI4HI mit TZYHW[G\F,]X^_G`MONaFbQ .
Wenn die Zeitkomplexität für den Aufruf von Quickhull cdNPFRQ ist, dann lässt sich ceNPFRQ rekursiv
ausdrücken:
m
ceNPFRQG\M/NaFbQRYfcdNgThQbYfcdNaWiQ
3
(1)
Analog gilt natürlich, dass der Menge j alle Punkte zugeordnet werden, die sich links von kl befinden. Für
gilt das entsprechende.
6
Leider kann man diese Rekursion nicht lösen, ohne den genauen Zusammenhang zwischen
, o und p zu kennen. Darum muss hier eine Überlegung zum best-case und worst-case erfolgen:
n
q
best-case: Jede Division ist so balanciert wie nur irgend möglich:
nsr
r
o
pt
Hier wird – mit dem Hinweis auf die doch sehr grobe Analyse – gewissenhaft ignoriert,
dass nvu o r pvwyx und n und o ganze Zahlen sein sollten. Diese Tatsachen fallen bei
der Klassifizierung der Effizienz dieses Algorithmus’ kaum ins Gewicht. Somit ergibt
sich aus Gl. (1):
ze{
t
r
pR|
z~} p t€
 {
ƒ
u‚ {
pb|
p_„@…‡†ˆpb|
Die genauen Rechenschritte zur Auflösung dieser Rekursion sind in [JRou, S. 101f]
beschrieben.
q
worst-case: Jede Division ist so unausgeglichen wie möglich; das entspricht dem Fall,
dass alle Punkte schon auf einer konvexen Hülle liegen und somit kein Punkt eliminiert
werden kann:
{ nUr
x
‰
r
o
pŠw?xA|
‹
{ nUr
pŠw?x
‰
o
r
xC|
Die Werte für n und o in Gl. (1) eingesetzt ergibt dann:
ze{
zd{
uŒ {
r zd{
u‚
pŠw%xA|
p |
b
pt w%xA|
Š
p
{
{
 u
u
uy‘’‘’‘Cu‚
p
pŠw?xC|
p w
Š
|
r
pR|
ƒ
r
r
” •—–™˜ {
“ 
r
; p
Œ
{
{
pŠw.š›|
p t
u
” •9–™˜
r~œ“ {
LŽ*;
pŠw.šD|
xA|
pŸž |
Im schlechtesten Fall ist QuickHull also genauso schlecht wie das naive Verfahren. Es hat
{
sich aber in der Anwendung gezeigt, dass die Effizienz im Mittel bei ¡ p_„@…‡†ˆpb| liegt und
(ähnlich wie QuickSort beim Sortieren) eines der schnellsten Verfahren auf dem Gebiet der
Berechnung der konvexen Hülle ist.
3.3 GrahamScan
Dieses Verfahren, das 1972 von R.L. Graham entwickelt wurde, gilt als eines der besten auf
diesem Gebiet. Es deshalb so gut, weil es die best-case-Effizienz von Quickhull sogar im
schlechtesten Fall halten kann, wie wir später noch sehen werden.
Der GrahamScan besteht aus zwei wichtigen Teilen, der Sortierung der Punkte und dem
Backtracking-Verfahren. Der zuerst genannte Teil (siehe Abb. 5) beginnt mit der Auswahl
7
ª«
¼½
®¯
¦§
¾¿
¨©
h ÂÃ
¤¥
°±
º d »º
Ȧ
f
¸¶¸¹
g ÀÁ
²³²
´ ´
³
¬­
e
ÄÅ
c
µ ·µ
·¶
b
ÆÇ
i
¢£
a
a
Abbildung 5: Sortieren der Punkte
Abbildung 6: Backtracking-Verfahren
eines geeigneten Pivotelementes aus einer Menge von Punkten È , vorzugsweise ist das derjenige Punkt mit der kleinsten É -Koordinate (und größten Ê -Koordinate). In der Abbildung ist
das der Punkt Ë . Das Kriterium, nach dem nun die restlichen Punkte sortiert werden, ist ihr
Winkel zu dem Pivotelement (und sein in die Horizontale und positiv verlaufenden Strahl).
Das Sortierverfahren kann zwar beliebig gewählt werden, es gilt aber zu beachten, dass selbst
die worst-case-Effizienz von ÌOÍPÎ_Ï@ЇшÎbÒ nicht überschritten wird; daher hier die Empfehlung,
entweder Shell- oder MergeSort zu verwenden.
Die herausragende Leistung des GrahamScan’s liegt in dem zweiten Schritt, dem Backtracking-Verfahren (siehe Abb. 6). Das Prinzip dieses Verfahrens ist die Erweiterung einer
schon bestehenden konvexen Hülle um einen Punkt und die nachfolgende Überprüfung auf
Konvexität des neuen Polygons. In der Abbildung beginnt man also mit der (natürlich konvexen) Hülle ËÓÔ und fügt den Punkt Õ hinzu. Der Algorithmus geht nun einen Punkt zu Ô zurück
(back tracking) und stellt fest, dass die Hülle einen Knick nach links macht. Somit ist ËÓ ÔÕ eine
konvexe Hülle. Nun wird der Punkt Ö aufgenommen und der Algorithmus stellt fest, dass die
Hülle bei Õ einen Knick nach rechts macht. Õ kann folglich nicht zur Hülle gehören und wird
daher eliminiert. Eine neue Überprüfung bei Ô ergibt, dass Ô zur Hülle gehören muss (Knick
nach links), und es wird ein neuer Punkt zur bisherigen Hülle ËÓ ÔÖ hinzugefügt. Das Verfahren
wiederholt sich so lange, bis die sortierte Menge È abgearbeitet ist.
Die Überprüfung, ob die Hülle an einem Punkt É in einem Abschnitt Ê×É&Ø einen Knick nach
rechts oder links macht, kann unter anderem so gelöst werden, dass getestet wird, ob sich É in
dem Dreieck Ù5ÚÜÛÝÊ2Ø befindet, wobei ÚÜÛ das Pivotelement (Angelpunkt) ist.
Die Zusammenfassung des GrahamScan’s lässt sich durch folgenden Pseudocode beschreiben:
1
2
3
4
5
6
7
8
9
10
Algorithmus GrahamScan
Û ß Punkt Þáâ mit Þ2ã4ä_å.æ,ç9è&é'âiê
Þ à
ë
Þ2ã4ìeå.æ,í'î&é'âhê
Þ2ï ðããã ð
ÞñóòÜï ß Sortiere alle Punkte ޙôõáâ€ö¶éDÞ Û ê nach ÷ùø Þ Û Þôgð Þ Û øPúûUüü
for ý ßÿþ , ý , ý³úUú {
ß ý
while Hülle knickt bei Þ òÜï rechts ab {
lösche Þ òÜï
ß }
}
Bei der Bedingung, ob die Hülle einen Knick nach rechts macht (Zeile 6), wird davon
ausgegangen, dass zuvor bei dem Sortierverfahren (Zeile 3) gegen den Uhrzeigersinn sortiert
wurde. Das entspricht einer Sortierung von Ú ï Ú ñóòÜï nach aufsteigenden Winkel-Werten
zu ÚÜÛ .
8
Die Effizienzanalyse des GrahamScan’s beginnt mit dem Sortierverfahren. Es ist ja allgemein bekannt, dass eine Sortierung, die nur auf Schlüsselvergleichen beruht, mindestens
erfordert. Wir nehmen an, dass das verwendete Verfahren auch im worst !Schritte
"#
case braucht.
Dass das danach verwendete Backtracking-Verfahren nur Schritte benötigt, ist schon
etwas schwerer einzusehen. Aber nach jedem Test der Hülle
auf Rechts-Knicke schreiten wir
entweder
voran
oder
wir
eliminieren
einen
Punkt.
Da
es
nur
Punkte gibt, kann man höchstens
Vorwärtsschritte durchführen, aber auch höchstens Punkte
# eliminieren und daher höchstens
-mal zurückgehen. Somit benötigt der Durchlauf nur "%$ '&
Schritte.
!(
Insgesamt werden damit also Schritte im schlechtesten
Fall benötigt.
3.4 GrahamScan (improved)
Dieser Abschnitt sollte als Ergänzung zum vorherigen verstanden werden, da es den GrahamScan um eine nützliche Methode erweitert: Der Eliminierung von unnötigen Punkten. Diese
Idee wurde schon beim QuickHull-Verfahren (siehe Abschnitt 3.2) verwendet, wo zu Beginn
des Algorithmus’ sehr viele Punkte mit einem Schlag eliminiert wurden.
PQ
./
JK
,-
:;
RS
<=
45
HI
)*)+
NO
89
67
LM
01
z{
>?
@A
BC
FG
DE
XY
fg
^_
Abbildung 7: Bestimmung des Vierecks
rs
VW
de
|}
23
tu
U*T UT
xy
bc
`a
vw
Z[
hi
jk
lm
pq
no
\]
Abbildung 8: Anpassen des Rechtecks
Der Ansatz ist, ein sehr schnelles Berechnungsverfahren zu entwickeln, um eine unnötige
Sortierung und spätere Betrachtung von Punkten zu verhindern. Die Realisierung (siehe Abb.
7) erfolgt durch die Ermittlung eines rechteck-ähnlichen Polygons aus einer Menge von Punkten. In dieses Viereck wird nun ein Rechteck gesetzt (siehe Abb. 8). Der Gewinn aus diesem
zweiten Schritt besteht in der vereinfachten Eliminierung der Punkte.
Auf eine Darstellung eines Pseudocodes wird hier verzichtet. Statt dessen bleibt anzumer
ken, dass diese Vorberechnung Schritte erfordert und laut stochastischer Geometrie ~
Punkte im Mittel bei einer rein zufälligen Verteilung übrig bleiben. Die nachfolgende Berechnug des GrahamScan’s kann nun sehr viel schneller ablaufen, besonders bei der geschwindigkeitsbestimmenden Sortierung.
3.5 Divide&Conquer-Verfahren
Das letzte Verfahren, das hier für das Problem der konvexen Hülle in einer Ebene (2D) vorgestellt wird, wurde nach der Methode benannt, die es verwendet: Divide&Conquer. Zum ersten
Mal fand eine Anwendung dieses Algorithmus’ auf konvexe Hüllen 1977 nach den Vorschlägen von Preparata und Hong statt. Die Methode „Divide&Conquer“ wurde schon in dem Algorithmus von QuickHull (siehe Abschnitt 3.2) verwendet. Dort wurde von maximalen Dreiecken
9
ausgegangen, die sich zum Rand immer weiter verfeinern; hier wird dieses Prinzip umgekehrt:
Man teilt die Menge von Punkten so weit, bis nur noch Basishüllen (ein, zwei oder drei Punkte)
vorhanden sind, diese werden dann wieder zu einer großen Hülle verschmolzen.
Ein solcher Algorithmus kann folgendermaßen über die Punktmenge  formuliert werden:
1
2
3
Algorithmus Divide&Conquer
Sortiere alle Punkte €‚ nach ihrer ƒ -Koordinate
Divide&Conquer „ †…
Mit der Funktion:
4
5
6
7
8
9
10
11
12
13
function Divide&Conquer „ˆ‡‰… {
if ( Š ‡‹Š*ŒŽ ) {
return ‡
}
}
‘“’•”—–—˜—˜—˜™–ˆ’š› œ
’Ÿž€ ‡
¡¢£’%¤ › œ¥ –—˜—˜—˜–ˆ’Ÿ¦
’ ž €‡
§¨ Divide&Conquer „!…
©‘ Divide&Conquer „ˆ¡ª…
return merge «§¢¬­©‹®
Die Sortierung (Zeile 2), die übrigens zur einmal ausgeführt werden muss, garantiert, dass
bei der Trennung der Menge von Punkten (Zeile 8 und 9) ¯ und ° entsprechend einer vertikalen Linie getrennt werden, wobei wir annehmen, dass alle Punkte paarweise verschieden in
ihrer ± -Koordinate sind. Das vereinfacht den merge-Schritt (Zeile 13) erheblich, bei dem in
diesem Algorithmus die Hauptarbeit liegt.
4
5
3
6
4
2
B
3
7
5
A
2
1
8
1
6
0
9
10
0
Abbildung 9: Auffinden der untersten Tangente
Die meisten naiven Algorithmen, die zwei konvexe Hüllen zu einer verbinden, werden
wahrscheinlich mindestens ²´³ µ#¶™· Schritte benötigen. Dass es auch schneller geht, haben Preparata und Hong gezeigt; ihr Vorschlag braucht nur ²´³µ#· Schritte. Zur Beschreibung dieser
Idee (siehe Abb. 9) legen wir fest, dass ¸ und ¹ Indizes der Punkte von den Hüllen º und
»
sein sollen, beginnend mit ¼ und sich die Nummerierung gegen den Uhrzeigersinn um die
Ecken (Punkte) der Hüllen fortsetzt. Somit kann ¸¾½À¿ oder ¸‰Á¿ als der nächste oder der vorherige Punkt von ¸ aus auf der Hülle interpretiert werden. Das Ziel dieses merge-Algorithmus’
10
ist es, zwei Tangenten für beide Hüllen zu finden; eine nähert sich von oben, die andere von
unten an beiden Hülle an. Im weiteren Verlauf werden wir nur den Algorithmus für das Auffinden der unteren Tangente beschreiben, das Verfahren für die Findung der oberen Tangente
(in der Abbildung gestrichelt) verläuft analog.
Die Idee von Preparata und Hong zur Berechnung der unteren Tangente à sieht nun vor,
dass von der Hülle Ä der Punkt mit der größten Å -Koordinate und von der Hülle Æ der Punkt
mit der kleinsten Å -Koordinate genommen wird, um diese zu einer (vorläufigen) Tangente zu
verbinden: Ã£Ç ÈÊÉ . In der Abbildung sind das die Punkte ÈÌË und É™Í . Nun wird jede Seite der
Hülle abwechselnd so lange nach unten abgeschritten, bis jeweils beim gegenüberliegenden
Punkt die Tangente unterhalb seiner beiden Nachbarpunkte liegt. Mathematisch kann man die
Bedingung für eine Wechsel der Angelpunkte so ausdrücken, wenn man à als eine Gerade
auffasst:
ÃÏÎɗÐÑÓÒÔÕÅ×־ؑÉÙÐ!ÑÓÒÔÕÚ Û ÃÏÎÜÉÙÐÞÝ×ÒÔÕÚßÖàØáɗÐâÝ×ÒÔãÚ
Hier wurde È als Angelpunkt verwendet. Ã ist nun von È aus gesehen die untere Tangente von
Æ . Für É als Angelpunkt gilt natürlich das entsprechende.
In unserem Beispiel (Abb. 9) fangen wir, wie oben schon erwähnt, mit ÃäÇ ÈßËÙÉ™Í an und
nehmen ÈÊË (blau markiert) als Angelpunkt für die Betrachtung der gegenüberliegenden Punkte
von der Hülle Æ . Nun verhält es sich aber so, dass nicht beide Nachbarpunkte von ÉÍ gleichzeitig über à liegen, darum wird É inkrementiert. Der gleiche Umstand ist auch bei Éæå bis ɗç
gegeben, bis zum Punkt əè , wo à nun die untere Tangente von Æ ist. Es wird nun gewechselt: əè wird als neuer Angelpunkt genommen und È wird bis zur Erfüllung der Bedingung
dekrementiert. Das Ende und damit das Erreichen der unteren Tangente ist gegeben, wenn die
Bedingung für beide Indizes È und É gleichzeitig erfüllt ist.
Der folgende Pseudocode findet die untere Tangente:
1
2
3
4
5
6
7
8
9
Algorithmus Finde unter Tangente
éê£ë Ð mit ë Ðíìî ï ë Ððòñó¨ôõöÌ÷î'ø
ùê£ë Ð mit ë Ð#ì‚ú ï ë Ðûðòñ­ó¨ôüþýÌ÷úÿø
while ( ó éù nicht untere Tangente zu î und
while ( nicht untere Tangente zu î )
ú
) {
é ê é
while ( nicht untere Tangente zu ú )
}
ùªê ù
In Zeile 6 und 8 wird beachtet, dass die Indizierung beider Hüllen gegen den Uhrzeigersinn
läuft, aber die Tangente trotzdem Richtung Boden gehen muss.
Wir gehen hier davon aus, dass alle Schleifen, die bei der Findung der unteren und oberen
Tangenten verwendet werden, terminieren4 . Dessen Effizienz liegt innerhalb von Î
Ö , da zum
einen immer nur der nächste Punkt betrachtet wird und somit kein Rückschritt stattfindet und
zum anderen, weil die Anzahl der Schleifendurchläufe nur durch die Anzahl der Punkte aus
Ä und Æ begrenzt ist. Somit ist der merge-Schritt linear, was uns insgesamt – wie bei dem
GrahamScan – auf Grund der notwendigen Vorsortierung auf eine Effizienz von ´Î#Ö
führt.
4
Den Beweis zur Terminierung kann man in [JRou, S.105f] nachlesen
11
4
Ein Ausflug in die 3D-Welt
Wie schon eingangs erwähnt, findet die Berechnung der konvexen Hülle vor allem Anwendung
in der 3D-Computergrafik. Hier soll dazu ein kleiner Überblick gewährt werden, nach welchen
Verfahren dieses Problem gelöst werden kann. Auf eine genauere Beschreibung (Pseudocode)
wird allerdings verzichtet, da eine Implementation sehr schwierig ist und ein ganze Bücher
füllen kann.
Abbildung 10: Punktmenge im 3D-Raum
Lange Zeit war die Berechnung der konvexen Hülle im 3D-Raum (siehe Abb. 10) dem
Gift Wrapping, der schon in Abschnitt 3.1 besprochen wurde, vorbehalten, da er sich problemlos auch auf höhere Dimensionen erweitern lässt. Die Darstellung entspricht der vorherigen:
Zunächst wird aus einer Menge von Punkten das Pivotelement mit !#"$&%
gesucht (siehe Abb. 11) und an ihm eine waagerechte Ebene angelagert. Diese Ebene wird nun
mit als Angelpunkt so lange in eine Richtung geschwenkt, bis sie auf einen neuen Punkt
trifft, wie in Abb. 12 gezeigt.
Abbildung 11: Ebene an Punkt mit ')(+*-,
Abbildung 12: Finde nächsten Punkt
Abbildung 13 zeigt den nächsten Schritt: Die Ebene wird an den beiden bisher ermittelten
Punkten geknickt und beide Hälften jeweils so lange nach oben gedreht, bis ein neuer Punkt
gefunden wurde. Man kann dies mit dem Zuklappen eines Buches vergleichen. Dieses Verfahren wird so lange fortgesetzt, bis die Punktmenge eingewickelt ist (siehe Abb. 14).
Das Problem ist die zurweilen sehr schlechte Effizienz von .0/
,132 . Es liegt also nahe, andere – bessere – Algorithmen zu verwenden. QuickHull lässt sich zwar auch auf höhere Dimensionen anwenden, hat aber auch im schlechtesten Fall wie das Gift Wrapping eine Effizienz von
12
Abbildung 13: Knicke Ebene an den bisher gefundenen Punkten
Abbildung 14: Eingewickeltes Paket
45687:9 . Der GrahamScan besitzt diese schlechte Eigenschaft nicht, er läßt sich aber auch nicht
auf höhere Dimensionen anwenden, da seine Vorsortierung auf die Berechnung von Polarkoordinaten beruht. Den einzigen Ausweg scheint das Divide&Conquer-Verfahren zu bieten: Es
45
6;=<>?6@9 und ist auch auf die dritte Dimension anwendbar.
hat eine Effizienz von
Abbildung 15: Zwei konvexe Hüllen (Würfel) Abbildung 16: nach der Anwendung des
Divide&Conquer-Verfahrens
Die grobe Beschreibung des Verfahrens entspricht genau dem der Methode in der zweiten
Dimension: Zunächst werden die Punkte aus der Punktmenge A nach ihrer B -Koordinate sortiert, dann wird A in zwei Mengen C und D aufgeteilt und es werden rekursiv die konvexen
5 9 und EGF 5 D 9 berechnet. Schliesslich werden diese Hüllen wieder zusammenHüllen EGF C
gesetzt (merge). Die Hauptarbeit liegt wieder bei dem merge-Schritt. Besonders in der dritten
Dimension ist dies schwierig zum implementieren, darum wird hier darauf verzichtet und auf
[JRou] verwiesen.
13
5
Fazit
Alle vorgestellten Algorithmen dienen nur einem Zweck: Zur Berechnung der konvexen Hülle.
Die Frage ist nur, welche von diesen vier grundlegenden Algorithmen nun der bessere ist?
Und vor allem: Kann es noch einen Algorithmus geben, der diese „magische“ Grenze von
HJI
KL=MNOK@P durchbricht?
Fangen wir mit der zweiten Frage, der Komplexitätsanalyse, an. Vielleicht wird der aufmerksame Leser schon bemerkt haben, dass man bei den Algorithmen um eine Sortierung
nicht herumkommt: Das Gift Wrapping ähnelt sehr dem SelectionSort, wo sukzessive jeweils
der beste Punkt aus dem Rest herausgesucht wird, und QuickHull, dessen Name nicht unbegründet dem von QuickSort sehr ähnelt. Im GrahamScan und Divide&Conquer-Verfahren wird
ja explizit eine Sortierung vorgeschlagen. Es erscheint darum nicht ungewöhnlich, dass man
das Problem der Sortierung auf das der konvexen Hülle transfertiert, zumal die Komplexität
der Sortierung ja hinreichend bekannt ist.
nun jede Zahl QZ durch QZJ[
Q@RTSVUWUWUVSXQY Zahlen, die sortiert werden sollen.
I QZ\SXSeien
I P0` Bilde
Punkt auf der Normalparabel _ Q
ab. Somit ergibt sich die PunktQ^Z] P als`ceinen
Q
]
bdI Q^ZeSfQ^] Phgjilknm0knKpo . Nun gilt es zu beachten, dass jede (Normal-)Parabel
menge a
Z
I P
auch gleichzeitig eine konvexe Hülle ist, alle Punkte befinden sich somit auf q8r a . Wird
nun derjenige Punkt mit der kleinsten Q -Koordinate bestimmt und werden dann von ihm aus
gegen den Uhrzeigersinn auf der Parabel alle Punkte aufgenommen, d.h. wird die konvexe
Hülle berechnet, kann die Folge QRTSVUWUWUVSXQY als sortiert betrachtet werden. Auf Grund dieses
HJI
KL=MNOK@P
Zusammenhangs braucht die Berechnung einer konvexen Hülle immer mindestens
s
Schritte.
Aus dieser Darstellung folgt, dass der GrahamScan und das Divide&Conquer-Verfahren
für das Problem optimale Effizenzen an den Tag legen, bei QuickHull ist es zumindest möglich. Aber welches ist nun der beste Algorithmus? Eindeutig lässt sich das (wie immer) nicht
sagen, es kommt eher auf eine mögliche Punkteverteilung an. Fangen wir mit dem Problem
der konvexen Hülle in 2D an: Wenn die Wahrscheinlichkeit groß ist, dass alle Punkte schon
auf einer konvexen Hülle liegen, eignet sich wohl am besten der GrahamScan ohne eine vorherige Eliminierung der Punkte. Auch das Divide&Conquer-Verfahren ist hier ein guter Kandidat. Für den anderen Fall, die Punkte sind hauptsächlich um einen Punkt gelagert, eignet
sich auch Quickhull sehr gut, da es sich empirisch gezeigt hat, dass dieses Verfahren im Mittel
schneller ist als der GrahamScan, bzw. das Divide&Conquer-Verfahren. Wahrscheinlich wiegt
dann allerdings eine Vorberechnung zur Eliminierung von Punkten bei dem GrahamScan und
dem Divide&Conquer-Verfahren (die Eliminierung wurde nicht nur für den GrahamScan entwickelt!) wieder einiges auf; näheres müsste mit dem jeweiligen Problem getestet werden.
Im dreidimensionalen Bereich gibt es eigentlich nur ein Standartverfahren, dass mit einer
akteptablen Geschwindigkeit läuft: Das Divide&Conquer-Verfahren. Zumindest würde dieser
Algorithmus von den hier dargestellten Algorithmen verwendet werden, es sei aber erwähnt,
dass es auch andere Verfahren für die Lösung des Problems in 3D gibt, welche sich zum Teil
auch etwas leichter implementieren lassen.
14
Literatur
[RSed]
Robert Sedgewick: Algorithmen
Addison-Wesley Verlag, 2002
[JRou]
Joseph O‘Rourke: Computational Geometry in C
Cambridge University Press, 1994
[MBrg] Mark de Berg: Computational Geometry
Springer Verlag, 1998
[IMue]
Algorithmische Geometrie,
WWU Münster, WS 2001/02
http://wwwmath.uni-muenster.de/u/chr/Geometrie/Folien/Kapitel03.pdf
15
tvu?wexzy{u?|~}€|‚ƒ‚~}8„†…{‡l}}ˆj‰‹ŠŒ\|~}‰Žw\y‘u‘„‹Œe’d“”•~–
—˜š™š›fœVžŸ¡ \¢d£X£fœ¥¤
—~¦§£¨©›Xªœ¥«= ¨¦§˜š¬«­®z©¯š­ œV˜°™šœ¥£±²œV­ «˜©›X£³X—´¬µ›X«= f¯š­v«=£f¶3¯šœ·Jœ¥µ­vœT ¨›X«œV¸
¹ ˜š«=º©œV›X£f«= $» ¼½«œ¥´œT¾œV´™¿±²µ­v­ œV›X£fœ¥­vœ¥£X ¨œ¥›zÀ©ÁÁÂ
À©Ã§Ä±dœVŧ fœV­ª#œV›À©Á©ÁÂ
Æ
Ç ÈÊÉÌËÍÌÎÏÉÑÐÒËÓ
šÔ ÕTÖØ×WÙTÕ¥ÚÜÛÏÝÜÚ$Þ~ԚեÖß×WÙ¥ÕTÚÜàÝÜá ÙTÛãâ
äÜåØÛÌÖØÛÌÚåØÚޏÛÌæ@çèڏéêÕ¥æ-ëjì:í-åØîðïTÕ¥æGìTÖßÖØÛÌë†ñ$ÛXå²ÞÛXæpòÕTë&äÜݏó
í-ÛXæ-Ù¥æeì:ô¡î‘Ý¡Ú¡ÞðåØځޏÛXæ8õÕTñ©Õ:í-åØî&ÛÌåØÚÜÛpõÕTÖØÖßÛ¥ö¥çèëø÷¡ÕTÖØÙTÛÌÚ$ޏÛÌÚðù@åØæÑÞjÛÌæeÖìTá ݏí-ÛXæ
ífúTùGìTâ8ԚÕTÖØ×Vó
ÙTÕ¥ÚÜÛ¨û:ԚÕTÖØ×WÙTÕTÚ¡àWÝÜá ٥ہÝÜá ñ$ÛXæ-ü$ì:ÝÜäíOâ-åßÚ$ÞýÝÜÚ$ÞýÛfâùÛXæeޏÛXÚýÛXåßÚÜåØÙTÛjâ-ä$ÛXàÌåØÛÌÖØÖßÛjԚեÖß×WÙTÕ¥ÚÜàÝ¡á ÙTÛ
ïTÕ¥æ-Ù¥ÛXâ
í-ÛXÖßÖßíXö
þpÛÌæãÿùÛXÛÌäó åØÚÜÛ ó ÖØÙTÕ¥æ-åßí-ü¡ë‘Ý¡ââ
í-ÛXÖßÖßípÛXåß
Ú ÛÌæ-é ì:üÜæeÛÌ
Ú ÝÜÚVí-ÛÌæãì:Ú¡ÞÜÛÌæeÛÌë @àXÝÜæã
ÿ Ñü¡ÚÜå í-í
ó
äÜÝÜÚ¡î¥íÑâ
ñ©ÛXâ
í-åØë&ë‘ÝÜÚ¡Ù?ïTÕTÚjÿVíeæ-Û ÑîTÛÌÚ&ÞÜìTæXú:â-Õ?ÞÜìTâeâšÛÌæ^ìTÝ Ñüjì:ݏé‹ÔšÕTÖØ×WÙTÕTÚ¡à ÝÜá Ù¥Ûì:Ú¡ÙTÛÌù8ÛÌÚÜó
ޏÛÌí8ù8ÛÌæÑޏÛÌځî3ì:ÚÜÚ öÜÿWÕ½Ö ì á :í@â-å ÑüðàXÝÜ
ë 8ÛÌå â-äÜåßÛXÖñ$ÛXæ-Û ÑüÜÚÜÛÌÚ²úVù8ÛÌÖ ÑüÜÛãԚÕTÖØ×VÙ¥ÕTÚÜà ÝÜá ÙTÛâ-å Ñü
ÝÜá ñ©ÛÌæeÖØìTÙTÛXæ-Ú ö
^ÒËJÍ?ӑÎÏË
þpåßÛåØë ÷¡ÕTÖØÙTÛXڡޏÛÌÚ&ï¥ÕTæeÙTÛXâ
í-ÛXÖßÖßí-ÛXڽԚեÖß×WÙ¥ÕTÚÜàÝÜá ÙTÛ8ñ$ÛfâíeÛÌüÜÛXÚðì:Ý¡â^ÿWí-æeÛÑîTÛXÚ öTþãì:ñ©ÛÌå$åØâ
í^ÛXâ
ù@åÑü¥íeåßÙ$ú¥àXù@åØâ ÑüÜÛXÚ ãÛÌæÑìTÞÜÛÌÚzݡڡށÿVíeæ-Û ÑîTÛXÚðàÌÝ~ÝÜÚVí-ÛXæeâ ÑüÜÛÌå ޏÛXÚ ö #åßÚ¡!Û ãÛXæeì¥ÞÛ å â
í8ÛXåßÚÜÛ
" Ý¡ÚÜÛÌÚ¡ÞÜÖßå ÑüÖ ì:Ú¡ÙT#
Û åØÚÜåØÛ $Üö
^åØÚÜÛÿVíeæ-
Û ÑîTÛ üÜåØÚÜÙTÛXÙTÛÌڟå âíÛÌåØ%
Ú Ý¡âeâ ÑüÜÚÜåßí
íýì:Ý$ââ
Õ¥Ö ÑüŸÛÌåØÚÜÛÌ
æ ãÛXæeì¥ÞÛÌÚ²öpÿWåØÛ ù@åØæÑÞ
ïTÕ¥Ú{ÛXåßÚ¡ÛÌ&
ë ڏé ìTÚÜÙ¥â
ó^ÝÜÚ¡Þ~ÛÌåØÚÜÛX
ë ^Ú¡ÞÜäÜÝÜÚÜîVí ñ©ÛÌÙ¥æ-ÛXÚÜà ífö¥ÿWÕTÖ ì:Ú¡ÙTÛGîTÛXåßÚÜÛõå ÑüVí-Ý¡ÚÜÙ?ޏÛÌæ
ÿVíeæ-Û ÑîTÛðéêÛfâíeÙTÛXÖßÛXÙ:í{ù8ÕTæÑޏÛXÚåØâ
íXúî‹Õ¥á ÚÜÚÜÛÌÚvñ$ÛXåØÞÜÛ~Ô#ÝÜÚÜîVí-Û Úé ìTÚÜÙ¥â
ó?ñÜàÌù?'ö #ڡޏäÜÝÜÚ¡î¥í
â-ÛÌåØÚ ö
(
)
*,+.-0/213+54628 7
<>=@?
139
4:;*,+.-0/213+549
8
ACBED!FHGJI
G@KLFMLKLFONKLPQSRTKUFWVSY X RLBZF
[]\_^` ab\_ced
g f a_h
i@jckhjceh#lWchjcmckehnnohjqp g ceasrb\_ctuh^qjhtejasrvjqh^qhcxwvyonhz|{_hc}~ g ck
}>€_L‚ƒ\_t„hjT…Jh‚ƒhj^i†k
hn2‡Lck
ˆ g ce{ y2hjcehnw yonhz|{bhxk
hn2lHc
‰Šmcabi@‹.ted‚#ŒL‡Tckeˆ g ce{ y
hjcehnWm_ck
hnhcxw ynohz|{_h#i@hjqc gŽ Œ
bhcum_z|p‘’jqyohn|m“y g nS‚ƒhn|k
hci@jh#m g z|pm^iWw ynohz|{_hcdvg f abh t„hdhjz|peceh0yŒ
”hnT[]\_^`va_\bced g ak
hnTm g i'k
hc•wvyonhz|{_hc.}H–}!—˜_}!—™}HšbŒŒqŒ_}›vœE—0}H›.tuhiJyhp yT‚Sjnk5kemcc
m^iS[]\_^`va_\bced g a5}W–}—}Hš }›vœE—}H›†tuhdhjz|pech0yŒužUhjioˆejh^Ÿ‰ g f nHhjcehcx[]\_^`va_\bced g au ¡!¢¢£¥¤_¦¨§S©ª¨«¬ ©“­v®¯_¬
°>±³²
´¶µZ·b¸
¹'ºH»S¸
µZ¼o½Jµ¾µZ¼@ºHµZ·À¿ÁL½ÂSÃTÁUºWĒÅWÃLµZ·
ÆbÇÈ
ÇɃÊ]ËbÌqÍvÎ_ËbÏeÐÑÎÓÒԓÕWÖ.×TÏÈ
ØÑeÏeÙ ÕoÇ Ú
È
ÛqÇÜ>Ü@ÛÏȆÎ_ÇÉ|Ô_ÈeÇÈ
ÛdžÝ@ÞßÉoÇÛqÇÏà5ÊTÑeÏeÙ ÕÇ_Ú ÛqÏÈ
Ç0á
ÏeÇÏÀÏ ÑÉÓÇÛÏeÇ2â ÕÉoÇã|Ù_ÇÔÏÙ_Ë_äsä3Õå’æäèçWÌÌqÎbÇäsÇÛÏeÇÏÜoÛÏÈÀÈeÔ_Ü3ÊTÑeÏeÙ ÕÇéWêÑeÏuÈÀéHëEÚ
ÔÌÜoË5È
ÇÉSÙvÌqÇÛqÏÜ@ÕoÇ#ÑÏÈÎ_ɘË_
ì íÕÇæÏuÈ
Ç0îEå
ïÛqÇ3â ÕÉoÇã|Ù_ÇφéHðTÑeÏÈé>ñ#ÒeÇÛí_ÇÏâ
ÇÛqÕoÇÏ
ïÛqÇÓÊLÑeÏeÙ ÕoÇ#éHðTÒeÇÛí_ÇÏ×Uã|Ù_ÇÏ
Ë
È
ÇÉHâvÇÎbä5ÇÏ ÕoÇ
òeÐó#åu×Lã|ÙvØeÑeÏeÙ ÕÇ
ïÛqǕôLÔ_
ì ÏeÎ_Ç!ÇÛqÏeÇÜSÊ]Ë_ÌÍvÎ_Ë_ÏÐÑeÎbÇÜ
È
ÇÜSÊ]Ë_ÌÍ ÎbË_ÏeÐÑeÎ_ÇÜå
ÈeÇÜWÊ]ËbÌqÍvÎ_ËbÏeÐÑÎ_ÇÜå
ÛÜ@Õ#ÈeÇ0õÏeÛÇÉoÕ#ÔÌܐÈeÛqÇâvÑeäsäsÇÈ
ÇÉ!ôUÔ
ì ÏeÎbÇÏöÈ
ÇÉ!ÇÛÏ
á
ÐÇÌqÏÇÏxâ ÕoÉÇã|ÙbÇϒÚeÈ
ÛÇÓÈ
ÇÏÊ]ËbÌqÍvÎbË_ÏeÐÑeÎ3òeÛÌÈ
Çϒå
ÆbÇÈ
Ç×Lã|ÙbÇ2ÒÔÕ5ÇÛqÏeÇÏø÷!ÏeÛã|ÙvóSÛqÏÙ_ÇÌ åLâvÇÛÏùÇÉÜ@ÕoÇÉsâeã|ÒeÇÏeÙbÇÌ>ÛÜJՕÇÛÏeÇÈ
ÇÉsò„ÇÛÈ
ÇÏúÛÏ
È
Çäû×Lã|ÙvØeÑeÏeÙ Õ>ÇÏÈeÇÏÈ
ÇÏâvÕoÉÇã|Ù_ÇϒÚvÈ
ÇÉSÔÏuÈ
ÇÉǐÈeÛqÇ
ìÑ ò„ÇÉSÈ
ÛÇ!×Uã|Ù_ÇÒeÛqÏuÔÑÜoÎ_ÇÒeÇÏÈeÇ
e
ì ÏeÎbÇÉÑeÏeÎsÈ
ÇÉWÔ_ÏÈ
ÇÉÇÏxâ ÕÉoÇã|Ù_Ç_å
ü'ÇÉÌ Ô
°>±³°
ýþºU¸
µ’ÿ
¸
µZ¼o½@ÅHºHÃ
¼oº
Á
µZºWµ%ÅHº»OÃTµZ·½JÁL·v· µZºHµ,¿ÁL½JÂSÃTÁLºWÄÅH
ÃTµ
ìÑ ÎbÇÌÔ_ÜÜ@ÇÏÜoÛã|҆ÛÏ˟ÇÏeÇ!ÑeÏÈÎbÇÜã|ÒeÌqË ÜoÜoÇÏǐÊ]ËbÌqÍvÎ_ËbÏeÐ ìÑ Î_ÇHÇÛqÏ ÕÇÛÌqÇϒå
â ÕÉoÇã|Ù_ÇÏÐ e
UÇÛ
ÈeÇÏ3ÎbÇÜã|ÒeÌËbÜÜ@ÇÏeÇÏ2Ê]ËbÌqÍvÎbË_ÏeÐ
e
ìÑ Î_ÇÏ
ÜoÛÏÈÓçWÏeފÔÏeÎ ÜJáŸÑeÏÈ.×TÏÈ
ØÑeÏeÙ Õ ÎbÌqÇÛã|ҒÚóƒË_ò„ÇÛ
òuÇÌqÛÇòeÛÎ3ÛÜ@ÕÚ óUÇÌã|ÒeÇÉUÈ
ÇÉLò„ÇÛÈ
ÇÏÊTÑeÏÙbÕÇÔ_ÌÜUçWÏ
ފÔ_ÏeÎbÜ@á ÑeÏuȕóUÇÌã|ÒÇÉUÔ_ÌÜU×TÏÈeØeÑeÏeÙ Õ
òuÇÐÇÛã|ÒeÏeÇÕWóSÛqÉ|ÈEå
ïÛqÇÜ@Ç#Ê]Ë_ÌÍvÎ_ËbÏeÐ
e
ìÑ ÎbÇÜã|ÒeÌÛqÇí_ÇÏÔÌÜoË.ÇÛqÏeÇ Ì Ô_
ì ã|ÒeÇ!ÇÛqϒå
„ÇÏeÇÓÊ]Ë_ÌÍvÎ_Ë_ÏÐveìÑ ÎbÇ
ÒeÛÏeÎ_ÇÎ_ÇÏÒÔ_òuÇÏÙbÇÛÏeÇ!Î_ÌÇÛã|ÒeÇÏçWÏeފÔÏeÎ ÜJáTÑeÏuÈ×LÏÈ
ØeÑÏeÙ ÕoÇ_å
!#"%$#'&(*)+$-,/.0$#13254$6178)91:$-;18$-<=>148?87818.(9$#18$@14$-)*$A&(*)+$-,/.0$
B$#)78C D8)+$#13E
>1@&14$-)FG;H4$-)I&(*)+$-,/.0$#18C78$J4$K&(+)*$L,/.$K$-;B$#)L2M$K";)/4N-7@48$#1@OP$#18$-1
QRS018C780$#1T0$#(CD8;-E
U5VXW
Y[Z\^]`_a8\]3Za]cb9degfh>di_kjm l h]
n 7op$-;1$#<q$-$#B$#1$#1rQR0;S018#7s.t181r<s1r$#18$-1N)+;$-1(*$#)**$#19QRS018#78 $-)u
Dv+$#13214$#<w<K14$-1x&(+)*$L,/.$-132(754$#1$#1y$-)5o$L^+$#D(-2$#18${z,/D0+7818|-E }N1
B$##$-,/D18$~R$#18$#1K4$-)R14?8718.(*$ n 1FG180*?87818.(H4$-RQR0;S018#7$--2-48$#)H148$#)+$
^H4811J4$-)R14?8718.(-E€pF+78C )RR$-o$-L‚^$-4$-<ƒQRS1#780$#17I#"%$#}[0C ,/Du
.$-v+$#1328*KD€R‚^$L4$#)„QR0;S018-78I0$#17-"i$-M…$#)/+,/D8;$L4$#1$'†p)+;$-1(*$#)+7818$-13E
‡k<q4$-1NQRS(018-78K48181-7o$-18$#118$#132o„<s1N48$#1 n 18FG18(?8718.(p$#)/*$-
781448$#1N>1o4?87818.(pk;$#*~+$-p13EB„$)+$-*,/D8$-1Q>7818.(+$"i$-)+48$#19;1N48$#)„z$-;D$#1u
FX${D8)+$#)p†p)+;$-10+;$-)*718|18$-o$-13E
ˆ%$#H0$-+,/D8;(**$#1$#1rQR0;S018C7$#1I4;$K‰AD8>48$- n 18FG18(?8718.(*$-{B$#$#82348
178)4${zk$#D8$#1FX0;0$'4$#)Q>718.(*${$#18$'z${*?8$#;-2848|1o4$#)+$ n 1FG180*?87818.(+$Š178)
#S.+,/D8$s‹H$#)/+,/D8;$-878180$#1A;$#FX$#)+13E`p$#)I14?8718.(I$#)+J*,/DŒ48181Œ10,/DA$-*$~u
718s4$#)p†p)+;$-1(*$#)+7818|781494$- n 1FG10*?87818.(*$L#E
ˆ%$#)+$#1(*$#)**$-1QRS(018 78C $-1'8$#o$-1J4$%ˆ%$L^/14+$#;$%$#,/D32L178)H4;$5Ž{18,/.";1u
.$-M"i$-)+48$#148B$##79)+;$-1(*$#)**$#19Ž{18,/.";18.0$#13E8p$#)k$-;18-;0$'‡k1(*$-)++,/D8$-4x#74$-1
18,/D(u)+;$-10+;$-)+$#1KŽ{18,/.("18.0$#1s-2(48+4$„z$-;D$#1FX0;0$„4$#)5&,/D8$-18.$-8FX$-*0$#$#
^LE0p$#)%$#)/^+$p&,/D8$-18.$-8%48;$p‹H$#)+‘C 18$-)*781{48$#)%&*)+$-,/.$0204$k1y4$-*$#<’,/.?8718.(
$#1o4$~L24$#)-"i$-v+$&,/D8$#1.$#M„4;$I&*)+$-,/.$024;$'14$#<“Q>781.0kB$#0;110LE
U5V•”
– m„—0˜{m h™j m Z:š›ZœŠžk]_ia8žk]d>Z\^]
ŠJQR0;S018C7$B$#)+$#;+5,/.0$#1TDo$-1328)/7,/D(i<s1y178)54;$'&$-v+$#194$-5QRS01u
#7$-k;1rŽ'1(*$#1978<K-78o$-18$#118$#132P781o4<s1$#)+DC v„$-;1$#1rŸŠ)/?8D8$-13EoŠ<K;p+$-1
*,/D94811x14$#)+$ n 7FX(B$#1*$-;78180$#190C *$#13E
¡
ªk«¬
¢¤£J¥~¦y§I£|¨9©
­¯®M°{±„²^³²´±k®`±wµi´±“¶x´i·g¸¹>´±„®±
º »¼½(¾0»¿8À Á¿þ0À-Á+Ä/Å8¼»0Á+ÁÀ-¿8ÀºR»¼½¾»0¿8ÆÈ Ç ¾0ÀÉ#Ã8Â;ÀÊ È Á*Á*À#ˁÃÀ#¿|Ì»0Ë*¾0À-Á+Ä/Å8Ë*ÂÀ#ÍBÀ#¿À#¿'ΏË+À~ÏBÐ
R
Ñ8È ¿8Ò(Ó*À-¿9ÒÀ#¿8À{¾À-ÔKÀ#¿Á*ÊÔKÀ#¿9º È ¿8Ò(Ó+À'ÍoÀLÁÂ;Ó*Æ-À#¿3Õ
ÖpÂ;Àp×Ó*Ë+À-Ä/ÒÀ-¿sÁ*Ä/Å8¿À#ÂÃÀ#¿TÁ*ÂÄ/ÅTʼÁ*»'¿8ÂÄ/Å(Ó-É0Á*»¿oÃÀ#Ë+¿|Ó*Ë+À~ÏPÀ#¿TÁ*ÂÄ/Ås¿ È ËiÂ;¿TÃÀ-¿TØÄ/Ò Ñ8È ¿Ò0Ð
Ó*À-¿yÃÀLÁºR»¼½¾»0¿8Æ È ¾0À-Á-ÕÙÀ„¿ÊÄ/ÅTڏÂvÓ+À#Ë/Ê€Ó È ËÛ%À#Ë/ÃÀ#¿TÃÂÀpºR»0¼;½¾0»¿8ÀkÊ È Ä/ÅTʼÁ>ÜpÂ;À-¼;ÀLÄ/ÒÀÉ
¿ÐgØÄ/Ò0Àp»ÃÀ-ËkÝkÊ¿ÃÀ#¿8ÀLÁ܄ÂÀ#¼À-Ä/ÒÁ5ÍBÀ#Æ#À-ÂÄ/Å¿8À~ÓLÕÞ%À#Â Ñ Â;À-¼;ÀŠß/È Ç ËpºR»¼½(¾0»¿8À0à
á{â-âLãä(åækç€èêé#ë(ç€ìPí
ªk«•î
ïA®ð0³ñH±„ò³®²*·^®¤ó„±„òqô²¹>®±„ðõoökñR÷+³®`±“µ´±“¶9´·g¸¹>´±„®±
ºR»¼½¾»0¿8À5ÅÊÍBÀ#¿yØiÄ/ÒÀ-¿ È ¿Ãy×À-ÂvÓ+À#¿ Õ(֊ÊIÁ*ÂÄ/ÅTÃ8À#Ë5ÝkÊ¿ÃyʼÁ>¾ÀLÁ*Ä/ż;»(Á*Á*À#¿8À-˺R»¼½¾»0¿Ð
Æ È 6
¾ ÍBÀ~Ó+Ë+Ê0Ä/Å0Ó+À#¿!¼‘Ê0Ç Á*ÁÓ-ÉÔ È Á+ÁKÃÂÀ9ø„¿8Æ-ÊÅ8¼ÃÀ#ËsØiÄ/ÒÀ#¿ È ¿Ã›×À#Â;Ó*À-¿!¾0¼;À-ÂÄ/ÅùÁÀ-Â;¿3ÕHÖpÀ#Ë
úʼ;¼‘ÉHÃ8ÊÁ|ÃÀ-Ë|û{¿8ÂÄ/ÒÛÂ;¿ÒÀ#¼%Æ#ÛÂÁ+Ä/Å8À#¿[Æ-ÛiÀ-Âk×À#Â;Ó*À-¿ü¾À-Ë+Ê0ÃÀNýLþÿyÍBÀ~Ó*ËtÊÇ ¾Ó-ɁÛÂ;Ë/Ã[ÂÔ
øk¼¼¾À#ÔKÀ-Â;¿8À-¿9Â;¾0¿8»Ë+Â;À-ËÓ È ¿Ã9ÃÂÀ{ÍoÀ-ÂÃ8À#¿r×À-ÂvÓ+À#¿9ÛiÀ-Ë+Ã8À#¿9ʼÁ5À#¿8À{ÍoÀ#Ó*Ë/ÊÄ/Å(Ó*À#Ó-Õ
ºR»¼½¾»0¿8ÀI¼Â;À-¾À-¿6¿8»0Ë*Ôsʼ;À-Ë*Û%À#ÂÁÀ|¿@À-Â;¿À#ËØ>ÍBÀ#¿ÀɏÁ*Â;ÀKÒM»Ç ¿¿8À#¿ŒÊÍBÀ#ËÊ È Ä/Å@ËLÊ Ç È ÔK¼;ÂÄ/Å
Á*À#¿3Õ
Ø>Ë+Û%À#Â;Ó*À#Ë*ÓMÔsÊ¿'ÃÂÀքÀ¿8Â;Ó*»¿ÃÀ-ˏºR»¼½¾»0¿8À`À#Ó^Û%Ê0Á#É ¼ÊÁ+Á*À#¿'ÁÂÄ/Å'Ê È Ä/ŊÌÀ-Ë+Á+Ä/Å8¼ È ¿8¾0À#¿8À{ºR»¼½¾»¿À
Æ È ÃÀ-¿KºR»0¼;½¾0»¿8À-¿Æ ÊÇ Å8¼;À-¿3Õ֊ÊÍBÀ#ÂÃ È Ç ËßXÀ-¿|Á*ÂÄ/ÅKÃÂÀk×(Ó*Ë+À-Ä/Ò0À#¿KÃÀ-ÁHºR»0¼;½¾»0¿8Æ È ¾À-Á`Ã8Ê¿¿
Ê È Ä/Å¿ʿÃÀ-Ë*À-¿º È ¿8Ò(Ó*À-¿9ʼÁÃ8À#¿N×Ä/Å8¿8Â;ÓÓ Ñ8È ¿8Ò(Ó+À#¿NÁ+Ä/Å8¿8À#ÂÃÀ-¿3Õ
Ù0ÀJ¿Ê0Ä/ÅÃÀ-Ô Ûi»ß+È Ç Ë{ÔsÊ¿AÃÂ;ÀTºR»0¼;½¾0»¿8ÀÍË+Ê È Ä/Å(Ó-ÉMҀʿ8¿@À-Á È ¿(Ó+À#ËkÔsÁÓLÊÇ ¿ÃÀ#¿ŒÊ È Ä/Å
Á*Â;¿8¿Ì0»¼¼3ÁÀ-Â;¿3ÉBÃÂÀú`¼ÊÇ Ä/ÅÀÃÂ;ÀJÃÀ#˄݄ʿÃ9À-Â;¿Á+Ä/Å8¼Â;ÀÓkÆ È ÍBÀ~Ó+Ë+Ê0Ä/Å(Ó*À#¿É È ¿ÃÃÂÀ-Á*À#¿NʼÁ
Ã8Ê0ÁºR»¼½(¾0»¿TÆ È ÍoÀ-Æ#À#ÂÄ/Å8¿8À-¿3Õ
ªk«
³®±
µ´±q¶9´·^¸¹>´±k®`±
PÈ Á*ÊÔKÔ|À-¿8ŏÊÇ ¿8¾À-¿ÃÀ'ºR»¼½¾»¿À
g¿Æ È Á+ÊÔKÔKÀ#¿8ŏÊÇ ¿8¾À-¿ÃÀ-¿NºR»¼½(¾0»¿8À-¿¼ÊÁ+Á*À#¿ÁÂÄ/Å^À#Û%À#¼Á„Æ#Û%À#º È ¿8Ò(Ó+ÀIÃ È Ë/Ä/Å
À-Â;¿À#¿ºR»¼½¾»¿Æ È ¾JÌÀ#Ë+Í8¿ÃÀ-¿3É8ÃÀ#ËÆ È Ô ºR»0¼;½¾0»¿y¾0À#ŏ»0Ç ËÓLÕ
 Ä/Å(Ó*Ð‘Æ È Á*ÊÔKÔ|À-¿8Å ÊÇ ¿8¾À-¿ÃÀ'ºR»¼½¾»¿À
ÂÄ/Å(Ó*Ð‘Æ È Á*ÊÔKÔ|À-¿8Å ÊÇ ¿8¾À-¿ÃÀHºR»¼½¾»¿ÀÍBÀ-ÁÓ*À-Å8À#¿'Ê È ÁMÔKÀ#Å8Ë+À#Ë+À#¿{Æ È Á*ÊÔKÔ|À-¿8Å ÊÇ ¿8¾À-¿Ð
Ã8À#¿ºR»¼½¾»¿À#¿3ÉÃÂÀ{ÒÀ#¿8À'¾0À#ÔKÀ#¿Á+ÊÔKÀ#¿9×(Ó*Ë+À-Ä/Ò0À#¿xÅÊÍBÀ#¿3Õ
À-Û»Ç Å8¿¼;ÂÄ/Å8À-ÁºR»0¼;½¾0»¿
„¿(Ó*À#ËsÀ-Â;¿À#Ô ¾0À#Û»0Ç Å8¿8¼ÂÄ/Å8À-¿!ºR»0¼;½¾»0¿[ÌÀ-Ë+ÁÓ*À-Å(Ó|ÔsÊ¿›À-Â;¿›ºR»¼½¾»¿É`ÍBÀ#„Ã8À#Ô
!#"%$&'$(*)+,-$.$0/-13245$768$!9$9:($;<$>=<)+?:A@B!$CD9?/-@BE#$!0$F21G/-HJI
HK$AM/DL 0.-$G&'$ONP@Q/-L 0$O$B>R'1A0&SAT9UH$A(:$(:$*$!02$@BA$=
V D/ A$WG$3.-BW'9U$X0E8Y$!A$O.$0/-1A$(:$OZUT9$([9:$B@!10A.\!3HK$A([]^/'I_WA24O=0$B']^/A21'I
:/DHKHK$A /-L A.-$0&'$a`[email protected]$*Ed4X!$*$B']^/A$O`[email protected]$=
)_BA$X/DG&'$(:$XZUT9$([9:$B@!1A0.a&A$(_`[email protected]$e%9fR-!$gB,E-A,d/ih$+1AG&J,E-8h-$j'$+`[email protected]$
$BA21'9$!@B$>= V !$ V $k0A!9BE-\] 1AL (5&'B$lW<$&'$#m5$.-(:n;o$U$(][email protected]_4XB$lB#&'$(+ql0/D@Bc'[_W<$
,-E8h-$rj'$sWA24O=0,-E-0,i/ih$St3$A.$>=
)_B`bE@!c8.-E%9_.$0/-1J&A/-AK,-E-8h$rj Rd45$0?"%$4+$!@b245$A$BA$(b`e1AA,T9$U&A1A(:$BA$
u $(/-&'$ah-$(W01A0&'$v45$(&'$S, E-L A0$>RA&'B$O,-EHKwA@!$9[9XBSBAHx@!B$.-9=
)_BS`bE@!c8.-E#%9X.$0/-1S&A/-AY,-EA,d/ih RA45$AS$UABT9X,-E8h-$rjs[9=
yUzpy
P!P^‘
{}|+~€P|ll‚?|Uƒ_P|„‚l|?†…‡Mˆ%‰8MŠA‹T‚l
Œ UŠ0M|llMŽ
’v“o”F•8“P–˜—P“˜™<•T“
V !$0!$(lh-E(.$[9$@!@!9$Y`bE@!c8.E-A2 1AL .-$*1A0&&A!$F`bE@!c8.E-A$a45$(&'$YBš&'$(?›œ']pE-(:H\/d9:!,
h-E(?/-@!@B$HBž&'$(OŸ+EHw01'9$(.(:/Dk0,S/-A.-$45/-0&89f= V /DW<$b4+$(:&A$šN˜@ /-L A$š&'1A(ž`bE-I
@BcT.E-A$a/Dw0wA(Eij'BHK!$([9f=
›œ3&'$(Utš/d90$H\/d9:!,v4+$(:&'$S/-Y689$@B@B$Oh-E-Y`[email protected]$vH$B[9l&'B$0E-S$(:4 /DL AT9$
u (/DwAA$vh$(:4+$0&'$9=
qU1GSBY&'$( u $E-.(:/-wAAB$?45$(&'$S`[email protected] .$i d`bE@!c8.E-A$gh-$(45$G&'$r9f=
P!P¡
¢£•8¤^¥•T¦d§—˜
¨ ©P¦i•8“˜–P•8ª
V ! $#`bE@!c8.E-A$WG$f0( /-L A,-$««/-1']X245$ V BH$0!EA$>=˜¬l/D9FH\/D­$BA$® E-L (:wG$(
&'$(Xh-E-SHK$A(:$(:$Y`[email protected]$sW<$.($A2r9X%9fR0E0$[9l&'B$$(X`bE-@Bc-$f&'$(f=
›œ\&'$(_tš/d90$H\/d9:!,J4+$(:&'$JHK!9+¬UB@!]p$Xh-E-K`[email protected]$< u (:/-wAA$¯?w'9BHK!$(10A.:/D1']°I
./-WG$v.$@ EL [9=
±
²
³µ´U¶¸·s¹º´U´l»#¼G½¾¿Y´5¼<ÀÂÁÃFÄJ¶_¾ÅbÆ3ÇÉÈYÊ
ËgÌ[Í
Î3Ï[Ð?Ñ%ÒMÏ%Ó'Ô?ÐUÕ
Ö5×Ø5Ù'×ÚÜÛ8Ý5××ÞAßQàMØ!áA×ßQâlã!äå-æ:Ønç:èAÚFéGêaè0ëDá0ÙA×ã!çJ×êJê[Øìè«éAÚ¸×ØBá­í7×æî^ëDèAæ:×á­ïéAæJÖ5×fëDæß
ð × Ø!çéAáAäSä-×å-ÚK×rç:æØê:ìèA×ælñ*ëdç:×á>òoÝXØB×J×fêlïéAڄÖ5×Øê[Þ0Ø!×ãPØBážÙ'×æOó+åÚKÞAé'ç×æ[ß%ô*æëdõ0öYëDá'ß
ä-×Ý+×á0Ù'×çgÝXØBæÙø÷
ñ?Ø!×sô*æ:éAá0Ù'ØÙ'××sÙ0ë ð ×Ø7Øê%çfòø×ØBáA×\ù ð ×áA×\Ù'éAæìè€×ØBáA×sô*×æë-Ù'×\ÙAë-æïé0ê%ç:×ãBã!×á>÷>Û8ØBá0Ù«Ù'Ø!×
ïé ð ×fëDæ ð ×Ønç:×á0Ù'×áú ð'û ×öTç×#ÚK×èAæ:ÙAØ!ÚK×áGê[ØBå-á0ë-ãòPæ×fÙ'éAïØ!×æ[çÚKë-áÙ'ØB×Sñ?ØBÚ×á0êØ!åá û ×rß
Ý5×ØBãBêXé0Úýüò0ê%çëdççaú ð'û ×öTç:×áÙ'×ælñlØBÚK×á0êØBå-áÙ ð ×rçæë-ìèTç:×rçUÚ\ëDá3ÙAë-áAážú ð'û ×öTç:×Ù'×æ
ñ?Ø!ÚK×áGê[ØBå-á3Ù8ßü-÷
ËgÌþ
ÿ
7Ô
+Ó
bÐ
éAæUÙ'×á3Û'Ý+××Þ'ߜà>ØBáA×rߜâUãBä-åæØ!çè0ÚFé0ê ð ×á å-çØBäDçUÚ\ëDáYÙ'ØB×aîpå-ãBä-×áGÙ'×á sú ð'û ×öTç×
ùeØ!á0×ñ?ëDç×áGê%ç:æéAöTç:éAæ Jò0ÙAØ!×Ù'×áYÛ8ç:ëdç:é0êUÙ'×fêlÛ8Ý5××Þ0êXÙAëDæê[ç×ãBã!ç÷
"$#&%$#(' )
*
ùeØ!á0×ñ?ëDç×áGê%ç:æéAöTç:éAæ Fò0ÙAØ!×ë-ãBê «ëDæç×fêìèAãëDá0ä-×?î éAæUÙ'ØB×ù -×áTç:êgÙ'ØB×áTç÷
!
ùeØ!á0×Fô*×æë-Ù'× vò0Ù'ØB×ëDé0ìè3Û8Ý5××ÞAßQàMØ!áA×aä×á0ë-áAáTçgÝXØBæÙø÷
$
+ œáOÙ'×æPñ?ëDç×áGê%ç:æéAöTç:éAæ êØ!áGÙOëDãBã!×_ù -×áTçêo×áTçè0ë-ãnç:×á>òÙ'Ø!×eØ!Ú í7×æ:ãBë-é'îp×_Ù'×æMâUé0ê[î éAèAæ:éAáAä
Ù'×fê*âlã!äå-æ:Ønç:èAÚFéGê[×fê?ë-é'î°çæ:×rç:×á>÷øñ?Ø!×fê[×ö å-áAáA×ážê:ìèAå-ážïé€Ö+×ä-ØBáAážë-ã!ãB× ð ×öië-áAáTçaê×ØBá>ò
å'Ù'×æXÝ5×æÙ'×á
èAØBáAïéAä-×î éAäDçfòAê[å ð ëDãÙvêØB×aë-é'î°çæ:×rç:×á>÷
ñ?Ø!×lù -×áçê7ê[ØBá0ÙKá0ëìè\Ù'×á lß aå8å-æÙ'ØBá0ëdç:×áKä-×å-æÙ'áA×çòdØBásÙ'Ø!×fê[×Ú GëDãBã0ØBásëDé'î^ê[ç×Ø!ä×á'ß
Ù'×æ X×ØBèA×áAîpå-ãBä-×-÷
,
/.
+
0
"$#&%$#&% 1
2
43 +*
+ $
5
6*
7 3
9:
8*
"$#&%$#7; !
6! BC - =<?> @> A.
ñ?Ø!×?Ø!á
× áTçè0ë-ãnç:×áA×*âUæç+Ù'×æ œá'îpåæÚ\ëdç:Ø!åáA×á\è ëDáAä-ç -åásÙ'×æ+ïé ð ×ë-æ ð ×Ø!ç×á0Ù'×ávâUé'î°ß
äë ð ×Oë ð ò û ×Ù'å'ìèYä-Ø ð çX×ê
eéAáAöTç×òAÙ'ØB×O×æî éAã!ã!çlê×ØBáSÚ é0ê:ê×á
ü÷gñ?ØB×OØ!á
8!
ä-×fê[Þ<×ØìèA×æ[ç:× œáAîpå-æ:ÚKëDçØBå-áSØBê[çXæ×ãBëDçØ sïé0æ båêØnç:Ø!åáSÙ'×ælô*×æë-Ù'× v÷
÷ £Ù0ëDæîPá8éAælë-áv×á0Ù'ãBØBìè 8Ø!×ã!×áYÛ8ç×ãBãB×á -×æ ë-á0Ù'×æçgÝ+×æ:Ù'×á>÷
0÷gù+êeêØ!áGÙ\ä-×áTé0ä œá'îpå-æ:Ú\ëdç:Ø!åáA×áK×áTç:è0ëDã!ç×á>òé0ÚºÙ0ë-ê5ú?æ:ØBä-ØBá0ëDãBÞAæ:å ð ãB×Ú
ð ×Ý+×äDç5êØìèsö-åáç:Ø!á8éAØB×æ:ãBØBìè å-á
ñ?Ø!×Oô*×æë-Ù'×
×ØBáA×Úxù ×áTçXëDé0ê
ë-á>òAÝXØBæ:Ù
-×æ ë-á0Ù'×æç÷
D
ð ØBê
ïésã åê×á>÷
÷ aåÚKÚç5êØB×?ÙAë ð ×Ø<ë-á
E FHG IKJLNMO6LPJQSRUVT W JLYXJ[Z\X:]^J_X` V Xa`JM,b:]KJ$J$OcedfLYXJgceZ\QPa+h W Ljik?l V Mnm
bokX?LjiUiqp+h+XrdfLYXLYJXMAJ$a:lsJ_X+itJX
{Nu6š€vx†7†ˆwv‹vxz5ynvx„tzB|7v›{Ntvx|n–—vx|7zz|ŒNv~ŒN}=œvxzzžw€Œ•v?v8ƒ„t‚tvx„t”|7v‹v~|ˆz…‡Ÿx†7†ˆvxv†7zz5v‹z=‰$|7tzvx|7vxw€zŠ2{Nvxv‹wzŠ4Œ•v€v‹ zAŒNvv‹zAŒN…€Ž †Œ‘A’“vx”•v‹–—zv˜Œ“™:v‹”•„tv‹z
$¡7¢¡(£ ¤,¥_¦¨§›©ª¬«¬­‹©t®S­‘¯‘°:©t± ²‘³€¥¬ª_´
µ vx”z…€|ˆ¶v6·z{N…‡ŒNŸ~vx|7zt¸(…–—5…€†ˆ†7v~u6v‹”•…„tvxzœ…€…€”Nv6…‡t¸t–—z|ˆŒYŒ•œzžAŒNvŸ‹BŒ•v‹{YŒNv‹z$‚ …‡Ž ŒYŒNv
vxÄ |7{fzv‹|&z{PŒ2·Š tš€Ž¸¹™w€†7…‡|&–—z$„,‚¬¶€„š…€z={4º4Å»(”•¼$š€½‹y¾¿†7vx‚ŠÆ„…4|ˆz\v‹{ÁÇ4À‡Â˜»¹½†7Ãnš€À wȊ z¾8š€Ž wŸ‹†ˆ|&–—† šŽ v{Nvxtz$–—‚Sz„t|ˆ|7ŒYv‹Œ•{Nœvx”2z·žAŒN†7w€v›šw€”N|7|ˆŒNytŒ‹Šf {4{N–—…‡ÉŒ
|7·Š4zŠ2Ÿ‹…‡v‹”N†$|7„tzÊvx”?Ç4»N–—»¹žzË?|ˆzŒYŒN¾~œ†7š€zw̞AŒNznv¾¿‚S|&{P™:Œ‘ šyv‹|+z„|ˆv5·zŸ‘…‡†„tvx”4‰$|7z|7vxz{NvxwŠ4v‹zAŒNvÁz„qžq„t|ˆv
$¡7¢¡&Í Î,ÏÐ¥¬ª_«¬Ñ(«¬ÒUÒÌ«_ÒU­4ÓÒAÏe¦/©°_ÏÐÒUª_­
µt–—|ˆvzÔPvx„t|&v‹„tv€vx‚z4…€{Yt|&¸S–—›„vxŸ‹”™:„tv‹|A|7v‹w{Nvxvxw”vx·ynvx†ˆwzš€v”•‰$|Œ•|7zŠ›|7vxz{{NvxynwvxŠ4”•v‹zAAŒNŒ‹v‚|7{YŒ‹‚z„„4vx”×~¸¹‚‡š€{N†7š?w€v‹™“zvx„t”—v›„tvxÕnzf{•„t…‡|ˆvŠ2ynŠ2vxvx|&„tzvxz4…‡z¶€w5šz Ö
vx{YŒN|7zvxv‹”fvxz¶vx{N”N|ˆv5ŒN|7žez…€…†ˆv‹–—zvx|7u6zvx…‡”—z…€„t„vxvÁ”fw€|ˆzv‹zvx…‡|7Øzvx|7”2z‰$|7|&{P”•Œ•vxv€ŠÙ‚„tt|7vB–—zz…|ŒN–—ŒNœ„tzv‹žz،-ÚwÛjv‹Ü~{•–—šUš€z”—|ˆ„tŒY|7ŒNzv‹…Ðz$Œ•Svx·zqw€{•v‹{Yš€v‹”—”•„t„zvxŠvxŒ
|&{PŒ‘
$¡7¢¡7¢ Ý
Ôjµ z|ˆv‘„t{Yv~|7v‹{N™“vxvxŠÙ”—„t’“vxzv‹|7„{Nœ…‡|7zvxz†{Y…€|7žAzŒN„Ø|7¶ |7zØw€v‹Úrz…‡z…‡†7zA†7Œ‘v, ‰$|7z|7vxz{NvxwŠ2vxzAŒNv,vxzAŒN…€†Œ•vxz$‚„t|7v5Þß{•–—zv‹|7„vxz$
¶€UUv‹|7v‹vf”w€…€Ž Š2{Nz|ˆzvx„tzA„=v‹Œ•”Y{zŒ‘‚g…€v‹–—™:”NÌ”•v‹vxz|&„–—zvxA”?Œ‹Þᐠàvxvx|7|7zvxvxztz¸¹š†ˆw–—v›z|7|ˆŒY”•ŒNvxœ”zÚ?žAÛ/ŒfÜ~Ÿ‹šU™:š”•v‹„t|ˆv‹|7z”f…‡UŒNvxvxwzŠ2wvxvxzAš€ŒN”—vÁ„tzštvx„tŒ‹v‹” ÚsÄ ™z„t|7”•œ„=zUzžŒf”6„vx|7…‡zzv‹z {
$¡7¢¡ˆâ ÓÒAÏ ©± ª_«¬ÒAÏÐ¥_ª¬´ÒUª\ãnäªåÝ
ÚC™|7”•„›æPvz…€–— Ä ”•vx|7w€z|7{:¸¹š€†7w€v‹z„tv‹”NŠ-…‡çvxz,¶€vx”e…‡Ž z„tvx”NŒ‹Ö
è Ü~šŠ2Š8ŒÞ酇z5„tvxŠê†7|7zž€v‹z Ä z„tœzžAŒ¶€šz,,…‡z$‚U™|7”•„5Á|7zBÚ녇¸¹w€vxzš€Š2Š2vxz$
ì Ü~šŠ2Š8ŒÞꅀz„vxŠê”•v‹–—AŒNv‹z Ä z„tœzžAŒ¶€š€z=5…‡z$‚t™|7”—„55…‡{“ÚCvxzAŒY¸¹v‹”NzAŒ‹
í yn×_vx”•|&|Én„tv‹Œ=z ÞîÄ †7…€vxtŠ2¸›vxzA„tŒNvxv~zï|7z5t–—ÚCz¶€|ˆŒYvxŒ•”NœŒ•…€z{•žA–—ŒŒ‘¶€ šzð\z„ð×~‚“™|7”—„\„t|ˆvKàv‹|ˆv‹zt¸¹š€†7w€vȄtvx”
zµ ……‡–—ynvxvx|ƒ|7z{Y|7…‡zz„B„tvxt”–—|7z,z|ÚñŒNŒNœ{YŒNv‹zžAvxŒNzv6 ¶€š€z ì ‰$|7z|7vxz{NvxwŠ4v‹zAŒNvxz-zU”„…€zz-Š š€Ž w€†7|&–—$‚€™“vxzz,„t|ˆv‘{Yv
$¡7¢¡& ò:ä­-´nÒU°ƒ²‹­¡(¡H¡
Ôj„tzØv‹”„tU|7v‹vx{NwvxŠ4Šßv‹zA’“ŒNvxv~|&{YvxœzA|7ŒNvx†:…‡™†ˆŒN|ˆvx”—z=„q{N„|ˆz…e„g¶š€tzqÚC…‡|&{PŒ{Nw€†7vxv‹vxw”‘…€‚z„w€…4v‹z$z‚$št„–—5…€{•ž€{v‹|7|ˆzØzv8óêUv‹ynw€vxŠ2”•vxvx|ˆzAŒ•{fŒ•v8„t…‡|ˆv žAŒNÄ |7¶Bz„{N|ˆœz„$z žAŒNv
Þôyv‹™:v‹w‡Œ?{N|&–—=zAz̶€šz5†7|7zžt{z…–—=”Nv‘–—AŒ•{‹·†&{v‹”•{YŒNv‘{™|7”•„=„…€{ Ä ¶€v‹zŒ6…‡{óCŠ2|Œ
õ
öt÷‹øùAú7÷xû7üýYþN÷‹ü5ÿø•ötû7ü‡þN÷
÷‡ø÷‹ûþ•÷˜þ
üü ëü "ú !÷xüö÷‹#ý U÷ !$2÷xüA&þ %'
( €)ø *%€ø ÷‹+ø !,÷ ÷‹üöt÷‹-ý U÷ !$2÷xüA#þ %'
. ø•ø•÷x/û þÁötû71
ýN? ÷‹‡ýüû7ü@6ü 9;Cû7ø•÷‹öAûˆü ÷4< !€n÷ 06÷x4<ø÷‹5!‡ø þøB47töt< ÷‘3÷ þ-ý 7C29 ûˆø—ü 'ö( 4ü ‡øú&D=ý öt>÷xEüð‡4ùAüúˆþ•û7öF"ûü%8ù€G ÷‹7ü H. 9Iü ö 54CüJùAþ5Eö÷‹4ý6üöFt÷,4!$2÷‹ûˆü÷‹ü÷‹ü@þ—ý6!€8÷$47:9÷‹ûˆûˆüø—ý+ö\$4ötû7÷‹÷ü
ÿë.ø•ø•÷x÷xüû7ü û/ûþN!+þ ÷ 5þ544< öt!€üûˆþ ù÷N7t-þ ÷‹06ný÷x÷‹ù øýN€ûþ $>öHx÷1÷x$›Jü 2&þ CK\€ú7öt+ý û7÷‹4ø•üðö-÷xû7ö ø•ü5÷BnüA÷x,÷ þNûn4÷‹÷x÷‘ü û7ý 6ü . . —%€ù÷‹5üAü4-þ ûˆüþYþ ùûˆ5üþ=4Hüöt4L÷‘ùA ýO-þ !€U,÷ ÷ !4$2üöt÷xüA÷‹Lüþ—ý'7A+ý GM7P99û7ø•û7ø—ö-öQö\ûˆ÷‘ýYû7÷‹üRø+û7; ü
!€÷‹ú A< +ý Aþ 7A÷‘ýû7ýY
þ ‡ú&+ý fü/û A#þ $2,÷ #ø €ùþ•"û %8
ü
9ûˆø—ö 4< n÷xø 5ø 4< þ 7 ( €)ø S4üö ÷xû7ü÷x6
ü !€,÷ $2÷‹ûˆüý B$2÷‹6ü üûˆþYþ 54üùAþ
? ‡ü6
÷‹üLTK\ûˆø—ö÷xû7ü÷xø>!€÷, 4üöt÷‹üL7T9û7ø•ö÷xø2ûˆüÊÿr÷xû7ü!÷ 4< !€þ7E9:÷‹üüåötûˆ÷ÿ€ø—ötû7üÐþ•÷
!€)ø < ý•ýN÷xøû7ýYþ 7U‡ú&ýötû7V
ü^ ÷‹€øúˆú&7ýT9&2_4ø—Böt4÷nötöt÷xû7÷‹ü@ýN÷xø ÷ ‡üùAûˆþYþ üþ45û÷xþN4+þú7úˆ5üX÷ 4ùAWEüþTùA%ýNþ ûüXþ•"û ÷‹VøNü5÷‹4ûötüþ—÷‹-ýöV
ø `Ø÷ 9“‡þNøø•÷xû]÷an÷‹5Zþûþ•7eY$÷˜þþBû7ü 4÷ ý\[PýP÷‹þ?ü›öötûˆû7÷8÷‹ýNÿ ÷:n÷xû&öt÷xø•ü4ötû7ûbü ‡øNþN÷-÷~WEùUúˆ÷‹ýN]ûû"
þN5bû Bø €4< ü ÷xþ ü4K\ûˆXü ûˆø—;Xö2 ö ( Bnø ÷x`#û÷‹ûˆFü 4ücö `üû+ý þNd+þ 954ûˆ÷ üùASþ C!€J,÷ 4üöt4÷‹üLü >ö 7€ötV÷‹9“ø÷x÷xø—û7üöt÷x&÷ cü !€)øB<4eG÷xø•÷+#ÿ üfûˆþYþ 54€ø—üötùAû7þNü >÷ Ð4þ•< -÷ ÷‹€=øú7ý
ötUû7û7÷Iügö ‡ùA€þ+úˆ4ú7÷ ÷‹úˆ. ú7÷M%€÷‹WEüAþ•ýNý:ûˆþNûˆûbü,€ü,hÿ ö÷xø!€÷ 9“‡ø ÷x÷÷‹5'ûþ•Y÷˜þûˆü7A÷
û&ýPþ\Ðötþ÷x7&ø 9iûˆø—"ú !Cö,€öø•ûûˆþ÷‘ýY÷‹$Vø4ûˆSýü¹ÿë÷xøNþN÷xbû û7!ü7!4÷ü4< gö !€‡þú7ú7÷ üûþN=þ
54üùþ•÷8ýYû7üO
ö !€,÷ 4üöt÷‹Lü j-k l mCnpo
qsrJnprJt:uvsrLw\xt#y{zS|St~}x€tƒ‚
L7 / "$ …
I%
IY ^ „ $ *H,4 b$c5 $
^
b . % & d
L7
‰@H
€‡B< 4$
† 3H,4ˆ‡ ,!
H,4O 4 +H L7\H ‡ / Š +4 !6%C ˆ;‹$ I%
AY
A Ii#4 9-
^ 4 < X[f$>5 ,$
J < b!7 % &46 #‡
< 4$ H,4' 4 +H L
‹÷ ôö n÷xÿ ü tþ‹÷xû “ü ÷ úˆûˆ÷ ü\4ü[÷‹ø•üüA÷‹öþNû7÷x=ø•ú ÷xüü —û ù Aø•Hþ•÷xþ øNû ÷‹‡A÷‹ú7úˆýþ÷ û ô€÷x÷‹û7üAü þ•ý n÷xýYù þN‡÷‹üü üþ‡ýNú7ûˆú$ü÷xö û7ü÷û&ýPþ6÷x÷‹ø•ýù€÷÷˜þNþN÷xxþNû7÷x÷ üA$þN÷‹û&ýPø þ•÷ ‡4ú7ú7÷ý
ü €þNøû ötû7÷ö ÷xøú7û&÷ ýP2þ÷x÷‘üAýþ•ýYûˆ÷‹û7üø üü úˆú7÷x€ø ü 2ûþûˆ÷‹ø÷xø•ù€÷˜þN2þN÷x÷ þN÷xü $û&÷‹ýPü þ•÷xtü^þ ‹û7÷xýYü þ6÷‹ûˆü ÷xø ‡üö
j-kj Œx#Ž‘Tt’ŠE“€’”\•V—– u˜Lxt#y
™Lš/™Lš…› œI\žŸU Šž)¡ž¢: Š£…¤¥—¦§
H,4 J7\ B4\ €$> 1¨c U€© ? X[ / +4 !F%
„ $
. ,$
;ª! ,
6© 1¨cs«+@4 4$ ªB4 H,44 J7: J < b! g$@
¨c 8¬ b!\ \=&© r÷‹ötý û7÷›û7ü ÷ AþÁú7÷ ûˆ2üð÷xù üA€þNü÷›ýP÷xþ ‡û7ü üAþN÷‹ú7ø ÷‹ýNn÷x÷xü ûˆþ ø þ ü€ö ü î¹ü ÿ n÷‹ûþ ˆû ÷ j÷xüü ûˆþNû ‡nú7÷xû7ýNü ûˆ€÷‹þNø û‡ü þ €üü
¹ü eú (ü n÷‹ûþ
™Lš/™Lš/­
®gž¢: Š£…¤¯¯°)±—²… £…³ "! b ci + + ] @ J < b! X¨c UM© I4$
#
?
† 9
K &4 +H,4 L . -$34 <
' g; ! ,
-9
L7 D <
/
ˆ¨c U¬ b!U \+: 9
"! L
i#4
,$´9
Ni ! ‘ A;µ!
M9
J7U4 A 5 @4 s
! ! L ? d4 < P9 6¨c+ U¶ ¬ b!\ \=P© :! , B4\ ?
P! / H "!
^û7ü ûˆ÷x÷-øNþ ÷‹(ûü e÷xú üAý þNú7û¹ú7ü ÷‹ýN÷÷xü ÷ ø :ný ÷‹÷xøNûˆþ•ùtý•ýYý þNýN÷xýNú7÷xú7úˆû ÷‹ü5û ÷x¹ü ÷ ü UnþN÷xø•ü ÷ €—þNù€û ÷‹‡üBþ û7ü ¹Cü ÷‹nûˆü ÷x€ûˆþ ÷ ø•öü÷˜ötþ ÷‹ü :÷‹÷ø•ö:÷x÷‹ü ûˆú&týö ùUú7ý÷xû7ú üýPýNþ•ýY÷xþü^ýNû ÿ
€÷ €ýN÷ ýN÷x÷‹ø—üöt÷ :÷‹ø ø•öt÷‹û7ü[ø•ö ü ü¹ü ¹ø?ù €÷xeü ú ‡ü (ü €n÷‘÷xýPûˆþ•þ ÷xú7ú÷þ “ø ÷xø—öt÷xüþ üûˆ÷‘ö^ýY÷‘ùý+û&ýPþ €üú7÷xûˆþYû þ x÷‹€ûøNþ•÷ û föt÷xý ø
·
¸¹,ºb»P¼¹½V¾»"¿CÀÁº]ÂÃÄVŽ+¹½Æ¼¹,ÁXÇĪ»ÇBÈ É¿C½=Â+¹,ÉʼÇBŹÁ=ÂƗ¼ÇÄ>º]ÂcË\¹ÉJÀBÈ Âº"¿ÂcÇBÅ\ÌÃʼ¹,ÁX¿¹Í
½ÇBÄM¹I¾#»b¿ÀÁº"Â+ÃÄXŽ#ÎcÏ=Ï É8ЀÑÒÓ)»bÀ¿UÏ É\Ò+Ò#ÔU¹,º"ÂÕ
Ö×
Ø
Ù_Ú,ÛÝÜ'ÞTßIà@áEÚâ—ãSä'å#âƒæçåÚ,â—ÜZÚ,åè
é€ê"ëOì#íî+ïCðñïCî+ê]òíòðBò+êbóñLô—õSîcî=óCö"öbë,ñÊ÷ê"ëZøùúñê"ò=òûíñüŠòëO÷ëýcþ3ÿLêbñê"ëñî+ë,ï>ëñCòëUë
î=ò+ê VòPë,ý÷ëñ ‹êbî=òI÷íýùú3÷êb
ë Uë,ê/÷ë,
ñ ø ð íö"ëñ gð ~ý+ëùúCòë,
ñ ðBñ÷ˆ÷ðBýïëî=ò+ëö"ö"ò ÷ð \ëêLêbî=ò€÷êbëMýëùúŠò+ëMøëê]òëV÷ëýðBüŠò+íë,öbö"
ë Uí\îsòðBñ÷'íñ\÷Z÷ê"ëIöbêbñüëV÷ë,
ý Uí\îsòðBñ÷Oë,êbñëñ
øùúýê"ò=ò óCý+úëý Cëò ò#ê/îsò {ñóùúOö"ëë,!ý " ê/î=ò-ñíñZðçö"êbñüCë,ñZõ ñ÷ûíñüŠò÷ëî#öbðíë,ñˆøëï>ë,ñŠòî&ðBñïCë,üó$%cëñ
éêbëî+ëî#&êbý÷
êbñ& ð í' ïëñó%>ë,ñ)(…î+ê"ëúëý+ëùúCòë,ý#ðñ÷*
+#í
ñ &êbý÷hðBí\ùúQ÷ðCî'ý+óò+ëNøë,$ï cëñŠò'êb
ñ ðí ' ïëñó %>ë,ñ,#÷ð ÷ê"ë-.0/óóý÷êbñðdòë
ïý1óC îî+ë,ýPêbî=ò&êbý÷6î=ò+ëúCò#ëîí Uë,ý÷ë2ö/ðBíë,ñZøë,ï$cëñŠò
33
46587:9;<7:=?>A@CBEDGFH7= I=?J;K<7:LNMBED;@O=P=PQR;S$=UTV$;%WUXCJYR%R;<[Z\VY=]_^\XC>AV`= JYR8>PBED7;[<@a7
5b7:@C<7:;cMd7eL%7:;_=P7G@Df 7`ghV$>P@O= @aV$;7:;]
i a@ 7MdjU7:7Q-k,@a;7D8Jl=`;dR;m<7:;mf 7BED_=P7;onp;8<QR;S_=<7!>G5XCJYR7;mMd7eL%7:;_=E>G7:f fP7@BED_=q
JYXC>PVj@f <r<@7>P7>JR>Uste7XvV_u >PBED_=!]
w 7=PI:=.j@f <x<7:fXa@;S7np;<QR;S_=G<7>\e$7:X587;oMd7eL%7:;_= >.7:f f 7:@CBED$=!qR;<<@a7!>A7!>.<JYL%@O=
@;stJYRyze7:;VL%L%7:;] i J<@a7s|{~}GVdVfE<@;Jl= 7|SdXa7@a;7:f#@>A=\JYXC>#<@a7<7!>UfPV=P7:;xMd7eL%7:;_= >
X@a7eY=7>R;$= 7:f\<@7>P7:Lr]
€!
‚.ƒ:„…†E‡ˆ‰aŠAŠ ‹Œˆ_ŠGŽˆƒ‘a’Œˆ“c”Š.•‰„ “c’8ƒ!–Y„ ’8ƒ‰OŠ ƒŠ—˜–Y‘C™P[Š –Œ™P†E‡ƒ:ˆc“‰ƒ’bƒ:‰C“ƒ:ˆ
…dƒš›%ƒ:ˆ_ŠPƒG‰‡„ ƒGœh_™A‰aŠP‰ˆ&‰aˆžŸ
‚.ƒ:„U„Pƒ!†E‡$Š ƒ. ¡ˆ“‹Œˆ$Š“ƒ!™¡„ YŠ ƒ:ˆ&…dƒš›%ƒ:ˆ_ŠE™¡•‰„ “Kƒ:„ „Pƒ‰†E‡_Š—_Œˆ“&“–Y›%‰aŠ#“‰aƒ!™Aƒ!™?–Œ™p
ƒ:ˆ_ŠP¢zƒ:„ ˆ$Š!Ÿ
£Uƒ:‰›2 p„ „ ƒ:‰C†E‡ƒ:ˆž“ƒ™š$ƒ:‘’8ƒˆr…ƒ:š›%ƒˆ$ŠE™#•‰a„E“r“‰ƒ™Pƒ™#ƒ:ˆ_ŠP¢zƒ:„ ˆ$Š!Ÿ
¤¥
¦\§¨©CªH«U¬®­¯:¯°±d§¨8²³Y­­¯´¡µ¯:¨_«Eªp©¨¶¸·§°E²¯:¨K¹b¯³°P¹b¯:©a«P¯:«±²³º©a«#©ªA«\²¯:°#»\­¼½$°P©a«P¾¿
º§8ªUÀz¯:°P«P©¼Á
Â:Ã
Ä6ÅÆ,ÅÇ:ÈpÉxÊ)Ë-ÌGÍxÎÏÅÐmÄ6ÅÆ,ÅÇÈÑÉxÊ)ÊÒÍcÈÑÉcÅÓÍxÔcÕ×ÖrÆhØÈ?ÙhÇ:ÚÔ-ØGÛ
Ü
ØÊhÈ.ØGÕxÇ:ÔxÝ
Þ,ßÒà1ábÞhâ)ãYäžã1å$ælçÒèAábépêaëÒÞhìîíEßhìvå$ïvå$èHå$ïvâ#êOâhå
ð)ñ êò&ëhó˜ëhô:ã ð8õ˜õ˜ö
÷6ø`ùú)ûùú)ü
ýÿþ
"!$#&%')(+*,')(-').0/21436547849 !:!;!<!;!:!;!;!:!;!:!;!:!;!<!;!;!:!;!:!;!:!;!;!:!;!
"!$#=!$# %')(?>@36')8A"B"/CB"A"'&!;!:!;!;!:!;!:!;!:!;!<!;!;!:!;!:!;!:!;!;!:!;! D
"!EF%.G'H*,')(-').0/2143-3I8/21J';!;!:!;!<!;!:!;!;!:!;!:!;!:!;!<!;!;!:!;!:!;!:!;!;!:!;! K
"!E"!$# %')(?>@36')8A"B"/CB"A"'&!;!:!;!;!:!;!:!;!:!;!<!;!;!:!;!:!;!:!;!;!:!;! L
"! D %.G';MONQP.G'RJP)'R.$9TS+5'(654UG.0/2VW!;!;!:!;!:!;!:!;!<!;!;!:!;!:!;!:!;!;!:!;! L
XZY[\]^_`
a
DJ!$#&%')(+*,')(-').0/21436547849 !:!;!<!;!:!;!;!:!;!:!;!:!;!<!;!;!:!;!:!;!:!;!;!:!;! b
DJ!EF%.G'H*,')(-').0/2143-3I8/21J';!;!:!;!<!;!:!;!;!:!;!:!;!:!;!<!;!;!:!;!:!;!:!;!;!:!;! b
DJ! D %.G';MONQP.G'RJP)'R.$9TS+5'(654UG.0/2VW!;!;!:!;!:!;!:!;!<!;!;!:!;!:!;!:!;!;!:!;! b
cdfeW4]^gh
ig]j;
lkh_`m=nporqQsg]=n+trq2uWs]^gv"_
gi`wx\
y
z{s]^vJw=`vJ+|vJw}vJg
y
~"!$#€.$'H3I.$')1‚+A".$'Hƒ‚6(-8JV‚68J(+5'.G9…„J(27=/†‚-.GB}R47Ul‡,7}36/7=A".$RJˆ‰78432Š‹!:!;!;!:!;! Œ
~"!Ed.$':8JRJV‚6.$B=RJ.$')(6‚Ž 3+Š€!;!<!;!:!;!;!:!;!:!;!:!;!<!;!;!:!;!:!;!:!;!;!:!;! 
~"! DFM.$R*‘'.$36’J.$')U‹!;!:!;!;!:!;!<!;!:!;!;!:!;!:!;!:!;!<!;!;!:!;!:!;!:!;!;!:!;!“#_”
~"! K %.G';MONQP.G'RJP)'R.$9TS+5'(654UG.0/2VW!;!;!:!;!:!;!:!;!<!;!;!:!;!:!;!:!;!;!:!;!“#}#
•ZeWrng
_–—
ý8ý
e ˜
_vJ™šv4_
ý8ý
› œ ýX
#

ž ŸC¡¢)£?Ÿ2¤¥¡¦
§©¨«ªp¬=­J¨‰®)¯±°"®²‹³:´Jµ2²I®_²¶¸·¹º»h¼0½h¾s¿+¼À_Á`¾sÂÄøÂ4º¿+ÂJ½r»h¼Å Æ$¨“ÇÈ=¨‰¨‰®)µ2²6®)¨‰®²IÉ6®µ
ÊË}Ë=Ì ¬=¯Í°"®)µ:Îp¯4ÆÐÏ©Ñ,ÆG®ÒG®)Ó®)Ò0°®)¯É-²IÉ-¬=¯4°Í°JÆG®Ô=È=µ-Ò$ÆG®Õ=®)¯°"®HÖpµ-×®ÆÐÉ:Ø)´Ùё®µ6®Æ$Ú2­²I×4Û=´J¨‰®)¯sÜ
Ñ,®)µ-®)Æ0Ú2­4²-²I´4Ú2­4®<´4¯4°ÝJµ2¬=ÚCÉ6Æ$È=¯4¬=ÒÞ,¬=²-Ú)¬}°"Æ$¯JÕ4ßáà¬}²+ª?®)Ó®)µ2¬^É+×4ÆGÒ0°"®CÉ-®°"®¯Öp×4²-Ú2­JÒ$´JâãØ´
°"®¯ä´¬=°Ï©ålµ-®)®_²@´4¯4°‹³;°ÏæÑáÛ=´J¨‰®)¯sß
ç`Æ$®)Ò°J®)µWÖ+µ6×`®)ÆGÉWÆ0²èÉW®_²QØ)´®µ6éÒ0Ûµ-®)¯sÜ,ê?Æ$®Ñ‘®µ6®Æ$Ú2­²6²6´4Ú2­J®Ó´J¯JéÉ-ÆGÈ}¯JÆG®µIÉ_Ü?ꑮÒ$Ú2­4®
ÖpÒ$Õ=È}µ6ÆGÉ6­4¨¸®¯°J¬^Óë4µØ´JµìO®µIÓë4Õ=´J¯JÕ²èÉ-®)­J®¯´J¯4°ÍÆG¯ÍꑮÒ$Ú2­J®¯íJµ2¬éÉ6Æ0²-Ú2­J®)¯Íî<®×JÆG®)É6®¯
°"Æ$®;ё®µ6®Æ$Ú2­²6²6´4Ú2­J®:Öp¯ê,®)¯4°"´4¯JÕ¸ï4¯4°"®)Éß
à¬}²‘ªp®CÓ®)µ2¬^ɑÆ$²IÉ,²6ÈHÕ=®Õ=Ò$ÆG®_°"®)µ6ÉÜ°J¬=²-²Ø´J¯4Û}Ú2­4²èÉ,°"®)µ,ё®µ6®Æ$Ú2­²I×4¬=´J¨ð´4¯4°ã°"Æ$®Ñ,®)µ-®CÏ
Æ0Ú2­4²6²6´4Ú2­J®<Æ$¨ Ê Ï©°"Æ$¨‰®)¯4²6ÆGÈ}¯4¬Ò$®)¯ªp¬´4¨T¬´²èÓëJ­4µ6Ò$Æ$Ú2­×`®²-Ú2­Jµ6Æ$®)×`®)¯ê,®)µ2°"®)¯sß
§©¨ Ì ßå®)Æ$Ò"ê?ÆGµ2°¸°"®)µÑ,®)µ-®)Æ0Ú2­4²6×4¬´4¨ñ´J¯4°‰°"Æ$®pё®µ6®Æ$Ú2­²6²6´4Ú2­J®‘ÆG¨ò¯"Ïæ°JÆG¨‰®)¯²IÆ$È=¯4¬=ÒG®¯
¯´Jµsé´Jµ-ؗÔ=È=µ-Õ=®_²èÉ-®)Ò$ÒÐÉ_Ü°J¬?°JÆG®@ÇÉ-µ6´4é}É-´Jµ-®)¯HÛ­4¯JÒGÆ0Ú2­:Ø)´;°"®¯nÇÉ6µ-´JéÉ6´Jµ-®)¯:Æ$¨ Ê Ïæ°"Æ$¨‰®)¯4²6Æ$È=¯4¬=ÒG®¯
²6ÆG¯4°sßôó=®ê‘®ÆGÒ0²Q¬¨öõ@¯4°"®Í°"®_² Ê ß´J¯°÷°J®² Ì ßiå®)Æ$Ò0²ã²IÆ$¯4°i°"Æ$®õOøQØ)Æ$®)¯JØ®)¯iØ)´²6¬=¨Ï
¨‰®)¯JÕ}®²IÉ6®ÒGÒGÉß
ù+¬}Ú2­úÖp×4­4¬¯4°JÒG´J¯4Õû°"®µ¸à<¬^É-®)¯4²IÉ6µ-´JéÉ6´4µ6®¯fÓëJµQ°"Æ$®Ñ,®)µ-®)Æ0Ú2­4²6×4Û´4¨¸®ê?ÆGµ2°fÆ$¨ýü"ß
Öpײ6Ú2­J¯4ÆÐÉ6ɋشþÝ4µ-¬}چÉ-ÆGÈ}¯4¬ÒnÞ,¬=²-Ú)¬}°"Æ$¯JÕÿ®ÆG¯J® ¯J®´J®=Ü:®)ø‰ØÆG®¯É6®)µ-® à¬É6®)¯²èÉ-µ6´JéÉ-´Jµ‹Ø)´Jµ
Ñ,®)µ-®)Æ0Ú2­4²-²I´4Ú2­4®+Ô=È}µ6Õ}®²IÉ6®ÒGÒGÉß
§©¨ ßýå®)Æ$Ò¸²6Æ$¯4°ñ®)Æ$¯JÆ$Õ=®ÿ°J®)µÍ
¨ }Õ=Ò$Æ$Ú2­J®¯ Öp¯ê,®)¯4°"´4¯JÕ}²6Õ=®×JÆG®)É6®fÓë4µÙ°"Æ$®úÑ,®)µ-®CÏ
Æ0Ú2­4²6²6´4Ú2­J®Ù¬´"ÓÕ}®)ØÛ=­JÒGÉß à+®¯ Öpײ6Ú2­JÒ$´Jâ÷°"®)µ‹Öpµ-×®ÆÐɋ×JÆ$Ò$°J®Cɋ®)Æ$¯ Öp¯J­¬¯JÕúëJ×®µ°"ÆG®
ä´4¬}°Ïæåµ-®)®²Ü^³;°Ï©Ñ,Û=´J¨‰®@´J¯°ªp¬=¯JÕ=®áåµ6®®² Ñ,®)µ-®)Æ0Ú2­4²6×4Û´4¨¸® †Ü^Æ$¯°"®¨ð°"®µ6®¯‰ÇÉ-µ6´4é}Ï
É6´4µ6®¯<Æ$¯HÝJÈ}µ6¨ Ô=È}¯<Ö+×J×JÆ$Ò$°"´4¯JÕ=®¯;´J¯4°:®)Æ$¯J®µlå¬=×®ÒGÒ$®OØ)´²6¬=¨¸¨‰®¯JÕ=®)Ó¬=²-²èÉhÕ=®Õ=®¯ë4×®µ6Õ}®²IÉ6®)Ò$ÒGÉ
²6ÆG¯4°sß
Ç"Û¨nÉ6Ò$Æ$Ú2­4®pÖp×J×JÆ$Ò0°"´J¯JÕ}®)¯ã²6ÆG¯4°Q¬=´4²O°"®¨ÄÑ,´4Ú2­‰Ô=È}¯Qà+®pÑ,®)µ-
Õ ²6Æ$®)­J®ä´J®ÒGÒ$® ë4×®µIÏ
¯JÈ}¨¸¨‰®¯sÜJ¬´4²-²6®)µp°"Æ$®:Ø)´4²-¬¨‰¨‰®)¯"Ó¬}²6²6®)¯°"®)¯‹Ñ,ÆGÒ0°"®)µ?Æ$¨TÖ+¯J­4¬=¯JÕ4ß
ŸC£ð£?Ÿ†¤£ Ÿ £?¡lŸn¡
ù+¬}Ú2­"ÓÈ=Ò$Õ=®¯4°²IÈ}ÒGÒsØ´J¯4Û}Ú2­4²èÉpÔ}È=µ-Õ=®_²èÉ-®)Ò$ÒÐÉ?ê,®)µ2°"®)¯sÜ4ê?ÆG®n°J®)µ Ê Ïæ°"Æ$¨‰®)¯4²6Æ$È=¯4¬=ÒG®;Ñ,®)µ-®)Æ0Ú2­4²IÏ
×4¬=´J¨ é=È}¯4²èÉ-µ6´4ÆG®µIÉnê?Æ$µ2°hܐ×JØê;ßfê?ÆG®®)µQ¬´²6²6ÆG®­Éß §©¨ýÖp¯²6Ú2­JÒ$´Jâû°J¬µ2¬¯ê?Æ$µ2°é´Jµ-Ø
Ô=È}µ6Õ}®²IÉ6®ÒGÒGÉÜê?Æ$®:°JÆG® Ê Ïæ°"Æ$¨‰®)¯4²6Æ$È=¯4¬=ÒG®:Ñ,®)µ-®)Æ0Ú2­4²I´Ú2­J®<°4¬¨‰ÆÐÉ+¬=×JÒ0Û´"ÓÅÉ_ß
!"#%$&('*),+.-0/.1
à®)µ Ê Ï©°"Æ$¨‰®)¯4²6ÆGÈ}¯4¬Ò$®Ñ,®)µ-®)Æ0Ú2­4²I׬´J¨ Æ0²èÉã®ÆG¯²6È=µ6É6Æ$®)µ6É6®µ¸Ñ,Æ$¯4Ûµ-×4¬´4¨ß î<®Õ=®×®¯÷²6®)Æ
®)Æ$¯J®ÍÖ+¯JÈ=µ2°"¯´J¯JÕ32 Ô=È}¯i¯42´J¯JéÉ-®)¯ Æ$¯ °"®µWõ×`®)¯4®=ßòÖ+´4²°"ÆG®_²I®¯42´J¯4é}É-®)¯ôê?Æ$µ2°
ê?Æ$®ÓÈ}ÒGÕ=Éã°"®)µ Ê àÑ,®)µ-®)Æ0Ú2­4²6×4¬´4¨5Ñ6¸é=È}¯4²èÉ-µ6´4ÆG®µIÉ_ܑ°"®µã¬´4²‰ØꑮÆ87CÏ©°"ÆG¨‰®¯4²IÆ$È}¬=¯JÒ$®)¯
Ñ,®)µ-®)Æ0Ú2­4²6×4Û´J¨‰®9
¯ å ´J¯4
° :;=<?>A@CBA,×`®²IÉ6®­Éß
ÖpÒ0²s®µ-²IÉ6®_²rꑮµ-°"®¯;°"ÆG0® 2@´J¯JéÉ6®¯¬=Ú2­:ÆG­4µ6®*¯ DÏ©³+ÈÈ}µ-°"Æ$¯4¬É6®)¯<²IÈ}µIÉ-ÆG®µIÉ_ßlàÆG®‘Ç"È=µ6É6Æ$®)µ-´J¯JÕ
®)µ6ÓÈ=Ò$ÕÉ_Ü4Æ$¯4°"®¨…Ø´J¯4Û}Ú2­4²èÉ<°"ÆG®¨‰ÆÐÉ6É6Ò$®)µ-E
® DÏæ³ÈÈ=µ2°"Æ$¯4¬^É-
® GFIHJ>AKLKG<Cp×®_²èÉ-ÆG¨‰¨HÉ<ê?ÆGµ2°´J¯°
¨‰ÆÐJ
É MpÆ$ÒÐÓ®ãÔ}È=¯ ìO®)µ-Õ=Ò$®)Æ0Ú2­J®¯û¬=ÒGÒ$N
® 2´J¯JéÉ-®=ÜO°"®)µ-®)O
¯ DÏ©³+ÈÈ=µ2°"Æ$¯4¬^É-®)¯ÙéÒ$®)Æ$¯J®µn²IÆ$¯4° ¯4¬}Ú2­
Ò$ÆG¯Jé"²H²6È=µ6É6Æ$®)µ6ÉHê,®)µ2°"®)¯ ´J¯4°f¬=ÒGÒ$N
® 2´J¯4é}É-®=ÜO°"®µ6®9
¯ DÏ©³+ÈÈ}µ-°"Æ$¯4¬É6®)¯ÙÕ=Pµ =â}®)µ;²IÆ$¯4°hܗ¯4¬}Ú2­
µ-®Ú2­É-²²IÈ}µIÉ-ÆG®µIÉꑮµ-°"®¯sQ
ß F HJ>AKLKG< Æ0²èÉ°"®S
µ Rû´Jµ-Ø)®)Ò$é¯JÈÉ-®)¯ôÔrÜÔ=È=¯ °"®)
¨ Tè®ê‘®ÆGÒ0²®)Æ$¯
Ò$ÆG¯Jé}®)µH´4¯4° ®)Æ$¯µ-®Ú2­É6®µHål®ÆGÒ$×4¬´4¨ ¬=×JØ)ê,®)Æ$ÕÉ_ßàÆGS
® 2´J¯JéÉ-®°"Æ$®ã¯4¬}Ú2­ûÒ$Æ$¯Jé"²n²6È=µ6É6Æ$®)µ6É
ê?´Jµ2°"®)¯Q×4ÆGÒ0°"®)¯°"®)¯QÒ$ÆG¯4é=®)¯ãå®)Æ$Ò$×4¬´JU
¨ GVXW >AY[Z\*]_^ W >`YaZ\ †Ü"°"Æ$®pµ-®²IÉ6Ò$Æ$Ú2­J®N
¯ 2´J¯JéÉ-®°"®¯
Ê
bPcCdfe,ghcCikj%cl`m`n(oqp#rQsutqvfwx?yzG{0|~}vfwx?yzG{€‚%ƒ„cCl[…†cCb%ƒ„lAm‡…†p#i(ˆ‰…†cCŠ‹mAl`i#ŒacCi8p#i(…8…†cŠbPcCdfe,ghcCi
j%cl`mAn(oap#rcCŠ„cbf…†ciŽoqpdfeS6l`cC…†cCb‰…†l`ck,‘?’*“,“[bP…#lAi(oqghcCi”Š“[bgPlAcCbg•†p#i(…Ž…†l`c8rl–ghghm`cbPck,‘
’*“,“[bP…#lAi(oqghc0n#l`m‡…†cg—…†ciEi˜adfe(ŠghcCi™’ki#“qgPci•cgPdq‚`‚%š*l`c›‘?’.“›“abf…†l`i(oXgPcik„cbf…†ciEŠh“am‡oqi#ˆ[c
Šh“abhghl`cbhg*p#i(…9e(oamAn#l`cbhgC•‹n#l`Šœi›p#b8i#“†dfe9cl`i#cJ,‘?’*“,“[bP…#lAi(oqghcE(n#bhl`ˆn#mAcClAn#gC‚š.l`cCŠhcž6l`bf…
…#oai#iŸl`r ƒ„m‡oXghgNoan#ˆacŠ¡Icl‡dfe#cCbg‚¢š*lAc£ƒ„m‡˜Xghghcb…#cCŠNn#l‡Šhm`oai#ˆŸ¤‘=…#lArciŠl`“ai(oamAcCiŸƒ„cbPc‘
l‡dfe(Šnoqp#r¥s¦j‰€kp#rJ§GoaŠPŠhciOi,p(i"…#ci¨ƒ„cbPcl‡dfe3© «ª «¬ ­®•—…«‚ e‚”oqm`m`c,‘?’*“,“[bP…#lAi(oqghcCi¯…†cb™i
° p#i(Œ[gPcž…†l`c™l`i¯…†cCb*±ncCi#c™m`lAcCˆacCi‚.š*lAcŠcCbž¤‘=…†l`rci(Šhl`“ai(oamAcEƒ„cbPcl‡dfe(Šhn(oqp(r²sGj‰€.r™p(³
i›p#i”´Cp”cClAi#cCr¶µ‘?…†l`rJcCi(ŠhlA“[i(oqm`ciƒ„cbPcl‡dfe(Šhn(oqp(r·s¦ƒ6€¸cCbh„clAghcCbg„¹cCbP…†cCi•,lAi(…#cr¶oap(dfe
…†l`c‰º,‘=’*“›“abf…†l`i(oXgPci…†cb ° p#i#Œ,ghc*ncCbhdfŒ›Šhl‡dfe[gPlAˆag¸¹cCbP…#ci‚¸»Ip”…†l`cCŠhcr¼»I„cCdfŒž6lAbf…œ½¾c‘
…†cCr¿’ki#“aghciÀ…†cŠk¤‘?…†l`rJcCi(ŠhlA“[i(oqm`ciŽƒ„lAi(˜abhnoqp#rÁs¦j‰€„#nIcb‰cClAi#cCi9»Icl`ˆacCb6…†cb.oap†§0…†lAc
 p#bh´Ccm6…†cŠžnIcl`ˆacC“abf…†i#cghciŸƒ„oap#rcCŠŽsuÃÄ=w?ÅAÆÇA€™´Ccl`ˆqg•¸cl`i3„clAghcCbhcCbS¤‘=…†l`rci(Šhl`“ai(oamAcCb
ƒ„lAi˜qbPn(oqp#rÈnIcl`ˆacC“abf…†i#cg8sGÃÄ®w¾Å–ÆÇA€‚
š.cCb¹nIcl`ˆacC“abf…†i#cghc*ƒ„l`i(˜qbPn(oap#rÉsGà Įw¾Å–ÆÇ €0cCi,ghe(˜am–g…†lAcœº,‘=’*“›“abf…†l`i(oXgPciN…†cb ° p#i#Œ,gPca•
…†cCbhcCiOÊ6cClAe(ci†§u“[mAˆ[cJnIcbPclAgPŠkl`r²ƒ„l`i(˜qbPn(oap#rÁ…†cCbk,‘?’*“,“[bP…#lAi(oqghcCi3sGj‰€*§ucŠ¾gPˆacm`cˆag8l`ŠgC•
…«‚ e‚`•E…†lAc˺,‘?’.“›“[bP…†l`i(oqghci̊l`i(…Ìi#l‡dfe,g¯Š“[bgPlAcCbg‚~š.l`cËncClAˆ[c“[bP…†i(cghcCĩ„l`i(˜qbPn(˜ap#rc
suÃÄ=w?ÅAÆÇA€À„cbf…†ciÎÍ[“aiϒki#“aghciδCpВki#“aghciΌ›m`cl`i#cb•En#l‡ŠOŠhdfe#m`l`c³am`l‡dfeÌnIcl`rÑm`cgh´ghcCi
’ki#“aghci‹•n#´C8‚*ƒ„m‡oXggœ…†cCŠœƒ„lAi(˜abhnoqp#rcCŠžsGj‰€‰lAr·nIcl`ˆac“[bP…#i#cgPci£ƒoqp#rsGëÄ=w?ÅAÆÇA€‰i›p#b
i#“†dfe3…†cCb ° p#i#Œ,gNˆacŠ¡Icl‡dfe#cbhgžl‡ŠgC‚¨Ò‰l`cbPnIcll`ŠgN6l`dfe,gPlAˆ•¸…#oq³9lAi!…†ci¢ƒ„m`˜qgghcCbhiŸ…†cCŠ
nIcl`ˆac“[bP…#i#cgPci9ƒoap#rcCŠsuÃÄ=w?ÅAÆCÇA€*i#l‡dfe,g8i,p(bk…#lAcº,‘=’*“›“abf…†l`i(oXgPca•ÓŠ“[i(…†cbPi9…#cb ° p#i#Œ,g
oqiOŠl‡dfe£ˆ[cCŠh¡cCl`dfe#cCbgkl‡Š¾g‚™Ô›“arlAgkp(rž§Go[ŠhŠg8…†cbEµ‘?šœƒ¹l`i(˜abhn(oap#rU…†ciOƒ„cbPcl‡dfe¨© «ª «¬ ­—
© ºIª ºÓ¬ ­=•Xl`iJ…†cCrυ†l`c„i ° p#i#Œ,gPcoai#ˆacC“abf…†i#cgŠhlAi(…‚šœoqe#cCb0…†cb—Õ.oarJc„‘‹µqšœƒ„cbPcl‡dfe(Šhn(oqp#r
sGƒ6€‚
Ö×GØI×GØ ÙÚ,۔Ü8ÝCڛÞß%à‹áaàßÚ
âãqä(åaæIçè,é[ê#ëIìOíîqë(ï›ðañ,íïqæ(ï(ç,òéIìóîXëaêô?í«õ
ö÷›ø ë†è¹ùúÓç ÷ ï¢â ÷ åqæ†û ÷ ë ÷ ä!üþý#å ÷ ü,ë ÷†ÿ è#ï ÷ ç ÷ û#ïaæ4ú,óï ÷ ï
Xë†è ø ë›è„ùñÓça
ï ›ë†æ #ï†ã!ï(ç ÷ ï#ì!ð XûIçêIï ÷ ì†çaå ÷ î†ã,ï ÷ íïqæ(ï(ç,òéIìóîqë[ê
!#"%$&%('*)+,+-.!%0/-1 !-+3254.!76&&%$68
:9 ; <=6,%0=6&%$7%&>?@
AB &>7C%&D<3=)-@&+FEBGH!+!=6&&%$I J&K >&.!
C%&D<!-.%!#"&$&%3E0E:GMLNPORQTSU
VW %@%3X@&.687YD#Z?@<&([\!-=.Z?@<&]G^2
_`QbacedG
f<+g%,!.6&%$]G!,h1 %!-+3$@&3@&K >
i-jkQTlmlnO-Go!3f
Z%?@<&pG2pqrOtsRuvlndGf<%+g%,!-36&$]G^!%
h-1 !-+.&wgF@&&K >,i jkQ`lmlnO !(
y _`QTaced{z )+9|&)&K > +fW}t2 _`QTaced~
x
€B
y qOtsRuvlnd‚z )+9|&)&K > +fW}ƒ2 qOƒsRuelndƒ~
„B
C%&D<3=&,EBGM!=i jkQ`lmlnO J&K>BG*)@!%
y _`QTaced !+F@…%$.!FE7E:GM)@!y qrOtsRuvlnd !+{K >
-!FE=E,!F)@!L NPORQTSU GH!-. %!#"&%$&&%
E=EW
†B‡&%,E
ˆŠ‰‹ˆ Œ,tŽ7Ž’‘Ž5t“”–••&—–“”˜Ž
™HšT›œ˜šTžTŸ¡ £¢% ¤–¥¦–§W v¨ všª©r«¤ƒ¬­®¯±°n§³²µ´ ­¶¶H¶®¶·¢%šb £¥¸P¢%šb¯* v¶¤ƒšb¹¶­žT º§W v¨ všª©r«¤¤t®©r« ­®¤t» eŸ¡¼«¨ƒ›B½W v¨r¢% v¶
¾À¿-šb vž¢% …¨W§W v¨ všª©r«¤¤t®©r« µšª¤Á›W …¤…« …¨­®¤ƒÃv®%Ķ¢% v¶Å½W vžª©r« µÆB®¶´&›ƒ ¤ƒšb©r«šT¶M …šT¶ …¯Ç­¶» …» v¬- v¶ v¶^§W …¨ƒ …šb©r«^¬ vĶ¢% …¶’¾
È v» v¬- v¶M¤t …šŸ¡¹žb»žbšb©r«^ všb¶H¥¦–§W …¨ƒ …šb©r«¤ƒ¬­®¯É°n§³²W®¶¢^ všb¶§W …¨ƒ …šb©r«ËÊ ÌÍ ÌÎ ÏÌ·Ê ÐÍ ÐÎ ÏѾ
È …¤ƒ®©r«&›º¤tšb¶¢Â5½³šT *¬- v¨ všT›¤Ò …¨ƒ½ŠÓ«¶&›Â
­žbžT *Æ:®¶´&›ƒ Å¢%šb ԚT¶¢% …¯±­¶» v» v¬- v¶ …¶Ë§W v¨ e¸
šª©r«HžTšb v» v¶’¾¦˜šb k¥¸P¢%šb¯* v¶¤ƒšb¹¶­žT º§W v¨ všª©r«¤¤t®©r« Õ¬ ¤Á› v«&›Õ­®¤˜Ãv½W všWÖe¸R¢%šT¯* …¶¤tšb¹¶­žb v¶
§W v¨ všª©r«¤¤t®©r« v¶’¾
ט¯Ø¢%šb …¤ƒ (Æ:®¶´&›ƒ ³­¶Ã… všb» …¶ºÃv®£´Ù¶¶ v¶£´ ­¶¶Ú¶®¶ÚŸ¡¹žb» …¶¢% v¨¯Ô­Û v¶
Ü ¹¨ƒ»¿- v®»& …­¨¶¤t›’» v½³¶ÔšT¨r½W¢Ò v¤t¨ršª¢%©r«Õ v¶’¢Í ­¨r­®Ÿ&´¹¶Ã… v¶&›ƒ¨šT …¨t›¢%šb :Æ:®¶´› :Ãv®Ä¶¢% v¶’¢% …¨ƒ …¶Ì&¸Rݖ¹&¹¨¢šT¶­›ƒ …¶
šb¯7§W v¨ všª©r«*Ê ÌÍ ÌΠϞbšT …» …¶’¾’ÞB¤
½³šT¨r¢Ò¢­¯*šT›
¬ …»¹¶¶ v¶
…¯*šT›Ì®¶¢ÌÎvšT¯ßÖe¸R¢%šT¯* …¶¤tšb¹¶­žb v¶
§W v¨ všª©r«¤ƒ¬­®¯à°náµ²Š¶­©r«o¢% …¯â …¨¤t›ƒ …¶HÝÒ¶¹› v¶ y SeOPlnORQT_ãl Å®·¤t®©r« v¶’Â-­¶o¢% …¯É¤tšª©r«H¢% v¨
ÆÀŸn­¢;›ƒ všbžT›…¾MäR¯±žbšb¶´ …¶á5 všbžb¬­®¯ Ü ¹¶ y SORlnORQ`_`l ½³šT¨r¢¯*š`›ºÌ½W všT›ƒ v¨Ú» …¤ƒ®©r«&›Õ®¶¢‚­¶
å …¢ v¯ÉÝÒ¶¹› v¶’Â Ü ¹¶o¢% v¯É­®¤˜¢% …¨æ®©r«ç%Ÿn­¢ Ü ¹¶MÌMžTšb¶´%¤˜½W všT›ƒ …¨˜» v«&›…Â-­žbžT ºÆB®¶´&›ƒ ¢%šb Õ¨ƒ ©r«&›¤Š¢­ Ü ¹¶^žbšb v» …¶­¶» …Ãv …šT»›…¾ È …¤ƒ®©r«&›µ½³šT¨r¢¤t¹žb­¶» Â%¬šb¤³¢ v¨µÆÀŸn­¢ Ü ¹¶^Ì^šb¯
§Wžb­›t›Õè. v¶¢% v›…¾ È …¶­®¤ƒ¹M½³šT¨r¢Ë¯kšT›ÕÌšb¯é¨ƒ ©r«&›ƒ v¶á5 všbžT¬­®¯ê» …¤ƒ®©r«&›®¶¢;šT¯*¯* v¨
½W v¶¶¢% v¨µæ®©r«ç%Ÿn­¢ Ü ¹¶ÅÌÎ%¨ …©r«&›r¤B½W všT›ƒ …¨ƒ» v«&›(½W v¨r¢% v¶^­žbžT Æ:®¶´&› Ò¢šT žTšb¶´%¤³¢­ Ü ¹¶
žbšT …» v¶.­¶» vÅ všb»›…¾.¦˜šb o殩r« M¯*šT›kÌÎ:¢­® v¨ƒ›Ô¤t¹žb­¶» Â:¬šª¤Ô¢% v¨*ÆÀŸn­¢šb¯ë§Wžª­›t›ÔèÀÎ
v¶¢% e›¾¦­¶¶·½( …¨¢% …¶·¢%šb £§WžªÓ›t› v¨–Ãv½³šª¤ƒ©r« …¶o肮¶¢·èÀλ v稁¼%Ÿm›Â-®¯âÅ®·»®©r´ …¶’¹¬
¤ƒšT Ò všb¶ …¶ÆB®¶´&›…¹%¢% …¨³Æ:®¶´&› Ú­®¤³¢ v¯âæ%®©r«¬ …¨ƒ …šb©r«^¬ …šT¶«­žT›ƒ v¶
¾
ì
í–î\ïðvñrîòótôðeõ¡òö÷ðvöHøWðvñr÷%ðvöoóƒùúbú‹û-øWðvúªürïðºý:òöþÿð òürï- ðvñðªürïHúbðvôðvö’û
Ú ò
µöóürïúbòM÷îöîürï·ôð…óƒòürï&ÿøWðvñr÷%ðvö
ûùË÷Tð–ùùñr÷böîÿðvö·÷%ð…ñÒý:òöþ&ÿƒðû
÷%ð…ñƒð…ö
–ùùñr÷böîÿðvöWðvñðªürï·úTð…ôð…ö’û’îòürïWðvñðªürï·úTð…ôðvö BóÕø!bñr÷oðböð"vøWðTÿƒð
# R÷*ðvöó$Tùöîúbð%(ð…ñƒð&bürïóƒóƒòürïðûBöîürï.÷%ð&ëôúTð&bürïð…ö3ý:ñ$bö"&'3ø!bðo÷TðHð…ñótÿƒðWðvñð(
ªürïóƒóƒòürïð*öòñº÷bð…ó$Ô îú)Tÿ*· òö÷+
, îòóƒôðeõ.- ïñtÿ/Å í–îv" òø!bñ÷+-- ðvñÚ÷bð1-0 ð&Tôðvñ2bö
D ôðótòürïÿûEªók÷TðMýÀõnî÷%ð1F ùö5‚
òö÷G
,
3 ð…÷ð4- ðbôðvùñ÷öðeÿðvö56bö7 ñ8 îò:9.;=<>@?BA/C£
bö·ðböð&( úªîÿƒÿð…ö÷%ð…ö=2µ úªó–úbðeÿ8e" ÿð…óø!Tñr÷oø!bðH ð…ñƒð&`ÿróI- ð:÷%ð…ñJ% òürïðHHTÿ òö÷ ,
ôðóƒürïðvïð…ö’ûôð' ñ8%- õmÿWù^ ÷ðvñK( ð…ñƒð&bürïLv" ø!ªóƒürïð…öM* òö÷1
, ð&Töð…ö\ý:òöþ&ÿ…û…" ø2p ýBòöþ&ÿƒð
îòóÚ÷%ð&N òürï- ðvñðªürïO- ðböïîúTÿƒðvÿ&· íîPbö{÷%ð…öGW ú7 ÿtÿƒð…ñƒöOF ùöO;=<>@?A&:C öbürï&ÿÚöòñk÷Tð
– ùùñr÷böîÿðvö’ûpótùö÷%ðvñö#÷bð\ý:òöþ&ÿƒð^îö{ó$bürï‚ôð…ó$' ð&bürïð…ñtÿ£ø³òñ÷ðvö’û]þQ ööð…ö#÷Tðótð
öòöMîöôðv" ð&Tôÿ³ø(ð…ñ÷%ð…ö=
R
S=TUS=TWV
X Y[L\2]&Y^`_baca=_`Y
Z
dfehgijlknmoqprlsutvwxjxky/o
ssnr
y/ofx{z@w}|~€6‚@€}ƒ$„€~…6‚…}ƒ$„l†
‡/ˆ‰ rm‹ŠMŒ
k ˆ tvwfxjxkyno
s/fŽhrqp5wr ˆ xk ˆ wfxjxkyno~€6‚€}ƒ$„€~…6‚@…}ƒ‘„‹Š
’“rm ‰ rm6ŠMdfeex•”r ˆ– mx—k ˆ w‹|  kx˜kp—wfxjxkyno˜ekhxgx ˆ Š
™ŠZš“›œ@žWœ@ŸB Bž¡lk ˆ x¢xkqex ˆ x ˆ£ˆ ihmx ˆ z‘¢)|¤€)|‘€Eƒ†
t)Škn¥š“›(œžWœ@Ÿ ¦ž+xk ˆ wfeŽmm§ks“m
¨}Š mofx ˆ ”j©¥x{|i“  xhjªk ˆ š“›(œžWœ@Ÿ ¦žgxs ‰ xky/ofxjmxO”r ˆ– m—Ž ˆ gxq«xkngm
¬ xj  x ˆ pr­KŠ
®6Š xesx¯z°“¡iehgx  xnp±”¥Ž  ²kqs5€³r ˆ³´ x ˆˆ xµxs˜™&vwfxjxkyno
ssnr
ynofx•kp
¶ˆ mxjŽhrqpjxynomlsG·i/p±¸xg6Š¹°†
·˜» eybz‘š“›(œžWœ@Ÿ ¦ž†
º Š
¼}Š
¬ o²kqex•· – xk ˆ wleŽhmm½ks“m
¾}Š
 i˜k“¥³€À¿ÁlÂ
Ã}Š
mofx ˆ ™&vwfxjxkyno
ssnr
ynofx`z‘IJŠœ@ŸB›/Æ z‘jlybz¤·
††|~…6‚@…}ƒ$„f†
Ç}Š
·§» eybz‘·l†
™nÈ}Š
xesx5·§»Éjlybz‘·l†
™™Š
”j©¥x{|i“  xhjªk ˆ ·gxs ‰ xkynofxhjmxʔr ˆ– m±Ž ˆ gxq«xk/gm ¬ xj  x ˆ
™“t)Š
¡iehgx  xnp±”¥Ž  ·i ˆ jlybz‘š“›œ@žWœ@ŸB Bž(†G²ksu€}ƒZr ˆµ´ x ˆˆ x³xs
™vwfxjxkyno
ss/r
ynofx•k ˆ± xnp—wfxjxkyno~…‹‚@…}ƒ$„)|+k ˆ± xj
xkngxihj qˆ xmx ˆµË mjr – mqrj  xs ¶ˆ mxjfŽhrp
xsb|1ek ˆ– s5·inp
”j©¥x{|i“  xhj”qr ˆ– m}|  xj§kp˜wfeŽmm³gxs ‰ xkynoxjm±kqs“m§k ˆ
 xnp  xj”¥Ž  x ˆ xm}|Ž ˆ gxq«xkngm ¬ xj  x ˆ pr­6Š
KÌ ÍÏΠгёҏÓZÔÖÕ=ёÒ×ØÕ²Òb×ÙÑ$Ú ÛµÜ2Ò=ÝÜßޑÑ$àá
âäãå6æ“çèéêãëfì‘éíëîïãäð‹ã&å$ã&éñ¹òfì‘óîôêªólãëõhö$é÷hö6ãéëãë+øfù=úqû‘üqý=úþ&ùEÿ íqë
ÿ
!èã&åLì‘éUñ¹òµîhôìLèãå Ië &îòïäèãå )ôë ö$ã Wë !êôïBö8é ïé éãå$öLêéBöZèãå Kéã .ãPèã&ì
÷ã/ì$îê*ö8ãë1ð6ã&å$ã&éñ¹òì$óîôêã&ì .ïí÷ë 6ã&å$÷qéóö
âIéã
¤þ ¤û úqû å`èãë ð6ãå8ãéUñ¹òì$óîhôêãëö¹ì å8éUñ¹òqö`èãê lãéUñ¹òãå ïUî“ö
íqë
ÿ
èîJèéã Iíqëì¤ö8å$ô qö8éíqë*ãéëã/ì)ð6éë å$ófîhôêã&ì`ólãéã&éëãåEôëì$íå$ö$éãå$ö$ã&ë
Øëíå¹èëôë÷ qíë )ôë qö8ãëÊîhóò hë÷qé÷ éUì¤ö íqëPèãå Øë &îhòï`èã&å }ôë ö$ã .ë Iôëè èãå
Kéã .ã*èã/ì!ð6îôêã&ì Wïíq÷Hë
âIéã úqþ/úqû‘üqý `üqý=ú•ôëèµèîqì Øë &ãé÷ã&ë³èãå åLãéëã&ë³ð‹ã&å$ã&éñ¹ò÷qã .ôëèãëã&ë
)ôë qö8ãßèîhôã&å‘ö
)ð6ãé ¤ã/èãê Jëíhö$ã&ëMéê äîhô ö‘ç@ð‹ã&å$ã&éñ¹òfì‘óîôê !éå¹è
ãéëã )ëö8ì8ñ¹òã&éèôë÷Ê÷ã(ö8å$í lã&ë µâIéã&ì$ã )ëö8ì8ñ¹òãéUèôë÷ólãëõhö$é÷hö qíëì‘ö8îëö$ã lãéö
ì‘ö$ãòö åZèéã Ië &îòïßèãåLéê ØîhòêHã&ë³èãå Øë .å¹îh÷qã îhë÷ã &ãé÷hö8ãë )ôë ö8ã ªâßîì
ôñ¹òãë éëèãå{ólãé÷ãíqå8èëã(ö8ãë ö$å8ô ö$ôåEèîôãå$ö .ïí÷ßë
Kéã .ã!èã/ìEð6îôêã&ì
Øë &îhòï
èãåKîhë &ô ã&é÷qãëèã&ë )ôë qö8ã ê ôïö$é ïé &éã&å‘öKêéBö!èã&å hë÷qãäèã/ì ôñ¹ò Wîqèã&ì
éê Iîhô ö‘ç@ð6ãå8ãéUñ¹òì‘ófîhôê íqë .ïí÷ë Eâßîhå¹îhôì‹ãå8÷éóö6ì$éUñ¹òMãéëã ßã&ì8îhê*ö8ã éãë
íqë
åIèéã*ð6ãå8ãéUñ¹òì8ì‘ôñ¹òã
$
(')+*, .-0/1 2+*3
;<
=
!
=
C"
F
?
$
?
879
?
A
:
:
B H"6
V>
n
?
dn
ZY
cb
C"
XW
B[
I7
VW
$
,U
^%
7
#"
?@
@
!
E%
]\
?
2
G**-
)
&%
IJ
LKNM&O1PQSR)T1?%
"6
?
?
B[
45"6
(>
D
1"
edf
&C
%
`_
#
HghiN!
a
u
]%
3%a
]%
C"
lk5@
jg
m7
Do
aq
LKrM&O9P#QHRsT1t"6
1"
CpH
?
pr­6Š
”¥Ž  Š
v
wJxSyzl{|zJ}<~#€z‚ƒ0~#„S…z‚
†l‡2ˆ
‰‹Š^ŒaŽŠ^ŒŠ52?‘A’”“–•j—–˜
™Aš›`œA]ž?Ÿ2 ¡:¢£” š ]ža¤1›&Ÿ¥m›#¡:›#š§¦©¨?Ÿ2ª«,¢¬­›3ŸI®¯?¡¨°]¨?›#¡:›`™–š ¬­›#ž?Ÿš.ž›#ža±§²,¢1®³ …´]›#ž«,¢?Ÿ
«,ª0µi¶‚š ›=¤1š›`œA]žŸ4 :¡¢£” :š.žs¤1›&ŸH¥i›3¡›3š ¦©¨Ÿ2ª?«]¢¬­›3Ÿt®¯¡·3¶i›3š(™–š ¬­›#ž?Ÿš ]ž›3ž^¸¹™–›3¡…º¼»
¤1š ¬­›#ž?Ÿš.ž?«,± ›¥m›#¡:›#š§¦©¨?Ÿª?«,¢¬¾½N¥‚¿D¶‚š ¡:¤;ž9¢¡t¢¬À¶m›#š ›3¡›HªE›#š ´]›3]¡©¤1ž›# ›¥l²,¢¬­››3¡2»
¶m›#š ›#¡ 3¸
Á
ž´.›#ž.¬­¬I›3žt›&Ÿ|´]š ª1 |ž­™Aš¬­›#žŸ2š ]ž›3ž^µ]¤«]žžÂ´.šª +›&Ÿ|žIœA9]¡©¤1šž« ›3žDá:AÄe¢?ž£” 3¸
™Å«]Ÿl¨›3šÆ] 3µ¤«]ÆI¤1›3¡‚›#¡©Ÿ4 :›D¥i›3¡›3š ¦©¨Ÿ2ª?«]¢¬V«,¢Ÿm¤›#¡‚›#¡©Ÿ2 ›#žBœA”.¡:¤šž?«, ›Až£.]ž?Ÿ2 ¡:¢š ›#¡ ¶‚š ¡:¤¸Ç™Aš›&ŸI´]›3Ÿ:¦©¨š ›#¨” ž?«.¦©¨¤1›3¬q´]± ›#š§¦©¨›#žsȦ©¨›#¬H«`¶‚š ›ª›3¡›3šÉ ©ŸÂ®¯?¡I¤1›3žhº]™A¥m›#¡:›C»
š§¦©¨?ŸŸª?«]¢¬Ê½r¥‚¿jªE›3Ÿ:¦©¨¡š ›#ªE›#ž0¸|Ëj.žDÌ4›3¤›#¬Íœ$ž, :›#ž¤›3Ÿm¥m«]¢¬­›3ŸÎ·#›#š ´, i›#š žÏE›#š ´]›3¡i«]¢1®
¤1š ›Ð;¢¡:·#›#± £9ž, :›#žh¤1›3Ÿ–Ì4›#¶m›#š ± Ÿ…Ñ]¸;ªE›#š ´]›#.¡:¤ž›C :›#ž¥mš ž?²,¡:ª?«,¢?¬I›&Ÿ½NÒÓÔÖÕ×&Ø ¿µi¤1›#¡­«,¢?Ÿ
¤1›3¡S·#¶m›#š ›3žŽœA9]¡©¤1š ž?« :›B½Nž1»©Ñ&¿$£.]ž?Ÿ2 ¡:¢š ›#¡ $¶‚š ¡©¤¸Ëj.¬¾Ñ.¸…ªE›#š ´]›3]¡©¤1ž›C :›#žŽ¥mšž?²]¡2»
ª?«]¢¬Ù½Ò^ÓÔÖÕ×3Ø¿–·#›3š´] Ŷ‚š ›3¤›#¡ÅÚ]]žÌ4›3¤1›3¬<œ$ž, :›#žÛ›#š žŽÏE›3š´.›#¡A«]¢1®i¤1š ›IÐÛ¢¡:·#›3±£9ž] ›3ž
¤1›&Ÿ0Ì4›3¶i›3š±§Ÿlº1¸+ª›3š´.›#.¡:¤1ž?›C ›3ž¥mšž²,¡:ª?«,¢¬­›&ŸA½NÒÓÔÖÕ×&غ]¿Cµ9¤›#¡‚«,¢?Ÿm¤1›3¡l¤¡š 2 :›#ž…œA9]¡©¤1š»
ž?«, ›Â½Nž1»Öº.¿j£.]ž?Ÿ2 ¡:¢š ›#¡ e¶‚š¡©¤µ”›C :¦]¸¸j™A›#¬ÜÑ.¸|¥l«,¢?¬n¶m›#¡©¤1›3ž­®]± ´]± š ¦©¨Hš ž?Ÿ´]›3Ÿ:«,¬Â –½ž1»©Ñ&¿
¥l²,¢¬­›$ªE›#š ´]›#.¡:¤ž›C &¸
†l‡rÝ
‰¹2ŠÞŽŠ^ŒŠ52?‘A’9’”—A?‘–Š
™Aš›¨°]¨?›#¡t¤š¬­›#žŸ2š ]ž?«]±›¥m›#¡:›#š§¦©¨?ŸŸ¢?¦©¨›H±§²,¢®³ IÚ.]¬ßÄe¡:šž·3šÃ¨›#¡I´]›3ž?«,¢?Ÿ)«]ª^µj¶‚š›
¤1š ›)º¼»Ö¤1š ¬I›3ž?Ÿš.ž?«,± ›¥m›3¡›3š ¦©¨?Ÿ:Ÿ¢?¦©¨›]µiž9¢¡¤«]Æ;š ž‹¬­›#¨¡¥l²]¢¬­›#ža¢ž?¤‹Ÿ2 :«, 2 ¬­šÉ …º
œA”.¡:¤šž?«, ›3ž¬­šÉ (žBœA”.¡:¤šž?«, ›3ž´]›&Ÿ2¢¦©¨. ‚¶m›#¡©¤1›#ž¬Â¢?Æ?¸
†l‡r†
‰¹2Šáàânã^2Š0ä(ãŠ5äʏ˜
勓DŠ^Œ“Åæ2ç
™Aš›DèjéH·3š›3ž·#›3ž›3¡´.›#ªE›#žBŸ2š§¦©¨B«,¢?Ÿ‚¤1›3ž?Ÿ›#± ª›3žBœ$¡:š ›#¡:š ›#ž^µ9¶‚š ›Dš¬êº¼»Ö™–š ¬­›#ž?Ÿš.ž?«,± ›#ž0¸
ëEìí.î2ï.ð^í.ñ#ìjòóEôLõö=÷ùøúûrü&ý9þ9ÿ ªE›#š5º]™f¶m«]¡l›3ŸÍ½žB± ]´­ž¿
ô2ñ1ô2î õ1í.î4ô©ö÷XøLú…ûNü&ý1þ9ÿ ªE›#š|º,™f¶l«,¡l›3ŸÍ½NžB±.´IžE¿
í.ñ¼í]î2ï.ð |ï.ð^í1ö=÷Nûrü&ý þ ª›3š5º,™ ¶l«,¡‚›&Ÿ!" NûNü&ý$#%& '
(
)+*%,.-0/214356/872/69:56,;3=<>76/6?A@B,DCEFG,H*JIAKL1M56,;30E"FG,H*
N KO=1M14356*%/2PQ@B,H/SR*%/25T9VU%,H*%WX
Y[Z]\_^ `acb;deaf$Z]`HY`gf$Z]h ij hilknm aof Zp`HY[`!aq`!Zsr^\q\tjr^`"j hfAf$`hAY[`!aq`!Zsr^\_udejv2wefdexQ\tZsr^
dey]y]`lz|{~}l|af$Z]hd€q`!hMj hf2dypy]`ƒ‚„{~}…†„aqf Zphde€_`hMj h†€_`!a\qr^ `!Zsf$`!h‡ˆ…Z]`\_`ƒ‰Š„aqdj\q\t`!€_‹!jh i
Zs\Œ€HZ]h2f$`aHoadz$Z]\;\_`!^ a;j ha_`gdey]Z]\t€_Zs\_r^‡ˆ…`\_^dypu2bHZpaf&\_Zsr^&kn„ypi„`!hf$`vŽaqZsrMu`gf$Zp`h†€w
j v0f d\;oaquyp`v‹!j‘y]’„\_`!h“
” h i„`!h „v8vA`h8Zpv•‹!jM\_jr^ `!hf$`!hMY[`!aq`!Zsr^–y]Z]`!i`hMf$Zp`loj h †€_`…—˜j hfM—B™Hv8Zp€f$`h
}…†„aqf Zphde€_`h“
— ˜"šœ›ž†Ÿ †¡ j hf4— ™š¢›n£|Ÿe „¡ wf‡ ^‡Bf Zp`o"j h †€_`o^deu¤`!h4f$Z]`oiy]`!Zsr^ `!hƒ‚†{¥}…|af$Z]hd€q`!h‡
” j\[f$`v•"j h †€[— ˜ dehhvMdehMh|j h&f$`hoj h„€;— ˜e¦§šG›ž w †Ÿe w „¡ vMdr^ `hw†Zphf `!v
vMdeh2`!a\Œ€¨f$Z]`4‚†{¥}…|af$Z]hd€q`…deh
f$Z]`oz|{¥}…|af$Z]hd€q`Šj hfDf dh hVf$Z]`oz|{~}l|„aqf$Z]hde€_`odeh–f$Zp`‚†{¥}…|af$Zphd€_`^©h ie€g‡Bˆƒd\
ª y]`!Zsr^ `Qy]©xe€¨\tZsr^2vAZp€l— ™
vMdr^ `hw\_|fdex‘\tZsr^«—c™ ¦Bš¬›n£ w |Ÿ w £|¡ `!aqiZ]u$€g‡8ˆƒdf j aqr^«Zs\Œ€4i`b[©^ aqyp`Z]\t€_`!€wf dx
\_Z]r^‘f$Z]`4u`Z]f$`h‘oj h †€_`4Z]h‘Zp^a_`h
}l|„aqf$Z]hde€_`!h6j h†€_`aq\qr^ `!Zsf$`hw$€_aqe€q‹f$`v­deu¤`!a…\tkna_€Hf `!aq`!h2`r^†€_`h‘}…|af$Z]hd€q`!h
‹!j2`!aq`h h `h2\_Zphfwf d8f$Z]`
‰Šaq„vAvMd„\Œ€q`!y]yp`Qf$`!a;z|{w$u ‹!b4‡of `!aH‚†{¥}…|af$Z]hd€q`…`h„€\t®a_Zsr^†€‡
¯
° 3cPVWo@B*!1D/6PVU²±GPDRW[PD52*%/29
³ adr%€_Z]hdy´[d„\_rdf$Z]h iDZs\t€[`Zph `ƒµ`a_u¤`\q\_`!a_€_`…ˆƒd€q`!h\t€_aqj †€_ja[‹j a;Y`a_`Z]r^\_\_jr^ `„‡cˆ…Zp`
¶Œf$``f$`\6³ adr%€_Z]hdyƒ´[d\qr!d„f$Zphi«Zs\t€&`\w¨f$Z]`ˆ…dj `!a2f$`!a2·|jr^ `¸Z]v¹u`Zpi„`!„aqf$h`%€_`h
Y;dej vºµ„h» › y]i¸h²¼ ¡ dej$kƒ» ›t½ ¼¾ ¡ ‹!j¿a_`gf$j ‹!Z]`!aq`!h‡¸ˆlZ]`\_`\A\t„ypyv8ZÀ€8Á¨Z]yÀkn`
µ„h6\_a_€_Z]`!a_€_`h ” aqad‚|\[deys\;u¤`!Z]i`!„aqf h `%€q`!a¨·†€_aqj †€_jaHj hfÄä`!Z]i`a_h6a_`gdey]Z]\_Zp`at€;b[`!af$`!h‡
ˆƒdf$j ar^2bHZpaf6f Zp` ” h„€Œb[a_€_‹`!Zp€[µ„h¸»ÆŞÇÉÈgÊ ™%Ë&Ì¿ÍÎ dj$k"» › y]i8h¼ ¡ µ„`!aqu`g\_\_`!a_€‡
Ï;ÐtÑ
ÒSÓtԸՆÓtÔÖ×8؅ӌԫÙ[×|ځۨÜ[× Û¨ÚÝ4ÔÓ_ÞSß¨Ú àŠá¤×$Ótâ"ã¨àŠäåæàŠÕ|áàŠØlÓ_ã¨ç¿àŠÛ…Õ è
Y[`!Z]vé³aqd„r€qZphdyQ´[d„\_rdf$Z]h iJb[`!af$`!hœf$Z]`¸z|{~}l|„aqf$Z]hde€_`!h²f$`a&oj h„€q`æbHZ]`¸u¤`!aq`!Zp€q\
i`^deu €w[Zph²`!Z]h `vê\_a_€_Z]`!a_€_`!h²Y[Zph©eaqudej vëi`\_®¤`!Zsr^ `!a_€‡œˆ…Zp`‚„{~}…†„aqf Zphde€_`hìb`at{
f$`h6^ Z]h i„`!i`h2\t€qde€t€HZ]h2`Zph`!vu¤`!Z]i`af$h `%€q`!h‘Y;dej vZ]h‘\t„at€qZp`at€q`!h ” aqaqd‚$\bHZp`ƒkny]ie€
i`g\t®¤`!Zsr^ `at€g‡
ˆl`a&í«j aq‹!`!y]|h e€q`!h²µ„vëY[Zph©eaqudej vë‹!`!Z]ie€2dej$k4f$`!hî`aq\t€_`hï\_a_€_Z]`!a_€_`h ” aqaqd‚„w
b[`!ysr^ `!aVdypy]`µ„aqv8v8`!hf$`!hð‚†{¥}…|af$Z]hd€q`!h«`!h†€_^©yÀ€g‡ˆ…`!aA‹!b[`!Zp€_`wy]Zph`6}Qhe€_`h
Z]vñY[Zph©eaqudej vñv8ZÀ€–f `!h«z|{¥}…|af$Zphd€_`h‹`!Z]ie€Vdej kHf `!hð‹!b[`!Zp€_`hð\_a_€_Z]`!a_€_`h ” aqaqd‚„w
f$`aQdypy]`AZpvñypZ]h `hðäb[`!Z]i2h $r^µ„a_„v8v8`!hf `!h¸‚†{~}l|af$Z]hd€q`!h\_a_€_Z]`!a_€ƒdu i`g\t®¤`%{
Zsr^ `!a_€6^de€‡óòou¤`!h\_¿‹`!Z]ie€Äf$`!a2‹!b[`!Zp€_`„wlaq`r^†€_`æ}Qh e€q`!hœZ]vôY[Zph©a_udej v¹v8ZÀ€Äf$`h
z|{¥}…|af$Z]hd€q`!hMdej$kf `!h&‹b`ZÀ€q`!h&\_a_€_Z]`!a_€_`h ” aqaqd‚„w„f$`a[dypy]`lZ]vÆaq`r^†€_`h6äb`ZpiVh $r^
µ„a_„v8v8`!hf `!hÆ{¥}…|af$Z]hd€q`!hÄ\t„at€qZp`at€Qdeu i„`\_®`Z]r^`!a_€l^d€ƒ{;j hf\_&b[`!Zp€_`a‡Q‰Š„h
õ `f `!vf$aqm u¤`!aqypZ]`!i„`!hf$`h ” aqaqd‚Ai`^ `!h‘ä`!Z]i`a"‹!j6f$`!h õ `!b[`!Z]y]\[f$aqj h†€_`!a[y]Zp`i`!hf$`!h ” at{
ad‚|\w$f$Z]`ƒbHZ]`Qkny]ie€Hi„`\_`%€_‹!€¨\tZ]hf“
ö`gf$`!a ” h$kÉdh iµ„v ” aqad‚^d€…‹!b[`!Zcä`Zpi„`!ag‡ˆ…`!a¨`aq\t€_` ” a_ad‚^de€l`!Z]h `h¸Ã`!Z]i`!a
‹!jv÷ypZ]h `h¿j hf¿òoZ]h `h¿‹!jvøa_`gr^†€_`!h ” aqaqd‚„‡ðˆ…`!a8‹b`ZÀ€q`6y]Zph` ” a_ad‚ð^d€8`!Z]h `h
ù
ú¤ûüpý„û!þlÿ$þqü_û
pü„û
¨þqþoü û
æÿ
$þqü_û¸þqû_û¨þqþ
þ%
$ û!ü _û!&
!"#
'!"_" û!þ$
û
ÿ!û!ü]ý(*)Œû $ ûü+",$ü]ûoü-$þ./¤û!þpü]û!ý„û
! û
0¨þqþlýû"1¤û!ü+ û!þ_û23546#7#þ$ü!8qû
(9:)Œû&$ûDûü û¨þqþ$þ! qû!þpü]û!ý„û
! û0 3;46##„þ ü!(_û 7 üpû=<>$ûþ¨ü?$þ./¤û!þpü]û!ý„û
*3
$û@l
þ_þ8
ýû&"1¤û!ü+ û!þ_û3;4A#7#„þ$ü!(_ûlü+"%
B6 * þ,CEDF üpû=l
þ_þ*"6"
# þ_ ü]û!þG!!HAüAú¤ûüpý„û!þGIû!þ"_û
û"_ü!,J"1!eþGKE
"_ü üpûKL7! û–üH$
û!þG¤
/ û!ü]ýû
„
# þ ûMq û
Lq þ! þ&%G…
B üpû&t" ûKLq þ þ6û
NOEE!
ýû&" ü_ û
_ û[
P û!þqû!ü+!"/!(@%
QSRUT
VXWY[Z]\A^A_a`Wbc^AWY,d*`fehgji
k6l7mn o(pn(mmqsrtl!o8rtqhu8pwv
' ý„û
# OAûyxCz{!yx,|}"tü!ƒÿ $ û!ü '#„þ*7ýû
NI #Ey~6/*)Ξ
_û,%J„û û"C~6/*)Œû !([
ûü ûG€'O8
û!þE"L*.!"t" ûU%2…
B üpûN'#„þ! ýû‚"tü!&üF$û
F"#„þqüpûþqû
‚lþ_þ*"
ƒ z! ƒ ¨
| ý„û"
1 ûü ûþ&%J€A‚"#Ep û=(p ûG~6/Œ) û
_û¨üxCzS!‚xf|6( ý„û!ÿû!ü]ý( $ û!þ$û
,
$ ûþ_û@L*!.!"_" û
ü„[
P û!þqû!ü+… w† w‡ ˆCp ü]û!ý„û
,%
‰
Š6‹!‹wŒ7ŽK&
‘ ’“•”*–—˜™!šš“
˜S›*“œ=6žŸ “
¡¢“£E¤E¥§¦f¨‚š’¥›©¢“’˜ª«“
’+š“’›*“¥¢’+š–—j¬­’¢K›*“
¥®”*–—˜™!š ¯
A
š“
˜¥®›“
œF6ž*Ÿ “¡¢“£ ¤E¥°¦C±²'›f³ —,³´›*’“µ
ª«“
’¢“”7¶–—“¡8·(¥¥®¬O’¢¸'’˜¹º“£E¤ ¥°»:“’¼ “
ϴ
¹º¤E˜¼E“¥!›*“œ¬K·(½ “
¥­£E“œ¬O’“›*“¥¾ª«“
œ›*“
¥C¿JÀH“
¥¥=ÁN±Â ’Ã:“
’¥6ž*Ÿ “
¡¢}¬O’¢«›*“¬Ä”*–—!˜™!šš“
˜ÅEÆ
¼E“&šÇ:“
’+–—“œ¢2—!·8¢&²Eš¤Gª’œ›È“’¥‚»:“’¼ “
œ2µ
¶OÁ ¨ ¼ “šÇ“’–—“œ¢&²8µ
¶K›*“¬É¡7˜“’¥!š¢“¥=”*–—˜™!šš“
˜
Ê Å Æ ³cËG’ž*¢A“šS¡ “
’¥“
¥@š¤E˜+–—“
¥•”*–—˜™!šš“˜U²š¤Oµ
“
’¼(¢'›*“œ6»:“
’¼E“œS£E¤E¥@ÁG±( ’ÃC’¥!šÌC“
“
œ“E³
ÍÎ!Ï 7Ð8ÑÒ(ÓUԌ8‹Ô
‘A’“y”*–—˜™!šš“˜:›*“œA6ž*Ÿ “
¡¢“G£E¤ ¥¦ ± ¶¥!›F¦f¨(²›’“G’¬ÖÕ«“œ“’–— ×w¿ ×:Ø Ãf˜’“
¼ “
¥,²*š¤E˜˜“¥
·(¥!¼E“
µ“
’¼(¢Ùª«“
œ›*“
¥,³Ù»:¶“œš¢cš¶–— ¢}¬K·E¥­¬O’¢}×¾’¥KÁ ± ²E¶¬Ú›*“
¥K¡7˜“
’¥!š¢“
¥=”*–—!˜™!šš“
˜ Ê ×
µ
¶FÛ!¥›*“
¥,³«ÜÙ¤E¥•›*’“š“
¬„¡7˜“’¥!š¢“¥”*–—˜™!šš“˜ Ê ×¼E“— ¢'¬K·E¥F’¬ÞÝ'œœ·×K¥!· –—@œ“&–— ¢š
²
ž’+šGµ
¶ß›*“
¬à¼ œá ½(¢“
¥”*–—˜™!šš“˜Sâã×wØw¶¥!›µ
“
’¼(¢0·(˜˜“­›·Ež“’ÙÇ!·Ešš’“œ¢“
¥H6ž*Ÿ “¡¢“O·(¥,³
‘6’“@”7¶!–—“¥!·E–—ä×ߒ¥jÁ ± ˜+åEšš ¢­¬O·E¥äž:“
’Ýy ’ÃS“
¥›*“
¥,³ß‘6“
œK”*–—˜™!šš“
˜«£E¤ ¥äÝy ’Á’+š ¢
¹º¤E˜¼E˜’+–—F›*“œ¡7˜“’¥!š¢“N’¥¦ ± Ê × ³
‘6·H›*’“FÝA¥¥!·E—¬O“FªS·(œ&²Ù›·EšO›*’“•”*–—˜™!šš“
˜›*“œK6žŸ “
¡¢“F£E¤ ¥j¦f¨“
’¥“FæA¥¢“
œ·8¯
¥¤ œ›*¥7¶¥!¼›*“
œ=”*–—!˜™!šš“
˜S›*“
œ‚6ž*Ÿ “¡ ¢“‚£ ¤E¥j¦ ± ž’˜›“
¥,²a—“
’½(¢O›·Eš²c›· š¾›*“œK»w“
’¼E“
œ
£E¤ ¥çÁG±( ’Ã'·(¶¹G›*“¥j¡7˜“
’¥!š ¢“
¥®”*–—˜™!šš“
˜S£ ¤E¥çÁ ¨ µ“
’¼(¢&²a›*“œ Ê ×©’š¢³j”*¤E¬O’¢K¡8·(¥!¥
›*“¬„»:“
’¼E“œa¼ “M¹º¤E˜¼(¢Sª«“
œ›*“
¥=¶!¥!›‚’¥@Á ¨ ¼E“¥!·(¶=ª’“Gµ
¶£ ¤Eœ«’¥@ÁG±A¥!· –—‚œ“–—¢ša¼E“¼ ·(¥¯
¼E“¥ª«“
œ›*“¥,²,ž’+š0µ
¶ß›*“¬è¼EœáE½E¢“¥H”*–—˜™!šš“˜â×wسK‘G·E›*¶œ–—ß›·(¶“œ¢y›· š0Ý'¥µ“
’¼E“¥
›*“œO6ž*Ÿ “¡ ¢“‚£ ¤E¥ç¦ ¨ ¥¶!œOêé ë•ìÖ¡í­»:“
’¢²Ùª«¤Ež:“
’«¡H›’“FÝ'¥µ&·(—˜S›*“
œ­·(¥¼ “
µ“
’¼(¢“¥
Ý'¥¢ ª«¤Eœ¢“¥·(¥!¼E’ž*¢³
îSïUð
ñ•òó?ôßõCòö÷Gò õCø
Ý'¥¼ “
¥¤ ¬O¬­“¥ä“š¾š¤ ˜˜a¥!·E–—j6žŸ “
¡¢“¥ä¼E“&š¶!–—¢yª«“
œ›*“
¥C²2›“
œ“
¥©×¯5ù6¤7¤Eœ›*’¥!·8¢“
¥
’¬„Õ«“
œ“
’+–—Âûú(ü!¿ ýþÃf˜’“
¼ “
¥,³
»:¶“œš¢Cš¶–— ¢,¬K·E¥Gª’“Ùµ
¶!£E¤Eœ,·E¶!–—,²&¬O’¢,ÿG¶¥!›GÿfØM¶¥›Nǜ™¹s¢²ªa“˜–—!“2ÿ¯;ù6¤¤ œ›’¥!·(¢“¥
’¬ Õ«“
œ“
’+–—‚˜’“¼E“
¥C
³ ;¬ “
œš ¢“
¥ùN¥!¤(¢“
¥ Æ ¼E“
—¢S“
’¥•»w“
’¼E“
œ«µ
¶!¬„Ý'¥¹h·(¥¼O›*“šS“œ¯
š¢“
¥KÝAœœ·×*š{Á ± ²›*“šš“
¥O“
œš ¢“×¯5ù6¤7¤Eœ›*’¥·8¢“«›*’“'¡7˜“’¥!š¢“’+š¢² ›’“¼ œá ½E“
œ2¤*›*“œ}¼E˜“
’+–—
ú(üçéh›*“œ¾×¯;ùA¤7¤Eœ›*’¥!·8¢“=·(¶!š­›*“¬ µ
¶çš¶!–—“¥!›*“
¥§Õ«“
œ“
’+–—íN’+š ¢&
³ ;¥j›*’“&š“¬ Õa“’šÇ’“
˜
ªSå(œ“6›· š›*’“y
ú ³{ÜÙ¤E¥@›·O·(¶!š«¼E“—¢S¬K·E¥¥!· –—‚œ“–—¢š²7ž’+šS¬O·E¥F·E¶*¹J“’¥!“
¥•”*–—˜™!šš“
˜
¼EœáE½ “
œ·(˜+šý þ¾¢œ’ :¢A¶¥!›@µ“
’¼(¢A·(˜˜“šS˜’¥¡*š6›·£E¤ ¥F·E¥,³aÝA¥!š–—!˜’“
½ “
¥!›‚¹º¤E˜¼(¢A¬K·E¥@›“
¬
»:“’¼ “
œ&²(›*“
œ2£E¤ ¥­›“
œ}
ú Oéh›“
¬É¡7˜“
’¥!š ¢“
¥K”*–—˜™!šš“˜ Ê ×í{·(¶*¹wÁA¨Sµ
“’¼E¢
³ ;¥­›’“&š“
¬ !·E˜˜
µ
“’¼E¢'›*“
œG»w“
’¼E“
œ'·E¶*¹Ù›*“
¥”*–—˜™!šš“˜f¬O’¢6›“
œ '¶!¬­¬O“
œ Eü!²›*“
¬?¡7˜“’¥!š¢“¥”*–—˜™!šš“
˜
ëü
!#"%$!'&()+*-,.0/21!)+&43256,')+78)+(9,::/-0,;<&=*>)?;<&43>/?@A7(B/256,,.C9D)+()?
E <; &(:F0/>/G)?:03>*HI83?@0JC)?*K1!*HL!M)?*K,:B/ON!PRQS#JC)?/H)+5UTV,::W.(0/H)+*OXWY Z[/G3?]\::)2^_7C`a)+b43H)dc$!
e @0JC)+*>)+ E ;<&(:F0/>/G)?:f5hgi)+*>)+B;<&R:)?1)+#ji)+*<JC)+/H;<&0:)+M!:B;<&#,(1)?k+)?13?
lOmSn
oqpGrts#uwvxpGrAyvfrzyhpH{
|~}rx€(}dGpH‚(ƒ
„ (. *>;<&…T(*<,;†3>$!0,:ˆ‡i,/>;+,J((1c)+*>78)?/>/G)?*G3x56,-4.0*JC)O‰W)+3H)+29SF(*J()igK)?*H)?;<&V/H/H.0;<&()!@
JC)Š/G&0,:7RjD*<JR,.0;<&‹ˆ.(*OJC)dŒ%6k+)+0k9SF(*DJC)ŽgK)?*H)?;<&V/H/H.0;<&(),(1)?1)?7V)?x@!c!)+*>1:;<&0)+
53J()+*DŒ%6k+)+0kŽ9SF(*JC)2gi)+*>)+B;<&0/H/H.0;<&()_53‘:9S)-JC)Š/DgK)?*H)?;<&V/G70,.(5)?/?
’ˆ“<”z•—–˜ˆ™zšŠ•›8™œ(˜!“>žŸ˜4 ¡˜4•—¢¤£zšŠš?¥¢¤£z˜8¦
§f¨>©ª+«—¬­®8©¡¯K°]©¤±+ª<©²¡¬®ˆ³!´Ÿµ·¶¸¯­>³‹®¹tº†»
¼½+¨H½+¬ª>¾ˆ±+¿>©ÀCÁ´ŸµÃ—ÄÅŠÆ †ÇRÈÊÉ(Ë
™x“<”z•—–˜ˆ™zšŠ•›8™œ(˜!“>žŸ˜4 ¡˜4•—¢¤£zšŠš?¥¢¤£z˜8¦
§f¨>©ª+«—¬­®8©¡¯K°]©¤±+ª<©²¡¬®ˆ³!´ŸµÃ—ÄŊÆC̈ÍfÎ ÇRÈÏÉ(Ë
¼½+¨H½+¬ª>¾ˆ±+¿>©ÀCÁ´ŸµÃ—ÄŊÆCÌ ÇRÈÏÉ(Ë
Ð
ÑÓҟÔÕDÒ#Ö×#Ò#Ø2ÙAØ2ÕOÚÛÜÕiÝzÕ
Þ 9S$:1)+VJC)+àßd)+70)+3H)+#á0VJC)Ü3JC)2gi)+*>)+B;<&0/>/G.0;<&0).x ,(]\4ji)+VJC.((1Vâ
㠄 ¡, 3>)+ˆ70,(b)?
ãä $78$3Hb
ã ßd)?$5)Ü3>*HB/>;<&()+gi)+*>)?;<&(ˆ.((1!)+
㠇K$!5å(.C3H)?*H1!*>,å(&(b
Ñ
æç×#ÙAè-éêéëÕDÒ#ì¡è2ÙAÙz×Ò#Ø
\JC)?/H)+* E 3>)+::)Oji)+*<JC)+ŸJC)í_.0,!JˆîðïA*>)+)Š/+@¡ñJˆîðïA*>)+)Š/.(0J ä ,(1!)ÜîðïA*>)+)Š/AT($*>5Ãc$!
\707(:BJCˆ.((1!)+($C;<&(56,:f1!*H$!7Rk?.0/H,55Ÿ)?(1)+9,/>/a3DJ(,*H1!)?/G3H)+::3?
\.(M!)+*<JC)+5ò/G0JJC)Œ%6k+)+(k?)+)?()?*ïz,7V)?::)Žk+.0/>,55)+01)Ü9,!/H/G3?
óó
ôŠõ
ö
÷UøùDú+úÜù
ûàüýHþ‹ÿ?ý
ü ü ý ü ý ü ÿ#ü ü !
"# ý +ý%$!&'(Šÿ $)&***
" ',+%*-./++10
+12
Quadtrees, Christian Höner zu Siederdissen
Quadtrees
Eine Betrachtung dieser lang
genutzten Art der Datenrepräsentation
Christian Höner zu Siederdissen
Universität Bielefeld, September 2003
[email protected]
Quadtrees sind einer der älteren Datenstrukturen in der Informatik.
Sie dienen derAufteilung von Räumen und werden trotz des Vorhandenseins
neuerer Strukturen weiterhin in vielen Bereichen verwendet.
Im Folgenden wird eine Art der Quadtree-Konstruktion genauer betrachtet,
sowie die Vor- und Nachteile dieser Datenstruktur.
1
Quadtrees, Christian Höner zu Siederdissen
Grundlegende Beschreibung von Quadtrees
Quadtrees sind eine einfach zu programmierende Struktur die in gewissen Bereichen höchst effektiv
eingesetzt werden kann, was es wert macht, sich diese genauer zu betrachten.
Quadtrees sind den verketteten Listen ähnlich und es wird davon ausgegangen das der Leser eine
Vorstellung davon hat, wie diese aussehen und programmiert werden. Die Literaturliste enthält
Hinweise auf Texte zu Listen.2 Für die beschriebenen Operationen sollte Basiswissen der
Geometrie ausreichend sein, da die Operationen im zweidimensionalen Raum dargestellt
werden.
Einige beispielhafte Anwendungsgebiete für Quadtrees
Das hauptsächliche oder zumindest bekannteste Anwendungsgebiet ist die Computergrafik.
Quadtrees eignen sich gut zur Speicherung von Landschaften und besonders Spiele greifen
häufig auf diese zurück. Ebenso helfen sie beim Ray-Tracing und „hidden surface removal“.
Weitere Anwendung finden Quadtrees unter anderem in der Bildanalyse und Bildkompression.
Definition des Quadtrees und der Knotenstruktur
Quadtrees dienen der Raumteilung. Objekte
innerhalb des partitionierten Raumes werden
nach ihrer Position in Gruppen geordnet. Die
Ordnung entsteht durch eine Baumstruktur in
der jeder Knoten entweder vier oder keinen
Kindsknoten enthält. Die Kindsknoten selbst
sind durch ihre geometrische Position
geordnet, wobei es keine Überlappungen der
Kindsknoten gibt. Knoten ohne weitere
Kinder werden Blattknoten genannt.
Seite
Ecke
Kante
Pseudocode der Struktur eines Knotens Erklärung
Knoten{
Elementliste
enthält die gespeicherten Objekte im Knoten
Kinderliste
enthält die 4 Kindsknoten (wenn existent)
Vater
verweist auf den Vaterknoten
Boundingbox
speichert die Position des Knotens in der Ebene
}
2
Quadtrees, Christian Höner zu Siederdissen
Ein Hinweis
Ausgehend von der beschriebenen Grundstruktur werden im Folgenden Operationen auf
Punktmengen durchgeführt. Punktmengen eigenen sich zur Demonstration hervorragend, da sie
nur durch ihre Koordinaten in (hier) zwei Dimensionen bestimmt werden. Im Anhang sind
Verweise zur Nutzung von Quadtrees für andere Datensätze als Punktmengen zu finden. Die
Literaturliste mag ebenso als Einstieg dienen.
3
Quadtrees, Christian Höner zu Siederdissen
Einen Quadtree aus einer Punktmenge erstellen
Die Grundoperation ist das Erstellen des Quadtrees selbst auf einer Menge. Die zu benutzende
Menge soll aus aus n Punkten mit jeweils (x,y)-Koordinaten bestehen, welche sich alle in einem
definiert begrenzten Feld befinden.
Sämtliche Punkte der Menge müssen von dem so genannten
Wurzelknoten eingeschlossen ein, welcher eine weitere
Bedingung erfüllen soll, seine Seitenlänge soll einer
Zweier-Potenz entsprechen. Dies ermöglicht für das
Beispiel eine einfache Partition des Raumes, stellt jedoch
für die Nutzung des Trees an Sich kein Muß dar.
Durch die Andeutung des Wurzelknotens ist bereits zu sehen,
das der Quadtree relativ viel „leeren Raum“ umschliessen
wird.
Der Partitionsalgorithmus verläuft relativ einfach: Befinden
sich im momentan Knoten (hier: der Wurzelknoten) nur
noch ein oder kein weiterer Punkt, so kann die
Partitionierung dieses Knoten beendet werden. Wenn dies
nicht der Fall ist, wie im Bild, so muss der aktuelle
Knoten weiter unterteilt werden, da jeder Knoten nur
maximal einen Punkt umfassen soll.
4
Quadtrees, Christian Höner zu Siederdissen
Sollten zwei oder mehr Punkte in diesem Knoten seien, so
werden für den Knoten vier Kindsknoten erzeugt und alle
im Knoten vorhandenen Punkte auf die vier Kindsknoten
verteilt. Es werden in jedem Fall alle vier Kindsknoten
erzeugt, auch wenn diese leer sein sollten nach Verteilung
aller Punkte. Dies vereinfacht und beschleunigt auf dem
Quadtree arbeitende Algorithmen.
Sollten sich Punkte auf den Trennlinien der Kindsknoten
befinden, so werden diese nach einer einfachen Formel
auf die Kindsknoten verteilt. DeBerg1 nutzt in seiner
Beispielimplementation Folgende:
Die vier Unterknoten NE, NW, SW, SE mit den
Mittelpunkten:
Xmid := (X+X‘) / 2
Ymid := (Y+Y‘) / 2
Verteilen nach:
Pne := {p € P : px > Xmid && py > Ymid}
Pnw := {p € P : px <= Xmid && py > Ymid}
Psw := {p € P : px <= Xmid && py <= Ymid}
Pse := {p € P : px > Xmid && py <= Ymid}
NE..SE sind die Unterknoten nach Kompassrichtung
Xmid, Ymid der Mittelpunkt des Knotens
Pne..Pse Einfügepunkt nach Unterknoten
p € P Punkt aus Punktmenge
Rekursiv wird nun für die vier vorhanden Kindsknoten
ebenso partitioniert, falls noch mehr als ein Punkt der
Menge sich in dem Quadrant des Kindsknoten befinden
sollte.
Dies Partitionierung erfolgt, wie in der Grafik ersichtlich, nur
im südwestlichen Knoten.
Dieses Verfahren wird solange fort geführt bis sich in jedem
einzelnen Knoten maximal ein Punkt der Punktmenge
befindet. Hierbei ist es durchaus normal, das an einigen
Orten sich Mengen von Knoten häufen, da dort mehr
Punkte auf engem Raum sind, als an anderen Orten.
5
Quadtrees, Christian Höner zu Siederdissen
Für die Partitionierung gelten folgende Kosten an Rechenzeit und Speicheraufwand:
Die Tiefe des Baumes:
d
Kleinste Punktdistanz:
c
Seitenlänge des Wurzelknotens
s
Die Anzahl der Punkte, welche im Baum
gespeichert werden sollen:
n
Die Anzahl der benötigten Knoten:
O ((d+1)n)
(in einem Baum mit „d“ Ebenen existieren maximal „n“ Knoten auf
jeder Ebene)2
Die benötigte Zeit zur Erstellung des Baumes:
O ((d+1)n)
(Anzahl der benötigten Knoten, Knoten können in konstanter Zeit
erstellt werden)2
Die minimale Tiefe des Baumes:
O (log n)
(optimale Verteilung führt zu log n Ebenen)2
Die maximale Tiefe des Baumes:
O (log (s/c))
Anzahl der Blattknoten bei vollständiger Balancierung2: (s/c)²
Pseudocode zur Partitionierung eines Knotens und Verteilung der Punkte auf seine Kinderknoten
Teile_Knoten (Punktmenge, Boundingbox)
wenn card(Punktmenge) <= 1 „return“
„erstelle Unterknoten“
„verteile Punktmenge nach Unterknoten-Boundingbox“
„für jeden Unterknoten:“
Teile_Knoten (Unterknoten->Punktmenge,
Unterknoten->Boundingbox)
6
Teile_Knoten nimmt eine Menge von
Punkten an und eine „Box“, die diese
Menge umfassen soll.
Sollte es nur noch maximal einen Punkt in
der Menge geben, so muss nicht weiter
geteilt werden und der Algorithmus
kann abbrechen.
So der Algorithmus nicht abbrach, werden
alle vier Unterknoten erstellt.
Mit Hilfe eines Algorithmus und
einfachen Regeln wird die
Punktmenge nun in vier Submengen
geteilt, welche auf die erstellten
Unterknoten verteilt wird.
Jeder der Unterknoten kann wieder mehr
als einen Punkt enthalten, deshalb wird
rekursiv der Algorithmus auf jeden
Unterknoten angewandt.
Quadtrees, Christian Höner zu Siederdissen
Dynamische Operationen auf einem Quadtree
Der erstellte Quadtree ist bisher noch statisch. Um ihn dynamisch zu machen soll es möglich sein,
beliebige Punkte zu löschen und einzufügen in den Baum. Ein Punkt wird nur dann gelöscht,
wenn er auch existiert, also gefunden wird, bzw. nur dann eingefügt, wenn er noch nicht an der
entsprechenden Stelle existiert. Alternativlösungen zu diesem Verfahren finden sich im Anhang
und auch in den Game Programming Gems3 4 5 6.
An Operationen werden das Einfügen, Löschen und Finden des nächsten Nachbarn besprochen.
Speziellere Formen von Quadtrees bieten noch weitere Möglichkeiten, doch soll dies ein
möglichst generischer Ausblick auf Quadtrees werden. Weitere Operationen werden detailliert in
den angegebenen Quellen aufgezeigt.
7
Quadtrees, Christian Höner zu Siederdissen
Das Einfügen eines Punktes in den Tree
Ein Punkt soll in den Quadtree eingefügt werden. Im
Wurzelknoten ist ein Punkt vorhanden.
Der einzufügende Punkt wird zunächst dem
Wurzelknoten hinzugefügt. Die Punktmenge im
Wurzelknoten ist in diesem Beispiel >1 deshalb wird
eine Partitionierung des Wurzelknotens durchgeführt
und beide Punkte auf die Kinderknoten verteilt.
Wäre kein Punkt im Wurzelknoten gespeichert gewesen,
so hätte auf eine Partitionierung verzichtet werden
können.
8
Quadtrees, Christian Höner zu Siederdissen
Ein weiterer Punkt wird dem Quadtree hinzu gefügt. Dieser
Punkt kann nicht im Wurzelknoten zu liegen kommen, da
dieser bereits mindestens einen Punkt enthält. (Der
Wurzelknoten ist partitioniert)
Der hinzu zufügende Punkt wird an den passenden Subknoten
weiter gereicht. (in diesem Falle der süd-westliche)
Da auch in diesem Knoten bereits ein Punkt vorhanden ist, wir
der Knoten geteilt und beide Punkt auf passende
Kinderknoten verteilt.
Da nun im gesamten Baum wieder maximal ein Punkt je
Knoten existiert, ist das Einfügen beendet.
Für das Hinzufügen gelten folgende Kosten an Rechenzeit und Speicheraufwand:
Die Knotentraversierung:
O (log n)
O (n) bei degeneriertem Baum
Die Einfügeoperation:
Gesamtbedarf an Speicher und Zeit:
O (1)
Zeitbedarf: O (log n) + O (1) (+ Balancierung)
(+ eventuelle Balancierung (siehe unten))
Speicherbedarf: O (1)
Pseudocode zum Einfügen eines Punktes in den Quadtree
Knoten <- root
Die Funktion wird mit dem Wurzelknoten „root“
beginnen
Punkt_hinzufügen (Knoten)
wenn „Knoten leer“ oder „nicht vorhanden“
„füge Punkt in Knoten ein“
sonst „finde den Punkt einschliessenden Kindsknoten n“
„erstelle 4 Kindsknoten“
„füge Punkt in passenden Knoten ein“
Punkt_hinzufügen (n)
9
sollte in dem jetzigen Knoten keine Partitionierung
vorhanden sein und ebenfalls kein vorhandener Punkt,
so füge den Punkt ein. Sollte der Knoten nicht
existieren, so wird er beim Einfügen erstellt. (wenn
der erste Punkt überhaupt eingefügt wird)
Ansonsten finde den passenden Kindsknoten (siehe
Formel weiter oben) und erstelle die vier Kindsknoten
(so nicht bereits vorhanden).
Füge dann den Punkt in den Kindsknoten ein.
Der Kindsknoten könnte ebenfalls mehr als das Maximum
an Punkten enthalten, deshalb rufe die Funktion
rekursiv auf dem Kindsknoten auf.
Quadtrees, Christian Höner zu Siederdissen
Das Löschen eines Punktes aus dem Quadtree
Es wird davon ausgegangen das der zu löschende Punkt
durch seine geometrische Position (x/y-Koordinaten)
genau zu bestimmen ist und im Tree existiert. Der
den Punkt haltende Blattknoten ist auf die selbe Art
zu finden, als würde man den zu löschenden Punkt in
den Tree einfügen wollen. Beginnend von der
Wurzelebene aus wird der Baum traversiert bis zum
Blattknoten.
Der Punkt wird nun aus dem Blattknoten gelöscht.
Rekursiv werden folgend die aufsteigenden
Vaterknoten untersucht und solange die Kindsknoten
gelöscht und eventuell vorhandene Punkte in die
Vaterknoten kopiert, wie das Partitionskriterium
nicht erfüllt wurde.
In diesem Fall wird eine Teilung entfernt, da im
südwestlichen Knoten nur noch ein Punkt existiert.
10
Quadtrees, Christian Höner zu Siederdissen
Für das Löschen gelten folgende Kosten an Rechenzeit und Speicheraufwand (Freigabe!):
Die Knotentraversierung:
O (log n)
O (n) bei degeneriertem Baum
Die Löschoperation:
O (1)
Gesamtbedarf an Speicher und Zeit:
Zeitbedarf: O (log n) + O (1) (+ Balancierung)
(+ eventuelle Balancierung (siehe unten))
Speicherfreigabe: O (1)
Pseudocode zum Löschen eines Punktes aus dem Quadtree
Initialisiere die Funktion mit dem
Knoten <- root
Wurzelknoten
Punkt_löschen (Knoten)
wenn „nicht vorhanden“ „return“
wenn der Knoten nicht vorhanden ist, so
beende hier.
wenn „Punkt in Knoten“ „lösche Punkt“
Sollte der Punkt im Knoten vorhanden
sein, so wird der Punkt gelöscht
sonst „finde den Punkt einschliessenden Kindsknoten n“ Der Punkt ist vielleicht in einem der
Kinderknoten dieses Knotens,
Punkt_löschen (n)
traversiere rekursiv den Baum
wenn „mindestens drei Kindsknoten leer“
„kopiere verbliebenen Punkt (wenn
den Vaterknoten“
„gehe in den Vaterknoten“
„lösche Kinderknoten“
11
Bei der Rückkehr aus der Rekursion
wird kontrolliert, ob drei von vier
Kindsknoten leer sind.
vorhanden) in So dem so ist, wird der letzte
verbliebene Punkt aus einem der vier
Kindsknoten in den Vater kopiert, so
ein Punkt vorhanden sein sollte.
Der Vaterknoten löscht nun die vier
Kinderknoten, da sie nicht zur
Partitionierung benötigt werden.
Quadtrees, Christian Höner zu Siederdissen
Den nächsten Nachbarn zu einem gegebenen Punkt finden
Bei bestimmten geeigneten Datensätzen eignen sich Quadtrees hervorragend dafür, den nächsten
Nachbarn zu einem gegebenen Punkt zu finden. Da jeder Punkt in seinem eigenen Blattknoten
liegt, muss der nächste Blattknoten in der zu suchenden Richtung gefunden werden. Soll nicht in
einer gegebenen Richtung gesucht werden, so erfolgt eine Suche in allen Acht Richtungen
(Nord, Nordwest,...) indem die Suchfunktion für alle acht Richtungen aufgerufen wird.
Sollte der Startknoten der Wurzelknoten sein, so kann die Suche
abgebrochen werden, da dann kein Nachbarknoten existieren
kann.
Ist der nächste Nachbarknoten einer der vier Knoten des
Vaterknotens, so ist die Suche ebenfalls deutlich vereinfacht und
es müssen nur noch eventuelle weitere Kinderknoten verglichen
werden.
Sollte dem nicht so sein, wir solange in die nächst höhere Ebene
gegangen, bis entweder der Wurzelknoten erreicht wurde, oder in
einen entsprechenden Nachbarknoten des Vaterknotens
gewechselt werden kann. Von diesem Nachbarknoten aus muss
dann in die Blattebene des Knotens gegangen werden, welche
sich eine Kante mit dem Startknoten teilt. Eine solche Kante
existiert immer, es sei denn, die Seiten des Wurzelknotens
wurden erreicht. In diesem Fall existiert in der angegebenen
Richtung kein Nachbar.
Der nächste Nachbar ist dadurch mit relativ wenigen Schritten zu
finden, solange der Tree nicht degeniert ist. In degenerierten
Bäumen ist die Suche deshalb erschwert weil es viele Ebenen
gibt.
Für das Finden des nächsten Nachbarn gelten folgende Kosten an Rechenzeit:
Startknoten:
v
Tiefe des Baumes:
Nächster Nachbar in bestimmter Richtung:
d
O (d+1)
(es muss maximal vom tiefst liegenden Blattknoten bis
zum Wurzelknoten und wieder eine Ebene hinab
gegangen werden)
12
Quadtrees, Christian Höner zu Siederdissen
Pseudocode zum Finden des nächsten Nachbarn:
Nördlicher_Nachbar (Knoten)
Die Funktion soll nur den nördlichen
Nachbarknoten finden. Das Vorgehen ist
analog für die sieben anderen Fälle.
wenn „Knoten = Wurzel“ „return null“
wenn „Knoten = SW“ „return NW“
wenn „Knoten = SE“ „return NE“
temp <- Nördlicher_Nachbar (Vaterknoten)
wenn „temp = null“ oder „temp = blatt“
„return temp“
sonst
wenn „Knoten = NW“ „return SW
von temp“
sonst „return SE von temp“
Sollten wir uns im Wurzelknoten befinden, so
wird abgebrochen, da die Wurzel keine
Nachbarn hat.
Für die südlichen Knoten (eines Vaterknotens)
können einfach die nördlichen Knoten
genommen werden, da immer alle vier
Knoten existieren.
Sollte es sich um die nördlichen Knoten
handeln, so muss der nördliche Nachbar des
Vaterknotens gefunden werden.
Wenn es keinen gibt so wird „null“ zurück
gegeben und die Funktion bricht ab. Sollte
der nördliche Nachbar ein Blattknoten sein,
so wird dieser ebenfalls einfach zurück
gegeben.
Ansonsten wird der passende Kinderknoten des
Nachbarn des Vaters zurück gegeben.
Zwecks erleichterter Darstellung wurde darauf
verzichtet von allen Knoten in die
potentiellen Blattknoten zu gehen. Dies ist
allerdings einfach machbar (besonders in
balancierten Bäumen, siehe unten).
13
Quadtrees, Christian Höner zu Siederdissen
Einen Quadtree balancieren
Das Balancieren eines Quadtrees ist eine spezielle Operation, die nicht wie die vorigen Operationen
zu den Basisoperationen gehört, sondern für bestimmte Nutzungen des Trees wichtig ist,
beispielsweise das Raytracing durch einen Tree. Ob balanciert wird, hängt damit von den Daten
und der Verwendung des Trees ab. Die Balancierung ist die einzige nicht grundlegende
Operation, die behandelt wird, da sie den Baum in einen „vorteilhaften“ Zustand bringt.
Ein balancierter Quadtree soll dabei so verändert werden, das für jeden Blattknoten gilt, das seine
Nachbarn sich maximal um eine gewisse Grössenkategorie unterscheiden. Dadurch sind jweils
nur wenige Schritte notwendig um den nächsten Nachbarn in einer bestimmten Richtung zu
finden.
Oft ist der geforderte maximale Grössenunterschied „2“, ein Unterschied von „1“ würde zu einem
vollständig ausgebildeten Tree führen mit der Maximalanzahl an Blattknoten und Unterschiede
grösser als „2“ führen praktisch zu keiner Balancierung mehr.
Dieser vollständige und korrekte Quadtree soll
balanciert werden, da die Differenz der Kantenlänge
zwischen den beiden grau gefärbten Blattknoten
grösser als „2“ ist. Dies gilt ebenso für andere
Kanten im Baum, diese werden analog bearbeitet,
bzw. deren Blattknoten, bis alle Blattknoten wurden.
Die Balancierung beginnt damit, alle Blattknoten in
eine Liste zu geben. Solange diese Liste nicht leer
ist, wird die Balancierung fort geführt. Begonnen
werden soll mit dem dunkel gefärbten Blatt im nordöstlichen Bereich. Da dieses Blatt eine Kante hat,
die um mehr als den Faktor zwei kleiner ist, wird
gesplittet.
14
Quadtrees, Christian Höner zu Siederdissen
Aus dem Blattknoten wird ein normaler Knoten mit
vier leeren Blättern, die ebenfalls in die Liste der
Blätter gegeben werden. Dieser bearbeitete
(ehemalige Blatt-)knoten fällt dafür aus der Liste
heraus. Sollte sich ein Punkt in dem Knoten
befinden, so wird er in dem korrekten Blattknoten
gespeichert.
Der nächste zu bearbeitende Blattknoten (weiss) wurde
bereits geteilt, da auch dieser Kanten besitzt, die der
Balancierung nicht genügen. Die vier neu erstellten
Blattknoten werden in die Liste der zu Bearbeitenden
eingefügt.
15
Quadtrees, Christian Höner zu Siederdissen
Auch während der Balancierung entstandene
Blattknoten müssen teilweise erneut vier eigene
Blattknoten erzeugen, wenn auch für diese Knoten
die Bedingung der Balancierung nicht erfüllt wurde.
Auch hierbei entstandene Blattknoten müssen in die
Liste der zu Bearbeitenden eingefügt werden, da die
Bedingung für alle Blattknoten später erfüllt sein
soll.
Diese Partitionierung kam nur deshalb zu Stande, weil
in einem anderen Blatt partitioniert werden musste.
Doch mit Setzen dieser vier Kinderknoten ist der
Vorgabe der Balancierung Genüge getan und jedes
Blatt hat zu jeder Seite hin maximal zwei Kanten.
Der hieraus gewonnene Vorteil ist, das der nächste
Nachbar zu jeder Kante in maximal drei Schritten
gewonnen ist.
(1) in den Vater empor steigen
(2) dessen Nachbarn finden
(3) in den (wenn vorhanden) Kinderknoten hinab
steigen
Die Balancierung garantiert dies.
Kosten an Rechenzeit und Speicher:
Knoten im Baum:
m
Knoten im balancierten Baum:
O (m)
Speicherbedarf für den balancierten Baum:
O (m)
16
Quadtrees, Christian Höner zu Siederdissen
Knoten im Baum:
Benötigte Schrittzahl:
m
O ((d+1)m)
(ein Baum der Tiefe d mit maximal m Blattknoten in der
tiefsten Ebene hat garantiert weniger als (d+1)m
Knoten)
Anmerkung:
Die Balancierung eines Trees ist eine potentiell teure Operation, welche allerdings in der Praxis oft
nur wenige Schritte benötigt.
17
Quadtrees, Christian Höner zu Siederdissen
Pseudocode zur Balancierung des Baumes:
Quadtree Balancieren
„alle Blätter in eine Liste geben“
Während „Liste nicht leer“
Der komplette Baum muss
traversiert werden und sämtliche
Blätter des Baumes in eine Liste
gegeben.
Für jedes Blatt in der Liste muss
durchgeführt werden:
„nehme ein Blatt aus der Liste“
Das Blatt selbst wird nur einmalig
verarbeitet
wenn „Blatt muss gesplittet werden“
Sollte es mehr als zwei Kanten
geben zu einer Seite hin:
„erstelle internen Knoten aus Blatt“
wenn „Knoten einen Punkt enthält“
Erstelle vier Kinderknoten in dem
Blatt, womit das Blatt zu einem
normalen Knoten wird.
Füge einen möglichen Punkt in den
passenden Kinderknoten ein.
„Punkt in passendes Blatt einfügen“
„füge die neuen Blätter in die Liste ein“
wenn „Knoten“ hat nun Nachbarn,
die gesplittet werden müssen“
„füge Nachbarn in Liste ein“
18
Die vier neuen Blätter müssen in die
Liste gegeben werden.
Der Knoten könnte Nachbarn
haben, die ebenfalls gesplittet
werden müssen, diese werden
ebenfalls in die Liste gefügt.
Quadtrees, Christian Höner zu Siederdissen
Zusammenfassung
Quadtrees sind eine Struktur zur Datenverwaltung, welche man nur mit Umsicht einsetzen sollte, da
sie ihre Vorteile nur bei sehr bestimmten Datensätzen entfalten können. Dies liegt besonders
daran, das Quadtrees nicht die Daten selbst partitionieren, sondern den Raum in dem diese Daten
sich befinden. Hat man Anwendungen, in denen die Daten relativ homogen im zu
partitionierenden Raum verteilt sind, so sind Quadtrees gut nutzbar, ansonsten besteht die Gefahr
das der Tree degeniert. Besonders negativ wirkt sich dabei aus, wenn der Datensatz auf einige
wenige Orte im Raum sich konzentriert, da dann die maximale Tiefe des Baumes sich immer
weiter von (log n) hin zu (n), mit „n“ als Baumtiefe, verschiebt. Hat man allerdings Daten,
welche sich gut eignen, so bietet der Quadtree einige Vorteile, wie den Zugriff mit Operationen
im Zeitbedarf von (log n) und sehr schnellen Intersektionstests.
In vielen Bereichen der Informatik gibt es neuere und bessere (vor allem: schnellere) Strukturen als
den Quadtree, doch durch seine Einfachheit besonders in der Implementation und durch
Einsatzgebiete in denen die Datensätze vorgegeben oder sehr passend sind bleibt der Quadtree
ein noch immer genutztes Werkzeug.
Alternativen zu Quadtrees sind beispielweise: „BSP-Trees“ „kd-Bäume“. Beide Begriffe mögen bei
der Suche hilfreich sein.
19
Quadtrees, Christian Höner zu Siederdissen
Anhang: eine kurze Vorstellung spezialisierter Quadtrees
Einige der Nachteile des vorgestellten Trees und der Algorithmen auf ihm lassen sich durch
spezialisierte Formen der Quadtreeerstellung umgehen oder zumindest mindern. Dies ist
besonders dadurch vorteilhaft, das ein prinzipieller Vorteil des Quadtrees erhalten bleibt, er ist
sehr einfach zu programmieren. Im Folgenden werden fünf spezielle Formen vorgestellt, die teils
Nachteile kompensieren, teils die schon existierenden Vorteile des Trees noch besser nutzbar
machen sollen.
Reguläre Quadtrees
Reguläre Quadtrees sind balancierte Quadtrees, bei denen alle Blattknoten ausgebildet wurden, die
gewählte Grössenkategorie bewusst „1“ ist. Jedes Blatt speichert in einem Vektor Referenzen auf
alle Nachbarblattknoten.
Intersektionstests, wenn auch nur Intersektion mit den Blättern, wird hierdurch eine extrem schnelle
Operation, da jeweils von einem Blatt zum nächsten gesprungen werden kann. Auch
Verschiebeoperationen von Datenelementen in einen anderen Blattknoten ist schnell möglich.
Diese beiden Vorteile werden allerdings durch einen grossen Speicheroverhead erkauft, welcher
durch viele leere Blätter entsteht. Ausserdem kann es passieren, das sich viele Datenelemente in
einem Blatt ansammeln und somit der Zugriff wieder langsam wird, abhängig von der Struktur,
welche die Datenelemente hält.
Der Knotenzugriff auf einen Blattknoten erfolgt in O (log n) ähnlich dem normalen Quadtree.
Intersektionstests sind in O (1) möglich, solange die Intersektionstests sich auf die Knoten
beschränken.
Der Speicherbedarf steigt von ca. (n * log n) auf (2n).
Objektmengen statt Punktmengen
Objekte unterscheiden sich von Punkten dadurch, das sie nicht nur durch einen Punkt (x,y)
gekennzeichnet sind, sondern ebenfalls durch einen Radius (r). (Rechtecke oder beliebige
Polygone können ebenfalls auf diese Art gespeichert werden, Kreise sind ein einfaches Mittel
zur Erklärung)
Objekte werden nun nicht mehr nur in den Blattknoten gespeichert, sondern können in jedem
Knoten gespeichert werden. Beginnend mit dem Wurzelknoten wird versucht, Objekte in einer
möglichst tiefen Ebene unterzubringen, bei der der Objektrand nicht mit den Knotengrenzen
überlappt. Ausserdem ist jeder Knoten in der Lage mehr als nur ein Objekt zu speichern (zum
Beispiel in Form von Listen).
Sämtliche Operationen auf einem solchen Baum verlängern sich um den Faktor „k“ der Anzahl der
im jeweiligen Knoten vorhandenen Elemente. Ein solcher Baum tendiert dazu, zu degenerieren,
da Objekte oft auf den Knotengrenzen liegen, sich oft gar im Wurzelknoten ansammeln, womit
die Zugriffe im worst case in O (n) liegen.
20
Quadtrees, Christian Höner zu Siederdissen
„lose“ Quadtrees
Lose Quadtrees versuchen Quadtrees für Objektmengen zu optimieren, so das eingefügte Objekte
nach Möglichkeit tiefer im Baum zu liegen kommen, als dies bei einem normalen Baum der Fall
wäre. Dies wird dadurch ermöglicht, das die Knotengrenzen sich jeweils überlappen dürfen, so
das ein Objekt, welches normalerweise nicht in einem Knoten allein gespeichert werden könnte,
dies nun kann.
Für alle Operationen gilt weiterhin, das sie sich um den Faktor „k“, der Anzahl der Objekte im
Knoten erhöhen, doch ist „k“ oftmals deutlich kleiner nun.
Quadtrees mit direktem Zugriff (direct access quadtree)
Quadtrees mit direktem Zugriff sind reguläre Quadtrees in denen Verweise auf die Knoten in einem
Vektor gespeichert werden. Dies erlaubt es auf die Knoten in O (1) Zugriff zu nehmen, wenn
man die geometrische Position des gewünschten Knotens kennt. Diese Art von Baum ist
besonders mächtig, wenn häufig Datensätze in den Baum eingefügt oder aus dem Baum gelöscht
werden müssen.
Operationen auf dem Baum benötigen die selben Zugriffszeiten, wie Operationen auf normalen
regulären Quadtrees. Im Unterschied zu diesen sind allerdings Zugriffe auf einzelne Knoten in O
(1) möglich.
Zu bedenken ist allerdings, das es hierbei um Zugriffe auf Knoten sich handelt. Jeder Knoten hält
eine Liste oder einen Vektor, der die einzelnen Objekte beinhaltet, wodurch der Objektzugriff
um den Faktor „k“ der Elemente im Knoten sich verlängert. Dies kann im worst case bei einem
schlechten Datensatz linearen Zugriff bedeuten und damit O (n).
Octrees
Octrees erweitern den Quadtree um die dritte Dimension, wie der Name bereits andeutet. Anstatt
nur in (x,y) bestimmt zu sein, werden Objekte in Octrees aufgrund ihrer (x,y,z)-Koordinaten in
ein dreidimensionales Gitter eingepasst. Vom hinzu Fügen der dritten Dimension abgesehen,
verhalten sich Octrees allerdings exakt wie Quadtrees und es sind auch sämtliche Operationen
möglich, sowie die Nutzung spezialisierter Varianten.
21
1 Computational geometry : algorithms and applications, Springer, 2e 2000, Marc de Berg, chapter 14, p.291-306
2 Algorithmic geometry, Cambridge Univ. Press, Cambridge, 1998., Jean-Daniel Boissonnat and Mariette Yvinec.
3 Game Programming Gems, Charles River Media, ISBN 1-58450-049-2, p.439 – 443, Octree Construction by Dan
Ginsburg
4 Game Programming Gems3, p.444 – 453, Loose Octrees by Thatcher Ulrich
5 Game Programming Gems 2, Charles River Media, ISBN 1-58450-054-9, p.388 – 393, Compressed Axis-Aligned
Bounding Box Trees by Miguel Gomez
6 Game Programming Gems 25, p.394 – 401, Direct Access Quadtree Lookup by Matt Pritchard
Fgt"MF/Dcwo
Lcp"Uejcghgt
UU"4225
Cwuctdgkvwpi"|wo"Xqtvtci"ko"Tcjogp"fgu
Ugokpctu"Cniqtkvjokuejg"Igqogvtkg
cp"fgt"Vgejpkuejgp"Hcmwnv v
fgt"Wpkxgtukv v"Dkgnghgnf
Xgtcpuvcnvgt
Ocvjkcu"Mcv|gt
Octe"Jcpjgkfg
Kpjcnv
30"Gkpngkvwpi
40"Oqvkxcvkqp
50"Cejvwpi<"*M"F+kogpukqpgp
60"Mqpuvtwmvkqp"gkpgu"MF/Dcwou
603"GhÞ"|kgp|"fgu"Mqpuvtwmvkqpucniqtkvjowu
70"Cniqtkvjogp"cwh "fgo"MF/Dcwo
703"Dgtgkejuuwejg
70303"GhÞ"|kgp|"fgt"Dgtgkejuuwejg
80"Xgtingkej"okv"cpfgtgp"Fcvgpuvtwmvwtgp
90"Cpygpfwpigp
:0"Hc|kv
30"Gkpngkvwpi
Yqtwo"uqnn"gu"kp"fkgugo"Cwhucv|"igjgpA"Fgt"Vkvgn"uciv"gu"dgtgkvu<"Gu"igjv"wo"MF/D wog0"Fkgug"Ctdgkv"gpvuvcpf"
ko"Tcjogp"fgu"Ugokpctu"Cniqtkvjokuejg"Igqogvtkg0"Fgt"Uejnwuu"nkgiv"pcjg."fcuu"gu"ukej"dgk"MF/D wogp"wo"
Fcvgpuvtwmvwtgp"kp"Dcwohqto"jcpfgnv0"Wpf"igpcwuq"kuv"gu"cwej0"MF"uvgjv"fcdgk"h¯t"M/fkogpukqpcn0"Fgt"Cwhucv|"
dgjcpfgnv" gkpg" Dcwofcvgpuvtwmvwt." fkg" h¯t" dgnkgdkifkogpukqpcng" Fcvgp" gt|gwiv" ygtfgp" mcpp0" Ykg" h¯t" D wog"
¯dnkej."uq"gto inkejv"cwej"fkgugt"gkpgp"uejpgnngp"¥witkhh "cwh "fkg"kp"kjo"gpvjcnvgpgp"Fcvgpgngogpvg0"Yqtkp"gt"
ukej"igpcw"xqp"cpfgtgp"D wogp"wpvgtuejgkfgv"ugk"jkgt"pqej"pkejv"xgttcvgp0"Xgttcvgp"yktf"pwt."fcuu"fkgug"Uejtkhv"
Gkpdnkem"igdgp"yknn"kp"fkg"Fcvgpuvtwmvwt"MF/Dcwo0"Ykg"ukg"gt|gwiv"yktf."ygnejg"Cniqtkvjogp"gu"cwh "kjt"ikdv."yq"
ukg"|wo"Gkpucv|"mqoov."ykg"ukg"ko"Xgtingkej"okv"cpfgtgp" jpnkejgp"Uvtwmvwtgp"cduejpgkfgv"wpf"cnu"Itwpfncig"
fkgugu"ngv|vgp"Rwpmvgu"pcv¯tnkej."kp"ygnejgp"GhÞ"|kgp|mncuugp"ukg"ukej"dgygiv0
40"Oqvkxcvkqp
Igigdgp" ugk" gkpg" Ogpig" igqogvtkuejgt" Rwpmvg" kp" dgnkgdkigt" Fkogpukqp0" Lgfgt" Rwpmv" dgÞ"pfgv" ukej" cp" gkpgt"
gkpfgwvkigp"Rqukvkqp."hguviguejtkgdgp"cnu"ugkpg"Mqqtfkpcvgp0"Pwp"uvgnngp"ykt"wpu"Htcigp"dg|¯inkej"fgt"Cpqtfpwpi"
fgt"Rwpmvg0"¥wo"Dgkurkgn<"Ygnejgt"Rwpmv"nkgiv"co"p ejuvgp"dgk"gkpgo"dguvkoovgp"igigdgpgpA"Ygnejg"Rwpmvg"
nkgigp"kp"gkpgo"igykuugp"DgtgkejA"Gu"ikdv"gkpg"Ogpig"Htcigp."fkg"ocp"dg|¯inkej"fgt"Cpqtfpwpi"fgt"Rwpmvg"uvgnngp"
mcpp0"Wo"gkpg"Cpvyqtv"cwh "fkgug"Htcigp"|w"Þ"pfgp"o¯uugp"qhvocnu"cnng"Rwpmvg"dguwejv"wpf"¯dgtrt¯hv"ygtfgp0"
Lgfgphcnnu"ygpp"ocp"cwh "fkg"pckxg"Ygkug"cp"fcu"Rtqdngo"jgtcpigjv0"Fkgu"kuv"pkejv"ugjt"ghÞ"|kgpv0"Fkg"GhÞ"|kgp|"
mcpp"gtjgdnkej"xgtdguugtv"ygtfgp."ygpp"ocp"|wp ejuv"fkg"Rwpmvogpig"kp"gkpgt"iggkipgvgp"Ygkug"xqtxgtctdgkvgv"
wpf"Xqtdgfkpiwpigp"uejchhv0"Fkgug"mcpp"ocp"ur vgt"h¯t"gkpgp"ghÞ"|kgpvgtgp"¥witkhh "cwh "fkg"Rwpmvg"cwupwv|gp0"
Pcv¯tnkej" mquvgv" fkgug" Xqtxgtctdgkvwpi" cwej" ¥gkv" wpf" Urgkejgt0" Uvgnnv" ocp" ukej" fkg" ingkejg" Htcig" hvgtu."
o inkejgtygkug"pwt"okv"xgt pfgtvgp"Rctcogvgtp."yktf"ukej"fgt"Cwhycpf"cdgt"uejpgnn"nqjpgp0
Gu"ikdv"xgtuejkgfgpg"Ogvjqfgp."fgp"¥witkhh "cwh "gkpg"igqogvtkuejg"Rwpmvogpig"|w"qrvkokgtgp0"Ogkuvgpu"ygtfgp"
fkg"Rwpmvg"|wp ejuv"kp"gkpgt"urg|kgnngp"Fcvgpuvtwmvwt"cdigngiv0"Cwh "fkgugt"Fcvgpuvtwmvwt"gzkuvkgtgp"Cniqtkvjogp."
fkg"dguvkoovg"Qrgtcvkqpgp"ghÞ"|kgpv"cwuh¯jtgp0"Fcdgk"ikdv"gu"pkejv"gkpg"ädguvgÑ"Fcvgpuvtwmvwt0"Ykg"uq"qhv"kp"fgt"
Kphqtocvkm"jcv"lgfg"Ogvjqfg"kjtg"Xqt/"wpf"Pcejvgkng"wpf"ocp"owuu"cdy igp"ygnejg"h¯t"gkp"igigdgpgu"Rtqdngo"
fgp"it ̌vgp"Pwv|gp"dtkpiv0
MF/D wog"ukpf"gkpg"fkgugt"Ogvjqfgp0"Ukg"ukpf"h¯t"fcu"
fkg" Dgtgkejuuwejg" |wiguejpkvvgp0" Cnuq" h¯t" fkg" Htcig<"
Ygnejg"Rwpmvg"nkgigp"kp"gkpgo"igigdgpgp"Dgtgkej0"
Urg|kgnn" dgk" D wogp" vtkvv" qhvocnu" fcu" Rtqdngo" fgt"
Gpvctvwpi"cwh0"Gkp"gpvctvgvgt"Dcwo"jcv"cnng"ugkpg"Dn vvgt"
gpvygfgt"cp"fgt"tgejvgp."qfgt"cp"fgt"nkpmgp"Ugkvg"lgfgu"
Mpqvgpu" j pigp0" Gt" ingkejv" cnuq" xqp" fgt" Uvtwmvwt" jgt"
gkpgt" Nkuvg" wpf" jcv" cwej" fkg" ingkejgp" Gkigpuejchvgp"
ycu" fkg" GhÞ"|kgp|" cpigjv0" Fcu" o ejvg" ocp" o inkejuv"
xgtogkfgp0"MF/D wog"igjgp"cwej"fkgugu"Rtqdngo"cp0
50"Cejvwpi<"*M"F+kogpukqpgp
Ykg" dgtgkvu" gty jpv." m ppgp" MF/D wog" h¯t"
dgnkgdkifkogpukqpcng" Fcvgp" gt|gwiv" ygtfgp0" Fgt"
Cdd04<"Gpvctvgvgt"Dkp tdcwo"okv":"Dn vvgtp0"Oczkocng"Vkghg
jkgt<"p"/"3"?"90"Fcjgt"¥witkhh "cwh "gkp"Dncvv"ykg"dgk"gkpgt"Nkuvg"kp"Q*p+0
Gkphcejjgkv" jcndgt" o ejvg" kej" cp" fkgugt" Uvgnng" fgp"
Cwhucv|" |wp ejuv" cwh " |ygk" Fkogpukqpgp" tgfw|kgtgp0"
Ygpp"cwu"fgo"Vgzv"pkejvu"cpfgtgu"jgtxqtigjv."uq"ukpf"uvgjvu"4fkogpukqpcng"MF/D wog"*gkigpvnkej"lc"4F/D wog+"
igogkpv0"Cp"iggkipgvgt"Uvgnng"ygtfg"kej"fcpp"lgygknu"fkg"Gtygkvgtwpi"cwh "M"Fkogpukqpgp"xqtpgjogp."ygpp"fkgu"
pqvygpfki"kuv0"H¯tu"gtuvg"igp¯iv"gu"ko"Mqrh "|w"dgjcnvgp."fcuu"cnngu"ycu"kp"fgp"p ejuvgp"Mcrkvgnp"iguciv"yktf"ukej"
kp"tgejv"cpcnqigt"Ygkug"xqp"|ygk"cwh "ogjt"Fkogpukqpgp"¯dgtvtcigp"n uuv0
60"Mqpuvtwmvkqp"gkpgu"MF/Dcwou
Gkp"MF/Dcwo"kuv"gkp"dcncpekgtvgt"Dkp tdcwo0"Fkg"Ctv"wpf"Ygkug"ugkpgt"Mqpuvtwmvkqp"ictcpvkgtv"fkgug"Gkigpuejchv0"
Fcokv"jcv"gt"pcv¯tnkej"cwej"fkg"Gkigpuejchvgp"gkpgu"uqnejgp0"Fgt"¥witkhh "cwh "gkp"dgnkgdkigu"Gngogpv."qfgt"Dncvv"
mcpp" kp" oczkocn" nqi" p" Uejtkvvgp" tgcnkukgtv" ygtfgp0" Fkg" Cwhvgknwpi" fgt" Rwpmvogpig" cwh " fgp" Dcwo" iguejkgjv"
cpjcpf"fgt"Mqqtfkpcvgp"fgt"Rwpmvg0"Jkgt"uqnn"pwp"|wp ejuv"fgt"Cniqtkvjowu"|wt"Mqpuvtwmvkqp"gkpgu"MF/Dcwou"
/"4"/
fwtej"Rugwfqeqfg"wpf"Dknfgt"gtmn tv"wpf"cpuejnkǧgpf"ugkpg"GhÞ"|kgp|"cpcn{ukgtv"ygtfgp0"Mqoogp"ykt"|wp ejuv"
|wo" Rugwfqeqfg0" Ykg" uq" qhv" ko" ¥wucoogpjcpi" okv" D wogp" mqoov" h¯t" fkg" Mqpuvtwmvkqp" fgu" MF/Dcwou"
gkp" tgmwtukxgt" Cniqtkvjowu" |wt" Cpygpfwpi0" Fkg" gkp|kig" Xqtdgfkpiwpi" kuv." fcuu" fkg" Rwpmvogpig" pcej" lgfgt"
Mqqtfkpcvg"uqtvkgtv"xqtnkgiv0
Cniqtkvjowu"DcwgMfDcwo*R."vkghg+
11"R<"Xqtuqtvkgtvg"Rwpmvogpig
11"vkghg<"Fgt|gkvkig"Vkghg"ko"Dcwo
kh"R"gpvj nv"pwt"gkpgp"Rwpmv
vjgp
tgvwtp"Dncvv"kp"fgo"fgt"Rwpmv"igurgkejgtv"kuv
gnug"kh"vkghg"igtcfg
vjgp"Vgkng"R"kp"|ygk"Wpvgtogpigp"okv"Jknhg"gkpgt"xgtvkmcngp"
Nkpkg"n"fwtej"fkg"okvvngtg"Z/Mqqtfkpcvg"fgt"Rwpmvg"kp"R0"Ugk"
R3"fkg"Rwpmvogpig"|wt"Nkpmgp"xqp"
"
"
wpf"R4"fkg"Rwpmvogpig"|wt"Tgejvgp"xqp"n0
"
"
gnug"Vgkng"R"kp"|ygk"Wpvgtogpigp"okv"Jknhg"gkpgt"jqtk|qpvcngp"
"
"
Nkpkg"n"fwtej"fkg"okvvngtg"[/Mqqtfkpcvg"fgt"Rwpmvg"kp"R0"" "
"
"
Ugk"R3"fkg"Rwpmvogpig"wpvgtjcnd"xqp"n"wpf"R4"fkg"Rwpmvogpig"
"
"
qdgtjcnd"xqp"n0
xnkpmu"">/"DcwgMfDcwo*R3."vkghg"-"3+
xtgejvu">/"DcwgMfDcwo*R4."vkghg"-"3+
Gtuvgnng"gkpgp"Mpqvgp"x."fgt"n"urgkejgtv."ocejg"xnkpmu"|w"ugkpgo"
nkpmgp"Mkpfmpqvgp"wpf"xtgejvu"|w"ugkpgo"tgejvgp0
tgvwtp"x
Fkg"Xqtigjgpuygkug"kuv"tgejv"ukorgn0"Ocp"dgikppv"fcokv"gkpg"Igtcfg"gpvncpi"gkpgt"Fkogpukqp"fwtej"fkg"Okvvg"
fgt"Rwpmvg"|w"ngigp0"Fcokv"kuv"fkg"Okvvg"fgt"Rwpmvg"dg|¯inkej"fkgugt"Fkogpukqp"igogkpv0"Fcu"Dgkurkgn"cwh "fgp"
hqnigpfgp" Ugkvgp" dgikppv" xgtvkmcn0" Fkg" gtuvg" Vtgppnkpkg" yktf" pwp" ko" Ywt|gnmpqvgp" fgu" Dcwou" cdigngiv0" Fkg"
dgkfgp"Mkpfgt"fgu"Mpqvgpu"mqttgurqpfkgtgp"okv"fgp"dgkfgp"Jcndgdgpgp."fkg"fwtej"fkg"Vtgppnkpkg"cwhigurcppv"
ygtfgp0"Ko"p ejuvgp"Uejtkvv"ygejugnv"ocp"pwp"fkg"Fkogpukqp"*ko"Dgkurkgn"xqp"xgtvkmcn"pcej"jqtk|qpvcn+."wpf"
vgknv" fkg" dgkfgp" Jcndgdgpgp" kp" fgt" lgygknkigp" Okvvg0" Pcv¯tnkej" lgv|v" fkg" Okvvg" dg|¯inkej" fgt" pgwgp" Fkogpukqp0"
Fkg"Vtgppnkpkgp"ygtfgp"kp"fgp"dgkfgp"Mkpfmpqvgp"fgu"Ywt|gnmpqvgpu"cdigngiv0"Fcokv"mqttgurqpfkgtgp"fkg"xkgt"
Mkpfmpqvgp"fgt"40"Gdgpg"fgu"Dcwou"*ykt"dgikppgp"dgk"2"|w"| jngp+"okv"fgp"xkgt"fwtej"fkg"Vtgppnkpkgp"dgitgp|vgp"
qhhgpgp"Gdgpgp0"Pwp"ygejugnv"ocp"ykgfgt"fkg"Fkogpukqp"*ko"Dgkurkgn"xqp"jqtk|qpvcn"pcej"xgtvkmcn."ocp"igjv"
/"5"/
cnuq"ko"Mtgku+"wpf"vgknv"fkg"xkgt"Wpvgtogpigp0"Uq"h jtv"ocp"hqtv0"Kuv"kp"gkpgt"fgt"Wpvgtogpigp"pwt"pqej"gkp"Rwpmv"
xqtjcpfgp." uq" yktf" fkgugt" |wo" Dncvv" fgu" Dcwou0" Gkpg" ygkvgtg" Vgknwpi" fgt" Ogpig"kuv" pkejv"ogjt" o inkej" wpf"
fkg"Dgctdgkvwpi"fkgugu"¥ygkigu"yktf"dggpfgv0"Fgt"Cniqtkvjowu"vgknv"uq"fkg"igucovg"Ogpig"cwh0"Gu"uvgnnv"ukej"fkg"
Htcig."ycu"rcuukgtv."ygpp"fkg"|w"vgkngpfg"Rwpmvogpig"gkpg"wpigtcfg"Cp|cjn"Rwpmvg"cwhygkuv0Ko"Dgkurkgn"yktf"fkg"
Xqtigjgpuygkug"pqej"ocn"fgwvnkejgt0
Cdd05<"Mqpuvtwmvkqp"gkpgu"MF/Dcwou"h¯t"gkpg"Rwpmvogpig"fgt"O ejvkimgkv"320"Fkg"Tgkjgphqnig"fgt"Mqp/
uvtwmvkqp"kp"fgp"Dknfgtp"gpvurtkejv"pkejv"fgt"Tgkjgphqnig"ko"tgmwtukxgp"Cwhdcw."fkg"fwtej"fgp"Rugwfqeqfg"
dguejtkgdgp"ywtfg0"Fkgug"gvycu"kpvwkvkxgtg"Knnwuvtcvkqp"xgtfgwvnkejv"cdgt"fkg"igpgtgnng"Xqtigjgpuygkug."fkg"
Kfgg"fgt"Mqpuvtwmvkqp"fgu"MF/Dcwou0
Fkg"tgmwtukxg"Hwpmvkqp"y¯tfg"pcv¯tnkej"|wgtuv"xqp"lgfgo"Mpqvgp"pcej"nkpmu"ncwhgp"wpf"gtuv"pcejfgo"ukg"
|w"fgo"Mpqvgp"|wt¯emigmgjtv"kuv"pcej"tgejvu0"Fgt"Dcwo"y¯tfg"cnuq"xqp"nkpmu"pcej"tgejvu"wpf"xqp"wpvgp"
pcej"qdgp"cwhigdcwv0
/"6"/
Fwtej"fkg"Ycjn"fgt"Vtgppwpi"koogt"kp"fgt"Okvvg"fgt"Rwpmvogpigp"kuv"ictcpvkgtv."fcuu"fkg"Cp|cjn"fgt"Dn vvgt"fgt"
|ygk"Mkpfvgknd wog"gkpgu"dgnkgdkigp"Mpqvgpu"wo"oczkocn"3"cdygkejv0"Fgt"Dcwo"kuv"cnuq"dcncpekgtv0"Gu"uvgnnv"ukej"
fkg"Htcig"ycu"rcuukgtv."ygpp"Rwpmvg"fkg"ingkejgp"Mqqtfkpcvgp"jcdgp0"Fkgu"m ppvg"|w"gkpgo"wpdcncpekgtvgp"Dcwo"
h¯jtgp." fc" fkg" Vtgppwpi" kp" fgt" Okvvg" fgt" Mqqtfkpcvgp" pwp" |ygk" xgtuejkgfgpo ejvkig" Wpvgtogpigp" gt|gwigp"
y¯tfg0" Ugnduv" Rwpmvg" okv" ingkejgp" Mqqtfkpcvgp" kp" pwt" gkpgt" Fkogpukqp" m ppgp" |w" fkgugo" Rtqdngo" h¯jtgp0"
Gkpg"O inkejmgkv"y tg."fkg"Mqqtfkpcvgp"|w"mqodkpkgtgp."cnuq"dgk"gkpgo"igigdgpgp"Rwpmv"okv"Mqqtfkpcvgp"*z.{+"
pgwg"Mqqtfkpcvgp"*z{."{z+"|w"dknfgp0"Ingkejg"Rwpmvg"ygtfgp"kp"gkpgt"Nkuvg"|wucoogpighcuuv"wpf"h¯t"fkg"Nkuvg"
pwt"gkpgp"Tgrt ugpvcpvgp"kp"fgt"Rwpmvogpig"dgncuugp0"Fkgu"tgkejv"cwu"wo"h¯t"cnng"|w"dgctdgkvgpfgp"Rwpmvg"kp"
lgfgt"Fkogpukqp"pwt"rcctygkug"xgtuejkgfgpg"Mqqtfkpcvgp"|w"ictcpvkgtgp0"Uqokv"kuv"ukejgtiguvgnnv."fcuu"fgt"Dcwo"
dcncpekgtv"cwuhcnngp"yktf0
603"GhÞ"|kgp|"fgu"Mqpuvtwmvkqpucniqtkvjowu
Ykg" ncpig" fcwgtv" gu" pwp" fkgugp" Dcwo" cwh|wdcwgpA" Wo" cdy igp" |w" m ppgp." qd" gu" ukej" ¯dgtjcwrv" nqjpv" gkp"
Rtqdngo" okv" Jknhg" gkpgu" MF/Dcwou" cp|wigjgp." uqnnvg" ocp" fkgug" Htcig" dgcpvyqtvgp0" Fgt" Gkphcejjgkv" jcndgt"
oqfkÞ"|kgtv"ocp"fkgug"Htcig"ogkuvgpu"gvycu"|w<"Ykg"ncpig"fcwgtv"gu"oczkocn"gkpgp"MF/Dcwo"cwh|wdcwgpA"Fkg"
GhÞ"|kgp|cpcn{ug"h¯t"fgp"yqtuv/ecug."fgp"uejnkoouvgp"Hcnn."kuv"ogkuv"ygugpvnkej"gkphcejgt"cnu"fkg""fgu"cxgtcig/ecug."
fgu"fwtejuejpkvvnkejgp"Hcnnu0"Dgko"cxgtcig/ecug"owuu"ocp"ukej"¯dgtngigp."ykg"fkg"Rwpmvogpigp"cwh "fgpgp"ocp"
ctdgkvgv"yqjn"ogkuvgpu"dguejchhgp"ukpf0"H¯t"fgp"yqtuv/ecug"¯dgtngiv"ocp"ukej"ngfkinkej."ykg"ukg"ko"uejnkoouvgp"Hcnn"
cwuugjgp"y¯tfgp0"Fgt"cxgtcig/ecug"gthqtfgtv"fcjgt"igpcwgtg"Mgppvpku"fgu"Cpygpfwpiuigdkgvu"wo"gkpg"Cwuucig"
fct¯dgt"ocejgp"|w"m ppgp"okv"ygnejgp"Fcvgp"ocp"ogkuvgpu"mqphtqpvkgtv"kuv0"Qhv"igp¯iv"gu"cdgt"dgtgkvu."ygpp"
ocp"ucigp"mcpp<"Gicn"ycu"mqoov."gu"mcpp"pkg"uejnkoogt"ygtfgp"cnu"000"0"Fkgu"gttgkejv"ocp"fwtej"fkg"Cpcn{ug"fgt"
yqtuv/ecug"GhÞ"|kgpv0
Ykt"ykuugp"dgtgkvu<"Lgfgt"MF/Dcwo"kuv"gkp"dcncpekgtvgt"Dkp tdcwo0"Wpf<"Dgxqt"ykt"fctcp"igjgp"m ppgp."fgp"Dcwo"
cwh|wdcwgp."o¯uugp"ykt"|wp ejuv"fkg"Rwpmvogpig"uqtvkgtgp0"Gu"n uuv"ukej"|gkigp."fcuu"fcu"Uqtvkgtrtqdngo"kp"fgt"
GhÞ"|kgp|mncuug"Q*p"nqi"p+"nkgiv0"Gu"ikdv"Cniqtkvjogp."fkg"kp"fkgugt"Mncuug"uqtvkgtgp0"¥wo"Dgkurkgn"Ogtiguqtv"wpf"
Swkemuqtv0"Fkgug"Cniqtkvjogp"uqnngp"jkgt"cdgt"pkejv"gtn wvgtv"ygtfgp0"Ykuugpuygtv"kuv"pwt."fcuu"fkg"Mqpuvtwmvkqp"
fgu"MF/Dcwou"cwh "lgfgp"Hcnn"kp"Q*p"nqi"p+"nkgiv0"Gkpg"dguugtg"GhÞ"|kgp|mncuug"kuv"pkejv"gttgkejdct."fc"ykt"uqtvkgtgp"
o¯uugp0"Gu"dngkdv"fkg"Htcig."qd"fgt"Cwhdcwcniqtkvjowu"kp"gkpgt"uejngejvgtgp"Mncuug"nkgiv0
/"7"/
Ykg"ko"Rugwfqeqfg"|w"ugjgp"kuv."owuu"fkg"Rwpmvogpig"kp"lgfgt"Tgmwtukqp"kp"fgt"Okvvg"igvgknv"ygtfgp0"Fc"ukg"h¯t"
lgfg"Fkogpukqp"uqtvkgtv"xqtnkgiv"wpf"mgkpg"Rwpmvg"okv"ingkejgp"Mqqtfkpcvgp"xqtmqoogp."kuv"fkgu"pkejv"ygkvgt"
uejykgtki0"Ocp"vgknv"ukg"gkphcej"dg|¯inkej"kjtgt"O ejvkimgkv"kp"ingkej"itq̌g"J nhvgp0"Fkgu"owuu"pcv¯tnkej"cpjcpf"
fgt"Uqtvkgtwpi"kp"fgt"cmvwgnngp"Fkogpukqp"iguejgjgp0"Dgiqppgp"yktf"|wo"Dgkurkgn"okv"fgo"mngkpuvgp"Gngogpv"
kp"fgt"uqtvkgtvgp"Nkuvg0"Fkgugu"wpf"fkg"fctcwh "hqnigpfgp"dku"|wt"Okvvg"ygtfgp"gkpgt"Wpvgtogpig"|wigqtfpgv."fkg"
¯dtkigp"fgt"cpfgtgp0"Pwp"ikdv"gu"cdgt"gkp"Rtqdngo<"Fkg"Uqtvkgtwpigp"h¯t"lgfg"Fkogpukqp"o¯uugp"kp"fgp"dgkfgp"
Vgknogpigp" gtjcnvgp" dngkdgp0" Wpf" gkpg" Pgwuqtvkgtwpi" mqoov" pkejv" kp" Htcig." fgpp" gu" uqnn" xgtokgfgp" ygtfgp."
h¯t"fgp"Vgknwpiuxqticpi"cwu"fgt"GhÞ"|kgp|mncuug"Q*p+"jgtcwu|wtwvuejgp0"Fkgu"y¯tfg"p onkej."ykg"ingkej"pqej"|w"
ugjgp"ugkp"yktf."fkg"Mqpuvtwmvkqp"fgu"Dcwogu"ncpiucogt"cnu"Q*p"nqi"p+"ocejgp0
Gu" hqniv" pwp" gkp" Xqtuejnci" |wt" N uwpi" fkgugu" Vgknwpiurtqdngou0" Cnu" Fcvgpuvtwmvwt" |wt" Urgkejgtwpi" fgt"
Rwpmvogpig" wpf" kjtgt" Uqtvkgtwpigp" yktf" gkpg" xgtmgvvgvg" Nkuvg" xgtygpfgv0" Fkg" Gngogpvg" fgt" xgtmgvvgvgp" Nkuvg"
gpvjcnvgp"fkg"Rwpmvg"fgt"Rwpmvogpig0"Ko"hqnigpfgp"kuv"okv"Xgtmgvvwpi"gkp"dguvkoovgt"Ygi"fwtej"cnng"Gngogpvg"
igogkpv0"Fctkp"mqoov"lgfgu"Gngogpv"igpcw"gkpocn"xqt0"Fkg"Xgtmgvvwpi"yktf."ykg"kp"xgtmgvvgvgp"Nkuvgp"¯dnkej."cnu"
Hqnig"xqp"¥gkigtp"tgcnkukgtv."fkg"kp"fgp"Gngogpvgp"fgt"Nkuvg"igurgkejgtv"ukpf0"Fkg"Uqtvkgtwpi"h¯t"lgfg"Fkogpukqp"
yktf"cnu"gkpg"uqnejg"Xgtmgvvwpi"cnngt"Gngogpvg"igurgkejgtv0"Gu"ikdv"cnuq"h¯t"lgfg"Fkogpukqp"gkpg"Xgtmgvvwpi"cnngt"
Rwpmvg0" O ejvg" ocp" fkg" Rwpmvg" kp" fgt" Tgkjgphqnig" kjtgt" Uqtvkgtwpi" dguwejgp." owuu" ocp" pwt" fkg" Xgtmgvvwpi"
Cdd06<"Ogjthcej"xgtmgvvgvg"Nkuvg."fkg"fkg"Rwpmvg"gpvj nv0"Jkgt"h¯t"ftgk"Fkogpukqpgp0"Fkg"Rhgkng"tgrt ugpvkgtgp"¥gkigt"xqp"gkpgo"Gngogpv"|wo"p ejuvgp0
gpvncpi"ncwhgp0"Mqoogp"ykt"|wo"Vgknwpiuxqticpi0"Fc"wpu"fkg"O ejvkimgkv"fgt"Nkuvg"dgmcppv"kuv."kuv"wpf"cwej"
fkg"O ejvkimgkv"o"kjtgt"J nhvgp"dgmcppv0"Ykt"fwtejncwhgp"cnuq"o"Gngogpvg"gpvncpi"fgt"Uqtvkgtwpi"fgt"cmvwgnngp"
Fkogpukqp"wpf"octmkgtgp"fkgug0"Ukg"igj tgp"|w"fgt"gkpgp"J nhvg."fkg"wpoctmkgtvgp"|wt"cpfgtgp0"Pwp"hqniv"fcu"
⁄dgtpgjogp"fgt"Uqtvkgtwpi"gpvncpi"gkpgt"cpfgtgp"Fkogpukqp"kp"fkg"dgkfgp"J nhvgp0"Fkgu"iguejkgjv."kpfgo"ykt"
cp" fgt" Xgtmgvvwpi" fkgugt" cpfgtgp" Fkogpukqp" gpvncpi" ncwhgp" wpf" fkg" Octmkgtwpigp" fgt" Gngogpvg" dgvtcejvgp0"
Kuv"gkp"Gngogpv"octmkgtv."uq"gtuvgnngp"ykt"ko"|wngv|v"ighwpfgpgp"octmkgtvgp"Gngogpv"gkpgp"¥gkigt"cwh "fcu"pgwg"
/"8"/
ighwpfgpg0"H¯t"fkg"Wpoctmkgtvgp"xgthcjtgp"ykt"cpcnqi0"
Fkg"Nkuvg"owuu"uq"h¯t"lgfg"Fkogpukqp"gkpocn"mqorngvv"
fwtejncwhgp"ygtfgp0"Ykt"dngkdgp"cnuq"kp"Q*p+0
Okv"fkgugo"Ykuugp"n uuv"ukej"|gkigp."fcuu"fkg"Mqpuvtwmvkqp"
gkpgu"MF/Dcwou"kp"Q*p"nqi"p+"nkgiv0"Fc"fkg"Rwpmvogpig"
dgk" lgfgt" Tgmwtukqp" cwhigvgknv" yktf" wpf" mgkpg" Rwpmvg"
Cdd07<"Tgmwtukqpudcwo"wpf"Uejtkvvg"rtq"Tgmwtukqp"wpf"Tgmwtukqpu/
gdgpg0"Jkgt"h¯t"gkpg"Rwpmvogpig"fgt"O ejvkimgkv":0"Ocp"gtmgppv"fkg"
nqi"p"-"3"Gdgpgp"wpf"fkg"p"Uejtkvvg"rtq"Gdgpg0
xgtfqrrgnv" ygtfgp" wpf" mgkpg" pgwgp" jkp|wmqoogp."
o¯uugp" rtq" Tgmwtukqpugdgpg" Vgknogpigp" okv" gkpgt"
Igucovo ejvkimgkv" xqp" p" cwhigvgknv" ygtfgp0" Fkg"
Vgknogpigp"ygtfgp"|yct"rtq"Tgmwtukqpgdgpg" koogt"wo"fkg"J nhvg"mngkpgt."fcdgk"xgtfqrrgnv"ukej"kjtg"Cp|cjn"
cdgt0"Fkg"Vgknwpi"fgt"Ogpigp"gthqtfgtv"cnuq"rtq"Gdgpg"p"Uejtkvvg0"Fc"fkg"Ogpigp"lgfguocn"jcndkgtv"ygtfgp."ukpf"
ukg" kp" nqi" p" Uejtkvvgp" cwh " gkpgngogpvkig" Ogpigp" |wucoogpiguejtworhv." fgt" Cniqtkvjowu" vgtokpkgtv0" Gu" ukpf"
cnuq"nqi"p"-"3"Tgmwtukqpgdgpgp"p vki"wo"fkg"Ogpig"mqorngvv"|w"|gtvgkngp0"Cwh "fgt"ngv|vgp"Gdgpg"owuu"|yct"
pkejv"ogjt"igvgknv"ygtfgp."gkp"Xgtingkej"kuv"cdgt"fqej"p vki0"Gu"owuu"uejnkǧnkej"igrt¯hv"ygtfgp."qd"pwt"pqej"gkp"
Gngogpv"kp"fgt"Ogpig"xqtjcpfgp"kuv0"Fcokv"jcdgp"ykt"h¯t"fgp"Mqpuvtwmvkqpucniqtkvjowu"gkpg"GhÞ"|kgp|mncuug"
xqp"Q*p"nqi"p+0"Fkgu"iknv"h¯t"¥gkv"wpf"Urgkejgt."fc"gkp"Dkp tdcwo"p"nqi"p"Mpqvgp"wpf"Dn vvgt"gpvj nv"wpf"fgt"MF/
Dcwo"gkp"Dkp tdcwo"kuv0
Gdgphcnnu" iknv" fkgu" h¯t" Rwpmvogpigp" kp" j jgtfkogpukqpcngp" T wogp0" Fkg" Mqpuvtwmvkqpuygkug" fgu" MF/Dcwou"
fwtej"Cwhvgknwpi"fgt"Ogpig"kp"koogt"|ygk"Wpvgtogpigp"gpvncpi"tgkjwo"ygejugnpfgt"Fkogpukqpgp"uqtiv"fch¯t."
fcu"ukej"dgnkgdkifkogpukqpcng"Ogpigp"xqnnuv pfki"kp"gkpgo"Dkp tdcwo"okv"lg"|ygk"Mkpfgtp"rtq"Mpqvgp"urgkejgtp"
ncuugp0"Fgt"Mqpuvtwmvkqpucniqtkvjowu"igjv"dgk"M"Fkogpukqpgp"igpcwuq"xqt"ykg"dgk"|ygkgp0"Nkpkgp"ukpf"fwtej"
Hn ejgp."d|y0"J{rgtà" ejgp"|w"gtugv|gp."Hn ejgp"fwtej"T wog."d|y0"J{rgtt wog0
/"9"/
70"Cniqtkvjogp"cwh "MF/D wogp
703"Dgtgkejuuwejg
Gkpg" urg|kgnng" Cpygpfwpi" xqp" MF/D wogp" kuv" fkg" Dgtgkejuuwejg0" Fcdgk" igjv" gu" wo" fkg" Htcig"
äYgnejg" Rwpmvg" dgÞ"pfgp" ukej" kp" gkpgo" igigdgpgp" TgejvgemAÑ0" MF/D wog" m ppgp" fkgug" Htcig"
qhv" tgejv" uejpgnn" dgcpvyqtvgp0" Wo" fkg" Xqtigjgpuygkug" dgk" fgt" Dgtgkejuuwejg" kp" gkpgo" MF/
Dcwo"|w"gtmn tgp."owuu"|wp ejuv"fgt"Dgitkhh "fgt"Tgikqp"gtn wvgtv"ygtfgp0"Dgk"fgt"Mqpuvtwmvkqp"fgu"MF/Dcwou"
ywtfg"gkpg"Cp|cjn"Vtgppnkpkgp"fwtej"fkg"Rwpmvogpig"igngiv0"Lgfg"fkgugt"Nkpkgp"mqttgurqpfkgtv"okv"gkpgt"igykuugp"
Hn ejg"ko"|ygkfkogpukqpcngp"Tcwo0"Gu"jcpfgnv"ukej"fcdgk"wo"fkg"Hn ejg."fkg"xqp"fgt"Nkpkg"fwtejoguugp"wpf"
igvgknv"yktf0"Fc"fkg"Vtgppnkpkgp"kp"fgp"Mpqvgp"fgu"Dcwou"igurgkejgtv"ygtfgp."mqttgurqpfkgtv"cwej"lgfgt"Mpqvgp"
okv"gkpgt"uqnejgp"Hn ejg0"Fkg"Jkgtctejkg"fgt"Mpqvgp"n uuv"ukej"gdgphcnnu"cwh "fkg"Nkpkgp"¯dgtvtcigp"wpf" w̌gtv"
ukej"fgtctv."fcuu"¯dgtigqtfpgvg"Nkpkgp"fkg"Tgikqpgp"wpvgtigqtfpgvgt"Nkpkgp"dgitgp|gp0"Fkgu"n uuv"ukej"co"dguvgp"
cpjcpf"gkpkigt"Dknfgt"|gkigp0
Cdd08<"Tgikqp"fgt"gtuvgp"Vtgppnkpkg."d|y0"fgu"gtuvgp"Mpqvgpu0"Fkg"Nkpkg."gkigpvnkej"
Cdd0:<"Tgikqp"fgt"ugejuvgp"Vtgppnkpkg0"Dgitgp|v"fwtej"fkg"¯dgtigqtfpgvg"ftkvvg"
/":"/
Ocp" ukgjv" ugjt" fgwvnkej." ykg" fkg" Uvtwmvwt" fgu" Dcwou" ukej" igqogvtkuejg" cwungigp" n uuv0" Qd" gkp" Mpqvgp" nkpmgu"
qfgt"tgejvgu"Mkpf"ugkpgu"Xcvgtu"kuv."dguvkoov"cwh "ygnejgt"Ugkvg"fkg"Vtgppnkpkg"fgu"Xcvgtu"fkg"Tgikqp"fgu"Mkpfgu"
dgitgp|v0"Cwh "fkgug"Ygkug"n uuv"ukej"dgko"Cduvkgi"fwtej"fgp"Dcwo"|w"gkpgo"Mpqvgp"fguugp"Tgikqp"dguvkoogp0"
Kp" fgp" Mpqvgp" ukpf" fkg" Mqqtfkpcvgp" fgt" Vtgppnkpkgp" igurgkejgtv0" Y jtgpf" fgu" Cduvkgiu" m ppgp" pcej" wpf"
pcej"fkg"Dgitgp|wpigp"fgt"Tgikqp"cdigngugp"ygtfgp0"Tgikqpgp"wpvgtigqtfpgvgt"Mpqvgp."cnuq"xqp"Mpqvgp."fkg"
wpvgtjcnd"gkpgu"cpfgtgp"Mpqvgpu"nkgigp."ygtfg"kej"ko"Ygkvgtgp"cnu"wpvgtigqtfpgvg"Tgikqpgp"dg|gkejpgp0"Ukg"ukpf"
fgt"Tgikqp"fkgugu"¯dgtigqtfpgvgp"Mpqvgpu"wpvgtigqtfpgv0"Fkg"Tgikqpgp"fgt"Mpqvgp"wpvgtnkgigp"cnuq"fgt"ingkejgp"
Jkgtctejkg"ykg"fkg"Mpqvgp"ugnduv0
H¯t" fkg" Dgtgkejuuwejg" ukpf" fkg" Tgikqpgp" xqp" Dgfgwvwpi0" Wo" |w" dgcpvyqtvgp." ygnejg" Rwpmvg" kp" gkpgo"
igigdgpgp"Tgejvgem"nkgigp."igjv"ocp"hqnigpfgtocuugp"xqt<"Ocp"uvgkiv"fgp"Dcwo"tgmwtukx"xqp"fgt"Ywt|gn"cwu"
jgtcd."dguvkoov"h¯t"lgfgp"Mpqvgp"ugkpg"Tgikqp"wpf"rt¯hv"cwej"uqhqtv."qd"fkg"Tgikqp"xqp"gkpgt"fgt"Ugkvgp"fgu"
Tgejvgemu"iguejpkvvgp"yktf0"Kuv"fkgu"fgt"Hcnn."uq"o¯uugp"cwej"fkg"Tgikqpgp"fgt"Mkpfgt"fgu"cmvwgnngp"Mpqvgpu"
igrt¯hv"ygtfgp0"Yktf"fkg"Tgikqp"lgfqej"pkejv"iguejpkvvgp."uq"ygǩ"ocp."fcuu"cwej"fkg"Tgikqpgp"cnngt"Mpqvgp"
wpvgtjcnd" fgu" cmvwgnngp" Mpqvgpu" pkejv" xqo"
Tgejvgem" dgt¯jtv" ygtfgp0" Ocp" mcpp" fcpp"
cnuq"fkg"Tgmwtukqp"h¯t"fkgugu"¥ygki"dggpfgp0"
Uvgnnv"ocp"hguv."fcuu"ukej"fkg"cmvwgnng"Tgikqp"
xqnnuv pfki"ko"Tgejvgem"dgÞ"pfgv."uq"m ppgp"
cnng" Dn vvgt" wpvgtjcnd" fgu" cmvwgnngp" Mpqvgpu"
|wt¯emigigdgp" ygtfgp0" Ukg" nkgigp" kp" lgfgo"
Hcnn"cnng"ko"Tgejvgem0
Fkg" Uwejg" uv¯v|v" ukej" cwh " fkg" Jkgtctejkg"
fgt"
Tgikqpgp"
wpf"
Vtgppnkpkgp0"
Fc"
wpvgtigqtfpgvg" Tgikqpgp" koogt" pwt" " fkg"
Hn ejg" kjtgt" ¯dgtigqtfpgvgp" Tgikqp" ygkvgt"
cwhvgkngp" wpf" fkg" ¯dgtigqtfpgvg" ykgfgtwo"
xqp"kjtgt"¯dgtigqtfpgvgp"Vtgppnkpkg"dgitgp|v"
yktf."kuv"mnct."fcuu"cwej"cnng"wpvgtigqtfpgvgp"
Cdd032<"Dgtgkejuuwejg"kp"gkpgo"MF/Dcwo0"Tqv"<"Dgtgkejg."fkg"igrt¯hv"ygtfgp"o¯uugp0"
Uejyct|<"Wpdgt¯jtvg"Dgtgkejg0"It¯p<"Dgtgkejg."fkg"wpigrt¯hv"|wt¯ejigigdgp"ygtfgp"m p/
pgp0"Ocp"ukgjv."dgk"mngkpgo"Uwejdgtgkej""m ppgp"igycnvkig"Gkpurctwpigp"o inkej"ygtfgp0
Tgikqpgp" xqp" fkgugt" Vtgppnkpkg" dgitgp|v"
ygtfgp0" DgÞ"pfgv" ukej" cnuq" fgt" Uwejdgtgkej"
/";"/
|wo"Dgkurkgn"xqnnuv pfki"tgejvu"xqp"gkpgt"Vtgppnkpkg."uq"o¯uugp"fkg"Tgikqpgp"nkpmu"xqp"fgt"Vtgppnkpkg"pkejv"ygkvgt"
dgt¯emukejvkiv"ygtfgp0"Lg"pcejfgo."ykg"fgt"Uwejdgtgkej"cwuh nnv."m ppgp"fcjgt"ygkvg"Vgkng"fgu"Dcwogu"wpdgt¯jtv"
dngkdgp0
70303"GhÞ"|kgp|"fgt"Dgtgkejuuwejg
Gu" hqniv" pwp" fkg" Cpcn{ug" fgt" GhÞ"|kgpv" fgu" yqtuv/ecug" fgt" Dgtgkejuuwejg0" Ykg" uejqp" kp" Cduejpkvv" 603" ¯dgt"
fkg" GhÞ"|kgp|" fgu" Mqpuvtwmvkqpucniqtkvjowu" iguciv." igjv" gu" dgk" fgt" yqtuv/ecug" GhÞ"|kgp|cpcn{ug" fctwo." fgp"
uejngejvguvo inkejgp"Hcnn"|w"Þ"pfgp"wpf"ugkpg"GhÞ"|kgp|"|w"dguvkoogp0"Fkg"Dgtgkejuuwejg."d|y0"fcu"Fwtejncwhgp"
fgu" MF/Dcwogu" wpf" fkg" ⁄dgtrt¯hwpi" fgt" gkp|gnpgp" Mpqvgp" wpf" Dn vvgt." igjv" wo" uq" uejpgnngt" xqp" uvcvvgp."
lg" ygpkigt" Tgikqpgp" xqo" Uwejtgejvgem" iguejpkvvgp" ygtfgp0" Yktf" gkpg" Tgikqp" iguejpkvvgp." uq" owuu" cwh " fgt"
p ejuvvkghgtgp" Gdgpg" gdgphcnnu" igrt¯hv" ygtfgp0" Yktf" gkpg" Tgikqp" pkejv" iguejpkvvgp." mcpp" fkg" Uwejg" h¯t" fkg"
wpvgtigqtfpgvgp" Tgikqpgp" dggpfgv" ygtfgp0" Jkp|w" mqoov." fcuu" fcu" ¥wt¯emigdgp" fgt" ighwpfgpgp" Dn vvgt"
gdgphcnnu"¥gkv"kp"Cpurtwej"pkoov0"Fctcwu"gtikdv"ukej."fcuu"fgt"yqtuv/ecug"fgt"Dgtgkejuuwejg"fcpp"gkpvtkvv."ygpp"
fcu"Uwejtgejvgem"o inkejuv"itq̌"kuv."fkg"igucovg"Rwpmvogpig"wohcuuv0"Fc"fgt"MF/Dcwo"dcncpekgtv"kuv."jcdgp"fkg"
Mpqvgp"cwh "gkpgt"Gdgpg"cnng"fkg"ingkejg"Cp|cjn"Mkpfmpqvgp"*okv"gkpgt"oczkocngp"Cdygkejwpi"xqp"3+0"Fcu"jgǩv"
cdgt"cwej."fcuu"cnng"Tgikqpgp"fkg"ingkejg"Cp|cjn"¯dgtigqtfpgvgt"Tgikqpgp"jcdgp0"Fctcwu"hqniv."fcuu"gicn"yq"ocp"
gkpg" jqtk|qpvcng" qfgt" xgtvkmcng" Igtcfg" fwtej" fkg" Rwpmvogpig"
ngiv." koogt" fkg" ingkejg" Cp|cjn" cp" Tgikqpgp" iguejpkvvgp" yktf0"
Ygpkigt"m ppgp"gu"pwt"ugkp."ygpp"gu"mgkpg"Igtcfg"uqpfgtp"pwt"
gkpg" Uvtgemg" kuv" wpf" fkgug" pkejv" fkg" igucovg" Cwufgjpwpi" fgt"
Rwpmvogpig" ¯dgturcppv0" Fkg" oczkocng" Cp|cjn" cp" Tgikqpgp"
yktf" cnuq" fcpp" iguejpkvvgp." ygpp" fcu" Uwejtgejvgem" cwu" xkgt"
Uvtgemgp"dguvgjv."|ygk"jqtk|qpvcngp"wpf"|ygk"xgtvkmcngp."fkg"fkg"
igucovg"Cwufgjpwpi"fgt"Rwpmvogpig"wourcppgp0"Kp"fgo"Hcnn"
o¯uugp" pcv¯tnkej" cwej" cnng" Rwpmvg" |wt¯emigigdgp" ygtfgp." ukg"
nkgigp"lc"cnng"ko"Tgejvgem0"Fkg"Htcig"kuv"fcjgt."ykgxkgng"Tgikqpgp"
igrt¯hv" ygtfgp" o¯uugp." d|y0" ykgxkgng" xqp" fgp" xkgt" Uvtgemgp"
iguejpkvvgp"ygtfgp0
/"32"/
Cdd033<"Uejgocvkuejg"Fctuvgnnwpi"fgt"Tgmwttgp|0"Ko"Mpqvgp"
cwh "fgt"20"Gdgpg"xgtn whv"fkg"Vtgppnkpkg"rctcnngn"|wt"Dgtgkeju/
itgp|g."gu"yktf"pwt"gkpg"Mkpftgikqp"iguejpkvvgp0"Fkg"Mkpfgt"fgu"
uejyct|gp"Mpqvgp"cwh "fgt"30"Gdgpg"ygtfgp"dgkfg"iguejpkvvgp0"
H¯t"ukg"mcpp"gtpgwv"fcu"Uejgoc"gkpigugv|v"ygtfgp0"Fcu"Uejgoc"
kuv"cnuq"tgmwtukx0"Gu"xgtfgwvnkejv"fkg"Tgmwttgp|hqtogn0
Wo"fkgu"|w"dgcpvyqtvgp."dgvtcejvgp"ykt"pwt"gkpg"fgt"Uvtgemgp0"Okv"fgp"cpfgtgp"xgtj nv"gu"ukej"uejnkǧnkej"igpcwuq0"
Fkg"⁄dgtngiwpi"kuv"hqnigpfg<"Jcdgp"ykt"gu"okv"gkpgt"fgt"xgtvkmcngp"Uvtgemgp"|w"vwp."uq"gtigdgp"ukej"|ygk"H nng0"
Fgt"gtuvg"Hcnn"vtkvv"gkp."ygpp"fkg"Vtgppnkpkg"fgt"cmvwgnn"dgvtcejvgvgp"Gdgpg"gdgphcnnu"xgtvkmcn"xgtn whv0"Fcpp"mcpp"
fkg"Uvtgemg"pwt"cwh "gkpgt"Ugkvg"fkgugt"Vtgppnkpkg"nkgigp."tgejvu"qfgt"nkpmu0"Kp"uq"gkpgo"Hcnn"yktf"cnuq"pwt"gkpg"fgt"
wpvgtigqtfpgvgp"Tgikqpgp"iguejpkvvgp0"Fcu"jgǩv."Tgikqpgp."fkg"cwh "fgt"cpfgtgp"Ugkvg"nkgigp."m ppgp"wpvgt"mgkpgp"
Wouv pfgp"ogjt"iguejpkvvgp"ygtfgp0"Kuv"fkg"Vtgppnkpkg"jkpigigp"jqtk|qpvcn."uq"ygtfgp"dgkfg"wpvgtigqtfpgvgp"
Tgikqpgp"iguejpkvvgp0"Fkgug"Uejpkvvtgign"ugv|v"ukej"tgmwtukx"fwtej"fkg"Wpvgttgikqpgp"hqtv0"Ukg"n uuv"ukej"fcjgt"cnu"
Tgmwttgp|hqtogn"uejtgkdgp<
S*p+"?
Q*3+."
"hcnnu"p"?"3
}"
"" 4"-"4S*p16+."uqpuv
Kp"iguejnquugpgt"Hqto"iguejtkgdgp<
4
nqi6*p+
"-"4"nqi6*p+"-"4
nqi6*p+
Q*3+
Fkgug"Hqtogn"n uuv"ukej"cwà" ugp"|w"Q*p+"?"Áp0"Fkg"icp|g"⁄dgtngiwpi"iknv"cpcnqi"h¯t"fkg"jqtk|qpvcngp"Uvtgemgp."uq"
fcuu"ykt"cwh "kpuigucov"6"Q*Áp+"iguejpkvvgpg"Tgikqpgp"mqoogp0"Fcu"dgfgwvgv"h¯t"fkg"Dgtgkejuuwejg."fcuu"6Q*Áp+"
Mpqvgp"igrt¯hv"wpf"m"Rwpmvg"|wt¯emigigdgp"ygtfgp"o¯uugp0"Ykt"gtjcnvgp"6Q*Áp"-"m+"Uejtkvvg0"Fkg"GhÞ"|kgp|"fgt"
Dgtgkejuuwejg"nkgiv"cnuq"kp"Q*Áp"-"m+0
Cpcn{ukgtv"ocp"fkg"Dgtgkejuuwejg"h¯t"dgnkgdkig"Fkogpukqpgp."gtj nv"ocp"gkpg"cnnigogkpgtg"Hqtogn0"H¯t"dgnkgdkig"
Fkogpukqp"f"kuv"fkg"Dgtgkejuuwejg"cwu"Q*p3/31f"-"m+0
80"Xgtingkej"okv"cpfgtgp"Fcvgpuvtwmvwtgp
Ykg" dgtgkvu" iguciv." gu" ikdv" ogkuvgpu" pkejv" fkg" Gkpg." dguvg" N uwpi0" Lgfgu" Rtqdngo" uvgnnv" cpfgtg" Cphqtfgtwpigp"
cp"fgp"N uwpiuygi0"H¯t"ocpejg"Rtqdngog"kuv"fgt"gkpg"Cpucv|"dguugt"iggkipgv."h¯t"cpfgtg"Rtqdngog"fgt"cpfgtg"
Cpucv|0"Fcjgt"kuv"gu"ykejvki."xgtuejkgfgpg"Cpu v|g"|wt"N uwpi"gkpgu"Rtqdngou"|w"dgvtcejvgp"wpf"|w"xgtingkejgp0"
Pwt"uq"ukgjv"ocp"fkg"Uv tmgp"wpf"Uejy ejgp"lgfgu"gkp|gnpgp0"Cp"fkgugt"Uvgnng"urkgnv"pcv¯tnkej"fkg"GhÞ"|kgp|cpcn{ug"
gkpg"icp|"gpvuejgkfgpfg"Tqnng."fgpp"ukg"ikdv"wpu"fkg"Swcnkv vgp"gkpgu"Cniqtkvjowu"kp"¥cjngp"|wt¯em0"Uqokv"ncuugp"
ukej"fkg"gkp|gnpgp"Cniqtkvjogp"lgfgt"Fcvgpuvtwmvwt"pgdgpgkpcpfgt"uvgnngp"wpf"xgtingkejgp0
/"33"/
Pgdgp"fgo"MF/Dcwo"uqnngp"jkgt"pqej"|ygk"ygkvgtg"Dcwouvtwmvwtgp"dgvtcejvgv"ygtfgp0"Fkgu"ukpf"|wo"gkpgp"
fgt"Swcfdcwo"wpf"|wo"cpfgtgp"fgt"Dgtgkejudcwo0"Ykg"fkg"Pcogp"xgtowvgp"ncuugp."jcpfgnv"gu"ukej"dgk"dgkfgp"
wo"Dcwouvtwmvwtgp0"Dgkfg"qrgtkgtgp"cwh "Rwpmvogpigp0"Kjtg"Mqpuvtwmvkqpuygkug."GhÞ"|kgp|."Xqt/"wpf"Pcejvgkng""
igigp¯dgt"fgo"MF/Dcwo"uqnngp"jkgt"mwt|"wouejtkgdgp"ygtfgp0
Dgvtcejvgp" ykt" |wp ejuv" fgp" Swcfdcwo0" Ugkpg" Mqpuvtwmvkqpuygkug" jcv" gpvhgtpv" jpnkejmgkv" okv" fgt" fgu" MF/
Dcwou0" Wo" gkpg" igigdgpg" Rwpmvogpig" ngiv" ocp" |wp ejuv" gkp" Swcftcv." co" dguvgp" okv" gkpgt" ¥ygkgtrqvgp|"
cnu"Ugkvgpn pigp0"Fcu"mcpp"pcv¯tnkej"fc|w"h¯jtgp."fcuu"fcu"Swcftcv"gkp"Uv¯em"it ̌gt"yktf."cnu"fkg"vcvu ejnkejg"
Cwufgjpwpi"fgt"Rwpmvogpig."gu"n uuv"ukej"ur vgt"cdgt"dguugt"wpvgtvgkngp0"Fkg"Cwufgjpwpi"fgu"Swcftcvu"yktf"
ko"Ywt|gnmpqvgp"fgu"Swcfdcwou"igurgkejgtv0"Pwp"yktf"fcu"Swcftcv"jqtk|qpvcn"wpf"xgtvkmcn"okvvki""igvgknv."cnuq"
igxkgtvgnv0"Fcpp"rt¯hv"ocp"fkg"gpvuvcpfgpgp"Xkgtvgnswcftcvg"cwh "fkg"gpvjcnvgpg"Rwpmv|cjn0"Kuv"pwt"pqej"gkp"Rwpmv"
gpvjcnvgp."uq"yktf"fgt"Cniqtkvjowu"h¯t"fkgugu"Swcftcv"dggpfgv."uqpuv"yktf"fcu"Swcftcv"gdgphcnnu"igxkgtvgnv0"H¯t"
lgfgu"Xkgtvgnswcftcv"yktf"gkp"Mpqvgp."qfgt"Dncvv."ygpp"gu"pwt"gkpgp"Rwpmv"gpvj nv."cp"fgp"Ywt|gnmpqvgp"igj piv0"
Cwh "fkgug"Ygkug"xgth jtv"ocp"ygkvgt0"Fkg"Swcftcvg"ygtfgp"uqncpig"igxkgtvgnv."dku"cnng"Rwpmv"kp"gkpgo"gkigpgp"
Swcftcv"nkgigp0"Fgt"gpvuvcpfgpg"Dcwo"jcv"cp"lgfgo"Mpqvgp"xkgt"Mkpfgt."fcjgt"fgt"Pcog"Swcfdcwo0
Cdd0;<"Mqpuvtwmvkqp"gkpgu"Swcfdcwou"cwh "gkpgt"Rwpmvogpig"okv"J whwpiurwpmv0"Fgt"Swcfdcwo"kuv"gpvctvgv0
Kp"fgt"ItcÞ"m"gtmgppv"ocp"|wo"gkpgp"fkg"Mqpuvtwmvkqpuygkug"fgu"Swcfdcwou."|wo"cpfgtgp"cwej"ugkp"itq̌gu"
Rtqdngo<" Fc" fkg" Rwpmvogpig" pkejv" cpjcpf" fgt" Rwpmvgxgtvgknwpi." uqpfgtp" gkphcej" koogt" okvvki" igvgknv" yktf."
gpvctvgv"fgt"Swcfdcwo"dgk"Rwpmvogpigp"fkg"J whwpigp"cwhygkugp0"DgÞ"pfgp"ukej"cp"gkpgt"Uvgnng"dguqpfgtu"xkgng"
Rwpmvg"cwh "gpigo"Tcwo."owuu"jkgt"ugjt"qhv"igxkgtvgnv"ygtfgp."dku"cnng"Rwpmvg"wpvgtigdtcejv"ukpf0"Cp"cpfgtgp"
Uvgnngp"owuu"ygpkigt"qhv"igxkgtvgnv"ygtfgp0"Fgt"Vgkndcwo."fgt"fgo"Swcftcv"okv"fgp"xkgngp"Rwpmvgp"gpvurtkejv."
y ejuv" fcjgt" igigp¯dgt" fgp" cpfgtgp" Vgknd wogp" ugjt" uvctm" cp0" Fwtej" fkg" Gpvctvwpi" xgtuejngejvgtv" ukej" fkg"
GhÞ"|kgp|"fgu"Swcfdcwou"gpvurtgejgpf0
/"34"/
Gkp"Dgtgkejudcwo"dguvgjv"cwu"gkpgo"dcncpekgtvgp."uqtvkgtvgp"Dkp tdcwo."fgt"fkg"Z/Mqqtfkpcvgp"fgt"Rwpmvg"kp"
fgt"igigdgpgp"Rwpmvogpig"gpvj nv0"Cp"lgfgo"Mpqvgp"fkgugu"Dcwou"j piv"gkp"dgkigqtfpgvgt"Dcwo."kp"fgo"fkg"
|wigj tkigp"[/Mqqtfkpcvgp"igurgkejgtv"ygtfgp0"Fkgug"D wog"ukpf"gdgphcnn"dcncpekgtvg."uqtvkgtvg"Dkp td wog0"Ukg"
gpvjcnvgp"pkejv"pwt"fkg"[/Mqqtfkpcvgp."uqpfgtp"fkg"icp|gp"Rwpmvg0"Fgt"gkpgo"Mpqvgp"ko"Z/Dcwo"dgkigqtfpgvg"
[/Dcwo" gpvj nv" fkg" ingkejgp" Rwpmvg." fkg" wpvgt" fgo" Mpqvgp" ko" Z/Dcwo" nkgigp." cnngtfkpiu" kp" gkpgt" cpfgtgp"
Uqtvkgtwpi."p onkej"gpvncpi"fgt"[/Mqqtfkpcvg0"Fwtej"fkgug"Mqpuvtwmvkqp"yktf"fkg"¥gkvghÞ"|kgp|"fgt"Dgtgkejuuwejg"
igigp¯dgt" fgo" MF/Dcwo" pqej" xgtdguugtv0" Ocp" uwejv" |wp ejuv" ko" Z/Dcwo" fgp" igigdgpgp" Z/Dgtgkej0" Pwp"
dtcwejv"ocp"pwt"pqej"fkg"fgp"ighwpfgpgp"Z/Mpqvgp"dgkigqtfpgvgp"[/D wog"|w"fwtejuwejgp0"Uqokv"urctv"ocp"
ukej"gkpkig"Ctdgkv0"Fkgug"Xgtdguugtwpi"igjv"cnngtfkpiu"|w"Ncuvgp"fgt"UrgkejgtghÞ"|kgp|."fc"pwp"pkejv"pwt"gkp"Dcwo"
igurgkejgtv"ygtfgp"owuu."uqpfgtp"|wu v|nkej"lgfgt"Vgkndcwo"fqrrgnv"xqtmqoov0"Fwtej"gkpg"ygkvgtg"Vgejpkm"n uuv"
ukej"fkg"¥gkvghÞ"|kgp|"fgt"Dgtgkejuuwejg"uqict"pqej"ygkvgt"xgtdguugtp0
Gu" hqniv" pwp" gkp" ⁄dgtdnkem" fgt" GhÞ"|kgp|gp" fgt" dguejtkgdgpgp" D wog0" Fc" fgt" Swcfvtgg" pkejv" gzrnk|kv" h¯t" fkg"
Dgtgkejuuwejg"iggkipgv"kuv."uqpfgtp"gjgt"cpfgtg"Cniqtkvjogp"wpvgtuv¯v|v."kuv"fkg"GhÞ"|kgp|"fgt"Dgtgkejuuwejg"pwt"
h¯t"MF/Dcwo"wpf"Dgtgkejudcwo"cwhignkuvgv0
Swcfdcwo
MF/Dcwo
Dgtgkejudcwo
Urgkejgtxgtdtcwej
Q**v"-"3+"p+
Q*p+
Q*p"nqifko/3"p+
Mqpuvtwmvkqpu|gkv
Q**v"-"3+"p+
Q*p"nqi"p+
Q*p"nqifko/3"p+
Dgtgkejuuwejg
Q*p3/31fko"-"m+
Q*nqifko/3"p"-"m+
90"Cpygpfwpigp
MF/D wog"ukpf"h¯t"fkg"Dgtgkejuuwejg"iwv"iggkipgv0"Cnuq"h¯t"fkg"Dgcpvyqtvwpi"fgt"Htcig"äYgnejg"Rwpmvg"nkgigp"
kp"gkpgo"igigdgpgp"Dgtgkej"*Tgejvgem."Swcfgt="000+AÑ0"Gkp"ykejvkigu"Cpygpfwpiuigdkgv"ukpf"fcjgt"Fcvgpdcpmgp0"
Fgpp"fkg"Fcvgpu v|g"okv"lgygknu"z"Hgnfgtp."fkg"kp"fgt"Fcvgpdcpm"cdigngiv"ygtfgp."ncuugp"ukej"cnu"Rwpmvg"kp"gkpgo"
z/fkogpukqpcngp" Tcwo" kpvgtrtgvkgtgp0" Fcokv" yktf" fkg" Fcvgpdcpm" |w" gkpgt" itq̌gp" Rwpmvogpig." cwu" fgt" ukej"
gkp"MF/Dcwo" gt|gwigp"n uuv0" Cpigpqoogp." kp"fgt"Fcvgpdcpm" ukpf"Okvctdgkvgtfcvgp" igurgkejgtv0"Gkpg" Urcnvg"
gpvj nv"fcu"Igjcnv."gkpg"cpfgtg"fcu"Cnvgt."gkpg"ftkvvg"fcu"Gkpuvgnnwpiufcvwo0"Dknfgv"ocp"fkgug"ftgk"Urcnvgp"cwh "fkg"
/"35"/
Fkogpukqpucejugp"fgu"ftgkfkogpukqpcngp"Tcwou"cd."uq"ncuugp"ukej"cnng"Okvctdgkvgtfcvgpu v|g"cnu"Rwpmvg"kp"fgp"
Tcwo"gkpqtfpgp0"Pwp"mcpp"gkp"ftgkfkogpukqpcngt"MF/Dcwo"gt|gwiv"ygtfgp."¯dgt"fgp"ocp"fcpp"Dgtgkejuuwejgp"
kp"fgt"Fcvgpdcpm"cwuh¯jtgp"mcpp0"Gvyc"gkpg"Uwejg"pcej"cnngp"Okvctdgkvgtp"|ykuejgp"52"wpf"62"Lcjtgp."fkg"xqp"
5222"dku"7222"Gwtq"xgtfkgpgp"wpf"|ykuejgp"3;;2"wpf"3;;7"gkpiguvgnnv"ywtfgp0"Pcv¯tnkej"ncuugp"ukej"MF/D wog"
cwej" kp" cpfgtgp" Dgtgkej" gkpugv|gp0" Gvyc" kp" fgt" EqorwvgtitcÞ"m0" Fgpp" cwej" jkgt" mqoogp" Rwpmvogpigp" wpf"
Dgtgkejuuwejgp"xqt0
:0"Hc|kv
MF/D wog"ukpf"pcv¯tnkej"iwv"iggkipgv."ygpp"ocp"cp"gkpg"Rwpmvogpig"fkg"Htcig"uvgnngp"yknn<"äYgnejg"Rwpmvg"
nkgigp"kp"gkpgo"dguvkoovgp"DgtgkejAÑ0"Fkgug"Htcig"m ppgp"ukg"ogkuvgpu"tgejv"uejpgnn"dgcpvyqtvgp0"Pqej"uejpgnngt"
m ppgp"fkgug"Htcig"cnngtfkpiu"fkg"Dgtgkejud wog"dgcpvyqtvgp0"Kjt"Pcejvgkn"kuv."fcuu"ukg"fch¯t"ogjt"Urgkejgtrncv|"
xgtdtcwejgp."cnu"fkg"MF/D wog0"Fc"kp"fgt"jgwvkigp"¥gkv"Urgkejgtrncv|"tgejv"dknnki"igyqtfgp"kuv."¥gkv"cdgt"pcej"
ykg"xqt"gkpg"itq̌g"Tqnng"urkgnv."yktf"ocp"yqjn"ogkuvgpu"fgp"Dgtgkejud wogp"fgp"Xqt|wi"igdgp0"MF/D wog"
f¯thvgp" cdgt" cwej" gvycu" gkphcejgt" |w" korngogpvkgtgp" ugkp0" Urkgnv" fkg" Cwuh¯jtwpiuiguejykpfkimgkv" gkpg" gjgt"
wpvgtigqtfpgvg"Tqnng."fkg"Gpvykemnwpiu|gkv"cdgt"gkpg"itq̌g."uqnnvg"ocp"xkgnngkejv"fqej"MF/D wog"dgxqt|wigp0
;0"Nkvgtcvwt
"""Fg"Dgti."xcp"Mtghgnf."Qxgtoctu."Uejyct|mqrh<"Eqorwvcvkqpcn"Igqogvt{."Urtkpigt"
V
"""Ugfigykem<"Cniqtkvjogp."Cffkuqp/Ygung{"
V
"""Rtgrctcvc."Ujcoqu<"Eqorwvcvkqpcn"Igqogvt{."Urtkpigt"
V
/"36"/
Universität Bielefeld
Polygone II: Triangulation
------------------------------------------------------
Ausarbeitung
im Rahmen des Seminars Algorithmische Geometrie
von Marion Zysik
Bielefeld, den 20.09.2003
1
1
1.1
Was ist Triangulation?
Kurze Erläuterung zur Triangulation
Unter Triangulation versteht man im Allgemeinen und anschaulich die Zerlegung eines Polygons P, durch eine maximale Menge von sich nicht schneidenden Diagonalen, in Dreiecke.
Verwendung findet dieses Verfahren unter anderem in der Robotik - bei der Bewegungsplanung von Robotern -, in der Bilderkennung, in der Standortplanung
und zur Bewachung einer Gallerie, wobei diese Anwendung später noch genauer
untersucht werden soll.
1.2
Grundlegendes
1. Wie im folgenden Beispiel an einem simplen Polygon zu sehen, ist jede
Triangulation ein Unikat, das heißt, dass ein Polygon auf verschiedene Arten
trianguliert werden kann.
...................................................
...
.............
.
.............
..
.
.
.
.
.
.
...
.... .. ... ...... .. ....
.
.
.
.
.
.
.
.
.
.
.
.
..
............... ...... ....................... ... ...... ......
.. ...................... ... ..........................................
..
.
.. ............
.. ...... ...... .... ...
..... ... ..
.. ....
..... .. .
...
..... ... ..
.......
..................................................
..
.... ......
..... .....
.
.
..
.
.
.
.
.
...
...
............... ... .....
.
.
.
.
.
.
.
.
.
.
.
.
.. .
.
..
........ ... ..... ........................................ ...... ......
.. .. .............................................................................................................
.. .. ...........
..
.. ........ ......
..
.....
.
..........
..... ..
...
..... ..
......
2. Bei einer Triangulation sollte immer die maximale Menge an Diagonalen erreicht werden.
Die folgende Grafik zeigt ein Dreieck mit drei aufeinanderfolgenden kollinearen
Knoten, dieses wird auch als entartetes Viereck bezeichnet.
2
Die Kanten von
simplen Polygonen
kreuzen sich nicht,
sie enthalten also
keine Löcher
Die Triangulation muss hier also noch vervollständigt werden, was durch die
gestrichelte Linie angedeutet wird.
2
Triangulationsverfahren
2.1
Konvexe Polygone
1.Verfahren:
Bei diesem Verfahren der Zerlegung von konvexen Polygonen in Dreiecke, wird
zunächst der linkeste Knoten ausfindig gemacht (hier ν). Existieren mehrere
Knoten mit denselben x-Koordinaten, so wählt man den Untersten, also den
mit dem kleinsten y-Wert. Von diesem Koten werden nun die Nachbarn gesucht
(hier w und u) und zwischen diesen eine Strecke gezogen. Wird die Strecke von
keinen weiteren Kanten geschnitten, so hat man eine Diagonale gefunden und
das entstandene Dreieck kann abgetrennt werden.
.......
....... ......
.
.
.
.
.
....
...
......
...
w....•.....
...
.
.
...
.
.
.
.. ..
.
.
.
..
.
.
.
.
.
..
..
ν •..........
.
....... .
..
....... .
.
.
.........
........................................
u•
Dieses Verfahren wird solange angewandt, bis der trivialste Fall, nämlich ein
Dreieck entsteht. Geschieht dies, ist die Triangulation komplett.
....
..........
...... . ...
...... .. .....
......
...
..
........
...
...
...
.
...
...
...
...
..
... ..
..
.
.
.
... .
.
.
.
... .
....
...
.............................
.
.......
... ....
... .....
...
..
.
...
...
....
...
.......
..
.
. ..
..
...... ...
.
.. ......
..
.
.
....
...
.................................
3
..
.......
...... ..
...... ..
..... ....
.
.
.
.
.
...
...
......
.................................
2.Verfahren:
Ein weiteres Verfahren für konvexe Polygone besteht darin, irgendeinen Knoten
der Menge auszuwählen und diesen dann mit allen anderen Knoten außer den
beiden Nachbarknoten und sich selbst zu verbinden.
2.2
Konkave Polygone
Das Verfahren zur Triangulation konkaver Polygone ähnelt zunächst dem der
konvexen im ersten Verfahren. So besteht auch hier der erste Schritt darin,
den linkesten Knoten und dessen Nachbarn zu bestimmen. Wiederum werden die beiden Nachbarn durch eine Strecke verbunden. Hier jedoch kann es bei
konkaven Polygonen vorkommen, dass die Strecke von Kanten geschnitten wird.
w..•..........................................
.....
..
..... ...
..
. ..........................
....
...... .........
..
....................................................... ............
.
.
.
.
.
.......
ν • ...... • ..
.........ν 0
.......
......... .. .......
.......
......... .. ... .....
......
...•... u ....
..... .............
..........
In diesem Fall wird deshalb noch zusätzlich der linkeste Knoten gesucht, der am
weitesten von der geschnittenen Strecke entfernt liegt (hier ν 0 ). Zwischen diesem
Knoten und dem linkesten des Polygons wird nun ebenfalls eine Strecke gezogen. Nach Voraussetzung kann diese Strecke nicht von einer Kante geschnitten
werden. Da es keinen Knoten geben darf, der weiter von der Strecke zwischen u
und w entfernt liegt. Eine Kante, die diese Strecke schneidet, hätte ihren Endpunkt im Polygon, so dass dieser Punkt noch weiter von der Strecke entfernt
liegen müsste, was jedoch ein Widerspruch wäre.
Die Strecke νν 0 teilt das Polygon nun in zwei Subpolygone P1 und P2 .
4
...........................................
...
...
..... P1
........
.
.
.
.
.
.
.
.
.
.
.
.
.
...........
....
.....
.
...
.
.
.
.
..........................
.........................
.
.
.
.
.
.
.
.
.
.
.
.
.......
..................................
.......
.........
.......
......... P2 .......
.......
......... ..... .....
...
.
.....
.....
..... .............
.......
Bei den entstandenen Polygonen kann dieses Verfahren wiederum angewandt
werden, bis auch hier nur noch ein Dreieck zurück bleibt und die Triangulation
abgeschlossen ist.
2.3
2.3.1
Effizienz
Konkave Polygone
Der Algorithmus zur Triangulation konkaver Polygone lässt sich grob in drei
Teilbereiche gliedern:
1. Eine Diagonale finden:
Dieses benötigt lineare Zeit.
2. Das Polygon in Sybpolygone teilen
3. und die Subpolygone rekursiv triangulieren
Wird das Polygon bei der Teilung in ein Dreieck und ein Polygon mit n-1
Ecken geteilt, so kann der Algorithmus im schlimmsten Fall quadratische
Zeit benötigen.
2.3.2
Konvexe Polygone
Die Triangulation von konvexen Polygonen im zweiten Verfahren benötigt nur
lineare Zeit. Jedoch sollte dieses nicht dazu verführen, ein konkaves Polygon
in ein konvexes umzuwandeln, da dieses ebenso aufwendig ist, wie die sofortige
Zerlegung.
5
2.4
Trapezzerlegung und Triangulation monotoner
Polygone
2.4.1
Monotone Polygone
Ein effizienteres Verfahren bietet das der Triangulation von monotonen Polygonen. Deshalb wird im weiteren die Zerlegung konvexer Polygone in monotone
vorgestellt. Zunächst jedoch wird die Frage zu klären sein:
Was sind monotone Polygone?
Die untere Abbildung zeigt ein y-monotones Polygon. Y-monoton bedeutet,
dass es eine Gerade gibt (hier die y − Achse), so dass jede Senkrechte zu dieser
Geraden das Polygon in höchstens zwei Punkten schneidet. Ein Schnitt sollte
also ein Punkt, ein Liniensegment oder leer sein.
..
. ..........
.......... ..............
............ .....
.
... ..
...
.
.
.
..
.. ..
....................................................................................
...
...
...
...
..
....
.
...
.
.
.
...
.. ......
...
...
....
...
.
....................... ......
... ...
y....− Achse
2.4.2
Trapezzerlegung
Eine effiziente Methode um aus einem konvexen ein monotones Polygon zu erstellen, ist die Trapezzerlegung. Hierbei gehen zuerst einmal von jedem Knoten
des Polygons horizontale Strahlen aus, die, sobald sie auf eine Kante treffen,
enden.
Haben zwei oder mehrere Knoten dieselbe y-Koordinate, so wird das Polygon
ein wenig gedreht, bis dieses nicht mehr der Fall ist.
...................................................................................................................................................................................................
....
......................................
..................
.....................................................................................................
.....
.....
..
..............................................................................
....
........
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.......
..
..
..
...............................................................................................................................................................................................................................................................................................
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..
.....
.........................................................
........................................................................................................................................................................
...................................................................................................................................................................................................................
......
.....
..
......................................................................................................................................................................................................................................................................................................
..
..
..
.. ....
...
...
... ................................................................................................................................................
.
............................................................................................................................................................................
............................................................................
.
.. .. ..
............................
.....
......................................
... ..
... .
....
.........................................................................
...................................................................................................................................................................
6
Als nächstes werden die Teilstücke der Strahlen, die über den Rand des Polygons hinausragen abgeschnitten. Innerhalb des Polygons jedoch sind Trapeze
entstanden.
.
............
..... ..............
.
......................
.
.
.
.
.
.
.
..
............ ......
.. .......................................................................................
......
...........................................................................................................................................................................................................
.
.
.
.
..
....................................................................................................................................................
. ...........
..
............
.............................................................................................................................
......
.....
..
.................................................................................................................................................................................................................................................
.
..
.. .....
..
...
... ..........................................................................
...
.................
..
..
...........................................................................................
... .
... ..
....
.
In diesen Trapezen werden die sich diagonal gegenüberliegenden Knoten verbunden.
.........
..... ..............
...............
.
.
.
.
.
.
.
.
.
..
.............
....
........... .................................................................................................................................................
.....
....
.................................................................
.....
...........................
.....
.........
.....
.....
.....
.....
........................................................
.....
....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.. ......................
......
............................................................................................................................................................................................................................
.........
.....
........................................................................................................................................................
.
.
.
.
.
.
.
.
.
...
.
.
...
......
.................................................................................................................................................................................................................................................................................................................
...
.
.
.
...
...
. .
... ... ......
...
.
.
.
...
.
......................................................................
.. .
.................
.
... .
............................................................................
................ ... ..
... .
... ..
....
Entfernt man nun die ursprünglichen horizontalen Strahlen, so zerteilen die
übrigbleibenden Geraden das Polygon in monotone Subpolygone.
..........
...............
..... ..............
.
.
.
.
.
.
.
.
............
......
............ .......... ...............................................
......
.
.............. ................
.
.
.
........
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.. ......................
............
.
.
.
.
.
.
.
.
.
.
................................................
.
..................... ......................
.
................
...
............ ...........
.
.
.
.
.
.
.
.
.
.
..
.
.
...
.....................................................................
.
............
.
..
.
...
...
.. .. .....
.
.
.
..
.
...
.. .
.................................
.
... .
... ............. ....
................ ... ..
... .
... ..
....
7
2.4.3
Triangulation monotoner Polygone
Bei der Zerlegung eines y-monotonen Polygons bearbeitet der Algorithmus die
Knoten in der Reihenfolge abnehmender y-Koordinaten. Die Abarbeitung der
Knoten erfolgt mit Hilfe eines Stacks, der am Anfang leer ist, später aber alle
Knoten enthält, von denen noch Diagonalen ausgehen können.
Das Polygon der folgenden Abbildung soll nun trianguliert werden.
u1
u2
u3
u4
u5
u6
u7
u8
u9
Bei dem Knoten mit der größten y-Koordinate wird also begonnen. Die ersten
beiden Knoten können, ohne ihnen Beachtung zu schenken, da sie ja schon durch
eine Kante miteinander verbunden sind, fürs erste auf dem Stack abgelegt werden. Bei der Betrachtung des dritten Knotens u3 stellt sich heraus, dass dieser
mit keinem bisher gefundenen Knoten durch eine Diagonale innerhalb des Polygons verbunden werden kann. Auch u3 wird auf den Stack abgelegt.
Stack
u
u1 u2
u1 u2 u3
u3
u4
8
Es
wird
dabei
ein
strikt
ymonotones Polygon
verwendet,
d.h. ein Polygon
ohne horizontale
Kanten
Auch u4 kann im Moment nicht weiter verwendet werden und landet auf
dem Stack. Trifft man hier jedoch auf den Knoten u5 , so stellt man fest, dass
es möglich ist, diesen mit u3 zu verbinden, dadurch wird u4 vom Polygon abgetrennt und aus dem Stack entfernt, da u5 mit keinem anderen Knoten verbunden
werden kann, wird er auf dem Stack abgelegt und man geht über zu u6 .
Stack
u
u1
u1
u1
u1
u1
u3
u4
u5
u5
u6
u2
u2
u2
u2
u2
u3
u3 u4
u3
u3 u5
u6 liegt auf der gegenüberliegenden Randhälfte und kann mit u2 , u3 , u4 und u5
verbunden werden. Danach werden alle Knoten, zu den keine weitere Diagonale
mehr gezogen werden kann, entfernt. Auf dem Stack zurück bleiben nur noch
u5 und u6 . Es kann mit u7 fortgefahren werden.
Stack
u
u1
u1
u1
u1
u1
u5
u3
u4
u5
u5
u6
u7
u2
u2
u2
u2
u2
u6
u3
u3 u4
u3
u3 u5
Untersucht man nach diesem Schema alle notwendigen Knoten, so bleibt zuletzt
wieder ein Dreieck übrig und die Triangulation ist abgeschlossen.
9
u1
u2
u3
u4
u5
u6
u7
u8
u9
2.4.4
Stack
u
u1
u1
u1
u1
u1
u5
u6
u6
u3
u4
u5
u5
u6
u7
u8
u8
u2
u2
u2
u2
u2
u6
u7
u3
u3 u4
u3
u3 u5
Algorithmus
Algorithmus TrianguliereMonotonesPolygon(P )
Input. Ein strikt y-monotones Polygon (P ), welches in einer doppelt verketteten
Kantenliste D gespeichert ist.
Output. Eine Triangulation von P , welche in einer doppelt verketteten Kantenliste D gespeichert ist.
1. Verschmelze die Ecken des linken Randstücks und die Ecken des rechten
Randstücks zu einer Sequenz, die nach abnehmender y-Koordinate sortiert
ist. Wenn zwei Ecken die gleichen y-Koordinaten besitzen, dann kommt
die linke zuerst. Sei u1 , ..., un die sortierte Sequenz.
2. Lege u1 und u2 auf dem Stack S ab.
3. for j ←− 3 to n − 1
4. do if uj und die Ecke oben auf dem Stack sind auf unterschiedlichen
Randstücken
5. then nimm alle Ecken vom Stack herunter.
6. Füge eine Diagonale von uj zu allen vom Stack heruntergenommenen
Ecken außer der letzten in D ein.
7. Lege uj − 1 und uj auf den Stack.
10
8. else nimm eine Ecke vom Stack herunter.
9. Nimm die restlichen Ecken solange vom Stack, wie es Diagonalen zwischen
ihnen und uj innerhalb von P gibt. Füge diese Diagonalen in D ein. Lege
die Ecke, die als letzte heruntergenommen wurde, wieder auf den Stack.
10. Lege uj auf den Stack.
11. Füge Diagonalen von un zu allen Ecken auf dem Stack (außer der ersten
und der letzten) an.
2.4.5
Effizienz
• Schritt 1 kostet O(n) Zeit
• Schritt 2 kostet O(1) Zeit
• Schritt 3 die for-Schleife wird n-3 mal durchlaufen, ein Durchlauf kann
O(n) Zeit benötigen
• Schritt 11 benötigt höchstens O(n) Zeit
Jedesmal, wenn die for-Schleife durchlaufen wird, können höchstens zwei Knoten
auf dem Stack abgelegt werden, zusammen mit Schritt 2 ist die Gesamtanzahl
also durch 2n-4 begrenzt. Da die Anzahl der Entfernungsoperationen nicht
höher ist, als die der Ablegeoperationen, kann der ganze Algorithmus in O(n)
Zeit durchlaufen werden. Der Speicherplatzbedarf beträgt ebenso O(n).
2.5
Das Wächterproblem
Bei dem Wächter- oder auch Art Gallery Problem geht es darum, eine Kunstgallerie möglichst lückenlos zu bewachen. Dieses wirft natürlich Fragen nach
der Anzahl der Kamaras bzw. Wächter und deren Plazierung auf.
Eine Lösung dieses Problems kann auch von der Triangulation geliefert werden.
Hierbei muss dennoch beachtet werden, dass dadurch zwar eine lückenlose Bewachung berechnet wird, was jedoch die Anzahl der Kamaras bzw. Wächter
betrifft ist diese Lösung nicht immer minimal.
Zunächst einmal nehme man an, man hätte den Grundriss einer ”rellativ” verwinkelte Kunstgallerie, wie sie auf der folgenden Abbildung zu sehen ist.
11
Nach genauerem Hinsehen bemerkt man, dass diese Kunstgallerie durch die Kamaras (um 360 ◦ schwenkbar ) nicht ganz optimal bewacht wird. Um dieses zu
ändern, wird die Gallerie zunächst trianguliert.
Würde man nun in jedes Dreieck eine Kamara setzen, so wäre das Ziel der kompletten Überwachung erreicht. Man sieht jedoch leicht ein, dass dieses einem
“overkill” gleichkommen würde. Demnach muss also noch eine andere Strategie gesucht werden. Zusätzlich zur Triangulation hilft hier die Tiefensucht in
Graphen.
Durch die Tiefensuche soll gezeigt werden, dass jedem Dreieck eine von drei
Farben (hier schwarz , weiß und grau) zugeordnet werden kann, dazu wird in
das Polygon ein Graph eingefügt.
12
Während man diesen Graph gemäß der Tiefensuche entlanggeht, fügt man in
jedes Dreieck die noch fehlende Farbe ein.
Es ergibt sich, dass wirklich jedem Dreieck alle drei Farben zugeordnet werden
können. Wählt man nun eine der Farben aus, die am seltensten vorkommen
und plaziert auf allen Knoten dieser Farbe eine Kamara, so ist die Gallerie
vollständig überwacht, da ja jedes Dreieck diese Farbe besitzt. Die Anzahl der
Kamaras reduziert sich dadurch im schlimmsten Fall auf n3 , wobei n die Anzahl
aller Knoten ist.
13
2.6
Literaturangaben
M.de Berg, M. van Kreveld, M. Overmars, O. Schwarzkopf
Computational Geometry: Algorithms and Applications
Seite 45 - 59
2. Auflage, Springer, 2000
Martin Aigner, Günter Ziegler
Proofs from the Book
Seite 179 - 181
2. Auflage, Springer, 2001
Steffen Bunzel, Jörg Finger
Polygon Triangulation
Internet: http://ad.informatik.uni-freiburg.de/lehre/ws9798/geometrischealgorithmen/termine/index.html
Link: Triangulierung von Polygonen
Stand: 24.Oktober 1997
Raimund Seidel
A Simple and Fast Incremental Randomized Algorithm for Computing
Trapezoidal Decompositions and for Triangulating Polygons
Internet: http://citeseer.nj.nec.com/seidel91simple.html
Link: tcs.cs.unisb.de/papers/trap.ps.gz
Stand: 1991
Sébastien Loisel
Zed3D - A compact reference for 3d Computer graphics programming
Seite 91 - 93
1996
Klaus Hinrichs
4 Polygontriangulation: Wie bewacht man eine Kunstgalerie
Internet: http://wwwmath.uni-muenster.de/u/chr/Geometrie/
Folien/Kapitel04.pdf
Oder: http://wwwmath.uni-muenster.de/u/jacobm/Lehre/AlGeo/Vorlesung/
Link: Kapitel 04 4s.pdf
Seite 37 - 44
Stand: 24.Juli 2003
Adrian Polko
Die Berechnung der Triangulation eines Polygons in fast-linearer Zeit
Internet: http://web.informatik.unibonn.de/I/Lehre/Seminare/Geometrie0102/index.html
Link: Die Berechnung der Triangulations eines Polygons in fast-linearer Zeit
Stand: 27.11.2001
14
Zugehörige Unterlagen
Herunterladen