Präsentation BDDs Binary Decision Diagrams
|
|
- Annegret Walter
- vor 6 Jahren
- Abrufe
Transkript
1 Präsentation Binary Decision Diagrams Günther Eder Andreas Weichhart / 19
2 Überblick 1/2 Überblick Boolean Expressions Nachteil KNF/DNF Shannon Expansion INF Boolean Expressions 3. Nachteil KNF/DNF 4. Shannon Expansion 5. INF 6. Definition 2 / 19
3 Überblick 2/2 Überblick Boolean Expressions Nachteil KNF/DNF Shannon Expansion INF 7. O & RO 8. Konstruktion 9. Vorteile 10. Komplexität 11. Implementierung 12. Anwendung 13. Zusammenfassung 3 / 19
4 Überblick Boolean Expressions Nachteil KNF/DNF Shannon Expansion INF Was sind? Datenstruktur zur Repräsentation von Boolschen Funktionen Shannon Expansion 4 / 19
5 Überblick Boolean Expressions Nachteil KNF/DNF Shannon Expansion INF Was sind? Datenstruktur zur Repräsentation von Boolschen Funktionen Shannon Expansion Wann entstanden sie? C.Y. Lee (1959) Shaldon B. Akers (1978) Randal Bryant (1986) 4 / 19
6 Boolean Expressions Überblick Boolean Expressions Nachteil KNF/DNF Shannon Expansion INF Kurze Wiederholung Variable 1, 0 Operatoren,,,, Boolean Expression t := x 0 1 t t t t t t t t t 5 / 19
7 Boolean Expressions Überblick Boolean Expressions Nachteil KNF/DNF Shannon Expansion INF Kurze Wiederholung Variable 1, 0 Operatoren,,,, Boolean Expression t := x 0 1 t t t t t t t t t / 19
8 Boolean Expressions Überblick Boolean Expressions Nachteil KNF/DNF Shannon Expansion INF Kurze Wiederholung Variable 1, 0 Operatoren,,,, Boolean Expression t := x 0 1 t t t t t t t t t Beispiel x 1 x 2 x 3 x 4 = ((( x 1 ) x 2 ) x 3 ) x 4 5 / 19
9 Nachteil KNF / DNF Überblick Boolean Expressions Nachteil KNF/DNF Shannon Expansion INF 6 / 19
10 Nachteil KNF / DNF Überblick Boolean Expressions Nachteil KNF/DNF Shannon Expansion INF KNF (x 1 0 x 1 1 ) (x 2 0 x 2 1 )... (x n 0 x n 1 ) 6 / 19
11 Nachteil KNF / DNF Überblick Boolean Expressions Nachteil KNF/DNF Shannon Expansion INF KNF (x 1 0 x 1 1 ) (x 2 0 x 2 1 )... (x n 0 x n 1 ) Umformung in DNF (x0 1 x 0 2 n 1... x0 x0 n) (x0 1 x 0 2 n 1... x0 x1 n). (x1 1 x 1 2 n 1... x1 x0 n) (x1 1 x 1 2 n 1... x1 x1 n) KNF proportional zu n DNF jedoch n2 n 6 / 19
12 Shannon Expansion Überblick Boolean Expressions Nachteil KNF/DNF Shannon Expansion INF Idee Zerlegung Boolscher Funktionen in Summe zweier Teilfunktionen. F = x F x + x F x 7 / 19
13 Shannon Expansion Überblick Boolean Expressions Nachteil KNF/DNF Shannon Expansion INF Idee Zerlegung Boolscher Funktionen in Summe zweier Teilfunktionen. F = x F x + x F x Beispiel: f = xyz + xy z + x y z + x yz + x y z umschreiben: f = x g x + x g x expandieren: f = x (y z + yz + y z ) + x(yz + y z) 7 / 19
14 INF - If then else normal form Überblick Boolean Expressions Nachteil KNF/DNF Shannon Expansion INF Definition x y 0, y 1 = (x y 0 ) ( x y 1 ) 8 / 19
15 INF - If then else normal form Überblick Boolean Expressions Nachteil KNF/DNF Shannon Expansion INF Definition x y 0, y 1 = (x y 0 ) ( x y 1 ) Beispiel x = (x 0, 1) x y = x (y 1, 0), (y 0, 1) 8 / 19
16 INF - If then else normal form Überblick Boolean Expressions Nachteil KNF/DNF Shannon Expansion INF Definition x y 0, y 1 = (x y 0 ) ( x y 1 ) Beispiel x = (x 0, 1) x y = x (y 1, 0), (y 0, 1) Jede Boolean Expression hat äquivalente INF oder ITE If Then Else: ITE(F, G, H) = F G + F H 8 / 19
17 Definition Definition O & RO Konstruktion Vorteile Komplexität Implementierung Anwendung BDD ist Graph mit den Eigenschaften Wurzelgraph gerichtet azyklisch 9 / 19
18 Definition Definition O & RO Konstruktion Vorteile Komplexität Implementierung Anwendung BDD ist Graph mit den Eigenschaften Wurzelgraph gerichtet azyklisch Definition BDD Ein oder zwei Terminal Nodes mit Ausgangsgrad 0. Eine Menge von Nodes mit Ausgangsgrad 2. Die Ausgangskanten sind gegeben durch zwei Funktionen low(u) und high(u). Eine Variable var(u) verknüpft mit jedem Knoten. 9 / 19
19 O & RO Definition O & RO Konstruktion Vorteile Komplexität Implementierung Anwendung OBDD - Ordered BDD alle Variablen respektieren Ordnungsrelation. x 1 < x 2 <... < x n 10 / 19
20 O & RO Definition O & RO Konstruktion Vorteile Komplexität Implementierung Anwendung OBDD - Ordered BDD alle Variablen respektieren Ordnungsrelation. x 1 < x 2 <... < x n ROBDD - Reduced Ordered BDD Eindeutigkeit var(u) = var(v), low(u) = low(v), high(u) = high(v) u = v ohne Redundanz low(u) high(u) 10 / 19
21 Konstruktion v. Wahrheitstabelle Definition O & RO Konstruktion Vorteile Komplexität Implementierung Anwendung 1. Boolsche Funktion umwandeln Boolsche Funktion Wahrheitstabelle a (a b) a (a b) / 19
22 Konstruktion v. Wahrheitstabelle Definition O & RO Konstruktion Vorteile Komplexität Implementierung Anwendung 1. Boolsche Funktion umwandeln Boolsche Funktion Wahrheitstabelle a (a b) a (a b) Isomorphe Teilbäume umformen u. redundante Knoten entfernen decision tree isomorph BDD 11 / 19
23 Konstruktion v. Wahrheitstabelle Definition O & RO Konstruktion Vorteile Komplexität Implementierung Anwendung 1. Boolsche Funktion umwandeln Boolsche Funktion Wahrheitstabelle a (a b) a (a b) Isomorphe Teilbäume umformen u. redundante Knoten entfernen decision tree isomorph BDD 11 / 19
24 Konstruktion v. Wahrheitstabelle Definition O & RO Konstruktion Vorteile Komplexität Implementierung Anwendung 1. Boolsche Funktion umwandeln Boolsche Funktion Wahrheitstabelle a (a b) a (a b) Isomorphe Teilbäume umformen u. redundante Knoten entfernen decision tree isomorph BDD 11 / 19
25 Vorteile von Definition O & RO Konstruktion Vorteile Komplexität Implementierung Anwendung einfache Evaluierung lexikographisch kleinsten/größten Wert der die Gleichung erfüllt Lösungen zählen Liste aller Lösungen in O(nN) Wahrscheinlichkeit für Lösung 12 / 19
26 Komplexität Definition O & RO Konstruktion Vorteile Komplexität Implementierung Anwendung Implementierungen Zeitkomplexität Reduce O( G log G ) G, G 1, G 2...Graphen Apply O( G 1 G 2 ) G...Anzahl d. Knoten Restrict O( G log G ) S f...anzahl der Compose O( G 1 2 G 2 ) Erfüllbaren Fkt. Satisfy-one O(n) Satisfy-all O(n S f ) Satisfy-count O( G ) 13 / 19
27 Komplexität Definition O & RO Konstruktion Vorteile Komplexität Implementierung Anwendung Implementierungen Zeitkomplexität Reduce O( G log G ) G, G 1, G 2...Graphen Apply O( G 1 G 2 ) G...Anzahl d. Knoten Restrict O( G log G ) S f...anzahl der Compose O( G 1 2 G 2 ) Erfüllbaren Fkt. Satisfy-one O(n) Satisfy-all O(n S f ) Satisfy-count O( G ) Worst Case Maximal Komplexität (Wahrheitstabelle) O(2 2n ) z.b. integer Multiplizierer Im Schnitt lineare Komplexität 13 / 19
28 Implementierung Definition O & RO Konstruktion Vorteile Komplexität Implementierung Anwendung Grundlegendes Design Node Pointers Node Indices 14 / 19
29 Implementierung Definition O & RO Konstruktion Vorteile Komplexität Implementierung Anwendung Grundlegendes Design Node Pointers Node Indices BF vs. DF 14 / 19
30 Implementierung Definition O & RO Konstruktion Vorteile Komplexität Implementierung Anwendung Grundlegendes Design Node Pointers Node Indices BF vs. DF unique Tables Abbildung von Node auf Tripel F = (v, G, H) hash Tabelle garantiert Eindeutigkeit exakte Performance Benchmarks 14 / 19
31 Anwendung Definition O & RO Konstruktion Vorteile Komplexität Implementierung Anwendung Anwendungsgebiete Formelüberprüfung auf Äquivalenz Modellüberprüfung pipelined microprocessors werden geprüft automatische Testfallgeneration routen/optimieren von FPGAs konkrete Anwendung MS SLAM Project. entwickelt ca / 19
32 Zusammenfassung Quellenangaben Fragen? Zusammenfassung DNF, KNF und INF/ITE if-then-else Normal Form effiziente Datenstruktur für Boolsche Funktionen Implementierung z.b. unique Table Anwendung z.b. Formelüberprüfung auf Äquivalenz 16 / 19
33 Zusammenfassung Quellenangaben Fragen? Quellenangaben Rudolf Mühlbauer Binary Decision Diagrams Implementation Details Institute for Formal Models and Verification, Linz, Mai Sheldon B. Akers Binary Decision Diagrams IEEE Transactions on Computers, 27(6): , Randal E. Bryant Graph-Based Algorithms for Boolean Function Manipulation IEEE Transactions on Computers, 35: , Henrik Reif Andersen An Introduction to Binary Decision Diagrams Course Notes on the WWW, Diese Präsentation ist auf zu finden. 17 / 19
34 Zusammenfassung Quellenangaben Fragen? Fragen? Fragen zum Thema können sie jetzt stellen! 18 / 19
35 Zusammenfassung Quellenangaben Fragen? Ende Vielen Dank für Ihre Aufmerksamkeit! 19 / 19
Binärer Entscheidungsbaum. für Boole sche Funktionen. (binary decision tree: BDT) Kapitel 4: Binäre Entscheidungsdiagramme
Kapitel 4: Binäre Entscheidungsdiagramme (BDDs) BDDs (binary decision diagrams) wurden aus binären Entscheidungsbäumen für boole sche Funktionen entwickelt. Binärer Entscheidungsbaum (binary decision tree:
MehrBinary Decision Diagrams (Einführung)
Binary Decision Diagrams (Einführung) Binary Decision Diagrams (BDDs) sind bestimmte Graphen, die als Datenstruktur für die kompakte Darstellung von booleschen Funktionen benutzt werden. BDDs wurden von
MehrVorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz
Vorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz Datenstruktur BDD 1986 von R. Bryant vorgeschlagen zur Darstellung von aussagenlogischen Formeln (genauer: Booleschen Funktionen)
MehrBinary Decision Diagrams (BDDs) 1
Handout 22.11.2011 Binary Decision Diagrams (BDDs) 1 Übersicht Es gibt viele verschiedene Möglichkeiten um Boole sche Funktionen zu repräsentieren (Boole sche Formeln, Minterme, Wahrheitstabellen, ). Manche
Mehr4. OBDDs und Modellüberprüfung
4. OBDDs und Modellüberprüfung OBDD Ordered Binary Decision Diagrams Geordnete binäre Entscheidungsdiagramme Binäres Entscheidungsdiagramm: in der einfachsten Form ein binärer Entscheidungsbaum, in dem
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
MehrNicht-Kanonizität von AIGs Systemtheorie 1 Formale Systeme 1 # WS 2006/2007 Armin Biere JKU Linz Revision: 1.6
Nicht-Kanonizität von AIGs BDDs Binar Decision Diagrams BDDs 2 neue dreistellige Basis-Operation ITE (i-then-else): Bedingung ist immer eine Variable ( ) ( ) gehen zurück au Shannon (deshalb auch Shannon-Graphs)
MehrWas bisher geschah Wissensrepräsentation und -verarbeitung in Zustandsübergangssystemen Constraint-Systemen Logiken Repräsentation von Mengen
Was bisher geschah Wissensrepräsentation und -verarbeitung in Zustandsübergangssystemen Constraint-Systemen Logiken Repräsentation von Mengen aussagenlogischer Regeln: Wissensbasis (Kontextwissen): Formelmenge,
MehrAlgorithmen für OBDD s. 1. Reduziere 2. Boole sche Operationen
Algorithmen für OBDD s 1. Reduziere 2. Boole sche Operationen 1 1. Reduziere siehe auch M.Huth und M.Ryan: Logic in Computer Science - Modelling and Reasoning about Systems, Cambridge Univ.Press, 2000
MehrEnergieeffiziente adiabatische Multiplizierer
Energieeffiziente adiabatische Multiplizierer Etienne Kleine FSU Jena 14. Dezember 2009 1 / 28 Zu Beginn : ein Vergleich CMOS adiabatisches vorgestelltes MAC MAC Design Gesamtverluste (pj) 17,6 1,57 0,73
MehrUwe Bubeck: Binary Decision Diagrams 2
Uwe Bubeck: Binary Decision Diagrams 2 Uwe Bubeck: Binary Decision Diagrams 4 Uwe Bubeck: Binary Decision Diagrams 5 Uwe Bubeck: Binary Decision Diagrams 6 Uwe Bubeck: Binary Decision Diagrams 7 Uwe Bubeck:
MehrQualitätssicherung von Software
Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST Folie 2 Inhaltsplanung (20.10.) 1. Einleitung, Begriffe, Software-Qualitätskriterien 2.
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 11 (4.6.2014) Binäre Suchbäume II Algorithmen und Komplexität Binäre Suchbäume Binäre Suchbäume müssen nicht immer so schön symmetrisch sein
MehrÜbung 4: Aussagenlogik II
Übung 4: Aussagenlogik II Diskrete Strukturen im Wintersemester 2013/2014 Markus Kaiser 8. Januar 2014 1/10 Äquivalenzregeln Identität F true F Dominanz F true true Idempotenz F F F Doppelte Negation F
MehrPraktikum 3 Algorithmik SS Aufgabe 10: Aufgabe 9 ( Skyline-Problem ) weitere Aufgaben folgen. Name:... Matr-Nr:...
Praktikum 3 Algorithmik SS 2007 14052007 Aufgabe 9: Aufgabe 10: Das Skyline-Problem Union-Find-Strukturen weitere Aufgaben folgen Name: Matr-Nr: Datum: Unterschrift des Dozenten (wenn bestanden): Aufgabe
MehrProgrammierung und Modellierung
Programmierung und Modellierung Terme, Suchbäume und Pattern Matching Martin Wirsing in Zusammenarbeit mit Moritz Hammer SS 2009 2 Inhalt Kap. 7 Benutzerdefinierte Datentypen 7. Binärer Suchbaum 8. Anwendung:
MehrÜber die Komplexität der Multiplikation in eingeschränkten Branchingprogrammmodellen
Über die Komplexität der Multiplikation in eingeschränkten Branchingprogrammmodellen Philipp Wölfel Universität Dortmund, Lehrstuhl Informatik 2 philipp.woelfel@cs.uni-dortmund.de Wie schwer ist es zu
MehrAgenda. 1 Einleitung. 2 Binäre Bäume. 3 Binäre Suchbäume. 4 Rose Trees. 5 Zusammenfassung & Ausblick. Haskell Bäume. Einleitung.
Vortrag: Bäume in Haskell Bäume in Haskell Vortrag Christoph Forster Thomas Kresalek Fachhochschule Wedel University of Applied Sciences 27. November 2009 Christoph Forster, Thomas Kresalek 1/53 Vortrag
MehrBäume, Suchbäume und Hash-Tabellen
Im folgenden Fokus auf Datenstrukturen, welche den assoziativen Zugriff (über einen bestimmten Wert als Suchkriterium) optimieren Bäume: Abbildung bzw. Vorberechnung von Entscheidungen während der Suche
MehrVorlesung Informatik 2 Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (12 Hashverfahren: Verkettung der Überläufer) Prof. Dr. Susanne Albers Möglichkeiten der Kollisionsbehandlung Kollisionsbehandlung: Die Behandlung
MehrVorlesung Informatik 2 Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (18 Bäume: Grundlagen und natürliche Suchbäume) Prof. Dr. Susanne Albers Bäume (1) Bäume sind verallgemeinerte Listen (jedes Knoten-Element kann mehr
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 10 (3.6.2014) Binäre Suchbäume I Algorithmen und Komplexität Zusätzliche Dictionary Operationen Dictionary: Zusätzliche mögliche Operationen:
MehrLogik für Informatiker
Logik für Informatiker 2. Aussagenlogik Teil 6 14.05.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Syntax der Aussagenlogik: Definition der Menge
MehrGrundlagen der Informatik
1 Vorlesung Grundlagen der Informatik Dr. Frank Sausen Skript und Folien: Prof. Dr. Wolfgang Ertel 6. Oktober 2008 Hochschule Ravensburg Weingarten Technik Wirtschaft Sozialwesen c W. Ertel 2 Inhaltsverzeichnis
MehrVorkurs Mathematik für Informatiker. 1 Potenzen. Michael Bader, Thomas Huckle, Stefan Zimmer Oktober Kap.
1 Potenzen Michael Bader, Thomas Huckle, Stefan Zimmer 1. 9. Oktober 2008 Kap. 1: Potenzen 1 Potenzen Definition Für reelle Zahl x R (Basis) und eine natürliche Zahl n N (Exponent): x n := x x x... x }{{}
MehrKlausur Theoretische Informatik I WS 2004/2005
Technische Universität Chemnitz Chemnitz, den 22.02.2005 Fakultät für Informatik Prof. Dr. Andreas Goerdt Klausur Theoretische Informatik I WS 2004/2005 Studiengang Mechatronik Aufgabe 1 (2+2+2 Punkte)
MehrGraphentheorie 1. Diskrete Strukturen. Sommersemester Uta Priss ZeLL, Ostfalia. Hausaufgaben Graph-Äquivalenz SetlX
Graphentheorie 1 Diskrete Strukturen Uta Priss ZeLL, Ostfalia Sommersemester 2016 Diskrete Strukturen Graphentheorie 1 Slide 1/19 Agenda Hausaufgaben Graph-Äquivalenz SetlX Diskrete Strukturen Graphentheorie
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
MehrRechnerstrukturen. Michael Engel und Peter Marwedel WS 2013/14. TU Dortmund, Fakultät für Informatik
Rechnerstrukturen Michael Engel und Peter Marwedel TU Dortmund, Fakultät für Informatik WS 2013/14 Folien a. d. Basis von Materialien von Gernot Fink und Thomas Jansen 21. Oktober 2013 1/33 1 Boolesche
MehrKombinatorische Optimierung
Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 4 Programm des
MehrPlanen als Model Checking
Otto-Friedrich-Universität Bamberg Lehrstuhl Angewandte Informatik Kognitive Systeme Seminararbeit Planen als Model Checking Svetlana Balinova Januar 2007 Inhaltsverzeichnis 1 Einführung 1 2 Explicit Model
MehrSymbolische Repräsentation von Bedienungsanleitungen für Services
Symbolische Repräsentation von Bedienungsanleitungen für Services Kathrin Kaschner 1, Peter Massuthe 2 und Karsten Wolf 1 1 Universität Rostock, Institut für Informatik, 18051 Rostock, Germany {kathrin.kaschner,
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 13 (18.6.2014) Binäre Suchbäume IV (Rot Schwarz Bäume) Algorithmen und Komplexität Rot Schwarz Bäume Ziel: Binäre Suchbäume, welche immer
MehrProseminar Online Algorithmen, Prof. Dr. Rolf Klein
Proseminar Online Algorithmen, Prof. Dr. Rolf Klein Vortrag von Michael Daumen am 13.12.2000 Thema : Minimum Spanning Tree und 2-Approximation der TSP-Tour Inhalt des Vortrags : 1. genaue Vorstellung des
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
MehrZweizusammenhang und starker Zusammenhang
.. Zeizusammenhang und starker Zusammenhang Carsten Gutenger Vorlesung Algorithmen und Datenstrukturen WS /. Januar Zeizusammenhang Betrachte ein Netzerk (Graph) Z.B. Computernetzerk, Flug- oder Schienennetzerk
MehrDatenstrukturen und Algorithmen
Datenstrukturen und Algorithmen VO 708.031 Bäume robert.legenstein@igi.tugraz.at 1 Inhalt der Vorlesung 1. Motivation, Einführung, Grundlagen 2. Algorithmische Grundprinzipien 3. Sortierverfahren 4. Halden
MehrAlgorithmen und Datenstrukturen (für ET/IT) Wiederholung: Ziele der Vorlesung. Wintersemester 2012/13. Dr. Tobias Lasser
Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 2012/13 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Wiederholung: Ziele der Vorlesung Wissen: Algorithmische
MehrGrundlagen der Künstlichen Intelligenz
Grundlagen der Künstlichen Intelligenz 6. Klassische Suche: Datenstrukturen für Suchalgorithmen Malte Helmert Universität Basel 7. März 2014 Klassische Suche: Überblick Kapitelüberblick klassische Suche:
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)
MehrDefinition 15 Rot-Schwarz-Bäume sind externe Binärbäume (jeder Knoten hat 0 oder 2 Kinder) mit roten und schwarzen Kanten, so dass gilt:
2.2 Rot-Schwarz-Bäume Definition 15 Rot-Schwarz-Bäume sind externe Binäräume (jeder Knoten hat 0 oder 2 Kinder) mit roten und schwarzen Kanten, so dass gilt: 1 alle Blätter hängen an schwarzen Kanten (durchgezogene
MehrM. Pester 29. Ein konvexes d-polytop ist eine begrenzte d-dimensionale polyedrale Menge. (d = 3 Polyeder, d = 2 Polygon)
M. Pester 29 6 Konvexe Hülle 6.1 Begriffe Per Definition ist die konvexe Hülle für eine Menge S von lich vielen Punkten die kleinste konvexe Menge, die S enthölt (z.b. in der Ebene durch ein umspannes
MehrAlgorithmen und Datenstrukturen Suchbaum
Algorithmen und Datenstrukturen Suchbaum Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Motivation Datenstruktur zur Repräsentation dynamischer Mengen
Mehr14. Rot-Schwarz-Bäume
Bislang: Wörterbuchoperationen bei binären Suchbäume effizient durchführbar, falls Höhe des Baums klein. Rot-Schwarz-Bäume spezielle Suchbäume. Rot-Schwarz-Baum mit n Knoten hat Höhe höchstens 2 log(n+1).
MehrWarum Programme Verträge schließen sollten
1 Warum Programme Verträge schließen sollten RALF HINZE Institut für Informatik, Lehrstuhl Softwaretechnik, Universität Freiburg Georges-Köhler-Allee, Gebäude 079, 79110 Freiburg i. Br. Email: ralf@informatik.uni-bonn.de
Mehr13. Bäume: effektives Suchen und Sortieren
Schwerpunkte Aufgabe und Vorteile von Bäumen 13. Bäume: effektives Suchen und Sortieren Java-Beispiele: Baum.java Traverse.java TraverseTest.java Sortieren mit Bäumen Ausgabealgorithmen: - Preorder - Postorder
MehrAussagenlogik. Aussagenlogik. Syntax Semantik Formeln, Modelle, Tautologien und Anwendungen Folgerungen, Wissen Bernd Baumgarten
Aussagenlogik 86 Syntax Semantik Formeln, Modelle, Tautologien und Anwendungen Folgerungen, Wissen Folgerungen (1) 87 ϕ folgt aus (ist Folgerung aus) Formelmenge M bzw. M = ϕ : Jedes für ϕ ausreichende
Mehr6 Baumstrukturen. Formale Grundlagen der Informatik I Herbstsemester 2012. Robert Marti
6 Baumstrukturen Formale Grundlagen der Informatik I Herbstsemester 2012 Robert Marti Vorlesung teilweise basierend auf Unterlagen von Prof. emer. Helmut Schauer Beispiel: Hierarchisches File System 2
MehrCustomization (Zuschneiden)
Customization (Zuschneiden) Anpassen der (Graph)Datenstruktur an die Anwendung. I Ziel: schnell, kompakt. I benutze Entwurfsprinzip: make the common case fast I Listen vermeiden Mögliches Problem: Software-Engineering-Alptraum
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen
MehrÜbersicht. Datenstrukturen und Algorithmen Vorlesung 5: Rekursionsgleichungen (K4) Übersicht. Binäre Suche. Joost-Pieter Katoen. 20.
Übersicht Datenstrukturen und Algorithmen Vorlesung 5: (K4) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://www-i2.informatik.rwth-aachen.de/i2/dsal12/ 20.
MehrErsetzbarkeitstheorem
Ersetzbarkeitstheorem Die Abgeschlossenheit läßt sich auch folgendermaßen formulieren: Ersetzbarkeitstheorem Seien F und G Formeln mit F G. SeienH und H Formeln, so daß H aus H hervorgeht, indem ein Vorkommen
MehrAbschnitt 18: Effizientes Suchen in Mengen
Abschnitt 18: Effizientes Suchen in Mengen 18. Effizientes Suchen in Mengen 18.1 Vollständig ausgeglichene binäre Suchbäume 18.2 AVL-Bäume 18.3 Operationen auf AVL-Bäumen 18.4 Zusammenfassung 18 Effizientes
MehrSOMA Reverse Engineering
SOMA Reverse Engineering Univ.Prof. Dr. Franz Wotawa Institut für Softwaretechnologie wotawa@ist.tugraz.at Inhalt Was versteht man unter Reverse Engineering? Techniken/Methoden Probleme VU Software Maintenance
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens aw@awilkens.com Überblick Grundlagen Definitionen Elementare Datenstrukturen Rekursionen Bäume 2 1 Datenstruktur Baum Definition eines Baumes
MehrGrundlagen der Programmierung 2. Bäume
Grundlagen der Programmierung 2 Bäume Prof. Dr. Manfred Schmidt-Schauÿ Künstliche Intelligenz und Softwaretechnologie 24. Mai 2006 Graphen Graph: Menge von Knoten undzugehörige (gerichtete oder ungerichtete)
MehrVorlesung Informatik 2 Algorithmen und Datenstrukturen. (20 Graphen) T. Lauer
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (20 Graphen) T. Lauer 1 Motivation Wie komme ich am besten von Freiburg nach Ulm? Was ist die kürzeste Rundreise durch eine gegebene Menge von Städten?
MehrDatenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 14
Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik 2. April
MehrGraphen und Bäume. A.1 Graphen
Algorithmen und Datenstrukturen 96 A Graphen und Bäume A.1 Graphen Ein gerichteter Graph (auch Digraph) G ist ein Paar (V, E), wobei V eine endliche Menge und E eine Relation auf V ist, d.h. E V V. V heißt
MehrKapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete
Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:
MehrAlgorithmen und Datenstrukturen Balancierte Suchbäume
Algorithmen und Datenstrukturen Balancierte Suchbäume Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Überblick Einführung Einfügen und Löschen Einfügen
MehrSyntax der Aussagenlogik. Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen. Formel als Syntaxbaum. Teilformel A 3 A 1 A 4
Syntax der Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen Barbara König Übungsleitung: Christoph Blume Eine atomare Formel hat die Form A i (wobei i = 1, 2, 3,...). Definition (Formel)
Mehrmonika.heiner@informatik.tu-cottbus.de SS 2013 1.4-1 / 16 schrittweise Verfeinerung -> Wirth, 1971, Programm Development by Stepwise Refinement
IMPLEMENTIERUNGSSTRATEGIE bis jetzt: Programmstruktur für Programmieren im Kleinen jetzt: Programmstruktur für Programmieren im Großen zunächst allgemein, d. h. sprachunabhängig monika.heiner@informatik.tu-cottbus.de
MehrKlausur Algorithmen und Datenstrukturen II 29. Juli 2013
Technische Universität Braunschweig Sommersemester 2013 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Stephan Friedrichs Klausur Algorithmen und Datenstrukturen
Mehr3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel
3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel EADS 3.1 Konstruktion von minimalen Spannbäumen 16/36
MehrÜberführung regulärer Ausdrücke in endliche Automaten
Der Algorithmus von Thompson Karin Haenelt 9.5.2010 1 Inhalt Quelle Prinzip des Algorithmus Algorithmus Konstruktion des Automaten Basisausdrücke Vereinigung, Konkatenation, Hülle Beispiel Implementierung
MehrLösungen zur 1. Klausur. Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie
Hochschuldozent Dr. Christian Schindelhauer Paderborn, den 21. 2. 2006 Lösungen zur 1. Klausur in Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie Name :................................
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);
MehrDer Alpha-Beta-Algorithmus
Der Alpha-Beta-Algorithmus Maria Hartmann 19. Mai 2017 1 Einführung Wir wollen für bestimmte Spiele algorithmisch die optimale Spielstrategie finden, also die Strategie, die für den betrachteten Spieler
MehrKapitel 9. Komplexität von Algorithmen und Sortieralgorithmen
1 Kapitel 9 Komplexität von Algorithmen und Sortieralgorithmen Ziele 2 Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:
MehrKapitel 11: Wiederholung und Zusammenfassung
Wiederholung und Zusammenfassung 1: Begriff und Grundprobleme der Informatik Begriff Informatik Computer als universelle Rechenmaschine Grenzen der Berechenbarkeit Digitalisierung Problem der Komplexität
MehrBinary Decision Diagrams
Begleitmaterial zur Vorlesung Binary Decision Diagrams Wintersemester 2006/2007 Detlef Sieling Universität Dortmund FB Informatik, LS 2 44221 Dortmund Von diesem Begleitmaterial dürfen einzelne Ausdrucke
MehrDatenstrukturen und Algorithmen
Datenstrukturen und Algorithmen VO 708.031 27.10.2011 stefan.klampfl@tugraz.at 1 Wiederholung Wir vergleichen Algorithmen anhand des ordnungsmäßigen Wachstums von T(n), S(n), Asymptotische Schranken: O-Notation:
MehrFormale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2014/2015
Formale Methoden 2 Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2014/2015 Teil 3: Logik 1 Aussagenlogik Einleitung Eigenschaften Äquivalenz Folgerung Normalformen 2 Prädikatenlogik Wenn eine Karte
Mehr4.4.1 Implementierung vollständiger Bäume mit Feldern. Reguläre Struktur: Nachfolger des Knoten i sind die Knoten 2*i und 2*i+1.
4.4 Implementierung von Bäumen 4.4.1 Implementierung vollständiger Bäume mit Feldern 1 3 2 7 9 3 4 8 5 17 12 10 6 7 8 13 11 18 9 10 Reguläre Struktur: Nachfolger des Knoten i sind die Knoten 2*i und 2*i+1.
MehrKapitel 9. Komplexität von Algorithmen und Sortieralgorithmen
Kapitel 9 Komplexität von Algorithmen und Sortieralgorithmen Arrays 1 Ziele Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2006 5. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Wdhlg.: Dijkstra-Algorithmus I Bestimmung der
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 7 (21.5.2014) Binäre Suche, Hashtabellen I Algorithmen und Komplexität Abstrakte Datentypen : Dictionary Dictionary: (auch: Maps, assoziative
Mehr7. Sortieren Lernziele. 7. Sortieren
7. Sortieren Lernziele 7. Sortieren Lernziele: Die wichtigsten Sortierverfahren kennen und einsetzen können, Aufwand und weitere Eigenschaften der Sortierverfahren kennen, das Problemlösungsparadigma Teile-und-herrsche
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
Mehr8 Diskrete Optimierung
8 Diskrete Optimierung Definition 8.1. Ein Graph G ist ein Paar (V (G), E(G)) besteh aus einer lichen Menge V (G) von Knoten (oder Ecken) und einer Menge E(G) ( ) V (G) 2 von Kanten. Die Ordnung n(g) von
MehrProgrammierung 1 (Wintersemester 2015/16) Wiederholungstutorium Lösungsblatt 13 (Queues, Binary Search)
Fachrichtung 6.2 Informatik Universität des Saarlandes Tutorenteam der Vorlesung Programmierung 1 Programmierung 1 (Wintersemester 2015/16) Wiederholungstutorium Lösungsblatt 13 (Queues, Binary Search)
Mehr8. A & D - Heapsort. Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können.
8. A & D - Heapsort Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können. Genauer werden wir immer wieder benötigte Operationen durch Datenstrukturen unterstützen.
MehrKürzeste Wege in Graphen. Orte mit Straßenverbindungen. Coma I Rolf Möhring
Kürzeste Wege in Graphen Orte mit Straßenverbindungen Orte als Knoten eines Graphen Straßenverbindungen als Kanten eines Graphen Ungerichteter Graph G = (V,E) Kanten Knoten Knotenmenge V = {,,n} oder {,,n
MehrInformatik II Vorlesung am D-BAUG der ETH Zürich
Informatik II Vorlesung am D-BAUG der ETH Zürich Vorlesung 9, 2.5.2016 [Nachtrag zu Vorlesung : Numerische Integration, Zusammenfassung Objektorientierte Programmierung] Dynamische Datenstrukturen II:
Mehr3. Binäre Suchbäume. 3.1 Natürliche binäre Suchbäume. EADS 3.1 Natürliche binäre Suchbäume 78/598 ľernst W. Mayr
3. Binäre Suchbäume 3.1 Natürliche binäre Suchbäume Definition 18 Ein natürlicher binärer Suchbaum über einem durch total geordneten Universum U ist ein als interner Suchbaum organisierter Binärbaum (also:
MehrBäume. 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 1
Bäume 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 1 Inhalt Grundbegriffe: Baum, Binärbaum Binäre Suchbäume (Definition) Typische Aufgaben Suchaufwand Löschen allgemein, Methode Schlüsseltransfer
MehrKapitel 2. Suche nach endlich vielen Wörtern. R. Stiebe: Textalgorithmen, Winter 2005/06 113
Kapitel 2 Suche nach endlich vielen Wörtern R. Stiebe: Textalgorithmen, Winter 2005/06 113 Übersicht Aufgabenstellung Gegeben: Text T und eine endliche Menge von Wörtern P = {P 1,..., P r }; Gesucht: alle
MehrVU Grundlagen digitaler Systeme
VU Grundlagen digitaler Systeme Übung 4. Übung 183.580, 2014W Übungsgruppen: Fr., 05.12.2014 Hinweis: Verwenden Sie für Ihre Lösungen keinen Taschenrechner und geben Sie die einzelnen Lösungsschritte an,
Mehr3. Grundlegende Begriffe von Logiken - Aussagenlogik
3. Grundlegende Begriffe von Logiken - Aussagenlogik Wichtige Konzepte und Begriffe in Logiken: Syntax (Signatur, Term, Formel,... ): Festlegung, welche syntaktischen Gebilde als Formeln (Aussagen, Sätze,
MehrInformatik-Seminar Thema 6: Bäume
Informatik-Seminar 2003 - Thema 6: Bäume Robin Brandt 14. November 2003 1 Robin Brandt Informatik-Seminar 2003 - Thema 6: Bäume Übersicht Definition Eigenschaften Operationen Idee Beispiel Datendefinition
MehrEinführung in die Informatik
Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester
Mehr2. Schaltfunktionen und ihre Darstellung
2. Schaltfunktionen und ihre Darstellung x y z Schaltalgebra Schaltkreise und -terme Schaltfunktionen Dualitätsprinzip Boolesche Algebra Darstellung von Schaltfunktionen 58 Schaltalgebra Wir untersuchen
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Datenstrukturen: Anordnung von Daten, z.b. als Liste (d.h. in bestimmter Reihenfolge) Beispiel: alphabetisch sortiertes Wörterbuch... Ei - Eibe - Eidotter... als Baum (d.h.
Mehr\ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E.
Das Komplement Ḡ = (V, ( V ) \ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E. Ein Graph H = (V, E )
MehrCounting - Sort [ [ ] [ [ ] 1. SS 2008 Datenstrukturen und Algorithmen Sortieren in linearer Zeit
Counting-Sort Counting - Sort ( A,B,k ). for i to k. do C[ i]. for j to length[ A]. do C[ A[ j ] C[ A[ j ] +. > C[ i] enthält Anzahl der Elemente in 6. for i to k. do C[ i] C[ i] + C[ i ]. > C[ i] enthält
MehrLösungsvorschlag Serie 2 Rekursion
(/) Lösungsvorschlag Serie Rekursion. Algorithmen-Paradigmen Es gibt verschiedene Algorithmen-Paradigmen, also grundsätzliche Arten, wie man einen Algorithmus formulieren kann. Im funktionalen Paradigma
MehrVorlesung Informatik 2 Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 - Balancierte Bäume, AVL-Bäume) Prof. Dr. Susanne Albers Balancierte Bäume Eine Klasse von binären Suchbäumen ist balanciert, wenn jede der drei
MehrVorsemesterkurs Informatik
Vorsemesterkurs Informatik Vorsemesterkurs Informatik Mario Holldack WS2015/16 30. September 2015 Vorsemesterkurs Informatik 1 Einleitung 2 Aussagenlogik 3 Mengen Vorsemesterkurs Informatik > Einleitung
MehrDynamische Programmierung. Problemlösungsstrategie der Informatik
als Problemlösungsstrategie der Informatik und ihre Anwedung in der Diskreten Mathematik und Graphentheorie Fabian Cordt Enisa Metovic Wissenschaftliche Arbeiten und Präsentationen, WS 2010/2011 Gliederung
Mehr