La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Algorithmique Avancée et Complexité

Présentations similaires


Présentation au sujet: "Algorithmique Avancée et Complexité"— Transcription de la présentation:

1 Algorithmique Avancée et Complexité
Université Abou Bakr Belkaid Faculté des Sciences Département d’informatique Algorithmique Avancée et Complexité Chap1:Introduction RSD -GL

2 Définition d’un Algorithme: Un algorithme est suite finie d’opérations élémentaires constituant un schéma de calcul ou de résolution d’un problème. Pour résoudre informatiquement un problème donné, on implante donc un algorithme sur un ordinateur. Mais, pour un problème donné, il existe bien souvent plusieurs algorithmes. 2

3 Il existe des problèmes pour lesquels on a des algorithmes, mais qui restent comme «!informatiquement non résolus!». C’est parce que  temps d’exécution sont trop long On cherche alors des méthodes pour abaisser ces temps de calcul. Double problématique de l’algorithmique : 1. Trouver une méthode de résolution du problème. 2. Trouver une méthode efficace. (Savoir résoudre un problème est une chose, le résoudre efficacement en est une autre)

4 Le temps d’exécution du programme dépend :
– des données du problème – de la qualité du code engendré par le compilateur – efficacité de l’ordinateur – de l’efficacité de l’algorithme – … et aussi de la qualité de la programmation Le Calcul de la complexité se fait indépendamment des caractéristiques techniques des ordinateurs Car les ordinateurs progressent de jour en jour. Donc • On cherche une grandeur n pour «!quantifier!» les entrées. • On calcule les performances uniquement en fonction de n.

5 Algorithme 1: (Algorithme trivial) Y=x Pour i=2 à n faire Y=Y*x
Exemple: Calcul de xn Algorithme 1: (Algorithme trivial) Y=x Pour i=2 à n faire Y=Y*x Renvoyer(Y) Coût: n-1 multiplications 5

6 Algorithme 2 (méthode binaire)
1. Écrire n sous forme binaire 2. Remplacer chaque : – « 1 » par la paire de lettres « SX » ; – « 0 » par la lettre « S ». 3. Éliminer la paire « SX » la plus à gauche. 4. Résultat : un mode de calcul de xn où – S signifie « élever au carré »; – X signifie « multiplier par x ». Le tout en partant de x.

7 Coût: 7 multiplications au lieu de 22 !
Calcul X23 1. n = 10111 2. SX S SX SX SX 3. S SX SX SX 4. Partons de x on aura : x2, x4, x5, x10, x11, x22, x23. Coût: 7 multiplications au lieu de 22 ! 7

8 L’algorithme trivial effectue 999 multiplications,
Complexité (coût) [log2 n] ≤ Θ(n) ≤ 2[log2 n]. Pour n = 1000: L’algorithme trivial effectue 999 multiplications, L’algorithme binaire moins de 20. 8

9 Conclusion Un bon algorithme doit faire exactement ce qu’on lui demande avec moins d’effort.


Télécharger ppt "Algorithmique Avancée et Complexité"

Présentations similaires


Annonces Google