Binäre Entscheidungsgraphen

Größe: px
Ab Seite anzeigen:

Download "Binäre Entscheidungsgraphen"

Transkript

1 Binäre Entscheidungsgraphen Christel Baier Skript zum Seminar SS 2012 i

2 Inhaltsverzeichnis 1 Schaltfunktionen und Schaltkreise Schaltfunktionen Schaltkreise Logische Netze für kombinatorische Schaltkreise Logische Netze für sequentielle Schaltkreise Finite State Machines Funktionale Äquivalenz Binäre Entscheidungsgraphen Geordnete binäre Entscheidungsgraphen OBDDs und Schaltfunktionen Reduzierte OBDDs Grundlegende Algorithmen auf OBDDs Binäre boolesche Operatoren Kofaktoren, Negation und Komposition Einfache Analysealgorithmen Implementierungstechniken Die Eindeutigkeitstabelle Der ITE Algorithmus Komposition und Kofaktoren Speicherverwaltung Komplementierte Kanten BFS-basierte Synthesealgorithmen Das Problem der Variablenordnung Der Einfluß der Variablenordnung Separate ROBDD-Darstellungen versus shared OBDDs Minimierungsalgorithmen Der Variablenswap und Variablenshift Exakte Minimierung Dynamische Umordnungsheuristiken Heuristiken für günstige Anfangsordnungen Analyse sequentieller Schaltkreise Symbolische Erreichbarkeitsanalyse ii

3 4.2 Relationales Produkt Verallgemeinerte Kofaktoren Der Constrain-Operator Der Restrict-Operator Einsatz verallgemeinerter Kofaktoren zur Bildberechnung Partitionierung der Übergangsrelation Output- und Input-Splitting Vorgezogene Quantifizierung Verzahnung von Konjunktion und Quantifizierung Vorwärts- versus Rückwärtssuche Diskrete Funktionen mit reellem Wertebereich Multiterminale Entscheidungsgraphen Der APPLY-Algorithmus für MTBDDs Matrizenrechnung mit MTBDDs Kürzeste Wege Probleme und Matrizenmultiplikation in Quasi-Ringen Entscheidungsgraphen mit Kantengewichten Anwendungen von BDDs in der zweistufigen Logiksynthese Symblische Primimplikantenberechnung Zero-surpressed BDDs Syntax und Semantik von ZBDDs Reduzierte ZBDDs OBDDs versus ZBDDs Implementierung und Operatoren auf ZBDDs Anwendung von ZBDDs in der zweistufigen Logiksynthese iii

4 Einleitung Binäre Entscheidungsgraphen (engl. Abkürzung BDD für binary decision diagram ) wurden erstmals von Lee (1959) und Akers (1978) als Datenstruktur für Schaltfunktionen untersucht. Wir beschäftigen uns hier nur mit geordneten BDDs (Abkürzung OBDDs), einer Variante, die auf Bryant(1986) zurückgeht und in der eine feste Ordnung der Variablen einer Schaltfunktionen vorausgesetzt wird. OBDDs haben sich in den letzten Jahren für die Synthese und Analyse von kombinatorischen und sequentiellen Schaltkreise bewährt und werden heutzutage in zahlreichen CAD/CAV Tools 1 (z.b. ESPRESSO, SIS/VIS, LSS, SMV, VERUS, COSPAN, etc.) eingesetzt. Zu den populärsten Beispielen, die den Erfolg BDD-basierter Techniken demonstrieren, zählen die Falsifizierung des IEEE Futurebus+ cache coherence Protokolls (1992) und des Intel Pentium Dividierers (1994). Neben dem Einsatz von BDDs für den Hardwareentwurf gibt es zahlreiche andere Anwendungsbereiche (Komplexitätstheorie, Künstliche Intelligenz, Graphenalgorithmen, Fixpunkttheorie, Zählprobleme, Leistungsbewertung, etc). In dieser Vorlesung werden die wesentlichen Aspekte von OBDDs und einigen Anwendungen besprochen. Überblick: Abschnitt 1 (Seite 3 ff) faßt die Grundbegriffe über Schaltfunktionen, aussagenlogische Formeln und Schaltkreise zusammen, die wir im folgenden benötigen. Abschnitt 2 (Seite 47 ff) stellt die Grundkonzepte von OBDDs und deren Implementierungen in BDD-Paketen vor. Abschnitt 3 (Seite 137 ff) behandelt Strategien zur Minimierung der Darstellungsgröße von OBDDs. Abschnitt 4 (Seite 354 ff) beschäftigt sich mit Varianten von OBDDs. In Abschnitt 5 (Seite 215 ff) werden einige BDD-basierte Techniken zur Analyse sequentieller Schaltkreise vorgestellt. 1 Die Abkürzungen CAD und CAV stehen für computer-aided design und computer-aided verification. 1

5 Literatur Die Inhalte der Vorlesung können zu großen Teilen in den Büchern von Meinel und Theobald [MT98] und Wegener [Weg00] nachgelesen werden. MT98 Meinel, Theobald: Algorithmen und Datenstrukturen im VLSI-Design, Springer Weg00 I. Wegener: Branching Programs and Binary Decision Diagrams: Theory and Applications, SIAM Monographs on Discrete Mathematics and Applications, Die Monographie [Weg00] von Wegener ist ein umfassendes Werk zum Thema binäre Entscheidungsgraphen. Die Inhalte der Vorlesung sind dort weitgehend wiederzufinden. Darüberhinaus enthält es viele Aspekte von BDDs, die in der Vorlesung nicht behandelt werden. Weitere Bücher (in alphabetischer Ordnung): BD98 B. Becker, R. Drechsler: Graphenbasierte Funktionsdarstellungen, Teubner-Verlag, CGP00 E. Clarke, O. Grumberg, D. Peled: Model Checking, MIT Press, HS96 G. Hachtel, F. Somenzi: Logic Synthesis and Verification Algorithms, Kluwer Academic Press, Kro97 T. Kropf: Introduction to Formal Hardware Verification, Springer verlag, McM93 K. McMillan: Symbolic Model Checking, Kluwer Academic Press, MS99 Molitor, Scholl: Datenstrukturen und effiziente Algorithmen für die Logiksynthese kombinatorischer Schaltungen Teubner, Einige Teile der Vorlesung sind auch in [BD98], [MS99], [HS96] zu finden. [MS99] und [HS96] beschäftigen sich vorwiegend mit den Grundlagen der Logiksynthese. BDDs werden am Rande angesprochen. [BD98] behandelt neben BDDs auch andere DD-Varianten. Die Bücher [Kro97] und [CPG00] beschäftigen sich allgemein mit Verifikation. Sie enthalten einige Abschnitte über symbolisches Model Checking mit BDDs. Beide Bücher gehen weit über die Inhalte dieser Vorlesung hinaus und behandeln umgekehrt nur einen Teil der in der Vorlesung behandelten Themen. [McM93] ist die soweit mir bekannt nicht mehr erhältliche Buchversion der Doktorarbeit von Ken McMillan, in dem die Meilensteine für BDD-basiertes Model Checking gelegt wurden. 2

