Grundlagen der Kognitiven Informatik Schmid, Siebers WS 10/11 1. Übungsblatt Abgabe spätestens in der Übung am 23.11.10 1 Problemlösen und Suche 1. Zeichne den Problemraum-Graphen für das Hobbits and Orcs“-Problem (Vor” lesung 2, Folie 21). 2. Beim Problem vom Bauern, dem Fuchs, der Gans und dem Korn befinden sich zunächst sind alle vier auf der linken Seite eines Flusses. Der Bauer will Fuchs, Gans und Korn mit einem Boot ans rechte Ufer transportieren. Ins Boot passt jedoch außer dem Bauern immer nur ein weiterer Passagier, also Fuchs, Gans oder Korn. Das Problem ist der Appetit der Tiere: Sind Fuchs und Gans unbeaufsichtigt, so frisst der Fuchs die Gans. Sind Gans und Korn unbeaufsichtigt, so frisst die Gans das Korn. a) Modelliere für dieses Problem den Problemraum (inkl. Operator/Operatoren). b) Modelliere das Bauer-Fuchs-Gans-Korn“-Problem im Graph Searching Tool ” der AITools. c) Was fällt dir auf, wenn man Breiten- bzw. Tiefensuche auf dieses Problem anwendet. Wie könnte man dies umgehen? 2 LISP 1. Welche Ausdrücke in Common-Lisp entsprechen den folgenden Termen? a) 2 + 3.14 + 6 − 3 b) (4 + 4 ∗ 7)/11 2. Wähle aus den folgenden Listen jeweils das Element birne aus! a) ( apfel orange birne zitrone ) 1 b) (( apfel orange) (birne zitrone )) c) (( apfel ) (orange) (birne) ( zitrone )) d) ( apfel (orange) ((birne ( zitrone )))) e) ( apfel (orange (birne ( zitrone )))) 3. Gegeben seien die folgenden drei LISP-Funktionen: (defun f (a b) (append a b (reverse a))) (defun g (c) (cons c c)) (defun h (d) (f d (g d))) Was sind die Ergebnisse der folgenden Ausdrücke? a) ( f ’( a b) ’( c)) b) (g ’( h (h))) c) (h ’( g (g))) d) (g (h ’( h))) 4. Sei die Liste ’( A B C D) an das Zeichen l gebunden (in LISP: (SETQ l ’(A B C D))). Erzeuge daraus ohne eine neue Liste einzugeben folgende Ergebnisse! Beispiel: (D C B) Antwort: (reverse (cdr l)) a) (A B C) b) (A A B C D) c) (A B C D C B A) d) D e) (A A B B C C) 5. Definiere eine Funktion fib , die eine Zahl als Eingabe erwartet und die FibonacciZahl an dieser Position zurückgibt. Hinweis: Die erste Fibonacci-Zahl auf den Folien hat die Positionsnummer 0. a) Welche Zahl ergibt ( fib 27)? b) Was ergibt ( fib (− 1))? Erkläre dies. c) Wie müsstest du deine Funktion ändern, damit für alle negativen Zahlen der Fehlerwert −1 zurückgeliefert wird? 2