Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

#1 20-10-2016 10:48:18

Thundder
Membre
Inscription : 20-10-2016
Messages : 8

[Algobox] Probabilités

Bonjour à tous,
Je dois concevoir un algorithme avec Algobox qui permet de savoir qui a le plus de chances d'avoir la balle au nième lancer à partir de l'énoncé suivant :
_____________________________________________________________________________________________________
A, B et C jouent à la balle. On sait que :
• Quand A a la balle, la probabilité qu'il l'envoie à C est de 0,75 et la probabilité qu'il l'envoie à B est de 0,25.
• Quand C a la balle, la probabilité qu'il l'envoie à A est de 0,75 et la probabilité qu'il l'envoie à B est de 0,25.
• Quand B a la balle, il l'envoie toujours à A.
On suppose que A a la balle au départ.
On s'intéresse aux probabilités an,bn et cn des événements : "A la balle à l'issue du nième lancer", "B a la balle à l'issue du nième lancer" et "C a la balle à l'issue du nième lancer".
_____________________________________________________________________________________________________
J'ai déjà déterminé an+1, bn+1 et cn+1 :
an+1 = 0,75 * cn + bn
bn+1 = 0,25 * (an + cn)
cn+1 = 0,75 * an

Je ne connais pas vraiment Algobox, c'est pourquoi je viens demander votre aide.
Merci d'avance,
Thundder.

Dernière modification par Thundder (20-10-2016 16:29:39)

Hors ligne

#2 20-10-2016 13:12:30

Dlzlogic
Banni(e)
Inscription : 25-04-2016
Messages : 461

Re : [Algobox] Probabilités

Bonjour,
Ce que je vous conseille : écrivez votre algorithme dans votre langage préféré, je suppose le français, mais ça peut être aussi avec des rectangles, des losanges, des flèches etc.
Quad il sera au point, vous pourrez le traduire en Algobox.

Hors ligne

#3 20-10-2016 16:54:21

Dlzlogic
Banni(e)
Inscription : 25-04-2016
Messages : 461

Re : [Algobox] Probabilités

Oh, mais je ne connais pas la syntaxe d'Algobox. Je connais beaucoup de langages, mais pas celui-là.
Je pourrais corriger un algorithme en français, mais pas un code dans un langage que je ne connais pas.

Hors ligne

#4 20-10-2016 17:14:24

freddy
Membre chevronné
Lieu : Paris
Inscription : 27-03-2009
Messages : 7 457

Re : [Algobox] Probabilités

Thundder a écrit :

Je ne comprends pas, c'est pourtant une syntaxe française ?

Salut,
ne cherche pas à comprendre, il ne sait pas bien lire le français ! :-)
Manifestement, tu as une jolie chaine de Markov à programmer.
Yoshi devrait pouvoir t'aider quand il passera dans le coin.


De la considération des obstacles vient l’échec, des moyens, la réussite.

Hors ligne

#5 20-10-2016 17:31:22

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 947

Re : [Algobox] Probabilités

Bonjour,

