• Keine Ergebnisse gefunden

! 1. Grundkonzepte der logischen Programmierung

N/A
N/A
Protected

Academic year: 2021

Aktie "! 1. Grundkonzepte der logischen Programmierung"

Copied!
10
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

! 1. Grundkonzepte der logischen Programmierung

! 2. Syntax von Prolog

! 3. Rechnen in Prolog

(2)

Übersicht Übersicht

Imperative Sprachen

" Folge von nacheinander

ausgeführten Anweisungen

! Prozedurale Sprachen

" Variablen, Zuweisungen,

Kontrollstrukturen

! Objektorientierte Sprachen

" Objekte und Klassen

" ADT und Vererbung

Deklarative Sprachen

" Spezifikation dessen, was

berechnet werden soll

" Compiler legt fest, wie

Berechnung verläuft

! Funktionale Sprachen

" keine Seiteneffekte

" Rekursion

! Logische Sprachen

" Regeln zur Definition von

Relationen

(3)

Wichtige Programmiersprachen Wichtige Programmiersprachen

Fortran

PL/1 Algol 68 1950

1960

1970

C

Simula

C++

Java Ada-95

Lisp

Scheme ML

Miranda

Prolog Smalltalk

Eiffel

Modula-3

objektorientiert

prozedural funktional logisch

1980

1990

Cobol Algol 60

Pascal

Ada

Haskell

(4)

Fakten und Anfragen Fakten und Anfragen

klaus susanne

dominique aline

werner monika gerd renate

karin peter

weiblich(monika).

weiblich(karin).

weiblich(renate).

weiblich(susanne).

weiblich(aline).

verheiratet(werner, monika).

verheiratet(gerd, renate).

verheiratet(klaus, susanne).

maennlich(werner).

maennlich(klaus).

maennlich(gerd).

maennlich(peter).

maennlich(dominique).

mutterVon(monika, karin).

mutterVon(monika, klaus).

mutterVon(renate, susanne).

mutterVon(renate, peter).

mutterVon(susanne, aline).

mutterVon(susanne, dominique).

Programm:

?- maennlich(gerd).

Yes

?- verheiratet(gerd, monika).

No mensch(X).

?- mensch(gerd).

Yes

(5)

Variablen in Anfragen Variablen in Anfragen

klaus susanne

dominique aline

werner monika gerd renate

karin peter

weiblich(monika).

...

weiblich(aline).

verheiratet(werner, monika).

...

verheiratet(klaus, susanne).

maennlich(werner).

...

maennlich(dominique).

mutterVon(monika, karin).

...

mutterVon(susanne, dominique).

Programm:

?- mutterVon(X, susanne).

X = renate

?- mutterVon(renate, Y).

Y = susanne ;

Y = peter

(6)

Kombination von Fragen Kombination von Fragen

klaus susanne

dominique aline

werner monika gerd renate

karin peter

Programm:

?- verheiratet(gerd,F), mutterVon(F,susanne).

F = renate

?- mutterVon(Oma,Mama), mutterVon(Mama,aline).

Oma = renate Mama = susanne

weiblich(monika).

...

weiblich(aline).

verheiratet(werner, monika).

...

verheiratet(klaus, susanne).

maennlich(werner).

...

maennlich(dominique).

mutterVon(monika, karin).

...

mutterVon(susanne, dominique).

(7)

Regeln Regeln

klaus susanne

dominique aline

werner monika gerd renate

karin peter

Programm:

vaterVon(V,K) :- verheiratet(V,F), mutterVon(F,K).

?- vaterVon(gerd, susanne).

Yes

?- vaterVon(gerd, Y).

Y = susanne ; Y = peter

weiblich(monika).

...

weiblich(aline).

verheiratet(werner, monika).

...

verheiratet(klaus, susanne).

maennlich(werner).

...

maennlich(dominique).

mutterVon(monika, karin).

...

mutterVon(susanne, dominique).

(8)

Mehrere Regeln für ein Prädikat Mehrere Regeln für ein Prädikat

klaus susanne

dominique aline

werner monika gerd renate

karin peter

Programm:

elternteil(X, Y) :- mutterVon(X,Y).

elternteil(X, Y) :- vaterVon(X,Y).

?- elternteil(X, susanne).

weiblich(monika).

...

weiblich(aline).

verheiratet(werner, monika).

...

verheiratet(klaus, susanne).

maennlich(werner).

...

maennlich(dominique).

mutterVon(monika, karin).

...

mutterVon(susanne, dominique).

X = renate ; X = gerd

vaterVon(V,K) :- verheiratet(V,F), mutterVon(F,K).

(9)

Rekursive Regeln Rekursive Regeln

klaus susanne

dominique aline

werner monika gerd renate

karin peter

Programm:

elternteil(X, Y) :- mutterVon(X,Y).

elternteil(X, Y) :- vaterVon(X,Y).

?- vorfahre(X, aline).

weiblich(monika).

...

verheiratet(klaus, susanne).

maennlich(werner).

...

mutterVon(susanne, dominique).

X = susanne ; X = monika

vaterVon(V,K) :- verheiratet(V,F), mutterVon(F,K).

vorfahre(V,X) :- elternteil(V,X).

vorfahre(V,X) :- elternteil(V,Y), vorfahre(Y,X).

X = klaus ;

; X = renate ; X = werner ; X = gerd

(10)

Kennzeichen logischer Programme Kennzeichen logischer Programme

! Programme = Fakten und Regeln

! Keine Kontrollstrukturen

! Ein- und Ausgabevariablen liegen nicht fest

! Besonders gut geeignet für Künstliche Intelligenz

(z.B. Expertensysteme, deduktive Datenbanken)

Referenzen

ÄHNLICHE DOKUMENTE

5 Künstliche Intelligenz und das Recht 105 Wie wird sich die KI auf Recht und Gesetz

 Ebenso kann man eine Bienenweide aus- säen (Fertigmischung aus dem Handel) oder „Faulenzer“-Gewächse“ pflanzen:.. Scharfen Mauerpfeffer, Felsen-Fetthenne

• Die Künstliche Intelligenz erforscht, welche Ansätze über die Repräsentation von Wissen, den Einsatz von Wissen und den Aufbau von Systemen Intelligenzleistungen erklären

■ Die drei Treiber für den Fortschritt von Kl 22. Die Kl-Beschleuniger

Kann es Intelligenz ohne einen Körper geben?.... Was können Roboter mit Künstlicher Intelligenz

Sie arbeiten an Systemen, die Men- schen bei Entscheidungen unterstützen, indem sie große Men- gen an Daten  – Bilder, Tondokumente, Texte  – durchforsten und wichtige

2 Die Zukunft der Abschlussprüfung (Axel Zimmermann) 38 2.1 Wie die digitale Transformation (auch) die Wirtschafts­ prüfung disruptiv verändert...38.. 2.2 Disruptive

Er war schwerpunktmäßig dem zukunftsweisenden Thema „Künstliche Intelligenz in Bibliotheken“ gewidmet, wollte aber auch allen anderen gegenwärtig aktuellen Themen in