• Keine Ergebnisse gefunden

OnlineAlgorithmen IdeenundKonzeptederInformatik

N/A
N/A
Protected

Academic year: 2021

Aktie "OnlineAlgorithmen IdeenundKonzeptederInformatik"

Copied!
39
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Ideen und Konzepte der Informatik

Online Algorithmen

... was ist es wert, die Zukunft zu kennen.

...oder: die Chance auf der besten Praline.

Antonios Antoniadis

1/17

(2)

Bisher...

Für alle bisher betrachteten Algorithmen (Sortieren, kürzeste Wege, ...) war die Eingabe immer komplett bekannt.

Aber...

In der Realität ist die Eingabe im Voraus meist nicht vollständig bekannt.

Entscheidungen müssen getroffen werden, ohne zu wissen,

„was kommt“. Beispiele:

– Börse (Aktienkauf und Verkauf) – Wann tanken (Spritpreis)?

1/17

(3)

Bisher...

Für alle bisher betrachteten Algorithmen (Sortieren, kürzeste Wege, ...) war die Eingabe immer komplett bekannt.

Aber...

In der Realität ist die Eingabe im Voraus meist nicht vollständig bekannt.

Entscheidungen müssen getroffen werden, ohne zu wissen,

„was kommt“.

Beispiele:

– Börse (Aktienkauf und Verkauf) – Wann tanken (Spritpreis)?

1/17

(4)

In der Regel:

Es gibt keine Information über die zukünftigen Daten.

Daten/Informationen werden schrittweise verfügbar.

Die Daten müssen sofort verarbeitet werden und

Entscheidungen, die getroffen werden, sind nicht umkehrbar.

2/17

(5)

Ungewissheit

„Das Leben ist wie eine Schachtel Pralinen. Man weiß nie, was man kriegt“.

Forrest Gump

3/17

(6)

Ungewissheit ist schwer auszuhalten

Wie kann man Daten halbwegs gut verarbeiten, wenn nur ein Teil der Eingabe bekannt ist?

Erstaunlicherweise ist es oft möglich, trotz Ungewissheit sehr gute Entscheidungen zu treffen!

4/17

(7)

Ungewissheit ist schwer auszuhalten

Wie kann man Daten halbwegs gut verarbeiten, wenn nur ein Teil der Eingabe bekannt ist?

Erstaunlicherweise ist es oft möglich, trotz Ungewissheit sehr gute Entscheidungen zu treffen!

4/17

(8)

Das Feuerwehr-Problem

Es gibt n Standorte und k < n viele Feuerwehrautos, die jeweils auf einem von diesen Standorten positioniert sind.

Über die Zeit kommen Anrufe in der Feuerwehrzentrale an, die jeweils ein Feuer auf einem der n Standorte melden.

Falls ein Auto dort positioniert ist, müssen Sie nichts tun.

Falls aber kein Auto dort positioniert ist, müssen Sie ein anderes Auto hinschicken. Dieses wechselt somit den Standort.

Wir möchten die Anzahl der Standortwechsel minimieren.

5/17

(9)

Ein Beispiel

1

2

3

4 5 6

7 8

9

10

11

12

6/17

(10)

Ein Beispiel

1

2

3

4 5 5 6

7 8

9

10

11

12

6/17

(11)

Ein Beispiel

1

2

3

4 5 5 5 6

7 8

9

10

11

12 12

6/17

(12)

Ein Beispiel

1

2

3

4 5 5 6

7 8

9

10

11

12 12

6/17

(13)

Ein Beispiel

1

2

3

4 5 5 6

7 8

9

10

11

12 12

6/17

(14)

Ein Beispiel

1

2

3

4 5 5 6

7 8

9

10

11 11

12 12

6/17

(15)

Ein Beispiel

1

2

3

4 5 5 6

7 8

9

10

11

12 12

6/17

(16)

Ein Beispiel

