Durchschnittsentfernung approximieren

Werbung
Rheinische Friedrich-Wilhelms-Universität Bonn
Institut für Informatik I
Jörg Hoffmann
Durchschnittsentfernung
approximieren
26. Mai 2008
Seminararbeit im Sommersemester 2008
Zusammenfassung
Diese Seminararbeit beschreibt die von Kfrir Barhum et al. [2] vorgestellten Verfahren zur Abschätzung des durchschnittlichen Abstands
einer gegebenen Menge von n Punkten im hochdimensionalen Raum.
Dabei betrachten wir zunächst ein Verfahren bei dem die Punktemenge der Dimension d zufällig auf den eindimensionalem Raum projiziert wird, um dann in Zeit O(n log n) den durchschnittlichen Abstand
zu bestimmen. Das zweite Verfahren basiert darauf, dass eine lineare Anzahl zufällig ausgewählter Punktepaare ausreicht, um eine gute
Approximation des durchschnittlichen Abstands zu erhalten.
Inhaltsverzeichnis
1 Einleitung
2
2 Randomisierte Projektion
2.1 Idee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Der eindimensionale Fall
√ . . . . . . . . . . . . . . . . . . . . .
2.3 Eine deterministische d-Approximation für den d-dimensionalen Fall . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4 Der randomisierte Projektionsalgorithmus . . . . . . . . . . .
2.5 Die Größe ρ(d) . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6 Berechnung von ρ(2) und ρ(3) . . . . . . . . . . . . . . . . . .
2
2
3
5
6
11
12
3 Ein Sampling-Algorithmus
14
3.1 Anzahl benötigter Punktepaare . . . . . . . . . . . . . . . . . 15
3.2 Approximation . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4 Zusammenfassung
16
1
1
Einleitung
Eine exakte Bestimmung des durchschnittlichen Abstands zwischen Paaren
einer Punktmenge P = {P1 , P2 , . . . , Pn } mit Pi ∈ IRd , (1 ≤ i ≤ n) lässt
sich durch einen trivialen Algorithmus in Zeit O(n2 ) durchführen. Dazu
betrachten wir die Summe der Abstände aller Punktepaare und teilen diese
durch deren Anzahl n2 :
1 X
kPi − Pj k2 .
n2
1≤i,j≤n
Das Problem bei dieser Methode ist die quadratische Laufzeit, die für große
Punktemengen gerade dann inakzeptabel ist, wenn nicht unbedingt eine exakte Lösung benötigt wird und ein approximiertes Ergebnis ausreicht.
In Abschnitt 2 stellen wir einen Algorithmus vor, der im Wesentlichen
darauf basiert ein Problem der Dimension d zufällig auf ein Problem der Dimension 1 zu projizieren, um dadurch eine Approximation des Problems der
ursprünglichen Dimension zu erhalten. Ein weiterer Algorithmus nähert sich
der Lösung des Problems indem nur eine lineare Anzahl zufällig gewählter
Punktepaare inspiziert wird. Der letztere Algorithmus wird in Abschnitt 3
vorgestellt.
2
2.1
Randomisierte Projektion
Idee
In diesem Abschnitt präsentieren wir einen Approximationsalgorithmus zur
Berechnung der Summe der Abstände aller Punktepaare, der Zeit O(n log n)
benötigt. Die Berechnung des durchschnittlichen Abstands aller Punktepaare kann aus der Summe auf einfache Art gewonnen werden. Sei die Punktemenge P ⊆ IRd definiert wie oben, Pi , Pj ∈ P und Pi = (pi,1 , pi,2 , . . . , pi,d ).
Weiter sei mit:
v
u d
uX
δi,j = kPi − Pj k2 = t (pi,k − pj,k )2
k=1
der Abstand
zwischen Pi und Pj gegeben. Die Summe aller Abstände ist
P
damit i,j δij mit 1 ≤ i, j ≤ n.
Die Idee des hier vorgestellten Algorithmus ist die Projektion eines Problems der Dimension d auf d Probleme der Dimension 1, für die es einen
O(n log n) Algorithmus gibt. Der Algorithmus wählt zufällig und gleichverteilt einen Einheitsvektor ~r ∈ IRd aus, auf dessen dazu korrespondierenden
Geraden alle Punkte der Menge projiziert werden. Der Abstand der Punkte
kann nun entlang dieser Geraden berechnet werden. Dieses Vorgehen ist in
2
Abbildung 1 für den Fall IR2 skizziert. Wir bezeichnen nun mit ρ(d) die erwartete Länge des projizierten gleichverteilten Einheitsvektors in Richtung
~r. Dann erbringt jedes Experiment, d.h. jede Berechnung der Abstände der
auf ~r projizierten Punkte, einen Betrag der Summe, der einem dem Erwartungswert nach ρ(d)-ten Teil der gesuchten Gesamtsumme darstellt. Auf die
Größe von ρ(d) kommen wir in Abschnitt 2.5 zu sprechen. Dabei werden
wir zeigen, dass der Wert nicht von der Richtung des gewählten Vektors,
sondern¡ nur
¢ von seiner Dimension abhängt. Desweiteren werden wir sehen,
dass O ²12 viele Wiederholungen ausreichen, um mit der Fehlerwahrscheinlichkeit von maximal 13 eine (1 ± ²)-Approximation der Gesamtsumme zu
erhalten.
p4
p5
p2
p1
p3
~r
p02
p01
Abbildung 1: Skizze der Projektion im IR2
2.2
Der eindimensionale Fall
Betrachten wir zunächst einen Algorithmus für den eindimensionalen Fall,
der 2007 durch Kfrir Barhum[1] beschrieben wurde. Dieser Algorithmus
kann später als “black-box“ für die Anwendungen in höherdimensionalen
Problemen genutzt werden. Beginnen wir damit, dass es einen O(n log n)1
Algorithmus zur Berechnung der Abstände zwischen allen Punktepaaren im
Eindimensionalen gibt. Es sei also P ⊆ IR. Für P lässt sich eine (z.B. aufsteigende)
Sortierung P1 ≤ P2 ≤ · · · ≤ Pn finden. Wir definieren mit Si :=
Pn
|P
−
Pj | die Summe aller Abstände der Punkte Pj (mit 1 ≤ j ≤ n)
i
j=1
zu Pi . Diese Summe lässt sich für alle i zusammen in O(n) berechnen. Wir
zeigen nun, dass durch eine Sortierung von P, für jedes i = 1, . . . , n − 1, die
1
Die Sortierung von P benötigt Θ(n log n) Zeit (siehe [5, Kap. 1.2]) und muss daher
als untere Laufzeitschranke für diesen Algorithmus angegeben werden.
3
Summe von Si+1 in konstanter Zeit aus der Summe Si berechnet werden
kann, denn:
Si+1 =
n
X
|Pi+1 − Pj |
j=1
=
i
X
(Pi+1 − Pj ) +
j=1
=
i−1
X
j=1
=
n
X
n
X
(Pj − Pi+1 )
j=i+2
(Pi+1 −Pi + Pi − Pj ) + (Pi+1 − Pi ) +
| {z }
=0
n
X
(Pj −Pi + Pi − Pi+1 )
| {z }
j=i+2
=0
|Pi − Pj | + [(i − 1) − (n − i − 1)] · (Pi+1 − Pi )
j=1
= Si + (2i − n) · (Pi+1 − Pi )
(1)
Aus (1) lässt sich nun folgender Algorithmus für den 1-dimensionalen Fall
ableiten.
Algorithmus 2.1 Summe der Abstände aller Punktepaare aus P in IR
1: sortiere P aufsteigend → P1 ≤ P2 ≤ · · · ≤ Pn ;
Pn
2: berechne S1 durch
j=2 (Pj − P1 );
3: // die Summe aller Abstände wird mit S1 initialisiert
4: SUMME := S1 ;
5: for i = 1 to n − 1 do
6:
Si+1 := Si + (2i − n) · (Pi+1 − Pi );
7:
SUMME := SUMME + Si+1 ;
8: end for
9: Ausgabe: SUMME ;
Korrektheit und Laufzeit
Gleichung (1) stellt sicher, dass in jedem Schritt des Algorithmus Si+1 korrekt aus Si berechnet wird, so dass die Summe am Ende der Summe der
Abstände aller Punktepaare entspricht. Die Laufzeit des Algorithmus ist
durch die Sortierung der Punktmenge im ersten Schritt bestimmt und kann
mit O(n log n) angegeben werden. Die Berechnung der Si kann für jedes i in
konstanter Zeit erfolgen, wodurch sich die Laufzeit von O(n log n) für den
gesamten Algorithmus ergibt.
4
2.3
Eine deterministische
mensionalen Fall
√
d-Approximation für den d-di-
Kombinieren wir nun den vorherigen Algorithmus mit dem was sich über
das Verhältnis der 1-Norm zur 2-Norm aussagen
√ lässt (vgl. auch [4, Hilfssatz
109.6]), erhalten wir einen deterministischen d-Approximationsalgorithmus
für den d-dimensionalen Fall. Dabei machen wir uns zunächst die folgenden
~ 2 die 2-Norm und mit kXk
~ 1 die 1-Norm
Ungleichungen klar. Sei mit kXk
d
~
von X ∈ IR bezeichnet. Dann gilt:
√
~ 2 ≤ kXk
~ 1 ≤ d · kXk
~ 2
kXk
(2)
Da es sich bei der Quadratfunktion um eine monotone Funktion handelt,
können wir die linke Seite der Ungleichung zeigen indem wir die Quadrate der beiden Terme miteinander vergleichen. Im Folgenden sei [n] :=
{1, 2, . . . , n}.
³
´2
³
´2
~ 1
~ 2 ≤
kXk
kXk
!2
à d
d
X
X
⇔
x2i ≤
xi
i=1
i=1
⇔
0≤
⇔
0≤
(|x1 | + |x2 | + · · · + |xd |)2 − (x21 + x22 + · · · + x2d )
X
|xi ||xj |
i6=j∈[n]
2
Die rechte Seite der Ungleichung können wir auf ähnliche Weise zeigen,
durch:
~ 21 ≤
kXk
X
⇔
|xi ||xj | ≤
~ 22
d · kXk
n
X
d·
x2i
i=1
i,j∈[n]
X
⇔
|xi ||xj | ≤
(d − 1) ·
i=1
i6=j
⇔
2·
d
X
d
X
⇔
2·
d X
d
X
0
x2i + x2j ≤
0
(x2i − 2|xi ||xj | + x2j ) ≥
0
i=1
|xi ||xj | −
i=1 j=i+1
⇔
−
d X
d
X
n
X
x2i ≤
|xi ||xj | − (d − 1)
i=1 j=i+1
d X
d
X
i=1 j=i+1
i=1 j=i+1
5
n
X
xi2
⇔
d X
d
X
(|xi |2 − 2|xi ||xj | + |xj |2 ) ≥
0
i=1 j=i+1
d
d X
X
⇔
i=1 j=i+1
(|xi | − |xj |)2 ≥
|
{z
}
0
≥0
2
Für den Abstand aller Punktepaare (Pi , Pj ) errechnet sich die 1-Norm
aus:
d
X
X X
kPi − Pj k1 =
|pi,k − pj,k |.
i,j∈[n] k=1
i,j∈[n]
Wir können nun die beiden Summen vertauschen und erhalten somit folgende Formel:
d X
X
|pi,k − pj,k |
k=1 i,j∈[n]
Diese entspricht gerade der Summe der Abstände der Projektionen von Pi
und Pj auf die d verschiedenen Standardeinheitsvektoren des IRd . Zusammen
mit der in (2) gegebenen Ungleichung ergeben sich nun für die Summe der
Abstände aller Punktepaare in P folgende Ungleichungen:
X
X
X
√
kPi − Pj k1 ≤ d ·
kPi − Pj k2
kPi − Pj k2 ≤
i,j∈[n]
i,j∈[n]
i,j∈[n]
P
P
P
Daher kann i,j∈[n] kPi − Pj k durch dk=1 i,j∈[n] |pi,k − pj,k | approximiert
werden, d.h. durch d-maliges Anwenden des Algorithmus zur Berechnung
des eindimensionalen Problems, lässt sich das d-dimensionale Problem lösen.
Insgesamt entsteht√dadurch eine Laufzeit von O(d · n log n) und eine Genauigkeit mit Faktor d. Zudem wäre noch zu erwähnen, dass das Ergebnis
des Algorithmus
√ mindestens so groß ist wie die tatsächliche Summe. Das
Problem der d-Approximation ist allerdings, dass die Genauigkeit von der
Dimension abhängig ist, d.h. der Fehler wächst mit der Dimension d.
2.4
Der randomisierte Projektionsalgorithmus
√
Die gerade vorgestellte d-Approximation gibt eine eher unzufrieden stellende Abschätzung. Wir können sagen, dass die durch (2) gegebenen Abschätzungen sehr grob sind und diese nur im “worstcase“ erreicht werden.
Daher interessieren wir uns im Folgenden für den durchschnittlichen Fall
und werden sehen, dass der Algorithmus im Mittel eine gute Abschätzung
liefert,
wenn wir die Basis zufällig wählen. Halten wir zunächst fest, dass eine
√
d-Approximation basierend auf jeder beliebigen Orthonormalbasis erstellt
6
werden kann. Dass wir die Standardbasis gewählt haben ist willkürlich. Betrachten wir nun den Erwartungswert der Ausgabe des Algorithmus, wenn
wir zur Berechnung eine zufällig gewählte Basis zugrunde legen.
Zunächst benötigen wir allerdings einige Definitionen. Mit P
hu, vi sei das
d
d
innere Produkt (Skalarprodukt) für u, v ∈ IR mit hu, vi =
k=1 uk · vk
bezeichnet. Sei {~e1 , ~e2 , . . . , ~ed } Standardnormalbasis eines zufällig gewählten
orthogonalen Koordinatensystems. Dann errechnet sich die Summe der Abstände aller Punktepaare bezüglich der 1-Norm des durch {~e1 , ~e2 , . . . , ~ed }
induzierten Systems wie folgt:
d
d X
X X
X
h~ek , Pi − Pj i =
h~ek , Pi − Pj i
i,j∈[n] k=1
k=1 i,j∈[n]
Die Idee ist nun, die Projektion der Punkte auf {~e1 , ~e2 , . . . , ~ed } durch eine
Projektion auf einen zufälligen Richtungsvektor ~r zu ersetzen. Nutzen wir
zum Einen die Linearität des Erwartungswertes (E) und zum Anderen dass
die ~ei zufällig gewählt wurden, ergibt sich folgende wichtige Beobachtung
über den Erwartungswert:




