définition d'un algorithme
This commit is contained in:
parent
b380a69cfa
commit
3baed6b4ff
@ -7,11 +7,11 @@ Initiation à l'algorithmique et présentation de la programmation
|
||||
algébrique. L'algorithmique est un sous-domaine de l'algèbre et des
|
||||
approches modulaires (arithmétique modulaire...)
|
||||
|
||||
- Le point de vue mathématique étant assez exigeant, aucun formalisme fort de
|
||||
l'algorithmique mathématique ne sera présenté. Aucun symbole mathématique donc, et
|
||||
- Le point de vue mathématique étant assez exigeant, aucun formalisme fort de
|
||||
l'algorithmique mathématique ne sera présenté. Aucun symbole mathématique donc, et
|
||||
seulement du pseudo-code.
|
||||
L'approche mathématique forte utilisant le formalisme mathématique de
|
||||
l'algorithmique algébrique est en général enseignée en France uniquement aux cours
|
||||
L'approche mathématique forte utilisant le formalisme mathématique de
|
||||
l'algorithmique algébrique est en général enseignée en France uniquement aux cours
|
||||
des grandes écoles.
|
||||
|
||||
- L'algorithmique présentée ici est donc délibérément pseudo-scientifique mais en revanche
|
||||
@ -32,4 +32,5 @@ Initiation à l'algorithmique et présentation de la programmation
|
||||
à propos de la programmation fonctionnelle et générique.
|
||||
|
||||
|
||||
|
||||
- Introduire certains domaines et résultats importants de
|
||||
l’informatique théorique
|
||||
|
@ -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
|
||||
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 n’y a pas de parcours à sens unique de l’algorithme vers l’implantation.
|
||||
La quête d’une implantation efficace nous amène souvent à effectuer
|
||||
un retour vers les algorithmes eux-mêmes, et à en modifier des points
|
||||
essentiels. L’aspect théorique de réflexion sur les algorithmes,
|
||||
et l’aspect pratique de l'implémentation sont donc en symbiose.
|
||||
|
||||
Types d'algorithmes
|
||||
-------------------
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\begin{algorithm}
|
||||
@ -41,6 +64,80 @@ mathématicien arabe du 9ème siècle.
|
||||
\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 d’un 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
|
||||
d’une 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 d’axiomes est consistant s’il n’existe pas de proposition
|
||||
dont on peut démontrer qu’elle est à la fois vraie et fausse.
|
||||
|
||||
Un ensemble d’axiomes est complet si, pour toute proposition, il est
|
||||
possible de démontrer qu’elle est vraie ou fausse.
|
||||
|
||||
Théorème d’incomplétude de Gödel (1931) : tout ensemble
|
||||
consistant d’axiomes pour l’arithmétique sur les entiers est
|
||||
nécessairement incomplet.
|
||||
|
||||
**Les concepts de base en algorithmique sont les axiomes**
|
||||
|
||||
inférence
|
||||
|
||||
règles d’inférence, règles permettant de combiner des axiomes et des
|
||||
propositions vraies pour établir de nouvelles propositions vraies.
|
||||
|
||||
Démonstration
|
||||
|
||||
vérification d’une proposition par une séquence de déductions logiques
|
||||
à partir d’un ensemble d’axiomes.
|
||||
|
||||
Comment rendre un algorithme lisible
|
||||
------------------------------------
|
||||
@ -50,3 +147,15 @@ Comment rendre un algorithme lisible
|
||||
- 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é
|
||||
|
Loading…
Reference in New Issue
Block a user