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