Forum by laureateci.it
[ Home | REGOLE FORUM | Tutti i blog | Profilo | Registrati | CHAT | Discussioni Attive | Discussioni Recenti | Segnalibro | Msg privati | Sondaggi Attivi | Utenti | Download Informatica | Download ICD | Download TPS | Download Magistrale | Download Specialistica | Giochi | Cerca nel web | cerca | faq | RSS ]
Nome Utente:
Password:
Salva Password
Password Dimenticata?

 Tutti i Forum
 Magistrale - Primo Anno
 Intelligenza Artificiale
 Problema ricerca ampiezza albero prolog
 Nuova Discussione  Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
I seguenti utenti stanno leggendo questo Forum Qui c'è:
Autore Discussione Precedente Discussione Discussione Successiva  

Giuly7
Nuovo Utente



Inserito il - 05/07/2012 : 16:22:58  Mostra Profilo  Visita l'Homepage di Giuly7 Invia a Giuly7 un Messaggio Privato  Rispondi Quotando
Ragazzi/e ciao a tutti/e.
Un pò di giorni fa ho chiesto aiuto per un programma prolog. Bene, il mio problema l ho risolto, però mi trovo a chiedervi di nuovo supporto.

Questo è il mio programma:

arco_pesato(roma,firenze,3).
arco_pesato(firenze,genova,3).
arco_pesato(genova,torino,2).
arco_pesato(torino,milano,2).
arco_pesato(torino,aosta,1).
arco_pesato(firenze,bologna,2).
arco_pesato(bologna,venezia,2).
arco_pesato(venezia,trento,2).
arco_pesato(venezia,trieste,2).
arco_pesato(napoli,potenza,2).
arco_pesato(palermo,cagliari,9).
arco_pesato(potenza,bari,2).
arco_pesato(potenza,catanzaro,4).
arco_pesato(catanzaro,palermo,5).
arco_pesato(roma,laquila,1).
arco_pesato(laquila,campobasso,3).
arco_pesato(laquila,ancona,2).
arco_pesato(campobasso,napoli,2).

calcola_itinerario:- write('Salve, le diamo in benvenuto nella nostra agenzia turistica virtuale.Le proporremo, partendo da Roma un percorso turistico interessante.'), write('Inserisca il capoluogo di arrivo:'),nl, read(X), ricerca_localita('roma',X).

ricerca_localita(X,X):- write('Sei già qui, buona visita della città!'),nl.

ricerca_localita(X,Y):-ricerca(X,Y,L,[X],Costo), reverse_append(L,_),write('.Per questo itinerario impiegherà:'), write(Costo), write(' ore di viaggio.') .

ricerca(X,X,L,L,0).
ricerca(X,Y,L,P,O):- arco_pesato(X,W,C),ricerca(W,Y,L,[W|P],K),percorso_pesato(C,K,O).

reverse_append([],[]).
reverse_append([A|C],Q):-reverse_append(C,K),
append(K,[A],Q),write(A), write(' ').

percorso_pesato(A,C,Costo):- Costo is C+A.

L'ho implementato seguendo l'algoritmo di ricerca in profondità, ma è effettivamente quello che fa? In ampiezza come si sarebbe dovuto sviluppare? Grazie ancora!
  Discussione Precedente Discussione Discussione Successiva  
 Nuova Discussione  Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
Vai a:
Forum by laureateci.it © 2002 - 2012 Laureateci Communications Torna all'inizio della Pagina
Il DB ha risposto in 0,16 secondi.

TargatoNA.it | SuperDeejay.Net | Antidoto.org | Brutto.it | Equiweb.it | Snitz Forum 2000