2.2 Einführung in Prolog Flashcards
Prolog - allgemein
- von französischen Informatikern Alain Colmerauer und Philippe Roussel entwickelt
- vom Logiker Robert Kowalski weiterentwickelt
- erstmals in den frühen 1970er-Jahren implementiert
Prolog - Hauptmotivation
Einsatz bei der Entwicklung von Systemen zur Verarbeitung natürlicher Sprache und Künstlicher Intelligenz
Datenverarbeitung - allgemein
- Auf unterster Ebene verarbeitet Computer Informationen in Form der Werte 0 und 1 (Bits)
- nicht besonders gut für die menschliche Interpretation und Handhabung geeignet
Programmiersprachen - allgemein
abstrahieren von der grundlegenden technischen Ebene
-> kommen Denken, der algorithmischen Beschreibung und den logischen Denkmustern von Menschen näher
Programmiersprachen - Unterscheidungsmerkmale
Grad und der Art der Abstraktionen
die meisten Programmiersprachen zur Zeit von Prolog
imperative Sprachen
imperative Programmiersprachen
- Programm enthält eine Reihe von Anweisungen
- Maschine muss diesen auf dem Weg zu einem gewünschten Ergebnis oder einer Lösung folgen
Prolog - Besonderheit
deklarativer Programmieransatz
deklarativer Programmieransatz - Definition
- Programmierstil
- Programmierende legen Eigenschaften der gesuchten Lösung fest
- nicht aber den Algorithmus - Abfolge der Operationen, die zu einer Lösung führen
Deklarative Programmierung - Vorgehen
- programmierende Person gibt die Merkmale der gewünschten Lösung vor
- Interpreter erstellt dann Folge von Verarbeitungsschritten zur Erreichung des vorgegebenen Ziels
Beispiel deklarativer Programmieransatz
SQL (Structured Query Language)
SQL - allgemein
Abfragesprache für relationale Datenbanken
SQL - Bestandteile Abfrage
- Anweisung mit Tabelle, aus der Datensätze abgerufen werden sollen
- eine oder mehrere Bedingungen, welche Datensätze erfüllen müssen
SQL - Verarbeitung Abfrage
Datenbankmanagementsystem generiert automatisch Ausführungsplan (Abfolge von Verarbeitungsschritten), der das in der Abfrage angebene Ergebnis liefert
Proglog - Bestandteile
- Sammlung von Fakten und Regeln, welche Fakten zueinander in Beziehung setzt
- Struktur besteht aus Prädikaten und Klauseln
Prolog - Programmausführung
wird durch Suchanfrage (query) an Wissensbasis eingeleitet
Analogie Mensch - Prolog - Wissenbasis
- Mensch hat Gehirn
- voll von Daten, Fakten, Zahlen und Wissensbrocken
- im Laufe des Lebens angesammelt
Analogie Mensch - Prolog - Regeln
Menschen kennen Regeln zu den Fakten, von denen sie viele im Laufe der Zeit beobachtet und angewendet haben
-> logische Regeln, deren Anwendung zu guten Entscheidungen führt
Analogie Mensch - Prolog - Lösungen von Problemen
- Mensch ist neugierig will lernen, wie er Umgebung zum Besseren verändern können
-> stellen oft Fragen - Auf Grundlage von Fakten und Regelanwendung ergeben sich vernünftige, auf gesundem Menschenverstand beruhende Antworten
-> Lösungen für die wahrgenommenen Probleme
Prolog - Grund für Entwicklung
um Prozesse in Form von Logik erster Ordnung zu formalisieren
Prolog - Prädikate
boolesche Funktion, die einem Objekt X einen Wahrheitswert zuweist
-> häufig verwendet, um Eigenschaften von Objekten zu beschreiben
Prolog - Klauseln
logischer Ausdruck, der aus einer endlichen Anzahl von elementaren Aussagen gebildet wird
Prolog-Programme - Erster Schritt
Deklaration von Fakten und Beziehungen (Zusammenhängen)
Prolog-Programme - Beispiel Deklaration von Fakten und Beziehungen
A und B sind beide männlich.
A und B haben denselben Vater.
A und B haben dieselbe Mutter.
A und B sind nicht dasselbe.
„Joachim besitzt ein Buch“
-> Beziehung des Eigentums zwischen Joachim und dem Buch