1

2

3

4 5 5 6

7 8

9

10

11

12 12

6/17

(17)

Ein Beispiel

1

2

3

4 5 5 6

7 8

9

10

11

12 12

6/17

(18)

Offline Algorithmen

Nehmen wir kurz an, wir kennen die Zukunft. In diesem Fall: die Sequenz der brennenden Standorte. Wir sprechen dann von einem offline Problem.

Wie würden Sie vorgehen?

Algorithmus LFD (Longest Forward Distance):

Immer dasjenige Auto schicken, welches an dem Standort steht, an dem es am spätesten wieder brennt.

Theorem

LFD ist optimal, also kann es keine Eingabe geben, auf der ein anderer Algorithmus weniger Umstationierungen als LFD hat.

7/17

(19)

Offline Algorithmen

Nehmen wir kurz an, wir kennen die Zukunft. In diesem Fall: die Sequenz der brennenden Standorte. Wir sprechen dann von einem offline Problem.

Wie würden Sie vorgehen?

Algorithmus LFD (Longest Forward Distance):

Immer dasjenige Auto schicken, welches an dem Standort steht, an dem es am spätesten wieder brennt.

Theorem

LFD ist optimal, also kann es keine Eingabe geben, auf der ein anderer Algorithmus weniger Umstationierungen als LFD hat.

7/17

(20)

Offline Algorithmen

Nehmen wir kurz an, wir kennen die Zukunft. In diesem Fall: die Sequenz der brennenden Standorte. Wir sprechen dann von einem offline Problem.

Wie würden Sie vorgehen?

Algorithmus LFD (Longest Forward Distance):

Immer dasjenige Auto schicken, welches an dem Standort steht, an dem es am spätesten wieder brennt.

Theorem

LFD ist optimal, also kann es keine Eingabe geben, auf der ein anderer Algorithmus weniger Umstationierungen als LFD hat.

7/17

(21)

Offline Algorithmen

Nehmen wir kurz an, wir kennen die Zukunft. In diesem Fall: die Sequenz der brennenden Standorte. Wir sprechen dann von einem offline Problem.

Wie würden Sie vorgehen?

Algorithmus LFD (Longest Forward Distance):

Immer dasjenige Auto schicken, welches an dem Standort steht, an dem es am spätesten wieder brennt.

Theorem

LFD ist optimal, also kann es keine Eingabe geben, auf der ein anderer Algorithmus weniger Umstationierungen als LFD hat.

7/17

(22)

Schade ist...

Wir können nicht LFD verwenden, da wir in der Regel die Sequenz der Feuer nicht kennen.

Können wir aber ggf. einen Algorithmus finden, der nicht viel öfter umstationiert als LFD?

8/17

(23)

Schade ist...

Wir können nicht LFD verwenden, da wir in der Regel die Sequenz der Feuer nicht kennen.

Können wir aber ggf. einen Algorithmus finden, der nicht viel öfter umstationiert als LFD?

8/17

(24)

Kompetitiver Faktor

Wir messen die “Güte” eines Online-Algorithmus A mit dem Kompetitiven Faktor:

max

I

Kosten von A auf I

Kosten vom besten offline Algorithmus auf I

.

Siehe auch: Blatt 9, Aufgabe 2.

9/17

(25)

Kompetitiver Faktor

Wir messen die “Güte” eines Online-Algorithmus A mit dem Kompetitiven Faktor:

max

I

Kosten von A auf I

Kosten vom besten offline Algorithmus auf I

.

Siehe auch: Blatt 9, Aufgabe 2.

9/17

(26)

Theorem

Kein (deterministischer) Algorithmus für das Feuerwehr-Problem kann einen Kompetitiven-Faktor besser als k haben.

1

2 3

5 4 6

Betrachten wir beliebigen Algorithmus A.

Sequenz: k + 1 Standorte, mit Feuer immer dort, wo A kein Auto hat.

