DM N°1 : GROS-DAILLON Hugo

Q1

Le joueur biaisé

Question 1.1

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] 69
print(JoueurB_gagne)
## [1] -69

Les deux résultats suivants correspondent à JoueurA_gagne/nb_matchs et JoueurB_gagne/nb_matchs. Ce sont les espérences de gains de joueur A et B sur une partie

print(JoueurA_gagne/nb_matchs)
## [1] 0.0069
print(JoueurB_gagne/nb_matchs)
## [1] -0.0069

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é.

Question 1.2

On considère (toujours) 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 = floor(runif(1,0,1)*3)+1
  tirage
}


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] -123
print(JoueurB_gagne)
## [1] 123

Les deux résultats suivants correspondent à JoueurA_gagne/nb_matchs et JoueurB_gagne/nb_matchs. Cela correspond aux espérences de gain des joueurs A et B sur une partie.

print(JoueurA_gagne/nb_matchs)
## [1] -0.0123
print(JoueurB_gagne/nb_matchs)
## [1] 0.0123

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/3,1/3,1/3) est donc égale à 0. Le jeu est encore une fois equilibré malgrès le fait que les joueurs A et B n’ont pas les mêmes probabilités de jouer Pierre, Papier ou Ciseau.

Question 1.3 et 1.4

B_joue = function(x,y) {
  probabilite = c(x,y,1-x-y)
  tirage = sample(1:3,1,TRUE,probabilite)
  tirage
}

x = 0
y = 0

nb_matchs = 10000
JoueurA_gagne = 0
JoueurB_gagne = 0
max = 0
save_x = 0
save_y = 0

