Formale Grundlagen (Nachträge)

Ähnliche Dokumente
der einzelnen Aussagen den Wahrheitswert der zusammengesetzten Aussage falsch falsch falsch falsch wahr falsch wahr falsch falsch wahr wahr wahr

Grundlagen der Informationverarbeitung

Grundlagen der Informatik I Informationsdarstellung

5. Aussagenlogik und Schaltalgebra

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

Daten, Informationen, Kodierung. Binärkodierung

Logik für Informatiker

A.1 Schaltfunktionen und Schaltnetze

Formeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur

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

Schaltalgebra - logische Schaltungen

WS 2009/10. Diskrete Strukturen

Signalverarbeitung 1

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

Informatik A ( Frank Hoffmann)

Grundlagen der Computertechnik

y(p F x) gebunden und in den Formeln F xy

Wissensbasierte Systeme/ Expertensysteme. Teil 2

Von der Aussagenlogik zum Computer

Grundlagen der Informatik

Semantic Web Technologies I!

2. Vorlesung. Slide 40

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

5. Übung: Binäres Rechnen und Fließkommazahlen Abteilung Verteilte Systeme, Universität Ulm

4. Übungsblatt zu Mathematik für Informatiker I, WS 2003/04

Kontrollstrukturen, Pseudocode und Modulo-Rechnung

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

Von Bits, Bytes und Raid

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

5.1 Drei wichtige Beweistechniken Erklärungen zu den Beweistechniken... 56

Ein kausaler Zusammenhang entspricht einer speziellen wahren Implikation. Beispiel: Wenn es regnet, dann wird die Erde nass.

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

Kapitel 3: Boolesche Algebra

3 Rechnen und Schaltnetze

Theoretische Grundlagen des Software Engineering

Grundbegriffe der Informatik

Daten verarbeiten. Binärzahlen

Zahlensysteme. von Christian Bartl

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

Boole'sche Algebra. Inhaltsübersicht. Binäre Funktionen, Boole'sche Algebren, Schaltalgebra. Verknüpfungen der mathematischen Logik

Grundlagen der Informatik

C-Vorrangregeln. Version Web:

Oliver Liebold. NAND (negierte Undverknüpfung) L L H L H H H L H H H L

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

Zahlensysteme. Digitale Rechner speichern Daten im Dualsystem 435 dez = binär

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

V09: Logische Gatter

Beschreibungslogiken. Daniel Schradick

N Bit binäre Zahlen (signed)

Erfüllbarkeit und Allgemeingültigkeit

Werkstatt Multiplikation Posten: 8-Bit Multiplikation. Informationsblatt für die Lehrkraft. 8-Bit Multiplikation

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

Teil 1: Digitale Logik

Diskrete Strukturen und Logik WiSe 2007/08 in Trier. Henning Fernau Universität Trier

1 Aussagenlogik und Mengenlehre

Versuch P1-63 Schaltlogik Vorbereitung

Eine Logikschaltung zur Addition zweier Zahlen

Einführung in die Fuzzy Logic

Zahlendarstellungen und Rechnerarithmetik*

Vorlesung. Funktionen/Abbildungen 1

Übungen zu Informatik 1

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

Digitaltechnik. TI-Tutorium. 29. November 2011

bereits in A,3 und A.4: Betrachtung von Addierschaltungen als Beispiele für Schaltnetze und Schaltwerke

Java Einführung Operatoren Kapitel 2 und 3

Diplomvorprüfung in Datenverarbeitung EBS Sommersemester 2002

Stichwortverzeichnis. A-Aussage. logisches Quadrat 42

3 Arithmetische Schaltungen

P1-63,64,65: Schaltlogik

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

Inhalt. SWP Logische Programme. Motivation. Formalisierung. Wissensbasis. Bsp (Bibel)Verwandtschaften. Motivation Sprache LP

A.3. A.3 Spezielle Schaltnetze Prof. Dr. Rainer Manthey Informatik II 1

4. Digitale Datendarstellung

Diana Lange. Generative Gestaltung Operatoren

C++ - Operatoren. Eigene Klassen mit neuen Funktionen

D A T E N... 1 Daten Micheuz Peter

Basisinformationstechnologie I

Logische Folgerung. Definition 2.11

Theoretische Informatik

Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe

Logik und diskrete Strukturen

Vorbereitung zum Versuch

Kapitel 3 Mathematik. Kapitel 3.3. Algebra Gleichungen

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

Praktikum Grundlagen der Elektronik

Technische Informatik. Der VON NEUMANN Computer

C:\WINNT\System32 ist der Pfad der zur Datei calc.exe führt. Diese Datei enthält das Rechner - Programm. Klicke jetzt auf Abbrechen.

COMPUTERGESTÜTZTES EXPERIMENTIEREN I P R A K T I K U M

Brückenkurs Mathematik, THM Friedberg,

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff

Modallogik (aussagenlogisch)

Zusammenhänge präzisieren im Modell

1. Grundlagen der Informatik Zahlensysteme und interne Informationsdarstellung

Digitalelektronik 4 Vom Transistor zum Bit. Stefan Rothe

