Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1805 connectés 

  FORUM HardWare.fr
  Programmation
  Algo

  Algorithme de parcours

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Algorithme de parcours

n°597856
Ace17
Posté le 28-12-2003 à 08:45:56  profilanswer
 

J'ai un tableau a deux dimensions qui represente ma zone a parcourir, avec certaines cases a 0 ( franchissables ) et d'autres a 1 ( infranchissables ). On représente ainsi un rectangle de terrain comportant des obstacles.
Mon but est de passer au moins une fois sur chaque case franchissable, en un trajet minimum.
 
J'arrive a parcourir entierement mon tableau tout en évitant les obstacles, mais le trajet obtenu est loin d'etre optimal... Quelqu'un a-t-il une idée ou connait-il un algorithme d'optimisation pour un tel parcours?

mood
Publicité
Posté le 28-12-2003 à 08:45:56  profilanswer
 

n°597863
ToxicAveng​er
Posté le 28-12-2003 à 10:17:23  profilanswer
 

Regarde du coté de la recherche operationnelle (algo du parcours le plus court). Désolé, j'ai plus l'algo en tete, t'as pas fait ca en cours des fois ? (avec les files d'attentes etc...)

n°597874
Ace17
Posté le 28-12-2003 à 11:27:36  profilanswer
 

Ben si on a fait des parcours de graphes en info; Mais il ne s'agissait de parcours ou on avait le droit de sauter d'un sommet a n'importe quel autre ( depth-first, breadth-first, etc... ). Dans mon cas tu ne peux aller d'un sommet a l'autre que s'ils sont reliés par une arete.
Pour comprendre le probleme il faut s'imaginer un robot mobile qui parcourt le terrain. La il devient évident que ces algorithmes la ne me sont d'aucun secours.

n°597878
Cherrytree
cn=?
Posté le 28-12-2003 à 11:43:11  profilanswer
 

A vue de nez c'est NP Complet ton pb.


---------------
Le site de ma maman
n°597879
ToxicAveng​er
Posté le 28-12-2003 à 11:44:24  profilanswer
 

Ace17 a écrit :

Ben si on a fait des parcours de graphes en info; Mais il ne s'agissait de parcours ou on avait le droit de sauter d'un sommet a n'importe quel autre ( depth-first, breadth-first, etc... ). Dans mon cas tu ne peux aller d'un sommet a l'autre que s'ils sont reliés par une arete.
Pour comprendre le probleme il faut s'imaginer un robot mobile qui parcourt le terrain. La il devient évident que ces algorithmes la ne me sont d'aucun secours.


 
Ouais non, je parlais pas de ca... désolé, j'ai al flemme de rechercher mes cours :p

n°597881
Ace17
Posté le 28-12-2003 à 11:48:00  profilanswer
 

cherrytree a écrit :

A vue de nez c'est NP Complet ton pb.


 
Ouais mais je cherche pas un algo de calcul direct de la meilleure solution, je cherche des idées pour optimiser une solution naive.

n°597882
Cherrytree
cn=?
Posté le 28-12-2003 à 11:50:00  profilanswer
 

Quelles hypothèses a-t-on sur les obstacles ?
 
Tu peux avoir des terrains comme ça ?
 

0 0 0 0 1 1 0
1 1 0 0 1 1 1
1 1 1 0 0 1 1
1 1 0 0 0 0 0
0 0 0 1 1 0 0

?


---------------
Le site de ma maman
n°597885
Ace17
Posté le 28-12-2003 à 11:55:32  profilanswer
 

Les obstacles peuvent avoir n'importe quelle forme, tant que la zone a parcourir reste connexe.

n°597886
Cherrytree
cn=?
Posté le 28-12-2003 à 11:55:39  profilanswer
 

