Vous êtes sur la page 1sur 173

INFORMATIQUE 4:

ALGORITHMES NUMÉRIQUES
Ja ques Tagoudjeu

Department MSP
E ole Nationale Supérieure Polyte hnique,
Université de Yaounde I

Mar h 19, 2020

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 1 / 173


Obje tifs du ours

Outline

1 Obje tifs du ours


Obje tifs
Contenu du Cours
Référen es du Cours

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 2 / 173


Obje tifs du ours Obje tif

Obje tifs

Introdu tion à l'élaboration et l'étude des algorithmes pour la


résolution des problèmes Mathématiques;
Implémentation des algorithmes à l'aide d'un outil de al ul
s ientique (Matlab/O tave, Python, S ilab, et ).
Ces obje tifs s'ins rivent bien dans la ulture s ientique:
Justier soigneusement la démar he;
Bien hoisir la méthode, si possible e a e;
Lors des al uls numériques, ontrler les erreurs;
Interpréter prudemment les résultats;
Vérier, re ouper, utiliser le bon sens.

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 3 / 173


Obje tifs du ours Contenu du Cours

Contenu du Cours
1 Rappels d'algorithmique (Stru ture, Algorithmes Ré ursif)
2 Complexités des algorithmes;
3 Notions d'erreur, Représentation des Nombres, al ul exa t vs al ul
appro hé;
4 Introdu tion à Matlab;
5 Sommation numériques (Suites et Séries Numériques); Implementation des
fon tions usuelles (Développement de Taylor, séries entières);
6 Arithmétique des polynmes;
7 Cal ul matri iel, systèmes d'équations linéaires;
8 Interpolation de Lagrange, approximation polynomiale;
9 Intégration numérique : méthodes de re tangles, trapèzes, Simpson,
méthodes sto hastiques;
10 Méthodes itératives : méthode du point xe, méthode de Newton;
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 4 / 173
Obje tifs du ours Référen es du Cours

Référen es du Cours
1 Algorithmique de base, Support de Cours.
Auteur: Dr NDONG NGUEMA;
2 Sommation Numérique des séries, Support de Cours.
Auteur: Dr NDONG NGUEMA;
3 Introdu tion à MATLAB et GNU O tave.
Auteur: Jean Daniel Bonjour;
disponible en ligne à http : //enacit1.epf l.ch/cours_matlab/
(version html) ou
http : //enacit1.epf l.ch/cours_matlab/pdf /M atlab − Octave −
Cours − JDBonjour − 2013 − 09 − 17.pdf (version pdf);
4 Introdu tion to Algorithm, 3rd ed., T. H. Cormen, C. E. LEISERSON,
R. L. RIVEST, C. STEIN, MIT Press, 2009
5 Programming for Computations -MATLAB/O tave, S. Linge, H. P.
Langtangen, Springer, 2016
6 Programming for Computations -PYTHON, S. Linge, H. P.
Langtangen, Springer, 2016
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 5 / 173
Rappels d'algorithmique

Outline

2 Rappels d'algorithmique
Rappels de base
Les omposants du LEA
Algorithmes Ré ursifs

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 6 / 173


Rappels d'algorithmique Rappels de base

Langage d'Expression Algorithmique (LEA)

L'ordinateur présente l'avantage d'exé uter beau oup de traitements


omplexes plus vite et plus sûrement que l'homme.
Cependant il ne peut exé uter que les ordres qu'on lui donne à travers
un programme informatique qui doit être établi de manière à envisager
toutes les éventualités possibles.
Un programme informatique (ou ode) est généralement é rit dans un
langage de programmation, que l'ordinateur interprète et exé ute an
de fournir les résultats es omptés.

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 7 / 173


Rappels d'algorithmique Rappels de base

Langage d'Expression Algorithmique (Suite)

Il existe un nombre élevé de langage de programmation, présentant


ha un ses spé i ités (orienté à résoudre une lasse de problèmes).
Il est né essaire d'adopter une base universelle ommune,
ompréhensible par le plus grand nombre, sur laquelle s'appuyer pour
on evoir et é rire initialement les programmes informatiques, qui
pourront être traduits dans des langages de programmation appropriés.
Pour ela, on utilise un Langage d'Expression Algorithmique
(LEA) ou un pseudo- ode.

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 8 / 173


Rappels d'algorithmique Rappels de base

Étapes d'un algorithme


Dénir lairement le problème: Déterminer toutes les informations
disponibles sur les données et la forme des résultats attendus.
Spé i ation d'un ensemble de données (énon é, hypothèses, sour es
externes, ...);
Spé i ation d'un ensemble de buts à atteindre (résultats, opérations à
ee tuer, ...);
Spé i ation des ontraintes.
Analyser le problème: Re her her une méthode de résolution en
déterminant un moyen pour passer des données aux résultats.
Clarier l'énon é;
Simplier le problème;
S'assurer que le problème est soluble;
Re her he d'une stratégie de onstru tion de l'algorithme;
Dé omposer le problème en sous problèmes partiels plus simples :
ranement;
Ee tuer des ranements su essifs (Le niveau de ranement le plus
élémentaire est elui des instru tions de base).
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 9 / 173
Rappels d'algorithmique Rappels de base

Étapes d'un algorithme (suite)

É rire l'algorithme: Dé rire de manière détaillée les diérentes


étapes pour passer des données aux résultats. On pro ède par
ranement su essif pour des algorithmes omplexes
Les types des données et des résultats doivent être pré isés;
L'algorithme doit fournir au moins un résultat;
L'algorithme doit être exé uté en un nombre ni d'opérations;
L'algorithme doit être spé ié lairement, sans la moindre ambiguïté.

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 10 / 173


Rappels d'algorithmique Rappels de base

Quelques dénitions du mot algorithme


Dénitions:
1 Un algorithme est le résultat d'une démar he logique de résolution
d'un problème.
2 C'est une série d'a tions ou d'opérations élémentaires qu'il faut
exé uter en séquen e pour a omplir une tâ he quel onque, en suivant
un en haînement stri t.
3 C'est une pro édure de al ul bien dénie qui prend en entrée une ou
plusieurs valeurs appelées données et produit en sortie une ou un
ensemble de valeurs (ou a tions) appelées résultats.
4 C'est une suite d'étapes de al ul permettant de transformer les
données en résultats.
5 C'est un ensemble de règles permettant d'ee tuer un al ul soit à la
main soit par la ma hine.
6 C'est un en haînement d'a tions né essaires à l'a omplissement
d'une tâ he.
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 11 / 173
Rappels d'algorithmique Rappels de base

Propriétés d'un algorithme


Propriétés:
1 Généralité: Un algorithme doit être onstruit de manière à envisager
toutes les éventualités.
2 Finitude: Il doit être ni et doit se terminer après un nombre ni
d'opérations.
3 Dénitude: Chaque étape de l'algorithme doit être lairement dénie
et toutes les opérations doivent être dénies sans ambiguïté.
4 S'il y a des données, d'entrée, le domaine d'appli ation doit être
pré iser (les Types des données).
5 Il doit posséder au moins un résultat.
6 Ee tivité: Toutes les opérations doivent pouvoir être exé utées
exa tement et en temps ni.
7 E a ité: Idéalement, un algorithme doit être onçu de telle sorte
qu'il se déroule en un temps minimal et qu'il onsomme un minimum
de ressour es.
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 12 / 173
Rappels d'algorithmique Les omposants du LEA

Les omposants du LEA


Objets et Éléments Algorithmiques
Les Algorithmes sont élaborés à partir de omposants divers
permettant de spé ier en termes pré is un s héma de résolution:
Cara tères;
Libellé ou texte;
Opérateurs;
Mots lés;
Identi ateurs;
Expressions;
Sous-Programmes ou sous-algorithme
et ...
On distingue de manière générale, deux grands groupes de omposants
algorithmiques:
Les objets sur lesquels l'algorithme opère: les données (d'entrée et
sortie), les valeurs numériques, ara tères, haîne de ara tères, et ..;
Les éléments algorithmiques permettant la onstru tion de
l'algorithme: mots- lés, identi ateurs, expressions, opérateurs,
sous-programmes et ...
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 13 / 173
Rappels d'algorithmique Les omposants du LEA

Les Objets Élémentaires: Constantes et Variables


Objets
Ils représentent:
Les données ou informations fournies à l'algorithme;
Les résultats produits par l'algorithme;
Les données ou résultats intermédiaires servant aux manipulation
internes ( ompteur, sto kage des résultats intermédiaires, et );
On distingue de manière générale, deux atégories d'objets:
Les Constantes: dont les valeurs ne peuvent varier au ours de
l'exé ution de l'algorithme;
Les Variables: dont les valeurs peuvent varier lors de l'exé ution de
l'algorithme.
Tout objet élémentaire est ara térisé par trois attributs:
un (Identi ateur) qui est un nom symbolique utilisé pour manipuler
l'objet;
un Type qui ara térise les valeurs que peut prendre l'objet ainsi que
les a tions autorisées sur elui- i;
une valeur;
En générale, l'Identi ateur et le Type d'un objet sont xes.
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 14 / 173
Rappels d'algorithmique Les omposants du LEA

Classi ation de types de données

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 15 / 173


Rappels d'algorithmique Les omposants du LEA

Les Eléments de base

opérateurs
arithmétiques;
relationnels ( omparaison);
logiques;
ae tation;
fon tionnels
expressions;
instru tions
simples;
stru turées ou omposées.
sous-programmes
fon tions;
pro édures.

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 16 / 173


Rappels d'algorithmique Les omposants du LEA

Les Eléments de base: Opérateurs


Nom Symbole Exemple
Addition + a+b
Opérateurs arithmétiques Soustra tion - a-b
Opposé - -a
Produit * a*b
Division / a/b
Nom Symbole Exemple
Égale == a==b
Diérent 6= a 6= b
Opérateurs relationnels Inférieur < a<b
Supérieur > a>b
Inférieur ou égal ≤ a≤b
Supérieur ou égal ≥ a≥b
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 17 / 173
Rappels d'algorithmique Les omposants du LEA

Les Eléments de base: Opérateurs (suite)

Nom Symbole Exemple


Opérateurs Logiques Négation non non a
Et et a et b
Ou ou a ou b

Opérateur d'ae tation Nom Symbole Exemple


Ae tation ← a←b
Opérateurs fon tionnels
Fon tions mathématiques standards;
Fon tions de onversion de type;
et ...;

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 18 / 173


Rappels d'algorithmique Les omposants du LEA

Les Expressions

Dénition
Une expression algorithmique est une ombinaison des objets de
l'algorithme et/ou des valeurs onstantes (opérandes) à travers des
opérateurs et/ou des sous-programmes.

Exemple:
Nom_Variable; 2*A+B/C;
√ sin(A+5);
os(Pi+0.3); (B- 4 ∗ C /4);
(A=0 et B=1) ou (C>1 et non (D ≥ 0));

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 19 / 173


Rappels d'algorithmique Les omposants du LEA

Priorité des opérations