6 1 Schaltfunktionen und Schaltkreise Wir beginnen mit einigen Grundbegriffen, die im Verlauf der Vorlesung häufig benötigt werden. Abschnitt 1.1 behandelt Schaltfunktionen. Einige grundlegende Konzepte für kombinatorische und sequentielle Schaltkreise werden in Abschnitt 1.2 vorgestellt. 1.1 Schaltfunktionen Wir definieren Schaltfunktionen als Funktionen des Typs f : Variablenbelegung {0, 1} Dabei wird eine feste Menge von booleschen Variablen zugrundegelegt. Bezeichnung [Die Variablenmenge Z, Variablenbelegungen] Im folgenden bezeichnet Z = {z 1,..., z n } eine endliche Menge von booleschen Variablen (d.h. Variablen, welche die Werte 0 oder 1 annehmen können). Wir nehmen dabei an, daß z 1,..., z n paarweise verschieden sind. Eine Belegung (engl. evaluation) für Z ist eine Abbildung η : Z {0, 1}, die jeder Variablen z Z einen (Wahrheits-)Wert η(z) {0, 1} zuordnet. Eval(Z) bezeichnet die Menge aller Belegungen für Z. Sind a 1,..., a n {0, 1}, so schreiben wir [z 1 = a 1,..., z n = a n ] für die Belegung η Eval(Z) mit η(z i ) = a i, i = 1,..., n. Manchmal verwenden wir auch Tupelschreibweisen (a 1,..., a n ) für Belegungen und setzen damit voraus, daß eine feste Reihenfolge der Variablen aus dem Kontext hervorgeht. 2 Weiter benutzen wir häufig auch Kurzschreibweisen wie z.b. [ z = ā] statt [z 1 = a 1,..., z n = a n ] oder [ z = ā, ȳ = b] statt [z 1 = a 1,..., z n = a n, y 1 = b 1,..., y m = b m ], wobei z = (z 1,..., z n ), ȳ = (y 1,..., y m ) mit paarweise verschiedenen Variablen z 1,..., z n, y 1,..., y m und ā = (a 1,..., a n ) {0, 1} n, b = (b 1,..., b m ) {0, 1} m. Definition [Schaltfunktionen] Eine Schaltfunktion über Z ist eine Abbildung f : Eval(Z) {0, 1} Der Menge aller Schaltfunktionen über Z = {z 1,..., z n } wird mit IB(Z) oder IB(z 1,..., z n ) bezeichnet. Bezeichnung [Projektionsfunktion, boolesche Operatoren, etc.] Wir verwenden im folgenden Schreibweisen wie f = (z 1 z 2 ) z 3, um eine Schaltfunktion f IB(z 1, z 2, z 3,...) mit den offensichtlichen Funktionswerten zu bezeichnen. 3 Formal ist z i eine Kurzschreibweise für die Projektionsfunktion proj zi : Eval(Z) {0, 1}, proj zi (η) = η(z i ), 2 Klar, wenn die Variablen von 1 bis n durchnumeriert sind, ist damit auch eine Ordnung gegeben. Wenn die Variablen allerdings x, y, z heißen, ist nicht a-priori klar, welche Reihenfolge zugrundeliegt. Außerdem werden später (Kapitel 3) Permutationen von Variablenordnungen eine wichtige Rolle spielen. 3 Streng genommen müßte man in Schreibweisen wie f = (z 1 z 2 ) z 3 angeben, welche Variablenmenge Z man zugrundelegt. Beispielsweise wäre Z = {z 1, z 2, z 3 } oder auch Z = {z 1, z 2, z 3, z 4, z 5 } möglich. 3

7 wobei Z = {z 1, z 2, z 3,...} die zugrundeliegende Variablenmenge ist. Die booleschen Verknüpfer (Negation), (Konjunktion), (Disjunktion), (Parität, XOR), etc. haben die übliche Bedeutung. Auch Schaltfunktionen über unterschiedlichen Variablenmengen können kombiniert werden. Z.B. ist für f 1 = z 1 z 2 IB(z 1, z 2 ) und f 2 = z 2 z 3 IB(z 2, z 3 ) die disjunkte Verknüpfung eine Schaltfunktion über den drei Variablen z 1, z 2 und z 3 : f 1 f 2 = (z 1 z 2 ) (z 2 z 3 ) IB(z 1, z 2, z 3 ). Die konstanten Schaltfunktionen werden mit 0 oder 1 bezeichnet. (D.h. ist f = 0 IB(Z), so ist f(η) = 0 für alle η Eval(Z).) Durch geeignete Abstraktions- und Codierungstechniken lassen sich sehr viele Fragestellungen der Informatik durch Schaltfunktionen formalisieren. Im folgenden geben wir einige einfache Beispiele. Beispiel [N-Damen-Problem] Die Fragestellung des N-Damen-Problems ist wie folgt. Gegeben sind ein N N-Schachbrett und N Damen. Gesucht ist eine Positionierung der N Damen, so daß keine Dame eine andere bedroht. Mit Schaltfunktionen läßt sich das N-Damen-Problem z.b. wie folgt darstellen. Das Schachbrett wird als boolesche N N Matrix (z i,j ) 1 i,j n mit dem Eintrag z i,j = 1 gdw eine Dame steht auf dem Feld (i, j) interpretiert. Eine Belegung η = [z i,j = a i,j : 1 i, j N] entspricht genau dann einer zulässigen Positionierung der Damen, wenn (I) Zeilen i Spalte j mit a i,j = 1 (II) Für alle Felder (i, j) mit a i,j = 1 und alle Felder (I, J), für die (i, j) (I, J) ein zulässiger Damenzug ist, gilt a I,J = 0. Siehe Abbildung 1. Präzise lautet die Fragestellung nun, eine erfüllende Belegung für die Schaltfunktion ( ( ) ) f N = zi,j z I,J zu finden. 1 i N 1 j N (i, j) (I, J) ist zulässiger Damenzug Beispiel [ Wissensbasiertes System für Chemielabor] Gegeben ist eine Datenbank, in der Informationen über die vorhandenen chemischen Stoffe und durchführbaren chemischen Reaktionen τ τ k ϱ ϱ l verwaltet werden. Gefragt ist, ob ein gewisser Stoff ϱ (über 0 oder mehr chemische Reaktionen) erzeugt werden kann. Für eine Formulierung der Problemstellung durch Schaltfunktionen verwenden wir eine boolesche Variable z σ für jeden Stoff σ mit der intuitiven Interpretation z σ = 1 gdw σ ist herstellbar (oder vorhanden). 4

8 N-Damen-Problem Gegeben: N x N - Schachbrett, N Damen Gesucht: Positionierung der N Damen, so daß keine Dame eine andere bedroht. N= Boolsche Variablen z ij mit i, j = 1,...,N z ij = 1 gdw eine Dame steht auf Feld (i,j) z.b. [z 11 =1, z 24 = 1, z 31 = 0,... ] Zulässige Positionierung = Belegung [ z ij = a ij : 1 i, j N ] mit (1) Zeilen i Spalte j mit a ij = 1 (2) Damenzug (i,j) -> (I,J) gilt: a IJ = 0 Abbildung 1: Codierung des N-Damen-Problems Eine mögliche Formalisierung ergibt sich nun, indem wir die Ausgangssitutation durch folgende Schaltfunktion f darstellen. f = ( ) ( ( ) ) z σ zτ1 z τk z ϱ1 z ϱl σ vorhanden τ τ k ϱ ϱ l durchführbare Reaktion Die Frage reduziert sich nun auf ein Gültigkeitsproblem. Hierzu betrachten wir die Schaltfunktion f ϱ = f z ϱ = f z ϱ Offenbar kann Stoff ρ genau dann hergestellt werden, wenn f ϱ = 1. Wir illustrieren diese Aussage an einem Beispiel. MgO + H 2 Mg + H 2 O C + O 2 CO 2 H 2 O + CO 2 H 2 CO 3 seien die durchführbaren chemischen Reaktionen, wobei die Grundstoffe MgO, H 2, O 2 und C verfügbar sind. Wir fragen, ob ϱ = H 2 CO 3 (Kohlensäure, wenn mich meine vagen Erinnerungen an den Chemieunterricht nicht täuschen) herstellbar ist. Die angegebene Schaltfunktion f hat in dieser Instanz die Form f = z MgO z H2 z O2 z C (z MgO z H2 z Mg z H2 O) (z H2 O z CO2 z H2 CO 3 ) (z C z O2 z CO2 ) Man überzeugt sich leicht davon, daß f z H2 CO 3 = 1. Also ist H 2 CO 3 herstellbar. 5

9 Das folgende Beispiel zeigt, daß Schaltfunktionen auch eingesetzt werden können, um die Funktionsweise eines Systems zu beschreiben. Beispiel [Ampelschaltung] Die gewünschte Funktionsweise einer Ampelschaltung könnte durch die nachstehenden Anforderungen formuliert werden: Die Ampeln für die Autofahrer ist niemals grün, wenn für die Fußgänger das Signal walk gegeben wird. (Sicherheit) Sobald ein Fußgänger die Request-Taste betätigt, gibt die Fußgängerampel in Kürze das Signal walk. Die Request-Taste ist dann solange blockiert bis die Fußgängerampel auf don t walk zurückschaltet. (Lebendigkeit) Darüberhinaus fordern wir, daß die Ampel für die Autofahrer die üblichen vier Zyklen (rot, rot/gelb, grün, gelb) durchläuft, während die Fußgängerampel zwischen den Phasen don t walk und walk alterniert. Kontrollsystem für Ampelschaltung FA request Schalt= funktion FA FA Zustände der Ampel für Autofahrer Fußgängerampel mit Request-Taste request=1 FA=0 request=0 FA=0 FA=0 FA=1 FA=0 Zustandsmaschine für das Kontrollsystem ½ Ö¾ ½ Ö Ö½ Ö¾ ¼ Abbildung 2: Codierung des reaktiven Verhaltens einer Ampelschaltung Ö½ ¼ Ö¾ ½ Ö½ ½ Ö¾ ¼ Für die Phasen der Autofahrerampel verwenden wir vier Kontrollzustände, die wir mit zwei booleschen Variablen r 1 und r 2 codieren. 00 steht für grün für die Autofahrer, 01 für gelb, 10 für rot und 11 für die Rot/Gelb-Phase. Das erste Bit steht für die Belegung von r 1, das zweite für die Belegung von r 2. Die möglichen Werte für request und dem Signal der Fußgängerampel sind jeweils 0 oder 1. 6

