IntelliVideo1 / 25 IntelliVideo Der intelligente Videorekorder.

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen für das Erfüllbarkeitsproblem SAT
Advertisements

Punkt-in-Polygon-Verfahren III (R/R+-Baum)
Knapsack & Bin Packing Sebastian Stober
Man bestimme den „minimalen aufspannenden Baum“ des Graphen.
Minimum Spanning Tree: MST
Kapitel 6: Klassifizierung von Sortiertechniken
Kapitel 3: Listen Lineare Liste: endliche Folge von Elementen eines Grundtyps (n>=0), leere Liste falls n=0 Listenelemente besitzen.
Die 1-Baum-Relaxation des TSP mit der Subgradientenmethode
Übung 6.6Schranken 1.Angenommen, Ihr Algorithmus habe einen Aufwand von g(n) = 5n 3 + n für alle n a)Geben sie eine obere Schranke O(g(n)) an. b)Beweisen.
Wie lösen wir ILPs exakt?
Algorithmen und Komplexität
Sortierverfahren Richard Göbel.
Sortierverfahren Richard Göbel.
Algorithmentheorie 6 – Greedy-Verfahren
Prof.Dr.S. Albers Prof. Dr. Th. Ottmann
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
Dynamische Programmierung (2) Matrixkettenprodukt
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (10 - Suchverfahren) T. Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen Halbzeit: Was haben wir bisher gelernt? Prof. Th. Ottmann.
WS Algorithmentheorie 08 – Dynamische Programmierung (2) Matrixkettenprodukt Prof. Dr. Th. Ottmann.
Seminar parallele Programmierung SS 2003
Branch and Bound Das Verfahren zur Lösung von IP-Problemen
Algorithmen und Komplexität
Minimum Spanning Tree: MST
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Effiziente Algorithmen
Splay Trees Von Projdakov Benjamin.
2. Die rekursive Datenstruktur Baum 2
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Effiziente Algorithmen
Computational Thinking Online Algorithmen [Was ist es wert, die Zukunft zu kennen?] Kurt Mehlhorn Konstantinos Panagiotou.
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Diskrete Mathematik II
Präsentation C Tutorium von Daniel J. Nowak Folie 1 C Tutorium.
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/ /23.1.
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Arrays / Felder Themen: Arrays / Felder / Vektoren Was soll das eigentlich? Erstellen von Arrays Arrays auslesen. Wie sie verwaltet werden.
Informatik Datenstruktur Graph 3.3 Durchlaufen von Graphen
Das Traveling Salesman Problem (TSP)
Minimal spannende Bäume
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Datenstrukturen für den Algorithmus von.
Stefan Nolting Andreas Goebels Larissa Timajev
Der A*-Algorithmus.
WS03/041 Dynamische Programmierung (3) Konstruktion optimaler Suchbäume Prof. Dr. S. Albers Prof. Dr. Th. Ottmann.
Gliederung der Vorlesung
Institut für Informationssysteme Technische Universität Braunschweig Institut für Informationssysteme Technische Universität Braunschweig Verdrängung von.
Binärbäume.
Programmiersprachen II Fortsetzung Datenstrukturen Hashing Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 3 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 1 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Tutorium Software-Engineering SS14 Florian Manghofer.
verkettete Strukturen
Wiederholung TexPoint fonts used in EMF.
2. Die rekursive Datenstruktur Baum 2.1 Von der Liste zum Baum
Heapsort-Algorithmus
 Präsentation transkript:

IntelliVideo1 / 25 IntelliVideo Der intelligente Videorekorder

IntelliVideo2 / 25 Ausgangssituation (1) gegeben: Sendungen mit Start- und EndzeitSendungen mit Start- und Endzeit Gewichtung für die einzelnen SendungenGewichtung für die einzelnen Sendungen Videorekorder mit einer maximalenVideorekorder mit einer maximalen Kapazität (MAX)

IntelliVideo3 / 25 Ausgangssituation (2) gesucht: Optimale Sendungsfolge, so dass die höchstmögliche Gewichtung erzielt wird.

IntelliVideo4 / 25 Eine Sendung...ist ein Objekt mit folgenden Variablen: Startzeit (Integer-Wert)Startzeit (Integer-Wert) Endzeit (Integer-Wert)Endzeit (Integer-Wert) Gewichtung (Integer-Wert)Gewichtung (Integer-Wert) record-flag  {0,1}record-flag  {0,1} Name (String)Name (String) Länge (Endzeit – Startzeit)Länge (Endzeit – Startzeit)

IntelliVideo5 / 25 Vorgehensweise (1)  Herausfinden, welche Sendungen gleichzeitig laufen. Ein Videorekorder kann nur eine Sendung gleichzeitig aufnehmen  Finden aller sog. „Cliquen“.

