Einf. in das symbolische Programmieren CIS, SS 2001, H.Leiss ================================================================= Abgabe: Dienstag, 15.5.01 in der Uebungsstunde. ----------------------------------------------- Aufgabe 1: (5 Punkte) --------- Schreibe ein Proplog-Programm, das folgende Bedingungen und Fakten ausdrueckt: 1. Es ist angenehm, wenn es warm ist und die Sonne scheint, oder wenn es kalt ist und schneit. 2. Wenn es kalt ist und der Ofen brennt, ist es auch angenehm. 3. Es ist unangenehm, wenn es warm ist und der Ofen brennt. 4. Wenn es kalt ist und nicht schneit, oder wenn es regnet, ist es unangenehm. 5. Es ist warm. 6. Der Ofen brennt. 7. Die Sonne scheint nicht. 8. Es ist nicht kalt. Benutze not(p) fuer nicht p (im Koerper einer Regel, das geht in SWI). (Fuer 7. und 8. siehe die Fakten im Beispiel 1, Seite 8 der Folien.) Was antwortet das Programm (bzw. SWI-Prolog) auf die Fragen: a) Ist es angenehm? b) Ist es nicht angenehm? c) Ist es warm oder kalt? d) Ist es warm und kalt? BEACHTE: zusammengesetzte Aussagen (p;q), (p,q), und not(p) gehoeren zu der Ausdrucksklasse PropSymbols - sie duerfen nach der Syntax der Programme daher nur als Ziel oder im Koerper einer Regel auftreten. Also kann der Kopf einer Regel (und daher auch ein Faktum) nie von der Form (p,q), (p;q) oder not(p) sein. Man kann also z.B. 8. Es ist warm, und es scheint die Sonne oder der Ofen brennt. 9. Wenn es regnet, scheint die Sonne nicht. nicht als Faktum ausdruecken! Aufgabe 2: (5 Punkte) ---------- Betrache das PROPLOG-Programm mit den 8 Klauseln p :- q, fail. p :- q, s. q :- t, u. s :- t. t. t :- v. u. v. und die Anfrage ?- p. Schreibe den vollstaendigen Suchbaum auf, der die Beantwortung durch den PROPLOG-Interpreter darstellt. An den Knoten des Baums stehen die jeweiligen Ziele, an den Kanten die Regeln, die vom oberen zum unteren Ziel fuehrt. Die Wurzel des Baums (oben) sei mit 1 numeriert, also 1 : [p]. Numerieren Sie die Knoten des Baums in der Reihenfolge, wie sie bei der Beweissuche (durch provable(goal)) durchlaufen werden. Abgabe: Dienstag, 15.5.01 in der Uebungsstunde. ----------------------------------------------