zebra puzzle - Prolog riddle solving -
कथन:
सभी में चार जोड़ों
<
2
एक बिल्ली के रूप में तैयार की गई महिला
उसके पति मैट के साथ आए।
3 <
4
पहले आने वाले विन्स नहीं था,
5
चुड़ैल (नहीं मुकदमा) चक से शादी कर ली है,
कौन तैयार था
6
मैरी लू के बाद आया था,
दोनों मुकदमा के पहले थे।
7
जिप्सी ए से पहले पहुंचे,
न तो बेटमैन से शादीशुदा है।
8
अगर स्नो व्हाइट टीसे के बाद पहुंचे,
> फिर कैसे एक युगल तैयार किया गया था?
मेरा कोड यहां है, लेकिन यह गलत देता है:
sol (S): - S = [[1, एल 1, एम 1, एलडी 1, एमडी 1], [2, एल 2, एम 2, एलडी 2, एमडी 2], [3, एल 3, एम 3, एलडी 3, एमडी 3], [4, एल 4, एम 4, एलडी 4, एमडी 4]], सदस्य ([_, _, मैट, बिल्ली, _], एस), मी एम्बर ([एएलआर, _, _, _, बीयर], एस), (एएलआर =: = 1; सदस्य ([वीएन, _, विंस, _, _], एस), सदस्य ([पीएस, _ (एलआर == = 2), सदस्य ([1, _, विंस, _, _], एस) , _, _, राजकुमार], एस), वीएन एंड एलटी; पीएस, सदस्य ([_, _, चक, चुड़ैल, डोनाद] एस) सदस्य नहीं (सदस्य ([_, सुई, _, चुड़ैल, _], एस), सदस्य ([एमआरई, मैरी, _, _, _], एस), सदस्य ([एलओयू, _, लू, _, _], एस), सदस्य ([एसयूई, मुकदमा, _, _, _], एस), एमआरआई & gt; एलओयू, एमआरआई & lt; एसयूई, सदस्य ([जीपीएस, _, _, जिप्सी, _], एस), सदस्य ([एएन, एन, _, _, _], एस), जीपीएस और एलटी; एएनएन, सदस्य ([_, _, _, जिप्सी, बैटमैन, एस)) नहीं, सदस्य ([_, एन, _, _, बैटमैन], एस), सदस्य ([एसडब्ल्यू, _, _ , स्नोविथ, _], एस), सदस्य ([टीएस, टेस, _, _, _], एस), एसडब्ल्यू & gt; ट्रांस ([मैट, लॉ, विंस, चक], [एम 1, एम 2, एम 3, एम 4]), पर्म [बिल्ली, चुड़ैल, जिप्सी, स्नोवाइट], [एलडी 1, एलडी 2, एलडी 3, एलडी 4]), पर्म ([डोनाल्ड, राजकुमार, बैटमैन, भालू], [एमडी 1, एमडी 2, एमडी 3, एमडी 4])। takeout (एक्स, [X | आर], आर)। टेकआउट (एक्स, [एफ | आर], [एफ एस]]: - टेकआउट (एक्स, आर, एस) पर्म ([], [])। पर्म ([एक्स | वाई], जेड): - पर्म (वाई, डब्ल्यू), टेकआउट (एक्स, जेड, डब्ल्यू)। कोई भी समाधान?
आपको अपने सभी वैकल्पिक रूप से, एक वैरिएबल पर असमानता की जांच में देरी करते हैं जब तक कि इसे तत्काल नहीं किया जाता है, उदा। SWI Prolog में (जैसा कि देखा गया है जैसे)। नहीं (जी) का अर्थ है, " जी नहीं है अभी को संतुष्ट करना असंभव है " जब बहुत जल्दी की कोशिश की, सूचियों में कई अभी भी गैर- instantiated चर के साथ, यह वास्तव में अक्सर एक लक्ष्य को संतुष्ट करने के लिए संभव है, और पूरे नहीं (...) कॉल तुरंत विफल हो जाएगा।
Comments
Post a Comment