10 request = 0: request = 1: Die Requesttaste ist nicht gedrückt. Die Requesttaste wurde von einem Fußgänger gedrückt. In den Zuständen 01, 10 und 11 wird request ignoriert. Die Signale der Fußgängerampel haben folgende Bedeutung: FA = 1: FA = 0: Die Fußgängerampel signalisiert walk. Die Fußgängerampel signalisiert don t walk. Siehe Abbildung 2. Die Schaltfunktionen sind nun durch folgende Wertetafel gegeben: Also: Eingabe Werte der Schaltfunktion für die Ausgabe r 1 r 2 request r 1 r 2 FA / / / Schaltfunktion f r1 = r 1 r 2 Schaltfunktion f r2 = ( r 1 r 2 request) (r 1 r 2 ) Schaltfunktion f F A = r 1 r 2 Das so konzipierte System kann als Zustandsmaschine aufgefaßt werden (siehe Skizze links unten auf der Folie). Das Kontrollsystem für die Ampelschaltung ist ein typisches Beispiel für ein reaktives System, dessen Funktionsweise durch die ständige Interaktion mit der Umgebung (hier: die Fußgänger) bestimmt ist. Dies steht im Gegensatz zu traditionellen Programmen, deren Aufgabe die Berechnung einer Funktion ist und für die man üblicherweise totale Korrektheit (Terminierung und Ausgabe der korrekten Funktionswerte) fordert. Die schematische Darstellung der Ampelschaltung liegt auch sequentiellen Schaltkreisen zugrunde. Sequentielle Schaltkreise verwenden Register als Speicherelemente. Die Ausgabebits hängen sowohl von der Eingabebelegung als auch von der aktuellen Registerbelegung ab. Kombinatorische Schaltkreise dagegen verwenden keine Speicherelemente. Siehe Abbildung 3 auf Seite 8. Das Ein/Ausgabeverhalten eines kombinatorischen Schaltkreises mit den Eingabevariablen x 1,..., x n kann daher durch Schaltfunktionen λ y IB(x 1,..., x n ) für jede Ausgabevariable y beschrieben werden. Näheres hierzu in Abschnitt (Seite 30 ff). Beispiel [Halbaddierer] Als Beispiel für einen kombinatorischen Schaltkreis betrachten wir einen Halbaddierer (siehe Abbildung 4), dessen Funktionalität durch die beiden Schaltfunktionen s = λ y1 = x 1 x 2, c = λ y2 = x 1 x 2 IB(x 1, x 2 ) beschrieben werden kann. Intuitiv steht s für die 1-Bit-Summe und c für den Übertrag (das Carrybit). 7

11 Abbildung 3: Schema kombinatorischer und sequentieller Schaltkreise Das taktweise Verhalten eines sequentiellen Schaltkreises (mit den Eingabebits x 1,..., x n und den Registern r 1,..., r k ) wird durch Schaltfunktionen λ y IB(x 1,..., x n, r 1,..., r k ) δ r IB(x 1,..., x n, r 1,..., r k ) für jede Ausgabevariable y für jedes Register r beschrieben. Genaueres hierzu in Abschnitt (Seite 35 ff). Beispiel [Modulo-8-Counter] Als Beispiel für einen sequentiellen Schaltkreis betrachten wir einen Modulo-8-Counter, siehe Abbildung 5 auf Seite 10. Dieser hat drei Register r 1, r 2, r 3, die einen Counter (mit Werten in {0, 1,..., 7}) codieren: counter = 4 r r 2 + r 3 In jedem Takt wird der Counter um eins erhöht. Nur wenn sein Wert 7 ist, wird eine Eins ausgegeben; andernfalls eine Null. Da ein sequentieller Schaltkreis ohne Eingabebits mit genau einer Ausgabevariablen y vorliegt, hängen die Ausgabe- und Übergangsfunktionen nur von der Registerbelegungen ab. Das Ausgabeverhalten wird durch die Schaltfunktion λ y = r 1 r 2 r 3 IB(r 1, r 2, r 3 ) beschrieben. Die taktweisen Registertransfers sind durch die Schaltfunktionen gegeben. δ r1 = (r 3 r 2 ) r 1, δ r2 = r 3 r 2, δ r3 = r 3 IB(r 1, r 2, r 3 ) Bemerkung [Schaltfunktionen versus boolesche Funktionen] Boolesche Funktionen sind Funktionen des Typs F : {0, 1} n {0, 1}. D.h. boolesche Funktionen bilden Bitvektoren fester Länge n auf Wahrheitswerte ab. Ist f IB(Z) eine Schaltfunktion, so erhält man eine entsprechende boolesche Funktion F, indem man die Variablen von Z numeriert, etwa z 1,..., z n, und F (a 1,..., a n ) = f ( [z 1 = a 1,..., z n = a n ] ) 8

12 Abbildung 4: Halbaddierer setzt. Umgekehrt kann man jeder n-stelligen booleschen Funktion F eine Schaltfunktion f zuordnen, indem man n Variablen z 1,..., z n fixiert und die Eingabetupel (a 1,..., a n ) {0, 1} n für F als Eingabebelegungen für z 1,..., z n interpretiert. Wir machen uns nun den dezenten Unterschied zwischen booleschen Funktionen und Schaltfunktionen klar, der je nach Kontext entscheidend oder irrelevant sein kann. Die Funktionswerte von booleschen Funktionen werden häufig durch formelähnliche Ausdrücke wie F (a, b, c) = a (b c) als Kurzschreibweise für für alle a, b, c {0, 1} gilt: F (a, b, c) = a (b c) angegeben. a, b, c dienen hier lediglich als Metavariablen für die Argumente von F ; die Namen a, b, c können beliebig geändert werden. Um Verwechslungen zwischen booleschen Variablen und solchen Metavariablen zu vermeiden, verwenden wir im folgenden Buchstaben wie x, y, z für boolesche Variablen a, b, c für Metavariablen mit Platzhalterfunktion für Werte in {0, 1} (oder für festgewählte Werte in {0, 1}) Z.B. sind F (a, b, c) = a (b c) F (b, a, c) = b (a c) F (a 1, a 2, a 3 ) = a 1 (a 2 a 3 ) völlig gleichwertige Ausdrücke, um die Funktionswerte einer dreistelligen booleschen Funktion F anzugeben. Dagegen sind die Schaltfunktionen } f 0 = x (y z) IB(x, y, z) f 1 = y (x z) f 2 = z 1 (z 2 z 3 ) IB(z 1, z 2, z 3 ) 9

13 Abbildung 5: Modulo-8-Counter verschieden. (Beachte: Hier stehen die booleschen Variablen x, y, z, z 1, z 2 und z 3 für die entsprechenden Projektionsfunktionen.) Der Grund, warum Schaltfunktionen einen präziseren Formalismus für Schaltkreise darstellen als boolesche Funktionen, ist wie folgt. Die Synthese komplexer Schaltkreise erfolgt üblicherweise im Baukastenprinzip, indem sukzessive Schaltkreise mit logischen Verknüpfer wie,,,,... kombiniert werden. Wir betrachten folgenden kombinatorischen Schaltkreis C mit drei Gattern, der sich durch die disjunktive Verknüpfung (Gatter 3) der Ausgänge von Gatter 1 und 2 ergibt. Gatter 1 und 2 können durch die booleschen Funktionen F 1, F 2 : {0, 1} 2 {0, 1} mit F 1 (a, b) = F 2 (a, b) = a b beschrieben werden. Der Effekt des gesamten Schaltkreises C entspricht jedoch nicht der Disjunktion von F 1 und F 2 F 1 F 2 : {0, 1} 2 {0, 1}, (F 1 F 2 )(a, b) = F 1 (a, b) F 2 (a, b) = a b, sondern der dreistelligen booleschen Funktion F : {0, 1} 3 {0, 1}, F (a, b, c) = (a b) (b c). 10

