La MWI (Many Worlds Interpretation) est une manière d'interpréter la mécanique quantique, qui prétend que lorsqu'un phénomène pouvant avoir plusieurs résultats se produit, alors tous les résultats se produisent, dans des univers différents. Par exemple, lorsque je lance une pièce, dans certains univers elle va tomber sur pile, et dans d'autres sur face. Si la pièce est correctement équilibrée, la proportion d'univers dans laquelle j'obtiendrai pile est (en gros) la même que la proportion d'univers dans laquelle j'obtiendrai face. Mais cela va plus loin: dans une proportion beaucoup plus petite d'univers, la pièce va tomber sur sa tranche, et dans d'autres, elle ne retombera pas (elle aura, par exemple, été avalée par un oiseau, ou frappée par la foudre).
Pour formuler les choses simplement, la MWI prétend que tout ce qui est physiquement possible se produit dans un univers. Plus quelque chose est probable, et plus il se produit dans un grand nombre d'univers, mais il existe une infinité d'univers où des choses très improbables se produisent. Il ne faut pas s'étonner que nous ayons l'impression d'un monde qui se comporte « normalement », ce n'est qu'une conséquence du principe anthropique et du fait que nous avons infiniment plus de probabilités de nous trouver dans un univers où des évènements improbables ne se produisent pas.
Si l'on accepte la MWI, on est obligés de conclure qu'il existe des « univers Harry Potter », où des phénomènes improbables se produisent continuellement et donnent l'impression que la magie existe. Par exemple, il existe des univers où quand Harry s'installe sur son balais, celui-ci se soulève du sol. Mais, ce qui est plus drôle, c'est qu'il existe un plus grand nombre d'univers où la « magie » cesse brusquement de fonctionner, et où tout le monde s'écrase au sol en plein match de Quidditch.
La thèse de Church-Turing dit en substance que n'importe quelle fonction que l'on considère comme calculable peut être calculée par une machine de Turing. Les ordinateurs que nous rencontrons tous les jours sont exactement aussi puissants qu'une machine de Turing universelle, ni plus, ni moins. Nous savons qu'il existe des fonctions qui ne sont pas calculables par une machine de Turing. Le problème le plus courrament utilisé pour illustrer ce fait est le problème d'arrêt : est-il possible de décider si une machine de Turing à laquelle on donne des données va s'arrêter, ou bien va boucler infiniment ? La manière intuitive de faire cela échoue : on peut faire tourner la machine pendant 10 minutes, et si elle s'arrête on répond oui. Mais si elle ne s'est pas arrêtée au bout de dix minutes, rien ne nous permet de conclure qu'elle ne va pas s'arrêter dans les minutes suivantes.
On peut prouver assez facilement qu'il est impossible de faire un programme exécuté sur une machine de Turing qui puisse décider si un programme quelconque se termine. L'idée générale consiste à supposer qu'un tel programme P existe, c'est à dire que P(A) dit oui si A se termine, et non si A boucle. Ensuite, on construit un programme Q(A) qui dit oui si A boucle (si P(A) répond non), et boucle si A se termine (si P(A) répond oui). Lorsqu'on applique Q à lui même, Q(Q), il répond oui si Q ne se termine pas, et ne se termine pas si Q se termine. C'est absurde, et donc on doit conclure que Q n'existe pas. La seule difficulté pour construire Q est de construire P, donc P n'existe pas. Nous sommes donc en présence d'un problème de décision non calculable. Existe-t-il un moyen de s'en sortir ?
Des théoriciens ont défini des machines de Zénon, aussi connues sous le nom de machines de Turing accélérées. Leur nom s'inspire des réflexions du philosophe Zénon, dont j'ai déjà parlé ici. Une machine de Zénon est une machine de Turing qui met une demi-minute à faire sa première étape de calcul, puis un quart de minute à faire la seconde, un huitième pour la troisième, etc. Comme elle calcule de plus en plus vite, et que la somme (ifinie) des délais nécessaires à chaque étape tend vers un, au bout d'une minute elle aura effectué un nombre infini de calculs. Par conséquent, on peut définir une machine de Zénon qui possède une valeur particulière X commençant à 0, à qui on donne un programme P, et qui doit écrire 1 dans X si jamais P se termine. Au bout d'une minute, on observe X. Si X=1, c'est que P s'est terminé. Si X=0, c'est que P ne s'arrête jamais.
Les machines de Zénon ont deux défaut. Le premier défaut est qu'elles semblent être uniquement du domaine de l'idée ; intuitivement, on imagine mal une machine qui accélère infiniment. Toutefois, des solutions physiques ont été proposées, qui seraient théoriquement possibles si certaines hypothèses sont vérifiées. Une des solutions consiste à lancer la machine dans un trou noir. Du point de vue d'un observateur externe, la machine effectue ses calculs de plus en plus vite, et au moment où elle est absorbée par le trou noir, elle a effectué un nombre infini de calculs. Je vous passe les détails, mais parmis les hypothèses douteuses, nous avons besoin d'une source d'énergie infinie, et nous avons besoin que le temps soit infiniment divisible.
Le deuxième défaut est qu'elles peuvent produire des incongruités. En effet, si on imagine une machine de Zénon qui fait X=1, X=0, X=1, X=0... alors quelle sera la valeur de X au bout d'un nombre infini d'itérations ? Est-ce un signe que les machines de Zénon sont impossibles, et cela peut-il nous révéler quelque chose concernant les solutions physiques dont j'ai parlé plus haut ?
À lire aussi sur la question, un article de Jean-Paul Delahaye dans le numéro 312 de Pour la Science.
Les mathématiciens connaissent deux types d'infini. L'infini potentiel consiste à dire qu'un marcheur peut toujours faire un pas supplémentaire, ou que si l'on a compté jusqu'à un nombre n, on peut toujours continuer jusqu'à n+1. L'infini actuel, lui, consiste à considérer qu'un segment de droite est en fait un ensemble infini de points, ou que l'intervalle [0, 1] est un ensemble infini de nombres réels. L'infini potentiel parle donc d'infini « de principe » qui n'a pas d'existence concrète, alors que l'infini actuel prétend que des quantités infinies existent réellement.
La question reste ouverte de savoir si l'infini existe dans notre monde physique, ou bien s'il n'a de réalité que dans l'esprit des mathématiciens. Par exemple, le temps ou l'espace sont-ils infiniment divisibles ? On pense, par exemple, au paradoxe de Zénon, selon lequel un coureur (Achille) ne peut en rattraper un autre plus lent (la tortue), car il doit d'abord parcourir la moitié de la distance qui les sépare. Pendant ce temps, la tortue a progressé un tout petit peu, et Achille doit toujours parcourir la moitié de la distance qui les sépare, etc.
G. J. Chaitin expose dans un article intéressant quelques arguments mathématiques et physiques contre la continuité, donc contre l'existence d'une infinité indénombrable de nombres réels. Il s'agit d'un exposé court et clair sur un le sujet, qui donne envie d'aller fouiller dans ses références. En particulier, il m'a donné envie de finir la lecture du livre de Wolfram, A New Kind of Science, malgré son autosatisfaction énervante.
À lire aussi sur le sujet, le numéro de décembre 2000 de Pour la Science, consacré aux Infinis.
Le camée Léon venait de prendre la parole. Il balançait devant moi son petit plumeau en me parlant à la quatrième personne comme il sied à un valet de son espèce nuageuse. Avec tout l'enjouement dont je suis capable je lui objectai successivement le vacarme, l'idiotie parfaite des étages supérieurs et la cage d'ascenseur qui présentait aux nouveaux venus une grande seiche de lumière. Les derniers entrants, une femme et un homme de la navigation amoureuse, désiraient parler à Madame de Rosen. C'est ce que le camée Léon vint me dire, lorsque la sonnette retentit et que le brillantin se mit à glisser. De mon lit je n'apercevais que la veilleuse énorme de l'hôtel battant dans la rue comme un coeur ; et sur l'une des artères était écrit le mot : central, sur une autre le mot : froid, - froid de lion, froid de canard ou froid de bébé ? Mais le camée Léon frappait de nouveau à ma porte. [...]
5, dans Poisson soluble de André Breton.
L'écriture automatique consiste à écrire sans réfléchir à ce qu'on écrit. On l'utilise parfois pour faire du spiritisme, mais on retrouve aussi cette pratique dans le domaine artistique, depuis le Surréalisme. L'idée fondamentale derrière tout cela est que l'écriture automatique permet de s'affranchir des conventions et autres barrières mentales. Le plus étrange dans tout cela est que la lecture de ces oeuvres est intéressante. Il ne s'agit pas d'écriture aléatoire: il n'y aurait pas beaucoup d'intérêt à lire un poème écrit au hasard par un ordinateur (encore que...). Voila une piste originale pour les amateurs d'intelligence artificielle et de sciences cognitives, produire un programme capable de faire de l'écriture automatique qui ne soit pas de l'écriture aléatoire.
En linguistique, l'hypothèse Sapir-Whorf postule que la langue que nous parlons affecte la manière dont nous pensons. Plus exactement, affecte la manière dont nous concevons le monde. L'envie de vérifier cette hypothèse a donné naissance au Lojban, un langage artificiel dont la grammaire propose plusieurs manières structurées de formuler des concepts proches, et permet d'être étonnament précis tout en restant utilisables par un humain lors d'une conversation.
L'hypothèse Sapir-Whorf reste donc à ce jour une conjecture. Cependant, en informatique, elle semble vérifiée régulièrement. En effet, il existe plusieurs paradigmes de programmation, dont les plus connus sont la programmation impérative (en C, Java, etc.) où l'on décrit les instructions à exécuter l'une après l'autre, et la programmation fonctionnelle, où l'on s'intéresse à des fonctions et à leurs valeurs. On sait que tous les langages de programmation sont équivalents à une machine de Turing universelle, et donc sont tous aussi puissants les uns que les autres. Pourtant, il existe des algorithmes qui semblent « naturels » dans un paradigme et sont très difficiles à formuler dans un autre. Tout programmeur habitué à un langage impératif qui s'est essayé à la programmation fonctionnelle (ou l'inverse) en a fait la dure expérience. C'est une des raisons pour laquelle il existe une telle diversité de langages de programmation.
Il semble difficile de mélanger deux paradigmes (bien que certains langages le fassent). Il est aussi difficile de changer de paradigme temporairement pour résoudre un problème. Affirmation subjective: un bon langage de programmation est un langage qui reste fidèle à son paradigme « d'origine », mais qui sait faire en sorte que les tâches « appartenant » à d'autres paradigmes soient formulables de manière naturelle. Le langage Ruby est un bon exemple de langage impératif (objet) qui sait incorporer de manière naturelle des éléments fonctionnels.