SWE1 / Übung 2 ( )

Technische Informatik 2

Praktikum am 16. April 2008 Variablen

BITte ein BIT. Vom Bit zum Binärsystem. A Bit Of Magic. 1. Welche Werte kann ein Bit annehmen? 2. Wie viele Zustände können Sie mit 2 Bit darstellen?

Formale Methoden III - Tutorium

Zur Universalität der Informatik. Gott ist ein Informatiker. Die Grundordnung der Welt läßt sich mathematisch formulieren:

Transkript:

Inhaltsverzeichnis 1 Aussagenlogik: Funktionale Vollständigkeit................... 1 Bit-Arithmetik mit logischen Operationen.................... 3 Prädikatenlogik: Eine ganz kurze Einführung.................. 4 Einige Punkte, die wir bisher im Zusammenhang mit den formalen Grundlagen vernachlässigt haben, werden hier kurz erläutert. Aussagenlogik: Funktionale Vollständigkeit In der Einführung zur Aussagenlogik hatten wir fünf zweistellige Junktoren kennengelernt, die für die sprachichen Ausdrücke und, oder, entweder oder, wenn dann und genau dann wenn stehen, in Zeichen:,,, und. Nun kann es neben den genannten fünf oenbar noch weitere zweistellige Junktoren geben. Allen diesen Junktoren ist ja gemein, dass Sie die vier möglichen Kombinationen aus je zwei Wahrheitswerten abbilden auf vier einzelne Wahrheitswerte. Der Junktor etwa bildet die Kombinationen (falsch, falsch), (falsch, wahr) und (wahr, falsch) ab auf den Wahrheitswert falsch und die Kombination (wahr, wahr) auf den Wahrheitswert wahr. Es gibt nun genau 2 4 = 16 solcher möglichen Abbildungen. p q w w w w w w w w w w w f w w w w f f f f f w w w f f w w f f f f w f w f w f w f p q w w f f f f f f f f w f f f f f w w w w f w f f w w f f w w f f f w f w f w f w Die Bezeichnungen lauten (u.a.): : Verum, Tautologie (immer wahr) : Disjunktion, oder, OR : Replikation, Konversion (entspricht q p) : Präpendenz, Identität von p (wahr, wenn p wahr) : Implikation, Subjunktion, Konditional, wenn dann 1

: Postpendenz, Identität von q (wahr, wenn q wahr) : Bikonditional, Bijunktion, Äquivalenz, genau dann wenn : Konjunktion, und, AND : Falsum, Kontradiktion (immer falsch) : Peirce-Pfeil, NOR (entspricht: (p q)) : Präsektion, nur q : Pränonpendenz, Negation von p : Postsektion, nur p : Postnonpendenz, Negation von q : exklusive Disjunktion, Kontravalenz, XOR : Sheer-Strich, NAND (entspricht (p q)) Einige der Junktoren lassen sich durch Kombinationen anderer Junktoren zum Ausdruck bringen. So sind sind die Ausdrücke p q und ( p q) äquivalent. p q p q p q ( p q) p q w w f f f w w w f f w w f f f w w f w f f f f w w w f f Da statt p und q stets auch beliebig komplexe Formeln stehen könnten, heiÿt das, das wir den Operator streng genommen gar nicht brauchen. Wir könnten ihn überall ersetzen durch eine Kombination aus den Zeichen und. Mengen von Zeichen, die in der Lage sind, alle anderen Junktoren auf diese Weise zu ersetzen, nennen wir funktional vollständig. Zu ihnen gehören unter anderem {, }, {, } und {, }. Nur zwei Junktoren haben die Eigenschaft allein funktional vollständig zu sein. Es handelt sich um den Peirce-Pfeil (, NOR) und den Sheer-Strich (, NAND). Sie reichen also jeweils allein aus, um alle nur denkbaren aussagenlogischen Ausdrücke zu formulieren. Hier ein Beispiel für die Äquivalenz ((p p) (q q)) (p q), die zeigt, dass wir "durch einen Ausdruck ersetzen können, der nur enthält. p q p p q q (p p) (q q) p q w w f f w w w f f w w w f w w f w w f f w w f f Diese Erkenntnis kann man sich zu Nutze machen. Wo Logikgatter in digitalen Schaltungen vorkommen, können diese stets durch das Hintereinanderschalten von NAND oder NOR-Gattern gebildet werden. Die allermeisten digitalen Schaltkreiese setzen daher nur NAND- und/oder NOR- und NOT-Gatter ein. 2

