La génération de nombres pseudo-aléatoires et ses applications

Dimension: px
Commencer à balayer dès la page:

Download "La génération de nombres pseudo-aléatoires et ses applications"

Transcription

1 La génération de nombres pseudo-aléatoires et ses applications 1 Pierre L Ecuyer Chercheur visiteur à l IRISA Chaire de Recherche du Canada en Simulation et Optimisation Stochastique DIRO, Université de Montréal, Canada Les besoins, les applications Bases théoriques et mesures de qualité Exemples: générateurs basés sur des récurrences linéaires, pour la simulation Tests statistiques empiriques Évaluation de générateurs largement utilisés Conclusion Articles and logiciels: lecuyer

2 Qu est-ce qu on veut? Produire des suites de nombres qui ont l air d être choisis complètement au hasard Eg, suites de bits: suite d entiers de 0 à 100: 31, 83, 02, 72, 54, 26, suites d entiers de 1 à n, 1 à n 1, 1 à n 2, (permutation aléatoire) suite de nombres réels entre 0 et 1 2

3 Qu est-ce qu on veut? Produire des suites de nombres qui ont l air d être choisis complètement au hasard Eg, suites de bits: suite d entiers de 0 à 100: 31, 83, 02, 72, 54, 26, suites d entiers de 1 à n, 1 à n 1, 1 à n 2, (permutation aléatoire) suite de nombres réels entre 0 et 1 2 Mécanismes physiques: lancer les dés, bouliers, roulettes, bruit thermique dans les résistances de circuits electroniques, capteurs de radiations, autres mécanismes basés sur la physique quantique, microsecondes de l horloge de l ordinateur, ou d un temps d accès au disque, etc

4 Qu est-ce qu on veut? Produire des suites de nombres qui ont l air d être choisis complètement au hasard Eg, suites de bits: suite d entiers de 0 à 100: 31, 83, 02, 72, 54, 26, suites d entiers de 1 à n, 1 à n 1, 1 à n 2, (permutation aléatoire) suite de nombres réels entre 0 et 1 2 Mécanismes physiques: lancer les dés, bouliers, roulettes, bruit thermique dans les résistances de circuits electroniques, capteurs de radiations, autres mécanismes basés sur la physique quantique, microsecondes de l horloge de l ordinateur, ou d un temps d accès au disque, etc Contient de la vraie entropie (incertitude), mais encombrant, pas facilement reproduisible, pas toujours fiable, peu ou pas d analyse mathématique Certains de ces mécanismes sont brevetés Plusieurs sont disponibles commercialement On peut améliorer la fiabilité en combinant des blocs de bits (XOR)

5 Générateurs algorithmiques (ou pseudo-aléatoires) (GPA) Une fois les paramètres et l état initial du GPA choisis, la suite produite est complètement déterministe 3

6 Générateurs algorithmiques (ou pseudo-aléatoires) (GPA) Une fois les paramètres et l état initial du GPA choisis, la suite produite est complètement déterministe 3 Avantages: pas de matériel à installer, un logiciel suffit; souvent plus rapide; on peut facilement répéter la même séquence

7 Générateurs algorithmiques (ou pseudo-aléatoires) (GPA) Une fois les paramètres et l état initial du GPA choisis, la suite produite est complètement déterministe 3 Avantages: pas de matériel à installer, un logiciel suffit; souvent plus rapide; on peut facilement répéter la même séquence Méthodes hybrides: par exemple, prendre des bits dans les mémoires caches des ordinateurs (Seznec et Sendrier, IRISA)

8 Générateurs algorithmiques (ou pseudo-aléatoires) (GPA) Une fois les paramètres et l état initial du GPA choisis, la suite produite est complètement déterministe 3 Avantages: pas de matériel à installer, un logiciel suffit; souvent plus rapide; on peut facilement répéter la même séquence Méthodes hybrides: par exemple, prendre des bits dans les mémoires caches des ordinateurs (Seznec et Sendrier, IRISA) Qualités requises? Dépend des applications

9 1 Jeux d ordinateurs personnels: L apparence suffit 4

10 1 Jeux d ordinateurs personnels: L apparence suffit 4 2 Simulation stochastique (Monte Carlo): Utilisé en sciences, gestion, etc On simule un modèle mathématique d un système complexe, pour mieux comprendre le comportement du système, ou optimiser sa gestion, etc Souvent, on veut estimer une mesure de performance définie par une espérance mathématique (une intégrale) Ici, on veut que les propriétés statistiques du modèle mathématique soient bien reproduites par le simulateur

11 1 Jeux d ordinateurs personnels: L apparence suffit 4 2 Simulation stochastique (Monte Carlo): Utilisé en sciences, gestion, etc On simule un modèle mathématique d un système complexe, pour mieux comprendre le comportement du système, ou optimiser sa gestion, etc Souvent, on veut estimer une mesure de performance définie par une espérance mathématique (une intégrale) Ici, on veut que les propriétés statistiques du modèle mathématique soient bien reproduites par le simulateur 3 Loteries, machines de casinos, casinos sur Internet, Française des Jeux, Unibet, Loto-Québec, etc: Il ne faut pas que quiconque puisse obtenir un avantage pour inférer les prochains numéros ou encore des combinaisons plus probables Conditions plus exigeantes que pour la simulation

12 1 Jeux d ordinateurs personnels: L apparence suffit 4 2 Simulation stochastique (Monte Carlo): Utilisé en sciences, gestion, etc On simule un modèle mathématique d un système complexe, pour mieux comprendre le comportement du système, ou optimiser sa gestion, etc Souvent, on veut estimer une mesure de performance définie par une espérance mathématique (une intégrale) Ici, on veut que les propriétés statistiques du modèle mathématique soient bien reproduites par le simulateur 3 Loteries, machines de casinos, casinos sur Internet, Française des Jeux, Unibet, Loto-Québec, etc: Il ne faut pas que quiconque puisse obtenir un avantage pour inférer les prochains numéros ou encore des combinaisons plus probables Conditions plus exigeantes que pour la simulation 4 Cryptologie: Encore plus exigeant L observation d une partie de l output ne doit nous aider d aucune manière à deviner quoi que ce soit dans le reste

13 Besoins pour la Simulation Stochastique 5 On utilise habituellement un GPA qui imite une suite U 0, U 1, U 2, de variables aléatoires indépendantes de loi uniforme sur l intervalle (0, 1)

14 Besoins pour la Simulation Stochastique 5 On utilise habituellement un GPA qui imite une suite U 0, U 1, U 2, de variables aléatoires indépendantes de loi uniforme sur l intervalle (0, 1) Pour générer des va selon d autres lois, on applique des transformations à ces U j Par exemple, l inversion: si X j = F 1 (U j ), alors X j imite une va de fonction de répartition F

15 Besoins pour la Simulation Stochastique 5 On utilise habituellement un GPA qui imite une suite U 0, U 1, U 2, de variables aléatoires indépendantes de loi uniforme sur l intervalle (0, 1) Pour générer des va selon d autres lois, on applique des transformations à ces U j Par exemple, l inversion: si X j = F 1 (U j ), alors X j imite une va de fonction de répartition F Comparaison de systèmes semblables avec valeurs aléatoires communes On simule un réseau de communication, ou un centre d appels téléphoniques, ou un réseau de distribution de biens, ou une usine, ou le trafic automobile dans une ville, ou la gestion dynamique d un portefeuille d investissements (finance), etc On veut comparer deux configurations (ou politiques de gestion) semblables du système Une partie de la différence de performance sera due à la différence de configuration, et une autre partie sera due au bruit stochastique On veut minimiser cette seconde partie

16 Idée de base: simuler les deux configurations avec les mêmes valeurs uniformes U j, utilisées exactement aux mêmes endroits On dispose de nombreux résultats théoriques sur l amélioration d efficacité (réduction de variance) que cela apporte Mais l implantation, avec synchronisation des va, peut être compliquée lorsque les deux configurations n utilisent pas le même nombre de U j (eg, parfois on doit générer une va dans un cas et pas dans l autre) 6

17 Idée de base: simuler les deux configurations avec les mêmes valeurs uniformes U j, utilisées exactement aux mêmes endroits On dispose de nombreux résultats théoriques sur l amélioration d efficacité (réduction de variance) que cela apporte Mais l implantation, avec synchronisation des va, peut être compliquée lorsque les deux configurations n utilisent pas le même nombre de U j (eg, parfois on doit générer une va dans un cas et pas dans l autre) 6 Une solution: GPA avec suites et sous-suites multiples Chaque suite peut être vue comme un GPA virtuel Elle est partitionnée en sous-suites On peut créer autant de suites (distinctes et indépendantes ) que l on veut État courant début début prochaine suite sous-suite sous-suite

18 Idée de base: simuler les deux configurations avec les mêmes valeurs uniformes U j, utilisées exactement aux mêmes endroits On dispose de nombreux résultats théoriques sur l amélioration d efficacité (réduction de variance) que cela apporte Mais l implantation, avec synchronisation des va, peut être compliquée lorsque les deux configurations n utilisent pas le même nombre de U j (eg, parfois on doit générer une va dans un cas et pas dans l autre) 6 Une solution: GPA avec suites et sous-suites multiples Chaque suite peut être vue comme un GPA virtuel Elle est partitionnée en sous-suites On peut créer autant de suites (distinctes et indépendantes ) que l on veut État courant début début prochaine suite sous-suite sous-suite

19 Idée de base: simuler les deux configurations avec les mêmes valeurs uniformes U j, utilisées exactement aux mêmes endroits On dispose de nombreux résultats théoriques sur l amélioration d efficacité (réduction de variance) que cela apporte Mais l implantation, avec synchronisation des va, peut être compliquée lorsque les deux configurations n utilisent pas le même nombre de U j (eg, parfois on doit générer une va dans un cas et pas dans l autre) 6 Une solution: GPA avec suites et sous-suites multiples Chaque suite peut être vue comme un GPA virtuel Elle est partitionnée en sous-suites On peut créer autant de suites (distinctes et indépendantes ) que l on veut État courant début début prochaine suite sous-suite sous-suite

20 Idée de base: simuler les deux configurations avec les mêmes valeurs uniformes U j, utilisées exactement aux mêmes endroits On dispose de nombreux résultats théoriques sur l amélioration d efficacité (réduction de variance) que cela apporte Mais l implantation, avec synchronisation des va, peut être compliquée lorsque les deux configurations n utilisent pas le même nombre de U j (eg, parfois on doit générer une va dans un cas et pas dans l autre) 6 Une solution: GPA avec suites et sous-suites multiples Chaque suite peut être vue comme un GPA virtuel Elle est partitionnée en sous-suites On peut créer autant de suites (distinctes et indépendantes ) que l on veut État courant début début prochaine suite sous-suite sous-suite

