Page d'accueil » comment » Que sont les algorithmes informatiques et comment fonctionnent-ils?

    Que sont les algorithmes informatiques et comment fonctionnent-ils?

    À moins que vous n'aimiez les mathématiques ou la programmation, le mot «algorithme» pourrait être grec, mais c'est l'un des éléments constitutifs de tout ce que vous utilisez pour lire cet article. Voici une brève explication de ce qu’ils sont et de leur fonctionnement.

    Déni de responsabilité: je ne suis pas professeur de mathématiques ou d’informatique, les termes que j’utilise ne sont pas tous techniques. C’est parce que j’essaie d’expliquer tout en anglais simple, car les gens ne sont pas très à l’aise avec les mathématiques. Cela étant dit, il y a des calculs à faire et c'est inévitable. Math geeks, sentez-vous libre de corriger ou de mieux expliquer dans les commentaires, mais s'il vous plait, gardez les choses simples pour ceux qui sont mathématiquement peu enclins.

    Image par Ian Ruotsala

    Qu'est-ce qu'un algorithme?

    Le mot «algorithme» a une étymologie semblable à «algèbre», sauf que cela fait référence au mathématicien arabe lui-même, al-Khwarizmi (juste une friandise intéressante). Un algorithme, pour les non-programmeurs parmi nous, est un ensemble d'instructions qui prennent une entrée, A, et fournissent une sortie, B, qui modifie les données impliquées d'une manière ou d'une autre. Les algorithmes ont une grande variété d'applications. En mathématiques, ils peuvent aider à calculer des fonctions à partir de points dans un ensemble de données, parmi des choses beaucoup plus avancées. En plus de leur utilisation dans la programmation elle-même, ils jouent un rôle majeur dans des domaines tels que la compression de fichiers et le cryptage de données..

    Un ensemble d'instructions de base

    Supposons que votre ami vous rencontre dans une épicerie et que vous le guidiez vers vous. Vous dites des choses comme «entrez par les portes de droite», «passez la section des poissons sur la gauche» et «si vous voyez la laiterie, vous m'avez dépassée». Les algorithmes fonctionnent de la sorte. Nous pouvons utiliser un organigramme pour illustrer les instructions en fonction de critères que nous connaissons à l’avance ou les découvrir au cours du processus..

    (image intitulée «Icebreaking Routine» EDIT: avec la permission de Trigger et Freewheel)

    Dès le début, vous vous dirigez vers le bas du chemin et, en fonction de ce qui se passe, vous suivez le «flux» vers un résultat final. Les organigrammes sont des outils visuels qui peuvent, de manière plus compréhensible, représenter un ensemble d’instructions utilisées par les ordinateurs. De même, les algorithmes aident à faire la même chose avec plus de modèles basés sur les mathématiques.

    Graphiques

    Utilisons un graphique pour illustrer les différentes façons de donner des instructions..

    Nous pouvons exprimer ce graphique comme un lien entre tous ses points. Afin de reproduire cette image, nous pouvons donner un ensemble d'instructions à quelqu'un d'autre.

    Méthode 1

    Nous pouvons représenter cela comme une série de points, et les informations suivraient la forme standard de graph = (x1, y1), (x2, y2),…, (xn, yn).

    graph = (0,0), (3,0), (3,3), (5,5), (7,10), (8,7), (9,4), (10,1)

    Il est assez facile de tracer chaque point, l'un après l'autre, et de les relier au point précédent. Cependant, imaginez un graphique avec mille points ou plusieurs segments allant dans tous les sens. Cette liste aurait beaucoup de données, non? Et puis avoir à connecter chacun, un à la fois, peut être une douleur.

    Méthode 2

    Une autre chose que nous pouvons faire est de donner un point de départ, la pente de la ligne entre elle et le prochain point, et d’indiquer où il faut s’attendre au prochain point en utilisant la forme standard du graphe = (point de départ, [m1, x1, h1 ],…, [Mn, xn, hn]. Ici, la variable 'm' représente la pente de la ligne, 'x' représente la direction dans laquelle il faut compter (que ce soit x ou y), et 'h' vous indique comment Vous pouvez également vous souvenir de tracer un point après chaque mouvement..

    graph = (0,0), [0, x, 3], [0, y, 3], [1, x, 2], [2,5, x, 2], [-3, x, 1], [-3, x, 1], [-3, x, 1]

    Vous allez vous retrouver avec le même graphique. Vous pouvez voir que les trois derniers termes de cette expression sont les mêmes, alors nous pourrons peut-être réduire cela en disant simplement «répéter cela trois fois» d'une manière ou d'une autre. Disons que chaque fois que vous voyez la variable 'R' apparaître, cela signifie de répéter la dernière chose. Nous pouvons le faire:

    graph = (0,0), [0, x, 3], [0, y, 3], [1, x, 2], [2,5, x, 2], [-3, x, 1], [R = 2]

    Que se passe-t-il si les points individuels ne comptent pas vraiment et que seul le graphique l’a? Nous pouvons consolider ces trois dernières sections comme suit:

    graph = (0,0), [0, x, 3], [0, y, 3], [1, x, 2], [2,5, x, 2], [-3, x, 3]

    Cela raccourcit un peu les choses par rapport à ce qu'elles étaient auparavant.

    Méthode 3

    Essayons de faire cela d'une autre manière.

    y = 0, 0≤x≤3
    x = 0, 0≤y≤3
    y = x, 3≤x≤5
    y = 2,5x-7,5, 5≤x≤7
    y = -3x + 29, 7≤x≤8
    y = -3x + 29, 8≤x≤9
    y = -3x + 29, 9≤x≤10

    Ici, nous l’avons en termes algébriques purs. Encore une fois, si les points eux-mêmes importent peu et que seul le graphique l’a, nous pouvons consolider les trois derniers éléments..

    y = 0, 0≤x≤3
    x = 0, 0≤y≤3
    y = x, 3≤x≤5
    y = 2,5x-7,5, 5≤x≤7
    y = -3x + 29, 7≤x≤10

    Maintenant, quelle méthode vous choisissez dépend de vos capacités. Peut-être que vous maîtrisez bien les mathématiques et les graphiques, vous devez donc choisir la dernière option. Peut-être que vous êtes bon en navigation, alors vous choisissez la deuxième option. Dans le domaine de l'informatique, cependant, vous effectuez différentes tâches et les capacités de l'ordinateur ne changent pas vraiment. Par conséquent, les algorithmes sont optimisés pour les tâches qu'ils accomplissent.

    Un autre point important à noter est que chaque méthode repose sur une clé. Chaque ensemble d'instructions est inutile à moins de savoir quoi en faire. Si vous ne savez pas que vous êtes supposé tracer chaque point et relier les points, le premier ensemble de points ne signifie rien. Si vous ne savez pas ce que chaque variable signifie dans la deuxième méthode, vous ne saurez pas comment les appliquer, un peu comme la clé d'un chiffre. Cette clé fait également partie intégrante de l'utilisation des algorithmes et se trouve souvent dans la communauté ou via un "standard".

    Compression de fichier

    Lorsque vous téléchargez un fichier .zip, vous en extrayez le contenu afin que vous puissiez utiliser ce qui se trouve à l'intérieur. De nos jours, la plupart des systèmes d'exploitation peuvent plonger dans les fichiers .zip comme s'il s'agissait de dossiers normaux, tout en arrière-plan. Sur ma machine Windows 95 il y a plus de dix ans, je devais tout extraire manuellement avant de pouvoir voir plus que les noms de fichiers à l'intérieur. En effet, ce qui était stocké sur le disque sous forme de fichier .zip n’était pas utilisable. Pensez à un canapé-lit. Lorsque vous souhaitez l'utiliser comme lit, vous devez retirer les coussins et les déplier, ce qui prend plus de place. Lorsque vous n'en avez pas besoin ou que vous souhaitez le transporter, vous pouvez le replier.

    Les algorithmes de compression sont ajustés et optimisés spécifiquement pour les types de fichiers auxquels ils sont destinés. Les formats audio, par exemple, utilisent chacun une manière différente de stocker des données qui, une fois décodées par le codec audio, donneront un fichier son similaire à la forme d'onde d'origine. Pour plus d'informations sur ces différences, consultez notre article précédent, Quelles sont les différences entre tous ces formats audio? Les formats audio Lossless et les fichiers .zip ont une chose en commun: ils fournissent tous les deux les données originales dans leur forme exacte après le processus de décompression. Les codecs audio avec pertes utilisent d'autres moyens pour économiser de l'espace disque, tels que le découpage des fréquences qui ne peuvent pas être entendues par une oreille humaine et le lissage de la forme d'onde par sections pour éliminer certains détails. En fin de compte, bien que nous ne puissions peut-être pas vraiment entendre la différence entre une piste MP3 et une piste CD, il existe clairement un déficit d'informations dans l'ancien.

    Cryptage de données

    Les algorithmes sont également utilisés lors de la sécurisation des données ou des lignes de communication. Au lieu de stocker les données de manière à utiliser moins d'espace disque, elles sont stockées de manière indétectable par d'autres programmes. Si quelqu'un vole votre disque dur et commence à l'analyser, il peut récupérer des données même lorsque vous supprimez des fichiers, car les données elles-mêmes sont toujours présentes, même si l'emplacement de transfert vers celui-ci a disparu. Lorsque les données sont cryptées, tout ce qui est stocké ne ressemble pas à ce que c'est. Cela semble généralement aléatoire, comme si la fragmentation s'était accumulée au fil du temps. Vous pouvez également stocker des données et les faire apparaître sous un autre type de fichier. Les fichiers image et les fichiers musicaux sont bons pour cela, car ils peuvent être assez volumineux sans laisser de suspicion, par exemple. Tout cela est fait en utilisant des algorithmes mathématiques, qui prennent un type d’entrée et le convertissent en un autre type de sortie très spécifique. Pour plus d'informations sur le fonctionnement du cryptage, consultez HTG Explains: qu'est-ce que le cryptage et comment fonctionne-t-il??


    Les algorithmes sont des outils mathématiques offrant diverses utilisations en informatique. Ils travaillent pour fournir un chemin cohérent entre un point de départ et un point final et fournissent les instructions pour le suivre. En savoir plus que ce que nous avons souligné? Partagez vos explications dans les commentaires!