Effectivement, il est difficile pour quelqu'un qui ne connaît pas AlgoBox de répondre...
Alors je me permets de lui dire qu'il est librement (et gratuitement) téléchargeable et qu'en 5 min on arrive à programmer de façon cohérente...
Là : http://www.xm1math.net/algobox/download.html
Plus près d'un algorithme écrit en Français qu'un script AlgoBox doit être difficile...
Je vais tester ce que tu as écris et je reviens...
(Et essayer de comprendre ce que tu veux dire "j'ai un problème pour caser des valeurs pour la boucle"

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

#6 20-10-2016 17:35:11

Dlzlogic
Banni(e)
Inscription : 25-04-2016
Messages : 461

Re : [Algobox] Probabilités

Bon, c'est un gros problème entre les professeurs et les informaticiens.
Pour moi (nous) un algorithme est une suite de bouts de phrases logiques, en nombre fini, qui décrit une action à réaliser.
Habituellement, on écrit cela dans sa langue maternelle, sans faire de fautes d'orthographe qui gênerait la compréhension. Mais il n'y a aucune syntaxe particulière.
Algobox a voulu faire un compromis, ça ressemble à du français, mais la syntaxe est aussi stricte que pour n'importe quel langage informatique, pourtant ce n'est pas un langage informatique tel qu'on en utilise couramment.
Une phrase française est constituée généralement d'un sujet, d'un verbe et d'un complément. Le caractère '_' n'existe pas dans l'alphabet etc.
Donc, oubliez Algobox un moment et décrivez votre algorithme.
Ca pourrait commencer par :

Je lis 3 nombres que j'appelle respetivement A, B, C.
Début du jeu.
Si [je ne sais quoi] on arrête 
Si A tire [je ne sais quoi] alors, je fais [je ne sais quoi]  puis je recommence au début.
Sinon [je fais ça]
etc...

Hors ligne

#7 20-10-2016 18:15:25

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 947

Re : [Algobox] Probabilités

Re,

VARIABLES
     a EST_DU_TYPE NOMBRE
     b EST_DU_TYPE NOMBRE
     c EST_DU_TYPE NOMBRE
     rang EST_DU_TYPE NOMBRE
     n EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
     LIRE rang
     a PREND_LA_VALEUR 1
     b PREND_LA_VALEUR 0
     c PREND_LA_VALEUR 0
    POUR n ALLANT_DE 1 A rang
          DEBUT_POUR
             c PREND_LA_VALEUR 0.75*a
             b PREND_LA_VALEUR 0.25*(a+c)
             a PREND_LA_VALEUR 0.75*c+b
     FIN_POUR
     SI (a>b ET a>c) ALORS
        DEBUT_SI
        AFFICHER "C'est A qui a le plus souvent la balle"
     FIN_SI
     SI (c>a ET c>b) ALORS
         DEBUT_SI
         AFFICHER "C'est C qui a le plus souvent la balle"
         FIN_SI
      SI (b>a ET b>c) ALORS
         DEBUT_SI
         AFFICHER "C'est b qui a le plus souvent la balle"
         FIN_SI
FIN_ALGORITHME

Ça fonctionne...
J'ai cru déceler des incorrections dans la traduction du calcul des valeurs a, b, c...

Questions ?
Pas la peine de donner des valeurs trop grandes à rang, AlgoBox n'est pas très performant avec les parties décimales : au delà de 5 chiffres,  il ne fait plus la différence...

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

#8 20-10-2016 18:36:22

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 947

Re : [Algobox] Probabilités

Re,

D'accord mauvaise lecture : au lieu de a le souvent la balle
j'aurais dû écrire " a le plus de chances d'avoir"...
Je comprends tes objections
Alors, pour que ce soit clair pour moi reprenons !
a1=1
b1=0
c1=0
En principe, si je comprends bien ton énoncé
a2 =1
b2=0.25
c2=0.75
Mais :
a3 =  ?
b3 =  ?
c3 =  ?
Que je voie comment tu arrives à (post #1) :
[tex]a_{n+1} = 0.75*c_n+b_n[/tex]
[tex]b_{n+1} = 0.25*(a_n+b_n)[/tex]
[tex]c_{n+1} = 0.75*a_n[/tex]

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

#9 20-10-2016 19:43:14

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 947

Re : [Algobox] Probabilités

Dac', je vois...
Cette fois-ci, j'ai pris mon temps...
Il faut bien avoir un état de a, b, c qui ne se modifie qu'à la fin du tour suivant.

VARIABLES
     a EST_DU_TYPE NOMBRE
     aa EST_DU_TYPE NOMBRE
     b EST_DU_TYPE NOMBRE
     bb EST_DU_TYPE NOMBRE
     c EST_DU_TYPE NOMBRE
     cc EST_DU_TYPE NOMBRE
     rang EST_DU_TYPE NOMBRE
     i EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
     LIRE n
     a PREND_LA_VALEUR 1
     b PREND_LA_VALEUR 0
     c PREND_LA_VALEUR 0
    POUR i ALLANT_DE 1 A n
          DEBUT_POUR
             aa PREND_LA_VALEUR 0.75*c+b
             bb PREND_LA_VALEUR 0.25*(a+c)
             cc PREND_LA_VALEUR 0.75*a
             a PREND_LA_VALEUR aa
             b PREND_LA_VALEUR bb
             c PREND_LA_VALEUR cc
     FIN_POUR
    SI (a>b ET a>c) ALORS
        DEBUT_SI
        AFFICHER "C'est A qui a le plus de chances d'avoir la balle"
     FIN_SI
     SI (c>a ET c>b) ALORS
         DEBUT_SI
         AFFICHER "C'est C qui a le plus de chances d'avoir la balle"
         FIN_SI
     SI (b>a ET b>c) ALORS
         DEBUT_SI
         AFFICHER "C'est B qui a le plus de chances d'avoir la balle"
         FIN_SI
FIN_ALGORITHME

Et j'ai transcrit le code en Python (plus rapide à programmer), avec un contrôle à chaque tour qui me donne pour n = 8 :

Rang 0
     1
     0
     0    total 1
Rang 1
        a = 0.0
        b = 0.25
        c = 0.75    Total Probas 1.0

Rang 2
        a = 0.8125
        b = 0.1875
        c = 0.0    Total Probas 1.0

Rang 3
        a = 0.1875
        b = 0.203125
        c = 0.609375    Total Probas 1.0

Rang 4
        a = 0.66015625
        b = 0.19921875
        c = 0.140625    Total Probas 1.0

Rang 5
        a = 0.3046875
        b = 0.2001953125
        c = 0.4951171875    Total Probas 1.0

Rang 6
        a = 0.571533203125
        b = 0.199951171875
        c = 0.228515625    Total Probas 1.0

Rang 7
        a = 0.371337890625
        b = 0.20001220703125
        c = 0.42864990234375    Total Probas 1.0

Rang 8
        a = 0.5214996337890625
        b = 0.1999969482421875
        c = 0.27850341796875    Total Probas 1.0

C'est A qui a le plus de chances d'avoir la balle

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

Pied de page des forums