ASI 3 Méthodes numériques pour l’ingénieur

Slides:



Advertisements
Présentations similaires
Tris.
Advertisements

Chapitre annexe. Récursivité
Algorithmes et structures de données avancés
Fonctions & procédures
Calculs de complexité d'algorithmes
et évaluation des compétences
Séminaire Florin Périer Alain Gély LIMOS
Au départ, il y a : - une équation différentielle du premier degré
INTRODUCTION.
Chapitre II.Rappels mathématiques et complexité
Equations différentielles ordinaires
Problèmes aux limites Généralités
Application à la méthode des
Conception et analyse des algorithmes
Démarche de résolution de problèmes
La méthode d’Euler Objectif : résoudre une équation différentielle de façon numérique Applications en physique (en Terminale S): Résoudre une équation.
Chapitre 2: Les régularités et les relations
ASI 3 Méthodes numériques pour l’ingénieur
PROGRAMMATION SCIENTIFIQUE EN C
Méthodes Numériques appliquées à la
Équations différentielles.
IFT-2000: Structures de Données Introduction à lanalyse dalgorithmes Dominic Genest, 2009.
Division euclidienne - décimale
Rappel... Solution itérative de systèmes linéaires (suite et fin).
DEA Perception et Traitement de l’Information
Fonction exponentielle: enchaînement de théorèmes
Analyse d’Algorithmes
Mesurer l’efficacité des algorithmes
IFT Complexité et NP-complétude
5.1 SYSTÈME DÉQUATIONS LINÉAIRES Cours 13. Au dernier cours nous avons vus Léquations vectoriel et léquation normale dun plan. Lintersection de deux plans.
Efficacité des algorithmes
Programmation linéaire en nombres entiers : les méthodes de troncature
Analyse des Algorithmes
IFT Complexité et NP-complétude Chapitre 0 Rappels.
ASI 3 Méthodes numériques pour l’ingénieur
RAPPEL Qu’est ce qu’une structure de contrôle itérative ?
1 Notations Asymptotiques Et Complexité Notations asymptotiques : 0 et  Complexité des algorithmes Exemples de calcul de complexité.
ASI 3 Méthodes numériques pour l’ingénieur
Suites numériques Définitions.
O-notation 1. Introduction 2. O-notation 3. Opérations 3.1 Somme 3.2 Produit 4. Règles générales 5. Exemple 6.Analyse des algorithmes récursifs 6.1 Dilatation.
INTRODUCTION.
ASI 3 Méthodes numériques pour l’ingénieur
ASI 3 Méthodes numériques pour l’ingénieur
Programmation linéaire en nombres entiers
Fabienne BUSSAC EQUATIONS 1. Définition
Algorithmes Branch & Bound
Le calcul algébrique.
Chapitre 9 La transformée de Laplace
Addition – Soustraction - Multiplication
ASI 3 Méthodes numériques pour l’ingénieur
8. Multiplication.
ASI 3 Méthodes numériques pour l’ingénieur
2005/2006 Structures de Données Introduction à la complexité des algorithmes.
Rappels Variables nominales :
Fabienne BUSSAC CALCUL LITTERAL 1. REDUCTION a. Réduire une somme
CPI/BTS 2 Algorithmique & Programmation La récursivité Algo – Prog CPI/BTS2 – M. Dravet – 14/09/2003 Dernière modification: 14/09/2003.
Pour les boucles FOR on a fait intervenir la boucles TANT QUE équivalentes dont on connaît calculer le temps d’exécution. Toutes le procédures de comptage.
Introduction à l’Analyse Numérique
Post-optimisation, analyse de sensibilité et paramétrage
Chapitre 7 Les équations différentielles d’ordre 1
Chapitre 7 Les équations différentielles d’ordre 1
Résolution des équations différentielles
Martin Roy, Janvier 2010 Révisé Juillet  Un système d’équations est un ensemble de plusieurs équations.  La solution d’un système d’équations.
Statistiques à 2 variables
Chapitre 4b La représentation des nombres.
CSI2510 Structures de données et algorithmes Analyse des algorithmes
L'exécution d'un programme nécessite l'utilisation des ressources de l'ordinateur : temps de calcul pour exécuter les opérations, et l'occupation de la.
Département Informatique Codage de l’information Laurent JEANPIERRE IUT de CAEN – Campus 3.
Matlab (Matrix Laboratory) Langage de programmation évolué. Traitement direct d’opérations matricielles, dont l’inversion et l’analyse d’opérateurs ou.
Complexité algorithmique
Transcription de la présentation:

ASI 3 Méthodes numériques pour l’ingénieur Performance des solutions numériques : complexité, erreur, précision et stabilité

