Approximationsschemata für das Rucksackproblem

Größe: px
Ab Seite anzeigen:

Download "Approximationsschemata für das Rucksackproblem"

Transkript

1 Approximationsschemata für das Rucksackproblem Seminararbeit von Christian Schmitz Fakultät für Informatik Institut für Theoretische Informatik Betreuende Mitarbeiter: Juniorprof. Dr. Henning Meyerhenke Dr. Roland Glantz Abgabedatum: 20. Juli 2012 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum der Helmholtz-Gesellschaft

2 Inhaltsverzeichnis 1 Einleitung 2 2 Approximationsschemata 2.1 Das Rucksackproblem Approximationsalgorithmen Approximationsschemata Definition Zusammenhang zu exakten Algorithmen Ein Approximationsschema für das Rucksackproblem 9.1 Ein pseudopolynomieller Algorithmus für das Rucksackproblem Ein streng polynomielles Approximationsschema für das Rucksackproblem 1. Weitere Approximationsansätze für das Rucksackproblem Zusammenfassung 17 1

3 1 Einleitung Viele Optimierungsprobleme sind nicht mit polynomiellem Aufwand exakt lösbar. Cormen u. a. listen beispielsweise das Cliquen-Problem und das Problem des Handlungsreisenden als NP-vollständige Probleme auf. Probleme der Klasse NP-vollständig sind die schwierigsten Probleme in NP [1]. Da nicht immer ein exaktes Ergebnis verlangt ist, sondern ein annähernd exaktes ausreicht bzw. ein nicht optimales Ergebnis aufgrund einer schnelleren Laufzeit in Kauf genommen wird, bieten sich Approximationsalgorithmen an, um diese Optimierungsprobleme zu lösen. Approximationsalgorithmen zeichnen sich dadurch aus, dass man zu ihnen eine Güte angeben kann, die beschreibt, wie stark die gefundene Lösung vom Optimum abweicht. Manchmal ist es jedoch wünschenswert, variablere Gütewerte zu erreichen, die in Abhängigkeit des relativen Fehlers besser werden. Anders ausgedrückt, je mehr Zeit dem Algorithmus gegeben wird, umso kleiner soll der relative Fehler sein und umso näher soll die Ausgabe des Algorithmus an dem tatsächlichen Optimum liegen. Diese Idee liegt den Approximationsschemata zugrunde. Einem Approximationsschema werden sowohl eine Instanz aus der Problemmenge übergeben als auch ein Wert ε, der eine Schranke für den relativen Fehler darstellt. Dadurch ist die Laufzeit nicht mehr nur von der Probleminstanz abhängig, sondern auch von ε. Approximationsschemata verlangen, dass die Laufzeit polynomiell ist [1]. Somit bietet ein Approximationsschema die Möglichkeit, ein schwieriges Problem schnell und qualitativ gut zu lösen. Auch das Rucksackproblem ist ein N P-vollständiges Optimierungsproblem und dementsprechend nicht exakt in polynomieller Zeit lösbar. 1 Für diesen Problemtypen kann jedoch ein Approximationsschema hergeleitet werden, sodass die beschriebenen Eigenschaften für eine schnelle und annähernd optimale Lösung genutzt werden können. Genau solch ein Approximationsschema für das Rucksackproblem wird in dieser Arbeit vorgestellt. Dabei wird zuerst von einem exakten pseudopolynomiellen Algorithmus ausgegangen und daraus das Approximationsschema entwickelt. Das hier beschriebene Approximationsschema wurde u. a. von Wanka vorgestellt. Die Arbeit ist folgendermaßen aufgebaut: Zuerst wird in Kapitel 2 das Rucksackproblem formal definiert und ein Ausblick in dessen Anwendungen und Variationen gegeben. Zudem wird erklärt, was pseudopolynomielle Algorithmen sind, da sie wichtig für die Erstellung des Beispielschemas sind. Danach wird eine kurze Einführung in Approximationsalgorithmen und deren Gütefunktionen gegeben. Dies dient als Grundlage für die detaillierte Betrachtung der Approximationsschemata. In Kapitel wird dann das Approximationsschema für das Rucksackproblem beschrieben. Dafür wird zuerst ein exakter pseudopolynomieller Algorithmus vorgestellt, welcher dann in ein Approximationsschema überführt wird. In Kapitel wird zuletzt noch einmal eine Zusammenfassung der Ergebnisse gegeben. 1 Unter der Annahme dass N P = P 2

4 2 Approximationsschemata In diesem Kapitel wird zuerst das Rucksackproblem vorgestellt und als Optimierungsproblem formal definiert. Zudem wird in das Konzept der pseudopolynomiellen Algorithmen eingeführt. Danach findet eine kurze Einführung in Approximationsalgorithmen statt. Dies dient als Grundlage für die Definition von Approximationsschemata, die im letzten Teil des Kapitels vorgestellt werden. 2.1 Das Rucksackproblem Bei einem kombinatorischen Optimierungsproblem wird für eine problemabhängige Eingabe eine zulässige Lösung gesucht, die eine Zielfunktion optimiert - also maximiert oder minimiert. Wanka folgend, wird ein Optimierungsproblem folgendermaßen definiert: Definition 2.1. Ein kombinatorisches Optimierungsproblem Π ist charakterisiert durch vier Komponenten: D: Menge der (Problem-)Instanzen, Eingaben. S(I) für I D: die Menge der zu Eingabe I zulässigen Lösungen. Die Ziel-, Bewertungs- oder Maßfunktion f : S(I) N 0 ziel {min, max} Gesucht ist zu I D eine zulässige Lösung σ opt S(I), so dass f(σ opt ) = ziel{f(σ) σ S(I)} f(σ) ist der Wert der zulässigen Lösung σ. OP T (I) = f(σ opt ) sei dann definiert als der Wert einer optimalen Lösung. Das Rucksackproblem (engl. Knapsack Problem) ist ein Optimierungsproblem, bei dem ein Rucksack, der eine Kapazitätsobergrenze besitzt, mit Objekten gefüllt wird. Die Objekte haben ein Gewicht und einen Nutzen. Der Nutzen der in den Rucksack gepackten Objekte soll maximiert werden, während die Kapazitätsbeschränkung eingehalten wird. Anschaulich kann das Rucksackproblem am Beispiel eines Bergsteigers vorstellen. Wenn er einen Berg besteigen will, muss er entscheiden, was er in seinem Rucksack mitnimmt. Er besitzt eine große Auswahl an Objekten, nummeriert von 1 bis n. Jedes Objekt bringt ihm einen gewissen Komfort oder Nutzen p j. Zugleich steigert jedes eingepackte Objekt aber auch die Gesamtlast des Rucksacks um das Gewicht des Objekts w j. Da der Bergsteiger nur eine gewisse Last tragen kann, ist das maximale Gesamtgewicht seines Rucksacks auf einen Wert c beschränkt [7]. Ein weiteres, etwas vom Bild des Rucksacks losgelöstes Beispiel ist eine Investitionsentscheidung. Ein Investor hat Geld in Höhe von c zur Verfügung, das er anlegen will. Für jede Investition muss er w j ausgeben und hat einen erwarteten Ertrag von p j über eine fixe Periode. Das Risiko einer Investition wird bei diesem Beispiel nicht explizit betrachtet [7].

5 Formal beschrieben ist durch eine Instanz des Rucksackproblems eine Menge N mit n Objekten und die maximale Kapazität c des Rucksacks gegeben. Für jedes Objekt j seien zudem der Nutzwert p j sowie das Gewicht w j bekannt. Gesucht ist eine Teilmenge O N, die den Gesamtnutzen maximiert und deren Gewicht die Kapazitätsgrenze nicht überschreitet [7]. Als lineares Programm beschrieben bedeutet dies [10]: max z = u.d.n. j O N j O N p j [2.1] w j c [2.2] Ohne Beschränkung der Allgemeinheit werden zudem folgende Annahmen getroffen [10]: [2.] p j, w j, c N [2.] w j > c [2.] j O N j N : w j c [2.6] Durch diese Beschränkungen wird dafür gesorgt, dass die Einzelnutzen, Preise und Kapazität nur positive, ganze Zahlen annehmen können. Die Summe aller Gewichte überschreitet die Kapazitätsgrenze. Somit ist es nicht möglich, einfach alle Objekte in den Rucksack zu legen. Zuletzt wird verlangt, dass jedes Objekt auch wirklich in den Rucksack passt. Überführt man das Rucksackproblem in die formale Schreibweise eines Optimierungsproblems, so ergibt sich [12]: D = { N, W, P, c N = {1,..., n}, W = {w 1,..., w n }, P = {p 1,..., p n }, c N, j N : w j, p j N, n j=1 w j > c, j N : w j c} S( N, W, P, c ) = {O N j O w j c} f(o) = j O p j ziel = max. Beispiel 1. Gegeben seien ein Rucksack mit einer Kapazität von c = 1 sowie N = {1, 2,,, }, W = {w 1 =, w 2 = 6, w =, w =, w = 7} und P = {p 1 =, p 2 =, p =, p = 2, p = } Abbildung 2.1 zeigt für diese Probleminstanz, was eine unzulässige Lösung, eine zulässige Lösung und eine optimale Lösung ist. Die Flächen der Vierecke sind dabei proportional zum Gewicht der j zu verstehen. Wie dargestellt liefert die Teilmenge aus 1, 2 und keine zulässige Lösung, da die Kapazitätsgrenze des Rucksack überschritten wird. Die Rucksackfüllungen aus 1 und 2 bzw. 1 und hingegen sind zulässig. Letztere ist sogar eine optimale Lösung der Probleminstanz. Das Rucksackproblem ist schwach N P-vollständig [12]. Dadurch ist es potenziell möglich einen pseudopolynomiellen Algorithmus zu diesem Problem zu finden. Für stark N P- vollständige Probleme ist dies nicht der Fall, da unter der Annahme, dass P N P ist, gilt, dass ein pseudopolynomieller Algorithmus für ein stark N P-vollständiges Problem nicht existiert [2].