Lorsqu'on asso ie plusieurs opérations, elles- i s'exé utent suivant un
ordre de priorité bien déni. Suivant la priorité dé roissante, on a
l'ordre suivant:
Ordre Opérateurs
0 ()
1 Appel de fon tions et pro édures
2 Elevation à la puissan e
3 *, /
4 +, -
5 ==, 6=, <, >, ≥, ≤
6 et, ou, non

En as de priorité de même niveau, les opérations s'ee tuent de la


gau he vers la droite.
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 20 / 173
Rappels d'algorithmique Les omposants du LEA

Les Instru tions d'un algorithme

Dénition:
Une instru tion d'un algorithme est une dire tive pré isant e qu'il faire à
un point pré is de elui- i.
Les instru tions d'un algorithme dé rivent plus ou moins en détail les
al uls et/ou les traitements sur les données. Elles s'exé utent dans l'ordre
séquentiel dans lequel elles apparaissent.
On distingue en général:
Les instru tions de dé laration;
Les instru tions de base (ou de traitement des données)
Les instru tions de stru turation des algorithmes (ou instru tions
stru turées ou omposées).

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 21 / 173


Rappels d'algorithmique Les omposants du LEA

Les Instru tions de dé laration

Elles se trouvent dans la partie dé larative et permettent de:


Dé larer les Constantes;
Dénir les Types auxiliaires;
Dé larer les Variables;

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 22 / 173


Rappels d'algorithmique Les omposants du LEA

Dé laration des onstantes


Syntaxe:
Constante:
Nom_Const1 = Val1;
Nom_Const2 = Val2;
.............................;
Nom_ConstN = ValN;
où Val1, Val2,...,ValN sont des valeurs onstantes et/ou des résultats issus
de l'évaluation des fon tions prédénies.
Exemple:
Constante:
pi = 3.14;
Nbre_Or = 1.618033;
Nmax = 100;

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 23 / 173


Rappels d'algorithmique Les omposants du LEA

Dénition de Types auxiliaires


Type auxiliaire:
Nom_type1 = des ription du Type1;
.............................;
Nom_typeN = des ription du TypeN;
Exemple:
Type auxiliaire:
ve teur = tableau [1..Taille_Ve t] de réel;
matri e = tableau [1..Nbre_ligne,1..Nbre_ ol] de réel;
point = enregistrement de:
x : réel;
y : réel;
n;
Suite = enregistrement de:
Taille : entier;
Val : ve teur;
n;
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 24 / 173
Rappels d'algorithmique Les omposants du LEA

Dé laration des Variables


Syntaxe:
Variable:
Nom_var11, Nom_var12, ..., Nom_var1k : Type1;
.............................;
Nom_varN1, Nom_varN2, ..., Nom_varNm : TypeN;
Exemple:
Variable:
A, B, C, Delta : réel;
i, j, k, n : entier;
u, v, w : ve teur;
M1, M2, M3 : matri e;
sexe : ara tère;
Trouver : booléen;
S1,S2,S3,S4 : Suite;
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 25 / 173
Rappels d'algorithmique Les omposants du LEA

Instru tions de base

Elles sont onstituées des:


Instru tions d'ae tation;
Instru tions de le ture et d'é riture;
appels de sous-programmes

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 26 / 173


Rappels d'algorithmique Les omposants du LEA

Instru tions d'ae tation:

Les instru tions d'ae tation permettent d'attribuer à une variable, une
valeur issue de l'évaluation d'une expression. Cette valeur doit être
ompatible ave le type de la variable.
Syntaxe:
Nom_Variable ← Expression;
Exemple:
A ← 5;
B ← 4*A + 3.14;
Lettre ← "A";
Test ← A==B;

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 27 / 173


Rappels d'algorithmique Les omposants du LEA

Instru tions de le ture et é riture:


Les instru tions de le ture et d'é riture permettent d'établir la
ommuni ation entre un programme et sont utilisateur: A quérir les
données né essaires, renvoyer les résultats obtenus, et ...
Syntaxe:
Lire (Suite noms de variables séparées par des virgules);
E rire (Liste d'objets);
où Liste d'objets est une suite d'objets ( onstantes, variables, expression ou
haîne de ara tères) séparés par des virgules.
Exemple:
Lire (A, B, C);
Delta ← B*B - 4*A*C;
E rire ( "Le dis riminant est: ", Delta);

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 28 / 173


Rappels d'algorithmique Les omposants du LEA

Instru tions de stru turation ou stru turées

Elle sont onstituées des:


Blo ks d'instru tions;
Instru tions répétitives (bou les "pour", "Tant Que" et "Répéter ....
Jusqu'à");
Les instru tions onditionnelles (alternative simple, alternative
omplète, hoix multiple).
...

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 29 / 173


Rappels d'algorithmique Les omposants du LEA

Blo k d'instru tions


C'est une séquen e (suite d'instru tions à exé uter dans un ordre donné) marquée
par les délimiteurs début et n.
Syntaxe:
début:
instru tion1;
instru tion2;
.............................;
instru tionN;
n:
Exemple:
début
Lire (A, B, C);
Delta ← B*B - 4*A*C;
Lettre ← "A";
E rire ( "Le dis riminant est: ", Delta);
n
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 30 / 173
Rappels d'algorithmique Les omposants du LEA

Instru tions répétitives: Bou le "Pour"


Syntaxe:
Pour Index = Ind_Déb (Pas) Ind_Fin Faire
début
instru tion1;
instru tion2;
.............................;
instru tionN;
n
Exemple:
Données: N
S ← 0;
Pour i = 1 (1) N Faire
début
S ← S + 1/(i*i);
n
Q: Que fait e mor eau d'algorithme?
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 31 / 173
Rappels d'algorithmique Les omposants du LEA

Instru tions répétitives: Bou le "Tant Que"


Syntaxe:
Tant que Condition Faire
début
instru tion (s);
n
Exemple:
Données: Theta
S ← 0;
i ← 0;
Tant que i < 1000 Faire
début
S ← S + os(i*Theta);
i ← i+1;
n
Q: Que fait e mor eau d'algorithme?
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 32 / 173
Rappels d'algorithmique Les omposants du LEA

Instru tions répétitives: Bou le "Répéter ...


Jusqu'à"
Syntaxe:
Répéter
instru tion (s);
Jusqu'à Condition
Exemple:
Données: Theta
S ← 0;
i ← 0;
Répéter
S ← S + sin(i*Theta);
i ← i+1;
Jusqu'à i>1000
Q: Que fait e mor eau d'algorithme?
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 33 / 173
Rappels d'algorithmique Les omposants du LEA

Instru tions onditionnelles: Alternative Simple


Syntaxe:
Si Condition Alors
début
instru tion (s);
n
Exemple:
Données: a
S ← a;
Si a < 0 Alors
début
S ← -a;
n
Q: Que fait e mor eau d'algorithme?

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 34 / 173


Rappels d'algorithmique Les omposants du LEA

Instru tions onditionnelles: Alternative Complète


Syntaxe:
Si Condition Alors
début
instru tion (s);
n
Sinon
début
instru tion (s);
n
Exemple:
Données: x
Si x < 0 Alors
début
Y ← 0;
n
Sinon
début
Y ← 1;
n

Q: Que fait e mor eau d'algorithme?


j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 35 / 173
Rappels d'algorithmique Les omposants du LEA

Instru tions onditionnelles: Choix Multiple


Syntaxe:
Cas V =
Val1,
début
instru tion (s);
Val2,
................
ValN,
début
instru tion (s);
n
Sinon
début
instru tion (s);
n
n

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 36 / 173


Rappels d'algorithmique Les omposants du LEA

Stru ture générale d'un programme en LEA

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 37 / 173


Rappels d'algorithmique Les omposants du LEA

Manipulation des  hier en LEA


Un  hier est un objet de l'algorithme qui doit être dé laré et a tivé
avant toute utilisation.
Dé laration des  hier:
Nom_Fi hier :  hier_texte;
A tivation du  hier: Elle onsiste à faire orrespondre à e dernier un
 hier physique par l'a tion d'atta hement où d'assignation omme
suit:
Atta her(Nom_Fi hier, "Chemin d'a ès au  hier");
Exemple: Atta her(Fi 1, "C:\Perso\TP\Mydata.txt");
Ouverture en le ture et é riture du  hier:
Ouvrirle ture(Nom_Fi hier); Lire(Nom_Fi hier, liste des variables);
Ouvrire riture(Nom_Fi hier); E rire(Nom_Fi hier, liste d'objets);
Contrle de n de  hier: EOF(Nom_Fi hier);
Fermeture du Fi hier: Fermer(Nom_Fi hier);
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 38 / 173
Rappels d'algorithmique Les omposants du LEA

Sous Programmes en LEA


Un  hier est un objet de l'algorithme qui doit être dé laré et a tivé
avant toute utilisation.
Dé laration des  hier:
Nom_Fi hier :  hier_texte;
A tivation du  hier: Elle onsiste à faire orrespondre à e dernier un
 hier physique par l'a tion d'atta hement où d'assignation omme
suit:
Atta her(Nom_Fi hier, "Chemin d'a ès au  hier");
Exemple: Atta her(Fi 1, "C:\Perso\TP\Mydata.txt");
Ouverture en le ture et é riture du  hier:
Ouvrirle ture(Nom_Fi hier); Lire(Nom_Fi hier, liste des variables);
Ouvrire riture(Nom_Fi hier); E rire(Nom_Fi hier, liste d'objets);
Contrle de n de  hier: EOF(Nom_Fi hier);
Fermeture du Fi hier: Fermer(Nom_Fi hier);
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 39 / 173
Rappels d'algorithmique Algorithmes Ré ursifs

Dénition: Algorithmes Ré ursifs


Un sous programme est dit ré ursif s'il s'appelle lui même, de façon dire te (appel
dire t) ou indire te (appel à un autre sous programme qui fait de nouveau appel à
e dernier).

Les sous programmes ré ursifs s'appliquent généralement aux problèmes qui


sont de nature ré ursive. Comme:
Les formules mathématiques ré urrentes;
Tri des données dans les stru tures (tableaux, listes, arbres, graphes)
et
L'exé ution des sous programmes ré ursifs se fait généralement en deux
phases en utilisant une stru ture de pile qui sert à sauvegarder les variables
intermédiaires aux moment ou le sous programme s'appelle lui même:
L'empilement des tâ hes;
Le désempilement des tâ hes.
La profondeur de la pile étant nie, un bon sous-programme ré ursif doit
avoir une ondition d'arrêt de la ré ursion.
La pile est du type FILO
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 40 / 173
Rappels d'algorithmique Algorithmes Ré ursifs

Avantages et In onvénients

Avantages:
Codi ation ompa te et réduite;
Permet de résoudre un problème en résolvant une ou des piè es
réduites du même problème en utilisant le même ode.
et
In onvénients:
Surveiller la profondeur disponible de la pile (le système pouvant
éje ter le pro essus par dépassement des ressour es autorisées);
Le temps d'exé ution est plus long, à ause des sauvegardes et de
ré upérations de tâ hes sur la pile.
Exemple: Cal ul de la fa torielle d'un entier

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 41 / 173


Rappels d'algorithmique Algorithmes Ré ursifs

Type de ré ursivité

Ré ursivité simple ou linéaire.


Ré ursivité multiple.
Ré ursivité mutuelle, indire te ou roisée.

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 42 / 173


Rappels d'algorithmique Algorithmes Ré ursifs

Type de ré ursivité (suite)

Ré ursivité simple ou linéaire.


Un algorithme ré ursif est dit simple ou linéaire, si haque as qu'il
distingue se résout en au plus un appel ré ursif.
Exemple.
• Cal ul de la fa torielle d'un entier;
• Cal ul du PGCD de deux entiers positifs.

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 43 / 173


Rappels d'algorithmique Algorithmes Ré ursifs

Type de ré ursivité (suite)


Ré ursivité multiple.
Un algorithme ré ursif est dit multiple, si l'un des as qu'il distingue se
résout ave plusieurs appels ré ursifs.
Exemple:
• Suite de Fibona i.
F0 = 0; F1 = 1; Fn+2 = Fn+1 + Fn , ∀n ∈ N.
• Fon tion d'A kermann-Péter
 n + 1 si m = 0

A(m, n) = A(m − 1, 1) si m > 0 et n = 0


A(m − 1, A(m, n − 1)) si m > 0 et n > 0

1) Cal uler A(0, 4), A(1, 2), A(2, 1) et A(3, 0).
2) E rire une fon tion permettant de al uler A(m, n) pour m et n positifs.

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 44 / 173


Rappels d'algorithmique Algorithmes Ré ursifs

Type de ré ursivité (suite)

A(0, 4) = 5
A(1, 2) = 4
A(2, 1) = 5
Pour le al ul de A(4, 1) le nombre d'appels ré ursifs est supérieur à 500!!!

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 45 / 173


Rappels d'algorithmique Algorithmes Ré ursifs

Type de ré ursivité (suite)


Ré ursivité mutuelle, indire te ou roisée.
Deux algorithmes sont dits mutuellement ré ursifs si l'un fait appel à
l'autre et vis versa.
Exemples:
• Parité d'un entier:
P (n) = prédi at de test de parité sur l'entier n;
I(n) = prédi at de test d'imparité sur l'entier n.
P(n) I(n)
Si n=0 alors Si n=0 alors
P(n) = VRAI I(n) = FAUX
sinon sinon
P(n) = I(n-1) I(n) = P(n-1)
Fin Fin

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 46 / 173


Complexité de Algorithmes

Outline

3 Complexité de Algorithmes
Dénition
Ordre de grandeur: Notations asymptotiques (O, Θ et Ω)
Cal ul de la omplexité des Algorithmes
Performan e des algorithmes de re her he et de tri

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 47 / 173


Complexité de Algorithmes Dénition

Complexité des Algorithmes

Complexité d'un algorithme : Coût de e dernier. Elle est mesurée


en fon tion d'un paramètre entier n ara térisant le problème à
résoudre.
But:
Evaluer l'e a ité des algorithmes;
Comparer les performan es des algorithmes ee tuant les mêmes
tâ hes.
Propriétés:
Indépendan e vis-à-vis de l'ordinateur utilisé;
Indépendan e vis-à-vis du langage de programmation utilisé pour sa
tradu tion;
Indépendan e vis-à-vis du programmeur;
Indépendan e vis-à-vis des détails d'implementation;
et ...

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 48 / 173


Complexité de Algorithmes Dénition

Complexité des Algorithmes (Suite)

Paramètres essentielles:
Espa e mémoire requis (de moins en moins onsidérer a tuellement,
mais pris en ompte en as de ré ursivité);
Temps d'exé ution (Dé omptes du nombre d'opérations élémentaires
pertinentes pour la résolution du problème onsidéré);
Ainsi, on a:
Complexité en temps: C'est une fon tion f de n qui permet de
mesurer le temps de al ul pour la mise en oeuvre de l'algorithme;
Complexité en mémoire: C'est une fon tion f de n qui permet de
mesurer la quantité de pla e mémoire né essaire à la mise en oeuvre
de l'algorithme.

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 49 / 173


