• Keine Ergebnisse gefunden

4. Sch¨onhage/Paterson/Pippenger-Median-Algorithmus Definition 81

N/A
N/A
Protected

Academic year: 2021

Aktie "4. Sch¨onhage/Paterson/Pippenger-Median-Algorithmus Definition 81"

Copied!
33
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

4. Sch¨ onhage/Paterson/Pippenger-Median-Algorithmus

Definition 81

Sei k

∈N\{0}.

P

k

sei die folgende partielle Ordnung:

. . . . . . . .

| {z }

k k

z }| {

2k + 1 Elemente

P

3

Wir betrachten nun spezielle Binomialb¨ aume mit

” Zentrum“ (um Ordnungsinformation widerzuspiegeln).

EADS 4 Sch¨onhage/Paterson/Pippenger-Median-Algorithmus 342/598 ľErnst W. Mayr

(2)

Definition 82

1

Der Baum H

0

besteht aus einem Knoten, und dieser ist auch das Zentrum.

2

H

2h

(h > 0) besteht aus zwei H

2h−1

, deren Zentren durch eine neue Kante verbunden sind. Das Zentrum des H

2h

ist das kleinere der beiden Zentren der H

2h−1

.

3

H

2h+1

(h

0) besteht aus zwei H

2h

, deren Zentren durch

eine neue Kante verbunden sind, sein Zentrum ist das gr¨ oßere

dieser beiden Zentren.

(3)

H

0

H

1

H

2

H

3

H

4

H

0

H

0

EADS 4 Sch¨onhage/Paterson/Pippenger-Median-Algorithmus 344/598 ľErnst W. Mayr

(4)

Lemma 83 (Zerlegungslemma)

a)

H

h

hat 2

h

Knoten, es werden 2

h

1 Vergleiche ben¨ otigt, um H

h

zu konstruieren.

b)

H

2h

kann zerlegt werden in

sein Zentrum

eine Menge{H1, H3, . . . , H2h−1} von disjunkten Teilb¨aumen, deren Zentren alle gr¨oßer sind als das Zentrum vonH2h. eine Menge{H0, H2, H4, . . . , H2h−2}von disjunkten Teilb¨aumen mit Zentren kleiner als das vonH2h.

(5)

Lemma 83 (Zerlegungslemma)

c)

H

2h+1

kann so zerlegt werden, dass die

Zusammenhangskomponente des Zentrums genau 2

h

Knoten

dem Zentrum enth¨ alt, indem h¨ ochstens 2

h+1

1 Kanten entfernt werden.

H

2h

kann so zerlegt werden, dass die

Zusammenhangskomponente des Zentrums genau 2

h

Knoten enth¨ alt, die alle

dem Zentrum sind, indem h¨ ochstens 2

h

1 Kanten entfernt werden.

d)

Falls k

2

h

1, dann kann H

2h

so zerlegt werden, dass die Zusammenhangskomponente des Zentrums genau 2k + 1 Elemente enth¨ alt, von denen k gr¨ oßer und k kleiner als das Zentrum sind (⇒ P

k

).

Dazu gen¨ ugt es, h¨ ochstens 3k + 2h Kanten zu entfernen. Die restlichen Zusammenhangskomponenten sind wieder H

i

’s.

EADS 4 Sch¨onhage/Paterson/Pippenger-Median-Algorithmus 345/598 ľErnst W. Mayr

(6)

Zerlegungslemma

AA AA

AA

s

s

s s g s

s

s s

s

s

s s

ss s s

Abtrennung von Wildwuchs AA < gs(Zentrum)

> gs(Zentrum)

#

"! H2

H1

H0

'

&

$

H3 %

(7)

Bemerkung:

Bei jedem Konstruktionsschritt wird ein Vergleich durchgef¨ uhrt, um zu bestimmen, welcher der beiden Teilb¨ aume das kleinere Zentrum hat. Im Algorithmus von Sch¨ onhage, Paterson und Pippenger werden aus Teilst¨ ucken H

r

gr¨ oßere B¨ aume H

r+1

zusammengebaut, wodurch schrittweise eine partielle Ordnung auf den Eingabewerten bestimmt wird. Wurde ein Baum H

2h

hinreichender Gr¨ oße hergestellt, so wird er durch Zerlegung in einen Baum umgewandelt, der nur noch sein altes Zentrum sowie k dar¨ uberliegende und k darunterliegende Elemente enth¨ alt, wobei k

2

h

1.

EADS 4 Sch¨onhage/Paterson/Pippenger-Median-Algorithmus 347/598 ľErnst W. Mayr

(8)

Beispiel 84

