Algorithmes Avances 1

Vous aimerez peut-être aussi

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 13

République Algérienne Démocratique et Populaire

Ministère de l’Enseignement Supérieur et de la Recherche Scientifique


Université Ziane Achour –Djelfa
Faculté des Sciences et de la technologie
Département des mathématiques et informatique

Algorithmes avancés
Benmazouz Nabil

2019 / 2018
Algorithmes avancés
Contenu de la matière

Benmazouz Nabil
Algorithmes avancés
1 Introduction
Qu’est-ce que l’algorithmique ?

Définition

Il n'existe pas de définition universellement admise du mot "algorithme".


Une définition simple:

« Un ensemble d'instructions pour résoudre un problème »

2019 / 2018 Benmazouz Nabil 3


Algorithmes avancés
1 Introduction
Qu’est-ce que l’algorithmique ?

Définition

Un algorithme est suite finie d’opérations élémentaires constituant un


schéma de calcul.

2019 / 2018 Benmazouz Nabil 4


Algorithmes avancés
1 Introduction
Qu’est-ce que l’algorithmique ?

Historique

Le mot « algorithme » provient de la forme latine (Algorismus) du nom du


mathématicien arabe ALKHAREZMI auteur d’un manuel de vulgarisation sur
le calcul décimal positionnel indien. expliquant son utilisation et, surtout, la
manipulation des différents algorithmes permettant de réaliser les
opérations arithmétiques classiques (addition, soustraction, multiplication,
division, extraction de racines carrées, règle de trois, etc.)

2019 / 2018 Benmazouz Nabil 5


Algorithmes avancés
1 Introduction
Qu’est-ce que l’algorithmique ?

Propriétés
Donald Knuth a donné une liste de cinq propriétés qui sont largement
reconnues comme les prérequis d'un algorithme:

1. Finitude:
2. définition précise
3. Entrées:
4. Sorties
5. rendement

2019 / 2018 Benmazouz Nabil 6


Algorithmes avancés
1 Introduction

Problématique

Double problématique de l’algorithmique:

1.Trouver une méthode de résolution (exacte ou approchée) du problème.

2.Trouver une méthode efficace.

2019 / 2018 Benmazouz Nabil 7


Algorithmes avancés
1 Introduction
Double problématique de l’algorithmique

1. Trouver une méthode de résolution (exacte ou approchée) du problème.

– Soient trois nombres réels 𝒂, 𝒃et 𝒄 quelles sont les solutions de


l’équation 𝒂𝒙𝟐 + 𝒃𝒙 + 𝒄 ? (Résultat bien connu.)

– Soient cinq nombres réels 𝒂, 𝒃, 𝒄, 𝒅 et 𝒆 quelles sont les solutions de


l’équation 𝒂𝒙𝟓 + 𝒃𝒙𝟒 + 𝒄𝒙𝟑 + 𝒅𝒙𝟐 + 𝒆𝒙 + 𝒇 ?
(Pas de méthode générale, cf. la théorie de GALOIS.)

2019 / 2018 Benmazouz Nabil 8


Algorithmes avancés
1 Introduction
Double problématique de l’algorithmique

2. Trouver une méthode efficace.

Savoir résoudre un problème est une chose, le résoudre efficacement en


est une autre.

2019 / 2018 Benmazouz Nabil 9


Algorithmes avancés
1 Introduction
Différences entre algorithmes et programmes

Un programme est la réalisation (l’implémentation) d’un algorithme au


moyen d’un langage donné (sur une architecture donnée).

Il s’agit de la mise en œuvre du principe. Par exemple, lors de la


programmation on s’occupera parfois explicitement de la gestion de la
mémoire (allocation dynamique en C) qui est un problème d’implémentation
ignoré au niveau algorithmique.

2019 / 2018 Benmazouz Nabil 10


Algorithmes avancés
1 Introduction

Exemple

problème : calculer 𝒙𝒏
données : 𝒙 : réel , 𝒏: entier

Méthode 1 : 𝒙𝟎 = 1;
𝒙𝒊 = 𝑥 × 𝑥 𝑖−1 ; 𝑖 >0

Méthode 2 : 𝒙𝟎 = 1;
𝑖 𝑖
𝒙𝒊 = 𝑥 ×𝑥 ;
2 2 si i est pair;
𝑖 𝑖
𝒙𝒊 = 𝑥×𝑥 ×𝑥 ;
2 2 si i est impair

2019 / 2018 Benmazouz Nabil 11


Algorithmes avancés
1 Introduction

Exemple

Méthode 3 :

1. Écrire 𝒏 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 𝒙𝒏 où
– S signifie « élever au carré » (squaring) ;
– X signifie « multiplier par x ».
Le tout en partant de x

2019 / 2018 Benmazouz Nabil 12


Algorithmes avancés
1 Introduction

Conclusion

« Un bon algorithme est comme un couteau tranchant, il fait exactement ce que


l’on attend de lui, avec un minimum d’efforts. L’emploi d’un mauvais algorithme pour
résoudre un problème revient à essayer de couper un steak avec un tournevis : vous
finirez sans doute par obtenir un résultat digeste, mais vous accomplirez beaucoup
plus d’efforts que nécessaire, et le résultat aura peu de chances d’être esthétiquement
satisfaisant »

Thomas Cormen, Charles Leiserson, and Ronald Rivest. Introduction à l’algorithmique. Dunod, 1994.

2019 / 2018 Benmazouz Nabil 13

Vous aimerez peut-être aussi