Les enjeux de l’analyse numérique Résoudre des problèmes que l’on ne sait pas résoudre autrement « mieux » qu’on ne le faisait avant plus précisément, moins cher... Étique de l’analyse numérique plus vite : complexité des algorithmes (et des problèmes) plus précis erreur d’arrondi (liées à la machine) erreur d’approximation (liées à l’algorithme) plus fiable stabilité d’un algorithme facile à programmer : comprendre pour mieux réutiliser

Temps de calcul Taille d’un problème : n Temps de calcul : aspects liés au programme et à la machine aspects liés au problème Complexité d’un algorithme Complexité d’un problème Définition : la fonction T(n) est dite « grand O » de f(n) que l’on note T(n)=O(f(n)), s’il existe deux constantes C et n0 telles que Exemple :

Exemples O(n) Fusionner(x,y) n = taille(x)+taille(y) pour i=1:n …. v(i) = ….. ….. fin Ab=c O(n2) pour i=1:n s = 0; pour j=i:n s =s+A(i,j)*b(i) Fin c(i)=s fin Résoudre(P(n)) Si n = 1 ,...c’est fini Sinon A=Résoudre(P(1:n/2)) B=Résoudre(P(n/2+1:n)) Fusionner(A,B) O(nlog2n)

Règles de calcul Algorithmes : T : Ensemble des algorithmes R ; si-alors-sinon Pour i=1:n faire – fait Appeler un sous programme T : Ensemble des algorithmes R T(A;B)= T(A) + T(B) T(si C alors A sinon B) = T(C)+max(T(A),T(B)) T(pour i = 1,n faire A(i) fait) = somme T(A(i)) T(appeler A) = T(A)

Complexité d’un algorithme, complexité d’un problème temps : ordre du temps de calcul taille : place mémoire nécessaire complexité d’un problème de taille n soit A un algorithme résolvant le problème Intéressant seulement lorsque n est grand

Un calcul simple n = 100000; s = 0; for i=1:n s = s+1/3; end » s-n/3 ans = -4.3576e-008 Représentation des nombres Précision : log([eps realmax realmin]) -36.0437 709.7827 -708.3964 Maths de la continuité maths calculables ?

Erreur de codage (binaire) s = 0; for i=1:n s = s+1/3; end » s-n/3 ans = -4.3576e-008 Représentation des nombres Précision : log([eps realmax realmin]) -36.0437 709.7827 -708.3964 Maths de la continuité / calculables eps n’est pas realmin

Arithmétique calculatoire (décimale) Nombre en virgule flottante (décimale pour simplifier) normalisée (normalisation IEEE, 1985) Définition : Exercice : montez que :

Forme normalisée x = 1, y = 2, y-x ??? z=10^30; (z+x)-(z+y) ??? Exercice : écrire un programme résolvant l’équation suivante (avec 4 chiffres significatifs) Il faut faire attention à l’ordre suivant lequel sont effectuées des opérations

Erreur d’approximation Erreur de troncature (indépendante de la machine) (ou tabulation) propagation des erreurs Stabilité d’un algorithme Définition : soit e (n) l’erreur d’un algorithme après n étapes avec |e (n)|=O(f(n)), la croissance de l’erreur est dite polynomiale si f est un polynôme. Elle est dite exponentielle si f(n)=Kn e. (f est appelée le taux de convergence de l’algorithme)

Conclusion Complexité : pour comparer les algorithmes O(f(n)) : polynomial vs exponentiel erreur d’arrondi précision - ordre de grandeur erreur d’approximation algorithmique : ordre de l’approximation procédures stables propagation des erreurs

Exercices pratiques : complexité et erreur d’arrondi Quelle est la complexité des programmes de la semaine dernière ? Quel algorithme choisir ? Vérifier que les trois programmes donnent le bon résultat étudier la stabilité de ces algorithmes vis à vis des conditions initiales comment évaluer efficacement un polynôme ? Le problème vient du calcul de xn

n équations et m+1 inconnues Un problème de base Une nouvelle variable explicative Une nouvelle expérience (individu) n équations et m+1 inconnues Xa=y

Illustration : système de 2 équations à 2 inconnues x = 0:1; y = x; y2 = .5*x+.25; subplot(2,2,1);plot(x,y);hold on;plot(x,y2);hold off; xlabel('x_1') ylabel('x_2') title('solution unique') set(gca,'FontSize',14,'FontName','Times','XTick',[],'YTick',[],'Box','on'); y3 = x+.2; subplot(2,2,2);plot(x,y);hold on;plot(x,y3);hold off; title('pas de solution') une solution unique pas de solution une infinité de solution solution « triviale » : x1= x2 = 0 Les différents cas

Que se passe t’il si… ? On dispose d’un nouvel individu on dispose d’une nouvelle variable m=n m<n m>m on recopie deux individus on duplique une variable a X y =