1.34k likes | 1.47k Views
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2). Organisatorisches. Heimübungsblatt 4 Aufgabe 1 wurde ausgetauscht Falls Sie die alte 1 bereits gemacht haben, geben Sie sie mit ab Praktikum
E N D
Organisatorisches Heimübungsblatt 4 • Aufgabe 1 wurde ausgetauscht • Falls Sie die alte 1 bereits gemacht haben, geben Sie sie mit ab Praktikum • Ab dem nächsten Blatt (Blatt 9) fließt nur noch eine Aufgabe der Präsenzübung in die Wertung ein • Weitere Aufgaben sind optional
Stand der Dinge Gierige Algorithmen • Konstruiere Lösung Schritt für Schritt • In jedem Schritt: Optimiere ein einfaches, lokales Kriterium Beobachtung • Man kann viele unterschiedliche gierige Algorithmen für ein Problem entwickeln • Nicht jeder dieser Algorithmen löst das Problem korrekt
Gierige Algorithmen Scheduling mit Deadlines • Resource (Hörsaal, Parallelrechner, Elektronenmikroskop,..) • Anfragen: Aufgabe, die Zeit t benötigt und bisZeitpunkt dbearbeitetseinsoll Deadline 2 Länge 1 Aufgabe 1 1 Deadline 4 Länge 2 Aufgabe 2 2 Deadline 6 Länge 3 Aufgabe 3 3
Gierige Algorithmen Scheduling mit Deadlines • Resource (Hörsaal, Parallelrechner, Elektronenmikroskop,..) • Anfragen: Aufgabe, die Zeit t benötigt und bisZeitpunkt dbearbeitetseinsoll Deadline 2 Länge 1 Aufgabe 1 1 Deadline 4 Länge 2 Aufgabe 2 2 Deadline 6 Länge 3 Aufgabe 3 3 O.b.d.A. Resource stehtabZeitpunkt 0 zurVerfügung
Gierige Algorithmen Scheduling mit Deadlines • Resource (Hörsaal, Parallelrechner, Elektronenmikroskop,..) • Anfragen: Aufgabe, die Zeit t benötigt und bisZeitpunkt dbearbeitetseinsoll Deadline 2 Länge 1 Aufgabe 1 1 Deadline 4 Länge 2 Aufgabe 2 2 Deadline 6 Länge 3 Aufgabe 3 3 1 Aufgabe 1: FertigzuZeitpunkt 1
Gierige Algorithmen Scheduling mit Deadlines • Resource (Hörsaal, Parallelrechner, Elektronenmikroskop,..) • Anfragen: Aufgabe, die Zeit t benötigt und bisZeitpunkt dbearbeitetseinsoll Deadline 2 Länge 1 Aufgabe 1 1 Deadline 4 Länge 2 Aufgabe 2 Aufgabe 2: Fertig zu Zeitpunkt 3 2 Deadline 6 Länge 3 Aufgabe 3 3 2 1 Aufgabe 1: FertigzuZeitpunkt 1
Gierige Algorithmen Scheduling mit Deadlines • Resource (Hörsaal, Parallelrechner, Elektronenmikroskop,..) • Anfragen: Aufgabe, die Zeit t benötigt und bisZeitpunkt dbearbeitetseinsoll Deadline 2 Länge 1 Aufgabe 1 1 Deadline 4 Länge 2 Aufgabe 2 Aufgabe 2: Fertig zu Zeitpunkt 3 2 Deadline 6 Länge 3 Aufgabe 3 3 2 3 1 Aufgabe 1: FertigzuZeitpunkt 1 Aufgabe 3: Fertig zu Zeitpunkt 6
Gierige Algorithmen Scheduling mit Deadlines • Resource (Hörsaal, Parallelrechner, Elektronenmikroskop,..) • Anfragen: Aufgabe, die Zeit t benötigt und bisZeitpunkt dbearbeitetseinsoll Deadline 2 Länge 1 Alle Aufgaben sind rechtzeitig fertig! Aufgabe 1 1 Deadline 4 Länge 2 Aufgabe 2 Aufgabe 2: Fertig zu Zeitpunkt 3 2 Deadline 6 Länge 3 Aufgabe 3 3 2 3 1 Aufgabe 1: FertigzuZeitpunkt 1 Aufgabe 3: Fertig zu Zeitpunkt 6
Gierige Algorithmen Scheduling mit Deadlines • Resource (Hörsaal, Parallelrechner, Elektronenmikroskop,..) • Anfragen: Aufgabe, die Zeit t benötigt und bisZeitpunkt dbearbeitetseinsoll Deadline 4 Länge 1 Aufgabe 1 1 Deadline 4 Länge 2 Aufgabe 2 2 Deadline 6 Länge 3 Aufgabe 3 3
Gierige Algorithmen Scheduling mit Deadlines • Resource (Hörsaal, Parallelrechner, Elektronenmikroskop,..) • Anfragen: Aufgabe, die Zeit t benötigt und bisZeitpunkt dbearbeitetseinsoll Deadline 4 Länge 1 Aufgabe 1 1 Deadline 4 Länge 2 Aufgabe 2 2 Deadline 6 Länge 3 Aufgabe 3 3 1
Stand der Dinge Scheduling mit Deadlines • Resource (Hörsaal, Parallelrechner, Elektronenmikroskop,..) • Anfragen: Aufgabe, die Zeit t benötigt und bisZeitpunkt dbearbeitetseinsoll Deadline 4 Länge 1 Aufgabe 1 1 Deadline 4 Länge 2 Aufgabe 2 2 Deadline 6 Länge 3 Aufgabe 3 3 1 2
Stand der Dinge Scheduling mit Deadlines • Resource (Hörsaal, Parallelrechner, Elektronenmikroskop,..) • Anfragen: Aufgabe, die Zeit t benötigt und bisZeitpunkt dbearbeitetseinsoll Deadline 4 Länge 1 Aufgabe 1 1 Deadline 4 Länge 2 Aufgabe 2 wird zu spät beendet Aufgabe 2 2 Deadline 6 Länge 3 Aufgabe 3 3 1 2
Gierige Algorithmen Scheduling mit Deadlines • Resource (Hörsaal, Parallelrechner, Elektronenmikroskop,..) • Anfragen: Aufgabe, die Zeit t benötigt und bisZeitpunkt dbearbeitetseinsoll Deadline 4 Länge 1 Aufgabe 1 1 Deadline 4 Länge 2 Aufgabe 2 2 Deadline 6 Länge 3 Aufgabe 3 3 2
Gierige Algorithmen Scheduling mit Deadlines • Resource (Hörsaal, Parallelrechner, Elektronenmikroskop,..) • Anfragen: Aufgabe, die Zeit t benötigt und bisZeitpunkt dbearbeitetseinsoll Deadline 4 Länge 1 Aufgabe 1 1 Deadline 4 Länge 2 Aufgabe 1 wirdzuspätbeendet Aufgabe 2 2 Deadline 6 Länge 3 Aufgabe 3 3 1 2
Gierige Algorithmen Scheduling mit Deadlines • Resource (Hörsaal, Parallelrechner, Elektronenmikroskop,..) • Anfragen: Aufgabe, die Zeit t benötigt und bisZeitpunkt dbearbeitetseinsoll WirkönnennichtalleAufgaben bearbeiten und gleichzeitig die Deadlines einhalten! Deadline 4 Länge 1 Aufgabe 1 1 Deadline 4 Länge 2 Aufgabe 2 2 Deadline 6 Länge 3 Aufgabe 3 3
Gierige Algorithmen Scheduling mit Deadlines • Resource (Hörsaal, Parallelrechner, Elektronenmikroskop,..) • Anfragen: Aufgabe, die Zeit t benötigt und bisZeitpunkt dbearbeitetseinsoll WirkönnennichtalleAufgaben bearbeiten und gleichzeitig die Deadlines einhalten! Deadline 4 Länge 1 Aufgabe 1 1 Deadline 4 Länge 2 Aufgabe 2 2 Deadline 6 Länge 3 Aufgabe 3 3 1
Gierige Algorithmen Scheduling mit Deadlines • Resource (Hörsaal, Parallelrechner, Elektronenmikroskop,..) • Anfragen: Aufgabe, die Zeit t benötigt und bisZeitpunkt dbearbeitetseinsoll WirkönnennichtalleAufgaben bearbeiten und gleichzeitig die Deadlines einhalten! Deadline 4 Länge 1 Aufgabe 1 1 Deadline 4 Länge 2 Aufgabe 2 2 Deadline 6 Länge 3 Aufgabe 3 3 1 2
Gierige Algorithmen Scheduling mit Deadlines • Resource (Hörsaal, Parallelrechner, Elektronenmikroskop,..) • Anfragen: Aufgabe, die Zeit t benötigt und bisZeitpunkt dbearbeitetseinsoll WirkönnennichtalleAufgaben bearbeiten und gleichzeitig die Deadlines einhalten! Deadline 4 Länge 1 Aufgabe 1 1 Deadline 4 Länge 2 Aufgabe 2 2 Deadline 6 Länge 3 Aufgabe 3 3 1 2 Aufgabe 2: Verspätung 1
Gierige Algorithmen Scheduling mit Deadlines • Resource (Hörsaal, Parallelrechner, Elektronenmikroskop,..) • Anfragen: Aufgabe, die Zeit t benötigt und bisZeitpunkt dbearbeitetseinsoll WirkönnennichtalleAufgaben bearbeiten und gleichzeitig die Deadlines einhalten! Deadline 4 Länge 1 Aufgabe 1 1 Deadline 4 Länge 2 Aufgabe 2 2 Deadline 6 Länge 3 Aufgabe 3 3 1 3 2 Aufgabe 2: Verspätung 1
Gierige Algorithmen Scheduling mit Deadlines • Resource (Hörsaal, Parallelrechner, Elektronenmikroskop,..) • Anfragen: Aufgabe, die Zeit t benötigt und bisZeitpunkt dbearbeitetseinsoll WirkönnennichtalleAufgaben bearbeiten und gleichzeitig die Deadlines einhalten! Deadline 4 Länge 1 Aufgabe 1 1 Deadline 4 Länge 2 Aufgabe 2 2 Deadline 6 Länge 3 Aufgabe 3 3 1 3 2 Aufgabe 3: Verspätung 2 Aufgabe 2: Verspätung 1
Gierige Algorithmen Scheduling mit Deadlines • Resource (Hörsaal, Parallelrechner, Elektronenmikroskop,..) • Anfragen: Aufgabe, die Zeit t benötigt und bisZeitpunkt dbearbeitetseinsoll Ziel: MinimieremaximaleVerspätung Deadline 4 Länge 1 Aufgabe 1 1 Deadline 4 Länge 2 Aufgabe 2 2 Deadline 6 Länge 3 Aufgabe 3 3 1 3 2 Aufgabe 3: Verspätung 2 Aufgabe 2: Verspätung 1
Gierige Algorithmen Strategie 1 • Bearbeite die Jobs nach ansteigender Länge Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6
Gierige Algorithmen Strategie 1 • Bearbeite die Jobs nach ansteigender Länge Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6 1 Keine Verspätung
Gierige Algorithmen Strategie 1 • Bearbeite die Jobs nach ansteigender Länge Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6 5 1 Keine Verspätung
Gierige Algorithmen Strategie 1 • Bearbeite die Jobs nach ansteigender Länge Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6 5 3 1 Keine Verspätung
Gierige Algorithmen Strategie 1 • Bearbeite die Jobs nach ansteigender Länge Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6 5 3 4 1 Keine Verspätung
Gierige Algorithmen Strategie 1 • Bearbeite die Jobs nach ansteigender Länge Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6 2 5 3 4 1 Verspätung 5
Gierige Algorithmen Strategie 1 • Bearbeite die Jobs nach ansteigender Länge Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6 6 2 5 3 4 1 Verspätung 3
Gierige Algorithmen Strategie 1 • Bearbeite die Jobs nach ansteigender Länge Deadline 9 1 Deadline 4 2 Deadline 6 3 MaximaleVerspätungdurchAufgabe 2 (5 Zeiteinheiten) Deadline 6 4 Deadline 3 5 Deadline 9 6 6 2 5 3 4 1
Gierige Algorithmen Strategie 1 • Bearbeite die Jobs nach ansteigender Länge • Optimalität? Deadline 9 1 Deadline 4 2 Deadline 6 3 MaximaleVerspätungdurchAufgabe 2 (5 Zeiteinheiten) Deadline 6 4 Deadline 3 5 Deadline 9 6 6 2 5 3 4 1
Gierige Algorithmen Strategie 1 • Bearbeite die Jobs nach ansteigender Länge • Optimalität? Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6 5 Keine Verspätung
Gierige Algorithmen Strategie 1 • Bearbeite die Jobs nach ansteigender Länge • Optimalität? Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6 2 5 Keine Verspätung
Gierige Algorithmen Strategie 1 • Bearbeite die Jobs nach ansteigender Länge • Optimalität? Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6 2 5 3 KeineVerspätung
Gierige Algorithmen Strategie 1 • Bearbeite die Jobs nach ansteigender Länge • Optimalität? Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6 2 5 3 4 Verspätung 2
Gierige Algorithmen Strategie 1 • Bearbeite die Jobs nach ansteigender Länge • Optimalität? Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6 2 5 3 4 1 KeineVerspätung
Gierige Algorithmen Strategie 1 • Bearbeite die Jobs nach ansteigender Länge • Optimalität? Deadline 9 1 Deadline 4 2 Deadline 6 3 Maximale Verspätung durch Aufgabe 6 (3 Zeiteinheiten) Deadline 6 4 Deadline 3 5 Deadline 9 6 6 2 5 3 4 1
Gierige Algorithmen Strategie 1 • Bearbeite die Jobs nach ansteigender Länge • Optimalität? • Problem: Ignoriert Deadlines völlig Deadline 9 1 Deadline 4 2 Deadline 6 3 Maximale Verspätung durch Aufgabe 6 (3 Zeiteinheiten) Deadline 6 4 Deadline 3 5 Deadline 9 6 6 2 5 3 4 1
Gierige Algorithmen Strategie 2 • Bearbeite zunächst die Aufgaben mit geringstem Spielraum d-t Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6
Gierige Algorithmen Strategie 2 • Bearbeite zunächst die Aufgaben mit geringstem Spielraum d-t Spielraum 8 Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6
Gierige Algorithmen Strategie 2 • Bearbeite zunächst die Aufgaben mit geringstem Spielraum d-t Deadline 9 1 Deadline 4 2 Spielraum 4 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6
Gierige Algorithmen Strategie 2 • Bearbeite zunächst die Aufgaben mit geringstem Spielraum d-t Deadline 9 1 Spielraum 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6 2
Gierige Algorithmen Strategie 2 • Bearbeite zunächst die Aufgaben mit geringstem Spielraum d-t Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Spielraum 2 Deadline 3 5 Deadline 9 6 2 5
Gierige Algorithmen Strategie 2 • Bearbeite zunächst die Aufgaben mit geringstem Spielraum d-t Deadline 9 1 Deadline 4 2 Spielraum 4 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6 2 5 3
Gierige Algorithmen Strategie 2 • Bearbeite zunächst die Aufgaben mit geringstem Spielraum d-t Deadline 9 1 Deadline 4 2 Deadline 6 3 Spielraum 4 Deadline 6 4 Deadline 3 5 Deadline 9 6 2 4 5 3
Gierige Algorithmen Strategie 2 • Bearbeite zunächst die Aufgaben mit geringstem Spielraum d-t Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Spielraum 6 Deadline 9 6 6 2 4 5 3
Gierige Algorithmen Strategie 2 • Bearbeite zunächst die Aufgaben mit geringstem Spielraum d-t Spielraum 8 Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6 6 2 4 5 3 1
Gierige Algorithmen Strategie 2 • Bearbeite zunächst die Aufgaben mit geringstem Spielraum d-t Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6 6 2 4 5 3 1 Verspätung 3
Gierige Algorithmen Strategie 2 • Bearbeite zunächst die Aufgaben mit geringstem Spielraum d-t Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Optimal für unsere Eingabe Deadline 3 5 Deadline 9 6 6 2 4 5 3 1 Verspätung 3
Gierige Algorithmen Strategie 2 • Bearbeite zunächst die Aufgaben mit geringstem Spielraum d-t • Optimalität? Spielraum 2 Deadline 3 1 Deadline 9 2 Spielraum 0