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 d'échantillonnage équitable


Sujet :

Algorithmes et structures de données

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 27
    Points : 31
    Points
    31
    Par défaut Algo d'échantillonnage équitable
    Bonjour,

    Quelqu'un peut m'aider SVP ?

    Problème: Donner N points parfaitement répartis sur un cercle (équidistant). Trouver un algorithme pour choisir de manière la plus équitable possible n points (n < N) à partir de ces N points.

    Par exemple, si j'ai 10 points {1,2,3,4,5,6,7,8,9,10} et je veux en prendre 5 points, alors la solution est {1,3,5,7,9}.

    Merci et bonne soirée !

  2. #2
    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
    Bonjour,

    les parités de n et N tu distingueras, des solutions tu trouveras!

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 27
    Points : 31
    Points
    31
    Par défaut
    Bonjour,

    Pourrais-tu être plus précis ?

    Prenons un exemple: choisir 73 points parmi 100 points

  4. #4
    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
    Tout d'abord, quelle est la définition d'un "choix équitable" selon toi?

  5. #5
    Membre émérite
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Points : 2 466
    Points
    2 466
    Par défaut
    Bonjour,

    Citation Envoyé par Nesbit Voir le message
    Donner N points parfaitement répartis sur un cercle (équidistant).
    Les solutions de sont N points répartis sur le cercle unité (ils forment un N-polygone régulier).

    Citation Envoyé par Nesbit Voir le message
    Trouver un algorithme pour choisir de manière la plus équitable possible n points (n < N) à partir de ces N points.
    Une définition d'équitabilité s'impose.
    -- Yankel Scialom

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 27
    Points : 31
    Points
    31
    Par défaut
    Problème: Soit N points parfaitement répartis sur un cercle (équidistant). Trouver un algorithme pour choisir de manière la plus équitable possible n points (n < N) à partir de ces N points.
    Bonjour,

    La notion "équitable" était un peu vague. Ce que je voulais dire, c'est que les n points (parmi les N) soient le plus uniformément répartis sur le cercle.

    Je pense qu'on peut trouver différentes définitions formelles de ceci, par exemple (la mienne): si on note M la distance maximale et m la distance minimal entre deux points consécutifs des n points, la solution (le choix des n) optimal minimisera l'écart entre M et m (i.e. M - m).

  7. #7
    Membre émérite
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Points : 2 466
    Points
    2 466
    Par défaut
    Dans ce cas, je dirais naïvement que la solution optimale est :
    le k-ième point sélectionné parmi les N points existants est le (k * N) div n-ième point, où div représente la division euclidienne.


    Exemple :
    Si je veux sélectionner 7 points parmi 19, les points
    1 * 19 / 7 = 2
    2 * 19 / 7 = 5
    3 * 19 / 7 = 8
    4 * 19 / 7 = 10
    5 * 19 / 7 = 13
    6 * 19 / 7 = 16
    7 * 19 / 7 = 19

    Soit M = 3 et m = 2 (dans un espace métrique particulier).

    Cdlt,
    -- Yankel Scialom

  8. #8
    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
    Bonjour,

    de quelle distance parle-tu? Je doute que ce soit de la distance euclidienne...

  9. #9
    Membre émérite
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Points : 2 466
    Points
    2 466
    Par défaut
    De la distance usuelle de Z/nZ. Ou la distance telle que définie dans le jeu de société wanted xD
    -- Yankel Scialom

  10. #10
    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
    Ah non pas les jeux de cartes, j'essaie d'arrêter!

    Pour l'instant la définition donnée de l'équitabilité me gêne un peu car elle ne tient compte que des points successifs. Si parmi N points (N très grand) uniformément répartis sur le cercle unité, je dois choisir 3 points, avec la définition donnée, il me suffit de prendre 3 points non consécutifs pour avoir un choix équitable. Or, intuitivement, j'aurais tendance à également vouloir avoir "3 parts" les plus égales possibles dans la mesure où on voit le cercle comme un gâteau...

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 27
    Points : 31
    Points
    31
    Par défaut
    Citation Envoyé par prgasp77 Voir le message
    Dans ce cas, je dirais naïvement que la solution optimale est :
    le k-ième point sélectionné parmi les N points existants est le (k * N) div n-ième point, où div représente la division euclidienne.


    Exemple :
    Si je veux sélectionner 7 points parmi 19, les points
    1 * 19 / 7 = 2
    2 * 19 / 7 = 5
    3 * 19 / 7 = 8
    4 * 19 / 7 = 10
    5 * 19 / 7 = 13
    6 * 19 / 7 = 16
    7 * 19 / 7 = 19

    Soit M = 3 et m = 2 (dans un espace métrique particulier).

    Cdlt,
    Merci prgasp77, ça me paraît... correct Mais peux-tu démontrer que cette solution est optimale ?

    Citation Envoyé par Aleph69
    de quelle distance parle-tu? Je doute que ce soit de la distance euclidienne...
    Il a utilisé ce que j'appelle distance curviligne: d(A,B) = | la - lb | avec la et lb sont respectivement les abscisses curvilignes de A et B sur le cercle (avec l'origine est un point quelconque sur le cercle).

    Citation Envoyé par Aleph69
    Si parmi N points (N très grand) uniformément répartis sur le cercle unité, je dois choisir 3 points, avec la définition donnée, il me suffit de prendre 3 points non consécutifs pour avoir un choix équitable.
    T'as mal lu la définition peut-être ?

  12. #12
    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
    Oui effectivement, j'ai mal exprimé ma pensée.
    J'aurais dû écrire qu'il suffit de prendre 3 points formant un triplet (p,q,r) dont aucune paire ne forme un ensemble de points consécutifs.

  13. #13
    Membre émérite
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Points : 2 466
    Points
    2 466
    Par défaut
    Citation Envoyé par Nesbit Voir le message
    Merci prgasp77, ça me paraît... correct Mais peux-tu démontrer que cette solution est optimale ?
    La démo est LAL: elle est assez simple, quelques règles d'arithmétique du lycée et c'est fait (cherche à borner la distance entre deux points consécutifs).

    Citation Envoyé par Aleph69 Voir le message
    Oui effectivement, j'ai mal exprimé ma pensée.
    J'aurais dû écrire qu'il suffit de prendre 3 points formant un triplet (p,q,r) dont aucune paire ne forme un ensemble de points consécutifs.
    Non, lorsque Nesbit parle de point consécutifs pour sa définition d'équitabilité, il parle cette fois-ci de points sélectionnés (dans mon exemple, 5 et 8 sont consécutifs, mais ont une distance de 3).
    -- Yankel Scialom

  14. #14
    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
    Ah oui, effectivement j'ai très mal lu la définition : mea culpa!
    On reprend à la source :
    Je pense qu'on peut trouver différentes définitions formelles de ceci, par exemple (la mienne): si on note M la distance maximale et m la distance minimal entre deux points consécutifs des n points, la solution (le choix des n) optimal minimisera l'écart entre M et n (c.à.d M - n).
    J'ai deux questions :
    1. où intervient m dans la définition?
    2. pourquoi ne pas se contenter de minimiser M?

  15. #15
    Membre émérite
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Points : 2 466
    Points
    2 466
    Par défaut
    Citation Envoyé par Aleph69 Voir le message
    Ah oui, effectivement j'ai très mal lu la définition : mea culpa!
    On reprend à la source :

    J'ai deux questions :
    1. où intervient m dans la définition?
    2. pourquoi ne pas se contenter de minimiser M?
    1. je pense qu'il y a faute de frappe dans son message, il veut minimiser l'écart entre M et m (et non n)
    2. je suis d'accord, c'est d'ailleurs, je pense, équivalent.
    -- Yankel Scialom

  16. #16
    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 Nesbit Voir le message
    Merci prgasp77, ça me paraît... correct Mais peux-tu démontrer que cette solution est optimale ?
    Elle est optimale au sens de l'erreur quadratique moyenne (EQM) sur la distance entre 2 échantillons.

    7 échantillons parmi 19 points
    -> 7 intervalles espacés idéalement de (19-7)/7 = 1,71429...

    * contrainte 1: les espacements Ei sont des entiers: Ei = 0, 1, 2, ...
    * contrainte 2: la somme des espacements Ei vaut 12
    * objectif: minimiser somme{ (Ei-1,71429)² }

    Si Ei=0, alors (Ei-1,71429)² = 2,93877...
    Si Ei=1, alors (Ei-1,71429)² = 0,51020...
    Si Ei=2, alors (Ei-1,71429)² = 0,08163...
    Si Ei=3, alors (Ei-1,71429)² = 1,65306...

    La solution qui minimise l'objectif est 5 espacements de taille 2 et 2 espacements de taille 1.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  17. #17
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 27
    Points : 31
    Points
    31
    Par défaut
    Citation Envoyé par prgasp77 Voir le message
    1. je pense qu'il y a faute de frappe dans son message, il veut minimiser l'écart entre M et m (et non n)
    Effectivement c'est une faute de frappe, m au lieu de n C'est corrigé.

    Citation Envoyé par Aleph69
    2. pourquoi ne pas se contenter de minimiser M?
    Citation Envoyé par prgasp77 Voir le message
    1. je suis d'accord, c'est d'ailleurs, je pense, équivalent.
    Non je ne pense pas. Ce n'est pas la même chose.
    Exemple: choisir 5 points à partir de 11 points (notons {1,2,3,...,11}).
    Soit 2 solutions:
    • {1,3,5,7,9}, ici M=d(1,9) = 3, m=d(1,3) (par exemple) =2.
    • {1,4,5,7,9}, ici M=d(1,4) = d(1,9) = 3, m=d(4,5)=1.

    Dans les deux cas, M = M_min = 3, pourtant la première est optimale alors que la deuxième ne l'est pas.

  18. #18
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 27
    Points : 31
    Points
    31
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    Elle est optimale au sens de l'erreur quadratique moyenne (EQM) sur la distance entre 2 échantillons.
    Oui. Je pense que ça équivaut à mon critère (minimiser M-n).

    Citation Envoyé par pseudocode Voir le message
    7 échantillons parmi 19 points
    -> 7 intervalles espacés idéalement de (19-7)/7 = 1,71429...
    C'est plutôt 19/7 = 2.71429..., n'est-ce pas ?
    Donc
    Citation Envoyé par pseudocode Voir le message
    La solution qui minimise l'objectif est 5 espacements de taille 2 et 2 espacements de taille 1.
    devrait être "5 espacements de taille 3 et 2 espacements de taille 2".

  19. #19
    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
    Et pour {1,4,6,8,10} c'est optimal? (discussion avec moi-même : la réponse est oui! )

    C'est dommage l'algorithme est tout bête, je m'attendais à quelque chose de plus joli.

  20. #20
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 27
    Points : 31
    Points
    31
    Par défaut
    Ca y est, problème résolu !

    Tout d'abord on va reformuler le problème.
    Si on associe chaque distance curviligne entre deux points consécutifs (ou un espacement, selon pseudocode. Il y en a n) par un entier, notons , alors la somme des est de N: . On cherche à:









    Les quatre critères sont équivalents.

    J'ai trouvé le résultat suivant:



    ...l'heure de déjeuner... à suivre...

Discussions similaires

  1. Algo libre de re-échantillonnage audio
    Par Seb.26 dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 09/09/2008, 13h36
  2. 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
  3. 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
  4. Algo de calcul de FFT
    Par djlex03 dans le forum Traitement du signal
    Réponses: 15
    Dernier message: 02/08/2002, 17h45
  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