Program = Logic + Control



Ähnliche Dokumente
Prolog basiert auf Prädikatenlogik

Prof. Dr. sc. Hans-Dieter Burkhard Vorlesung Winter-Semester 2003/04. Wissensrepräsentation: Resolution (im PK1)

Semantik von Formeln und Sequenzen

9. Übung Formale Grundlagen der Informatik

Grundlagen der Künstlichen Intelligenz

Formeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur

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

Grammatiken. Einführung

Programmiersprachen und Übersetzer

Logik für Informatiker

Logik-Programme. Eine Tatsachenklausel ist eine einelementige positive Klausel, d.h. sie hat

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

Logische Folgerung. Definition 2.11

Theoretische Grundlagen des Software Engineering

Logik für Informatiker

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

Grundbegriffe der Informatik

Theoretische Grundlagen des Software Engineering

2.11 Kontextfreie Grammatiken und Parsebäume

Also kann nur A ist roter Südler und B ist grüner Nordler gelten.

Beschreibungslogiken. Daniel Schradick

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

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

Formale Sprachen und Grammatiken

Einführung in die Fuzzy Logic

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

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

Logische Programmierung

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

Prädikate zum Testen und Manipulieren der Struktur der Terme; Mehr meta-logische Prädikate z.b. zum Testen des Zustands der Ableitung;

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

Grundbegriffe der Informatik

lehrstuhl wirtschaftswissenschaft und ökonomische bildung Wiederholung

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

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

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

Formale Sprachen. Der Unterschied zwischen Grammatiken und Sprachen. Rudolf Freund, Marian Kogler

Informationsblatt Induktionsbeweis

Was ist ein Compiler?

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin

Divergenz 1-E1. Ma 2 Lubov Vassilevskaya

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

Frieder Nake: Information und Daten

Grundbegriffe der Informatik

Rente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren Rentenperiode = Zeitabstand zwischen zwei Rentenzahlungen

ERGÄNZUNGEN ZUR ANALYSIS II MITTELWERTSATZ UND ANWENDUNGEN

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

Prädikatenlogik - Micromodels of Software

Lernmaterial für die Fernuni Hagen effizient und prüfungsnah

2. Vorlesung. Slide 40

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

3.2 Spiegelungen an zwei Spiegeln

Die Informatik als junge Wissenschaft

Was ist Logische Programmierung?

C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang

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

Vom kompetenzorientierten Unterricht zur kompetenzorientierten Matura

Programmieren Formulierung eines Algorithmus in einer Programmiersprache

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

Praktikum Compilerbau

POP -Konto auf iphone mit ios 6 einrichten

Qualifikationsbereich: Application Engineering Zeit:

Über den Link erreichen Sie unsere Einstiegsseite:

Primzahlen und RSA-Verschlüsselung

Theoretische Grundlagen des Software Engineering

Wir machen neue Politik für Baden-Württemberg

ZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht BREMERHAVEN. Der Zauberwürfel-Roboter. Paul Giese. Schule: Wilhelm-Raabe-Schule

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Kapitel 1: Einführung. Was ist Informatik? Begriff und Grundprobleme der Informatik. Abschnitt 1.1 in Küchlin/Weber: Einführung in die Informatik

StuPro-Seminar Dokumentation in der Software-Wartung. StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung.

Repetitionsaufgaben Wurzelgleichungen

Einführung in. Logische Schaltungen

7 Rechnen mit Polynomen

Grundlagen der Theoretischen Informatik, SoSe 2008

8.6.1 Erwartungswert eines beliebigen Operators O Beispiel: Erwartungswert des Impulses eines freien Teilchens

Kapitalerhöhung - Verbuchung

Theorie der Informatik

ALEMÃO. Text 1. Lernen, lernen, lernen

Grundbegriffe der Informatik

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

10 Erweiterung und Portierung

Anwendungsbeispiele Buchhaltung

Dieses erste Kreisdiagramm, bezieht sich auf das gesamte Testergebnis der kompletten 182 getesteten Personen. Ergebnis

Automatisierte Logik und Programmierung II

Grundlagen der Informationverarbeitung

