On considère que :
1 = Pierre 2 = Papier 3 = Ciseau
A_joue = function() {
tirage = runif(1,0,1)
if (tirage < (1/4)) {
1
} else if (tirage <= 2*(1/4)) {
2
} else {
3
}
}
B_joue = function() {
tirage = runif(1,0,1)
if (tirage < (1/4)) {
1
} else if (tirage <= 2*(1/4)) {
2
} else {
3
}
}
nb_matchs = 10000
JoueurA_gagne = 0
JoueurB_gagne = 0
for (i in 1:nb_matchs) {
JoueurA = A_joue()
JoueurB = B_joue()
if (JoueurA == 1 && JoueurB == 2) {
JoueurB_gagne = JoueurB_gagne + 1
JoueurA_gagne = JoueurA_gagne - 1
} else if (JoueurA == 1 && JoueurB == 3) {
JoueurA_gagne = JoueurA_gagne + 1
JoueurB_gagne = JoueurB_gagne - 1
} else if (JoueurA == 2 && JoueurB == 1) {
JoueurA_gagne = JoueurA_gagne + 1
JoueurB_gagne = JoueurB_gagne - 1
} else if (JoueurA == 2 && JoueurB == 3) {
JoueurB_gagne = JoueurB_gagne + 1
JoueurA_gagne = JoueurA_gagne - 1
} else if (JoueurA == 3 && JoueurB == 1) {
JoueurB_gagne = JoueurB_gagne + 1
JoueurA_gagne = JoueurA_gagne - 1
} else if (JoueurA == 3 && JoueurB == 2) {
JoueurA_gagne = JoueurA_gagne + 1
JoueurB_gagne = JoueurB_gagne - 1
}
}
Nous avons fait 10 000 parties, le joueur A et B on respectivement fait un score de :
print(JoueurA_gagne)
## [1] 55
print(JoueurB_gagne)
## [1] -55
Les deux résultats suivants correspondent à JoueurA_gagne/nb_matchs et JoueurB_gagne/nb_matchs.
print(JoueurA_gagne/nb_matchs)
## [1] 0.0055
print(JoueurB_gagne/nb_matchs)
## [1] -0.0055
On remarque donc que c’est extrèmement proche de 0, on estime donc l’espérence de gain du joueur B contre le joueur A lorsque P(B) = (1/4,1/4,1/2) est donc égale à 0. Le jeu est equilibré.
Q 1.2
A_joue = function() {
tirage = runif(1,0,1)
if (tirage < (1/4)) {
1
} else if (tirage <= 2*(1/4)) {
2
} else {
3
}
}
# for (i in 1:10000) {
# test[i] = A_joue()
# }
#
# papier = 0
# ciseau = 0
# pierre = 0
# for (i in 1:100000) {
# if (test[i]==1) {
# pierre = pierre+1
# } else if (test[i] == 2) {
# papier = papier + 1
# } else {
# ciseau = ciseau + 1
# }
# }
#
# print (pierre/100000)
# print (papier/100000)
# print (ciseau/100000)
B_joue = function() {
tirage = floor(runif(1,0,1)*3)+1
tirage
}
# test = c()
# for (i in 1:10000) {
# test[i] = B_joue()
# }
# hist(test)
nb_matchs = 10000
JoueurA_gagne = 0
JoueurB_gagne = 0
for (i in 1:nb_matchs) {
JoueurA = A_joue()
JoueurB = A_joue()
if (JoueurA == 1 && JoueurB == 2) {
JoueurB_gagne = JoueurB_gagne + 1
JoueurA_gagne = JoueurA_gagne - 1
} else if (JoueurA == 1 && JoueurB == 3) {
JoueurA_gagne = JoueurA_gagne + 1
JoueurB_gagne = JoueurB_gagne - 1
} else if (JoueurA == 2 && JoueurB == 1) {
JoueurA_gagne = JoueurA_gagne + 1
JoueurB_gagne = JoueurB_gagne - 1
} else if (JoueurA == 2 && JoueurB == 3) {
JoueurB_gagne = JoueurB_gagne + 1
JoueurA_gagne = JoueurA_gagne - 1
} else if (JoueurA == 3 && JoueurB == 1) {
JoueurB_gagne = JoueurB_gagne + 1
JoueurA_gagne = JoueurA_gagne - 1
} else if (JoueurA == 3 && JoueurB == 2) {
JoueurA_gagne = JoueurA_gagne + 1
JoueurB_gagne = JoueurB_gagne - 1
}
}
You can also embed plots, for example:
Note that the echo = FALSE parameter was added to the code chunk to prevent printing of the R code that generated the plot.