2.2 Einführung in Prolog Flashcards

1
Q

Prolog - allgemein

A
  • von französischen Informatikern Alain Colmerauer und Philippe Roussel entwickelt
  • vom Logiker Robert Kowalski weiterentwickelt
  • erstmals in den frühen 1970er-Jahren implementiert
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Prolog - Hauptmotivation

A

Einsatz bei der Entwicklung von Systemen zur Verarbeitung natürlicher Sprache und Künstlicher Intelligenz

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Datenverarbeitung - allgemein

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Programmiersprachen - allgemein

A

abstrahieren von der grundlegenden technischen Ebene
-> kommen Denken, der algorithmischen Beschreibung und den logischen Denkmustern von Menschen näher

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Programmiersprachen - Unterscheidungsmerkmale

A

Grad und der Art der Abstraktionen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

die meisten Programmiersprachen zur Zeit von Prolog

A

imperative Sprachen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

imperative Programmiersprachen

A
  • Programm enthält eine Reihe von Anweisungen
  • Maschine muss diesen auf dem Weg zu einem gewünschten Ergebnis oder einer Lösung folgen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Prolog - Besonderheit

A

deklarativer Programmieransatz

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

deklarativer Programmieransatz - Definition

A
  • Programmierstil
  • Programmierende legen Eigenschaften der gesuchten Lösung fest
  • nicht aber den Algorithmus - Abfolge der Operationen, die zu einer Lösung führen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Deklarative Programmierung - Vorgehen

A
  • programmierende Person gibt die Merkmale der gewünschten Lösung vor
  • Interpreter erstellt dann Folge von Verarbeitungsschritten zur Erreichung des vorgegebenen Ziels
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Beispiel deklarativer Programmieransatz

A

SQL (Structured Query Language)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

SQL - allgemein

A

Abfragesprache für relationale Datenbanken

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

SQL - Bestandteile Abfrage

A
  • Anweisung mit Tabelle, aus der Datensätze abgerufen werden sollen
  • eine oder mehrere Bedingungen, welche Datensätze erfüllen müssen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

SQL - Verarbeitung Abfrage

A

Datenbankmanagementsystem generiert automatisch Ausführungsplan (Abfolge von Verarbeitungsschritten), der das in der Abfrage angebene Ergebnis liefert

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Proglog - Bestandteile

A
  • Sammlung von Fakten und Regeln, welche Fakten zueinander in Beziehung setzt
  • Struktur besteht aus Prädikaten und Klauseln
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Prolog - Programmausführung

A

wird durch Suchanfrage (query) an Wissensbasis eingeleitet

17
Q

Analogie Mensch - Prolog - Wissenbasis

A
  • Mensch hat Gehirn
  • voll von Daten, Fakten, Zahlen und Wissensbrocken
  • im Laufe des Lebens angesammelt
18
Q

Analogie Mensch - Prolog - Regeln

A

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

19
Q

Analogie Mensch - Prolog - Lösungen von Problemen

A
  • 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
20
Q

Prolog - Grund für Entwicklung

A

um Prozesse in Form von Logik erster Ordnung zu formalisieren

21
Q

Prolog - Prädikate

A

boolesche Funktion, die einem Objekt X einen Wahrheitswert zuweist
-> häufig verwendet, um Eigenschaften von Objekten zu beschreiben

22
Q

Prolog - Klauseln

A

logischer Ausdruck, der aus einer endlichen Anzahl von elementaren Aussagen gebildet wird

23
Q

Prolog-Programme - Erster Schritt

A

Deklaration von Fakten und Beziehungen (Zusammenhängen)

24
Q

Prolog-Programme - Beispiel Deklaration von Fakten und Beziehungen

A

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

25
Q

Prolog-Programme - nach Erklärung der Beziehungen

A

können:
* Fakten betrachtet
* Fragen gestellt
* Variablen einbezogen
* Ziele formuliert
* Muster abgeglichen werden

26
Q
  • Prolog-Sprachkonstrukt:
    Fakt
  • Prolog-Syntax:
    lectures (Fischer, DLMAIAI01)
A
  • Beispiel für Prolog-Klausel
  • Stellt Tatsache fest, dass Dr. Fischer den Kurs DLMAIAI01 unterrichtet
27
Q
  • Prolog-Sprachkonstrukt:
    Prädikat
  • Prolog-Syntax:
    professor/1
    professor(Fischer).
    professor(Schmidt).
    professor(Meier).
A
  • Definiert Ein-Argument-Prädikat „professor“ durch drei Fakten
  • Fischer, Schmidt und Meier sind Professor:innen
28
Q
  • Prolog-Sprachkonstrukt:
    Regel
  • Prolog-Syntax:
    technicalCourse(X) :–
    engineeringCourse(X)
A
  • Alle Ingenieurstudiengänge sind technische Studiengänge
  • Zu beachten ist die Verwendung der Variablen X
29
Q
  • Prolog-Sprachkonstrukt:
    Abfrage
  • Prolog-Syntax:
    ? – lectures(Fischer, DLMAIAI01)
A

Unterrichtet Dr. Fischer den Kurs DLMAIAI01?

30
Q
  • Prolog-Sprachkonstrukt:
    Ziel
  • Prolog-Syntax:
    ? – lectures(Fischer, X)
A

Welche Kurse unterrichtet Dr. Fischer?
Zu beachten ist die Verwendung der Variablen X

31
Q

Prolog - Bedeutung

A
  • auf einzigartiger Weise für Umgang mit Logik geeignet
  • wurde für Abfrage von Wissensbasen in Vielzahl von kommerziellen Anwendungen eingesetzt
32
Q

Prolog - Beispiele für Anwendungen

A
  • Umweltstudien zur Modellierung von Wetterphänomenen
    -> Aufbau eines Systems für Wettervorhersage und Ausbreitung Luftverschmutzung
  • mehrere Systeme für Wasserversorgungsunternehmen
    -> für Wasserverteilung und -planung, insbesondere in Notfällen
  • Flugzeughersteller Boeing
    -> System namens CASEy, das Mitarbeitenden in Werkstätten beim Umgang mit elektrischen Teilen und in Einhaltung ordnungsgemäßer Betriebsabläufe anleitete