Exercices
Fermé
filsdelumiere
-
choubaka Messages postés 39986 Date d'inscription Statut Modérateur Dernière intervention -
choubaka Messages postés 39986 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Pourriez-vous m'aider à résoudre ces exercices ?
***********
1. Faire la rotation d'un liste du nombre d'element indique en parametre, comme dans l'exemple
suivant :
{ ?- rotation([a,b,c,d,e],3,L).
{ L = [c,d,e,a,b]
{ ?- rotation([a,b,c,d,e],-1,L).
{ L = [b,c,d,e,a]
2. Compter le nombre d'occurrence d'elements qui se suivent dans une liste, comme dans l'exemple
suivant :
{ ?-occurrence([a,a,b,b,b,a,e,e,e],L).
{ L = [[a,2],[b,3],[a,1],[e,3]]
***********
En utilisant une technique de parcours avec heuristique (cf. cours et exercices), vous devez realiser le
programme prolog qui permet de trouver un chemin pour se rendre d'une planete a une autre. Les
donnees sont presentees sur la gure (entre parentheses les coordonnees des planetes et les distances
sont sur les routes). Le programme contiendra les nouveaux predicats suivants :
{ planete : donne pour chaque planete (dans l'ordre alphabetique) ses coordonnees sur la carte
{ route : indique s'il y a une route entre deux planetes (par ordre alphabetique) et la distance corres-
pondante
{ cout : calcule la distance en vol direct entre la derniere planete du parcours courant et la planete
d'arrivee
{ distance : calcule la distance deja parcourue reellement
{ deplace : calcule tous les chemins possibles pouvant etendre le chemin courant.
Les autres predicats restent inchanges : parcours Suivant, insere, insereC, etat nal, heuristique, le
predicat d'appel de la resolution.
Questions :
1. Donner seulement les 5 predicats qu'il faut redenir pour le probleme : planete, route, cout,
distance, deplace.
2. Donner le resultat obtenu si l'on prend comme planete de depart coruscant et celle d'arrivee
Kessel pour les trois parcours suivants :
(a) Pour le parcours avec heuristique, donner en plus de la solution trouvee la liste des chemins
construits au moment du resultat.
(b) Pour le parcours en largeur, donner en plus de la solution trouvee la liste des chemins
construits au moment du resultat.
(c) Pour le parcours en profondeur (on considere que les routes sont ordonnees par ordre
alphabetique des planetes).
***********
***********
Pourriez-vous m'aider à résoudre ces exercices ?
***********
1. Faire la rotation d'un liste du nombre d'element indique en parametre, comme dans l'exemple
suivant :
{ ?- rotation([a,b,c,d,e],3,L).
{ L = [c,d,e,a,b]
{ ?- rotation([a,b,c,d,e],-1,L).
{ L = [b,c,d,e,a]
2. Compter le nombre d'occurrence d'elements qui se suivent dans une liste, comme dans l'exemple
suivant :
{ ?-occurrence([a,a,b,b,b,a,e,e,e],L).
{ L = [[a,2],[b,3],[a,1],[e,3]]
***********
En utilisant une technique de parcours avec heuristique (cf. cours et exercices), vous devez realiser le
programme prolog qui permet de trouver un chemin pour se rendre d'une planete a une autre. Les
donnees sont presentees sur la gure (entre parentheses les coordonnees des planetes et les distances
sont sur les routes). Le programme contiendra les nouveaux predicats suivants :
{ planete : donne pour chaque planete (dans l'ordre alphabetique) ses coordonnees sur la carte
{ route : indique s'il y a une route entre deux planetes (par ordre alphabetique) et la distance corres-
pondante
{ cout : calcule la distance en vol direct entre la derniere planete du parcours courant et la planete
d'arrivee
{ distance : calcule la distance deja parcourue reellement
{ deplace : calcule tous les chemins possibles pouvant etendre le chemin courant.
Les autres predicats restent inchanges : parcours Suivant, insere, insereC, etat nal, heuristique, le
predicat d'appel de la resolution.
Questions :
1. Donner seulement les 5 predicats qu'il faut redenir pour le probleme : planete, route, cout,
distance, deplace.
2. Donner le resultat obtenu si l'on prend comme planete de depart coruscant et celle d'arrivee
Kessel pour les trois parcours suivants :
(a) Pour le parcours avec heuristique, donner en plus de la solution trouvee la liste des chemins
construits au moment du resultat.
(b) Pour le parcours en largeur, donner en plus de la solution trouvee la liste des chemins
construits au moment du resultat.
(c) Pour le parcours en profondeur (on considere que les routes sont ordonnees par ordre
alphabetique des planetes).
***********
***********