Was ist Logische Programmierung?



Ähnliche Dokumente
Erfahrungen mit Hartz IV- Empfängern

Grundlagen der Künstlichen Intelligenz

Primzahlen und RSA-Verschlüsselung

1 Mathematische Grundlagen

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

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

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

1) Farbsteuergerät in der Nikobus-Software unter Modul zufügen hinzufügen.

PDF-Dateien erstellen mit edocprinter PDF Pro

Prolog basiert auf Prädikatenlogik

SWOT Analyse zur Unterstützung des Projektmonitorings

Dokumentation. Black- und Whitelists. Absenderadressen auf eine Blacklist oder eine Whitelist setzen. Zugriff per Webbrowser

Arbeitsblätter. Sinnvolle Finanzberichte. Seite 19

Lehrstuhl Informatik VI Grundzüge der Informatik * WS 2008/2009 Prof. Dr. Joachim Biskup

Lehrer: Einschreibemethoden

Dokumentenverwaltung im Internet

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Logische Folgerung. Definition 2.11

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Die richtigen Partner finden, Ressourcen finden und zusammenführen

Lernaufgabe Industriekauffrau/Industriekaufmann Angebot und Auftrag: Arbeitsblatt I Auftragsbeschreibung

1 topologisches Sortieren

Seit über. Jahren WIR SIND KARTZFEHN. Leitlinien zur Führung und Zusammenarbeit

Benutzerhandbuch - Elterliche Kontrolle

Internet online Update (Mozilla Firefox)

Fragebogen: Rätoromanisch

Rhetorik und Argumentationstheorie.

Wärmebildkamera. Arbeitszeit: 15 Minuten

Whitepaper. Produkt: combit Relationship Manager 7. combit Relationship Manager -rückläufer Script. combit GmbH Untere Laube Konstanz

Angaben zu einem Kontakt...1 So können Sie einen Kontakt erfassen...4 Was Sie mit einem Kontakt tun können...7

Kompetenzen und Aufgabenbeispiele Englisch Schreiben

Schritt 1. Anmelden. Klicken Sie auf die Schaltfläche Anmelden

Formeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur

Konzentration auf das. Wesentliche.

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

Erstellen und Bearbeiten von Inhalten (Assets)

Wie halte ich Ordnung auf meiner Festplatte?

Information zum Projekt. Mitwirkung von Menschen mit Demenz in ihrem Stadtteil oder Quartier

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup Conrad Kobsch

Pädagogik. Melanie Schewtschenko. Eingewöhnung und Übergang in die Kinderkrippe. Warum ist die Beteiligung der Eltern so wichtig?

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Professionelle Seminare im Bereich MS-Office

Bernadette Büsgen HR-Consulting

Kapitel 10 Aktive DBMS

Windows Vista Security

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Portfolio: "Kabale und Liebe" von Friedrich von Schiller

Grundlagen der Programmierung (Vorlesung 14)

7. Bewässerung: Mehrmals pro Woche

II. Daten sichern und wiederherstellen 1. Daten sichern

Anmeldung zu unserem Affiliate-Programm bei Affilinet

Glaube an die Existenz von Regeln für Vergleiche und Kenntnis der Regeln

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

Inhalt. 1. Einleitung Hilfe, mein Kind kann nicht richtig schreiben und lesen! Seite

LIFO -Stärkenmanagement: Übungen und Spiele

Mit Papier, Münzen und Streichhölzern rechnen kreative Aufgaben zum Umgang mit Größen. Von Florian Raith, Fürstenzell VORANSICHT

MuP-Arbeitshilfen. Kreativität organisieren Der innovative Prozess. Problem-Phase

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

1 Part-of-Speech Tagging

Überwachung elektronischer Daten und ihr Einfluss auf das Nutzungsverhalten im Internet

Erwin Grüner

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.

Die wichtigsten Werkzeuge, um UNTERNEHMENSKULTUR BEWUSST zu gestalten.

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1

