• Keine Ergebnisse gefunden

2. Der Blum-Floyd-Pratt-Rivest-Tarjan Selektions-Algorithmus

N/A
N/A
Protected

Academic year: 2021

Aktie "2. Der Blum-Floyd-Pratt-Rivest-Tarjan Selektions-Algorithmus"

Copied!
31
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

2. Der Blum-Floyd-Pratt-Rivest-Tarjan Selektions-Algorithmus

Definition 77

Sei n ∈

N. DerMedian

(das

” mittlere“ Element) einer total geordneten Menge von n Elementen ist deren i-kleinstes Element, wobei

i =

l

n

2

m

.

Bemerkung: F¨ ur gerade n wird manchmal auch i =

n

2

+ 1 benutzt.

Sei m eine kleine ungerade Zahl (etwa 5 ≤ m ≤ 21). Sei S := {a

1

, . . . , a

n

} eine Menge von n paarweise verschiedenen Elementen. Zur Bestimmung des i-kleinsten Element in S betrachten wir folgenden Algorithmus BFPRT.

EADS 2 Der Blum-Floyd-Pratt-Rivest-Tarjan Selektions-Algorithmus 305/361 ľErnst W. Mayr

(2)

Der BFPRT-Selektions-Algorithmus (1/3)

1

Teile S in

n

m

Bl¨ ocke auf,

n

m

davon mit je m Elementen

2

Sortiere jeden dieser Bl¨ ocke

3

Sei S

0

die Menge der

n

m

Mediane der Bl¨ ocke. Bestimme rekursiv den

Median

s dieser Mediane (also das

l|S0| 2

m

-kleinste

Element von S

0

).

(3)

Der BFPRT-Selektions-Algorithmus (2/3)

4

Partitioniere S − {s} in S

1

:= {x ∈ S : x < s},

S

2

:= {x ∈ S : x > s}. Bemerkung: |S

1

|, |S

2

| ≥

n4

, falls n ≥ 3m − 1.

r r r r r

g r r r r r

g r r r r r

g r r r r r r r r

g r r r r r

g r r r r r

g r r r r r r r r

g r r r r r g

s

J J

^

< s

> s

⊆ S

1

⊆ S

2

EADS 2 Der Blum-Floyd-Pratt-Rivest-Tarjan Selektions-Algorithmus 307/361 ľErnst W. Mayr

(4)

Der BFPRT-Selektions-Algorithmus (3/3)

5

Falls i ≤ |S

1

|, bestimme rekursiv das i-kleinste Element in S

1

. Falls i = |S

1

| + 1, gib s als L¨ osung zur¨ uck.

Ansonsten bestimme rekursiv das (i − |S

1

| − 1)-kleinste

Element in S

2

.

(5)

Sei T (n) die worst-case Anzahl von Vergleichen f¨ ur |S| = n des Algorithmus BFPRT. Sei C

m

die # von Vergleichen, um m Elemente zu sortieren (z.B. C

5

= 7, C

11

= 26). Es gilt:

T (n) ≤ T

l

n

m

m

| {z }

3.

+ T 3

4 n

| {z }

5.

+

l

n

m

m

| {z }

2.

C

m

+

j

n

2

k

|{z}

4.

Satz 78

Der Selektions-Algorithmus BFPRT bestimmt das i-kleinste Element von n Elementen mit O(n) Vergleichen (und Zeit).

EADS 2 Der Blum-Floyd-Pratt-Rivest-Tarjan Selektions-Algorithmus 309/361 ľErnst W. Mayr

(6)

Beweis:

Annahme: T (n) ≤ c · n, wobei c = c(m) konstant ist.

Die Annahme ist ok, falls T (n) ≤ T

l

n m

m

+ T

3 4 n

+

l

n m

m

C

m

+

j

n 2

k

≤ cn; dies gilt, falls

l

n

m

m

c + 3

4 n

c +

l

n

m

m

C

m

+

j

n

2

k

≤ cn | · 1 n (IA)

⇔ (bis auf de , bc ) c m + 3

4 c + C

m

m + 1

2 ≤ c

⇔ − c m − 3

4 c + c ≥ C

m

m + 1 2

⇔ c ≥

Cm

m

+

12

1 −

34

m1

Bemerkung: m = 11 c = c(m) ≈ 20.

(7)

Literatur:

Vaughan R. Pratt, Frances F. Yao:

On lower bounds for computing the i-th largest element

Proc. 14th Ann. IEEE SWAT, pp. 70–81 (1973)

Manuel Blum, Robert W. Floyd, Vaughan R. Pratt, Ron L.

Rivest, Robert E. Tarjan:

Time bounds for selection

JCSS7, pp. 448–461 (1973)

EADS 2 Der Blum-Floyd-Pratt-Rivest-Tarjan Selektions-Algorithmus 311/361 ľErnst W. Mayr

(8)

3. Randomisierter Median-Algorithmus

Problemstellung: Bestimme den Median von n Elementen

1

W¨ ahle n

34