Complexité de Algorithmes Ordre de grandeur

Complexité des Algorithmes (Suite)


Ordre de grandeur:
Ne pouvant pas toujours déterminer ave exa titude le nombre
d'opérations élémentaires, on donne souvent l'ordre de grandeur de
elui- i en fon tion du nombre de paramètres ara téristiques n du
problème.
Ordre de grandeur des fon tions: Notations O, Θ et Ω.
Soit f une fon tion dénie sur N
O(f ) = {g : ∃c > 0, n0 ∈ N tel que ∀n ≥ n0 , g(n) ≤ c.f (n)};

Ω(f ) = {g : ∃c > 0, n0 ∈ N tel que ∀n ≥ n0 , g(n) ≥ c.f (n)};


Θ(f ) = {g : ∃c1 > 0, ∃c2 > 0, n0 ∈ N tel que
∀n ≥ n0 , c1 .g(n) ≤ f (n) ≤ c2 .g(n)};

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 50 / 173


Complexité de Algorithmes Ordre de grandeur

Complexité des Algorithme (Suite)

Borne supérieure asymptotique: f (n) est une borne asymptotique


supérieure de g(n) (ou g(n) est de borne asymptotique supérieure
f (n)) si
g(n) = O(f (n))
Borne inférieure asymptotique: f (n) est une borne asymptotique
inférieure de g(n) (ou g(n) est de borne asymptotique inférieure
f (n))si
g(n) = Ω(f (n))
Borne asymptotique: f (n) est une borne asymptotique g(n) si
g(n) = Θ(f (n))

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 51 / 173


Complexité de Algorithmes Ordre de grandeur

Illustration des notations asymptotiques


j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 52 / 173
Complexité de Algorithmes Ordre de grandeur

Quelques Propriétés des notations asymptotiques


Réexivité:
• f = O(f ); • f = Ω(f );
• f = Θ(f ).
Symétrie:
• f = Θ(g) ssi g = Θ(f )
Transitivité:
• Si f = O(g) et g = O(h) alors f = O(h);
• Si f = Ω(g) et g = Ω(h) alors f = Ω(h);
• Si f = Θ(g) et g = Θ(h) alors f = Θ(h).
Produit par un s alaire:
• Soit λ > 0. λO(f ) = O(λf ) = O(f )
Somme et produit de fon tions:
• O(f ) + O(g) = O(max(f, g));
• O(f ).O(g) = O(f.g);
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 53 / 173
Complexité de Algorithmes Ordre de grandeur

Complexité des Algorithmes (Suite)

Dans l'étude de la omplexité des algorithmes, on distingue de manière


générale, les as suivants:
Cas le plus favorable;
Cas le plus défavorable;
Cas moyen (parfois di ile à déterminer).
Le temps d'exé ution d'un algorithme est un Θ(f (n)) si et
seulement si son temps d'exé ution dans le as le plus
défavorables est un O(f (n)) et dans le as le plus favorable est
un Ω(f (n)).

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 54 / 173


Complexité de Algorithmes Ordre de grandeur

Complexité des Algorithmes (Suite)

Classes de omplexité généralement ren ontrés


Notation Type de omplexité pour n = 100 à 108 ops/s
1 O(1) Constante Temps onstant
2 O(log(n)) Logarithmique 10−7 se onde
3 O(n) Linéaire 10−6 se onde
4 O(n log(n)) Quasilinéaire 10−5 se onde
5 O(n ) 2 Quadratique 10−4 se onde
6 O(n3 ) Cubique 10−2 se onde
7 O(n ); p > 1 Polynomiale
p 11 jours si p = 7
8 O(a ); a > 1 Exponentielle
n 1014 années si a = 2
9 O(n!) Fa torielle 10142 années

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 55 / 173


Complexité de Algorithmes Cal ul de la omplexité des Algorithmes

Rappels sur les sommations.


Les sommations interviennent naturellement dans l'analyse de la
omplexité des algorithmes itératifs ainsi que dans la résolution de
ertaines ré urren es.
Comme mentionné plus haut on pourra se ontenter dans ertains as
de l'ordre de grandeur des sommations.
Série onstante: Soient m et n deux entiers. On a
n
X
1 = max(n − m + 1, 0).
i=m

Soit n ∈ IN,
n n
X n(n + 1) X 2n3 + 3n2 + n
i= ; i2 =
2 6
i=1 i=1

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 56 / 173


Complexité de Algorithmes Cal ul de la omplexité des Algorithmes

Soit x 6= 1
n n
X xn+1 − 1 X (n − 1)xn+1 − nxn + x
xi = ; ixi =
x−1 (x − 1)2
i=0 i=0

Approximation par une intégrale: Soit f une fon tion stri tement
roissante, on a:
Z n n
X Z n+1
f (x)dx ≤ f (i) ≤ f (x)dx.
0 i=1 1

Soit m et n deux entiers tels que 1 ≤ m ≤ n,


n
X n
X m−1
X
f (i) = f (i) − f (i)
i=m i=0 i=0

Série harmonique: Soit n un entier stri tement positif, on a:


n
X 1
= ln(n) + O(1)
i
i=1

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 57 / 173


Complexité de Algorithmes Cal ul de la omplexité des Algorithmes

Coût d'une onditionnelle: On onsidère la stru ture


Si (Cond) Alors
ACTION 1;
Sinon
ACTION 2;
FinSi
Si O(h(n)), O(f (n)) et O(g(n)) désignent respe tivement les
omplexités de l'évaluation de Cond, ACTION 1 et ACTION 2, alors
la omplexité de la stru ture onditionnelle i-dessus est
 
max O(h(n)), O(f (n)), O(g(n)) .

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 58 / 173


Complexité de Algorithmes Cal ul de la omplexité des Algorithmes

Coût d'une bou le Pour: Dans la bou le


Pour i=Ideb (pas) In faire
début
ACTION(i);
n
Si c(i) désigne le oût de l'exé ution de ACTION(i) et
k = E ((If in − Ideb)/pas) + 1 désigne le nombre de passage dans la
bou le. Soit U = {ui }ki=1 la suite nie dénie par u1 = Ideb,
ui+1 = Ui + pas (1 ≤ i ≤ k − 1) alors le oût de la bou le est:
X
C= c(j)
j∈U

Si c(i) = c, une onstante, alors C = c.k.


Si pas = 1 alors
If
X in
C= c(i)
Ideb

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 59 / 173


Complexité de Algorithmes Cal ul de la omplexité des Algorithmes

Coût d'une bou le Tant que: Dans la bou le


Tant que C(x) faire
début
ACTION(x);
n
Soit x0 la valeur initiale de la donnée x et x1 , x2 , ..., xk les valeurs
qu'elle prend su essivement à haque étape, xk+1 la première valeur
pour laquelle la ondition C(xk+1) n'est plus satisfaite;
Soient c(i) le oût de la ondition C(xi ) et f (i) le oût de l'exé ution
de ACTION(xi ). Alors le oût de la bou le pré édente est:
k+1
X k
X
C= c(i) + f (i)
i=0 i=0
.

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 60 / 173


Complexité de Algorithmes Cal ul de la omplexité des Algorithmes

Cas des Algorithmes ré ursifs:


