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 :

algorithme des deux points les plus proches


Sujet :

Algorithmes et structures de données

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 33
    Points : 12
    Points
    12
    Par défaut algorithme des deux points les plus proches
    Bonjour,
    Il s'agit de trouver les deux points les plus proches dans un plan par un algorithme de type diviser pour reigner.
    J'ai éssayé de construire deux tableau un pour les abssisse et un pour les ordonées X et Y, les trier et diviser le X en deux (parties des points gauches et une autre partie droite). Trouver les points les plus proches de chacune des parties.
    Mais si la dimension du plan est en 3D, donc 3 coordonées pour chaque point, on aura 3 tableaus X, Y et Z. Si je dois diviser, je divise selon les X et Z ou seulement selon les X ? À votre avis ?
    Merci pour votre aide.

  2. #2
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Pour rester dans les généralités, diviser en 2 est insuffisant.
    Il faut diviser en 3 intervalles au minimum : notons ces intervalles [AB], [BC] et [CD].
    Ainsi, quelque soit le point P1 appartenant à [AB] et quelque soit P2 appartenant à [CD], alors Dist(P1,P2) sera supérieure à Dist(B,C).
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 33
    Points : 12
    Points
    12
    Par défaut
    j'avoue que je n'ai pas très bien compris, comment ça diviser en 3. est ce qu'on divise par 3 lorsuqe les points sont en 3 dimensions?

  4. #4
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    3 c'est juste le minimum sur une des dimensions pour pouvoir optimiser le minimum de la distance entre 2 groupes de points. Car, si on considère 2 groupes adjacents, il pourra y avoir des points très proches de part et d'autre de la frontière.

    L'idée est donc en 1 D de diviser en intervalles, en 2D en carrés, en 3D en cubes.
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  5. #5
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 33
    Points : 12
    Points
    12
    Par défaut
    Je suis désolée mais c'est encore pas compris. Je divise en deux, je cherche le minimum des distances. par exemple, je divise en Xdroite et Xgauche. Je cherche la dictance min1 dans Xdroite, puis la dictance min2 dans Xgauche, et la le min sera le minimum des (min1,min2).

  6. #6
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Je cherche la dictance min1 dans Xdroite, puis la dictance min2 dans Xgauche, et la le min sera le minimum des (min1,min2).
    ça ne suffit pas : il peut y avoir un point A à droite et un point B à gauche tels que dist(A,B)<minimum des (min1,min2).
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  7. #7
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par Graffito Voir le message
    Pour rester dans les généralités, diviser en 2 est insuffisant.
    Il faut diviser en 3 intervalles au minimum : notons ces intervalles [AB], [BC] et [CD].
    Ainsi, quelque soit le point P1 appartenant à A et quelque soit P2 appartenant à B, alors Dist(P1,P2) sera supérieure à Dist(B,C).


    C'est l'algo de Bentley and Shamos (cf. leur publication "Divide-and-conquer in multidimensional space")
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  8. #8
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 33
    Points : 12
    Points
    12
    Par défaut
    Je suis desolée, je n'ai pas vu vos réponses, j'étais sur un autre devoir.
    Je vais jetté un coup d'oeil sur l'article, merci.

  9. #9
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 33
    Points : 12
    Points
    12
    Par défaut
    ça ne suffit pas : il peut y avoir un point A à droite et un point B à gauche tels que dist(A,B)<minimum des (min1,min2).

    Je sais Graffito qu'il faut prendre en considération ce point, mais pour mettre en place un algorithme, c vraiment dur.

Discussions similaires

  1. Réponses: 8
    Dernier message: 20/02/2015, 08h00
  2. Repérer le couple de points les plus proches dans des matrices
    Par lolo-40 dans le forum Mathématiques
    Réponses: 0
    Dernier message: 23/02/2014, 16h12
  3. recherche des deux points les plus éloignés
    Par moooona dans le forum API graphiques
    Réponses: 19
    Dernier message: 01/02/2011, 19h35
  4. [Complexité] recherche des n points les plus proches d'un point dans une liste
    Par Benoit_T dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 20/06/2009, 15h55
  5. Trouver les deux points les plus éloignés
    Par giloutho dans le forum Algorithmes et structures de données
    Réponses: 24
    Dernier message: 13/04/2008, 01h48

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