• Aucun résultat trouvé

Les enjeux de l’analyse numérique

N/A
N/A
Protected

Academic year: 2021

Partager "Les enjeux de l’analyse numérique"

Copied!
15
0
0

Texte intégral

(1)

ASI 3

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

Performance des solutions numériques :

complexité, erreur, précision et stabilité

(2)

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

(3)

n : taille du problè me lo

g( Te(n)) : t m ps d e c alc ul

Algorithme 1 Algorithme 2

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 :

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

(

( )

)

calcul de

temps =O f n

( )

A

f

A

min

) ( )

(

0 T n C f n

n

n > ≤

( ) ( )

3

2 log 3 9 1324

14x x + x + = O x

(4)

Exemples

Fusionner(x,y)

n = taille(x)+taille(y) pour i=1:n

….

v(i) = …..

…..

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)

pour i=1:n s = 0;

pour j=i:n

s =s+A(i,j)*b(i) Fin

c(i)=s fin

O(nlog2n)

O(n)

O(n2) Ab=c

(5)

Complexité d’un algorithme, complexité d’un problème

• Complexité d ’un algorithme :

– 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

(

( )

)

minO A n

A

(6)

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

10 17

...

3333333 .

3333 3333333333

, 3 0

1

=

erreur

mantisse 23

exposant 8

signe 1

bits 32

2

+ +

=

= ± ×

×

×

s m Be E m e x

(7)

Erreur de codage (binaire)

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é / calculables

10 17

...

3333333 .

3333 3333333333

, 3 0

1

=

erreur

( )

mantisse 23

exposant 8

signe 1

bits 32

2 64

) 1

(

) 1

( 1

+ +

=

× +

±

=

× +

×

e

E s e

m

B m

x

mantisse 52

exposant 11

signe 1

bits

64 = + +

eps n’est pas realmin

(8)

Arithmétique calculatoire (décimale)

• Nombre en virgule flottante

(décimale pour simplifier)

normalisée (normalisation IEEE, 1985)

n k

k k n

n k

n k

k n

k k

x x

x t x

a

d d

d d x

t

d d

d d d

d d x

10 ...

...

, 0

10 5

' avec

10 ...

, 0 )

' ( )

( arrondi

10 ...

, 0 )

( troncature

9 0

; 9 1

10

...

...

, 0

1 3

2 1

) 1 ( 2 3 1

3 2 1

1 1

3 2 1

×

=== + ×= ×

×

=

×

=

+ +

+

δ δ δ

δ δ

δ δ

δ δ

t

x x - x k

t x

x

×

< 5 10

~

: que tel

positif entier

grand plus

le est si

ives significat

décimales avec

réel le

approche Définition : ~

1 1 et 0,5 10

10 + < × +

< k k

x x-a(x) x

x-t(x) Exercice : montez que :

(9)

Forme normalisée

x = 1, y = 2, y-x ???

z=10^30; (z+x)-(z+y) ???

Il faut faire attention à l’ordre suivant lequel sont effectuées des opérations

Exercice : écrire un programme

résolvant l’équation suivante

(avec 4 chiffres significatifs) 0

1 10

,

2 + 62 x + =

x

(10)

• Erreur de troncature

(indépendante de la machine)

(ou tabulation)

• propagation des erreurs

• Stabilité d’un algorithme

Erreur d’approximation

( )

1

3 2

... !

! 3

!

1+ + 2 + + + + +

i i

x x

i x x

x x

e O

p p

p = ˆ +ε q q

q = ˆ +ε

q p

pq q p R pq

p q

q p pq

q p

pq

q p q

p

ε ε

ε ε ε

ε

+

− ≈

=

+ +

=

ˆ ˆ

ˆ

Définition : soit ε (n) l’erreur d’un algorithme après n étapes

avec |ε (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 ε.

(f est appelée le taux de convergence de l’algorithme)

(11)

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

(12)

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





=

=

=

=

=

=

=

=

 ≈

 

2 1

1 0

2 1

1 0

1 0

3 10

3;

; 1 1

3 1 3

4 3;

; 1 1

3

1

; 1

3 1

n n

n

n n

n

n n

n

c c

c c

c

b b

b b

b

a a

a

(13)

Un problème de base









= +

+ +

+ +

= +

+ +

+ +

= +

+ +

+ +

= +

+ +

+ +

n m

n m j

n j n

i m

i m j

i j i

m m j

j

m m j

j

y x

a x

a x

a a

y x

a x

a x

a a

y x

a x

a x

a a

y x

a x

a x

a a

) ( )

( )

1 ( 1 0

) ( )

( )

1 ( 1 0

2 )

( 2 )

( 2 )

1 ( 2 1 0

1 )

( 1 )

( 1 )

1 ( 1 1 0

...

...

...

...

...

...

...

...

n équations et m+1 inconnues

Xa=y

Une nouvelle expérience

(individu)

Une nouvelle variable explicative

(14)

x1 x2

s olution unique

x1 x2

pas de s olution

Illustration : système de 2 équations à 2 inconnues



= +

= +

2 2

22 1

21

1 2

12 1

11

b x

a x

a

b x

a x

a – une solution unique

– pas de solution

– une infinité de solution

– solution « triviale » : x1= x2 = 0

Les différents cas

(15)

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

X y

a

=

Références

Documents relatifs

Elle permet de calculer l'échelle de la photographie (théorie)(exemple 1)(exemple 2) en question, le diamètre d'un cratère ou d'une mer de la Lune (théorie)(exemple), la hauteur

Performance des solutions numériques : complexité, erreur, précision

Et s’il eût seulement nombré jusqu’à trente ou quarante retours de l’une tirée vingt degrés ou moins, et de l’autre quatre-vingts ou nonante degrés, il est connu que la

SALGADO (2013) parviendra à la conclusion suivante : « la performance devient un concept multidimensionnel qui intègre différentes dimensions pour la définir et différents

la fontion f est fournie omme une boîte noire à la routine d'intégration numérique alors le résultat fourni pour F sera moins préis et demandera plus de temps de alul que via le

• Pour des entiers codés sur un nombre fixe de bits, les instructions (1), (2), (3) et (6) peuvent être réalisées en un nombre constant de déplacements d’une machine de Turing.

Par cet appel à solutions, PRISME souhaite inviter une entreprise québécoise à s’engager dans une démarche de cocréation visant le développement de nouvelles

e/ En déduire que l’algorithme biaisée converge en moyenne linéairement à taux