2017-04-11 16:40:26 +02:00
|
|
|
|
Aperçu des algorithmes fondamentaux
|
|
|
|
|
===================================
|
|
|
|
|
|
|
|
|
|
En mathématiques
|
|
|
|
|
-----------------
|
|
|
|
|
|
|
|
|
|
- l'algèbre
|
|
|
|
|
- l'arithmétique modulaire
|
|
|
|
|
- la géométrie (affine, algébrique, topologique...)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
En informatique
|
|
|
|
|
----------------
|
|
|
|
|
|
|
|
|
|
- les algorithmes sur la manipulation des structures de données
|
|
|
|
|
|
|
|
|
|
Exemple : les algorithmes de tri, de recherche dans un arbre, un graphe...
|
|
|
|
|
|
2017-04-13 16:08:30 +02:00
|
|
|
|
- la cryptologie
|
|
|
|
|
- les stratégies de jeux
|
2017-04-21 10:50:53 +02:00
|
|
|
|
|
|
|
|
|
Tirés du monde réel
|
|
|
|
|
--------------------
|
|
|
|
|
|
|
|
|
|
Le voyageur de commerce
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
|
|
Le problème du voyageur de commerce, consiste en la recherche d’un trajet minimal permettant à un
|
|
|
|
|
voyageur de visiter n villes. En règle générale on cherche à minimiser le temps de parcours total ou la
|
|
|
|
|
distance totale parcourue.
|
|
|
|
|
|
|
|
|
|
Résolution par
|
|
|
|
|
|
|
|
|
|
- algorithme de parcours de graphes
|
|
|
|
|
|
|
|
|
|
- algorithmes génétiques
|
|
|
|
|
|
|
|
|
|
Les algorithmes génétiques s’appuient sur un principe de sélection des individus d’une population qui présen-
|
|
|
|
|
tent des caractéristiques se rapprochant au mieux de ce que l’on recherche; cette population évoluant par
|
|
|
|
|
ailleurs selon des critères d’évolution génétique à choisir. Dans le contexte du problème du voyageur de
|
|
|
|
|
commerce, un individu est une tournée, un chemin et une population un ensemble de tournées. Il s’agit
|
|
|
|
|
maintenant de dé...nir un critère de sélection ainsi que des règles d’évolution de la population.
|
|
|
|
|
|
|
|
|
|
- approches métaheuristiques (exemples: colonies de fourmis)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Exemple de résolution
|
|
|
|
|
|
|
|
|
|
.. raw:: latex
|
|
|
|
|
|
|
|
|
|
\begin{algorithm}
|
|
|
|
|
\caption{Algorithme du voyageur de commerce}\label{commerce}
|
|
|
|
|
\begin{algorithmic}[1]
|
|
|
|
|
|
|
|
|
|
\BState \emph{Données} : $L$ \Comment{Liste des villes à parcourir avec les distances entre les villes}
|
|
|
|
|
\BState \emph{Données} : $L'$ \Comment{Liste du parcours des villes à effectuer}
|
|
|
|
|
\State \emph{début}
|
|
|
|
|
\BState ...
|
|
|
|
|
\State \emph{fin}
|
|
|
|
|
|
|
|
|
|
\end{algorithmic}
|
|
|
|
|
\end{algorithm}
|