d
d X
X
X
X
h~ek , Pi − Pj i
E~e 
h~ek , Pi − Pj i =
E~e1 ,~e2 ,...,~e 
k
d
k=1
k=1 i,j∈[n]

= d · E~r 
i,j∈[n]
X

h~r, Pi − Pj i .
i,j∈[n]
Wir haben gezeigt, dass aufgrund des Verhaltens des Erwartungswertes die
d zufälligen Projektionen durch eine Projektion auf einen zufällig gewählten
Richtungsvektor ~r ersetzt werden kann. Diese Beobachtung lässt sich für den
Beweis des folgenden Theorems nutzen.
Theorem 1 Es existiert ein randomisierter Algorithmus, der für einen
Approximationsparameter
¡ −2
¢² > 0 und eine Punktemenge {P1 , P2 , . . . , Pn } ∈
d
IR in Zeit O ² · n log n und mit Wahrscheinlichkeit > 2/3
Peinen Wert
aus dem Intervall [(1 − ²) · A, (1 + ²) · A] ausgibt, wobei A = n12 · i,j∈[n] kPi −
Pj k.
Beweis. Für den Beweis geben wir Algorithmus 2.2 an und zeigen, dass
dieser die in Theorem 1 geforderten Eigenschaften erfüllt. In jeder Iteration wählt der Algorithmus zufällig und gleichverteilt einen Richtungsvektor
~r aus und projiziert die gesamte Punktemenge auf diesen. Dann berechnet der Algorithmus mit den Verfahren für den 1-dimensionalen Fall die
Summe der Abstände aller Punktepaare dieser projizierten Punktemenge.
Der Rückgabewert des Algorithmus ist der Durchschnitt über die Summen
aller Iterationen. Dabei benötigt er für die Projektion O(n) und die Berechnung der Summe, aufgrund des Sortierens O(n log n) Zeit. Insgesamt ergibt
7
Algorithmus 2.2 Durchschnittlicher Abstand aller Punktepaare aus P in
IRd
1: SUM := 0;
2: A := 0;
3: for i = 1 to K do
4:
wähle gleichverteilt einen Einheitsvektor ~r ∈ IRd ;
5:
berechne für alle i = 1, . . . , n die Zahlen pi = hPi , ~ri;
6:
// berechne nun mittels des Algorithmus zur Berechnung des 1-dimensionalenPProblems
1
7:
A:= ρ(d)·n
2
i6=j |pi − pj |
8:
SUM := SUM + A;
9: end for
M
10: return SU
K ;
sich daraus zusammen mit der Anzahl von K Iterationen eine Laufzeit von
O(K · n log n).
Zur Analyse des Algorithmus genügt es, eine Iteration, d.h. das Ergebnis
einer Projektionsrichtung, zu betrachten. Dies folgt daraus, dass der Richtungsvektor ~r zufällig und gleichverteilt ausgewählt wurde. Bevor wir nun
die Ausgabe analysieren, benötigen wir noch einige Bezeichnungen.
Die erwartete Länge eines zufällig gewählten auf ~r projizierten Einheitsvektors ~v , d.h. k~v k2 = 1 definieren wir:
µ
¶
1
ρ(d) = E~r [|h~v , ~ri|] ∈ Θ √
.
d
Wie Abschnitt 2.5 zeigen wird, hängt der Wert der Zufallsvariable |h~v , ~ri| nur
von der Dimension ab. Weiter bezeichnen wir mit Dij den Abstandsvektor
zwischen den Punkten Pi und Pj :
Dij = Pi − Pj = δij · ω~ij .
Dij setzt sich dabei zusammen aus dem Abstand der Punkte
δij = kPi − Pj k
und dem normierten Richtungsvektor
ω~ij =
Pi − Pj
.
kPi − Pj k
Da es sich bei der Projektion um eine lineare Transformation handelt,
können wir δij aus der Projektion herausziehen:
|h~r, Pi − Pj i| = |h~r, δij · ω~ij i| = δij · |h~r, ω~ij i|.
8
Wir bezeichnen nun mit Z die Zufallsvariable über der Summe der Abstände
aller Punktepaare die auf ~r projiziert wurden:
X
X
X
Z=
|h~r, Pi i − h~r, Pj i| =
|h~r, Pi − Pj i| =
δij · |h~r, ω~ij i|.
i,j∈[n]
i,j∈[n]
i,j∈[n]
Dann gilt aufgrund der Linearität des Erwartungswertes von Z:
X
X
X
E[Z] =
δij · E~r [|h~r, ω~ij i|] =
δij · ρ(d) = ρ(d) ·
|Pi − Pj |
i,j∈[n]
i,j∈[n]
i,j∈[n]
Aus dem Erwartungswert von Z lässt sich die Varianz von Z (VAR[Z])
einfach nach oben abschätzen.
Für
VAR[Z] = E[Z 2 ] − (E[Z])2
erhalten wir eine obere Abschätzung als E[Z 2 ]:
2 

