Binary Decision Diagrams (BDDs) 1
|
|
|
- Maria Dresdner
- vor 9 Jahren
- Abrufe
Transkript
1 Handout 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 davon sind kanonisch, das bedeutet, dass die Repräsentation einer gegebenen Funktion eindeutig ist, bzw. das zwei Funktionen dann und nur dann identisch sind, wenn ihre Repräsentationen identisch sind (wobei Dinge wie die Reihenfolge es Anschreibens von Termen meist vernachlässigt werden). Wahrheitstabellen sind beispielsweise eine kanonische Repräsentation von Boole schen Funktionen, Boole sche Formeln hingegen sind nicht kanonisch (zu einer gegebenen Funktion existieren viele Boole sche Formeln, die sie beschreiben). Sogenannte Binäre Entscheidungsdiagramme (engl.: Binary Decision Diagrams; BDDs) sind eine weitere Möglichkeit Boole sche Funktionen zu repräsentieren. Unter bestimmten Voraussetzungen, die nachfolgend noch näher beschrieben werden, sind BDDs kanonisch. BDDs bieten für viele Funktionen eine sehr kompakte Repräsentation, und es existieren effiziente Algorithmen zur Manipulation von BDDs. Abb. 1: Beispiel für ein BDD. Dargestellt ist die Funktion f = (a b c) ( b d) ( c d) 1 Grafiken übernommen aus Gary D. Hachtel, Fabio Somenzi: Logic Synthesis and Verification Algorithms, Springer,
2 BDDs sind gerichtete, azyklische Graphen (engl.: Directed Acyclic Graphs; DAGs). Ein Beispiel für ein BDD ist in Abb. 1 dargestellt. Das BDD besteht aus einem Wurzelknoten (f), Knoten für die Variablen (a, b, c, d) und Endknoten (1, 0). Die Kanten sind jeweils mit T (für Then ) oder E (für Else ) beschriftet. Um den Funktionswert zu einer gegebenen Variablenbelegung zu finden geht man wie folgt vor: Ausgehend vom Wurzelknoten folgt man an jedem Variablenknoten der Then -Kante, wenn die entsprechende Variable den Wert 1 hat, ansonsten folgt man der Else -Kante. Der Endknoten den man auf diese Art und Weise erreicht gibt den Funktionswert an. Wie wir bereits wissen lassen sich Formeln in CNF oder DNF direkt und unmittelbar in 2-Level Schaltungen, bestehend aus UND und ODER Gattern umsetzen. BDDs hingegen lassen sich unmittelbar durch ein Multiplexer-Netzwerk realisieren. Übung: Entwirf eine Multiplexer-Schaltung für das BDD in Abb. 1. Komplementierende Kanten (engl.: Complement Edges) Um in einigen Fällen noch effizientere Implementierungen erreichen zu können, gibt es neben den bereits gezeigten BDDs auch welche mit komplementierenden Kanten. Geht man entlang einer komplementierenden Kante, so ist der abschließend erhaltene Funktionswert zu komplementieren. Komplementierende Kanten werden in der graphischen Repräsentation durch einen ausgefüllten Kreis markiert. Um später Kanonizität sicherstellen zu können wird vereinbart, dass nur Else -Kanten komplementierend sein können. Des Weiteren ist es üblich, nicht komplementierende Else -Kanten mit einem leeren Kreis zu markieren. Dadurch kann dann die Markierung T oder E entfallen, weil alle nicht markierten Kanten Then -Kanten sind. Außerdem kann man durch die Einführung komplementierender Kanten auf einen der beiden Endknoten (0,1) verzichten, im Normalfall auf 0. Aus Gründen der Einfachheit sei darüber hinaus vereinbart, dass Kanten ohne Ziel zum Endknoten 1 zeigen. (siehe Abb. 2) Abb. 2: BDDs mit komplementierenden Kanten Übung: Finde eine Formel für die dargestellten Funktionen 2
3 Formale Definition Ein BDD ist ein gerichteter, azyklischer Graph (V Φ {1}, E), der eine Funktion f: {0,1} n {0,1} m repräsentiert. Seine Knoten sind in drei Untermengen unterteilt. V ist die Menge aller internen Knoten. Diese Knoten haben je zwei ausgehende Kanten. Jeder Knoten v V besitzt eine Bezeichnung l(v) S F, wobei S F = {x 1,, x n } die Menge der Variablen ist, von denen f abhängt. 1 ist der Endknoten. Er besitzt keine ausgehenden Kanten. Φ ist die Menge der Funktionsknoten. Die Funktionsknoten stehen in einer eineindeutigen Beziehung zu den Komponenten von f. Diese Knoten haben keine eingehenden Kanten und je nur eine ausgehende Kante. Die von Funktionsknoten ausgehenden Kanten können das Attribut komplementierend besitzen. Die beiden von einem internen Knoten ausgehenden Kanten werden mit T und E beschriftet, wobei die mit E beschrifteten Kanten das Attribut komplementierend besitzen können. Mit (l(v), T, E) wird ein interner Knoten und seine beiden ausgehenden Kanten bezeichnet. Die Variablen in S F sind geordnet. Wenn der Knoten v j ein Nachfahre des Knotens v i ist, dann gilt l(v i ) < l(v j ). Die durch das BDD repräsentierte Funktion ist wie folgt definiert: 1. Die Funktion des Endknotens ist die konstante Funktion Die Funktion einer Kante ist die Funktion des Knotens, auf den sie zeigt, außer, die Kante besitzt, das komplementierend -Attribut. Falls die Kante das komplementierend - Attribut besitzt, ist die Funktion der Kante das Komplement der Funktion des Ziel- Knotens. 3. Die Funktion eines internen Knotens v V ist gegeben durch (l(v) f T ) ( l(v) f E ), wobei f T bzw. f E die Funktionen der T- bzw. E-Kante von v sind. 4. Die Funktion eines Funktionsknotens φ Φ ist die Funktion der davon ausgehenden Kante. Variablenordnung und Reduzierte BDDs Die Ordnung der Variablen hat einen signifikanten Einfluss auf das resultierende BDD. So repräsentiert zum Beispiel das BDD in Abb. 3 dieselbe Funktion wie das BDD in Abb. 1, allerdings Abb. 3: BDD mit Variablenordnung b c a d 3
4 mit wesentlich weniger Knoten. Übung: Betrachte die Funktion f = (a 1 b 1 c 1 ) (a 2 b 2 c 2 ) (a 3 b 3 c 3 ) und überlege, welche der beiden Variablenordnungen besser ist: a 1 a 2 a 3 b 1 b 2 b 3 c 1 c 2 c 3 oder a 1 b 1 c 1 a 2 b 2 c 2 a 3 b 3 c 3 Übung: Konstruiere ein BDD für die Funktion f = (a b c) ( b d) ( c d) mit der Variablenordnung b c d a. Hinweis: Berechne dafür (rekursiv) die Kofaktoren 2 von f in Bezug auf die jeweils erste Variable der Ordnung. Übung: Überlege eine gute Variablenordnung für die Funktion f = a (b e) (d c) und konstruiere das BDD. Begründe deine Entscheidung. Wie man aus der Übung erkennt kann es vorkommen, dass sich beim Erstellen eines BDDs identische Kofaktoren bzw. isomorphe Subgraphen ergeben. Das bedeutet, es gibt zwei interne Knoten, die dieselbe Funktion repräsentieren. Ebenso kann es vorkommen, dass redundante Knoten auftreten. Ein Knoten ist dann redundant, wenn er keine Entscheidung trifft, also wenn seine T- und E-Kante zum selben nächsten Knoten zeigen. Durch das wiederholte Verschmelzen von isomorphen Subgraphen und Entfernen redundanter Knoten kommt man zu einem reduzierten BDD. Ein reduziertes BDD ist (für eine gegebene Variablenordnung) eine kanonische Darstellung für eine Funktion. Wenn nicht anders angegeben soll im Folgenden mit BDD immer reduziertes BDD gemeint sein. Vorteile Die Größe eines BDDs (Anzahl der Knoten) ist im schlimmsten Fall exponentiell in der Anzahl der Variablen. Dieser schlimmste Fall wird z.b. für Multiplizierer (unabhängig von der Variablenordnung) erreicht. Für viele Fälle (z.b. XOR) liefern BDDs jedoch eine kompakte Repräsentation, selbst wenn für diese Fälle CNF oder DNF Formeln keine kompakte Repräsentation bieten können. Die logische UND-Verknüpfung bzw. die logische ODER-Verknüpfung von zwei BDDs kann effizient (in polynomieller Zeit) berechnet werden. Es kann in konstanter Zeit geprüft werden ob eine durch ein BDD repräsentierte Funktion erfüllbar (engl.: satisfiable) oder eine Tautologie ist. 2 Die Kofaktoren einer Funktion f bezüglich einer Variablen v sind die beiden Funktionen f v bzw. f v, die man erhält in dem man in f für v einmal 1 und einmal 0 einsetzt. 4
5 Nachteile Die Größe eines BDDs hängt von der Variablenordnung ab. Eine gute Ordnung zu finden ist nicht immer einfach. Es gibt Funktionen für die CNF- oder DNF-Repräsentationen kompakter sind als BDDs. CNF- oder DNF-Repräsentationen sind für manche Anwendungen näher an der endgültigen Implementierung der Funktion. Wenn die Funktion z.b. durch eine 2-Level Schaltung implementiert werden soll, so muss irgendwann eine CNF- oder DNF- Repräsentation erzeugt werden. BDD Softwarepakete Es existieren mehrere Software-Pakete für die (effiziente) Verwaltung und Manipulation von (großen) BDDs. Einige für (alle) Implementierungen wichtige Grundkonzepte sollen kurz erwähnt werden: Shared BDDs: Wenn man mehrere Funktionen (mit denselben Variablen) repräsentieren will ist es sehr wahrscheinlich, dass es gemeinsame Subausdrücke gibt. Daher ist es üblich, dass mehrere Funktionen von demselben BDD (nicht nur zwei identischen BDDs) repräsentiert werden. Dieses shared BDD hat dann einfach mehrere Wurzelknoten, die die einzelnen Funktionen repräsentieren. Dadurch wird einerseits Speicher gespart, andererseits kann ein Identitätsvergleich dadurch in konstanter Zeit durchgeführt werden, weil es genügt die beiden Pointer auf den jeweiligen Funktionsknoten zu vergleichen. Unique Table: In der Unique Table, die meist als Hash-Table realisiert ist, werden die (Sub-) Funktionen abgespeichert, die bereits vom BDD repräsentiert werden. Dadurch ist es möglich beim Hinzufügen oder Berechnen neuer Funktionen ohne großen Suchaufwand bereits vorhandene Knoten einzusetzen. Computed Table: Die Computed Table speichert Funktionen ab, die kürzlich berechnet worden sind, und dient so als Cache zur Effizienzsteigerung. Im Gegensatz zur Unique Table, die Fragen der Art Gibt es bereits einen Knoten v mit Kanten zu g und h? beantworten kann, dient die Computed Table dazu Fragen der Art Wurde kürzlich ein Knoten berechnet, der die UND- Verknüpfung von x und y repräsentiert? zu beantworten. Diese Frage kann gestellt werden, bevor bekannt ist, dass die UND-Verknüpfung von x und y ein Knoten v mit Kindern g und h ist. Dadurch kann die erneute Berechnung vermieden werden. Dynamic Reordering: In vielen Fällen kann es von Vorteil sein, BDDs von Zeit zu Zeit neu zu ordnen, um die Größe zu reduzieren. Dafür existieren viele verschiedene Algorithmen und Ansätze, auf die hier nicht näher eingegangen wird. 5
6 Algorithmen BDDs werden in der Regel erzeugt indem bestehende BDDs miteinander kombiniert werden (z.b. UND- oder ODER-verknüpft). Zu Beginn legt man primitive BDDs an, die die Funktionen f = x i für alle x i die als Variablen vorkommen darstellen. Diese können dann entsprechend kombiniert und verknüpft werden. Ein Operator der in diesem Zusammenhang große Bedeutung hat ist der ITE Operator (ITE für If-Then-Else ), der wie folgt definiert ist: ITE(F, G, H) = (F G) ( F H) Der ITE-Operator ist deshalb so bedeutsam, weil er im Stande ist, alle binären Operatoren auszudrücken. (siehe Abb. 4) Abb. 4: Binäre Operatoren durch ITE ausgedrückt Der Operator ITE wird durch den folgenden Algorithmus implementiert: ITE(F,G,H) = (F G) ( F H) = (v ((F G) ( F H))v) ( v ((F G) ( F H)) v) = (v, ITE(Fv,Gv, Hv ), ITE(F v,g v,h v)) Basisfälle: ITE(1,F,G) = ITE(0,G,F) = ITE(F,1,0) = ITE(G,F,F) = F Übung: Berechne ITE(f,g,h) für die Funktionen f = a ( b c) g = ( b c) d h = b c d Zu jedem Tripel (F,G,H) existieren weitere Tripel (F 1, G 1, H 1 ), so dass ITE(F,G,H) = ITE(F 1, G 1, H 1 ), obwohl mindestens einer der Operanden verschieden ist. Z.B. gilt ITE(F,1,G) = ITE(G,1,F). 6
7 Indem man diese verschiedenen Paare mit dem gleichen Ergebnis auf einen eindeutigen Repräsentanten abbildet, kann man mit Hilfe der Computed Table zusätzliche ITE-Aufrufe sparen. In vielen Fällen ist es ausreichend zu berechnen, ob das Ergebnis eines ITE-Aufrufs eine konstante Funktion liefert oder nicht. Will man beispielsweise überprüfen ob F G dann genügt es zu zeigen, dass F G eine Tautologie ist. Dies kann durchgeführt werden, indem F G mit Hilfe von ITE berechnet wird. Dabei ist das eigentliche Ergebnis jedoch uninteressant, falls es nicht konstant ist. Für solche Beispiele gibt es eine speziell in diesem Fall effizientere Lösung: Den ITE_CONSTANT Algorithmus: Abb. 5: Pseudo-Code für den ITE_CONSTANT Algorithmus ITE_CONSTANT liefert einen der drei Werte 0, 1 oder non_constant zurück. Der Algorithmus basiert auf der Beobachtung, dass eine Funktion nur dann konstant ist, wenn beide Kofaktoren konstant und gleich sind. Sobald eine Verletzung dieser Bedingung erkannt wird, wird abgebrochen. Dadurch können im Fall, dass das Ergebnis non_constant ist, rekursive Aufrufe eingespart werden. Übung: Betrachte die Funktionen f = (a b) (b c d) und g = (a b) (a c d). Berechne mit Hilfe von ITE_CONSTANT ob f g. Hinweis: Berechne ITE_CONSTANT(f,g,1). 7
Binary Decision Diagrams
Hauptseminar Model Checking Binary Decision Diagrams Kristofer Treutwein 23.4.22 Grundlagen Normalformen Als kanonische Darstellungsform für boolesche Terme gibt es verschiedene Normalformen, u.a. die
4. 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
5 BINÄRE ENTSCHEIDUNGS- DIAGRAMME (BDDS)
5 BINÄRE ENTSCHEIDUNGS- DIAGRAMME (BDDS) Sommersemester 2009 Dr. Carsten Sinz, Universität Karlsruhe Datenstruktur BDD 2 1986 von R. Bryant vorgeschlagen zur Darstellung von aussagenlogischen Formeln (genauer:
Grundlagen digitaler Systeme WS12
Grundlagen digitaler Systeme WS12 Binary Decision Diagrams Johann Blieberger 183.580, VU 2.0 Automation Systems Group E183-1 Institute of Computer Aided Automation Vienna University of Technology email:
Darstellung Boolescher Funktionen
Darstellung Boolescher Funktionen Einführung in die Technische Informatik Univ.-Prof. Dr. Paul Molitor Lehrstuhl für Technische Informatik Institut für Informatik Martin-Luther-Universität Halle-Wittenberg
Präsentation BDDs Binary Decision Diagrams
Präsentation Binary Decision Diagrams Günther Eder Andreas Weichhart 28.01.2011 1 / 19 Überblick 1/2 Überblick Boolean Expressions Nachteil KNF/DNF Shannon Expansion INF 1. 2. Boolean Expressions 3. Nachteil
Entscheidungsverfahren für die Software-Verifikation. 4 - BDDs
Entscheidungsverfahren für die Software-Verifikation 4 - BDDs Datenstruktur BDD 1986 von R. Bryant vorgeschlagen zur Darstellung von aussagenlogischen Formeln (genauer: Booleschen Funktionen) Boolesche
Binary 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
Formale Systeme. Binary Decision Diagrams. Prof. Dr. Bernhard Beckert, WS 2017/2018
Formale Systeme Prof. Dr. Bernhard Beckert, WS 27/28 Binary Decision Diagrams KIT I NSTITUT F U R T HEORETISCHE I NFORMATIK www.kit.edu KIT Die Forschungsuniversita t in der Helmholtz-Gemeinschaft Shannon-Formeln
Shannon Formeln. Formale Systeme. Normierte Shannon Formeln. Eigenschaften des sh-operators
Shannon Formeln Formale Systeme Prof. Dr. Bernhard Beckert Fakultät für Informatik Universität Karlsruhe (TH) Shannon Formeln sind aussagenlogische Formeln, die aufgebaut sind aus dem dreistelligen Operator
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:
Rechnerstrukturen. 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
Rechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 15/16
Rechnerstrukturen, Teil Vorlesung 4 SWS WS 5/6 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund [email protected] http://ls-www.cs.tu-.de Übersicht. Organisatorisches 2.
Effizienter Planaritätstest Vorlesung am
Effizienter Planaritätstest Vorlesung am 23.04.2014 INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER Satz Gegebenen einen Graphen G = (V, E) mit n Kanten und m Knoten, kann in O(n + m) Zeit
Rechnerstrukturen WS 2012/13
Rechnerstrukturen WS 202/3 Boolesche Funktionen und Schaltnetze Repräsentationen boolescher Funktionen (Wiederholung) Normalformen boolescher Funktionen (Wiederholung) Repräsentation boolescher Funktionen
Vorlesung 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)
Rechnerstrukturen WS 2012/13
Rechnerstrukturen WS 2012/13 Repräsentation von Daten Repräsentation von Texten (Wiederholung) Repräsentation ganzer Zahlen (Wiederholung) Repräsentation rationaler Zahlen (Wiederholung) Repräsentation
Rechnerstrukturen. Michael Engel und Peter Marwedel SS TU Dortmund, Fakultät für Informatik
Rechnerstrukturen Michael Engel und Peter Marwedel TU Dortmund, Fakultät für Informatik SS 2013 Hinweis: Folien a. d. Basis von Materialien von Gernot Fink und Thomas Jansen 15. April 2013 1 Repräsentation
Binary Decision Diagrams
Dr. Wolfgang Günther BDDs - Binar Decision Diagrams Dr. Wolfgang Günther BDDs - 2 Binar Decision Diagrams Anwendungen in der kombinatorischen und sequentiellen Verifikation bieten eine kanonische Darstellung
Graphen. Definitionen
Graphen Graphen werden häufig als Modell für das Lösen eines Problems aus der Praxis verwendet, wie wir im Kapitel 1 gesehen haben. Der Schweizer Mathematiker Euler hat als erster Graphen verwendet, um
x x y x y Informatik II Schaltkreise Schaltkreise Schaltkreise Rainer Schrader 3. November 2008
Informatik II Rainer Schrader Zentrum für Angewandte Informatik Köln 3. November 008 1 / 47 / 47 jede Boolesche Funktion lässt mit,, realisieren wir wollen wir uns jetzt in Richtung Elektrotechnik und
Resolutionskalkül. wird t als eine Menge K t von Klauseln geschrieben, welche die einzelnen Maxterme repräsentieren:
Resolutionskalkül Ein Kalkül ist eine Kollektion von syntaktischen Umformungsregeln, die unter gegebenen Voraussetzungen aus bereits vorhandenen Formeln neue Formeln erzeugen. Der Resolutionskalkül besteht
Isomorphie von Bäumen
Isomorphie von Bäumen Alexandra Weinberger 23. Dezember 2011 Inhaltsverzeichnis 1 Einige Grundlagen und Definitionen 2 1.1 Bäume................................. 3 1.2 Isomorphie..............................
Was 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,
Verkettete Datenstrukturen: Bäume
Verkettete Datenstrukturen: Bäume 1 Graphen Gerichteter Graph: Menge von Knoten (= Elementen) + Menge von Kanten. Kante: Verbindung zwischen zwei Knoten k 1 k 2 = Paar von Knoten (k 1, k 2 ). Menge aller
Formale 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
Informationsverarbeitung auf Bitebene
Informationsverarbeitung auf Bitebene Dr. Christian Herta 5. November 2005 Einführung in die Informatik - Informationsverarbeitung auf Bitebene Dr. Christian Herta Grundlagen der Informationverarbeitung
Algorithmen und Datenstrukturen II
Algorithmen und Datenstrukturen II Algorithmen zur Textverarbeitung III: D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009,
é KFDDs (Kronecker Functional Decision Diagrams) [Drechsler, Sarabi, Becker, Perkowski 1994]
9.2 Weitere DD-Tpen Die wichtigsten... é BDDs [Brant 1986] é KFDDs (Kronecker Functional Decision Diagrams) [Drechsler, Sarabi, Becker, Perkowski 1994] é Word-Level DDs é *BMDs (Multiplicative Binar Moment
Künstliche Intelligenz Logische Agenten & Resolution
Künstliche Intelligenz Logische Agenten & Resolution Stephan Schwiebert WS 2009/2010 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Inferenz-Algorithmus Wie könnte ein
Aussagenlogik. Formale Methoden der Informatik WiSe 2012/2013 teil 6, folie 1
Aussagenlogik Formale Methoden der Informatik WiSe 22/23 teil 6, folie Teil VI: Aussagenlogik. Einführung 2. Boolesche Funktionen 3. Boolesche Schaltungen Franz-Josef Radermacher & Uwe Schöning, Fakultät
Aufgabe Gegeben sind die folgenden aussagenlogischen Formeln F, G, H über den Variablen u, w, y, z:
Aufgabe 1.1 8 (a) Zeichnen Sie einen einfachen Graphen mit der Gradsequenz (1, 2, 2, 2, 3, 4). (b) Ist jeder einfache Graph mit der Gradsequenz (1, 2, 2, 2, 3, 4) zusammenhängend? (c) Hat jeder einfache
Aufgabe Gegeben sind die folgenden aussagenlogischen Formeln F, G, H über den Variablen s, u, w, y:
Aufgabe 3.1 8 (a) Zeichnen Sie einen einfachen Graphen mit der Gradsequenz (2, 3, 3, 3, 3, 4). (b) Ist jeder einfache Graph mit der Gradsequenz (2, 3, 3, 3, 3, 4) zusammenhängend? (c) Hat jeder einfache
Aufgabe Gegeben sind die folgenden aussagenlogischen Formeln F, G, H über den Variablen s, p, w, y:
Aufgabe 2.1 8 (a) Zeichnen Sie einen einfachen Graphen mit der Gradsequenz (1, 1, 2, 2, 4, 4). (b) Ist jeder einfache Graph mit der Gradsequenz (1, 1, 2, 2, 4, 4) zusammenhängend? (c) Hat jeder einfache
Graphenbasierte Funktionsdarstellung. Boolesche und Pseudo- Boolesche Funktionen
Graphenasierte Funktionsdarstellung Boolesche und Pseudo- Boolesche Funktionen Entscheidungsdiagramme (engl.: "decision diagrams" (DDs) Bedeutender Beitrag zur Bewältigung der Komplexität in der formalen
Algorithmen und Datenstrukturen 2. Stefan Florian Palkovits, BSc Juni 2016
Algorithmen und Datenstrukturen 2 Übung 1 Stefan Florian Palkovits, BSc 0926364 [email protected] 12. Juni 2016 Aufgabe 1: Es existiert eine Reduktion von Problem A auf Problem B in O(n 3 +
Vorlesung Datenstrukturen
Vorlesung Datenstrukturen Graphen (1) Darstellung Traversierung Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 441 Generalisierung von Bäumen Verallgemeinerung (von Listen zu Graphen)
Perlen der Informatik I Wintersemester 2012 Aufgabenblatt 7
Technische Universität München WS 2012 Institut für Informatik Prof. Dr. H.-J. Bungartz Prof. Dr. T. Huckle Prof. Dr. M. Bader Kristof Unterweger Perlen der Informatik I Wintersemester 2012 Aufgabenblatt
Was bisher geschah. 1. Zerlegung in monotone Polygone 2. Triangulierung der monotonen Teilpolygone
Was bisher geschah Motivation, Beispiele geometrische Objekte im R 2 : Punkt, Gerade, Halbebene, Strecke, Polygon, ebene Zerlegung in Regionen (planare Graphen) maschinelle Repräsentation geometrischer
Programmiertechnik II
Graph-Algorithmen Anwendungsgebiete "Verbundene Dinge" oft Teilproblem/Abstraktion einer Aufgabenstellung Karten: Wie ist der kürzeste Weg von Sanssouci nach Kunnersdorf? Hypertext: Welche Seiten sind
Lö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 :................................
Performance von BDD-basiertem Model Checking
Universität Bremen Seminararbeit Rechnerarchitektur Performance von BDD-basiertem Model Checking Rune Krauß betreut von Prof. Dr. Rolf Drechsler 21. Januar 2017 Inhaltsverzeichnis Abbildungsverzeichnis
2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung
2 Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche: Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 24/ 44 Zwei Beispiele a 0
9 Minimum Spanning Trees
Im Folgenden wollen wir uns genauer mit dem Minimum Spanning Tree -Problem auseinandersetzen. 9.1 MST-Problem Gegeben ein ungerichteter Graph G = (V,E) und eine Gewichtsfunktion w w : E R Man berechne
Vorlesung Datenstrukturen
Vorlesung Datenstrukturen Graphdarstellungen Maike Buchin 0.6.017 Graphen Motivation: Graphen treten häufig als Abstraktion von Objekten (Knoten) und ihren Beziehungen (Kanten) auf. Beispiele: soziale
Prüfungsrelevante Studienleistung Logische Programmierung (Sommer 2006) Magische Quadrate. Patricia Röschke (46016) Martin Grandrath (46375)
Prüfungsrelevante Studienleistung Logische Programmierung (Sommer 2006) Magische Quadrate Patricia Röschke (46016) Martin Grandrath (46375) 31. Oktober 2006 Inhalt 1 Aufgabenstellung 2 2 Erläuterung der
Aufgabe Zusatz.1. Aufgabe Zusatz.2. Aufgabe Zusatz.3. Aufgabe Zusatz.4. HTWK Leipzig, Fakultät IMN Prof. Dr. Sibylle Schwarz
HTWK Leipzig, Fakultät IMN Prof. Dr. Sibylle Schwarz [email protected] Zusatz. Übung zur Vorlesung Modellierung Wintersemester 2018/19 Lösungen bis 13. Januar 2019 einzusenden im Opal-Kurs
Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Definition Algorithmus. Wie beschreibt man Algorithmen?
Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2015 1 Einführung Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München 2 Grundlagen von Algorithmen
Algorithmen zur Visualisierung von Graphen
Gitterlayouts fu r planare Graphen I NSTITUT F U R T HEORETISCHE I NFORMATIK L EHRSTUHL A LGORITHMIK I M ARCUS K RUG KIT Universita t des Landes Baden-Wu rttemberg und nationales Forschungszentrum in der
Algorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2016 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute 1 Einführung 2 Grundlagen von Algorithmen
Theoretische Informatik II
Theoretische Informatik II Dr. Eva Richter / Holger Arnold Universität Potsdam, Theoretische Informatik, Sommersemester 2008 Übungsblatt 3 (Version 4) Abgabetermin: 13.5.2008, 12.00 Uhr Der λ-kalkül Da
Lernmodul 7 Algorithmus von Dijkstra
Folie 1 von 30 Lernmodul 7 Algorithmus von Dijkstra Quelle: http://www.map24.de Folie 2 von 30 Algorithmus von Dijkstra Übersicht Kürzester Weg von A nach B in einem Graphen Problemstellung: Suche einer
Musterloesung: Uebung 3
Musterloesung: Uebung 3 Sebastian Scherer December 10, 2012 Aufgabe 1 Die gegebene Funktion ist durch f((b 1, b 2, b 3 )) = 1 b 1 b 2 b 3 (1) definiert. Um die DNF anzugeben muessen wir einfach die Formel
Grundlagen der Informatik II
Grundlagen der Informatik II Tutorium 4 Professor Dr. Hartmut Schmeck Ob P = NP, ist ein offenes Problem. d) ist Quatsch, weil pol eine ordnende Relation ist. In der Arithmetik gilt ja auch nicht x y y
Kapitel IV Minimale Spannbäume
Kapitel IV Minimale Spannbäume 1. Grundlagen Ein Graph G = (V, E) besteht aus einer Menge V von Knoten und einer Menge E von Kanten. Wir werden nur endliche Knoten- (und damit auch Kanten-) Mengen betrachten.
Fortgeschrittene Netzwerk- und Graph-Algorithmen
Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester
Rückblick. Erweiterte b-adische Darstellung von Kommazahlen. 7,1875 dargestellt mit l = 4 und m = 4 Bits. Informatik 1 / Kapitel 2: Grundlagen
Rückblick Erweiterte b-adische Darstellung von Kommazahlen 7,1875 dargestellt mit l = 4 und m = 4 Bits 66 Rückblick Gleitkommazahlen (IEEE Floating Point Standard 754) lassen das Komma bei der Darstellung
Datenstrukturen und Algorithmen (SS 2013)
Datenstrukturen und Algorithmen (SS 2013) Übungsblatt 10 Abgabe: Montag, 08.07.2013, 14:00 Uhr Die Übungen sollen in Gruppen von zwei bis drei Personen bearbeitet werden. Schreiben Sie die Namen jedes
KAPITEL 5. Damit wird F n (B) selbst zu einer Booleschen Algebra und es gilt f(x) := f(x) 0(x) := 0 B 1(x) := 1 B
KAPITEL 5 Boolesche Polynome Polynome über R, d.h. reelle Funktionen der Form p(x) = a 0 + a 1 x + + a n x n, x R, sind schon aus der Schulmathematik bekannt. Wir beschäftigen uns nun mit Booleschen Polynomen,
Rückblick. Erweiterte b-adische Darstellung von Kommazahlen. 7,1875 dargestellt mit l = 4 und m = 4 Bits. Informatik 1 / Kapitel 2: Grundlagen
Rückblick Erweiterte b-adische Darstellung von Kommazahlen 7,1875 dargestellt mit l = 4 und m = 4 Bits 66 Rückblick Gleitkommazahlen (IEEE Floating Point Standard 754) lassen das Komma bei der Darstellung
Algorithmen und Datenstrukturen SS09. Foliensatz 17. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik
Foliensatz 17 Michael Brinkmeier Technische Universität Ilmenau Institut für Theoretische Informatik Sommersemester 2009 TU Ilmenau Seite 1 / 69 TU Ilmenau Seite 2 / 69 Graphtraverse Wie bei Bäumen, ist
4. Lernen von Entscheidungsbäumen
4. Lernen von Entscheidungsbäumen Entscheidungsbäume 4. Lernen von Entscheidungsbäumen Gegeben sei eine Menge von Objekten, die durch Attribut/Wert- Paare beschrieben sind. Jedes Objekt kann einer Klasse
Aufgabe Bonus.1. Aufgabe Bonus.2. Aufgabe Bonus.3. Aufgabe Bonus.4. HTWK Leipzig, Fakultät IMN Prof. Dr. Sibylle Schwarz
HTWK Leipzig, Fakultät IMN Prof. Dr. Sibylle Schwarz [email protected] Bonus. Übung zur Vorlesung Modellierung Wintersemester 2017/18 Lösungen bis 3. Januar 2018 einzusenden im Opal-Kurs
Aufgaben aus den Übungsgruppen 8(Lösungsvorschläge)
Universität des Saarlandes Theoretische Informatik (WS 2015) Fakultät 6.2 Informatik Team der Tutoren Aufgaben aus den Übungsgruppen 8(Lösungsvorschläge) 1 Berechenbarkeitstheorie Aufgabe 8.1 (Wahr oder
Graphentheorie. Algebraic Graph Theory von Chris Godsil und Gordon Royle. Kapitel Seminararbeit. von. Katharina Mayr
Graphentheorie Algebraic Graph Theory von Chris Godsil und Gordon Royle Kapitel 1.1 1.3 Seminararbeit von Katharina Mayr 01210559 Universität Graz Insitut für Mathematik und wissenschaftliches Rechnen
Algorithmen & Datenstrukturen Midterm Test 2
Algorithmen & Datenstrukturen Midterm Test 2 Martin Avanzini Thomas Bauereiß Herbert Jordan René Thiemann
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil 10 Suche in Graphen Version vom 13. Dezember 2016 1 / 2 Vorlesung 2016 / 2017 2 /
f ist sowohl injektiv als auch surjektiv.
Bemerkungen: Wir erinnern uns an folgende Definitionen: Eine Funktion f : U V heißt injektiv, wenn gilt: ( x, y U)[x y f(x) f(y)] Eine Funktion f : U V heißt surjektiv, wenn gilt: ( y V x U)[y = f(x)]
Boolesche (Schalt-) Algebra (8)
Boolesche (Schalt-) Algebra (8) Karnaugh-Diagramm ist eine graphische Technik zur Darstellung und Vereinfachung von Booleschen Ausdrücken ist eine andere, zweidimensionale Darstellung von Wahrheitstabellen
Algorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Lerneinheit 3: Greedy Algorithmen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 2016 10.5.2016 Einleitung Einleitung Diese Lerneinheit
Lösungen zur Vorlesung Berechenbarkeit und Komplexität
Lehrstuhl für Informatik 1 WS 009/10 Prof. Dr. Berthold Vöcking 0.0.010 Alexander Skopalik Thomas Kesselheim Lösungen zur Vorlesung Berechenbarkeit und Komplexität. Zulassungsklausur Aufgabe 1: (a) Worin
Allgemeingültige Aussagen
Allgemeingültige Aussagen Definition 19 Eine (aussagenlogische) Formel p heißt allgemeingültig (oder auch eine Tautologie), falls p unter jeder Belegung wahr ist. Eine (aussagenlogische) Formel p heißt
Logik. Gabriele Kern-Isberner LS 1 Information Engineering. TU Dortmund Wintersemester 2014/15 WS 2014/15
Logik Gabriele Kern-Isberner LS 1 Information Engineering TU Dortmund Wintersemester 2014/15 WS 2014/15 G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 1 / 125 Übersicht Modallogik 5. Grundlagen 6. Erfüllbarkeit
Graphalgorithmen 1. Tillmann Zipperer Tillmann Zipperer Graphalgorithmen / 40
Graphalgorithmen 1 Tillmann Zipperer 03.06.2015 Tillmann Zipperer Graphalgorithmen 1 03.06.2015 1 / 40 1 Grundlagen Definition Graphtypen Implizite Graphdarstellung Tillmann Zipperer Graphalgorithmen 1