Bit-Arithmetik mit logischen Operationen Die logischen Operationen können eingesetzt werden, um arithemtische Operationen zu implementieren. Wir gehen im folgenden nur das Beispiel der Addition von zwei 8-Bit- Zahlen durch. Beispiel: Gegeben sind die Zahlen a = 12 und b = 5, als Bitfolgen: a = 00001100 b = 00000101 Als Ergebnis einer Addition dieser beiden Zahlen erwarten wir die 8-Bit-Bitfolge für 17: 00010001. 1. Vorüberlegung: Beim bitweisen Addieren von zwei Binärzahlen können wir im Prinzip drei Fälle unterscheiden: 1. Bit 0 + Bit 0 = Ergebnis ist 0 2. Bit 0 + Bit 1 = Ergebnis ist 1 3. Bit 1 + Bit 1 = Ergebnis ist 0, Übertrag von 1 Lassen wir den Übertrag im 3. Fall zunächst auÿen vor, so scheint es als wäre die Operation XOR perfekt geeignet. Der Operator (entspricht: ) bildet alle Kombinationen von 0 und 1 auf 1 ab und die Kombinationen (0, 0) und (1, 1) werden auf 0 abgebildet. sum = a ^ b // sum ist: 00001001 Wie ist aber mit dem Übertrag zu verfahren? Zunächst einmal können wir feststellen, dass der Übertrag nur zustande kommt, wenn die zu addierenden Bits beide 1 sind. Wir können daher mit der Operation AND feststellen, an welchen Stellen ein Übertrag entsteht: carry = a & b // carry ist: 00000100 Ein Übertrag wirkt sich normalerweise so aus, dass die zu übertragende Zahle eine Stelle weiter links notiert und addiert wird. Um das nachzumachen, können wir einen Bitshift um eine Position nach links anwenden. shifted = carry << 1 // shifted ist: 00001000 Nun müssten wir im Prinzip nur noch shifted auf sum addieren, also den Übertrag und das Ergebnis der Addition ohne Übertrag. Auch das funktioniert mit Bitoperatoren auf die gleiche Weise. Statt a und b addieren wir nun einfach sum und shifted und wiederholen das so lange, bis keine Übertrag mehr entsteht. carry = shifted & sum; // carry ist: 00001000 sum = shifted ^ sum; // sum ist: 00000001 shifted = carry << 1; // shifted ist: 00010000 Da es wieder einen Übertrag gab (carry 0), müssen wir die ganze Operation noch einmal wiederholen: carry = shifted & sum; // carry ist: 00000000 sum = shifted ^ sum; // sum ist: 00010001 shifted = carry << 1; // shifted ist: 00000000 3

2. Implementation: Eine Implementation dieser Schritte in einer Funktion könnte etwa so aussehen: int binary_add(int a, int b) { int sum = a ^ b; int carry = a & b; int shifted = carry << 1; while(carry!= 0) { carry = shifted & sum; sum = shifted ^ sum; shifted = carry << 1; } } return sum; Prädikatenlogik: Eine ganz kurze Einführung Viele der Aussagen, die wir alltäglich benutzen wenden Prädikate auf bestimmte Objekte an. Das ist etwa bei den folgenden Aussagen der Fall. Das Hemd ist schwarz Vera läuft. Die Prüfung ist einfach. Dabei bezeichnen Das Hemd, Vera und die Prüfung Gegenstände in der Welt. (Im weitesten Sinne des Wortes Gegenstände. Hier ist alles gemeint, was sich irgendwie sprachlich identizieren lässt.) Schwarz sein, laufen und einfach sein können wir als Eigenschaften oder Prädikate auassen, die von diesen Gegenständen ausgesagt werden. In der Prädikatenlogik können solche Aussagen formalisiert werden durch die Angabe von Individuenkonstanten (z.b.: a, b, c,... ) und Prädikatfunktionen (z.b. F (x), G(x), H(x),... ). Wir können dann z.b. schreiben: F (a) G(b) wobei gelten könnte: F (x) = x ist schwarz G(x) = x läuft a = Das Hemd b = Vera Da die Prädikatenlogik eine Erweiterung der Aussagenlogik darstellt, können wir diese Aussagen auch mit den Junktoren der Aussagenlogik verknüpfen. So würde F (a) G(b) den natürlichsprachlichen Satz Das Hemd ist schwarz und Vera läuft formalisieren. Ihre eigentliche Stärke hat die Prädikatenlogik aber dort, wo nicht Sätze über einzelne Gegenstände mit Individuenkonstanten formalisiert werden, sondern wo sie die Formalisierung von generellen Aussagen über Klassen von Gegenständen erlaubt. Dazu kommen 4

Individuenvariablen zum Einsatz (..., x, y, z ) sowie Quantoren (,, lies: Für alle, Es gibt ein). Damit lassen sich dann Aussagen wie die Folgenden formulieren: x F (x) G(x) y F (y) G(y) Wäre nun F (x) = x ist aus Kupfer und G(x) = x leitet Elektrizität, dann hätten wir damit fomuliert: Für alle Gegenstände x gilt: Wenn x aus Kupfer ist, dann leitet x Elektrizität. Es gibt mindestens einen Gegenstand y, sodass gilt: y ist aus Kupfer und y leitet Elektrizität. Dabei ist leicht einsehbar, dass es eine Beziehung zur Mengenlehre gibt. Viele Aussagen der Prädikatenlogik lassen sich leicht in Aussagen über Mengen übertragen. Sei M F = {x F (x)} und M G = {x G(x)}, dann können wir statt den obigen beiden Aussagen auch schreiben: M F M G M F M G > 0, bzw.: M F M G 5