La omplexité d'un algorithme ré ursif s'obtient par la résolution d'une
équation de ré urren e en éliminant la ré urren e par substitution de
pro he en pro he.
Exemple 1: Cal ul de la fa torielle
fa t(n):
Début
Si n==0 alors
Renvoyer(1);
sinon
Renvoyer(n*fa t(n-1));
fsi
Fin
Le oût C(n) en termes de multipli ations est:

C(0) = 0
.
C(n) = C(n − 1) + 1, n ≥ 1
Soit: C(n) = n
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 61 / 173
Complexité de Algorithmes Cal ul de la omplexité des Algorithmes

Exemple 2: Problème de la Tour d'Hanoï


HANOI(n,D,A,I):
Début
Si n==1 alors
Dépla er de D vers A;
sinon
HANOI(n-1,D,I,A);
Dépla er de D vers A;
HANOI(n-1,I,A,D);
fsi
Fin
Le oût C(n) en termes du nombre de dépla ement dépend de n et
est donné par:
C(1) = 1 et C(n) = 1 + 2C(n − 1), n ≥ 2
Soit: C(n) = 2n − 1
Le oût d'un algorithme s'exprime généralement sous la forme d'une
équation ré urrente.
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 62 / 173
Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Cas des Algorithmes de Re her he et de Tri

Performan e des algorithmes de re her he et de tri: On onsidère les


algorithmes de re her he et de tri appliqués au tableaux de taille N . Les
opérations onsidérées sont:
Les omparaisons sur les éléments du tableau. On note C(N ) le
nombre de omparaisons.
Les dépla ements des éléments du tableau. On note D(N ) le nombre
de dépla ements.

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 63 / 173


Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Re her he séquentielle dans un tableau non trié On re her he la


position d'un réel x dans le tableau non trié T de taille N .

Fon tion Re her heNonTrie (T : tableau, Nb_elts :entier,


x : réel) : entier
(* Obje tif: Re her he la position de l'élément x dans le tableau non trié
de réels T*)
(* Paramètres entrants: T: tableau de réels; Nb_elts: Nbre d'éléments
du tableau T; x: réel dont on her he la position dans T *)
(* Résultat: position de x si x est dans T, -1 sinon *)

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 64 / 173


Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Variable:
i: entier;
Début
i ← 1;
Tant que (i ≤ N ) et (T [i] 6= x) faire
i ← i + 1;
fTantque
Si i == N + 1 alors
Re her heNonTrie ← −1;
Sinon
Re her heNonTrie ← i
fSi
Fin
Cas favorable: x = T [1]; C(N ) = O(1);
Cas défavorable: x ∈/ T ; C(N ) = O(N ).
Cas moyen: x se trouve au milieu du tableau T ; C(N ) = O(N/2)
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 65 / 173
Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Re her he séquentielle dans un tableau trié

On re her he la position d'un réel x dans le tableau trié T de taille N .

Fon tion Re her heLinTrie (T : tableau, Nb_elts :entier,


x : réel) : entier
(* Obje tif: Re her he la position de l'élément x dans le tableau trié de
réels T*)
(* Paramètres entrants: T: tableau de réels; Nb_elts: Nbre d'éléments
du tableau T; x: réel dont on her he la position dans T *)
(* Résultat: position de x si x est dans T, -1 sinon *)
Variable:
i: entier;

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 66 / 173


Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Début
Si x < T [1] ou x > T [N ] alors
Re her heLinTrie ← −1
fSi
i ← 1;
Tant que (x > T [i]) faire
i ← i + 1;
fTantque
Si x 6= T [i] alors
Re her heLinTrie ← −1;
Sinon
Re her heLinTrie ← i
fSi
Fin
Cas favorable: x > T [N ] ou x ≤ T [1]; C(N ) = O(1);
Cas défavorable: x ∈/ T et T [N − 1] < x < T [N ]; C(N ) = O(N ).
Cas moyen: x se trouve au milieu du tableau T ; C(N ) = O(N/2)

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 67 / 173


Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Re her he di hotomique dans un tableau trié de


taille N
On re her he la position d'un réel x dans le tableau trié T de taille N .

Fon tion Re her heBinTrie (T : tableau, Nb_elts :entier,


x : réel) : entier
(* Obje tif: Re her he la position de l'élément x dans le tableau trié de
réels T par une appro he di hotomique *)
(* Paramètres entrants: T: tableau de réels; Nb_elts: Nbre d'éléments
du tableau T; x: réel dont on her he la position dans T *)
(* Résultat: position de x si x est dans T, -1 sinon *)
Variable:
indG, indD, mileu: entier;
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 68 / 173
Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Début
indG ← 1; IndD ← N ;
Tant que (indG ≤ indD) faire
début
milieu ← div(indG + indD, 2);
Si (x == T [milieu]) alors
Renvoyer(milieu);
fSi
Si (x < T [milieu]) alors
IndD ← milieu − 1;
Sinon
IndG ← milieu + 1;
fSi
n
Renvoyer(-1);
Fin
Cas favorable: x est au milieu de T ; C(N ) = O(1);
Cas défavorable: x ∈/ T ; C(N ) = O(log2 (N )).

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 69 / 173


Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Algorithmes de Tri

Le tri onsiste à réarranger une permutation de n objets suivant un


ordre roissant ou dé roissant.
Plusieurs algorithmes de tri:
Tri par séle tion;
Tri par insertion;
Tri bulle;
Tri fusion;
Tri par segmentation (Qui k Sort),...

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 70 / 173


Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Tri séle tion d'un tableau de taille N


Prin ipe: Cher her le plus petit (le plus grand) élément et le mettre au
début (à la n). Répéter le pro essus sur le sous ve teur non trié

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 71 / 173


Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

A l'étape i, on a la onguration suivante:

Une pro édure ommune aux algorithmes de tri: l'é hange de valeurs
Pro édure E hange(Var x,y:réel);
(* Obje tif: é hanger les valeurs de 2 variables réelles x et y;
Paramètres rentrants: x, y initiaux;
Paramètres sortants: x, y permutés;*)
Variable:
aux: réel;
Début (* de E hange*)
aux ← x;
x ← y;
y ← aux;
Fin (* de E hange*)
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 72 / 173
Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Pro édure TriSele tion (Var T : tableau, Nb_elts :entier);


(* Obje tif : Tri par ordre roissant d'un ve teur de nombres réels par
séle tion;
Paramètres entrants: T: tableau non trié; Nb_elts: Nbre d'éléments du
tableau T;
Paramètres sortants: T, tableau trié*)
Variable:
i, j, pp: réel;

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 73 / 173


Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Début
Pour i = 1(1)N − 1 faire
début
pp ← i;
Pour j = i + 1(1)N faire
début
Si (T [j] < T [pp]) alors
pp ← j ;
fSi
n
Si pp 6= i alors
Echange(T [i], T [pp])
fSi
n
Fin

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 74 / 173


Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Tri séle tion d'un tableau de taille N

A l'étape i de la méthode, on ee tue N − i omparaisons et 1


dépla ement. D'où:
N −1 N −1
X X N (N − 1)
C(N ) = N −i= i= = O(N 2 )
2
i=1 i=1

N
X −1
D(N ) = 1 = N − 1 = O(N )
i=1

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 75 / 173


Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Tri par insertion d'un tableau de taille N

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 76 / 173


Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Tri par insertion d'un tableau de taille N

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 77 / 173


Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Tri par insertion d'un tableau de taille N


Variable:
i, j :
entier;
V al :
réel;
Début (* TriInsertion *)
Pour i = 2(1)N faire
début
V al ← T [i];
j ← i;
Tant que j > 1 et (T [j − 1] > V al) faire
début
T [j] ← T [j − 1];
j ← j − 1;
n
T [j] ← V al;
n
Fin (* TriInsertion *)
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 78 / 173
Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Tri par insertion d'un tableau de taille N


Cas favorable: Le tableau est trié et à haque étape i, on ee tue 1
omparaison et 0 dépla ement. D'où:
C(N ) = N − 1 = O(N ) et D(N ) = 0

Cas défavorable: Le tableau est trié dans l'ordre inverse. A haque étape,
l'insertion se fait au début de la partie triée: a l'étape i, on ee tue i − 1
omparaisons et i − 1 dépla ements. D'où:
N N −1
X X N (N − 1)
C(N ) = D(N ) = i−1= i= = O(N 2 /2)
i=2 i=1
2

Cas moyen: A haque étape i, l'insertion se fait au milieu de la partie triée.


On ee tue alors i/2 omparaisons et i/2 dépla ements. D'où:
N N −1
X X N (N − 1)
C(N ) = D(N ) ≈ i/2 = i/2 = = O(N 2 /4)
i=2 i=1
4

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 79 / 173


Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Tri Bulle d'un tableau de taille N

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 80 / 173


Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Tri Bulle d'un tableau de taille N

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 81 / 173


Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Tri Bulle d'un tableau de taille N