E[Z 2 ] = E 
X

δij · |h~r, ω~ij i|  ≤ E 

X
(δij )2  .
i,j∈[n]
i,j∈[n]
Für diese Abschätzung nutzen wir aus, dass alle |h~r, ω~ij i| ≤ 1 sind.
Nun stellt sich die Frage, wie oft der Algorithmus iterieren muss, d.h.
wie groß das K sein muss, um mit einer Wahrscheinlichkeit von > 23 eine
(1 + ²)-Approximation für die Summe aller Abstände ausgeben zu können.
Im Folgenden werden wir zeigen, dass K ∈ O(²−2 ) Iterationen ausreichen.
Diese Anzahl erhalten wir aus der Abschätzung mittels der ChebyshevUngleichung.
Theorem 2 (Chebyshev-Ungleichung) Sei X eine Zufallsvariable. Dann
gilt für jedes k > 0:
P r [|X − E[X]| ≥ k] ≤
Beweis.
VAR[X]
.
k2
£
¤
P r [|X − E[X]| ≥ k] = P r (X − E[X])2 ≥ k 2
Aus der Markov-Ungleichung P r[X ≥ k] ≤ E[X]/k folgt nun:
£
¤ E[(X − E[X])2 ]
VAR[X]
P r (X − E[X])2 ≥ k 2 ≤
=
k2
k2
2
Sei Zi die Summe der Abstände aller Punktepaare für eine Projektionsrichtung 1 ≤ i ≤ K, dann entspricht der Erwartungswert E[Zi /ρ(d)] der
9
tatsächlichen Summe dieser Abstände S(P ). Betrachten wir die Wahrscheinlichkeit dafür, dass die Ausgabe von Algorithmus 2.2 keine (1 + ²)-Approximation für die Summe der Abstände aller Punktepaare ist, d.h. die Differenz
zwischen tatsächlicher und berechneter Summe größer als ² ist und wenden
darauf die Chebyshev-Ungleichung an, dann gilt für diese Wahrscheinlichkeit:
i
h PK
¯
"¯ P
#
i=1 Zi
¯ K Z
¯
VAR
K
¯
¯
i
(3)
P r ¯ i=1
− ρ(d) · S(P )¯ ≥ ² · ρ(d) · S(P ) <
¯ K
¯
(² · ρ(d) · S(P ))2
Betrachten wir zunächst nur den Zähler:
Ã
"P
#
"P
#!2 
PK
K
K
Z
Z
Z
i=1 i
i=1 i
i=1 i

