Ciao a tutti. Mi trovo a scrivere in quanto ho problemi con le strategie di ricerca in prolog. Ho implementato il programma nel seguente modo: chiede all'utente di inserire dei parametri, come il capoluogo di partenza e quello di arrivo e le ore massime di viaggio che si è disposti ad affrontare e dovrebbe restituire il percorso da un capoluogo ad un altro mostrando il totale di ore di viaggio. Riporto qui un breve esempio:
capoluogo_confine(milano,[bologna,torino,venezia,trento]). capoluogo_confine(trento,[milano,venezia]). capoluogo_confine(venezia,[milano,bologna,trento,trieste]). capoluogo_confine(trieste,[venezia]).
tempo_viaggio(milano,bologna,2). tempo_viaggio(milano,torino,2). tempo_viaggio(milano,venezia,3). tempo_viaggio(venezia,bologna,2).
qndi l utente che vorrà andare da milano a bologna con un massimo di ore di viaggio pari a 10, vedrà stampato sul terminale: milano venezia bologna 7.
avevo pensato di interagire con l'utente in questo modo dato che dovrò usare il terminale di SWI-Prolog:
calcola_itinerario:- write('Salve, inserisca un capoluogo di provincia da cui partire:'),nl, read(X), write('inserisca un capoluogo di arrivo:'), read(Y), write('inserire il numero massimo di ore di viaggio che si vogliono affrontare:'), read(N), ....
Devo implementare l'algoritmo attraverso il metodo di ricerca in profondità e secondo quello in ampiezza (due programmini per intenderci).. Vi ringrazio per l'aiuto! help me please!
|