21 début début prochaine suite sous-suite sous-suite Supposons que pour une suite de clients, on doit générer: (1) un instant d arrivée pour chaque client, (2) une durée de service au serveur A pour chaque client (3) une durée de service au serveur B pour des groupes de 10 à 20 clients Alors on peut utiliser une suite pour chacun de ces trois usages

22 7 État courant début début prochaine suite sous-suite sous-suite Supposons que pour une suite de clients, on doit générer: (1) un instant d arrivée pour chaque client, (2) une durée de service au serveur A pour chaque client (3) une durée de service au serveur B pour des groupes de 10 à 20 clients Alors on peut utiliser une suite pour chacun de ces trois usages

23 Exemple d interface Java (dans SSJ) 8 public interface RandomStream { public void resetstartstream (); } Réinitialise la suite à son état initial public void resetstartsubstream (); Réinitialise la suite au début de sa sous-suite courante substream public void resetnextsubstream (); Réinitialise la suite au début de sa prochaine sous-suite substream public double nextdouble (); Retourne une va U(0, 1) de cette suite et avance d un pas public int nextint (int i, int j); Retourne une va uniforme sur {i, i + 1,, j}

24 public class MRG32k3a implements RandomStream { } Une implantation particulière, basée sur un générateur de période 2 181, partitionnée en suites disjointes de longueur 2 127, et sous-suites de longueur 2 76 public MRG32k3a(); Construit une nouvelle suite 9 public class LFSR113 implements RandomStream { } Une implantation basée sur uns combainaison de LFSR, de période public LFSR113(); Construit une nouvelle suite Ce système, basé sur MRG32k3a, a été récemment adopté dans plusieurs logiciels de simulation et de statistique, tels que SAS, Arena, Witness, Simul8, Automod, ns2,

