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

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

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

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

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

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

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

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

Rechnerstrukturen. Michael Engel und Peter Marwedel WS 2013/14. TU Dortmund, Fakultät für Informatik

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

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

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

Informationsverarbeitung auf Bitebene

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

Mehr

Syntax der Aussagenlogik. Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen. Formel als Syntaxbaum. Teilformel A 3 A 1 A 4

Syntax der Aussagenlogik. Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen. Formel als Syntaxbaum. Teilformel A 3 A 1 A 4 Syntax der Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen Barbara König Übungsleitung: Christoph Blume Eine atomare Formel hat die Form A i (wobei i = 1, 2, 3,...). Definition (Formel)

Mehr

Übung 4: Aussagenlogik II

Übung 4: Aussagenlogik II Übung 4: Aussagenlogik II Diskrete Strukturen im Wintersemester 2013/2014 Markus Kaiser 8. Januar 2014 1/10 Äquivalenzregeln Identität F true F Dominanz F true true Idempotenz F F F Doppelte Negation F

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

Aussagenlogik. Aussagen und Aussagenverknüpfungen

Aussagenlogik. Aussagen und Aussagenverknüpfungen Aussagenlogik Aussagen und Aussagenverknüpfungen Aussagen sind Sätze, von denen sich sinnvollerweise sagen läßt, sie seien wahr oder falsch. Jede Aussage besitzt also einen von zwei möglichen Wahrheitswerten,

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

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

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

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

II. Grundlagen der Programmierung

II. Grundlagen der Programmierung II. Grundlagen der Programmierung II.1. Zahlenssteme und elementare Logik 1.1. Zahlenssteme 1.1.1. Ganze Zahlen Ganze Zahlen werden im Dezimalsstem als Folge von Ziffern 0, 1,..., 9 dargestellt, z.b. 123

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

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

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

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

Logik (Teschl/Teschl 1.1 und 1.3)

Logik (Teschl/Teschl 1.1 und 1.3) Logik (Teschl/Teschl 1.1 und 1.3) Eine Aussage ist ein Satz, von dem man eindeutig entscheiden kann, ob er wahr (true, = 1) oder falsch (false, = 0) ist. Beispiele a: 1 + 1 = 2 b: Darmstadt liegt in Bayern.

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

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

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

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

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

Aussagenlogik. Formale Methoden der Informatik WiSe 2010/2011 teil 7, folie 1 (von 50)

Aussagenlogik. Formale Methoden der Informatik WiSe 2010/2011 teil 7, folie 1 (von 50) Aussagenlogik Formale Methoden der Informatik WiSe 2/2 teil 7, folie (von 5) Teil VII: Aussagenlogik. Einführung 2. Boolesche Funktionen 3. Boolesche Schaltungen Franz-Josef Radermacher & Uwe Schöning,

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

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

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

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

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

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 Technische Informatik - Eine Einführung Boolesche Funktionen - Grundlagen

Mehr

Binary Decision Diagrams (Einführung)

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

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

Ersetzbarkeitstheorem

Ersetzbarkeitstheorem Ersetzbarkeitstheorem Die Abgeschlossenheit läßt sich auch folgendermaßen formulieren: Ersetzbarkeitstheorem Seien F und G Formeln mit F G. SeienH und H Formeln, so daß H aus H hervorgeht, indem ein Vorkommen

Mehr

Algorithmen für OBDD s. 1. Reduziere 2. Boole sche Operationen

Algorithmen für OBDD s. 1. Reduziere 2. Boole sche Operationen Algorithmen für OBDD s 1. Reduziere 2. Boole sche Operationen 1 1. Reduziere siehe auch M.Huth und M.Ryan: Logic in Computer Science - Modelling and Reasoning about Systems, Cambridge Univ.Press, 2000

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

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

Logic in a Nutshell. Christian Liguda

Logic in a Nutshell. Christian Liguda Logic in a Nutshell Christian Liguda Quelle: Kastens, Uwe und Büning, Hans K., Modellierung: Grundlagen und formale Methoden, 2009, Carl Hanser Verlag Übersicht Logik - Allgemein Aussagenlogik Modellierung

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

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

Kapitel 4 Schaltungen mit Delays (Schaltwerke) Literatur: Oberschelp/Vossen, Kapitel 4. Kapitel 4: Schaltungen mit Delays Seite 1

Kapitel 4 Schaltungen mit Delays (Schaltwerke) Literatur: Oberschelp/Vossen, Kapitel 4. Kapitel 4: Schaltungen mit Delays Seite 1 Kapitel 4 Schaltungen mit Delays (Schaltwerke) Literatur: Oberschelp/Vossen, Kapitel 4 Kapitel 4: Schaltungen mit Delays Seite 1 Schaltungen mit Delays Inhaltsverzeichnis 4.1 Einführung 4.2 Addierwerke

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

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

Einführung in die Logik

Einführung in die Logik Einführung in die Logik Klaus Madlener und Roland Meyer 24. April 2013 Inhaltsverzeichnis 1 Aussagenlogik 1 1.1 Syntax................................. 1 1.2 Semantik............................... 3 1.3

Mehr

Kapitel 1. Aussagenlogik

Kapitel 1. Aussagenlogik Kapitel 1 Aussagenlogik Einführung Mathematische Logik (WS 2012/13) Kapitel 1: Aussagenlogik 1/17 Übersicht Teil I: Syntax und Semantik der Aussagenlogik (1.0) Junktoren und Wahrheitsfunktionen (1.1) Syntax