A: Anzahl Umstationierungen = Länge der Sequenz LFD: Nicht mehr als (Länge der Sequenz)/k .

10/17

(27)

Theorem

Kein (deterministischer) Algorithmus für das Feuerwehr-Problem kann einen Kompetitiven-Faktor besser als k haben.

1

2 3

5 4 5 6

Betrachten wir beliebigen Algorithmus A.

Sequenz: k + 1 Standorte, mit Feuer immer dort, wo A kein Auto hat.

A: Anzahl Umstationierungen = Länge der Sequenz LFD: Nicht mehr als (Länge der Sequenz)/k .

10/17

(28)

Theorem

Kein (deterministischer) Algorithmus für das Feuerwehr-Problem kann einen Kompetitiven-Faktor besser als k haben.

1

2 3

5 4 5 6

Betrachten wir beliebigen Algorithmus A.

Sequenz: k + 1 Standorte, mit Feuer immer dort, wo A kein Auto hat.

A: Anzahl Umstationierungen = Länge der Sequenz LFD: Nicht mehr als (Länge der Sequenz)/k .

10/17

(29)

Theorem

Kein (deterministischer) Algorithmus für das Feuerwehr-Problem kann einen Kompetitiven-Faktor besser als k haben.

1

2 3

5 4 5 6

Betrachten wir beliebigen Algorithmus A.

Sequenz: k + 1 Standorte, mit Feuer immer dort, wo A kein Auto hat.

A: Anzahl Umstationierungen = Länge der Sequenz LFD: Nicht mehr als (Länge der Sequenz)/k .

10/17

(30)

Theorem

Kein (deterministischer) Algorithmus für das Feuerwehr-Problem kann einen Kompetitiven-Faktor besser als k haben.

1

2 3

5 4 5 6

Betrachten wir beliebigen Algorithmus A.

Sequenz: k + 1 Standorte, mit Feuer immer dort, wo A kein Auto hat.

A: Anzahl Umstationierungen = Länge der Sequenz LFD: Nicht mehr als (Länge der Sequenz)/k .

10/17

(31)

Theorem

Kein (deterministischer) Algorithmus für das Feuerwehr-Problem kann einen Kompetitiven-Faktor besser als k haben.

1

2 3

5 4 5 6

Betrachten wir beliebigen Algorithmus A.

Sequenz: k + 1 Standorte, mit Feuer immer dort, wo A kein Auto hat.

A: Anzahl Umstationierungen = Länge der Sequenz LFD: Nicht mehr als (Länge der Sequenz)/k .

10/17

(32)

Theorem

Kein (deterministischer) Algorithmus für das Feuerwehr-Problem kann einen Kompetitiven-Faktor besser als k haben.

1

2 3 3

5 4 5 6

Betrachten wir beliebigen Algorithmus A.

Sequenz: k + 1 Standorte, mit Feuer immer dort, wo A kein Auto hat.

A: Anzahl Umstationierungen = Länge der Sequenz LFD: Nicht mehr als (Länge der Sequenz)/k .

10/17

(33)

Markierungsalgorithmen

Klasse von Algorithmen, die:

jeden neu brennenden Standort markieren.

Immer wenn ein Auto umstationiert werden muss, wird eins von einem nicht markierten Standort ausgewählt.

Wenn k Standorte markiert sind, werden alle Markierungen aufgehoben (Ende dieser Phase, beginn einer neuen Phase).

11/17

(34)

Theorem

Jeder Markierungsalgorithmus ist k -kompetitiv.

Umstationierungen eines Markierungsalgorithmus pro Phase:

maximal k

Umstationierungen von LFD pro Phase: 1 (formal gesehen wird hier auch das erste Feuer der nächsten Phase mit

berücksichtigt).

Insgesamt:

Kompetitiver Faktor ≤ P

Phasen

k P

Phasen

1 = k

12/17