6 1 unzulässig zulässig f({1, 2}) = 8 optimal f({1, }) = Abbildung 2.1: Schematische Darstellung des Rucksackproblems anhand von Beispiel 1 Definition 2.2. Ein Algorithmus, der ein kombinatorisches Optimierungsproblem Π mit Instanzen I, in denen nur natürliche Zahlen vorkommen, löst, nennt man einen pseudopolynomiellen Algorithmus, wenn dessen Laufzeit polynomiell in der Größe I und dem größten Wert maxnr(i) der Eingabeinstanz I ist, also poly( I, maxnr(i)) [2, S. 9] [12, S. 70]. Durch die Hinzunahme von maxnr(i) in die Laufzeitbeschränkung muss die Laufzeitabschätzung nicht mehr für alle Zahlen, die durch die Länge der Eingabeinstanz darstellbar sind, gültig sein. Dies kann genutzt werden, um für schwach N P-vollständige Optimierungsprobleme einen pseudopolynomiellen Algorithmus zu entwerfen wie später für das Rucksackproblem gezeigt wird. Das hier vorgestellte Rucksackproblem Martello u. Toth bezeichnen es als binäres bzw. 0-1 Rucksackproblem findet sich als Teilproblem in einigen Lösungen für komplexere Probleme wieder. Zudem gibt es einige Varianten und Erweiterungen des Problems. Zum Beispiel beschreibt das Untermengensumme Problem (engl. subset sum problem) eine Abwandlung des Rucksackproblems, bei dem der Nutzwert eines Objekts dessen Gewicht entspricht, also p j = w j [7]. Weitere Varianten stellen das beschränkte bzw. unbeschränkte Rucksackproblem dar. Hier wird nicht mehr davon ausgegangen, dass ein Objekt nur einmal vorliegt, sondern es gibt mehrere Kopien davon. Im beschränkten Rucksackproblem ist eine Grenze für die Anzahl der Kopien vorgegeben, im unbeschränkten Rucksackproblem gibt es unendlich viele [7]. Diverse weitere Varianten und Erweiterungen können zum Beispiel bei Kann oder Martello u. Toth gefunden werden. 2.2 Approximationsalgorithmen Oftmals ist es bei der Lösung eines N P-vollständigen, also nur schwer exakt lösbaren Problems nicht unbedingt nötig, ein Optimum zu finden. Eine nahezu optimale Lösung ist in der Praxis häufig ausreichend, vor allem, wenn die Berechnungszeit dadurch verkürzt wird. Algorithmen, die eine fast optimale Lösung finden, sind Approximationsalgorithmen. Wanka definiert einen Approximationsalgorithmus folgendermaßen [12, S. 10]: Definition 2.. Sei Π ein kombinatorisches Optimierungsproblem.

7 Ein t(n)-zeit-approximationsalgorithmus A berechnet zu Eingabe I D in Zeit t( I ) eine Ausgabe σ A I S(I). Dann ist A(I) = f(σa I ). Ein Approximationsalgorithmus berechnet also eine gültige Lösung σi A mit einer Laufzeit, die abhängig von der Eingabegröße ist. Der entsprechende Funktionswert der Lösung wird mit A(I) beschrieben. Damit die Berechnung auch schneller als bei den exakten Algorithmen ist, soll die Berechnungszeit polynomiell in der Eingabegröße sein. Zu einem Approximationsalgorithmus A kann zudem angegeben werden, wie gut dessen Lösungsqualität ist. Kann eine solche Qualitätsaussage nicht getroffen werden oder kann der Algorithmus beliebig schlechte Lösungen liefern, spricht man von einer Heuristik [12]. Es gibt zwei Arten, wie man die Lösungsqualität eines Approximationsalgorithmus angeben kann. Zum einen kann die absolute Differenz vom Lösungswert und der optimalen Lösung betrachtet werden. Dieser als absolute Güte bezeichnete Wert berechnet sich als κ A (I) = A(I) OP T (I) [12, S. 17]. Zum anderen kann die Lösungsqualität durch die relative Güte bewertet werden. 1 Bei dieser wird die relative Abweichung der Lösung vom Optimum angeschaut. Aufgrund der Fallunterscheidung bzgl. eines Maximierungs- oder Minimierungsproblems ergibt sich die relative Güte als [12, S. ]: ρ A (I) = max{ A(I) OP T (I), }. [2.7] OP T (I) A(I) Eng verbunden mit der relativen Güte ist der relative Fehler. Dieser ist definiert als ε A = OP T (I) A(I). [2.8] OP T (I) Je nach Art des Optimierungsproblems lässt sich diese Gleichung anders auflösen. Für ein Minimierungsproblem gilt [, S. 9]: ε A = Für ein Maximierungsproblem hingegen ergibt sich: ε A = 1 A(I) 1, da A(I) OP T (I) 0 [2.9] OP T (I) A(I), da OP T (I) A(I) 0. [2.10] OP T (I) Wanka beweist in seinem Buch, dass es für das Rucksackproblem keinen polynomiellen Approximationsalgorithmus gibt, dessen Lösungsqualität mit einer absoluten Güte beschrieben werden kann. Dies ist jedoch mit relativer Güte möglich. 2. Approximationsschemata Im Folgenden werden nun die Approximationsschemata definiert. Anschließend wird gezeigt, dass Approximationsschemata auch genutzt werden können, um exakte Ergebnisse zu berechnen. 1 Eine detailliertere Abhandlung zu den Gütemaßen und Fehlern kann bei Wanka nachgelesen werden 6

