{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Simulations" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Pour obtenir un nombre entier aléatoire entre 1 et 6 :" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "4" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from random import randint\n", "randint(1,6)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Une nouveauté (?) : la boucle pour " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

\n", "pour $i$ allant de 0 à 4
\n", " $\\qquad$ afficher $i$
\n", "

" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0\n", "1\n", "2\n", "3\n", "4\n" ] } ], "source": [ "for i in range(5):\n", " print(i)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "La variable i prend 5 valeurs, de 0 à 4. \n", "\n", "A chaque passage dans la boucle pour, $i$ est augmenté de 1 (automatiquement, sans qu'on ait besoin d'écrire $i=i+1$)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Voici comment simuler 10 lancers de dé à 6 faces :" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "4\n", "1\n", "1\n", "5\n", "3\n", "1\n", "2\n", "4\n", "6\n", "5\n" ] } ], "source": [ "from random import randint\n", "\n", "for i in range(10):\n", " print(randint(1,6)) \n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exercice 1\n", "\n", "Simuler 100 lancers de dé à six faces et afficher la fréquence de la face 5." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from random import randint\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Observer ce qui se passe pour 1000 lancers, 100000 lancers." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exercice 2\n", "\n", "Simuler 1000 lancers de dé à six faces ; calculer la somme des 1000 faces obtenues puis la moyenne sur les 1000 lancers.\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Utilisation de listes" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Pour obtenir une simulation de loi de probabilité, il va être pratique d'utiliser des listes.\n", "\n", "Exemple : on lance un dé à 12 faces. On veut (par simulation) afficher la loi de probabilité de la face X. \n", "\n", "X prend les valeurs entières de 1 à 12. On va utiliser une liste X = [1,2,3,4,5,6,7,8,9,10,11,12] et une deuxième liste P pour les probabilités correspondantes.\n", "\n", "On initialise toutes les probabilités à 0. " ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "X = [1,2,3,4,5,6,7,8,9,10,11,12]\n", "P = [0,0,0,0,0,0,0,0,0,0,0,0]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On accède ainsi aux éléments des listes (le premier élément a pour indice 0 ! ):" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X[0]" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "4" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X[3]" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "12" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X[11]" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]\n", "[0.078, 0.094, 0.079, 0.079, 0.087, 0.088, 0.08, 0.083, 0.082, 0.072, 0.089, 0.089]\n" ] } ], "source": [ "from random import randint\n", "\n", "N = 1000 # N est le nombre de lancers\n", "\n", "for n in range(N):\n", " i = randint(1,12)\n", " P[i-1] = P[i-1] + 1 #pourquoi i-1 ?\n", "\n", "for i in range(12):\n", " P[i] = P[i]/N #calcul des probabilités\n", " \n", "print(X)\n", "print(P) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exercice 3 \n", "\n", "On lance 3 dés simultanément et on note la somme $S$ des trois faces obtenues.\n", "\n", "Simuler 1000 lancers de 3 dés et afficher la loi de probabilité de la variable aléatoire $S$." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Calculer l'espérance de $S$ et son écart-type." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exercice 4. Résolution d'un problème rencontré.\n", "\n", "\n", "\n", "Dans un groupe de quatre personnes prises au hasard, quelle est la probabilité qu'au moins deux d'entre elles fêtent leur anniversaire le même mois ?\n", "\n", "On suppose que, pour chaque personne, tous les mois d'anniversaire sont équiprobables.\n", "\n", "Simuler 10000 groupes de 4 personnes. \n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from random import randint\n", "\n", "\n", "\n" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.6.1" } }, "nbformat": 4, "nbformat_minor": 2 }