Algorithme


Un algorithme est une procédure qui peut être utilisée pour résoudre différents problèmes, principalement mathématiques.

Cas d'application

Que doit-on faire pour trouver le plus rapidement possible une chaîne de télévision spécifique si elles sont triées par ordre alphabétique ? Comment optimiser le traitement des déchets ? Comment organiser la recherche scientifique ? Les algorithmes cherchent essentiellement à répondre à la question du chemin le plus court.

En ce qui concerne l’optimisation de la recherche sur Internet, les algorithmes PageRank et HITS, qui sont utilisés pour l'évaluation des pages Web et formant la base des algorithmes de Google et les autres, sont particulièrement intéressants.

Propriétés

Déterminisation

On parle d'algorithme déterministe s'il existe au maximum une suite possible à chaque instant de l'exécution. La prochaine étape est donc claire. S'il n'y a pas de suite possible, l'algorithme se termine. Si à un moment donné il existe deux étapes ou plus entre lesquelles le choix est libre, alors c'est un algorithme non-déterministe. Il en va de même si le choix est fait au hasard.

Déterminisme

Si un algorithme arrive au même résultat dans les mêmes conditions et avec les mêmes paramètres, il est alors déterministe.

Finitude

Si la longueur d'un algorithme trouve une fin, on parle alors de finitude statique. Si l’algorithme utilise beaucoup de place de stockage pendant son exécution, on parle de finitude dynamique.

Terminaison

Si un algorithme s'arrête à chaque exécution après un nombre fini d'étapes et arrive à un résultat, on appelle cela la terminaison.

Efficacité

La question de l'efficacité joue un rôle important pour les algorithmes. Si plusieurs algorithmes sont disponibles pour résoudre un problème, il faut prendre en considération celui qui est le plus intéressant. Il doit y avoir une distinction entre deux points : le premier est l'importance de la rapidité de l'exécution, on parle d'efficacité de l'exécution. Le second est le fait qu'un algorithme prend le moins de ressources possibles pendant l'exécution, on parle d'efficacité de stockage. Pour comparer les algorithmes, une évaluation indépendante du matériel et de l'implémentation doit avoir lieu. Cette évaluation n'est pas mesurée en unités de temps mais en étapes de calcul nécessaires. Avec l'aide de la notation grand O, la durée d'exécution peut par exemple être estimée et on peut ainsi obtenir le meilleur des cas comme le pire des cas. Sur la base de cette évaluation, il est possible de faire une comparaison des algorithmes.

Importance pour l'optimisation des moteurs de recherche

Les algorithmes sont le concept de base le plus important pour les exploitants de moteurs de recherche comme Google, Yahoo ou Bing. La création de Google remonte à l'enregistrement du brevet de l'algorithme PageRank, qui attribue un nombre entier entre 0 et 10 basé sur la structure de liens d'une page Web. En plus de la structure du lien qui peut être représentée sous forme graphique, les moteurs de recherche utilisent aussi les algorithmes qui lisent et évaluent le contenu de la page, par exemple le texte et le formatage, ainsi que leurs relations avec d'autres pages Web. Les algorithmes Hiltop, TrustRank et HITS (Hypertext induced topic selection) jouent également un rôle important dans la hiérarchisation des résultats de recherche.

Les listes de résultats (SERP) des moteurs de recherche sont en réalité le produit de différents algorithmes qui utilisent de nombreux signaux pour afficher un site Web plus haut ou plus bas dans les résultats de recherche. Google lui-même indique que plus de 200 facteurs entrent en jeu dans la hiérarchisation d'une page Web. L'actualité du contenu d'une page Web et sa position comptent également en plus des liens et des termes. Les formules exactes, les structures et les implémentations de tels algorithmes sont tenues dans le plus grand secret.

Liens web