Début
i ← N − 1;
Flag ← Faux;
Tant que (non Flag) faire
début
Flag ← Vrai;
Pour j = 1(1)i faire
début
Si (T [j] > T [j + 1]) alors
E hange(T[j℄,T[j+1℄);
Flag ← Faux;
fSi
n
i ← i − 1;
n
Fin
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 82 / 173
Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Tri Bulle d'un tableau de taille N


Cas favorable: Le tableau est trié et à haque étape i, on ee tue 1
omparaison et 0 dépla ement. D'où:
C(N ) = N − 1 = O(N ) et D(N ) = 0
Cas défavorable: Le tableau est trié dans l'ordre inverse. A haque étape,
le plus grand élément est au début de la partie non triée: a l'étape i, on
ee tue N − i omparaisons et N − i dépla ements. D'où:
N −1 N −2
X X (N − 1)(N − 2)
C(N ) = D(N ) = N −i= i= = O(N 2 /2)
i=2 i=1
2

Cas moyen: A haque étape i, la valeur maximale se trouve à peu près au


milieu de la partie non triée. On ee tue alors (N − i + 1)/2 omparaisons
et (N − i + 1)/2 dépla ements. D'où:
N −1 N −2
X X N (N − 1)
C(N ) = D(N ) ≈ (N −i+1)/2 = (i+1)/2 = = O(N 2 /4)
i=2 i=1
4

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 83 / 173


Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Tri Fusion d'un tableau de taille N

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 84 / 173


Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Tri Fusion d'un tableau de taille N

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 85 / 173


Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Tri Fusion d'un tableau de taille N

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 86 / 173


Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Tri Fusion d'un tableau de taille N

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 87 / 173


Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Tri Fusion d'un tableau de taille N

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 88 / 173


Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Tri Fusion d'un tableau de taille N

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 89 / 173


Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Tri Fusion d'un tableau de taille N

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 90 / 173


Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Tri Fusion d'un tableau de taille N

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 91 / 173


Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Tri Fusion d'un tableau de taille N

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 92 / 173


Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Tri Fusion d'un tableau de taille N

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 93 / 173


Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Tri Fusion d'un tableau de taille N

TriFusion(T,inf, sup)
Début
Si (inf < sup) alors
milieu ← div(inf+sup,2);
TriFusion (T,inf,milieu);
TriFusion(T,milieu+1,sup);
Fusion1(T,inf,sup,milieu);
fSi
Fin

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 94 / 173


Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Tri Fusion d'un tableau de taille N


La fusion de deux tableaux triés de taille k se fait en O(k) omparaison.
On onsidère les notations suivantes:

E( n2 ) si n est impair
⌊n/2⌋ = n
2 sinon

et 
E( n2 ) + 1 si n est impair
⌈n/2⌉ = n
2 sinon
on a:
n = ⌊n/2⌋ + ⌈n/2⌉
Ainsi, pour l'algorithme de tri fusion, on a:
   
N N
C(1) = O(1) et C(N ) = C +C + O(N ); N > 1
2 2

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 95 / 173


Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Tri Fusion d'un tableau de taille N

On suppose sans nuire à la généralité que N = 2k (k = log2 (N )). En


remplaçant O(N ) par c.N (c > 0), on obtient:
   
N N
C(N ) = 2C + c.N = 4C + 2c.N
2 4
   
N j N
= 8C + 3c.N = ... = 2 C + jc.N
8 2j
 
k N
= ... = 2 C + kc.N = N C(1) + cN log2 (N )
2k
D'où
C(N ) = O(N log2 (N ))

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 96 / 173


Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Tri Rapide d'un tableau de taille N

Prin ipe: Il onsiste à haque étape à hoisir un élément parti ulier


du tableau appelé pivot, et le positionner à sa pla e en partitionnant le
tableau en trois parties: les éléments plus petits que le pivot, le pivot
et les éléments plus grands que le pivot. Dès que le pivot est
positionné, on répète l'opération d'une par sur le sous tableau de
gau he, d'autre par sur le sous tableau à droite.

Le premier élément de la partie à trié est généralement hoisi omme


pivot. Cependant, on peut faire d'autres hoix du pivot, en fon tion
des information disponible sur le tableau à trier

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 97 / 173


Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Tri Rapide d'un tableau de taille N

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 98 / 173


Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Tri Rapide d'un tableau de taille N

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 99 / 173


Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Tri Rapide d'un tableau de taille N


Début
(* Initialisation *)
IGauche ← Ideb + 1;
IDroite ← IF in;
P ivot ← T [IDeb];
(* Partition du Tableau *);
Tant que (IGauche ≤ IDroite ) faire
début
Tant que (IGauche ≤ IF in) et (T [IGauche] < P ivot) faire
début
T [IGauche − 1] ← T [IGauche];
IGauche ← IGauche + 1;
n
Tant que (Idroite ≥ Ideb) et (T [IDroite] ≥ P ivot) faire
début
IDroite ← IDroite − 1;
n
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 100 / 173
Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Si (Idroite ≥ Ideb) et (IGauche ≤ Idroite) alors


début
Echange(T [Igauche] T [IDroite]);
IIDroite ← IDroite − 1;
n
n
T [Igauche − 1] ← P ivot;
Si (IDeb < Igauche − 1) alors
début
T riRapide(T, IDeb, IGauche − 2);
n
Si (IF in > IGauche) alors
début
T riRapide(T, IGauche, IF in);
n
Fin

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 101 / 173


Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Tri Rapide d'un tableau de taille N


La partition d'un tableau de taille k se fait en c.k opérations où c est
une onstante.
Soit C(N ) le nombre d'opérations ee tuées pour le tri du tableau de
taille N par la méthode du tri rapide. On a:

O(1) si N = 1
C(N ) = Ci (N ) =
C(i − 1) + C(N − i) + c.N si N > 1

où i désigne la position du pivot dans le tableau.


Cas favorable: Le pivot se trouve au milieu de la partie à trier. Alors
 
N
C(N ) = 2C + cN
2
D'où
C(N ) ≈ O(N log N )
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 102 / 173
Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Tri Rapide d'un tableau de taille N

Cas défavorable: Le tableau est trié. Alors


C(N ) = C(N − 1) + cN

D'où
C(N ) = O(N 2 )
Cas moyen: Le pivot peut se trouver à n'importe qu'elle position dans
le tableau et la probabilité pour qu'i se trouve à la position i est de n1 .
Ainsi, en prenant la moyenne des nombres d'opérations Ci (N ) on a:
N N N
!
1 X 1 X X
C(N ) = Ci (N ) = cN + C(i − 1) + C(N − i)
N N
i=1 i=1 i=1

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 103 / 173


Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

En multipliant membre à membre par N , on obtient:


N
X
N C(N ) = cN 2 + 2 C(i − 1)
i=1

De même pour N > 1, on a:


N
X −1
2
(N − 1)C(N − 1) = c(N − 1) + 2 C(i − 1).
i=1

En soustrayant membre à membre, on a:


N C(N ) − (N − 1)C(N − 1) = c(2N − 1) + 2C(N − 1)

Ainsi
N C(N ) − (N + 1)C(N − 1) = c(2N − 1).

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 104 / 173


Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

D'où
N C(N ) − (N + 1)C(N ) c(2N − 1)
=
(N + 1)N (N + 1)N
et  
(C(N ) C(N − 1) 3 1
− =c − .
N +1 (N ) N +1 N
De pro he en pro he, on montre que pour N ≥ 3,
N  
C(N ) C(1) X1 3 1
− =c +c − .
N +1 2 k N +1 2
k=3

Comme
N
X 1
log(N ) ≤ ≤ log(N + 1),
k
k=1

On déduit que
C(N ) = O(N log N )

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 105 / 173


Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Résolution de ertaines formules de ré urren e

On onsidère la relation de ré urren e suivante:


T (n) = aT (n/b) + f (n) (1)
où a ≥ 1, b > 1 et f (n) est une fon tion positive à partir d'un ertain rang.
La relation (1) donne le oût d'un algorithme qui résout de manière
ré ursive un problème de taille n en le subdivisant en a sous problème de
taille n/b. La fon tion f (n) omporte le oût de la subdivision et de la
re onstru tion.
Le théorème suivant donne une méthode générale pour déterminer l'ordre
de grandeur de T (n)

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 106 / 173


Complexité de Algorithmes Performan e des algorithmes de re her he et de tri

Théorème Général (Master Theorem)


Soient a ≥ 1, b > 1 et f (n) une fon tion dénie sur N. Soit T (n) la
fon tion dénie par la ré urren e suivante
T (n) = aT (n/b) + f (n) (2)
où le terme n/b signie soit ⌊n/b⌋, soit ⌈n/b⌉. Alors T (n) possède les
bornes asymptotiques suivantes:
1) Si ∃ε > 0 tel que f (n) = O(nlogb (a)−ε ) , alors T (n) = Θ(nlogb (a) ).
2) Si f (n) = Θ(nlogb (a) ), alors T (n) = Θ(nlogb (a) ln n).
3) si ∃ε > 0 et ∃c < 1 tels que f (n) = Ω(nlogb (a)+ε ) et af (n/b) ≤ cf (n)
pour n assez grand, alors T (n) = Θ(f (n)).
Exemple:
T (n) = 9T (n/3) + n, T (n) = T (2n/3) + 1, T (n) = 3T (n/4) + n ln n

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 107 / 173


Sommation numériques, Implementation des fon tions usuelles

Outline

3 Complexité de Algorithmes
Dénition
Ordre de grandeur: Notations asymptotiques (O, Θ et Ω)
Cal ul de la omplexité des Algorithmes
Performan e des algorithmes de re her he et de tri

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 108 / 173


Sommation numériques, Implementation des fon tions usuelles Sommation Numérique

Cal ul appro hé des sommes des séries


numériques onvergentes
On onsidère la série numérique
X
un .
n≥n0

On suppose que ette série est onvergente.


Problème:
Déterminer la somme +∞ X
S= un
n=n0

de ette série.
Sauf pour les as rares dans la pratique, il est di ile de déterminer la
valeur exa te de la somme S . On détermine généralement une
approximation de ette somme par un al ul appro hé.
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 109 / 173
Sommation numériques, Implementation des fon tions usuelles Sommation Numérique

Étant donné un réel ǫ > 0, le problème de al ul de la valeur


appro hée de la somme S de la série onvergente
X
un .
n≥n0

onsiste à déterminer le rang n ≥ n0 tel que


|Rn | ≤ ǫ
où Rn est le reste d'ordre n de la série. La valeur appro hée de S à ǫ
près est alors donnée par la somme partielle d'ordre n de la série:
n
X
Sn = uk
k=n0

. en eet, on a:


X

|S − Sn | = uk = |Rn | ≤ ǫ.

k=n+1

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 110 / 173


Sommation numériques, Implementation des fon tions usuelles Sommation Numérique

De façon, pratique on her he à majorer |Rn | par une suite plus


"simple" ρn vériant les propriétés suivantes:
1 ∀n ≥ n0 , |Rn | ≤ ρn ;
2 (ρn → 0) quand (n → +∞) assez rapidement;
3 ∀n ≥ n0 , ρn est "fa ilement" al ulable.
Ainsi,
ρn ≤ ǫ ⇒ |Rn | ≤ ǫ.
On doit her her à majorer |Rn | le plus nement possible (éviter le
plus possible des majorations grossières).
En général, la détermination de la suite ρn (par suite du rang n)
dépend du terme générale de la série et est basée sur le ritère de
onvergen e utilisé.

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 111 / 173


Sommation numériques, Implementation des fon tions usuelles Sommation Numérique

Cal ul de la valeur appro hée de la série

Après détermination de la suite ρn , le al ul de la valeur appro hée de S se


fait de manière itérative. Deux as de gure peuvent se présenter:
Si l'expression de ρn est assez "simple" et permet de al uler
fa ilement la valeur de n tel que |ρn | ≤ ǫ, alors on détermine
dire tement Sn . On peut par exemple utiliser le s héma d'algorithme
suivant:
Donnée: n0, n;
S ← U (n0);
Pour i = n0 + 1(1)n faire
S ← S + U (i);
Fpour

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 112 / 173


Sommation numériques, Implementation des fon tions usuelles Sommation Numérique

Cal ul de la valeur appro hée de la série

Dans le as ontraire, on détermine à partir du rang n0 , les


approximation su essives de S , jusqu'à la réalisation de la ondition
|ρn | ≤ ǫ. On peut par exemple utiliser le s héma d'algorithme suivant:

Donnée: n0, ǫ;
S ← U (n0);
i ← n0 + 1;
Tant que ρ(i) > ǫ faire
S ← S + U (i);
i + 1;
FTantque

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 113 / 173


Sommation numériques, Implementation des fon tions usuelles Sommation Numérique

Lorsque la série de terme général (un ) vérie les hypothèses du ritère


des séries alternées, on a la majoration suivante du reste d'ordre n:
|Rn | ≤ |un+1 |

Ainsi, on prend ρn = |un+1 |


Exemple:
X+∞ (−1)−n
S= à 10−3 près
n=1
n

Il sut que ≤ 1
n+1 , ie n > 999. Ainsi, S999 donne une valeur
10−3
appro hée de S à 10 près.
−3

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 114 / 173


Sommation numériques, Implementation des fon tions usuelles Sommation Numérique

Lorsque la série de terme général (un ) vérie les hypothèses du ritère


des séries trigonométrique, on a la majoration suivante du reste
d'ordre N :
|uN +1 |
|RN | ≤
| sin(θ/2)|
Ainsi, on prend ρn = |un+1 |
Exemple:
X+∞ cos(n/10)
S= √ à 10−5 près
n=1
n

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 115 / 173


Sommation numériques, Implementation des fon tions usuelles Sommation Numérique

Si la série de terme générale un onverge par la règle de Cau hy, alors on a:


p
n
lim |un | = L < 1
n←+∞

D'où, pour toute valeur λ telle que L < λ < 1, il existe Nλ ∈ N tel que

n > Nλ ⇒ n
un ≤ λ.

Il existe don un rang N et un réel rN tel que


n
n > N ⇒ |un | ≤ rN

On obtient alors la majoration suivante de |RN |:


(rN )(N +1)
|RN | ≤ .
1 − rN

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 116 / 173


Sommation numériques, Implementation des fon tions usuelles Sommation Numérique

Ainsi, on peut poser


(rN )(N +1)
ρN = .
1 − rN
Exemple:
X+∞ 1
S= à 10−7 près
nn
n=1

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 117 / 173


Sommation numériques, Implementation des fon tions usuelles Sommation Numérique

Si la série de terme générale un onverge par la règle de d'Alembert, alors


on a:
un+1
lim =L<1
n←+∞ un

D'où, pour toute valeur λ telle que L < λ < 1, il existe Nλ ∈ N tel que

un+1
n > Nλ ⇒
≤ λ.
un

Il existe don un rang N et un réel rN tel que


n > N ⇒ |un+1 | ≤ rN |un |

On obtient alors la majoration suivante de |RN |:


|u(N +1) |
|RN | ≤ .
1 − rN

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 118 / 173


Sommation numériques, Implementation des fon tions usuelles Sommation Numérique

Ainsi, on peut poser


|u(N +1) |
ρN = .
1 − rN
Exemple:
X+∞ n!nn
S= à 5.10−10 près
n=1
(2n)!

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 119 / 173


Sommation numériques, Implementation des fon tions usuelles Sommation Numérique

Appli ation au al ul de ertaines intégrales


Soit f une fon tion bornée sur [a, b] ⊂ R. on désire déterminer une
approximation à ǫ près de l'intégrale
Z b
I= f (x)dx.
a

On suppose que:
1 f est la somme d'une série de fon tions de terme général (fn )n≥n0
dénie sur [a, b]:
+∞
X
∀x ∈ [a, b], f (x) = fn (x).
n=n0

2 Les fon tions fn (n ≥ n0 sont intégrables sur [a, b].


La série de fon tion fn onverge uniformément sur [a, b] vers f .
P
3
n≥n0

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 120 / 173


Sommation numériques, Implementation des fon tions usuelles Sommation Numérique

Alors d'après le Théorème d'Intégration Terme à Terme, on a:


Z b Z +∞
b X +∞ Z
X b +∞
X
I= f (x)dx = ( fn (x))dx = fn (x)dx = an = A,
a a n=n0 n=n0 a n=n0

où Z b
an = fn (x)dx.
a
Ainsi, déterminer une approximation de I à ǫ près, revient à
déterminer une approximation de A à ǫ près.

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 121 / 173


Sommation numériques, Implementation des fon tions usuelles Développement de Taylor

Développement de Taylor
Soit f ∈ C n ([a, b]). On suppose que f (n+1) existe sur ]a, b[. Soit
x0 ∈ [a, b]. Alors pour tout x ∈ [a, b], il existe ξx ompris entre x et x0 tel
que
n
X (x − x0 )k (x − x0 )n+1
f (x) = f (x0 ) + f (k) (x0 ) + f (n+1) (ξx ) (3)
k! (n + 1)!
k=1
| {z } | {z }
Rn f (x)
Pn f (x)

La relation (3) dénit le développement de Taylor à l'ordre n de la


fon tion f au voisinage de x0 sur [a, b].
Pn f est la partie prin ipale du développement de Taylor (polynme de
Taylor) à l'ordre n de la fon tion f au voisinage de x0 sur [a, b].
La fon tion Rn f dénit le reste d'ordre n du développement de Taylor
de la fon tion f au voisinage de x0 sur [a, b].
Lorsque x0 = 0, on obtient alors le développement de M Laurin de la
fon tion f .
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 122 / 173
Sommation numériques, Implementation des fon tions usuelles Développement de Taylor

Notion d'Erreur d'Approximation.


Soit x0 ∈ [a, b] xé. On suppose que la fon tion f admet un
développement de Taylor à l'ordre n au voisinage de x0 sur [a, b]. On
ee tue l'approximation suivante
f (x) ≈ Pn f (x), x ∈]a, b[ (4)
On a
(x − x0 )n+1
f (x) − Pn f (x) = Rn f (x) = f (n+1) (ξx ) , (5)
(n + 1)!
où ξx ∈ (x, x0 ). Ainsi,

(x − x0 )n+1
(6)
(n+1)
|f (x) − Pn f (x)| = f
(ξx )
(n + 1)!

Si f (n+1) est bornée sur ]a, b[, alors


∃Mn+1 > 0, |f (n+1) (ξx )| ≤ Mn+1 .
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 123 / 173
Sommation numériques, Implementation des fon tions usuelles Développement de Taylor

Notion Erreur d'Approximation (Suite).


On a la majoration suivante de l'erreur d'approximation:

(x − x0 )n+1 n+1
|f (x) − Pn f (x)| ≤ Mn+1
≤ Mn+1 (b − a) (7)
(n + 1)! (n + 1)!

En posant h = x − x0 , on a:
hn+1
En (h) = f (x) − Pn f (x) = f (n+1) (ξx ) . (8)
(n + 1)!

Si f (n+1) est bornée sur ]a, b[,


(9)

En (h) = O hn+1

On dit alors que l'approximation de f (x) par Pn f (x) est d'ordre n + 1 au


voisinage de x0 .
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 124 / 173
Sommation numériques, Implementation des fon tions usuelles Développement de Taylor

Exemple 1: On onsidère la fon tion dénie sur R par f (x) = cos(x).


1 Donner une approximation de f au voisinage de 0 pour n = 3.

2 Utiliser ette approximation pour obtenir des valeurs appro hées de


cos(0.01), cos(0.05), cos(0.1), cos(1).
3 Donner une majoration de l'erreur d'approximation dans haque as.

Au voisinage de 0 on a en utilisant le développement de Taylor à l'ordre 3


de la fon tion cos x: 2 x
cos x ≈ 1 −
2
Sur l'intervalle [0, 1], la majoration de la dérivée d'ordre 4 de ette fon tion
est M4 = 1. D'où, l'erreur d'approximation est majorée par
E4 = 24 1
≈ 0.0416666.

x P3 (x) cos x Erreur


0.01 0.99995 0.999950000416665 4.16665257851889e-10
0.05 0.99875 0.998750260394966 2.60394966256072e-7
0.1 0.995 0.995004165278026 4.16527802571398e-6
1 0.5 0.54030230586814 0.0403023058681398
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 125 / 173
Sommation numériques, Implementation des fon tions usuelles Développement de Taylor

P ✭①✡

✵ ✠✆ ❝☛☞ ✭①✡

✵ ✠

✵ ✟✆

✵ ✟

✵ ✞✆

✵ ✞

✵ ✝✆

✵ ✝

✵ ✆✆

✵ ✆
✵ ✵ ✁ ✵ ✂ ✵ ✄ ✵ ☎ ✵ ✆ ✵ ✝ ✵ ✞ ✵ ✟ ✵ ✠ ✁

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 126 / 173


Sommation numériques, Implementation des fon tions usuelles Développement de Taylor

Exemple 2: On onsidère la fon tion dénie sur R∗+ par f (x) = ln(x).
1 Donner une approximation de f au voisinage de 1 pour n = 3.
2 Utiliser ette approximation pour obtenir des valeurs appro hées de
ln(1.1), ln(1.2), ln(1.3), ln(1.4), ln(1.5).
3 Donner une majoration de l'erreur d'approximation dans haque as.
Au voisinage de 0 on a en utilisant le développement de Taylor à l'ordre 3
de la fon tion cos x:
(x − 1)2 (x − 1)3
ln x ≈ (x − 1) − +
2 3
Sur l'intervalle [1, 1.5], la majoration de la dérivée d'ordre 4 de ette
fon tion est M4 = 6. D'où, l'erreur d'approximation est majorée par
E4 = 64 1
≈ 0.015625.
x P3 (x) ln x Erreur
1.1 0.095333 0.09531 -2.3154e-5
1.2 0.18267 0.18232 -0.00034511
1.3 0.264 0.26236 -0.0016357
1.4 0.34133 0.33647 -0.0048611
1.5 0.41667 0.40547 -0.011202
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 127 / 173
Sommation numériques, Implementation des fon tions usuelles Développement de Taylor

✁ ✆✂

✁ ✆

✁ ☎✂

✁ ☎

✁ ✄✂ P ✭①✝

❧✞✟✭①✝
✁ ✄

✁ ✶✂

✁ ✶

✁ ✁✂


✶ ✶ ✁✂ ✶ ✶ ✶ ✶✂ ✶ ✄ ✶ ✄✂ ✶ ☎ ✶ ☎✂ ✶ ✆ ✶ ✆✂ ✶ ✂

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 128 / 173


Sommation numériques, Implementation des fon tions usuelles Développement de Taylor

Appli ations: exp(x), os(x), sin(x)

Théorème 1:
Soit f : R → R+ une fon tion vériant f ′ = f et f (0) = 1. Alors ∀x ∈ R,
+∞ k
X x
f (x) = = exp(x).
k!
k=0

Théorème 2:
Soient f, g : R → [−1, 1] deux fon tions vériant f ′ = g et g′ = −f ainsi
que f (0) = 0 et g(0) = 1. Alors ∀x ∈ R,
+∞ +∞
X (−1)k 2k+1 X (−1)k 2k
f (x) = x = sin(x) et g(x) = x = cos(x).
(2k + 1)! (2k)!
k=0 k=0

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 129 / 173


Sommation numériques, Implementation des fon tions usuelles Implémentation des fon tions usuelles

Dénition
On appelle série entière, toute série de fon tion de la forme:
X X
an (z − z0 )n = an Z n
n≥0 n≥0

où (an ) est une suite de s alaire et Z = z − z0 .

Rayon de onvergen e
On appelle rayon de onvergen e de la série entière an Z n , le réel
P
n≥n0
positif
P Rc vériant les propriétés suivantes:
• Pn≥0 an Z n onverge pour |Z| < Rc ;
• n≥0 an Z n diverge pour |Z| > Rc ;

Le rayon de onvergen e de la série entière an Z n est déterminé par


P
n≥n0
la formule d'Hadamard suivante:
1 p
= lim sup n |an |
Rc n→+∞

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 130 / 173


Sommation numériques, Implementation des fon tions usuelles Implémentation des fon tions usuelles

Rayon de onvergen e: Critère de d'Alembert


Si la série entière n≥0 an Z n est telle que pour n assez grand on a an 6= 0
P
et si la suite (|an+1 |/|an |) admet une limite L ∈ [0, +∞] alors son rayon de
onvergen e est donné par :
1
Rc =
L

Exemple
X z k X (−1)k X
; z 2k+1 ; k!z k
k! (2k + 1)!

Le disque entré en z0 et de rayon Rc > 0


D(z0 , Rc ) = {z ∈ C, |Z| = |z − z0 | < Rc }

est appelé disque ouvert de onvergen e de la série an Z n .


P
n≥0

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 131 / 173


Sommation numériques, Implementation des fon tions usuelles Implémentation des fon tions usuelles

Soit La série entière an Z n de rayon de onvergen e Rc > 0.


P
n≥0

n≥0 an Z onverge absolument sur son disque ouvert de


P n

onvergen e D(z0 , Rc ).
Soit r un réel tel que 0 < r < Rc . La série an Z n onverge
P
n≥0
normalement sur le disque D(z0 , r)
Ainsi, on peut dénir sur D(z0 , Rc ) la fon tion
+∞
X
f (z) = ak (z − z0 )k
k=0
.
La fon tion f est dérivable à tous les ordres sur D(z0 , Rc ) et on a:
+∞ +∞
X (n + k)! X n!
f (k) (z) = an+k (z − z0 )n = an (z − z0 )(n−k)
n=0
n! (n − k)!
n=k

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 132 / 173


Sommation numériques, Implementation des fon tions usuelles Implémentation des fon tions usuelles

Appli ations: Implémenter exp(x)

Obje tif : Appro her f (x) = exp(x) à 10−20 près ave x ∈ [0, 1].
Méthode: Pour tout x ∈] − 11[, on a En utilisant le développement de Taylor de
la fon tion f au voisinage de x0 = 0, on a l'approximation suivante:
n
X xk
f (x) = Pn (x) = .
k!
k=0

L'erreur d'approximation est donnée par:


f (n+1) (ξ)
Rn (x) = (x − x0 )n+1 , ξ ∈ (x0 , x).
(n + 1)!
Ainsi, on a la majoration suivante:
exp(ξ) 3
|Rn (x)| = |x|n+1 ≤ .
(n + 1)! (n + 1)!
Il sut de déterminer n tel que (n+1)!
3
≤ 10−20 . De pro he en pro he, on trouve
que n = 21 onvient.
Pour x ∈ [0, 1] l'approximation de exp(x) est déterminer en appliquant la
méthode de Horner à Pn (x).
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 133 / 173
Sommation numériques, Implementation des fon tions usuelles Implémentation des fon tions usuelles

Implémentation:Pour x ∈ [0, 1] l'approximation de exp(x) est déterminer


en appliquant la méthode de Horner à Pn (x).
n      
X xk x  x x x
= ··· +1 +1 + 1 ··· +1
k! n n−1 n−2 1
k=0

Considérons maintenant le as ou on souhaiterai obtenir une approximation


de exp(x) ave une erreur relative de ε = 10−14 , pour x ∈ [−106 , 106 .
Ce i revient a determiner n tel que |Rn (x)|/ exp(x) < ε ie
|x|n+1

(n + 1)!

Pour x = 106 , il faudra prendre n ≫ 106 . Ce qui n'est pas pratique.

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 134 / 173


Sommation numériques, Implementation des fon tions usuelles Implémentation des fon tions usuelles

Appli ations: Implémenter exp(x)

Une alternative serait d'utiliser l'appro he suivante (Redu tion de


l'argument):
1 Pour x ∈ [0, 1], utiliser le développement de Taylor pour al uler une
valeur appro hée de exp(x) ave une pre ision de 10−20 ;
2 Pour x ∈]1, 2], trouver t ∈ [1/2, 1] tel que x = 2t, puis al uler
exp(x) = exp(t)2 ;
3 Pour x ∈]1, 106 ], trouver t ∈ [1/2, 1] et k ∈ {1, 2, · · · , 20} tels que

x = t2k , puis al uler exp(x) = [exp(t)]2 ;


k

4 Pour x < 0, utiliser la formule exp(x) =


exp(−x) .
1

Le al ul de [exp(t)]2k revient a élever k fois au arré. Chaque fois l'erreur


relative est multipliée par 2, don tout au plus par 220 = 1048576 ≈ 106

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 135 / 173


Sommation numériques, Implementation des fon tions usuelles Implémentation des fon tions usuelles

✆✁
✶✵

P ✭✡☛
✟✠

✶✵ ☞✡✌✭✡☛

☎✁
✶✵


✶✵

✄✁
✞ ✶✵



✶✵

✂✁
✶✵


✶✵


✶✵

✶✵
✵ ✶✵ ✷✵ ✸✵ ✹✵ ✺✵ ✻✵ ✼✵ ✽✵ ✾✵ ✶✵✵

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 136 / 173


Sommation numériques, Implementation des fon tions usuelles Implémentation des fon tions usuelles



P✡☛✭☞✌
✼ ✍☞✎✭☞✌




✝✟ ✶ ✄








✷ ✹ ✻ ✽ ✶ ✶✷ ✶✹ ✶✻ ✶✽

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 137 / 173


Sommation numériques, Implementation des fon tions usuelles Implémentation des fon tions usuelles

Appli ations: Implémenter ln(x)


Obje tif: Appro her f (x) = ln(1 + x) où x ∈ [− 21 , 21 ] à 10−20 près
Méthode: En utilisant le développement de Taylor de la fon tion f au
voisinage de x0 = 0.
Pour tout x ∈] − 1, 1[, on a
+∞
X (−1)k+1
f (x) = xk .
k
k=1

Ainsi, une approximation de f (x) peut être donnée par:


n
X (−1)k+1
Pn (x) = xk .
k
k=1

L'erreur d'approximation est donnée par:


+∞
X (−1)k+1 k
Rn (x) = x .
k
k=n+1

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 138 / 173


Sommation numériques, Implementation des fon tions usuelles Implémentation des fon tions usuelles

Appli ations: Implémenter ln(x)


Ainsi, on a la majoration suivante:
+∞ +∞
X (−1)k+1 X |xk |
xk ≤

|Rn (x)| = .
k k
k=n+1 k=n+1

Ainsi, pour |x| ≤ 12 , On a


+∞  k
X 1
|Rn (x)| ≤ = 2−n .
2
k=n+1

Il sut de déterminer n tel que 2−n ≤ 10−20 . De pro he en pro he, on


trouve que n = 67 onvient.
Remarque: Pour |x| pro he de 1, ette méthode devient lente. Par
exemple, si x = 1, on +∞ (−1)k+1
onverge vers ln(2) tres lentement. Il
P
k=1 k
faut 106 iterations pour obtenir une approximation de ln(2) a 10−6 pres.
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 139 / 173
Sommation numériques, Implementation des fon tions usuelles Implémentation des fon tions usuelles

Appli ations: Implémenter ln(x)


Une autre appro he onsiste a utiliser le développement sur ] − 1, 1[ de la
fon tion
  +∞ +∞ k
1+t X (−1)k+1 k
X t
g(t) = ln = ln(1 + t) − ln(1 − t) = t + .
1−t k k
k=1 k=1

Ainsi, on   +∞ 2k+1
1+t X t
ln =2
1−t 2k + 1
k=0

La onvergen e de ette série est semblable a elle d'une série géométrique


pour |t| < 1.
Exemple: Determiner n permettant d'obtenir une approximation de ln(2)
a 10−20 pres.
Ave t ∈ [0, 13 ], on peut al uler assez rapidement une bonne approximation
de ln(x) pour x ∈ [1, 2].
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 140 / 173
Sommation numériques, Implementation des fon tions usuelles Implémentation des fon tions usuelles

Appli ations: Implémenter ln(x)

Plus généralement, on pourra utiliser l'appro he de redu tion de l'argument


suivante pour determiner une bonne approximation de ln(x), x > 0.
Pour x ∈ [1, 2], trouver t ∈ [0, 13 ] tel que x = 1−t
1+t
, puis utiliser le
développement pre edent;
Pour x > 2, trouver un entier k tel que 2xk ∈ [1, 2] puis determiner une
approximation de ln(x) = ln 2k + k ln(2);
x


Pour 0 < x < 1, on applique la formule ln(x) = − ln x1




j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 141 / 173


Représentation des Nombres

Outline

4 Sommation numériques, Implementation des fon tions usuelles


Sommation Numérique
Préliminaires

Convergen e par le ritère des séries alternées

Convergen e par le Critère des Séries Trigonométrique

Convergen e par la Règle de Cau hy

Convergen e par la Règle de d'Alembert

Appli ation au al ul de ertaines intégrales

Développement de Taylor
Implémentation des fon tions usuelles
Séries entière

La fon tion Exponentielle

La fon tion Logarithme

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 142 / 173


Représentation des Nombres

A Title

Don't mess with my text.

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 143 / 173


Introdu tion à Matlab

Outline

5 Représentation des Nombres, al ul exa t vs al ul appro hé;

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 144 / 173


Introdu tion à Matlab Généralité

Introdu tion

MATLAB = MAtrix LABoratory.


Logi iel de Cal ul S ientique en développement depuis le début des
années 80;
Initialement onçu pour fa iliter les opérations de al ul matri iel
Est aujourd'hui un outils assez puissant de al ul numérique
omportant plusieurs TOOLBOX
Les objets de base de Matlab sont les matri es: «  omprend tout
omme matri e et/ou tableau »
Un langage interprété

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 145 / 173


Introdu tion à Matlab Généralité

Environnement

Lan ement

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 146 / 173


Introdu tion à Matlab Généralité

Environnement

A euil

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 147 / 173


Introdu tion à Matlab Généralité

Environnement

Aide sous Matlab:


>> help % affi he l'aide de Matlab
>> help « mot lé » % affi he l’aide Matlab à propos d

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 148 / 173


Les diérentes sour es d'erreurs

Outline

6 Introdu tion à Matlab


Généralités

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 149 / 173


Implementation des fon tions usuelles

Outline

7 Les diérentes sour es d'erreurs

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 150 / 173


Arithmétique des polynmes

Outline

8 Implementation des fon tions usuelles (Développement de Taylor, sé

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 151 / 173


Cal ul matri iel, systèmes d'équations linéaires

Outline

9 Arithmétique des polynmes

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 152 / 173


Cal ul matri iel, systèmes d'équations linéaires

• On onsidère dans e hapitre la résolution numérique du système


Ax = b, (10)
où A = (aij )1≤i,j≤n ∈ Cn×n et b = (bi )1≤i≤n ∈ Cn sont donnés,
x = (xi )1≤i≤n ∈ Cn est le ve teur in onnu.
• La solution du SEL (10) joue un rle important dans la resolution de
plusieurs problèmes en s ien es et en ingénierie.
• On distingue deux atégories de méthodes numériques pour la résolution
des systèmes d'équations linéaires :
1 les méthodes dire tes qui permettent d'obtenir la solution exa te
(lorsque l'inuen e des erreurs d'arrondi est négligeable) après un
nombre ni d'opérations,
2 les méthodes itératives qui permettent d'obtenir à partir d'une
approximation initiale, des approximations de plus en plus " pro he "
(dans le sens d'une norme donnée) de la solution exa te du système
(lorsque la méthode onverge). Dans e as on arrête le pro essus
après un nombre maximal d'itération donné et/ou une ertaine
pré ision xée.
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 153 / 173
Cal ul matri iel, systèmes d'équations linéaires

• On s'interesse dans e hapitre aux méthodes dire tes de résolution du


SEL (10).
• On suppose dans la suite que la matri e A du SEL (10) est inversible ie
det(A) 6= 0. On dit alors que le SEL (10) est de Cramer.
• Une méthode de résolution du SEL (10) est la méthode de Cramer qui
pro ède omme suit:
det(Ai )
xi = , i = 1, 2, · · · , n (11)
det(A)

où Ai est la matri e obtenue de A en remplaçant la olonne i de A par le


ve teur b.
• Coût de la méthode de Cramer:
La méthode de Cramer né essite le al ul de n + 1 déterminant d'ordre n.
or le out de al ul d'un determinant d'ordre n est un O(nn!). D'où le
oût de la méthode de Cramer est: O((n + 1)nn!).

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 154 / 173


Cal ul matri iel, systèmes d'équations linéaires

• Lorsque n = 20, en utilisant un ordinateur fon tionnant à 109 flops, il


faut environ t = 1.2 × 1012 s soit environ 32420 annees pour résoudre le
SEL (10).
Impossible d'utiliser la méthode de Cramer dans la pratique.
• Le prin ipe des méthodes dire tes onsiste à transformer le SEL (10) en
un SEL fa ile a résoudre.

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 155 / 173


Cal ul matri iel, systèmes d'équations linéaires Systèmes Fa iles à Résoudre

Systèmes Fa iles à Résoudre


1- A est triangulaire
1.a- A est sup-triangulaire
Le SEL (10) est de la forme :
    
a11 a12 · · a1n x1 b1
 a22 · · a2n  x2   b2 
(12)
    

 · · · 
 · =
  · 

 an−1n−1 an−1n  xn−1   bn−1 
ann xn bn

• La matri e A étant inversible, on a aii 6= 0 (1 ≤ i ≤ n). Pour résoudre le


système (12), on ommen e par al uler l'in onnu xn ; en remplaçant xn
par sa valeur dans l'équation n − 1, On al ule xn−1 . On réitère le
pro essus pour al uler xn−2 , xn−3 , · · · , x2 , x1 .

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 156 / 173


Cal ul matri iel, systèmes d'équations linéaires Systèmes Fa iles à Résoudre

En eet, on a:
bn
xn = ,
ann
bn−1 − an−1n xn
xn−1 = ,
an−1n−1
bn−1 − an−2n−1 xn−1 − an−2n xn
xn−2 =
an−2n−2
D'une manière générale, on a la méthode de la Remontée suivante:
 bn
 xn = ann

 x k = bk −
n
P
akj xj

akk ; k = n − 1, n − 2, ..., 1
(13)
j=k+1

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 157 / 173


Cal ul matri iel, systèmes d'équations linéaires Systèmes Fa iles à Résoudre

1.b- A est Inf-triangulaire


En pro édant omme pré édemment, on obtient la méthode de la
Des ente suivante:

b1
 x1 =
 a11
k−1
P  (14)
 x k = bk −
 akj xj akk ; k = 2, 3, ..., n
j=1

1. - Coût des méthodes de la Remontée et de la Des ente


Lemme
La résolution d'un système d'équations linéaires triangulaire se fait en n2
opérations a virgule ottante.

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 158 / 173


Cal ul matri iel, systèmes d'équations linéaires Systèmes Fa iles à Résoudre

2- A = LU ave L Inf-triangulaire et U Sup-triangulaire


On a alors:

Ly = b (1)
Ax = b ⇐⇒ LU x = b ⇐⇒
U x = y (2)

On résout d'abord le système (1) par la méthode de la des ente, puis on


résout le système (2) par la méthode de la remontée.
• Le oût de la méthode est 2n2

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 159 / 173


Cal ul matri iel, systèmes d'équations linéaires Systèmes Fa iles à Résoudre

3- A = QR ave Q orthogonale (Q−1 = Qt ) et R Sup-triangulaire


On a alors:

Qy = b (1)
Ax = b ⇐⇒ QRx = b ⇐⇒
Rx = y (2)

On détermine y = Qt b, puis puis on résout le système (2) par la méthode


de la remontée. Le al ul de y s'ee tue omme suit: si Q = (qi j), alors
on a n X
yi = qji bj , i = 1, 2, · · · , n
j=1

• Le oût de la méthode est 3n2 − n

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 160 / 173


Cal ul matri iel, systèmes d'équations linéaires Systèmes Fa iles à Résoudre

Méthodes Dire tes


L'idée générale des méthodes dire tes de résolution du système
Ax = b (15)
onsiste à le transformer en un système équivalent de la forme
Bx = b′ (16)
"fa ile à résoudre" ( où la matri e B est : diagonale, triangulaire, produit
de matri es triangulaires ou d'une matri e triangulaire et d'une matri e
orthogonale). La matri e B dépend de A et le ve teur b′ dépend de b et où
A. Les méthodes présentées i-dessous dé rivent les pro essus d'obtention
de la matri e B et du ve teur b′ .

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 161 / 173


Cal ul matri iel, systèmes d'équations linéaires Méthodes de Gauss

Méthodes d'élimination de Gauss


La méthode dire te de Gauss onsiste à:
transformer le système (15) en un système équivalent dont la matri e
est triangulaire supérieure;
Résoudre le système triangulaire est obtenu par la méthode de la
remontée.
On a deux en deux grandes étapes :
1 la triangularisation du système qui s'opère en ee tuant des
opérations élémentaires (é hange et addition) sur les linges de la
matri e augmentée du système (15);
2 la résolution du système triangulaire obtenu.

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 162 / 173


Cal ul matri iel, systèmes d'équations linéaires Méthodes de Gauss

On a le s héma d'algorithme suivant :


1ere étape : triangularisation du système.

A(1) = A
b(1) = b
k
= 1, 2, ...., n − 1 :
(k+1) (k)


 aij = aij ; i = 1, ..., k; j = 1, ...n

 (k+1)


 aij = 0; i = k + 1, ..., n; j = 1, ...k
 (k)
(17)

 Si akk = 0, Rechercher et positionner le P ivot finSin



 (k)
(k+1) (k) a (k)
aij = aij − ik a ; i = k + 1, ..., n; j = k + 1, ...n
(k) kj


 akk

 (k+1) (k)


 bi = bi ; i = 1, ..., k

 (k)

 (k+1) (k) aik (k)
 bi = bi − (k) bk ; i = k + 1, ..., n


akk

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 163 / 173


Cal ul matri iel, systèmes d'équations linéaires Méthodes de Gauss

2eme étape : résolution du système triangulaire supérieure :


A(n) x = b(n)
(n)
bn
xn = (n)
ann
(n)
n
P (n)
(18)
bi − aij
j=i+1
xi = (n)
i = n − 1, ..., 1
aii

Coût de la méthode de Gauss


Le oût est évalué en nombre d'opérations élémentaires né essaires pour le
al ul de la solution.

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 164 / 173


Cal ul matri iel, systèmes d'équations linéaires Méthodes de Gauss

1 Le al ul des oe ients a(k) ij (k = 1, 2, · · · , n;


i, j = k + 1, k + 2, · · · , n) par la formule () né essite :
n−1
divisions;
P n(n−1)
(n − k) = 1 + 2 + ... + (n − 1) = 2
k=1
n−1
multipli ations.
P n(n−1)(2n−1)
(n − k)2 = 6
k=1
n−1
additions.
P n(n−1)(2n−1)
(n − k)2 = 6
k=1

2 Le al ul des b(k)
i né essite
n divisions;
n−1
multipli ations.
P n(n−1)
(n − k) = 2
k=1
n−1
additions.
P n(n−1)
(n − k) = 2
k=1

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 165 / 173


Cal ul matri iel, systèmes d'équations linéaires Méthodes de Gauss

Au bilan, la phase d'élimination né essite de l'ordre de 2n3 3 opérations


arithmétiques élémentaires. La phase de substitution né essite n2
opérations arithmétiques élémentaires.

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 166 / 173


Cal ul matri iel, systèmes d'équations linéaires Méthodes de Choleski ( Fa torisation LLt )

Méthodes de Choleski ( Fa torisation LLt )


La méthode de CHOLESKI pour la résolution du système (15) onsiste à la
fa torisation de la matri e A, lorsqu'elle est symétrique et dénie
positive, sous la forme :
A = LLt (19)
où L est une matri e triangulaire inférieure inversible ( onstruite par
identi ation), et Lt la matri e transposée de L.
Ainsi, le système (15) s'é rit :
LLt x = b. (20)

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 167 / 173


Cal ul matri iel, systèmes d'équations linéaires Méthodes de Choleski ( Fa torisation LLt )

Si on pose :
Lt x = y, (21)
on résout d'abord :
Ly = b (22)
par la méthode de la des ente (puisque L est triangulaire inférieure) et
ensuite
Lt x = y, (23)
par la méthode de la remontée (la matri e étant triangulaire supérieure).
La méthode de Choleski pro ède en trois étapes :

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 168 / 173


Cal ul matri iel, systèmes d'équations linéaires Méthodes de Choleski ( Fa torisation LLt )

1ere étape : Cal ul des oe ients de la matri e L


s 
i−1
P 
L2ik

Lii = aii − 


k=1
i−1
! , i = 1, ..., n (24)
1 X 

Lji = aij − Lik Ljk , j = i + 1, ..., n 

Lii 
k=1

2eme étape: Résolution du système triangulaire inférieur Ly = b


b1
y1 =
L11
(25)
 i−1

P
bi − Lik yk
k=1
yi = , i = 2, ..., n
Lii

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 169 / 173


Cal ul matri iel, systèmes d'équations linéaires Méthodes de Choleski ( Fa torisation LLt )

3eme étape: Résolution du système triangulaire supérieure Lt x = y


yn
xn =
Lnn !
yi −
n
P
Lji xj (26)
j=i+1
xi = , i = n − 1, ..., 1
Lii
Nombre d'opérations
La méthode de CHOLESKI requiert environ n6 additions, n6
3 3

multipli ations et n extra tions de ra ines arrées ; il y a don


avantage à utiliser Choleski par rapport à Gauss lorsque la matri e
des oe ients du système est symétrique et dénie positive, de
plus ette dé omposition est stable.

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 170 / 173


Interpolation de Lagrange, approximation polynomiale

Outline

10 Cal ul matri iel, systèmes d'équations linéaires


Systèmes Fa iles à Résoudre
Méthodes de Gauss
Méthodes de Choleski ( Fa torisation LLt)

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 171 / 173


Intégration numérique

Outline

11 Interpolation de Lagrange, approximation polynomiale

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 172 / 173


Méthodes itératives

Outline

12 Intégration numérique : méthodes de re tangles, trapèzes, Simpson

j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar h 19, 2020 173 / 173

Vous aimerez peut-être aussi