14 Im Gegensatz dazu sind Variablen von Schaltfunktionen (x, y, z in obigem Beispiel) feste Symbole, die auch im Kontext nicht erklärungsbedürftig sind. Für den obigen Schaltkreis C kann der Effekt der Gatter 1 bzw. 2 durch die Schaltfunktionen f 1 = x y und f 2 = y z dargestellt werden. Die Ausgabefunktion von C ergibt sich nun durch die Disjunktion von f 1 und f 2 : f 1 f 2 = (x y) (y z) (eine Schaltfunktion mit den Variablen x, y und z). Nachdem wir uns den Unterschied zwischen Schaltfunktionen und booleschen Funktionen klargemacht haben, gehen wir zu lässigen Schreibweisen mit Bittupeln (die streng genommen nur für boolesche Funktionen präzise sind) über. Liegt z.b. eine Schaltfunktion f IB(Z) vor, für deren Variablen eine feste Reihenfolge, etwa z 1,..., z n, aus dem Kontext hervorgeht, und ist η = [z 1 = a 1,..., z n = a n ] Eval(z 1,..., z n ) = Eval(Z), so schreiben wir auch f(a 1,..., a n ) statt f(η). Man sollte jedoch bei Verwendung dieser Bittupelnotation für Schaltfunktionen stets im Kopf behalten, daß diese nur dann sinnvoll ist, wenn aus dem Kontext klar wird, an welcher Position die Belegungen der einzelnen Variablen stehen. Darstellungsformen für Schaltfunktionen Zu den einfachsten Repräsentationen von Schaltfunktionen zählt die explizite Darstellung der Funktionswerte durch Wertetafeln. Wertetafeln sind zwar konzeptionell sehr einfach, jedoch besteht die Wertetafel einer Schaltfunktion IB(z 1,..., z n ) stets aus 2 n Zeilen und hat damit exponentielle Platzkomplexität (gemessen an der Anzahl an Variablen). Oftmals effizienter sind implizite Darstellungen beispielsweise durch aussagenlogische Formeln (z.b. Normalformen wie KNF oder DNF) Schaltbilder (logische Netze) Varianten von Entscheidungsbäumen (Branching Programme, Entscheidungsgraphen) Auf die impliziten Darstellungsformen gehen wir später ein. Wir machen uns zunächst klar, warum es keine universelle Darstellungsform geben kann, die für jede Schaltfunktion als effizient anzusehen ist. 4 Dies resultiert aus der Anzahl an Schaltfunktionen, die doppelt-exponentiell in der Anzahl n an Variablen wächst. Satz [Anzahl der Schaltfunktionen] Die Anzahl an Schaltfunktionen über Z ist IB(Z) = 2 2 Z. 4 Unter einer universellen Darstellungsform versteht man eine Repräsentationsart, mit der jede Schaltfunktion dargestellt werden kann. 11

15 Abbildung 6: Der binäre Eintopf Beweis. Für jede endliche Menge A gibt es genau 2 A n = Z, so gilt: Abbildungen A {0, 1}. Ist Eval(Z) = Anzahl Abbildungen Z {0, 1} = 2 Z = 2 n und somit IB(Z) = Anzahl Abbildungen Eval(Z) {0, 1} = 2 Eval(Z) = 2 2n. Für n = 1 besteht IB(z 1 ) besteht aus den vier Schaltfunktionen 0,1, z 1 und z 1. Für n = 2 Variablen liegen bereits 2 4 = 16 Schaltfunktionen vor: 0 z 1 z 2 (z 1 z 2 ) z 1 (z 2 z 1 ) z 2 z 1 z 2 z 1 z 2 1 (z 1 z 2 ) z 1 z 2 z 1 z 2 z 1 z 2 z 1 z 2 (z 1 z 2 ) IB(z 1, z 2, z 3 ) enthält 2 8 = 256 verschiedene Schaltfunktionen, während es bereits 2 32 > bzw > verschiedene Schaltfunktionen mit fünf bzw. sechs Variablen gibt. Die Aussage von Satz induziert, daß bezüglich jeder universellen Darstellungsform für Schaltfunktionen die worst-case Darstellungsgröße mindestens exponentiell in der Anzahl n der Variablen wächst. Diese Aussage ist wie folgt einsichtig. Wir gehen von einer festen Darstellungsform aus und nehmen an, daß C die Anzahl an Schaltfunktionen f IB(z 1,..., z n ) ist, die durch höchstens 2 n 1 Bits dargestellt werden. Offenbar gilt: C 2 n 1 i=0 2 i = 2 2n < 2 2n

16 Also haben mindestens 2 2n 2 2n 1 +1 = 2 2n 1 +1 ( ) 2 2n 2 n = 2 2n 1 +1 ( ) 2 2n Schaltfunktionen eine Darstellung mit mehr als 2 n 1 Bits. Obige Rechnung erlaubt sogar die Aussage, daß nur ein sehr kleiner Bruchteil aller Schaltfunktionen eine Darstellung mit 2 n 1 oder weniger Bits haben kann. Diese Überlegung zeigt, daß wir keine Darstellungsform erwarten können, die für alle Schaltfunktionen als effizient anzusehen ist. Dennoch gibt es universelle Darstellungsformen, die für viele praxisrelevanten Schaltfunktionen effizient sind. Zu solchen Darstellungsformen, die manchmal effizient sind, zählen symbolische Darstellungen durch aussagenlogische Formeln und binäre Entscheidungsgraphen. Aussagenlogik und Schaltfunktionen Während Schaltfunktionen auf einer Black-Box-Sicht beruhen, in der von der Berechnungsvorschrift abstrahiert wird, können aussagenlogische Formeln und deren Schaltbilddarstellungen als Auswertungsmechanismus (oder als Modell für die Realisierung eines Chips) angesehen werden. Die Hörerinnen und Hörer sollten aus dem Grundstudium mit der Aussagenlogik vertraut sein. Wir erläutern nur kurz unsere Schreibweisen und den Zusammenhang zwischen Schaltfunktionen und aussagenlogischen Formeln. Syntax der Aussagenlogik. Sei Z = {z 1,..., z n } eine endliche Menge boolescher Variablen. Aussagenlogische Formeln über Z sind durch die nachstehende Grammatik gegeben. α ::= true z α 1 α 2 α wobei z Z. IL(Z) oder IL(z 1,..., z n ) bezeichnet die Menge aller aussagenlogischer Formeln über Z. Als Basisoperatoren haben wir lediglich die Negation und Konjunktion verwendet. Andere Operatoren wie Disjunktion, Implikation, Äquivalenz, Parität (XOR) können hieraus hergeleitet werden. Das sollte bekannt sein... Schaltfunktionssemantik der Aussagenlogik. Intuitiv stehen die Variablen z Z für Aussagen, die je nach Kontext interpretiert und somit wahr oder falsch sein können. Der Kontext wird durch eine Variablenbelegung η formalisiert, die jeder Variablen z Z einen Wahrheitswert (0 oder 1) zuordnet. Die Semantik aussagenlogischer Formeln α IL(Z) läßt sich daher durch eine Schaltfunktion f α IB(Z) angeben, so daß f α (η) = 1 genau dann, wenn α unter der Belegung η wahr ist. Die formale Definition 13

17 der Schaltfunktion f α ist wie folgt: 5 f true = 1 (konstante Schaltfunktion) f z = proj z = z (Projektionsfunktion) f α = f α (Negation für Schaltfunktionen) f α1 α 2 = f α1 f α2 (Konjunktion für Schaltfunktionen) Die Abbildung α f α induziert eine Eins-zu-Eins-Beziehung zwischen Schaltfunktionen über Z und den Äquivalenzklassen aussagenlogischer Formeln über Z bezüglich der (oftmals als Gleichheit behandelten) Äquivalenz, die genau solche Formeln identifiziert, die bezüglich jeder Variablenbelegung η Eval(Z) denselben Wahrheitswert haben. α 1 α 2 gdw f α1 = f α2 Schaltfunktionen sind also ein semantisches Modell für aussagenlogische Formeln, das von der Realisierung durch Gatter abstrahiert. Abbildung 7 auf Seite 15 zeigt einige Regeln für die Äquivalenz der Aussagenlogik. Die Assoziativ- und Kommutativgesetze rechtfertigen den Verzicht auf Klammern bzw. die Verallgemeinerung von Konjunktion, Disjunktion und Parität (sofern man die Äquivalenz als Gleichheit behandelt, also nur an den Wahrheitswerten interessiert ist). Wir verwenden die üblichen Schreibweisen wie α 1 α n = α i, oder auch 1 i n α 1 α n = 1 i n α 1 α n = α i, i I α i, i I 1 i n für beliebige Indexmengen I. Für die Paritätsfunktion setzen wir die Endlichkeit von I voraus. Die Wahrheitswerte der n-stelligen Paritätsfunktion sind wie folgt definiert. Sind a 1,..., a n {0, 1}, so gilt a 1... a n = 1 genau dann, wenn die Anzahl an Indizes i {1,..., n} mit a i = 1 ungerade ist. Für n = 2 erhält man also die übliche XOR- Semantik: a 1 a 2 = 1 genau dann, wenn (a 1, a 2 ) {(0, 1), (1, 0)}. Für die leere Indexmenge I treffen wir folgende Vereinbarungen: = false, α i = true und = false. i α i i Wir verwenden die üblichen Begriffe. Sei α IL(Z). α heißt 5 Noch eine kleine technische Anmerkung zur Rolle der Variablenmenge. Für aussagenlogische Formeln ist die explizite Angabe der zugrundegelegten Variablenmenge Z nicht nötig. Für α sind höchstens die (syntaktisch) in α vorkommenden Variablen z relevant. Für Schaltfunktionen f IB(Z), also f : Eval(Z) {0, 1}, legt die Menge Z den Definitionsbereich Def (f) = Eval(Z) von f fest. Daher wäre es korrekter die Schaltfunktionen f α mit der zugrundeliegenden Variablenmenge Z zu parametrisieren; also fα Z anstelle von f α zu schreiben. i I α i, α i α i i α i 14