In diesem Beispiel wollen wir H

4

zerlegen und w¨ ahlen k = 3:

s

s

s s g s

s

s s

s

s

s s s

s

s s H4

(9)

Um einen H

4

derart zu zerlegen, m¨ ussen wir 5 Kanten aufbrechen.

Dabei werden drei H

0

, ein H

1

sowie ein H

2

abgespalten.

s s

g s

s

s

ss

g s s

g

s gss

s s gs gs H1 H0 H2 H0 H0

EADS 4 Sch¨onhage/Paterson/Pippenger-Median-Algorithmus 349/598 ľErnst W. Mayr

(10)

Ubrig bleibt die gew¨ ¨ unschte Struktur mit k Knoten ¨ uber dem Zentrum und k unter dem Zentrum, wodurch eine partielle Ordnung auf 2k + 1 Eingabewerten bestimmt wurde:

. . . . . . . .

| {z }

k k

z }| {

2k + 1 Elemente

Die bei der Zerlegung angefallenen Restst¨ ucke werden beim

Aufbau weiterer B¨ aume benutzt. So geht das bereits angesammelte

Wissen ¨ uber die Ordnung der Elemente nicht verloren.

(11)

Beweis des Zerlegungslemmas:

Wir beginnen mit Teil a).

Lemma 85

H

r

hat 2

r

Knoten, es werden 2

r

1 Vergleiche ben¨ otigt, um H

r

aufzubauen.

Beweis:

In jedem der r Konstruktionsschritte wird die Anzahl der Knoten verdoppelt. Da wir mit einem Knoten beginnen, hat H

r

folglich 2

r

Knoten. Die Anzahl der notwendigen Vergleiche C

r

unterliegt folgender Rekursionsgleichung (r

1):

C

r

= 1 + 2C

r−1

und C

0

= 0 . Damit folgt sofort C

r

= 2

r

1.

EADS 4 Sch¨onhage/Paterson/Pippenger-Median-Algorithmus 351/598 ľErnst W. Mayr

(12)

Beweis von b):

Lemma 86

H

r

kann in folgende disjunkte Bereiche unterteilt werden:

sein Zentrum,

eine Reihe H

1

, H

3

, . . . , H

r−1

(falls r gerade) bzw.

H

1

, H

3

, . . . , H

r−2

(falls r ungerade) von Unterb¨ aumen, deren Zentren alle ¨ uber dem von H

r

liegen,

eine Reihe H

0

, H

2

, . . . , H

r−2

(falls r gerade) bzw.

H

0

, H

2

, . . . , H

r−1

(falls r ungerade) von Unterb¨ aumen, deren

Zentren alle unter dem von H

r

liegen.

(13)

Beweis von b):

Beweis:

Durch Induktion ¨ uber r.

Induktionsanfang:

f¨ ur H

0

gilt die Behauptung.

Induktionsannahme:

die Behauptung gelte f¨ ur H

r−1

.

EADS 353/598

ľErnst W. Mayr

(14)

Beweis von b):

Beweis:

1

Sei r = 2h, h > 0.

H

2h

besteht aus zwei H

2h−1

, wobei das kleinere der beiden alten Zentren das neue Zentrum z bildet. Wende auf den H

2h−1

, der z enth¨ alt, die Induktionsannahme an. Wir k¨ onnen diesen Unterbaum also in z sowie H

1

, H

3

, . . . , H

2h−3

(Zentren

¨uber

z) und H

0

, H

2

, . . . , H

2h−2

(Zentren

unter

z)

partitionieren. Zusammen mit dem H

2h−1

, dessen Zentrum

¨

uber z liegt, ergibt sich die Induktionsbehauptung f¨ ur

H

r

= H

2h

.

(15)

Beweis von b):

Beweis:

2

Sei r = 2h + 1, h

0. H

2h+1

besteht aus zwei H

2h

, wobei das gr¨ oßere der beiden alten Zentren das neue Zentrum z bildet. Wende auf den H

2h

, der z enth¨ alt, die

Induktionsannahme an. Wir k¨ onnen diesen Unterbaum also in z sowie H

1

, H

3

, . . . , H

2h−1

(Zentren

uber¨

z) und

H

0

, H

2

, . . . , H

2h−2

(Zentren

unter

z) partitionieren.

Zusammen mit dem H

2h

, dessen Zentrum unter z liegt, ergibt sich die Induktionsbehauptung f¨ ur H

r

= H

2h+1

.

EADS 4 Sch¨onhage/Paterson/Pippenger-Median-Algorithmus 353/598 ľErnst W. Mayr

(16)