7 Die Determinante einer Matrix

Leichte-Sprache-Bilder

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Ein Vorwort, das Sie lesen müssen!

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen 19

Fragen. f [ ] = [ ] f (x : y : ys) = x y : f ys f (x : xs) = f (x : x : xs) Wozu evaluiert f [1, 2, 3] (Abkürzung für f (1 : 2 : 3 : [ ]))?

Theoretische Grundlagen der Informatik

Rente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren Rentenperiode = Zeitabstand zwischen zwei Rentenzahlungen

SDD System Design Document

Some Software Engineering Principles


Anmeldung und Zugang zum Webinar des Deutschen Bibliotheksverbandes e.v. (dbv)

Womit beschäftigt sich Soziologie? (1) Verschiedene Antworten:

Fragen für die Klausuren

Professionelle Seminare im Bereich MS-Office

Transkript:

Program = Logic + Control Prozedurale/imperative Sprachen: Abläufe formulieren Computer führt aus von-neumann-maschine Idee von deklarativen/logischen/funktionalen Programmiersprachen: Zusammenhänge formulieren Computer erschließt weitere Zusammenhänge Built-in Prädikate Programm: Nutzerdefinierte Prädikate Interpreter: Laufzeitsystem, Beweis-Maschine PI2 Sommer-Semester 2005 Hans-Dieter Burkhard 1 Program = Logic + Control Idee von deklarativen/logischen/funktionalen Programmiersprachen: Zusammenhänge formulieren Deklarative Semantik Computer erschließt weitere Zusammenhänge Built-in Prädikate Programm: Nutzerdefinierte Prädikate Interpreter: Laufzeitsystem, Beweis-Maschine Ablauf der Beweismaschine: Prozedurale Semantik PI2 Sommer-Semester 2005 Hans-Dieter Burkhard 2

Ziele der Software-Technologie:... Der zweite Aspekt erfordert eine Sprache, die im Idealfall,,nahe am Problem'' ist, so daß die Konzepte der Problemlösung direkt und schlüssig formuliert werden können.... Die Verbindung zwischen der Sprache, in der wir programmieren/denken, und den Problemen und Lösungen, die wir uns vorstellen können, ist sehr eng.... Bjarne Stroustrup: Die C++ Programmiersprache, S. 10 (,,Philosophische Bemerkung'') PI2 Sommer-Semester 2005 Hans-Dieter Burkhard 3 Probleme mit Software: Softwaresysteme gehören zu den komplexesten Gebilden, die je von Menschenhand geschaffen wurden. Strukturen und Abläufe in großen Systemen sind im einzelnen oft nicht mehr überschaubar. Man kann sie weder im vorhinein, beim Entwurf, noch im nachhinein, beim Testen, beim Betrieb und in der Wartung vollständig verstehen. Denert: Software-Engeneering, S. 4 PI2 Sommer-Semester 2005 Hans-Dieter Burkhard 4

Probleme mit Software: Das entscheidende Charakteristikum der industriell einsetzbaren Software ist, daß es für den einzelnen Entwickler sehr schwierig, wenn nicht gar unmöglich ist, alle Feinheiten des Designs zu verstehen. Einfach ausgedrückt, überschreitet die Komplexität solcher Systeme die Kapazität der menschlichen Intelligenz. Booch: Objektorientierte Analyse und Design PI2 Sommer-Semester 2005 Hans-Dieter Burkhard 5 Prolog basiert auf Prädikatenlogik Vorbild für Formalismus : exakt, präzise, (theoretisch) beherrscht Aufbau: Zeichen Ausdrücke (rekursive Definition) Sätze ( Theorie ) Th syntaktisch bestimmt: Nach speziellen formalen Th = Abl(Ax) Regeln erzeugbare Formeln semantisch bestimmt: Th = allgemeingültige Sätze einer Struktur PI2 Sommer-Semester 2005 Hans-Dieter Burkhard 6

