• Keine Ergebnisse gefunden

Ubungen zur Vorlesung ¨ Logikprogrammierung

N/A
N/A
Protected

Academic year: 2021

Aktie "Ubungen zur Vorlesung ¨ Logikprogrammierung"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Michael Arndt Sommersemester 2003

Fritz Hamm Ubungsblatt 9¨

Peter Schroeder-Heister 2.7.2003

Ubungen zur Vorlesung ¨ Logikprogrammierung

Aufgabe 1 Puzzle (4 Punkte)

Schreiben Sie ein Prolog-Programm, welches das folgende Puzzle l¨ost. Eine L¨osung sei dabei eine Liste von neun Paaren (N,O), wobeiNdie Nummer der Karte undOdie Orientierung dieser Karte (z.B. in vielfachen von 90 Grad) angibt. Die Liste soll als Anordung von jeweils drei Karten in drei Reihern gelesen werden.

1 2 3

4 5 6

7 8 9

Die Spezifikation der Karten sei gegeben als:

card(1,rumpf/weiss,rumpf/dunkel,spitze/schwarz,spitze/dunkel), card(2,rumpf/weiss,rumpf/hell,spitze/schwarz,spitze/dunkel), card(3,rumpf/schwarz,rumpf/dunkel,spitze/weiss,spitze/hell), card(4,rumpf/dunkel,rumpf/weiss,spitze/hell,spitze/dunkel), card(5,rumpf/dunkel,rumpf/weiss,spitze/dunkel,spitze/hell), card(6,rumpf/schwarz,rumpf/weiss,spitze/schwarz,spitze/hell), card(7,rumpf/weiss,rumpf/schwarz,spitze/dunkel,spitze/hell), card(8,rumpf/schwarz,rumpf/hell,spitze/weiss,spitze/hell), card(9,rumpf/schwarz,rumpf/hell,spitze/weiss,spitze/dunkel).

(2)

Aufgabe 2 Parsing (2 Punkte)

Eine aussagenlogische Formel ist wie folgt definiert:

• Jedes atomare Aussagenzeichen A, B, C, D, E, F ist eine Formel.

• Wenn φ eine Formel ist, dann auch¬φ.

• Wenn φ, ψ Formeln sind, dann auch (φ∧ψ), (φ∨ψ), (φ→ψ), (φ↔ψ).

Definieren Sie ein Pr¨adikatparse(TokenList,ParseTerm), welches eine Liste von Eingabetokens in einen funktionalen Term ¨ubersetzt, der die Struktur der durch TokenList ausgedr¨uckten aussa- genlogischen Formel wiedergibt, sofern TokenList einer aussagenlogischen Formel entspricht, und ansonsten No ausgibt. Den Tokens aT,. . ., fT werden dabei Terme a,. . ., f zugeordnet, und den Tokens negT, konT, disT, impT, gdwT die Funktionszeichen neg, kon, dis, imp,gdw. Den Tokens klaTundklzTwerden nat¨urlich keine Terme oder Funktionszeichen zugewiesen; sie gehen implizit in die Struktur des funktionalen Terms ein.

Beispiele:

?- parse([aT, impT, klaT, aT, disT, bT, klzT],T).

T = imp(a, dis(a, b)) Yes

?- parse([klzT, aT, impT, aT, klaT, disT, bT],T).

No

Referenzen

ÄHNLICHE DOKUMENTE

Endliche Modelleigenschaft und

• Kapitel 6: ABoxen und Anfragebeantwortung.. • Kapitel 7:

Der PROPLOG-Interpreter ermittelt, ob ein Ziel aus einem Programm folgt oder nicht.... Wie funktioniert ein

Zeigen Sie, daß der leere Stuhl nicht in der Mitte und nicht am Rand sein kann. Kann man sagen, wer in der

[r]

Definieren Sie ein Pr¨adikat binTree/1, das von einem gegebenen Term entscheidet, ob er einen Bin¨arbaum darstellt

Beim Acht-Damen-Problem sollen acht K¨oniginnen so auf einem Schachbrett positioniert werden, daß keine K¨onigin eine andere bedroht. Eine Position auf dem Schachbrett ist gegeben

• Für die einzelnen Buchungskreise wird eine Selektion von Konten aus dem gemeinsamen Kontenplan