Benzer sorulara baktım ama sorunumla alakalı hiçbir şey bulamadım. BenBasitleştirilmiş Gezici Satış Noktası Prolog
distance(City1,City2,Distance)
gerçekleri bir veritabanı kullanılarak, CityA
den CityB
yolunu bulacaksınız 'döngüler' bir algoritma veya set bulmak için mücadele ediyorum. Şimdiye kadar yapmayı başardığım şey aşağıda, ancak her zaman write(X),
'da geri dönüyor ve son yinelemeyle tamamlanıyor, bunu yapmak istediğim şey sadece belli bir dereceye kadar. Örneğin, son çıkarılan veya son yinelemeyi kullanmak için herhangi bir şehir adını yazdırmasını istemiyorum. Temel olarak CityA
ile CityB
arasında bir yol yapmasını ve yolunda gittiği şehirlerin adını yazmasını istiyorum.
Umarım birileri bana yardım edebilir!
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).
Siz efendim, görev çağrısı yukarıda ve öteye gitti! Bu inanılmaz, mükemmel ve aslında mantıklı! Üzgünüm ben böyle bir kukla, ben prolog için gerçekten yeniyim ve çok fazla doğal olarak geldi gerçekten bu görevle gerçekten uğraştım. Çok çok çok çok sooooo çok:] –
Bu kodu anlamak için tekrar mücadele eğer başka soru göndermek için çekinmeyin, ben veya diğerleri yorumlarda onlara cevap verecektir :) – m09