Feat(2GT1): ajoute l'activité sur la simulation
continuous-integration/drone/push Build is passing Details

This commit is contained in:
Bertrand Benjamin 2022-12-06 11:24:43 +01:00
parent 3458e4b159
commit 751f6c79ff
3 changed files with 15250 additions and 1 deletions

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,333 @@
{
"cells": [
{
"cell_type": "markdown",
"id": "3c634772",
"metadata": {},
"source": [
"# Simulation d'expériences aléatoires\n",
"\n",
"\n",
"D'après wikipedia\n",
"\n",
" La simulation est un outil utilisé par le chercheur, l'ingénieur, le militaire, etc. pour étudier les résultats d'une action sur un élément sans réaliser l'expérience sur l'élément réel.\n",
"\n",
" Lorsque l'outil de simulation utilise un ordinateur on parle de simulation numérique.\n",
" \n",
"La simulation sert à produire des **données** à partir d'un modèle, d'une expérience. Ces données servent ensuite à valider le modèle ou à analyser l'expérience.\n",
"\n",
"Dans ce TP, vous allez modéliser puis simuler des expériences aléatoires. Il vous faudra d'abord choisir les bons outils pour reproduire informatiquement l'expérience puis la faire jouer par l'ordinateur de nombreuses fois."
]
},
{
"cell_type": "markdown",
"id": "0351ca17",
"metadata": {},
"source": [
"## Les fonctions random\n",
"\n",
"Par défaut, Python ne sait pas faire d'aléatoire. Il faut donc importer quelques fonctions depuis `random` (aléatoire en anglais)"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "186c63a0",
"metadata": {},
"outputs": [],
"source": [
"from random import random, randint, uniform, choice"
]
},
{
"cell_type": "markdown",
"id": "5a46e61b",
"metadata": {},
"source": [
"Exécutez plusieurs fois les commandes pour vous convaincre qu'elles ne donnent pas toujours le même résultat.\n",
"\n",
"- `random()`: donne un nombre aléatoire entre 0 et 1."
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "55bcc4b8",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.9689733689484863"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"random()"
]
},
{
"cell_type": "markdown",
"id": "6eec23f4",
"metadata": {},
"source": [
"- `randint(a, b)`: donne un entier aléatoire entre a et b."
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "17f639e6",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"4"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"randint(4, 10)"
]
},
{
"cell_type": "markdown",
"id": "f9302664",
"metadata": {},
"source": [
"- `uniform(a, b)`: donne un nombre aléatoire entre a et b."
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "d4d280b7",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"5.000675533330709"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"uniform(4, 10)"
]
},
{
"cell_type": "markdown",
"id": "c0531d54",
"metadata": {},
"source": [
"- `choice(liste)`: choisit aléatoirement un élément de la liste."
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "288c71f8",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'math'"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Pour définir une liste, on utilise des crochets []\n",
"matieres = [\"math\", \"français\", \"Histoire\"]\n",
"# Choisir au hasard un élément parmi cette liste\n",
"choice(matieres)"
]
},
{
"cell_type": "markdown",
"id": "cf4c3981",
"metadata": {},
"source": [
"## Lancé de deux dés\n",
"\n",
"Exécuter le programme ci-dessous plusieurs fois."
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "abb0d029",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"--- Simulateur de lancer de dés ---\n",
"Première situation\n",
"La première situation donne 60\n",
"Deuxième situation\n",
"La deuxième situation donne 6\n"
]
}
],
"source": [
"print(\"--- Simulateur de lancer de dés ---\")\n",
"\n",
"print(\"Première situation\")\n",
"de1 = randint(1, 6)\n",
"de2 = randint(1, 10)\n",
"resulat1 = de1 * de2\n",
"print(\"La première situation donne\", resulat1)\n",
"\n",
"print(\"Deuxième situation\")\n",
"resulat2 = randint(1, 8) * randint(1, 8)\n",
"print(\"La deuxième situation donne\", resulat2)"
]
},
{
"cell_type": "markdown",
"id": "920e994b",
"metadata": {},
"source": [
"1. Décrire l'expérience aléatoire qui est simulée par le programme précédent."
]
},
{
"cell_type": "markdown",
"id": "f3e711bc",
"metadata": {},
"source": []
},
{
"cell_type": "markdown",
"id": "bb98e50f",
"metadata": {},
"source": [
"2. Copier puis adaptez le programme précédent pour qu'il simule les deux situations suivantes\n",
" \n",
" - Situation 1: On fait la somme des résultats des lancers de 2 dés à 18 faces.\n",
" - Situation 2: Situation 2: On fait le produit des résultats des lancers de deux dés à 3 faces et d'un dé à 4"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "e37564f4",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"id": "5daf2e8b",
"metadata": {},
"source": [
"3. Ajouter le code suivant à la fin vos programmes précédents\n",
"\n",
"```\n",
"if resulat1 > resulat2:\n",
" print(\"La première situation gagne\")\n",
"else:\n",
" print(\"La deuxième situation gagne\")\n",
"```\n",
"Exécuter les plusieurs fois, y a-t-il des situations qui semblent gagner plus souvent que d'autres?"
]
},
{
"cell_type": "markdown",
"id": "ff17fff7",
"metadata": {},
"source": [
"## Les dés des Dudu\n",
"\n",
"Dans [le problème des dés des Dudu](https://mathix.org/video/problemes_ouverts/PB_DUDU/PBDUDU7-d%C3%A9.mp4), les deux frères ont chacun deux dés différents:\n",
"\n",
"- Le frère 1: a un dé qui va de 0 à 9 et un dé de 1 à 8.\n",
"- Le frère 2: a un dé de 1 à 12 et un dé classique 1 à 6.\n",
"\n",
"**On veut savoir qui sera le premier à faire 17 en ajoutant le résultat de ses 2 dés.**\n",
"\n",
"À vous de simuler cette situation pour répondre à la question."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "0ebb2090",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"id": "3668a89c",
"metadata": {},
"source": [
"## Dés d'Efrons\n",
"\n",
"On dispose de 3 dés à 6 faces équilibrés avec les nombres suivants sur leurs faces.\n",
"\n",
"- A : 1, 6, 11, 12, 13, 14\n",
"- B : 2, 3, 4, 15, 16, 17\n",
"- C : 5, 7, 8, 9, 10, 18\n",
"\n",
"**On souhaite savoir si un dé est plus avantageux que les autres.**\n",
"\n",
"Proposition d'étapes pour répondre à cette question\n",
"\n",
"1. Simuler le lancer de ces 3 dés.\n",
"2. Simuler en même temps les dés A et B. Lequel semble donner le meilleur score?\n",
"3. Faire la même chose avec les dés A et C puis avec les dés B et C.\n",
"4. Y a-t-il un dé plus fort que les autres?\n",
"5. Simuler le lancer des 3 dés en même temps lequel semble le plus fort?"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "ea5108c4",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.7"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

View File

@ -2,7 +2,7 @@ Probabilités
############
:date: 2022-11-14
:modified: 2022-11-30
:modified: 2022-12-06
:authors: Benjamin Bertrand
:tags: Probabilité
:category: 2nd
@ -56,5 +56,10 @@ Série d'exercices techniques
Simuler des expériences aléatoires avec la programmation.
- `Version html <./3E_simulation.html>`_
- `Version ipynb <./3E_simulation.ipynb>`_
Bilan: outils python pour faire de l'aléatoire et des exemples de programmes
Étape 4: Loi de Benfort
-----------------------