Jeder ist ein Teil vom Ganzen Inklusion ändert den Blick

Denken und Träumen - Selbstreflexion zum Jahreswechsel

Deutliche Mehrheit der Bevölkerung für aktive Sterbehilfe

Bedienungshinweise shop.flaboform.de 1. Zugang

Stellvertretenden Genehmiger verwalten. Tipps & Tricks

QM: Prüfen -1- KN

Graphic Coding. Klausur. 9. Februar Kurs A

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2

Repräsentative Umfrage zur Beratungsqualität im deutschen Einzelhandel (Auszug)

Einzelvorsorge Schutz der Familie und der Geschäftspartner. Was immer das Leben bringt, Sie haben vorgesorgt

Schritt-für-Schritt-Anleitung. Verwendung Ihres Twinspace

Wie ist das Wissen von Jugendlichen über Verhütungsmethoden?

Auswertung des Jahresabschlusses Bilanzanalyse 2

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten!

15.3 Bedingte Wahrscheinlichkeit und Unabhängigkeit

Grundbegriffe der Informatik

Produktionsplanung und steuerung (SS 2011)

Kapiteltests zum Leitprogramm Binäre Suchbäume

Anmerkungen zur Übergangsprüfung

Das aktuelle Urteil des EUGH schafft Rechtssicherheit

Im Jahr t = 0 hat eine Stadt Einwohner. Nach 15 Jahren hat sich die Einwohnerzahl verdoppelt. z(t) = at + b

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

Korrelation (II) Korrelation und Kausalität

Die Tabellenvorlage im Katalog für Tabellen speichern... 2 Weiteres zu Schnellbausteinkatalogen EDV + Didaktik - Dr. Viola Vockrodt-Scholz

Wie Sie mit Mastern arbeiten

Anleitung zur Pflege Ihrer Mini-Website

Was ist das Budget für Arbeit?

Musterlösungen zur Linearen Algebra II Blatt 5

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1

Beispiel(unten ist der Spielfeldrand):

Mean Time Between Failures (MTBF)

Das Briefträgerproblem

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Der Jazz Veranstaltungskalender für Deutschland, Österreich und die Schweiz

Fotoserien/Fotoalben

How-To-Do. Fernwartung einer VIPA Steuerung via Ethernet

Transkript:

Was ist Logische Programmierung? Die Bedeutung eines Computer-Programms kann durch Logik erklärt werden. Die Idee der logischen Programmierung besteht darin, die Logik eines Programms selber als Programm zu betrachten. Was ist Logische Programmierung? 1

Was ist Logische Programmierung? Programme, um die Länge einer Liste zu bestimmen. Modula-2 PROCEDURE length(x: list): INTEGER; VAR n: INTEGER; BEGIN n := 0; WHILE x # NIL DO n := n + 1; x := x^.cdr END; RETURN n END length. Bedeutung (Spezifikation) IF Liste leer THEN Länge = 0 IF Liste nicht leer THEN Länge = Länge des Schwanzes der Liste + 1 Prolog length([], 0). length([x Xs], N):- length(xs, N1), N is N1+1. Was ist Logische Programmierung? 2

Was ist Logische Programmierung? Die logische Programmierung verwendet Logik für die explizite Repräsentation von Wissen, d.h. von Problemen und ihren Lösungen logische Inferenz (Beweise) zur Lösung dieser Probleme Konkret ist die Repräsentationssprache eine Teilmenge der Prädikatenlogik Hornklauseln die Problemlösungsmethode eine spezielle Form der logischen Inferenz Resolution Während des Beweises werden Unbekannte an Werte gebunden, die die Lösung darstellen (konstruktiver Beweis). Was ist Logische Programmierung? 3

Prolog In der logischen Programmiersprache Prolog kommen aus Effizienzgründen hinzu eine Kontrollstrategie für die Resolution Algorithmus = Logik + Kontrolle nichtlogische Systemprädikate, z.b. für Arithmetik und die Ein- und Ausgabe Was ist Logische Programmierung? 4

