IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Algo du touriste ?


Sujet :

Algorithmes et structures de données

  1. #1
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 10
    Par défaut Algo du touriste ?
    Bonjour
    J'essaye de modéliser un touriste qui se promène dans un parc. Dans ce parc il y a des chemins qui lui plaise et d'autre pas. Je veux que le touriste se promène dans le parc en empruntant les chemins qu'il préfère. Seulement son but n'est pas de trouver le plus court chemin mais bien de se balader et donc il peut prendre plusieurs fois le même chemin tant qu'il lui reste du temps pour sa promenade.
    Est ce que vous avez des idées d'algorithme que je pourrais utiliser ?

    Merci

  2. #2
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    Le touriste a t'il connaissance du graphe du parc? Dans le cas où il a un plan, on peut imaginer qu'il a une connaissance totale du parc mais pas des chemins qui lui plaisent et qui lui plaisent pas (qui seront visibles que lorsqu'il sera à cet endroit)

  3. #3
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 10
    Par défaut
    Le touriste a une connaissance total du parc. De plus il connait les chemins qui vont lui plaire.

  4. #4
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Bonjour,

    tu peux faire des parcours aléatoires :
    - A un carrefour, le touriste prend aléatoirement un chemin parmi ceux qui lui plaisent.
    - Si pas de chemin favoris, alors demi tour.

    Sinon tu peux appliquer cet algo à l'avance sur la carte afin d'éviter les demis tours.

    Sinon, tu peux encore faire la même chose, mais avec tous les chemins ! Tu mets une probabilité de prendre le chemin qui sera proportionnelle au fait que le touriste aime ce chemin. Ce parcours sera déjà plus sympa dans le sens que dans la grande majorité des cas il prendra les chemins qu'il préfère, mais rarement il testera un autre chemin.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  5. #5
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    On ne peut pas aussi imiter un algo de fourmis en faisant comme s'il y avait des féromones ou je ne sais quoi sur les chemins qui plaisent au touriste ?
    Cela doit de toute manière rejoindre ce qu'a dit ToTo13.

  6. #6
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    Sauf qu'il faut mettre des poids sur les chemins car sinon il y a une probabilité non nul pour que la personne ne sorte jamais.

  7. #7
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    Citation Envoyé par millie Voir le message
    Sauf qu'il faut mettre des poids sur les chemins car sinon il y a une probabilité non nul pour que la personne ne sorte jamais.
    Qui a dit qu'elle voulait sortir ?

  8. #8
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    Citation Envoyé par Alp Voir le message
    Qui a dit qu'elle voulait sortir ?
    tant qu'il lui reste du temps pour sa promenade.
    A moins qu'à la fin de la promenade, il se pose là où il est pour camper... Mais c'est possible aussi

  9. #9
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    Donc l'idée serait de pondérer plus fortement les chemins qu'il aime mais qui en plus l'amènent à la sortie, c'est ça ?

    Mais là quand il rentre il aura envie de sortir de suite, non ?

    Edit : pour ça, suffit d'orienter les chemins.

  10. #10
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 10
    Par défaut
    Merci pour toutes vos réponses, je vais essayer de faire qqch et de vous le montrer !

  11. #11
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    Citation Envoyé par Alp Voir le message
    Donc l'idée serait de pondérer plus fortement les chemins qu'il aime mais qui en plus l'amènent à la sortie, c'est ça ?
    Je pensais que la pondération était lié au temps.

    Je pensais créer un sous graphe à partir du graphe initial qui contiendrait uniquement les chemins qui plaisent. Mais si le graphe n'est pas connexe, il est possible qu'il faille ajouter des chemins qu'ils aiment pas pour rendre le graphe connexe afin d'aller à certains endroits qu'ils souhaitent. (problématique plus simple dans un graphe non orienté que dans un graphe orienté)

    Mais bon, les sujet n'était pas très clair, ça dépend

  12. #12
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    On est obligé de l'orienter car sinon ça risque de poser problème pour sortir.

    Et puis il faut aussi créer les chemins les plus courts possibles entre 2 chemins qu'il aime afin qu'il n'y ait pas de "trou" et qu'il soit mécontent le moins longtemps possible :p
    C'est à faire aussi entre l'entrée et le chemin qui lui plaît le plus proche de l'entrée, si nécessaire, et de même pour la sortie.

  13. #13
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    Citation Envoyé par Alp Voir le message
    On est obligé de l'orienter car sinon ça risque de poser problème pour sortir.
    Pourquoi ? Un chemin peut être pris dans les deux sens (à moins que l'on considère certains passages à sens unique comme saut d'un mur )

  14. #14
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 10
    Par défaut
    En faite je souhaitais modéliser une petite station de ski donc il s'agit d'un graphe orienté. J'ai pris l'exemple d'un parc pour faire plus "problème général". :p
    Le but est de modéliser les skieurs, ceux qui ont un comportement sportif et qui vont donc préférer les pistes rouges et noires et les skieurs débutants qui vont prendre que les pistes vertes et bleus. J'ai déjà modélisé une partie de la station et j'utilise l'algo de Djikstra pour aller d'un point à un autre mais je trouve que ce n'est pas très intéressant. Je suis en train de tenter de faire qqch avec tout ce que vous avez dit précédemment mais mon niveau en programmation et algo est très très limité donc ca risque de prendre du temps :p

  15. #15
    Membre expérimenté
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Par défaut
    Dans le cas du skieur,

    Il faudrait différencier les remontées et les pistes, sachant qu'il est possible d'avoir plusieurs pistes de niveaux différents pour une remontée. Pour l'histoire du temps et du retour à la station, il faut paramétrer les temps nécessaires pour la remontée et les différentes pistes. Ainsi, en fonction du temps qu'il lui reste, il va pouvoir calculer le parcourt le plus intéressant mais qui lui permet de rentrer avant la fermeture de la station.

    Evolution possible : ajouter le temps d'attente aux remontées... et construire un scénario en fonction du niveau du skieur (ex du très bon skieur): si piste noire, beaucoup de temps d'attente, mais piste géniale, alors attendre. Si piste verte et personne, passer son chemin...

  16. #16
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Un graphe orienté donc avec des poids sur les arêtes pour la préférence et réactualisés à chaque franchissement d'une arête par un facteur lié au temps restant disponible pour retourner en bas des pistes (pondération de plus en plus forte pour le chemin le plus court au fur et à mesure que le temps baisse). Il faut peut-être aussi masquer des arêtes -via des poids nuls: pas de piste noire pour un débutant, pas de piste bleu(? je ne connais pas les couleurs) pour un chevronné. Un skieur va-t-il avoir un trajet aléatoire sur une base préférentielle ou va-t-il renforcé des parcours au fur à mesure qu'il les emprunte? Sa préférence est-elle constante dans le temps :au début des pistes simples, et en fin de journée s'éclater sur des choses plus frontière avec son niveau, ou au contraire à fond à fond dès le début et à la fin plus calme car plein les pattes? Ma foi, un projet qui à l'air fort intéressant.

  17. #17
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 10
    Par défaut
    Bonjour,
    J'ai essayé d'avancer l'algo mais j'ai des difficultés.
    Pour commencer j'ai choisit une méthode assez simple. Je vais expliquer ce que j'ai fait.

    Tout d'abord j'ai mis des poids sur les arcs qui représentent la probabilité d'un chemin d'être emprunté. Au départ, il y a équiprobabilité.
    Puis on part d'un noeud que j'appelle nœud père.
    Ensuite on liste et on compte touts les chemins qui partent de ce noeud.
    Apres il y a une phase qui compte les chemins intéressants et diminue le poids d'un chemin pas intéressant. On répartie équitablement les points enlevés entre les chemins intéressants. La somme des poids des chemins partant d'un noeud reste égale a 100. Cette phase est répétée deux fois de suite.
    La première, j'utilise le nombre de fois qu'a été parcouru le chemin pour savoir si il est intéressant ou pas. Si il a été parcouru plus de 3 fois, il n’est pas intéressant. Son poids est divisé par deux.
    La deuxième, chaque chemin possède la propriété « intéressant ou pas » stocké dans une table. J’utilise cette propriété pour savoir si le chemin est bien ou pas. Si le chemin n’est pas super, sa probabilité d’être emprunté est divisée par 4.

    J'ai mis en ligne ce que j'ai fait : au bout de 3-4 pistes il ne fait que la piste 1 et la remonté 3.
    http://tassounet.free.fr/algo/algo_touriste.php5
    De plus avec cet méthode il est difficile d'ajouter le temps d'attente en bas des remontées.

    Est ce que vous pensez que le principe est bon ?

    Merci de votre aide

  18. #18
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Citation Envoyé par Barnabech Voir le message
    Bonjour,
    La première, j'utilise le nombre de fois qu'a été parcouru le chemin pour savoir si il est intéressant ou pas. Si il a été parcouru plus de 3 fois, il n’est pas intéressant. Son poids est divisé par deux.
    Un chemin parcouru + de 3 fois devient non-intéressant: tu arrive à une situation où tout tes chemins intéressant parcourus 3 fois sont non-intéressant, donc cette 'mémoire' devient inutile. En d'autre terme, cette règle devient neutre puisque elle a été appliquée sur tous les chemins intéressant. Je pense que tu devrais plutôt utiliser quelque chose comme les chemins qui ont été parcouru au cours des 3 dernier parcours voient leur poids diminué. Cela permet à un chemin parcourus de redevenir intéressant au quatrième coup. Une autre possibilité est d'atténuer le poids du chemin par la profondeur historique du parcours: en moins verbeux, le poids est divisé par un facteur d'autant plus grand qu'il a été parcouru récemment (exemple: par 4 pour le dernier, 3 pour l'avant dernier, 2 l'anté-pénultième).
    Ensuite, tu utilises une division par 2 pour les chemins parcours et par 4 pour les chemins non intéressant: n'obtiens-tu pas une poids bien trop faible alors pour ces derniers? Les coefs sont peut-être à ajuster.

Discussions similaires

  1. cherche algos Delphi pour : Huffman, R.S.A, D.E.S.
    Par X-Delphi dans le forum Débuter
    Réponses: 3
    Dernier message: 24/08/2002, 18h51
  2. Cherche l'algo crc 16 bits
    Par icepower dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 21/08/2002, 13h27
  3. Algo de calcul de FFT
    Par djlex03 dans le forum Traitement du signal
    Réponses: 15
    Dernier message: 02/08/2002, 17h45
  4. Algo de Hough et ou de Radon
    Par victorracine dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 29/07/2002, 11h09
  5. Recherche algo tree
    Par Anonymous dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 24/05/2002, 13h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo