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 :

Estimer les volumes de cellules de Voronoï


Sujet :

Algorithmes et structures de données

  1. #1
    Membre expérimenté
    Homme Profil pro
    Chercheur
    Inscrit en
    Mars 2010
    Messages
    1 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 218
    Points : 1 685
    Points
    1 685
    Par défaut Estimer les volumes de cellules de Voronoï
    Bonjour,

    je dispose d'un ensemble de vecteurs définissant chacun une cellule de voronoï (et je connais les frontières de mon domaine). La dimension de l'espace peut-être plus ou moins grande mais est en général supérieure à 10.
    J'aimerais estimer les volumes de mes cellules de Voronoï.
    Je sais qu'il existe des méthodes de calcul en géométrie algorithmique mais la complexité n'est pas acceptable en grande dimension.
    J'avais pensé à faire du monte-carlo mais je me demande s'il n'y a pas mieux, par exemple en passant par de l'intégration numérique.

    Si quelqu'un a une idée ou connaît une méthode, je suis preneur.

  2. #2
    Membre éprouvé Avatar de Nemerle
    Inscrit en
    Octobre 2003
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 106
    Points : 1 213
    Points
    1 213
    Par défaut
    ... faudrait préciser un poil là.
    Nemerle, mathématicopilier de bars, membre du triumvirat du CSTM, 3/4 centre

  3. #3
    Membre expérimenté
    Homme Profil pro
    Chercheur
    Inscrit en
    Mars 2010
    Messages
    1 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 218
    Points : 1 685
    Points
    1 685
    Par défaut
    J'ai un ensemble fini de vecteurs, notons-le E, sous-ensemble de R^p.
    La dimension p peut-être grande (ex:1000).
    Si w est un vecteur dans E, il définit la cellule de Voronoi C(w) :
    C(w) = { x dans R^p; ||x-w||<= ||x-w*||, pour tout w^* dans E}.
    On admet qu'il existe au moins un vecteur dans E qui définit une cellule de Voronoï finie.
    Comment estimer le volume de cette cellule?

  4. #4
    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 Aleph69 Voir le message
    J'ai un ensemble fini de vecteurs, notons-le E, sous-ensemble de R^p.
    La dimension p peut-être grande (ex:1000).
    Si w est un vecteur dans E, il définit la cellule de Voronoi C(w) :

    On admet qu'il existe au moins un vecteur dans E qui définit une cellule de Voronoï finie.
    Comment estimer le volume de cette cellule?
    Ca dépend de la précision de l'estimation

    On peut simplement calculer le volume de la boite-englobante de la cellule

    On peut découper l'espace en volumes élémentaires et faire une sommation des éléments intérieurs a la cellule

    On peut calculer le volume de la cellule par intégration différentielle (théorème de Stokes)

    etc.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  5. #5
    Membre expérimenté
    Homme Profil pro
    Chercheur
    Inscrit en
    Mars 2010
    Messages
    1 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 218
    Points : 1 685
    Points
    1 685
    Par défaut
    Mon problème est que mes cellules de Voronoï sont définies de manière implicite : je n'en connais pas la frontière explicitement.
    Je ne vois pas comment définir une boîte englobante ou découper ma cellule ou calculer le volume par la formule de Stokes.

  6. #6
    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 Aleph69 Voir le message
    Mon problème est que mes cellules de Voronoï sont définies de manière implicite : je n'en connais pas la frontière explicitement.
    Je ne vois pas comment définir une boîte englobante ou découper ma cellule ou calculer le volume par la formule de Stokes.
    Ah. Je comprend mieux ton idée de monté-carlo, qui consiste en fait à obtenir une approximation de la représentation explicite des cellules.

    Et à moins d'avoir une formulation explicite des cellules, je ne vois pas comment faire.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  7. #7
    Membre expérimenté
    Homme Profil pro
    Chercheur
    Inscrit en
    Mars 2010
    Messages
    1 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 218
    Points : 1 685
    Points
    1 685
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    Et à moins d'avoir une formulation explicite des cellules, je ne vois pas comment faire.
    A ma connaissance, la construction explicite du diagramme de Voronoï est beaucoup trop chère car la dimension de l'espace apparaît en exposant dans la complexité.

    Merci quand même d'avoir essayé.

  8. #8
    Membre éprouvé Avatar de Nemerle
    Inscrit en
    Octobre 2003
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 106
    Points : 1 213
    Points
    1 213
    Par défaut
    heu... la méthode directe ne fonctionne pas?

    Ta cellule Cw est un polyhèdre définis par les hyperplans perpendiculaires au droites (w,w') et passant par leurs milieux.

    Une réduction linéaire sur les equations de ces hyperplans te fournit alors le simplexe de sommets s1...sN, et il me semble qu"une notion de volume est donnée par det(s1....sN)/N!

    M'enfin, il ne faut pas non plus que ton ensemble E contienne des milliards de points... [EDIT] je viens d'avoir ma réponse, si en plus p est dans la complexité ... pas de triangulation donc [/EDIT]
    Nemerle, mathématicopilier de bars, membre du triumvirat du CSTM, 3/4 centre

  9. #9
    Membre expérimenté
    Homme Profil pro
    Chercheur
    Inscrit en
    Mars 2010
    Messages
    1 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 218
    Points : 1 685
    Points
    1 685
    Par défaut
    Citation Envoyé par Nemerle Voir le message
    heu... la méthode directe ne fonctionne pas?
    Si elle fonctionne mais elle est impraticable car la complexité dépend de la dimension de l'espace qui apparaît en exposant (en tous cas pour les méthodes que je connais).

  10. #10
    Membre éprouvé Avatar de Nemerle
    Inscrit en
    Octobre 2003
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 106
    Points : 1 213
    Points
    1 213
    Par défaut
    si tu n'as pas besoin d'évaluation réellement "précise", tu peux chercher l'intersection de la cellule avec les 1000 axes e_1...e_1000 de ton repère:

    Pour chaque 1<=i<=1000, tu cherches C(w) inter R.e_i.

    Ca revient à déterminer le Xmax_i et le Xmin_i tel que d(w,w+Xi.e_i)<=d(w',w+Xi.e_i) pour tout w' avec Xi=Xmax_i ou Xmin_i.

    Tu calcules alors l'aire du polyhèdre de sommets ces 2000 points...
    Nemerle, mathématicopilier de bars, membre du triumvirat du CSTM, 3/4 centre

Discussions similaires

  1. Trouver les volumes
    Par Mucho dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 15/03/2006, 10h08
  2. Réponses: 4
    Dernier message: 20/02/2006, 23h32
  3. Les DTD et les espaces entre cellules de tableaux
    Par YuGiOhJCJ dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 14/01/2006, 22h26
  4. [Volume sonore] Comment séparer les volumes
    Par Manopower dans le forum Windows
    Réponses: 1
    Dernier message: 05/09/2005, 11h50
  5. [VBA] Les propriétés de cellule dans Excel
    Par Kylen dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 05/07/2004, 23h02

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