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

Python Discussion :

Aide pour un exercice de proba avec Python


Sujet :

Python

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Aide pour un exercice de proba avec Python
    Bonjour, j'ai besoin d'aide pour un exercice de programmation via Python. Je bloque sur des questions. Merci à vous
    Soit r un entier naturel supérieur ou égal à 2
    on dispose d'une urne contenant r+1 jetons numérotés de 0 à r. Dans cette urne, on tire simultanément 3 jetons.
    On note X la variable aléatoire égale au numéro intermédiaire obtenu parmi les 3 numéros tirés.
    Ecrire une fonction Python prenant en arguments r et k (k dans N) et retournant une valeur approchée de P(X=k).
    J'ai au préalable écrit une fonction qui modélise cette expérience avec juste r et qui renvoit une valeur prise par X.

  2. #2
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Peux-tu nous montrer ton code et nous dire sur quelles parties tu bloques ? Ce sera la meilleure façon de t'aider

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    def fct(r):
        liste = []
        for i in range(3):
            liste.append( random.randint(0,r) )
            liste.sort()
        return(liste[1])
    Cette partie permet de simuler l'expérience et de donner la valeur de X. C'est pour coder la probabilité que j'ai un problème.

  4. #4
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Je pensais à quelque chose de ce type mais ça ne marche pas, ça ne doit pas être exactement ça.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    def fct1(k,r):
        if k in liste ==False:
            return("P(X=k)=0")
        else:
            if liste[1]==k:
                return(1/3)

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par Cassandre85 Voir le message
    Cette partie permet de simuler l'expérience et de donner la valeur de X. C'est pour coder la probabilité que j'ai un problème.
    Est-ce qu'on vous demande d'approcher simuler P(X=k) avec une simulation de tirages ou de trouver une fonction qui calcule cela en fonction de (k, r) - et de coder cette fonction en Python -?

    Dans les deux cas, avant de coder, il faut prendre papier/crayon et décrire l'algorithme permettra de sortir le résultat. Par exemple pour simuler, il faudra faire un certain nombre N de tirages, noter le résultat de chacun, puis à la fin, regarder le nombre de fois que k est sorti et diviser par N. Et si c'est ce genre de chose que vous voulez faire, non seulement il faut le dire mais il faut aussi qu'en lisant le code que vous postez, on y retrouve ses petits.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Il faut que j'écrive une fonction avec k et r comme arguments et le nombre N de tirages est fixé à 3 (3 tirages simultanés). Je peux faire varier r (le nombre de jetons).
    J'ai fait des essais sur le papier.
    Pour r=4 et k=2 je trouve P(X=2)=1/3
    pour r=5 et k=3 P(X=3)=1/3

  7. #7
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Cassandre85 Voir le message
    Pour r=4 et k=2 je trouve P(X=2)=1/3
    pour r=5 et k=3 P(X=3)=1/3

    Si tu sais cela, alors normalement tu peux nous donner en français une formule, une explication, pour obtenir le résultat. Peux-tu nous l'écrire ici-même ? Une fois écrite en français, cette méthode pourra être traduite en Python.

  8. #8
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Justemement, c'est là que je bloque notamment, je ne trouve pas la formule. Je sais que c'est le nombre de possibilités avec X=k sur le nombre de possibilités contenant k mais je ne vois pas comment l'écrire en Python.

  9. #9
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Je vais être honnête, je suis trop rouillé en proba pour te donner la formule

    Néanmoins, j'ai des doutes sur ce que tu as dit :
    Pour r=4 et k=2 je trouve P(X=2)=1/3
    pour r=5 et k=3 P(X=3)=1/3
    Je trouve étonnant que tu arrives à la même probabilité.

    Pour moi
    1. Si k est supérieur à r, alors il n'y aucun jeton avec la valeur k. La probabilité que l'un des 3 jetons soit celui avec la valeur k est 0.
    2. Si k est inférieur ou égal à r, alors il existe bien un jeton avec la valeur. La probabilité est non nulle.


    Plaçons nous dans ce 2e cas :
    1. Si r = 2, alors tirer 3 jetons revient à tirer tous les jetons. La probabilité de tirer le bon jeton est de 1.
    2. Si r est plus grand que 3, on peut approximer et dire que tu vais 3 tirages et que donc tu as 3 chances de tirer le bon jeton. Grosso modo, 3 / r.


    Ce cas 2.2 m'étonne un peu car il ne dépend pas de k.

    Mais là je vais aller dormir et je laisse d'autres être bons en proba à ma place...

  10. #10
    Membre émérite

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Points : 2 328
    Points
    2 328
    Par défaut
    La fin de ton énoncé donne la réponse :
    retournant une valeur approchée de P(X=k)
    Tu n'as donc pas de formule à calculer à la main et à coder en python. Il faut juste répéter l'expérience un certain nombre de fois (assez grand) et tu pourras approximer la probabilité comme étant la fréquence d'apparition de l'évènement.

    Exemple : Tu lances un dé. La probabilité de faire un 2, est de 1/6.
    Maintenant si tu voulais un code pour estimer cette probabilité:
    1) Tu écrirais une fonction qui te simules le lancer de dé (Ca ce que tu as déjà fait)
    2) Et ensuite tu la répèterais un grand nombre de fois (disons N=1000 fois). Si sur ces 1000 lancés de dés, tu constates que tu as eu 157 fois le chiffre 2, alors tu approximes P(X=2) à 157/1000. Donc te suffit d'écrire une seconde fonction, sur laquelle on pourra spécifier N en argument. Cette fonction appellera N fois la premiere fonction qui réalise l'expérience. Elle en recueillera les résultats, recenser le nombre de cas de figure où l'évènement X=k est réalisé, puis finira par retourner l'approximation en faisant juste la division par N.

    Plus N est grand et meilleure est l'approximation.

  11. #11
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Merci beaucoup à vous deux pour votre aide.

Discussions similaires

  1. Besoin d'aide pour un exercice sur les registres
    Par zakuza dans le forum Assembleur
    Réponses: 5
    Dernier message: 14/04/2006, 14h23
  2. Aide pour un exercice
    Par nelob dans le forum Assembleur
    Réponses: 5
    Dernier message: 02/03/2006, 23h46
  3. [XSLT] aide pour faire un tableau HTML avec fusion de lignes
    Par utwor dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 02/01/2006, 21h41
  4. aide pour requete sur 2 tables avec clé étranere
    Par richton95 dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/12/2005, 13h32
  5. Demande d'aide pour un exercice
    Par IDE dans le forum C
    Réponses: 3
    Dernier message: 29/10/2005, 15h09

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