Übungsaufgaben Einstieg in Prolog

Aus Informatik
Wechseln zu: Navigation, Suche

Aufgabe 1

Es ist eine Datenbasis zu erstellen, die den Stammbaum von Donald und Daisy erfasst.

Ki uebung01.png

Folgende Fragen sind an die Datenbasis zu stellen:

  1. Wer sind die Eltern von Daisy?
  2. Mit wem ist Baldur verheiratet?
  3. Wie heißen die Kinder von Adam?
  4. Wie ist der Name von Cosimas Mutter?
  5. Wie heißt der Vater von Daisy?
  6. Welche Söhne hat Barbara, welche Töchter hat Anton?
  7. Welche Großeltern hat Donald?
  8. Gesucht sind die Großmütter von Clemens, die Urgroßeltern von Daisy, die Schwiegermutter von Bernd.
  9. Wer ist der Bruder von Clemens?
  10. Wer ist die Schwester von Cosima?



Aufgabe 2

Gegeben ist der folgende Ausschnitt aus einem Familienstammbaum. (Jeder Pfeil bedeutet, von oben nach unten gelesen: ...ist Elternteil von...)

Ki uebung02.png

  1. Erfassen Sie den Familienstammbaum in einer geeigneten Datenbasis. (Beachten Sie hierbei, dass dies nur ein Ausschnitt der Wirklichkeit ist und der Stammbaum somit unvollständig ist.)
  2. Beantworten Sie durch geeignete Anfragen die folgenden Fragen:
    1. Wer ist Großelternteil?
    2. Wer hat eine Schwester?
    3. Wer ist Tante?
    4. Wer ist Neffe?
    5. Wer hat eine Urenkelin?
    6. Wer ist Bruder?
    7. Ist elke Elternteil von rick?
    8. Hat bob (wenigstens) ein Kind?
    9. Wer ist Vater?
    10. Wer ist Tochter von ann?
    11. Haben pam und tom gemeinsame Kinder?
    12. Wer ist Schwester von jack?
    13. Wer ist Großvater von paula?
    14. Hat jack eine Tante?
    15. Welche Großmutter hat einen Enkelsohn?
  3. In welchen Fällen benutzt man bei Anfragen Variablen, in welchen Fällen wird man auf die Benutzung von Variablen verzichten?
  4. Erklären Sie mit Hilfe eines selbst gewählten Beispiels den Zweck einer anonymen Variablen.
  5. Gesucht sind alle Personen U, mit der Eigenschaft: U ist Urgroßelternteil von jim.



Aufgabe 3

Gegeben ist die Datenbasis aus Aufgabe 2.

  1. Vervollständigen Sie die Regelrümpfe mit Hilfe der drei Prädikate elternteil/2, weiblich/1, maennlich/1.
    • bruder(B1,B2) -- B1 ist Bruder von B2
    • mutter(M,K) -- M ist Mutter von K
    • grossvater(G,E) -- G ist Großvater von E
  2. Begründen Sie, warum man mit Hilfe der bekannten Wissensbasis nicht feststellen kann, ob jemand einen Schwager hat.



Aufgabe 4

An einem runden Tisch sitzen symmetrisch 6 Personen: Alfred, Anton, Antonia, Annemarie, Anna und August.

  1. Erstellen Sie eine Datenbasis mit dem Prädikat rechts_neben(X,Y) mit der Bedeutung: X sitzt direkt rechts neben Y.
  2. Ermitteln Sie soweit möglich folgende Antworten:
    1. Wer sitzt rechts neben Anna?
    2. Von wem ist Antonia der linke Nachbar?
    3. Wer sind die Nachbarn von Anton?
    4. Wer sitzt Alfred gegenüber?
    5. Wer sitzt wem gegenüber?
  3. Geben Sie Regeln an für
    • links_neben(L,R) -- L sitzt direkt links neben R
    • nachbar_von(M,L,R) -- M hat L als linken und R als rechten Nachbar
    • gegenueber(X,Y) -- X und Y sitzen sich genau gegenüber



Aufgabe 5

In der Pizzeria Roma gibt es u. a. folgendes Angebot:

Salat: Mista 5€, Capriciosa 8€
Fleisch: Cotoletta 11€, Filetto ai ferni 16€
Nudeln: Spaghetti Bolognese 8€, Lasagne 10€, Canelloni 10€
Fisch: Calamari Fritti 13€, Sogliola 18€
Dessert: Tiramisu 4€, Cassata 5€
  1. Erfassen Sie die Speisekarte in einer Datenbasis.
  2. Ein Menü besteht aus Salat, Hauptgericht und Dessert. Hauptgerichte sind Fleisch, Nudeln oder Fisch. Formulieren Sie Regeln für
    • Hauptgerichte
    • Menüs