8 2..1 Definition Wie man bei den Approximationsalgorithmen gesehen hat, gibt es die Möglichkeit, Algorithmen zu entwerfen, für die man beweisen kann, dass ihre Lösungen maximal um einen fixen Gütewert vom Optimum abweichen. Wünschenswert kann es jedoch auch sein, den relativen Gütewert zu erhöhen bzw. den relativen Fehler zu verringern, indem man dem Algorithmus mehr Laufzeit einräumt. Approximationsalgorithmen, deren Laufzeit abhängig von der Lösungsqualität ist, heißen Approximationsschemata [1]. Ein Approximationsschema ist folgendermaßen definiert [1, S. 1107], [12, S. 6f. ], [, S. 11]: Definition 2.. Ein Approximationsschema für ein Optimierungsproblem Π ist ein Approximationsalgorithmus A für Π, der als Eingabe nicht nur eine Instanz des Problems, sondern auch ein ε > 0 übergeben bekommt. Für jedes fixe ε hat die Lösung dann eine relative Güte von p A = 1 + ε bei einem Minimierungsproblem und p A = 1 + bei einem Maximierungsproblem. Anders ausgedrückt ist der relative Fehler ε A der Lösung kleiner gleich ε. Anhand der Laufzeitrestriktionen unterscheidet man bei den Approximationsschemata des Weiteren polynomielle und streng polynomielle Approximationsschemata [1, S. 1107]: Definition 2.. Ein Approximationsschema A ist ein polynomielles Approximationsschema (PTAS, englisch: polynomial-time approximation scheme), wenn für jedes ε > 0 die Laufzeit von A polynomiell in der Größe der Eingabeinstanz, also O(poly( I )), ist. Definition 2.6. Ein Approximationsschema A ist ein streng polynomielles Approximationsschema (FPTAS, englisch: fully polynomial-time approximation scheme), wenn die Laufzeit von A sowohl polynomiell in der Größe der Eingabeinstanz als auch in 1 ε, also O(poly( I, 1 ε ), ist. Ein FPTAS ist damit restriktiver als ein PTAS. Bei einem PTAS wird ε wie eine Konstante behandelt, während das FPTAS vorgibt, dass dessen Laufzeit polynomiell in ε sein muss. Eine Laufzeit von O( I 1 ε ) ist für ein PTAS also erlaubt, für ein FPTAS allerdings nicht [12]. Für den Ablauf eines Approximationsschemas kann man sich zwei Varianten vorstellen. Eine Variante ist, dass in Abhängigkeit von ε nur einige wenige zulässige Lösungen berechnet werden und aus diesen die beste gewählt wird. Die andere Variante lautet, dass eine zulässige Lösung berechnet wird und diese dann, solange die vorgegebene Laufzeit nicht überschritten wurde, verbessert wird [12] Zusammenhang zu exakten Algorithmen Für ein Approximationsschema ist der relative Fehler ε als Parameter frei wählbar. Legt man den Wert also auf ein ε fest, sodass ε klein genug ist, liefert das Approximationsschema die exakte Lösung. Dies liegt im Wesentlichen daran, dass kombinatorische Optimierungsprobleme diskret sind. Dadurch sind die beste OP T (I) und die zweitbeste Lösung SECOP T (I) um eine natürliche Zahl δ = OP T (I) SECOP T (I) verschieden. 2 Wird nun ε so klein gewählt, dass die Auswahl von SECOP T (I) einen zu großen relativen δ Fehler verursacht, also OP T (I) > ε, gilt, dass nur die OP T (I) eine akzeptierte Lösung des Approximationsschemas ist. Laut Wanka gilt daher folgender Satz [12, S. 66f. ]: 2 Für OP T (I) und SECOP T (I) als Ergebnisse der Funktion f : S(I) N 0 gilt OP T (I), SECOP T (I) N 0 ε 1 ε 7

9 Theorem 2.7. Sei Π ein kombinatorisches Optimierungsproblem, A ein (F)PTAS, und zu Eingabe I sei Z(I) eine obere Schranke für OP T (I), d. h. OP T (I) Z(I). Sei ε = 1 Z(I)+1. Dann ist A(I, ε ) = OP T (I). Ist A ein FPTAS, so ist die Laufzeit O(poly( I, Z(I))). Dieser Satz sagt also aus, dass mit einem Approximationsschema ein kombinatorisches Optimierungsproblem exakt gelöst werden kann. Mit einem FPTAS ist dies sogar in einer Laufzeit, die polynomiell in der Eingabegröße und dem relativen Fehler ist, möglich. Die Laufzeit eines PTAS hingegen kann durch den geringen relativen Fehler gewaltig sein. Ein FPTAS und damit die Möglichkeit, N P-vollständige Probleme mit polynomieller Laufzeit zu lösen, existieren nur für wenige Optimierungsprobleme. Sobald ein Problem nämlich stark N P-vollständig ist, gibt es dafür kein FPTAS, es sei denn P = N P [12]. Dass der Satz korrekt ist und wirklich eine exakte Lösung gefunden wird, wird im Folgenden bewiesen. Beweis. Für ein kombinatorisches Optimierungsproblem liefert ein Approximationsschema A mit einer Probleminstanz I und einem relativen Fehler ε 1 = Z(I)+1 als Eingabe das Ergebnis A(I, ε ). Für den relativen Fehler der Lösung von A gilt: ε A = OP T (I) A(I, ε ) OP T (I) Da OP T (I) Z(I), ist der Bruch und damit gilt: ε OP T (I) A(I, ε ) ε OP T (I) = OP T (I) Z(I)+1 echt kleiner 1, also OP T (I) Z(I) + 1 < 1, OP T (I) A(I, ε ) < 1. OP T (I) Z(I) + 1 Da der Zielwert einer zulässigen Lösung laut Definition 2.1 ganzzahlig ist, muss Folgendes gelten: OP T (I) A(I, ε ) = 0 Umgeformt ergibt dies die zu beweisende Behauptung: OP T (I) = A(I, ε ). 8

10 Ein Approximationsschema für das Rucksackproblem In diesem Kapitel wird ein FPTAS für das Rucksackproblem entwickelt. Zuerst wird dafür ein pseudopolynomieller Algorithmus vorgestellt. Dieser wird anschließend genutzt, um den FPTAS herzuleiten. Abschließend werden weitere Approximationsschemata aus der Literatur aufgelistet. Ihre Laufzeiten und ihr Speicherbedarf zeigen, dass es effizientere Approximationsschemata gibt, als das in dieser Arbeit vorgestellte..1 Ein pseudopolynomieller Algorithmus für das Rucksackproblem Die Grundlage für das hier vorgestellten FPTAS für das Rucksackproblem ist ein pseudopolynomieller Algorithmus. Dieser wird sowohl bei Wanka als auch bei Williamson u. Shmoys vorgestellt die beiden Algorithmen unterscheiden sich jedoch in der Umsetzung voneinander. Bei beiden wird für die Suche des Optimums die dynamische Programmierung benutzt. Die Grundidee ist bei beiden Umsetzungen die gleiche. Der optimale Wert OP T (I) der Lösung einer Probleminstanz I wird sukzessiv berechnet, indem nach und nach die Objekte j in den Betrachtungsraum aufgenommen werden und die bisher effizientesten Paare aus Nutzen v und Gewicht f weiter betrachtet werden. Dabei bilden v kj = i S p i und f kj = i S w i mit S {1,..., j} ein Paar k bei Betrachtung der ersten j Objekte. Etwas detaillierter beschrieben bedeutet dies, dass zunächst von einer leeren Rucksackfüllung ausgegangen wird, also S =. Für diesen Fall wird definiert, dass es ein Paar mit v 00 = i p i = 0 und f 00 = i w i = 0 gibt. Nun betrachtet man zusätzlich das erste Objekt, also Objekt j = 1. Aus dem initialen Schritt 1 j = 0 ist bekannt, dass ein Wert v 01 = 0 mit einem Gewicht von f 01 = 0 erzielt werden kann. Durch die Hinzunahme von Objekt j kann zudem ein Wert v 11 = p 1 mit einem Gewicht von f 11 = w 1 erreicht werden. Für j = 1 sind also die Paar-Kombinationen K(1) = {(v 01, f 01 ), (v 11, f 11 )} möglich. 2 Nimmt man nun sukzessive Objekt j mit in die Betrachtung auf, ergeben sich daraus neue Paare von v k = v ij 1 + p j und f k = f ij 1 + w j, wobei v ij 1 und f ij 1 ein Paar i aus K(j 1) bilden. In K(j) werden dann diejenigen Paare k aus K(j 1) und aus den neu gewonnen Paaren (v ij, f ij ) übernommen, für die zum einen gilt, dass v k c, und zum anderen, dass sie dominierend sind. In diesem Zusammenhang gilt, ein Paar (v, f) dominiert ein Paar (v, f ), wenn v v und f f. In Worte gefasst heißt dies, dass (v, f) mindestens den gleichen Wert wie (v, f ) hat und maximal das gleiche Gewicht wie (v, f ) aufweist [1]. Durch dieses Aussortieren werden nur die effizientesten Paare betrachtet und so ist gegeben, dass für jeden Wert v in den folgenden Schritten immer die Paare weiter betrachtet 1 j = 0 ist sozusagen als Dummy-Objekt mit p 0 = 0 und W 0 = 0 anzusehen und bei der Ausgabe der Lösung zu vernachlässigen. 2 Per Definition ist gegeben, dass v 11 < c und damit, dass 1 1 ein gültiges Paar ist. 9

11 werden, die am wenigsten Gewicht benötigen. Zum Schluss findet man durch dieses Vorgehen in K(n) dann den optimalen Wert OP T (I) = max{v in f in c}. Wanka beschreibt die Beziehung von v und f durch eine Funktion F j (v). Der Funktionswert von F j (v) gibt das kleinste, benötigte Rucksackgewicht an, mit dem mindestens der Wert v erreicht werden kann, wenn man nur die ersten j Objekte betrachtet. Damit bildet der Funktionswert zusammen mit der Variablen v das dominierende Paar in K(j) mit Wert v. Ist es nicht möglich, einen Wert v zu erreichen, gilt F j (v) =. Ein Wert v = 0 wird durch eine leere Rucksackfüllung mit Gewicht f = 0 erreicht, also gilt F j (0) = 0, j. F j (v) ist daher folgendermaßen definiert: F j (v) = min{f kj v kj v} [.1] Es wird also das minimale kumulierte Gewicht der Objekte aus einer Teilmenge S {1,..., j} gesucht, das mindestens einen Wert von v hat. Durch diese Definition lässt sich folgendes Theorem aufstellen[12, S. 68]. Theorem.1. Für F j (v) gilt die folgende Rekursionsformel: 0 v 0, j {1,..., n} F j (v) = v 1, j = 0 min{f j 1 (v p j ) + w j, F j 1 (v)} v 1, j {1,..., n} [.2] Anhand dieser rekursiven Formel kann man sehen, dass immer die dominierenden Paare weiter betrachtet werden. F j 1 (v p j )+w j beschreibt den Effekt, den die Hinzunahme des Objekts j auf die bisherigen Paare hat. Dabei kann der Fall auftreten, dass der Ausdruck dem Gewicht des Objekts j entspricht. Dies passiert wenn p j größer ist als der betrachtete Nutzen v, also v p j 0. Im Fall, dass v > p j gilt, berechnet sich das Gewicht aus dem Gewicht des Objekts und dem Gewicht derjenigen Kombination, die bei der Betrachtung der ersten j 1 Objekte das dominierende Paar (v kj 1, f kj 1 ) für v kj 1 = v p j bildet. Ist der Wert F j 1 (v p j ) + w j größer als der von F j 1 (v), dann ist das dominierende Paar aus der Betrachtung der ersten j 1 Objekte weiterhin dominierend. Andernfalls bildet die neue Kombination mit Objekt j bzw. nur Objekt j das Paar aus Nutzen und Gewicht, das dominiert. Der pseudopolynomielle Algorithmus, den Wanka vorstellt, bedient sich dieser Rekursionsformel. Sie wird benutzt, um das größte v zu finden, für das gilt, dass alle n Objekte berücksichtigt sind und F n (v) noch in den Rucksack passt es wird also max{v F n (v) c} = OP T (I) gesucht. Dadurch ergibt sich folgender Algorithmus 1. Algorithmus 1 Pseudopolynomieller Algorithmus für das Rucksackproblem v 0 repeat v v + 1 for j = 1 n do F j (v) min{f j 1 (v p j ) + w j, F j 1 (v)} end for until c < F n (v) return v 1 Algorithmus 1 berechnet OP T (I), indem der Nutzen v in jeder Schleifeniteration um 1 erhöht wird und für diesen Wert F j für alle j {1,..., n} bestimmt wird. Wenn man sich 10

12 vorstellt, dass der Algorithmus eine Tabelle füllt, deren Zeilen die v und deren Spalten die Objekte j darstellen, wird diese Tabelle zeilenweise gefüllt, bis OP T (I) überschritten wurde. Veranschaulicht ist dies in Abbildung.1 zu sehen j... n 1 v p j. F j 1 (v p j ) F j 1 (v) F j (v) v. F n (OP T (I)) OP T (I) OP T (I) + 1 Aktuell betrachteter Tabelleneintrag Bereits bekannter Tabelleneintrag Abbildung.1: Aufbau der Tabelle in Algorithmus 1 (Vgl. Wanka) Wie man in Algorithmus 1 sehen kann, wird die äußere Schleife bis zu OP T (I) + 1 mal ausgeführt, da die Abbruchbedingung erst greift, wenn die Kapazität überschritten ist, also OP T (I) + 1 erreicht wurde. Die innere Schleife wird jeweils n mal ausgeführt. Dies führt zu einer Laufzeit von O(n OP T (I)). Betrachtet man die vom Algorithmus aufgebaute Tabelle aus n Spalten und OP T (I) + 2 Zeilen, sieht man, dass für die Berechnung ein Speicherbedarf von ebenfalls O(n OP T (I)) benötigt wird. Sei p max = max{p j j {1,..., n}} der größte Nutzen aller Objekte der Eingabeinstanz I. Über OP T (I) wissen wir, dass der Wert mindestens so groß wie p max ist und maximal so groß sein kann wie n p max, also p max OP T (I) n p max. [.] Damit ergibt sich eine Laufzeit von O(n 2 p max ). Analog ergibt sich für den Speicherbedarf eine Größe von O(n 2 p max ). Damit ist die Laufzeit also abhängig in der Länge der Eingabeinstanz I, da p max = Θ(2 I ) sein kann. Somit ist auch die Gesamtlaufzeit exponentiell in der Eingabelänge. Da aber gezeigt werden kann, dass Algorithmus 1 ein pseudopolynomieller Algorithmus im Sinne von Definition 2.2 ist, kann die Laufzeit auf eine polynomielle Laufzeit reduziert werden. Algorithmus 1 ist ein pseudopolynomieller Algorithmus, da p max maxnr(i) gilt und die Zahlen werden binär dargestellt. Daher ist die Eingabegröße von p max log 2 p max und somit der Aufwand polynomiell in der Eingabegröße [1]. 11

13 Laufzeit von Algorithmus 1 durch das Polynom p(x, y) = x 2 y definitionskonform mit O(poly( I, maxnr(i)) = O( I 2 maxnr(i)) abgeschätzt werden kann. Dadurch gilt für jedes Polynom q, mit dem D auf diejenigen Instanzen I beschränkt wird, deren maxnr(i) q( I ) ist, dass I in Polynomialzeit gelöst werden kann [12]. Beispiel 2. Gegeben ist die Probleminstanz aus Beispiel 1. Algorithmus 1 berechnet nach und nach die Tabelleneinträge, wie in Abbildung.2 angedeutet. In dieser Abbildung sieht man, dass die äußere Schleife bei v = angekommen ist und für Objekt j = der Wert F () berechnet werden muss. Daher wird das Minimum aus F 2 () und F 2 ( )+ gesucht. Da F 2 () = 11 > F 2 ( ) + = 9, ergibt sich als F () = 9. j p j w j 0 1 v = Abbildung.2: Berechnungsschritt von Algorithmus 1 Sollte v p j kleiner 0 sein, sieht die Berechnung des Funktionswerts folgendermaßen aus: Sei j = 1 und v = 2, dann gilt für die Beispielinstanz, dass v p j = 2 =. Hier greift die Rekursionsformel so, dass F 0 ( ) = 0 und entsprechend ergibt sich für F 1 (2) = min{, 0 + } =. Das Ergebnis der kompletten Berechnung des Beispiels durch Algorithmus 1 ist in Abbildung. angegeben. Bis jetzt liefert Algorithmus 1 nur den optimalen Nutzen für eine Probleminstanz I. Damit die Menge der Objekte O N der optimalen Rucksackfüllung ausgegeben wird, muss die in Algorithmus 1 aufgebaute Tabelle durchlaufen werden. Startpunkt ist dabei der Eintrag von F n (OP T (I)). Von hier aus wird rückwärts der Pfad durchlaufen, der zum Optimum führt. D. h. für einen Wert F j (v), der auf dem Weg zum optimalen Nutzwert benutzt wurde, wird geprüft, ob er dadurch entstanden ist, dass Objekt j hinzugefügt wurde, also ob F j (v) = F j 1 (v p j ) + w j, oder ob es ein Wert ist, der schon bei der Betrachtung der ersten j 1 Objekte entstanden ist, also ob F j (v) = F j 1 (v). Durch diese Rückwärtsverfolgung des Pfads weiß man, ob ein Objekt j ein Element der optimalen Teilmenge O ist. Aus diesen Überlegungen ergibt sich Algorithmus 2. Beispiel. Die Tabelle, die in Abbildung. als Ergebnis von Algorithmus 1 gegeben ist, läuft Algorithmus 2 wie in Abbildung. gezeigt ab. Dabei wird beim Tabelleneintrag von v = OP T (I) = 9 und Objekt n = gestartet. Dieser Wert wird durch die Addition von 12

14 j p j w j 0 1 v = Abbildung.: Ergebnis von Algorithmus 1 für Beispiel 2 Algorithmus 2 Ausgabe der optimalen Rucksackfüllung v OP T (I) result for i = n 1 do if F i (v) w i = F i 1 (v p i ) then result {i} v v p i end if end for return result w = 7 auf den Wert F j 1 (v p j ) = F (9 ) = F () = erreicht. Dementsprechend wird das Objekt in die Lösungsmenge aufgenommen. Für F () gilt F () = F (). Damit ist der Eintrag links in der Tabelle dominierend und Objekt wird nicht in die Lösungsmenge hinzugenommen. Gleiches gilt für Objekte und 2. Objekt hingegen wird nicht von seinem linken Zeilennachbarn dominiert. Vielmehr bildet sich dessen Wert aus F 0 ( ) + w = 0 + und dementsprechend ist Objekt Teil der Lösungsmenge. Somit werden die Objekte 1 und als verantwortlich für den optimalen Nutzwert identifiziert und damit bilden sie die optimale Teilmenge zur Lösung der Probleminstanz..2 Ein streng polynomielles Approximationsschema für das Rucksackproblem Durch den pseudopolynomiellen Algorithmus 1 wissen wir, dass man das Rucksackproblem in polynomieller Laufzeit lösen kann, wenn p max beschränkt wird. Um diese Eigenschaft für ein FPTAS auszunutzen, reduzieren wir für eine Problemin- Würde man die If-Bedingung in Algorithmus 2 so abändern, dass zuerst geprüft wird, ob F j 1(v) = F j(v) gilt, würde der Algorithmus 1,, als Instanzen der Teilmenge ausgeben, was genauso einer optimalen Lösung entspricht 1

15 j p j w j 0 1 v = Abbildung.: Darstellung der Bestimmung der optimalen Objektmenge stanz I alle p j um einen Faktor k. Dadurch ergibt sich eine neue Probleminstanz I k, die sich von I nur in den Werten des Nutzens p j = p j k unterscheidet. Wird I k mit Algorithmus 1 gelöst, ergeben sich eine Laufzeit und ein Speicherbedarf von O(n 2 pmax k ). Durch das Abrunden auf ganze Zahlen ergibt sich allerdings ein relativer Fehler. Dieser relative Fehler beträgt ε A k n p max [12, S. 70f. ]. Beweis. Sei O N die Indexmenge einer optimalen Rucksackfüllung für I. Dann sei O k N die Indexmenge einer optimalen Rucksackfüllung für I k als die reduzierte Variante von I. f I sei die Zielfunktion von I und f Ik die Zielfunktion von I k. Berechnet man die p i aus p i zurück, dann unterscheiden sich das tatsächliche p i und das berechnete p i = k p i um maximal k. Somit gilt für den Funktionswert einer zulässigen Lösung S aus I, dass sich dessen Wert von dem seiner reduzierten Variante S k maximal um n k unterscheidet. Dadurch ist auch der Funktionswert von O und O k und somit der optimale Nutzwert OP T (I) und die Ausgabe A(I) maximal um k n verschieden [1]. Zu zeigen ist also, dass f I (O k ) f I (O ) = f Ik (O k ) OP T (I) k n gilt. Aus obigen Überlegungen zu den Unterschieden von p j und p j ergibt sich f I (O k ) = j O k p j f Ik (O k ) = j O k k p j k = k OP T (I k) Da mit der Indexmenge O k das Optimum erreicht wird, gilt für die Indexmenge O, dass der Funktionswert f Ik (O ) kleiner oder gleich f Ik (O k ) ist: k p j k k p j k j O k j O 1

16 Laut Definition von p j gilt k p j p j k (p j + 1) und damit k p j p j k [1, S. 68]. Dadurch kann folgende Abschätzung durchgeführt werden: k p j k (p j k) j O j O = p j O k j O = OP T (I) O k = OP T (I) k n Umgeformt ergibt dies OP T (I) f I (O k ) k n. Da es sich bei dem Rucksackproblem um ein Maximierungsproblem handelt und damit OP T (I) A(I) ist, gilt f I (O k ) OP T (I) k n. Für den relativen Fehler ergibt sich dann definitionsgemäß. ε A = f I(O k ) OP T (I) OP T (I) k n OP T (I) k n p max Gemäß Definitionen 2. und 2.6 wird einem FPTAS zusätzlich zur Probleminstanz ein ε > 0 übergeben. Dadurch wird zum einen festgelegt, wie groß der relative Fehler maximal sein darf und zum anderen muss die Laufzeit des Algorithmus polynomiell in ε sein. Da der relative Fehler ε A den Wert k n p max nicht überschreitet, gilt ε A ε, wenn ε gleichgesetzt wird mit k n p max. Aus dieser Überlegung heraus wird klar, dass der Faktor k in Abhängigkeit von ε gewählt wird und zwar als k = ε pmax n. Berücksichtigt man diese Formel für k bei der Laufzeit und dem Speicherbedarf ergibt sich O(n 1 ε ). Somit erhält man ein gültiges FPTAS für das Rucksackproblem, indem man zu einem übergebenen relativen Fehler ε den Wert k berechnet, damit die übergebenen Probleminstanz I reduziert und mit der reduzierten Probleminstanz I k Algorithmus 1 ausführt. Der FPTAS ist in Algorithmus in Pseudocode angegeben [12, S. 70ff. ]. Algorithmus FPTAS für das Rucksackproblem mit Parametern I, ε n Anzahl Objekte in I p max Maximaler Preis in I k ε pmax n I k Berechne reduzierte Version von I mit p j = p j k Führe Algorithmus 1 aus return optimale Rucksackfüllung mithilfe von Algorithmus 2. Weitere Approximationsansätze für das Rucksackproblem In der Literatur gibt es weitere Ansätze, die eine Approximation der optimalen Lösung des Rucksackproblems durchführen. Im Folgenden ist ein kurzer Überblick über die Laufzeiten und den Speicherbedarf gegeben. Im Vergleich zu dem in dieser Arbeit vorgestellten Approximationsschema weisen die FPTAS Ansätze schnellere Laufzeiten und kleinere Speicherbedarfe auf. Ibarra u. Kim führten das erste FPTAS für das Rucksackproblem ein, dessen Laufzeit O(n log n + 1 n) und dessen Speicherbedarf O(n + 1 ) beträgt. Aufbauend auf dieser ε ε 1

17 Arbeit entwickelte Lawler einen FPTAS mit einer Laufzeit von O(n log( 1 ε ) + 1 ) und ε einem Speicherbedarf von O(n + 1 ). Magazine u. Oguz nutzen die Ergebnisse von ε Ibarra u. Kim sowie Lawler für ihren FPTAS. Ihre Variante erreicht eine Laufzeit von O( n2 log n ε ) und einen Platzverbrauch von O( n ε ). Kellerer u. Pferschy bauen auf den genannten Arbeiten auf und entwickeln einen FTPAS mit einer Laufzeit von O(n min{log n, log 1 ε } + 1 min{n, 1 ε 2 ε log 1 ε ) und einem Speicherbedarf von O(n + 1 ). In einer weiteren Arbeit reduzieren Kellerer u. ε 2 Pferschy die Laufzeit durch eine performantere dynamische Programmierung auf O(n min{log n, log 1 ε } + 1 log 1 ε 2 ε min{n, 1 ε log 1 ε ). Darüber hinaus gibt es auch PTAS für das Rucksackproblem. Der klassische Ansatz kommt dabei von Sahni. Dieser hat eine Laufzeit von O(n 1 ε ) und einen Platzverbrauch von O(n). Wie von Kellerer u. a. aufgezeigt wurde, kann man leicht einen PTAS entwickeln, der eine bessere Laufzeit aufweist [7, S. 161]. 16

18 Zusammenfassung In dieser Arbeit wurde eine Einführung in Approximationsschemata gegeben und am Beispiel zur Lösung des Rucksackproblems vertieft. Ein Approximationsschema bietet die Möglichkeit, ein Optimierungsproblem annähernd optimal zu lösen. Der relative Fehler ε der Approximation, der maximal erreicht werden darf, wird dabei als Parameter an das Schema übergeben. Dieser Fehler beeinflusst die Laufzeit des Approximationsschemas. Daher kann man durch die Parameterübergabe bestimmen, wie der Kompromiss aus Qualität und Laufzeit aussehen soll also ob man dem Algorithmus z.b. eine längere Laufzeit für eine bessere Lösungsqualität einräumt. Im Zuge der Betrachtung der Laufzeitrestriktionen für ein Approximationsschema wurde die Unterscheidung in polynomielle und streng polynomielle Approximationsschemata (PTAS bzw. FPTAS) getroffen. Als Beispiel für ein Optimierungsproblem mit einem Approximationsschema wurde das Rucksackproblem vorgestellt. Bei diesem Problem geht es darum, eine Auswahl an Objekten, die einen Nutzen und ein Gewicht haben, so zu treffen, dass der addierte Nutzen der ausgewählten Objekte maximal wird, während ihr kumuliertes Gewicht die Kapazitätsbeschränkungen nicht überschreitet. Die Betrachtung des Rucksackproblems ist dahin gehend interessant, dass es einige Anwendungsgebiete und Varianten gibt und es auch als Teilproblem von anderen Optimierungsproblemen auftritt. Für das schwach N P-vollständige Rucksackproblem wurde in Kapitel ein FPTAS erarbeitet. Hierfür wurde zuerst ein pseudopolynomieller Algorithmus entwickelt, mit dem die optimale Lösung des Rucksackproblems in polynomieller Zeit möglich ist, wenn der maximale Preis aller Objekte der Probleminstanz polynomiell beschränkt ist. Dies macht sich das vorgestellte FPTAS zu nutzen, indem der Nutzen durch einen von ε abhängigen Wert reduziert wird. Es wurde gezeigt, dass die Laufzeit und der Speicherbedarf des FPTAS O(n 1 ε ) beträgt. Die in. angesprochenen FPTAS erreichen bessere Laufzeiten und benötigen weniger Speicherplatz. Um einen tieferen Einblick in effizientere Approximationsschemata für das Rucksackproblem zu gewinnen, sei daher auf die angegebene Literatur verwiesen. 17

19 Abbildungsverzeichnis 2.1 Schematische Darstellung des Rucksackproblems anhand von Beispiel Aufbau der Tabelle in Algorithmus 1 (Vgl. Wanka) Berechnungsschritt von Algorithmus Ergebnis von Algorithmus 1 für Beispiel Darstellung der Bestimmung der optimalen Objektmenge

20 Literaturverzeichnis [1] Cormen, Thomas H. ; Leiserson, Charles E. ; Rivest, Ronald L. ; Stein, Clifford: Introduction to Algorithms.. Cambridge, London : MIT press, 2009 [2] Garey, Michael R. ; Johnson, David S.: Computers and Intractability: A Guide to the Theory of NP-Completeness. New York : Freeman, 1979 [] Ibarra, Oscar H. ; Kim, Chul E.: Fast Approximation Algorithms for the Knapsack and Sum of Subset Problems. In: Journal of the ACM 22 (197), Oktober, Nr., S [] Kann, Viggo: On the approximability of NP-complete optimization problems, Royal Institute of Technology, Diss., phdthesis.pdf [] Kellerer, Hans ; Pferschy, Ulrich: A New Fully Polynomial Time Approximation Scheme for the Knapsack Problem. In: Journal of Combinatorial Optimization (1999), Nr. 1, S [6] Kellerer, Hans ; Pferschy, Ulrich: Improved Dynamic Programming in Connection with an FPTAS for the Knapsack Problem. In: Journal of Combinatorial Optimization 8 (200), Nr. 1, S. 11 [7] Kellerer, Hans ; Pferschy, Ulrich ; Pisinger, David: Knapsack Problems. Berlin, Heidelberg : Springer, 200 [8] Lawler, E. L.: Fast Approximation Algorithms for Knapsack Problems. In: Mathematics of Operations Research (1979), November, Nr., S. 9 6 [9] Magazine, M.J. ; Oguz, Osman: A fully polynomial approximation algorithm for the O-1 knapsack problem. In: European Journal of Operational Research 8 (1981), Nr., S [10] Martello, S ; Toth, P: Knapsack problems: algorithms and computer implementations. Chichester : John Wiley & Sons Ltd., 1990 [11] Sahni, Sartaj: Approximate Algorithms for the 0/1 Knapsack Problem. In: Journal of the ACM 22 (197), Januar, Nr. 1, S [12] Wanka, Rolf: Approximationsalgorithmen.. Wiesbaden : Teubner, 2006 [1] Williamson, David P. ; Shmoys, David B.: The Design of Approximation Algorithms. (2010) 19

Approximationsalgorithmen

Approximationsalgorithmen Ausarbeitung zum Thema Approximationsalgorithmen im Rahmen des Fachseminars 24. Juli 2009 Robert Bahmann robert.bahmann@gmail.com FH Wiesbaden Erstellt von: Robert Bahmann Zuletzt berarbeitet von: Robert

Mehr

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum

Mehr

Approximationsalgorithmen

Approximationsalgorithmen Makespan-Scheduling Kapitel 4: Approximationsalgorithmen (dritter Teil) (weitere Beispiele und Illustrationen an der Tafel) Hilfreiche Literatur: Vazarani: Approximation Algorithms, Springer Verlag, 2001.

Mehr

Approximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling

Approximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling Approximationsalgorithmen: Klassiker I Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling VO Approximationsalgorithmen WiSe 2011/12 Markus Chimani

Mehr

Algorithmen II Vorlesung am 15.11.2012

Algorithmen II Vorlesung am 15.11.2012 Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales

Mehr

NP-Vollständigkeit. Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984)

NP-Vollständigkeit. Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984) NP-Vollständigkeit Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984) 0 Übersicht: Einleitung Einteilung in Klassen Die Klassen P und NP

Mehr

Heuristiken im Kontext von Scheduling

Heuristiken im Kontext von Scheduling Heuristiken im Kontext von Scheduling Expertenvortrag CoMa SS 09 CoMa SS 09 1/35 Übersicht Motivation Makespan Scheduling Lokale Suche Weitere Metaheuristiken Zusammenfassung Literatur CoMa SS 09 2/35

Mehr

Approximations-Algorithmen

Approximations-Algorithmen Approximations-Algorithmen Institut für Computergraphik und Algorithmen Abteilung für Algorithmen und Datenstrukturen 186.102 Sommersemester 2004, 2h VU Motivation: Bereits viele einfache Optimierungsprobleme

Mehr

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS) Dominating Set 59 Literatur Dominating Set Grundlagen 60 Dominating Set (DS) M. V. Marathe, H. Breu, H.B. Hunt III, S. S. Ravi, and D. J. Rosenkrantz: Simple Heuristics for Unit Disk Graphs. Networks 25,