Deklarative und prozedurale Interpretation Programme, um die Länge einer Liste zu bestimmen. Modula-2 PROCEDURE length(x: list): INTEGER; VAR n: INTEGER; BEGIN n := 0; WHILE x # NIL DO n := n + 1; x := x^.cdr END; RETURN n END length. Prolog length([], 0). length([x Xs], N):- length(xs, N1), N is N1+1. Was ist Logische Programmierung? 5

Deklarative und prozedurale Interpretation Logische Programme haben eine deklarative und eine prozedurale Interpretation. Eine Prolog-Klausel K :- B1, B2,..., Bn. wird in der deklarativen Interpretation gelesen K gilt, wenn B1 und B2 und... und Bn gelten. Die deklarative Interpretation erlaubt, über die logische Korrektheit der Klausel zu diskutieren. In der prozeduralen Interpretation wird die Klausel als Definition einer Prozedur durch eine Reihe von Prozeduraufrufen gelesen Um K zu beweisen, beweise B1, dann B2, dann... schliesslich Bn. Die prozedurale Interpretation wird durch den Ablauf des Programms bestimmt. Sie ist die Interpretation, die durch die Kontrollstrategie des Prolog-Interpreter geliefert wird. Was ist Logische Programmierung? 6

Beispiel Alle Mütter lieben ihre Kinder. Marion ist die Mutter von Thomas. ------------------------------------------------ Marion liebt Thomas. Prädikatenlogik "X("Y( mutter(x) Ÿ kind(y, X) Æ liebt(x, Y))) mutter(marion) Ÿ kind(thomas, marion) --------------------------------------------------------------- liebt(marion, thomas) liebt(mutter, Kind)? Mutter=marion, Kind=thomas Was ist Logische Programmierung? 7

Beispiel Prolog liebt(x,y) :- mutter(x), kind(y, X). mutter(marion). kind(thomas, marion). ---------------------------------------------?- liebt(mutter, Kind). Mutter=marion, Kind=thomas Was ist Logische Programmierung? 8

Vorteile der Logischen Programmierung Wissen wird deklarativ, d.h. explizit und maschinenunabhängig dargestellt. Wissen wird damit vielseitig verwendbar. Logische Programme ähneln eher Spezifikationen, d. h. sie sind kompakt, verständlich und flexibel. Die logische Programmierung kann Metawissen, andere Logiken und nicht-logische Wissensrepräsentationen darstellen. Was ist Logische Programmierung? 9

Vorteile der Logischen Programmierung Die Ergebnisse eines logischen Programms folgen logisch aus ihm. Logische Programme haben eine saubere mathematische Basis, d. h. man kann die Beziehungen zwischen logischen Programmen und ihren Resultaten logischen Programmen und ihren Spezifikationen logischen Programmen und aus ihnen abgeleiteten anderen logischen Programmen klar charakterisieren. Damit bildet die logische Programmierung eine uniforme Grundlage für alle Phasen der Programmentwicklung. Was ist Logische Programmierung? 10

(Vermeintliche) Schwächen der Logischen Programmierung Die oft gehörte Aussage Prolog ist langsam. ist falsch. Bezüglich Effizienz und Komfort der Programmierumgebung haben moderne Prolog-Implementationen mit herkömmlichen Sprachen praktisch gleichgezogen. Allerdings ist Prolog wie jede andere Programmiersprache auch nicht für jedes Problem die geeignetste Sprache. Alle logischen Programmiersprachen mischen deklarative (logische) Elemente mit prozeduralen (nichtlogischen). Für notwendige Seiteneffekte (destructive assignment, data base updates) gibt es keine befriedigenden deklarativen Lösungen. D.h. man sollte die Kombination deklarativ/prozedural als notwendig und nützlich akzeptieren. Es stehen verschiedene prozedurale Interpretationen zur Verfügung. Was ist Logische Programmierung? 11