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 :

Calculer la probabilité d'état stable dans un graphe


Sujet :

Algorithmes et structures de données

  1. #1
    Membre expert
    Avatar de MarieKisSlaJoue
    Homme Profil pro
    Ingénieur Cloud
    Inscrit en
    Mai 2012
    Messages
    1 145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Roumanie

    Informations professionnelles :
    Activité : Ingénieur Cloud
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 145
    Points : 3 654
    Points
    3 654
    Billets dans le blog
    20
    Par défaut Calculer la probabilité d'état stable dans un graphe
    Bonjour/soir

    Je me suis remis a l'algo recement et apres plusieurs probleme resolu correctement, j'en ai un qui me donne vraiment du fil a retordre.

    Mn algo a en entré une matrice de transition de ce type :

    [0, 1, 0, 0, 0, 1]
    [4, 0, 0, 3, 2, 0]
    [0, 0, 0, 0, 0, 0]
    [0, 0, 0, 0, 0, 0]
    [0, 0, 0, 0, 0, 0]
    [0, 0, 0, 0, 0, 0]

    l'etat initial de mon systeme est donc la premiere ligne (etat 1), et de la j'ai (si j'ai bien compris) 50% de chance d'etre dans mon etat 2 et 50% de chance d'etre dans mon etat 6.

    On voit ici que de l'etat 2 je peux retourner a l'etat 1 (probabilité 4/9), a l'etat 4 (probabilité 3/9) et a l'etat 5 (probabilité 2/9)

    Certain etat sont finaux, il s'agit ici du 3, 4, 5 et 6. Mon but est donc de connaitre la probabilité d'arriver dans un de ces etat final. La probabilité de 3 est par exemple egale a 0 (Car inaccesible).

    Pour ressoudre mon probleme j'ai donc commencer par transformer ca en arbre pour calculer les probabilités de chaque etat final.

    J'arrive au resultat suivant :

    Nom : Capture.PNG
Affichages : 835
Taille : 40,6 Ko

    Vous voyez bien le probleme, avec mon arbre j'arrive au resultat final de 14/18, ce qui n'est pas bon et ca viens du fait que mon abre est e nfait un graph qui un moment peux boucler.

    J'ai tenter de ne as prendre en compte cette boucle en changeant du coups les probabilité pour E4 (3/5) et E5 (2/5) si j'arrive a un resultat methematiquement coherent, je sent bien que la logique de ne pas tenir compte du chemin E2 => E1 est problematique.

    Bref, je ne sais plus comment arriver a calculer mes probabilités correctement et j'ai besoin d'aide sur les bon calcule a appliqué.

    Pour information, pour cette matrice, le resultat devrai normalement etre le suivant
    E3 = 0/14, E4 = 3/14, E5 = 2/14, E6 = 9/14

    merci de vos conseil, n'hesitez pas a me dire si une partie du probleme n'est pas clair.
    Ce post à été écrit par un panda
    Apollo 11 - AGC revue de code
    -- qwerty keybord

  2. #2
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 057
    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 057
    Points : 9 396
    Points
    9 396
    Par défaut
    Ta matrice est quasiment une matrice de transition.
    Sur les 2 premières lignes, il faudrait diviser respectivement par 2 et par 9, pour que sur chaque ligne on ait un total de 1.
    Sur les 4 dernières lignes, il faudrait mettre 1 en dernière colonne par exemple : l'état final est l'état n°6.

    Une fois la matrice réécrite sous cette forme, tu cherches des tutoriels sur 'Chaines de Markov'.

    Rectification :
    Là, on est en train de chercher la proba d'arriver à la position 3,4,5 ou 6 , sans distinguer ces 4 positions. Cette proba vaut 1. La proba de faire l'aller-retour entre 1 et 2 plein de fois finit par diminuer, diminuer, tomber à 0.
    Je pense que la question est de calculer la proba d'arriver en 3, calculer la proba d'arriver en 4 , en 5 et enfin en 6.
    On cherche ces 4 nombres, dont la somme doit donner 1.

    Sur la matrice initiale, il faut donc mettre les 1 sur les 4 dernières lignes, sur la diagonale (les 4 états absorbants).
    Et appliquer la théorie sur les chaines de Markov.

    Si tu veux simplement bricoler quelque chose, tu as cette matrice M, tu la multiplies par elle-même plusieurs fois M puis M*M=M2 puis M2*M2=M4 , puis M8 etc
    Et très vite, tu arrives à une situation stable.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  3. #3
    Membre expert
    Avatar de MarieKisSlaJoue
    Homme Profil pro
    Ingénieur Cloud
    Inscrit en
    Mai 2012
    Messages
    1 145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Roumanie

    Informations professionnelles :
    Activité : Ingénieur Cloud
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 145
    Points : 3 654
    Points
    3 654
    Billets dans le blog
    20
    Par défaut
    Merci de pour la direction vers la chaine de Markov, je vais tenter de voir ce que ca donne.

    Je comprend en effet pourquoi je dois mettre des 1 sur les etat absorbant, car de ces etat j'ai en fait 100% de chance de rester dans ces etats. Ca explique pourquoi je n'arrivais pas a faire a la mains les calcule avec ma matrice de transition, il me manquait en fait ces valeurs.

    Je pourrai en effet le faire de maniere iterative en multipliant plusieurs fois ma matrice, cependant ma solution est soumis a une contrainte de temps et d'espace memoire, je crains donc que cette methode ne puisse pas s'appliquer dans mon cas.


    je vais voir cette theorie de chaine de Markov et reviendrai si j'ai resolu le probleme ou si quelque chsoe n'est pas clair, merci bcp
    Ce post à été écrit par un panda
    Apollo 11 - AGC revue de code
    -- qwerty keybord

Discussions similaires

  1. [AC-2016] État - Calcul avec décimales et problème affichage dans l'état
    Par angelevil dans le forum IHM
    Réponses: 3
    Dernier message: 22/05/2019, 16h53
  2. Fonction de calcul du coût d'un chemin dans un graphe
    Par salma7 dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 19/05/2015, 11h02
  3. Calcul de plus court chemin dans un graphe
    Par Elmilouse dans le forum Prolog
    Réponses: 6
    Dernier message: 21/03/2010, 20h26
  4. Réponses: 4
    Dernier message: 13/06/2008, 03h47
  5. Réponses: 2
    Dernier message: 21/07/2005, 11h50

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