VAR
= E
−E
K
K
K
Ã
#!2 
"K
PK
X
Z
1
i=1 i

= E
−
·E
Zi
K
K
i=1
Ã
#!2 
"
K
K
X
X
1

Zi − E
Zi
=
· E
K2
i=1
i=1
Ã
!2 
K
X
1
=
Zi − E [Zi ] 
· E
K2
i=1
aus der Definition der Kovarianz (Cov) folgt nun:


K
K
X
X
1
=
· E
Zi − E [Zi ] ·
Zj − E [Zj ]
K2
i=1
j=1


K X
K
X
1
Cov(Zi , Zj )
=
· E
K2
i=1 j=1
da Zi und Zj unabhängig voneinander sind
!
!
ÃK
ÃK
X
X
1
1
Cov(Zi , Zi ) = 2 ·
VAR(Zi , Zi )
·
=
K2
K
i=1
=
i=1
1
VAR[Z]
· (K · VAR[Z]) =
2
K
K
Setzen wir dieses Ergebnis nun in die Abschätzung (3) ein, dann gilt:
<
VAR[Z]
²2 · ρ(d)2 · S(P )2 · K
10
¡
¢
¡
¢
¡ ¢
Für VAR[Z] = O d−1 · (S(P ))2 und ρ(d) = Θ d−1/2 , reicht K ∈ O ²−2
aus, um eine Wahrscheinlichkeit von < 1/3 zu erhalten. Wir erhalten folglich
mit Wahrscheinlichkeit > 2/3 eine (1 + ²)-Approximation
¡ von S(P ).
¢ Somit
ergibt sich für Algorithmus eine Gesamtlaufzeit von O ²−2 · n log n
2
2.5
Die Größe ρ(d)
In diesem Abschnitt kommen wir kurz auf die Größe von ρ(d) zu sprechen.
Der ausführliche Beweis findet sich in [1, Abschnitt 3.6]. Wie bereits erwähnt,
gibt uns ρ(d) die erwartete Länge eines auf einen zufällig ausgewählten Einheitsvektors projizierten Einheitsvektor. Dabei ist die erwartete Länge nicht
von der Richtung des gewählten Einheitsvektors abhängig
lediglich
³ sondern
´
1
√
von der Dimension. Wir werden sehen, dass ρ(d) in Θ
liegt.
d
Zunächst machen wir uns klar, dass die Wahl des Vektors auf den projiziert wird keine Auswirkung auf die Beweisführung hat und daher beliebig ist. Dies lässt sich dadurch einsehen, dass wir diesen Vektor aus der
d-dimensionalen Einheitssphäre wählen und diese invariant gegenüber Rotationen ist. Wir wählen also ~ed = (0, . . . , 0, 1)τ als festen Vektor aus, auf
den projiziert werden soll. Würden wir einen beliebigen anderen Vektor der
Einheitssphäre wählen, so ließe sich dieser auf ~ed drehen und wir erhielten
wieder dieselbe Ausgangsstellung. Unsere Aufgabe ist es nun, den Erwartungswert für |h~r, ~ed i|~r zu bestimmen. Dabei ist ~r ∈ IRd ein zufällig und
gleichverteilt gewählter Vektor der d-dimensionalen Einheitssphäre. Jeder
Eintrag ~ri wird dabei aus einer Standardnormalverteilung gewählt, d.h. ~r
stammt aus einer d-dimensionalen Normalverteilung. Die Begründung dazu
liefert [1, Lemma 2].
Sei ~r = k~x~xk2 . Für einen normalverteilten Vektor ~x ∈ IRd ergibt sich
folglich für ρ(d):
À¯¸
·¯¿
¯
¯
~x
¯
, ~ed ¯¯
ρ(d) = E~r [|h~r, ~ed i|] = E~x ¯
k~xk2
Die Berechnung dieses Erwartungswertes soll an dieser Stelle nicht vorgeführt werden. Er ist vollständig in [1, Abschnitt 3.6] zu finden, woher auch
folgendes Ergebnis in Form einer Rekursionsformel stammt:
Sei A0 = π/2 und A1 = 1. Zudem gelte für alle k ∈ IIN:
Ak =
k−1
Ak−2 .
k
Für ρ(d) erhalten wir folgende Rekursionsgleichung:
ρ(d) =
1
1
·
.
d − 2 Ad−2
11
Für ρ(d) und k ∈ IIN sind zwei Fälle zu unterscheiden:
Q d−2
2
2i
d = 2k := Q d−1i=1
2
i=1 2i + 1
und
Q d−3
2
i=1 2i + 1
Q d−1
2
i=1 2i
³ ´
Insgesamt hat ρ(d) damit eine Komplexität von Θ √1d (siehe [3]). Im zweiund dreidimensionalen ergeben sich beispielsweise ρ(2) und ρ(3) gerade zu
2
1
π und zu 2 , was wir im nächsten Abschnitt im Detail zeigen werden.
d = 2k + 1 :=
2.6
Berechnung von ρ(2) und ρ(3)
In diesem Abschnitt berechnen wir die Erwartungswerte für ρ(2) und ρ(3).
Beispiel 1: ρ(2)
·¿
À¸
~x
ρ(2) , E~x
, ~e2
k~xk2
¯¿
À¯
Z
Z
x2
x2
¯
¯
1
1
~x
2
1
¯
√
√ ·¯
, ~e2 ¯¯ · e− 2 dx2 · e− 2 dx1
=
k~xk2
2π IR2 2π
IR
¯¿
À¯
Z 1Z
¯
¯
h~
x,~
xi
1 ¯
~x
=
·¯
, ~e2 ¯¯ · e− 2 ∂~x
(4)
k~xk2
IR IR 2π
³
´
sin θ
Die Polarkoordinatendarstellung von ~x = ( xx12 ) lautet ρρ cos
für ρ =
θ
k~xk2 . Die zugehörige Jacobi-Matrix lautet:
³
´
cos θ −ρ sin θ
sin θ −ρ cos θ
Daraus ergibt sich die Determinante |JT | = ρ. Wir
nun (4)
D vereinfachen
E
~
x
2
2
indem wir ausnutzen, dass h~x, ~xi = k~xk = ρ und k~xk2 , ~e2 = cos θ:
Z Z
ρ2
1
· | cos θ| · e− 2 ∂~x
R 2π
ZIR IZ
ρ2
1
=
· | cos θ| · e− 2 |JT | ∂θ∂ρ
|{z}
IR+ [0,2π) 2π
=ρ
Z
Z
2
ρ
1
=
ρ · e− 2
| cos θ|∂θ∂ρ
2π IR+
[0,2π)
{z
}
|
=
(∗)
12
(5)
Nebenrechnung für (*):
Z
Z
π
2
| cos θ|∂θ = 4 ·
| cos θ|∂θ = 4 sin
0
[0,2π)
π
=4
2
eingesetzt in (5) ergibt:
=
4
2π
Z
2
ρ·e
− ρ2
IR+
·
¸
2 ∞
2
2
− ρ2
−e
=
=
π
π
| {z 0}
=1
Beispiel 2: ρ(3)
Z Z Z
ρ(3) =
IR
IR
IR
1
(2π)3/2
¯¿
À¯
¯
¯
h~
x,~
xi
~x
¯
, ~e3 ¯¯ · e− 2 ∂~x
·¯
k~xk2
Die Polarkoordinatendarstellung von ~x =
³ x1 ´
x2
x3
ρ = k~xk2 . Die zugehörige Jacobi-Matrix lautet:
µ
µ
lautet
sin θ1 sin θ2 ρ cos θ1 sin θ2 ρ sin θ1 cos θ2
sin θ1 cos θ2 ρ cos θ1 cos θ2 −ρ sin θ1 sin θ2
cos θ1
−ρ sin θ1
0
ρ sin θ1 sin θ2
ρ sin θ1 cos θ2
cos θ1
(6)
¶
für
¶
Daraus ergibt sich die Determinante |JT | = ρ2 sin θ1 . Wir vereinfachen
D
E
nun (6) indem wir wieder ausnutzen, dass h~x, ~xi = k~xk2 = ρ2 und k~x~xk2 , ~e3 =
cos θ:
Z Z Z
2
1
− ρ2
·
|
cos
θ|
·
e
∂~x
3/2
R IR (2π)
ZIR IZ
Z
2
1
− ρ2 2
=
·
|
cos
θ|
·
e
ρ sin θ1 ∂ρ∂θ1 ∂θ2
3/2
IR+ [0,π) [0,2π) (2π)
Z Z
Z
2
1
2 − ρ2
·
ρ
e
=
∂ρ∂θ2
|
cos
θ
|
sin
θ
∂θ
1
1
1
(2π)3/2 [0,π]
IR+ [0,2π]
{z
}
|
=
(∗∗)=1
Nebenrechnung:
Z
(∗∗) =
[0, π2 ]
·
Z
cos θ1 sin θ1 ∂θ1 +
1
sin2 θ1
=
2
¸π
2
0
·
[ π2 ,π]
1
+
cos2 θ1
2
13
− cos θ1 sin θ1 ∂θ1
¸π
=
π
2
1 1
+ =1
2 2
(7)
weiter bei (7):
1
(2π)3/2
=
Z
Z
IR+
ρ2
[0,2π]
ρ2 e− 2 ∂ρ∂θ2
Wir betrachten zunächst nur das Integral über ρ:
Z
2
1
2 − ρ2
ρ
e
∂ρ
(2π)3/2 IR+
Z
2
1
− ρ2
=
∂ρ
ρ
·
ρ
·
e
(2π)3/2 IR+ |{z} | {z }
=:f
Unter Anwendung von
=:g 0
R∞
0
R∞ 0
f g 0 ∂ρ = [f g]∞
0 − 0 f g∂ρ erhalten wir:


¶¸∞ Z ∞
· µ

2
ρ2


− ρ2
+
1 · e− 2 ∂ρ
 ρ −e


0
0
|
{z
}
=0
Z ∞
ρ2
1
√ · e− 2 ∂ρ
·
2π
|0
{z
}
=
1
(2π)3/2
=
1
(2π)2/2
=
1 1
1
· =
2π 2
4π
Dichte der Normalverteilung
Jetzt fehlt uns noch das Umlaufintegral über θ2 :
Z 2π
Z 2π
1
1
1
1
∂θ2 =
1∂θ2 =
· 2π =
4π
4π
4π
2
0
0
3
Ein Sampling-Algorithmus
Die Idee hinter einem Sampling-Algorithmus ist denkbar einfach. Da wir uns,
aufgrund der quadratischen Anzahl, nicht alle möglichen Paare von Punkten
anschauen möchten, wählen wir eine zufällige Menge von m Punktepaaren
aus der Menge aller möglicher Paare aus und berechnen deren durchschnittlichen Abstand. Dabei ist die zugrunde gelegte Metrik nicht entscheidend,
weshalb wir im Folgenden von einer beliebigen Metrik ausgehen. Dieses Ergebnis liefert uns dann eine Approximation für den durchschnittlichen Abstand aller Punktepaare. Die Fragen die wir uns in diesem Abschnitt stellen
werden, sind 1) in welchem Verhältnis steht die Anzahl der betrachteten
Paare zur Anzahl der Punkte und, 2) wie gut ist die Approximation des
Sampling-Algorithmus.
14
3.1
Anzahl benötigter Punktepaare
Wir bezeichnen mit S ⊆ {(Pi , Pj ) | 1 ≤ i, j ≤ n eine Teilmenge aller
möglicher Punktepaare aus P mit m = |S|. Sei Z die Zufallsvariable, welche den Abstand eines zufällig ausgewählten Punktepaares repräsentiert,
dann muss die Größe von m proportional zu VAR[Z]/E[Z]2 sein. Dies begründet die in Abschnitt 2.4 festgestellte Abschätzung. Um eine (1 ± ²)Approximation zu erhalten müssen wir
µ
¶
VAR[Z]
m=O
(² · E[Z])2
viele Paare inspizieren. Diese Abschätzung liefert uns die Chebyshev-Ungleichung.
3.2
Approximation
Zur Abschätzung der Güte der Approximation betrachten wir eine beliebige
Metrik (δi,j )i,j∈[n] . Dabei ist δi,j der Abstand zwischen den Punkten Pi und
Pj .
Theorem 3 Sei Z die Zufallsvariable für den Abstand eines zufällig gewählten Punktepaares (Pi , Pj ), dann gilt:
VAR[Z] = O(n · E[Z]2 ).
Beweis. Wegen der Betrachtung des Durchschnitts können wir annehmen,
dass ein Punkt Pc in P existiert, welchenPwir als eine Art Zentrum
der
P
n
Punktmenge ansehen können. Sei f (c) := j=1 δc,j und h := i,j∈[n] δi,j ,
dann gilt:
n
X
f (c) = h.
c=1
Daher existiert ein
c0
∈ [n] mit der Eigenschaft:
f (c0 ) ≤
h
.
n
In Bezug auf diesen Punkt gilt folgende Abschätzung:
1 X
1 X
δc,j ≤ 2
δi,j
n
n
j∈[n]
i,j∈[n]
Dabei entspricht die linke Seite der Abschätzung gerade dem durchschnittlichen Abstand der Punkte Pj zum Zentrum Pc und die rechte Seite dem
15
durchschnittlichen Abstand aller Punktepaare. Unter Ausnutzung eines derartigen Zentrums lässt sich nun E[Z 2 ] folgendermaßen abschätzen:
E[Z 2 ] =
1 X 2
δi,j
n2
(∗)
≤
i,j∈[n]
1 X
(δi,c + δc,j )2
n2
i,j∈[n]
=
1 X 2
2
(δi,c + 2δi,c δc,j + δc,j
)
n2
i,j∈[n]
≤
1 X
2
2
(2δi,c
+ 2δc,j
)
n2
=
4 X 2
δc,j
n2
i,j∈[n]
j∈[n]
(*) folgt hier aus der Dreiecksungleichung.
Für E[Z 2 ] gilt also die Abschätzung:


2
2
X δi,j
X µ δc,j ¶2
X δc,j
 ≤ 4n · 

E[Z 2 ] ≤ 4n ·
≤ 4n · 
n
n
n2
j∈[n]
j∈[n]
j,j∈[n]
Wir erhalten also mit E[Z 2 ] ≤ 4nE[Z]2 unsere Behauptung:
VAR[Z] = E[Z 2 ] − (E[Z])2 ≤ E[Z 2 ]
2
Um zu sehen, dass die Abschätzung aus Theorem 3 stark ist, betrachten wir
folgende Metrik für die Punkte i, j, k ∈ [n]:
(
1, wenn (i = k 6= j) ∨ (j = k 6= i)
δi,j =
0, sonst
Für diese Metrik ist E[Z] =
2(n−1)
n2
≤
2
n
und E[Z 2 ] = E[Z]. Daher folgt:
VAR[Z]
1
n
=
− 1 > − 1.
E[Z]2
E[Z]
2
Der Beweis von Theorem 3 impliziert nun, dass es ausreicht eine Menge
von m = O(n/²2 ) Paaren zu inspizieren, um eine (1 ± ²)-Approximation für
den durchschnittlichen Abstand einer Punktmenge P zu berechnen.
4
Zusammenfassung
In Abschnitt 2 haben wir zunächst gezeigt, dass die Berechnung des durchschnittlichen Abstands zwischen n Punkten, welche auf einer Linie angeordnet sind, linear in Anzahl der Punkte durchgeführt werden kann. Durch
16
sukzessive Projektion der Punktemenge auf die d verschiedenen
Standard√
basen des IRd , erhielten wir in Abschnitt 2.3 eine d-Approximation des
durchschnittlichen Abstands welche Zeit O(d · n log n) benötigt. Darauf basierend und unter Ausnutzung von Randomisierung, haben wir in Abschnitt
2.4 eine (1 ± ²)-Approximation für den durchschnittlichen Abstand vorgestellt, welche O(²−2 · n · log n) Zeit benötigt.
Der Sampling-Algorithmus aus Abschnitt 3 zeigt, dass die Inspektion
von m = O(n/²2 ) vielen Paaren ausreicht, um eine (1 ± ²)-Approximation
des durchschnittlichen Abstands von n Punkten aus IRd zu erhalten. Dabei
kann eine beliebige Metrik zugrunde gelegt werden.
17
Literatur
[1] Kfrir Barhum. Approximating Averages of Geometrical and Combinatorial Quantities. PhD thesis, Weizmann Institute of Science, February
2007.
[2] Kfrir Barhum, Oded Goldreich, and Adi Shraibman. On approximating
the average distance between points. In APPROX and RANDOM 2007,
volume LNCS 4627, pages 296–310. Springer-Verlag Berlin Heidelberg,
2007.
[3] C. Chen and F. Qi. Pages. The Best Bounds in Wallis’ Inequality, volume
133, pages 397–401. In Proc. of the American Mathematical Society,
2004.
[4] Harro Heuser. Lehrbuch der Analysis/1, volume 8. überarb. Aufl. 1990.
[5] Rolf Klein. Algorithmische Geomeztrie, volume 2. vollst. überarb. Aufl.
Springer, 2005.
18
Herunterladen