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 :

Distribution équitable de points sur de multiples droites


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté Avatar de CKLN00
    Homme Profil pro
    Bioinformaticien Java/Perl
    Inscrit en
    Avril 2008
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Bioinformaticien Java/Perl
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 210
    Par défaut Distribution équitable de points sur de multiples droites
    Bonjour à tous,

    Je voudrais aborder un problème au quel je suis confronter et dont je n'arrive pas à percevoir de solution simple, il m'as sembler que ce forum était le plus adapter à mes besoins:

    On peut conceptualiser mon problème de la manière suivante:

    On as un ensemble de droites de taille variées, sur chaque droite on trouve un nombre variable de points d’intérêts.
    Les point d’intérêt on une répartition variable pour chaque problème.
    On cherche à récupérer une liste de n points d’intérêt régulièrement distribuer le long des droites.
    Sachant que les coordonnées de chaque point d’intérêt sont connues, le nombre et les tailles des droites sont connues.

    Cet énoncer est une tentative pour expliquer mon problème métier qui est : à partir d'une liste de polymorphisms (considérant uniquement des SNP) connue sur un génome donné retourné une liste de polymorphismes régulièrement réparti sur ce dernier.

    La solution que j'ai envisagées est la suivante:
    1) calculer la distance optimal séparant chacun des point d’intérêt sélectionnée
    2) prendre le premier point d’intérêt l'ajouté à la liste des point d’intérêt sélectionnée, puis chercher le prochain d’intérêt se trouvant le plus proche de la distance optimal.
    3) itérer

    J'ai l'impression (peut-être fausse) qu'il existe déjà dans la littérature des algorithme résolvant des problèmes approchant celui-ci, j'ai néanmoins été incapable de les trouver.

    Si vous avez d'autres pistes à me proposer je suis ouvert à toute proposition

    Je tien à préciser que je ne suis pas un habituer de ce forum, ni de ce sujet, il se pourrais donc que je rate des solution évidente ou bien des concepts.

    D'avance merci

  2. #2
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 209
    Billets dans le blog
    52
    Par défaut
    Bonjour,

    Je n'ai pas tout compris à la problématique que tu expose :

    Quand tu parle de tes "N points régulièrement distribuer le long des droites", quels sont ces points ?

    J'ai bien compris qu'on avait plusieurs droites de longueur variable avec X point d'intérêts et qu'il fallait calculer une "distances optimal". Que je j'exprimerai plus en un "point central optimal".

    Si c'est bien le cas, il va falloir que tu regarde du côté des barycentres. De mémoire, il y a le barycentre classique et il y a le une autre version qui limite la distance basé sur "le carrés pondérés des distances".

    Cependant, je ne vois pas bien sur quel liste de points, on réalise l'opération . Est-ce sur une opération par point ? Ce qui fait qu'on a 1 point optimal pour N droites ?

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  3. #3
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 489
    Par défaut
    salut


    si j'ai bien tout compris tu veut contrôler la place de marqueur précis dans différents génome pour en définir des similitudes ?

    si j'ai bien compris ... ma première approche serais de trouver un point médian et à partir de celui ci essayer de retrouver mes différents éléments avec des "pas" défini entre les SNP .

    mais bon j'ai peut être pas tout compris

  4. #4
    Rédacteur/Modérateur

    Avatar de yahiko
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2013
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 1 424
    Billets dans le blog
    43
    Par défaut
    Sous réserve d'avoir pigé ton problème...

    Soit xi l'emplacement d'un point d'intérêt sur un segment de longueur L, tel que i est la position d'un point d'intérêt.

    Soit N le nombre de points d'intérêt.

    Il faut donc trouver une distance d telle qu'il existe un xixi+k.d est aussi un point d'intérêt avec k entier naturel.

    Une façon naïve de procéder est de considérer une matrice carré M de dimensions NxNMij = distance entre les points d'intérêt xi et xj.
    Ensuite, pour chaque longueur possible d'intervalle d, entre 1 et L, rechercher dans la matrice les cases Mij = d.
    Ainsi à chaque itération, on obtient l'ensemble des points d'intérêts séparés par une distance de d.
    Tutoriels et FAQ TypeScript

  5. #5
    Membre expérimenté Avatar de CKLN00
    Homme Profil pro
    Bioinformaticien Java/Perl
    Inscrit en
    Avril 2008
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Bioinformaticien Java/Perl
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 210
    Par défaut Clarification
    Bonjours à tous,

    Tout d'abord merci de vous intéresse à mon problème , je vois que je n'ai pas du tout été clair, je vais donc tenter de clarifier avec un exemple imagé :



    Voici des droites au départ avec les points d’intérêts connues :
    Nom : Start_exemple_genom_distribution.png
Affichages : 352
Taille : 6,5 Ko
    les droites sont en bleu, en dessous nous avons une graduation, et en rouge les positions des points d’intérêts.



    Une des question qui serais posée à l’algorithme serais la suivante :
    «Donne moi une liste de 25 points d’intérêts répartis le plus régulièrement sur mes droites»


    Une des solution donnée par algorithme pourrais être:
    Nom : Solution_exemple_genom_distribution - Copie.png
Affichages : 359
Taille : 7,3 Ko
    Ici les flèches bleu représentant les points d’intérêts qui ont été sélectionnés par l'algorithme.

    Par contre avec mon algorithme naïf j'aurais probablement obtenu le résultats suivant:
    Nom : Naif_exemple_genom_distribution.png