18 Idempotenz: α α α, α α α Doppelte Verneinung: α α De Morgan: (α 1 α 2 ) α 1 α 2 (α 1 α 2 ) α 1 α 2 Assoziativität: (α 1 α 2 ) α 3 α 1 (α 2 α 3 ) (α 1 α 2 ) α 3 α 1 (α 2 α 3 ) (α 1 α 2 ) α 3 α 1 (α 2 α 3 ) Kommutativität: α 1 α 2 α 2 α 1 α 1 α 2 α 2 α 1 α 1 α 2 α 2 α 1 Distributitivität: β (α 1 α 2 ) (β α 1 ) (β α 2 ) β (α 1 α 2 ) (β α 1 ) (β α 2 ) Absorption: α (α β) α α (α β) α Äquivalenzgesetze mit false und true: α true α, α false false, α true α, α α false, α α false, α true true α false α α false α α α true α α true Abbildung 7: Äquivalenzregeln für die Aussagenlogik gültig oder Tautologie, wenn α true, also wenn f α = 1, erfüllbar, wenn es eine erfüllende Belegung für α gibt, d.h. f α 0, unerfüllbar, wenn α nicht erfüllbar ist, also wenn f α = 0. Syntaxbäume und Schaltbilder. Aussagenlogische Formeln können durch Schaltbilder gemäß ihres syntaktischen Aufbaus dargestellt werden, wobei die Gattertypen den gewählten Basisoperatoren entsprechen, die als Grundbausteine der Syntax verwendet werden. In der auf Seite 1.1 angegebenen Syntax wurden die Basisoperatoren (Negation) und (zweistellige Konjunktion) verwendet. Es können jedoch auch andere Basen eingesetzt werden. Zunächst stellen wir fest, daß ein enger Zusammenhang zwischen dem Schaltbild einer aussagenlogische Formel α und dem Syntaxbaum von α bzgl. der zugrundegelegten Basis besteht. Abbildung 8 illustriert diese Aussage an einem Beispiel mit der 15

19 Basismenge Ω = {,, } und der Formel α = (z 1 z 2 ) z 3 ( (z 3 z 4 ) z 5 ). Abbildung 8: Vom Syntaxbaum zum Schaltbild Der Syntaxbaum von α ist auf der Folie links oben skizziert. Das Schaltbild (in seiner üblichen Darstellung, in welchem die Eingabevariablen links, die Ausgabevariablen rechts stehen) für α ergibt sich, indem der Syntaxbaum um 90 Grad im Uhrzeigersinn gedreht wird, Blätter mit denselben Eingabevariablen zusammengelegt und ein Ausgang eingefügt wird. Familien aussagenlogischer Formeln können in derselben Art und Weise durch Schaltbilder dargestellt werden, wobei gemeinsame Teilformeln durch gemeinsame Knoten der Syntaxbäume erfaßt und durch denselben Gatterknoten dargestellt werden. Die Kombination der Syntaxbäume führt zu einem azyklischen Graph anstelle eines Baums. 16

20 Zweistufige Normalformen. Durch Anwenden der Äquivalenzgesetze läßt sich jede aussagenlogische Formel in gewisse Normalform Darstellungen überführen. Die gängigsten Normalformtypen sind KNF (konjunktive Normalform) DNF (disjunktive Normalform) Beide Normalformeln sind Ausgangspunkt vieler Algorithmen, die zur Lösung aussagenlogischer Probleme entwickelt wurden. Für die zweistufige Logiksynthese spielen disjunktive Normalformen eine zentrale Rolle, da sie die Grundlage einer Realisierung von Schaltfunktionen durch PLAs (programmable logic arrays) bilden. Definition [Literal, Monom, DNF] Unter einem Literal versteht man eine Formel des Typs z oder z. Ein Monom (oder Konjunktionsterm) ist eine Konjunktion von Literalen, also eine Formel des Typs γ = ξ 1 ξ 2... ξ l, wobei ξ 1,..., ξ l Literale sind. Eine aussagenlogische Formel ist in disjunktiver Normalform (DNF), falls sie eine Disjunktion von Monomen ist, also eine Formel des Typs α = m i=1 ( ξi,1 ξ i,2... ξ i,li ) mit Literalen ξ i,j, j = 1,..., l i und i = 1,..., m. Formeln in DNF werden auch Polynome genannt. In analoger Weise sind Disjunktionsterme und konjunktive Normalformen definiert. Z.B. ist α = (z 1 z 2 z 3 ) (z 1 z 2 z 3 z 4 ) eine DNF-Formel, während z 1 z 3 ( z 2 z 4 ) eine zu α äquivalente Formel in KNF ist. Aus dem Grundstudium sollte bekannt sein, daß jede aussagenlogische Formel α zu einer Formel in DNF äquivalent ist. Einen Algorithmus zur Erstellung einer DNF-Formel erhält man (im wesentlichen) durch sukzessives Anwenden der De Morganschen Regeln. Entsprechendes gilt für die KNF. Daher sind DNF- sowie KNF-Darstellungen universelle Repräsentationsformen für Schaltfunktionen. Mit den Überlegungen auf Seite 11 ff folgt, daß es Schaltfunktionen gibt, die keine effizienten DNF-oder KNF-Darstellungen haben. Dabei bezeichnen wir eine DNF-Darstellung als effizient, falls deren Gesamtlänge (gemessen an der Gesamtanzahl an Literalen; Vielfachheiten mitgezählt) polynomiell beschränkt in der Anzahl n an Variablen ist. Beispielsweise gibt es keine effiziente DNF-Darstellung der n-stelligen Paritätsfunktion: Lemma Jede DNF-Darstellung der Paritätsfunktion PAR(z 1,..., z n ) = z 1 z 2... z n hat mindestens exponentiell viele Monome. Beweis. Sei α = γ 1... γ m eine DNF-Darstellung von PAR(z 1,..., z n ), wobei die γ j s Monome sind. Wir können o.e. annehmen, dass die γ j s paarweise nicht äquivalent sind und dass keine Variable z i in einem γ j zwei- oder mehrmals vorkommt. Kommt nämlich das positive Literal z i (oder das negative Literal z i ) zweimal in γ j vor, so kann eines der 17

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen.

I. 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

Mehr

Grundlagen der Informationverarbeitung

Grundlagen der Informationverarbeitung Grundlagen der Informationverarbeitung Information wird im Computer binär repräsentiert. Die binär dargestellten Daten sollen im Computer verarbeitet werden, d.h. es müssen Rechnerschaltungen existieren,

Mehr

A.1 Schaltfunktionen und Schaltnetze

A.1 Schaltfunktionen und Schaltnetze Schaltfunktionen und Schaltnetze A. Schaltfunktionen und Schaltnetze 22 Prof. Dr. Rainer Manthey Informatik II Bedeutung des Binärsystems für den Rechneraufbau Seit Beginn der Entwicklung von Computerhardware

Mehr

5. Aussagenlogik und Schaltalgebra

5. Aussagenlogik und Schaltalgebra 5. Aussagenlogik und Schaltalgebra Aussageformen und Aussagenlogik Boolesche Terme und Boolesche Funktionen Boolesche Algebra Schaltalgebra Schaltnetze und Schaltwerke R. Der 1 Aussagen Information oft

Mehr

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 Was bisher geschah Wissensrepräsentation und -verarbeitung in Zustandsübergangssystemen Constraint-Systemen Logiken Repräsentation von Mengen aussagenlogischer Regeln: Wissensbasis (Kontextwissen): Formelmenge,

Mehr

Zusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen

Zusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen Zusammenfassung Zusammenfassung der letzten LV Einführung in die Theoretische Informatik Woche 6 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Satz 1 Seien F, G Boolesche Ausdrücke

Mehr

Teil 1: Digitale Logik

