1 / 42

Computational Thinking Online Algorithmen [Was ist es wert, die Zukunft z u kennen ? ]

Computational Thinking Online Algorithmen [Was ist es wert, die Zukunft z u kennen ? ]. Kurt Mehlhorn Konstantinos Panagiotou. Der Weihnachtsmann konnte leider nicht kommen . Bisher…. In allen Problemen, die wir gesehen haben, war die Eingabe immer vollständig spezifiziert Sortieren

sean-fox
Télécharger la présentation

Computational Thinking Online Algorithmen [Was ist es wert, die Zukunft z u kennen ? ]

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computational ThinkingOnline Algorithmen[Was istes wert, die Zukunftzukennen?] Kurt Mehlhorn KonstantinosPanagiotou

  2. Der Weihnachtsmannkonnteleidernichtkommen

  3. Bisher… • In allen Problemen, die wir gesehen haben, war die Eingabe immer vollständig spezifiziert • Sortieren • Kürzeste Wege, Eulertour, … • Kompression

  4. Aber… • Manchmal ist die Eingabe nicht im Voraus vollständig bekannt • Entscheidungen müssen getroffen werden, ohne zu wissen „was kommt“ • Beispiele • Börse • Logistik (zBPost, Amazon) • Aufträge/Anfragen

  5. Online Probleme/Algorithmen • Daten werden schrittweise verfügbar • Es gibt keine Information über die zukünftigen Daten • Die Daten müssen sofortverarbeitet werden • Entscheidungen, die getroffen werden, sind nicht umkehrbar

  6. Diskussion • Das Modell ist recht restriktiv • In der Praxis sind oft einige Informationen bekannt • Finanzwelt: Annahmen über Kursverläufe • Logistik: Verteilung der Aufträge • Solches Wissen kann im Modell berücksichtigt werden

  7. Bin Packing

  8. Beispiel • Im Bin Packing geht es darum, Gegenstände in Behälter (= Bins) unterzubringen • Man möchte so wenig Bins wie möglich verwenden • Schneiden von Teilen • Spedition

  9. Das Problem • Eine vereinfachte Annahme • BinPacking • Eingabe: n Objekte mit Größen • Ausgabe: Eine Packung der Objekte in Bins der Größe 1 • Online: die Größen werden eine nach der anderen aufgedeckt, und der Gegenstand muss sofort in einen Bin platziert werden.

  10. Ein einfacher Algorithmus NextFit • Es gibt immer einen einzigen aktiven Bin • Falls das nächste Element in den aktivenBin passt, so wird es dort eingefügt • Sonst wird der Bin geschlossen, und ein neuer, leerer Bin wird aktiv • GeschlosseneBins werden nie wieder betrachtet

  11. Beispiel 0.2 0.4 0.1 0.9 0.3

  12. Ein besserer (?) Algorithmus Warum sollten man Bins schließen? FirstFit • Falls das nächste Element in irgendeinen Bin passt, so wird es dort eingefügt • Ansonsten wird es in einen neuen, leeren Bin eingefügt

  13. Beispiel 0.2 0.4 0.1 0.9 0.3

  14. Wie gut sind diese Algorithmen? • Vergleich mit einem optimalen Algorithmus • Dieser Algorithmus kennt die Zukunft • Alle Größen sind im Voraus bekannt • Er berechnet die kleinste Anzahl Bins, die benötigt werden • Der kompetitive Faktor eines Algorithmus ALG ist definiert als

  15. Beispiele (I) • Alle Gegenständesindgroß

  16. Beispiele (II) • 8 Gegenstände mit Größe • 8 mit Größe

  17. Die Reihenfolge ist wichtig! • Angenommen die Elemente kommen abwechselnd NextFit FirstFit

  18. FirstFit kann schlecht sein • 0.15 + 0.34 + 0.51 = 1 • Instanz: 6 x 0.15, 6 x 0.34, 6 x 0.51

  19. Analyse von NextFit • Nehmen wir an, NextFithätte b Bins benutzt • Seien die Gewichte der Bins • Dann gilt: • Außerdem gilt: • Da aber in jedem Bin Gewicht höchstens 1 passt, folgt daraus

  20. Geht es besser? • Wie gut kann ein online Algorithmus sein? • Kann man einen Algorithmus angeben, der immer die beste Lösung konstruiert? • Nein! 

  21. Das Gegenbeispiel (I) • Angenommen, wir haben Gegenstände mit Gewicht • Optimale Lösung: Bins • Sei BinPac ein beliebigerOnline Algorithmus • Dann benutzt BinPac bins • Also gilt:

  22. Das Gegenbeispiel (II) • Angenommen wir haben Gegenstände • haben Gewicht • haben Gewicht • Optimale Lösung: Bins • Was macht BinPac? • Die Bins können aufgefüllt werden. • Die restlichen Gegenstände benötigen nochmal so viele Bins

  23. Zusammenfassung Instanz I • mit Gewicht • Optimal = • Bins: Instanz II • mit Gewicht mit Gewicht • Optimal = • Bins:

  24. Also… • … kann es keinen online Algorithmus geben, der einen kompetitiven Faktor kleiner als hat! • FirstFit: der Faktor ist 1.7. • Übrigens: BinPacking ist NP-vollständig!

  25. Scheduling

  26. Scheduling • Gegeben sind • Maschinen • Jobs • Beispiele • Fabriken und Aufträge • Aufzüge und Menschen

  27. Problemformulierung • Maschinen • Jobs, mit Bearbeitungszeiten • Problem: minimiere die totale Bearbeitungszeit ( = der Zeitpunkt, an dem alle Jobs abgearbeitet wurden) • Online Problem • die Bearbeitungszeiten sind nicht alle zu Beginn bekannt • wirdbekannt, sobald der te Job einerMaschinezugeordnetwurde

  28. Der Algorithmus • Verteile die Jobs nach folgender Regel: „Job wird der Maschine zugeordnet, die aktuell die geringste Last hat“ 0.2 0.4 0.1 0.9 0.3

  29. Wie gut ist der Algorithmus? • Wie vorher: vergleiche die Leistung des Algorithmus mit einem optimalen Algorithmus, der alle Bearbeitungszeiten schon zu Beginn kennt

  30. Die obere Schranke

  31. Die untere Schranke • Kann der Algorithmus wirklich so schlecht werden? • Ja! • Instanz: • Jobs der Länge 1, ein Job der Länge • Die kurzen Jobs kommen zuerst

  32. Experten

  33. Das Problem • Wir möchten eine Vorhersage machen • Wird es morgen regnen? • Wird der DAX steigen? • Es gibt n Experten, die wir befragen können • Ja/Nein Antworten • Am Ende des Tages erfahren wir, wer Recht hatte • Wie können wir möglichst viele richtige Vorhersagen machen?

  34. Eine Idee • Jeder der Experten bekommt ein Gewicht: • Zu Beginn sind alle Gewichte = 1 • Gesamtgewicht = • Wir fragen alle Experten, und bilden die Summe aller „Nein“-Sager und aller „Ja“-Sager • Wir wählen die Antwort mit dem größeren Gewicht

  35. Wie lernen wir? • Am Ende des Tages werden die Gewichte angepasst • Jeder, der eine falsche Prognose gemacht hat, wird „bestraft“: das Gewicht wird mit multipliziert • Bei richtigen Prognosen passiert nichts.

  36. Beispiel Tag 1 Tag 2 Tag 3 Tag 4

  37. Wie gut ist das? • Wir vergleichen die Anzahl unserer richtigen Prognosen mit der des besten Experten • Sei die Anzahl falscher Prognosen des ten Experten nach Tagen • Sei die Anzahl unserer falscher Prognosen • Was können wir über die Relation dieser ‘s sagen?

  38. Eine allgemeine Schranke • Sei das Gesamtgewicht am ten Tag • Dann ist • Angenommen, wir haben am Tag die falsche Prognose gemacht • Dann ist das Gesamtgewicht der Experten die falsch prognostiziert haben • Nach der Aktualisierung:

  39. Also…

  40. Andererseits • Jedesmalwenn ein Experte einen Fehler macht, wird sein Gewicht mit mit multipliziert • Somit

  41. Zusammenfassung • Online Probleme • Eingabe wird nach und nach bekannt gemacht • Entscheidungen können nicht rückgängig gemacht werden • Kompetitiver Faktor

More Related