Approximationsschemata für das Rucksackproblem
|
|
- Bernhard Beltz
- vor 6 Jahren
- Abrufe
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
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
MehrEntscheidungsbä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
MehrApproximationsalgorithmen
Makespan-Scheduling Kapitel 4: Approximationsalgorithmen (dritter Teil) (weitere Beispiele und Illustrationen an der Tafel) Hilfreiche Literatur: Vazarani: Approximation Algorithms, Springer Verlag, 2001.
MehrApproximationsalgorithmen: 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
MehrAlgorithmen 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
MehrNP-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
MehrHeuristiken 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
MehrApproximations-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
MehrLiteratur. 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,
MehrDas 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
MehrBestimmung 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,
MehrTeil 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
Mehr4 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
MehrAlgorithmen 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
MehrBinä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
Mehr16. 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
MehrDynamische 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
MehrApproximation 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
MehrAlgorithmische 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
MehrKomplexitä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
MehrEinfü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
MehrLineare 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
MehrEinfü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
MehrDas 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
MehrBabeș-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
MehrDynamische 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
MehrDie 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
MehrScheduling 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
MehrNichtlineare 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
Mehr4. Dynamische Optimierung
4. Dynamische Optimierung Allgemeine Form dynamischer Optimierungsprobleme 4. Dynamische Optimierung Die dynamische Optimierung (DO) betrachtet Entscheidungsprobleme als eine Folge voneinander abhängiger
MehrOptimalitä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
MehrSeminarvortag 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:
MehrAbschnitt: 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
MehrKostenmaß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);
MehrProgrammierung 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
MehrPrimzahlzertifikat 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
Mehr22. 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
MehrEchtzeitfä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
MehrDas 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
Mehr13 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
MehrInstitut 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:
Mehr1 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
MehrRekursionen. 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
MehrElemente 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
MehrZeichnen 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 =
MehrHOCHSCHULE 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
Mehr4. Ü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
MehrUmsetzung 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
MehrKapiteltests 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)
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 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:
MehrPratts 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
Mehrx 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 +
MehrDas Briefträgerproblem
Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................
MehrVorlesung. 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.
MehrLaufzeit 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
MehrKomplexitä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.
MehrTeil 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
MehrKorrigenda 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
MehrDas 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
MehrInformatik 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:
MehrSOI 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
MehrSteinerbä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 Übungsziele: Skript: 1. Implementierung und Kodierung eigener Funktionen 2. Rekapitulation des Stack-Frames 3. Parameterübergabe mittels Stack und Stack-Frame
MehrAlgorithmische 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
MehrWS 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
MehrDer 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
MehrS=[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
MehrIV. 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
Mehr5.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!
MehrOPERATIONS-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:
MehrDoing 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
MehrKapitel 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
MehrVorlesung 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...
MehrMathematische 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............................
MehrWas 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
Mehr3. 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
MehrKurs 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
MehrRandomisierte 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
MehrAlles 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?
MehrLö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,
MehrBin 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
MehrEine 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
Mehr8: 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,...)
MehrGraphenalgorithmen 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
MehrMaximizing 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
MehrDer 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
MehrLeitfaden 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
MehrEinfü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
MehrLenstras 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
MehrRSA-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
MehrMethoden 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
MehrProgrammiertechnik 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
MehrUniversitä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...
MehrLineare 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
MehrCodierung, 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
MehrVorlesung 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
MehrEntwurf 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
MehrRekursionen (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
MehrPlanen 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