Beweis von c):

Wir bezeichnen im Folgenden mit H

2h

den Baum, der entsteht, wenn wir H

2h

so zerlegen, dass der verbleibende Rest nur mehr Elemente unterhalb des Zentrums (und das Zentrum selbst) enth¨ alt. Mit H

2h+1+

bezeichnen wir den Baum, der entsteht, wenn wir H

2h+1

so zerlegen, dass der verbleibende Rest nur mehr Elemente ¨ uber dem Zentrum und dieses selbst enth¨ alt.

Lemma 87

H

2h

und H

2h+1+

haben jeweils 2

h

Knoten. Bei der Herstellung aus H

2h

bzw. H

2h+1

werden 2

h

1 bzw. 2

h+1

1 Kanten

aufgebrochen. Die wegfallenden Teile haben die Form H

s

, s < 2h

bzw. s < 2h + 1.

(17)

Beweis:

Durch Induktion ¨ uber r.

Induktionsanfang:

f¨ ur H

0

und H

1

gilt die Behauptung.

Induktionsannahme:

die Behauptung gilt f¨ ur alle H

p

, p < r.

1

Sei r = 2h, h > 0. Wir betrachten die Partitionierung von H

2h

mit Zentrum z wie in Lemma

86. Die Unterb¨

aume H

1

, H

3

, . . . , H

2h−1

haben ihre Zentren oberhalb von z. Wir trennen sie von H

2h

, indem wir h Kanten aufbrechen. Die abgetrennten Teile haben offensichtlich die Form H

s

, s < 2h.

Bei den Unterb¨ aumen H

0

, H

2

, . . . , H

2h−2

, mit Zentren unterhalb von z, wenden wir jeweils die Induktionsannahme an, d.h. wir erzeugen H

0

, H

2

, . . . , H

2h−2

. Als Ergebnis erhalten wir H

2h

.

EADS 4 Sch¨onhage/Paterson/Pippenger-Median-Algorithmus 355/598 ľErnst W. Mayr

(18)

Beweis (Forts.):

Damit gilt f¨ ur die Zahl der aufzubrechenden Kanten K

(2h) zur Herstellung von H

2h

:

K

(2h) = h +

h−1

X

i=0

K

(2i)

I.A.

= h +

h−1

X

i=0

(2

i

1) =

h−1

X

i=0

2

i

= 2

h

1.

F¨ ur die Zahl E

(2h) der Elemente in H

2h

gilt:

E

(2h) = 1 +

h−1

X

i=0

E

(2i)

I.A.

= 1 +

h−1

X

i=0

2

i

= 1 +

h

X

i=1

2

i−1

| {z }

2h−1

= 2

h

.

(19)

Beweis (Forts.):

2

Sei r = 2h + 1, h > 0. Wir betrachten die Partitionierung von H

2h+1

mit Zentrum z wie in Lemma

86. Die Unterb¨

aume H

0

, H

2

, . . . , H

2h

haben ihre Zentren unterhalb von z. Wir

trennen sie von H

2h+1

, indem wir h + 1 Kanten aufbrechen.

Die abgetrennten Teile haben offensichtlich die Form H

s

, s < 2h + 1. Bei den Unterb¨ aumen H

1

, H

3

, . . . , H

2h−1

, mit Zentren oberhalb von z, wenden wir jeweils die

Induktionsannahme an, d.h. wir erzeugen H

1+

, H

3+

, . . . , H

2h−1+

. Als Ergebnis erhalten wir H

2h+1+

. Damit gilt f¨ ur die Zahl der aufzubrechenden Kanten K

+

(2h + 1) zur Herstellung von H

2h+1+

:

EADS 4 Sch¨onhage/Paterson/Pippenger-Median-Algorithmus 357/598 ľErnst W. Mayr

(20)

Beweis (Forts.):

K

+

(2h + 1) =h + 1 +

h

X

i=1

K

+

(2(i

1) + 1)

I.A.

= h + 1 +

h

X

i=1

(2

i

1) = 1 +

h

X

i=1

2

i

=1 +

h+1

X

i=1

2

i−1

| {z }

2h+1−1

−1 = 2h+1

1.

F¨ ur die Zahl E

+

(2h + 1) der Elemente in H

2h+1+

gilt:

E

+

(2h + 1) = 1 +

h

X

i=1

E

+

(2(i

1) + 1)

I.A.

= 1 +

h

X

i=1

2

i−1

= 2

h

.

(21)

Beweis von d):

Lemma 88

Falls k

2

h

1, dann kann H

2h

