Binäre lineare Optimierung mit K*BMDs p.1/42
|
|
- Jens Tiedeman
- vor 8 Jahren
- Abrufe
Transkript
1 Binäre lineare Optimierung mit K*BMDs Ralf Wimmer Institut für Informatik Albert-Ludwigs-Universität Freiburg Binäre lineare Optimierung mit K*BMDs p.1/42
2 Grundlagen Binäre lineare Optimierung mit K*BMDs p.2/42
3 Das Problem BILP (1) Ein binäres lineares Optimierungsproblem (BILP) ist gegeben durch eine Menge von (Constraints) linearen Ungleichungen Es seien dabei. für und Binäre lineare Optimierung mit K*BMDs p.3/42
4 Das Problem BILP (2) eine lineare Zielfunktion (Goal) mit für. Gesucht ist eine Belegung der Variablen, so daß alle Ungleichungen erfüllt sind und der Funktionswert von minimal ist. Binäre lineare Optimierung mit K*BMDs p.4/42
5 Beispiel Das folgende ist ein typisches Beispiel für ein BILP: Binäre lineare Optimierung mit K*BMDs p.5/42
6 Beispiel Das folgende ist ein typisches Beispiel für ein BILP: Es besitzt die Lösung: Variable Wert Binäre lineare Optimierung mit K*BMDs p.5/42
7 Komplexität von BILP (1) Satz: Das Problem, eine erfüllende Belegung für die Constraints zu finden, ist NP-vollständig. Beweis: Wir reduzieren SAT auf BILP. Formel in KNF darin vorkommende Variablen falls falls falls kommt in in vorkommt in vorkommt nicht in vorkommt. vor Binäre lineare Optimierung mit K*BMDs p.6/42
8 Komplexität von BILP (2). Beh.: erfüllbar.. Dann ist für Sei Setze mit. Binäre lineare Optimierung mit K*BMDs p.7/42 denn: entweder gibt es ein oder ein mit
9 Komplexität von BILP (3). Sei. Definiere durch Annahme:. Dann gibt es ein mit Kommt in vor, so ist in vor, so ist und es gilt: und kommt. Damit gilt: gelten. Binäre lineare Optimierung mit K*BMDs p.8/42 Widerspruch. Also muß
10 Der Algorithmus Binäre lineare Optimierung mit K*BMDs p.9/42
11 Aufbau des Verfahrens Der Algorithmus verläuft in folgenden Schritten: Vorverarbeitung Umwandlung der Constraints in charakt. Funktionen UND-Verknüpfung der charakt. Funktionen Minimierung der Goal-Funktion unter der Bedingung, daß gleich 1 ist. Binäre lineare Optimierung mit K*BMDs p.10/42
12 Vorverarbeitung der Constraints Ziel: Anzahl der Variablen reduzieren, ohne Lösungen zu verlieren. Beispiel: Betrachte folgenden Constraint: Falls ist, gibt es keine Belegung von, so daß der Constraint erfüllt ist. Also muß in jeder Lösung sein. Entsprechend muß gelten. Damit können wir in allen Constraints setzen. und Binäre lineare Optimierung mit K*BMDs p.11/42
13 Algorithmus preprocess (1) Input: Matrix der Koeffizienten, rechte Seite Output: true, falls die Suche erfolgreich war. 1 ergebnis = false; // Über alle Constraints iterieren 2 for i = 1 to m do 3 sum = ; // Summe der neg. Koeffizienten berechnen 4 for j = 1 to n do 5 if ( ) sum = sum + ;. Binäre lineare Optimierung mit K*BMDs p.12/42
14 Algorithmus preprocess (2) 6 for j=1 to n do 7 if ( 8 if (sum - 9 print( ) > 0 ) 10 for k=1 to m do else 14 if (sum + 15 print ( ); ergebnis = true; > 0) 16 for k=1 to m do return ergebnis; ; ); ergebnis = true; = 0; Binäre lineare Optimierung mit K*BMDs p.13/42
15 Algorithmus preprocess (3) Dieser Algorithmus wird solange ausgeführt, bis sein Rückgabewert false ist. Dann werden die linken Seiten Constraints in K*BMDs umgewandelt. Binäre lineare Optimierung mit K*BMDs p.14/42
16 Algorithmus leqzero (1) Der nächste Schritt ist, die Constraints in (Boolesche) charakt. Funktionen umzuwandeln. falls sonst Input: K*BMD Output: OBDD für // Basisfälle überprüfen. 1 if (max( 2 if (min( 3 if (comptablelookup( ). eines Constraints. 0) return 1; ) > 0) return 0;,ans) return ans; Binäre lineare Optimierung mit K*BMDs p.15/42
17 Algorithmus leqzero (2) if ( 9 = leqzero( = leqzero( = Cofactor(G, x, 0); = Cofactor(G, x, 1); ) return = ite(var(g), 10 comptableinsert( 11 return H;, ; );, H); ); ); Binäre lineare Optimierung mit K*BMDs p.16/42
18 AND-Verknüpfung der Die ( ) werden mit dem AND-Operator verknüpft. Dieser wird auf den ITE-Operator zurückgeführt: Nach solcher Verknüpfungen erhalten wir: Jetzt haben wir ein OBDD, das die gültigen Variablenbelegungen beschreibt, und ein K*BMD für die Goal- Funktion, die minimiert werden soll. Binäre lineare Optimierung mit K*BMDs p.17/42
19 Algorithmus minimize (1) Input: K*BMD OBDD der charakt. Fkt. für die Goal-Fkt. int bound Wert der bisher besten Lösung. Output: TRUE, wenn eine bessere Lösung gefunden wurde. Der Algorithmus besteht aus folgenden Teilen: Überprüfen der Basisfälle und der CompTable Zerlegen in Kofaktoren Rekursive Aufrufe Zusammensetzen der Lösung Binäre lineare Optimierung mit K*BMDs p.18/42
20 Algorithmus minimize (2) // Basisfälle überprüfen 1 if (iszero( 2 if (min( )) return false; 3 if (isconstant( 4 bound = 5 if (isone( ) bound) return false; )) ; return true; )) 6 bound = min( ); return true; Binäre lineare Optimierung mit K*BMDs p.19/42
21 Algorithmus minimize (3) // In der ComputedTable nachschauen 7 localbound = bound - 8 if (comptablelookup( ;, 9 if (entry.value < entry.bound) 10 if (entry.value < localbound) 11 bound = entry.value + 12 return true; else return false; else 15 if (localbound 16 ;, entry)) entry.bound) return false Binäre lineare Optimierung mit K*BMDs p.20/42
22 Algorithmus minimize (4) // Aufspalten in Kofaktoren 17 if (level(var( 18 topvar = var( else )) ); topvar = var( = cofactor( = cofactor( = cofactor( = cofactor( level(var( );, topvar, 0); ))), topvar, 0);, topvar, 1);, topvar, 1); Binäre lineare Optimierung mit K*BMDs p.21/42
23 Algorithmus minimize (5) // Rekursive Aufrufe 24 entry.bound = localbound; 25 if (min( 26 lret = minimize( 26 hret = minimize( 27 else 28 hret = minimize( 29 lret = minimize( 30 ) < min(,,,, ),localbound);,localbound);,localbound);,localbound); Binäre lineare Optimierung mit K*BMDs p.22/42
24 Algorithmus minimize (6) // Bessere Lösung gefunden? 31 if (lret hret) 32 bound = localbound + ; 33 entry.value = localbound; 34 comptableinsert( 35 return true; 36 else, 37 entry.value = entry.bound; 38 comptableinsert( 39 return false; 40,, entry);,entry); Binäre lineare Optimierung mit K*BMDs p.23/42
25 Probleme und Lösungen Binäre lineare Optimierung mit K*BMDs p.24/42
26 Probleme 1. Auch wenn die K*BMDs für die linken Seiten der Constraints immer lineare Größe besitzen, können die OBDDs für die exponentiell groß werden. 2. Selbst wenn alle AND-Verknüpfung bekommen. klein sind, kann durch die exponentielle Größe 3. Die Größe der Zwischenergebnisse bei der AND-Verknüpfung hängt stark von der Reihenfolge ab. 4. Die gewählte Variablenordnung beeinflußt stark die Größen der OBDDs. Binäre lineare Optimierung mit K*BMDs p.25/42
27 Exponentielle Größe von Einführung eines Parameters n_supp. Umwandlung der Constraints in charakt. Fkt. nur, falls die Zahl der Knoten überall kleiner n_supp. Sonst Aufspaltung der Goal-Fkt. und der Constaints in Kofaktoren. Algorithmus rekursiv auf die Kofaktoren anwenden. Am Schluß wird die bessere Lösung genommen. Siehe Algorithmus ilp_conv. Binäre lineare Optimierung mit K*BMDs p.26/42
28 Algorithmus ilp_conv (1) Input: Output: goal: K*BMD für die Goal-Funktion constraints: Menge von K*BMDs für die linken Seiten der Constraints LB: untere Schranke für die möglichen Lösungen UB: der Wert der bisher besten Lösung c_size: maximale Anzahl von Knoten in den n_supp: maximale Anzahl von Knoten in den K*BMDs. true, falls eine Lösung gefunden wurde, false sonst. Binäre lineare Optimierung mit K*BMDs p.27/42
29 Algorithmus ilp_conv (2) 1 if ( 2 = leqzero(c) 3 return ilp min(goal, 4 5 else 6 l ret = ilp conv( 7 h ret = ilp conv( 8 9 return (h ret l ret); : size(c) < n supp), LB, UB, c size); = divideproblem(goal,,, );,LB,UB,c size,n supp);,lb,ub,c size,n supp); Binäre lineare Optimierung mit K*BMDs p.28/42
30 Exponentielle Größe von Einführung eines Parameters c_size. Verknüpfe nur solche OBDDs mit AND, die weniger als c_size Knoten besitzen. Bleibt mehr als ein OBDD übrig, dann alle in Kofaktoren aufteilen und den Algorithmus rekursiv auf die Kofaktoren anwenden. Am Schluß das bessere Ergebnis verwenden. Siehe Algorithmus ilp_min. Binäre lineare Optimierung mit K*BMDs p.29/42
31 Algorithmus ilp_min (1) Input: goal: K*BMD für die Goal-Funktion constr: Menge von OBDDs für die LB: untere Schranke für die möglichen Lösungen UB: beste bisher gefundene Lösung c_size: maximale Anzahl von Knoten in den Output: True, falls eine Lösung gefunden wurde, false sonst. Binäre lineare Optimierung mit K*BMDs p.30/42
32 Algorithmus ilp_min (2) 1 if (max(goal) < LB) return false; 2 if (min(goal) UB) return false; 3 if ( 4 return false; : minimize(goal, c, UB) = false) 5 constr = AND constr(constr, c size); 6 if ( constr = 1) 7 return minimize(goal, constr, UB); 8 else 9 10 l ret=ilp min( 11 h ret=ilp min( = divideproblem(goal,constr );,, 12 return (l ret h ret); 13, LB, UB, c size);, LB, UB, c size); Binäre lineare Optimierung mit K*BMDs p.31/42
33 Algorithmus ilp_min (3) Die beiden anderen Probleme (Reihenfolge bei der AND-Verknüpfung und Variablenordnung) werden mit Hilfe von Heuristiken gelöst. Binäre lineare Optimierung mit K*BMDs p.32/42
34 Heuristiken Binäre lineare Optimierung mit K*BMDs p.33/42
35 Heuristik: Variablenordnung Für die Variablenordnung haben wir zwei Heuristiken gefunden: Anzahl der Constraints, die von der Variable abhängen: Die zweite Heuristik berücksichtig auch noch die Größe des Support der Constraints: Binäre lineare Optimierung mit K*BMDs p.34/42
36 Reihenfolge/Konjunktion Es gibt 3 verschiedene Heuristiken, die zur Auswahl zweier Constraints, die als nächstes mit AND verknüpft werden sollen, eingesetzt werden können: SizeConjunctionOrder SATConjunctionOrder SupportConjunctionOrder Es folgen noch einige Erläuterungen zu den Heuristiken... Binäre lineare Optimierung mit K*BMDs p.35/42
37 Size-/SATConjunctionOrder SizeConjunctionOrder Diese Heuristik wählt aus einer Menge von OBDDs die beiden aus, die minimal viele Knoten enthalten. Binäre lineare Optimierung mit K*BMDs p.36/42
38 Size-/SATConjunctionOrder SizeConjunctionOrder Diese Heuristik wählt aus einer Menge von OBDDs die beiden aus, die minimal viele Knoten enthalten. SATConjunctionOrder Wähle aus den OBDDs die beiden aus, die die kleinste ON-Menge besitzen. Binäre lineare Optimierung mit K*BMDs p.36/42
39 SupportConjunctionOrder Diese Heuristik berücksichtigt folgende Punkte: Verknüpfe nur OBDDs, die von ähnlichen Variablen abhängen. Verknüpfe OBDDs, die ähnliche Größen besitzen. Der 2. Punkt wird realisiert, indem wir mit zwei Listen von OBDDs arbeiten. Entnommen werden OBDDs immer aus der 1. Liste, eingefügt in die 2. Ist die 1. List leer, werden die Listen vertauscht. Binäre lineare Optimierung mit K*BMDs p.37/42
40 Das Programm Binäre lineare Optimierung mit K*BMDs p.38/42
41 Klassendiagramm Ilp PreProcessor ExternalComputedTableEntry {abstract} VarOrder MinEntry LeqZeroEntry ConjunctionOrder {abstract} SupportConjunctionOrder SATConjunctionOrder SizeConjunctionOrder NaturalConjunctionOrder Binäre lineare Optimierung mit K*BMDs p.39/42
42 Binäre lineare Optimierung mit K*BMDs p.40/42 Eingabeformat Beispiel: 6 2 x1 x2 x3 x4 x5 x steht für
43 Experimentelle Ergebnisse Problem Var Constr c size BILP (sec) FGILP (sec) bm p p stein stein stein siehe Y.-T. Lai et. al. - EVBDD based algorithms for integer linear programming... Binäre lineare Optimierung mit K*BMDs p.41/42
44 Bemerkungen Die Zeiten von FGILP wurden auf einer Sparc Station 2 (28.5 MIPS) mit 64 MB RAM gemessen. Mein ILP-Solver (BLIP) wurde auf einem Athlon-Prozessor mit 1 GHz Taktfrequenz und 256 MB RAM ausgeführt. Die Laufzeiten sind also nicht direkt vergleichbar! Binäre lineare Optimierung mit K*BMDs p.42/42
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
MehrAbituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)
Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR) Eine Firma stellt USB-Sticks her. Sie werden in der Fabrik ungeprüft in Packungen zu je 20 Stück verpackt und an Händler ausgeliefert. 1 Ein Händler
MehrÜbungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen
Übungen if / else / else if... 2... 2 Aufgabe 2:... 2 Aufgabe 3:... 2 Aufgabe 4:... 2 Aufgabe 5:... 2 Aufgabe 6:... 2 Aufgabe 7:... 3 Aufgabe 8:... 3 Aufgabe 9:... 3 Aufgabe 10:... 3 switch... 4... 4 Aufgabe
MehrConstraint-Algorithmen in Kürze - Mit der Lösung zur Path-Consistency-Aufgabe 9
Constraint-Algorithmen in Kürze - Mit der Lösung zur Path-Consistency-Aufgabe 9 Prof. Dr. W. Conen Version 1.0c Januar 2009 Genereller Ablauf der Suche Gegeben: Variablen X, Domains D, Constraints R (explizit
Mehrt r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )
Definition B : Menge der binären Bäume, rekursiv definiert durch die Regeln: ist ein binärer Baum sind t l, t r binäre Bäume, so ist auch t =, t l, t r ein binärer Baum nur das, was durch die beiden vorigen
Mehr4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.
Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel
MehrFormale Systeme. Binary Decision Diagrams. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK
Formale Systeme Prof. Dr. Bernhard Beckert WS / KIT INSTITUT FÜR THEORETISCHE INFORMATIK KIT University of the State of Baden-Württemberg and National Large-scale Research Center of the Helmholtz Association
MehrLinearen Gleichungssysteme Anwendungsaufgaben
Linearen Gleichungssysteme Anwendungsaufgaben Lb S. 166 Nr.9 Im Jugendherbergsverzeichnis ist angegeben, dass in der Jugendherberge in Eulenburg 145 Jugendliche in 35 Zimmern übernachten können. Es gibt
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
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
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
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrBasis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.
Basis und Dimension Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren. Definition. Sei V ein K-Vektorraum und (v i ) i I eine Familie von Vektoren
MehrPrimzahlen und RSA-Verschlüsselung
Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also
MehrLernmaterial für die Fernuni Hagen effizient und prüfungsnah
Lernmaterial für die Fernuni Hagen effizient und prüfungsnah www.schema-f-hagen.de Sie erhalten hier einen Einblick in die Dokumente Aufgaben und Lösungen sowie Erläuterungen Beim Kauf erhalten Sie zudem
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
MehrWir gehen aus von euklidischen Anschauungsraum bzw. von der euklidischen Zeichenebene. Parallele Geraden schneiden einander nicht.
2 Ein wenig projektive Geometrie 2.1 Fernpunkte 2.1.1 Projektive Einführung von Fernpunkten Wir gehen aus von euklidischen Anschauungsraum bzw. von der euklidischen Zeichenebene. Parallele Geraden schneiden
MehrWürfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.
040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl
MehrDas Briefträgerproblem
Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................
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
Mehr3. LINEARE GLEICHUNGSSYSTEME
176 3. LINEARE GLEICHUNGSSYSTEME 90 Vitamin-C-Gehalt verschiedener Säfte 18,0 mg 35,0 mg 12,5 mg 1. a) 100 ml + 50 ml + 50 ml = 41,75 mg 100 ml 100 ml 100 ml b) : Menge an Kirschsaft in ml y: Menge an
Mehr50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte
50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien
MehrWS 2013/14. Diskrete Strukturen
WS 2013/14 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/ws1314
MehrAnalysis I für Studierende der Ingenieurwissenschaften
Fachbereich Mathematik der Universität Hamburg WiSe 2015/16 Prof. Dr. M. Hinze Dr. P. Kiani Analysis I für Studierende der Ingenieurwissenschaften Lösungshinweise zu Blatt 2 Aufgabe 1: (12 Punkte) a) Beweisen
MehrBeispiel 19. December 4, 2009
Beispiel 9 December 4, 2009 Computermathematik (für Informatik) 4. Übungsblatt (Musterlösung) 2. 2. 2009 Die heutigen Übungen sollen mit dem Computeralgebrasystem Sage gelöst werden. Die Lösung der Beispiele
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
Mehr15 Optimales Kodieren
15 Optimales Kodieren Es soll ein optimaler Kodierer C(T ) entworfen werden, welcher eine Information (z.b. Text T ) mit möglichst geringer Bitanzahl eindeutig überträgt. Die Anforderungen an den optimalen
MehrKapitel MK:IV. IV. Modellieren mit Constraints
Kapitel MK:IV IV. Modellieren mit Constraints Einführung und frühe Systeme Konsistenz I Binarization Generate-and-Test Backtracking-basierte Verfahren Konsistenz II Konsistenzanalyse Weitere Analyseverfahren
MehrEinführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte
MehrÜberblick. Lineares Suchen
Komplexität Was ist das? Die Komplexität eines Algorithmus sei hierbei die Abschätzung des Aufwandes seiner Realisierung bzw. Berechnung auf einem Computer. Sie wird daher auch rechnerische Komplexität
MehrSuche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche. Suche in Spielbäumen. KI SS2011: Suche in Spielbäumen 1/20
Suche in Spielbäumen Suche in Spielbäumen KI SS2011: Suche in Spielbäumen 1/20 Spiele in der KI Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche Einschränkung von Spielen auf: 2 Spieler:
MehrUnterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis
Unterrichtsmaterialien in digitaler und in gedruckter Form Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis Das komplette Material finden Sie hier: Download bei School-Scout.de
MehrDie Post hat eine Umfrage gemacht
Die Post hat eine Umfrage gemacht Bei der Umfrage ging es um das Thema: Inklusion Die Post hat Menschen mit Behinderung und Menschen ohne Behinderung gefragt: Wie zufrieden sie in dieser Gesellschaft sind.
MehrEinführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)
Wintersemester 2007/08 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl
MehrProgrammieren in C. Rekursive Funktionen. Prof. Dr. Nikolaus Wulff
Programmieren in C Rekursive Funktionen Prof. Dr. Nikolaus Wulff Rekursive Funktionen Jede C Funktion besitzt ihren eigenen lokalen Satz an Variablen. Dies bietet ganze neue Möglichkeiten Funktionen zu
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
MehrCodes und Informationsgehalt
Aufgaben 2 Codes und Informationsgehalt Auf wie viele Dezimalziffern genau können vorzeichenlose ganze Zahlen in einem binären Code der Länge 32 bit dargestellt werden? 2 Codes und Informationsgehalt Auf
MehrSudoku-Informatik oder wie man als Informatiker Logikrätsel löst
Sudoku-Informatik oder wie man als Informatiker Logikrätsel löst Peter Becker Hochschule Bonn-Rhein-Sieg Fachbereich Informatik peter.becker@h-brs.de Kurzvorlesung am Studieninformationstag, 13.05.2009
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);
Mehr1 topologisches Sortieren
Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung
MehrÜbung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse
Übung 03: Schleifen Abgabetermin: xx.xx.xxxx Name: Matrikelnummer: Gruppe: G1 (Prähofer) G2 (Prähofer) G3 (Wolfinger) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben elektronisch Aufgabe 03.1 12
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,
MehrProfessionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
Mehr7 Rechnen mit Polynomen
7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik
MehrWas meinen die Leute eigentlich mit: Grexit?
Was meinen die Leute eigentlich mit: Grexit? Grexit sind eigentlich 2 Wörter. 1. Griechenland 2. Exit Exit ist ein englisches Wort. Es bedeutet: Ausgang. Aber was haben diese 2 Sachen mit-einander zu tun?
MehrPraktische Mathematik: Lineare und Netzwerk-Optimierung (SS 2015) Praktikumsaufgaben
Technische Universität Kaiserslautern Prof Dr Sven O Krumke Dr Sabine Büttner MSc Marco Natale Praktische Mathematik: Lineare und Netzwerk-Optimierung (SS 2015) Praktikumsaufgaben Aufgabe 1 (Konvertieren
Mehra n + 2 1 auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert:
Beispiel: Wir untersuchen die rekursiv definierte Folge a 0 + auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert: ( ) (,, 7, 5,...) Wir können also vermuten, dass die Folge monoton fallend
MehrÜbungen für Woche 10
Übungen für Woche 10 Martin Rubey 12. Januar 2011 Die folgenden Übungen sollen den Umgang mit Backtracking und kombinatorischen Spezies näherbringen. Genaue Hinweise gibt es erst auf Seite 5. Zur Erinnerung:
MehrAlso kann nur A ist roter Südler und B ist grüner Nordler gelten.
Aufgabe 1.1: (4 Punkte) Der Planet Og wird von zwei verschiedenen Rassen bewohnt - dem grünen und dem roten Volk. Desweiteren sind die Leute, die auf der nördlichen Halbkugel geboren wurden von denen auf
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
MehrDer Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.
Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.
MehrKapitel 5: Dynamisches Programmieren Gliederung
Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen
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
MehrErfüllbarkeit und Allgemeingültigkeit
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.3 Aussagenlogik Erfüllbarkeit 44 Erfüllbarkeit und Allgemeingültigkeit Def.: eine Formel ϕ heißt erfüllbar, wennesein I gibt, so dass I = ϕ
MehrLineare Gleichungssysteme
Lineare Gleichungssysteme 1 Zwei Gleichungen mit zwei Unbekannten Es kommt häufig vor, dass man nicht mit einer Variablen alleine auskommt, um ein Problem zu lösen. Das folgende Beispiel soll dies verdeutlichen
MehrUnterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:
Unterrichtsmaterialien in digitaler und in gedruckter Form Auszug aus: If-clauses - conditional sentences - Nie mehr Probleme mit Satzbau im Englischen! Das komplette Material finden Sie hier: School-Scout.de
MehrÜbungsklausur. Bitte wählen Sie fünf Aufgaben aus! Aufgabe 1. Übungsklausur zu Mathematik I für BWL und VWL (WS 2008/09) PD Dr.
Übungsklausur zu Mathematik I für BWL und VWL (WS 2008/09) PD Dr. Gert Zöller Übungsklausur Hilfsmittel: Taschenrechner, Formblatt mit Formeln. Lösungswege sind stets anzugeben. Die alleinige Angabe eines
MehrI. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen.
I. Aussagenlogik 2.1 Syntax Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen. Sätze selbst sind entweder wahr oder falsch. Ansonsten
MehrZeichen bei Zahlen entschlüsseln
Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren
MehrOptimierung. Optimierung. Vorlesung 7 Lineare Programmierung II. 2013 Thomas Brox, Fabian Kuhn
Optimierung Vorlesung 7 Lineare Programmierung II 1 Lineare Programme Lineares Programm: Lineare Zielfunktion Lineare Nebenbedingungen (Gleichungen oder Ungleichungen) Spezialfall der konvexen Optimierung
MehrStellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster
Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.
MehrLineare Gleichungssysteme
Brückenkurs Mathematik TU Dresden 2015 Lineare Gleichungssysteme Schwerpunkte: Modellbildung geometrische Interpretation Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik auf der
MehrMusterlösungen zur Linearen Algebra II Blatt 5
Musterlösungen zur Linearen Algebra II Blatt 5 Aufgabe. Man betrachte die Matrix A := über dem Körper R und über dem Körper F und bestimme jeweils die Jordan- Normalform. Beweis. Das charakteristische
MehrAlignment-Verfahren zum Vergleich biologischer Sequenzen
zum Vergleich biologischer Sequenzen Hans-Joachim Böckenhauer Dennis Komm Volkshochschule Zürich. April Ein biologisches Problem Fragestellung Finde eine Methode zum Vergleich von DNA-Molekülen oder Proteinen
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
MehrRente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren Rentenperiode = Zeitabstand zwischen zwei Rentenzahlungen
1 3.2. entenrechnung Definition: ente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren entenperiode = Zeitabstand zwischen zwei entenzahlungen Finanzmathematisch sind
MehrAbschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1
B 1.0 B 1.1 L: Wir wissen von, dass sie den Scheitel hat und durch den Punkt läuft. Was nichts bringt, ist beide Punkte in die allgemeine Parabelgleichung einzusetzen und das Gleichungssystem zu lösen,
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
MehrBinäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen
Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders
Mehr3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1
3.2 Binäre Suche Beispiel 6.5.1: Intervallschachtelung (oder binäre Suche) (Hier ist n die Anzahl der Elemente im Feld!) Ein Feld A: array (1..n) of Integer sei gegeben. Das Feld sei sortiert, d.h.: A(i)
MehrInformationsblatt Induktionsbeweis
Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln
MehrZahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009)
Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009) Probleme unseres Alltags E-Mails lesen: Niemand außer mir soll meine Mails lesen! Geld abheben mit der EC-Karte: Niemand außer mir soll
MehrAbsolute Stetigkeit von Maßen
Absolute Stetigkeit von Maßen Definition. Seien µ und ν Maße auf (X, Ω). Dann heißt ν absolut stetig bezüglich µ (kurz ν µ ), wenn für alle A Ω mit µ(a) = 0 auch gilt dass ν(a) = 0. Lemma. Sei ν ein endliches
MehrEine Logikschaltung zur Addition zweier Zahlen
Eine Logikschaltung zur Addition zweier Zahlen Grundlegender Ansatz für die Umsetzung arithmetischer Operationen als elektronische Schaltung ist die Darstellung von Zahlen im Binärsystem. Eine Logikschaltung
MehrLernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.
6. Bäume Lernziele 6. Bäume Lernziele: Definition und Eigenschaften binärer Bäume kennen, Traversierungsalgorithmen für binäre Bäume implementieren können, die Bedeutung von Suchbäumen für die effiziente
MehrWollen Sie einen mühelosen Direkteinstieg zum Online Shop der ÖAG? Sie sind nur einen Klick davon entfernt!
Wollen Sie einen mühelosen Direkteinstieg zum Online Shop der ÖAG? Sie sind nur einen Klick davon entfernt! Sehr geehrte(r) Geschäftspartner(in), Um Ihre Transaktionen schneller durchzuführen, bieten wir
MehrQuantilsschätzung als Werkzeug zur VaR-Berechnung
Quantilsschätzung als Werkzeug zur VaR-Berechnung Ralf Lister, Aktuar, lister@actuarial-files.com Zusammenfassung: Zwei Fälle werden betrachtet und die jeweiligen VaR-Werte errechnet. Im ersten Fall wird
MehrKonzepte der Informatik
Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens
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,
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:
MehrEinfache Ausdrücke Datentypen Rekursive funktionale Sprache Franz Wotawa Institut für Softwaretechnologie wotawa@ist.tugraz.at
Inhalt SWP Funktionale Programme (2. Teil) Einfache Ausdrücke Datentypen Rekursive funktionale Sprache Franz Wotawa Institut für Softwaretechnologie wotawa@ist.tugraz.at Interpreter für funktionale Sprache
MehrKünstliches binäres Neuron
Künstliches binäres Neuron G.Döben-Henisch Fachbereich Informatik und Ingenieurwissenschaften FH Frankfurt am Main University of Applied Sciences D-60318 Frankfurt am Main Germany Email: doeben at fb2.fh-frankfurt.de
MehrUnterrichtsformalitäten für Mathematik, 3. Klasse
Unterrichtsformalitäten für Mathematik, 3. Klasse Material: Eine Mappe, die aber auch für andere Fächer benutzt werden darf. In dieser Mappemachst Du Notizen undhü, aber so, dass Du jedezeit diehü abgeben
Mehr8. Quadratische Reste. Reziprozitätsgesetz
O Forster: Prizahlen 8 Quadratische Reste Rezirozitätsgesetz 81 Definition Sei eine natürliche Zahl 2 Eine ganze Zahl a heißt uadratischer Rest odulo (Abkürzung QR, falls die Kongruenz x 2 a od eine Lösung
MehrMathematischer Vorbereitungskurs für Ökonomen
Mathematischer Vorbereitungskurs für Ökonomen Dr. Thomas Zehrt Wirtschaftswissenschaftliches Zentrum Universität Basel Gleichungen Inhalt: 1. Grundlegendes 2. Lineare Gleichungen 3. Gleichungen mit Brüchen
MehrGleichungen Lösen. Ein graphischer Blick auf Gleichungen
Gleichungen Lösen Was bedeutet es, eine Gleichung zu lösen? Was ist überhaupt eine Gleichung? Eine Gleichung ist, grundsätzlich eine Aussage über zwei mathematische Terme, dass sie gleich sind. Ein Term
Mehr3. Grundlagen der Linearen Programmierung
3. Grundlagen der linearen Programmierung Inhalt 3. Grundlagen der Linearen Programmierung Lineares Programm Grafische Lösung linearer Programme Normalform Geometrie linearer Programme Basislösungen Operations
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
MehrWelches Problem denn? Das Heiratsproblem. Formale Beschreibung. Paarungen
Das Heiratsproblem Welches Problem denn? Eine Heirat: ein Problem. Mehrere Heiraten: mehrere Probleme. Viele Heiraten: viele Probleme? Martin Schönhacker (P.S.: Heiraten muss kein Problem sein!) 1 2 Formale
MehrInformatik 2 Labor 2 Programmieren in MATLAB Georg Richter
Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter Aufgabe 3: Konto Um Geldbeträge korrekt zu verwalten, sind zwecks Vermeidung von Rundungsfehlern entweder alle Beträge in Cents umzuwandeln und
MehrTypdeklarationen. Es gibt in Haskell bereits primitive Typen:
Typdeklarationen Es gibt in bereits primitive Typen: Integer: ganze Zahlen, z.b. 1289736781236 Int: ganze Zahlen mit Computerarithmetik, z.b. 123 Double: Fließkommazahlen, z.b. 3.14159 String: Zeichenketten,
MehrKapitalerhöhung - Verbuchung
Kapitalerhöhung - Verbuchung Beschreibung Eine Kapitalerhöhung ist eine Erhöhung des Aktienkapitals einer Aktiengesellschaft durch Emission von en Aktien. Es gibt unterschiedliche Formen von Kapitalerhöhung.
MehrNumerische Verfahren und Grundlagen der Analysis
Numerische Verfahren und Grundlagen der Analysis Rasa Steuding Hochschule RheinMain Wiesbaden Wintersemester 2011/12 R. Steuding (HS-RM) NumAna Wintersemester 2011/12 1 / 16 4. Groß-O R. Steuding (HS-RM)
MehrKosten-Leistungsrechnung Rechenweg Optimales Produktionsprogramm
Um was geht es? Gegeben sei ein Produktionsprogramm mit beispielsweise 5 Aufträgen, die nacheinander auf vier unterschiedlichen Maschinen durchgeführt werden sollen: Auftrag 1 Auftrag 2 Auftrag 3 Auftrag
MehrDer Zwei-Quadrate-Satz von Fermat
Der Zwei-Quadrate-Satz von Fermat Proseminar: Das BUCH der Beweise Fridtjof Schulte Steinberg Institut für Informatik Humboldt-Universität zu Berlin 29.November 2012 1 / 20 Allgemeines Pierre de Fermat
MehrSimplex-Umformung für Dummies
Simplex-Umformung für Dummies Enthält die Zielfunktion einen negativen Koeffizienten? NEIN Optimale Lösung bereits gefunden JA Finde die Optimale Lösung mit dem Simplex-Verfahren! Wähle die Spalte mit
MehrAVL-Bäume Analyse. Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl:
AVL-Bäume Analyse (Folie 85, Seite 39 im Skript) Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl: 0 falls n = 0 F n = 1 falls
MehrProgrammierung für Mathematik (HS13)
software evolution & architecture lab Programmierung für Mathematik (HS13) Übung 5 1 Aufgabe: Eclipse IDE 1.1 Lernziele 1. Die Entwicklungsumgebung Eclipse einrichten. 2. Eclipse kennen lernen und mit
Mehr4. Woche Decodierung; Maximale, Perfekte und Optimale Codes. 4. Woche: Decodierung; Maximale, Perfekte und Optimale Codes 69/ 140
4 Woche Decodierung; Maximale, Perfekte und Optimale Codes 4 Woche: Decodierung; Maximale, Perfekte und Optimale Codes 69/ 140 Szenario für fehlerkorrigierende Codes Definition (n, M)-Code Sei C {0, 1}
Mehr