Teil 1: Digitale Logik Teil 1: Digitale Logik Inhalt: Boolesche Algebra kombinatorische Logik sequentielle Logik kurzer Exkurs technologische Grundlagen programmierbare logische Bausteine 1 Analoge und digitale Hardware bei

Mehr

Erfüllbarkeit und Allgemeingültigkeit

Erfü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 = ϕ

Mehr

Formale Systeme. Binary Decision Diagrams. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

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

Mehr

der einzelnen Aussagen den Wahrheitswert der zusammengesetzten Aussage falsch falsch falsch falsch wahr falsch wahr falsch falsch wahr wahr wahr

der einzelnen Aussagen den Wahrheitswert der zusammengesetzten Aussage falsch falsch falsch falsch wahr falsch wahr falsch falsch wahr wahr wahr Kapitel 2 Grundbegriffe der Logik 2.1 Aussagen und deren Verknüpfungen Eine Aussage wie 4711 ist durch 3 teilbar oder 2 ist eine Primzahl, die nur wahr oder falsch sein kann, heißt logische Aussage. Ein

Mehr

Was bisher geschah. Aufgaben: Diagnose, Entscheidungsunterstützung Aufbau Komponenten und Funktion

Was bisher geschah. Aufgaben: Diagnose, Entscheidungsunterstützung Aufbau Komponenten und Funktion Was bisher geschah Daten, Information, Wissen explizites und implizites Wissen Wissensrepräsentation und -verarbeitung: Wissensbasis Kontextwissen Problemdarstellung fallspezifisches Wissen repräsentiert

Mehr

Vorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz

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)

Mehr

Binärer Entscheidungsbaum. für Boole sche Funktionen. (binary decision tree: BDT) Kapitel 4: Binäre Entscheidungsdiagramme

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:

Mehr

Binäre Suchbäume (binary search trees, kurz: bst)

Binäre Suchbäume (binary search trees, kurz: bst) Binäre Suchbäume (binary search trees, kurz: bst) Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binärbaum T mit n := M Knoten Jeder Knoten v von T ist mit einer Zahl m v M markiert.

Mehr

Verwendet man zur Darstellung nur binäre Elemente ( bis lat.: zweimal) so spricht man von binärer Digitaltechnik.

Verwendet man zur Darstellung nur binäre Elemente ( bis lat.: zweimal) so spricht man von binärer Digitaltechnik. Kursleiter : W. Zimmer 1/24 Digitale Darstellung von Größen Eine Meßgröße ist digital, wenn sie in ihrem Wertebereich nur eine endliche Anzahl von Werten annehmen kann, also "abzählbar" ist. Digital kommt

Mehr

Teil II. Schaltfunktionen

Teil II. Schaltfunktionen Teil II Schaltfunktionen 1 Teil II.1 Zahlendarstellung 2 b-adische Systeme Sei b IN mit b > 1 und E b = {0, 1,..., b 1} (Alphabet). Dann ist jede Fixpunktzahl z (mit n Vorkomma und k Nachkommastellen)

Mehr

Logik für Informatiker

Logik für Informatiker Logik für Informatiker 2. Aussagenlogik Teil 3 30.04.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Letztes Mal Aussagenlogik Syntax: welche Formeln? Semantik:

Mehr

Kapitel 1.3. Normalformen aussagenlogischer Formeln und die Darstellbarkeit Boolescher Funktionen durch aussagenlogische Formeln

Kapitel 1.3. Normalformen aussagenlogischer Formeln und die Darstellbarkeit Boolescher Funktionen durch aussagenlogische Formeln Kapitel 1.3 Normalformen aussagenlogischer Formeln und die Darstellbarkeit Boolescher Funktionen durch aussagenlogische Formeln Mathematische Logik (WS 2011/12) Kapitel 1.3: Normalformen 1/ 29 Übersicht

Mehr

Konjunktive und disjunktive Normalformen

Konjunktive und disjunktive Normalformen Konjunktive und disjunktive Normalformen Nachdem gesprochen wurde, wie man Boolesche Terme unter einer Belegung der Variablen interpretiert und dass somit jeder Boolesche Term eine Boolesche Funktion repräsentiert,

Mehr

Codierungstheorie Rudolf Scharlau, SoSe 2006 9

Codierungstheorie Rudolf Scharlau, SoSe 2006 9 Codierungstheorie Rudolf Scharlau, SoSe 2006 9 2 Optimale Codes Optimalität bezieht sich auf eine gegebene Quelle, d.h. eine Wahrscheinlichkeitsverteilung auf den Symbolen s 1,..., s q des Quellalphabets

Mehr

N Bit binäre Zahlen (signed)

N Bit binäre Zahlen (signed) N Bit binäre Zahlen (signed) n Bit Darstellung ist ein Fenster auf die ersten n Stellen der Binär Zahl 0000000000000000000000000000000000000000000000000110 = 6 1111111111111111111111111111111111111111111111111101

Mehr

Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer:

Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binäre Suchbäume (binary search trees, kurz: bst) Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binärbaum T mit n := M Knoten Jeder Knoten v von T ist mit einer Zahl m v M markiert.

Mehr

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

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

Mehr

Informatik A ( Frank Hoffmann)

Informatik A ( Frank Hoffmann) Teillösungen zum 1. Aufgabenblatt zur Vorlesung Informatik A ( Frank Hoffmann) 1. Improvisieren Stellen Sie die Zahl 6 dar durch einen Ausdruck, der genau dreimal die Ziffer i enthält und ansonsten neben

Mehr

Grundlagen der Theoretischen Informatik - Sommersemester 2012. Übungsblatt 1: Lösungsvorschläge

Grundlagen der Theoretischen Informatik - Sommersemester 2012. Übungsblatt 1: Lösungsvorschläge Lehrstuhl für Softwaretechnik und Programmiersprachen Professor Dr. Michael Leuschel Grundlagen der Theoretischen Informatik - Sommersemester 2012 Übungsblatt 1: Lösungsvorschläge Disclaimer: Bei Folgendem

Mehr

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

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

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

Formeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur

Formeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur Signatur Formeln Am Beispiel der Aussagenlogik erklären wir schrittweise wichtige Elemente eines logischen Systems. Zunächst benötigt ein logisches System ein Vokabular, d.h. eine Menge von Namen, die

Mehr

Ernst-Moritz-Arndt-Universität Greifswald Fachbereich Physik Elektronikpraktikum

Ernst-Moritz-Arndt-Universität Greifswald Fachbereich Physik Elektronikpraktikum Ernst-Moritz-Arndt-Universität Greifswald Fachbereich Physik Elektronikpraktikum Protokoll-Nr.: 11 Digitalschaltungen Protokollant: Jens Bernheiden Gruppe: 2 Aufgabe durchgeführt: 25.06.1997 Protokoll

Mehr

Grundlagen der Künstlichen Intelligenz

Grundlagen der Künstlichen Intelligenz Grundlagen der Künstlichen Intelligenz 27. Aussagenlogik: Logisches Schliessen und Resolution Malte Helmert Universität Basel 28. April 2014 Aussagenlogik: Überblick Kapitelüberblick Aussagenlogik: 26.

Mehr

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

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

Mehr

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

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

Mehr

Das Briefträgerproblem

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

Mehr

Formelsammlung. Wahrscheinlichkeit und Information

Formelsammlung. Wahrscheinlichkeit und Information Formelsammlung Wahrscheinlichkeit und Information Ein Ereignis x trete mit der Wahrscheinlichkeit p(x) auf, dann ist das Auftreten dieses Ereignisses verbunden mit der Information I( x): mit log 2 (z)

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

Wissensbasierte Systeme

Wissensbasierte Systeme WBS4 Slide 1 Wissensbasierte Systeme Vorlesung 4 vom 03.11.2004 Sebastian Iwanowski FH Wedel WBS4 Slide 2 Wissensbasierte Systeme 1. Motivation 2. Prinzipien und Anwendungen 3. Logische Grundlagen 4. Suchstrategien

Mehr

Beispiel. Bsp.: Betrachte Schlussweise in: (3) folgt aus (1) und (2), siehe z.b. Resolutionsregel. was ist mit folgender Schlußweise:

Beispiel. Bsp.: Betrachte Schlussweise in: (3) folgt aus (1) und (2), siehe z.b. Resolutionsregel. was ist mit folgender Schlußweise: Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 5.4 Prädikatenlogik mit Gleichheit Resolution 192 Beispiel Bsp.: Betrachte Schlussweise in: 1 Wenn es regnet, dann wird die Straße nass. R N

Mehr

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik Grundlagen der Informatik II Teil I: Formale Modelle der Informatik 1 Einführung GdInfoII 1-2 Ziele/Fragestellungen der Theoretischen Informatik 1. Einführung abstrakter Modelle für informationsverarbeitende

Mehr