(35)

Diskussion

Recht restriktives Modell.

In der Praxis sind oft einige Informationen bekannt:

– Finanzwelt: Annahmen über Kursverläufe – Entwicklung des Ölpreises

– Logistik: Verteilung der Aufträge

Solches Wissen kann bei der Modellierung berücksichtigt werden.

13/17

(36)

Experten

Angenommen Sie wollen einen Monat lang das Wetter vorhersagen (oder Aktien kaufen/verkaufen).

Es gibt n Experten, die Vorhersagen liefern, z.B. ob Aktie X heute steigt oder fällt.

Am Ende jedes Tages weiss man, welche Experten recht hatten und welche nicht.

Welcher der insgesamt beste Experte ist, wissen Sie nur am Ende des Monats.

Erstaunlich ist, dass es möglich ist, eine Leistung, ähnlich der des besten Experten zu erzielen!

14/17

(37)

Algorithmus

Wir geben jedem Experten i ein Gewicht w

it

in jedem Schritt t.

Am Anfang w

i1

= 1 für alle, also ist das Gesamtgewicht W

1

= n.

Wenn er falsch liegt, wird sein Gewicht nach dem Schritt mit (1 − ) multipliziert (also wir vertrauen ihm weniger).

An jedem Tag entscheiden wir uns für das, was die gewichtete Mehrheit sagt.

15/17

(38)

Jedes Mal wenn wir falsch liegen:

W

t+1

≤ (1 − /2)W

t

⇒ W

M

≤ (1 − /2)

M

· n wenn M die Anzahl Tage ist an der wir falsch lagen.

Für jeden Experten i, (1 − )

mi

≤ W

M

, wenn m

i

die Anzahl seiner falschen Vorhersagen ist.

Also, (1 − )

mi

≤ (1 − /2)

M

· n, und mit Auflösen nach M, M ≤ 2m

i

(1 + ) + 2

· log n.

Also sind wir fast halb so gut wie der beste Experte. Mit Randomisierung können wir uns noch mehr der Leistung des besten Experten annähern.

16/17

(39)

Zusammenfassung

In der Praxis/Im Leben herrscht oft Ungewissheit – Man kennt die Zukunft nicht.

Man kann oft trotzdem nachweisbar sehr gute Entscheidungen treffen.

17/17

Referenzen

ÄHNLICHE DOKUMENTE

Der Redaktion angebotene Beilräge dürfen nichl bereits veröffentlicht sein oder gleichzeitig veröffentlicht werden; sie geben nichl die Meinung der Herausgeber

[r]

RIOPAN® Magen Gel 1600 mg Gel zum Einnehmen; RIOPAN® Magen Tabletten 800 mg Kautabletten; RIOPAN® Magen Tabletten Mint 800 mg Kautabletten – Wirkstoff: Magaldrat; Zus.: RIOPAN

Im Gegensatz zu einer Harnwegsinfektion kommt es aber nicht zu den typischen Schmerzen beim Wasserlas- sen und es lassen sich im Urin weder Bakterien noch andere Zeichen

Eine schwere allergi- sche Hautreaktion ist unter an- derem das Hypersensitivitäts- syndrom, das zum Beispiel nach einer mehrwöchigen Einnahme von Carbamazepin auftritt und bei

Wenn man die Geschichte er- forscht, nicht in den gereinigten Ausgaben, die für Volksschüler und Gymnasiasten ver- anstaltet sind, sondern in den echten Quellen aus der jeweiligen

Genau deshalb, weil Lücken aufgedeckt worden sind und jetzt geschlossen werden können, war die Übung ein voller Erfolg.» Die Lehrerschaft, die Schulpflege und die

Unter den Ländern mit einem hohen Zuwachs der F&amp;E- Ausgaben finden sich einzelne, die heute – auch bei starkem Wirtschaftswachstum – eine sehr hohe F&amp;E-Intensität