Künstliche Intelligenz und Prolog
Copyright © 2019 Jiri Kriz, www.nosco.ch

1Grundlagen

Lösungen

1.1Familienbeziehungen

1.1.1Fakten

Beschreiben Sie eine Ihnen bekannte Familie als eine Reihe von Fakten der Form:

vater( v, k) /* v ist Vater von k */
mutter( m, k) /* m ist Mutter von k */
mann( m) /* m ist männlich */
frau( f) /* f ist weiblich */

1.1.2Prädikate

Definieren Sie die Prädikate:

elter( E, K) /* E ist Vater oder Mutter von K */
eltern( V, M, K) /* V ist Vater, M ist Mutter von K */
kind( K, E) /* K ist Kind von E */
sohn( S, E) /* S ist Sohn von E */
tochter( T, E) /* T ist Tochter von E */
opa( GV, E) /* GV ist Grossvater von E */
oma( GM, E) /* GM ist Grossmutter von E */
enkel( E, G) /* E ist Enkel von G */
bruder( B, GS) /* B ist Bruder des Geschwisters GS */
schwester( S, GS) /* S ist Schwester von GS */
onkel( O, N) /* O ist Onkel von N */
tante( T, N) /* T ist Tante von N */

1.1.3Weitere Familienbeziehungen

Definieren Sie nach Belieben noch weitere Familienbeziehungen (z. B. Nichte, Cousin, Gatte (!), ...) und testen Sie sie.

Bemerkung:

Das Goal X \= Y mit dem eingebauten Operator \= ergibt Success, genau wenn X und Y ungleich sind (genauer: wenn sie nicht unifizieren).

Lösung 1.1

1.2Eine kleine Überlegung (Grundlegende Inferenz)

Menschen möchten in Frieden leben. Männer, Frauen und Kinder sind Menschen. Ich bin ein Mann (eine Frau). Darum möchte ich in Frieden leben.

Beweisen Sie es mit Prolog!

Lösung 1.2

1.3Eine kleine Welt (Wissensrepräsentation)

Ein Studentenzimmer

Fig. 1.1: Ein Studentenzimmer

Repräsentieren Sie dieses Studentenzimmer, sodass folgende Abfragen möglich sind:

  1. Welche Möbel sind im Zimmer?
  2. Wieviel Türe, Fenster, Tische, ... hat das Zimmer?
  3. Wo ist der Tisch, Stuhl, ... ?
  4. Was ist links (rechts) vom Tisch, ... (von der Zimmermitte aus gesehen)?
  5. Was ist an der Wand 2, ..., am Fenster 1, ... ?
  6. Was ist in der Ecke 1, ... ?

Hinweis:

Beginnen Sie mit der Repräsentation der Fragen und passen Sie ihr dann die Repräsentation des Zimmers an. Versuchen Sie, ein möglichst kurzes Programm zu schreiben, d.h. wenig explizite Grundfakten, viele Ableitungen durch Regeln.

Lösung 1.3