Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
Discussion fermé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
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,
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.
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.0Rang 2
a = 0.8125
b = 0.1875
c = 0.0 Total Probas 1.0Rang 3
a = 0.1875
b = 0.203125
c = 0.609375 Total Probas 1.0Rang 4
a = 0.66015625
b = 0.19921875
c = 0.140625 Total Probas 1.0Rang 5
a = 0.3046875
b = 0.2001953125
c = 0.4951171875 Total Probas 1.0Rang 6
a = 0.571533203125
b = 0.199951171875
c = 0.228515625 Total Probas 1.0Rang 7
a = 0.371337890625
b = 0.20001220703125
c = 0.42864990234375 Total Probas 1.0Rang 8
a = 0.5214996337890625
b = 0.1999969482421875
c = 0.27850341796875 Total Probas 1.0C'est A qui a le plus de chances d'avoir la balle
@+
Arx Tarpeia Capitoli proxima...
Hors ligne
Pages : 1
Discussion fermée