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
 Aiuto programma PROLOG!!!

Nota: Devi essere registrato per poter inserire un messaggio.
Per registrarti, clicca qui. La Registrazione è semplice e gratuita!

Larghezza finestra:
Nome Utente:
Password:
Modo:
Formato: GrassettoCorsivoSottolineatoBarrato Aggiungi Spoiler Allinea a  SinistraCentraAllinea a Destra Riga Orizzontale Inserisci linkInserisci EmailInserisci FlashInserisci Immagine Inserisci CodiceInserisci CitazioneInserisci Lista Inserisci Faccine
   
Icona Messaggio:              
             
Messaggio:

  * Il codice HTML è OFF
* Il Codice Forum è ON

Smilies
Approvazione [^] Arrabbiato [:(!] Bacio [:X] Bevuta [:273]
Caldo [8D] Compiaciuto [8)]    
compleanno [:269]
Davvero Felice [:D] Diavoletto [}:)] Disapprovazione [V] Domanda [?]
Felice [:)] Fumata [:29] Goloso [:P] Imbarazzato [:I]
Infelice [:(] Morte improvvisa da [:62]
Morto [xx(] Occhio Nero [B)] Occhiolino [;)] Palla 8 [8]
pc [:205]    
Riproduzione [:76]
Scioccato [:O]      

   Allega file
  Clicca qui per inserire la tua firma nel messaggio.
Clicca qui per sottoscrivere questa Discussione.
    

V I S U A L I Z Z A    D I S C U S S I O N E
Giuly7 Inserito il - 04/09/2012 : 23:51:37
Devo implementare un programma in Prolog su un dominio a piacere che effettui una ricerca in profondità e una in ampiezza per "esplorare" il mio dominio. Ho realizzato questo programma che mi effettua il cammino dell'albero:

 %%%%%%% ITINERARIO TURISTICO PARTENZA ROMA %%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Vengono riportate, costruendo un albero, i capoluoghi di regione %
% italiani considerando in una lista le regioni confinanti.        %
% Le due isole si sono ritenute confinanti con la regione più      %
% vicina.							   %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Per ogni ramo dell'albero verrà indicato il costo (in termini    %
% di ore)del cammino da capoluogo a capoluogo.                     %
% La fonte per questo dato è tratta da Google Maps ed è stata      %
% approssimata.                                                    %
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

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).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Verrà chiesto all'utente di inserire la località in cui intende  %
% arrivare.                                                        %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

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).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% La ricerca della località verrà implementata secondo l'algoritmo %
% di ricerca in profondità.                                        %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%passo base: la località è gia roma

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

%passo ricorsivo

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.

not(X):- X,!,fail.
not(_).






come posso modificarlo per ottenere due programmi uno con ricerca in profondità e uno in ampiezza? Grazieee

Forum by laureateci.it © 2002 - 2012 Laureateci Communications Torna all'inizio della Pagina
Il DB ha risposto in 0,03 secondi.

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