Elemente zuf¨ allig und gleichverteilt aus den n Elementen aus.

2

Sortiere diese n

34

Elemente mit einem (Standard-) n log n-Algorithmus.

3

Setze

p1 := max{n

3 4

2 −√

n,1}-kleinstes Element dern34 Elemente.

p2 := min{n

3 4

2 +√

n, n34}-kleinstes Element dern34 Elemente.

n

34

n

ppp ppp

p ppp

pppppppppp

S0

z }| {

S1

z }| {

S2

z }| {

p

1

p

2

(9)

4

Partitioniere die n Elemente in

S0 :={Elemente< p1}

S1 :={p1≤Elemente≤p2} S2 :={p2<Elemente}

5

Falls |S

0

| ≥

n

2

oder |S

2

| ≥

n

2

oder |S

1

| ≥ 4 · n

34

, dann wiederhole den Algorithmus;

ansonsten sortiere S

1

und liefere das (

n

2

− |S

0

|)-kleinste Element davon ab.

EADS 3 Randomisierter Median-Algorithmus 313/361

ľErnst W. Mayr

(10)

Satz 79

Obiger randomisierter Algorithmus bestimmt den Median von n-Elementen mit einer erwarteten Anzahl von

32

n + o(n) Vergleichen.

Beweis:

i) Korrektheit: klar.

(11)

Beweis (Forts.):

ii) Anzahl der Vergleiche in einer Iteration:

O(n

34

log n

34

) + Kosten der Partitionierung F¨ ur die Partitionierung ist der naive Ansatz zu ung¨ unstig, stattdessen:

p

1

p

2

S

0

S

1

S

2

n-Elemente

W¨ ahle zuerst jeweils mit Wahrscheinlichkeit

12

aus, ob Element x mit p

1

oder p

2

verglichen wird, mache

zweiten

Vergleich nur, falls n¨ otig.

EADS 3 Randomisierter Median-Algorithmus 315/361

ľErnst W. Mayr

(12)

Beweis (Forts.):

Die erwartete Anzahl von Vergleichen ist dann

= n 2

|S

0

|

n · 1 + |S

1

| + |S

2

| n · 2

+ n

2 |S

2

|

n · 1 + |S

0

| + |S

1

| n · 2

= n 2

|S

0

| + |S

2

|

n + 2

n

z }| {

|S

0

| + |S

1

| + |S

2

| +|S

1

| n

= n

2 (3 + |S

1

| n ) = 3

2 n + o(n)

Wir zeigen nun, dass der Algorithmus mit Wahrscheinlichkeit

≥ 1 − O(n

14

) nur eine Iteration ben¨ otigt (daraus folgt dann, dass

insgesamt die Anzahl der Vergleiche ≤

32

n + o(n) ist).

(13)

Beweis (Forts.):

Daf¨ ur verwenden wir Hilfsmittel aus der Wahrscheinlichkeitstheorie/Stochastik:

Bernoulli-Zufallsvariable (ZV): X, Werte ∈ {0, 1} mit X =

1 mit WS p

0 mit WS q = 1 − p Erwartungswert einer ZV:

E

[X] =

P

x∈Wertebereich

x · Pr[X = x]

(X ist diskret, d.h. der Wertebereich von X ist endlich) Markov-Ungleichung: Pr[X ≥ t] ≤

E[X]t

f¨ ur X nicht negativ Chebyshev-Ungleichung: Pr[|X −

E

[X]| ≥ t] ≤

Var(X)

t2

EADS 3 Randomisierter Median-Algorithmus 317/361

ľErnst W. Mayr

(14)

Beweis (Forts.):

Binomialverteilung: Seien X

1

, . . . , X

n

unabh¨ angige, identisch verteilte Bernoulli-Zufallsvariablen mit Pr[X

i

= 1] = p.

X :=

n

X

i=1

X

i

.

X ist binomial verteilt, mit Wertebereich {0, 1, . . . , n}.

Pr[X = k] = n

k

p

k

(1 − p)

n−k E[X] =

n · p

Var[X] = n · p · (1 − p) = n · p · q .

In Zeichen: X ∼ B(n, p)

(15)

Beweis (Forts.):

Die Auswahl der n

34

Elemente wird wiederholt, falls |S

0

| ≥

n2

. Dies passiert gdw wir h¨ ochstens

12

n

34

− √

n Elemente aus der H¨ alfte aller Elemente ≤ dem Median ausw¨ ahlen.

Wir bestimmen die Wahrscheinlichkeit daf¨ ur, dass keine neue Auswahl der n

34

Elemente stattfinden muss.

Setze Bernoulli-Zufallsvariable X

1

, . . . , X

n

mit:

X

i

=

1, falls Element i < Median ausgew¨ ahlt wird 0, sonst

X :=

P

X

i

ist binomialverteilt mit Parametern n und

12

n

14

, und

E

[X] =

12

n

34

, Var[X] = n ·

12

n

14

(1 −

12

n

14

) =

12

n

34

(1 − o(1)).

EADS 3 Randomisierter Median-Algorithmus 319/361

ľErnst W. Mayr

(16)

Beweis (Forts.):

Die Wahrscheinlichkeit hierbei ist Pr[|S

0

| ≥ n

2 ] = Pr[X ≤ 1

2 n

34

− √

n] ≤ Pr[|X −

E

[X]| ≥ √ n]

1

2

n

34

(1 − o(1))

n ≤ 1

2 n

14

(1 − o(1)) Die anderen beiden Wahrscheinlichkeitsbedingungen (Pr[|S

2

| ≥

n

2

] und Pr[|S

1

| ≥ 4 · n

34

]) ergeben analoge Absch¨ atzungen.

Damit: Wiederholung mit WS ≤ O(n

14

).

(17)

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

Definition 80

Sei k ∈

N

\{0}. P

k

ist die folgende partielle Ordnung:

s s s

s s s

. . . . . . . .

| {z }

k k

z }| {

@

@

@

@ gs

2k + 1 Elemente

s s s

sg s

@@ s s

⊇ P

3

Also: Spezielle Binomialb¨ aume mit

” Zentrum“.

EADS 4 Sch¨onhage/Paterson/Pippenger-Median-Algorithmus 321/361

ľErnst W. Mayr

(18)

Definition 81

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.

(19)

H

0

H

1

H

2

H

3

H

4 g

s

sgs

H

0

H

0 gss

s s

ss

s s

g

s

s

s s

ss

s s

g s s

s s

s

s

s s

ss

s s

EADS 4 Sch¨onhage/Paterson/Pippenger-Median-Algorithmus 323/361

ľErnst W. Mayr

(20)

Lemma 82 (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.

(21)

Lemma 82 (Zerlegungslemma)

c) H

2k+1

kann so zerlegt werden, dass die

Zusammenhangskomponente des Zentrums genau 2

k

Knoten

≥ dem Zentrum enth¨ alt, indem h¨ ochstens 2

k+1

− 1 Kanten entfernt werden.

H

2k

kann so zerlegt werden, dass die

Zusammenhangskomponente des Zentrums genau 2

k

Knoten enth¨ alt, die alle ≤ dem Zentrum sind, indem h¨ ochstens 2

k

− 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 324/361

ľErnst W. Mayr

(22)

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 %

(23)

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 326/361

ľErnst W. Mayr

(24)

Beispiel 83

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

(25)

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 328/361

ľErnst W. Mayr

(26)

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:

s s s

s s s

. . . . . . . .

| {z }

k k

z }| {

@

@

@

@ s

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.

(27)

Beweis von a):

