définition d'un algorithme

This commit is contained in:
gwen 2017-03-22 09:13:07 +01:00 committed by Benjamin Bohard
parent 380bfe4356
commit ce0578399d
2 changed files with 115 additions and 5 deletions

View File

@ -32,4 +32,5 @@ Initiation à l'algorithmique et présentation de la programmation
à propos de la programmation fonctionnelle et générique. à propos de la programmation fonctionnelle et générique.
- Introduire certains domaines et résultats importants de
linformatique théorique

View File

@ -14,6 +14,29 @@ mathématicien arabe du 9ème siècle.
terme désignant une suite d'opérations constituant un schéma de calcul terme désignant une suite d'opérations constituant un schéma de calcul
ou de résolution d'un problème. ou de résolution d'un problème.
C'est un processus systématique de résolution d'un problème
permettant de décrire précisément des étapes.
C'est une suite finie d'instructions permettant de donner la réponse
à un problème.
L'algorithmique est l'étude et la production de règles et de techniques
qui sont impliquées dans la définition d'algorithmes.
Implémentation d'un algorithme
------------------------------
Adaptation de la méthodologie de calculabilité au calcul effectif
sur une machine abstraite ou via un langage formel.
Il ny a pas de parcours à sens unique de lalgorithme vers limplantation.
La quête dune implantation efficace nous amène souvent à effectuer
un retour vers les algorithmes eux-mêmes, et à en modifier des points
essentiels. Laspect théorique de réflexion sur les algorithmes,
et laspect pratique de l'implémentation sont donc en symbiose.
Types d'algorithmes
-------------------
.. raw:: latex .. raw:: latex
\begin{algorithm} \begin{algorithm}
@ -41,6 +64,80 @@ mathématicien arabe du 9ème siècle.
\end{algorithm} \end{algorithm}
L'algorithme comme généralisation de la calculabilité
------------------------------------------------------
L'importance croissante de l'informatique comme outil scientifique
impose d'élaborer un nouveau mode de description des méthodes de calcul (appelées algorithmes)
susceptible de satisfaire à la fois le critère de sécurité (maîtrise du résultat) et la possibilité
d'implémenter les calculs sur un ordinateur.
Qualité d'un algorithme
-----------------------
- correction d'un algorithme
- complétude d'un algorithme
Sémantique
Étude du sens, de la signification d'un langage
Définir la sémantique dun langage formel consiste à lui donner une
signification mathématique.
Sémantique opérationnelle
on définit la sémantique par sa mise en œuvre sur
une machine abstraite.
Sémantique dénotationnelle
on associe à chaque construction syntaxique un
objet mathématique
Sémantique axiomatique
chaque construction est décrite par la manière dont
elle transforme des propriétés ou des prédicats.
Proposition
une proposition est un énoncé qui est soit vrai, soit faux
**exemple** : ``2 + 3 = 5``. Proposition vraie.
Prédicats
Définition : Une proposition dont la valeur de vérité dépend de la valeur
dune ou plusieurs variables
**Exemple** : “n est pair” : vrai pour n = 4 mais faux pour n = 9
Axiome
une proposition qui est supposée vraie
Un ensemble daxiomes est consistant sil nexiste pas de proposition
dont on peut démontrer quelle est à la fois vraie et fausse.
Un ensemble daxiomes est complet si, pour toute proposition, il est
possible de démontrer quelle est vraie ou fausse.
Théorème dincomplétude de Gödel (1931) : tout ensemble
consistant daxiomes pour larithmétique sur les entiers est
nécessairement incomplet.
**Les concepts de base en algorithmique sont les axiomes**
inférence
règles dinférence, règles permettant de combiner des axiomes et des
propositions vraies pour établir de nouvelles propositions vraies.
Démonstration
vérification dune proposition par une séquence de déductions logiques
à partir dun ensemble daxiomes.
Comment rendre un algorithme lisible Comment rendre un algorithme lisible
------------------------------------ ------------------------------------
@ -50,3 +147,15 @@ Comment rendre un algorithme lisible
- Le bon algorithme est indenté. - Le bon algorithme est indenté.
Complexité d'un algorithme
--------------------------
On peut approximer la complexité des algorithmes.
C'est utile pour pouvoir comparer des algorithmes.
complexité
estimer la complexité d'unalgorithme,
c'est-à-dire estimer le nombre de calculs qu'il utilise.
analyse de complexité