• Keine Ergebnisse gefunden

Kapitel III Selektieren und Sortieren 1. Einleitung

N/A
N/A
Protected

Academic year: 2021

Aktie "Kapitel III Selektieren und Sortieren 1. Einleitung"

Copied!
20
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Kapitel III Selektieren und Sortieren

1. Einleitung

Gegeben:Menge S von nElementen aus einem total geordneten UniversumU,i∈N,1≤i≤n.

Gesucht:i-kleinstes Element inS.

Die F¨alle i= 1 bzw. i=nentsprechen der Suche nach dem Minimum bzw. Maximum.

Der Standardalgorithmus daf¨ur ben¨otigt n−1 Vergleiche.

(2)

Satz 76

Die Bestimmung des Minimums/Maximums vonnElementen ben¨otigt mindestensn−1 Vergleiche.

Beweis:

Interpretiere Algorithmus als Turnier. Ein Spiel wird jeweils vom kleineren Element gewonnen. Wir beobachten: Jedes Element außer dem Gesamtsieger muss mindestens ein Spiel verloren haben

⇒n−1 Vergleiche notwendig.

(3)

Bestimmung des Vize-Meisters bzw. des zweitkleinsten Elements

Satz 77

Das zweitkleinste vonnElementen kann mit n+dlog2ne −2 Vergleichen bestimmt werden.

Beweis:

Wir betrachten wiederum ein KO-Turnier:(n−1)Vergleiche gen¨ugen zur Bestimmung des Siegers (Minimum).

DaszweitkleinsteElement ist unter den

”Verlierern“ gegen das Minimum zu suchen. Deren Anzahl ist≤ dlog2ne. Man bestimme nun unter diesen Elementen wiederum das Minimum und erh¨alt damit das zweitkleinste Element in≤ dlog2ne −1 weiteren Vergleichen.

(4)

Lewis Carroll:

Lawn Tennis Tournaments

St. Jones Gazette (Aug. 1, 1883), pp. 5–6

Reprinted in The Complete Work of Lewis Carroll. Modern Library, New York (1947)

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)

Donald E. Knuth:

The art of computer programming. Vol. 3: Sorting and searching,

3. Auflage, Addison-Wesley Publishing Company: Reading (MA), 1997

(5)

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

Definition 78

Sein∈N. DerMedian (das

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

i= ln

2 m

.

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

2

+ 1 benutzt.

Seim eine kleine ungerade Zahl (etwa 5≤m≤21). Sei S:={a1, . . . , an} eine Menge vonnpaarweise verschiedenen Elementen. Zur Bestimmung desi-kleinsten Element inS betrachten wir folgenden Algorithmus BFPRT.

(6)

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 S0 die Menge dern

m

Mediane der Bl¨ocke. Bestimme rekursiv den Median sdieser Mediane (also das

l|S0| 2

m

-kleinste Element von S0).

(7)

Der BFPRT-Selektions-Algorithmus (2/3)

4 Partitioniere S− {s}in S1 :={x∈S :x < s},

S2 :={x∈S :x > s}. Bemerkung:|S1|, |S2| ≥ n4, falls n≥3m−1.

s

< s

> s

⊆S1

⊆S2

(8)

Der BFPRT-Selektions-Algorithmus (3/3)

5 Falls i≤ |S1|, bestimme rekursiv dasi-kleinste Element in S1. Falls i=|S1|+ 1, gibs als L¨osung zur¨uck.

Ansonsten bestimme rekursiv das (i− |S1| −1)-kleinste Element in S2.

(9)

SeiT(n) die worst-case Anzahl von Vergleichen f¨ur |S|=ndes Algorithmus BFPRT. SeiCm die#von Vergleichen, umm Elemente zu sortieren (z.B.C5 = 7,C11= 26). Es gilt:

T(n)≤T ln

m m

| {z }

3.

+T 3

4n

| {z }

5.

+ ln

m m

| {z }

2.

Cm+ jn

2 k

|{z}

4.

Satz 79

Der Selektions-Algorithmus BFPRT bestimmt dasi-kleinste Element vonnElementen mit O(n) Vergleichen (und Zeit).

(10)

Beweis:

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

Die Annahme ist ok, fallsT(n)≤ T

ln m

m +T

3 4n

+

ln m

m Cm+

jn 2 k

≤cn; dies gilt, falls ln

m m

c+ 3

4n

c+ ln

m m

Cm+ jn

2 k

≤cn | · 1 n (IA)

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

4c+ Cm m +1

2 ≤c

⇔ − c m −3

4c+c≥ Cm

m +1 2

⇔c≥

Cm

m +12 1−34m1

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

(11)

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

J. Comput. Syst. Sci.7, pp. 448–461 (1973)

(12)

3. Randomisierter Median-Algorithmus

Problemstellung:Bestimme den Median vonnElementen

1 W¨ahle n34 Elemente zuf¨allig und gleichverteilt aus denn Elementen aus.

2 Sortiere diese n34 Elemente mit einem (Standard-) nlogn-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.

n34 n

S0

z }| {

S1

z }| {

S2

z }| {

p1 p2

(13)

4 Partitioniere die nElemente in S0 :={Elemente< p1}

S1 :={p1Elementep2} S2 :={p2<Elemente}

5 Falls |S0| ≥n

2

oder|S2| ≥n

2

oder |S1| ≥4·n34, dann wiederhole den Algorithmus;

ansonsten sortiere S1 und liefere das (n

2

− |S0|)-kleinste Element davon ab.

(14)

Satz 80

Obiger randomisierter Algorithmus bestimmt den Median von n-Elementen mit einer erwarteten Anzahl von 32n+o(n) Vergleichen.

Beweis:

i) Korrektheit: klar.