so zerlegt werden, dass die Komponente des Zentrums genau 2k + 1 Elemente enth¨ alt, k davon ¨ uber und k unter dem Zentrum. Dazu m¨ ussen

3k + 2h Kanten entfernt werden. Die entfernten Teile sind von der Form H

s

, s < 2h.

Beweis:

Betrachte die Bin¨ ardarstellung von

k = k

0

2

0

+ k

1

2

1

+

· · ·

+ k

h−1

2

h−1

und die Partitionierung von H

2h

mit Zentrum z wie in Lemma

86.

EADS 4 Sch¨onhage/Paterson/Pippenger-Median-Algorithmus 359/598 ľErnst W. Mayr

(22)

Beweis (Forts.):

F¨ ur jedes i mit k

i

= 1, betrachte H

2i+1

aus der Sequenz H

1

, H

3

, . . . , H

2h−1

von Unterb¨ aumen, deren Zentren oberhalb von z liegen, und schneide alle Elemente aus H

2i+1

, die kleiner als sein Zentrum sind (bilde also H

2i+1+

). Dazu m¨ ussen h¨ ochstens 2k Kanten aufgebrochen werden, denn jedes k

i

= 1 steht f¨ ur 2

i

in k, kostet aber nach Lemma

87

K

+

(2i + 1) = 2

i+1

1 Kanten, also:

h−1

X

i=0

k

i

K

+

(2i + 1)

2k .

F¨ ur jedes i mit k

i

= 0, schneide H

2i+1

ganz weg. Dabei werden

h Kanten aufgebrochen. Genau k Elemente oberhalb z bleiben zur¨ uck, da jedes k

i

= 1 f¨ ur 2

i

in k steht, und ein H

2i+1+

genau E

+

(2i + 1) = 2

i

Elemente enth¨ alt, also:

h−1

(23)

Beweis (Forts.):

F¨ ur jedes i mit k

i

= 1, betrachte H

2i

aus der Sequenz H

0

, H

2

, . . . , H

2h−2

von Unterb¨ aumen, deren Zentren unterhalb von z liegen, und schneide alle Elemente aus H

2i

, die gr¨ oßer als sein Zentrum sind (bilde also H

2i

). Dazu m¨ ussen h¨ ochstens k

1 Kanten aufgebrochen werden, denn jedes k

i

= 1 steht f¨ ur 2

i

in k und kostet uns nach Lemma

87

K

(2i) = 2

i

1 Kanten, also:

h−1

X

i=0

k

i

(2

i

1)

k

1 .

F¨ ur jedes i mit k

i

= 0, schneide H

2i

ganz weg. Dabei werden h¨ ochstens h Kanten aufgebrochen. Genau k Elemente unterhalb von z bleiben zur¨ uck, da jedes k

i

= 1 f¨ ur 2

i

in k steht, und ein H

2i

genau E

(2i) = 2

i

Elemente enth¨ alt, also:

h−1

X

i=0

k

i

E

(2i) = k .

EADS 4 Sch¨onhage/Paterson/Pippenger-Median-Algorithmus 361/598 ľErnst W. Mayr

(24)

Beweis (Forts.):

Damit ergibt sich f¨ ur die Gesamtanzahl aufzubrechender Kanten

eine obere Schranke von 3k + 2h. Lemma

87

liefert uns dar¨ uber

hinaus die gew¨ unschte Aussage ¨ uber die Form der abgetrennten

Teile.

(25)

Beweis von d):

Betrachte H

2h

.

” gr¨ oßer“: H

2h−1

, H

2h−3

, . . . , H

1

” kleiner“: H

2h−2

, H

2h−4

, . . . , H

0

H2h−2

H2h−2

s

s

s s g s

s

s s

s

s

s s

ss s s H2h

U(h) := Anzahl der Elemente in H

2h

Zentrum:

U(h) = 2U (h

1) = 2

h

; U (0) = 1

D(h) := Anzahl der Elemente in H

2h

Zentrum:

D(h) = 2D(h

1) = 2

h

; D(0) = 1

EADS 4 Sch¨onhage/Paterson/Pippenger-Median-Algorithmus 363/598 ľErnst W. Mayr

(26)

Beweis von d):

Anzahl der Kanten, die entfernt werden m¨ ussen:

C

u

(h)

2 + 2C

u

(h

1)

= 2 + 4 + 2

3

+ . . . + 2

h

= 2

h+1

2 C

d

(h)

1 + 2C

d

(h

1)

= 2

h

1









C(h)

2

h+1−2+2h−1

< 3·2

h

Damit ist der Beweis des Zerlegungslemmas beendet.

(27)

Kette von P

k

’s:

P

k

P

k

