Programmierung in Prolog

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
jrockenf
User
Beiträge: 2
Registriert: Donnerstag 31. August 2023, 10:13

Hallo,

ich heiße Jan und studiere Wirtschaftsingenieurwesen Fachrichtung E-Logistics.

Ich programmiere auch in meinem Studiengang Prolog und Python. Ich habe folgende Aufgabe,
welche ich in Prolog lösen soll:

1. Eimer-Problem
Ein Wasserverkäufer sitzt an seinem Brunnen, um Wasser zu verkaufen. Er hat zwei Eimer, einen zu 7 l und einen zu 4 l. Für einen Liter Wasser verlangt er einen Preis von einem Goldstück. Die Wasserkäufer möchten daher nur die tatsächlich benötigte Wassermenge kaufen, z.B. 1 l, 2 l, 3 l, 5 l und 6 l.
Der Wasserverkäufer kann folgende Handlungen ausführen:
• einen leeren Eimer im Brunnen voll Wasser füllen,
• einen Eimer beliebiger Füllung in den Brunnen entleeren,
• Wasser aus einem Eimer in den anderen ohne Verlust umfüllen.
Ist es möglich – und wenn ja, wie – die gewünschten Mengen abzumessen?

Anleitung:
a) Legen Sie eine Datenstruktur fest, die den Zustand der „Eimer-Welt“ repräsentiert. Als wesentliche Daten muss sie die Inhalte der beiden Eimer enthalten.

b) Formulieren Sie mithilfe dieser Datenstruktur sechs Regeln für die Prozedur aktion/2, die die möglichen Handlungen repräsentieren:
• den großen Eimer entleeren
• den kleinen Eimer entleeren
• den großen Eimer vollschöpfen
• den kleinen Eimer vollschöpfen
• die mögliche Menge vom kleinen Eimer in den großen Eimer umfüllen
• die mögliche Menge vom großen Eimer in den kleinen Eimer umfüllen

c) Definieren Sie einen sinnvollen Startzustand durch einen Fakt! Definieren Sie für die interessierenden Zielzustände jeweils einen Fakt!

d) Wählen Sie ein geeignetes Suchverfahren zur Lösung!

Wie gehe ich an diese Aufgabe heran als Tipp soll ich die Welt als Praedikat mit zwei Variablen zu definieren, die den Fuellstand der beiden Eimer beschreiben.

Hat jemand einen Lösungsansatz?

Ich währe um eine Hilfe dankbar. Vielen Dank.

Gruß

Jan
Benutzeravatar
__blackjack__
User
Beiträge: 14045
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Ja.
„A life is like a garden. Perfect moments can be had, but not preserved, except in memory. LLAP” — Leonard Nimoy's last tweet.
Benutzeravatar
Whitie
User
Beiträge: 217
Registriert: Sonntag 4. Juni 2006, 12:39
Wohnort: Schulzendorf

Das fiel mir sofort dazu ein: https://www.youtube.com/watch?v=BVtQNK_ZUJg
Antworten