Mehr

Das Lastverteilungsproblem

Das Lastverteilungsproblem Das Lastverteilungsproblem Approximationsalgorithmen Referent Franz Brauße Veranstaltung Proseminar Theoretische Informatik Universität Trier, FB IV Dozent Prof. Dr. Henning Fernau 23.02.2012 Übersicht

Mehr

Bestimmung einer ersten

Bestimmung einer ersten Kapitel 6 Bestimmung einer ersten zulässigen Basislösung Ein Problem, was man für die Durchführung der Simplexmethode lösen muss, ist die Bestimmung einer ersten zulässigen Basislösung. Wie gut das geht,

Mehr

Teil II. Nichtlineare Optimierung

Teil II. Nichtlineare Optimierung Teil II Nichtlineare Optimierung 60 Kapitel 1 Einleitung In diesem Abschnitt wird die Optimierung von Funktionen min {f(x)} x Ω betrachtet, wobei Ω R n eine abgeschlossene Menge und f : Ω R eine gegebene

Mehr

4 Greedy-Algorithmen (gierige Algorithmen)

4 Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine

Mehr

Algorithmen für schwierige Optimierungsprobleme Vorlesung für den Bereich Bachelor Informatik

Algorithmen für schwierige Optimierungsprobleme Vorlesung für den Bereich Bachelor Informatik Algorithmen für schwierige Optimierungsprobleme Vorlesung für den Bereich Bachelor Informatik Dozent: Juniorprof. Dr. Henning Meyerhenke PARALLELES RECHNEN INSTITUT FÜR THEORETISCHE INFORMATIK, FAKULTÄT