P

k

bottom

top

| {z }

t

Gesamtzahl der Elemente:

n

t(2k + 1) in den P

k

’s r = n

t(2k + 1) Rest

EADS 4 Sch¨onhage/Paterson/Pippenger-Median-Algorithmus 365/598 ľErnst W. Mayr

(28)

Wenn r < t

1, dann wissen wir, dass

top

gr¨ oßer ist als k + (t

1)(k + 1) > k + (k + 1)

n + 1 2k + 2

1

= n

1 2

top > Median (Entsprechendes gilt f¨ ur das Element

bottom)

Setze

k :=

j

n

14k

h sdg. 2

h−1

k < 2

h

(29)

Pool von Einzel- elementen

Pool von Hi

1i2h bilde

rekursiv H2h

zerlege H2hin Pkund Hi’s

i <2h recycle Hi’s

uge Pkin die Kette der Pk’s ein (nach

Zentrum sortiert)

Kette von Pk’s falls oben

nichts mehr geht

t1> r t1r

sortiere alle Elemente noch im System,

bestimme Median entferne die

2k+ 2extremen Elemente, Rest der beiden

Pk’s in Pools

EADS 4 Sch¨onhage/Paterson/Pippenger-Median-Algorithmus 367/598 ľErnst W. Mayr

(30)

Definiere r := Anzahl der noch im H

2h

-Produktionsprozess steckenden Elemente (f¨ ur jedes i < 2h h¨ ochstens ein H

i

, daher r

2h−1

P

i=0

2

i

= 2

2h

1).

R := Anzahl der im letzten Schritt zu sortierenden Elemente. Es gilt: t

r + 1, und damit

R = t(2k + 1) + r

2

2h

(2k + 1) + 2

2h

1 . m := Gesamtzahl der im Algorithmus produzierten P

k

’s.

m = t + 2 n

R

2(k + 1) = t + n

R

k + 1 .

Also: r und t sind

O(n12

), R ist

O(n34

).

(31)

Gesamtzahl der vom Algorithmus durchgef¨ uhrten Vergleiche =

1

Anzahl der Kanten in allen P

k

’s

2

+ Anzahl der Kanten, die gel¨ oscht werden, um die P

k

’s zu formen

3

+ Anzahl der Kanten, die zum Schluss in ¨ ubriggebliebenen H

i

’s, i < 2h, stecken

4

+ Anzahl der Vergleiche, um jedes Zentrum der P

k

’s in die (sortierte) Kette einzuf¨ ugen

5

+ Anzahl der Vergleiche, um die zum Schluss

¨ ubriggebliebenenen R Elemente zu sortieren

n

R k + 1 + t

2k

|{z}

1

+ 3k + 2h

| {z }

2

+ log n 2k + 1

| {z }

4

+ R log R

| {z }

5

+ r

|{z}

3

.

EADS 4 Sch¨onhage/Paterson/Pippenger-Median-Algorithmus 369/598 ľErnst W. Mayr

(32)

Mit k =

j

n

14k

, h so, dass 2

h−1

k < 2

h

, ergibt sich damit r =

O(k2

)

t =

O(k2

) zum Schluss R =

O(k3

), und damit die Anzahl der Vergleiche = T (n)

5n + o(n) . Verbesserte Version (besseres Zurechtschneiden, bessere Verwertung der Reste):

T (n) = 3n + o(n)

(33)

Bester bekannter Algorithmus (von Dor/Zwick):

2, 95n + o(n)

Literatur:

Arnold Sch¨onhage, Michael Paterson, Nicholas Pippenger:

Finding the median

J. Comput. Syst. Sci.13, pp. 184–199 (1976) Dorit Dor, Uri Zwick:

Selecting the median

SIAM J. Comput.28(5), pp. 1722–1758 (1999)

EADS 4 Sch¨onhage/Paterson/Pippenger-Median-Algorithmus 371/598 ľErnst W. Mayr

Referenzen

ÄHNLICHE DOKUMENTE

Ein Buchstabe in jeder Reihe bleibt übrig.?. Arbeitsblatt -

Jodwasserstoff zerfäJlt auch unter dem Einfluß des Lichtes; es ließ sich nachweisen, daß diese Reaktion nicht ebenso wie die ther—.. mische Spaltung verläuft; sie spielt sich in

Vorbereitende Organisationshilfe mit der Hauptfunktion, die „Kluft zwischen dem, was der Lernende schon weiß, und dem, was er wissen muss, zu überbrücken, bevor er die

Einftuf3

[r]

[r]

Eine Musterlösung wird bis zum Ende der Woche zur

[r]