while (x <= 1) {
  
  while (y <= 1-x) {
    
    for (i in 1:nb_matchs) {
     JoueurA = A_joue()
     JoueurB = B_joue(x,y)
  
     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
      }
  
    }
    print("-------------------------------")
    print("VALEURS DE X ET Y :")
    print(x)
    print(y)
    
    print("gain du joueur B sur 10 000 parties")
    print(JoueurB_gagne)
    print("Estimation de l'espérence de gain du joueur B")
    print(JoueurB_gagne/10000)

    
    if (JoueurB_gagne> max) {
      max = JoueurB_gagne
      save_x = x
      save_y = y
    }
    JoueurA_gagne = 0
    JoueurB_gagne = 0
    
    y = y + 0.1
  }
  
  x = x + 0.1
  y = 0
  print(x)
}
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0
## [1] 0
## [1] "gain du joueur B sur 10 000 parties"
## [1] -118
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0118
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0
## [1] 0.1
## [1] "gain du joueur B sur 10 000 parties"
## [1] -285
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0285
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0
## [1] 0.2
## [1] "gain du joueur B sur 10 000 parties"
## [1] -499
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0499
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0
## [1] 0.3
## [1] "gain du joueur B sur 10 000 parties"
## [1] -763
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0763
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0
## [1] 0.4
## [1] "gain du joueur B sur 10 000 parties"
## [1] -946
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0946
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0
## [1] 0.5
## [1] "gain du joueur B sur 10 000 parties"
## [1] -1224
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.1224
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0
## [1] 0.6
## [1] "gain du joueur B sur 10 000 parties"
## [1] -1718
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.1718
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0
## [1] 0.7
## [1] "gain du joueur B sur 10 000 parties"
## [1] -1792
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.1792
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0
## [1] 0.8
## [1] "gain du joueur B sur 10 000 parties"
## [1] -1926
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.1926
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0
## [1] 0.9
## [1] "gain du joueur B sur 10 000 parties"
## [1] -2251
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.2251
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0
## [1] 1
## [1] "gain du joueur B sur 10 000 parties"
## [1] -2439
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.2439
## [1] 0.1
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.1
## [1] 0
## [1] "gain du joueur B sur 10 000 parties"
## [1] 215
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0215
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.1
## [1] 0.1
## [1] "gain du joueur B sur 10 000 parties"
## [1] 42
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0042
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.1
## [1] 0.2
## [1] "gain du joueur B sur 10 000 parties"
## [1] -234
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0234
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.1
## [1] 0.3
## [1] "gain du joueur B sur 10 000 parties"
## [1] -357
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0357
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.1
## [1] 0.4
## [1] "gain du joueur B sur 10 000 parties"
## [1] -834
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0834
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.1
## [1] 0.5
## [1] "gain du joueur B sur 10 000 parties"
## [1] -929
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0929
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.1
## [1] 0.6
## [1] "gain du joueur B sur 10 000 parties"
## [1] -1094
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.1094
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.1
## [1] 0.7
## [1] "gain du joueur B sur 10 000 parties"
## [1] -1579
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.1579
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.1
## [1] 0.8
## [1] "gain du joueur B sur 10 000 parties"
## [1] -1711
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.1711
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.1
## [1] 0.9
## [1] "gain du joueur B sur 10 000 parties"
## [1] -1986
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.1986
## [1] 0.2
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.2
## [1] 0
## [1] "gain du joueur B sur 10 000 parties"
## [1] 478
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0478
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.2
## [1] 0.1
## [1] "gain du joueur B sur 10 000 parties"
## [1] 135
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0135
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.2
## [1] 0.2
## [1] "gain du joueur B sur 10 000 parties"
## [1] -24
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0024
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.2
## [1] 0.3
## [1] "gain du joueur B sur 10 000 parties"
## [1] -378
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0378
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.2
## [1] 0.4
## [1] "gain du joueur B sur 10 000 parties"
## [1] -659
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0659
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.2
## [1] 0.5
## [1] "gain du joueur B sur 10 000 parties"
## [1] -622
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0622
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.2
## [1] 0.6
## [1] "gain du joueur B sur 10 000 parties"
## [1] -1006
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.1006
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.2
## [1] 0.7
## [1] "gain du joueur B sur 10 000 parties"
## [1] -1320
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.132
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.2
## [1] 0.8
## [1] "gain du joueur B sur 10 000 parties"
## [1] -1352
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.1352
## [1] 0.3
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.3
## [1] 0
## [1] "gain du joueur B sur 10 000 parties"
## [1] 731
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0731
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.3
## [1] 0.1
## [1] "gain du joueur B sur 10 000 parties"
## [1] 344
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0344
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.3
## [1] 0.2
## [1] "gain du joueur B sur 10 000 parties"
## [1] 261
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0261
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.3
## [1] 0.3
## [1] "gain du joueur B sur 10 000 parties"
## [1] -189
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0189
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.3
## [1] 0.4
## [1] "gain du joueur B sur 10 000 parties"
## [1] -324
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0324
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.3
## [1] 0.5
## [1] "gain du joueur B sur 10 000 parties"
## [1] -445
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0445
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.3
## [1] 0.6
## [1] "gain du joueur B sur 10 000 parties"
## [1] -758
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0758
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.3
## [1] 0.7
## [1] "gain du joueur B sur 10 000 parties"
## [1] -772
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0772
## [1] 0.4
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.4
## [1] 0
## [1] "gain du joueur B sur 10 000 parties"
## [1] 1031
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.1031
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.4
## [1] 0.1
## [1] "gain du joueur B sur 10 000 parties"
## [1] 719
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0719
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.4
## [1] 0.2
## [1] "gain du joueur B sur 10 000 parties"
## [1] 482
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0482
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.4
## [1] 0.3
## [1] "gain du joueur B sur 10 000 parties"
## [1] 316
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0316
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.4
## [1] 0.4
## [1] "gain du joueur B sur 10 000 parties"
## [1] 19
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0019
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.4
## [1] 0.5
## [1] "gain du joueur B sur 10 000 parties"
## [1] -340
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.034
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.4
## [1] 0.6
## [1] "gain du joueur B sur 10 000 parties"
## [1] -561
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0561
## [1] 0.5
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.5
## [1] 0
## [1] "gain du joueur B sur 10 000 parties"
## [1] 1222
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.1222
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.5
## [1] 0.1
## [1] "gain du joueur B sur 10 000 parties"
## [1] 1032
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.1032
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.5
## [1] 0.2
## [1] "gain du joueur B sur 10 000 parties"
## [1] 737
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0737
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.5
## [1] 0.3
## [1] "gain du joueur B sur 10 000 parties"
## [1] 512
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0512
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.5
## [1] 0.4
## [1] "gain du joueur B sur 10 000 parties"
## [1] 288
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0288
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.5
## [1] 0.5
## [1] "gain du joueur B sur 10 000 parties"
## [1] 37
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0037
## [1] 0.6
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.6
## [1] 0
## [1] "gain du joueur B sur 10 000 parties"
## [1] 1506
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.1506
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.6
## [1] 0.1
## [1] "gain du joueur B sur 10 000 parties"
## [1] 1153
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.1153
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.6
## [1] 0.2
## [1] "gain du joueur B sur 10 000 parties"
## [1] 890
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.089
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.6
## [1] 0.3
## [1] "gain du joueur B sur 10 000 parties"
## [1] 901
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0901
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.6
## [1] 0.4
## [1] "gain du joueur B sur 10 000 parties"
## [1] 467
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0467
## [1] 0.7
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.7
## [1] 0
## [1] "gain du joueur B sur 10 000 parties"
## [1] 1896
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.1896
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.7
## [1] 0.1
## [1] "gain du joueur B sur 10 000 parties"
## [1] 1360
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.136
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.7
## [1] 0.2
## [1] "gain du joueur B sur 10 000 parties"
## [1] 1273
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.1273
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.7
## [1] 0.3
## [1] "gain du joueur B sur 10 000 parties"
## [1] 1124
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.1124
## [1] 0.8
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.8
## [1] 0
## [1] "gain du joueur B sur 10 000 parties"
## [1] 1929
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.1929
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.8
## [1] 0.1
## [1] "gain du joueur B sur 10 000 parties"
## [1] 1880
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.188
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.8
## [1] 0.2
## [1] "gain du joueur B sur 10 000 parties"
## [1] 1560
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.156
## [1] 0.9
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.9
## [1] 0
## [1] "gain du joueur B sur 10 000 parties"
## [1] 2161
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.2161
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.9
## [1] 0.1
## [1] "gain du joueur B sur 10 000 parties"
## [1] 2098
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.2098
## [1] 1
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 1
## [1] 0
## [1] "gain du joueur B sur 10 000 parties"
## [1] 2411
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.2411
## [1] 1.1