25 Génération de valeurs non-uniformes 10 Lois continues ou discrètes Méthode par défaut: inversion public class RandomVariateGen { public RandomVariateGen (RandomStream s, Distribution dist) Crée un générateur pour la loi dist, avec la suite s public double nextdouble() Génère une nouvelle valeur

26 Génération de valeurs non-uniformes 10 Lois continues ou discrètes Méthode par défaut: inversion public class RandomVariateGen { public RandomVariateGen (RandomStream s, Distribution dist) Crée un générateur pour la loi dist, avec la suite s public double nextdouble() Génère une nouvelle valeur Il y a aussi des générateurs spécialisés pour plusieurs distributions public class Normal extends RandomVariateGen { public Normal (RandomStream s, double mu, double sigma); Crée un générateur de va normales public static double Génère une nouvelle va normale, en utilisant la suite s nextdouble (RandomStream s, double mu, double sigma);

27 Exemple de comparaison de deux configuration: 11 RandomStream genarr = new RandomStream(); // Inter-arriv RandomStream genserva = new RandomStream(); // Serveur A RandomStream genservb = new RandomStream(); // Serveur B

28 Exemple de comparaison de deux configuration: 11 RandomStream genarr = new RandomStream(); // Inter-arriv RandomStream genserva = new RandomStream(); // Serveur A RandomStream genservb = new RandomStream(); // Serveur B for (int rep = 0; rep < n; rep++) { genarrresetnextsubstream(); genservaresetnextsubstream(); genservbresetnextsubstream(); --- simuler configuration } genarrresetstartsubstream(); genservaresetstartsubstream(); genservbresetstartsubstream(); --- simuler configuration 2 ---

29 Les suites multiples sont très utiles, par exemple pour: 12 comparer des systèmes semblables analyse de sensibilité, estimation de dérivées (ou gradient) par différences finies optimisation d une fonction empirique, ou optimisation en général utilisation d un modèle similaire simplifié comme variable de contrôle externe

30 Les suites multiples sont très utiles, par exemple pour: 12 comparer des systèmes semblables analyse de sensibilité, estimation de dérivées (ou gradient) par différences finies optimisation d une fonction empirique, ou optimisation en général utilisation d un modèle similaire simplifié comme variable de contrôle externe Le RandomStream peut aussi représenter un ensemble de points à faible discrépance, pour quasi-monte Carlo C est le cas dans SSJ

31 Les suites multiples sont très utiles, par exemple pour: 12 comparer des systèmes semblables analyse de sensibilité, estimation de dérivées (ou gradient) par différences finies optimisation d une fonction empirique, ou optimisation en général utilisation d un modèle similaire simplifié comme variable de contrôle externe Le RandomStream peut aussi représenter un ensemble de points à faible discrépance, pour quasi-monte Carlo C est le cas dans SSJ Questions?

32 Définition et conception d un GPA 13 S, espace d états fini; s 0, germe (état initial); f : S S, fonction de transition; s n = f(s n 1 )

33 Définition et conception d un GPA 13 S, espace d états fini; s 0, germe (état initial); f : S S, fonction de transition; s n = f(s n 1 ) U, espace des valeurs de sortie; g : S U, fonction de sortie u n = g(s n )

34 Définition et conception d un GPA 13 S, espace d états fini; s 0, germe (état initial); f : S S, fonction de transition; s n = f(s n 1 ) U, espace des valeurs de sortie; g : S U, fonction de sortie u n = g(s n ) s 0

35 Définition et conception d un GPA 13 S, espace d états fini; s 0, germe (état initial); f : S S, fonction de transition; s n = f(s n 1 ) U, espace des valeurs de sortie; g : S U, fonction de sortie u n = g(s n ) g s 0 u 0

36 Définition et conception d un GPA 13 S, espace d états fini; s 0, germe (état initial); f : S S, fonction de transition; s n = f(s n 1 ) U, espace des valeurs de sortie; g : S U, fonction de sortie u n = g(s n ) g s 0 f s 1 u 0

37 Définition et conception d un GPA 13 S, espace d états fini; s 0, germe (état initial); f : S S, fonction de transition; s n = f(s n 1 ) U, espace des valeurs de sortie; g : S U, fonction de sortie u n = g(s n ) g s 0 f s 1 g u 0 u 1

38 Définition et conception d un GPA 13 S, espace d états fini; s 0, germe (état initial); f : S S, fonction de transition; s n = f(s n 1 ) U, espace des valeurs de sortie; g : S U, fonction de sortie u n = g(s n ) g s 0 f s 1 g f f s n g f s n+1 g f u 0 u 1 u n u n+1

39 Définition et conception d un GPA 13 S, espace d états fini; s 0, germe (état initial); f : S S, fonction de transition; s n = f(s n 1 ) U, espace des valeurs de sortie; g : S U, fonction de sortie u n = g(s n ) f s ρ 1 g f s 0 g f s 1 g f f s n g f s n+1 g f u ρ 1 u 0 u 1 u n u n+1 Période: ρ S s i+ρ = s i i τ On supposera τ = 0 et U = [0, 1]

40 14 f f f f f f f s ρ 1 s 0 s 1 s n s n+1 g g g g g u ρ 1 u 0 u 1 u n u n+1 Objectif: en observant seulement (u 0, u 1, ), il doit être difficile de distinguer cette suite de la réalisation d une suite de va iid uniformes sur U

41 14 f f f f f f f s ρ 1 s 0 s 1 s n s n+1 g g g g g u ρ 1 u 0 u 1 u n u n+1 Objectif: en observant seulement (u 0, u 1, ), il doit être difficile de distinguer cette suite de la réalisation d une suite de va iid uniformes sur U Utopie: ne pas pouvoir distinguer mieux qu en tirant à pile ou face Autrement dit, que la suite passe tous les tests statistiques imaginables Cela est impossible! On y reviendra plus loin

42 14 f f f f f f f s ρ 1 s 0 s 1 s n s n+1 g g g g g u ρ 1 u 0 u 1 u n u n+1 Objectif: en observant seulement (u 0, u 1, ), il doit être difficile de distinguer cette suite de la réalisation d une suite de va iid uniformes sur U Utopie: ne pas pouvoir distinguer mieux qu en tirant à pile ou face Autrement dit, que la suite passe tous les tests statistiques imaginables Cela est impossible! On y reviendra plus loin On veut aussi: vitesse, facilité d implantation, suites reproduisibles Compromis entre vitesse / bonnes propriétés statistiques / (im)prévisibilité

43 14 f f f f f f f s ρ 1 s 0 s 1 s n s n+1 g g g g g u ρ 1 u 0 u 1 u n u n+1 Objectif: en observant seulement (u 0, u 1, ), il doit être difficile de distinguer cette suite de la réalisation d une suite de va iid uniformes sur U Utopie: ne pas pouvoir distinguer mieux qu en tirant à pile ou face Autrement dit, que la suite passe tous les tests statistiques imaginables Cela est impossible! On y reviendra plus loin On veut aussi: vitesse, facilité d implantation, suites reproduisibles Compromis entre vitesse / bonnes propriétés statistiques / (im)prévisibilité Si l état initial s 0 est choisi au hasard, le GPA est comme une roulette géante: Pour générer t nombres aléatoires, on tourne la roulette pour choisir s 0, puis on retient u = (u 0,, u t 1 )

44 14 f f f f f f f s ρ 1 s 0 s 1 s n s n+1 g g g g g u ρ 1 u 0 u 1 u n u n+1 Objectif: en observant seulement (u 0, u 1, ), il doit être difficile de distinguer cette suite de la réalisation d une suite de va iid uniformes sur U Utopie: ne pas pouvoir distinguer mieux qu en tirant à pile ou face Autrement dit, que la suite passe tous les tests statistiques imaginables Cela est impossible! On y reviendra plus loin On veut aussi: vitesse, facilité d implantation, suites reproduisibles Compromis entre vitesse / bonnes propriétés statistiques / (im)prévisibilité Si l état initial s 0 est choisi au hasard, le GPA est comme une roulette géante: Pour générer t nombres aléatoires, on tourne la roulette pour choisir s 0, puis on retient u = (u 0,, u t 1 ) Machines de casinos et loteries: on réinitialise s 0 très souvent

45 La loi uniforme sur [0, 1] t Choisir s 0 au hasard correspond à choisir un point au hasard dans l espace échantillonnal 15 Ψ t = {u = (u 0,, u t 1 ) = (g(s 0 ),, g(s t 1 )), s 0 S}, qui peut être interprété comme une approximation de [0, 1] t

46 La loi uniforme sur [0, 1] t Choisir s 0 au hasard correspond à choisir un point au hasard dans l espace échantillonnal 15 Ψ t = {u = (u 0,, u t 1 ) = (g(s 0 ),, g(s t 1 )), s 0 S}, qui peut être interprété comme une approximation de [0, 1] t Critère: Ψ t doit recouvrir [0, 1] t très uniformément pour t jusqu à (disons) t 0

47 La loi uniforme sur [0, 1] t Choisir s 0 au hasard correspond à choisir un point au hasard dans l espace échantillonnal 15 Ψ t = {u = (u 0,, u t 1 ) = (g(s 0 ),, g(s t 1 )), s 0 S}, qui peut être interprété comme une approximation de [0, 1] t Critère: Ψ t doit recouvrir [0, 1] t très uniformément pour t jusqu à (disons) t 0 Il nous faut une mesure d uniformité de Ψ t (ou une mesure de discrépance entre la loi empirique de Ψ t et la loi uniforme) Plusieurs définitions possibles Important: doit être facilement calculable sans générer les points Pour cela, il faut bien comprendre la structure mathématique de Ψ t Pour cette raison, la plupart des GPA utilisés en simulation sont basés sur des récurrences linéaires

48 La loi uniforme sur [0, 1] t Choisir s 0 au hasard correspond à choisir un point au hasard dans l espace échantillonnal 15 Ψ t = {u = (u 0,, u t 1 ) = (g(s 0 ),, g(s t 1 )), s 0 S}, qui peut être interprété comme une approximation de [0, 1] t Critère: Ψ t doit recouvrir [0, 1] t très uniformément pour t jusqu à (disons) t 0 Il nous faut une mesure d uniformité de Ψ t (ou une mesure de discrépance entre la loi empirique de Ψ t et la loi uniforme) Plusieurs définitions possibles Important: doit être facilement calculable sans générer les points Pour cela, il faut bien comprendre la structure mathématique de Ψ t Pour cette raison, la plupart des GPA utilisés en simulation sont basés sur des récurrences linéaires Pourquoi ne pas insister que Ψ t lui-même ressemble à un ensemble de points choisis au hasard (eg, ne soit pas trop uniforme)? En fait, on veut cela seulement pour la fraction infime de Ψ t que l on utilise

49 Généralisation: mesurer l uniformité de Ψ I = {(u i1,, u it ) s 0 S} pour une classe choisie d ensembles d indices (non successifs) de forme I = {i 1, i 2,, i t } On veut s assurer que Ψ I est bien uniforme pour tout I J, pour une famille donnée J 16

50 Générateur linéaire récursif multiple (MRG) 17 x n = (a 1 x n a k x n k ) mod m, u n = x n /m En pratique, on prendra plutôt u n = (x n + 1)/(m + 1), ou encore u n = x n /(m + 1) si x n > 0 et u n = m/(m + 1) sinon Mais la structure reste essentiellement la même

51 Générateur linéaire récursif multiple (MRG) 17 x n = (a 1 x n a k x n k ) mod m, u n = x n /m En pratique, on prendra plutôt u n = (x n + 1)/(m + 1), ou encore u n = x n /(m + 1) si x n > 0 et u n = m/(m + 1) sinon Mais la structure reste essentiellement la même Nombreuses variantes et implantations Très répandu Si k = 1: générateur à congruence linéaire (GCL) classique

52 Générateur linéaire récursif multiple (MRG) 17 x n = (a 1 x n a k x n k ) mod m, u n = x n /m En pratique, on prendra plutôt u n = (x n + 1)/(m + 1), ou encore u n = x n /(m + 1) si x n > 0 et u n = m/(m + 1) sinon Mais la structure reste essentiellement la même Nombreuses variantes et implantations Très répandu Si k = 1: générateur à congruence linéaire (GCL) classique État à l étape n: s n = x n = (x n k+1,, x n ) t Espace d états: Z k m, de cardinalité m k

53 Générateur linéaire récursif multiple (MRG) 17 x n = (a 1 x n a k x n k ) mod m, u n = x n /m En pratique, on prendra plutôt u n = (x n + 1)/(m + 1), ou encore u n = x n /(m + 1) si x n > 0 et u n = m/(m + 1) sinon Mais la structure reste essentiellement la même Nombreuses variantes et implantations Très répandu Si k = 1: générateur à congruence linéaire (GCL) classique État à l étape n: s n = x n = (x n k+1,, x n ) t Espace d états: Z k m, de cardinalité m k Période max ρ = m k 1, pour m premier

54 Polynôme caractéristique (avec a 0 = 1): 18 P (z) = z k a 1 z k 1 a k = k a j z k j j=0

55 Polynôme caractéristique (avec a 0 = 1): 18 P (z) = z k a 1 z k 1 a k = k a j z k j j=0 On peut représenter cette récurrence dans les trois espaces suivants: (i) l espace Z k m des vecteurs ayant k coordonnées dans Z m, (ii) l espace Z m [z]/(p ) des polynômes de degré < k à coefficients dans Z m (ie, les polynômes réduits modulo P (z)), (iii) l espace L(P ) des séries formelles de Laurent de la forme s(z) = j=1 c jz j, où les coefficients c j sont dans Z m et satisfont c j = (a 1 c j 1 + +a k c j k ) mod m pour tout j > k Il y a des bijections faciles à calculer entre les trois Utile pour étudier la théorie, eg, vérifier la période

56 Structure de Ψ t : (x 0,, x k 1 ) peut prendre n importe quelle valeur dans {0, 1,, m 1} k ; ensuite x k, x k+1, sont déterminés par la récurrence Ainsi, (x 0,, x k 1 ) (x 0,, x k 1, x k,, x t 1 ) est une application linéaire 19 On peut en déduire que Ψ t = L t [0, 1) t où L t = { v = t z i v i z i Z }, un réseau ( lattice ) dans R t, avec i=1 v 1 = (1, 0,, 0, x 1,k,, x 1,t 1 )/m v 2 = (0, 1,, 0, x 2,k,, x 2,t 1 )/m v k = (0, 0,, 1, x k,k,, x k,t 1 )/m v k+1 = (0, 0,, 0, 1,, 0) v t = (0, 0,, 0, 0,, 1)

57 u n 0 1 u n+1 GCL (k = 1), m = 101, a 1 = 12, t = 2;

58 u n 0 1 u n+1 GCL (k = 1), m = 101, a 1 = 12, t = 2; v 1 = (1, 12)/m, v 2 = (0, 1)

59 u n u n+1 x n = x n 1 mod et u n = x n /

60 u n u n+1 x n = x n 1 mod et u n = x n /

61 On peut mesurer l uniformité en termes de cette structure de réseau, en plusieurs dimensions 23

62 On peut mesurer l uniformité en termes de cette structure de réseau, en plusieurs dimensions 23 On peut aussi prendre en compte les projections sur des sous-ensembles de coordonnées I = {i 1, i 2,, i t }: Ψ I = {(u i1,, u it ) s 0 = (x 0,, x k 1 ) Z k m} = L I [0, 1) t On effectue des recherches par ordinateur pour trouver des bons paramètres par rapport à un critère qui prend compte de l uniformité d un ensemble choisi de projections

63 On peut mesurer l uniformité en termes de cette structure de réseau, en plusieurs dimensions 23 On peut aussi prendre en compte les projections sur des sous-ensembles de coordonnées I = {i 1, i 2,, i t }: Ψ I = {(u i1,, u it ) s 0 = (x 0,, x k 1 ) Z k m} = L I [0, 1) t On effectue des recherches par ordinateur pour trouver des bons paramètres par rapport à un critère qui prend compte de l uniformité d un ensemble choisi de projections Remarque: on peut montrer que si 1 + a 2 i a 2 i t est petit, alors l uniformité de Ψ I est nécessairement mauvaise

64 Implantations efficaces Il faut calculer ax mod m pour de grands m 24

65 Implantations efficaces Il faut calculer ax mod m pour de grands m Factorisation approximative Valide si (a 2 < m) ou (a = m/i où i 2 < m) Calculs sur des entiers Précalculer q = m/a et r = m mod a Ensuite, 24 y = x/q ; x = a(x yq) yr; if x < 0 then x = x + m Toutes les quantités intermédiaires demeurent entre m et m

66 Implantations efficaces Il faut calculer ax mod m pour de grands m Factorisation approximative Valide si (a 2 < m) ou (a = m/i où i 2 < m) Calculs sur des entiers Précalculer q = m/a et r = m mod a Ensuite, 24 y = x/q ; x = a(x yq) yr; if x < 0 then x = x + m Toutes les quantités intermédiaires demeurent entre m et m Calculs en point flottant, double précision Valide si am < 2 53 double m, a, x, y; int k; y = a x; k = y/m ; x = y k m;

67 Décomposition en puissances de 2 Supposons que a = ±2 q ± 2 r et m = 2 e h pour h petit (Wu 1997 pour h = 1; L Ecuyer et Simard 1999 pour h > 1) Pour calculer y = 2 q x mod m, décomposer x = x e q x 1 ; 25 q bits (e q) bits x = x 1 x 0 Pour h = 1, on obtient y en permutant x 0 et x 1

68 Décomposition en puissances de 2 Supposons que a = ±2 q ± 2 r et m = 2 e h pour h petit (Wu 1997 pour h = 1; L Ecuyer et Simard 1999 pour h > 1) Pour calculer y = 2 q x mod m, décomposer x = x e q x 1 ; 25 q bits (e q) bits x = x 1 x 0 Pour h = 1, on obtient y en permutant x 0 et x 1 Pour h > 1, y = 2 q (x e q x 1 ) mod (2 e h) = (2 q x 0 + hx 1 ) mod (2 e h)

69 Décomposition en puissances de 2 Supposons que a = ±2 q ± 2 r et m = 2 e h pour h petit (Wu 1997 pour h = 1; L Ecuyer et Simard 1999 pour h > 1) Pour calculer y = 2 q x mod m, décomposer x = x e q x 1 ; 25 q bits (e q) bits x = x 1 x 0 Pour h = 1, on obtient y en permutant x 0 et x 1 Pour h > 1, y = 2 q (x e q x 1 ) mod (2 e h) = (2 q x 0 + hx 1 ) mod (2 e h) Si h < 2 q et h(2 q (h + 1)2 e+q ) < m, chaque terme est < m Modulo: soustraire m si la somme est m

70 Coefficients égaux Par exemple, prendre tous les a j non nuls égaux à a (Deng et Xu 2002) Alors, x n = a(x n i1 + + x n k ) mod m Une seule multiplication 26

71 Coefficients égaux Par exemple, prendre tous les a j non nuls égaux à a (Deng et Xu 2002) Alors, x n = a(x n i1 + + x n k ) mod m Une seule multiplication 26 Lagged-Fibonacci (très utilisé, mais mauvaise idée): x n = (±x n r ± x n k ) mod m Tous les vecteurs (u n, u n+k r, u n+k ) sont dans seulemnt deux plans!

72 Coefficients égaux Par exemple, prendre tous les a j non nuls égaux à a (Deng et Xu 2002) Alors, x n = a(x n i1 + + x n k ) mod m Une seule multiplication 26 Lagged-Fibonacci (très utilisé, mais mauvaise idée): x n = (±x n r ± x n k ) mod m Tous les vecteurs (u n, u n+k r, u n+k ) sont dans seulemnt deux plans! Même problème avec add-with-carry et subtract-with-borrow Erreur fréquente: croire qu on est ok si la période est assez longue

73 Coefficients égaux Par exemple, prendre tous les a j non nuls égaux à a (Deng et Xu 2002) Alors, x n = a(x n i1 + + x n k ) mod m Une seule multiplication 26 Lagged-Fibonacci (très utilisé, mais mauvaise idée): x n = (±x n r ± x n k ) mod m Tous les vecteurs (u n, u n+k r, u n+k ) sont dans seulemnt deux plans! Même problème avec add-with-carry et subtract-with-borrow Erreur fréquente: croire qu on est ok si la période est assez longue Des variantes qui sautent des valeurs sont recommandées par Luscher (1994) et Knuth (1997) Mais pas très efficace

74 MRGs combinés Considérons deux [ou plusieurs] MRGs évoluant en parallèle: 27 x 1,n = (a 1,1 x 1,n a 1,k x 1,n k ) mod m 1, x 2,n = (a 2,1 x 2,n a 2,k x 2,n k ) mod m 2 On définit les deux combinaisons: z n := (x 1,n x 2,n ) mod m 1 ; u n := z n /m 1 ; w n := (x 1,n /m 1 x 2,n /m 2 ) mod 1

75 MRGs combinés Considérons deux [ou plusieurs] MRGs évoluant en parallèle: 27 x 1,n = (a 1,1 x 1,n a 1,k x 1,n k ) mod m 1, x 2,n = (a 2,1 x 2,n a 2,k x 2,n k ) mod m 2 On définit les deux combinaisons: z n := (x 1,n x 2,n ) mod m 1 ; u n := z n /m 1 ; w n := (x 1,n /m 1 x 2,n /m 2 ) mod 1 La suite {w n, n 0} est la sortie d un autre MRG, de module m = m 1 m 2, et {u n, n 0} est presque la même suite si m 1 et m 2 sont proches Peut atteindre la période (m k 1 1)(m k 2 1)/2

76 MRGs combinés Considérons deux [ou plusieurs] MRGs évoluant en parallèle: 27 x 1,n = (a 1,1 x 1,n a 1,k x 1,n k ) mod m 1, x 2,n = (a 2,1 x 2,n a 2,k x 2,n k ) mod m 2 On définit les deux combinaisons: z n := (x 1,n x 2,n ) mod m 1 ; u n := z n /m 1 ; w n := (x 1,n /m 1 x 2,n /m 2 ) mod 1 La suite {w n, n 0} est la sortie d un autre MRG, de module m = m 1 m 2, et {u n, n 0} est presque la même suite si m 1 et m 2 sont proches Peut atteindre la période (m k 1 1)(m k 2 1)/2 Permet d implanter efficacement un MRG ayant un grand m et plusieurs grands coefficients non nuls

77 MRGs combinés Considérons deux [ou plusieurs] MRGs évoluant en parallèle: 27 x 1,n = (a 1,1 x 1,n a 1,k x 1,n k ) mod m 1, x 2,n = (a 2,1 x 2,n a 2,k x 2,n k ) mod m 2 On définit les deux combinaisons: z n := (x 1,n x 2,n ) mod m 1 ; u n := z n /m 1 ; w n := (x 1,n /m 1 x 2,n /m 2 ) mod 1 La suite {w n, n 0} est la sortie d un autre MRG, de module m = m 1 m 2, et {u n, n 0} est presque la même suite si m 1 et m 2 sont proches Peut atteindre la période (m k 1 1)(m k 2 1)/2 Permet d implanter efficacement un MRG ayant un grand m et plusieurs grands coefficients non nuls Tableaux de paramètres: L Ecuyer (1999); L Ecuyer et Touzin (2000) Implantations multisteams

78 Sauter en avant (pour les suites et sous-suites): Si x n = (x n k+1,, x n ) t et A = a k a k 1 a 1 28 alors et donc x n = Ax n 1 mod m x n+ν = (A ν mod m)x n mod m

79 Récurrences Linéaires Modulo 2 29 Récurrence linéaire matricielles dans F 2 ( {0, 1}, mod 2): x n = Ax n 1, (k-bit vecteur d état) y n = Bx n, (w-bit vecteur de sortie) u n = w y n,j 1 2 j = y n,0 y n,1 y n,2, (sortie) j=1

80 Récurrences Linéaires Modulo 2 29 Récurrence linéaire matricielles dans F 2 ( {0, 1}, mod 2): x n = Ax n 1, (k-bit vecteur d état) y n = Bx n, (w-bit vecteur de sortie) u n = w y n,j 1 2 j = y n,0 y n,1 y n,2, (sortie) j=1 Chaque coordonnée de x n et de y n suit la récurrence x n,j = (α 1 x n 1,j + + α k x n k,j ), de polynôme caractéristique P (z) = z k α 1 z k 1 α k 1 z α k = det(a zi) La période max ρ = 2 k 1 est atteinte ssi P (z) est primitif sur F 2

81 Avec un choix astucieux de A, le calcul de transition se fait avec des décalages, xor, and, masques, etc, sur des blocs de bits Très rapide Cas particuliers: Tausworthe, linear feedback shift register (LFSR), GFSR, twisted GFSR, Mersenne twister, WELL, xorshift, polynomial LCG, etc 30

82 Avec un choix astucieux de A, le calcul de transition se fait avec des décalages, xor, and, masques, etc, sur des blocs de bits Très rapide Cas particuliers: Tausworthe, linear feedback shift register (LFSR), GFSR, twisted GFSR, Mersenne twister, WELL, xorshift, polynomial LCG, etc 30 Pour sauter en avant: x n+ν = (X ν mod 2) } {{ } précalculé x n mod 2 Haramoto, L Ecuyer, Matsumoto, Nishimura, Panneton (2006) proposent une méthode plus efficace pour les grandes valeurs de k

83 GCL dans un espace de séries formelles La fonction génératrice de la coordonnée j de l état est la série formelle 31 s j (z) = x 0,j z 1 + x 1,j z 2 + = x n 1,j z n n=1 On peut montrer que où g j (z) def = s j (z)p (z) = c j,1 z k c j,k F 2 [z], c j,1 c j,2 c j,k = α α k 1 α 1 1 x 0,j x 1,j x k 1,j Il y a une correspondance biunivoque entre (1) les états (x 0,j,, x k 1,j ) de la récurrence; (2) les polynômes g j (z) de degré < k (ie, dans F 2 [z]/p (z)); (3) les séries formelles de la forme s j (z) = g j (z)/p (z)

84 Équidistribution Pour j = 1,, t, on partitionne le j-ième axe de [0, 1) t en 2 q j parties égales: cela donne 2 q boîtes, où q = q q t u n u n Exemple: t = 2, q 1 = 4, q 2 = 2

85 Équidistribution Pour j = 1,, t, on partitionne le j-ième axe de [0, 1) t en 2 q j parties égales: cela donne 2 q boîtes, où q = q q t Si chaque boîte contient exactement 2 k q points de Ψ t, alors Ψ t est dit (q 1,, q t )-équidistribué en base 2 Cela veut dire que tous les vecteurs de dimension t, avec leur coordonnée j tronquée aux q j premiers bits pour chaque j, apparait le même nombre de fois 33

86 Équidistribution Pour j = 1,, t, on partitionne le j-ième axe de [0, 1) t en 2 q j parties égales: cela donne 2 q boîtes, où q = q q t Si chaque boîte contient exactement 2 k q points de Ψ t, alors Ψ t est dit (q 1,, q t )-équidistribué en base 2 Cela veut dire que tous les vecteurs de dimension t, avec leur coordonnée j tronquée aux q j premiers bits pour chaque j, apparait le même nombre de fois 33 On peut écrire les q bits qui déterminent dans quelle boîte on tombe comme Mx 0 pour une certaine matrice M Ψ t est (q 1,, q t )-équidistribué ssi M est de plein rang

87 u n u n+1 Exemple jouet: générateur LFSR avec Ψ t = 1024 = 2 10

88 u n u n+1 Exemple jouet: générateur LFSR avec Ψ t = 1024 = 2 10

89 u n u n+1 Exemple jouet: générateur LFSR avec Ψ t = 1024 =

90 u n u n+1 Exemple jouet: générateur LFSR avec Ψ t = 1024 =

91 Pour un ensemble d indice I = {i 1, i 2,, i t }, on défini l écart de résolution: δ I = min( k/t, w) max{l : Ψ I est (l,, l)-équidist} Figure de mérite possible: 35 V J = I J δ I où J est une classe choisie d ensembles I Le choix de J est une affaire de compromis

92 Pour un ensemble d indice I = {i 1, i 2,, i t }, on défini l écart de résolution: δ I = min( k/t, w) max{l : Ψ I est (l,, l)-équidist} Figure de mérite possible: 35 V J = I J δ I où J est une classe choisie d ensembles I Le choix de J est une affaire de compromis On veut aussi que le nombre N 1 de coefficients non nuls α j s soit proche de k/2

93 Générateur de Tausworthe ou LFSR (Tausworthe 1965): 36 x n = (a 1 x n a k x n k ) mod 2, u n = x nν+j 1 2 j, j=1 A = 1 1 ν a k a k 1 a 1 Souvent, seulement deux a j s non nuls: mauvais!

94 Generalized feedback shift register (GFSR) (Lewis and Payne 1973): 37 v n = (a 1 v n a r v n r ) mod 2 = (v n,0,, v n,w 1 ) t, y n = v n, u n = w v n,j 1 2 j j=1 L état a rw mais la période maximale n est que de 2 r 1 Habituellement, seulement deux a j s non nuls: v n = (v n q v n r ) pas assez de mélange des bits

95 Twisted GFSR (Matsumoto and Kurita 1992, 1994): 38 Période maximale: 2 rw 1 v n = (v n+m r Av n r ) y n = v n ou y n = T v n Représentant vedette: TT800, de période

96 Mersenne Twister (Matsumoto and Nishimura 1998): 39 v n = (v n+m r A(v (w p) n r v (p) n r+1 )) y n = T v n Période maximale: 2 rw p 1 On ajoute une transformation linéaire à la sortie Représentant vedette: MT19937, de période MT19937 est devenu très populaire récemment

97 Générateurs Xorshift (Marsaglia 2003) Xorshift: x = x (x a) ou x = x (x b) 40 Marsaglia propose des générateurs spécifiques avec: 3 xorshifts par transition; période maximale Ces générateurs sont très rapides Malheureusement, ils ont une très mauvaise équidistribution et échouent de nombreux tests statistiques (Panneton and L Ecuyer 2004)

98 Les générateurs WELL (Well-Equidistributed Long-period Linear) (Panneton, L Ecuyer, et Matsumoto 2004) Idée: Construire la matrice A en plaçant des opérations simples sur des blocs de 32 bits (ou-exclusifs, décalages, masques binaires, etc) à des endroits stratégiques On optimise la mesure d uniformité 41 1 = w (min( k/l, w) max{t : Ψ t est (l,, l)-équidist}), l=1 sous les contraintes: (1) période maximale et (2) vitesse comparable à MT19937 Générateurs spécifiques de périodes allant de à Meilleure équidistribution que MT19937 pour vitesse et période comparables Un plus grand nombre N 1 de coefficients non nuls dans P (z)

99 Examples de générateurs WELL, vs MT, pour w = 32 bits: 42 Nom k r N 1 1 WELL19937a WELL19937c WELL44497a WELL44497b MT

100 Impact d un N 1 trop petit et/ou 1 trop grand Expérience: choisir un état initial contenant un seul bit à 1 Essayer toutes les k possibilités et faire la moyenne des k valeurs obtenues à la sortie après chaque transition WELL19937 vs MT19937; 06 moyenne mobile sur 1000 itérations Number of iterations

101 Générateurs non-linéaires 44 Congruentiel cubique: x n = (ax 3 n 1 + 1) mod m, u n = x n /m Inversif explicite: x n = (an + c) mod m, u n = (x 1 n mod m)/m Une permutation arbitraire de {0,, ρ 1} stockée dans un tableau Peut combiner plusieurs tableaux avec des ρ j relativement premiers (rapide) AES, SHA-1, etc Utilisés en cryptologie Systèmes dynamiques chaotiques? Non

102 Générateurs combinés linéaires/non-linéaires 45 Les générateurs F 2 -linéaires discutés ici échouent bien sûr un test de complexité linéaire

103 Générateurs combinés linéaires/non-linéaires 45 Les générateurs F 2 -linéaires discutés ici échouent bien sûr un test de complexité linéaire On voudrait: éliminer la structure linéaire; des garanties théoriques sur l uniformité; implantation rapide

104 Générateurs combinés linéaires/non-linéaires 45 Les générateurs F 2 -linéaires discutés ici échouent bien sûr un test de complexité linéaire On voudrait: éliminer la structure linéaire; des garanties théoriques sur l uniformité; implantation rapide L Ecuyer et Granger-Picher (2003): Gros générateur F 2 -linéaire combiné avec un petit non-linéaire par un XOR

105 Générateurs combinés linéaires/non-linéaires 45 Les générateurs F 2 -linéaires discutés ici échouent bien sûr un test de complexité linéaire On voudrait: éliminer la structure linéaire; des garanties théoriques sur l uniformité; implantation rapide L Ecuyer et Granger-Picher (2003): Gros générateur F 2 -linéaire combiné avec un petit non-linéaire par un XOR Théorème: Si la composante linéaire est (q 1,, q t )-équidistribuée, alors la combinaison l est aussi

106 Générateurs combinés linéaires/non-linéaires 45 Les générateurs F 2 -linéaires discutés ici échouent bien sûr un test de complexité linéaire On voudrait: éliminer la structure linéaire; des garanties théoriques sur l uniformité; implantation rapide L Ecuyer et Granger-Picher (2003): Gros générateur F 2 -linéaire combiné avec un petit non-linéaire par un XOR Théorème: Si la composante linéaire est (q 1,, q t )-équidistribuée, alors la combinaison l est aussi Tests empiriques: excellent comportement, plus robuste que linéaire

107 Tests statistiques empiriques 46 Hypothèse nulle H 0 : {u 0, u 1, u 2, } sont les réalisations de va indép U(0, 1) On sait à l avance que H 0 est fausse, mais peut-on le détecter?

108 Tests statistiques empiriques 46 Hypothèse nulle H 0 : {u 0, u 1, u 2, } sont les réalisations de va indép U(0, 1) On sait à l avance que H 0 est fausse, mais peut-on le détecter? Test: On définit une va T, fonction des u i, dont la loi sous H 0 est connue (approx) On rejette H 0 si T prend une valeur trop extrême par rapport à cette loi Si la valeur est suspecte, on peut répéter le test plusiques fois Quels sont les meilleurs tests? Pas de réponse à cela Différents tests permettent de détecter différents types de défauts

109 Tests statistiques empiriques 46 Hypothèse nulle H 0 : {u 0, u 1, u 2, } sont les réalisations de va indép U(0, 1) On sait à l avance que H 0 est fausse, mais peut-on le détecter? Test: On définit une va T, fonction des u i, dont la loi sous H 0 est connue (approx) On rejette H 0 si T prend une valeur trop extrême par rapport à cette loi Si la valeur est suspecte, on peut répéter le test plusiques fois Quels sont les meilleurs tests? Pas de réponse à cela Différents tests permettent de détecter différents types de défauts Idéal: le comportement de T ressemble à celui des va qui nous intéressent dans nos simulations Mais pas pratique Rêve: Construire un GPA qui passe tous les tests? Formellement impossible

110 Tests statistiques empiriques 46 Hypothèse nulle H 0 : {u 0, u 1, u 2, } sont les réalisations de va indép U(0, 1) On sait à l avance que H 0 est fausse, mais peut-on le détecter? Test: On définit une va T, fonction des u i, dont la loi sous H 0 est connue (approx) On rejette H 0 si T prend une valeur trop extrême par rapport à cette loi Si la valeur est suspecte, on peut répéter le test plusiques fois Quels sont les meilleurs tests? Pas de réponse à cela Différents tests permettent de détecter différents types de défauts Idéal: le comportement de T ressemble à celui des va qui nous intéressent dans nos simulations Mais pas pratique Rêve: Construire un GPA qui passe tous les tests? Formellement impossible Compromis (heuristique): Se satisfaire d un GPA qui passe les tests raisonnables Les tests échoués sont très difficiles à trouver et exécuter Formalisation: cadre de complexité algorithmique, populaire en cryptologie

111 Exemple: Un test de collisions On partitionne la boîte [0, 1) t en k = d t boîtes cubiques de même taille On génère n points (u ti,, u ti+t 1 ) dans [0, 1) t, i = 0,, n 1 Soit X j le nombre de points dans la boîte j Nombre de collisions: C = k 1 j=0 max(0, X j 1) Sous H 0, C Poisson de moyenne λ = n 2 /k, si k est grand et λ petit Si on observe c collisions, on calcule les p-valeurs: 47 p + (c) = P [X c X Poisson(λ)], p (c) = P [X c X Poisson(λ)], On rejette H 0 si p + (c) est régulièrement très proche de 0 (trop de collisions) ou p (c) est régulièrement très proche de 1 (pas assez de collisions)

112 Exemple: espacement des anniversaires 48 On partitionne encore [0, 1) t en k = d t cubes et on génère n points Soient I 1 I 2 I n les numéros des boîtes où tombent les points On calcule les espacements S j = I j+1 I j, 1 j n 1 Soient S (1),, S (n 1) les espacements triés Nombre de collisions entre les espacements: Y = n 1 j=1 I[S (j+1) = S (j) ] Si k est grand, sous H 0, Y est approx Poisson de moyenne λ = n 3 /(4k) Si Y prend la valeur y, la p-valeur à droite est p + (y) = P [X y X Poisson(λ)]

113 Autres exemples 49 Paires de points les plus proches [0, 1) t Trier des jeux de cartes (poker, etc) Rang d une matrice binaire aléatoire Complexité linéaire d une suite binaire Mesures d entropie Mesures de complexité basées sur la facilité de compression de la suite Etc

114 Le Logiciel TestU01 50 [L Ecuyer et Simard, ACM Trans on Math Software, 2007] Implantation d une grande variété de tests statistiques pour des générateurs quelconques (logiciels ou matériels) Écrit en C Disponible sur ma page web Contient aussi des batteries de tests prédéfinies: SmallCrush: vérification rapide, 15 secondes; Crush: 96 tests statistiques, 1 heure; BigCrush: 144 tests statistiques, 6 heures; Rabbit: pour les suites de bits Plusieurs générateurs couramment utilisés échouent ces batteries Quelques résultats ρ = période du GPA; t-32 et t-64 donnent le temps de CPU pour générer 10 8 nombres réels Nombre de tests échoués (p-valeur < ou > ) dans chaque batterie

115 Résultats de batteries de tests appliqués à des GPA bien connus Générateur log 2 ρ t-32 t-64 SmallCrush Crush BigCrush LCG in Microsoft VisualBasic LCG(2 31, 65539, 0) (6) LCG(2 32, 69069, 1) (2) 106 (2) LCG(2 32, , 0) (4) LCG(2 46, 5 13, 0) (2) LCG(2 48, , 11), Unix (1) JavautilRandom (3) 21 (1) LCG(2 48, 5 19, 0) (2) LCG(2 48, , 0) (5) LCG(2 48, , 0) (5) LCG(2 59, 13 13, 0) (1) 17 (5) LCG(2 63, 5 19, 1) LCG(2 31 1, 16807, 0), Wide use (9) LCG(2 31 1, , 0) (7) LCG(2 31 1, , 0), (SAS) (4) LCG(2 31 1, , 0) (5) LCG(2 31 1, , 0) (4) LCG( ,, 0), in Maple (2) 34 (1) LCG(2 61 1, , 0) (4) 3 (1) 51

116 Générateur log 2 ρ t-32 t-64 SmallCrush Crush BigCrush Wichmann-Hill, in Excel (3) 22 (8) CombLec Knuth(38) (1) 2 ran2, in Numerical Recipes CLCG Knuth(39) (1) 3 (2) MRGk DengLin (2 31 1, 2, 46338) (1) 11 (1) 19 (2) DengLin (2 31 1, 4, 22093) (1) 2 4 (2) DX DX Marsa-LFIB CombMRG MRG31k3p (1) MRG32k3a SSJ + others MRG63k3a LFib(2 31, 55, 24, +) (5) LFib(2 31, 55, 24, ) ran3, in Numerical Recipes (1) 11 (1) 17 (2) LFib(2 48, 607, 273, +) Unix-random (2) 101 (3) Unix-random (1) 57 (6) Unix-random (3) Unix-random (1) 8 11 (1) 52

117 Générateur log 2 ρ t-32 t-64 SmallCrush Crush BigCrush Knuth-ran array Knuth-ranf array SWB(2 24, 10, 24) (2) SWB(2 24, 10, 24)[24, 48] (1) 16 (1) SWB(2 24, 10, 24)[24, 97] SWB(2 24, 10, 24)[24, 389] SWB(2 32 5, 22, 43) (1) 8 17 SWB(2 31, 8, 48) (2) 8 (2) 11 Mathematica-SWB (2) 15 (3) SWB(2 32, 222, 237) (2) GFSR(250, 103) (4) GFSR(521, 32) GFSR(607, 273) Ziff T (4) TT (4) 14 (3) MT19937, widely used WELL1024a WELL19937a (1) 2 LFSR LFSR Marsa-xor32 (13, 17, 5) (10) Marsa-xor64 (13, 7, 17) (1) 7 53

118 Générateur log 2 ρ t-32 t-64 SmallCrush Crush BigCrush Matlab-rand (1) Matlab-LCG-Xor (normal) (1) SuperDuper-73, in S-Plus (1) 25 (3) SuperDuper R-MultiCarry (1) 40 (4) KISS KISS Brent-xor4096s ICG(2 31 1, 22211, ) (8) EICG(2 31 1, , 1) (6) SNWeyl (12) Coveyou (5) Coveyou LFib(2 64, 17, 5, ) LFib(2 64, 55, 24, ) LFib(2 64, 607, 273, ) LFib(2 64, 1279, 861, ) ISAAC AES (OFB) AES (CTR) (1) AES (KTR) SHA-1 (OFB) SHA-1 (CTR)

119 Conclusion 55 Une foule d applications informatiques reposent sur les GPAs Un mauvais générateur peut fausser complètement les résultats d une simulation, ou permettre de tricher dans les loteries ou déjouer les machines de jeux, ou mettre en danger la sécurité d informations importantes Ne jamais se fier aveuglément aux GPAs fournis dans les logiciels commerciaux ou autres, même les plus en vue, surtout s ils utilisent des algorithmes secrets! Certains logiciels ont d excellents GPAs; vérifier Des GPAs avec suites et sous-suites multiples sont disponibles via ma page web, en Java, C, et C++ Tapez Pierre L Ecuyer dans Google et cliquez sur Software lecuyer

IFT3245. Simulation et modèles

IFT3245. Simulation et modèles IFT 3245 Simulation et modèles DIRO Université de Montréal Automne 2012 Tests statistiques L étude des propriétés théoriques d un générateur ne suffit; il estindispensable de recourir à des tests statistiques

Plus en détail

ÉPREUVE COMMUNE DE TIPE 2008 - Partie D

ÉPREUVE COMMUNE DE TIPE 2008 - Partie D ÉPREUVE COMMUNE DE TIPE 2008 - Partie D TITRE : Les Fonctions de Hachage Temps de préparation :.. 2 h 15 minutes Temps de présentation devant le jury :.10 minutes Entretien avec le jury :..10 minutes GUIDE

Plus en détail

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34 Capacité d un canal Second Théorème de Shannon Théorie de l information 1/34 Plan du cours 1. Canaux discrets sans mémoire, exemples ; 2. Capacité ; 3. Canaux symétriques ; 4. Codage de canal ; 5. Second

Plus en détail

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples, Non-linéarité Contexte Pour permettre aux algorithmes de cryptographie d être sûrs, les fonctions booléennes qu ils utilisent ne doivent pas être inversées facilement. Pour cela, elles doivent être très

Plus en détail

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

Modèles à Événements Discrets. Réseaux de Petri Stochastiques Modèles à Événements Discrets Réseaux de Petri Stochastiques Table des matières 1 Chaînes de Markov Définition formelle Idée générale Discrete Time Markov Chains Continuous Time Markov Chains Propriétés

Plus en détail

Résolution de systèmes linéaires par des méthodes directes

Résolution de systèmes linéaires par des méthodes directes Résolution de systèmes linéaires par des méthodes directes J. Erhel Janvier 2014 1 Inverse d une matrice carrée et systèmes linéaires Ce paragraphe a pour objet les matrices carrées et les systèmes linéaires.

Plus en détail

Cryptographie et fonctions à sens unique

Cryptographie et fonctions à sens unique Cryptographie et fonctions à sens unique Pierre Rouchon Centre Automatique et Systèmes Mines ParisTech pierre.rouchon@mines-paristech.fr Octobre 2012 P.Rouchon (Mines ParisTech) Cryptographie et fonctions

Plus en détail

CRYPTOGRAPHIE. Signature électronique. E. Bresson. Emmanuel.Bresson@sgdn.gouv.fr. SGDN/DCSSI Laboratoire de cryptographie

CRYPTOGRAPHIE. Signature électronique. E. Bresson. Emmanuel.Bresson@sgdn.gouv.fr. SGDN/DCSSI Laboratoire de cryptographie CRYPTOGRAPHIE Signature électronique E. Bresson SGDN/DCSSI Laboratoire de cryptographie Emmanuel.Bresson@sgdn.gouv.fr I. SIGNATURE ÉLECTRONIQUE I.1. GÉNÉRALITÉS Organisation de la section «GÉNÉRALITÉS»

Plus en détail

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Recherche opérationnelle Les démonstrations et les exemples seront traités en cours Souad EL Bernoussi Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Table des matières 1 Programmation

Plus en détail

Simulation de variables aléatoires

Simulation de variables aléatoires Chapter 1 Simulation de variables aléatoires Références: [F] Fishman, A first course in Monte Carlo, chap 3. [B] Bouleau, Probabilités de l ingénieur, chap 4. [R] Rubinstein, Simulation and Monte Carlo

Plus en détail

Problèmes arithmétiques issus de la cryptographie reposant sur les réseaux

Problèmes arithmétiques issus de la cryptographie reposant sur les réseaux Problèmes arithmétiques issus de la cryptographie reposant sur les réseaux Damien Stehlé LIP CNRS/ENSL/INRIA/UCBL/U. Lyon Perpignan, Février 2011 Damien Stehlé Problèmes arithmétiques issus de la cryptographie

Plus en détail

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2) Objectifs du cours d aujourd hui Informatique II : Cours d introduction à l informatique et à la programmation objet Complexité des problèmes Introduire la notion de complexité d un problème Présenter

Plus en détail

Programmation linéaire

Programmation linéaire Programmation linéaire DIDIER MAQUIN Ecole Nationale Supérieure d Electricité et de Mécanique Institut National Polytechnique de Lorraine Mathématiques discrètes cours de 2ème année Programmation linéaire

Plus en détail

Programmation linéaire

Programmation linéaire 1 Programmation linéaire 1. Le problème, un exemple. 2. Le cas b = 0 3. Théorème de dualité 4. L algorithme du simplexe 5. Problèmes équivalents 6. Complexité de l Algorithme 2 Position du problème Soit

Plus en détail

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

Plus en détail

Définitions. Numéro à préciser. (Durée : )

Définitions. Numéro à préciser. (Durée : ) Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.

Plus en détail

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert 1 de 46 Algorithmique Trouver et Trier Florent Hivert Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert 2 de 46 Algorithmes et structures de données La plupart des bons algorithmes

Plus en détail

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes. Promotion X 004 COURS D ANALYSE DES STRUCTURES MÉCANIQUES PAR LA MÉTHODE DES ELEMENTS FINIS (MEC 568) contrôle non classant (7 mars 007, heures) Documents autorisés : polycopié ; documents et notes de

Plus en détail

Coup de Projecteur sur les Réseaux de Neurones

Coup de Projecteur sur les Réseaux de Neurones Coup de Projecteur sur les Réseaux de Neurones Les réseaux de neurones peuvent être utilisés pour des problèmes de prévision ou de classification. La représentation la plus populaire est le réseau multicouche

Plus en détail

Théorème du point fixe - Théorème de l inversion locale

Théorème du point fixe - Théorème de l inversion locale Chapitre 7 Théorème du point fixe - Théorème de l inversion locale Dans ce chapitre et le suivant, on montre deux applications importantes de la notion de différentiabilité : le théorème de l inversion

Plus en détail

Objets Combinatoires élementaires

Objets Combinatoires élementaires Objets Combinatoires élementaires 0-0 Permutations Arrangements Permutations pour un multi-ensemble mots sous-ensemble à k éléments (Problème du choix) Compositions LE2I 04 1 Permutations Supposons que

Plus en détail

Chapitre VI - Méthodes de factorisation

Chapitre VI - Méthodes de factorisation Université Pierre et Marie Curie Cours de cryptographie MM067-2012/13 Alain Kraus Chapitre VI - Méthodes de factorisation Le problème de la factorisation des grands entiers est a priori très difficile.

Plus en détail

Filtrage stochastique non linéaire par la théorie de représentation des martingales

Filtrage stochastique non linéaire par la théorie de représentation des martingales Filtrage stochastique non linéaire par la théorie de représentation des martingales Adriana Climescu-Haulica Laboratoire de Modélisation et Calcul Institut d Informatique et Mathématiques Appliquées de

Plus en détail

Correction de l examen de la première session

Correction de l examen de la première session de l examen de la première session Julian Tugaut, Franck Licini, Didier Vincent Si vous trouvez des erreurs de Français ou de mathématiques ou bien si vous avez des questions et/ou des suggestions, envoyez-moi

Plus en détail

Représentation des Nombres

Représentation des Nombres Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...

Plus en détail

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche Bachir Bekka Février 2007 Le théorème de Perron-Frobenius a d importantes applications en probabilités (chaines

Plus en détail

Qu est-ce qu une probabilité?

Qu est-ce qu une probabilité? Chapitre 1 Qu est-ce qu une probabilité? 1 Modéliser une expérience dont on ne peut prédire le résultat 1.1 Ensemble fondamental d une expérience aléatoire Une expérience aléatoire est une expérience dont

Plus en détail

Table des matières. I Mise à niveau 11. Préface

Table des matières. I Mise à niveau 11. Préface Table des matières Préface v I Mise à niveau 11 1 Bases du calcul commercial 13 1.1 Alphabet grec...................................... 13 1.2 Symboles mathématiques............................... 14 1.3

Plus en détail

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1 La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1 La licence Mathématiques et Economie-MASS de l Université des Sciences Sociales de Toulouse propose sur les trois

Plus en détail

Introduction à l étude des Corps Finis

Introduction à l étude des Corps Finis Introduction à l étude des Corps Finis Robert Rolland (Résumé) 1 Introduction La structure de corps fini intervient dans divers domaines des mathématiques, en particulier dans la théorie de Galois sur

Plus en détail

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications A. Optimisation sans contrainte.... Généralités.... Condition nécessaire et condition suffisante

Plus en détail

Les fonctions de hachage, un domaine à la mode

Les fonctions de hachage, un domaine à la mode Les fonctions de hachage, un domaine à la mode JSSI 2009 Thomas Peyrin (Ingenico) 17 mars 2009 - Paris Outline Qu est-ce qu une fonction de hachage Comment construire une fonction de hachage? Les attaques

Plus en détail

Fonction de hachage et signatures électroniques

Fonction de hachage et signatures électroniques Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr Licence professionnelle Administrateur de Réseaux et de Bases de Données IUT

Plus en détail

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Exercices - Polynômes : corrigé. Opérations sur les polynômes Opérations sur les polynômes Exercice 1 - Carré - L1/Math Sup - Si P = Q est le carré d un polynôme, alors Q est nécessairement de degré, et son coefficient dominant est égal à 1. On peut donc écrire Q(X)

Plus en détail

Principe de symétrisation pour la construction d un test adaptatif

Principe de symétrisation pour la construction d un test adaptatif Principe de symétrisation pour la construction d un test adaptatif Cécile Durot 1 & Yves Rozenholc 2 1 UFR SEGMI, Université Paris Ouest Nanterre La Défense, France, cecile.durot@gmail.com 2 Université

Plus en détail

CRYPTOGRAPHIE. Chiffrement par flot. E. Bresson. Emmanuel.Bresson@sgdn.gouv.fr. SGDN/DCSSI Laboratoire de cryptographie

CRYPTOGRAPHIE. Chiffrement par flot. E. Bresson. Emmanuel.Bresson@sgdn.gouv.fr. SGDN/DCSSI Laboratoire de cryptographie CRYPTOGRAPHIE Chiffrement par flot E. Bresson SGDN/DCSSI Laboratoire de cryptographie Emmanuel.Bresson@sgdn.gouv.fr CHIFFREMENT PAR FLOT Chiffrement par flot Chiffrement RC4 Sécurité du Wi-fi Chiffrement

Plus en détail

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,

Plus en détail

Théorie et Codage de l Information (IF01) exercices 2013-2014. Paul Honeine Université de technologie de Troyes France

Théorie et Codage de l Information (IF01) exercices 2013-2014. Paul Honeine Université de technologie de Troyes France Théorie et Codage de l Information (IF01) exercices 2013-2014 Paul Honeine Université de technologie de Troyes France TD-1 Rappels de calculs de probabilités Exercice 1. On dispose d un jeu de 52 cartes

Plus en détail

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes. 1 Définitions, notations Calcul matriciel Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes. On utilise aussi la notation m n pour le

Plus en détail

Probabilités et Statistiques. Feuille 2 : variables aléatoires discrètes

Probabilités et Statistiques. Feuille 2 : variables aléatoires discrètes IUT HSE Probabilités et Statistiques Feuille : variables aléatoires discrètes 1 Exercices Dénombrements Exercice 1. On souhaite ranger sur une étagère 4 livres de mathématiques (distincts), 6 livres de

Plus en détail

Introduction à l approche bootstrap

Introduction à l approche bootstrap Introduction à l approche bootstrap Irène Buvat U494 INSERM buvat@imedjussieufr 25 septembre 2000 Introduction à l approche bootstrap - Irène Buvat - 21/9/00-1 Plan du cours Qu est-ce que le bootstrap?

Plus en détail

Programmes des classes préparatoires aux Grandes Ecoles

Programmes des classes préparatoires aux Grandes Ecoles Programmes des classes préparatoires aux Grandes Ecoles Filière : scientifique Voie : Biologie, chimie, physique et sciences de la Terre (BCPST) Discipline : Mathématiques Seconde année Préambule Programme

Plus en détail

Modélisation et simulation

Modélisation et simulation Modélisation et simulation p. 1/36 Modélisation et simulation INFO-F-305 Gianluca Bontempi Département d Informatique Boulevard de Triomphe - CP 212 http://www.ulb.ac.be/di Modélisation et simulation p.

Plus en détail

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique La programmation linéaire : une introduction Qu est-ce qu un programme linéaire? Qu est-ce qu un programme linéaire? Exemples : allocation de ressources problème de recouvrement Hypothèses de la programmation

Plus en détail

Analyse de la vidéo. Chapitre 4.1 - La modélisation pour le suivi d objet. 10 mars 2015. Chapitre 4.1 - La modélisation d objet 1 / 57

Analyse de la vidéo. Chapitre 4.1 - La modélisation pour le suivi d objet. 10 mars 2015. Chapitre 4.1 - La modélisation d objet 1 / 57 Analyse de la vidéo Chapitre 4.1 - La modélisation pour le suivi d objet 10 mars 2015 Chapitre 4.1 - La modélisation d objet 1 / 57 La représentation d objets Plan de la présentation 1 La représentation

Plus en détail

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2. Eo7 Calculs de déterminants Fiche corrigée par Arnaud Bodin Eercice Calculer les déterminants des matrices suivantes : Correction Vidéo ( ) 0 6 7 3 4 5 8 4 5 6 0 3 4 5 5 6 7 0 3 5 4 3 0 3 0 0 3 0 0 0 3

Plus en détail

3. Caractéristiques et fonctions d une v.a.

3. Caractéristiques et fonctions d une v.a. 3. Caractéristiques et fonctions d une v.a. MTH2302D S. Le Digabel, École Polytechnique de Montréal H2015 (v2) MTH2302D: fonctions d une v.a. 1/32 Plan 1. Caractéristiques d une distribution 2. Fonctions

Plus en détail

Contents. 1 Introduction Objectifs des systèmes bonus-malus Système bonus-malus à classes Système bonus-malus : Principes

Contents. 1 Introduction Objectifs des systèmes bonus-malus Système bonus-malus à classes Système bonus-malus : Principes Université Claude Bernard Lyon 1 Institut de Science Financière et d Assurances Système Bonus-Malus Introduction & Applications SCILAB Julien Tomas Institut de Science Financière et d Assurances Laboratoire

Plus en détail

L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories :

L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories : La vision nous permet de percevoir et d interpreter le monde qui nous entoure. La vision artificielle a pour but de reproduire certaines fonctionnalités de la vision humaine au travers de l analyse d images.

Plus en détail

TSTI 2D CH X : Exemples de lois à densité 1

TSTI 2D CH X : Exemples de lois à densité 1 TSTI 2D CH X : Exemples de lois à densité I Loi uniforme sur ab ; ) Introduction Dans cette activité, on s intéresse à la modélisation du tirage au hasard d un nombre réel de l intervalle [0 ;], chacun

Plus en détail

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite

Plus en détail

Chaînes de Markov au lycée

Chaînes de Markov au lycée Journées APMEP Metz Atelier P1-32 du dimanche 28 octobre 2012 Louis-Marie BONNEVAL Chaînes de Markov au lycée Andreï Markov (1856-1922) , série S Problème 1 Bonus et malus en assurance automobile Un contrat

Plus en détail

Exercice autour de densité, fonction de répatition, espérance et variance de variables quelconques.

Exercice autour de densité, fonction de répatition, espérance et variance de variables quelconques. 14-3- 214 J.F.C. p. 1 I Exercice autour de densité, fonction de répatition, espérance et variance de variables quelconques. Exercice 1 Densité de probabilité. F { ln x si x ], 1] UN OVNI... On pose x R,

Plus en détail

Introduction à la théorie des files d'attente. Claude Chaudet Claude.Chaudet@enst.fr

Introduction à la théorie des files d'attente. Claude Chaudet Claude.Chaudet@enst.fr Introduction à la théorie des files d'attente Claude Chaudet Claude.Chaudet@enst.fr La théorie des files d'attente... Principe: modélisation mathématique de l accès à une ressource partagée Exemples réseaux

Plus en détail

Algorithmes pour la planification de mouvements en robotique non-holonome

Algorithmes pour la planification de mouvements en robotique non-holonome Algorithmes pour la planification de mouvements en robotique non-holonome Frédéric Jean Unité de Mathématiques Appliquées ENSTA Le 02 février 2006 Outline 1 2 3 Modélisation Géométrique d un Robot Robot

Plus en détail

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer Pour commencer Exercice 1 - Ensembles de définition - Première année - 1. Le logarithme est défini si x + y > 0. On trouve donc le demi-plan supérieur délimité par la droite d équation x + y = 0.. 1 xy

Plus en détail

1 Recherche en table par balayage

1 Recherche en table par balayage 1 Recherche en table par balayage 1.1 Problème de la recherche en table Une table désigne une liste ou un tableau d éléments. Le problème de la recherche en table est celui de la recherche d un élément

Plus en détail

Estimation et tests statistiques, TD 5. Solutions

Estimation et tests statistiques, TD 5. Solutions ISTIL, Tronc commun de première année Introduction aux méthodes probabilistes et statistiques, 2008 2009 Estimation et tests statistiques, TD 5. Solutions Exercice 1 Dans un centre avicole, des études

Plus en détail

Probabilités sur un univers fini

Probabilités sur un univers fini [http://mp.cpgedupuydelome.fr] édité le 7 août 204 Enoncés Probabilités sur un univers fini Evènements et langage ensembliste A quelle condition sur (a, b, c, d) ]0, [ 4 existe-t-il une probabilité P sur

Plus en détail

Probabilités. C. Charignon. I Cours 3

Probabilités. C. Charignon. I Cours 3 Probabilités C. Charignon Table des matières I Cours 3 1 Dénombrements 3 1.1 Cardinal.................................................. 3 1.1.1 Définition............................................. 3

Plus en détail

CHAPITRE 5. Stratégies Mixtes

CHAPITRE 5. Stratégies Mixtes CHAPITRE 5 Stratégies Mixtes Un des problèmes inhérents au concept d équilibre de Nash en stratégies pures est que pour certains jeux, de tels équilibres n existent pas. P.ex.le jeu de Pierre, Papier,

Plus en détail

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12 Probabilités. I - Rappel : trois exemples. Exemple 1 : Dans une classe de 25 élèves, il y a 16 filles. Tous les élèves sont blonds ou bruns. Parmi les filles, 6 sont blondes. Parmi les garçons, 3 sont

Plus en détail

aux différences est appelé équation aux différences d ordre n en forme normale.

aux différences est appelé équation aux différences d ordre n en forme normale. MODÉLISATION ET SIMULATION EQUATIONS AUX DIFFÉRENCES (I/II) 1. Rappels théoriques : résolution d équations aux différences 1.1. Équations aux différences. Définition. Soit x k = x(k) X l état scalaire

Plus en détail

Modes opératoires pour le chiffrement symétrique

Modes opératoires pour le chiffrement symétrique Modes opératoires pour le chiffrement symétrique Charles Bouillaguet 5 février 2015 1 Notion(s) de sécurité On a vu qu un mécanisme de chiffrement symétrique E est contistué de deux algorithmes : E : {0,

Plus en détail

Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN

Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN Table des matières. Introduction....3 Mesures et incertitudes en sciences physiques

Plus en détail

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin. Exo7 Matrice d une application linéaire Corrections d Arnaud odin. Exercice Soit R muni de la base canonique = ( i, j). Soit f : R R la projection sur l axe des abscisses R i parallèlement à R( i + j).

Plus en détail

!-.!#- $'( 1&) &) (,' &*- %,!

!-.!#- $'( 1&) &) (,' &*- %,! 0 $'( 1&) +&&/ ( &+&& &+&))&( -.#- 2& -.#- &) (,' %&,))& &)+&&) &- $ 3.#( %, (&&/ 0 ' Il existe plusieurs types de simulation de flux Statique ou dynamique Stochastique ou déterministe A événements discrets

Plus en détail

Calculer avec Sage. Revision : 417 du 1 er juillet 2010

Calculer avec Sage. Revision : 417 du 1 er juillet 2010 Calculer avec Sage Alexandre Casamayou Guillaume Connan Thierry Dumont Laurent Fousse François Maltey Matthias Meulien Marc Mezzarobba Clément Pernet Nicolas Thiéry Paul Zimmermann Revision : 417 du 1

Plus en détail

Texte Agrégation limitée par diffusion interne

Texte Agrégation limitée par diffusion interne Page n 1. Texte Agrégation limitée par diffusion interne 1 Le phénomène observé Un fût de déchets radioactifs est enterré secrètement dans le Cantal. Au bout de quelques années, il devient poreux et laisse

Plus en détail

Cryptologie. Algorithmes à clé publique. Jean-Marc Robert. Génie logiciel et des TI

Cryptologie. Algorithmes à clé publique. Jean-Marc Robert. Génie logiciel et des TI Cryptologie Algorithmes à clé publique Jean-Marc Robert Génie logiciel et des TI Plan de la présentation Introduction Cryptographie à clé publique Les principes essentiels La signature électronique Infrastructures

Plus en détail

Resolution limit in community detection

Resolution limit in community detection Introduction Plan 2006 Introduction Plan Introduction Introduction Plan Introduction Point de départ : un graphe et des sous-graphes. But : quantifier le fait que les sous-graphes choisis sont des modules.

Plus en détail

Chapitre 7. Statistique des échantillons gaussiens. 7.1 Projection de vecteurs gaussiens

Chapitre 7. Statistique des échantillons gaussiens. 7.1 Projection de vecteurs gaussiens Chapitre 7 Statistique des échantillons gaussiens Le théorème central limite met en évidence le rôle majeur tenu par la loi gaussienne en modélisation stochastique. De ce fait, les modèles statistiques

Plus en détail

Moments des variables aléatoires réelles

Moments des variables aléatoires réelles Chapter 6 Moments des variables aléatoires réelles Sommaire 6.1 Espérance des variables aléatoires réelles................................ 46 6.1.1 Définition et calcul........................................

Plus en détail

Intégration et probabilités TD1 Espaces mesurés Corrigé

Intégration et probabilités TD1 Espaces mesurés Corrigé Intégration et probabilités TD1 Espaces mesurés Corrigé 2012-2013 1 Petites questions 1 Est-ce que l ensemble des ouverts de R est une tribu? Réponse : Non, car le complémentaire de ], 0[ n est pas ouvert.

Plus en détail

Web Science. Master 1 IFI. Andrea G. B. Tettamanzi. Université de Nice Sophia Antipolis Département Informatique andrea.tettamanzi@unice.

Web Science. Master 1 IFI. Andrea G. B. Tettamanzi. Université de Nice Sophia Antipolis Département Informatique andrea.tettamanzi@unice. Web Science Master 1 IFI Andrea G. B. Tettamanzi Université de Nice Sophia Antipolis Département Informatique andrea.tettamanzi@unice.fr 1 Annonce : recherche apprenti Projet Géo-Incertitude Objectifs

Plus en détail

Cours d analyse numérique SMI-S4

Cours d analyse numérique SMI-S4 ours d analyse numérique SMI-S4 Introduction L objet de l analyse numérique est de concevoir et d étudier des méthodes de résolution de certains problèmes mathématiques, en général issus de problèmes réels,

Plus en détail

Fonctions de plusieurs variables

Fonctions de plusieurs variables Module : Analyse 03 Chapitre 00 : Fonctions de plusieurs variables Généralités et Rappels des notions topologiques dans : Qu est- ce que?: Mathématiquement, n étant un entier non nul, on définit comme

Plus en détail

Quelques tests de primalité

Quelques tests de primalité Quelques tests de primalité J.-M. Couveignes (merci à T. Ezome et R. Lercier) Institut de Mathématiques de Bordeaux & INRIA Bordeaux Sud-Ouest Jean-Marc.Couveignes@u-bordeaux.fr École de printemps C2 Mars

Plus en détail

Modélisation aléatoire en fiabilité des logiciels

Modélisation aléatoire en fiabilité des logiciels collection Méthodes stochastiques appliquées dirigée par Nikolaos Limnios et Jacques Janssen La sûreté de fonctionnement des systèmes informatiques est aujourd hui un enjeu économique et sociétal majeur.

Plus en détail

Le modèle de Black et Scholes

Le modèle de Black et Scholes Le modèle de Black et Scholes Alexandre Popier février 21 1 Introduction : exemple très simple de modèle financier On considère un marché avec une seule action cotée, sur une période donnée T. Dans un

Plus en détail

Factorisation d entiers (première partie)

Factorisation d entiers (première partie) Factorisation d entiers ÉCOLE DE THEORIE DES NOMBRES 0 Factorisation d entiers (première partie) Francesco Pappalardi Théorie des nombres et algorithmique 22 novembre, Bamako (Mali) Factorisation d entiers

Plus en détail

La problématique des tests. Cours V. 7 mars 2008. Comment quantifier la performance d un test? Hypothèses simples et composites

La problématique des tests. Cours V. 7 mars 2008. Comment quantifier la performance d un test? Hypothèses simples et composites La problématique des tests Cours V 7 mars 8 Test d hypothèses [Section 6.1] Soit un modèle statistique P θ ; θ Θ} et des hypothèses H : θ Θ H 1 : θ Θ 1 = Θ \ Θ Un test (pur) est une statistique à valeur

Plus en détail

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits Architecture des ordinateurs TD1 - Portes logiques et premiers circuits 1 Rappel : un peu de logique Exercice 1.1 Remplir la table de vérité suivante : a b a + b ab a + b ab a b 0 0 0 1 1 0 1 1 Exercice

Plus en détail

Cours d Analyse. Fonctions de plusieurs variables

Cours d Analyse. Fonctions de plusieurs variables Cours d Analyse Fonctions de plusieurs variables Licence 1ère année 2007/2008 Nicolas Prioux Université de Marne-la-Vallée Table des matières 1 Notions de géométrie dans l espace et fonctions à deux variables........

Plus en détail

PROBABILITES ET STATISTIQUE I&II

PROBABILITES ET STATISTIQUE I&II PROBABILITES ET STATISTIQUE I&II TABLE DES MATIERES CHAPITRE I - COMBINATOIRE ELEMENTAIRE I.1. Rappel des notations de la théorie des ensemble I.1.a. Ensembles et sous-ensembles I.1.b. Diagrammes (dits

Plus en détail

CCP PSI - 2010 Mathématiques 1 : un corrigé

CCP PSI - 2010 Mathématiques 1 : un corrigé CCP PSI - 00 Mathématiques : un corrigé Première partie. Définition d une structure euclidienne sur R n [X]... B est clairement symétrique et linéaire par rapport à sa seconde variable. De plus B(P, P

Plus en détail

Chapitre 7. Récurrences

Chapitre 7. Récurrences Chapitre 7 Récurrences 333 Plan 1. Introduction 2. Applications 3. Classification des récurrences 4. Résolution de récurrences 5. Résumé et comparaisons Lectures conseillées : I MCS, chapitre 20. I Rosen,

Plus en détail

CHAPITRE VIII : Les circuits avec résistances ohmiques

CHAPITRE VIII : Les circuits avec résistances ohmiques CHAPITRE VIII : Les circuits avec résistances ohmiques VIII. 1 Ce chapitre porte sur les courants et les différences de potentiel dans les circuits. VIII.1 : Les résistances en série et en parallèle On

Plus en détail

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que Introduction. On suppose connus les ensembles N (des entiers naturels), Z des entiers relatifs et Q (des nombres rationnels). On s est rendu compte, depuis l antiquité, que l on ne peut pas tout mesurer

Plus en détail

L ANALYSE EN COMPOSANTES PRINCIPALES (A.C.P.) Pierre-Louis GONZALEZ

L ANALYSE EN COMPOSANTES PRINCIPALES (A.C.P.) Pierre-Louis GONZALEZ L ANALYSE EN COMPOSANTES PRINCIPALES (A.C.P.) Pierre-Louis GONZALEZ INTRODUCTION Données : n individus observés sur p variables quantitatives. L A.C.P. permet d eplorer les liaisons entre variables et

Plus en détail

TESTS PORTMANTEAU D ADÉQUATION DE MODÈLES ARMA FAIBLES : UNE APPROCHE BASÉE SUR L AUTO-NORMALISATION

TESTS PORTMANTEAU D ADÉQUATION DE MODÈLES ARMA FAIBLES : UNE APPROCHE BASÉE SUR L AUTO-NORMALISATION TESTS PORTMANTEAU D ADÉQUATION DE MODÈLES ARMA FAIBLES : UNE APPROCHE BASÉE SUR L AUTO-NORMALISATION Bruno Saussereau Laboratoire de Mathématiques de Besançon Université de Franche-Comté Travail en commun

Plus en détail

avec des nombres entiers

avec des nombres entiers Calculer avec des nombres entiers Effectuez les calculs suivants.. + 9 + 9. Calculez. 9 9 Calculez le quotient et le rest. : : : : 0 :. : : 9 : : 9 0 : 0. 9 9 0 9. Calculez. 9 0 9. : : 0 : 9 : :. : : 0

Plus en détail

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé Baccalauréat ES Pondichéry 7 avril 204 Corrigé EXERCICE 4 points Commun à tous les candidats. Proposition fausse. La tangente T, passant par les points A et B d abscisses distinctes, a pour coefficient

Plus en détail

3 Approximation de solutions d équations

3 Approximation de solutions d équations 3 Approximation de solutions d équations Une équation scalaire a la forme générale f(x) =0où f est une fonction de IR dans IR. Un système de n équations à n inconnues peut aussi se mettre sous une telle

Plus en détail

Probabilités III Introduction à l évaluation d options

Probabilités III Introduction à l évaluation d options Probabilités III Introduction à l évaluation d options Jacques Printems Promotion 2012 2013 1 Modèle à temps discret 2 Introduction aux modèles en temps continu Limite du modèle binomial lorsque N + Un

Plus en détail

La classification automatique de données quantitatives

La classification automatique de données quantitatives La classification automatique de données quantitatives 1 Introduction Parmi les méthodes de statistique exploratoire multidimensionnelle, dont l objectif est d extraire d une masse de données des informations

Plus en détail

Méthodes de quadrature. Polytech Paris-UPMC. - p. 1/48

Méthodes de quadrature. Polytech Paris-UPMC. - p. 1/48 Méthodes de Polytech Paris-UPMC - p. 1/48 Polynôme d interpolation de Preuve et polynôme de Calcul de l erreur d interpolation Étude de la formule d erreur Autres méthodes - p. 2/48 Polynôme d interpolation

Plus en détail

Simulation : application au système bonus-malus en responsabilité civile automobile

Simulation : application au système bonus-malus en responsabilité civile automobile Simulation : application au système bonus-malus en responsabilité civile automobile Robert Langmeier Travail de séminaire réalisé sous la supervision du professeur François Dufresne Ecole des HEC Université

Plus en détail

FIMA, 7 juillet 2005

FIMA, 7 juillet 2005 F. Corset 1 S. 2 1 LabSAD Université Pierre Mendes France 2 Département de Mathématiques Université de Franche-Comté FIMA, 7 juillet 2005 Plan de l exposé plus court chemin Origine du problème Modélisation

Plus en détail