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 :

dates et intervalles


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2005
    Messages : 14
    Par défaut dates et intervalles
    Bonjour,

    Existe-t'il des algo connus pour transformer des périodes en intervalles pondérés: par exemple j'ai deux périodes: une du 01/01/2006 au 31/12/2006 (avec une valeur associée de 1) et une autre du 01/05/2006 et pas de fin (avec une valeur associée de 2), le résultat serait:
    intervalle 1: pas de début, fin le 31/12/2005, valeur 0
    intervalle 2: début le 01/01/2006, fin le 30/04/2006, valeur 1
    intervalle 3: début le 01/05/2006, fin le 31/12/2006, valeur 3
    intervalle 4: début le 01/01/2007, pas de fin, valeur 2

    Sachant que les périodes peuvent être plus nombreuses, disjointes, ou commencer/finir à des mêmes dates...

    Merci pour votre aide...

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Par défaut
    pour "pondérer" il faut disposer d'une métrique


    si je donne à un intervalle d'un an la valeur 1 je définis parfaitement ma métrique (le pb des années bisextiles est ici ignoré)
    à partir de ce moment
    le jour vaut 1/365 le mois 1/12 le trimestre 1/4 etc...

    par contre un intervalle non borné ne peut être pondéré

    sauf à répondre à la superbe question "quand finit une demie éternité ?"
    en guise de réponse :

    "par ici! vous qui voulez manger
    Le Lotus parfumé! c'est ici qu'on vendange
    Les fruits miraculeux dont votre coeur a faim;
    Venez vous enivrer de la douceur étrange
    De cette après-midi qui n'a jamais de fin!"

    C Baudelaire

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 192
    Par défaut
    Je n'ai pas compris la question comme random : il y a une valeur connue pour chaque intervalle, on ne demande pas de la déterminer ?
    Si c'est le cas, il suffit de créer une liste de toutes les dates de début et fin de période confondues.
    On trie cette liste par ordre croissant, on ajoute une valeur au début ("temps 0") et à la fin ("fin des temps"), ce qui nous donne une partition du temps.
    A cette liste on fait correspondre une liste stockant les poids pour chaque intervalle de la partition, qu'on initialise à 0.
    Il suffit alors, pour chaque intervalle initial, d'ajouter les poids aux intervalles de ta partition correspondants.
    Tu peux optimiser le procédé en stockant d'une manière ou d'une autre une correspondance date <-> intervalle de partition.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2005
    Messages : 14
    Par défaut
    Citation Envoyé par borisd
    Je n'ai pas compris la question comme random : il y a une valeur connue pour chaque intervalle, on ne demande pas de la déterminer ?
    Si c'est le cas, il suffit de créer une liste de toutes les dates de début et fin de période confondues.
    On trie cette liste par ordre croissant, on ajoute une valeur au début ("temps 0") et à la fin ("fin des temps"), ce qui nous donne une partition du temps.
    A cette liste on fait correspondre une liste stockant les poids pour chaque intervalle de la partition, qu'on initialise à 0.
    Il suffit alors, pour chaque intervalle initial, d'ajouter les poids aux intervalles de ta partition correspondants.
    Tu peux optimiser le procédé en stockant d'une manière ou d'une autre une correspondance date <-> intervalle de partition.
    Oui chaque intervalle a une valeur déjà assignée.

    Merci bien!

Discussions similaires

  1. Champ de dates et intervalles
    Par Charlock dans le forum Requêtes
    Réponses: 0
    Dernier message: 09/10/2013, 12h07
  2. Réponses: 1
    Dernier message: 18/09/2012, 22h50
  3. Comparer Date avec intervalle
    Par synolog dans le forum Langage
    Réponses: 4
    Dernier message: 06/06/2012, 10h42
  4. [AC-2003] Découpe date en intervalle pour réaliser requetes
    Par DUCKY_ dans le forum VBA Access
    Réponses: 4
    Dernier message: 15/01/2010, 15h05

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