Divers

Comment les algorithmes gèrent le monde dans lequel nous vivons

Comment les algorithmes gèrent le monde dans lequel nous vivons

Ceci est le premier article d'une série en sept parties sur les algorithmes et le calcul, qui explore comment nous utilisons des nombres binaires simples pour alimenter notre monde

Si vous étiez assez vieux pour faire l'expérience de la première vague d'ordinateurs personnels dans les années 1980, vous avez probablement vécu la révolution la plus importante de la technologie humaine depuis l'invention de la roue. La puissance de calcul du smartphone le moins cher produit en masse est exponentiellement plus puissante que tout ce qui existait aux débuts de l'informatique. Le logiciel qui a alimenté la mission Apollo qui a mis un homme sur la lune était à peu près aussi sophistiqué qu'une application sur votre téléphone l'est aujourd'hui. Le tout alimenté par des algorithmes qui exploitent l'incroyable puissance des processeurs modernes pour accomplir ce qui semble impossible.

Quels sont les problèmes?

Premièrement, que voulons-nous dire lorsque nous utilisons le terme problème? En informatique, un problème est une tâche qui, lorsqu'elle est résolue, produit le résultat souhaité. C'est un langage mathématique car le problème est la barrière entre votre position ou état actuel et la position ou l'état dans lequel vous voulez être. La barrière entre vous et votre destination est le problème. Ce dont vous avez besoin maintenant, c'est d'une porte qui transforme un problème en un processus qui se termine par une position ou un état souhaité.

CONNEXES: KATIE BOUMAN: L'ESPRIT BRILLANT QUI NOUS A DONNÉ L'IMAGE D'UN TROU NOIR

Nous savons tous que les ordinateurs sont essentiellement des calculatrices, ajoutant, soustrayant et manipulant autrement 1s et 0s pour tout faire, du traitement des documents texte au flux Le Trône de Fer. C’est un ballet complexe entre votre processeur, vos logiciels, le matériel de votre ordinateur et les divers périphériques d’entrée qui créent un échange qui produit tout cela. À la base, cependant, tout ce que font les ordinateurs tourne autour de la simple tâche de résoudre un problème en construisant des ponts entre leur état et celui souhaité.

Quel est le produit de 6 et 13? Quel est le somme de tous les nombres entre 120 et 226? Quel est le reste produit par le division de 14738 par 19? Ce sont tous des problèmes et ce sont les éléments de base de nos jeux vidéo, de nos logiciels de productivité et de nos divertissements en continu. Les réponses à ces problèmes se combinent avec d'autres solutions similaires à d'autres problèmes, qui ensuite résolvent des problèmes encore plus grands et plus compliqués.

Le problème de la production hebdomadaire des horaires pour les employés d'une entreprise avec le coût de main-d'œuvre le plus bas possible, de la recherche du chemin le plus court vers notre destination où que nous soyons à un moment donné, ou de toute autre tâche que les ordinateurs effectuent maintenant que nous tenons principalement pour acquise sont tous finalement composés de ces sous-problèmes plus petits dont les solutions s'ajoutent à la solution plus large du problème plus important auquel nous sommes confrontés.

Tout cela est conduit par résoudre des problèmes mathématiques et logiques, et ces solutions, les portes dans les barrières mathématiques ou logiques, sont produites par quelque chose appelé un algorithme.

Qu'est-ce qu'un algorithme?

Le terme algorithme a été largement abusé ces dernières années, il est donc important de clarifier ce que cela signifie. Un algorithme est une série de mesures prises pour résoudre un problème spécifique et discret. La recherche Google est alimentée par un algorithme, mais seulement de la manière dont une poupée Matriochka est une poupée. La recherche Google est en fait alimentée par un algorithme en plus de dizaines de algorithmes en plus de dizaines d'autres algorithmes, tous résolvant un sous-problème spécifique du problème plus vaste et travaillant ensemble dans un seul processus ou programme pour renvoyer les résultats de la recherche d'une requête.

Fil d'actualité de Facebook, Instagram, YouTube, Call of Duty, ils sont tous construits à partir de algorithmes résoudre des problèmes les uns pour les autres pour produire la fonctionnalité que nous désirons.

Disons que vous vouliez trouver la somme de tous les nombres entre les nombres m et n. Vous pouvez créer un numéro appelé résultat, définissez-le égal à 0, et ajoutez simplement m à lui, alors m + 1, puis m + 2 et ainsi de suite jusqu'à ce que vous ajoutiez n lui-même, laissant la somme de tous les nombres dans résultat. Cette série d'étapes est le algorithme. Pas très efficace un, mais nous garderons cela pour un article ultérieur.

Algorithmes travailler par programme, instruction par instruction, en construisant la porte exactement comme l'ordinateur lui-même devrait la construire et en nous permettant de passer de notre état actuel à notre désiré. Ils sont une réponse à la question: comment résoudre ce problème spécifique? et les réponses à cette question dans chaque programme informatique jamais créé sont la puissance de notre monde moderne.

Comment les algorithmes fonctionnent ensemble pour faire avancer les choses

Google a commencé comme une réponse à un problème: comment classer et lister les résultats renvoyés par la mise en correspondance d'un terme de requête avec les entrées de notre index de page Web? L'index de page Web de Google pouvait avoir des millions de pages correspondantes pour un terme de requête, il fallait donc imposer un certain ordre. La liste des pages non classées était l'état initial de Google, et ils voulaient une liste de pages classées de manière à ce que les pages les plus faisant autorité soient classées au premier rang et apparaissent donc en premier sur la liste, tandis que les moins faisant autorité se classaient au plus bas et étaient donc poussées tout en bas.

Le problème que Google devait résoudre était alors: comment classer une page Web?

le algorithme que Larry Page et Sergei Brin ont développé au milieu des années 90 s'appelle Classement, et il a servi de moteur à la recherche Google au cours des premières années de l'entreprise. Google a rapidement surpassé tous les autres moteurs de recherche sur Internet, y compris plusieurs qui avaient quelques années d'avance sur eux, dominant finalement leur concurrence et rendant à la fois Page et Brin incroyablement riches tout en aidant à transformer Google en un verbe.

Nous avons déjà mentionné en quoi le moteur de recherche de Google est un algorithme, mais c'est aussi bien plus que cela. C'est parce que la recherche Google est devenue beaucoup plus sophistiquée au fil des ans plutôt que de simplement compter sur Classement; Classementreçoit maintenant beaucoup plus d'aide que dans le début des années 2000 de douzaines, même des centaines, d'algorithmes supplémentaires pour générer les meilleurs résultats possibles.

Vous pourriez techniquement concevoir un algorithme unique qui exécute tout ce que Google Search est devenu dans toute sa complexité, mais ce serait un désordre lourd et inefficace. Au lieu de cela, la recherche Google est un ensemble d'algorithmes résolvant tous des problèmes distincts et faisant passer les solutions de ces problèmes à d'autres algorithmes qui en ont besoin. Avant, nous écrivions un algorithme de base pour la somme de tous les nombres entre m et n. C'est bien beau, mais vous pouvez utiliser cet algorithme pour vous aider à calculer une moyenne aussi, prenez simplement le résultat de cet algorithme et divisez le résultat par la différence de m - n (après avoir vérifié que m - n n'est pas zéro, bien sûr).

De cette manière, les algorithmes deviennent des blocs de calcul qui peuvent résoudre des problèmes de plus en plus importants en travaillant ensemble. Il permet à SpaceX d'ancrer automatiquement la capsule Dragon Crew avec la Station spatiale internationale et a aidé à résoudre le problème de la façon d'assembler des pétaoctets de données et de localiser, isoler et récupérer la toute première image de l'horizon des événements d'un trou noir supermassif.

En travaillant ensemble, même des algorithmes simples peuvent accomplir des choses étonnantes, mais certains algorithmes sont spéciaux et méritent d'être reconnus en eux-mêmes comme étant vraiment révolutionnaires, contribuant à alimenter toute une série de nouvelles technologies pendant des décennies après leur première publication.

La deuxième partie de notre série sur les algorithmes et le calcul, 7 algorithmes essentiels qui gèrent le monde, peut être trouvé ici.


Voir la vidéo: Teaser Mooc Bioinformatique: algorithmes et génomes (Novembre 2021).