Nombres pseudo-aléatoires (Optionnel)
Durée estimée: 45 minutes
Présentation
Comme nous l'avons vu dans l'application 'PileOuFace', App Inventor dispose de blocs qui génèrent des nombres aléatoires. Nous utilisons ensuite ces nombres pour simuler des évènements du monde réel.
Mais comment fait App Inventor pour générer ces nombres ?
Comment un ordinateur fait-il pour simuler un processus aléatoire ?
Cette vidéo de la Khan Academy par Brit Cruise nous donne une bonne idée de la notion de pseudo aléatoire et de ce qui l'écarte d'un processus purement aléatoire. Le type de générateur de nombres pseudo aléatoires qui est décrit dans la vidéo est différent de celui décrit dans la leçon précédente, mais le principe est le même.
Processus informatique aléatoire
Il est difficile pour un odinateur de créer des évènements réellement aléatoires. Les ordinateurs utilisent donc une forme que l'on appelle pseudo-aléatoire -- c'est à dire qui simule un processus aléatoire.
Un évènement pseudo-aléatoire a l'air aléatoire, mais il est entièrement prédictible ! Nous disons déterministe parce que son contenu peut être connu par une personne qui sait comment ce évènement a été programmé. Ce qui a l'air aléatoire pour l'utilisateur est en fait le résultat d'un algorithme mathématique complètement prédictible.
Comment marche un PRNG (Générateur de nombres pseudo-aléatoires) ?
Auto-contrôle
Xi+1 = Xi * 2 + 1
Xi+1 = Xi * 2 + 1
L'arithmétique des horloges ou l'arithmétique modulaire
Auto-contrôle
33 modulo 5
X i+1 = (X i * 2 + 1) mod 13
What would the next number be if the current number is 10?
Xi+1 = (Xi * 2 + 1) mod 13
Quel sera le nombre suivant si le nombre actuel vaut 10 ?
Si vous voulez vous exercer à l'artithmétique modulaire, avant de continuer, voici quelques If you want to practice your modular arithmetic before moving on, here are some exercices, avec des liens vers les réponses.
Un générateur PRNG amélioré
Comment marche une machine à sous
Les machines à sous sont des ordinateurs spacialisés qui contiennent un composant générateur de nombres aléatoires. Cette vidéo (no-nonsense) explique comment ils marchent et chasse queleques uns des mythes autour de ces machines. Au final : quelle est la seule anière de gagner contre ces machines ?
Auto-contrôle
Ci-dessous un tableau des nouveaux termes techniques utilisés dans cette leçon. Passez la souris au dessus pour voir leur définition.
déterministe
PRNG arithmétique modulaire |
En savoir plus ?
Voir Wikipedia sur les générateurs linéaires congruentiels.pour votre Portfolio
Créez une page nommée : PRNGs dans la catégorie "Réflexions " de votre portfolio, puis répondez aux questions suivantes :
-
Dans cette BD de Dilbert, serait-il possible qu'un PRNG sorte 6 fois le NEUF à la suite ?
- Les machines à sous sont-elles équitables ? en quoi oui et en quoi non ?
- Est-il possible de concevoir une machine qui permettrait de gagner régulièrement avec une machine à sous ?