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 :

Chemin le plus court


Sujet :

Algorithmes et structures de données

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2013
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Chemin le plus court
    Bonjour,

    J'ai un problème que je n'arrive pas à solutionner moi même :

    J'ai un tableau contenant des étapes :

    Nom : Capture.JPG
Affichages : 320
Taille : 13,3 Ko

    A partir de ce tableau je doit créer un programme permettant de trouver le chemin nécessitant le moins d’étape pour faire PARIS > AUXERRE.

    Sachant que dans ce tableau il y a 2 chemin possible :

    - PARIS > MELUN >SENS > AUXERRE

    - PARIS > MONTARGIS > AUXERRE

    le deuxième chemin est évidemment la bonne réponse.

    J'ai beau réfléchir je ne trouve pas comment réaliser se programme de façon générique, pouvez vous m'aider ?

    Merci d'avance.

  2. #2
    Membre actif

    Homme Profil pro
    Apprenti Langage C, pratiquant OpenOffice et Poo
    Inscrit en
    Février 2015
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre (Centre)

    Informations professionnelles :
    Activité : Apprenti Langage C, pratiquant OpenOffice et Poo
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2015
    Messages : 229
    Points : 218
    Points
    218
    Par défaut
    Bonsoir,

    Serais-tu voyageur de commerce ?
    Pascaltech

    Traduction : guides, manuels, normes : http://tradinfo.e-monsite.com/

  3. #3
    Candidat au Club
    Inscrit en
    Janvier 2013
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci pour l'indice !
    Je vais pousser ma recherche dans cette direction, je reviens vers vous si je bloque !

  4. #4
    Membre actif

    Homme Profil pro
    Apprenti Langage C, pratiquant OpenOffice et Poo
    Inscrit en
    Février 2015
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre (Centre)

    Informations professionnelles :
    Activité : Apprenti Langage C, pratiquant OpenOffice et Poo
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2015
    Messages : 229
    Points : 218
    Points
    218
    Par défaut
    Ton problème est moins compliqué que le problème du voyageur de commerce.

    Essaies de remplacer les étapes par des distances, elles seront plus facile à gérer, car moins nombreuses.

    Tu poses ton problème de deux manières : le chemin le plus court ou le moins d'étapes ?
    Pascaltech

    Traduction : guides, manuels, normes : http://tradinfo.e-monsite.com/

  5. #5
    Candidat au Club
    Inscrit en
    Janvier 2013
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Je n'ai pas de distance, c'est vraiment le nombre d'étape qui compte.
    Le titre est trompeur, désolé !

  6. #6
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 618
    Points : 188 591
    Points
    188 591
    Par défaut
    Les deux manières de formuler le problème sont assez équivalentes : si tu cherches le minimum d'étapes, tu considères que chaque ville est distante de l'autre d'une unité.

    C'est un problème assez courant avec des graphes. Vois, par exemple, http://lapoire.developpez.com/algorithmique/graphes/, http://tcuvelier.developpez.com/tuto...-donnees/#LVII.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  7. #7
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 053
    Points : 9 392
    Points
    9 392
    Par défaut
    C'est quoi, l'école ou bien la FAC où on t'a donné cet exercice ?
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  8. #8
    Candidat au Club
    Inscrit en
    Janvier 2013
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    @dourouc05 : Merci je vais étudier ça tranquillement.

    @tbc92 : ni l'un ni l'autre j'ai fait un test technique (dans le cadre d'un recrutement) qui ressemble à ça. Pourquoi cette question ?

  9. #9
    Membre actif

    Homme Profil pro
    Apprenti Langage C, pratiquant OpenOffice et Poo
    Inscrit en
    Février 2015
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre (Centre)

    Informations professionnelles :
    Activité : Apprenti Langage C, pratiquant OpenOffice et Poo
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2015
    Messages : 229
    Points : 218
    Points
    218
    Par défaut
    Citation Envoyé par kultt Voir le message
    Je n'ai pas de distance, c'est vraiment le nombre d'étape qui compte.
    Le titre est trompeur, désolé !
    Bonjour,

    Tu pourrais donner une valeur à chaque ville et comparer le total par chemin.

    Soit deux valeur par étape : PARIS = 1, MELUN = 2, total étape = 3

    ou

    ville de départ en dizaine et ville d'arrivée en unité : PARIS = 10, MELUN = 1, total étape = 11

    Ce n'est qu'une idée, je n'ai pas essayé.
    Pascaltech

    Traduction : guides, manuels, normes : http://tradinfo.e-monsite.com/

  10. #10
    Membre émérite

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 333
    Points : 2 570
    Points
    2 570
    Billets dans le blog
    9
    Par défaut Chemin le plus court
    Bonjour,

    Citation Envoyé par kultt Voir le message
    ... J'ai un problème que je n'arrive pas à solutionner moi même :
    J'ai un tableau contenant des étapes :

    Nom : Capture.JPG