Mehr

Fakultät für Informatik Universität Magdeburg Jürgen Dassow. Vorbemerkungen

Fakultät für Informatik Universität Magdeburg Jürgen Dassow. Vorbemerkungen Vorbemerkungen if (x > y) z = x; else z = y; Wenn es blaue Tiger regnet, dann fressen alle Kirschbäume schwarze Tomaten. q(1) = 1, q(i) = q(i 1) + 2i 1 für i 2 Welchen Wert hat q(6)? 24 ist durch 2 teilbar.

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

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

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

Beispiel Aussagenlogik nach Schöning: Logik...

Beispiel Aussagenlogik nach Schöning: Logik... Beispiel Aussagenlogik nach Schöning: Logik... Worin besteht das Geheimnis Ihres langen Lebens? wurde ein 100-jähriger gefragt. Ich halte mich streng an die Diätregeln: Wenn ich kein Bier zu einer Mahlzeit

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

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

3. Grundlegende Begriffe von Logiken - Aussagenlogik

3. Grundlegende Begriffe von Logiken - Aussagenlogik 3. Grundlegende Begriffe von Logiken - Aussagenlogik Wichtige Konzepte und Begriffe in Logiken: Syntax (Signatur, Term, Formel,... ): Festlegung, welche syntaktischen Gebilde als Formeln (Aussagen, Sätze,

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

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

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

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

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

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

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

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

Kapitel 1.0. Aussagenlogik: Einführung. Mathematische Logik (WS 2011/12) Kapitel 1.0: Aussagenlogik: Einführung 1/ 1

Kapitel 1.0. Aussagenlogik: Einführung. Mathematische Logik (WS 2011/12) Kapitel 1.0: Aussagenlogik: Einführung 1/ 1 Kapitel 1.0 Aussagenlogik: Einführung Mathematische Logik (WS 2011/12) Kapitel 1.0: Aussagenlogik: Einführung 1/ 1 Ziele der Aussagenlogik In der Aussagenlogik analysiert man die Wahrheitswerte zusammengesetzter

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

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

Logik für Informatiker

Logik für Informatiker Vorlesung Logik für Informatiker 5. Aussagenlogik Normalformen Bernhard Beckert Universität Koblenz-Landau Sommersemester 2006 Logik für Informatiker, SS 06 p.1 Normalformen Definition: Literal Atom (aussagenlogische

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

Geschichte der Logik ist eng verknüpft mit (Sprach-) Philosophie. Logik untersucht, wie aus wahren Aussagen andere wahre Aussagen folgen

Geschichte der Logik ist eng verknüpft mit (Sprach-) Philosophie. Logik untersucht, wie aus wahren Aussagen andere wahre Aussagen folgen Was ist Logik? Geschichte der Logik ist eng verknüpft mit (Sprach-) Philosophie Logik untersucht, wie aus wahren Aussagen andere wahre Aussagen folgen Beschränkung auf "Aussage A folgt nach einer gegebenen

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

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

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

Computational Logic Algorithmische Logik Boolesche Algebra und Resolution

Computational Logic Algorithmische Logik Boolesche Algebra und Resolution Computational Logic Algorithmische Logik Boolesche Algebra und Resolution Ralf Moeller Hamburg Univ. of Technology Boole'sche Algebra Äquivalenzen als "Transformationsgesetze" Ersetzbarkeitstheorem Zentrale

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

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

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

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

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

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

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

TU5 Aussagenlogik II

TU5 Aussagenlogik II TU5 Aussagenlogik II Daniela Andrade daniela.andrade@tum.de 21.11.2016 1 / 21 Kleine Anmerkung Meine Folien basieren auf den DS Trainer von Carlos Camino, den ihr auf www.carlos-camino.de/ds findet ;)

Mehr

Formalisierung von Sudoku Formalisieren Sie das Sudoku-Problem:

Formalisierung von Sudoku Formalisieren Sie das Sudoku-Problem: Formalisierung von Sudoku Formalisieren Sie das Sudoku-Problem: 4 4 4 4 4 1 1 1 1 2 2 3 3 5 5 5 5 5 5 6 6 6 7 7 8 8 9 9 9 9 9 8 6 Verwenden Sie dazu eine atomare Formel A[n, x, y] für jedes Tripel (n,

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

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 3: Alphabete (und Relationen, Funktionen, Aussagenlogik) Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Oktober 2008 1/18 Überblick Alphabete ASCII Unicode

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

Protokoll zum Praktikum des Moduls Technische Informatik an der JLU Gießen

Protokoll zum Praktikum des Moduls Technische Informatik an der JLU Gießen Protokoll zum Praktikum des Moduls Technische Informatik an der JLU Gießen Technische Informatik Versuch 2 Julian Bergmann, Dennis Getzkow 8. Juni 203 Versuch 2 Einführung Im Versuch 2 sollte sich mit

Mehr

Mathematik für Studierende der Biologie und des Lehramtes Chemie Wintersemester 2013/14. Auswahl vorausgesetzter Vorkenntnisse

Mathematik für Studierende der Biologie und des Lehramtes Chemie Wintersemester 2013/14. Auswahl vorausgesetzter Vorkenntnisse UNIVERSITÄT DES SAARLANDES FACHRICHTUNG 6.1 MATHEMATIK Dipl.-Math. Kevin Everard Mathematik für Studierende der Biologie und des Lehramtes Chemie Wintersemester 2013/14 Auswahl vorausgesetzter Vorkenntnisse

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