1 / 30

Quelques pistes d’algorithmes possibles au lycée

Quelques pistes d’algorithmes possibles au lycée. Calcul d’aire.

willem
Download Presentation

Quelques pistes d’algorithmes possibles au lycée

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Quelques pistes d’algorithmes possibles au lycée

  2. Calcul d’aire

  3. Le problème.Le problème est de déterminer l’aire « sous la courbe » représentative d’une fonction convenable. Par exemples, calculer une valeur approchée de l’aire de : {M(x,y), 0  y  x² , 0  x  1} (seconde, première) {M(x,y), 0  y  1/x – E(1/x) , 0 < x  1} (Terminale) Calcul d’aire

  4. Première méthode: une grille régulière.On fabrique une grille régulière qui quadrille le carré en n² points.On admet que aire du carré * nb de points en dessous / n² est une valeur approchée de l’aire sous la courbe. Calcul d’aire

  5. Première méthode: une grille régulière.Algorithme de calcul:Début Variable: n,x,y,s lire n x=0; s=0 répéter tant que x  1 x=x+1/n; y=0 répéter tant que y  1 y=y+1/n si y  x² Alors s=s+1 fin répéter fin répéter afficher s/n²Fin algorithme Calcul d’aire

  6. Deuxième méthode: Monte-Carlo.On choisis au hasard n points de ]0;1[² . De la même façon, on a: aire du carré * nb de points en dessous / n est une valeur approchée de l’aire sous la courbe. Calcul d’aire

  7. Deuxième méthode: Monte-Carlo.Algorithme de calcul:Début Variable: k,n,x,y,s lire n k=0; s=0 répéter tant que k < n x= nb aléatoire dans ]0;1[ y= nb aléatoire dans ]0;1[ k = k+1 si y < x² alors s=s+1 fin répéter afficher s/nFin algorithme Calcul d’aire

  8. Comparaison des 2 méthodes. Calcul d’aire

  9. Monte-Carlo: ce qu’il y a en-dessous sur cet exemple...X est la variable aléatoire qui, à chaque point M(x,y) du carré ]0;1[ associe 1 si le point M est sous la courbe (y<x²) et 0 sinon.X suit une loi de Bernouilli avec p=aire sous la courbe = 1/3 Quand on réalise n expériences indépendantes (on choisit au hasard n points M), la variable aléatoire Yn = somme (Xi) suit une loi binômiale B(n,p) d’espérance np =n/3, variance npq. Quand n « devient grand », B(n,p) est « proche» de la loi normale d’espérance np et variance npq.Pour: n=10000 et p=1/3et n=20 et p=1/3 Calcul d’aire

  10. Si Zn = Yn / n, Z suit une loi très proche de la loi normale d’espérance np/n = p et de variance npq/n² = pq/n, d’écart type s=(p(1-p))/(n).Or (p(1-p))  0,5 quand p est dans [0;1], on a donc s  0,5/n .Pour une loi normale, 95% de l’effectif est entre E-2 s et E+2 s ,Donc ici, on a environ 95% de l’effectif entre p - 1/n et p+1/n Si on réalise 2500 échantillons de taille n=10000, on trouve que 95% des échantillons ont une moyenne qui est une valeur approchée de l’aire p à 0,01 près.Il en résulte que la méthode de Monte-Carlo, pour un calcul d’aire, donne (pour un nombre de points de 10 000) une valeur approchée de l’aire à 0,01 près avec un risque d’erreur de 5%. Calcul d’aire

  11. Deuxième exemple: une fonction pathologique...F(x) = 1/x-E(1/x) sur ]0;1] est discontinue, n’admet pas de primitive sur ]0;1]Cette fonction est particulièrement pathologique au voisinage de 0. La méthode Monte-Carlo est plus efficaceque la méthode par la grille. Calcul d’aire

  12. Deuxième exemple: une fonction pathologique...Le problème est de savoir ce domaine {M(x,y), 0<x  1, 0  y < f(x)} est mesurable.Sur chaque intervalle ]1/(k+1) ; 1/k] (k entier > 0), l’aire sous la courbe est : Calcul d’aire Donc l’aire sous la courbe sur l’intervalle ]1/(n+1) ; 1] est: Or la série (1+1/2+1/3+… 1/n –ln(n)) converge vers g (constante d’Euler).Donc la série de terme général Sk converge vers 1- g L’aire sous la courbe est donc 1- g  0,422 784 335 098 468.La méthode Monte-Carlo a donné (pour n=108): 0,422 759

  13. Nombres premiers:test probabiliste

  14. Le problème:La cryptologie RSA nécessite de très grands nombres premiers (de l’ordre de 108).L’algorithme le plus simple pour savoir si un nombre est premier est:début lire n 2  i tant que i < racine(n)+1 si n mod i = 0 alors retourner faux i+1i fin tant que retourner vrai FinMais cet algorithme est très gourmand en division : de l’ordre de n.Aussi a-t-on cherché d’autres algorithmes pour savoir si un nombre est premier ou non.En particulier l’algorithme de Miller-Rabin qui utilise un calcul faisant intervenir l’aléatoire… Test probabiliste de primalité

  15. L’algorithme de Miller-Rabin:L’algorithme repose sur 2 propriétés:Si n est premier impair alors: Pour tout entier a de [2;n], a n-1 = 1 [n] Dans Z/nZ, 1 n’a que deux racines carrées triviales 1 et n-1.Si on trouve un entier a qui ne vérifie pas l’une ou l’autre des propriétés, alors a est un témoin de la non primalité de n. L’idée est donc de chercher au hasard k témoins de non primalité. Si on n’en trouve pas, il y a de très fortes chances que n soit premier… Il se trouve que, si n est composé, environ 3/4 des nombres < n sont des témoins de non primalité. La probabilité que n soit composé et que k entiers au hasard soient des témoins de primalité est supérieure à 1- 1/4k.Pour k=7, la probabilité qu’un entier n ayant passé le test soit premier est 0,99994.Si on réitère le test, cette probabilité passe à 1 - 4.10-9 . Le coût de cet algorithme est de l’ordre de k.ln(n) au lieu de n pour l’algorithme classique.Pour un entier n de l’ordre de 108: 7ln(108)  129  108 = 10 000 Test probabiliste de primalité

  16. L’algorithme de Miller-Rabin:Fonction temoin(a,n)‘renvoie 0 si a est un témoin de non primalité, 1 sinon n-1m; 1  y; a  x ‘ initialisation du calcul de a m = an-1 Répéter tant que m>0 ‘ Calcul de a m - méthode des puissances successives Si m [2] = 1 alors ‘cas m impair x*y [n]  y; m-1  m sinon‘cas m pair x  b; x²[n]  x;m/2  m Si (x=1 et b1 et b n-1) Alors retourner 0 ‘ cas où 1 admet une racine carrée non triviale fin de si donc n est composéfin répéter Si y=1 Alors retourner 1 ‘ cas où an-1 = 1: n est probablement premier sinon retourner 0 ‘ cas où an-1  1: n est composéfin siFin de fonctionFonctionmillerrabin(n,k) ’ renvoie 0 si n est composé, 1 si n est très probablement premier Répéter k fois entier aléatoire de [2;n-1] a Si temoin(a,n) = 0 alors retourner 0 ‘ a est un témoin de non primalité: n est composé fin de répéter retourner 1 ‘ on n’a pas trouvé de témoin de non primalité: n est très probablement premierFin de fonction Test probabiliste de primalité

  17. L’algorithme de Miller-Rabin sur Xcas: Test probabiliste de primalité Le calcul de primalité de 1234567891 par Miller Rabin est instantané, par l’algorithme classique cela dure 225 secondes (presque 4 minutes)

  18. Dichotomie

  19. Le problème: Il s’agit de trouver un encadrement de longueur donné e de la solution de f(x)=0 sur [a;b] où f est strictement croissante et f(a)<0 et f(b)>0. Algorithme non récursif Algorithme récursif Dichotomie

  20. Dessin en logo

  21. Un algorithme récursif: Flocon de Koch sur Xcas en logo Flocon de Koch

  22. Dessins aléatoires

  23. Algorithme : On part d’un triangle : (-4,0), (0,4),(4,0)On déplace aléatoirement les milieux des 2 côtés non horizontaux.Puis on itère la méthode … Dessins aléatoires sur Xcas: profil montagne

  24. Les n sommets du polygone sont des complexes mis dans une matrice (1 ligne, n colonnes)Au départ la matrice est [-4,4i,4].La fonction mont :x est la matrice des n sommets; mont(x) est la même matrice augmentée des n-1 milieux déplacés de manière aléatoire en longueur (0,5*rand(0,1) = nb aléatoire entre 0 et 0,5) et en direction ( eit avec t aléatoire autour de p/2). La fonction récursive montagne(x,k) itère k fois la fonction mont. Les fonctions tracemontagne et tracemontagneremplietracent le polygone vide ou rempli en noir. Dessins aléatoires sur Xcas: profil montagne

  25. Sans aléa Avec aléa Dessins aléatoires sur Xcas: arbres

  26. Fractales

  27. L’ensemble de Mandelbrot:Dans le plan complexe, on considère la suite (zn) définie par zn+1 = zn²+ c et z0 = 0. L’ensemble de Mandelbrot est l’ensemble des c pour lesquels la suite converge (en module).S’il existe n pour lequel ∣zn∣>2 alors la suite diverge. Il est nécessaire que ∣c∣< 2 pour que la suite converge. Algorithme: On cherche pour chaque point d’un maillage d’une partie du plan, l’entier n (<255) à partir duquel ∣zn∣>2. La couleur de ce point sera n.Ainsi un point blanc (n=255) sera un c pour lequel la suite semble converger et plus un point est foncé, plus la suite diverge vite…un point noir (n=1) est un point c où la suite diverge immédiatement.L’intérêt de l’ensemble de Mandelbrot est sa frontière. Fractales sur scilab

  28. x[-0,25 ; 0,05] , y[0,6 ; 0,9] x[-2 ; 1], y[-1,5 ; 1,5]

  29. Les ensembles de Julia:Dans le plan complexe, on considère la suite (zn) définie par zn+1 = zn²+ c. Cette fois-ci, c est fixé (complexe situé à la frontière de l’ensemble de Mendelbrot: il y a autant d’ensemble de Julia que l’on veut) et c’est z0 qui varie. Un ensemble de Julia est l’ensemble des z0 pour lesquels la suite converge (en module).S’il existe n pour lequel ∣zn∣>2 alors la suite diverge. Même algorithme que précédemment: Fractales sur scilab c = -0,414 -0.612 i , x[-1,3 ; 1,3] , y[-1 ; 1]

  30. Les ensembles de Julia: c = -0,414 -0.612 i , x[-1,3 ; 1,3] , y[-1,3 ; 1,3] Fractales sur scilab x[-0,15 ; -0,075] , y[-1 ; -0,925]

More Related