Prolog < Sonstiges < Hochschule < Informatik < Vorhilfe
|
Aufgabe | Geben Sie PROLOG-Fakten f¨ur die folgenden Tatsachen an
mario und luigi sind zollbeamte. umberto, eco und toni sind Mitarbeiter
eines sicherheitsdienstes am Flughafen. paolo und maria arbeiten
f¨ur den reinigungsdienst
mario, paolo und toni sind verwandt, ebenso wie luigi und eco.
luigi, umberto, maria und toni sind raucher.
Inspektor Giorgo Hirn aus der internen Abteilung der Zollfahndung wird zum Flughafen
gerufen, um endg¨ultig die dubiosen Vorf¨alle um geschmuggelte Zigaretten aufzukl¨aren.
Bereits nach kurzer Zeit kommt er zu dem Schluss, dass die oder T¨ater einen Verwandten
bei der Zollfahndung haben muss und bei dem am Flughafen t¨atigen Sicherheitsdienst
arbeitet.
Geben Sie ein 1-stelliges PROLOG-Pr¨adikat verdaechtig(X) an,
das der von Inspektor G. Hirn formulierten T¨aterbeschreibung entspricht und geben
Sie weiterhin, in der richtigen Reihenfolge, an, welche Antworten die Anfrage
?- verdaechtig(X) . |
Hallo!
Die Aufgabe an sich ist kein Problem. Ich habe nur mit dem Prädikat verdaechtig(X) ein Problem. Wie formuliere ich, dass jemand kein Raucher sein soll, wenn ich als Fakten nur raucher(luigi), raucher(umberto) ... habe? Oder muss ich für solch einen Fall extra die Fakten keinRaucher(mario) etc. angeben?
Vielen Dank für eure Hilfe!
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 19:15 Di 25.03.2008 | Autor: | Zneques |
Hallo,
not(raucher(umberto))
Ist die Negierung, die du suchst.
Übrigens hat der Ermittler die Nicht-/Raucher gar nicht extra erwähnt.
Ciao.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 22:28 Di 25.03.2008 | Autor: | Auron2009 |
Interessant, dass solch ein wesentliches Konstrukt, wie die Verneinung eines Fakts, nicht im Script unseres Profs zu finden ist! :)
Ich hätte einfach die Fakten nicht_raucher(name) für alle Namen eingefügt, die nicht explizit als Raucher deklariert wurden! ;)
Danke für die schnelle Hilfe!
|
|
|
|
|
Aufgabe | Der Inspektor stellt in einem ersten Verhör der Verdächtigen fest, dass der Täter einen Komplizen unter den Mitarbeitern des Reinigungsdienstes des Flughafens gehabt haben muss, der aber kein Raucher ist.
Geben Sie ein 2-stelliges PROLOG-Prädikat komplize(X,Y) an, das
der von Inspektor G. Hirn formulierten Beschreibung entspricht und geben Sie
weiterhin die Antworten an, die die Anfrage
?- komplize(toni,Y) .
liefert. |
Hatte den Teil mit dem nicht-Raucher tatsächlich nicht mit kopiert. oben jetzt der Rest, entschuldige.
Eine kleine Nachfrage zu deiner Antwort: Das "not(raucher(umberto))" ist ein Flüchtigkeitsfehler, oder? Weil Umberto ist ja Raucher. Es müssen doch die Fakten
not(raucher(mario))
not(raucher(paolo))
not(raucher(eco))
erstellt werden, oder?
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 22:01 Mi 26.03.2008 | Autor: | Zneques |
Tschuldigung, das hätte ich wohl anders schreiben sollen. Habe das Beispiel einfach per copy&paste aus deinem Text entnommen. ^^
Für das Bsp. würde natürlich gelten, dass :
?- not(raucher(umberto))
false
> Es müssen doch die Fakten
> not(raucher(mario))
> ... erstellt werden, oder?
Das "not" ist nur dazu da, um die jeweilige Auswertung zu negieren.
komplize(X):- not(raucher(X)),...
Ciao.
|
|
|
|