Introduction
Les algorithmes sont devenus omniprésents. Ils optimisent nos déplacements, traitent les paiements et coordonnent le flux du trafic Internet. Il semble que pour chaque problème pouvant être formulé en termes mathématiques précis, il existe un algorithme capable de le résoudre, du moins en principe.
Mais ce n’est pas le cas : certains problèmes apparemment simples ne peuvent jamais être résolus par des algorithmes. L'informaticien pionnier Alan Turing prouvé l’existence de tels problèmes « non calculables » il y a près d’un siècle, dans le même article où il formulait la modèle mathématique de calcul qui a lancé l’informatique moderne.
Turing a prouvé ce résultat révolutionnaire en utilisant une stratégie contre-intuitive : il a défini un problème qui rejette simplement toute tentative de le résoudre.
"Je vous demande ce que vous faites, puis je dis : 'Non, je vais faire quelque chose de différent'", a déclaré Rahul Ilango, étudiant diplômé du Massachusetts Institute of Technology qui étudie l'informatique théorique.
La stratégie de Turing était basée sur une technique mathématique appelée diagonalisation qui a une histoire remarquable. Voici un compte rendu simplifié de la logique derrière sa preuve.
La théorie des cordes
La diagonalisation découle d'une astuce astucieuse pour résoudre un problème banal impliquant des chaînes de bits, dont chacune peut être 0 ou 1. Étant donné une liste de ces chaînes, toutes aussi longues, pouvez-vous générer une nouvelle chaîne qui ne figure pas sur le liste?
La stratégie la plus simple consiste à considérer chaque chaîne possible tour à tour. Supposons que vous ayez cinq chaînes de cinq bits chacune. Commencez par scanner la liste à la recherche de 00000. Si ce n’est pas le cas, vous pouvez arrêter ; si c'est le cas, vous passez à 00001 et répétez le processus. C'est assez simple, mais c'est lent pour les longues listes de longues chaînes.
La diagonalisation est une approche alternative qui construit petit à petit une chaîne manquante. Commencez par le premier bit de la première chaîne de la liste et inversez-le : ce sera le premier bit de votre nouvelle chaîne. Inversez ensuite le deuxième bit de la deuxième chaîne et utilisez-le comme deuxième bit de la nouvelle chaîne, et répétez jusqu'à ce que vous arriviez à la fin de la liste. Les bits que vous retournez garantissent que la nouvelle chaîne diffère de chaque chaîne de la liste d'origine à au moins un endroit. (Ils forment également une ligne diagonale à travers la liste des chaînes, donnant son nom à la technique.)
La diagonalisation n'a besoin d'examiner qu'un bit de chaque chaîne de la liste, elle est donc souvent beaucoup plus rapide que les autres méthodes. Mais sa véritable puissance réside dans sa capacité à jouer avec l’infini.
« Les cordes peuvent désormais être infinies ; la liste peut être infinie – elle fonctionne toujours », a déclaré Ryan Williams, informaticien théorique au MIT.
La première personne à exploiter ce pouvoir fut Georg Cantor, le fondateur du sous-domaine mathématique de la théorie des ensembles. En 1873, Cantor utilisa la diagonalisation pour prouver que certains infinis sont plus grand que les autres. Six décennies plus tard, Turing a adapté la version de Cantor de la diagonalisation à la théorie du calcul, lui donnant une saveur nettement à contre-courant.
Le jeu des limitations
Turing voulait prouver l'existence de problèmes mathématiques qu'aucun algorithme ne peut résoudre, c'est-à-dire des problèmes avec des entrées et des sorties bien définies mais sans procédure infaillible pour passer de l'entrée à la sortie. Il a rendu cette tâche vague plus gérable en se concentrant exclusivement sur les problèmes de décision, où l'entrée peut être n'importe quelle chaîne de 0 et de 1 et la sortie est soit 0, soit 1.
Déterminer si un nombre est premier (divisible uniquement par 1 et lui-même) est un exemple de problème de décision : étant donné une chaîne d'entrée représentant un nombre, la sortie correcte est 1 si le nombre est premier et 0 s'il ne l'est pas. Un autre exemple consiste à vérifier les programmes informatiques pour détecter les erreurs de syntaxe (l’équivalent des erreurs grammaticales). Là, les chaînes d'entrée représentent le code de différents programmes — tous les programmes peuvent être représentés de cette façon, puisque c'est ainsi qu'ils sont stockés et exécutés sur les ordinateurs — et l'objectif est d'afficher 1 si le code contient une erreur de syntaxe et 0 si ce n'est pas le cas. t.
Un algorithme ne résout un problème que s'il produit le résultat correct pour chaque entrée possible. S'il échoue ne serait-ce qu'une seule fois, ce n'est pas un algorithme généraliste pour ce problème. Habituellement, vous spécifiez d’abord le problème que vous souhaitez résoudre, puis essayez de trouver un algorithme qui le résout. Turing, à la recherche de problèmes insolubles, a renversé cette logique : il a imaginé une liste infinie de tous les algorithmes possibles et a utilisé la diagonalisation pour construire un problème obstiné qui contrecarrerait tous les algorithmes de la liste.
Imaginez un jeu truqué de 20 questions, dans lequel plutôt que de commencer avec un objet particulier en tête, celui qui répond invente une excuse pour dire non à chaque question. À la fin du jeu, ils ont décrit un objet entièrement défini par les qualités qui lui manquent.
La preuve de diagonalisation de Turing est une version de ce jeu dans laquelle les questions parcourent la liste infinie d'algorithmes possibles, demandant à plusieurs reprises : « Cet algorithme peut-il résoudre le problème que nous aimerions prouver non calculable ?
"C'est une sorte de" questions infinies "", a déclaré Williams.
Pour gagner la partie, Turing devait élaborer un problème dont la réponse est non pour chaque algorithme. Cela signifiait identifier une entrée particulière qui faisait que le premier algorithme produisait la mauvaise réponse, une autre entrée qui faisait échouer le second, et ainsi de suite. Il a trouvé ces entrées spéciales en utilisant une astuce similaire à celle que Kurt Gödel avait récemment utilisée pour prouver que des affirmations autoréférentielles telles que «cette affirmation est indémontrable» ont causé des problèmes aux fondements des mathématiques.
L’idée clé était que chaque algorithme (ou programme) peut être représenté comme une chaîne de 0 et de 1. Cela signifie, comme dans l’exemple du programme de vérification d’erreurs, qu’un algorithme peut prendre le code d’un autre algorithme comme entrée. En principe, un algorithme peut même prendre son propre code comme entrée.
Avec cette idée, nous pouvons définir un problème non calculable comme celui de la preuve de Turing : « Étant donné une chaîne d'entrée représentant le code d'un algorithme, la sortie 1 si cet algorithme génère 0 lorsque son propre code est l'entrée ; sinon, sortie 0. » Chaque algorithme qui tente de résoudre ce problème produira une sortie erronée sur au moins une entrée, à savoir l’entrée correspondant à son propre code. Cela signifie que ce problème pervers ne peut être résolu par aucun algorithme.
Ce que la négation ne peut pas faire
Les informaticiens n’en ont pas encore fini avec la diagonalisation. En 1965, Juris Hartmanis et Richard Stearns adaptèrent l'argument de Turing à prouver que tous les problèmes calculables ne sont pas créés égaux – certains sont intrinsèquement plus difficiles que d’autres. Ce résultat a lancé le domaine de la théorie de la complexité informatique, qui étudie la difficulté des problèmes informatiques.
Mais la théorie de la complexité a également révélé les limites de la méthode contraire de Turing. En 1975, Theodore Baker, John Gill et Robert Solovay prouvé que de nombreuses questions ouvertes dans la théorie de la complexité ne pourront jamais être résolues par la seule diagonalisation. Le principal d’entre eux est le fameux problème P versus NP, qui demande si tous les problèmes dont les solutions sont facilement vérifiables sont également faciles à résoudre avec le bon algorithme ingénieux.
Les angles morts de la diagonalisation sont une conséquence directe du haut niveau d'abstraction qui la rend si puissante. La preuve de Turing n’impliquait aucun problème non calculable susceptible de survenir dans la pratique – au lieu de cela, elle avait concocté un tel problème à la volée. D'autres preuves de diagonalisation sont également éloignées du monde réel, elles ne peuvent donc pas résoudre les questions où les détails du monde réel comptent.
"Ils gèrent les calculs à distance", a déclaré Williams. "J'imagine un gars qui s'occupe de virus et qui y accède via une boîte à gants."
L'échec de la diagonalisation était une première indication que la résolution du problème P versus NP serait difficile à résoudre. un long voyage. Mais malgré ses limites, la diagonalisation reste l’un des outils clés de l’arsenal des théoriciens de la complexité. En 2011, Williams l'a utilisé avec une série d'autres techniques pour prouver qu'un certain modèle restreint de calcul ne pouvait pas résoudre certains problèmes extraordinairement difficiles – un résultat qui avait échappé aux chercheurs pendant 25 ans. On est loin d’une résolution entre P et NP, mais cela représente néanmoins un progrès majeur.
Si vous voulez prouver que quelque chose n’est pas possible, ne sous-estimez pas le pouvoir de simplement dire non.
- Contenu propulsé par le référencement et distribution de relations publiques. Soyez amplifié aujourd'hui.
- PlatoData.Network Ai générative verticale. Autonomisez-vous. Accéder ici.
- PlatoAiStream. Intelligence Web3. Connaissance Amplifiée. Accéder ici.
- PlatonESG. Automobile / VE, Carbone, Technologie propre, Énergie, Environnement, Solaire, La gestion des déchets. Accéder ici.
- PlatoHealth. Veille biotechnologique et essais cliniques. Accéder ici.
- GraphiquePrime. Élevez votre jeu de trading avec ChartPrime. Accéder ici.
- Décalages de bloc. Modernisation de la propriété des compensations environnementales. Accéder ici.
- La source: https://www.quantamagazine.org/alan-turing-and-the-power-of-negative-thinking-20230905/
- :possède
- :est
- :ne pas
- :où
- ][p
- $UP
- 1
- 20
- 2011
- 25
- a
- abstraction
- Compte
- depuis
- Alan
- Alan Turing
- algorithme
- algorithmiquement
- algorithmes
- Tous
- seul
- aussi
- parmi
- an
- et de
- Une autre
- répondre
- tous
- une approche
- SONT
- argument
- survenir
- Arsenal
- AS
- demander
- At
- boulanger
- basé
- BE
- devenez
- derrière
- Bit
- Box
- construit
- mais
- by
- appelé
- cambridge
- CAN
- maisons
- siècle
- certaines
- vérification
- chef
- code
- complexité
- calcul
- ordinateur
- Informatique
- ordinateurs
- Considérer
- construire
- contient
- contraire
- coordonner
- correct
- Correspondant
- élaborer
- créée
- traitement
- décennies
- décision
- Vous permet de définir
- défini
- décrit
- Malgré
- détails
- différent
- Difficulté
- distance
- Distingué
- do
- Ne fait pas
- faire
- Ne pas
- chacun
- "Early Bird"
- même
- Easy
- non plus
- fin
- assez
- assurer
- entièrement
- égal
- également
- Équivalent
- erreur
- Erreurs
- Pourtant, la
- Chaque
- examiner
- exemple
- uniquement au
- réalisé
- existence
- extraordinairement
- FAIL
- échoue
- Échec
- célèbre
- loin
- Far Cry
- plus rapide
- champ
- Trouvez
- Prénom
- cinq
- Retournement
- flux
- mettant l'accent
- Pour
- formulaire
- trouvé
- Fondations
- fondateur
- De
- jeu
- à usage général
- générer
- obtenez
- obtention
- donné
- Don
- objectif
- aller
- diplôme
- révolutionnaire
- gars
- ait eu
- manipuler
- Dur
- Plus fort
- harnais
- Vous avez
- he
- front
- Haute
- sa
- Histoire
- Comment
- HTTPS
- i
- identifier
- IEEE
- if
- image
- imaginé
- in
- indication
- Infini
- Infinity
- contribution
- entrées
- perspicacité
- plutôt ;
- Institut
- Internet
- intrinsèquement
- impliquer
- IT
- SES
- lui-même
- John
- juste
- ACTIVITES
- kurt
- plus tard
- lancé
- au
- Niveau
- se trouve
- comme
- limitation
- limites
- limites
- Gamme
- Liste
- Liste
- logique
- Location
- LES PLANTES
- magazine
- majeur
- FAIT DU
- maniable
- de nombreuses
- Massachusetts
- Massachusetts Institute of Technology
- mathématique
- mathématiques
- Matière
- veux dire
- signifiait
- méthode
- méthodes
- pourrait
- l'esprit
- manquant
- erreurs
- MIT
- modèle
- Villas Modernes
- PLUS
- (en fait, presque toutes)
- Bougez
- beaucoup
- prénom
- à savoir
- presque
- nécessaire
- Besoins
- négatif
- n'allons jamais
- Nouveauté
- aucune
- maintenant
- nombre
- objet
- of
- souvent
- on
- une fois
- ONE
- uniquement
- ouvert
- Optimiser
- or
- original
- Autre
- Autres
- autrement
- nos
- sortie
- propre
- Papier
- particulier
- Paiements
- personne
- Nous travaillons à vous offrir une solution de transport
- Place
- Platon
- Intelligence des données Platon
- PlatonDonnées
- joue
- possible
- power
- solide
- pratique
- précis
- Prime
- principe
- Problème
- d'ouvrabilité
- procédure
- processus
- produire
- produit
- Programme
- Programmes
- Progrès
- preuve
- preuves
- Prouver
- prouvé
- qualités
- Quantamamagazine
- question
- fréquemment posées
- plutôt
- réal
- monde réel
- récemment
- reste
- répéter
- À PLUSIEURS REPRISES
- représentent
- représenté
- représentation
- chercheurs
- résolu
- résoudre
- limité
- résultat
- Révélé
- Richard
- gréé
- bon
- ROBERT
- Courir
- Saïd
- même
- dire
- dire
- balayage
- Sciences
- Scientifique
- scientifiques
- Rechercher
- Deuxièmement
- apparemment
- semble
- set
- Siam
- similaires
- De même
- étapes
- simplifié
- simplement
- depuis
- SIX
- lent
- So
- Solutions
- RÉSOUDRE
- Résout
- Résoudre
- quelques
- quelque chose
- spécial
- taches
- Commencer
- Commencez
- Déclaration
- découle
- Encore
- Arrêter
- stockée
- simple
- de Marketing
- Chaîne
- Étudiant
- études
- Étudier
- tel
- syntaxe
- Prenez
- Tâche
- techniques
- Technologie
- conditions
- que
- qui
- La
- Les
- puis
- théorique
- théorie
- Là.
- Ces
- l'ont
- En pensant
- this
- ceux
- Avec
- contrecarrer
- à
- ensemble
- les outils
- circulation
- difficulté
- oui
- Essai
- Turing
- TOUR
- Tourné
- omniprésent
- jusqu'à
- utilisé
- d'utiliser
- en utilisant
- version
- Versus
- virus
- souhaitez
- voulu
- était
- Façon..
- we
- webp
- WELL
- bien défini
- Quoi
- quand
- que
- qui
- WHO
- sera
- Williams
- gagner
- comprenant
- vos contrats
- world
- pourra
- faux
- années
- encore
- Vous n'avez
- Votre
- zéphyrnet