Sur de petites dimensions, tu dois pouvoir décomposer ton problème comme un arbre (assez explosif, je l'accorde), où tu ne considères le retour arrière que si tu as marqué tous les noeuds connexes de ton noeud courant. Si tu as plus d'une possibilité tu débutes un nouveau sous graphe. Si tu es coincé, tu repars en arrière. Bon, c'est une heuristique pourrie... Surtout qu'elle risque de foirer.


Message édité par Cherrytree le 28-12-2003 à 11:56:58

---------------
Le site de ma maman
n°597887
Cherrytree
cn=?
Posté le 28-12-2003 à 11:56:07  profilanswer
 

Ace17 a écrit :

Les obstacles peuvent avoir n'importe quelle forme, tant que la zone a parcourir reste connexe.  


OK, donc il existe toujours un chemin (et donc un chemin optimal).


---------------
Le site de ma maman
mood
Publicité
Posté le 28-12-2003 à 11:56:07  profilanswer
 

n°597888
gizmo
Posté le 28-12-2003 à 12:00:53  profilanswer
 

cherrytree a écrit :

Sur de petites dimensions, tu dois pouvoir décomposer ton problème comme un arbre (assez explosif, je l'accorde), où tu ne considères le retour arrière que si tu as marqué tous les noeuds connexes de ton noeud courant. Si tu as plus d'une possibilité tu débutes un nouveau sous graphe. Si tu es coincé, tu repars en arrière. Bon, c'est une heuristique pourrie... Surtout qu'elle risque de foirer.


 


1 1 1 1 1 x
1 0 0 0 1 0
1 0 1 0 0 0
1 0 0 0 1 0
1 1 1 1 1 0


 
Si je commence en X, ton heuristique arrive à un résultat impossible.

n°597889
gilou
Modérateur
Modzilla
Posté le 28-12-2003 à 12:01:51  profilanswer
 

Ace17 a écrit :


 
Ouais mais je cherche pas un algo de calcul direct de la meilleure solution, je cherche des idées pour optimiser une solution naive.


Adapter l'algo de Floyd Djikstra?? En considerant chaque point de ta matrice comme le sommet d'un graphe de taille n*n...
 
 
A+,


Message édité par gilou le 28-12-2003 à 12:11:18

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°597894
Cherrytree
cn=?
Posté le 28-12-2003 à 12:08:09  profilanswer
 

gizmo a écrit :


 


1 1 1 1 1 x
1 0 0 0 1 0
1 0 1 0 0 0
1 0 0 0 1 0
1 1 1 1 1 0


 
Si je commence en X, ton heuristique arrive à un résultat impossible.


Parce qu'il manque la condition d'arrêt.
 
Mais je suis d'accord que c'est pas génial.


Message édité par Cherrytree le 28-12-2003 à 12:08:35

---------------
Le site de ma maman
n°597924
ToxicAveng​er
Posté le 28-12-2003 à 13:23:19  profilanswer
 

gilou a écrit :


Adapter l'algo de Floyd Djikstra?? En considerant chaque point de ta matrice comme le sommet d'un graphe de taille n*n...
 
 
A+,


 
Ah voila, c'est celui la que je cherchait. Y'en a un autre aussi je crois  [:zebra33]

n°600877
Ace17
Posté le 02-01-2004 à 18:28:49  profilanswer
 

Bon je viens de lire dans un bouquin qu'il n'existe pas d'algorithme efficace qui résolve le probleme du parcours hamiltonien...

n°600878
Ace17
Posté le 02-01-2004 à 18:30:36  profilanswer
 

cherrytree a écrit :


OK, donc il existe toujours un chemin (et donc un chemin optimal).


 
Oui mais il s'agit de passer au moins une fois sur chaque case ( d'ou le coté Hamiltonien ) et pas seulement d'aller d'un point a un autre...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Algo

  Algorithme de parcours

 

Sujets relatifs
Algorithme de cryptage DES[Prog. en général] Question fondamentale sur le parcours d'un doc
Algorithme de creation d'un arbre balanceAlgorithme de B-Tree
algorithme de conversion RGB>YUValgorithme quantique ???
[algorithme] pour les gens qui ont un esprit logique :)Algorithme d'equilibrage d'un AVL
cherche liens vers algorithme....Ou trouver l'UML de l'algorithme A* ? (recherche du plus court chemin)
Plus de sujets relatifs à : Algorithme de parcours


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR