x - Stephane Gobron

publicité
Big Bang Theory TV‐show
2017
Stéphane Gobron
HE‐Arc // hes.so
Algorithmes Numériques
7 chapitres

Codage des nombres

 Résolution d’équations





Systèmes linéaires
Dérivation
Intégration
Equation différentielles
Optimisation
Nuage de mots de ce chapitre
Super heros de ce chapitre
Résolution d’équations







Problématique
Modèle mathématique
Méthode par dichotomie
Interaction sur l’algorithme
Méthode de Newton
Méthode du point fixe
Labo 2
Résolutions par dichotomie et point fixe




Molière?
Newton?
Abel?
Euclide?
Algorithmes Numériques
Résolution d’équation
Problématique
Prédictions de collisions

Prédictions / collisions

E.g. Tirs balistiques

Attention, la simple équation du second degré n’est pas du tout réaliste donc inutile en pratique
Tirs balistiques
Algorithmes Numériques
Résolution d’équation
Problématique

f(x)
Nous nous intéressons à tous les problèmes
pouvant être mis en équation

f(x) = g(x)

On cherche à trouver tous les x satisfaisant cet équation
(1)
(1) peut encore s’écrire sous la forme :
 f(x) – g(x) = 0
 f2(x) = 0

g(x)
x1
x2
f2(x)
sin x 
x
3
Algorithmes Numériques
Modèle mathématique

Admettons que nous ne nous intéressions qu’aux équation algébrique
Équation dite «algébrique» si on peut
l’écrire sous forme :
 P(x) = 0
 avec P polynôme de degré n

si n<5 => solution mathématique
si n>4 le mathématicien N. Abel a démontré qu’il n’existe pas de racine directe!
résolution analytique
uniquement dans quelques cas
particuliers
utilisation de méthodes numériques
https://fr.wikipedia.org/wiki/Niels_Henrik_Abel
Résolution d’équation
Niels Henrik Abel est à l'origine de la notion de nombre algébrique
Niels Henrik Abel
(1802 ~ 1829)
Exemples d’équations algébriques
sin x 
x
3
Algorithmes Numériques
Résolution d’équation
Modèle mathématique

Si elle n’est pas algébrique, elle est dite «transcendante»
Solutions mathématiques rares et souvent non triviales
 utilisation de méthodes numériques  /!\ précision limitée

Exemple d’équation transcendante : sin(x)=x/3
1.0
0.5
1
2
3
4
0.5
Représentation des deux fonctions sin(x) et de x/3 ;
Cercles rouges : les deux solutions pour x positif




Pythagore?
Bolzano?
Lagrange?
Gauss?
x  0;2 
pour laquelle
x
sin x 
3
Algorithmes Numériques
L’idée de base

f(x) – g(x) = 0
 sin(x)-x/3 = 0

Théorème de Bolzano

Si une fonction f est continue sur [a,b] et change de signe sur cet intervalle, alors f
s'annule en au moins un point c de [a,b]
https://fr.wikipedia.org/wiki/Bernard_Bolzano
Résolution d’équation
sin(x)=x/3
Bernhard Bolzano
(1781 ~ 1848)
=> sin(x)-x/3=0
sin(x)-x/3
f(x)
ab
f

 2 
Algorithmes Numériques
Résolution d’équation
Méthode «dichotomie»


Méthode de Bolzano
Chercher une solution par dichotomie


Avantage
convergence assurée Inconvénients
Nb d'itérations de 3 à 4 fois le nombre de chiffres significatifs voulus
 converge « lentement »



Note importante : la dichotomie et aussi appelée «bissection» , terme plus anglophone
Algorithmes Numériques
Résolution d’équation
Méthode «par dichotomie»

Algorithme 1
Algorithme orienté mathématique et non informatique
 Le raisonnement est mathématiquement correct
 mais l’algorithme résultant n’est pas bien
adaptée aux contraintes informatiques

Initialiser (avec a  b ) : a ; b ; f  x  ; 
Poser : fa  f  a  ; fb  f  b 
Répéter tant que b  a  
ab
2
fm  f  m 
Si fm  fa  0 ,
alors b  m et fb  fm
sinon a  m et fa  fm
Afficher : x  m
m
Algorithme 1
Algorithmes Numériques
Codage des nombres
Développement info.
Amélioration d’algo

Vous avez 5 minutes pour trouver les problèmes et/ou
améliorations de cet
algorithme
Indices!
 Il y en a au moins deux
Initialiser (avec a  b ) : a ; b ; f  x  ; 
Poser : fa  f  a  ; fb  f  b 
Répéter tant que b  a  
ab
2
fm  f  m 
Si fm  fa  0 ,
alors b  m et fb  fm
sinon a  m et fa  fm
Afficher : x  m
m
Algorithme 1
fb déclaré, initialisé, mais n’est jamais utilisé
machine? => boucle infinie
Algorithmes Numériques
Résolution d’équation
Méthode «par dichotomie»
Algorithme 2
avantages :
 zéro avec la meilleure précision relative à l'ordinateur utilisé
 Pas de boucle infinie

Algorithme 2
Cette condition fonctionne, néanmoins préférez :
|mnew-mold| >  machine




Molière?
Newton?
Mozart?
Euclide?




Pythagore?
Montesquieu?
Lagrange?
Euler?
Algorithmes Numériques
Méthode de la tangente






Méthode de Newton
Pour toute fonction f(x)
partir d’un point Pk(xk,0)
trouver le point sur la fonction (xk, f(xk))
utiliser la pente en ce point pour construire une droite
calculer l’intersection de cette droite avec l’axe des (x) que l’on nomme Pk+1
répéter les quatre étapes précédentes tant que Pi différent Pi-1
https://fr.wikipedia.org/wiki/Isaac_Newton
Résolution d’équation
f(x)
Isaac Newton
(1642 ~ 1727)
r
xk+ 2 xk+1
Pk
xk
Algorithmes Numériques
Résolution d’équation
Algorithme, méthode de la tangente
Principe
utiliser la pente, donc la dérivée dk de la fonction f(x) en xk
 calculer l’intersection de la droite Dk(x) avec l’axe de (x) en (xk+1,0)




Déclarer : xkOld; xk; dk
Avec Dk(x) = ax+b, ‘a’ la pente représentée par dk
Initialiser :
Répéter tant que |xkOld - xk|൑
xkOld = xk
dk=f’(pk)
calculer b de la droite Dk
Avantage
Cette méthode peut converger très vite
pk=intersection(Dk et axeX)
xk=pkx
r=xk
Algorithme de la tangente
Algorithmes Numériques
Résolution d’équation
Algorithme, méthode de la tangente

En quelques minutes, réfléchissez sur l’algorithme de droite
Indices!
 1. en informatique, une bonne approximation est tout aussi « valable » que la solution analytique
 2. y=ax+b 
 3. voir chapitre 3 …!
Déclarer : xkOld; xk; dk
Avec Dk(x) = ax+b, ‘a’ la pente représentée par dk
Initialiser :
Répéter tant que |xkOld - xk|൑
xkOld = xk
1.
dk=f’(pk)
2.
calculer b de la droite Dk
pk=intersection(Dk et axeX)
xk=pkx
r=xk
Algorithme de la tangente
3.
f xxk k1f xf kxk 1xk f  xk 1 

xykL'équation
 x  xkreliant
  f  xk 
de la droite
1 
xkf  xxkk1 f  xk 1 
x
k 1 ; f  xk 1   à  xk ; f  xk  
est :
f  xk   f  xk 1 
y  Algorithmes Numériques
 x  xk   f  xk 
xk  xk 1
Méthode de la tangente
1. Comment calculer la dérivée di ?
Approximation suffisante
 Méthode de Lagrange

2. Comment trouver b?
https://fr.wikipedia.org/wiki/Joseph‐Louis_Lagrange
Résolution d’équation
Joseph‐Louis Lagrange
(1736 ~ 1813)
r
xk+ 1 xk
La droite D(x) devient :
La droite Dk = a.x+b
En xk, on connaît le point (xk, f(xk)) donc f(xk)=dk.xk+b
D’où b=f(xk)/dk.xk
Approximation de di
xk- 1
Algorithmes Numériques
Résolution d’équation
Méthode de la tangente

Enorme inconvénient
Pas de convergence!
Divergence si la pente est trop faible
 Voire boucle infinie 


x0
Cercle vicieux
Algorithmes Numériques
Résolution d’équation
Méthode du point fixe
y=x

Hypothèse : on cherche les racines de f(x)

Principe fondamental : utiliser une fonction
g(x)
g(x) = x+f(x)
f(x)
r
…
Algorithmes Numériques
Résolution d’équation
Méthode du point fixe
g(x) = x+f(x)
(1)
permet de construire des figures comme dans l’exemple ci‐à‐droite
 L’idée est toujours de trouver une racine ‘r’ qui satisfasse f(r)=0 alors (1)
 g(r)= r+ x 
 g(r) = r



g(x)
On cherche donc un point fixe r de g en construisant la suite suivante xi+1 =
g(xi)
f(x)
Et ça ressemble vivement à un algorithme! 
r
…
Algorithmes Numériques
Résolution d’équation
(a) Méthode du point fixe


Avantage
Facile à programmer


Inconvénient
Diverge souvent
(b) Voici quelques exemples :
(a) convergence monotone
(b) divergence monotone
(c) convergence alternée
(d) divergence alternée
(c) (d) Algorithmes Numériques
Résolution d’équation
Labo 2


Développer un programme présentant
une des trois methodes
pour trouver toutes les solutions de ‐100 à 100 Utiliser les fonctions
sin( x ) – x/13
et x / (1-x2)
0.6
0.4
0.2
Selon la méthode
 Dichotomie: calculer les erreurs de votre algorithme


Pente (Newton) : si la valeur x0 ne converge pas, l’algo s’arrête et propose d’augmenter ou de diminuer x0
Point fixe : en jouant sur 
1.8
2.0
2.2
2.4
2.6
2.8
3.0
0.2
Les points pour tendre à 6 sont principalement attribués selon la qualité de construction visuel de la méthode choisie.
Merci! Questions?
Prochain cours :
Systèmes linéaires




Problématique
Modèle mathématique
Méthode de Cramer
Méthodes directes
Substitution
Elimination de Gauss

Labo 3
Exemple de système linéaire
Téléchargement