所以我必須編寫不同的程序來幫助我解決農民 - 狼 - 山羊 - 捲心菜肥料難題。對於那些不瞭解它的人來說,它涉及到一個農民必須與其他所有物體從一條河的北岸橫渡到南岸。銀行在以下三種情況下是安全的:農民在場,或者狼沒有留下山羊,或者山羊沒有留下捲心菜。爲了練習的目的,變量將是[f,b,g,w,c]。從Prolog中的列表中選擇所有可能的選項
我被困住的程序涉及找到1或2個元素的列表(總是包括農民-f),它可能是銀行運輸的一部分而不會使其不安全。如果有人確實選擇了([g,f,b],Items),則Items可能的返回值可以是[f],[f,g],[f,b]。但是,如果我們選擇([g,f,c],Items),則返回的唯一可能值是[f,c]或[f,g],因爲山羊和捲心菜不能放在一起。
因此,任何人都可以請給我一個提示如何獲得項目的所有可能的選項,但列表不超過2項?
你能明確的變量名字好嗎?目前還不清楚! – m09
變量名稱只是對象的縮寫 - 農民,狼,山羊,捲心菜,肥料袋b。銀行只是一個包含不同對象的列表。 –