Mehr

Binäre lineare Optimierung mit K*BMDs p.1/42

Binäre lineare Optimierung mit K*BMDs p.1/42 Binäre lineare Optimierung mit K*BMDs Ralf Wimmer wimmer@informatik.uni-freiburg.de Institut für Informatik Albert-Ludwigs-Universität Freiburg Binäre lineare Optimierung mit K*BMDs p.1/42 Grundlagen Binäre

Mehr

16. All Pairs Shortest Path (ASPS)

16. All Pairs Shortest Path (ASPS) . All Pairs Shortest Path (ASPS) All Pairs Shortest Path (APSP): Eingabe: Gewichteter Graph G=(V,E) Ausgabe: Für jedes Paar von Knoten u,v V die Distanz von u nach v sowie einen kürzesten Weg a b c d e

Mehr

Dynamische Optimierung. Kapitel 4. Dynamische Optimierung. Peter Becker (H-BRS) Operations Research II Wintersemester 2014/15 160 / 206

Dynamische Optimierung. Kapitel 4. Dynamische Optimierung. Peter Becker (H-BRS) Operations Research II Wintersemester 2014/15 160 / 206 Kapitel 4 Dynamische Optimierung Peter Becker (H-BRS) Operations Research II Wintersemester 2014/15 160 / 206 Inhalt Inhalt 4 Dynamische Optimierung Allgemeiner Ansatz und Beispiele Stochastische dynamische

