• Keine Ergebnisse gefunden

Kette von P k ’s:

N/A
N/A
Protected

Academic year: 2021

Aktie "Kette von P k ’s:"

Copied!
16
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

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/600

©Ernst W. Mayr

(2)

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

14

k

h sdg. 2 h 1 ≤ k < 2 h

EADS 4 Sch¨onhage/Paterson/Pippenger-Median-Algorithmus 366/600

©Ernst W. Mayr

(3)

Pool von Einzel- elementen

Pool von H

i

1≤i≤2h

bilde

rekursiv H

2h

zerlege H

2h

in P

k

und H

i

’s

i <2h

recycle H

i

’s

f¨ uge P

k

in die Kette der P

k

’s ein (nach

Zentrum sortiert)

Kette von P

k

’s falls oben

nichts mehr geht

t−1> r t−1≤r

sortiere alle Elemente noch im System,

bestimme Median entferne die

2k+ 2

extremen Elemente, Rest der beiden

P

k

’s in Pools

EADS 4 Sch¨onhage/Paterson/Pippenger-Median-Algorithmus 367/600

©Ernst W. Mayr

(4)

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 (n

12

), R ist O (n

34

).

EADS 4 Sch¨onhage/Paterson/Pippenger-Median-Algorithmus 368/600

©Ernst W. Mayr

(5)

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

 

 |{z} 2k

1

+ 3k | {z } + 2h

2

+ log n 2k + 1

| {z }

4

 

 + R log R

| {z }

5

+ |{z} r

3

.

EADS 4 Sch¨onhage/Paterson/Pippenger-Median-Algorithmus 369/600

©Ernst W. Mayr

(6)

Mit k = j n

14

k

, h so, dass 2 h 1 ≤ k < 2 h , ergibt sich damit r = O (k 2 )

t = O (k 2 ) zum Schluss R = O (k 3 ), und damit die Anzahl der Vergleiche = T (n) ≤ 5n + o(n) . Verbesserte Version (besseres Zurechtschneiden, bessere Verwertung der Reste):

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

EADS 4 Sch¨onhage/Paterson/Pippenger-Median-Algorithmus 370/600

©Ernst W. Mayr

(7)

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/600

©Ernst W. Mayr

(8)

5. Eine untere Schranke f¨ ur die Medianbestimmung

Satz 89

Jeder (vergleichsbasierte) Medianalgorithmus ben¨ otigt im worst-case mindestens 3n

2

− 2 Vergleiche.

Beweis:

Gegenspielerargument (adversary argument)

n Elemente, o.B.d.A. n ungerade, alle Elemente paarweise verschieden. Die Menge aller Elemente wird in drei Teilmengen partitioniert: U enth¨ alt die Kandidaten f¨ ur den Median, G enth¨ alt Elemente, die sicher gr¨ oßer als der Median sind, und L enth¨ alt Elemente, die sicher kleiner als der Median sind. Anfangs sind alle Elemente in U .

EADS 5 Eine untere Schranke f¨ur die Medianbestimmung 372/600

©Ernst W. Mayr

(9)

Beweis (Forts.):

Der Algorithmus stellt nun Fragen der Form a i < a j . Der Gegenspieler gibt konsistente Antworten, die den Algorithmus jedoch dazu zwingen, m¨ oglichst viele Fragen stellen zu m¨ ussen, bevor die Antwort feststehen kann (d.h. U soll m¨ oglichst ungeordnet bleiben).

Durch die (konsistenten!) Antworten des Gegenspielers auf die

“ < ? “-Queries des Algorithmus entsteht ein DAG. Der Gegenspieler h¨ alt diesen DAG “einfach“, z.B. angenommen y > z und y > x, dann soll y

” sehr groß“ sein ⇒ y → G.

EADS 5 Eine untere Schranke f¨ur die Medianbestimmung 373/600

©Ernst W. Mayr

(10)

Strategie des Gegenspielers

Beweis (Forts.):

L U G

a

1

• • • • • a

n

a i < a j

• •

a i a j

EADS 5 Eine untere Schranke f¨ur die Medianbestimmung 374/600

©Ernst W. Mayr

(11)

Strategie des Gegenspielers

Beweis (Forts.):

L U G

• • • • • • b % G

EADS 5 Eine untere Schranke f¨ur die Medianbestimmung 375/600

©Ernst W. Mayr

(12)

Strategie des Gegenspielers