IntelliVideo6 / 25 Definition einer Clique Clique  alle Sendungen, deren Sendezeiten sich überlappen p1p1p1p1 p3p3p3p3 p4p4p4p4 p2p2p2p2 t Clique 1 Clique 2

IntelliVideo7 / 25 Finden aller Cliquen 1.Die Sendungen werden nach Startzeiten geordnet. 2.Die Sendungen werden durchlaufen, wobei zur Laufzeit dynamisch ein Heap verwaltet wird.

IntelliVideo8 / 25 Der Heap Vorteil: Im Heap ist minimales Element immer Wurzel  Zugriff auf minEnd in O(1) Der Heap ist nach Endzeiten sortiert. Im Heap werden Zeiger auf die Sendungen gehalten.

IntelliVideo9 / 25 Verwaltung des Heaps (1) 1. Fall: Heap ist leer  Sendung wird in jedem Fall auf den Heap gelegt

IntelliVideo10 / 25 Verwaltung des Heaps (2) 2.Fall: Heap ist nicht leer - die Startzeit der Sendung ist kleiner als minEnd  Sendung kommt in Heap Wieder 2 Möglichkeiten: 1. Möglichkeit:

IntelliVideo11 / 25 Verwaltung des Heaps (3) - die Startzeit der Sendung ist größer oder gleich minEnd:  Alle Sendungen, die im Heap sind, bilden eine Clique 2. Möglichkeit:  alle Sendungen mit Endzeit < Startzeit der aktuellen Sendung raus aus Heap der aktuellen Sendung raus aus Heap

IntelliVideo12 / 25 Beispiel p1p1p1p1 p2p2p2p2 p3p3p3p3 p5p5p5p5 p4p4p4p4 minEnd = p 1.end p 2.start < minEnd  p 1 in Heap  p 2 in Heap p 3.start > minEnd  Clique {p 1, p 2 } t p 1.end < p 3.start  p 1 aus Heap p 4.start > minEnd usw. p 3.start < minEnd  p 3 in Heap minEnd = p 2.end

IntelliVideo13 / 25 Vorgehensweise (2) Für CPLEX-Aufruf ist bestimmte Form notwendig. 4 Arrays: matbeg, matval, matind, matcnt

IntelliVideo14 / 25 Nebenbedingungen Es muß gelten:

IntelliVideo15 / 25 Sendungen Sendungen erhalten nach Sortierung einen Index  Spaltennummer

IntelliVideo16 / 25 Cliquen Cliquen werden in Erstellungsreihenfolge indiziert  Zeilennummer

IntelliVideo17 / 25 Parameter für CPLEX matval: immer Wert „1“. matind: Indizes der Cliquen, in denen eine Sendung drin ist. matcnt: Anzahl der Cliquen, in denen eine Sendung drin ist (+1). matbeg: errechnet sich aus matcnt

IntelliVideo18 / 25 Parameter für CPLEX (2) rhs:MAX11 obj: Gewichte der einzelnen Sendungen

IntelliVideo19 / 25 Vorgehensweise (3) CPLEX liefert nicht unbedingt ganzzahlige Lösung Problem: Videorekorder benötigt Information x i.record=1 oder x i.record =0

IntelliVideo20 / 25 Idee Rekursiver Algorithmus nach Branch & Bound-Prinzip. CPLEX-Ergebnis liefert obere Schranke der möglichen Lösungen.

IntelliVideo21 / 25 Branch & Bound P P‘ X i = 0 P‘‘ X j = 1 P‘‘ X j = 0 X i = 1 P‘ P‘‘ X j = 1 P‘‘ X j = 0

IntelliVideo22 / 25 Wahl von p i 2. Wähle das p i mit dem größten vom CPLEX ausgegebenen x i  möglichst gut an den CPLEX anlehnen  möglichst gut an den CPLEX anlehnen 2 Möglichkeiten: 1.Wähle p i mit größtem Gewicht  Greedy-Algorithmus  Greedy-Algorithmus

IntelliVideo23 / 25 Abbruchbedingungen (Teilbaum) 1.Alle x i wurden auf 0 oder 1 gesetzt  ein Blatt wurde erreicht 2.Lösung ist kleiner als bisherige beste Lösung  keine Verbesserung möglich

IntelliVideo24 / 25 Beispiel (zu 2.) P P‘ P‘ P‘‘ P‘‘ c T x=13 c T x=11 c T x=15

IntelliVideo25 / 25 Abbruchbedingungen 1.Die erreichten Kosten entsprechen denen, die CPLEX im ersten Schritt berechnet hat 2.Baum wurde vollständig durchlaufen