- Problème 1 :

1. Monsieur Jones a deux enfants. L’aîné est une fille. Quelle est la probabilité que les deux enfants soient des filles ?

# Créer un échantillon de famille avec deux enfants
famille <- expand.grid(Enfants = c("Fille", "Garçon"), Autre_Enfant = c("Fille", "Garçon"))

# Compter les cas où l'aîné est une fille et les deux enfants sont des filles
cas_filles <- subset(famille, Enfants == "Fille" & Autre_Enfant == "Fille")

# Calculer la probabilité que les deux enfants soient des filles
probabilite <- nrow(cas_filles) / nrow(famille)
probabilite
## [1] 0.25
# Charger la bibliothèque required pour créer un graphique à barres
library(ggplot2)
## Warning: le package 'ggplot2' a été compilé avec la version R 4.2.3
# Créer un dataframe pour stocker les données
donnees <- data.frame(Resultat = c("Filles", "Autres"),Probabilite = c(probabilite, 1 - probabilite))

# Créer le graphique à barres
graphique <- ggplot(donnees, aes(x = Resultat, y = Probabilite)) +
  geom_bar(stat = "identity", fill = "lightblue") +
  labs(title = "Probabilité d'avoir deux filles",
       x = "Résultat",
       y = "Probabilité") +
  theme_minimal()

# Afficher le graphique
print(graphique)

# Charger la bibliothèque required pour créer un diagramme à secteurs
library(ggplot2)

# Créer un dataframe pour stocker les données
donnees <- data.frame(Resultat = c("Deux filles", "Autres"),Probabilite = c(probabilite, 1 - probabilite))

# Calculer les pourcentages
pourcentage <- round(donnees$Probabilite * 100, 1)
donnees$Pourcentage <- paste(pourcentage, "%")

# Créer le graphique à secteurs (camembert) avec les pourcentages
graphique <- ggplot(donnees, aes(x = "", y = Probabilite, fill = Resultat, label = Pourcentage)) +
  geom_bar(stat = "identity", width = 1) +
  coord_polar(theta = "y") +
  geom_text(aes(x = 1.5), position = position_stack(vjust = 0.5)) +
  labs(title = "Probabilité d'avoir deux filles",
       fill = "Résultat",
       x = NULL,
       y = NULL) +
  scale_fill_manual(values = c("Deux filles" = "lightblue", "Autres" = "lightgray")) +
  theme_void() +
  theme(legend.title = element_blank())

# Afficher le graphique
print(graphique)

Commentaire :

La probabilité que les deux enfants de M. Jones soient des filles est de 1/4, soit 25%.

- Problème 2 :

2. Monsieur Smith a deux enfants. Au moins l’un d’entre eux est un garçon. Quelle est la probabilité que les deux enfants soient des garçons ?

# Créer un échantillon de famille avec deux enfants
famille <- expand.grid(Enfants = c("Fille", "Garçon"), Autre_Enfant = c("Fille", "Garçon"))

# Compter les cas où au moins un enfant est un garçon
cas_garcon <- subset(famille, Enfants == "Garçon" | Autre_Enfant == "Garçon")

# Compter les cas où les deux enfants sont des garçons
cas_deux_garcons <- subset(cas_garcon, Enfants == "Garçon" & Autre_Enfant == "Garçon")

# Calculer la probabilité que les deux enfants soient des garçons étant donné qu'au moins un enfant est un garçon
probabilite <- nrow(cas_deux_garcons) / nrow(cas_garcon)
probabilite
## [1] 0.3333333
# Charger la bibliothèque required pour créer un graphique à barres
library(ggplot2)

# Créer un dataframe pour stocker les données
donnees <- data.frame(Resultat = c("Deux garçons", "Au moins un garçon"),Probabilite = c(probabilite, 1 - probabilite))

