in

Que sont les algorithmes informatiques et comment fonctionnent-ils?

À moins que vous ne soyez dans les mathématiques ou la programmation, le mot «algorithme» peut être grec pour vous, mais c’est l’un des éléments constitutifs de tout ce que vous utilisez pour lire cet article. Voici une explication rapide de ce qu’ils sont et de leur fonctionnement.

Avertissement: je ne suis pas un professeur de mathématiques ou d’informatique, donc tous les termes que j’utilise ne sont pas techniques. C’est parce que j’essaie de tout expliquer en anglais simple pour les gens qui ne sont pas tout à fait à l’aise avec les mathématiques. Cela étant dit, il y a des mathématiques impliquées, et c’est inévitable. Geeks de mathématiques, n’hésitez pas à corriger ou à mieux expliquer dans les commentaires, mais s’il vous plaît, restez simple pour les mathématiciens peu enclins parmi nous.

Qu’est-ce qu’un algorithme?

Le mot «algorithme» a une étymologie similaire à «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, entre autres choses beaucoup plus avancées. Outre 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 des données.

Un ensemble d’instructions de base

Disons que votre ami vous rencontre dans une épicerie et que vous le guidez vers vous. Vous dites des choses comme «entrez par les portes du côté droit», «passez la section du poisson sur la gauche» et «si vous voyez la laiterie, vous m’avez dépassé». Les algorithmes fonctionnent comme ça. Nous pouvons utiliser un organigramme pour illustrer des instructions basées sur des critères que nous connaissons à l’avance ou que nous découvrons au cours du processus.

(image intitulée « Routine de déglaçage”EDIT: avec l’aimable autorisation de Déclencheur et roue libre)

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

Graphiques

Utilisons un graphique pour illustrer les différentes façons dont nous pouvons donner des directions.

Nous pouvons exprimer ce graphique comme une connexion 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 du graphe = {(x1, y1), (x2, y2),…, (xn, yn)}.

graphe = {(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 connecter au point précédent. Cependant, imaginez un graphique avec un millier de points ou plusieurs segments allant dans tous les sens. Cette liste contiendrait beaucoup de données, non? Et puis devoir connecter chacun d’eux, un à la fois, peut être pénible.

Méthode 2

Une autre chose que nous pouvons faire est de donner un point de départ, la pente de la ligne entre lui et le point suivant, et indiquer où attendre le point suivant en utilisant la forme standard de graph = {(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 compter (que ce soit x ou y), et «h» vous indique combien compter dans ladite direction. Vous pouvez également vous rappeler de tracer un point après chaque mouvement.

graphe = {(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 vous retrouverez avec le même graphique. Vous pouvez voir que les trois derniers termes de cette expression sont les mêmes, donc 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 répéter la dernière chose. Nous pouvons le faire:

graphe = {(0,0), [0,x,3], [0,y,3], [1,x,2], [2.5,x,2], [-3,x,1], [R=2]}

Que faire si les points individuels n’ont pas vraiment d’importance, et que seul le graphique lui-même le fait? Nous pouvons consolider ces trois dernières sections comme ceci:

graphe = {(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 n’ont pas d’importance et que seul le graphique le fait, 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, la méthode que vous choisissez dépend de vos capacités. Peut-être que vous êtes doué pour les mathématiques et les graphiques, alors choisissez la dernière option. Peut-être que vous êtes doué pour la navigation, alors choisissez la deuxième option. Dans le domaine des ordinateurs, cependant, vous effectuez de nombreux types de tâches et la capacité de l’ordinateur ne change 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 que vous ne sachiez quoi en faire. Si vous ne savez pas que vous êtes censé tracer chaque point et relier les points, le premier ensemble de points ne signifie rien. À moins que vous ne sachiez ce que signifie chaque variable dans la deuxième méthode, vous ne saurez pas comment les appliquer, tout comme la clé d’un chiffrement. Cette clé fait également partie intégrante de l’utilisation des algorithmes, et souvent, cette clé se trouve dans la communauté ou via un «standard».

Compression de fichiers

Lorsque vous téléchargez un fichier .zip, vous extrayez le contenu afin de pouvoir utiliser tout ce qu’il contient. De nos jours, la plupart des systèmes d’exploitation peuvent plonger dans des fichiers .zip comme s’ils étaient des dossiers normaux, tout en faisant tout en arrière-plan. Sur ma machine Windows 95 il y a plus de dix ans, j’ai dû tout extraire manuellement avant de pouvoir voir autre chose que les noms de fichiers à l’intérieur. C’est parce que ce qui était stocké sur le disque sous forme de fichier .zip n’était pas sous une forme utilisable. Pensez à un canapé-lit. Lorsque vous souhaitez l’utiliser comme lit, vous devez retirer les coussins et le 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 sans perte et les fichiers .zip ont une chose en commun: ils fournissent tous les deux les données d’origine dans leur forme exacte après le processus de décompression. Les codecs audio avec perte 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 les oreilles humaines et le lissage de la forme d’onde par sections pour éliminer certains détails. En fin de compte, même si nous ne pourrons peut-être pas vraiment entendre la différence entre une piste MP3 et une piste CD, il y a certainement un déficit d’informations dans la première.

Cryptage des données

Des algorithmes sont également utilisés lors de la sécurisation des données ou des lignes de communication. Au lieu de stocker des données afin d’utiliser moins d’espace disque, elles sont stockées d’une manière indétectable par d’autres programmes. Si quelqu’un vole votre disque dur et commence à le scanner, il peut récupérer des données même lorsque vous supprimez des fichiers, car les données elles-mêmes sont toujours là, 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 qu’il 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 comme un autre type de fichier. Les fichiers image et les fichiers musicaux sont bons pour cela, car ils peuvent être assez volumineux sans attirer les soupçons, par exemple. Tout cela est fait en utilisant des algorithmes mathématiques, qui prennent une sorte d’entrée et la 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 qui offrent une variété d’utilisations en informatique. Ils travaillent pour fournir un chemin entre un point de départ et un point d’arrivée d’une manière cohérente, et fournissent les instructions pour le suivre. Vous en savez plus que ce que nous avons souligné? Partagez vos explications dans les commentaires!

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Thèmes Windows XP non officiels créés par Microsoft

Thèmes Windows XP non officiels créés par Microsoft

Raccourcis clavier pour Hulu: une feuille de triche

Raccourcis clavier pour Hulu: une feuille de triche