Mehr

Approximation in Batch and Multiprocessor Scheduling

Approximation in Batch and Multiprocessor Scheduling Approximation in Batch and Multiprocessor Scheduling Tim Nonner IBM Research Albert-Ludwigs-Universität Freiburg 3. Dezember 2010 Scheduling Zeit als Ressource und Beschränkung Formaler Gegeben sind Jobs

Mehr

Algorithmische Methoden für schwere Optimierungsprobleme

Algorithmische Methoden für schwere Optimierungsprobleme Algorithmische Methoden für schwere Optimierungsprobleme Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund

Mehr

Komplexitätstheorie Einführung und Überblick (Wiederholung)

Komplexitätstheorie Einführung und Überblick (Wiederholung) Literatur C. Papadimitriou UC Berkeley Zum Komplexitätsbegriff Strukturelle Komplexität Average Case Analyse Effiziente Algorithmen Logische Komplexität Beschreibungssprachen: SQL Kolmogorov Komplexität

Mehr

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5) Einführung 3 Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Univ.-Prof. Dr. Christoph Meinel Hasso-Plattner-Institut Universität Potsdam, Deutschland Hatten den Reduktionsbegriff

Mehr

Lineare Programmierung

Lineare Programmierung Lineare Programmierung WS 2003/04 Rolle der Linearen Programmierung für das TSP 1954: Dantzig, Fulkerson & Johnson lösen das TSP für 49 US-Städte (ca. 6.2 10 60 mögliche Touren) 1998: 13.509 Städte in

Mehr

Einführung. Kapitel 1. Peter Becker (H-BRS) Operations Research I Sommersemester 2015 14 / 298

Einführung. Kapitel 1. Peter Becker (H-BRS) Operations Research I Sommersemester 2015 14 / 298 Kapitel 1 Einführung Peter Becker (H-BRS) Operations Research I Sommersemester 2015 14 / 298 Inhalt Inhalt 1 Einführung Was ist Operations Research? Planungsprozess im OR Peter Becker (H-BRS) Operations

Mehr

Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual!

Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual! Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual! 0kg 4000 Euro Luster 5,5 kg, 430.- Laptop 2,0 kg, 000.- Schatulle 3,2 kg, 800.- Uhr 3,5 kg, 70.- Schwert,5 kg, 850.- Bild 3,4 kg, 680.- Besteck

Mehr

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Paradigmen im Algorithmenentwurf Problemlösen Problem definieren Algorithmus entwerfen

Mehr

Dynamische Programmierung

Dynamische Programmierung Dynamische Programmierung Manuel Grandeit Hallo Welt -Seminar 28.06.2011 Manuel Grandeit 1 / 40 Inhaltsübersicht Einführung Münzwechsel Was ist ein Zustand? Konstruktion einer DP-Lösung Top-Down-DP Bottom-Up-DP

Mehr

Die Verbindung von Linearer Programmierung und Graphentheorie

Die Verbindung von Linearer Programmierung und Graphentheorie Die Verbindung von Linearer Programmierung und Graphentheorie Definition 5.9. Ein kombinatorisches Optimierungsproblem entspricht einem LP, bei dem statt der Vorzeichenbedingungen x i 0 Bedingungen der

Mehr

Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É.

Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É. Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É. Tardos Janick Martinez Esturo jmartine@techfak.uni-bielefeld.de xx.08.2007 Sommerakademie Görlitz Arbeitsgruppe 5 Gliederung

Mehr

Nichtlineare Optimierung ohne Nebenbedingungen

Nichtlineare Optimierung ohne Nebenbedingungen Kapitel 2 Nichtlineare Optimierung ohne Nebenbedingungen In diesem Abschnitt sollen im wesentlichen Verfahren zur Bestimmung des Minimums von nichtglatten Funktionen in einer Variablen im Detail vorgestellt

Mehr

4. Dynamische Optimierung

4. Dynamische Optimierung 4. Dynamische Optimierung Allgemeine Form dynamischer Optimierungsprobleme 4. Dynamische Optimierung Die dynamische Optimierung (DO) betrachtet Entscheidungsprobleme als eine Folge voneinander abhängiger

Mehr

Optimalitätskriterien

Optimalitätskriterien Kapitel 4 Optimalitätskriterien Als Optimalitätskriterien bezeichnet man notwendige oder hinreichende Bedingungen dafür, dass ein x 0 Ω R n Lösung eines Optimierungsproblems ist. Diese Kriterien besitzen

Mehr

Seminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn

Seminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn Seminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn Ein 5.55-Approximationsalgorithmus für das VPND-Problem Lars Schäfers Inhalt Einführung:

Mehr

Abschnitt: Algorithmendesign und Laufzeitanalyse

Abschnitt: Algorithmendesign und Laufzeitanalyse Abschnitt: Algorithmendesign und Laufzeitanalyse Definition Divide-and-Conquer Paradigma Divide-and-Conquer Algorithmen verwenden die Strategien 1 Divide: Teile das Problem rekursiv in Subproblem gleicher

Mehr

Kostenmaße. F3 03/04 p.188/395

Kostenmaße. F3 03/04 p.188/395 Kostenmaße Bei der TM nur ein Kostenmaß: Ein Schritt (Konfigurationsübergang) kostet eine Zeiteinheit; eine Bandzelle kostet eine Platzeinheit. Bei der RAM zwei Kostenmaße: uniformes Kostenmaß: (wie oben);

Mehr

Programmierung 2. Dynamische Programmierung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland.

Programmierung 2. Dynamische Programmierung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland. 1 Programmierung 2 Dynamische Programmierung Sebastian Hack hack@cs.uni-saarland.de Klaas Boesche boesche@cs.uni-saarland.de Sommersemester 2012 2 Übersicht Stammt aus den Zeiten als mit Programmierung

Mehr

Primzahlzertifikat von Pratt

Primzahlzertifikat von Pratt Primzahlzertifikat von Pratt Daniela Steidl TU München 17. 04. 2008 Primzahltests in der Informatik "Dass das Problem, die Primzahlen von den Zusammengesetzten zu unterscheiden und letztere in ihre Primfaktoren

Mehr

22. Algorithmus der Woche Partnerschaftsvermittlung Drum prüfe, wer sich ewig bindet

22. Algorithmus der Woche Partnerschaftsvermittlung Drum prüfe, wer sich ewig bindet 22. Algorithmus der Woche Partnerschaftsvermittlung Drum prüfe, wer sich ewig bindet Autor Volker Claus, Universität Stuttgart Volker Diekert, Universität Stuttgart Holger Petersen, Universität Stuttgart

Mehr

Echtzeitfähige Ereignisgetriebene Scheduling-Strategien

Echtzeitfähige Ereignisgetriebene Scheduling-Strategien Friedrich-Alexander-Universität Erlangen-Nürnberg Ausgewählte Kapitel eingebetteter Systeme Echtzeitfähige Ereignisgetriebene Scheduling-Strategien Sven Kerschbaum 1. Einführung Bei einem eingebetteten

Mehr

Das Knapsack-Kryptosystem

Das Knapsack-Kryptosystem Das Knapsack-Kryptosystem Frank Hellweg 21. Februar 2006 1 Einleitung Das Knapsack-Kryptosystem wurde 1978 von den amerikanischen Kryptologen Martin Hellman und Ralph Merkle entwickelt [MH78] und war eines

Mehr

13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems

13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems 13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems 13.1 Modellierung des Rucksackproblems 13.2 Lösung mit Greedy-Algorithmus 13.3 Lösung mit Backtracking 13.4 Lösung mit Dynamischer Programmierung

Mehr

Institut für Geometrie und Praktische Mathematik Mathematisches Praktikum (MaPra) SS 2002. Aufgabe 7

Institut für Geometrie und Praktische Mathematik Mathematisches Praktikum (MaPra) SS 2002. Aufgabe 7 Rheinisch Westfälische Technische Hochschule Institut für Geometrie und Praktische Mathematik Mathematisches Praktikum (MaPra) SS 2002 Prof. Dr. Wolfgang Dahmen Dr. Karl Heinz Brakhage Aufgabe 7 Bearbeitungszeit:

Mehr

1 Einführung 2 1.1 Zwei Beispiele (MIN JOB SCHEDULING und MAXCUT)... 2 1.2 Notationen und Definitionen... 7 1.3 Übungsaufgaben...

1 Einführung 2 1.1 Zwei Beispiele (MIN JOB SCHEDULING und MAXCUT)... 2 1.2 Notationen und Definitionen... 7 1.3 Übungsaufgaben... Vorwort v I Approximative Algorithmen 1 1 Einführung 2 1.1 Zwei Beispiele (MIN JOB SCHEDULING und MAXCUT).... 2 1.2 Notationen und Definitionen... 7 1.3 Übungsaufgaben..... 18 2 DieKomplexitätsklassen

Mehr

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt Methoden und Techniken an Beispielen erklärt Georg Anegg 5. November 009 Beispiel. Die Folge {a n } sei wie folgt definiert (a, d, q R, q ): a 0 a, a n+ a n q + d (n 0) Man bestimme eine explizite Darstellung

Mehr

Elemente der Analysis II