Beweis (Forts.):

L U G

• • • • • • Solange ein Element unverglichen ist, ist nicht klar, welches der Median ist.

≤ n + 1 2 − 1

≤ n + 1 2 − 1

EADS 5 Eine untere Schranke f¨ur die Medianbestimmung 376/600

©Ernst W. Mayr

(13)

Beweis (Forts.):

Solange | L | , | G | < n+1 2 , kann der Algorithmus annehmen, dass der Median in U ist. Solange U mindestens zwei unverglichene

Elemente und keine Zusammenhangskomponente mit > 2 Elementen enth¨ alt, kann der Algorithmus den Median nicht bestimmen.

EADS 5 Eine untere Schranke f¨ur die Medianbestimmung 377/600

©Ernst W. Mayr

(14)

Strategie des Gegenspielers

Beweis (Forts.):

Die Strategie des Gegenspielers hat zwei Phasen.

Erste Phase: Query sei x < y: ?

i) x, y ∈ G bzw. x, y ∈ L: irgendeine konsistente Antwort ii) x ∈ G ∧ y ∈ L ∪ U (bzw. x ∈ L ∧ y ∈ G ∪ U ):

Antwort: y < x (bzw. x < y).

iii) Sei x, y ∈ U .

EADS 5 Eine untere Schranke f¨ur die Medianbestimmung 378/600

©Ernst W. Mayr

(15)

Query Antwort des Anzahl der |U | |L| |G|

Gegenspielers Paare in U

1. x y

x y

+1 — — —

2. x y y → G

x -1 -1 0 +1

3. x

y y → L

x

-1 -1 +1 0

4.

x y y → G

x -1 -1 0 +1

5. x y y → L

x

-1 -1 +1 0

6. x

y x

&

L

y

-1 -1 +1 0

EADS 5 Eine untere Schranke f¨ur die Medianbestimmung 379/600

©Ernst W. Mayr

(16)

Die erste Phase endet, wenn | L | = n 2 1 oder | G | = n 2 1 . W¨ ahrend der Phase 1 enth¨ alt U mindestens zwei (in U ) maximale und mindestens zwei (in U ) minimale Elemente (bzgl. des DAGs). ⇒ W¨ ahrend Phase 1 kann der Algorithmus den Median mit Sicherheit nicht bestimmen.

Der Gegenspieler beginnt mit Phase 2, sobald

| L | wird n − 1

2 oder | G | wird n − 1 2 . O.B.d.A.:

| L | = n − 1 2

Der Gegenspieler zwingt nun den Algorithmus, das minimale Element in U bzgl. der gesamten totalen Ordnung zu bestimmen (da dieses unter den Vorgaben der Median ist).

EADS 5 Eine untere Schranke f¨ur die Medianbestimmung 380/600

©Ernst W. Mayr

Referenzen

ÄHNLICHE DOKUMENTE

Die Menge aller Elemente wird in drei Teilmengen partitioniert: U enth¨ alt die Kandidaten f¨ ur den Median, G enth¨ alt Elemente, die sicher gr¨ oßer als der Median sind, und L

Pfadkompression ben¨ otigt f¨ ur eine (beliebige) Folge von m Union- und Find-Operationen Zeit O(m log ∗ n).. Union-Find mit gewichteter Vereinigung

Zusammen mit (17) zeigen sie, daß in einer Booleschen Algebra jede der beiden zweistelligen Verkn¨ upfungen zusammen mit der Komplementbildung die andere zweistellige Verkn¨ upfung

Man bestimme die Koordinaten aller Ecken, wenn eine Ecke im Ursprung liegt und ⃗a,⃗b, ⃗ c als Ortsvektoren aufgefasst werden.. h , welche C und D enth¨ alt, in Parameterform und

Um die Umkehrung dieses Satzes zu zeigen, muss man zu jedem Hartogs-konvexen Gebiet eine globale holomorphe Funktion konstruieren, die in jedem Randpunkt vollst¨ andig singul¨ ar

Eine hinreichende Bedingung f¨ ur ein lokales Minimum (Maximum) in einem kritischen Punkt x ∗ im Innern des Definitionsbereichs D ist, dass ebenfalls die zweiten partiellen

[r]

Die Menge freeElements enth¨ alt alle freien Elemente, die Menge usedElements enth¨ alt alle Elemente, die gerade verwendet werden.. Neu hinzugef¨ ugte Elemente werden als