Le joueur B à réussi à gagner le maximum sur 10 000 parties pour les valeurs de x et y suivantes :

print(save_x)
## [1] 1
print(save_y)
## [1] 0
print(max)
## [1] 2411
print(max/10000)
## [1] 0.2411

La stratégie optimale pour le joueur B, quand on sait que le joueur A joue Pierre avec une probabilité de 1/4, Papier avec une probabilité de 1/4 et Ciseau avec une probabilité de 1/2, est donc bien de ne jouer que Pierre dans 100% de ses coups pour gagner le maximum.

Question 1.5

Le joueur A joue Pierre, Papier ou Ciseau avec respectivement les probabilités (1/4, 1/4, 1/2)

Le joueur B joue Pierre, Papier ou Ciseau avec respectivement les probabilités (x, y, 1-x-y)

Le joueur B a la probabilité de gagner (avec 1 = Pierre, 2 = Papier et 3 = Ciseau : \(P(B = 1 \cap A = 3) + P(B = 2 \cap A = 1) + P(B = 3 \cap A = 2)\)

Et il a la probabilité de perdre : \(P(B = 1 \cap A = 2) + P(B = 2 \cap A = 3) + P(B = 3 \cap A = 1)\)

Le gain est ici de 1 pour chaque parties.

L’espérence de gain joueur B est donc : \(P(B = 1 \cap A = 3) + P(B = 2 \cap A = 1) + P(B = 3 \cap A = 2) - (P(B = 1 \cap A = 3) + P(B = 2 \cap A = 1) + P(B = 3 \cap A = 2))\)

\(= \frac x 2 + \frac y 4 + \frac{1-x-y} 4 - (\frac x 4 + \frac y 2 + \frac{1-x-y} 4)\)

\(= \frac x 2 + \frac y 4 + \frac{1-x-y} 4 - \frac x 4 - \frac y 2 - \frac{1-x-y} 4\)

\(= \frac x 2 + \frac y 4 - \frac x 4 - \frac y 2\)

\(= \frac {2x+y-x-2y} {4}\)

\(= \frac {x-y} {4}\)

Finalement, nous nous rendons compte que pour maximiser cette expression, il faut maximiser x et minimiser y. comme x et y sont compris entre 0 et 1, la valeur maximum de cette espression est pour x = 1 et y = 0 cela donne 1/4, qui est égal à l’espérence de gain maximale calculé précédemment (max/10000). On retrouve biens nos résultats précédents.

Le joueur non biaisé

Question 1.1

On considère que :

1 = Pierre

2 = Papier

3 = Ciseau

A_joue = function() {
  tirage = runif(1,0,1)
  if (tirage < (1/3)) {
    1
  } else if (tirage < 2*(1/3)) {
    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] -6
print(JoueurB_gagne)
## [1] 6

Les deux résultats suivants correspondent à JoueurA_gagne/nb_matchs et JoueurB_gagne/nb_matchs. Ce sont les espérences de gains de joueur A et B sur une partie

print(JoueurA_gagne/nb_matchs)
## [1] -6e-04
print(JoueurB_gagne/nb_matchs)
## [1] 6e-04

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/3,1/3,1/3) est donc égale à 0. Le jeu est equilibré.

Question 1.2

A_joue = function() {
  tirage = runif(1,0,1)
  if (tirage < (1/3)) {
    1
  } else if (tirage < 2*(1/3)) {
    2
  } else {
    3
  }

}

B_joue = function() {
  tirage = runif(1,0,1)
  if (tirage < (1/3)) {
    1
  } else if (tirage < 2*(1/3)) {
    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] -105
print(JoueurB_gagne)
## [1] 105

Les deux résultats suivants correspondent à JoueurA_gagne/nb_matchs et JoueurB_gagne/nb_matchs. Ce sont les espérences de gains de joueur A et B sur une partie

print(JoueurA_gagne/nb_matchs)
## [1] -0.0105
print(JoueurB_gagne/nb_matchs)
## [1] 0.0105

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/3,1/3,1/3) est donc égale à 0. Le jeu est equilibré.

Question 1.3 et 1.4

B_joue = function(x,y) {
  probabilite = c(x,y,1-x-y)
  tirage = sample(1:3,1,TRUE,probabilite)
  tirage
}

x = 0
y = 0

nb_matchs = 10000
JoueurA_gagne = 0
JoueurB_gagne = 0
max = 0
save_x = 0
save_y = 0

while (x <= 1) {
  
  while (y <= 1-x) {
    
    for (i in 1:nb_matchs) {
     JoueurA = A_joue()
     JoueurB = B_joue(x,y)
  
     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
      }
  
    }
    print("-------------------------------")
    print("VALEURS DE X ET Y :")
    print(x)
    print(y)
    
    print("gain du joueur B sur 10 000 parties")
    print(JoueurB_gagne)
    print("Estimation de l'espérence de gain du joueur B")
    print(JoueurB_gagne/10000)

    
    if (JoueurB_gagne> max) {
      max = JoueurB_gagne
      save_x = x
      save_y = y
    }
    JoueurA_gagne = 0
    JoueurB_gagne = 0
    
    y = y + 0.1
  }
  
  x = x + 0.1
  y = 0
  print(x)
}
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0
## [1] 0
## [1] "gain du joueur B sur 10 000 parties"
## [1] 75
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0075
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0
## [1] 0.1
## [1] "gain du joueur B sur 10 000 parties"
## [1] 51
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0051
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0
## [1] 0.2
## [1] "gain du joueur B sur 10 000 parties"
## [1] -132
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0132
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0
## [1] 0.3
## [1] "gain du joueur B sur 10 000 parties"
## [1] -67
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0067
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0
## [1] 0.4
## [1] "gain du joueur B sur 10 000 parties"
## [1] -70
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.007
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0
## [1] 0.5
## [1] "gain du joueur B sur 10 000 parties"
## [1] -22
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0022
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0
## [1] 0.6
## [1] "gain du joueur B sur 10 000 parties"
## [1] -26
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0026
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0
## [1] 0.7
## [1] "gain du joueur B sur 10 000 parties"
## [1] -86
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0086
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0
## [1] 0.8
## [1] "gain du joueur B sur 10 000 parties"
## [1] 62
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0062
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0
## [1] 0.9
## [1] "gain du joueur B sur 10 000 parties"
## [1] 34
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0034
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0
## [1] 1
## [1] "gain du joueur B sur 10 000 parties"
## [1] 22
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0022
## [1] 0.1
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.1
## [1] 0
## [1] "gain du joueur B sur 10 000 parties"
## [1] -24
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0024
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.1
## [1] 0.1
## [1] "gain du joueur B sur 10 000 parties"
## [1] -73
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0073
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.1
## [1] 0.2
## [1] "gain du joueur B sur 10 000 parties"
## [1] -49
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0049
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.1
## [1] 0.3
## [1] "gain du joueur B sur 10 000 parties"
## [1] -104
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0104
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.1
## [1] 0.4
## [1] "gain du joueur B sur 10 000 parties"
## [1] -101
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0101
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.1
## [1] 0.5
## [1] "gain du joueur B sur 10 000 parties"
## [1] 95
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0095
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.1
## [1] 0.6
## [1] "gain du joueur B sur 10 000 parties"
## [1] -46
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0046
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.1
## [1] 0.7
## [1] "gain du joueur B sur 10 000 parties"
## [1] 94
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0094
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.1
## [1] 0.8
## [1] "gain du joueur B sur 10 000 parties"
## [1] 110
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.011
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.1
## [1] 0.9
## [1] "gain du joueur B sur 10 000 parties"
## [1] -105
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0105
## [1] 0.2
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.2
## [1] 0
## [1] "gain du joueur B sur 10 000 parties"
## [1] 41
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0041
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.2
## [1] 0.1
## [1] "gain du joueur B sur 10 000 parties"
## [1] 10
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.001
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.2
## [1] 0.2
## [1] "gain du joueur B sur 10 000 parties"
## [1] 65
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0065
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.2
## [1] 0.3
## [1] "gain du joueur B sur 10 000 parties"
## [1] 7
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 7e-04
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.2
## [1] 0.4
## [1] "gain du joueur B sur 10 000 parties"
## [1] -67
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0067
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.2
## [1] 0.5
## [1] "gain du joueur B sur 10 000 parties"
## [1] -93
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0093
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.2
## [1] 0.6
## [1] "gain du joueur B sur 10 000 parties"
## [1] 137
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0137
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.2
## [1] 0.7
## [1] "gain du joueur B sur 10 000 parties"
## [1] 54
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0054
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.2
## [1] 0.8
## [1] "gain du joueur B sur 10 000 parties"
## [1] 2
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 2e-04
## [1] 0.3
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.3
## [1] 0
## [1] "gain du joueur B sur 10 000 parties"
## [1] 20
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.002
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.3
## [1] 0.1
## [1] "gain du joueur B sur 10 000 parties"
## [1] -173
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0173
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.3
## [1] 0.2
## [1] "gain du joueur B sur 10 000 parties"
## [1] -121
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0121
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.3
## [1] 0.3
## [1] "gain du joueur B sur 10 000 parties"
## [1] 93
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0093
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.3
## [1] 0.4
## [1] "gain du joueur B sur 10 000 parties"
## [1] 74
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0074
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.3
## [1] 0.5
## [1] "gain du joueur B sur 10 000 parties"
## [1] -259
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0259
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.3
## [1] 0.6
## [1] "gain du joueur B sur 10 000 parties"
## [1] 115
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0115
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.3
## [1] 0.7
## [1] "gain du joueur B sur 10 000 parties"
## [1] 10
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.001
## [1] 0.4
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.4
## [1] 0
## [1] "gain du joueur B sur 10 000 parties"
## [1] 52
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0052
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.4
## [1] 0.1
## [1] "gain du joueur B sur 10 000 parties"
## [1] 143
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0143
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.4
## [1] 0.2
## [1] "gain du joueur B sur 10 000 parties"
## [1] -101
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0101
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.4
## [1] 0.3
## [1] "gain du joueur B sur 10 000 parties"
## [1] 87
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0087
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.4
## [1] 0.4
## [1] "gain du joueur B sur 10 000 parties"
## [1] -57
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0057
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.4
## [1] 0.5
## [1] "gain du joueur B sur 10 000 parties"
## [1] 40
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.004
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.4
## [1] 0.6
## [1] "gain du joueur B sur 10 000 parties"
## [1] 22
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0022
## [1] 0.5
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.5
## [1] 0
## [1] "gain du joueur B sur 10 000 parties"
## [1] 131
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0131
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.5
## [1] 0.1
## [1] "gain du joueur B sur 10 000 parties"
## [1] 21
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0021
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.5
## [1] 0.2
## [1] "gain du joueur B sur 10 000 parties"
## [1] 16
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0016
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.5
## [1] 0.3
## [1] "gain du joueur B sur 10 000 parties"
## [1] -11
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0011
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.5
## [1] 0.4
## [1] "gain du joueur B sur 10 000 parties"
## [1] -12
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0012
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.5
## [1] 0.5
## [1] "gain du joueur B sur 10 000 parties"
## [1] 10
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.001
## [1] 0.6
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.6
## [1] 0
## [1] "gain du joueur B sur 10 000 parties"
## [1] 157
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0157
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.6
## [1] 0.1
## [1] "gain du joueur B sur 10 000 parties"
## [1] -27
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0027
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.6
## [1] 0.2
## [1] "gain du joueur B sur 10 000 parties"
## [1] -11
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0011
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.6
## [1] 0.3
## [1] "gain du joueur B sur 10 000 parties"
## [1] 64
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0064
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.6
## [1] 0.4
## [1] "gain du joueur B sur 10 000 parties"
## [1] -4
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -4e-04
## [1] 0.7
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.7
## [1] 0
## [1] "gain du joueur B sur 10 000 parties"
## [1] 125
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0125
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.7
## [1] 0.1
## [1] "gain du joueur B sur 10 000 parties"
## [1] -26
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0026
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.7
## [1] 0.2
## [1] "gain du joueur B sur 10 000 parties"
## [1] 49
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0049
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.7
## [1] 0.3
## [1] "gain du joueur B sur 10 000 parties"
## [1] -10
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.001
## [1] 0.8
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.8
## [1] 0
## [1] "gain du joueur B sur 10 000 parties"
## [1] 74
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0074
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.8
## [1] 0.1
## [1] "gain du joueur B sur 10 000 parties"
## [1] 59
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0059
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.8
## [1] 0.2
## [1] "gain du joueur B sur 10 000 parties"
## [1] 96
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0096
## [1] 0.9
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.9
## [1] 0
## [1] "gain du joueur B sur 10 000 parties"
## [1] -173
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0173
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 0.9
## [1] 0.1
## [1] "gain du joueur B sur 10 000 parties"
## [1] 73
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] 0.0073
## [1] 1
## [1] "-------------------------------"
## [1] "VALEURS DE X ET Y :"
## [1] 1
## [1] 0
## [1] "gain du joueur B sur 10 000 parties"
## [1] -45
## [1] "Estimation de l'espérence de gain du joueur B"
## [1] -0.0045
## [1] 1.1