Wir beweisen nun die Teile a) bis d) des Zerlegungslemmas.

Lemma 84

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 330/361

ľErnst W. Mayr

(28)

Beweis von b):

Lemma 85

H

r

kann in folgende disjunkte Bereiche unterteilt werden:

sein Zentrum,

eine Reihe H

1

, H

3

, . . . , H

r−1

(r gerade) bzw. . . . , H

r−2

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

r

liegen,

eine Reihe H

0

, H

2

, . . . , H

r−2

(r gerade) bzw. . . . , H

r−1

(r

ungerade) von Unterb¨ aumen, deren Zentren unter dem von

H

r

liegen.

(29)

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 332/361

ľErnst W. Mayr

(30)

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

2h

.

(31)

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

2h+1

.

EADS 4 Sch¨onhage/Paterson/Pippenger-Median-Algorithmus 332/361

ľErnst W. Mayr

Referenzen

ÄHNLICHE DOKUMENTE

Diagonalisieren Sie die Matrix M aus Aufgabe 1, d.h., finden Sie Matrizen V , V −1 (explizit ausrechnen) und eine Diagonalmatrix Λ, so dass.. M = V

Diagonalisieren Sie die Matrix M aus Aufgabe 1, d.h., finden Sie Matrizen V , V −1 (explizit ausrechnen) und eine Diagonalmatrix Λ, so dass.. M = V

Es wäre gut, wenn Sie am Klausurtag bereits um 9.40 Uhr am Hörsaal sind, damit die Klausur pünktlih um 9.45 Uhr

Wir müssen noch zeigen, dass beide Rekursionen dieselben

Gute Medienresonanz fanden auch der gemeinsame Presse- und Fototermin des HBPG und der Gemein- nützigen Kultur GmbH Märkisch-Oderland im Freilichtmuseum Altranft zum Start des

§ Gewinnung von Einnahmen außerhalb der institutionellen Förderung. Zur Erreichung ihrer Ziele erhält die HBPG gGmbH vom Land Brandenburg und der Landeshauptstadt Potsdam

Die Ausstellung wurde gefördert von der Stiftung Auf- arbeitung SED-Diktatur, der Stiftung Erinnerung, Verantwortung, Zukunft – Leo Baeck Programm, dem Ministerium

l Anhand der Matrizen A und W läßt sich der kürzeste Pfad für zwei beliebige Knoten in O(m) ausgeben (m = Länge des Pfades). l