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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

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

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

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

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

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

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

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren: 4. AUSSAGENLOGIK: SYNTAX 4.1 Objektsprache und Metasprache 4.2 Gebrauch und Erwähnung 4.3 Metavariablen: Verallgemeinerndes Sprechen über Ausdrücke von AL 4.4 Die Sprache der Aussagenlogik 4.5 Terminologie

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

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

Einführung in die Algebra

Einführung in die Algebra Prof. Dr. H. Brenner Osnabrück SS 2009 Einführung in die Algebra Vorlesung 13 Einheiten Definition 13.1. Ein Element u in einem Ring R heißt Einheit, wenn es ein Element v R gibt mit uv = vu = 1. DasElementv

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Brückenkurs Mathematik TU Dresden 2015 Lineare Gleichungssysteme Schwerpunkte: Modellbildung geometrische Interpretation Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik auf der

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

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

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

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

Programmiersprachen und Übersetzer

Programmiersprachen und Übersetzer Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch

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

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

Musterlösungen zur Linearen Algebra II Blatt 5

Musterlösungen zur Linearen Algebra II Blatt 5 Musterlösungen zur Linearen Algebra II Blatt 5 Aufgabe. Man betrachte die Matrix A := über dem Körper R und über dem Körper F und bestimme jeweils die Jordan- Normalform. Beweis. Das charakteristische

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

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

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

ERGÄNZUNGEN ZUR ANALYSIS II MITTELWERTSATZ UND ANWENDUNGEN