# Créer le graphique à barres
graphique <- ggplot(donnees, aes(x = Resultat, y = Probabilite)) +
  geom_bar(stat = "identity", fill = "lightblue") +
  labs(title = "Probabilité d'avoir deux garçons\nétant donné qu'au moins un enfant est un garçon",
       x = "Résultat",
       y = "Probabilité") +
  theme_minimal()

# Afficher le graphique
print(graphique)

Commentaire :

La probabilité que les deux enfants de M. Smith soient des garçons, sachant qu’au moins un enfant est un garçon, est de 1/3, soit environ 33,33%.

- Problème 3 :

+ Trois prisonniers, A, B et C, sont dans des cellules séparées et condamnés à mort. Le gouverneur en a choisi un au hasard pour être gracié. Le gardien sait lequel est gracié, mais il n’a pas le droit de le dire. Le prisonnier A supplie le gardien de lui révéler l’identité de l’un des autres qui va être exécuté. “Si B doit être gracié, donnez-moi le nom de C. Si C doit être gracié, donnez-moi le nom de B. Et si c’est moi qui doit être gracié, lancez une pièce pour décider si vous donnerez le nom de B ou de C.”

+ Le gardien dit à A que B va être exécuté. Le prisonnier A est content parce qu’il pense que sa probabilité de survie est passée de 1/3 à 1/2, car il est désormais en compétition avec C. Le prisonnier A dit secrètement la nouvelle à C, qui est également ravi, car il raisonne qu’A a toujours une chance de 1/3 d’être gracié, mais que sa chance a augmenté à 2/3. Quelle est la réponse correcte ?

# Créer une liste de prisonniers A, B et C
prisonniers <- c("A", "B", "C")

# Sélectionner aléatoirement le prisonnier pardonné par le gouverneur
pardonne <- sample(prisonniers, 1)

# Afficher le prisonnier pardonné
cat("Le prisonnier pardonné est :", pardonne, "\n")
## Le prisonnier pardonné est : A
# Fonction pour simuler la décision du gardien
gardien_decision <- function(pardonne, prisonnier_a_demande) {
  if (pardonne == "B") {
    return("C")
  } else if (pardonne == "C") {
    return("B")
  } else {
    # Si A est pardonné, lancer une pièce pour choisir entre B et C
    if (runif(1) > 0.5) {
      return("B")
    } else {
      return("C")
    }
  }
}

# Prisonnier A demande la décision du gardien
decision_gardien_a <- gardien_decision(pardonne, "A")

# Afficher la décision du gardien pour A
cat("Le gardien donne à A le nom de :", decision_gardien_a, "\n")
## Le gardien donne à A le nom de : C
# Prisonnier C reçoit la nouvelle de la décision du gardien pour A
# et il met à jour sa probabilité de survie
if (decision_gardien_a == "C") {
  probabilite_survie_c <- 2/3
} else {
  probabilite_survie_c <- 1/3
}

# Afficher la probabilité de survie mise à jour pour C
cat("La probabilité de survie de C est maintenant de :", probabilite_survie_c, "\n")
## La probabilité de survie de C est maintenant de : 0.6666667
# Charger la bibliothèque required pour créer un diagramme en arbre
# install.packages("DiagrammeR")
library(DiagrammeR)
## Warning: le package 'DiagrammeR' a été compilé avec la version R 4.2.3
# Créer un diagramme en arbre
prisonniers <- grViz("
  digraph {
    node [shape=ellipse]
    
    Gouverneur [label='Gouverneur']
    A [label='A']
    B [label='B']
    C [label='C']
    
    Gouverneur -> A [label='Pardonne']
    Gouverneur -> B [label='Pardonne']
    Gouverneur -> C [label='Pardonne']
    
    A -> B [label='Demande B']
    A -> C [label='Demande C']
    
    C -> B [label='Décision gardien']
    B -> C [label='Décision gardien']
    
    A [style=filled, fillcolor=lightblue]
    C [style=filled, fillcolor=green]
  }
")

# Afficher le diagramme en arbre
prisonniers