Affichages : 344
Taille : 7,3 Ko


    Les différence entre un algorithme optimiser (solution bleu) et mon implémentation naïve se ressente surtout proche des «zone de trou» de points d’intérêts, et proche du début de la droite, mais finisse par converger avec un peu de chance.




    @kolodz:
    Quand tu parle de tes "N points régulièrement distribuer le long des droites", quels sont ces points ?
    Je n'ai pas été claire les points dont je parles ici sont un sous-ensemble de point contenue par l’ensemble des «points d’intérêts».
    De mémoire, il y a le barycentre classique et il y a le une autre version qui limite la distance basé sur "le carrés pondérés des distances".
    je vais creuser de ce coté la, sachant que je ne me souviens plus très bien de ce que sont les barycentres.

    @anapurna:
    je pense que tu ne m'as pas compris, et du coup je ne t'ais pas compris
    Pour être plus biologique voici le «problème» complet: sur mon génome, j'ai une liste connue de polymorphisms («points d’intérêts») et je souhaite en récupérer une sous partie qui soit disposé le plus régulièrement possible le long de mon génome. Les «droites» que j'évoque sont simplement des représentation de mes chromosomes.

    @yahiko:
    une matrice carré M de dimensions NxNMij = distance entre les points d'intérêt xi et xj
    Est-ce que seul la moitié de la matrice n'est pas suffisante puisque Mij = Mji ?

    mais je ne comprend pas cette notation la :
    Il faut donc trouver une distance d telle qu'il existe un xi où xi+k.d est aussi un point d'intérêt avec k entier naturel.
    que veux dire le +k.d ? je suis un peu perdu :s désolé
    du coup le reste de ta réflexion ne m'est pas accessible.



    Encore une fois merci pour vos réponse et votre réactivité

  6. #6
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 209
    Billets dans le blog
    52
    Par défaut
    D'après, moi tu devrais faire la chose suivant :

    Prendre le min et le max de ta droite et placer régulièrement l'ensemble de test points d'intérêt.
    Supposons que ton mix soit à 100 et ton max à 200 et que tu lui demande 11 points d'intérêt.(Je fait tel que ça m'arrange là)
    Tu va avoir les valeur suivantes :
    100
    110
    120
    130
    140
    150
    170
    180
    190
    200
    Je ne te fait pas l'affront de donnée la formule mathématique pour faire ça. courbe affine toute ça.(cours de 3ième)
    Note : Peut-être ajouter un peu de marge par rapport au min et au max de tes points de bases (genre +5% de chaque côtés)

    Après tu peux avoir, un groupement de points dont tu voudrait te rapproché à l'intérieur de ta droite.

    Supposons qu'on ait :

    100, 111, 112 114 115,130 ...
    Il serait peut-être intéressante, d'avoir une légère divergence dans la régularité pour coller un peu plus à cette mesure.
    Dans ce cas, tu peux potentiellement appliqué un correctif local. C'est à dire prendre la moyen des points proche et l'appliqué. Supposons que c'est 114, pour le point 110. On décale le point 110 de "4" vers le "haut", mais dans une limite de "2" et donc on replace notre point 110 par 112 ! Les points seront moins régulier, mais tu collera, un peu plus au point d'intérêt.
    Note : Cela va automatiquement décalé tes points extérieur vers l'intérieur, surtout si tu as mis une marge.(Vue que les points seront tous d'un seul côté par rapport à ton point d'intérêt)

    Donc, les deux principaux réglage se trouve dans :
    • La définition de la limite de ton intervalle (ajout de marge ou non)
    • L'ajustement de tes points par rapport à une moyenne local (si cela à un intérêt dans ton domaine)


    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  7. #7
    Rédacteur/Modérateur

    Avatar de yahiko
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2013
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 1 424
    Billets dans le blog
    43
    Par défaut
    +k.d = "+ k fois d"

    Sinon, oui, la matrice M est symétrique donc pour optimiser tu peux te contenter de ne considérer qu'une moitié.
    Tutoriels et FAQ TypeScript

  8. #8
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 216
    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 216
    Par défaut
    Tu veux 25 points , et tu veux que l'espace entre 2 points consécutifs soit toujours le même ?
    C'est assez surprenant.
    Si les points rouges sont répartis de façon irrégulière, on aurait bien imaginé 25 points, répartis de façon irrégulière .. et qui symbolisent au mieux les points d'origine.

    Si on veut 25 points répartis de façon régulière, je propose:
    - Calculer la moyenne et l'écart-type des points rouges.
    - Calculer 25 points régulièrement répartis, qui vont donner la même moyenne et le même écart-type.
    Je n'ai pas les équations en tête pour ce 2ème point... mais ça devrait se solutionner assez facilement.

Discussions similaires

  1. Distribution de 14 points sur 6 étudiants
    Par supierre dans le forum Mathématiques
    Réponses: 7
    Dernier message: 11/02/2013, 10h43
  2. Projection d'un point sur une droite en dimension N
    Par ToTo13 dans le forum Mathématiques
    Réponses: 3
    Dernier message: 10/01/2009, 17h42
  3. ajouter multiples datalabel pour un meme point sur un chart
    Par leon1983 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 02/01/2008, 18h13
  4. coordonnées de n points à écart constant sur une même droite
    Par bernard6 dans le forum Mathématiques
    Réponses: 2
    Dernier message: 31/07/2007, 18h07
  5. Projection d'un point sur une droite.
    Par méphistopheles dans le forum Mathématiques
    Réponses: 9
    Dernier message: 27/05/2007, 23h35

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