Beweise Inhaltlicher Beweis: Argumentation Irreflexive, transitive Relationen sind asymmetrisch Formaler (syntaktischer) Beweis: Umformung von Ausdrücken ( Kalkül ) Theorembeweiser: (Syntaktisches) Verfahren zur Entscheidung, ob ein Ausdruck zu einer Satzmenge (Theorie) gehört: H Th? PI2 Sommer-Semester 2005 Hans-Dieter Burkhard 7 Axiomatische Behandlung der Logik Syntax Ausdrucksmenge X Ableiten Semantik Ausdrucksmenge X Folgern Ableitbare Sätze Abl(X ag) Korrektheit von Abl : Vollständigkeit von Abl : Äquivalenz von Abl : Folgerungen Fl(X) Abl(X ag) Fl(X) Abl(X ag ) Fl(X) Abl(X ag )= Fl(X) PI2 Sommer-Semester 2005 Hans-Dieter Burkhard 8

Formales Ableiten (Resolutionsregel) Für Klauseln ( Disjunktion von Literalen ) Voraussetzung: K1 und K2 unifizierbar mittels Unifikator σ K =Res(K1,K2,σ) entsteht durch Vereinigung von σ(k1) und σ(k2) Streichen komplementärer Literale PI2 Sommer-Semester 2005 Hans-Dieter Burkhard 9 Formales Ableiten (Resolution) KA1: R(x,x) KA2: R(u,y) R(y,z) R(u,z)) K1: R(c,f(c)) K2: R(f(c),c) K3 =Res(K1,K2,σ): R(w,y) R(y,w) mit σ(u)= σ(z)= σ(x)= w K4 = Res(K1,K3,σ): R(f(c),c) mit σ(w)=c σ(y)=f(c) K5 = Res(K2,K4,σ): PI2 Sommer-Semester 2005 Hans-Dieter Burkhard 10

Enscheidbarkeit in der Logik (rein logisch) allgemeingültige Sätze: ag = Abl(axp) = Fl( ) H ag? Entscheidbar im AK Unentscheidbar im PK1 (aber aufzählbar, da axiomatisierbar) PI2 Sommer-Semester 2005 Hans-Dieter Burkhard 11 Formalisierung einer Domäne Struktur S=(U,I) Axiome: Ax axp Inferenz- Maschine Folgern Gültige Sätze Th(S) Ableitbare Sätze Abl(Ax axp) = Folgerungen Fl(Ax) Korrektheit der Formalisierung : Abl(Ax axp) Th(S) Vollständigkeit der Formalisierung: Abl(Ax axp) Th(S) Äquivalenz der Formalisierung : Abl(Ax axp) = Th(S) PI2 Sommer-Semester 2005 Hans-Dieter Burkhard 12

Beispiel: Formalisierung der Arithmetik Struktur S=(U,I) Elementare Arithmetik Gültige Sätze Th(S) Theoreme der Elementaren Arithmetik Th(S) = { H Wert S (H,β) = 1 für alle β über U } β : Belegung der Variablen mit Individuen aus dem Universum U PI2 Sommer-Semester 2005 Hans-Dieter Burkhard 13 Formalisierung einer Domäne Formalismus Axiome: Ax axp Inferenz- Maschine Ableitbare Sätze Abl(Ax axp) intendierte Semantik Struktur S=(U,I) Th(S) = { H Wert S (H,β) = 1 für alle β über U} Gültige Sätze Th(S) Korrektheit der Formalisierung : Abl(Ax axp) Th(S) Vollständigkeit der Formalisierung: Abl(Ax axp) Th(S) Äquivalenz der Formalisierung : Abl(Ax axp) = Th(S) PI2 Sommer-Semester 2005 Hans-Dieter Burkhard 14

Beispiel: Formalisierung der Arithmetik Elementare Arithmetik ElArith Peano-Axiome: ax Peano axp Ableiten (PK1) Folgern Theoreme in Th ElArith Ableitbare Sätze Abl(ax Peano axp ) = Folgerungen Fl(ax Peano ) Korrektheit der Formalisierung : Abl(Ax Peano axp) Th ElArith Unvollständigkeit der Formalisierung: Abl(Ax Peano axp) Th ElArith PI2 Sommer-Semester 2005 Hans-Dieter Burkhard 15