Bäume und Wälder. Bäume und Wälder 1 / 37

Bäume und Wälder. Bäume und Wälder 1 / 37 Bäume und Wälder Bäume und Wälder 1 / 37 Bäume Ein (ungerichteter) Baum ist ein ungerichteter Graph G = (V, E), der zusammenhängend ist und keine einfachen Kreise enthält. Bäume und Wälder 2 / 37 Bäume

Mehr

Theoretische Grundlagen der Informatik

Theoretische 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

Mehr

Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4

Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4 Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter H. Schmitt David Farago, Christoph Scheben, Mattias Ulbrich Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt

Mehr

Binary Decision Diagrams (BDDs) 1

Binary 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

Mehr

5 Eigenwerte und die Jordansche Normalform

5 Eigenwerte und die Jordansche Normalform Mathematik für Physiker II, SS Mittwoch 8.6 $Id: jordan.tex,v.6 /6/7 8:5:3 hk Exp hk $ 5 Eigenwerte und die Jordansche Normalform 5.4 Die Jordansche Normalform Wir hatten bereits erwähnt, dass eine n n

Mehr

183.580, WS2012 Übungsgruppen: Mo., 22.10.

183.580, WS2012 Übungsgruppen: Mo., 22.10. VU Grundlagen digitaler Systeme Übung 2: Numerik, Boolesche Algebra 183.580, WS2012 Übungsgruppen: Mo., 22.10. Aufgabe 1: Binäre Gleitpunkt-Arithmetik Addition & Subtraktion Gegeben sind die Zahlen: A

Mehr

Logische Folgerung. Definition 2.11

Logische Folgerung. Definition 2.11 Logische Folgerung Definition 2.11 Sei 2A eine aussagenlogische Formel und F eine endliche Menge aussagenlogischer Formeln aus A. heißt logische Folgerung von F genau dann, wenn I ( ) =1für jedes Modell

Mehr

Diskrete Strukturen und Logik WiSe 2007/08 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de

Diskrete Strukturen und Logik WiSe 2007/08 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de Diskrete Strukturen und Logik WiSe 2007/08 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Diskrete Strukturen und Logik Gesamtübersicht Organisatorisches Einführung Logik & Mengenlehre

Mehr

2. Universelle Algebra

2. Universelle Algebra 2. Universelle Algebra Die Theorie der universellen Algebra verallgemeinert die Theorien der klassischen Algebren. Obwohl ursprünglich nur eine Sorte betrachtet wurde, werden wir hier gleich den mehrsortigen

Mehr

OPERATIONS-RESEARCH (OR)

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

Mehr

Terme stehen für Namen von Objekten des Diskursbereichs (Subjekte, Objekte des natürlichsprachlichen Satzes)

Terme stehen für Namen von Objekten des Diskursbereichs (Subjekte, Objekte des natürlichsprachlichen Satzes) Prädikatenlogik Man kann den natürlichsprachlichen Satz Die Sonne scheint. in der Prädikatenlogik beispielsweise als logisches Atom scheint(sonne) darstellen. In der Sprache der Prädikatenlogik werden

Mehr

Graphen: Einführung. Vorlesung Mathematische Strukturen. Sommersemester 2011

Graphen: Einführung. Vorlesung Mathematische Strukturen. Sommersemester 2011 Graphen: Einführung Vorlesung Mathematische Strukturen Zum Ende der Vorlesung beschäftigen wir uns mit Graphen. Graphen sind netzartige Strukturen, bestehend aus Knoten und Kanten. Sommersemester 20 Prof.

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 29/ 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/ws9

Mehr

Kapitel 3: Boolesche Algebra

Kapitel 3: Boolesche Algebra Inhalt: 3.1 Grundlegende Operationen und Gesetze 3.2 Boolesche Funktionen u. u. ihre Normalformen 3.3 Vereinfachen von booleschen Ausdrücken 3.4 Logische Schaltungen 3.1 Grundlegende Operationen und Gesetze

Mehr

w a is die Anzahl der Vorkommen von a in w Beispiel: abba a = 2

w a is die Anzahl der Vorkommen von a in w Beispiel: abba a = 2 1 2 Notation für Wörter Grundlagen der Theoretischen Informatik Till Mossakowski Fakultät für Informatik Otto-von-Guericke Universität Magdeburg w a is die Anzahl der Vorkommen von a in w Beispiel: abba

Mehr

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2013/14 Isomorphie Zwei Graphen (V 1, E 1 ) und (V

Mehr

Einführung in. Logische Schaltungen

Einführung in. Logische Schaltungen Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von

Mehr

7. Formale Sprachen und Grammatiken

7. Formale Sprachen und Grammatiken 7. Formale Sprachen und Grammatiken Computer verwenden zur Verarbeitung von Daten und Informationen künstliche, formale Sprachen (Maschinenspr., Assemblerspachen, Programmierspr., Datenbankspr., Wissensrepräsentationsspr.,...)

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 8: kontextfreie Grammatiken Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2009/2010 1/37 Überblick Kontextfreie Grammatiken

Mehr

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

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

Mehr

Optimalitätskriterien

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

Mehr

Kapitel 1.3. Normalformen aussagenlogischer Formeln. Mathematische Logik (WS 2010/11) Kapitel 1.3: Normalformen 1 / 1

Kapitel 1.3. Normalformen aussagenlogischer Formeln. Mathematische Logik (WS 2010/11) Kapitel 1.3: Normalformen 1 / 1 Kapitel 1.3 Normalformen aussagenlogischer Formeln Mathematische Logik (WS 2010/11) Kapitel 1.3: Normalformen 1 / 1 Boolesche Formeln, Literale und Klauseln Eine Boolesche Formel ist eine aussagenlogische

Mehr

Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München

Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München Einführung (1) Was ist ein Rechner? Maschine, die Probleme für

Mehr

1 Das Lemma von Burnside und seine Anwendungen

1 Das Lemma von Burnside und seine Anwendungen Das Lemma von Burnside und seine Anwendungen Mit dem Lemma von Burnside lassen sich Zählprobleme lösen, bei denen Symmetrien eine Rolle spielen. Betrachten wir als einführendes Beispiel die Anzahl der

Mehr

Wir benutzen im nachfolgenden Versuch ein PLA zur Implementierung zweier boolscher Funktionen. Dazu einige Vorüberlegungen.

Wir benutzen im nachfolgenden Versuch ein PLA zur Implementierung zweier boolscher Funktionen. Dazu einige Vorüberlegungen. Kapitel 3 Programmable Logic Array (PLA) Die Idee eines PLA ist, dass bei der Chipherstellung ein homogenes Feld von Transistoren erzeugt wird. Die eigentliche Funktionalität wird dann durch Konfiguration

Mehr

Bäume und Wälder. Bäume und Wälder 1 / 37

Bäume und Wälder. Bäume und Wälder 1 / 37 Bäume und Wälder Bäume und Wälder 1 / 37 Bäume Ein (ungerichteter) Baum ist ein ungerichteter Graph G = (V, E), der zusammenhängend ist und keine Kreise enthält. Diese Graphen sind Bäume: Diese aber nicht:

Mehr

Daten, Informationen, Kodierung. Binärkodierung

Daten, Informationen, Kodierung. Binärkodierung Binärkodierung Besondere Bedeutung der Binärkodierung in der Informatik Abbildung auf Alphabet mit zwei Zeichen, in der Regel B = {0, 1} Entspricht den zwei möglichen Schaltzuständen in der Elektronik:

Mehr

Zusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1

Zusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1 Zusammenfassung Zusammenfassung der letzten LV Einführung in die Theoretische Informatik Woche 7 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 1 Wir betrachten die folgende Signatur

Mehr

2.11 Kontextfreie Grammatiken und Parsebäume

2.11 Kontextfreie Grammatiken und Parsebäume 2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle

Mehr

Semantik von Formeln und Sequenzen

Semantik von Formeln und Sequenzen Semantik von Formeln und Sequenzen 33 Grundidee der Verwendung von Logik im Software Entwurf Syntax: Menge von Formeln = Axiome Ax K ist beweisbar Formel ϕ beschreiben Korrektkeit Vollständigkeit beschreibt

Mehr

Normalformen boolescher Funktionen

Normalformen boolescher Funktionen Normalformen boolescher Funktionen Jeder boolesche Ausdruck kann durch (äquivalente) Umformungen in gewisse Normalformen gebracht werden! Disjunktive Normalform (DNF) und Vollkonjunktion: Eine Vollkonjunktion

Mehr

Zusammenhänge präzisieren im Modell

Zusammenhänge präzisieren im Modell Zusammenhänge präzisieren im Modell Dr. Roland Poellinger Munich Center for Mathematical Philosophy Begriffsfeld Logik 1 Mathematik und Logik Die Mathematik basiert auf logisch gültigen Folgerungsschritten

Mehr

Klausur für Studiengänge INF und IST

Klausur für Studiengänge INF und IST Familienname: Matrikelnummer: Studiengang: (bitte ankreuzen) INF IST MED Vorname: Email-Adresse: Immatrikulationsjahr: Klausur für Studiengänge INF und IST sowie Leistungsschein für Studiengang Medieninformatik

Mehr

Codes und Informationsgehalt

Codes 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

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Woche 10 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Zusammenfassung Zusammenfassung der letzten LV Satz Sei G = (V, Σ, R, S) eine kontextfreie

Mehr

Theoretische Grundlagen des Software Engineering

Theoretische Grundlagen des Software Engineering Theoretische Grundlagen des Software Engineering 7: Einführung Aussagenlogik schulz@eprover.org Logisches Schließen 2 gold +1000, 1 per step, Beispiel: Jage den Wumpus Performance measure death 1000 10

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

Kapitel 4. Euklidische Ringe und die Jordansche Normalform. 4.1 Euklidische Ringe

Kapitel 4. Euklidische Ringe und die Jordansche Normalform. 4.1 Euklidische Ringe Kapitel 4 Euklidische Ringe und die Jordansche Normalform 4.1 Euklidische Ringe Die Ringe der ganzen Zahlen, Z, sowie Polynomringe über Körpern, K[X], wobei K ein Körper ist, haben die folgenden Gemeinsamheiten:

Mehr

Endlicher Automat (EA)

Endlicher Automat (EA) Endlicher Automat (EA) siehe auch Formale Grundlagen 3 1 Motivation: Automaten für die Modellierung, Spezifikation und Verifikation verwenden! Definition Ein Endlicher Automat A = (S,I,Σ,T,F) besteht aus

Mehr

Logik und Mengenlehre. ... wenn man doch nur vernünftig mit Datenbanken umgehen können will?

Logik und Mengenlehre. ... wenn man doch nur vernünftig mit Datenbanken umgehen können will? Mengenlehre und Logik: iederholung Repetitorium: Grundlagen von Mengenlehre und Logik 2002 Prof. Dr. Rainer Manthey Informationssysteme 1 arum??? arum um alles in der elt muss man sich mit herumschlagen,......

Mehr

Kapitel DB:III. III. Konzeptueller Datenbankentwurf

Kapitel DB:III. III. Konzeptueller Datenbankentwurf Kapitel DB:III III. Konzeptueller Datenbankentwurf Einführung in das Entity-Relationship-Modell ER-Konzepte und ihre Semantik Charakterisierung von Beziehungstypen Existenzabhängige Entity-Typen Abstraktionskonzepte

Mehr

2. Vorlesung. Slide 40

2. Vorlesung. Slide 40 2. Vorlesung Slide 40 Knobelaufgabe Was tut dieses Programm? Informell Formal Wie stellt man dies sicher? knobel(a,b) { Wenn a = 0 dann return b sonst { solange b 0 wenn a > b dann { a := a - b sonst b

Mehr

Algorithmen II Vorlesung am 15.11.2012

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

Mehr

Kombinatorische Logik. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck

Kombinatorische Logik. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck Kombinatorische Logik Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck Überblick Analog- und Digitaltechnik Boolesche Algebra Schaltfunktionen Gatter Normalformen

Mehr

Elemente der Analysis II

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

Mehr

Entwicklung eines korrekten Übersetzers

Entwicklung eines korrekten Übersetzers Entwicklung eines korrekten Übersetzers für eine funktionale Programmiersprache im Theorembeweiser Coq Thomas Strathmann 14.01.2011 Gliederung 1 Einleitung

Mehr

Mai 2006. Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln

Mai 2006. Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln Hauptseminar: Nichtrelationale Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln Mai 2006 Was ist eine Datenbank? Erweiterung relationaler um eine Deduktionskomponente Diese

Mehr

VHDL Einleitung. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2010

VHDL Einleitung. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2010 VHDL Einleitung Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2010 VHDL Einleitung 1/17 2010-04-14 Inhalt Entwurfsebenen und -sichten

Mehr

Technische Informatik - Eine Einführung

Technische Informatik - Eine Einführung Martin-Luther-Universität Halle-Wittenberg Fachbereich Mathematik und Informatik Lehrstuhl für Technische Informatik Prof. P. Molitor Ausgabe: 2005-02-21 Abgabe: 2005-02-21 Technische Informatik - Eine

Mehr

Was bisher geschah. Lernen: überwachtes Lernen. biologisches Vorbild neuronaler Netze: unüberwachtes Lernen

Was bisher geschah. Lernen: überwachtes Lernen. biologisches Vorbild neuronaler Netze: unüberwachtes Lernen Was bisher geschah Lernen: überwachtes Lernen korrigierendes Lernen bestärkendes Lernen unüberwachtes Lernen biologisches Vorbild neuronaler Netze: Neuron (Zellkörper, Synapsen, Axon) und Funktionsweise

Mehr

4. Relationen. Beschreibung einer binären Relation

4. Relationen. Beschreibung einer binären Relation 4. Relationen Relationen spielen bei Datenbanken eine wichtige Rolle. Die meisten Datenbanksysteme sind relational. 4.1 Binäre Relationen Eine binäre Relation (Beziehung) R zwischen zwei Mengen A und B

Mehr

Betragsgleichungen und die Methode der Fallunterscheidungen

Betragsgleichungen und die Methode der Fallunterscheidungen mathe online Skripten http://www.mathe-online.at/skripten/ Betragsgleichungen und die Methode der Fallunterscheidungen Franz Embacher Fakultät für Mathematik der Universität Wien E-mail: franz.embacher@univie.ac.at

Mehr

Theoretische Informatik

Theoretische Informatik Theoretische Informatik Einheit 1 Mathematische Methodik 1. Problemlösen 2. Beweistechniken 3. Wichtige Grundbegriffe Methodik des Problemlösens Klärung der Voraussetzungen Welche Begriffe sind zum Verständnis

Mehr

Protokoll zu Grundelemente der Digitaltechnik

Protokoll zu Grundelemente der Digitaltechnik Protokoll zu Grundelemente der Digitaltechnik Ronn Harbich 22. uli 2005 Ronn Harbich Protokoll zu Grundelemente der Digitaltechnik 2 Vorwort Das hier vorliegende Protokoll wurde natürlich mit größter Sorgfalt

Mehr

Vorlesung. Funktionen/Abbildungen 1

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

Mehr

Geometrische Mannigfaltigkeiten

Geometrische Mannigfaltigkeiten Geometrische Mannigfaltigkeiten Thilo Kuessner Abstract Kurzfassung der Vorlesung: Definitionen, Beispiele und Sätze, keine Beweise. Definition 1. Ein topologischer Raum ist eine Menge X mit einer Familie

Mehr

Semantic Web Technologies I!

Semantic Web Technologies I! www.semantic-web-grundlagen.de Semantic Web Technologies I! Lehrveranstaltung im WS11/12! Dr. Elena Simperl! DP Dr. Sebastian Rudolph! M.Sc. Anees ul Mehdi! www.semantic-web-grundlagen.de Logik Grundlagen!

Mehr

Klausur Formale Systeme Fakultät für Informatik WS 2009/2010

Klausur Formale Systeme Fakultät für Informatik WS 2009/2010 Klausur Formale Systeme Fakultät für Informatik WS 2009/2010 Prof. Dr. Bernhard Beckert 18. Februar 2010 Name: Mustermann Vorname: Peter Matrikel-Nr.: 0000000 Klausur-ID: 0000 A1 (15) A2 (10) A3 (10) A4

Mehr

klar. Um die zweite Bedingung zu zeigen, betrachte u i U i mit u i = 0. Das mittlere -Zeichen liefert s

klar. Um die zweite Bedingung zu zeigen, betrachte u i U i mit u i = 0. Das mittlere -Zeichen liefert s Nachtrag zur allgemeinen Vektorraum-Theorie. 1.5.15. Direkte Summen. Sei V ein Vektorraum, seien U 1,..., U t Unterräume, wir schreiben V = U 1 U 2 U t = t i=1 U i falls die folgenden beiden Bedingungen

Mehr

Technische Informatik

Technische Informatik Technische Informatik Eine einführende Darstellung von Prof. Dr. Bernd Becker Prof. Dr. Paul Molitor Oldenbourg Verlag München Wien Inhaltsverzeichnis 1 Einleitung 1 1.1 Was ist überhaupt ein Rechner?

Mehr

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

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

Mehr

Eine Logikschaltung zur Addition zweier Zahlen

Eine 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

Mehr