ERGÄNZUNGEN ZUR ANALYSIS II MITTELWERTSATZ UND ANWENDUNGEN ERGÄNZUNGEN ZUR ANALYSIS II MITTELWERTSATZ UND ANWENDUNGEN CHRISTIAN HARTFELDT. Zweiter Mittelwertsatz Der Mittelwertsatz Satz VI.3.4) lässt sich verallgemeinern zu Satz.. Seien f, g : [a, b] R auf [a,

Mehr

3.2 Spiegelungen an zwei Spiegeln

3.2 Spiegelungen an zwei Spiegeln 3 Die Theorie des Spiegelbuches 45 sehen, wenn die Person uns direkt gegenüber steht. Denn dann hat sie eine Drehung um die senkrechte Achse gemacht und dabei links und rechts vertauscht. 3.2 Spiegelungen

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

7 Rechnen mit Polynomen

7 Rechnen mit Polynomen 7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Lineare Gleichungssysteme 1 Zwei Gleichungen mit zwei Unbekannten Es kommt häufig vor, dass man nicht mit einer Variablen alleine auskommt, um ein Problem zu lösen. Das folgende Beispiel soll dies verdeutlichen

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

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

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung. Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,

Mehr

Anmerkungen zur Übergangsprüfung

Anmerkungen zur Übergangsprüfung DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung

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

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

1 Aussagenlogik und Mengenlehre

1 Aussagenlogik und Mengenlehre 1 Aussagenlogik und engenlehre 1.1 engenlehre Definition (Georg Cantor): nter einer enge verstehen wir jede Zusammenfassung von bestimmten wohl unterschiedenen Objekten (m) unserer Anschauung oder unseres

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

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

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen Austausch- bzw. Übergangsrozesse und Gleichgewichtsverteilungen Wir betrachten ein System mit verschiedenen Zuständen, zwischen denen ein Austausch stattfinden kann. Etwa soziale Schichten in einer Gesellschaft:

Mehr

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben. Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.

Mehr

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren. Basis und Dimension Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren. Definition. Sei V ein K-Vektorraum und (v i ) i I eine Familie von Vektoren

Mehr

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte 50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien

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

15 Optimales Kodieren

15 Optimales Kodieren 15 Optimales Kodieren Es soll ein optimaler Kodierer C(T ) entworfen werden, welcher eine Information (z.b. Text T ) mit möglichst geringer Bitanzahl eindeutig überträgt. Die Anforderungen an den optimalen

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

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 Einführung Beispiel: Aussagenlogische Formeln Aus dem Logikteil: Definition (Syntax

Mehr

9. Übung Formale Grundlagen der Informatik

9. Übung Formale Grundlagen der Informatik Institut für Informatik Sommersemester 2001 Universität Zürich 9. Übung Formale Grundlagen der Informatik Norbert E. Fuchs (fuchs@ifi.unizh.ch) Reinhard Riedl (riedl@ifi.unizh.ch) Nadine Korolnik (korolnik@ifi.unizh.ch)

Mehr

3. Zusammenhang. 22 Andreas Gathmann

3. Zusammenhang. 22 Andreas Gathmann 22 Andreas Gathmann 3. Zusammenhang Eine der anschaulichsten Eigenschaften eines topologischen Raumes ist wahrscheinlich, ob er zusammenhängend ist oder aus mehreren Teilen besteht. Wir wollen dieses Konzept

Mehr

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel. Kontextfreie Kontextfreie Motivation Formale rundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen Bisher hatten wir Automaten, die Wörter akzeptieren Frank Heitmann heitmann@informatik.uni-hamburg.de

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

Formale Methoden II. Gerhard Jäger. SS 2008 Universität Bielefeld. Teil 8, 11. Juni 2008. Formale Methoden II p.1/30

Formale Methoden II. Gerhard Jäger. SS 2008 Universität Bielefeld. Teil 8, 11. Juni 2008. Formale Methoden II p.1/30 Formale Methoden II SS 2008 Universität Bielefeld Teil 8, 11. Juni 2008 Gerhard Jäger Formale Methoden II p.1/30 Beispiele Anmerkung: wenn der Wahrheitswert einer Formel in einem Modell nicht von der Belegungsfunktion

Mehr

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können. 6. Bäume Lernziele 6. Bäume Lernziele: Definition und Eigenschaften binärer Bäume kennen, Traversierungsalgorithmen für binäre Bäume implementieren können, die Bedeutung von Suchbäumen für die effiziente

Mehr

Informatik I WS 07/08 Tutorium 24

Informatik I WS 07/08 Tutorium 24 Info I Tutorium 24 Informatik I WS 07/08 Tutorium 24 3.2.07 astian Molkenthin E-Mail: infotut@sunshine2k.de Web: http://infotut.sunshine2k.de Organisatorisches / Review is zum 2.2 müssen alle Praxisaufgaben

Mehr

Absolute Stetigkeit von Maßen

Absolute Stetigkeit von Maßen Absolute Stetigkeit von Maßen Definition. Seien µ und ν Maße auf (X, Ω). Dann heißt ν absolut stetig bezüglich µ (kurz ν µ ), wenn für alle A Ω mit µ(a) = 0 auch gilt dass ν(a) = 0. Lemma. Sei ν ein endliches

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

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Informationsblatt Induktionsbeweis

Informationsblatt Induktionsbeweis Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln

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

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt Methoden und Techniken an Beispielen erklärt Georg Anegg 5. November 009 Beispiel. Die Folge {a n } sei wie folgt definiert (a, d, q R, q ): a 0 a, a n+ a n q + d (n 0) Man bestimme eine explizite Darstellung

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

Mehr

9 Multiplexer und Code-Umsetzer

9 Multiplexer und Code-Umsetzer 9 9 Multiplexer und Code-Umsetzer In diesem Kapitel werden zwei Standard-Bauelemente, nämlich Multiplexer und Code- Umsetzer, vorgestellt. Diese Bausteine sind für eine Reihe von Anwendungen, wie zum Beispiel

Mehr

Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema

Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema 2x 4 + x 3 + x + 3 div x 2 + x 1 = 2x 2 x + 3 (2x 4 + 2x 3 2x 2 ) x 3 + 2x 2 + x + 3 ( x

Mehr

Name:... Matrikel-Nr.:... 3 Aufgabe Handyklingeln in der Vorlesung (9 Punkte) Angenommen, ein Student führt ein Handy mit sich, das mit einer Wahrscheinlichkeit von p während einer Vorlesung zumindest

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

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 Vektor- und Matrizenrechnung. Matrizen

Einführung in die Vektor- und Matrizenrechnung. Matrizen Einführung in die Vektor- und Matrizenrechnung Matrizen Definition einer Matrix Unter einer (reellen) m x n Matrix A versteht man ein rechteckiges Schema aus reellen Zahlen, die wie folgt angeordnet sind:

Mehr

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r ) Definition B : Menge der binären Bäume, rekursiv definiert durch die Regeln: ist ein binärer Baum sind t l, t r binäre Bäume, so ist auch t =, t l, t r ein binärer Baum nur das, was durch die beiden vorigen

Mehr

WS 2009/10. Diskrete Strukturen

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

Mehr

8. Quadratische Reste. Reziprozitätsgesetz

8. Quadratische Reste. Reziprozitätsgesetz O Forster: Prizahlen 8 Quadratische Reste Rezirozitätsgesetz 81 Definition Sei eine natürliche Zahl 2 Eine ganze Zahl a heißt uadratischer Rest odulo (Abkürzung QR, falls die Kongruenz x 2 a od eine Lösung

Mehr

3.1. Die komplexen Zahlen

3.1. Die komplexen Zahlen 3.1. Die komplexen Zahlen Es gibt viele Wege, um komplexe Zahlen einzuführen. Wir gehen hier den wohl einfachsten, indem wir C R als komplexe Zahlenebene und die Punkte dieser Ebene als komplexe Zahlen

Mehr

2 Darstellung von Zahlen und Zeichen

2 Darstellung von Zahlen und Zeichen 2.1 Analoge und digitale Darstellung von Werten 79 2 Darstellung von Zahlen und Zeichen Computer- bzw. Prozessorsysteme führen Transformationen durch, die Eingaben X auf Ausgaben Y abbilden, d.h. Y = f

Mehr

Kapitel 6: Graphalgorithmen Gliederung

Kapitel 6: Graphalgorithmen Gliederung Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen

Mehr

Data Mining: Einige Grundlagen aus der Stochastik

Data Mining: Einige Grundlagen aus der Stochastik Data Mining: Einige Grundlagen aus der Stochastik Hagen Knaf Studiengang Angewandte Mathematik Hochschule RheinMain 21. Oktober 2015 Vorwort Das vorliegende Skript enthält eine Zusammenfassung verschiedener

Mehr

Theoretische Informatik SS 04 Übung 1

Theoretische Informatik SS 04 Übung 1 Theoretische Informatik SS 04 Übung 1 Aufgabe 1 Es gibt verschiedene Möglichkeiten, eine natürliche Zahl n zu codieren. In der unären Codierung hat man nur ein Alphabet mit einem Zeichen - sagen wir die

Mehr

WS 2008/09. Diskrete Strukturen

WS 2008/09. Diskrete Strukturen WS 2008/09 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0809

Mehr

Beispiel 48. 4.3.2 Zusammengesetzte Zufallsvariablen

Beispiel 48. 4.3.2 Zusammengesetzte Zufallsvariablen 4.3.2 Zusammengesetzte Zufallsvariablen Beispiel 48 Ein Würfel werde zweimal geworfen. X bzw. Y bezeichne die Augenzahl im ersten bzw. zweiten Wurf. Sei Z := X + Y die Summe der gewürfelten Augenzahlen.

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

Kombinatorische Optimierung

Kombinatorische Optimierung Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 1 Programm des

Mehr

4. BEZIEHUNGEN ZWISCHEN TABELLEN

4. BEZIEHUNGEN ZWISCHEN TABELLEN 4. BEZIEHUNGEN ZWISCHEN TABELLEN Zwischen Tabellen können in MS Access Beziehungen bestehen. Durch das Verwenden von Tabellen, die zueinander in Beziehung stehen, können Sie Folgendes erreichen: Die Größe

Mehr

0, v 6 = 2 2. 1, v 4 = 1. 2. span(v 1, v 5, v 6 ) = span(v 1, v 2, v 3, v 4, v 5, v 6 ) 4. span(v 1, v 2, v 4 ) = span(v 2, v 3, v 5, v 6 )

0, v 6 = 2 2. 1, v 4 = 1. 2. span(v 1, v 5, v 6 ) = span(v 1, v 2, v 3, v 4, v 5, v 6 ) 4. span(v 1, v 2, v 4 ) = span(v 2, v 3, v 5, v 6 ) Aufgabe 65. Ganz schön span(n)end. Gegeben sei folgende Menge M von 6 Vektoren v, v,..., v 6 R 4 aus Aufgabe P 6: M = v =, v =, v =, v 4 =, v 5 =, v 6 = Welche der folgenden Aussagen sind wahr? span(v,

Mehr

11.3 Komplexe Potenzreihen und weitere komplexe Funktionen

11.3 Komplexe Potenzreihen und weitere komplexe Funktionen .3 Komplexe Potenzreihen und weitere komplexe Funktionen Definition.) komplexe Folgen: z n = x n + j. y n mit zwei reellen Folgen x n und y n.) Konvergenz: Eine komplexe Folge z n = x n + j. y n heißt

Mehr

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen Gleichungen Lösen Was bedeutet es, eine Gleichung zu lösen? Was ist überhaupt eine Gleichung? Eine Gleichung ist, grundsätzlich eine Aussage über zwei mathematische Terme, dass sie gleich sind. Ein Term

Mehr

Die reellen Lösungen der kubischen Gleichung

Die reellen Lösungen der kubischen Gleichung Die reellen Lösungen der kubischen Gleichung Klaus-R. Löffler Inhaltsverzeichnis 1 Einfach zu behandelnde Sonderfälle 1 2 Die ganzrationale Funktion dritten Grades 2 2.1 Reduktion...........................................

Mehr