(15)

Beweis (Forts.):

ii) Anzahl der Vergleiche in einer Iteration:

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

p1 p2

S0 S1 S2

n-Elemente W¨ahle zuerst jeweils mit Wahrscheinlichkeit 12 aus, ob Elementx mitp1 oder p2 verglichen wird, mache zweiten Vergleich nur, falls n¨otig.

(16)

Beweis (Forts.):

Die erwartete Anzahl von Vergleichen ist dann

= n 2

|S0|

n ·1 +|S1|+|S2| n ·2

+n

2 |S2|

n ·1 +|S0|+|S1| n ·2

= n 2

|S0|+|S2|

n + 2

n

z }| {

|S0|+|S1|+|S2|+|S1| n

= n

2(3 + |S1| n ) = 3

2n+o(n)

Wir zeigen nun, dass der Algorithmus mit Wahrscheinlichkeit

≥1− O(n14) nur eine Iteration ben¨otigt (daraus folgt dann, dass insgesamt die Anzahl der Vergleiche≤ 32n+o(n) ist).

(17)

Beweis (Forts.):

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

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

1 mit WSp

0 mit WSq= 1−p Erwartungswert einer ZV:

E[X] =P

x∈Wertebereichx·Pr[X =x]

(X ist diskret, d.h. der Wertebereich vonX 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

(18)

Beweis (Forts.):

Binomialverteilung: Seien X1, . . . , Xn unabh¨angige, identisch verteilte Bernoulli-Zufallsvariablen mit Pr[Xi = 1] =p.

X:=

n

X

i=1

Xi .

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

Pr[X=k] = n

k

pk(1−p)n−k E[X] =n·p

Var[X] =n·p·(1−p) =n·p·q . In Zeichen:X ∼B(n, p)

(19)

Beweis (Forts.):

Die Auswahl dern34 Elemente wird wiederholt, falls|S0| ≥ n2. Dies passiert gdw wir h¨ochstens 12n34 −√

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

Wir bestimmen die Wahrscheinlichkeit daf¨ur, dass keine neue Auswahl dern34 Elemente stattfinden muss.

Setze Bernoulli-ZufallsvariableX1, . . . , Xn mit:

Xi=

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

X:=P

Xi ist binomialverteilt mit Parameternnund 12n14, und E[X] = 12n34,Var[X] =n·12n14(1−12n14) = 12n34(1−o(1)).

(20)

Beweis (Forts.):

Die Wahrscheinlichkeit hierbei ist Pr[|S0| ≥ n

2] = Pr[X≤ 1

2n34 −√

n]≤Pr[|X−E[X]| ≥√ n]

1

2n34(1−o(1))

n ≤ 1

2n14(1−o(1)) Die anderen beiden Wahrscheinlichkeitsbedingungen (Pr[|S2| ≥n

2

]und Pr[|S1| ≥4·n34]) ergeben analoge Absch¨atzungen.

Damit: Wiederholung mit WS≤ O(n14).

Referenzen

ÄHNLICHE DOKUMENTE

Wenn Sie die Netzwerkschnittstelle für Protokolle wie TCP/IP, NetWare, NetBEUI, AppleTalk ® , IPP und SNMP konfigurieren möchten, verwenden Sie dafür EpsonNet Config, das mit dem

Wenn eine Datei oder ein Ordner, die/der in einen anderen Ordner verschoben oder kopiert werden soll, angezeigt wird, drücken Sie die Taste Menü zum Aufrufen des Popupmenüs..

EpsonNet SetupManager installiert die Druckertreiber für Drucker, die neu an das Netzwerk angeschlossen wurden, und unterstützt Netzwerkadministratoren und Clients bei

Für Studierende mit einer Durchschnittsnote schlechter als 2,5 errechnen sich die Studiengebühren aus dem Produkt von Durchschnittsnote und 200 Euro. Ergänzen Sie das

Die vorliegende Arbeit wird sich deshalb in erster Linie auch nicht mit der Revolution per se beschäftigen, sondern vielmehr danach fra- gen, wie sie korrumpiert worden war und

Wie gehen die Unternehmen selbst mit ihrem Standort um, welche kommunikative oder an- dere Art von Unterstützung durch eine gebündelte, regionale Markenanstrengung halten sie

 Suche nach WinCC oder Siemens Step7 Software in Registry.  Verbindung zum WinCC

Es gibt eine Vielzahl von Einzelfallentscheidungen der Gerichte, welche sich mit der Annahme eines ungeschriebenen Wettbewerbsverbots oder mit der Frage der