Elemente der Analysis II Elemente der Analysis II Kapitel 3: Lineare Abbildungen und Gleichungssysteme Informationen zur Vorlesung: http://www.mathematik.uni-trier.de/ wengenroth/ J. Wengenroth () 15. Mai 2009 1 / 35 3.1 Beispiel

Mehr

Zeichnen von Graphen. graph drawing

Zeichnen von Graphen. graph drawing Zeichnen von Graphen graph drawing WS 2006 / 2007 Gruppe: D_rot_Ala0607 Christian Becker 11042315 Eugen Plischke 11042351 Vadim Filippov 11042026 Gegeben sei ein Graph G = (V; E) Problemstellung V E =

Mehr

HOCHSCHULE KONSTANZ TECHNIK, WIRTSCHAFT UND GESTALTUNG. Das Luzifer-Rätsel. Prof. Dr. Hartmut Plesske Wintersemester 2008/09. von.

HOCHSCHULE KONSTANZ TECHNIK, WIRTSCHAFT UND GESTALTUNG. Das Luzifer-Rätsel. Prof. Dr. Hartmut Plesske Wintersemester 2008/09. von. HOCHSCHULE KONSTANZ TECHNIK, WIRTSCHAFT UND GESTALTUNG Fakultät Informatik Das Luzifer-Rätsel Prof. Dr. Hartmut Plesske Wintersemester 2008/09 von Max Nagl nagl@fh-konstanz.de Inhaltsverzeichnis Inhaltsverzeichnis

Mehr

4. Übungsblatt zu Mathematik für Informatiker I, WS 2003/04

4. Übungsblatt zu Mathematik für Informatiker I, WS 2003/04 4. Übungsblatt zu Mathematik für Informatiker I, WS 2003/04 JOACHIM VON ZUR GATHEN, OLAF MÜLLER, MICHAEL NÜSKEN Abgabe bis Freitag, 14. November 2003, 11 11 in den jeweils richtigen grünen oder roten Kasten

Mehr

Umsetzung von DEA in Excel

Umsetzung von DEA in Excel Umsetzung von DEA in Excel Thorsten Poddig Armin Varmaz 30. November 2005 1 Vorbemerkungen In diesem Dokument, das als Begleitmaterial zum in der Zeitschrift,,Controlling, Heft 10, 2005 veröffentlichten

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

Mehr

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Divide-and-Conquer. Vorlesung 9: Quicksort (K7)

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Divide-and-Conquer. Vorlesung 9: Quicksort (K7) Datenstrukturen und Algorithmen Vorlesung 9: (K7) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://www-i2.rwth-aachen.de/i2/dsal0/ Algorithmus 8. Mai 200 Joost-Pieter

Mehr

(Lineare) stochastische Optimierung

(Lineare) stochastische Optimierung (Lineare) stochastische Optimierung Bsp: Aus zwei Sorten Rohöl wird Benzin und Heizöl erzeugt. Die Produktivität sowie der Mindestbedarf (pro Woche) und die Kosten sind in folgender Tabelle angegeben:

Mehr

Pratts Primzahlzertifikate

Pratts Primzahlzertifikate Pratts Primzahlzertifikate Markus Englert 16.04.2009 Technische Universität München Fakultät für Informatik Proseminar: Perlen der Informatik 2 SoSe 2009 Leiter: Prof. Dr. Nipkow 1 Primzahltest Ein Primzahltest

Mehr

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt - 17 - Die Frage ist hier also: Für welche x R gilt x = x + 1? Das ist eine quadratische Gleichung für x. Es gilt x = x + 1 x x 3 = 0, und man kann quadratische Ergänzung machen:... ( ) ( ) x x + = 3 +

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr

Vorlesung. Funktionen/Abbildungen 1

Vorlesung. Funktionen/Abbildungen 1 Vorlesung Funktionen/Abbildungen 1 1 Grundlagen Hinweis: In dieser Vorlesung werden Funktionen und Abbildungen synonym verwendet. In der Schule wird eine Funktion häufig als eindeutige Zuordnung definiert.

Mehr

Laufzeit und Komplexität

Laufzeit und Komplexität Laufzeit und Komplexität Laufzeit eines Algorithmus Benchmarking versus Analyse Abstraktion Rechenzeit, Anzahl Schritte Bester, Mittlerer, Schlechtester Fall Beispiel: Lineare Suche Komplexitätsklassen

Mehr

Komplexität und Komplexitätsklassen

Komplexität und Komplexitätsklassen Dr. Sebastian Bab WiSe 12/13 Theoretische Grundlagen der Informatik für TI Termin: VL 21 vom 21.01.2013 Komplexität und Komplexitätsklassen Die meisten Probleme mit denen wir zu tun haben sind entscheidbar.

Mehr

Teil 2 - Softwaretechnik. Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2. Übersicht. Softwaretechnik

Teil 2 - Softwaretechnik. Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2. Übersicht. Softwaretechnik Grundlagen der Programmierung 1 Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2 Softwaretechnik Prof. Dr. O. Drobnik Professur Architektur und Betrieb verteilter Systeme Institut für

Mehr

Korrigenda Handbuch der Bewertung

Korrigenda Handbuch der Bewertung Korrigenda Handbuch der Bewertung Kapitel 3 Abschnitt 3.5 Seite(n) 104-109 Titel Der Terminvertrag: Ein Beispiel für den Einsatz von Future Values Änderungen In den Beispielen 21 und 22 ist der Halbjahressatz

Mehr

Das Lastverteilungsproblem

Das Lastverteilungsproblem Das Lastverteilungsproblem Multiprocessor Scheduling Franz Brauße 26. März 2012 Proseminar Theoretische Informatik bei Prof. Dr. H. Fernau FB IV, Universität Trier Inhaltsverzeichnis 1 Einführung 2 1.1

Mehr

Informatik II Greedy-Algorithmen

Informatik II Greedy-Algorithmen 7/7/06 lausthal Erinnerung: Dynamische Programmierung Informatik II reedy-algorithmen. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Zusammenfassung der grundlegenden Idee: Optimale Sub-Struktur:

Mehr

SOI 2013. Die Schweizer Informatikolympiade

SOI 2013. Die Schweizer Informatikolympiade SOI Die Schweizer Informatikolympiade Lösung SOI Wie schreibe ich eine gute Lösung? Bevor wir die Aufgaben präsentieren, möchten wir dir einige Tipps geben, wie eine gute Lösung für die theoretischen

Mehr

Steinerbäume. Seminarausarbeitung Hochschule Aalen Fakultät für Elektronik und Informatik Studiengang Informatik Schwerpunkt Software Engineering

Steinerbäume. Seminarausarbeitung Hochschule Aalen Fakultät für Elektronik und Informatik Studiengang Informatik Schwerpunkt Software Engineering Steinerbäume Seminarausarbeitung Hochschule Aalen Fakultät für Elektronik und Informatik Studiengang Informatik Schwerpunkt Software Engineering Verfasser Flamur Kastrati Betreuer Prof. Dr. habil. Thomas

Mehr

Übungspaket 19 Programmieren eigener Funktionen

Übungspaket 19 Programmieren eigener Funktionen Übungspaket 19 Programmieren eigener Funktionen Übungsziele: Skript: 1. Implementierung und Kodierung eigener Funktionen 2. Rekapitulation des Stack-Frames 3. Parameterübergabe mittels Stack und Stack-Frame

Mehr

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse Algorithmische Methoden zur Netzwerkanalyse Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische

Mehr

WS 2008/09. Diskrete Strukturen

WS 2008/09. Diskrete Strukturen WS 2008/09 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0809

Mehr

Der Kapitalwert einer Investition

Der Kapitalwert einer Investition Der Kapitalwert einer Investition 2 2.1 Grundlagen 2.1.1 Aufstellung vollständiger Finanzpläne Der finanzielle Nutzen, den ein Wirtschaftssubjekt aus einem Investitionsobjekt zieht, kann in möglichst hohen

Mehr

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J Greedy-Strategie Definition Paradigma Greedy Der Greedy-Ansatz verwendet die Strategie 1 Top-down Auswahl: Bestimme in jedem Schritt eine lokal optimale Lösung, so dass man eine global optimale Lösung

Mehr

IV. Spieltheorie. H. Weber, FHW, OR SS07, Teil 7, Seite 1

IV. Spieltheorie. H. Weber, FHW, OR SS07, Teil 7, Seite 1 IV. Spieltheorie 1. Gegenstand der Spieltheorie 2. Einführung in Matrixspiele 3. Strategien bei Matrixspielen 4. Weitere Beispiele 5. Mögliche Erweiterungen H. Weber, FHW, OR SS07, Teil 7, Seite 1 1. Gegenstand

Mehr

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) 5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) mit V = {1,...,n} und E {(v, w) 1 apple v, w apple n, v 6= w}. c : E!

Mehr

OPERATIONS-RESEARCH (OR)

OPERATIONS-RESEARCH (OR) OPERATIONS-RESEARCH (OR) Man versteht darunter die Anwendung mathematischer Methoden und Modelle zur Vorbereitung optimaler Entscheidungen bei einem Unternehmen. Andere deutsche und englische Bezeichnungen:

Mehr

Doing Economics with the Computer Sommersemester 2002. Excel Solver 1

Doing Economics with the Computer Sommersemester 2002. Excel Solver 1 Universität Bern Kurt Schmidheiny / Manuel Wälti Doing Economics with the Computer Sommersemester 2002 Excel Solver 1 Mit dem Solver unterstützt Excel eine Funktion, mit der u.a. komplex verschachtelte

Mehr

Kapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung

Kapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung Kapitel 6 Komplexität von Algorithmen 1 6.1 Beurteilung von Algorithmen I.d.R. existieren viele Algorithmen, um dieselbe Funktion zu realisieren. Welche Algorithmen sind die besseren? Betrachtung nicht-funktionaler

Mehr

Vorlesung Einführung in die Mathematische Optimierung (Wintersemester 2013/14)

Vorlesung Einführung in die Mathematische Optimierung (Wintersemester 2013/14) 1 Vorlesung Einführung in die Mathematische Optimierung (Wintersemester 2013/14) Einleitung Volker Kaibel Otto-von-Guericke Universität Magdeburg (Version vom 11. Oktober 2013) 2 Kommunikationsnetzwerke...