Affichages : 320
Taille : 13,3 Ko

    A partir de ce tableau je doit créer un programme permettant de trouver le chemin nécessitant le moins d’étape pour faire PARIS > AUXERRE.
    Sachant que dans ce tableau il y a 2 chemin possible :

    - PARIS > MELUN >SENS > AUXERRE
    - PARIS > MONTARGIS > AUXERRE

    le deuxième chemin est évidemment la bonne réponse.

    J'ai beau réfléchir je ne trouve pas comment réaliser se programme de façon générique, pouvez vous m'aider ?
    Ton énoncé indique 5 villes:
    1_Paris
    2_Melun
    3_Sens
    4_Montargis
    5_Auxerre

    et 5 étapes permises:
    <1 - 2>, <2 - 3>, <3 - 5>, <1 - 4>, <4 - 5> parmi les (5 *4 / 2) = 10 arêtes possibles pour le graphe envisagé.

    Cela peut se consigner dans une matrice d'adjacence d'ordre 5, où l'on trouve aij = 1 ou 0 selon que l'étape est ou non autorisée. Si l'on ne tient compte que des étapes, et non des distances, la solution classique consiste donc à dégager le parcours total de somme (Saij) minimale, mais ne comportant aucun terme nul.

    Une autre recherche est encore envisageable, en considérant qu'il y aura au maximum 3 villes intermédiaires: <1 -a - b - c - 5> , donc 4 étapes. Le parcours total ne dépassant pas 4, on peut reprendre l'initialisation de la matrice précédente en posant aij = 1 (unité de distance convenue pour chaque étape autorisée), et aij = 10 pour les autres, de sorte qu'une simple recherche du minimum de la distance totale éliminera les parcours comportant une étape interdite.

    Le (très) petit nombre de villes autorise une énumération complète des parcours, classés selon le nombre de villes intermédiaires: 0 ,1 , 2 ou 3 , ce qui conduit à l'examen des cas:
    <1 - 5> : une solution, exclue;
    <1 - i - 5>: 3 solutions;
    <1 - i - j - 5> : 6 solutions;
    <1 - i - j - k - 5> : 6 solutions.

    Cela se programme rapidement.

    PS: Il est même possible de se ramener à l'unique dernier cas si l'on autorise l'éventuelle identité de deux étapes consécutives:
    (1 = i ; i = j ; j = k ; k = 5); la nullité des termes diagonaux (aii = 0) s'accordant avec le fait qu'aucune distance n'est parcourue, si l'on ne sort pas de la ville considérée. Mais il faudra en revanche éliminer quelques solutions inutiles, comme <1 - 4 - 4 - 4 - 5> ou <1 - 4 - 4 - 5 - 5> . en les réduisant au parcours le plus simple: <1 - 4 - 5> , comportant le plus petit nombre de déplacements.


    Le français, notre affaire à tous
    Grand Dictionnaire Terminologique

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. 2D C++ : Améliorer Recherche chemin le plus court
    Par Julien_C++ dans le forum Développement 2D, 3D et Jeux
    Réponses: 1
    Dernier message: 04/11/2006, 13h58
  2. chemin le plus court
    Par fabetvince dans le forum Algorithmes et structures de données
    Réponses: 21
    Dernier message: 01/06/2006, 00h14
  3. Trouver le chemin le plus court
    Par poly128 dans le forum Langage
    Réponses: 8
    Dernier message: 24/04/2006, 08h28
  4. chemin le plus court
    Par fabetvince dans le forum Algorithmes et structures de données
    Réponses: 13
    Dernier message: 21/04/2006, 13h38
  5. algorithme de Ford (recherche chemin le plus court)
    Par abstraite dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 19/05/2005, 10h39

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