मैंने इसी तरह के प्रश्नों को देखा है लेकिन मेरी समस्या से संबंधित कुछ भी नहीं मिल रहा है। मैंप्रोलॉग में सरलीकृत ट्रैवलिंग सेल्समैन
distance(City1,City2,Distance)
तथ्यों के एक डेटाबेस का उपयोग कर एक एल्गोरिथ्म या 'छोरों' कि CityA
से CityB
करने के लिए एक रास्ता मिल जाएगा के सेट को खोजने के लिए संघर्ष कर रहा हूँ,। जो मैंने अभी तक करने में कामयाब रहा है वह नीचे है, लेकिन यह हमेशा write(X),
पर बैकट्रैक करता है और फिर अंतिम पुनरावृत्ति के साथ पूरा करता है, जो मैं चाहता हूं कि वह केवल कुछ हद तक हो।
उदाहरण के लिए, मैं नहीं चाहता कि यह किसी भी शहर के नामों को मुद्रित करें, जो अंतिम सिरे हैं, या अंतिम पुनरावृत्ति का उपयोग करें। मैं मूल रूप से CityA
से CityB
तक पथ बनाना चाहता हूं, जो पथ पर जाने वाले शहरों का नाम लिख रहा है।
मुझे उम्मीद है कि कोई मेरी मदद कर सकता है!
all_possible_paths(CityA, CityB) :-
write(CityA),
nl,
loop_process(CityA, CityB).
loop_process(CityA, CityB) :-
CityA == CityB.
loop_process(CityA, CityB) :-
CityA \== CityB,
distance(CityA, X, _),
write(X),
nl,
loop_process(X, CityB).
आप महोदय, कर्तव्य की कॉल के ऊपर और परे चले गए हैं! यह अविश्वसनीय है, यह सही है और यह वास्तव में समझ में आता है! क्षमा करें मैं इतनी डमी हूं, मैं वास्तव में प्रोलॉग के लिए नया हूं और इसमें काफी हद तक स्वाभाविक रूप से आया है, मैंने वास्तव में इस कार्य के साथ संघर्ष किया है। बहुत बहुत धन्यवाद, इसलिए बहुत अधिक:] –
यदि आप इस कोड को समझने के लिए फिर से संघर्ष करते हैं तो मैं और प्रश्न पोस्ट करने में संकोच नहीं करता हूं, मैं या अन्य टिप्पणियों में उनका उत्तर देंगे :) – m09