Le joueur B à réussi à gagner le maximum sur 10 000 parties pour les valeurs de x et y suivantes :

print(save_x)
## [1] 0.6
print(save_y)
## [1] 0
print(max)
## [1] 157
print(max/10000)
## [1] 0.0157

Il n’y à pas de stratégie optimale pour le joueur B, quand on sait que le joueur A joue Pierre, Papier ou Ciseau avec une probabilité de 1/3.

L’espérence de gain du joueur B dans toutes les combinaisons de probabilités possibles à toujours été de 0.

Question 1.5

Le joueur A joue Pierre, Papier ou Ciseau avec respectivement les probabilités (1/3, 1/3, 1/3)

Le joueur B joue Pierre, Papier ou Ciseau avec respectivement les probabilités (x, y, 1-x-y)

Le joueur B a la probabilité de gagner (avec 1 = Pierre, 2 = Papier et 3 = Ciseau : \(P(B = 1 \cap A = 3) + P(B = 2 \cap A = 1) + P(B = 3 \cap A = 2)\)

Et il a la probabilité de perdre : \(P(B = 1 \cap A = 2) + P(B = 2 \cap A = 3) + P(B = 3 \cap A = 1)\)

Le gain est ici de 1 pour chaque parties.

L’espérence de gain joueur B est donc : \(P(B = 1 \cap A = 3) + P(B = 2 \cap A = 1) + P(B = 3 \cap A = 2) - (P(B = 1 \cap A = 3) + P(B = 2 \cap A = 1) + P(B = 3 \cap A = 2))\)

\(= \frac x 3 + \frac y 3 + \frac{1-x-y} 3 - (\frac x 3 + \frac y 3 + \frac{1-x-y} 3)\)

\(= \frac x 3 + \frac y 3 + \frac{1-x-y} 3 - \frac x 3 - \frac y 3 - \frac{1-x-y} 3\)

\(= 0\)

L’espérence de gain théorique du joueur B est donc égale à 0. On retrouve bien nos résultats précédents car lors de l’estimation pour toutes les valeurs de x et y, nous avions vu que le maximum gagné par le joueur B sur 10 000 parties divisé par 10 000 était très proche de 0 et donc que l’estimation de son espérence de gain était de 0.

Conclusion : Lorsqu’un des deux joueurs n’est pas biaisé, c’est à dire qu’il joue toujours Pierre, Papier ou Ciseau avec une probabilité de 1/3, l’autre joueur ne pourra pas adopter de stratégie et l’espérence de gain des deux joueurs seront toujours de 0 peu importe la stratégie de l’autre joueur.

Un joueur non biaisé peut donc perdre ou gagner, il à une espérence de gain de 0 contre n’importe quel joueur.

Q2: Apprentissage

Question 1

Pour cette question, notre algorithme enregistre tous les précédents coups joués par notre adversaire. Il calcule ensuite le ratio du nombre de fois ou il à joué pierre, papier ou ciseau sur le nombre de fois ou il a joué en tout. Récupère le plus grand des 3 ratio et joue en fonction, par exemple, si notre adversaire à joué le plus de fois Pierre (1) on va jouer Papier(2), Si il a joué le plus de fois ciseau(3) on va jouer Pierre (1).

jeu_optimal = function(tableau_precedents_jeux) {
  nb_pierre = 0;
  nb_papier = 0;
  nb_ciseaux = 0;
  if (length(tableau_precedents_jeux)>0) {
  for(i in 1:length(tableau_precedents_jeux)) {
    if (tableau_precedents_jeux[i]==1) {
      nb_pierre = nb_pierre+1;
    }
    else if (tableau_precedents_jeux[i]==2) {
      nb_papier = nb_papier+1;
    }
    else {
      nb_ciseaux = nb_ciseaux+1;
    }
  }
  
  proba_pierre = nb_pierre/length(tableau_precedents_jeux)
  proba_papier = nb_papier/length(tableau_precedents_jeux)
  proba_ciseau = nb_ciseaux/length(tableau_precedents_jeux)
  

  
  if (proba_pierre >= proba_papier && proba_pierre >= proba_ciseau) {
    2
  } 
  else if (proba_papier >= proba_pierre && proba_papier >= proba_ciseau) {
    3
  }
  else {
    1
  }
  }
  else {
    sample(3,1)
  }
}

Question 2

On remarque que notre algorithme joue tout le temps la pierre contre le joueur biaisé, cela lui permet de gagner un maximum de fois.

jeux_de_a = c();

A_joue = function() {
  tirage = runif(1,0,1)
  if (tirage < (1/4)) {
    1
  } else if (tirage < 2*(1/4)) {
    2
  } else {
    3
  }

}

nb_matchs = 1000
jeux_de_a = c()
jeux_de_b = c()
JoueurA_gagne = c()
JoueurB_gagne = c()

for (i in 1:nb_matchs) {
  jeux_de_b[i] = jeu_optimal(jeux_de_a)
  jeux_de_a[i] = A_joue()

  
  if (jeux_de_a[i] == 1 && jeux_de_b[i] == 2) {
    if (i>1) {
      JoueurB_gagne[i] = JoueurB_gagne[i-1] + 1
      JoueurA_gagne[i] = JoueurA_gagne[i-1] - 1
    } else {
      JoueurB_gagne[i] =  1
      JoueurA_gagne[i] = -1
    }

  } else if (jeux_de_a[i] == 1 && jeux_de_b[i] == 3) {
    if (i>1) {
        JoueurA_gagne[i] = JoueurA_gagne[i-1] + 1
        JoueurB_gagne[i] = JoueurB_gagne[i-1] - 1
    } else {
        JoueurB_gagne[i] = -1
        JoueurA_gagne[i] = 1
    }

  } else if (jeux_de_a[i] == 2 && jeux_de_b[i] == 1) {
    if (i>1) {
      JoueurA_gagne[i] = JoueurA_gagne[i-1] + 1
      JoueurB_gagne[i] = JoueurB_gagne[i-1] - 1
    } else {
      JoueurA_gagne[i] = 1
      JoueurB_gagne[i] = -1
    }
    
  } else if (jeux_de_a[i] == 2 && jeux_de_b[i] == 3) {
    if (i>1) {
      JoueurB_gagne[i] = JoueurB_gagne[i-1] + 1
      JoueurA_gagne[i] = JoueurA_gagne[i-1] - 1
    } else {
      JoueurB_gagne[i] = 1
      JoueurA_gagne[i] = -1
    }
    
  } else if (jeux_de_a[i] == 3 && jeux_de_b[i] == 1) {
    if (i>1) {
      JoueurB_gagne[i] = JoueurB_gagne[i-1] + 1
      JoueurA_gagne[i] = JoueurA_gagne[i-1] - 1
    } else {
      JoueurB_gagne[i] = 1
      JoueurA_gagne[i] = -1
    }
    
  } else if (jeux_de_a[i] == 3 && jeux_de_b[i] == 2) {
    if (i>1) {
      JoueurA_gagne[i] = JoueurA_gagne[i-1] + 1
      JoueurB_gagne[i] = JoueurB_gagne[i-1] - 1
    } else {
      JoueurA_gagne[i] = 1
      JoueurB_gagne[i] = -1
    }
    
  } else {
        if (i>1) {
      JoueurA_gagne[i] = JoueurA_gagne[i-1] 
      JoueurB_gagne[i] = JoueurB_gagne[i-1] 
    } else {
      JoueurA_gagne[i] = 0
      JoueurB_gagne[i] = 0
    }
  }
  
}

plot(JoueurB_gagne)

Question 3

Notre algorithme est très bon contre un joueur biaisé, mais contre un humain pas trop bête, il n’a aucune chance.

Par exemple, si l’humain joue Ciseau / Pierre / Ciseau / Pierre / Ciseau / Pierre / Ciseau / …

L’humain gagne tout le temps.

ici le joueur A est celui qui représente l’humain.

On remarque que notre gain avec l’algorithme est une énorme perte.

nb_matchs = 1000
jeux_de_a = c()
jeux_de_b = c()
JoueurA_gagne = c()
JoueurB_gagne = c()
precedent = 1

for (i in 1:nb_matchs) {
  jeux_de_b[i] = jeu_optimal(jeux_de_a)
  
  if (precedent==3){
    jeux_de_a[i] = 1
    precedent = 1
  } else {
    jeux_de_a[i] = 3
    precedent = 3
  }

  
  if (jeux_de_a[i] == 1 && jeux_de_b[i] == 2) {
    if (i>1) {
      JoueurB_gagne[i] = JoueurB_gagne[i-1] + 1
      JoueurA_gagne[i] = JoueurA_gagne[i-1] - 1
    } else {
      JoueurB_gagne[i] =  1
      JoueurA_gagne[i] = -1
    }

  } else if (jeux_de_a[i] == 1 && jeux_de_b[i] == 3) {
    if (i>1) {
        JoueurA_gagne[i] = JoueurA_gagne[i-1] + 1
        JoueurB_gagne[i] = JoueurB_gagne[i-1] - 1
    } else {
        JoueurB_gagne[i] = -1
        JoueurA_gagne[i] = 1
    }

  } else if (jeux_de_a[i] == 2 && jeux_de_b[i] == 1) {
    if (i>1) {
      JoueurA_gagne[i] = JoueurA_gagne[i-1] + 1
      JoueurB_gagne[i] = JoueurB_gagne[i-1] - 1
    } else {
      JoueurA_gagne[i] = 1
      JoueurB_gagne[i] = -1
    }
    
  } else if (jeux_de_a[i] == 2 && jeux_de_b[i] == 3) {
    if (i>1) {
      JoueurB_gagne[i] = JoueurB_gagne[i-1] + 1
      JoueurA_gagne[i] = JoueurA_gagne[i-1] - 1
    } else {
      JoueurB_gagne[i] = 1
      JoueurA_gagne[i] = -1
    }
    
  } else if (jeux_de_a[i] == 3 && jeux_de_b[i] == 1) {
    if (i>1) {
      JoueurB_gagne[i] = JoueurB_gagne[i-1] + 1
      JoueurA_gagne[i] = JoueurA_gagne[i-1] - 1
    } else {
      JoueurB_gagne[i] = 1
      JoueurA_gagne[i] = -1
    }
    
  } else if (jeux_de_a[i] == 3 && jeux_de_b[i] == 2) {
    if (i>1) {
      JoueurA_gagne[i] = JoueurA_gagne[i-1] + 1
      JoueurB_gagne[i] = JoueurB_gagne[i-1] - 1
    } else {
      JoueurA_gagne[i] = 1
      JoueurB_gagne[i] = -1
    }
    
  } else {
        if (i>1) {
      JoueurA_gagne[i] = JoueurA_gagne[i-1] 
      JoueurB_gagne[i] = JoueurB_gagne[i-1] 
    } else {
      JoueurA_gagne[i] = 0
      JoueurB_gagne[i] = 0
    }
  }
  
}

plot(JoueurB_gagne)

Question 4

Pour améliorer notr algorithme, nous décidons de faire une fenêtre sur 10 parties, ou l’algorithme évalura les fréquences de l’autre joueur sur les 10 parties précédentes pour jouer le coup optimal.

jeu_optimal = function(tableau_precedents_jeux) {
  nb_pierre = 0;
  nb_papier = 0;
  nb_ciseaux = 0;
  if (length(tableau_precedents_jeux)>10) {
  for(i in length(tableau_precedents_jeux):length(tableau_precedents_jeux)) {
    if (tableau_precedents_jeux[i]==1) {
      nb_pierre = nb_pierre+1;
    }
    else if (tableau_precedents_jeux[i]==2) {
      nb_papier = nb_papier+1;
    }
    else {
      nb_ciseaux = nb_ciseaux+1;
    }
  }
  
  proba_pierre = nb_pierre/length(tableau_precedents_jeux)
  proba_papier = nb_papier/length(tableau_precedents_jeux)
  proba_ciseau = nb_ciseaux/length(tableau_precedents_jeux)
  

  
  if (proba_pierre > proba_papier && proba_pierre > proba_ciseau) {
    2
  } 
  else if (proba_papier > proba_pierre && proba_papier > proba_ciseau) {
    3
  }
  else if (proba_ciseau > proba_pierre && proba_ciseau > proba_papier) {
    1
  }
  else {
    sample(3,1)
  }
  }
  else {
    sample(3,1)
  }
}


A_joue = function() {
  tirage = runif(1,0,1)
  if (tirage < (1/4)) {
    1
  } else if (tirage < 2*(1/4)) {
    2
  } else {
    3
  }

}

nb_matchs = 1000
jeux_de_a = c()
jeux_de_b = c()
JoueurA_gagne = c()
JoueurB_gagne = c()

for (i in 1:nb_matchs) {
  jeux_de_b[i] = jeu_optimal(jeux_de_a)
  jeux_de_a[i] = A_joue()

  
  if (jeux_de_a[i] == 1 && jeux_de_b[i] == 2) {
    if (i>1) {
      JoueurB_gagne[i] = JoueurB_gagne[i-1] + 1
      JoueurA_gagne[i] = JoueurA_gagne[i-1] - 1
    } else {
      JoueurB_gagne[i] =  1
      JoueurA_gagne[i] = -1
    }

  } else if (jeux_de_a[i] == 1 && jeux_de_b[i] == 3) {
    if (i>1) {
        JoueurA_gagne[i] = JoueurA_gagne[i-1] + 1
        JoueurB_gagne[i] = JoueurB_gagne[i-1] - 1
    } else {
        JoueurB_gagne[i] = -1
        JoueurA_gagne[i] = 1
    }

  } else if (jeux_de_a[i] == 2 && jeux_de_b[i] == 1) {
    if (i>1) {
      JoueurA_gagne[i] = JoueurA_gagne[i-1] + 1
      JoueurB_gagne[i] = JoueurB_gagne[i-1] - 1
    } else {
      JoueurA_gagne[i] = 1
      JoueurB_gagne[i] = -1
    }
    
  } else if (jeux_de_a[i] == 2 && jeux_de_b[i] == 3) {
    if (i>1) {
      JoueurB_gagne[i] = JoueurB_gagne[i-1] + 1
      JoueurA_gagne[i] = JoueurA_gagne[i-1] - 1
    } else {
      JoueurB_gagne[i] = 1
      JoueurA_gagne[i] = -1
    }
    
  } else if (jeux_de_a[i] == 3 && jeux_de_b[i] == 1) {
    if (i>1) {
      JoueurB_gagne[i] = JoueurB_gagne[i-1] + 1
      JoueurA_gagne[i] = JoueurA_gagne[i-1] - 1
    } else {
      JoueurB_gagne[i] = 1
      JoueurA_gagne[i] = -1
    }
    
  } else if (jeux_de_a[i] == 3 && jeux_de_b[i] == 2) {
    if (i>1) {
      JoueurA_gagne[i] = JoueurA_gagne[i-1] + 1
      JoueurB_gagne[i] = JoueurB_gagne[i-1] - 1
    } else {
      JoueurA_gagne[i] = 1
      JoueurB_gagne[i] = -1
    }
    
  } else {
        if (i>1) {
      JoueurA_gagne[i] = JoueurA_gagne[i-1] 
      JoueurB_gagne[i] = JoueurB_gagne[i-1] 
    } else {
      JoueurA_gagne[i] = 0
      JoueurB_gagne[i] = 0
    }
  }
  
}

 plot(JoueurB_gagne)

On remarque que contre le joueur biaisé, cet algorithme est moins performant que le précédent. Mais il arrive tout de même à bien gagner quand même. De plus, contre un humain pas trop bête, cet algorithme sera beaucoup plus performant que le précédent.