Mehr

Mathematische Grundlagen der Kryptographie. 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe. Stefan Brandstädter Jennifer Karstens

Mathematische Grundlagen der Kryptographie. 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe. Stefan Brandstädter Jennifer Karstens Mathematische Grundlagen der Kryptographie 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe Stefan Brandstädter Jennifer Karstens 18. Januar 2005 Inhaltsverzeichnis 1 Ganze Zahlen 1 1.1 Grundlagen............................

Mehr

Was ist Mathematik? Eine Strukturwissenschaft, eine Geisteswissenschaft, aber keine Naturwissenschaft.

Was ist Mathematik? Eine Strukturwissenschaft, eine Geisteswissenschaft, aber keine Naturwissenschaft. Vorlesung 1 Einführung 1.1 Praktisches Zeiten: 10:00-12:00 Uhr Vorlesung 12:00-13:00 Uhr Mittagspause 13:00-14:30 Uhr Präsenzübung 14:30-16:00 Uhr Übungsgruppen Material: Papier und Stift wacher Verstand

Mehr

3. Die Eigenschaften der reellen Zahlen II: Geordnete Körper

3. Die Eigenschaften der reellen Zahlen II: Geordnete Körper 32 Andreas Gathmann 3. Die Eigenschaften der reellen Zahlen II: Geordnete Körper Wir haben bisher von den reellen Zahlen nur die Körpereigenschaften, also die Eigenschaften der vier Grundrechenarten ausgenutzt

Mehr

Kurs 1613 Einführung in die imperative Programmierung

Kurs 1613 Einführung in die imperative Programmierung Aufgabe 1 Gegeben sei die Prozedur BubbleSort: procedure BubbleSort(var iofeld:tfeld); { var hilf:integer; i:tindex; j:tindex; vertauscht:boolean; i:=1; repeat vertauscht := false; for j := 1 to N - i

Mehr

Randomisierte Algorithmen

Randomisierte Algorithmen Randomisierte Algorithmen Kapitel 2 Markus Lohrey Universität Leipzig http://www.informatik.uni-leipzig.de/~lohrey/rand WS 2005/2006 Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006

Mehr

Alles zu seiner Zeit Projektplanung heute

Alles zu seiner Zeit Projektplanung heute Alles zu seiner Zeit Projektplanung heute Nicole Megow Matheon Überblick Projektplanung Planen mit Graphentheorie Maschinenscheduling Ein 1 Mio. $ Problem Schwere & leichte Probleme? Zeitplanungsprobleme?

Mehr

Lösungen zu den Übungsaufgaben aus Kapitel 5

Lösungen zu den Übungsaufgaben aus Kapitel 5 Lösungen zu den Übungsaufgaben aus Kapitel 5 Ü5.1: Die entsprechende Bellman sche Funktionalgleichung kann angegeben werden als: Vct (, ) = max qt D { r rt t ( min{ q t, c} ) min{ q t, c} Vc ( min{ q t,

Mehr

Bin Packing oder Wie bekomme ich die Klamotten in die Kisten?

Bin Packing oder Wie bekomme ich die Klamotten in die Kisten? Bin Packing oder Wie bekomme ich die Klamotten in die Kisten? Ich habe diesen Sommer mein Abi gemacht und möchte zum Herbst mit dem Studium beginnen Informatik natürlich! Da es in meinem kleinen Ort keine

Mehr

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder Programmieren in PASCAL Bäume 1 1. Baumstrukturen Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder 1. die leere Struktur oder 2. ein Knoten vom Typ Element

Mehr

8: Zufallsorakel. Wir suchen: Einfache mathematische Abstraktion für Hashfunktionen

8: Zufallsorakel. Wir suchen: Einfache mathematische Abstraktion für Hashfunktionen Stefan Lucks 8: Zufallsorakel 139 Kryptogr. Hashfunkt. (WS 08/09) 8: Zufallsorakel Unser Problem: Exakte Eigenschaften von effizienten Hashfunktionen nur schwer erfassbar (z.b. MD5, Tiger, RipeMD, SHA-1,...)

Mehr

Graphenalgorithmen und lineare Algebra Hand in Hand Vorlesung für den Bereich Diplom/Master Informatik

Graphenalgorithmen und lineare Algebra Hand in Hand Vorlesung für den Bereich Diplom/Master Informatik Vorlesung für den Bereich Diplom/Master Informatik Dozent: Juniorprof. Dr. Henning Meyerhenke PARALLELES RECHNEN INSTITUT FÜR THEORETISCHE INFORMATIK, FAKULTÄT FÜR INFORMATIK KIT Universität des Landes

Mehr

Maximizing the Spread of Influence through a Social Network

Maximizing the Spread of Influence through a Social Network 1 / 26 Maximizing the Spread of Influence through a Social Network 19.06.2007 / Thomas Wener TU-Darmstadt Seminar aus Data und Web Mining bei Prof. Fürnkranz 2 / 26 Gliederung Einleitung 1 Einleitung 2

Mehr

Der Approximationsalgorithmus von Christofides

Der Approximationsalgorithmus von Christofides Der Approximationsalgorithms on Christofides Problem: Traeling Salesman Inpt: Ein Graph G = (V, E) mit einer Distanzfnktion d : E Q 0. Afgabe: Finde eine Tor, die alle Knoten des Graphen G gena einmal

Mehr

Leitfaden Lineare Algebra: Determinanten

Leitfaden Lineare Algebra: Determinanten Leitfaden Lineare Algebra: Determinanten Die symmetrische Gruppe S n. Eine Permutation σ der Menge S ist eine bijektive Abbildung σ : S S. Ist S eine endliche Menge, so reicht es zu verlangen, dass σ injektiv

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Algorithmen und deren Programmierung Prof. Dr. Nikolaus Wulff Definition Algorithmus Ein Algorithmus ist eine präzise formulierte Handlungsanweisung zur Lösung einer gleichartigen

Mehr

Lenstras Algorithmus für Faktorisierung

Lenstras Algorithmus für Faktorisierung Lenstras Algorithmus für Faktorisierung Bertil Nestorius 9 März 2010 1 Motivation Die schnelle Faktorisierung von Zahlen ist heutzutage ein sehr wichtigen Thema, zb gibt es in der Kryptographie viele weit

Mehr

RSA-Verschlüsselung. von Johannes Becker Gießen 2006/2008

RSA-Verschlüsselung. von Johannes Becker Gießen 2006/2008 RSA-Verschlüsselung von Johannes Becker Gießen 2006/2008 Zusammenfassung Es wird gezeigt, wieso das nach Ronald L. Rivest, Adi Shamir und Leonard Adleman genannte RSA-Krptosstem funktioniert, das mittlerweile

Mehr

Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen

Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009 16.07.2009 Kapitel 2 1 Übersicht Notation Paging Selbstorganisierende Suchstrukturen Finanzielle

Mehr

Programmiertechnik II

Programmiertechnik II Analyse von Algorithmen Algorithmenentwurf Algorithmen sind oft Teil einer größeren Anwendung operieren auf Daten der Anwendung, sollen aber unabhängig von konkreten Typen sein Darstellung der Algorithmen

Mehr

Universität Koblenz-Landau, Abteilung Koblenz FB 4 Informatik. Seminar Entscheidungsverfahren für logische Theorien. Endliche Modelle.

Universität Koblenz-Landau, Abteilung Koblenz FB 4 Informatik. Seminar Entscheidungsverfahren für logische Theorien. Endliche Modelle. Universität Koblenz-Landau, Abteilung Koblenz FB 4 Informatik Seminar Entscheidungsverfahren für logische Theorien Tobias Hebel Koblenz, am 18.02.2005 Inhaltsverzeichnis 1 Einleitung... 3 2 Grundlagen...

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Lineare Gleichungssysteme Eines der am häufigsten auftretenden Standardprobleme der angewandten Mathematik ist das Lösen linearer Gleichungssysteme, etwa zur Netzwerkberechnung in der Elektrotechnik oder

Mehr

Codierung, Codes (variabler Länge)

Codierung, Codes (variabler Länge) Codierung, Codes (variabler Länge) A = {a, b, c,...} eine endliche Menge von Nachrichten (Quellalphabet) B = {0, 1} das Kanalalphabet Eine (binäre) Codierung ist eine injektive Abbildung Φ : A B +, falls

Mehr

Vorlesung 3 MINIMALE SPANNBÄUME

Vorlesung 3 MINIMALE SPANNBÄUME Vorlesung 3 MINIMALE SPANNBÄUME 72 Aufgabe! Szenario: Sie arbeiten für eine Firma, die ein Neubaugebiet ans Netz (Wasser, Strom oder Kabel oder...) anschließt! Ziel: Alle Haushalte ans Netz bringen, dabei

Mehr

Entwurf von Algorithmen - Kontrollstrukturen

Entwurf von Algorithmen - Kontrollstrukturen Entwurf von Algorithmen - Kontrollstrukturen Eine wichtige Phase in der Entwicklung von Computerprogrammen ist der Entwurf von Algorithmen. Dieser Arbeitsschritt vor dem Schreiben des Programmes in einer

Mehr

Rekursionen (Teschl/Teschl 8.1-8.2)

Rekursionen (Teschl/Teschl 8.1-8.2) Rekursionen (Teschl/Teschl 8.1-8.2) Eine Rekursion kter Ordnung für k N ist eine Folge x 1, x 2, x 3,... deniert durch eine Rekursionsvorschrift x n = f n (x n 1,..., x n k ) für n > k, d. h. jedes Folgenglied

Mehr

Planen mit mathematischen Modellen 00844: Computergestützte Optimierung. Autor: Dr. Heinz Peter Reidmacher

Planen mit mathematischen Modellen 00844: Computergestützte Optimierung. Autor: Dr. Heinz Peter Reidmacher Planen mit mathematischen Modellen 00844: Computergestützte Optimierung Leseprobe Autor: Dr. Heinz Peter Reidmacher 11 - Portefeuilleanalyse 61 11 Portefeuilleanalyse 11.1 Das Markowitz Modell Die Portefeuilleanalyse

Mehr