Vous êtes sur le blog de David Madore, qui, comme le
reste de ce site web, parle de tout et
de n'importe quoi (surtout de n'importe quoi, en fait),
des maths à
la moto et ma vie quotidienne, en passant
par les langues,
la politique,
la philo de comptoir, la géographie, et
beaucoup de râleries sur le fait que les ordinateurs ne marchent pas,
ainsi que d'occasionnels rappels du fait que
je préfère les garçons, et des
petites fictions volontairement fragmentaires que je publie sous le
nom collectif de fragments littéraires
gratuits. • Ce blog eut été bilingue à ses débuts (certaines
entrées étaient en anglais, d'autres en français, et quelques unes
traduites dans les deux langues) ; il est
maintenant presque exclusivement en
français, mais je ne m'interdis pas d'écrire en anglais à
l'occasion. • Pour naviguer, sachez que les entrées sont listées par
ordre chronologique inverse (i.e., celle écrite en dernier est en
haut). Certaines de mes entrées sont rangées dans une ou plusieurs
« catégories » (indiqués à la fin de l'entrée elle-même), mais ce
système de rangement n'est pas très cohérent. Cette page-ci rassemble
les entrées de la catégorie Mathématiques :
il y a une liste de toutes les catégories à la fin de cette page, et
un index de toutes les entrées.
Le permalien de chaque entrée est dans la date, et il est aussi
rappelé avant et après le texte de l'entrée elle-même.
You are on David Madore's blog which, like the rest of this web
site, is about everything and
anything (mostly anything, really),
from math
to motorcycling and my daily life, but
also languages, politics,
amateur(ish) philosophy, geography, lots of
ranting about the fact that computers don't work, occasional reminders
of the fact that I prefer men, and
some voluntarily fragmentary fictions that I publish under the
collective name of gratuitous literary
fragments. • This blog used to be bilingual at its beginning
(some entries were in English, others in French, and a few translated
in both languages); it is now almost
exclusively in French, but I'm not ruling out writing English blog
entries in the future. • To navigate, note that the entries are listed
in reverse chronological order (i.e., the latest written is on top).
Some entries are classified into one or more “categories” (indicated
at the end of the entry itself), but this organization isn't very
coherent. This page lists entries in
category Mathematics: there is a list of
all categories at the end of this page, and
an index of all entries. The
permalink of each entry is in its date, and it is also reproduced
before and after the text of the entry itself.
Méta : Contrairement
au précédent qui prétendait être de
la vulgarisation (avec quel succès je ne sais pas), le présent billet
s'adresse aux personnes qui ont déjà une certaine familiarité avec la
calculabilité. (En gros, les prérequis sont les mêmes que
dans ce billet
ou celui-ci
ou celui-là, qui sont sur des
sujets proches : je suppose que les notions, disons, de machine
universelle ou de codage de Gödel sont connues, et c'est préférable si
la notion de machine avec oracle est aussi familière, même si je vais
la redéfinir ci-dessous. Les billets que je viens de citer et
celui-ci peuvent se lire indépendamment et dans n'importe quel ordre,
mais ils devraient s'éclairer mutuellement puisque tout ceci tourne
autour des mêmes questions.)
Désolé, donc, pour les gens qui espéraient un billet non technique
et qui voient de nouveau de la calculabilité (surtout que j'ai mis
beaucoup de temps à le publier parce que j'avais plein de choses à
faire), mais j'ai compris quelque chose, là, et il est très utile pour
moi de le coucher par écrit pour m'en souvenir ultérieurement.
(On peut sauter cette section ainsi que la
suivante si on veut entrer
dans le vif du
sujet.)
La motivation de ce billet est pour moi d'essayer de comprendre le
sens d'un théorème et ce que nous apprend sa démonstration, et
pourquoi je pense qu'il est intéressant et important. Le théorème en
question n'est pas de moi : il est de Martin
Hyland[#], mais je ne suis pas
sûr que ça ait vraiment été remarqué qu'on pouvait le formuler de la
manière que je vais expliquer, donc disons que le théorème est dû à
Hyland mais la formulation est (peut-être) originale. Le théorème tel
qu'écrit par Hyland parle de choses un peu sophistiquées (des
« topologies de Lawvere-Tierney sur le topos effectif »), mais ce qui
m'intéresse ici est qu'on peut le reformuler, ainsi que sa
démonstration, de façon un peu plus élémentaire et peut-être plus
« informatique ». Ce qui ne veut pas dire que la démonstration soit
forcément facile à suivre pour autant ! En tout cas, je ne m'attends
pas que le lecteur sache ce qu'est qu'une topologie de Lawvere-Tierney
ni ce qu'est le topos effectif. Si vous voulez en savoir un peu plus
sur ce que ces mots veulent dire (enfin, au moins les deux derniers),
je renvoie aux autres entrées de ce blog liées ci-dessus, mais, je
répète, ce n'est normalement pas nécessaire de les lire pour
comprendre ce qui suit.
[#] L'article original
de Hyland où se trouve ce théorème a pour titre The
Effective Topos, et il est paru p. 165–216 dans les
actes The L.E.J. Brouwer Centenary
Symposium édité par Troelstra & van Dalen (1982) : en
voici une
version retypographiée
et le scan de
la version d'origine (disponible sur Sci Hub si vous n'y avez pas
accès par ce lien). Le théorème en question est essentiellement une
reformulation du théorème 17.2 de l'article en question (ou, disons,
de l'ensemble de §17, parce que le lemme qui précède est également
important dans ce que je raconte).
C'est, en fait, une tâche assez fréquente dans
le travail d'un mathématicien
d'essayer de « décoder » une démonstration (pas juste la vérifier,
mais arriver à voir ce qu'elle devient dans un cas particulier, ou
dans un cadre un peu différent, ou quand on l'applique dans tel ou tel
contexte, ou quand on la traduit dans des termes plus élémentaires, ou
quelque chose comme ça). Et ce qui suit est le résultat d'un tel
travail de ma part, qui m'a pris, à vrai dire, un temps extrêmement
embarrassant à mener[#2]
(quelque chose comme trois mois, même si je n'ai évidemment pas
consacré toute mon activité à ça), à cause du nombre de fois que je me
suis embrouillé dans les notations et les programmes qui appellent un
programme qui appelle un autre programme.
[#2] En fait, c'est
même plus embarrassant que ça, parce que je n'ai pas réussi à vraiment
décoder la démonstration donnée par Hyland : j'ai fini par laisser
tomber et par trouver la mienne, et c'est celle-ci que je présente
ci-dessous. Elle est problablement équivalente à celle de
Hyland, parce que je l'ai trouvée en essayant de mettre ensemble les
idées et l'inspiration que j'ai retenues de l'article de Hyland. Mais
je n'en suis pas complètement certain non plus.
Mon but est donc d'enregistrer mon cheminement
mental[#3], mais aussi
d'essayer d'amener le lecteur à comprendre quelque chose que j'ai eu
beaucoup de mal à comprendre, et, forcément, ceci présente un certain
défi pédagogique, que je ne sais pas si je vais réussir à mener.
(Peut-être que ce n'est pas possible d'expliquer certaines choses,
qu'il faut forcément s'embrouiller soi-même avant de pouvoir se
désembrouiller.) Je suis encore moins persuadé d'arriver à expliquer
pourquoi je pense que c'est un théorème intéressant et important, mais
je vais au moins essayer un peu. En revanche, je vais devoir demander
à mon lecteur une certaine concentration, au moins pour la preuve du
théorème, que je continue à trouver un peu cryptique à ce stade.
[#3] Les billets de mon
blog sont souvent (cf. ici)
principalement destinés à permettre à mon moi futur de retrouver le
fil de mes pensées, donc j'explique un peu de façon à expliquer les
choses à moi-même dans un avenir où j'aurais oublié comment tout ça
fonctionne.
L'idée du théorème, donc, c'est qu'il nous donne une propriété
équivalente à A est Turing-réductible à B
(pour A,B⊆ℕ ; je vais rappeler ci-dessous ce que
ça signifie, mais très rapidement ça signifie qu'on peut décider
algorithmiquement si un entier appartient à A en ayant le
droit de poser des questions sur l'appartenance de divers entiers
à B). La propriété équivalente est celle de l'existence
d'un convertisseur universel de B vers A
(ce n'est pas un concept standard, et je vais le définir ci-dessous),
qui est une sorte de méta-programme qui transforme un répondeur
pour B en un répondeur pour A,
eux-mêmes des concepts que je vais aussi définir et tenter d'expliquer
(en gros ce sont des programmes qui répondent à la question de savoir
si un élément appartient à B, resp. à A, mais
ils y répondent de façon un peu tarabiscotée).
La notion de réduction de Turing est cruciale et centrale dans
l'étude de la calculabilité, donc il est certainement bon de
l'examiner avec attention. La propriété équivalente proposée par le
théorème (cette notion de convertisseur universel) peut sembler
compliquée et artificielle, mais je vais essayer d'argumenter qu'elle
ne l'est pas tant que ça. Ce qui est intéressant avec cette
propriété, c'est que même si elle est peut-être plus difficile à
comprendre que la définition originale de la réduction de Turing, elle
est aussi plus « pure » : on a besoin de savoir moins de choses pour
l'écrire, et ces choses ne dépendent que très peu des détails de la
théorie de la calculabilité.
Donc, d'abord, l'intérêt est de fournir une définition de la
réduction de Turing qui ne fasse pas intervenir la notion d'« oracle »
normalement utilisée pour la définir : savoir qu'on peut définir la
réduction de Turing sans parler d'oracle (ou sans la déguiser de façon
vraiment transparente) me semble, en soi, assez intéressant. Bon, je
ne sais pas dans quelle mesure cette définition est vraiment
utilisable comme définition (peut-être que pour montrer n'importe quoi
dessus on va de toute façon devoir ressortir toute la théorie des
oracles), mais c'est en soi surprenant qu'on puisse trouver un tel
équivalent.
Mais l'intérêt est aussi que cette propriété équivalente se prête
plus facilement à la généralisation : c'est peut-être plus compliqué,
certes, mais on est essentiellement dans le domaine de la pure
logique[#4], donc les notions
ont un sens dans un contexte beaucoup plus large, et on peut se
demander ce que ça donne dans un tel contexte.
[#4] En quelque sorte,
tout le thème du billet (mais que je vais laisser caché en
arrière-plan, et je n'en parle qu'en petits caractères, pour ne pas
supposer de connaissances de logique intuitionniste) est de comprendre
le sens de la formule logique ∀P:Ω.
(((∃n:ℕ.(n∈B∨¬n∈B
⇒ P)) ⇒ P) ⇒
((∃m:ℕ.(m∈A∨¬m∈A
⇒ P)) ⇒ P)) (ici, Ω est l'ensemble des
valeurs de vérité) : l'équivalent dont je parle, c'est que cette
formule est vérifiée [i.e., réalisable], dans le topos
effectif, si et seulement siA est
Turing-réductible à B. Et le sens de la remarque, c'est
que cette formule (ainsi que des généralisations évidentes de
celles-ci, notamment si on remplace A,B⊆ℕ par
des sous-objets de n'importe quel objet,
voire n∈B∨¬n∈B
et m∈A∨¬m∈A par des
prédicats quelconques sur n'importe quel objet) a un sens dans
n'importe quel topos. (Son sens
est la plus
petite topologie de Lawvere-Tierney qui rend B
décidable rend aussi A décidable, mais ce que montre ce
billet, c'est qu'il est parfaitement possible que ceci se déchiffre de
manière qui ne fasse pas appel à la notion de topologie de
Lawvere-Tierney.)
Enfin, je trouve intéressant que cette approche fasse assez
naturellement intervenir des notions fondamentales en informatique :
le continuation-passing-style dans un sens (et,
en fait, on peut dire que toute cette histoire est juste une
réécriture des oracles en CPS ; sauf que la conversion
dans l'autre sens n'est pas aussi facile que cette remarque le
suggère), et, dans l'autre sens, la notion de monade. Je ne suis pas
sûr d'avoir encore bien compris le sens profond de cette apparition,
mais j'espère que le fait d'écrire ce billet m'aidera au moins à y
voir plus clair.
Quelques notations et conventions
Cette section est là uniquement pour référence (et
je l'ai écrite après le reste). Toutes les notations seront
introduites au fur et à mesure de leur utilisation, ou bien sont assez
standard ou évidentes, donc on
peut sauter cette section
(et peut-être qu'il vaut mieux le faire), mais c'est sans doute une
bonne idée de les rassembler en un seul endroit pour référence.
D'abord, pour qu'elles soient plus commodes à retrouver, je
divulgâche ici les trois définitions fondamentales et le théorème qui
seront expliquées et commentées
dans la suite :
✱ Définition : Si A,P⊆ℕ,
un P-questionneur pour A est un
couple ⟨m,e⟩ où m∈ℕ et,
si u=1A(m) est la
valeur de la fonction indicatrice de A en m,
alors le programme e appelé sur l'entrée u,
termine et renvoie un élément de P.
✱ Définition : Si A,P⊆ℕ,
un P-répondeur pour A est un
programme qui, quand on lui passe un P-questionneur
pour A, termine et renvoie un élément de P.
✱ Définition : Si A,B,P⊆ℕ,
un P-convertisseur de B
vers A est un programme qui, quand on lui passe
un P-répondeur pour B, termine et renvoie
un P-répondeur pour A. Et
un convertisseur universel de B
vers A est un même programme h
qui est un P-convertisseur de B
vers A pour n'importe quelP⊆ℕ.
✱ Théorème : Pour A,B⊆ℕ, un
convertisseur universel de B vers A
existe si et seulement siA est Turing-réductible
à B.
Une tentative pour vulgariser les bases de la calculabilité
Méta : J'étais initialement parti pour écrire un
billet sur la calculabilité d'ordre supérieur (il aurait eu pour
titre calculabilité d'ordre supérieur : comment un programme
peut-il interroger un autre programme ?). Mais en commençant à
écrire l'introduction pour la rendre aussi compréhensible que
possible, je me suis dit que, tant qu'à faire, ce serait plus
intéressant d'essayer de faire un billet autonome sur les bases de la
calculabilité, en cherchant à le rendre à peu près accessible au grand
public[#]. Après tout, ce sont
des notions que j'enseigne à
Télécom Paris, ça peut être intéressant d'essayer d'isoler, de façon
moins mathématique, les messages principaux que j'essaie de
communiquer aux étudiants.
[#] La notion
de grand public est, évidemment, assez mal définie. Par
exemple,
on m'a
affirmé que si je fais une phrase avec une subordonnée, l'immense
majorité des gens ne savent plus lire. Bon, c'est peut-être vrai,
mais je pense que de toute façon cette immense majorité ne sera en
aucun cas intéressé par faire l'effort de concentration minimal pour
comprendre une tentative de vulgarisation d'un sujet scientifique,
même si cette vulgarisation est optimalement faite ; et de toute
façon, elle ne lira jamais mon blog vu que, même sur un sujet qui n'a
rien de technique, j'ai tendance à faire des phrases à la Proust.
Donc disons que je parle à des gens capables de lire une phrase de
plus que quelques mots sans perdre le fil de leurs pensées, et qui
acceptent de faire un peu d'efforts de concentration. En revanche,
j'essaie de ne présupposer du lecteur aucune connaissance préalable en
maths ni en informatique. (Ce n'est pas toujours évident, parce que
parfois on utilise un terme technique sans s'en rendre compte, et ça a
évidemment pu m'échapper.)
La théorie de la calculabilité, c'est l'étude
mathématique de ce que peut, en théorie, faire un ordinateur ou un
programme informatique, ou plus exactement, de ce que peut faire un
algorithme en l'absence de toute considération
d'efficacité.
Avant toute chose, il faut donc que j'explique un peu ce qu'est
un algorithme.
Si je dois tenter une définition
d'algorithme ce sera quelque chose comme
ceci : un plan précis d'exécution d'étapes simples et
mécaniques de calcul ou de traitement de données, pouvant être réalisé
sans aucune réflexion pour aboutir à un résultat bien défini,
et qui est donc, en particulier, réalisable par un ordinateur (ou, en
principe, par un humain suffisamment patient).
Première difficulté de la vulgarisation, ici, que mon ami David
Monniaux
a souvent
montrée du doigt : à cause de la manière dont beaucoup de
journalistes ont
utilisé le mot, de manière volontiers péjorative, comme une
boîte noire dont on ne comprend pas pas le fonctionnement, et/ou dont
le résultat n'est pas bien spécifié, le grand public a en tête une
notion de ce qu'est un algorithme possiblement très différente
de son sens technique. La définition que je propose de plan précis
d'exécution d'étapes simples et mécaniques de calcul ou de traitement
de données, pouvant être réalisé sans aucune réflexion pour aboutir à
un résultat bien défini, et qui est donc, en particulier, réalisable
par un ordinateur (ou, en principe, par un humain suffisamment
patient) est peut-être trop longue pour être vraiment parlante
(cf. ce
fil Bluesky pour une discussion).
D'autres gens proposent de dire des choses plus courtes pour
définir algorithme, par exemple une recette de cuisine
ou ensemble d'étapes permettant de réaliser une action : c'est
peut-être plus clair mais néanmoins exagérément vague pour essayer
d'en parler ensuite de façon précise. (Le problème avec recette de
cuisine ou plan pour réaliser une action c'est que ① ça ne
limite pas le domaine au traitement de l'information, or je ne dirais
pas que, disons, un plan pour faire un coup d'état est
un algorithme, et ② une recette de cuisine, normalement,
n'implique pas de boucles — même si ça peut impliquer d'attendre que
quelque chose se produise —, encore moins de
récursion[#2].) Donc c'est un
peu réducteur. Un algorithme au sens utilisé ici est constitué
d'étapes extrêmement simples et très précisément définies, mais au
final on peut être amené à faire des choses immensément compliquées
avec, parce qu'on peut les combiner de façon très complexe.
[#2] On ne va jamais
être amené à se demander est-ce que cette recette de cuisine
termine ? alors que c'est, justement, une des questions cruciales
qu'on peut être amené à se poser (et à ne pas savoir répondre) pour un
algorithme.
☞ La calculabilité n'est pas l'étude des ordinateurs
Néanmoins, il me semble important de souligner qu'un
algorithme n'est pas forcément quelque chose qui va être exécuté par
un ordinateur. Il s'agit juste d'exécuter mécaniquement des
étapes très simples, sans jamais se tromper, en suivant les
instructions fournies (celles qui constituent l'algorithme). En
principe, donc, n'importe quel algorithme peut être suivi par un
humain comme il peut l'être par un ordinateur (et tout ce que peut
faire un ordinateur peut aussi être fait par un humain) : il s'agira
« juste » de disposer d'une patience infinie, d'un temps illimité, et
d'une quantité illimitée de papier, et d'une capacité incroyable à ne
jamais se tromper, chose pour laquelle les ordinateurs sont
extrêmement bons et les
humains extrêmement mauvais, mais
je veux vraiment souligner que les ordinateurs ne peuvent
rien faire qui ne soit pas, en principe, aussi faisable par un
humain dans ces conditions (patience infinie, etc.).
Ce que je dis là n'est pas purement théorique : il y a vraiment des
algorithmes utilisables par des humains, et
d'ailleurs utilisés par des
humains[#3]. J'espère qu'on
apprend encore à l'école à poser une multiplication : c'est bien
un algorithme qui est enseigné, et on devrait être convaincu
qu'il permet, en principe, à un humain assez motivé, sans
calculatrice, de savoir combien vaut 96 889 010 407 × 94 143 178 827,
même si ça va être long et fastidieux (et si on pose la question à
l'ordinateur, il va utiliser un algorithme qui n'est pas
substantiellement différent, au moins pour des nombres de cette
taille, de celui qu'on a appris à l'école).
[#3] Ou du moins, qui
l'ont été : le nombre de situations où des humains calculent des
multiplications de grands nombres à la main doit maintenant être
minuscule ; mais historiquement, il y avait des gens dont c'était le
métier. Par exemple, quand Urbain Le Verrier (connu pour sa
découverte de la planète Neptune) prend la tête de l'Observatoire de
Paris en 1853, puis l'amiral Mouchez en 1887, les tâches ingrates de
calcul numérique sont déléguées à des « calculatrices » (ce sont
essentiellement des femmes, mal rémunérées et très peu considérées).
Toutes les tables de logarithmes publiées avant le 20e siècle ont
aussi, bien sûr, été calculées par des humains appliquant des
algorithmes longs et fastidieux (qui prennent maintenant une fraction
de seconde à un ordinateur). Dans la nouvelle The
Feeling of Power (1957)
(disponible
en ligne ici), Asimov imagine un monde dans lequel plus personne
ne sait faire de calculs autrement que sur un ordinateur, et quelqu'un
redécouvre qu'on peut les faire à la main.
La calculabilité n'a donc pas vraiment à voir avec les
ordinateurs, ou comme le dit un adage (attribué sans doute à
tort à E. W. Dijkstra), l'informatique n'est pas plus l'étude des
ordinateurs que l'astronomie n'est l'étude des télescopes.
☞ Entrées, sorties, programme et extension
Un algorithme, donc, prend quelque chose en entrée
(on peut aussi parler des arguments passés à l'algorithme), par
exemple deux nombres à multiplier, et renvoie un certain résultat
en sortie, par exemple le résultat de la
multiplication. (Les entrées et les sorties seront toutes des
« données finies », terme sur lequel je vais revenir ci-dessous.) Ce
qu'on a fait, c'est calculer une certaine fonction au
sens mathématique.
La différence entre la fonction mathématique et l'algorithme qui la
calcule, c'est qu'il peut y avoir toutes sortes de façons de calculer
la même fonction (par exemple, différentes façons de poser une
multiplication, qui aboutissent au même résultat) : la fonction, c'est
l'opération abstraite qui associe un résultat à des arguments, alors
que l'algorithme, c'est le plan d'exécution par lequel on est arrivé à
ce résultat. Il y a des fonctions mathématiques qui sont plus ou
moins difficiles à calculer par un algorithme, et certaines qui sont
même impossibles à calculer algorithmiquement (elles sont
non-calculables), mais qui n'en ont pas moins un sens
mathématique.
On peut aussi utiliser les termes d'extension et
d'intention (ou intension ?
cf. ce billet au sujet de ce mot) :
l'extension, c'est la fonction mathématique qu'on calcule, tandis que
l'intenſion (quelle que soit la manière dont on l'écrit), c'est
l'algorithme, c'est-à-dire la manière dont on calcule cette
fonction.
Autre difficulté : est-ce qu'algorithme est synonyme
de programme ? En calculabilité, les deux mots sont utilisés
de façon essentiellement interchangeables. Mais il y a au moins des
différences d'usage, au moins dans le contexte de l'informatique plus
large[#4]. Le terme
d'algorithme est plus abstrait et fait souvent référence au
plan de fonctionnement débarrassé de ses détails relatifs à l'usage,
par exemple, d'un langage de programmation particulier (on parle
d'implémentation pour l'écriture concrète d'un algorithme dans
un système informatique particulier), mais la limite entre
l'algorithme et son implémentation est un peu floue. On parle plus
volontiers d'algorithme, par exemple, quand on ne s'intéresse
qu'à la partie proprement calculatoire ; alors qu'un programme
peut faire intervenir une interface utilisateur, des lectures et
écritures sur écran, clavier ou disque, ce genre de choses. En outre,
on peut considérer (ou pas…) qu'un algorithme doit répondre à un
problème bien posé[#5] alors
qu'un programme est simplement une suite d'instruction données à un
ordinateur. (Et évidemment, programme sous-entend un contexte
informatique alors qu'un algorithme est, comme je le souligne
ci-dessus, théoriquement applicable par un humain.) Convenons,
néanmoins, d'ignorer ces subtilités et que, dans ce qui suit, puisque
je veux parler de calculabilité, et même si ce n'est pas vraiment
l'usage habituel, programme signifie la même chose
qu'algorithme, et que j'utiliserai ci-dessous ces termes de
façon essentiellement
interchangeable[#6].
[#4] J'aurais du mal à
dire, par exemple, qu'un navigateur comme Firefox est
un algorithme. C'est un programme. Ce programme utilise
toutes sortes d'algorithmes à différents endroits (par exemple, pour
organiser les marque-page il y a certainement des algorithmes de tri),
mais il n'est pas un algorithme dans l'usage normal du mot (ne
serait-ce que parce qu'il n'arrête pas d'avoir des nouvelles versions,
alors qu'un algorithme est quelque chose de plus abstrait). A
contrario, la manière dont on fait une multiplication à l'école
primaire est un algorithme, je ne qualifierais pas ça de programme (ne
serait-ce que parce qu'il n'y a pas d'ordinateur en vue).
[#5] Ce que je veux
dire, c'est que, selon cette distinction terminologique (avec laquelle
je ne suis pas forcément d'accord), un algorithme doit avoir
une spécification : il prend en entrée certaines données et produit un
certain résultat qui doit répondre à un certain problème
mathématiquement bien défini (la spécification de
l'algorithme) ; et on est censé prouver mathématiquement que
l'algorithme correspond bien à sa spécification. Dans ce sens,
ChatGPT n'est pas un algorithme (même s'il y a des
algorithmes utilisés pour, par exemple, calculer ses paramètres à
partir d'un corpus d'entraînement, ou pour produire la sortie à partir
de ses poids), parce qu'on ne peut pas dire qu'il réponde à une
quelconque spécification. En quelque sorte, cette distinction
terminologique cherche à refléter la distinction entre les méthodes
formelles/rigoureuses et heuristiques en informatique, en réservant le
terme d'algorithme pour les premières.
[#6] Dans la mesure où
je fais une différence (et elle ne sera pas forcément systématique),
c'est que quand un programme prend en entrée un autre programme
(situation qui va jouer un rôle important dans la suite), j'ai du mal
à appeler le deuxième un algorithme (en effet, il doit être
écrit dans un cadre bien précis, avec des instructions bien précises,
et il ne vient pas avec une sorte de spécification ou de mode
d'emploi, et justement on va voir que c'est difficile de l'analyser,
donc toutes ces raisons suggèrent que le terme de programme est
plus approprié).
Encore une autre difficulté est de savoir si un algorithme a le
droit de faire appel au hasard. En calculabilité, la réponse est
implicitement non (le hasard n'est pas calculable, il s'oppose
même au calculable[#7] en un
sens bien précis), mais dans d'autres branches de l'informatique, la
notion d'algorithme faisant intervenir le hasard (algorithme
« randomisé ») est légitime.
[#7] Ce qui ne veut pas
dire qu'il n'y ait pas toutes sortes de questions fascinantes de
calculabilité à se poser sur ce qu'on peut faire si on dispose d'une
source de hasard (peut-on faire avec le hasard des choses qu'on ne
peut pas faire sans hasard ? essentiellement non, mais ça dépend de
l'interprétation précise de la question que je viens de dire de façon
trop vague ; pour une référence précise, voir
le fact ①
sous cette
question).
Bref, le domaine de la calculabilité a pour but d'étudier ce que,
de façon théorique, un algorithme peut ou ne peut pas faire, et donc,
pour commencer, de proposer une définition mathématiquement acceptable
de ce qu'un algorithme signifie.
☞ Sans préoccupations de ressources !
Mais une autre précision importante est que la calculabilité ne
s'intéresse pas aux « ressources » consommées par l'algorithme lors de
son exécution, c'est-à-dire : le temps qu'il met, la mémoire qu'il
utilise, ou toute autre ressource (l'énergie consommée sur un
ordinateur réel). On suppose qu'il dispose de ressources (temps,
mémoire, etc.) « finies à chaque instant, mais illimitées a
priori », et c'est ce qui rend le sujet assez théorique.
(Certains des algorithmes considérés par la calculabilité sont tout à
fait inapplicables sur un ordinateur réel, en ce qu'ils prendraient
bien plus que la durée de vie de l'Univers à s'exécuter sur une entrée
modeste : pour autant, on dira bien que le résultat est calculable en
fonction de l'entrée.) En cela, la calculabilité s'oppose à d'autres
domaines de l'informatique, tels que :
l'algorithmique, qui est l'art d'écrire des
algorithmes (de préférence, efficaces) pour résoudre des problèmes
bien posés,
la complexité, qui est l'étude mathématique des
ressources (principalement : temps, mémoire) consommées par un
algorithme lors de son exécution, et de ce que peut faire un
algorithme disposant de telles ressources limitées.
La complexité est une discipline beaucoup plus soigneuse que la
calculabilité : elle ne cherche pas juste à savoir si des choses sont
« en principe possible, avec assez de temps et de mémoire », mais
combien ça va effectivement[#8]
coûter en temps et en mémoire. La calculabilité se moque de ces
questions d'efficacité, elle ne cherche à faire dans la
dentelle[#9], donc c'est une
discipline assez théorique.
[#8] Bon, effectivement avec des
pincettes, quand même, parce que c'est généralement une
complexité asymptotique, c'est-à-dire « à l'infini », donc ça
reste assez théorique.
[#9] Par exemple, sur
la question de savoir décider si un nombre n est premier,
la calculabilité peut très bien dire oui, c'est une question
décidable [=calculable], parce qu'on peut tester tous les
produits i×j pour 2≤i≤n et
2≤j≤n, et voir si l'un d'entre eux est égal
à n : c'est une façon ridiculement inefficace de savoir
si un nombre est premier, mais pour la calculabilité, c'est un
algorithme qui marche, c'est tout ce qui compte.
Par exemple, on pourra dire en calculabilité que les décimales du
nombre π sont calculables (il existe un programme qui, quand on lui
donne n, renvoie les n premières décimales — ou
juste la n-ième, pour la calculabilité ça ne change rien),
mais évidemment, si vous voulez les calculer vraiment, il vaut mieux
regarder un peu plus finement quel algorithme utiliser pour que ce
soit efficace. (Et, dans le monde réel, il est peu vraisemblable
qu'on arrive jamais à calculer la 101000000-ième décimale
de π, alors que pour ce qui est de la calculabilité, il n'y a pas de
problème particulier.)
À cause de ces ressources illimitées données aux algorithmes, les
résultats positifs de la calculabilité (telle ou telle chose est
calculable) sont plus faibles que ceux de la complexité (telle
ou telle chose est calculable en temps ceci-cela ou en mémoire
ceci-cela) ; mais symétriquement, les résultats négatifs
de la calculabilité sont d'autant plus forts : quand on
montre que quelque chose n'est pas calculable au sens de la
calculabilité, c'est que ce n'est pas possible d'y arriver (de manière
systématique), même si on n'a aucune contrainte sur le temps
ou la mémoire. Et c'est sans doute pour cette raison qu'on
s'intéresse beaucoup, en calculabilité, aux résultats négatifs (je
vais notamment démontrer, ci-dessous, l'indécidabilité du problème de
l'arrêt, qui est l'exemple fondamental dans ce sens).
☞ La « thèse » de Church-Turing
Mais la première chose avant d'étudier les algorithmes, c'est
d'essayer de définir précisément ce qu'est un algorithme, pour pouvoir
espérer raisonner[#10]
mathématiquement dessus.
[#10] L'algorithmique
n'a pas vraiment besoin de définir exactement ce qu'est un algorithme,
puisqu'elle cherche juste à en construire : on peut se contenter de
savoir, en pratique, reconnaître qu'on a bien construit des
algorithmes. Mais pour espérer prouver des
résultats négatifs du type aucun algorithme ne peut faire
ceci-cela, il faut forcément une définition mathématiquement
robuste.
Une des constatations importantes de la théorie de la calculabilité
est la thèse de Church-Turing, qui affirme,
grosso modo, que toute approche raisonnable pour définir la notion
calculabilité algorithmique (déterministe, finitiste) aboutit à la
même notion. Expliquons un peu ce que ça veut dire.
Comme je l'avais évoqué
récemment, je voudrais parler un peu de la théorie mathématique du
marchandage coopératif (selon Nash).
Je me suis senti motivé, donc, une fois n'est pas coutume j'ai fait
des dessins[#]
(en SVG, produits
avec TikZ) pour illustrer le billet,
j'espère qu'ils aideront à comprendre ce que je raconte.
[#] Désolé si les
étiquettes sont en anglais : à l'origine j'ai fait ça pour
un petit
fil BlueSky (dont ce billet est en quelque sorte la version
étendue), et je n'ai pas voulu changer ensuite. Mais accessoirement,
je n'ai pas trouvé de traduction française satisfaisante pour le
mot settlement : j'ai écrit des choses comme accord
négocié (ou point négocié) dans le corps du texte, et c'est
long et lourd.
En contrepartie, il faut que je reconnaisse que, comme souvent mais
peut-être encore plus que d'habitude, ce billet bordélique souffre du
défaut que je ne sais pas bien à quel niveau mathématique je veux me
placer : il y a des passages qui ne supposent aucune connaissance
mathématique, d'autres où je suppose le lecteur familier avec des
notions comme celle de partie convexe, de différentielle, ce genre de
choses, et je passe de l'un à l'autre de façon pas super cohérente ;
il y a des passages où j'essaie de parler de façon purement
géométrique et sans aucun symbole, d'autres où je me suis trouvé
obligé à écrire des formules, ce qui gâche un peu l'effort fait pour
ne pas en mettre ; parfois je redis la même chose de plein de façons
différentes et tout ça est mal séparé. (En plus de ça, j'avais
commencé par écrire quelque chose de complètement
faux[#2] : j'ai rectifié comme
j'ai pu, ce qui a donné naissance à la quatrième partie du billet,
mais du coup j'ai dû faire pas mal de repentirs, ce qui a certainement
cassé des choses, au moins le fil de mes pensées.) Et puis, comme
souvent, il y a plein de notes en bas de paragraphe qui sont destinées
à apporter des éclaircissements sur tel ou tel point mais qui,
peut-être, rendent la lecture d'autant plus compliquée.
[#2] À savoir que la
rentabilité de la défense, que je vais définir ci-dessous, vaut
toujours exactement ½, ce qui est manifestement absurde.
Bref, j'espère que c'est quand même assez compréhensible. Les
lecteurs non mathématiciens peuvent sans doute sauter les passages où
il y a des calculs ou des démonstrations, on doit pouvoir tirer
quelque chose du reste. (La question de savoir si ce quelque chose
est vraiment intéressant, en revanche, est laissé en exercice au
lecteur.)
Pour ceux qui veulent une description mathématiquement plus précise
que cette sorte de vulgarisation bâtarde, je renvoie principalement
à l'article de Nash de
1953 Two-Person Cooperative Games
(qu'on pourra
aussi trouver
ici), ainsi qu'à un plus
ancien, The
Bargaining Problem, mais aussi, par exemple, le livre de
Damme, Stability and Perfection of Nash Equilibria
(Springer 1991), chapitre 7 ; ce sont là mes sources essentielles pour
ce que je raconte.
La situation qu'on cherche à modéliser mathématiquement ici
est la suivante : on a deux joueurs (appelons-les Alice et Bob),
parfaitement égoïstes, parfaitement rationnels et parfaitement bien
informés, qui cherchent à négocier quelque chose, typiquement le
partage d'une ressource ou n'importe quelle forme
d'accord[#3]. L'idée est la
suivante : Alice et Bob vont négocier un accord, et s'ils y
parviennent (l'accord doit être accepté par les deux parties), tant
mieux, sinon, ils se feront la guerre. Quand j'écris ils se feront
la guerre, ce n'est pas forcément à prendre au sens littéral, mais
c'est une situation défavorable qui résulte de l'absence d'accord (par
exemple, ça peut simplement être le fait que la ressource à partager
est perdue pour les deux joueurs). La négociation se fait donc sous
la menace[#4] de cette
situation par défaut (la guerre). Comme j'ai supposé mes joueurs
parfaitement bien informés, cela suppose notamment qu'ils connaissent
l'issue espérée[#5] de la
guerre pour chacun des deux. Cette issue de la guerre est supposée
défavorable pour les deux joueurs (si l'un des deux joueurs a plus à
gagner à faire la guerre qu'à négocier, évidemment il ne va pas
négocier).
[#3] Exemple de
situation qu'on peut analyser sous l'angle de la théorie évoquée dans
ce billet, et qui aidera peut-être à comprendre de quoi ça cause :
deux forces politiques envisagent de s'allier pour former un
gouvernement (ou pour voter un budget, ou pour se présenter de façon
commune à une élection). La négociation porte sur le programme
commun : l'espace des programmes politiques possibles est,
évidemment, extrêmement vaste, mais
on ne reflète ici que sa projection sur le plan de l'utilité des deux
forces en question. La « guerre » dont il est question est, alors, le
fait que le pays n'ait pas de gouvernement, ou de budget, ou que
d'autres partis en forment, ou encore de perdre les élections.
[#4] Les termes
de menace et de guerre sont donc essentiellement
interchangeables dans la suite, à ceci près que la menace est la
potentialité de la guerre tandis que la guerre est sa réalisation.
Mais mathématiquement, c'est juste un point sur le diagramme
(représenté en rouge), et qui est crucial pour déterminer l'issue de
la négociation (représenté en bleu).
[#5] Notons que la
guerre n'a pas forcément une issue déterministe, mais ce n'est pas
important pour ce que je raconte : si l'issue de la guerre est
probabiliste, on la remplace par l'espérance de cette distribution de
probabilités, ce qui est de toute façon ce qui compte pour les joueurs
rationnels : donc si la guerre conduit, par exemple, à ce que les
joueurs aient les gains (−2,−2) avec probabilité ½ et (0,−6) avec
probabilité ½, on remplace ça par (−1,−4). (La définition d'une
fonction d'utilité affine,
cf. la note #6, est justement
celle qui assure que le joueur rationnel est indifférent au choix
entre un gain de x avec probabilité p et
de y avec probabilité 1−p ou un gain
certain de p·x +
(1−p)·y, et sous des hypothèses faibles on
doit toujours pouvoir reparamétrer l'utilité de façon à assurer cette
propriété.)
Une autre hypothèse essentielle de la théorie est que si la
négociation échoue, la guerre est inévitable. Encore une
fois, guerre est un terme un peu fourre-tout qui peut recouvrir
plein de choses, éventuellement probabilistes comme le signale
la note #5 ci-dessus, mais si
les joueurs ont fait des menaces l'un envers l'autre,
ils doivent mettre leur menace à exécution. Cette hypothèse
est indispensable pour que l'autre joueur la prenne au sérieux lors de
la négociation. Donc il faut que les joueurs aient la possibilité de
prendre un engagement irrévocable d'accomplir leur menace : sans cette
possibilité de se lier les mains, l'autre joueur pourra toujours leur
proposer n'importe quel accord qui soit meilleur que la guerre, et ce
serait rationnel d'accepter.
La bonne nouvelle — façon de parler —, c'est que la théorie du
marchandage exposée ci-dessous conclut qu'il existe effectivement un
accord (bien défini par la situation, c'est-à-dire à la fois par
l'issue connue de la guerre et par le domaine des accords réalisables)
auquel les deux joueurs devraient arriver, évitant donc la guerre. La
menace de guerre est indispensable et cruciale pour définir la
solution négociée (je vais y revenir, et toute la discussion va
consister à voir comment l'une détermine l'autre), mais au
final, la guerre n'a pas lieu (sous les hypothèses que j'ai
dites…).
Venons-en au dessin ci-dessus. Les deux axes représentent la
fonction d'utilité[#6] des deux
joueurs, c'est-à-dire qu'Alice cherche à maximiser la coordonnée
horizontale (elle cherche à trouver un accord autant que possible à
droite) et que Bob cherche à maximiser la coordonnée verticale (il
cherche à se placer aussi haut que possible). Chaque point représente
donc une issue possible pour les deux joueurs : plus on est à droite,
plus Alice est contente, plus on est haut, plus Bob est content.
[#6] Il y aurait sans
doute beaucoup à dire sur cette notion d'utilité (et
l'axiomatique qui la sous-tend). Dire que chaque joueur cherche à
maximiser son utilité est ce que j'ai qualifié d'hypothèse
d'égoïsme, mais, en fait, ce n'est pas forcément un terme très
correct : ça ne signifie pas qu'Alice est indifférente à ce qui arrive
à Bob, c'est juste la définition de l'utilité d'Alice (si
Alice est intéressée par quelque chose qui arrive à Bob, il faut juste
refléter ce fait dans la fonction d'utilité d'Alice) : par définition,
les situations qui ont une plus grande utilité pour Alice sont celles
qu'Alice préfère, et symétriquement pour Bob. Mais il y a une autre
hypothèse que je fais implicitement, qui est que la fonction d'utilité
est affine, c'est-à-dire qu'avoir une situation
d'utilité x avec probabilité p et une situation
d'utilité y avec probabilité 1−p équivaut
à une utilité de p·x +
(1−p)·y : là aussi, cela peut sembler
hautement contestable (par exemple, il ne m'est peut-être pas
indifférent de recevoir 1000€ de façon certaine ou 2000€ avec
probabilité ½), mais en fait des hypothèses très faibles doivent
assurer la possibilité de reparamétrer l'utilité sous cette forme
(rien ne dit que ce soit directement lié à l'argent : par exemple, si
je préfère recevoir 1000€ de façon certaine que 2000€ avec
probabilité ½, ça signifie juste que mon utilité à recevoir 1000€ est
plus que la moitié de celle de recevoir 2000€).
Évidemment, il y
a des contraintes (imposées par « la nature » ou l'environnement) sur
les partages autorisés : sinon les deux joueurs choisiraient tous les
deux une solution optimale pour eux et il n'y aurait aucune tension de
négociation (c'est en gros ce qui est montré par le diagramme
ci-contre à gauche, représentant une situation « sans conflit » où, en
gros, les joueurs ne se marchent pas sur les pieds l'un de l'autre,
donc chacun peut choisir sa valeur idéale). Cette région
« réalisable » est grisée dans mon dessin : on ne peut négocier qu'une
solution qui soit dedans. Les deux joueurs sont au courant des
contours exact de cette région (hypothèse qu'ils sont parfaitement
informés[#7]).
[#7] Concrètement, cela
signifie, donc, que non seulement ils sont capables d'envisager tous
les accords concevables, mais qu'ils savent exactement lesquels sont
réalisables, et ce qu'ils en pensent (c'est-à-dire l'utilité de
l'accord pour leur part) et aussi ce qu'en pense l'autre joueur.
Une remarque technique mais importante est qu'on peut supposer que
cette région « réalisable » est convexe. En effet, si elle
ne l'était pas, on pourrait toujours l'étendre pour qu'elle le soit :
il suffit pour cela que les joueurs acceptent des solutions
probabilistes : si par exemple le problème dont il s'agit est de se
partager un zorglub précieux qu'il n'est pas matériellement possible
de partager[#8], les joueurs
peuvent convenir qu'Alice recevra le zorglub avec
probabilité p et que Bob le recevra avec probabilité
1−p, ce qui réalise le segment, dans l'espace des
possibles, entre les deux extrêmes Alice reçoit le zorglub
et Bob reçoit le zorglub. Ceci suppose, bien sûr, que les
joueurs aient accès à une source de hasard commune (ça ce n'est pas
une hypothèse difficile :
voir ce
fil pour quoi faire si chacun dispose d'un dé mais ne fait pas
confiance au dé de l'autre, par exemple), et soient prêts à accepter
les solutions probabilistes (comme signalé dans
la note #6 ci-dessus, ça fait
partie de l'hypothèse d'une fonction d'utilité affine).
[#8] Dans la version
mathématique du jugement de Salomon, au lieu de proposer de couper le
bébé en deux, le roi Salomon propose de tirer au hasard qui le
recevra, et l'utilité est supérieur pour chacune des deux mères au
fait de couper le bébé en deux. Mais du coup, la vraie mère ne se
révèle pas.
On peut aussi supposer (cette fois c'est juste pour simplifier les
figures, ça n'a de toute façon aucune conséquence sur le jeu) que la
région réalisable est stable par diminution de l'une ou l'autre de ses
coordonnées (i.e., tout point situé à gauche et/ou en bas d'un point
réalisable est lui-même réalisable) : c'est dire que les joueurs
peuvent toujours, si ça les amuse, négocier un accord qui soit pire
pour l'un, ou pour l'autre, ou pour les deux, qu'un accord qui est
possible (i.e., ils peuvent toujours brûler gratuitement de
l'utilité). Ceci explique la forme de mes régions, et aussi pourquoi
le seul bord qui existe (qui est de toute manière le seul bord qui va
m'intéresser) est le bord supérieur droit. Encore une fois, ça n'a
pas vraiment d'importance, c'est juste pour ne pas s'embarrasser avec
une partie du bord qui n'aurait de toute façon pas d'intérêt.
Il reste donc une partie convexe du plan dont le bord est constitué
de l'ensemble des points « Pareto-optimaux », c'est-à-dire tels qu'il
n'y ait aucun point réalisable qui soit
strictement[#9] préférable pour
les deux joueurs (i.e. situé à droite et/ou au-dessus et qui soit
encore dans la région réalisable). Les joueurs vont évidemment
négocier un accord qui soit sur ce bord, vu qu'il n'y a aucune
raison[#10] de choisir un
accord si on peut faire mieux pour les deux joueurs. Ce bord est
représenté sur mes figures par un trait plein noir, et le but de la
théorie est de déterminer quel point du bord au juste
constitue le point d'accord rationnel naturel (en bleu).
[#9] On peut ergoter
pour savoir si le terme Pareto-optimal fait référence à
l'impossibilité de faire strictement mieux pour les deux joueurs, ou
mieux pour l'un des deux et strictement mieux pour l'autre. Ce n'est
pas important ici. Si vous êtes gênés par l'affirmation que les
demi-droites horizontale et verticale constituant le bord de la région
réalisable sont Pareto-optimales, imaginez qu'elles sont très très
très légèrement penchées, tellement peu que vous ne puissiez pas le
voir.
[#10] Rappelons que,
dans les négociations, la seule chose qui intéresse Alice est
d'optimiser sa fonction d'utilité (hypothèse d'égoïsme) : elle ne
cherche pas à punir Bob, donc elle n'a aucune objection à améliorer
l'utilité de Bob si ça ne change pas la sienne. Ceci est différent de
la menace de guerre, par laquelle elle cherche effectivement à punir
Bob en cas d'échec des négociations (c'est bien pour ça que j'ai dû
faire l'hypothèse qu'en cas de guerre les joueurs doivent
mettre leur menace à exécution : ce ne serait pas rationnel pour Alice
de chercher à punir Bob si ça ne faisait pas partie d'une menace à
laquelle elle s'est engagée).
Là-dedans, on a un « point de guerre » ou point de menace, en rouge
sur mes figures, qui représente l'utilité pour les deux joueurs de la
guerre en cas d'échec des négociations. Ce point est dans la région
réalisable, et, vraisemblablement, profondément dedans, ce qui
représente le fait que la guerre n'est pas du tout souhaitable, ni par
un joueur ni par l'autre (et tout le but de la théorie est d'éviter la
guerre, et de savoir comment on négocie rationnellement un accord qui
l'évite ; mais la menace[#11]
de guerre, et son inévitabilité en cas d'échec des
négociations, est essentielle pour faire fonctionner la théorie). Les
joueurs négocient, donc, sous et selon la menace que si la négociation
échoue il leur en coûtera à tous les deux.
[#11] Comme je l'ai
dit, c'est une devise bien connue des joueurs
d'échecs, souvent
attribuée (peut-être à tort) à Aron Nimzowitsch qu'une menace
est plus forte que son exécution, et la théorie de Nash vise à
donner à cet adage un fondement théorique. (Bon, j'exagère peut-être
en disant ça, vu que les échecs sont un jeu à somme nulle, et que la
théorie ici développée n'a pas de sens dans le cadre d'un jeu à somme
nulle, donc peut-être que ce n'est quand même pas la même chose.)
Il va de soi que les seuls accords intéressants à considérés sont
ceux qui non seulement sont situés sur le bord (Pareto-optimal) de la
région réalisable, mais aussi à droite et/ou au-dessus du point de
guerre. (En effet, un point situé, disons, à gauche du point de
guerre, correspond à un accord pire que la guerre du point de vue
d'Alice, donc Alice n'acceptera jamais un tel accord : elle préférera
faire la guerre.) D'où les lignes horizontale et verticale en
pointillé qui émanent du point de guerre sur mes figures : les accord
réellement envisageables sont ceux situés dans la région grisée un peu
plus sombre, au-dessus à droite du point de guerre, et, en fait, sur
le bord Pareto-optimal de cette partie. Mais où exactement ?
Approche axiomatique
Là je n'ai fait que poser le problème. Nash y répond de la façon
suivante :
✱ Théorème (Nash, 1950, 1953) : L'issue
rationnelle de la négociation (présentée ci-dessous, et avec une
caractérisation à définir ci-dessous) est l'unique point du
bord de la région réalisable dont la tangente soit de pente opposée à
la droite qui le relie au point de guerre.
Je vais essayer d'expliquer pourquoi c'est le cas (et ce que ça
veut dire au juste), mais pour ce qui est des illustrations, le point
négocié dont je parle est représenté en bleu sur mes figures, la
tangente[#12] est aussi
représentée en bleu, et j'ai essayé de montrer (par des secteurs
angulaires illustrant des angles égaux) que la pente est opposée à
celle de la droite qui relie le point de guerre au point négocié.
[#12] Il y a un petit
point à noter quand je dis la tangente : le terme est un peu
abusif parce que le bord d'un convexe n'a pas forcément une unique
tangente (il a deux demi-tangentes, mais il peut être anguleux comme
sur ma deuxième figure) : il s'agit donc, en fait, de l'unique point
du bord tel qu'il existe une droite entre les deux demi-tangentes au
point en question (ou, si on préfère, une droite passant par ce point
qui soit le bord d'un demi-plan contenant le convexe). Si on préfère,
on peut ajouter l'hypothèse que le bord du convexe est lisse, comme ça
la tangente existe : on peut de toute façon l'approcher par un convexe
lisse.
Je dois dire que je trouve assez magique qu'il y ait une solution
aussi simple et géométrique au problème de la négociation !
Bon, d'accord, mais pourquoi est-ce le cas ? Et comment
caractériser cette issue rationnelle ?
Seize ans après, je remets en ligne mes feuilles de TD du cours d'Algèbre II à l'ENS
Ce billet de blog a essentiellement comme seule raison d'être de
porter un lien, que
voici : feuilles
de TD d'Algèbre II à l'ENS en 2004–2007.
Il faut bien que je lie cette page quelque part, sinon Google ne va
pas tomber dessus ; or la structure de mon site Web est complètement
inexistante (il n'y a rien qui ressemble à une table des matières ou à
un plan du site cohérent, c'est vraiment trop difficile à faire et
surtout à maintenir dans le temps, je n'y arrive pas, c'est bien pour
ça que j'ai commencé à tenir un blog, pour ne plus avoir à me
préoccuper de ces questions), donc ce billet sert juste à créer ce
lien.
Mais puisque j'y suis, racontons un peu l'histoire derrière ce
lien.
Comme je l'ai raconté dans
l'autobiographie mathématique que
j'ai écrite récemment, j'ai été agrégé-préparateur (ou comme on le dit
dans le jargon de la maison, caïman) à l'ENS de
septembre 2004 à l'été 2007. À part gérer la préparation des
normaliens à l'agreg de maths, ma principale charge d'enseignement
dans cette fonction était d'assurer les travaux dirigés du cours
d'Algèbre II, lequel était assuré par Marc Rosso de 2004
à 2006, puis par Bernhard Keller en 2006–2007, et qui portait sur des
sujets tels que : anneaux, modules, produits tensoriels, extensions de
corps, théorie de Galois, polynômes et divers sujets apparentés. J'ai
donc rédigé des feuilles d'exercices, toujours intégralement corrigées
(et j'ai d'ailleurs fait ma propre classe LaTeX pour les écrire, et
produire systématiquement la double version avec et sans corrigés ;
cf. notamment ce vieux billet) ; et
j'ai mis ça en ligne, non pas sur mon site personnel (celui-ci), mais
sur ma page professionnelle à l'ENS (à
l'adresse http://www.dma.ens.fr/~madore/algebre2/),
parce que je voulais un peu séparer les choses.
Et autant je fais énormément d'efforts pour préserver la stabilité
des liens Web sur ce site-ci, autant s'agissant d'un site
professionnel je suis beaucoup moins soigneux, l'argument (assez
fallacieux, certes) étant que ce n'est pas moi le webmaster.
Or en 2008 ou 2009, l'ENS m'a fermé mon compte
informatique (et a notamment cassé l'adresse mail @ens.fr
que j'utilisais depuis 1996). De façon fort cavalière et sans
vraiment prévenir, d'ailleurs, ce qui m'a mis assez en colère. Donc
le lien en question a cassé, et comme je n'avais aucun moyen de le
réparer, que j'étais plutôt fâché et que j'avais autre chose à faire,
j'ai laissé filer.
Mais il est aussi vrai que j'étais persuadé, et c'était à tort, que
la Wayback Machine de l'Internet Archive avait
archivé la page, donc je me disais que les gens intelligents seraient
assez grand pour aller chercher la version archivée. Or ce n'était
que partiellement vrai : la Wayback Machine avait
certes archivé la page index, mais (presque ?) aucune des feuilles
de TD en PDF qui sont liées depuis elle et
qui constituent, justement, le contenu intéressant à sauvegarder.
Donc ce contenu a disparu du Web, ce qui est justement le genre de
choses que je n'aime pas du
tout.
Correction partielle : Juste après avoir publié ce
billet, je m'aperçois que les choses sont un peu plus compliquées que
je croyais, parce que
l'adresse http://www.dma.ens.fr/~madore/algebre2/ a été
renommée en http://www.math.ens.fr/~madore/algebre2/ à
peu près à ce moment-là, et la Wayback Machine
s'en
est mieux
tirée sur celle-ci ; donc en fait les documents n'avaient pas
autant disparu que je croyais, et ça faisait en fait moins de 16 ans
que les liens ne marchaient plus. (Reste que ceci est un exemple
intéressant du fait que même avec une redirection propre, changer
d'URL pose problème : ça complique les choses quand, bien
des années plus tard, on essaie de retrouver les documents sur
l'Archive.)
Et c'est particulièrement con parce que non seulement je n'aime pas
que l'information disparaisse, mais en plus, je pense qu'il y a dans
ces feuilles de TD des exercices vraiment intéressants,
beaucoup d'entre eux sont d'ailleurs originaux (soit je les ai
imaginés moi-même soit, au moins, je les ai reformulés à ma façon) et
j'en étais assez content. Et je crois que les normaliens (enfin, au
moins certains normaliens) les appréciaient assez.
Ils sont généralement assez auto-contenus. Bien sûr, ils font
appel aux notions mathématiques sur lesquelles portait le cours, mais
je ne pense pas qu'ils fassent appel aux détails des définitions
données dans le cours, donc on doit pouvoir les utiliser
indépendamment du cours.
Et il n'y a pas beaucoup d'autre endroit où vous trouverez des
explications sur, par exemple, comment calculer le groupe de Galois de
polynômes tels que t8 –
8t6 + 7t4
+ 5t2 – 3 et t8 –
4t6 – 8t4
+ 11t2 + 9 et t8 +
6t6 – 2t2
– 3 (oui, il y a des vrais calculs avec des vrais nombres) sur ℚ — ils
sont tous les trois d'ordre 192, mais ils ne sont pas isomorphes ; je
pense qu'on ne comprend vraiment la notion de groupe de Galois que
quand on commence à mettre un peu les mains sur de tels exemples (les
détails sont
dans cette
feuille-ci ; bon, ceux-là sont peut-être un peu tarabiscotés, mais
je pense que comparer le groupe de Galois de ℚ(√(2+√5)), de ℚ(√(2+√2))
et de ℚ(√(2+√3)) et se rendre compte qu'ils sont différents et
comprendre pourquoi, est vraiment éclairant : pour ça,
voyez cette
feuille-ci).
(Idéalement, il faudrait recycler ces exercices dans un
livre. Un
copain m'a proposé de coécrire un tel livre, et nous en avons
pondu un certain nombre de pages, mais le travail progressant à une
cadence logarithmique, s'il est fini un jour ce sera quand nous serons
à la retraite (cf. la note #77
de ce
billet). Don't hold your breath.)
Bref, après 16 ans d'absence du Web (mieux vaut tard que
jamais…), ces
documents sont revenus en
ligne, et cette fois-ci je me suis bien assuré que
l'Internet Archive garde une copie des PDF.
Reste à voir si je peux faire rétablir
le lienhttp://www.dma.ens.fr/~madore/algebre2/
et/ou http://www.math.ens.fr/~madore/algebre2/ et obtenir
que quelqu'un le redirige vers cette nouvelle adresse. Comme je
connais quelqu'un qui est sysadmin à l'ENS, les chances
dans ce sens sont bien meilleures qu'en 2009. • Mise à
jour () : c'est fait, donc
les liens anciens doivent de nouveau marcher.
Tant que j'y suis, et sans rapport avec ce qui précède, un autre
lien que j'aimerais faire rediriger vers mon site Web,
c'est http://www.eleves.ens.fr:8080/home/madore/ (qui
était l'ancienne adresse de ce site
jusqu'en avril 2005, et qui eut
fonctionné comme redirection — au moins par intermittence — jusque
vers 2021 ; notez que la version sans le :8080
fonctionne). Je crois comprendre que la responsabilité en appartient
à un groupe de normaliens appelés la DGNUM, mais je n'ai
pas réussi à les contacter : si par hasard il y a parmi mes lecteurs
des gens qui connaissent, n'hésitez pas à nous mettre en contact.
Comme le billet que j'ai écrit il y
a un mois sur le métier de mathématicien a suscité un certain
intérêt, je me dis que je pourrais en faire un autre sur mon histoire
personnelle, i.e., comment j'en suis venu, moi, à faire des maths.
J'en ai dit un peu dans mon autobiographie générale mais ce
texte a été écrit il y a plus de 20 ans et je ne suis pas forcément
très content de la manière dont il est tourné par le
David-Madore-de-2003, et par ailleurs il me semble que c'est plus
intéressant de raconter les choses thématiquement : voici donc une
tentative d'« autobiographie mathématique », de la petite enfance au
présent.
Avant de commencer, je dois préciser que je ne prétends ni être
typique ni être exceptionnel parmi les mathématiciens. Ceci est mon
histoire, ou plus exactement la manière dont je vois (actuellement)
mon histoire, elle ne représente que moi, et on se gardera bien d'en
tirer des conclusions sur la manière dont on peut ou doit devenir
mathématicien (ou pousser un enfant à devenir mathématicien), ni sur
le parcours de qui que ce soit d'autre que moi. À l'inverse, je ne
prétends pas non plus à une singularité particulière : par exemple, je
ne suis sans doute ni un mathématicien exceptionnellement doué ni
exceptionnellement mauvais selon quelque mesure de compétence que ce
soit, ni même
exceptionnellement éclectique (meme
si sur cette dimension-là je suis probablement à plus d'un écart-type
de la moyenne). Il y a par ailleurs beaucoup de points dans cette
histoire où j'ai simplement eu de la chance (soit de la chance de
connaître les bonnes personnes, soit de la chance simplement du hasard
du moment), et ces choses ne sont simplement pas reproductibles.
(Comme mon autre
billet, ce billet est censé être lisible par le grand public, même
s'il est certainement plus intéressant si on a au moins une petite
idée de la manière dont les mathématiques se découpent
disciplinairement. Mais il est assez inévitable que je fasse ici et
là des remarques d'ordre un peu plus technique : le lecteur qui ne les
comprend pas n'a qu'à sauter ces passages, il n'y aura pas de
questions dessus à l'examen.)
Si je dois dire très brièvement comment je suis devenu
mathématicien, c'est parce que mon
papa, qui était physicien théoricien, a essayé de m'intéresser à
la physique. De son point de vue, c'était un échec, parce que (même
si je suis indiscutablement intéressé par la physique) je ne suis pas
devenu physicien, et il avait une relation compliquée avec les
mathématiques (cf. notamment ce que j'ai écrit
dans ce billet au sujet des
relations croisées entre maths, physique et info). Mais c'était aussi
indiscutablement une transmission directe de patrimoine culturel :
au-delà de la distinction entre maths et physique, je me suis
intéressé aux sciences parce que j'avais un père scientifique qui
était prêt à me parler de toutes sortes de choses (pas juste de
physique et de maths, mais aussi de chimie, de biologie, d'ingénierie,
et parfois de sciences
sociales[#]), et de répondre à
mes questions au cours des promenades que nous faisions ensemble dans
les bois ; ou, quand il ne savait pas répondre, de me dire qu'il ne
savait pas et de réfléchir ensemble ou de chercher ensemble dans des
livres. C'est une forme malheureusement trop courante de reproduction
sociale. Mais malgré mon avertissement liminaire contre le fait de
prendre mon exemple comme modèle, certains des éléments que je vais
évoquer ci-dessous (par exemple de lectures) peuvent suggérer des
pistes, même si on n'est pas soi-même scientifique, pour savoir si un
enfant peut être intéressé par les sciences ou spécifiquement par les
mathématiques.
[#] Et parfois il disait
des choses fausses ou trop exagérément simplifiées, dans chacun de ces
domaines, ne serait-ce que parce que c'était des choses qu'il avait
apprises il y a longtemps et que les sciences avaient progressé, et
que c'était avant Wikipédia donc on ne pouvait pas facilement vérifier
les choses, ou encore parce qu'il avait des théories un peu
personnelles sur certaines questions. Mais ce n'est pas vraiment ce
qui importe : ce qu'il m'a surtout transmis c'est l'idée d'en savoir
plus.
Ma mère m'a appris plein de choses
aussi[#2], évidemment, mais
elle n'est pas du tout scientifique. Je crois que mon père a fait des
tentatives pour lui expliquer à elle (avant que je n'arrive au monde)
certaines idées scientifiques, et je soupçonne vaguement ces
tentatives d'avoir été contre-productives au point de rendre ma mère
encore moins intéressée par la science qu'elle ne l'était au départ
(ou de s'être dit ce n'est pas pour moi). Et peut-être que,
symétriquement, c'est parce qu'il n'arrivait pas à parler de ces
sujets à sa femme que mon père était particulièrement enclin à en
parler à son fils.
[#2] Même en maths,
d'ailleurs : c'est elle qui m'a appris à poser une division (mon père
devait estimer que c'était un algorithme pas très intéressant, mais
surtout, la notation utilisée au Canada pour le présenter est un peu
différente de celle utilisée en France, et comme il me faudrait bien
apprendre la présentation française à l'école, c'est ma mère qui a
fait le travail pédagogique).
Mais ce que je veux dire par là (et je suis désolé pour l'enfonçage
de porte ouverte) c'est qu'on ne peut pas transmettre du savoir sans
réussir à transmettre d'abord l'intérêt pour la chose qu'on va
transmettre. Et cet intérêt passe par une accroche qui va marcher
différemment selon l'état d'esprit de la personne.
☞ Comment j'ai accroché à la science
J'essaie donc de remonter à mes plus anciens souvenirs pour
retrouver ce qui a fait que j'ai « accroché » à la science, mais ce
n'est pas vraiment évident. J'aimais bien raconter des histoires,
imaginer des choses[#3], poser
des questions : ce n'est pas clair ce qui, là-dedans, relève d'une
mentalité scientifique (ou pré-scientifique : scientifique en devenir)
ou d'autres aspects de ma personnalité
(cf. ici), et bien sûr ce sont des
traits très courants chez les enfants et la plupart ne deviennent pas
scientifiques (ni à plus forte raison mathématiciens).
[#3] Quand j'avais
autour de 5 ou 6 ans, j'avais un pays imaginaire, que j'appelais
le pays des gros bourdons (je suis maintenant absolument
incapable de dire pourquoi ce nom ; certes, maintenant que je suis
adulte, je suis un grand fan des insectes du genre Bombus, mais
je ne crois pas spécialement l'avoir été quand j'étais petit, et le
nom du pays n'avait, je crois, que très peu de rapport avec ce que
j'avais imaginé à son sujet — dont, d'ailleurs, je n'ai quasiment
aucun souvenir à part que les choses étaient généralement bien mieux
faites à mes yeux que dans le pays que j'habitais vraiment). Il était
aussi question du pays où j'habitais avant, qui était différent
du pays des gros bourdons (le premier pays où j'habitais
avant était plutôt négatif, le pays des gros bourdons
plutôt positif), et je crois que mes parents se sont beaucoup demandés
ce que c'était censé représenter, et je suis absolument incapable de
répondre maintenant.
Parmi les premières choses que mon père a fait pour stimuler mon
intérêt scientifique, il m'a emmené régulièrement
au Palais
de la Découverte à Paris. Je ne sais pas à quoi ressemble le
Palais de la Découverte
maintenant[#4], mais au moment
dont on parle, c'est-à-dire au tout début des années 1980, il y avait
des bouts qui n'avaient quasiment pas dû changer depuis sa fondation
en 1937[#5], et d'ailleurs
plein de choses qui ne marchaient pas. Moi ce qui m'intéressait
surtout, quand j'étais petit, c'était d'appuyer sur les
boutons[#6] : au début,
donc, je n'étais même pas vraiment curieux du pourquoi telle ou telle
chose allait se passer, mais je voulais voir quelque chose se passer —
mais à force de revenir, d'appuyer sur les mêmes boutons et de voir
les mêmes choses se passer (et c'est, après tout, le premier fondement
de la science que de penser que les mêmes causes tendent à produire
les mêmes effets), j'ai quand même dû finir par m'intéresser aux
raisons qui faisaient que ces choses se passaient. J'étais notamment
assez fan des sections sur l'électromagnétisme (la présentation
d'électrostatique me faisait un peu peur, mais celle de
l'électroaimant ma plaisait énormément). Mon père m'a emmené dans
d'autres musées de sciences, notamment
le musée
des Art et Métiers,
le Science
Museum de Londres et
le Ontario
Science Centre de Toronto (ville où nous avons vécu en
1984–1985), et, plus tard,
la Cité
des Sciences et de l'Industrie quand elle a ouvert en 1986, mais
c'est vraiment le Palais de la Découverte qui m'a marqué. Peut-être
simplement parce que nous y allions souvent, mais peut-être aussi
parce qu'il trouvait le bon équilibre entre un musée purement
historique (où on présente des artefacts anciens mais qui souvent ne
sont pas en état de marche, et pour un enfant c'est juste emmerdant)
et une exposition ludique (où on montre des choses rigolotes mais sans
vraiment expliquer le pourquoi et le comment).
[#4] Enfin, maintenant, il est
fermé pour travaux (jusqu'en juin 2025, je crois comprendre), donc la
question ne se pose pas. La dernière fois que j'y suis allé, c'était
en 2016, et il y avait déjà de sérieux changements par rapport au
Palais de mon enfance. Mais je ne veux pas tomber dans le c'était
mieux âââvant des vieux cons qui croient que les choses étaient
forcément meilleures telles qu'elles étaient dans leur enfance.
[#5] Je vais essayer
très fort de ne pas penser au fait qu'il s'est écoulé en gros autant
de temps entre la fondation du Palais de la Découverte sous le Front
Populaire et la première fois que j'ai dû y aller, qu'entre ce
moment-là et maintenant, parce que c'est absolument terrifiant.
[#6] Mon papa, lui,
était complètement fasciné par une expérience (dans le cadre d'une
présentation sur les états de la matière) où, à un moment, on verse de
l'eau froide sur un récipient scellé contenant de l'eau chaude, et ça
fait que cette dernière se met à bouillir
(voir une vidéo
ici
et une
discussion ici). Moi, cependant, cette expérience me laissait
complètement indifférent.
Ça c'est pour ce qui est de mon intérêt pour la science en général.
Mais qu'en était-il des mathématiques ? J'ai, à vrai dire, du mal à
me rappeler comment ça a commencé. Je crois que la partie consacrée
aux mathématiques du Palais de la Découverte me laissait assez froid.
À part peut-être la salle dédiée au nombre π avec les premiers
chiffres de celui-ci écrites au plafond : comme sans doute beaucoup de
gens, j'étais fasciné par l'idée de ce nombre dont les décimales ne
s'arrêtent jamais, et j'en ai d'ailleurs appris 50 décimales par cœur
(cf. ici). Mais est-ce que c'est
des maths, d'apprendre par cœur des décimales de π ? Maintenant que
je suis mathématicien, j'ai un peu tendance à regarder avec
condescendance la fascination de mathématiciens amateurs pour les
décimales de π, surtout en
base 10[#7], peut-être que je
devrais me rappeler comment j'ai moi-même débuté.
[#7] Si vous voulez
avoir de la fascination pour quelque chose de ce genre, prenez au
moins l'écriture binaire de √2, s'il vous plaît !
☞ Premières interrogations mathématiques
Je crois quand même que j'ai assez vite (vers 6 ou 7 ans,
peut-être ?) été fasciné par les formules permettant de calculer
l'aire ou le volume de différentes formes géométriques. Pourquoi
l'aire d'une boule
est-elle , et la surface de la
sphère , par
exemple[#8] ? D'où sortent ces
formules ? Ça a été surtout ça la voie qui m'a attiré vers plus de
maths. D'abord, parce que mon papa m'a acheté, peut-être au cours
d'un de nos voyages à Londres, un petit livre (très amusant par son
format, d'ailleurs : il devait faire environ 2cm dans chaque
direction) qui était un condensé de formules mathématiques : moi ce
qui m'intéressait à la base c'étaient les formules pour les aires et
les volumes, mais forcément j'ai commencé à regarder d'autres choses
dans ce petit livre. Je crois notamment que
le triangle
de Pascal a été une des choses que j'ai découvertes dedans.
[#8] Je me rappelle
aussi avoir demandé à mon papa, et à d'autres scientifiques, les
formules analogues pour les boules et sphères de dimension 4, 5, etc.
Car je voyais bien que s'il y avait l'aire d'un
disque et la circonférence d'un cercle , le volume d'une boule , et la
surface d'une sphère , il devait bien y avoir une
formule en dimension 4 et plus, certainement avec
du et
du , ce en quoi j'avais raison,
et c'était peut-être une de mes premières intuitions mathématiques
sérieuses, et certainement quelque chose fois π, ce en quoi je me
trompais plus ou moins (je sais maintenant, et tout le monde sait
maintenant puisque
c'est sur
Wikipédia, que la boule de dimension 4 a volume et que son bord la sphère de dimension 3 a — je ne sais
pas ce qu'on doit
dire, surface ?, volume ? 3-surface ? — qui
vaut ), et d'ailleurs je crois que j'avais fini par me
dire qu'en dimension 1 c'était et juste , et que
c'était bizarre qu'il n'y ait pas de π là-dedans. Au final, personne
ne m'a donné la formule avant longtemps, juste des réponses
évasives ah ça doit se calculer avec des intégrales, et
peut-être que ce mystère a beaucoup fait pour me pousser à apprendre à
calculer ces choses moi-même. En tout cas, cela illustre bien ce que
je disais dans l'autre billet :
aimer les maths, c'est peut-être avant tout aimer généraliser les
choses, et se dire qu'on ne peut pas sérieusement se contenter de des
boules et sphères en dimension 2 et 3 sans se demander et
au-delà ?.
Mais aussi, puisqu'on me disait que pour calculer ces formules
d'aires et de volumes il y avait un outil général appelé
l'intégrale, j'ai voulu savoir ce qu'était une intégrale. Mon
père m'a dit qu'avant de savoir ce qu'est une intégrale, il fallait
savoir ce qu'est une
dérivée[#9], et j'ai donc
demandé à en savoir plus à ce sujet. Je me souviens notamment que
quand nous étions à Toronto (j'avais 8 ans), je me suis fait offrir
une fiche plastifiée recto-verso écrite en petits caractères qui
récapitulait de façon assez bien présentée les principales choses à
savoir sur les intégrales. De façon plus générale, enfant, j'ai
appris plein de maths, à partir du moment où je savais lire (et
surtout, lire l'anglais[#10])
à travers des petits livres condensés ou des dictionnaires des termes
mathématiques ou des formulaires, ou ce genre de choses. C'est-à-dire
qu'à ce stade je voyais les maths surtout comme des calculs et des
recettes pour mener des calculs et arriver à des résultats.
[#9] Je me rappelle
que, pour m'expliquer ce que la dérivée d'une fonction, mon père m'a
proposé deux approches : soit je fais une petite variation
δx du paramètre, je regarde la petite variation
δy qui en résulte sur la valeur de la fonction,
et je cherche si δy/δx
tend vers quelque chose ; soit je prends la tangente au graphe de la
fonction au point considéré, et la dérivée est la pente, c'est-à-dire
la tangente de l'angle avec l'horizontale, de cette droite. La
première approche ne me parlait pas trop, mais j'aimais bien la
seconde (la tangente de l'angle de la tangente).
[#10] Indiscutablement, le fait que j'aie
pu lire l'anglais très tôt m'a ouvert beaucoup de portes qui eussent
autrement été fermées. Certes on peut trouver de la bonne
vulgarisation scientifique, et de bons livres de maths, en français,
mais quand bien même il y en aurait tout autant qu'en anglais, le
simple fait d'avoir plus d'options entre lesquelles choisir est un
bénéfice indéniable. L'ennui c'est que ça ajoute encore au poids du
capital culturel : l'enseignement scolaire public français n'arrive
décidément pas à mener au fait que les lycéens puissent lire et
comprendre l'anglais avec aise, donc je mesure certainement la chance
que j'ai eue d'avoir pu lire des livres de maths (ou de vulgarisation)
en anglais à partir de 8 ans.
☞ Manipulations de symboles ?
À ce point, il faut que je fasse un certain nombre de remarques,
parce que à 8 ans je savais calculer des intégrales peut donner
une impression totalement fausse. J'ai suffisamment dénoncé
le mythe dangereux du « génie »
pour ne pas savoir les dangers à ce qu'on me considère comme un
« petit génie »[#11]. Donc,
est-ce que je comprenais ce qu'est une intégrale et est-ce que je
savais en calculer ? Oui et non, ça dépend ce qu'on met dans le
mot comprendre.
Ce billet s'adresse au grand public et se veut donc compréhensible
par tous[#]. Je vais parler de
maths, pour une fois il ne s'agit pas de faire de la vulgarisation
mathématique[#2] au sens où je
ne vais pas expliquer du contenu mathématique, mais plutôt
tenter de parler de « ce que ça fait de faire des maths », i.e.,
essayer de dire un mot sur comment les mathématiciens « pensent » les
maths et en quoi consiste notre métier. Et peut-être en profiter pour
dissiper quelques malentendus ou quelques idées reçues sur les
mathématiciens ou la recherche en mathématiques.
[#] À l'exception de
quelques brefs passages essentiellement limités aux notes en bas de
paragraphe (où je ferai parfois référence à un concept technique),
passages que je pense qu'on n'aura aucune difficulté à identifier et à
ignorer si on ne les comprend pas.
[#2] Ni même de la
méta-vulgarisation comme j'ai pu le
faire ici, mais ça va rejoindre un peu certaines choses que je
raconte dans ce billet.
Il va de soi que ce but est trop ambitieux pour que je puisse le
mener avec succès. D'abord parce que tenter de parler de comment on
fait des maths sans parler de maths revient, forcément, à brasser de
l'air en agitant les mains. Ensuite, parce qu'il n'y a pas vraiment
de pratique « typique » du métier de mathématicien (comme il n'y a pas
de pratique « typique » de celui d'écrivain), donc je peux au mieux
parler de la mienne (donc celle d'un mathématicien
possiblement médiocre) en essayant
de faire remarquer ce que je crois être plus ou moins partagé
par mes collègues. Enfin, parce que j'avais de toute façon trop de
choses à dire et que j'ai arrêté un peu quand j'en avais marre
d'écrire, donc je relègue plein de choses (sur la communauté
mathématicienne, notamment) à un éventuel billet ultérieur.
Peut-être que je devrais commencer par dissiper des idées reçues
courantes[#3] sur les
mathématiciens ou les mathématiques, même si j'imagine que le lectorat
de ce blog, quand bien même il n'est pas lui-même scientifique, a au
moins des idées un peu moins approximatives que le grand public moyen
à ce sujet.
[#3] Enfin, des idées
reçues que je crois que le grand public a sur les
mathématiciens. Parce que, honnêtement, je ne suis pas le mieux
informé à ce sujet (même si j'ai pu en discuter de temps en temps avec
des gens croisés au hasard — un chauffeur de taxi, un coiffeur, un
moniteur d'auto-école, un médecin, un voisin dans le RER,
etc. ; et bien sûr je vois l'image que toutes sortes de fictions
donnent du mathématicien, qui doivent bien refléter une forme
d'imaginaire collectif, au moins tel qu'il se manifeste dans l'esprit
des écrivains ou scénaristes). Mais il n'est pas exclu que j'aie des
idées reçues au sujet des idées reçues des gens sur les
mathématiciens.
D'abord, je soupçonne que l'idée reçue la plus courante au sujet de
notre métier est que nous faisons des calculs très difficiles, et que
nous passons notre temps à écrire des formules très compliqués.
Or la plupart des mathématiciens ne font pas des
calculs[#4]. Il peut
certes tout à fait arriver qu'il y ait des calculs, même des calculs
compliqués, en mathématiques : selon les branches des maths, c'est
plus ou moins fréquent (même si tout dépend de ce qu'on appelle,
exactement, un calcul), mais ce n'est généralement pas
l'activité principale. On ne peut pas non plus dire que le
mathématicien ait particulièrement souvent affaire à des nombres, ni,
en fait, à des formules (pour une acception assez large
de formule, on peut convenir qu'il y en a beaucoup, mais même
là, on aurait tort de s'imaginer le chercheur en mathématiques comme
une sorte de chercheur de formules, comme je soupçonne que beaucoup de
gens se l'imaginent).
[#4] S'il y a des
scientifiques qui font des calculs compliqués, c'est plutôt les
physiciens (même si, là aussi, c'est un cliché, qui a forcément ses
limites, il est sans doute plus juste à propos des physiciens que des
mathématiciens).
Ajout () : J'aurais sans
doute dû mentionner ceci quelque part dans ce billet, et je ne sais
pas bien où l'ajouter, alors on va le mettre ici : les maths
que la plupart des non-mathématiciens rencontrent dans leurs
études (disons au moins jusqu'au baccalauréat, et même un peu
après) n'ont qu'un rapport assez distant avec la recherche en
mathématiques. Ce sont des maths qui eurent été fraîches il
y a environ 150 ans, mais qui ne le sont plus du tout (ce qui ne veut
pas dire qu'elles ne soient pas correctes, bien sûr), et
surtout, ce sont des maths globalement ternes et inintéressantes (même
par rapport à ce qui se faisait à l'époque). Pour faire une
comparaison un peu gratuite, disons que si on a fait des maths
jusqu'au lycée, on a rencontré quelque chose qui est à la recherche
mathématiques un peu comme si l'enseignement de l'histoire se limitait
à apprendre par cœur la liste des rois de France et leurs dates : ce
ne sont pas des informations fausses, mais ce n'est vraiment pas très
intéressant. Il n'est pas surprenant, dans ces conditions, que des
gens en retirent l'impression que les maths sont un sujet profondément
ennuyeux se limitant à peu près à faire des calculs pénibles sur des
situations sans intérêt, qu'ils n'arrivent pas à comprendre qu'il
puisse y avoir de la beauté dedans, qu'ils se fassent une image tout à
fait fausse du métier de mathématicien, ou même qu'ils pensent qu'il
n'y a plus de recherche sur le sujet. (D'un autre côté, je ne sais
vraiment pas comment on pourrait présenter les maths
autrement au niveau lycée. L'expérience des « maths modernes » en a
échaudé plus d'un ; voir aussi
la note #41 plus bas à ce
sujet.)
Pour le reste, je dois mentionner que je ne crois pas que les
mathématiciens soient particulièrement distraits, particulièrement
asociaux[#5], ou
particulièrement
intelligents[#6] : je ne sais
même pas si ce sont des choses que les gens s'imaginent vraiment, mais
c'est certainement ainsi que nous avons tendance à être présentés dans
les rares films où apparaît un mathématicien.
[#5] Le cliché du
mathématicien dans les films ou séries télé (et, pour le coup,
j'espère quand même qu'il n'est pas si répandu dans la tête des gens),
c'est quelqu'un de froid, déconnecté de la réalité, presque dénué
d'émotions et d'empathie (comme s'il voyait le monde comme une série
de chiffres), et d'ailleurs généralement privé de sens de l'humour.
(En fait, ce sont largement les mêmes clichés que ceux qui concernent
les personnes autistes, donc on peut aussi ajouter le cliché de la
proximité entre ces deux catégories.) Tout ça est juste complètement
con. Le manque de sens de l'humour est même particulièrement faux,
les mathématiciens sont plutôt farceurs, au contraire. (Et amateurs
de canulars, cf. par
exemple ceci.)
Ce qui est peut-être vrai, en revanche, mais je ne sais pas si c'est
un cliché que les gens ont, c'est que beaucoup de mathématiciens sont
mauvais en calcul mental. Disons qu'il y a trois types de
mathématiciens : ceux qui savent compter, et ceux qui ne savent
pas.
[#6] Il faut que
j'écrive un billet sur ce que je pense au sujet de l'intelligence,
mais en attendant je peux renvoyer
à celui-ci qui en parle un peu. Il
y a énormément de formes différentes d'intelligence, c'est un terme
qui veut tout et rien dire, et si les mathématiciens sont, forcément,
doués pour les raisonnements mathématiques et ce qui s'y approche
(détecter les erreurs de logique, par exemple), ce qu'on peut
considérer comme une forme particulière d'intelligence, il
serait à la fois faux et prétentieux (et, en fait, dénué de sens)
d'affirmer que nous sommes plus intelligents en général.
Ce qui est sans doute plus vrai (même si ça reste, évidemment,
extrêmement simplifié), c'est que les mathématiciens ont tendance à
être assez précis et pointilleux, par exemple, dans le choix des
termes avec lesquels ils s'expriment (et souvent ça déteint sur
d'autres choses, comme la typographie) : parce que dans un énoncé
mathématique, on ne peut pas se permettre d'approximation sur ce qu'on
dit, et cette habitude de ne pas dire une chose pour une autre va
facilement déteindre sur l'ensemble de ce qu'on dit. (À titre
d'exemple, j'avais fait remarquer que quelqu'un qui prétendait
discuter de politique et de démocratie semblait confondre les
affirmations toute décision devrait être approuvée par une majorité
de citoyens et tout citoyen devrait approuver une majorité de
décisions : c'est exactement le genre de distinction, et aussi
d'ailleurs le pli de discuter l'une ou l'autre dans l'abstrait et sans
prendre position sur sa véracité, qui est typique du raisonnement
mathématique et essentiel pour lui, et qui déteint facilement quand on
parle d'autres domaines.)
☞ L'abstraction et la généralité
Si les maths ne sont pas la science des nombres ni celle des
formules, j'aurais tendance à dire que c'est celle du raisonnement
précis sur les structures abstraites, mais il faut admettre que cette
définition est exaspérément vague et pourrait ressembler à une
définition de la philosophie. Je n'ai pas vraiment mieux
(cf. aussi ce billet où j'essayais
de définir l'informatique, et son intersection avec les maths). Mais
ce n'est pas vraiment mon but ici de discuter de la question de ce que
sont les maths sub specia æternitatis : je veux
juste dire que la pratique des maths par les mathématiciens se
caractérise surtout par des raisonnements plus que par des calculs, et
que ces raisonnements portent plutôt sur des abstractions (plus ou
moins reculées par rapport à une situation concrète) que sur des
quantités.
Pour ce qui est des abstractions, je pense qu'une bonne
explication[#7] à fournir au
grand public est la suivante : un mathématicien est quelqu'un
qui pense que l'abstraction, au lieu de compliquer les problèmes, les
simplifie, car elle consiste justement à ne garder que
l'essentiel du problème en jetant tout ce qui est une circonstance
particulière distrayante. Le mathématicien cherche typiquement à
détacher un problème ou raisonnement des particularités de telle ou
telle instance spécifique, pour retrouver sa forme la plus abstraite
et universellement applicable.
[#7] Je vole cette
remarque à Nalini Anantharaman
dans cette vidéo, qui est d'ailleurs
intéressante en rapport avec le sujet de ce billet. Mais je la
développe ici à ma sauce, donc je ne prétends pas que Nalini
Anantharaman sera forcément d'accord avec ce que j'écris.
C'est la raison pour laquelle nous avons un tropisme à la
généralisation : même si l'instance spécifique qui a donné naissance à
une question de maths comporte un paramètre qui a une valeur numérique
précise, le mathématicien va typiquement chercher à savoir si cette
valeur est vraiment importante — et, si elle ne l'est pas, généraliser
le problème à tout n pour éviter de se laisser
distraire par le n particulier qui n'a pas d'importance —
tandis que si la valeur est importante (et bien sûr parfois elle
l'est) on cherchera à savoir ce qui fait qu'elle l'est,
Par exemple, si je pose le problème de la tablette de chocolat (que
je vais énoncer plus bas) en
évoquant une tablette de chocolat 3×5, c'est peut-être plus parlant
pour le grand public que si j'évoque une tablette de
chocolat m×n, mais pour le mathématicien, le
problème avec la tablette de chocolat m×n est à
la fois plus général et plus simple, parce qu'il nous dit que
ce n'est pas la peine de chercher des particularités des nombres 3 et
5 qui feraient marcher le problème dans ce cas et dans ce cas
seulement.
Bien sûr, tout le monde n'a pas le même amour pour la généralité
pour elle-même : car de la même manière qu'on peut remplacer un entier
particulier (comme 42) par l'abstraction un entier quelconque
(et lui donner un nom de variable, n), on peut aussi
chercher à généraliser plus loin, et remplacer
l'hypothèse entier (i.e., élément de ℤ) par quelque
chose de plus général (remplacer ℤ par, disons, un anneau
commutatif) et se demander si la question a encore un sens, et le
cas échéant admet la même réponse. On peut toujours généraliser plus
loin, et il faut bien décider un jour de s'arrêter : certains trouvent
plaisir à généraliser autant qu'ils peuvent, d'autres s'arrêtent dès
qu'ils estiment avoir retiré ce qui est purement superflu, et il
serait faux de dire que les mathématiciens recherchent
systématiquement l'abstraction maximale. Il y a une branche des
mathématiques qui s'attache plus que toute autre aux généralisations,
et qu'on pourrait presque qualifier de spécialiste de l'abstraction
pour le plaisir de l'abstraction, qui est un peu au reste des
mathématiques ce que les mathématiques sont à des problèmes concrets :
il s'agit de la théorie des
catégories[#8] ; mais tout le
monde n'aime pas forcément cette approche consistant à trouver la
version la plus abstraite et générale possible de n'importe quel
énoncé. Au moins pour la pédagogie, les mathématiciens peuvent aimer
énoncer un résultat dans un cas particulier, pour dire ensuite en
fait, ceci se généralise de la façon suivante plutôt que de
commencer par la version la plus générale.
[#8] Pour caricaturer
un peu, disons que si le mathématicien va avoir tendance à
remplacer 42 dans un problème par n,
où n est un entier, et l'algébriste l'ensemble ℤ des
entiers par un anneau commutatif A quelconque, le
théoricien des catégories va, à son tour, remplacer la catégorie des
anneaux commutatifs par une catégorie d'algèbres sur une monade, puis
la 2-catégorie des catégories par une 2-catégorie vérifiant ceci ou
cela, bref, on n'en finit jamais de généraliser. De même qu'il y a
une blague standard sur les jésuites selon laquelle quand on a fini de
leur poser une question on ne comprend plus la question qu'on a posée,
il y a son équivalent avec les théoriciens des catégories au sein des
mathématiques (ils vont vous expliquer que votre problème consiste à
définir une structure d'∞-groupoïde enrichi cocomplet sur certaines
computades globulaires, et quand vous cherchez à comprendre n'importe
lequel de ces mots vous vous rendez compte qu'il est défini
par le nLab au
moyen de 12 autres mots que vous ne comprenez pas non plus).
Il y aurait sans doute lieu ici de faire une distinction entre
maths pures et maths appliquées, même si je pense que cette
distinction n'est pas aussi pertinente qu'on veut bien le faire
croire[#9] (et certainement
c'est une frontière floue, qui
souffre d'ailleurs d'être discrétisée par la gestion administrative
des sections du Conseil National des Universités) : pour simplifier à
outrance, le mathématicien appliqué apprécie l'abstraction en ce
qu'elle aide à résoudre un problème en le débarrassant de ce qui est
superflu, tandis que le mathématicien pur apprécie l'abstraction en ce
qu'il aide à dégager un concept plus général et plus élégant. Mais
dans les deux cas, on aime ne pas se compliquer de détails sans
pertinence.
[#9] Je pense que la
majorité des mathématiciens sont convaincus de la
profonde unité des mathématiques (ou, comme le disent
certains pour insister sur cette unité, de la mathématique
comme on peut dire de la physique), les mathématiques pures et
appliquées n'étant que des tendances au sein d'un tout
fondamentalement uni. Je vais revenir plus loin sur cette unité.
☞ La beauté des mathématiques
Je pense qu'une chose sur laquelle quasiment tous les
mathématiciens seront d'accord, c'est que les mathématiques
ont une très grande beauté interne. C'est quelque chose
qu'il est difficile de faire comprendre au grand public, et qui est à
la fois une motivation et un défi pour la vulgarisation
(cf. ici) : même si on peut parfois
en tirer certaines jolies images visibles avec les yeux
(comme ici
ou là
ou là ou
encore là pour certaines que j'ai moi-même mis sur
YouTube), l'essentiel de la beauté des mathématiques n'est perceptible
que par l'intellect, et l'essentiel des objets mathématiques
n'admettent aucune sorte d'image qu'on puisse représenter sous forme
graphique. Donc parler au grand public de la beauté des
mathématiques, comme j'aime bien le dire, c'est un peu comme vivre
dans un monde où tout le monde est sourd et d'essayer d'expliquer la
beauté d'une symphonie de Beethoven alors que personne ne l'a jamais
entendue jouer, on ne peut qu'en lire la partition.
Pour ce qui est de la recherche, cette beauté des mathématiques est
à la fois une motivation et un fil conducteur. C'est une motivation,
parce que je pense que tous les mathématiciens ont, à un
certain niveau, le plaisir de faire des mathématiques parce
que c'est beau[#9b]
et c'est satisfaisant pour l'esprit (je ne prétends
pas que ce soit la seule, ni même la plus importante pour tout le
monde, mais elle doit être au moins un élément important chez
quasiment tous les mathématiciens professionnels, peut-être même plus
que la curiosité commune à tous les scientifiques). Beaucoup de
mathématiciens (« purs » comme « appliqués ») trouveront un problème
intéressant et « naturel » en ce qu'il éveille leur sens esthétique.
Mais c'est aussi un fil conducteur dans la recherche, en ce sens que
les constructions et les techniques de démonstrations les plus
puissantes sont souvent, quoique pas toujours (et ça dépend fortement
des domaines), les plus élégantes : du coup, on peut, dans une
certaine mesure, se laisser guider dans ses recherches par son sens de
l'esthétique.
[#9b] Ajout
() : Pour illustrer le fait que ce n'est pas
que moi qui pense ça, Hermann Weyl a dit quelque chose comme
ceci : dans mon travail, j'ai toujours tenté d'unifier le beau et
le vrai ; mais quand j'ai dû choisir entre les deux, j'ai généralement
choisi le beau. Et G. H. Hardy écrit dans A
Mathematician's Apology : The mathematician's
patterns, like the painter's or the poet's must be beautiful;
the ideas like the colours or the words, must fit together in a
harmonious way. Beauty is the first test: there is no permanent place
in the world for ugly mathematics.
Le Docteur No, célèbre[#]
pour capturer des mathématiciens et les soumettre à diverses énigmes
(précédemment sur ce
blog : ici, là, là, là, là
et peut-être là) est de retour !
Cette fois-ci il n'a capturé que deux mathématiciens, que nous allons
appeler Alice et Bob, mais cela ne l'empêche pas de s'amuser à leur
proposer une énigme particulièrement cruelle.
[#] Honnêtement, je ne
me rappelle même plus si c'est moi qui ai commencé à
appeler Docteur No (comme
dans le film de James Bond) le grand méchant de ces
énigmes ou si je tiens ça d'ailleurs.
Comme ça fait longtemps que nous n'avons pas eu affaire au
Docteur No, je commence par une version jouet de l'énigme, histoire de
s'échauffer :
Énigme facile : Le Docteur No a capturé deux
mathématiciens, Alice et Bob. Après avoir permis à ceux-ci de se
concerter sur leur stratégie, il va les soumettre à son épreuve dont
il leur communique les termes. Il communiquera deux entiers naturels
de son choix à Alice. Alice choisira un et un seul de ces nombres et
ce nombre sera transmis à Bob (qui est l'allié d'Alice). Le but de
Bob est de deviner le nombre qu'il n'aura pas reçu : pour ça, il aura
droit de proposer un nombre fini quelconque d'essais ; autrement dit,
il doit proposer au Docteur No un ensemble fini d'entiers
naturels (on peut supposer, cela ne change rien, que le nombre
transmis par Alice est aussi mis dedans). Si les nombres initialement
choisis par le Docteur No sont dans cet ensemble proposé par Bob,
alors les mathématiciens seront libérés ; dans le cas contraire, le
Docteur No les tuera avec des tortures particulièrement raffinées.
Comment Alice et Bob font-ils pour être certains d'être
libérés ?
La réponse est facile, mais je recommande de prendre le temps de
résoudre ce problème avant de passer à la suite
(cliquez
ici pour la faire apparaître), ne serait-ce que pour vérifier
qu'on a bien compris la nature du problème. La réponse est la
suivante : Alice communique à Bob le plus grand des
nombres qu'elle a reçus, et Bob, recevant ce nombre x,
propose l'ensemble (fini) de tous les entiers naturels entre 0
et x ; comme x est le plus grand, l'autre nombre
est forcément dans cet ensemble.
Il va de soi que cette solution fonctionne encore si, au lieu que
les nombres proposés par le Docteur No soient des entiers naturels, ce
sont des entiers relatifs ou des rationnels, car il suffit de coder
ceux-ci par des entiers naturels (mais attention, dans la construction
ci-dessus, on n'utilisera plus le plus grand nombre, mais le nombre
ayant le plus grand code). Mais qu'en est-il pour des nombres
réels ?
Contre-énigme : Le Docteur No a capturé deux
mathématiciens, Alice et Bob. Il envisage de les soumettre à
l'épreuve suivante. Après leur avoir permis de se concerter sur leur
stratégie, il communiquerait deux réels de son choix à Alice. Alice
devrait choisir un et un seul de ces nombres et ce nombre serait
transmis à Bob (qui est l'allié d'Alice). Le but de Bob serait de
deviner le nombre qu'il n'aura pas reçu : pour ça, il aurait droit de
proposer un nombre fini quelconque d'essais ; autrement dit, il
devrait proposer au Docteur No un ensemble fini de réels (on
peut supposer, cela ne change rien, que le nombre transmis par Alice
est aussi mis dedans). Si les nombres initialement choisis par le
Docteur No sont dans cet ensemble proposé par Bob, alors les
mathématiciens seraient libérés ; dans le cas contraire, le Docteur No
les tuerait avec des tortures particulièrement raffinées.
Pourquoi le Docteur No, dont le code de l'honneur exige qu'il y ait
toujours un moyen de résoudre les épreuves qu'il propose, décide-t-il
de ne pas proposer cette épreuve ?
C'est que l'épreuve en question serait
impossible : cliquez
ici pour voir la preuve. En effet, supposons par l'absurde qu'Alice
et Bob aient une stratégie, et considérons la réunion Z de
toutes les réponses que ferait Bob si Alice lui transmet un entier
naturel (y compris les entiers naturels eux-mêmes) : ce Z
est dénombrable (comme réunion dénombrable d'ensembles finis), donc il
existe un réel qui n'est pas dedans ; soit donc x un réel
qui n'est pas dans Z. Maintenant, si y est un
entier naturel quelconque, alors si le Docteur No propose
{x,y} à Alice, elle doit forcément
transmettre x à Bob, car (sinon) en réponse à y
celui-ci répondrait avec une partie finie de Z, qui ne
contient donc pas x, et ce serait un échec. Donc la
réponse de Bob si Alice lui transmet x doit
contenir y, et ce, quel que soit l'entier
naturel y. Or aucun ensemble fini ne peut contenir tous
les entiers naturels, ce qui est une contradiction.
Le Docteur No doit donc rendre son énigme un peu plus facile.
Voici comment il envisage de le faire :
Énigme sur les réels : Le Docteur No a capturé
deux mathématiciens, Alice et Bob. Il envisage de les soumettre à
l'épreuve suivante. Après leur avoir permis de se concerter sur leur
stratégie, il communiquerait trois réels de son choix à Alice.
Alice devrait choisir deux de ces nombres et ces nombres
seraient transmis (dans un ordre non spécifié) à Bob (qui est l'allié
d'Alice). Le but de Bob serait de deviner le nombre qu'il n'aura pas
reçu : pour ça, il aurait droit de proposer un nombre fini quelconque
d'essais ; autrement dit, il devrait proposer au Docteur No un
ensemble fini de réels (on peut supposer, cela ne change
rien, que les nombres transmis par Alice sont aussi mis dedans). Si
les nombres initialement choisis par le Docteur No sont dans cet
ensemble proposé par Bob, alors les mathématiciens seraient libérés ;
dans le cas contraire, le Docteur No les tuerait avec des tortures
particulièrement raffinées.
Le Docteur No est perplexe quant à la difficulté de cette épreuve
et demande conseil à Georg Cantor (qui est emprisonné dans son
donjon). Que lui répond Cantor ?
Introduction aux mathématiques constructives : 2. entiers naturels et principes d'omniscience
Je continue ma série d'introduction aux
mathématiques constructives en parlant d'entiers naturels, de suites
et de « principes d'omniscience ». Ce billet est la continuation
de celui-ci, qu'il n'est pas
forcément nécessaire d'avoir intégralement lu mais auquel je renvoie
au moins pour l'avant-propos
expliquant de quoi il est question (je renvoie aussi
à ce billet plus ancien pour une
explication générale et historique à ce que sont les maths
constructives).
L'ensemble ℕ des entiers naturels, et diverses formes de récurrence
Comme en maths classiques, il y a plusieurs approches
fondationnelles pour faire apparaître l'ensemble des entiers naturels,
mais il faut forcément postuler quelque chose (au moins l'existence
d'une sorte d'ensemble infini) ; si on aime le point de vue
ensembliste, pourra identifier, comme proposé par von Neumann,
0 avec ∅, 1 avec {0}={∅}, 2 avec {0,1}={∅,{∅}}, 3 avec {0,1,2}, etc.,
mais il est sans doute préférable de traiter les entiers naturels
comme « atomiques » : je n'ai pas envie de rentrer dans ces
considérations-là. Toujours est-il que, d'une manière ou d'une autre,
on va vouloir postuler ou démontrer que :
Il existe un ensemble noté ℕ et appelé ensemble des entiers
naturels, muni d'un élément 0∈ℕ (appelé zéro) et
d'une fonction S:ℕ→ℕ (la fonction successeur),
vérifiant le principe de récurrence :
‣ Si E est un ensemble
quelconque, e∈E un élément
et f:E→E une fonction, alors il
existe une unique u:ℕ→E telle
que u(0) = e et u∘S
= f∘u
(c'est-à-dire u(S(n))
= f(u(n)) pour
tout n∈ℕ).
On dit alors que u est construite par récurrence par
itération de f à partir de la valeur initiale e.
(Concrètement, u(0)=e, u(1)=f(e), u(2)=f(f(e))
et ainsi de suite.)
Comme en maths classiques, il existe toutes sortes de variations
autour de ce principe de récurrence. Celui que je viens d'énoncer est
un principe de récurrence « catégorique » ou « universel » (parce
qu'on peut le
décrire de
façon savante en théorie des catégories) ; mais on peut en déduire
d'autres principes peut-être plus familiers, comme les suivants (ce
que je raconte ci-dessous n'est pas spécialement liée aux maths
constructives, mais comme je me suis un peu gratté la tête pour
retrouver comment les obtenir, autant prendre la peine d'écrire ces
preuves explicitement) :
Récurrence avec paramètre : si E est un
ensemble quelconque, e∈E un élément
et g:ℕ×E→E une fonction, alors il
existe une unique u:ℕ→E telle
que u(0) = e
et u(S(n))
= g(n,u(n)) pour
tout n∈ℕ.
Autrement dit, dans une définition par récurrence, on a le droit
d'utiliser l'indice n du terme défini et pas juste la
valeur du terme précédent.
(Pour le démontrer à partir du principe de récurrence tel que je
l'ai énoncé plus haut, il suffit d'appliquer ce dernier à l'ensemble
ℕ×E avec la valeur initiale (0,e)
et f(n,v) =
(S(n),g(n,v)) :
la première coordonnée du U:ℕ→ℕ×E ainsi obtenu
est forcément l'identité d'après l'unicité dans le principe de
récurrence sans paramètres, et la condition sur la seconde coordonnée
est exactement la condition de la récurrence avec paramètre. ∎)
Récurrence sur les propriétés : si P⊆ℕ
est une partie de ℕ telle que 0∈P et
∀n∈ℕ.(n∈P
⇒ S(n)∈P), alors en
fait P=ℕ.
Autrement dit, si une propriété est vraie en 0 et est vraie
en S(n) à chaque fois qu'elle est vraie
en n, alors elle est vraie en tout n∈ℕ.
Démonstration à partir des points précédents :
Déjà, on peut déjà remplacer P⊆ℕ par sa fonction
indicatrice p:ℕ→Ω, qui vérifie du coup p(0)=⊤ et
∀n∈ℕ.(p(n)
⇒ p(S(n))), et le but est de montrer
que p vaut constamment ⊤.
Si à la place de ∀n∈ℕ.(p(n)
⇒ p(S(n))) on avait fait l'hypothèse
∀n∈ℕ.(p(n)
⇔ p(S(n))), c'est-à-dire
∀n∈ℕ.(p(S(n))=p(n))
ce serait facile puisque c'est une relation de récurrence sur la
fonction p qui est aussi vérifiée par la fonction
constamment égale à ⊤, donc l'unicité dans le principe de récurrence,
appliqué à E=Ω, e=⊤
et f=idΩ montre que p(n)=⊤
pour tout n.
Mais comme on a seulement fait l'hypothèse
∀n∈ℕ.(p(n)
⇒ p(S(n))), il faut s'y ramener.
Voici une possibilité (il y a peut-être plus simple, je ne sais pas) :
on définit q:ℕ→Ω par récurrence par q(0)=⊤
et q(S(n))
= p(n)∧q(n) (ceci utilise
la récurrence avec paramètre : E=Ω, e=⊤
et g(n,v)
= p(n)∧v dans la notation du point
précédent), et on définit aussi r(n)
= p(n)∧q(n).
Alors r(n)
= p(n)∧q(n)
= q(S(n)) par définition, et
comme p(n)
implique p(S(n)) (c'est notre
hypothèse), on voit que r(n)
implique p(S(n))∧q(S(n)),
c'est-à-dire précisément r(S(n)) ; or
réciproquement, r(S(n))
signifie p(S(n))∧q(S(n)),
ce qui implique notamment q(S(n)),
qui est égal à r(n) ; bref, on a montré
∀n∈ℕ.(r(n)
⇔ r(S(n))). Par ce qui vient d'être
dit (paragraphe précédent), on voit que r(n) est
vrai pour tout n, c'est-à-dire
que p(n)∧q(n) l'est, et
notamment p(n) est vrai pour
tout n. ∎
On peut alors démontrer la proposition fondamentale suivante :
Proposition : tout entier naturel n est
soit égal à 0 soit est le successeur d'un entier naturel m
(c'est-à-dire n=S(m)) ; de plus, ces
deux cas sont exclusifs (c'est-à-dire que zéro n'est pas le successeur
d'un entier naturel) et le m dans le deuxième cas est
unique (c'est-à-dire que la fonction S est injective).
Démonstration : On va observer successivement les
points suivants :
‣ ① Tout entier naturel est soit 0 soit de la
forme S(m) (autrement dit,
∀n∈ℕ.(n=0 ∨
∃m∈ℕ.(n=S(m)))).
Ce point ① se démontre par une récurrence triviale
sur n : la propriété que je viens de dire est trivialement
vraie en 0 et trivialement vraie en S(m) si elle
l'est en m (on n'a même pas besoin d'utiliser l'hypothèse
de récurrence !).
Il reste à expliquer que la disjonction est exclusive et que
le m est unique.
À cet effet, notons ℕ⊎{⬥} la réunion disjointe de ℕ et d'un
singleton dont l'élément sera noté ‘⬥’.
Alors il existe une (unique) fonction D : ℕ → ℕ⊎{⬥}
telle que D(0)=⬥
et D(S(n))=n pour
tout n∈ℕ. En effet, je viens d'en donner une définition
par récurrence avec paramètres (et j'ai expliqué plus haut pourquoi
une telle définition est légitime).
Considérons dans l'autre sens la fonction S′ : ℕ⊎{⬥} → ℕ
définie par S′(⬥)=0
et S′(n)=S(n)
si n∈ℕ : cette définition est légitime par les propriétés
générales des unions disjointes (définir une fonction
sur X⊎Y revient à la définir sur X et
sur Y séparément).
‣ ② Les fonctions D : ℕ → ℕ⊎{⬥}
et S′ : ℕ⊎{⬥} → ℕ qui viennent d'être définies sont des
bijections réciproques entre ℕ et ℕ⊎{⬥}.
En effet le fait que D∘S′=idℕ⊎{⬥}
est immédiat sur les définitions, et le fait
que S′∘D=idℕ se vérifie séparément
pour 0 et pour S(m), ce qui, d'après le point ①,
suffit à conclure.
‣ ③ La fonction S est injective :
∀m₁∈ℕ.∀m₂∈ℕ.((S(m₁)=S(m₂))⇒(m₁=m₂)).
Ceci découle du point ② :
si S(m₁)=S(m₂)
alors D(S(m₁))=D(S(m₂)),
c'est-à-dire m₁=m₂. (On, si on
préfère : S est la restriction à ℕ de la
fonction S′ qui est bijective donc injective,
donc S elle-même est injective.)
‣ ④ L'élément 0 de ℕ n'est pas de la
forme S(m) (i.e.,
¬∃m∈ℕ.(0=S(m)), donc la disjonction
au point ① est exclusive).
En effet, si S(m)=0
alors D(S(m))=D(0),
c'est-à-dire m=⬥, contredisant le fait que la réunion ℕ⊎{⬥}
a été prise disjointe.
Ceci conclut tout ce qui devait être démontré. ∎
Je répète que tout ceci n'a pas vraiment de
rapport avec les maths constructives : il s'agissait ici de démontrer
les axiomes de Peano (qui sont, en gros, les points ③ et ④ de la
démonstration ci-dessus, ainsi que la récurrence sur
les propriétés telles qu'énoncée plus haut) à partir du
principe de récurrence « catégorique » que j'ai postulé. En
arithmétique du premier ordre, ce sont ces axiomes de Peano qu'on va
postuler, mais ici je travaille librement avec des ensembles, et c'est
quand même important de savoir qu'on peut — et de façon complètement
constructive — démontrer les axiomes de Peano dans le contexte où je
me suis placé. Mais tout ce qui vient d'être écrit n'est quand même
pas complètement hors sujet pour un billet sur les maths
constructives, parce que j'ai notamment prouvé que pour tout entier
naturel n on a n=0 ∨ ¬(n=0) (vu que
j'ai prouvé n=0 ∨
∃m∈ℕ.(n=S(m)) et que
¬(S(m) = 0)), ce qui est l'ingrédient essentiel
pour pouvoir dire que ℕ est discret, cf. ci-dessous.
On peut ensuite dérouler les définitions et sorites habituels sur
les entiers naturels. L'addition ℕ×ℕ→ℕ,
(m,n)↦m+n est définie par
récurrence sur n par m+0=m
et m+S(n)=S(m+n) ;
la multiplication ℕ×ℕ→ℕ,
(m,n)↦m×n est définie par
récurrence sur n par m×0=0
et m×(S(n))=(m×n)+m
(et on pose 1:=S(0), ce qui ne doit pas causer de confusion
avec la notation pour un singleton, avec lequel on peut d'ailleurs
choisir d'identifier 1 si on travaille sur des fondements
ensemblistes) ; l'exponentiation ℕ×ℕ→ℕ,
(m,n)↦m↑n est définie par
récurrence sur n par m↑0=1
et m↑(S(n))=(m↑n)×m ;
et l'ordre large (≤) ⊆ ℕ×ℕ (qu'on peut préférer voir comme sa fonction
indicatrice ℕ×ℕ→Ω) par m≤n ssi il
existe k tel que n=m+k (et
on définit n≥m comme synonyme
de m≤n, et m<n
ou n>m comme synonyme
de S(m)≤n disons).
Comme je l'avais évoqué
dans un bout
d'une entrée précédente sur le
sujet, « la plupart » des résultats arithmétiques du premier ordre
(i.e., ne parlant que d'entiers naturels, pas de fonctions ou de
parties des entiers naturels) valables en maths classiques restent
valables en maths constructives. Par exemple :
l'addition est associative et commutative et 0 est neutre pour
elle, la multiplication est associative et commutative et 1 est neutre
pour elle, la multiplication est distributive sur l'addition,
l'exponentiation vérifie les règles de calcul dont on a
l'habitude ;
l'ordre est total et se comporte comme on s'y attend venant des
maths classiques : si m,n∈ℕ
alors m≤n ou m≥n, et en
fait on a exactement une des trois
affirmations m<n ou m=n
ou m>n, on a m≤n si et
seulement si m<n
ou m=n, on a m≤n si et
seulement si ¬(m<n), on
a m<n si et seulement si
¬(m≤n) ;
l'ordre est compatible avec les opérations au sens où par
exemple m≤n et m′≤n′
impliquent m+m′≤n+n′
et m×m′≤n×n′ ;
la division euclidienne, la définition des nombres premiers,
l'existence et l'unicité de la décomposition en facteurs premiers,
tout ça fonctionne essentiellement comme en maths classiques (je ne
rentre pas dans les détails).
J'insiste notamment sur le fait que pour m,n
entiers naturels, on a
(m=n)∨¬(m=n) :
c'est-à-dire que ℕ est discret comme
défini précédemment.
Il est donc légitime d'écrire m≠n pour
¬(m=n).
Il n'est donc pas abusé de dire que l'arithmétique du premier ordre
voit « très peu de différences » entre les maths constructives et les
maths classiques. Il y a la même ressemblance pour toute la théorie
des structures finies (groupes finis, graphes finis, ce genre de
choses), quand on définit fini comme en bijection avec
{1,…,n} pour un certain n∈ℕ, ce que
j'expliquerai après ; c'est-à-dire dès lors que la structure peut se
« coder » comme entiers naturels et donc se représenter en
arithmétique du premier ordre : intuitivement, l'explication est que
les énoncés décidables par énumération de tous les cas ne peuvent pas
se comporter différemment en maths constructives des maths
classiques.
J'écris la plupart des résultats et très
peu de différences entre guillemet, parce que même en arithmétique
du premier ordre, il n'est pas correct que tout énoncé démontrable
classiquement est démontrable constructivement. Le résultat technique
précis, que j'avais déjà
évoqué en passant
dans un billet précédent, est que
tout énoncé arithmétique Π₂ démontrable dans l'arithmétique de Peano
est démontrable dans l'arithmétique de Heyting [la théorie donnée en
logique intuitionniste par les axiomes de Peano du premier ordre
usuels] : ici, Π₂ signifie qu'il est quantifié de la forme ∀∃,
c'est-à-dire une succession de quantificateurs universels devant une
succession de quantificateurs existentiels, tous portant sur des
entiers naturels, devant un énoncé à quantificateurs bornés (donc, en
pratique, finiment testable). Pour trouver des affirmations du
premier ordre sur les entiers naturels intéressantes qui sont
démontrables classiquement mais pas constructivement, il faut se
gratter un peu la tête, mais c'est possible. Je pense que la plus
simple est toute machine de Turing soit termine soit ne termine
pas (ce qui est classiquement trivial mais pas démontrable en
arithmétique de Heyting) ; bien sûr, formaliser ceci exige de définir
au préalable (arithmétiquement au premier ordre) la notion de
machine de Turing. J'avais plus ou moins expliqué ce fait
dans ce billet passé. (On peut
même donner des machines de Turing précises et explicites dont on ne
peut pas montrer constructivement qu'elles terminent ou ne terminent
pas, mais ceci exigerait d'être plus précis que je ne l'ai été sur les
fondements que j'ai utilisés, parce qu'en gros il s'agira de la
machine de Turing qui recherche une contradiction dans les fondements
en question.)
Néanmoins, cette ressemblance entre maths classiques et maths
constructives vaut pour l'arithmétique du premier ordre,
i.e., tant qu'on ne parle (et surtout, ne quantifie sur) que des
entiers naturels. Dès qu'il est question de suites (cf. plus bas) ou
surtout d'ensembles d'entiers naturels, les différences entre maths
classiques et constructives apparaissent clairement.
Introduction aux mathématiques constructives : 1. un peu de théorie des ensembles
Avant-propos
Il y a quelques années j'avais publié sur ce
blog une petite introduction générale
aux mathématiques constructives (ou mathématiques sans le tiers
exclu). Dans ce billet passé, j'avais cherché à en présenter très
rapidement l'histoire (de façon j'espère compréhensible par le grand
public), puis les motivations possibles (à quoi ça sert de faire des
maths « constructives », et pourquoi ce terme ?) et les principes
généraux (qu'est-ce que la logique intuitionniste, et comment
fonctionne-t-elle ?). Cette introduction (dont je vais d'ailleurs
répéter certains des points dans le présent billet) était, je pense,
plus réussie que ma précédente
tentative sur le même sujet. Mais on ne peut pas vraiment dire
que j'avais parlé du fond du sujet : je n'avais pas vraiment donné
d'exemples maths constructives (ni vraiment de raisonnement ni même de
définitions) permettant de comprendre un peu comment « ça se
passe ».
Le présent billet, et quelques uns qui doivent suivre, ont pour but
de remédier un peu à ce manque : cette fois je ne veux pas m'attarder
démesurément sur les aspects logiques ou « légalistes » (et surtout
pas me placer dans un système formel très précis), je veux plutôt
montrer « ce qui se passe » quand on retire la loi du tiers exclu de
la logique et qu'on cherche à faire des maths comme ça : ce qui reste
globalement inchangé, ce où il faut faire un peu attention, ce qu'il
faut faire différemment, et ce qui ne marche plus du tout.
Il va de soi que je ne vais pas parler de choses très
sophistiquées, surtout dans ce premier volet : théorie élémentaire des
ensembles, suites d'entiers naturels, nombres réels, ce genre de
choses. Les quelques théorèmes que je vais donner à titre
d'illustration sont faciles : parfois complètement triviaux quand on
les traite en maths classiques, et généralement pas bien difficiles
non plus même en maths constructives, puisque mon but n'est pas de
faire des choses compliquées (ni très systématiques même pour les
choses que je vais évoquer) mais de montrer un peu « à quoi ça
ressemble » et comment on tient des raisonnements simples en logique
intuitionniste.
La logique intuitionniste étant plus faible que la logique
classique (je vais un peu rappeler les choses ci-dessous), tout ce
qu'on démontre en maths constructives est a fortiori valable en
maths classiques. Donc en principe je pourrais écrire les choses en
m'adressant à des gens qui ne connaissent rien à la théorie
élémentaire des ensembles même en maths classiques : mais je pense que
personne ne voudrait sérieusement lire ça, donc je vais plutôt
supposer de la part du lecteur une familiarité modérée avec les
concepts correspondants en maths classiques. Disons que je suppose
que vous savez ce qu'est un ensemble (je ne veux pas forcément dire
manier les axiomes de ZFC mais au moins les concepts
d'union, d'intersection, de produit cartésien, de sous-ensemble,
d'ensemble des parties, de singleton — ce genre de choses, et ce dans
un cadre informel), et, pour les billets à venir après celui-ci, ce
qu'est un entier naturel, un rationnel et un nombre réel. Je suppose
aussi qu'on est familier avec la notion de fonction entre ensembles,
l'identification d'une fonction à son graphe, avec la notion de
relation d'équivalence et de classe d'équivalence, quelques choses de
ce genre-là. Ceci me permettra, par exemple, de ne pas trop perdre
mon temps à expliquer comment fonctionne un produit cartésien
d'ensembles en maths constructives vu qu'il s'agit essentiellement de
dire sur cet aspect-là il n'y a rien de surprenant, de nouveau ni
de substantiellement différent par rapport aux maths classiques,
et donc de me concentrer sur les questions où les maths constructives
demandent plus de soin. Je suppose aussi mon lecteur familier avec
les notations logiques telles que ‘∧’ (conjonction, ou « et »
logique), ‘∨’ (disjonction, ou « ou » logique), ‘⇒’ (implication),
‘⊤’ (affirmation tautologiquement vraie), ‘⊥’ (affirmation
tautologiquement fausse), ‘∀’ (quantification universelle) et
‘∃’ (quantification existentielle).
Certaines autres présentations des maths constructives essaient de
faire en sorte de gommer la différence avec les maths classiques.
(Bishop, par exemple, dans son livre d'analyse constructive, présente
les choses d'une manière qu'on pourrait très bien lire comme un cours
d'analyse classique : il présenter les maths constructives comme on
pourrait présenter les maths classiques, de mettre l'accent sur là où
« tout marche bien ». Car Bishop était un constructiviste dans l'âme,
donc son but est de faire des maths, et il s'avère qu'il pense que le
cadre constructif est le meilleur. Il ne s'agit pas pour lui de
montrer les difficultés ou bizarreries de ce cadre, mais juste de
faire des maths.) Moi, au contraire, je trouve intellectuellement
plus intéressant de savoir ce qui change, ce qu'on perd, ce qui
« marche mal », ou, finalement, ce qu'on gagne en phénomènes
intéressants et « pathologiques », ou en distinctions fines qui
deviennent classiquement triviales. Dans le présent billet, comme je
ne suppose pas que le lecteur ait quelque connaissance que ce soit sur
les topos (ni même ce que le mot signifie, même si je rappelle que
j'ai écrit un billet sur le topos
effectif), je ne peux pas vraiment donner de vrais contre-exemples
montrant que telle ou telle pathologie peut se produire en
maths constructives ; néanmoins, je peux (et je vais) essayer de
donner un certain nombre de « contre-exemples brouwériens », un
concept que je vais expliquer ci-dessous.
Méta : Pour finir cet avant-propos, je dois
préciser que quasiment tout ce qui suit a été écrit par petits bouts
entre 2022 et maintenant (suivant une idée que
j'avais posée en 2021), et remanié
plusieurs fois depuis, de manière très aléatoire. Il y a donc
certainement des incohérences au moins stylistiques, si ce n'est
notationnelles, présentationnelles, etc. Mais je pense rien de grave.
Bref, j'avais progressivement écrit un long texte divisé en trois
parties, avec une première sur la théorie élémentaire des ensembles,
une seconde sur les naturels et les suites de naturels, et une
troisième (inachevée) sur les nombres réels. C'est cette première
partie que je publie aujourd'hui, je publierai la deuxième
prochainement, quant à la troisième je dois encore décider si je
m'efforce de la finir de façon plus ou moins satisfaisante ou si je la
publie de façon inachevée. Toujours est-il que j'ai moi-même besoin
de me référer de temps en temps à certaines des notions que
j'introduis dans ce texte (surtout les notions
de LPO, WLPO, LLPO, etc., qui
seront discutées dans la partie 2) et c'est pour ça que je me décide à
mettre tout ça en ligne même si ce n'est pas forcément hyper
propre.
Redisons rapidement ici quelques unes des choses que j'ai évoquées
dans ma précédente introduction aux
maths constructives.
Très sommairement, donc, les maths constructives sont des maths
faites en logique intuitionniste, c'est-à-dire dans laquelle on
abandonne le principe de tiers exclu selon lequel toute
affirmation P est soit vraie soit fausse
(P∨¬P), ou, ce qui revient au même, que si une
affirmation P n'est pas fausse alors elle est vraie
(¬¬P⇒P ; en revanche, P n'est pas
vrai est la même chose que P est faux, c'est la
définition). (Les termes de maths constructives et de logique
intuitionniste ne sont pas tout à fait interchangeables, mais je vais
les traiter un peu comme tels :
voir la partie historique
de l'entrée précédente pour plus de précisions sur l'histoire des
termes.) La logique intuitionniste étant plus faible que la
logique classique, tout résultat obtenu dans ce cadre restera valable
dans le cadre de la logique classique : on aura moins de
théorèmes (et ceux qui restent peuvent devenir plus durs à démontrer),
mais du coup, on peut considérer qu'une preuve constructive est plus
forte (plus rare, donc plus difficile) qu'une preuve classique. Parmi
les raisons de vouloir s'imposer la discipline de chercher à faire des
preuves constructives, on peut notamment mentionner :
certains pensent (mais ce n'est pas mon cas) que les mathématiques
constructives sont plus correctes, parce qu'elles sont plus en accord
avec leur conception philosophique de l'univers mathématique (cf. ce
que je racontais sur Brouwer) ; on peut aussi simplement penser que la
logique intuitionniste, à défaut d'être plus correcte, est plus
économique que la logique classique, et qu'on doit donc essayer de
travailler avec ;
les preuves constructives (donc les théorèmes qu'elles produisent)
sont valables plus largement que les preuves classiques (notamment, un
énoncé constructivement valable est valable dans n'importe quel topos
muni d'un objet d'entiers naturels) ;
les preuves constructives apportent plus d'information que les
preuves classiques (notamment, dans certaines conditions, on peut
extraire un algorithme d'une preuve constructive qui calcule l'objet
dont le théorème affirme l'existence — d'où le terme
de constructif) ;
la question de savoir ce qui est prouvable constructivement
apporte un nouveau regard sur des théorèmes connus, qui peut être
intéressant du point de vue logique, ou du point de vue pédagogique,
en permettant de mieux comprendre les liens logiques entre les
théorèmes et les difficultés à passer de l'un à un autre ;
le fait de s'assurer que les définitions ou les lemmes utilisées
fonctionnent bien dans un contexte constructif peut être un critère
pour choisir la « bonne » définition ou la « bonne » preuve entre des
possibilités classiquement indifférentes (et on peut espérer que la
« bonne » se généralisera mieux) : par exemple, classiquement, en
topologie, on peut définir les fermés à partir des ouverts ou les
ouverts à partir des fermés, mais constructivement, seule la première
approche fonctionne, ce qui suggère qu'il vaut mieux définir une
topologie par ses ouverts ;
certains outils informatiques assistants de preuve, provenant de
systèmes de typage, fonctionnent naturellement en logique
intuitionniste : même si on peut les faire travailler en logique
classique en postulant le principe du tiers exclu, on peut penser
qu'une preuve valable constructivement sera plus facile à produire, à
analyser ou à utiliser dans de tels outils ;
et enfin, bien sûr, la question de savoir si un résultat est
valable constructivement est une question mathématique (classique !)
tout à fait légitime, qu'on peut considérer pour son intérét
intellectuel intrinsèque.
Mais avant de commencer vraiment, il faut que je dise un mot sur
les règles du jeu. J'ai (plus ou moins) décrit les règles de la
logique dans une partie de
mon entrée précédente, et mon but est de les illustrer par l'exemple,
donc je ne vais pas les réexpliquer ici, mais il faut que je parle un
peu du cadre dans lequel je me place (parce qu'il n'y a pas un cadre
unique pour faire des maths constructives) :
Dans ce qui suit, je vais me placer dans un cadre informel
utilisant des conventions fondationnelles choisies pour dérouter le
moins possible le mathématicien classique. Techniquement, les choses
que je vais dire (correctement formalisées) seront vraies dans
n'importe quel topos muni d'un objet d'entiers naturels, ou seront des
théorèmes de la théorie IZF (un analogue assez standard
de ZF en logique intuitionniste), mais je n'ai pas envie
de définir ni ce qu'est un topos ni ce que sont les axiomes
d'IZF parce que ce serait contraire à mon objectif
pédagogique. Je vais essayer de rester agnostique ou vague quant à la
question de savoir si je considère que « tout est un ensemble » (comme
c'est le cas si on se place dans IZF) ou si les objets
ont des types (ça n'a pas vraiment de rapport avec l'intuitionnisme,
disons qu'il est peut-être plus tentant en maths constructives de
travailler dans des théories des types que dans des fondements
ensemblistes, mais comme mon but est de faire des choses élémentaires
je n'ai pas envie de faire de choix ni même d'expliquer la
différence). Pour ceux qui ont besoin de détails (les autres, sautez
la fin de ce paragraphe), je précise cependant certaines des choses
que je prends dans mes fondations, ou qui en résulte. D'abord,
l'égalité fonctionne comme on l'attend classiquement, c'est-à-dire que
c'est la plus fine relation d'équivalence et elle est extensionnelle
(c'est-à-dire que d'une part si x=y
alors f(x)=f(y) pour
n'importe quelle fonction f, prédicat ou expression faisant
intervenir une variable libre ; et d'autre part si deux
ensembles X,Y ont les mêmes éléments,
∀t.(t∈X⇔t∈Y),
alors ils sont égaux, et si deux fonctions f,g
ayant mêmes source et but prennent les mêmes valeurs
∀t.(f(t)=g(t)),
alors elles sont égales). Je suppose aussi que les ensembles de
parties peuvent être formés librement, et je noterai 𝒫(X)
l'ensemble des parties de X (par ailleurs l'ensemble des
parties d'un singleton jouera notamment un rôle crucial comme
l'ensemble des « valeurs de vérité », je vais y venir). En revanche,
je ne peux pas supposer l'axiome du choix (on va voir qu'il implique
le tiers exclu), et je ne veux pas le faire, même pas l'axiome du
choix dénombrable, parce que même classiquement il y a un intérêt à
étudier ce qui se passe sans lui, mais je vais revenir sur ce sujet ;
je vais quand même postuler l'« axiome du choix unique » (ou axiome du
non-choix) que j'expliquerai plus loin.
☞ Je rappelle à toutes fins utiles que dire P
(où P est une formule logique) signifie exactement la même
chose que de dire P est vraie (cf. le début
de cette entrée, qui concerne les
maths classiques mais ce n'est pas pertinent ici) ; et
dire P est fausse ou P n'est pas
vraie signifie exactement la même chose que ¬P
(la négation de P, qui est un raccourci de langage
pour P⇒⊥, c'est-à-dire si P est vraie,
alors les poules ont des dents). Là où la logique intuitionniste
diffère de la logique classique c'est qu'elle ne permet pas de passer
de P n'est pas fausse (i.e., ¬¬P)
à P est vraie. (En revanche, trois négations
équivalent à une seule, quatre à deux, etc. : il est faux
que P n'est pas fausse est pareil que P
est fausse, et il n'est pas faux que P n'est pas
fausse est pareil que P n'est pas fausse.)
Ça n'a rien à voir avec la logique intuitionniste,
mais je signale aussi, s'il y avait un doute,
que P⇒Q⇒R doit se lire
comme P⇒(Q⇒R), et qu'il est
équivalent à P∧Q⇒R (lequel doit se
lire, lui, comme (P∧Q)⇒R). Sauf dans
le contexte où je signale informellement un tas d'implications en
série : on a les implications successives P
⇒ Q ⇒ R ⇒ S doit bien sûr se
comprendre comme on a P⇒Q et
aussi Q⇒R et
aussi R⇒S. J'espère que cela ne causera pas
de confusion.
Pour attirer l'attention sur les principales surprises des maths
constructives par rapport aux maths classiques, j'utiliserai le
souligné comme ceci (pour dire quelque chose
comme on ne peut pas affirmer que pati-pata) ou le
rouge comme ceci (pour un bout de
raisonnement qui n'est pas valable constructivement ; mais de toute
façon je le dirai toujours explicitement).
❦
Ensembles vides et habités, singletons, sous-terminaux, valeurs de vérité
Commençons par la notion la plus simple qui soit, celle d'ensembles
vide et habités.
On dit que E (un ensemble « dans l'univers » ou bien une
partie d'un autre ensemble X, j'ai dit que je ne voulais
pas rentrer dans ce genre de questions) est vide lorsqu'il
n'a pas d'élément, c'est-à-dire, en symboles,
¬∃x.(x∈E) (il n'existe pas
de x qui appartienne à E) ou, ce qui revient
logiquement au même ∀x.¬(x∈E)
(quel que soit x, il est faux que x
appartienne à E), ou si on préfère l'écrire comme ça,
∀x∈E.(⊥) (tout x appartenant
à E conduit à une absurdité, le symbole ‘⊥’ désigne
l'énoncé tautologiquement faux, et l'ensemble vide est donc l'ensemble
des x qui vérifient ⊥), avec la convention habituelle que
∀x∈E.(P(x)) signifie
∀x.(x∈E⇒P(x))
(de même que ∃x∈E.P(x)
signifie
∃x.(x∈E∧P(x)) ;
et je rappelle par ailleurs que ¬P
signifie P⇒⊥).
Tout ce que je viens de dire est exactement pareil qu'en
mathématiques classiques, et on note ∅ l'ensemble vide (unique par
extensionnalité, au moins en tant que partie d'un X
fixé).
Mais la notion d'ensemble non-vide, i.e., d'ensemble
vérifiant ¬(E=∅), elle, n'a que très peu d'intérêt
constructif : un ensemble E est non-vide s'il vérifie
¬¬∃x.(x∈E) ou, ce qui revient au même
¬∀x.¬(x∈E), mais on ne peut pas faire
grand-chose avec un ensemble non-vide :
notamment, on ne peut pas affirmer qu'un ensemble
non-vide a un élément (je vais revenir là-dessus ci-dessous).
Ce qui est beaucoup plus utile, donc, est la notion
d'ensemble habité, c'est-à-dire d'ensemble vérifiant
∃x.(x∈E), ou, si on préfère l'écrire
comme ça, ∃x∈E.(⊤) (le symbole ‘⊤’ désigne
l'énoncé tautologiquement vrai) : un ensemble habité est un
ensemble ayant un élément. Du coup, un ensemble vide est
simplement un ensemble non-habité (ou inhabité,
mais attention
à la confusion entre français et anglais ici !).
Il s'agit là d'un exemple extrêmement simple d'un phénomène assez
courant en mathématiques constructives : quand on a deux notions qui
classiquement sont simplement la négation l'une de l'autre (parfois
les deux ont un nom, parfois seulement l'une des deux),
constructivement on va généralement attacher plus d'importance à celle
qui permet de définir l'autre comme sa négation (ici, habité
permet de définir vide comme non-habité,
mais vide ne permet pas de définir habité, qui est plus
fort que non-vide) : généralement parlant, en mathématiques
constructives, les négations ont d'assez mauvaises propriétés,
donc on s'attache autant que possible à définir des notions
positives. (Bien sûr, la situation n'est pas toujours aussi
simple que ce que je viens de décrire : parfois une même notion
classique donne naissance à plusieurs notions constructives entre
lesquelles il n'est pas évident de choisir, voir par
exemple ici/là
sur Twitter concernant la notion de « corps ».)
De la beauté et symétrie de la configuration de Desargues
Le théorème
de Desargues, que je veux présenter ici, est à la fois un
des plus simples et selon moi un des plus jolis et des plus importants
de la géométrie plane. Simple, parce qu'il n'est question que de
points et de droites (pas de distances, d'angles, de cercles ni de
quoi que ce soit du genre, même pas de parallélisme ou de
perpendicularité : on dit que c'est un théorème de « géométrie
projective »), et parce qu'il n'y a qu'un petit nombre de points
impliqués (c'est quasiment le plus simple possible). Joli pour les
raisons que je vais essayer d'expliquer, qui tiennent largement à
sa symétrie. Et important parce
qu'il est un des axiomes de certaines présentations de la géométrie
projective. Pourtant, il ne fait pas du tout partie de l'enseignement
de la géométrie en France (certainement pas à l'école primaire, mais
pas non plus au collège, ni au lycée, ni même dans les classes
préparatoires aux grandes écoles). Je vais essayer de parler un
peu[#] de ce théorème, et de la
« configuration » de points et de droites qu'il définit, en faisant
plus d'efforts que d'habitude pour rester compréhensible par le grand
public, au moins au début de ce billet, quitte à reléguer des
considérations plus techniques en appendice. (Vais-je pour autant
arriver à être compréhensible ? à vous de me dire.) En plus, pour
changer des billets de ce blog qui sont généralement du pur texte,
vous aurez droit à des illustrations, qui, j'espère, rendent les
choses plus compréhensibles ! (Que demande le peuple ?) Notez que
vous pouvez cliquer sur n'importe laquelle de ces images pour
l'agrandir (et comme elles sont quasiment toutes vectorielles, vous
pouvez utiliser quelque chose comme control-+/control-− dans votre
navigateur pour zoomer ou dézoomer).
[#] Enfin, un peu
est une façon de parler, parce que j'ai passé un temps totalement
déraisonnable à écrire ce billet (ce qui explique, comme souvent, que
la fin soit sans doute un peu bâclée parce que j'en ai eu vraiment
marre).
Théorème de Desargues et configuration de Desargues
☞ L'énoncé du théorème de Desargues
Bon, alors que dit le théorème de
Desargues ? Si on aime l'exercice de formuler les maths avec des
phrases en français en évitant d'introduire des notations, on peut le
dire ainsi :
Deux triangles ont un centre de perspective si et seulement si ils ont
un axe de
perspective.
Qu'est-ce que ça signifie ?
La figure ci-contre illustre la situation : les deux
triangles A₁B₁C₁ (en rose sur la
figure) et A₂B₂C₂ (en orange sur la
figure) sont dits avoir un centre de perspective
lorsque les trois droites reliant les sommets de même nom,
c'est-à-dire les
droites A₁A₂, B₁B₂
et C₁C₂ (en vert sur la figure),
concourent[#2], leur point de
concours, que j'ai appelé O, étant alors appelé le « centre
de perspective » des deux triangles. (Je vais tenter de justifier ce
terme, mais on peut s'imaginer que les deux triangles sont dans
l'espace et que si on place son œil en O les deux triangles
coïncident visuellement.) Pour ce qui est de l'autre notion, il faut
considérer les intersections des côtés de même nom des triangles,
c'est-à-dire l'intersection des droites B₁C₁
et B₂C₂ (appelons-la U),
l'intersection des droites C₁A₁
et C₂A₂ (appelons-la V) et
l'intersection des droites A₁B₁
et A₂B₂ (appelons-la W), que j'ai
représentées en bleu sur la figure. Lorsque ces trois points
(U,V,W) sont
alignés[#3], les deux triangles
sont dits avoir un axe de perspective, et l'axe en
question est la droite qui les relie (la droite bleue sur ma
figure).
[#2] On dit que des
droites concourent en un point lorsqu'elles passent par ce
point (on dit aussi qu'elles sont incidentes à ce point, ou que
ce point est incident aux droites, mais le
verbe concourir peut s'utiliser pour les droites seules, pourvu
qu'il y en ait au moins trois : un tas de droites concourent,
ou sont concourantes lorsqu'elles passent toutes par un même
point, qu'on appelle fort logiquement leur point de
concours).
[#3] On dit que des
points sont alignés lorsqu'il y a une droite qui passe par tous
ces points.
Le théorème de Desargues, donc, dit que ces deux situations sont
équivalentes : si les deux triangles ont un un centre de perspective,
alors ils ont un axe de perspective, et réciproquement, si les deux
triangles ont un un axe de perspective, alors ils ont un centre de
perspective. Une fois le théorème acquis, on peut dire que les
triangles sont en perspective pour désigner cette
situation.
☞ La configuration de Desargues
Et lorsque c'est le cas, les 10 points de la
figure, c'est-à-dire les
sommets A₁,B₁,C₁
et A₂,B₂,C₂ des deux triangles, le
centre de perspective O et les trois
points U,V,W dont l'alignement
définit l'axe de perspective, forment ce qu'on appelle
une configuration
de Desargues. Notons qu'il y a aussi 10 droites dans
l'histoire, et il faut considérer qu'elles font elles aussi partie de
la configuration : les côtés des deux triangles (i.e., les droites qui
les portent), l'axe de perspective, et les trois droites dont le
concours définit le centre de perspective. Donc 10 points et
10 droites, et on remarquera que chacun des 10 points de la
configuration est sur 3 droites, et chacune des 10 droites de la
configuration passe par 3 points. J'ai représenté la configuration
(enfin, une configuration) de Desargues ci-contre à gauche,
en retirant toutes les étiquettes et couleurs de la figure illustrant
le théorème plus haut (et en prolongeant les droites indéfiniment),
mais c'est vraiment la même que celle de la figure précédente, je vais
en reparler. Ma façon de présenter la configuration à partir du
théorème laisse penser que certains points ou droites jouent un rôle
différent des autres (le centre de perspective a l'air très spécial),
mais en fait non, et je vais tenter de l'expliquer plus bas — tous les
points et toutes les droites jouent en fait le « même rôle » dans
cette configuration.
☞ Histoire de la perspective et géométrie « projective »
Mais revenons d'abord un peu au théorème lui-même.
Il est nommé d'après le géomètre et architecte lyonnais Girard
Desargues (1591–1661), dont on ne sait pas grand-chose, mais l'énoncé
apparaît semble-t-il[#4]
dans un livre sur la
perspective publié en 1647 par le graveur Abraham Bosse.
[#4] Je
dis semble-t-il parce que je n'ai pas moi-même trouvé quelque
chose ressemblant à l'énoncé dans le texte que je viens de lier sur
Gallica, mais il est vrai que c'est très difficile de s'y retrouver,
surtout que le texte n'est pas cherchable, que le livre n'a pas
d'index, que j'ignore quelle terminologie serait utilisée, que je ne
sais pas si ce serait énoncé comme un fait général ou à travers des
exemples, etc. Donc je ne peux pas donner de référence plus précise.
Mais ce qui est certain, c'est que Desargues semble avoir bien compris
les principes de la perspective d'une manière qui permettrait le
développement ultérieur de la géométrie projective — et aussi de la
géométrie descriptive. Et on trouve essentiellement la figure
ci-dessus à la planche 155 entre les pages 340 et
341, ici
sur Gallica, à ceci près qu'il y a deux triangles à la fois : les
triangles OAB
et oab, ou
bien ABD
et abd, de cette planche sont en
perspective au sens que j'ai défini ci-dessus, le point K
de la planche étant ce que j'ai appelé le centre de perspective, et la
droite par les points 2,3,4,7,5,8 étant ce que j'ai appelé l'axe de
perspective.
Débriefing de mon cours Logique et Fondements de l'Informatique
J'avais expliqué il y a quelques
mois que je m'étais engagé à monter un nouveau cours
d'informatique théorique (ou faut-il
dire de maths de l'informatique ?) pour certains élèves de
première année à
Télécom PlusÀParis,
intitulé Logique et Fondements de l'Informatique (nom de code
interne : INF110). (J'avais d'ailleurs publié un premier jeu
de transparents dans de billet.)
L'occurrence 2023–2024 de ce cours a eu lieu
de
à , le contrôle
le , et maintenant
(enfin, quelques mois après) que j'ai à la fois rendu les notes
finales et reçu les retours (anonymes) des étudiants je suis en mesure
d'en faire un premier bilan. L'idée de ce billet n'est pas tellement
d'entrer dans le fond du sujet (même si je ne peux pas ne pas en
parler du tout), à ce sujet voir plutôt les deux paragraphes
ci-dessous, mais de parler au niveau méta : pourquoi ce cours,
pourquoi ce sujet, comment je l'ai organisé et préparé, ce qui a bien
marché et ce qui n'a pas bien marché. Le but est de me permettre à
moi-même de faire le point, et donc de réfléchir à ce que je veux
changer l'an prochain, et aussi de préparer un exposé où je dois
raconter tout ça (cf. la fin du présent billet).
☞ Pour le fond du sujet, je renvoie notamment
à ce billet sur la correspondance
de Curry-Howard et à celui-ci sur
la réalisabilité propositionnelle, qui sont largement adaptés de
certains bouts de mon cours, même si la présentation est différente et
qu'ils vont plus loin (surtout le second). Je peux aussi renvoyer
à ce billet sur des sujets variés
en vrac sur lesquels j'ai appris des choses en préparant ce cours.
Enfin, je fais un lien vers ce
billet sur les degrés de Turing et leur généralisation parce qu'il
touche à des questions adjacentes, même si je n'ai pas fait plus
qu'évoquer la définition de degré de Turing (ordinaire) dans mon
cours.
Avertissement usuel : même si j'évoque ici mon
travail d'enseignant-chercheur à Télécom, je dois rappeler que, dans
ce billet comme ailleurs sur ce blog, je m'exprime à titre purement
personnel et que les avis et opinions que je peux exprimer ici (ou
ailleurs) sont juste les miens et n'engagent en aucun cas mon
employeur (ni qui que ce soit d'autre que moi, et d'ailleurs ils ne
m'engagent même pas moi vu que que je me réserve le droit d'en changer
à tout moment et sans prévenir). J'ajoute que si vous faites partie
des personnes qui ont besoin d'un tel avertissement, il vous est
interdit de lire la suite de ce billet.
Comme je l'ai expliqué dans les billets déjà liés ci-dessus
(celui-ci
et celui-là), la France a récemment
créé une filière MPI (maths, physique et
informatique) dans ses classes préparatoires
scientifiques[#]. En
particulier, les élèves entrant à Télécom par le concours commun
peuvent arriver avec trois niveaux de formation en informatique : le
socle commun MP/PC (où il n'y a pas
grand-chose en info), l'option informatique en MP (qui
existait déjà), et la nouvelle filière MPI (qui va encore
plus loin). Les programmes de toutes ces filières sont trouvables par
exemple sur ce
site). Ceci nous a imposé une réforme de nos enseignements en
première année : jusqu'à l'été 2023 notre première année était
complètement uniforme (en gros, tout le monde avait les mêmes cours,
le choix d'une filière de spécialisation se faisant en seconde année),
mais ce mode de fonctionnement devenait intenable, au moins pour ce
qui est de l'informatique, avec de telles différences de formation à
l'entrée (si on s'adapte à ceux qui en ont fait le moins, ceux qui en
ont fait plus s'ennuient, et si on s'adapte à ceux qui en ont fait le
plus, ceux qui en ont fait le moins sont largués).
[#] Au niveau de la
reconnaissance de l'informatique comme une science à part entière, il
y a aussi eu création d'une agrégation d'informatique pour le
recrutement des enseignants alors que l'informatique était jusqu'alors
considérée comme une option de l'agrégation de mathématiques. Et, un
peu avant, des changements au niveau lycée avec la création d'une
spécialité NSI, c'est-à-dire numérique et sciences
informatiques, mais ça ne me concerne que beaucoup plus
indirectement : de ce que je comprends, à cause de la limitation à
deux spécialités en terminale, la (grande ?) majorité des élèves de
prépa, y compris MPI, n'ont pas suivi cette
spécialité NSI en terminale, mais bien maths et
physique-chimie.
Mais ce n'est pas, en fait, qu'une question de niveau en entrée :
les élèves ayant choisi la filière MPI semblent avoir des
attentes et des intérêts différents de ceux de la
filière MP (même « option info »), au sens où ils
semblent généralement plus intéressés par l'informatique pour
elle-même et pas juste comme un outil dans un travail d'ingénieur
(parce qu'évidemment tout le monde utilise l'informatique de nos
jours). Et un des buts de la réforme que nous avons mise en place est
de rentre Télécom plus attirante pour les préparationnaires vraiment
intéressés par l'informatique, avec notamment l'idée qu'il ne faut pas
qu'ils s'ennuient en cours.
La première année à Télécom est (maintenant) divisée en quatre
périodes. Pour ce qui est de l'enseignement d'informatique, voici
comment nous avons organisé l'année. La période P1
(septembre–octobre) a été dédiée à une introduction générale à la
programmation, du matériel au haut niveau, tandis que les élèves venus
de la filière MPI (et uniquement eux) ont un cours
spécifique sur la compilation. La période P2 (novembre–janvier) est
consacrée à la théorie de l'informatique, et c'est celle qui me
concerne et dont je vais reparler. La période P3 (février–avril)
propose le choix entre différents paradigmes de programmation. Et la
période P4 (avril–juin) est consacrée aux réseaux. Sur chacune de ces
périodes, les élèves ont environ 40h d'informatique (sauf en P3,
moitié moins), c'est-à-dire environ 4h½ par semaine pendant les 9
semaines que dure la période. (Pendant le même temps, les élèves ont
bien sûr aussi des cours dans les autres domaines : maths,
physique+électronique, sciences économiques et sociales, langues et
humanités ; plus des projets et stages variés, notamment entre les
périodes. Je dis ça pour situer un peu l'enseignement dans son volume
global.)
Pour ce qui est de l'enseignement d'informatique de la période P2
de première année, donc, nous avons divisé la population d'élèves en
deux sous-populations inégales : ceux qui sont entrés par les
filières MPI ou MP option info du concours
commun ainsi que les admis sur titres après une licence
d'informatique, soit au total ~90 élèves, et tous les autres, qui
doivent représenter à peu près ~120 élèves. Les premiers ont eu le
cours INF110 dont je me suis chargé et dont je parle ici, tandis que
les seconds ont eu un cours (INF109) plus général sur l'algorithmique
fondamentale et quelques rudiments de la calculabilité (recouvrant
notamment une partie de ce que les autres élèves avaient déjà vu en
prépa).
Bref, s'agissant de INF110, j'avais à m'occuper de 39 heures
d'enseignement (contrôle de connaissances non compris), étalées sur
9 semaines, pour ~90 élèves. Nous avons décidé de séparer ces 39h en
21h de cours magistraux, et 18h de TD+TP
lesquels ont été pris en charge par mon collègue Théo Z. Pour des
raisons d'organisation de l'emploi du temps global de la première
année, il n'était pas possible de regrouper les élèves tous ensemble
pendant les cours magistraux, donc j'ai donné deux fois chaque séance
(on arrive donc à 42h pour moi, si vous suivez).
De l'opportunité d'enseigner des sujets théoriques
Il faut que je dise ici un mot pour évoquer la question qui revient
de façon récurrente dès qu'on parle de dispenser des cours assez
« théoriques » (whatever that means) à des élèves
majoritairement[#2] futurs
ingénieurs. J'avais déjà droit à ce genre de remarques quand
j'enseignais l'analyse de Fourier (cf. par
exemple ce billet) : à quoi ça
sert d'expliquer à des futurs ingénieurs la différence entre la
transformée de Fourier dans L¹ et dans L² ? ce n'est pas ça qui va
leur servir : de toute façon leur signal sera un ensemble fini de
valeurs. Donc inévitablement on peut se demander pourquoi
enseigner la calculabilité ou la logique intuitionniste quand ce même
temps pourrait être employé à faire des cours de JavaScript et de
Python, parce que c'est ça qui va leur servir — ou bien
d'IA puisque maintenant tout le monde se rue sur
l'IA comme des lemmings sur la falaise.
[#2] Je précise
que majoritairement ne signifie pas exclusivement. Même
sans parler des cas vraiment exotiques, et il y en a toujours (après
tout, j'ai dans ma promo à Normale Sup un camarade qui a décidé que la
passion de sa vie c'était le cirque, et qui a donc fait carrière dans
les arts du spectacle après une thèse de physique quantique), il y a
quand même une proportion, faible mais non complètement négligeable,
d'élèves à Télécom qui décident de faire de la recherche plus ou moins
théorique, c'est-à-dire de faire une thèse et éventuellement d'en
faire carrière. Néanmoins, j'entends bien l'argument selon lequel
l'enseignement ne doit pas se construire en fonction des intérêts
d'une minorité. Donc ce n'est pas l'argument que j'invoque
ici pour justifier l'intérêt de mon cours.
J'avais déjà répondu à cette
objection, mais je ne sais pas si ma réponse me satisfait beaucoup.
Disons que si un ingénieur n'est pas un chercheur (dont le métier
consiste à proposer de nouvelles théories), il n'est pas non
plus un technicien (dont le métier consiste à appliquer des
techniques existantes) : l'ingénieur est justement là pour faire le
pont entre les deux, pour appliquer la théorie à la création de
nouvelles techniques ou au perfectionnement de celles qui existent, ce
qui implique de bien maîtriser la théorie de son domaine, avec un
certain recul sur celle-ci, pas juste comme des recettes de cuisine
apprises par cœur. (Je devrais, ici, faire référence à la
nouvelle Profession
d'Asimov, mais c'est un peu difficile à faire sans divulgâcher ;
donc je vais me contenter de dire : lisez-la.)
On se trompe gravement, je pense, en voulant centrer l'enseignement
sur ce qui sert (ou plutôt, on se trompe gravement en ne
mesurant pas toutes les manières dont quelque chose
peut servir) : le but de l'enseignement, quel que soit son
niveau, n'est pas principalement, ou en tout cas pas exclusivement, de
fournir des outils qui serviront mais aussi des clés de compréhension
de phénomènes, des cadres dans lesquels analyser ce à quoi on est
confronté. Les outils, ce n'est pas qu'il ne faut pas les apprendre,
mais ils ont tendance à être hautement spécifiques à une tâche
précise, les outils nécessaires à tel ou tel métier s'apprennent
normalement en entrant dans ce métier, ce n'est tout simplement pas le
rôle de l'enseignement de former à s'en servir (sauf dans la mesure où
ces outils sont extrêmement transverses). S'agissant de
l'informatique, donc, on se trompe par exemple en pensant qu'il faut
enseigner les langages de programmation qui seront utilisés ensuite :
un langage de programmation, ça s'apprend rapidement, l'intérêt de les
enseigner n'est pas d'enseigner ce qui servira mais
d'enseigner ce qui permet de comprendre les différentes
approches[#3] de la
programmation et les différentes façon de concevoir une tâche.
[#3] Sur les langages
de programmation, ce que je dis c'est que ça n'a, selon moi, aucun
intérêt de se dire je vais apprendre/enseigner JavaScript et Python
parce que c'est ce qui me/leur servira après ; il faut plutôt se
dire je vais viser un échantillon représentatif des différents
styles de langages de programmation pour comprendre les différentes
approches : un langage bas niveau pour comprendre comment fonctionne
la gestion de la mémoire, un langage purement fonctionnel et paresseux
pour comprendre comment conceptualiser les tâches par une
programmation d'ordre supérieur, un langage orienté objet pour
comprendre le concept d'héritage, un langage distribué pour comprendre
les difficultés de la programmation asynchrone et la manière dont on
les résout, etc.
Donc l'intérêt d'enseigner la calculabilité, ce n'est certainement
pas parce que ça va servir (même s'il est certainement utile
qu'un ingénieur sache que certaines tâches ne sont pas réalisables
algorithmiquement — et qu'en gros toute tentative d'analyser le
comportement d'un programme devra reposer sur des heuristiques qui
seront fatalement imparfaites), mais aussi parce que cela amène
à prendre du recul sur les concepts fondamentaux de
l'informatique (la récursion, l'auto-référence, la nature de
l'évaluation dans les langages de programmation, la raison pour
laquelle on se retrouve si facilement à être Turing-complet par
accident — et peut-être aussi le fait que ce n'est pas très pertinent
de chercher à l'éviter). À titre d'exemple, s'agissant de
l'auto-référence, je dirais que quelqu'un qui a du recul sur la
calculabilité et le théorème de récursion de Kleene ne sera absolument
pas surpris par le
fameux hack
de Ken Thompson[#4]
(d'ailleurs, Thompson lui-même explique le lien entre les quines et
son hack), et c'est pertinent pour pouvoir prétendre maîtriser la
sécurité informatique. Je peux dire quelque chose d'analogue pour le
typage : ce n'est pas juste que c'est utile de comprendre les
bases du typage et du polymorphisme parce que certains langages
réellement utilisés en ont, mais c'est aussi nécessaire
pour comprendre ce qui se passe (par exemple quand on cache
des valeur dans une clôture, quand on passe des valeurs par
continuation — ce qui sont des paradigmes de programmation qui servent
vraiment).
[#4] Dans Reflections
on Trusting Trust, Thompson explique qu'il avait introduit une
backdoor dans le programme login, puis modifié le
compilateur C pour introduire lui-même cette backdoor si elle ne s'y
trouvait pas, puis pour introduire cette backdoor dans le compilateur
C lui-même, si bien qu'au final il pouvait recompiler le
compilateur avec les sources d'origine et la backdoor
persistait dans le binaire. Voilà quelque chose qui, au minimum, ne
doit pas surprendre un ingénieur en sécurité informatique.
La réalisabilité propositionnelle, et ce qu'elle nous apprend sur les algorithmes
Je veux ici de nouveau parler d'informatique théorique,
dans son intersection avec les
maths (logique, calculabilité, typage), et plus précisément d'un sujet
appelé la réalisabilité propositionnelle. Je
reconnais qu'il a un petit côté « opération de pub » de ma part : il
s'agit d'un sujet qu'on peut qualifier d'obscur, voire ésotérique
(largement confiné à une poignée de publications soviétiques des
années 1960–1990, dont certaines n'ont même pas été traduites du russe
en quoi que ce soit d'autre[#],
ce qui le dessert cruellement), et pourtant il me semble que d'une
part il a des choses à nous apprendre sur l'informatique, sur ce que
peut ou ne peut pas faire un algorithme, et sur le rapport entre ça et
le typage, et d'autre part il n'est techniquement pas très compliqué à
exposer (j'en ai dit un mot — bien moins que ce qui va suivre, certes
— dans mon cours à Télécom qui
s'est récemment fini, et je ne crois pas avoir largué tout le monde).
Donc je trouve qu'il mérite plus d'attention.
[#] Bon, le fait que ce
soit en russe ne devrait pas être un obstacle sérieux, surtout
maintenant qu'on a des OCR et des traducteurs automatiques, il n'y a
vraiment plus de raison. Le problème, c'est que souvent, et en plus
d'être en russe, l'article a le défaut d'être super mal écrit :
extrêmement concis et pas toujours super rigoureux comme les
mathématiciens soviétiques avaient tendance à l'être, références
vagues, et fautes de frappe à foison. (Voyez par
exemple cette
question que j'ai posée sur MathOverflow en essayant de comprendre
l'argument de Ânkov sur la non-réalisabilité de l'axiome de Scott que
j'expose plus bas ici de
façon, j'espère, nettement plus clair que le texte original : mon
russe est enfoui au fond des oubliettes, mais ce n'est vraiment ce qui
était le plus problématique en l'occurrence par rapport aux fautes de
frappe et au style de rédaction vraiment minimaliste.)
Je ne sais pas si l'entrée de blog qui va suivre peut aider à
convaincre qui que ce soit de s'y réintéresser, mais en tout cas, si
on lit ce qui suit on pourra se dire qu'on sait une proportion
significative de tout le savoir de l'Humanité sur la réalisabilité
propositionnelle (i.e., pas grand-chose !), et il n'y a pas beaucoup
de sujets techniques pour lesquels on puisse en dire autant.
Ajout () : Pour les gens
qui veulent savoir de quoi ce billet cause mais qui n'ont pas la
patience de lire ce pavé (ni même l'introduction), j'ai écrit un
résumé en seulement
13 tweets, ici
sur Twitter
et ici
sur BlueSky [on peut lire le fil BlueSky sans avoir de compte
dessus].
Avant de rentrer dans le cœur du sujet,
j'essaie d'expliquer
informellement[#2] (et de
manière — j'espère — assez peu technique) de quoi il s'agit, et
pourquoi je pense que c'est assez intéressant pour prendre le temps de
déchiffrer des articles à moitié oubliés dans des journaux soviétiques
et de pondre un pavé de 1729 pages dans ce blog pour réexpliquer le
tout aux enfants. (Si on veut
passer directement à la
définition, c'est possible, mais je pense que c'est intéressant de
donner d'abord une idée grossière de ce dont je vais parler, au risque
de prendre un peu un ton introduction de manuscrit de thèse.
Je remercie d'ailleurs mes peluches pour leur soutien et leur patience
tout au long de l'écriture de cette entrée.)
[#2] Autrement dit,
comme le corps de cette entrée est très long, je commence par une
introduction très longue pour essayer de motiver cette
longueur. Je n'ai fait celle-ci plus longue que parce que je n'ai
pas eu le loisir de la faire plus courte. (Blaise Pascal)
Introduction : de quoi s'agit-il ? Cadre et motivations
La calculabilité s'intéresse à décrire de façon
générale ce que peut ou ne peut pas faire un algorithme informatique.
La réalisabilité propositionnelle s'intéresse (du
moins selon le point de vue que j'adopte ici) spécifiquement à
certaines sortes de manipulations que je pourrais être qualifier
de manipulations de données génériques (ou
abusivement, fonctions polymorphes). On va décrire ces
manipulations génériques par des formules logiques, du
style A∧B ⇒ B∧A
(logiquement, celle-ci se lit : si A et B
alors B et A). La formule représente une
sorte de « contrat » qui stipule la manipulation censément effectuée :
par exemple, la formule A∧B
⇒ B∧A représente le contrat je prends une
donnée de type A et une donnée de type B et je
renvoie une donnée de type B et une donnée de
type A (et on peut faire ça algorithmiquement, de façon
à peu près évidente, en échangeant les deux données qu'on a reçues).
Lorsqu'il y a un algorithme qui remplit le contrat, on dira
qu'il réalise la formule, ou que celle-ci
est réalisable.
Je donnerai une définition précise plus bas de comment lire la
formule comme un contrat et ce que ça signifie de la réaliser, mais je
peux tout de suite donner un aperçu informel : on s'intéresse à des
formules écrites avec les connecteurs binaires ‘∧’, ‘∨’ et ‘⇒’, ainsi
que les constantes ‘⊤’ et ‘⊥’ (et ‘¬’ qui est juste une abréviation
de X⇒⊥). Les variables (A,B dans
l'exemple que je viens de donner) représentent des types de données
quelconques et non spécifiés, et les connecteurs logiques représentent
des façons de mettre ces données ensemble : grosso modo,
A∧B (le « et » logique) représente la donnée
d'une donnée de type A et d'une de type B,
A∨B (le « ou » logique) représente la donnée
d'une donnée de type A ou d'une de type B (mais
avec l'information de laquelle on a),
A⇒B (l'implication) représente une fonction
(au sens informatique) qui prend une donnée de type A et en
renvoie une de type B,
⊤ (le « vrai ») représente une donnée triviale, et ⊥ (le « faux »)
représente une donnée impossible (inexistante ou inobtenable),
¬A (la négation) représente une promesse qu'il n'y a
pas de A.
Ainsi, par exemple, pour faire une manipulation représentée par la
formule (« contrat ») A∧B
⇒ B∧A, on prend une donnée de type A
et une donnée de type B et on les renvoie dans l'ordre
contraire, c'est-à-dire la donnée de type B et la donnée de
type A, et on pourra dire que la
formule A∧B ⇒ B∧A
est réalisable (et que ce programme la réalise, i.e.,
il « remplit le contrat »).
J'ai utilisé le terme type ci-dessus, mais il n'est
peut-être pas vraiment approprié, parce que justement, la
réalisabilité ce n'est pas pareil que le typage, même si ça y
ressemble beaucoup (et c'est la différence qui est très
intéressante). Je m'explique un peu plus.
Il y a un formalisme appelé correspondance de
Curry-Howard (j'en ai parlé dans
un billet précédent, dont il est
peut être intéressant de lire au moins l'introduction même si ce n'est
pas strictement nécessaire pour la suite) qui transforme une
démonstration d'une formule dans un certain système logique (le calcul
propositionnel intuitionniste) en un programme qui fait la
manipulation décrite par cette formule. Et le fait que ce programme
fasse bien cette manipulation est attesté par ce qu'on appelle
un système de typage, en l'occurrence le λ-calcul
simplement typé enrichi de types produits et sommes, 1 et 0 mais
peu importe : si on se limite aux programmes conformes à ce système de
typage, alors la correspondance est exacte — je veux dire, bijective :
on peut vraiment identifier les preuves de tel système logique avec
les programmes conformes à tel système de typage. D'ailleurs, la
correspondance n'est pas bien compliquée et fait vraiment correspondre
de façon assez simple les différentes règles de la logique avec les
différentes constructions admises par le système de typage.
Le système de typage (disons ce fameux λ-calcul simplement typé
enrichi de types produits et sommes, 1 et 0), il contraint les
programmes a priori : il les contraint dans toutes les étapes
de leur construction, il exige que toutes les opérations qu'ils font
soient conformes au typage. Et au bout du compte, les formules
obtenues décrivant les manipulations qu'on peut faire, ce sont
justement leurs types (à la notation près), et ce sont exactement les
formules démontrables dans le système logique (c'est ça que dit la
correspondance de Curry-Howard).
Mais ce n'est pas de ça que je veux parler. Ça c'est ce
dont j'ai déjà parlé (dans la
première partie du billet sur Curry-Howard).
La réalisabilité[#3], elle
ne contraint pas les programmes a priori comme le fait le
typage. Elle correspond à la philosophie suivante : le programme a le
droit de faire ce qu'il veut comme manips (il faut juste que ce soit
un algorithme au sens usuel de la calculabilité, celle de
Church-Turing, l'idéalisation standard de ce que c'est qu'un
ordinateur) et réaliser une formule ça signifie qu'il
remplit un certain contrat. Peut-être qu'entre temps, au sein de
leurs manips, les programmes violent toutes les règles du typage, mais
au final, on demande juste qu'ils remplissent le contrat représenté
par la formule : c'est le résultat qui compte, et seul le résultat qui
compte. (Peut-être aussi qu'il est impossible de prouver que le
programme remplit bien son contrat, mais ce qui importe c'est que
mathématiquement il le fait : là aussi, c'est juste le résultat qui
compte.)
[#3] Enfin, la
réalisabilité propositionnelle que j'évoque ici, et qu'on peut
qualifier de réalisabilité propositionnelle non typée
pour insister, parce qu'il y a 1001 variantes de la notion (ce qui a
causé un certain dialogue de sourds entre Andrej Bauer et moi
dans cette
question MathOverflow — sa réponse est très intéressante mais elle
ne répond pas vraiment à la question que je voulais poser,
quoiqu'elle réponde peut-être à la question que j'ai
posée).
Par exemple, A∧B ⇒ B∧A
c'est le contrat tu vas recevoir deux données, la première de
type A et la seconde de type B (et, précision
importante, tu n'auras ni accès ni information sur ce que
sont A et B), tu dois terminer en temps fini et
renvoyer une donnée de type B et une donnée de
type A, et effectivement on peut se convaincre que
la seule façon de faire ça c'est d'échanger l'ordre des
coordonnées.
Quand la formule est démontrable (en calcul propositionnel
intuitionniste) ou, ce qui revient au même par Curry-Howard, quand on
peut faire un programme typé correspondant à la formule,
alors certainement ce programme remplit le contrat représenté par la
formule, donc elle est réalisable.
Mais la grande surprise (en tout cas pour moi quand j'ai appris ça,
mais aussi, de ce que je comprends, pour Kleene qui contrairement à
moi n'était pas un idiot), c'est que la réciproque n'est pas
vraie : il y a des contrats qu'on peut remplir — des formules
qu'on peut réaliser — sans que la formule soit prouvable, ou, ce qui
revient au même, sans qu'on puisse le faire dans le système de typage
naturel dans cette situation (le λ-calcul simplement typé enrichi
gnagnagna). Un des buts de ce billet est de donner des exemples de
telles formules (jetez un coup
d'œil plus bas si vous voulez
voir à quoi ça ressemble).
Ces formules réalisables mais non démontrables illustrent donc, si
on veut, des choses que peut faire un algorithme, remplissant
un contrat de manipulation qui ressemble à du typage, mais qui ne sont
pas faisables dans le cadre du typage — en tout cas du typage
le plus naturel dans cette situation — ou, si on veut, ces choses sont
faisables, mais la vérification que le contrat est bien rempli est
plus compliquée qu'une vérification locale telle que fournie par le
typage.
Bien sûr, il n'y avait aucun doute que les
algorithmes généraux sont plus généraux que les algorithmes typés :
notamment, les systèmes de typage que j'évoque dans cette introduction
ne permettent pas de faire de boucle infinie, donc il est évident
qu'ils limitent structuralement les algorithmes. Mais ce qui est
surprenant dans l'histoire, c'est que l'algorithme va quand même
remplir un contrat qui se lit exactement comme un type, i.e., ils font
des manipulations de données génériques potentiellement utiles, pas
quelque chose comme une boucle infinie ni même une fonction sur un
type spécifique comme les entiers.
Je précise pour dissiper un possible malentendu que ce que je dis
là n'est pas destiné à être une attaque contre le typage ou son
utilité, juste un signe que les choses sont plus délicates que ce
qu'on pourrait imaginer naïvement : certes Curry-Howard nous dit que
les formules logiques qui correspondent à des programmes typés sont
exactement les formules démontrables, mais il y a des contrats qu'on
peut remplir de façon plus subtile que le typage.
Et du coup, il me semble que c'est un problème très naturel pour
l'informatique et la calculabilité que d'étudier cette réalisabilité
propositionnelle, parce que ça a directement trait à ce qu'un
algorithme peut ou ne peut pas faire. (Notons que c'est là l'approche
que je donne à la question dans ce billet, tout le monde ne
sera pas forcément d'accord que c'est la bonne motivation.)
Organisation de ce billet
Dans la suite, je commence
par définir de façon précise ce que c'est que la réalisabilité
propositionnelle, et je donne des exemples très simples d'une formule
réalisable (A∧B ⇒ B∧A) et
d'une formule qui ne l'est pas (A ∨ ¬A) pour
montrer comment on manie la notion. Ensuite je dois faire un certain
nombre de remarques générales (plusieurs desquelles sont en petits
caractères pour montrer qu'on peut les ignorer et passer à la
suite).
Puis je me tourne vers des
exemples de formules réalisables mais non démontrables, parce
que c'est quand même ça la grosse surprise, que de telles formules
existent : pour chacune, j'ai essayé de donner non seulement un
algorithme qui la réalise (et comment il fonctionne) mais aussi des
explications informelles à son sujet. En revanche, je ne détaille pas
l'argument expliquant que la formule n'est pas démontrable (en calcul
propositionnel intuitionniste) : il n'y a que la première pour
laquelle j'ai fait cet effort, et encore succinctement et en petits
caractères, parce que ce n'est pas vraiment mon sujet.
Je commence par la formule qui me semble la plus simple à
comprendre intuitivement, celle de Ceitin, puis j'en passe en revue un
certain nombre d'autres. On peut traiter ça comme autant d'énigmes :
une fois qu'on a compris le principe, c'est un petit jeu de regarder
chaque formule comme un contrat à remplir et de se demander comment
je vais faire une telle chose avec un algorithme ? (en tout cas,
c'est comme ça que j'ai approché le problème : je n'ai pas lu les
preuves de réalisabilité qu'on trouve dans la littérature, c'était
bien plus instructif de les retrouver moi-même).
Ensuite, je passe à des
exemples de formules non réalisables mais intéressantes et
notamment « presque » réalisables, à travers deux exemples
importants : la formule de Kreisel-Putnam et celle de Scott. Donc
cette fois il faut à la fois montrer qu'elles ne sont pas réalisables
et que, pourtant, on ne passe pas loin de l'être (et j'explique en
quoi elles sont « presque » réalisables, même si je n'ai pas réussi à
avoir le recul pour comprendre si on peut définir cette notion
proprement).
Enfin je finis par des
généralités et spéculations peut-être vaseuses et certainement mal
écrites, qui font un peu le pendant de l'introduction ci-dessus.
Pourquoi j'estime que c'est intéressant et important
Bien sûr, comme je l'explique ci-dessus, on peut traiter chacune
des formules que je vais lister ci-dessous (aussi bien celles qui sont
réalisables que celles qui ne le sont pas) comme un exercice de
calculabilité : voici une formule représentant un certain contrat,
trouver une façon de le remplir [= réaliser la formule] ou montrer que
ce n'est pas possible ; ou même comme une sorte d'énigme (à la
manière dont je l'ai fait ici
et là). Les outils de base
utilisés par ces algorithmes sont toujours un peu les mêmes, et ce
sont les techniques fondamentales de la
calculabilité : lancer deux tâches en parallèle (sachant
qu'au moins une des deux terminera), exécuter un programme pour un
certain nombre d'étapes pour voir s'il termine, parcourir tous les
entiers naturels en sachant qu'on finira par en trouver un qui remplit
une certaine condition — ce genre de choses qui sont les bases de la
calculabilité de Church-Turing. Donc déjà c'est au moins intéressant
parce que c'est instructif à ce niveau-là.
Mais je pense que ça va plus loin que ça. Comme je le dis plus
haut, la réalisabilité propositionnelle est une façon d'aborder le
problème, qui me semble central en informatique, de ce qu'un
algorithme peut ou ne peut pas faire, et en l'occurrence il est
important de comprendre ce que le typage laisse ou ne laisse pas
passer, et comme le typage est un outil lui aussi central, comprendre
ce qu'il ne laisse pas passer est justement une question cruciale, et
même si on peut trouver que la réalisabilité propositionnelle est un
prisme un peu étroit pour étudier cette question (j'en conviens), je
pense qu'elle a des choses à dire, et je n'ai pas l'impression qu'on
les comprenne bien dans l'état actuel de l'art (d'où le fait que les
exemples de formules réalisables soient un peu… hétéroclites), mais ça
vaut certainement la peine de méditer un peu sur chacune de ces
formules certes disparates et de ce qu'elle signifie et ce
qu'elle représente. En tout cas, ce n'est certainement pas un hasard
si la réalisabilité de ces différentes formules fait appel à ce que je
viens d'appeler les techniques fondamentales de la
calculabilité.
En outre, ça nous apprend aussi — il me semble — des choses sur la
richesse de la logique intuitionniste, même au niveau simplement
propositionnel (en nous forçant à nous demander ce que disent
logiquement certaines de ces formules qu'on n'aurait sans doute pas
pensé à considérer sinon). Ma motivation à moi était justement de me
familiariser mieux à la fois avec la calculabilité en général et avec
les techniques à l'interface entre logique, calculabilité et typage :
en réexpliquant chacune de ces preuves, je m'assure que je les ai bien
comprises. (Et il y a plein de choses que j'ai été obligé de revoir
en écrivant ce billet.)
Mélanges probabilistes et superpositions quantiques
Précisions d'emblée que le but de ce billet, qui évoque le rapport
entre (pour prendre un exemple célèbre) un chat vivant avec
probabilité ½ et mort avec probabilité ½ (« mélange
probabiliste ») et un chat dans un état quantique qui combine
vivant et mort (« superposition quantique ») n'est pas vraiment de
faire de la vulgarisation, encore moins de la physique. Je m'en sers,
comme je fais parfois, surtout pour gribouiller rapidement ce que j'ai
(moi matheux) réussi à comprendre de textes que je trouve souvent
obscurs, et pour noter des questions que je (me) pose si je veux y
réfléchir plus attentivement Un Jour™, mais ça ne signifie pas que
d'autres trouveront mes explications plus claires que ce qu'on peut
trouver ailleurs. Il s'agit essentiellement de choses très
classiques, mais que je trouve généralement très mal expliquées
(notamment par le fait qu'on prend rarement le soin d'essayer de
décrire le parallèle entre mélanges probabilistes et superpositions
quantiques séparément avant de dire comment ces deux choses se
combinent), quoique certaines des questions que je soulève au passage
n'ont pas l'air d'être beaucoup discutées, et c'est dommage.
Quoi qu'il en soit, ce qui suit s'adresse à des lecteurs qui savent
au moins un peu d'algèbre linéaire (en gros, pour qui les
mots espace de Hilbert ont un sens — je ne parlerai que de la
dimension finie donc on peut préférer espace hermitien), et
sont globalement familiers avec le fait qu'une matrice hermitienne est
diagonalisable. Et encore une fois, mon point de vue va être celui
d'un matheux, pas d'un physicien (témoin le fait que je vais à peine
évoquer de lois de la physique) : la question est celle de la
représentation mathématique d'états d'un système physique. (Et j'en
profite pour pointer du doigts certains faits géométriques sur cette
représentation.) Mais au passage, ça soulève des questions, qui me
semblent intéressantes, sur la philosophie de la physique (notamment
que signifient les probabilités, et dans quelle mesure elles font
partie de la réalité du monde).
Je dois aussi préciser que j'ai changé plein de fois d'avis sur ce
que je voulais raconter ici, que j'ai fait mon plan a posteriori et
que j'ai réécrit plein de fois des passages sans vérifier la cohérence
avec ce qui était déjà ailleurs, ce qui explique sans doute des
virages un peu bizarres, des redites ou incohérences de propos et des
digressions inutiles (comme d'habitude, j'essaie de rédiger de manière
à ce qu'on puisse les sauter, mais je ne sais pas dans quelle mesure
j'y arrive). Par ailleurs, comme ça m'arrive souvent, j'ai écrit ce
texte jusqu'au point où j'en ai eu marre de l'écrire, ce qui explique
qu'après être parti dans toutes les directions il s'arrête un peu
brutalement et sans vraie conclusion — mais je pense que mes lecteurs
(enfin, ceux qui sont assez patients pour lire mes billets jusqu'au
bout) ont l'habitude de ça.
Mélanges probabilistes et superpositions quantiques séparément
Comme promis, je commence comme un matheux. Supposons
que A soit un ensemble, que je vais prendre fini pour
simplifier et que j'imagine comme les états
basiques que peut prendre un système physique.
Mon but est dans un premier temps de définir deux types de
constructions[#] qu'on peut
faire sur cet ensemble A, que je vais ensuite comparer et
contraster, et que je vais appeler mélanges probabilistes
et superpositions quantiques ; puis, dans la suite, je
discuterai comment on peut les combiner.
[#] Techniquement,
j'imagine qu'on doit pouvoir faire de chacune de ces constructions
une monade,
mais je ne veux pas tomber dans ce trou de lapin-là.
Mélanges probabilistes
Si je ne sais pas exactement dans quel état se trouve mon système,
je peux représenter mon ignorance sous la forme d'une distribution
de probabilités sur A : concrètement, ça
va prendre la forme d'une fonction de A vers les réels
positifs (donnant la probabilité de chaque état) dont la somme totale
est 1. De façon équivalente, si je note [a],
lorsque a∈A la fonction qui vaut 1
en a et 0 ailleurs (i.e., la distribution de probabilités
concentrée en a), une distribution de
probabilités p quelconque sur A s'écrit comme
une combinaison convexe des [a],
c'est-à-dire une combinaison linéaire à coefficients positifs de
somme 1 (les coefficients étant justement la
probabilité p(a) de chaque a, i.e.,
on a p =
∑a∈Ap(a) · [a],
avec, je répète, p(a)≥0 pour
chaque a, et
∑a∈Ap(a) = 1).
Je parlerai aussi de mélange probabiliste des
éléments de a pour une telle combinaison convexe.
À titre d'exemple, si A = {vivant, mort} désigne les
deux états possibles de vie d'un chat, le mélange probabiliste
½([vivant] + [mort]) désigne un chat qui a 50% de chances d'etre
vivant et 50% de chances d'être mort.
Géométriquement, il faut penser à cet ensemble de distributions de
probabilités / combinaisons convexes / mélanges probabilistes (selon
le terme qu'on préfère) comme un simplexe dont
les sommets sont les éléments de A (i.e.,
lorsque A a 2 éléments, c'est un segment les reliant, quand
il en a 3 c'est un triangle ayant ces sommets, quand il en a 4 c'est
un tétraèdre, etc.) ; et les coordonnées barycentriques dans le
simplexe sont les valeurs p(a) de la
distribution de probabilités p considérée.
Je n'ai rien dit d'intelligent, ou même d'intéressant dans tout
ça : c'est complètement standard, c'est juste différents points de vue
un tout petit peu différents sur la même chose.
Superpositions quantiques
Maintenant, quand on fait de la mécanique quantique, il y a autre
chose qui intervient, et qu'il faut bien distinguer de ce qui
précède : ce sont les superpositions quantiques.
Cette fois, je vais considérer un espace vectoriel
complexe[#2], et même
hilbertien (= hermitien), dont une base orthonormée est formée de
vecteurs notés |a⟩ où a∈A, et je
m'intéresse aux vecteurs de norme 1 dans cet espace (éventuellement :
modulo la phase, c'est-à-dire modulo multiplication par les complexes
de module 1, ce qui en fait un « espace projectif »
complexe, cf. ici). Autrement dit,
les éléments de l'espace sont les
∑a∈Au(a) · |a⟩
avec u(a) des nombres complexes et
∑a∈A |u(a)|² =
1 ; le produit scalaire hermitien de deux tels éléments |u⟩
:=
∑a∈Au(a) · |a⟩
et |v⟩ :=
∑a∈Av(a) · |a⟩
est donné par ⟨u|v⟩ :=
∑a∈Au(a)* · v(a)
où z* désigne ici le conjugué d'un nombre
complexe (normalement noté avec une barre au-dessus, mais c'est
pénible à faire en HTML) (j'ai pris ici la convention des
physiciens selon laquelle le produit scalaire hermitien est
antilinéaire dans sa première variable et linéaire dans la seconde).
La notation suggère de définir ⟨a| comme la forme linéaire
valant 1 en |a⟩ et 0 sur tous les autres |b⟩, si
bien que le produit scalaire par
∑a∈Au(a) · |a⟩
à gauche s'écrit comme la forme linéaire
∑a∈Au(a)* · ⟨a|.
Bon, là je n'ai rien dit d'intelligent.
[#2] Le fait qu'on ait
apparemment nécessairement
affaire à des coefficients complexes, quel que soit le
système physique décrit, me laisse un peu perplexe, et apparemment
je ne suis pas le
seul.
Pour reprendre l'exemple précédent, si A = {vivant,
mort} désigne les deux états possibles de vie d'un chat, alors
(|vivant⟩ + |mort⟩)/√2 désigne un chat dans un état quantique qui
superpose ces deux états. Mais on notera que (|vivant⟩ − |mort⟩)/√2
est aussi un tel état, qui semble très analogue, mais qui
est orthogonal au précédent comme on le voit en calculant le
produit hermitien (et on peut légitimement se demander ce que tout ça
veut dire). Et de même, (|vivant⟩ + i·|mort⟩)/√2 et
(|vivant⟩ − i·|mort⟩)/√2 devraient avoir un sens et être
orthogonaux l'un à l'autre (quoique pas aux précédents). Ceci étant
dit, autant c'est rigolo de donner mes exemples avec des chats vivants
ou morts ou en superposition quantique entre les deux, ce n'est
peut-être pas un très bon
exemple[#3][#3b], en fait, justement
à cause de la difficulté de donner un sens à ces états que je viens
d'écrire, donc dans la suite je vais passer à un exemple plus abstrait
du genre A = {0,1}, c'est-à-dire les états basiques de ce
qu'on appelle
un qubit :
vous pouvez imaginer ‘0’ et ‘1’ comme signifiant qu'un chat est vivant
et mort si vous voulez, mais si vous voulez des exemples physiquement
plus plausibles, l'article Wikipédia que je viens de lier a divers
exemples, et je vais juste dire un mot de deux d'entre eux dans les
paragraphes suivants.
[#3] Je ne sais plus
qui me faisait le reproche je ne sais où d'utiliser le chat de
Schrödinger comme exemple de superposition quantique, alors que c'est
justement un exemple censé illustrer le doute qu'on peut avoir sur
l'existence ou le sens de superpositions quantiques sur des objets
macroscopiques. Si on croit la mécanique quantique jusqu'au bout, et
notamment si on croit sa linéarité exacte, alors oui, on peut faire
des superpositions quantiques macroscopiques, et même c'est ce qui
arrive à l'Univers tout entier dès qu'on fait une « mesure », et il y
a toutes sortes de tentatives d'explications, ou de bouts
d'explications (décohérence, interprétation « multi-mondes »
d'Everett-DeWitt) sur pourquoi on ces superpositions ne se manifestent
pas de façon visible dans notre expérience quotidienne. Mais mon but
ici n'est pas vraiment de parler de ces choses-là (même si je ne peux
pas faire l'économie d'au moins une mention au passage — dont acte ;
cf. aussi la note #8 plus
bas).
[#3b] Ajout
() : Bien sûr, le problème avec le chat, ce
n'est pas juste qu'il est macroscropique, c'est qu'il a bien plus
d'états que {vivant, mort} : il y a peut-être quelque chose comme
101027 états qualifiables de vivant et
de mort. En quoi ceci est vraiment pertinent pour toute la
discussion n'est pas clair pour moi, ni si on choisit de les regrouper
en deux paquets (i.e., de fabriquer deux sous-espaces de grande
dimension) ni si on décide d'en choisir un très particulier dans
chaque paquet (mais je note quand même que, par un phénomène de
concentration de la mesure, si on choisit un état vivant au
hasard et un état mort au hasard, ils seront essentiellement
orthogonaux — donc au moins ça justifie de travailler avec comme des
états basiques).
À titre d'exemple de qubit, il y a la polarisation d'un photon : si
|↺⟩ représente un photon polarisé circulairement d'hélicité
droite[#4] et |↻⟩ un photon
polarisé circulairement d'hélicité gauche, alors (|↺⟩ + |↻⟩)/√2 et
(|↺⟩ − |↻⟩)/√2 peuvent représenter des photons respectivement
polarisés horizontalement et
verticalement[#5][#6],
tandis que (|↺⟩ + i·|↻⟩)/√2 et (|↺⟩ − i·|↻⟩)/√2
peuvent en représenter de polarisations diagonales.
[#4] Comme bien
expliqué sur Wikipédia, il y a deux conventions opposées sur ce
qu'une polarisation circulaire horaire ou anti-horaire
signifie, selon qu'on prend le point de vue de la source qui voit
l'onde partir ou de la cible qui voit l'onde arriver. Par contre,
l'hélicité, il me semble que ça devrait être inambigu : on met le
pouce (droit ou gauche, selon qu'on parle d'hélicité droite ou gauche)
dans le sens de propagation de l'onde et en courbant les autres doigts
ils indiquent dans quel sens l'onde tourne autour de son sens de
propagation. Donc pour moi, hélicité droite = sens anti-horaire
(= trigonométrique) vu par la cible = sens horaire (= rétrograde) vu
par la source, tandis que hélicité gauche = sens horaire
(= rétrograde) vu par la cible = sens anti-horaire (= trigonométrique)
vu par la source. (Et les petits dessins ‘↺’ et ‘↻’ que j'utilise
évoquent ce que voit la cible.) Mais apparemment, toujours si j'en
crois Wikipédia, des gens ont aussi réussi à mélanger les
conventions gauche/droite, et là je ne comprends pas comment ils ont
pu faire un truc pareil. Enfin bon, tout ça n'a aucune importance
pour ce que je veux raconter ici.
[#5] Là aussi, on
trouve des conventions contradictoires, bien sûr, mais la convention
moderne semble être de dire qu'une onde se propageant horizontalement
a une polarisation horizontale par référence à la direction du
champ électrique oscillant : le champ magnétique, lui,
oscille dans une direction perpendiculaire au champ électrique et au
vecteur de propagation de l'onde, donc verticalement pour une onde de
polarisation horizontale.
[#6] Mathématiquement,
imaginez que |↺⟩ est la fonction
exp(2iπν·t) où ν est la
fréquence du photon et t est le temps retardé par la
distance depuis la source, et le composantes réelle et complexe sont,
disons, les composantes horizontale et verticale du champ électrique
ou quelque chose comme ça, tandis que |↻⟩ est
exp(−2iπν·t) ; alors (|↺⟩ + |↻⟩)/√2
et (|↺⟩ − |↻⟩)/√2 décrivent les fonctions
cos(2πν·t)
et i·sin(2πν·t) respectivement.
La raison pour laquelle je précise l'exemple du paragraphe
précédent est pour souligner que ces états en superposition quantique
sont parfaitement valables (je vais dire ci-dessous que, contrairement
à la situation probabiliste, il n'y a rien d'objectif qui distingue les
états basiques que j'ai choisis des autres états fabriqués par
combinaisons linéaires de ceux-ci : le fait qu'un état soit
« superposé » n'a pas de sens en soi), et ça se voit bien sur cet
exemple-là : les polarisations circulaires n'ont rien de plus naturel
que les polarisations horizontales/verticales ou diagonales. Par
ailleurs, on se dit que ce sont des choses qui ont un vrai sens
physique, pas des expressions de notre ignorance.
J'ai évoqué les photons ci-dessus pas juste pour le plaisir
d'utiliser les caractères ‘↺’ et ‘↻’, mais aussi parce que je pense
que c'est raisonnablement simple à comprendre — modulo les prises de
tête sur les conventions contradictoires quant au sens de la
polarisation — mais on peut aussi dire un mot du qubit décrivant le
spin de l'électron au repos. Là les deux états basiques pourraient
être |↑⟩ et |↓⟩ représentant un électron avec un spin dirigé vers le
haut ou vers le bas respectivement : alors (|↑⟩ + |↓⟩)/√2 et (|↑⟩ −
|↓⟩)/√2 peuvent représenter un électron avec un spin dirigé vers la
droite et la gauche respectivement, tandis que (|↑⟩
+ i·|↓⟩)/√2 et (|↑⟩ − i·|↓⟩)/√2 peuvent en
représenter un avec un spin dirigé vers l'avant et l'arrière
respectivement[#7].
[#7] Le lecteur
astucieux me demandera mais ça dépend très hautement du fait que
l'espace est de dimension 3, ça : que se passe-t-il en d'autres
dimensions ? — et, en effet, c'est une particularité de la
dimension 3 que l'état de spin d'une particule de spin ½ soit
représenté par un qubit. En général, en dimension d le
spin d'une telle
particule devrait
avoir 2⌊d/2⌋ états basiques (c'est la
dimension de la représentation spinorielle du groupe
Spind ; je ne sais d'ailleurs pas comment
Wikipédia réussit à cacher cette information aussi efficacement dans
la page que je viens de lier), c'est-à-dire l'équivalent de
⌊d/2⌋ qubits. Donc, oui, c'est particulier à la
dimension 3 qu'on puisse décrire ça aussi simplement que vers le
haut et vers le bas. Pour la polarisation du photon, il me
semble que c'est d−1 états basiques (donc, en grande
dimension, il y a beaucoup moins d'information dans le spin d'un
photon que d'un électron, vous interprétez ça comme vous voulez).
Ressemblances et différences entre les deux
Il y a des ressemblances entre mélange probabiliste et
superposition quantique, et j'ai fait exprès de choisir une
description analogue avec des combinaisons linéaires pour faire
ressortir ces ressemblances (et je regrette que toute description de
la mécanique quantique ne commence pas par une telle discussion). Il
y a aussi des différences cruciales, à la fois physiques et
mathématiques.
Sur la notion d'« étendue » en optique et en géométrie
Je voudrais essayer de parler ici d'un concept de géométrie
(euclidienne), notamment important pour son application en optique,
que je trouve à la fois joli pourtant trop peu
connu[#] : celui d'« étendue ».
En gros, l'étendue est une façon de mesurer la taille d'un ensemble de
droites (disons, dans l'espace) de la même manière que le volume est
une façon de mesurer la taille d'un ensemble de points. Mais pour
commencer, et pour expliquer une façon dont cette notion apparaît, je
veux parler des unités et grandeurs lumineuses que sont le lumen, le
lux, la candela et la candela par mètre carré, et le lien entre ces
unités, et ce qu'elles nous disent. Parce que même le grand public
commence à avoir entendu parler des lumens (c'est écrit sur toutes les
boîtes d'ampoules, de nos jours), et peut-être de lux (pour le niveau
d'éclairement d'une pièce), mais ne sait pas forcément la différence
entre les deux (divulgâchis : un lux, c'est un lumen par mètre
carré).
[#] À titre d'exemple,
je n'en vois pas de trace dans les programmes de classes préparatoires
scientifiques françaises, ce que je trouve un peu surprenant. Et ce
n'est pas une évolution récente parce que je ne crois pas qu'on m'en
ait parlé quand j'étais moi-même en prépa.
La difficulté de l'exercice, c'est que comme je veux parler de
divers concepts (l'étendue en géométrie euclidienne, l'étendue en
optique géométrique, les unités de mesure photométriques, et quelques
conséquences de tout ça) et ce à différents niveaux de vulgarisation,
je mais certainement faire de la bouillie. En plus de ça, je suis
infoutu de faire le moindre dessin, ce qui n'aide pas pour expliquer
un concept éminemment géométrique.
Mais voilà, essayons quand même (bear with
me), parce cette histoire de conservation de l'étendue
est quelque chose qui me semble important pour comprendre les bases de
l'optique, et c'est aussi un concept mathématique pas compliqué mais
néanmoins digne d'être noté. Et j'en ai marre de toujours oublier ces
choses, alors ce billet de blog est surtout un aide-mémoire pour
moi-même.
*
☞ La « luminosité » décroît-elle avec la distance ? (Oui et non.)
Pour commencer, une observation toute simple qui me fascine depuis
que je suis petit, qui n'est pas difficile à comprendre, et qui
renferme l'essence de cette notion de conservation de l'étendue.
Considérez le Soleil, vu depuis la Terre, en plein jour (et par
beau temps). Ne le regardez surtout pas directement, c'est très
dangereux pour vos yeux (Newton a failli se rendre aveugle comme ça).
Oui mais pourquoi est-ce si dangereux, au juste ? Parce que le Soleil
est très brillant, bien sûr. Certes, mais il est aussi très loin :
est-ce que la luminosité ne s'atténue pas avec la distance ? Après
tout, l'étoile Sirius (enfin, Sirius A), qui est 23 fois plus lumineux
que le Soleil mais 540 000 fois plus loin de nous, ne nous aveugle pas
quand nous la regardons directement. Alors, oui et non : ça dépend
surtout de ce qu'on appelle luminosité.
D'abord, il y a une absorption de la lumière par l'atmosphère
terrestre, qui atténue surtout le bleu et l'ultra-violet. C'est
important pour rendre le Soleil moins dangereux pour nous, mais ce
n'est pas de ça que je veux parler, donc faisons comme si elle
n'existait pas. Ensuite, il y a effectivement une décroissance de la
luminosité avec la distance (quadratique : si on est 2 fois plus loin
d'une étoile, elle apparaît 4 fois moins lumineuse), mais cette
décroissance correspond précisément à une décroissance de la taille
apparente (ou « angle solide ») de l'étoile : si on va 2 fois plus
loin du Soleil, il apparaîtra 2 fois plus petit dans chaque direction,
donc 4 fois plus petit en surface apparente (« angle solide »), et sa
luminosité sera 4 fois plus faible juste pour cette raison,
c'est-à-dire que la luminosité par unité d'angle solide
(ou luminance) sera la même.
Quand l'objet qu'on regarde est suffisamment petit pour qu'il n'en
reste qu'un seul point (on dit qu'il n'est pas « résolu
optiquement »), on ne voit plus l'angle solide, et tout ce qui compte
est la luminosité totale qu'on en
reçoit[#2] (dont je vais dire
qu'elle s'appelle correctement éclairement et se mesure en
lux) ; mais si l'objet est de taille visible, ce qui est le cas du
Soleil, alors ce qui compte est cette luminosité par angle solide
(appelée luminance, et mesurée en lux par stéradian, ou ce qui
revient au même, en candelas par mètre carré), et elle ne change
pas avec la distance.
[#2] Je ne sais pas si
je l'ai déjà raconté ici, mais depuis que je suis petit, quand je suis
passager dans une voiture la nuit, j'aime parfois jouer à retirer mes
lunettes. Comme je suis très très myope, chaque feu de véhicule
devient alors une grosse tache (en gros l'image de mon cristallin qui,
vu que c'est la nuit, est bien ouvert) : c'est très joli et assez
poétique, ça fait une sorte de ballet hypnotisant de taches de
couleurs rouges, orange et blanches. Ce qui est perturbant, c'est
que la taille de ces taches ne change pas quand le véhicule
s'éloigne, puisqu'elle est avant tout due à l'imperfection optique de
mon œil : l'éloignement se manifeste non pas par une diminution de la
taille mais par une diminution de la luminosité de la tache. C'est ce
que j'appelle une situation non résolue optiquement. C'est
pareil pour n'importe qui quand on regarde une étoile, mais dans mon
cas les taches sont vraiment très grosses (d'ailleurs, du coup, sans
mes lunettes, je ne peux absolument pas voir la moindre étoile).
En bref, si vous étiez deux fois plus loin du Soleil, ce serait
tout aussi dangereux pour vos yeux de le regarder directement et
fixement : la surface de la rétine qui se ferait endommager
serait plus petite, mais la surface qui serait
endommagée le serait tout autant. (Bon, il y a plein de petits
caractères à ajouter là : par exemple pour rappeler que je parle de
regarder fixement pendant une certaine durée, parce que les
yeux bougent toujours un peu tout le temps, ce qui aide justement à
nous protéger contre le soleil.)
Inversement, en principe, même si vous étiez à cent mètres de la
surface du Soleil, cette surface vous apparaîtrait aussi brillante
(absorption atmosphérique mise à part) que ce que vous en voyez depuis
la Terre — c'est juste que ça occuperait la moitié de votre champ
visuel au lieu d'être un tout petit truc (de 68 microstéradians) dans
le ciel. (Bon, bien sûr, à 100m du Soleil vous auriez plein de
problèmes, et je déconseille très fortement d'y aller.)
Et ça, quand j'étais petit, ça me fascinait profondément, de me
dire que nous voyons le Soleil vraiment lumineux comme il
est, juste plus petit.
*
☞ Flux lumineux, éclairement, intensité lumineuse, et luminance
Bon, mais dans tout ça j'ai utilisé le terme de luminosité
de façon très vague. Essayons d'être plus clair, en distinguant
quatre notions, et en expliquant comment elles se relient et quelles
sont les unités qui les mesurent (si vous trouvez ça trop verbeux,
j'ai mis un résumé à la fin) :
La première, c'est la notion de flux lumineux, qui
est mesuré en lumens (symbole : lm) dans le Système International.
C'est analogue à la puissance lumineuse, c'est-à-dire la quantité
d'énergie par unité de temps : donc c'est analogue à des watts
(symbole : W).
Je dis analogue, parce qu'un lumen n'est pas un watt : le
lumen reflète le fait que notre œil est plus ou moins sensible à
différentes parties du spectre électromagnétique, donc qu'on ne voit
pas 1W dans le vert autant que 1W dans le rouge ou le bleu, et si
c'est 1W dans l'ultraviolet ou l'infrarouge on ne le voit pas du
tout : donc le lumen tient compte de cette différence de sensibilité
en pondérant la puissance des différentes longueurs d'onde en fonction
de la sensibilité de l'œil humain (mais à cette pondération près,
c'est comme des watts).
Réflexions à 2 femtozorkmids sur l'informatique en tant que science
Les quelques derniers billets de ce blog qui avaient un contenu
scientifique (notamment celui-ci
et celui-ci) tournaient autour de
l'informatique théorique. (Et je compte en écrire encore plusieurs.)
Je ne sais pas si le lecteur non spécialiste aura vu la différence
avec des maths. Je ne sais pas si je vois une différence
avec des maths. Après tout, j'ai rangé ces billets dans la
catégorique « maths » (pas que le mécanisme de catégories sur ce blog
serve à quoi que ce soit, et c'est peut-être surtout que j'avais la
flemme de créer une nouvelle catégorie, mais quand même, c'est une
info) ; alors que par le passé, j'ai écrit des entrées sur la physique
théorique (comme celle-ci
ou celle-là) et je les ai rangées
dans une catégorie différente. Peut-être même qu'avec assez de
mauvaise foi on pourrait prétendre que la correspondance de
Curry-Howard affirme qu'il n'y a pas de différence entre maths et info
(mais soyons clairs, ça demande une bonne dose de mauvaise foi,
justement).
Ce n'est pas la première fois que je médite sur cette question à
laquelle je n'ai pas vraiment de réponse : qu'est-ce que c'est
que l'informatique ? — et secondairement, quelle
position a-t-elle par rapport aux maths ? et cette position
est-elle analogue à celle de la physique ?
(Je précise que ce billet, qui est une méditation décousue et sans
véritable point d'arrivée, se veut non-technique, i.e., lisible par
tout le monde, mais que fatalement je vais être amené à faire des
remarques techniques çà et là : si on ne sait pas de quoi je parle, on
peut juste ignorer ces passages, ils ne sont là que pour appuyer ou
illustrer mes propos, ils n'en sont pas le cœur. Si vous n'avez
vraiment pas le temps de lire, regardez au moins
le dernier paragraphe
pour un résumé de ce que j'essaie de dire.)
☞ Science informatique et génie informatique
Mettons-nous d'accord sur le fait que je parle de l'informatique en
tant que science : computer science en anglais,
par opposition à computer engineering, ce dernier
étant le génie informatique (lui-même au sens d'ingénierie, pas au
sens du fait d'être génial…), comme on peut parler de la physique
comme science par opposition au génie mécanique / électrique /
électronique / etc. Mais la frontière entre la science et le génie
n'est pas super claire non plus, et peut-être que ça fait aussi partie
de la question : en première approximation, une science est une
discipline qui cherche à élargir nos connaissances tandis que le génie
cherche à appliquer des connaissances pour résoudre des problèmes,
mais évidemment ce n'est pas toujours net, et il y a des sciences
appliquées (que je range quand même parmi les sciences) qui montrent
que la limite est assez floue.
Néanmoins, j'aime bien souligner
que ce n'est pas parce qu'une limite est floue qu'elle n'existe pas :
entre l'étude des modèles du λ-calcul et l'optimisation d'un jeu vidéo
il y a bien une différence d'approche, ce qui se mesure ne serait-ce
qu'empiriquement au modèle économique qui paye les gens qui font l'une
et l'autre activité, et il me semble que cette différence est assez
analogue à celle entre, pour ce qui est de la physique, l'étude de la
théorie des solutions exactes de l'équation d'Einstein et
l'optimisation d'un moteur de moto. (Et je devance l'accusation qu'il
y aurait là un jugement de valeur de ma part : d'une part je mets ma
vie entre les mains des gens de chez Yamaha qui conçoivent des moteurs
de moto, d'autre part j'avoue platement que programmer un jeu vidéo ou
concevoir un moteur de moto est quelque chose qui me semble
complètement hors de mes capacités à la différence de l'étude des
solutions exactes des équations d'Einstein ou des modèles du λ-calcul,
que j'ai au moins pratiquées de loin.)
Alors maintenant, si la physique est l'étude du monde matériel, ou
quelque chose qui y ressemble, l'informatique, c'est quoi ?
☞ L'informatique n'est pas la science
des ordinateurs
La réponse la plus évidente serait que c'est la science des
ordinateurs. À ça il faut répondre par une citation souvent
attribuée
à Dijkstra,
mais comme toutes les meilleures citations sont
apocryphes, elle
n'est probablement pas de lui :
Computer science is no more about computers than astronomy is about
telescopes.
Les ordinateurs ne sont que le moyen d'étude de
l'informatique, en même temps que son application : ils ne sont pas
son objet.
Le grand public a peut-être dans l'idée qu'un chercheur en
informatique cherche à rendre les ordinateurs plus rapides. (Bon, à
vrai dire, le grand public a peut-être dans l'idée qu'un chercheur en
informatique est un pro en Excel ou sait réparer une imprimante qui
dysfonctionne, et ce sont des idées à ranger avec celle du
mathématicien comme quelqu'un qui passe ses journées à faire des
calculs immensément compliqués : juste naïves, mais révélatrices d'un
triste manque d'information sur le fonctionnement de la science.) Ce
n'est pas complètement faux, bien sûr, il y a des informaticiens qui
cherchent effectivement à rendre les ordinateurs plus rapides.
D'autres qui cherchent à les rendre plus sûrs. Mais ce sont un peu
les arbres qui cachent la forêt.
Bon, mais alors c'est quoi, l'objet de l'informatique, si
ce n'est pas les ordinateurs ?
À vrai dire je ne sais pas bien quoi répondre. Ma première
approximation de la réponse (peut-être désespérément vague)
serait : l'informatique est la science de l'information, des
données, de la communication, de l'automatisation et du
calcul.
☞ La physique et l'informatique
vis-à-vis des maths
L'ennui, si on dit ça, c'est que ça ressemble beaucoup à des maths.
Bon, à ce stade, il faut peut-être aussi que je tente de définir les
maths, et je suis tout autant embarrassé : c'est essentiellement aussi
naïf de s'imaginer que les maths sont la science des nombres que que
l'informatique est celle des ordinateurs, mais là aussi, on est en
droit de se demander de quoi elles sont l'étude, alors. Je dirais
bien l'étude des structures abstraites, mais on m'objectera que ça
ressemble trop à la philosophie, ça. En tout cas, l'information,
les données, la communication, l'automatisation et le calcul, ça
ressemble beaucoup à des notions abstraites que les maths pourraient
étudier. Et de fait, il y a une intersection énorme entre les maths
et l'informatique théorique ; mais intersection ne signifie
pas inclusion c'est un peu le cœur de mon propos.
Peut-être parce qu'elle est née plus récemment que la physique,
l'informatique semble avoir une crise identitaire vis-à-vis des
mathématiques un peu plus compliquée que celle de la physique. Crise
identitaire qui peut signifier qu'elle tarde à prendre son
indépendance, ou au contraire prendre la forme d'une volonté excessive
de « tuer le père ».
Je pense qu'informatique et physique occupent une place
relativement analogue (voire, symétrique) par rapport aux
mathématiques. Les deux sont à la fois une inspiration pour les
mathématiques et un domaine d'application de celles-ci, et, dans leur
partie la plus théorique, elles intersectent largement les
maths. (Elles ont aussi, dans leur incarnation moderne,
émergé des mathématiques : Turing était mathématicien au moins autant
qu'informaticien, comme Newton était mathématicien au moins autant que
physicien.) Les maths qui intéressent l'informatique (par exemple la
logique et l'algèbre discrète) et les maths qui intéressent la
physique (par exemple la géométrie différentielle et la théorie des
groupes continus) sont généralement distinctes, mais il y a de grands
domaines qui intéressent les deux (comme l'analyse de Fourier ou les
probabilités).
☞ Une digression sur mon papa physicien
Je devrais peut-être faire une digression à ce sujet pour parler
de mon papa, qui était physicien
théoricien, et faisait de la physique qui pourrait franchement être
considérée comme des maths
(genre, ça),
mais qui avait une relation difficile avec les maths et les
mathématiciens (il aimait bien citer Feynman qui comparait la rigueur
mathématique à la rigor mortis ; il faudrait que
je vérifie si elle n'est pas apocryphe aussi celle-là, mais en tout
cas ça montre que si son sujet d'étude était très mathématique, son
approche n'était pas vraiment celle d'un mathématicien).
Mon papa était en outre persuadé que la physique était la
source d'inspiration des maths, et que toutes les idées mathématiques
naissaient soient de la recherche d'applications à la physique soit de
généralisations assez évidentes de ça. J'aurais dû lui rétorquer
plein de choses quand il me disait ça (par exemple, parmi les choses
qu'il aurait dû bien savoir en tant que relativiste, que la géométrie
riemannienne était là bien avant qu'Einstein n'en ait besoin pour
décrire un espace-temps courbe), mais je pense qu'il reflétait là
surtout son propre biais d'intérêt dans les domaines qu'il connaissait
des mathématiques (à chaque fois que je lui ai parlé de corps de
caractéristique p>0, par exemple, il haussait les yeux
au ciel comme si c'était vraiment une lubie saugrenue d'étudier des
choses aussi déconnectées du monde réel dans lesquelles en
ajoutant p fois le nombre 1 on retombe sur 0). C'est
intéressant, donc, parce que mon père ne semblait pas du tout avoir
considéré cette possibilité que l'informatique soit, de façon analogue
à la physique, elle aussi une source féconde d'inspiration en même
temps que de débouchés pour les maths. Mais c'est aussi intéressant
parce que sa relation compliquée avec les maths, qui dans son cas
était plutôt idiosyncratique, est quelque chose que je crois retrouver
de façon collective dans des tentatives de trouver un démarquage entre
les maths et l'info pour des disciplines qui sont à cheval entre les
deux.
Ajout : ce billet
ultérieur parle un peu plus de la manière dont mon papa a essayé
de m'intéresser à la physique (et comment j'ai fini par devenir
mathématicien).
☞ L'enseignement de l'informatique comme
science
Il me faut sans doute d'abord dire un mot de l'enseignement. Ne
sachant pas comment ça se passe ailleurs, je vais évoquer le cas de la
France.
Malgré N timides tentatives par le passé, n'ayant jamais
vraiment abouti, ce n'est que tout récemment (~2018, peut-être ?) que
l'enseignement secondaire français s'est doté, sous le nom
de numérique et sciences informatiques (NSI), d'un
véritable enseignement (optionnel…) de l'informatique. (Cela me
semble impossiblement tardif, mais je crois qu'il vaut mieux que je ne
regarde pas à quel moment historique on a commencé à enseigner la
physique dans les lycées français, parce que j'ai peur de faire une
attaque.) N'ayant pas de contact direct avec le monde de
l'enseignement secondaire, je ne peux juger que
par les
programmes, qui sont un peu bizarres (p.ex., l'enseignement
du SQL me semble vraiment bizarrement précis à côté de
généralités très vagues sur d'autres plans) mais néanmoins
intéressants par certains côtés. Donc je ne vais pas en dire
plus.
☞ La génération Z et l'informatique
Même si ce n'est que tangentiel à mon propos, comme c'est quelque
chose qui revient régulièrement si on évoque la nécessité de
l'enseignement de l'informatique au lycée, il faut que je dénonce un
lieu commun, qui dit quelque chose comme ceci :
❝Les jeunes, de nos jours, ils n'ont pas besoin qu'on leur enseigne
l'informatique, parce qu'ils ont grandi avec les ordinateurs.
D'ailleurs, ils en savent certainement plus que leurs profs de
lycée.❞
Il y a tellement de choses fausses là-dedans que je ne sais pas
bien par où commencer. Par le fait que l'informatique n'est pas la
science des ordinateurs ? Je l'ai déjà signalé. Mais je pourrais
aussi remarquer le ridicule de l'idée analogue que parce qu'on a tous
grandi avec les voitures thermiques on saurait expliquer comment
fonctionne un moteur à
explosion[#].
[#] Je serais d'ailleurs
sincèrement curieux de savoir quelle proportion de la population prise
au hasard dans la rue serait capable d'expliquer approximativement le
principe d'un moteur à explosion (disons par exemple, de nommer les
quatre phases du cycle d'un moteur à quatre temps). Mais
j'ai déjà souligné l'incongruité du
fait que ce genre de connaissances ne soient pas considérées comme
faisant partie de la culture générale.
Un autre problème avec ce cliché est que, en fait, la
génération qui a grandi avec les ordinateurs,
c'est plutôt la mienne et
la suivante ; la génération de ceux nés au XXIe siècle, ils
ont grandi avec des smartphones (et autres interfaces
graphiques complètes), et c'est bien différent. Or les interfaces
graphiques comme celles des smartphones, comme leur but était de
mettre l'outil entre les mains de tout le monde en évitant que
Monsieur Toutlemonde ait à connaître quoi que ce soit du
fonctionnement interne de la machine, elles ont tout fait pour cacher
(dans
des skeuomorphes
plus ou moins heureux) la moindre chose qui ressemble à de la
programmation. En même temps que le monde informatique derrière est
devenu de plus en plus compliqué par l'empilement de couches séparant
l'utilisateur du matériel (et ceci vaut aussi pour les
vrais PC, pas seulement pour les smartphones), l'accès de
l'utilisateur à ces couches et devenu de plus en plus compliqué.
Donc je ne pense pas du tout qu'un jeune né en 2000–2010
soit automatiquement doué pour la programmation, encore moins pour
comprendre la notion abstraite de machine de Turing, pas plus
que quelqu'un qui a grandi avec les voitures modernes — par opposition
à la Ford modèle T — est automatiquement doué pour la mécanique auto,
encore moins pour expliquer la thermodynamique
du cycle
d'Otto.
(Loin de moi l'idée de faire mon vieux con en mode c'était mieux
âââvant, hein ! Je n'ai rien contre les interfaces graphiques pas
plus que je n'en ai contre les voitures modernes. Si on n'est pas
obligé de taper mkdir pour créer un répertoire, c'est
très bien. Le problème c'est plutôt quand on ne peut même
pas taper mkdir pour créer un répertoire. Je ne suis pas
non plus en train de reprocher à la génération Z de ne rien savoir
faire en-dehors de se servir de leur smartphone — autre cliché à la
con que je déteste : je dis juste qu'il ne faut pas automatiquement
supposer que grandir avec un smartphone rend ipso facto
compétent pour se servir d'un ordinateur, encore moins pour comprendre
le fonctionnement d'un ordinateur ou la théorie derrière.)
☞ L'informatique en prépa et à l'agreg
S'agissant de la formation des futurs ingénieurs (i.e.,
post-baccalauréat), les classes préparatoires scientifiques françaises
ont tout récemment (à la rentrée 2022) vu la création d'une
filière MPI (pour maths, physique,
informatique), qui ouvre un véritablement enseignement de
l'informatique en tant que science en classes prépa, à côté des
filières MP (maths-physique) et PC
(physique-chimie). Un de mes collègues a d'ailleurs participé à
l'écriture des
programmes de cette filière (du coup, la partie sur les automates
finis est fortement inspirée d'un cours que je donnais sur ce sujet à
Télécom[#2] et dans lequel ce
collègue intervenait). Je suis certainement favorable à cette
évolution, et au fait que l'informatique soit traitée comme une vraie
manière autonome et pas une sorte d'excroissance des maths ni une
distraction proposée en marge des cours et visant uniquement
les applications dans d'autres domaines. Pour autant, je
pense qu'il faut aussi se méfier de la fausse impression que cela
pourrait causer dans l'esprit des préparationnaires qui risquent de
croire faussement que parce que c'est de l'informatique ce n'est pas
des maths (cf. ce que je dis plus bas sur la grande intersection entre
ces domaines) : ils risquent du coup de se construire une image
mentale trop exiguë des mathématiques (limitée en gros à l'algèbre
linéaire et à l'analyse classique, ce qu'on leur enseigner en cours de
maths), alors qu'en fait de grands pans de ce programme informatique
auraient très bien pu être enseignés dans un cours de maths.
Cette création d'une filière MPI en prépa scientifique
fait suite de peu à la création d'une agrégation d'informatique
(premier concours à l'été 2022). Auparavant, il y avait eu une option
informatique à l'agreg de maths (option proposée à l'écrit entre ~1990
et ~1998 je crois, puis à l'oral entre ~2006 et 2022 ; entre les deux
il n'y avait rien). Il y a certainement lieu de s'interroger sur la
question de savoir s'il était idéal d'avoir une agreg complètement
différente plutôt qu'une option, ou une solution intermédiaire (une
question analogue se pose certainement aussi sur le rapport entre
physique et chimie, ou entre biologie et géologie), ou d'ailleurs s'il
était évident que la création d'une agreg d'informatique dût entraîner
la suppression de l'option informatique de l'agreg de maths.
(Bizarrement, en prépa, il continue à exister une option info en
filière MP, qui est distincte de la
filière MPI : c'est confusant, pas forcément super
cohérent, et un peu compliqué à gérer en aval dans l'enseignement,
mais je suis tenté de croire que cette multiplicité des choix a des
vertus.)
Sans vouloir suggérer que c'est un mauvais choix scientifique ou
pédagogique (au contraire), je pense que ces décisions relèvent
largement d'une décision d'affirmer l'indépendance de l'informatique
comme discipline scientifique à part entière, et de ne pas laisser
l'idée que c'est une sorte d'appendice des mathématiques.
☞ Le problème des limites entre
sciences
Au-delà de l'enseignement, parlons un peu de la science pour la
science.
Les frontières entre disciplines sont, évidemment, un peu
arbitraires. D'abord, je crois fermement à l'unité
fondamentale de tous les domaines du savoir humain,
c'est-à-dire au moins que je suis sûr qu'on peut passer de proche en
proche de la théorie des cordes à la philologie grecque, ou de la
biochimie à la musicologie, sans jamais rencontrer de barrière nette.
Si cela peut paraître farfelue, je rappelle au passage qu'un concept
très important de l'informatique théorique (à l'intersection avec les
maths), la notion
de grammaire
hors contexte a été inventé par un
linguiste[#3] (d'ailleurs
peut-être plus connu pour son activisme politique), Noam Chomsky.
[#3] Je sais que
l'importance de cette notion en linguistique (ou de façon générale
toute la linguistique chomskienne, et la notion de grammaire
universelle) est assez controversée. Je m'abstiens explicitement
de me prononcer sur ces questions sur lesquelles je suis incompétent.
Mais quoi qu'on en pense dans le cadre de la linguistique, en
informatique théorique c'est une notion fondamentale.
Mais je ne veux pas tomber dans le sophisme des sorites que je ne
cesse de dénoncer : ce n'est pas parce que la frontière est floue
et/ou largement arbitraire qu'elle n'existe pas, ou qu'on n'a pas le
droit de discuter le meilleur endroit où la faire passer.
Les limites administratives entre sciences causent toutes
sortes de maux de tête, par exemple pour les candidats à un
poste académique dont la spécialité est proche d'une de ces frontières
arbitraires : a priori on pourrait imaginer que cela tourne à
leur avantage (par exemple, quelqu'un qui fait quelque chose à cheval
entre les maths et l'info pourrait candidater aussi bien en maths
qu'en info), mais dans la réalité c'est presque toujours un handicap
(il y aura toujours quelqu'un pour vous reprocher de faire des choses
trop informatiques quand vous candidatez en maths et de faire des
choses trop mathématiques quand vous candidatez en info, avec le
prétexte que vous auriez dû candidater dans l'autre domaine ; je pense
que ceci vaut à chaque fois qu'il y a une interface de ce genre : sur
le papier tout le monde dit du bien de la transdisciplinarité, mais
dans la réalité ça a tendance à nuire aux candidats de ne pas rentrer
dans les bonnes petites cases). Mais ce n'est pas tellement de ça que
je veux parler.
Donc, l'informatique fait-elle partie des mathématiques ? Une
partie de l'informatique fait-elle partie des mathématiques ? Où est
le meilleur endroit pour tracer la limite ?
Allez, en cadeau de Noël, un deuxième billet
à deux jours d'intervalle, ce qui
est devenu très rare sur ce blog : je vous propose une devinette dont
je posterai la solution ultérieurement. Je la trouve très jolie et
surprenante et je pense qu'elle aurait beaucoup plu à Raymond
Smullyan.
Méta : Elle m'est venue en
réfléchissant à des questions de maths (autour de la réalisabilité
propositionnelle). La formulation est de moi, mais c'est en fait une
réécriture d'un théorème (de Plisko, je donnerai la référence précise
en même temps que la solution) dont j'ai lu l'énoncé et que j'ai
reformulé comme une énigme pour y réfléchir parce que je ne voulais
pas lire la preuve mais la retrouver moi-même. J'ai eu énormément de
mal à la résoudre, donc je pense qu'elle est vraiment dure
(d'un autre côté, je n'étais pas sûr d'avoir trouver la bonne
formulation, donc je réfléchissais à la fois à la question et à la
réponse), mais quand je
l'ai présentée
sur Twitter, au moins une personne a trouvé la solution, donc elle
n'est certainement pas insoluble. Même si elle a un rapport distant
avec mon très long billet tout
récent sur Curry-Howard (et je compte écrire une autre entrée qui
fait référence aux deux, et qui explique l'intérêt mathématique de
cette énigme), il n'est pas nécessaire, ni même spécialement utile,
d'avoir lu ce billet (ni aucun autre) pour réfléchir à cette énigme.
En revanche, il est certainement pertinent d'avoir des notions de
calculabilité pour espérer y arriver (même si je vais présenter
l'énoncé pour qu'il soit compréhensible sans ça). J'éditerai ce
billet d'ici quelques jours pour présenter la réponse ainsi que
quelques commentaires : pour l'instant je me contente de l'énoncé de
l'énigme, suivi de quelques commentaires.
Vous êtes un aventurier dans un donjon. Devant vous se trouvent
trois portes, identiques à part leur
étiquette : A, B et C. Derrière une
de ces portes se trouve un dragon, qui vous dévorera si vous ouvrez la
porte, mais vous ne savez pas laquelle. Votre but est d'ouvrir une
des portes « sûres », c'est-à-dire sans dragon (et qui conduisent à la
sortie et, soyons généreux, à un trésor pour vous récompenser d'avoir
résolu l'énigme). Peu importe quelle porte sûre vous ouvrez, la seule
chose qui importe est de ne pas ouvrir la porte au dragon.
Pour vous aider à trouver une porte sûre, il y a un indice apposé
sur chaque porte. Mais comme ceci est un donjon très moderne, pas ces
trucs poussiéreux des magiciens d'il y a quelques siècles, chaque
indice prend la forme d'un programme informatique. Ça tombe bien,
vous avez un ordinateur capable de faire tourner ces programmes (ou
pour en examiner le contenu si vous le voulez).
L'idée générale est que le programme apposé sur chaque porte
devrait, quand vous l'exécutez, vous indiquer une des deux
autres portes qui soit sûre. Mais ce n'est pas si simple ! Car
le programme demande quelque chose en entrée, et ne fonctionnera
correctement que si on lui a fourni le bon quelque chose. Et ce
quelque chose est aussi un programme (qui, lui, ne prend rien en
entrée).
Les règles précises sont les suivantes :
Le programme apposé sur la porte au dragon, quoi qu'on lui
passe en entrée, va terminer quoi qu'il arrive et produire
comme résultat l'étiquette d'une des deux autres portes. (Comme il
n'y a qu'un dragon, les deux autres portes sont sûres, donc ce sera de
toute façon une porte sûre. Son choix peut dépendre de ce que vous
avez donné en entrée, mais il doit produire un résultat dans tous les
cas, même si le programme qu'on lui a fourni en entrée n'a pas de sens
ou ne termine pas ou quoi que ce soit du genre.)
Le programme apposé sur une porte « sûre » va terminer et
produire comme résultat l'étiquette de l'autre porte sûre (il
n'y en a qu'une autre), mais à condition qu'on lui ait fourni
comme entrée un autre programme qui lui-même (exécuté sans entrée)
produit comme résultat l'étiquette de l'autre porte sûre. Si cette
condition n'est pas remplie, le comportement du programme n'est pas
précisé (il pourrait ne pas terminer, produire une mauvaise porte, ou
afficher 42 ou n'importe quoi d'autre ; mais il ne va pas vous tuer,
quand même : c'est un programme, pas un dragon, et votre ordinateur
peut le faire tourner sans risque).
Je redis ça pour être bien sûr d'avoir été clair.
Appelons X la porte au dragon, et Y,Z
les deux autres portes.
Appelons pX,pY,pZ
les programmes apposés aux
portes X,Y,Z respectivement,
et q un programme qu'on décide de passer en entrée à un
de pX,pY,pZ.
Les garanties sont : d'abord, concernant la porte au
dragon, pX(q) termine quoi
que soit q et produit comme résultat soit Y
soit Z ; ensuite, concernant les deux autres
portes : siq
termine et produit Z comme
résultat alorspY(q)
termine et produit lui aussi Z comme résultat, et de même,
si q termine et produit Y comme résultat
alors pZ(q) termine et
produit Y comme résultat.
Vous avez bien sûr le droit de lancer les programmes plusieurs fois
(séquentiellement ou en parallèle) avec des entrées différentes. Vous
avez le droit de créer vos propres programmes (par exemple écrire un
programme qui produit toujours la sortie B, et fournir ça
au programme de la porte C est légitime ; ou même faire un
programme qui exécute le programme de la porte C sur le
programme qui produit toujours B en sortie, et
fournir ça au programme de la porte A : tout ça
est légitime). Vous avez aussi tout le temps nécessaire, mais il faut
quand même arriver à un résultat de façon certaine au bout d'un temps
fini (donc on a le droit d'attendre longtemps la sortie d'un
programme, mais s'il ne termine jamais c'est un échec).
En fait, votre réponse sera elle-même
algorithmique. C'est-à-dire que techniquement, ce que je demande
c'est d'écrire un programme qui prend en entrée les
programmes pX,pY,pZ
apposés aux trois portes et qui, quelle que soit la porte au dragon et
quels que
soient pX,pY,pZ
vérifiant les contraintes, termine et produit en sortie l'étiquette
d'une porte qui n'a pas de dragon.
Voilà, c'est un peu long, mais j'espère que c'est parfaitement
clair. S'il y a quelque chose qui ne l'est pas, dites-le moi en
commentaire et j'essaierai de préciser les règles.
Résumé : Il y a une seule porte avec un dragon
et on ne sait pas laquelle, les deux autres sont sûres et le but est
de trouver une porte sûre. Chaque porte a un programme apposé comme
indice. Ce programme termine et produit comme résultat l'étiquette
d'une des deux autres portes qui soit sûre ; mais, s'agissant
du programme apposé sur une porte sûre, ceci n'est garanti que sous
condition qu'on lui passe comme entrée un programme (sans entrée) qui
lui-même termine et produise comme résultat l'étiquette de l'autre
autre porte qui soit sûre.
Comment vous tirez-vous (de façon certaine) de cette fâcheuse
situation ?
Pourquoi elle semble insoluble
J'ai fini l'énoncé de l'énigme et on peut s'arrêter de lire là si
on veut y réfléchir ; mais je vais quand même faire un commentaire
qui, sans vraiment constituer un indice, attire l'attention sur ce
qui est difficile dans cette énigme.
Une introduction à la correspondance de Curry-Howard
Méta : Le présent billet, quoique
indépendant, est une sorte de suite
de celui-ci où j'exposais quelques
points d'informatique théorique que j'ai appris, ou mieux/enfin
compris, en enseignant un cours que je crée cette année à Télécom. En
fait, j'étais parti pour écrire quelque chose sur un sujet plus
spéculatif, mais je me suis dit que pour commencer il fallait que
j'explique proprement la correspondance de Curry-Howard, et comme
c'est justement une des choses que j'enseigne et que je trouve
généralement très mal expliqué, autant en faire aussi une entrée de
blog ; puis comme j'étais trop débordé par l'écriture des transparents
du cours lui-même, j'ai laissé ça de côté. J'ai de nouveau un petit
peu de temps avec les vacances, donc je publie et complète séparément
ce bout sur Curry-Howard comme un texte autonome, dans l'espoir de
faire ensuite un autre billet sur les questions qui, au-delà de mon
enseignement du moment, m'avaient initialement motivé à en parler.
Mais comme je tombe dans un trou de lapin dès que je me mets à écrire
sur un sujet, j'ai quand même élargi le sujet à des questions
connexes.
Bref, mon but est d'exposer (avec des prérequis aussi limités que
possible) la correspondance de Curry-Howard entre preuves et
programmes.
De quoi s'agit-il ? On résume parfois la correspondance de
Curry-Howard en disant que, comme un bon acteur capable de prendre des
rôles très différents, les preuves mathématiques et les
programmes informatiques sont, en fait, fondamentalement la même
chose (et d'ailleurs je suis très content de l'illustration
ci-contre).
À vrai dire, ce raccourci, qui a le mérite d'être mémorable, est un
peu… raccourci. Ce ne sont pas n'importe quelles preuves et surtout,
ce ne sont pas n'importe quels programmes. Côté preuves, il
s'agit a priori de preuves en logique intuitionniste
(c'est-à-dire sans le tiers exclu ; je vais définir les choses
précisément ci-dessous), et même si on peut étendre Curry-Howard à la
logique classique grâce à la
fonction call/cc,
la correspondance obtenue n'est peut-être pas aussi satisfaisante.
Côté programmes, il s'agit de programmes écrits dans des langages
fortement typés dans lesquels la terminaison de tout programme est
garanti : donc ce ne sont pas du tout les langages de programmation
habituels, lesquels permettent des boucles infinies et/ou des appels
récursifs illimités[#] ; il n'y
a rien non plus qui corresponde à des effets de bord (modification de
valeurs, entrées-sorties, rien de tel). Parmi les limites de
Curry-Howard, il y a aussi des différences subtiles dans la
signification de la quantification existentielle (‘∃’) en logique par
rapport aux types sommes (‘Σ’) qui vont faire l'objet de
mon « addendum 1 » plus
bas.
Toujours est-il que, malgré ces limitations, Curry-Howard établit
une correspondance entre, côté logique propositions
et preuves de ces propositions, et, côté
informatique, types dans un langage informatique
fortement typé et termes (i.e., programmes) de ces
types. À un certain niveau c'est même une trivialité (observer qu'on
exactement les mêmes règles de formation des deux côtés : c'est juste
deux façons de voir le même acteur, cet acteur étant une sorte de
λ-calcul qui peut servir soit à désigner des preuves soit à coder des
programmes) ; mais quand même, cette correspondance permet
d'interpréter une preuve comme quelque chose qui va
s'exécuter, prendre des données en entrée et renvoyer des résultats à
la sortie, et c'est assez frappant, et c'est l'essence de ce
qui permet d'extraire d'une preuve constructive un programme réalisant
le calcul qu'elle prétend construire (j'agite un peu les mains ici).
À titre d'exemple, le programme qui correspond à la preuve
« évidente » de A∧B ⇒ B∧A
(si A et B sont vrais, alors B
et A sont vrais) est le programme qui prend en entrée
un couple et échange les deux coordonnées de ce couple (lesquelles
peuvent être de types arbitraires).
[#] Comme je
l'ai déjà signalé ici, autoriser
ces appels récursifs revient très précisément, au niveau preuves, à
autoriser les raisonnements du style suivant : Je veux démontrer
que les poules ont des dents. Je tiens l'affirmation suivante : Si
j'ai raison, alors les poules ont des dents. Clairement, si j'ai
raison (c'est-à-dire, si cette affirmation est vraie), alors les
poules ont des dents. Mais c'était justement mon affirmation : donc
j'ai raison. Donc, par ce qui vient d'être démontré, les poules ont
des dents. Il est peut-être intéressant de s'intéresser à des
logiques paraconsistantes dans lesquelles une telle démonstration
serait permise (et du coup, tout est démontrable, de même que dans un
langage de programmation usuel on peut fabriquer un programme de
n'importe quel type — même le type vide, c'est juste que le programme
ne terminera pas), mais ce n'est pas ce qu'on appelle usuellement une
« démonstration » mathématique.
De façon un petit peu plus détaillée, la correspondance de
Curry-Howard met en regard (je vais essayer d'expliquer ces différents
points dans la suite, donc ceci est un divulgâchis qui a pour but
d'aider à se retrouver dans la masse de mes explications si on décide
de la lire en diagonale) :
propositions avec types ;
preuves avec termes (= programmes) ;
implication logique (P⇒Q) avec types
fonctions (σ→τ, qui correspond aux fonctions
prenant une valeur de type σ et renvoyant une valeur de
type τ) ;
modus ponens (application d'une implication :
si P⇒Q et P alors Q) avec
application d'une fonction (une fonction σ→τ
s'applique à un type σ pour donner un
type τ) ;
ouverture d'une hypothèse (pour démontrer une implication) avec
λ-abstraction (= définition d'une fonction à partir d'un
argument) ;
hypothèses actuellement ouvertes avec variables libres (en
contexte) dans le programme ;
hypothèses déchargées avec variables liées dans le
programme ;
conjonction (et logique : P∧Q) avec
types produits (σ×τ, qui correspond aux données
d'un couple d'une valeur de type σ et d'une valeur de
type τ) ;
disjonction (ou logique : P∨Q) avec
types produits (σ+τ, qui correspond aux données
soit d'une valeur de type σ soit d'une valeur de
type τ, avec un sélecteur qui indique dans quel cas on se
trouve) ;
le vrai (noté ‘⊤’, affirmation tautologiquement vraie) avec le
type unité (ayant une seule valeur, triviale) ;
le faux (noté ‘⊥’, affirmation tautologiquement fausse) avec le
type vide (n'ayant aucune valeur) ;
quantification universelle
∀(v:U).P(v) (qui est une
sorte de « conjonction en famille »
⋀v:UP(v) sur
tous les v de type U) avec types produits en
famille
∏v:Uσ(v) (type
des fonctions prenant un v de type U et
renvoyant une valeur de type σ(v)) ;
quantification existentielle
∃(v:U).P(v) (qui est une
sorte de « disjonction en famille »
⋁v:UP(v) sur
les v de type U) avec types sommes en famille
∑v:Uσ(v) (type
des données d'un v₀ de type U et d'une valeur de
type σ(v₀)).
La correspondance est surtout satisfaisante dans le sens des
preuves vers les programmes, i.e., donnée une démonstration, arriver à
construire un programme. C'est cette direction que je vais essayer
d'exposer ci-après, en laissant globalement de côté la question de si
on obtient tous les programmes de cette façon (ce qui demanderait
d'expliquer précisément ce que sont « tous les programmes », et j'ai
peur qu'on ne puisse avoir qu'une réponse un peu triviale en prenant
la définition de programme qui fait rend Curry-Howard bijectif,
c'est-à-dire de prendre pile-poil ceux qu'on peut fabriquer de la
sorte : c'est en quelque sorte tout l'objet du typage que de
limiter les programmes écrivibles à ceux que la correspondance de
Curry-Howard atteint).
Bref, mon but dans la suite est d'exposer ça plus précisément,
d'abord dans le cas purement propositionnel, c'est-à-dire sans
quantificateurs (c'est nettement plus simple et si ça peut sembler
ennuyeux je pense qu'il a déjà énormément à nous apprendre), et
ensuite dire des choses plus vagues sur les quantificateurs (les
quantificateurs posent toutes sortes de difficultés pénibles sur ce
qu'on a le droit de quantifier exactement), en regardant d'un peu plus
près la logique du premier ordre (qui est la forme de quantification
la plus simple) ; je finis par parler de deux points indépendants (et
que je ne comprends que de façon très imparfaite, donc je serai encore
plus vague et à la limite de l'agitage de mains) : la question du sens
du ‘∃’ d'une part, et l'imprédicativité de l'autre.
L'exposition que je vais faire ici suit pour le début la même idée
que mon cours, pour laquelle on
peut se référer
à ce
jeu de transparents pour la partie propositionnelle, mais je vais
plutôt partir du côté preuves et ne pas entrer dans une description
précise de ce qu'est le λ-calcul simplement typé. En revanche, la fin
de ce billet va nettement au-delà de ce que je compte exposer dans mon
cours (la partie de mon cours sur les quantificateurs est
encore à
l'état d'ébauche au moment où j'écris ce paragraphe, mais de toute
façon je ne vais pas dire grand-chose).
Puisque ce sera le côté « preuves », je commence par des
explications sur la logique intuitionniste (propositionnelle pour
commencer) et sur ses règles de démonstration : on peut aussi se
référer à ce billet passé pour le
contexte général (y compris historique) sur les maths constructives,
et cet autre billet (assez mal
écrit) pour une description un peu différente des règles de la logique
(en style « calcul des séquents »).
Où j'apprends aussi l'informatique en l'enseignant
Ce que j'aime surtout dans le fait d'enseigner, c'est qu'on apprend
souvent soi-même plein de choses sur le sujet qu'on enseigne, surtout
la première fois, et surtout si on crée soi-même le programme du
cours : on croyait bien savoir les choses de loin, mais être obligé de
les regarder de près pour les enseigner oblige souvent à se rendre
compte qu'il y avait une subtilité là où on ne le savait pas (ou qu'on
avait oubliée) ; ça peut éventuellement conduire à une panique zut,
l'approche que je croyais avoir tracée pour ce cours ne marche pas !
comment est-ce que je vais m'en sortir ?, mais souvent on en
ressort bien plus compétent qu'avant : même si la subtilité qu'on a
découverte, finalement, n'est pas enseignée, l'enseignant sera quand
même meilleur (ceci étant, les personnes à qui on enseigne la
première fois risquent de moins goûter l'expérience, et il faut
parfois quelques années pour que la découverte de surprises se tarisse
et que l'enseignant soit rôdé).
Pour prendre un exemple passé précis, en enseignant mon cours de
théories des jeux (notez le pluriel à théories !) à Télécom —
dont les
notes sont
ici si ça intéresse quelqu'un — je me suis rendu compte d'une
subtilité importante dont je n'avais pas du tout pris conscience
avant : quand on parle de stratégie dans un jeu (à information
parfaite), on peut soit s'intéresser aux stratégies qui, pour
prescrire un coup à jouer, dépendent seulement de la configuration
actuelle du jeu (appelons-les stratégies positionnelles), soit
de celles, plus générales, qui dépendent de tout l'historique
de la confrontation jusqu'à ce point (appelons-les
stratégies historiques) ; or, même si la règle du jeu ne dépend
que de la configuration actuelle et pas de l'historique qui a mené à
cette configuration, ce n'est pas du tout évident a priori
qu'une stratégie gagnante dans le sens plus général (historique) soit
forcément traduisible en une stratégie gagnante dans le sens plus
restreint (positionnel) ; et j'avais un peu paniqué, parce que j'avais
construit mon cours autour de la démonstration de l'existence d'une
stratégie gagnante dans un sens via la théorie des jeux de
Gale-Stewart (qui sont intrinsèquement « historiques »), alors que
j'en avais besoin ensuite au sens plus fort (« positionnel ») pour la
théorie de Sprague-Grundy. J'ai réussi à m'en sortir (j'ai écrit des
notes expliquant correctement le lien, voir la section 3.5
du PDF lié ci-dessus), en cours je demande aux élèves
d'admettre ce point en les renvoyant au poly s'ils ne veulent pas
l'admettre, donc finalement je n'enseigne pas vraiment cette
subtilité, mais j'ai été content d'en prendre conscience, et je suis
étonné qu'il soit si peu évoqué, ou si mal expliqué, dans la
littérature scientifique sur le sujet.
Même en donnant un cours d'analyse (dont je n'étais, cette fois,
pas le responsable ni le créateur, mais simple intervenant) j'ai
appris un certain nombre de choses sur le sujet, voyez par
exemple ce billet passé pour
quelque chose que j'ai appris au détour d'un exercice. Et en donnant
un cours d'initiation à la géométrie algébrique, je me rends surtout
compte… que c'est très difficile d'enseigner la géométrie algébrique
et que je ne sais même pas produire une définition d'un morphisme
entre variétés quasiprojectives (l'objet fondamental du domaine, quoi)
qui ne soit pas abominable dans sa complication.
Bref. Cette année, comme je l'ai
raconté ici
et là, j'inaugure un cours
intitulé Logique et Fondements de l'Informatique où je
dois parler de calculabilité, λ-calcul, logique, typage, isomorphisme
de Curry-Howard, ce genre de choses (un programme à vrai dire assez
ambitieux, mais on m'a donné comme consigne de profiter de la création
de la filière MPI en prépa pour viser quelque chose
d'assez sérieux). Des choses, à cheval entre mathématiques et
informatique théorique, qui me plaisent beaucoup (sur la calculabilité
voyez par exemple ce long billet)
et sur lesquelles je pensais ne pas avoir grand-chose à
apprendre… Famous last words!
(La suite de ce billet est essentiellement
un brain dump de quelques unes des choses que
j'ai apprises, réapprises, ou mieux comprises en préparant ce cours
jusqu'à présent. Noter que ça ne veut pas dire que je vais les
enseigner ! Ou du moins pas forcément sous cette forme. Comme les
petits bouts de ce billet, de longueur très inégales, sont assez
indépendants, je les ai séparés par des fleurons : si on n'aime pas ce
que je raconte à un endroit donné, on peut sauter jusqu'au fleuron
suivant.)
❦
Il y a des choses que j'ai apprises en marge de la préparation de
ce cours, sans que ça ait vraiment d'impact dessus. Par exemple,
comment on fabrique des modèles du lambda-calcul non typé (pour ceux
qui veulent en savoir plus là-dessus, j'ai bien aimé
l'article From
computation to foundations via functions and application: The
λ-calculus and its webbed models de Chantal Berline, et
notamment la partie sur les K-modèles, qui m'ont semblé les plus
parlants de tout cette histoire : de façon très sommaire, on
représente un terme par l'ensemble de tous les types qu'on peut lui
attribuer dans un certain système de typage dont les types ne sont pas
disjoints ; en plus ça semble avoir un rapport avec
la réalisabilité, ce qui n'est pas
déplaisant) : ce n'est pas spécialement une difficulté que j'ai
rencontrée, juste quelque chose que j'ai appris au passage.
❦
Il y a aussi des choses que je pensais savoir sans vraiment y avoir
suffisamment réfléchi. Notamment, comment fonctionne au juste
le combinateur
de point fixeY de Curry. J'avais déjà appris il y a
longtemps que dans un langage fonctionnel non typé on peut
faire des appels récursifs sans faire d'appels récursifs, par exemple
(en Scheme) :
(define proto-fibonacci
(lambda (self)
(lambda (n)
(if (<= n 1) n
(+ ((self self) (- n 1)) ((self self) (- n 2)))))))
(define fibonacci (proto-fibonacci proto-fibonacci))
— code la fonction définie
récursivement[#]
par F(n)=n si n≤1
et F(n) = F(n−1)
+ F(n−2) sinon, sans jamais que la
fonction fasse appel à elle-même dans sa définition (c'est, en fait,
l'astuce de Quine — qui n'est pas due à Quine, c'est Hofstadter
qui lui a donné ce nom-là, mais à Cantor, Gödel, Turing et Kleene — et
sur laquelle j'avais écrit
une page alors que mes élèves actuels n'étaient même pas nés).
L'astuce (de Quine qui n'est pas de Quine), donc, c'est qu'on
passe la fonction proto-fibonacci en argument à la
fonction proto-fibonacci, et quand elle a besoin de faire
appel à elle-même, elle applique son argument (self) en
prenant bien soin de lui passer une copie de lui-même, d'où
le self self dans ce code.
[#] Oui, je sais que la
suite de Fibonacci est un très mauvais exemple de récursion parce
qu'en vrai il ne faut pas la coder de façon récursive, c'est
épouvantable pour la complexité ; mais c'est un exemple facile à lire,
donc je le reprends avec cet avertissement qu'il ne faut pas faire
comme ça pour autre chose que pour illustrer les appels récursifs.
Vous noterez bien, donc, qu'il n'y a pas d'appels récursifs dans ce
code. La même astuce de Quine permet de faire un programme qui
s'écrit lui-même même si le langage ne permet pas de faire référence à
lui-même (voyez ma vieille page liée ci-dessus pour tous les détails),
à Gödel de fabriquer un énoncé qui dit je suis indémontrable,
etc. Ici ça sert à ce qu'une fonction s'appelle elle-même même si le
langage ne permettait pas les appels récursifs comme construction
spéciale (par exemple en λ-calcul, il n'y a pas de construction
récursive).
Ici on est dans un langage fonctionnel donc on peut juste appeler
une fonction passé en argument, mais dans un langage non fonctionnel
capable d'écrire un interpréteur de lui-même, on pourrait quand même
simuler les appels récursifs en lançant l'interpréteur (sur
une représentation du code de la fonction !) à chaque fois qu'il est
écrit self self dans le code ci-dessus, ce qui est
la façon la plus mind-blowing de faire de la
récursion, et je ne m'étais pas rendu compte de ça avant de commencer
à préparer ce cours.
Étude critique de vulgarisation mathématique : une petite vidéo d'Arte
La chaîne de télé Arte produit une série de petites vidéos de
vulgarisation scientifique (à destination du grand public) sur les
mathématiques
appelée Voyages
au pays des maths (on les
trouve ici sur le site web
d'Arte
ou ici sur YouTube) : je
n'en ai regardé qu'une partie (via leur site Web : je ne suis pas
tombé dessus à l'antenne, mais c'est juste parce que je n'allume
jamais la télé), mais celles que j'ai vues me semblent globalement
correctes : il y a parfois des affirmations douteuses ou qui peuvent
induire des idées fausses mais je n'ai rien entendu dans celles que
j'ai regardées qui me fasse bondir au plafond ; la présentation est
plutôt pas mal au sens où j'ai l'impression que tout le monde peut
accrocher au moins un peu, et comme chacune dure 10 minutes, même si
on n'aime pas, on n'a pas le temps de s'endormir et je pense que ça
peut convaincre des gens d'essayer au moins de s'intéresser un minimum
au genre de choses sur lesquelles les maths se penchent. (Je peux
éventuellement reprocher au choix des sujets, même s'il est
agréablement éclectique, de
mélanger des choses qui sont des problèmes profonds et difficiles avec
des petites curiosités qui ne font pas l'objet de recherches ; ce
n'est pas grave en soi, mais il faudrait peut-être mieux expliquer au
public ce qui tombe dans chaque catégorie.)
Comme je l'avais raconté dans cette
entrée passée de ce blog, je suis moi-même intéressé par la
vulgarisation mathématique, pas pour le contenu de ce que ça raconte,
mais pour apprendre à améliorer ma propre présentation des choses,
qu'il s'agisse de vulgarisation, d'enseignement (ou même d'exposition
à des pairs), et à tous les niveaux (du grand public aux
chercheurs).
Or il se trouve justement que dans cette série Voyages au
pays des maths est paru un épisode
intitulé L'Entscheidungsproblem ou la fin des
mathématiques ?
(visible ici sur le site web d'Arte
ou ici sur YouTube) qui porte sur le même sujet — la
calculabilité — sur lequel j'ai récemment
publié les transparents d'un cours
que j'inaugure cette année à Télécom Paris (et
aussi un billet qui se veut grand
public sur un thème apparenté).
Du coup je suis curieux de savoir comment ce genre de vulgarisation
est jugé par le grand public : j'apprécierais si des personnes qui
lisent mon blog, surtout celles qui ne sont pas
mathématiciennes, idéalement même pas scientifiques, pouvaient
regarder cette vidéo de 10 minutes et me dire ce qu'elles en pensent :
ce qu'elles en retiennent, si elles ont l'impression de comprendre les
enjeux évoqués, quels passages sont clairs, lesquels ne le sont pas, ce
genre de choses, et si elles sont d'accord avec mes critiques qui vont
suivre.
(Si possible, merci de regarder la
vidéo avant de lire la suite pour ne pas se laisser
influencer par mes propres remarques qui vont suivre ; et aussi tout
bêtement parce qu'elles sont sans doute difficiles à lire si on n'a
pas vu la vidéo avant.)
Comme je le disais il y a un
mois, je me suis engagé à organiser à Télécom
Paris(PlusÀParis) un cours
de Logique et Fondements de l'Informatique où je dois
parler de calculabilité, logique et typage. Je suis évidemment
complètement à la bourre sur la préparation de ce cours, qui
commence , mais
bon, j'ai au moins provisoirement fini d'écrire des transparents pour
la partie « calculabilité » qui devrait occuper, je pense, bien 6h de
cours (sur 22h au total pour le cours magistral ; il y a
des TD/TP à côté). Autant que je rende ça
public dès maintenant, des fois que des gens voudraient m'aider à
corriger les fautes. Donc :
(Je compte concaténer ceux de la suite du cours
quand il seront écrits. Je ne sais pas encore comment je veux diviser
ça donc ce n'est pas évident de choisir des adresses
intelligemment.)
J'ai à peine commencé à les relire, donc c'est certainement bourré
de typos et de fautes plus ou moins graves. J'espère quand même qu'il
n'y a pas d'erreur tellement grave qu'elle m'obligerait à tout
restructurer.
Si vous faites des commentaires, pensez à me donner l'identifiant
Git (en bas du premier transparent) auxquels ils se rapportent. (Au
moment où j'écris ce billet, c'est 31080ea Wed Nov 1 11:06:40
2023 +0100 ; l'arbre Git avec le
source est
ici.)
Il faut préciser que ça s'adresse à des élèves ayant déjà fait de
l'informatique en prépa (filière MPI ou
filière MP option info, plus quelques uns venus de
licences d'info ; les programmes des classes
prépa sont
ici), donc d'une part ce n'est pas comme s'ils découvraient tout,
d'autre part on peut les espérer motivés par le sujet.
Dans cette partie calculabilité, je présente les fonctions
primitives récursives et surtout générales récursives, les machines de
Turing et le λ-calcul non typé, l'esquisse de l'équivalence entre les
trois présentations de la calculabilité (fonctions générales
récursives, machines de Turing et λ-calcul non typé), ainsi que divers
résultats classiques fondamentaux : théorème s-m-n, théorème de
récursion de Kleene, existence d'une machine universelle, résultats
élémentaires sur les ensembles décidables (= calculables) et
semi-décidables (= calculablement énumérables), et bien sûr
l'indécidabilité du problème de l'arrêt (et aussi l'incalculabilité de
la fonction « castor affairé »). Dans la suite du cours, il est prévu
de parler de λ-calcul simplement typé en lien avec le calcul
propositionnel intuitionniste, puis de diverses extensions (logique
classique, logique du premier ordre, et évoquer divers bouts du cube
de Barendregt). Le fil conducteur du cours est censé être quelque
chose comme ceci : L'indécidabilité du problème de l'arrêt signifie
que tout langage informatique qui garantit la terminaison des
programmes est nécessairement limité ; des systèmes de typage de plus
en plus puissants cherchent à rendre cette limitation aussi faible que
possible.
J'ai renoncé à parler, même allusivement, de machines avec oracle
ou de degrés de Turing ; mais les gens qui veulent en savoir plus sur
ce sujet peuvent se référer à ce billet
interminable pour lequel les notes ci-dessus suffisent largement
en matière de prérequis.
Ajout () : Suivant ce qu'on
m'a fait remarquer en commentaire, j'ai ajouté (Git 1cdc719 Thu
Nov 2 17:08:48 2023 +0100) des choses sur le théorème de Rice
et les réductions (many-to-one et de Turing). Il
est cependant vraisemblable que j'en saute au moins une partie.
Le fait de me replonger dans le λ-calcul non typé, et de vouloir en
savoir plus que le minimum que j'enseigne, m'a obligé à réapprendre
plein de choses à son sujet[#],
que j'avais complètement oublié ou jamais sues, et redécouvrir toutes
les petites crottes de ragondin qui polluent un sujet qui a
superficiellement l'air simple et élégant (comme : la différence entre
β-réduction et βη-réduction, la différence entre termes normalisables
et fortement normalisables, la différence entre stratégie de réduction
extérieure gauche et intérieure gauche, la différence entre forme
normale, forme normale de tête et forme normale de tête faible,
etc.) ; le livre de Barendregt (The Lambda
Calculus: Its Syntax and Semantics) est assez abominable en
matière de dissection de crottes de ragondin, et celui de Krivine
(Lambda-calcul : types et modèles — disponible en ligne
en traduction
anglaise) ne l'est pas moins. Un des problèmes est sans doute
qu'on n'a pas vraiment idée de ce que sont les termes du
λ-calcul non typé (prima facie, ce sont des fonctions qui
prennent en entrée une autre fonction de même sorte et renvoient une
autre fonction de même sorte : ce n'est pas du tout clair qu'on puisse
fabriquer un objet qui soit aussi l'objet des morphismes de lui-même
dans lui-même !) : divers gens (en commençant par Dana Scott à la fin
des années 1960) ont réussi à en donner des modèles, ce qui éclaircit
un peu la sémantique, mais là aussi on se perd entre les différentes
manières de fabriquer des modèles du λ-calcul et les zillions de
relations d'équivalence entre types que fournissent ces façons de
fabriquer des modèles. (J'ai commencé à lire plein de choses sur le
sujet, et surtout à me noyer dans les notations pourries. J'espère
que
l'article From
computation to foundations via functions and application: The
λ-calculus and its webbed models de Chantal Berline
m'aidera à y voir plus clair.)
Je suis assez étonné, en revanche, de ne pas trouver
d'implémentation (libre, flexible et largement disponible) du λ-calcul
non typé, qui permettrait de tester un peu les choses (transformer les
notations, réécrire les termes à la main ou de façon automatisée,
comparer les stratégies de réduction, etc.). Est-ce que j'en ai raté
une évidente ?
[#] La première fois que
j'ai appris des choses sur le λ-calcul, ça devait être vers 1990 quand
on m'a offert le livre de vulgarisation
scientifique The
Emperor's New Mind de Roger Penrose (j'en ai parlé
dans une
section d'une entrée récente),
qui décrit un peu le λ-calcul et les entiers de Church, et ça m'a
complètement fasciné que des règles typographiques aussi simples et
élégantes (← mais bon, en fait, une bonne quantité de poussière avait
été glissée sous le tapis) puissent donner quelque chose d'aussi
puisant.
Ajout () : Par pure
coïncidence, la chaîne de télé Arte vient de produire, dans le cadre
de sa série Voyages au pays des maths, un
mini-documentaire de vulgarisation (10 minutes)
intitulé L'Entscheidungsproblem ou la fin des
mathématiques ?
(ici sur
YouTube, ici sur le site web d'Arte) et qui porte
justement sur le sujet dont je parle ici. Je ne suis pas d'accord
avec tous les choix de présentation, mais ça donne au moins une idée
de ce dont il est question (et notamment, tenter de vulgariser
l'équivalence entre fonctions générales récursives, machines de Turing
et λ-calcul était un défi pas du tout évident, et je trouve qu'il s'en
sort pas mal). Surajout :
voir ce nouveau billet où je
décortique un peu plus cette vidéo.
Ajout () : j'ai fait un
bilan de la première année de ce cours
dans un billet ultérieur.
Oracles en calculabilité : degrés de Turing et diverses généralisations
Avant-propos et motivation
Avant-propos : J'ai publié il y a quelque
temps un billet de vulgarisation
sur la notion d'« oracle » en informatique théorique. Ce billet-là
(qui se veut grand public) était initialement destiné à être
l'introduction à celui-ci (plus technique — mais, j'espère, pas
incompréhensible pour autant), mais j'ai décidé de les publier
séparément parce qu'ils sont, en fait, à peu près indépendants : on
peut donc commencer par lire celui-là si on veut une sorte
d'explication introductive et de motivation du sujet, mais ce n'est
pas nécessaire non plus.
Ce billet-ci, plus technique mais j'espère pas incompréhensible
pour autant (voir le paragraphe suivant pour les prérequis), vise à
présenter la notion classique de degré de Turing, et ensuite diverses
généralisations de celles-ci dans la recherche contemporaine en
logique / calculabilité. Mais je trouve aussi intéressant de
vulgariser la notion (classique) de non-déterminisme et celle (pas du
tout classique, mais que je trouve très intéressante) de
« co-non-déterminisme » (le terme est de moi).
Pour ce qui est des prérequis, ce billet-ci s'adresse à des
lecteurs qui savent déjà les bases de la calculabilité : c'est-à-dire
en gros, ce qu'est une machine de Turing ou un algorithme
(c'est-à-dire au moins approximativement : je n'ai pas l'intention de
rentrer dans quelques détails que ce soit sur les état et les bandes),
et une fonction calculable (c'est-à-dire, calculable au sens de
Church-Turing), ce genre de choses. Je vais essayer de faire en sorte
de ne supposer connu (outre des maths générales, du genre ce que c'est
qu'une fonction, un ensemble, une partie, une bijection, un ordre, une
relation d'équivalence…) que le contenu du chapitre 5 (Introduction
à la calculabilité) des notes de mon
cours Théorie
des langages à Télécom, auquel je peux donc renvoyer pour ces
notions de base en calculabilité (en attendant
un nouveau cours sur le
sujet). • Ajout () : la
première partie des transparents de mon nouveau cours
est disponible ici.
En tout cas, je ne suppose pas connu la notion de degré de
Turing puisque mon but est justement de l'expliquer et de voir comment
on peut aller plus loin. (Néanmoins, soyons honnête, les lecteurs
déjà un minimum familiers du concept trouveront sans doute mon billet
plus facile à suivre que si on le découvre pour la première fois
ici.)
Mon but ici est d'abord de définir la notion (tout à fait standard)
de réduction de Turing et de degré de Turing, puis de
présenter des extensions de ces notions qui me semblent à la fois très
importantes et profondément naturelles. J'ai appris l'existence de
ces notions en lisant deux articles d'un certain Takayuki
Kihara, Lawvere-Tierney
topologies for computability theorists
et Rethinking
the notion of oracle (et dans une moindre
mesure Degrees
of incomputability, realizability and constructive reverse
mathematics, mais je n'ai pas fini celui-là) : je cherche donc
à la fois à faire de la pub pour ces articles et pour les notions
qu'ils contiennent (parce qu'elles ont vraiment changé la manière dont
je pense à la calculabilité), à montrer que ces notions ne sont pas
terriblement techniques, et aussi simplement à assurer ma propre
compréhension de ces articles en en réexposant certains bouts à ma
façon. En outre, j'espère avoir apporté quelques éléments d'intuition
utiles derrière certaines des définitions ou des concepts que
j'expose. Je trouve particulièrement intéressante la notion de
« co-non-déterminisme » (le passage du niveau T2 au niveau T3), donc
mon but est notamment de faire de la pub pour ce concept (qui pourrait
sans doute s'avérer fécond en-dehors de la calculabilité).
(Notons que j'attribue ces notions à Kihara, qui
les a au moins synthétisées, et c'est par lui que je les ai apprises ;
mais je ne prétends pas qu'il a tout inventé — il a plutôt réussi à
relier, reformuler et réexposer de façon extrêmement convaincante des
notions dont certaines figuraient déjà ailleurs : je renvoie aux
références de ses papiers pour les citations antérieures, mais je peux
par exemple
mentionner Basic
Subtoposes of the Effective Topos de Lee & van Oosten,
ou Instance
reducibility and Weihrauch degrees de Bauer, qui sont dignes
d'intérêt si on apprécie le sujet.)
Bref, je veux commencer par expliquer ce qu'est un degré de Turing
ordinaire (celui d'une fonction — totale, simplement valuée — ℕ→ℕ),
puis donner trois extensions successives de cette notion (je vais
parler de degrés T1, T2 et T3 faute de meilleure
terminologie — Kihara n'en introduit pas vraiment). en expliquant ce
qu'elles changent, et si possible pourquoi elles sont naturelles et
intéressantes, et ce qu'on peut en dire : d'abord (T1) aux fonctions
partielles, puis (T2) aux fonctions multivaluées (ou
non-déterministes), et enfin (T3) aux « fonctions avec conseil » (une
sorte de « co-non-déterminisme »). Enfin, je veux essayer d'expliquer
pourquoi on a fait la « bonne » généralisation, et pour ça, je donne,
en guise de dessert, une construction tout à fait différente des
degrés (T1, T2 et surtout) T3 qu'on aura définis par des opérateurs
effectifs locaux (et évoquer brièvement le lien avec le topos
effectif, sur lequel j'ai
récemment écrit un billet, mais je
ne suppose pas qu'on ici l'a lu).
Conseil de lecture (en guise
de leitfaden) : Je sais que j'ai tendance à
entrer parfois dans de grandes digressions pas forcément tellement
utiles. J'ai essayé de les marquer comme telles (par des petits
caractères, ou en disant dès le début d'une section qu'on peut sauter
celle-ci) ; je n'ai sans doute pas toujours marqué tout ce qui pouvait
être sauté, mais les dépendances entre sections ne sont pas énormes.
Même si on n'a pas lu tout ce qui précède, je pense que ça vaut la
peine de goûter
le dessert (surtout
si on n'est pas convaincu par l'intérêt des définitions qui ont
précédé, car, après tout, il s'agit plus ou moins de les justifier).
Et surtout, je pense que ça vaut la peine de jeter un coup d'œil à
la définition des
degrés T3 pour la définition du « co-non-déterminisme », ou
simplement parce que le jeu à trois joueurs entre Arthur, Nimué et
Merlin est vraiment rigolo.
La notion la plus standard est la réduction de
Turing ordinaire (j'ajoute ordinaire parce que toutes
les notions qui viennent peuvent légitiment être aussi qualifiées
de réduction de Turing), et je vais commencer par la définir
précisément et dire quelques choses basiques à son sujet. Elle
concerne les fonctions ℕ→ℕ (c'est-à-dire, totales, prenant une seule
valeur pour chaque entier naturel), ou éventuellement ℕ→{0,1} mais ça
ne changera rien à l'histoire.
Une fonction f:ℕ→ℕ est dite réductible au sens
de Turing (=Turing-réductible) à une
fonction g:ℕ→ℕ, ou bien calculable avec g
pour oracle, et on note
(disons) f ≼Tg, lorsqu'il existe une
machine de Turing (i.e., un algorithme) qui calcule f en
ayant accès à un oracle calculant g, c'est-à-dire un gadget
magique capable de fournir à l'algorithme la valeur de g en
tout point souhaité.
Plus précisément, f ≼Tg signifie
qu'il existe une machine de Turing qui, quand on lui donne un
entier n en entrée, termine toujours en temps fini et
calcule f(n) comme sortie (peu importent les
manières dont n et f(n) sont codés
sur la bande de la machine de Turing tant que c'est raisonnable),
sachant que la machine dispose de l'accès à un oracle qui peut
calculer g(m) pour n'importe quel m
donné. (Voici un exemple de protocole d'interrogation de l'oracle :
la machine écrit m sur un ruban dédié, entre dans un état
spécial interrogation de l'oracle, l'oracle
remplace m par g(m) et place la
machine dans l'état réponse de l'oracle ; mais les détails sont
peu importants tant qu'on parle de calculabilité.) La machine peut
interroger l'oracle autant de fois qu'elle le souhaite (y compris pas
du tout, mais ça ne changerait d'ailleurs rien si on imposait
d'appeler l'oracle puisqu'on peut ignorer sa réponse), et elle
l'interroge sur les valeurs qu'elle veut et fait ce qu'elle veut des
réponses : la réponse de l'oracle pour une valeur m est
toujours exactement g(m), et c'est tout. (Le
temps d'interrogation de l'oracle est une étape de calcul, mais ceci
est peu important puisqu'on parle de calculabilité et pas de
complexité.)
En particulier, toutes les fonctions calculables (c'est-à-dire :
sans oracle) sont réductibles à n'importe quelle fonction, tout
simplement en utilisant un programme qui ne fait aucun appel à
l'oracle (en particulier, elles sont réductibles les unes aux autres,
ou par exemple à la fonction constante égale à zéro).
J'insiste bien (parce que c'est ce qui va changer dans la suite)
sur le fait que cette réduction de Turing « ordinaire » concerne des
fonctions totales. Notamment, l'algorithme réputé
calculer f en ayant g pour oracle est censé
terminer pour toute valeur n qu'on lui fournit en entrée
(du moins tant que n est une représentation légitime d'un
entier naturel, et la valeur calculée doit aussi en être une ; mais là
non plus, ces subtilités ne changent essentiellement rien). Je
réitère aussi le fait que la consultation de l'oracle n'est pas
limitée (ou payante) : l'algorithme a le droit de s'en servir aussi
souvent qu'il le veut.
La réduction de Turing (ordinaire, mais ça restera vrai pour les
généralisations que je vais introduire après) ≼T forme ce
qu'on appelle un préordre (relation réflexive et transitive)
sur l'ensemble des fonctions ℕ→ℕ, c'est-à-dire que :
d'une part, f ≼Tf : toute
fonction f est Turing-réductible à elle-même (c'est
évident) ; et
d'autre part, f ≼Tg
et g ≼Th
impliquent f ≼Th : si f
est Turing-réductible à g et que g est
Turing-réductible à h, alors f est
Turing-réductible à h (c'est assez facile à voir : si je
sais calculer f en utilisant g et que je sais
calculer g en utilisant h, alors pour
calculer f en utilisant h je vais utiliser
l'algorithme qui me permet f au moyen de g et, à
chaque fois que cet algorithme fait appel à l'oracle, j'utilise le
programme qui me permet g au moyen de h à la
place, en utilisant l'oracle donnant h comme boîte
noire).
Ce qui manque à une relation de « préordre » pour être un ordre,
c'est l'antisymétrie, et c'est justement ce qui justifie la définition
suivante.
On dit que f et g
sont Turing-équivalentes ou de même degré de
Turing quand chacune est réductible à l'autre (i.e., on peut
calculer f en ayant un oracle qui donne g, et
réciproquement) : c'est-à-dire qu'on note
(disons) f ≡Tg
lorsque f ≼Tg
et g ≼Tf. Ceci est une relation
d'équivalence (c'est la notion de relation d'équivalence associée à un
préordre) : les classes d'équivalence sont appelées les degrés
de Turing. Autrement dit, le degré de Turing
[f]T de f est l'ensemble
{g:ℕ→ℕ : g ≡Tf} de toutes
les fonctions ℕ→ℕ qui sont Turing-équivalentes à f, et
notamment, elles sont toutes Turing-réductibles les unes aux autres.
C'est-à-dire que deux fonctions sont Turing-équivalentes exactement
quand elles ont le même degré de Turing.
Intuitivement, un degré de Turing est la mesure de la puissance
d'un oracle. On peut aussi considérer que c'est une forme
d'« impossibilité à calculer » la fonction ou bien de « quantité
d'information » (totale) contenue dans la fonction f (mais
ce n'est pas exactement la même façon de la mesurer que, disons, la
complexité de Kolmogorov, pour ceux qui savent ce que c'est que ça :
il y a des rapports, bien sûr, mais disons très sommairement que le
degré de Turing est une mesure plus grossière que la complexité de
Kolmogorov ; comme ce n'est pas mon propos ici, je ne vais pas en dire
plus).
Le « préordre » de la réduction de Turing devient un vrai ordre
(partiel) sur les degrés de Turing : on dit qu'un degré de
Turing f est inférieur ou égal à un degré de Turing g,
et on note f≤g, lorsque une (ou, ce qui revient au même,
toute) fonction du degré f est Turing-réductible à une (ou, ce
qui revient au même, toute) fonction du degré g. (Autrement
dit, [f]T ≤ [g]T signifie
par définition exactement la même chose
que f ≼Tg.)
Parmi les degrés de Turing, il en est un plus petit, qu'on
note 0, c'est celui des fonctions calculables (c'est notamment
celui de la fonction constante égale à 0, c'est-à-dire un oracle qui
ne répond rien d'intéressant, et on peut voir ça comme une raison de
cette notation ; si on préfère, c'est la puissance des oracles qui
n'ont aucun intérêt comme oracles parce qu'on peut les calculer
directement sans oracle).
Vulgarisation sur la notion d'oracle en informatique théorique
Méta : Ce billet est un rejeton d'un autre que
j'ai commencé à rédiger sur un sujet technique (à savoir : les oracles
en calculabilité au sens de Kihara) : en écrivant ce dernier je me
suis dit que j'allais commencer par une introduction générale
essentiellement grand public à la notion d'oracle (qu'est-ce que c'est
que ce truc et pourquoi on les étudie ?). Mais finalement, comme
cette introduction générale devenait un peu longue, et surtout comme
elle ne vise en fait pas du tout le même public (ce qui suit ne se
veut pas technique, le billet dont il est détaché présuppose des
connaissances en calculabilité), et aussi parce qu'il y a toujours un
risque que je ne finisse pas ce que je commence, je choisis de la
publier séparément, plutôt que risquer de rebuter les lecteurs de l'un
ou de l'autre. Du coup, je développe aussi un peu plus largement que
ce qui était initialement prévu, au risque de rendre ce billet un peu
bancal parce que j'ai repris plusieurs fois certains passages en
changeant mon approche (notamment à force d'insérer des explications
plus détaillées de choses que j'avais évoquées ailleurs, j'ai créé un
certain nombre de redites : je pense qu'elles ne sont pas graves et
j'ai la flemme de les traquer).
Quand (si !) je publierai l'autre billet, j'ajouterai un lien ici
et réciproquement, pour qu'on puisse les lire successivement comme
c'était initialement
prévu. • Ajout : c'est
ici.
À cause du fait que j'essaie de viser un public très large, je ne
vais pas donner de définitions mathématiques précises (si j'utilise un
terme technique comme exponentiel, on peut se contenter d'une
idée très approximative de ce que c'est) ; mais du coup, il faut que
prévienne que je vais dire des choses qui seront parfois techniquement
incorrectes (même quand j'oublie de prendre les précautions oratoires
du type très grossièrement, approximativement parlant,
etc.). J'espère ne rien avoir dit de violemment faux, quand même,
mais tout est à prendre avec les pincettes de rigueur : il s'agit
juste de donner une toute petite idée du type de questions qu'on peut
se poser dans quelques parties de l'informatique théorique et d'un
outil intéressant (la notion d'oracle) pour y répondre et poser
d'autres questions, pas de rentrer dans le moindre détail technique
(pour ça, il y aura le deuxième volet, indépendant de celui-ci).
Pour les lecteurs qui ont la patience d'aller jusqu'au bout, il y a
une petite énigme de
logique(?) à la fin ; en
fait, elle ne nécessite pas d'avoir lu ce qui précède, donc on peut la
lire directement. (Bon, je ne sais pas si elle est intéressante, et
je ne sais pas non plus à quel point elle est difficile. Je ne suis
même pas complètement convaincu qu'elle ait un rapport avec le sujet,
même si le contexte où je l'ai lue a clairement un rapport.)
Le concept d'oracle dont il est question ici est vient de
l'informatique théorique (le terme oracle apparaît dans la
thèse d'Alan Turing en 1938). Je voudrais essayer d'expliquer de
façon très informelle, très vague aussi malheureusement (mais,
j'espère, du coup, assez grand public) ce dont il est question.
Une partie de l'informatique théorique (l'algorithmique)
s'intéresse, de façon positive, à trouver des moyens de résoudre des
problèmes (mathématiquement bien définis), c'est-à-dire à concevoir
des algorithmes qui les résolvent : un algorithme est
un programme, un plan d'opération susceptible d'être mené dans un
ordinateur — mais aussi en principe par un humain particulièrement
patient — qui effectue une tâche calculatoire donnée. Par exemple, la
manière dont on apprend à faire des additions et des multiplications à
l'école primaire sont des algorithmes, même si ce ne sont pas
forcément les plus intéressants, ils ont le mérite de nous rappeler
qu'un algorithme ne tourne pas forcément sur un ordinateur, on peut
aussi l'exécuter à la main (ce sera juste quelques milliards de fois
plus lent…) ; d'ailleurs, le mot algorithme fait référence au
mathématicien persan (écrivant en langue arabe) Muḥammad ibn Mūsá
al-H̱wārizmī parce qu'il a décrit toutes sortes de méthodes
systématiques pour résoudre des problèmes mathématiques, qu'on peut
donc légitimement qualifier d'algorithmes, et c'était plus de 1000 ans
avant l'invention des ordinateurs.
(Petite digression sur le terme algorithme : il semble qu'un
mélange entre l'incompréhension des journalistes face à tout ce qui
est technique et l'approximation des termes utilisés dans le contexte
de l'intelligence artificielle ait
fait dévier le sens du mot, dans l'image qu'en a le grand public, vers
une sorte de synonyme de système opaque auquel on ne comprend
rien. Certainement beaucoup de programmes utilisés dans
l'ingénierie informatique moderne (notamment tout ce qui relève de
l'IA) comportent énormément d'heuristiques et de méthodes
mal comprises, parfois même mal comprises de leurs programmeurs ou
concepteurs, et dont la réponse est parfois fausse ou mal spécifiée.
Mais le sens d'algorithme en algorithmique désigne au contraire
un plan bien défini et bien compris qui arrive à un résultat bien
spécifié.)
Mais d'autres parties de l'informatique théorique s'intéressent non
pas à concevoir des algorithmes efficaces pour résoudre tel ou tel
problème, mais à se pencher sur la notion même d'algorithme et les
limites théoriques du concept : que peut-on faire avec un
ordinateur ?
Spécifiquement, on s'intéresse alors plutôt à des
résultats négatifs : plutôt que résoudre tel ou tel problème
c'est-à-dire concevoir un algorithme qui le résout, on s'attache à
montrer que tel ou tel problème est difficile (long et
coûteux) voire impossible à résoudre par un algorithme, ou au
moins, à étudier cette difficulté, à la classifier et à la jauger. Je
reste délibérément vague sur ce qu'un problème peut recouvrir
ici et ce que difficile veut dire, mais je peux délimiter ici
trois grands domaines où ce que je veux dire s'applique, et j'en
profite pour parler un peu plus longuement de chacun des trois, en
gros du plus théorique vers le plus appliqué (il n'est pas nécessaire
de lire tout ce que j'écris sur chacun ci-dessous pour passer à la
suite, mais je cherche à donner un minimum de contexte) :
La théorie de la calculabilité est la branche de
l'informatique théorique (possiblement la plus proche des
mathématiques pures, et notamment de la logique) qui étudie ce qu'on
peut faire algorithmiquement avec des ressources illimitées,
c'est-à-dire, en disposant d'un temps illimité et d'une mémoire
illimitée. (Le mot illimité signifie ici fini mais
arbitrairement grand, sans limite a priori :
c'est-à-dire que les algorithmes en question doivent s'arrêter un jour
en disant j'ai terminé, mais ils ont le droit de prendre autant
de temps qu'ils veulent, tant que ce temps est fini ; idem
pour la mémoire : ils ont le droit de stocker toutes les données
qu'ils veulent tant que cet espace utilisé reste fini à tout moment.
C'est donc la forme la plus abstraite et théorique de la
question que peut-on faire avec un ordinateur ? qui est étudiée
ici, et elle déborde sur des questions du type comment peut-on
imaginer des types de machines fondamentalement et théoriquement plus
puissantes qu'un ordinateur même si elles ne sont pas réalisables en
pratique ? — mentionnons par exemple que même un ordinateur
quantique, qui si on réussissait à en construire serait pour certains
types de problèmes incroyablement plus efficace qu'un ordinateur tel
que nous disposons actuellement, ne représente pas un saut qualitatif
tel qu'il peut intéresser la calculabilité : pour la calculabilité, un
ordinateur quantique, un ordinateur classique, un système d'engrenages
mécaniques ou encore un humain extrêmement patient et systématique
muni d'un stylo et d'un papier et exécutant mécaniquement des
opérations prédéfinies valent exactement la même chose.)
La calculabilité est un peu la mère de l'informatique, parce que
c'est au travers de la recherche d'une formalisation de ce qu'est un
algorithme, et ce qu'un algorithme peut faire, qu'Alonzo Church et son
étudiant Alan Turing sont arrivés au concept de calculabilité ; la
définition précise d'algorithme à laquelle Turing est arrivé,
la machine de Turing, est considéré comme une
préfiguration théorique de ce qu'est un ordinateur.
Un des thèmes majeurs de la calculabilité, donc, c'est de montrer
que, pour des raisons théoriques, certains types de problèmes
(mathématiquement bien posés) ne sont pas résolubles
algorithmiquement : même avec un temps illimité(-mais-fini) à votre
disposition, et autant de mémoire, vous ne pourrez pas écrire un
algorithme qui répond à coup sûr à certaines questions qui admettent
pourtant une réponse bien définie.
L'exemple archétypal à ce sujet est le problème de
l'arrêt : très grossièrement, ce problème demande justement,
donné un algorithme, i.e., une suite d'instructions à exécuter (qui
peut, bien sûr, contenir des boucles, du type répéter les
instructions suivantes tant qu'une certaine condition n'est pas
vérifiée), et des valeurs à fournir en entrée à cet algorithme, si
l'algorithme en question finit (i.e., si le calcul aboutit à un
résultat). Le théorème majeur de Turing, qui est à la base de la
théorie de la calculabilité (et donc, dans un certain sens, de
l'informatique ; mais à l'origine il s'y intéressait pour des raisons
liées à la logique mathématique et spécifiquement au théorème de
Gödel), c'est qu'aucun algorithme ne peut résoudre le problème de
l'arrêt : autrement dit, aucun algorithme ne peut dire à coup sûr si
un autre algorithme s'arrête au bout d'un temps fini. (La seule façon
de savoir est de l'exécuter, ce qu'on peut faire, mais quand on
l'exécute, tant qu'il n'est pas fini, on n'est jamais sûr si le
programme finira par terminer plus tard.) La raison de cette
impossibilité est d'ailleurs étonnamment bête une fois qu'on a fait le
travail de formalisation pour rendre rigoureuse la théorie : en gros,
si un algorithme existait qui puisse dire à coup sûr si un algorithme
donné s'arrête, on pourrait faire un algorithme qui l'interroge et
fait le contraire de ce qu'il a prédit, ce qui le met en défaut.
(C'est ce qu'on appelle un argument diagonal de Cantor.)
La calculabilité ne se contente pas, en fait, de définir des
problèmes résolubles ou non résolubles algorithmiquement, et de le
montrer : il y a des problèmes plus ou moins impossibles à résoudre,
et l'étude des degrés d'impossibilité (par exemple les degrés
de Turing dont je dirai un mot plus bas, et que je définirai
précisément dans le volet technique de ce billet) est un sujet de
recherche qui court depuis Turing, mais l'outil de base pour ne
serait-ce que formuler ce genre de questions est la notion d'oracle
que je vais chercher à introduire ici.
La théorie de la complexité [algorithmique],
cherche à être plus fine que la calculabilité : alors que la
calculabilité donne aux algorithmes l'accès à des ressources (temps,
mémoire) illimitées-mais-finies, la complexité s'intéresse à des
problèmes résolubles par un algorithme, mais cherche à mesurer combien
de temps ou de mémoire (ou parfois d'autres ressources) un algorithme
devra utiliser, en fonction de la taille du problème qu'on leur pose,
lorsque cette taille devient très grande. (Par exemple, combien
d'étapes faut-il pour multiplier deux nombres de 100 chiffres ? de
1000 chiffres ? de 10 000 chiffres ? Avec l'algorithme qu'on apprend
à l'école primaire, la réponse est en gros 10 000, 1 000 000 et
100 000 000 respectivement, parce qu'il faut multiplier chaque chiffre
du multiplicande par chaque chiffre du multiplicateur avant d'ajouter
tout ça : en complexité on appelle ça un
algorithme quadratique. En fait, on peut faire beaucoup plus
efficacement, et
d'ailleurs au
moins un algorithme de multiplication plus efficace sur les grands
nombres que l'algorithme appris à l'école primaire peut vraiment
servir à la main — enfin, pourrait servir à la main si on était dans
un monde où nous n'avions pas un ordinateur en permanence avec
nous.)
La complexité est donc une discipline un peu plus applicable au
monde réel que la calculabilité : alors que la calculabilité va nous
donner des réponses du type vous ne pouvez pas résoudre ce problème
avec un ordinateur, quel que soit le temps que vous soyez prêt à
attendre ou oui vous pouvez, mais je n'ai aucune idée du temps
nécessaire parce que ce n'est pas mon sujet, la complexité va
chercher à voir plus précisément dans la deuxième catégorie entre des
problèmes théoriquement-résolubles-mais-absolument-pas-en-pratique (un
peu comme si vous cherchiez à multiplier à la main deux nombres de
1 000 000 000 000 chiffres… oui, en principe c'est possible) et des
problèmes un peu plus abordables en pratique. (La complexité va aussi
faire la différence entre différents types d'ordinateurs qui, pour la
calculabilité sont équivalents, par exemple un ordinateur quantique
permet plus de choses du point de vue de la complexité parce qu'il
peut en quelque sorte mener plein de calculs en parallèle ; alors
qu'en calculabilité il ne change rien du tout par rapport à un
ordinateur classique.)
Néanmoins, la complexité reste une discipline assez théorique parce
qu'elle se penche sur le temps (ou la mémoire, ou une autre ressource)
utilisés asymptotiquement : ici, asymptotiquement veut
dire quand la taille de l'entrée de notre problème (i.e. l'instance
précise) devient extrêmement grande (tend vers l'infini).
C'est-à-dire que le but de la complexité n'est pas de savoir si vous
allez prendre exactement tel ou tel temps pour multiplier deux grands
entiers (disons) mais comment ce temps grandit quand les entiers
deviennent très grands (est-ce que doubler la taille des nombres
double le temps qu'il faut pour faire la multiplication ? plus ?
moins ?). Tout simplement parce que c'est un peu plus abordable comme
type de question (et que c'est déjà utile dans la pratique).
La complexité définit toutes sortes de catégories de problèmes en
fonction de la difficulté à les résoudre, mesurée sous la forme des
ressources qu'on accepte d'allouer à un algorithme qui les résout.
(Par exemple, de façon approximative, un problème est
dit EXPTIME ou EXPSPACE s'il existe un algorithme qui le
résout et dont le temps d'exécution ou respectivement la mémoire
utilisée croît au plus exponentiellement dans la taille de la
donnée ; on peut faire énormément de choses avec un temps ou une
mémoire exponentielle, donc énormément de problèmes sont dans ces
classes, qui ne sont pas d'un grand intérêt pratique, mais c'est quand
même plus restrictif que les problèmes tout simplement calculables en
ressource illimitées que j'ai évoqués plus haut.)
Deux classes particulièrement importantes en calculabilité sont les
classes P et NP. La classe P est très
grossièrement celle des problèmes faciles (un peu plus
précisément, ce sont ceux qui sont résolubles par un algorithme qui
utilise un temps au plus polynomial dans la taille de
l'entrée : linéaire, quadratique, cubique, quelque chose comme ça,
mais exponentiel n'est pas permis) ; la classe NP est plus
subtile : très grossièrement, ce sont les problèmes faciles à
vérifier (mais pas forcément faciles à résoudre ; c'est-à-dire que
si vous avez la réponse, la vérification qu'elle est correcte se fait
essentiellement selon la classe P, mais par contre, si vous ne
connaissez pas la réponse, il est possible qu'elle soit très difficile
à trouver ; j'insiste sur le fait que mes explications sont très
grossières et que je passe sur plein de subtilités théoriques).
Un exemple de problème NP très simple à décrire
est le
suivant : je vous donne un tas de nombres (entiers positifs,
disons) et un nombre-cible, et votre but est d'exprimer le
nombre-cible comme somme de certains des nombres donnés. (C'est une
variante très simple des « chiffres et les lettres » où on n'a le
droit qu'à l'addition ! Ou bien imaginez que ce sont des pièces de
monnaie dans un système monétaire bizarre, et vous voulez réussir à
payer exactement un certain montant cible en ayant dans votre poche
des pièces de certains montants donnés. Par exemple, si je vous donne
les nombres 1, 3, 8, 17, 32, 51, 82, 127, 216, 329, 611, 956 et 1849,
et que je vous demande de faire la somme 2146 avec, ce n'est pas
évident d'y arriver sauf à tester énormément de combinaisons ; par
contre, vérifier que 1 + 8 + 32 + 82 + 127 + 329 + 611 + 956 = 2146
est un calcul facile.)
Parmi les classes que j'ai
pas-vraiment-définies-mais-un-peu-évoquées, on
a P ⊆ NP ⊆ EXPTIME, le symbole ‘⊆’ signifiant
ici est inclus dans, c'est-à-dire que tout problème P
(facile à résoudre) est en particulier NP (facile à
vérifier), et que tout problème NP est lui-même, en
particulier, EXPTIME (résoluble en temps exponentiel).
(Ce dernier est à son tour inclus dans EXPSPACE mais peu
importe.) On sait par ailleurs montrer qu'il existe des problèmes qui
sont dans EXPTIME mais qui ne sont pas dans P
(et on sait en décrire explicitement), autrement dit, des problèmes
résolubles en temps exponentiels mais pas faciles pour autant (pas
résolubles en temps polynomial) : ce n'est pas très surprenant, parce
qu'une exponentielle grandit vraiment très vite, donc il n'est pas
surprenant que certains problèmes puissent se résoudre en un temps
exponentiel mais pas en un temps beaucoup plus limité, mais encore
fallait-il le prouver (ce n'est pas très difficile, mais ce n'est pas
complètement évident non plus). Bref, si
voit P ⊆ NP ⊆ EXPTIME comme trois boîtes
imbriquées, la plus à gauche est effectivement strictement plus petite
que la plus à droite. Mais la question se pose de savoir comment est
celle du milieu. En fait, on ne sait pas la situer ni par rapport à
celle de gauche ni par rapport à celle de droite.
Spécifiquement, une question centrale de la théorie de la
complexité est de savoir si P=NP (en gros, est-ce que
tout problème facile à vérifier est, en fait, facile à
résoudre ?). On pense très fortement que la réponse
est non (i.e., qu'il existe des problèmes qui sont
dans NP et qui ne sont pas dans P ; on en a même plein
de candidats, d'ailleurs celui que j'ai donné plus haut en est un),
mais on ne sait pas le prouver (l'enjeu, ici, est de prouver
rigoureusement qu'un problème est difficile au sens où il ne peut
pas exister d'algorithme qui le résout facilement). Cette
question P≟NP est même mise à prix à 1 000 000 $
(et attire régulièrement des « solutions » incorrectes de toutes
parts).
Pour en savoir plus sur la situation en
complexité, cet article récent de
vulgarisation (costaud !) dans le magazine Quanta,
quoique long, n'est pas mauvais pour donner un aperçu, et expliquer un
peu mieux que ce que je l'ai fait ce que c'est que cette histoire
de P≟NP, ce qu'on sait dire à son sujet et quelle est la
difficulté. Ce n'est pas vraiment mon propos ici d'en dire plus
ici.
La cryptographie (enfin, peut-être que je devrais
plutôt dire cryptologie ici) est l'étude scientifique de la
sécurité de l'information : il s'agit de développer des techniques de
chiffrement (comment transformer un message en un chiffré qui
ne puisse être déchiffré qu'en ayant accès à une clé) ou ayant
trait à d'autres questions de sécurité de l'information (signature
électronique, authenticité, non-répudiation, partage de secrets, ce
genre de choses). Mais plus précisément, ici, au sein de la
cryptographie, j'ai à l'esprit la cryptographie à clés
publiques (voir ce billet
récent pour une explication de ce que ça signifie ; ce n'est pas
très important ici).
Une différence importante entre la calculabilité/complexité et la
cryptographie est qu'en cryptographie il y a un adversaire
(par exemple, s'agissant d'un chiffrement, l'adversaire est un
attaquant hypothétique qui essaie d'obtenir des informations sur le
message sans avoir la clé de déchiffrement, ou peut-être sur la clé en
ayant connaissance du message et du chiffré, ou des variantes autour
de ces questions). En calculabilité ou en complexité on s'intéresse à
la difficulté de problèmes parce que ça mettra une borne sur ce que
nous pourrons faire. En cryptographie, on s'intéresse à la difficulté
plutôt parce que ça peut représenter un travail pour l'attaquant (donc
la difficulté est souhaitable !). Spécifiquement, on
voudrait concevoir des méthodes de chiffrement qui soient faciles à
utiliser (c'est-à-dire, peu coûteuses algorithmiquement) quand on
connaît la clé, mais extrêmement difficiles à casser, c'est-à-dire
pour l'attaquant qui ne connaît pas la clé, et si possible, on
voudrait prouver cette difficulté, ou au moins avoir des raisons un
peu plus tangibles que je ne sais pas faire, donc c'est sans doute
compliqué.
Bref, dans ces trois domaines (et il y en a sans doute d'autres
dont j'ignore tout ou qui ne me viennent pas à l'esprit), pour des
raisons un peu différentes et avec des notions de problème et
de difficulté différentes, on peut chercher à montrer qu'un
certain problème est difficile (voire, s'agissant de la calculabilité,
impossible, mais je vais ranger ça sous l'étiquette
vague difficile), ou étudier sa difficulté.
Bon, mais comment montre-t-on qu'un problème est difficile ?
Le but ce de billet interminable est de donner (sans trop
de prérequis, cf. plus bas) quelques explications, la définition, et
quelques propriétés autour du topos effectif de
Hyland. C'est un sujet sur lequel
je m'étais promis de parler sur ce
blog il y a un moment déjà. Je n'ai cependant pas vraiment suivi
mon plan initial, qui était plutôt
de faire d'abord une série de billets (en principe indépendant mais
qu'il aurait été conseillé de lire dans l'ordre) pour expliquer au
préalable l'idée générale du concept de topos et leur logique interne,
puis les topos de faisceaux sur un espace topologique, avant d'en
venir au topos effectif (que j'ai tendance à imaginer comme plus
difficile à comprendre, mais peut-être que je me trompe, en fait).
Seulement je me suis retrouvé (pour lire des choses sur un sujet
connexe[#]) à ré-apprendre la
définition du topos
effectif après
l'avoir oubliée pour la 42e fois environ, et j'ai pensé que la
meilleure façon de la retenir et de m'assurer que j'en avais compris
les bases, serait de me forcer à l'expliquer ici, autant que possible
de mémoire, et, de fait, ça m'a permis de me rendre compte de plein de
subtilités qui m'avaient d'abord échappé : voici pour la genèse de
cette entrée, qui s'est évidemment
avérée beaucoup
plus longue qu'initialement prévue, et que sans doute personne ne
lira mais ce n'est pas grave parce qu'elle m'aura servi à moi.
[#] En fait, pour
expliquer d'où je viens pour les gens qui connaissent déjà le sujet,
ces jours-ci j'essaie épisodiquement de comprendre trois articles que
je considère à la fois très intéressants et très importants (pas
tellement pour leurs résultats que pour le point de
vue, surtout s'agissant des deux derniers), et dont je reparlerai
sans doute une autre fois, d'un certain Takayuki Kihara :
① Degrees
of incomputability, realizability and constructive reverse
mathematics,
② Lawvere-Tierney
topologies for computability theorists et
③ Rethinking
the notion of oracle (ils peuvent se lire indépendamment les
uns des autres et aussi indépendamment de la notion de topos effectif,
mais toutes ces choses s'éclairent nettement les unes les autres).
Notamment, les deux derniers articles suggèrent que la « bonne »
notion d'oracle en calculabilité est celle de topologie de
Lawvere-Tierney sur le topos de Kleene-Vesley, et donc j'essaie de me
faire une intuition du pourquoi et du comment.
[Ajout : à ce sujet,
voir ce billet ultérieur.]
Cette genèse peut aussi expliquer le style inhabituellement
brouillon, vu que j'avais commencé par me dire que j'allais juste
donner la définition et rien d'autre, et au fur et à mesure que je
l'écrivais je m'apercevais soit que je devais d'abord expliquer ceci
ou cela, soit qu'il fallait bien que je dise un mot sur telle chose
que j'avais mal comprise, ou simplement parce que je me suis dit que je
ne pouvais pas m'affranchir d'un bout d'explication intuitive pour
adoucir une présentation trop formelle. Bref, c'est un peu le bordel,
surtout que j'ai plusieurs fois changé l'ordre dans lequel je disais
certaines choses, et je n'exclus pas d'avoir commis des cercles vicieux
de références, mais j'espère que ce qui suit a quand même un intérêt,
surtout que ce n'est pas évident de trouver des textes où les choses
sont bien expliquées. (Notamment si on ne veut pas savoir ce qu'est
un tripos — et personnellement je préfère ne pas avoir à savoir
ce qu'est un tripos, donc je ne parlerai pas du tout de tripos
dans la suite.)
En plus de ça, je me suis très peu relu, et maintenant que ce
billet est fini je n'ai plus vraiment le courage de le relire
systématiquement. (Cet avertissement est valable pour toutes les
entrées de ce blog, mais celle-ci est particulièrement propice à
engendrer des fautes de frappe idiotes donc il y en a certainement à
foison.)
Bref, je ne sais pas à quel point ce qui suit est compréhensible,
mais j'ai fait un certain effort pour limiter les prérequis : en
principe, pour l'essentiel de ce billet je ne suppose du lecteur
qu'une familiarité avec la théorie élémentaire des ensembles et les
rudiments de la calculabilité ; il n'est pas nécessaire,
notamment, de savoir ce qu'est un topos (et d'ailleurs, je ne
l'expliquerai pas, je me contente de définir le topos effectif), ni
même une catégorie (mais ça doit quand même aider). Je suppose qu'on
sait ce que c'est qu'une formule logique (connecteurs et
quantificateurs, ce genre de choses), mais guère plus : il n'est pas
vraiment nécessaire de savoir ce qu'est la logique intuitionniste,
mais c'est utile, surtout à partir de la partie qui parle de
réalisabilité, d'en avoir une certaine idée, et la lecture
de ce billet ou
surtout celui-là peuvent remplir ce
prérequis faible. Je ne suppose pas non plus que le lecteur a
lu mon précédent billet sur la
réalisabilité, mais ça peut aider à motiver les définitions (le
topos effectif est une généralisation de la réalisabilité de Kleene).
Vers la fin du billet, je suppose la familiarité avec quelques
concepts plus sophistiqués (coupures de Dedekind, ordinaux, des choses
de ce genre), mais comme il s'agit de petits bouts assez indépendants
les uns des autres, on doit pouvoir sauter ce qu'on ne comprend
pas.
En tout cas, j'espère au moins avoir réussi à écrire quelque chose
de plus clair que
l'article
Wikipédia
ou celui du
nLab.
Si on veut en savoir plus que ce qui est expliqué ici (ou corriger
les bêtises que j'aurai certainement écrites), le mieux est sans doute
de se tourner vers le livre de
van Oosten, Realizability: An Introduction to its
Categorical Side (2008), qui contient essentiellement tout ce
que je raconte ici, mais il vaut mieux sauter directement au
chapitre 3 si on ne veut pas entendre parler de tripos. On peut aussi
regarder l'article de Bernardet & Lengrand, A
simple presentation of the effective topos
(ici sur l'arXiv), même
si je ne suis pas persuadé que leur présentation soit vraiment
plus simple que la version usuelle, elle a le mérite d'être
assez compacte et contenue. L'article original de Hyland
s'appelle The Effective Topos, et il est paru
p. 165–216 dans les actes The L.E.J. Brouwer
Centenary Symposium édité par Troelstra &
van Dalen (1982) : en
voici une
version retypographiée
et le scan de
la version d'origine (disponible sur Sci Hub si vous n'y avez pas
accès par ce lien).
Ajout () : on me signale en
commentaire ce texte d'Ingo Blechschmidt (un chapitre
du livre Exploring mathematical objects from
custom-tailored mathematical universes édité par Oliveri,
Ternullo et Boscolo, qui est plutôt de portée philosophique) ; cela
semble en effet une bonne introduction : il développe de façon
pédagogique (et en commençant de façon très informelle) le point de
vue les topos comme des mondes mathématiques alternatifs ;
néanmoins, il ne donne pas une vraie définition du topos effectif
(juste comme une complétion de la catégorie des assemblées). Tant
qu'à faire, je peux aussi signaler
les notes
d'Andrej Bauer sur la réalisabilité, qui sont à l'état d'ébauche
au moment où j'écris : ce qui est là est très bien expliqué, mais
c'est encore incomplet, et notamment, il n'y a pas de définition du
topos effectif.
Ajout
() : ce billet
ultérieur sur diverses généralisations des degrés de Turing (et
sur ce qui est, en fait, les topologies de Lawvere-Tierney sur le
topos effectif), quoique indépendant de celui-ci, a néanmoins un
rapport assez étroit.
Ajout
() : ce billet
ultérieur sur la réalisabilité propositionnelle (qu'on peut lire
avant, ou après, ou indépendamment) a aussi un rapport étroit avec
celui-ci, puisque la réalisabilité propositionnelle est la logique
propositionnelle interne du topos effectif.
Bref, le but est de donner ci-dessous la définition du topos
effectif, c'est-à-dire des « objets » et des « morphismes » du topos
effectif, et ensuite de la « réalisabilité » des formules logiques
dont les variables sont « typées » par les objets du topos effectif.
(Tous les mots entre guillemets doivent être expliqués plus bas.)
Pour essayer de donner quand même un avant-goût de quoi il est
question avant de passer aux définitions proprement dites, un
objet du topos effectif va être une structure qui ressemble à un
ensemble, et un morphisme va ressembler à une application, mais l'idée
est de construire une sorte de monde mathématique alternatif (sujet
aux lois de la logique intuitionniste,
cf. ici et
surtout là), ça c'est en gros le
sens du mot topos, mais ce topos précis ayant la propriété
remarquable que toute fonction des entiers vers eux-mêmes est
calculable (au sens de Church-Turing), d'où le terme
de effectif, et accessoirement toute fonction réelle est
continue. (Ces affirmations étant certainement réfutables en
logique classique, il est nécessaire de passer à une logique plus
faible comme la logique intuitionniste pour espérer les rendre
possibles.)
☞ Vérité par témoignages
Toujours pour donner une idée très vague et en agitant les mains de
ce dont il va s'agir, le cœur de l'idée du topos effectif est
d'utiliser en quelque sorte, les parties de ℕ (i.e., les ensembles
d'entiers naturels) comme des sortes de valeurs de vérité (avec les
opérations ⊓,⊔,⇛ que je vais
définir ci-dessous
pour tenir lieu de la conjonction, de la disjonction, et de
l'implication logique). De façon un tout petit peu moins vague, pour
différentes sortes d'affirmations logiques, le topos effectif va
introduire une partie de ℕ (plus bas, je noterai ⟦φ⟧ pour
la « valeur de vérité » associée à une formule logique φ),
qu'on appellera l'ensemble de ses « réalisateurs » : le terme
classique est de dire que n réalise φ
pour dire que n appartient à la partie en question
(n ∈ ⟦φ⟧), mais je préfère,
intuitivement, parler de témoignages de la véracité
de φ.
Même si j'en suis juste à une explication très
vague et informelle, profitons-en pour dissiper un malentendu possible
dans l'idée qu'on peu se faire : la taille de la partie n'importe pas,
il suffit de disposer d'un seul « témoignage » pour conclure
que φ est valable dans le topos effectif ; ce n'est pas
parce que la partie est plus grande qu'on conclut que l'affirmation
est plus vraie, la seule chose qui importe est d'arriver à trouver un
élément dedans : si ∅ représente le « faux », le « vrai » peut se
représenter aussi bien par ℕ ou {0} ou {42}. Du coup, on peut se
demander pourquoi il n'y a pas juste deux valeurs de vérité, le vide
qui représente le faux, et n'importe quel ensemble
habité[#2] qui représente le
vrai, et de fait c'est bien le cas quand il n'y a aucun paramètre
libre, mais dès que la partie dépend de paramètres, il va y avoir des
parties habitées où il sera plus ou moins facile de trouver un
élément. Dit comme ça, c'est désespérément vague, mais j'espère que
ça aidera à comprendre un peu mieux les définitions précises qui vont
suivre.
[#2] Le
mot habité (pour un ensemble) signifie
simplement non-vide. Je vais dire plus bas pourquoi je
l'utilise.
☞ Ensembles avec égalité-existence
Toujours de façon très vague, un objet du topos effectif sera la
donnée (X,E) d'un ensemble X (au sens
usuel) muni d'une « fonction d'égalité-existence », qui à un couple
(x,y) d'éléments de X va associer une
partie de ℕ qui indique la « valeur de vérité » du fait
que x et y existent et sont égaux (on pourrait
certainement séparer les deux rôles en une fonction d'existence et une
fonction d'égalité, mais ce serait techniquement moins commode), cette
fonction étant symétrique et transitive en un sens qu'on va expliquer
plus bas (mais pas réflexive, parce que la réflexivité va servir à
mesurer l'existence). Et un morphisme entre objets du topos effectifs
est défini, en gros, par une fonction qui indique, de même, la
« valeur de vérité » du fait que x est envoyé
sur y par le morphisme. Maintenant il s'agit de rendre
précises ces idées que je viens de dire de façon très vague.
(Nouvelle tentative d')introduction aux mathématiques constructives : histoire, motivations et principes
Méta : J'ai déjà fait plusieurs tentatives pour
expliquer sur ce blog ce que sont les mathématiques constructives et
comment elles fonctionnent
(notamment ici — où j'ai tenté
d'expliquer les règles de la logique intuitionniste mais en même temps
je me suis embourbé dans des explications sur ce que je devrais ou
voudrais écrire —, et ici — où j'ai
publié l'introduction / motivation d'une entrée que j'avais commencé à
écrire et qui, à cause de ça, s'est complètement embourbée). Je
considère ces tentatives comme des échecs. Une raison de cet
échec est que je n'ai pas correctement expliqué, pour commencer, de
quoi il s'agit et pourquoi on s'y intéresse. Plus tard, j'ai
participé
à un
podcast avec mes collègues Sylvie Benzoni-Gavage et David Monniaux
sur le thème mathématiques honnêtes (l'expression vient
d'une citation
de Poincaré, qui a ensuite donné lieu à
un échange
sur Twitter), où il a été question au passage d'essayer
d'expliquer ce que sont les maths constructives ; mais là aussi, j'ai
peur de m'être très mal débrouillé quand j'ai évoqué le sujet. Je
voudrais donc faire une nouvelle tentative, en reprenant à zéro.
Comme cette tentative-ci est de nouveau en train de s'embourber (ça
fait maintenant quelque chose comme six mois que j'ai commencé à
l'écrire), je me force à en publier le début comme une entrée
autonome, où je parle un petit peu de l'histoire et des motivations,
puis je commence à développer quelques principes, quitte à ce que la
fin soit un peu abrupte.
Au moins le début de cette entrée (où je parle plus d'histoire des
mathématiques que de mathématiques) devrait être très largement
compréhensible, quitte à sauter quelques passages un peu plus
techniques.
❦
De façon extrêmement schématique (et juste pour lancer le
sujet : ceci ne se prétend pas être une explication),
les mathématiques constructives sont des
mathématiques faites dans une logique particulière
appelée logique intuitionniste. (Les
termes constructif et intuitionniste sont un peu — mais
pas complètement — interchangeables.) Cette logique intuitionniste
diffère de la logique usuelle dans laquelle on fait des mathématiques
(logique classique) en ce qu'elle abandonne une règle de
raisonnement, à savoir la loi du tiers exclu,
laquelle affirme — schématiquement — que ❝si quelque chose n'est pas
faux alors ce quelque chose est vrai❞. (Ou, ce qui revient au même,
la logique intuitionniste abandonne le principe du raisonnement par
l'absurde où, pour montrer que P est vrai, on suppose « par
l'absurde » que P est faux, on aboutit à une contradiction,
et on en conclut que P devait être vrai.) La logique
intuitionniste est donc plus faible que la logique
classique : du coup, prouver quelque chose en logique intuitionniste
est plus difficile ou, si on veut, il y a moins de théorèmes (un
théorème en logique intuitionniste est encore un théorème en logique
classique, mais un théorème en logique classique n'est pas forcément
un théorème en logique intuitionniste) ; donc obtenir un résultat
« constructivement » est plus fort que l'obtenir
« classiquement », et l'étude des maths constructives consiste en
bonne partie à se demander quels résultats classiques sont encore
valables constructivement, ou, à défaut, comment on peut les démontrer
autrement, ou sinon, les reformuler, pour obtenir quelque chose de
constructif.
☞ Oui mais pourquoi donc faire ça ? Pourquoi affaiblir la
logique ? Pourquoi précisément comme ça ? Pourquoi remettre en cause
la loi du tiers exclu ? Quel est l'intérêt de la démarche ? Quelles
sont les règles du jeu ? Et pourquoi ces mots constructif
et intuitionniste ? C'est ce que je veux essayer d'expliquer
ici.
Un (tout petit) peu d'histoire du constructivisme en mathématiques
Commençons par essayer d'expliquer comment cette notion est
apparue. Qu'on me permette de faire de l'histoire des maths très
schématique et simplifiée, juste pour situer un peu les choses et sans
prétendre décrire complètement des positions philosophiques forcément
assez complexes :
La controverse Hilbert-Brouwer
L'histoire commence au début du XXe siècle à un moment où les
fondements des mathématiques commencent à se mettre en place : le
monde mathématique a vu se mettre en place des approches rendant
l'Analyse plus rigoureuse (Cauchy, Weierstraß, Dedekind…),
l'axiomatisation de l'Arithmétique (Peano), la naissance de la théorie
des ensembles (Cantor) et de l'idée que celle-ci peut servir à
soutenir l'ensemble des mathématiques (Frege). Deux courants
apparentés émergent en philosophie des mathématiques,
le logicisme et le formalisme
(voir
ici pour une explication de la différence — qui ne m'intéresse pas
tellement ici), qui proposent de ramener, autant que possible, la
pratique mathématique à l'application de règles de déduction logique à
partir d'un jeu d'axiomes (voire de pure logique dans le cas du
logicisme).
Chef de file du courant formaliste, David Hilbert
propose, en 1904,
un programme
visant à fonder les mathématiques sur une base axiomatique : au moins
pour une branche donnée des mathématiques, on devrait (selon le
programme de Hilbert), trouver des axiomes, formaliser ces axiomes
(c'est-à-dire leur donner une forme extrêmement précise ramenant, en
principe, la démonstration, à un simple jeu de manipulation de
symboles), et idéalement, prouver mathématiquement que les axiomes en
question permettent de démontrer ou réfuter tout énoncé syntaxiquement
licite, et qu'ils ne comportent pas de contradiction. (La dernière
partie de ce programme sera sérieusement mise à mal à cause des
limitations posées par le théorème d'incomplétude de Gödel — voir
notamment ici —, mais ce n'est pas
ce qui me préoccupe ici. On dit parfois que Gödel a porté le coup de
grâce au programme de Hilbert, mais il me semble, au contraire que,
une fois acceptées ces limitations, le programme de Hilbert a été un
grand succès et qu'il est largement admis que les mathématiques ont
besoin d'axiomes et de règles de déductions claires même si, dans la
pratique, les démonstrations se font généralement en langage
informel.)
Hilbert accueille aussi avec enthousiasme la théorie des ensembles,
qu'il qualifie de paradis créé par Cantor, parce qu'il permet
de rendre précises les constructions admises en la matière, et il
accepte, au passage, ses infinis de différentes tailles. (Qui font
maintenant partie des mathématiques « standard », un nouveau signe de
succès du programme de Hilbert.) Il s'oppose en cela au
courant finitiste, dans lequel s'inscrit notamment
Kronecker (selon lequel les entiers naturels ont été créés par le
bon Dieu, tout le reste est l'œuvre de l'homme) et dans une
moindre mesure Poincaré, qui rejettent ou regardent au moins avec
soupçon les constructions infinies.
Les règles de logique admises par le programme formaliste, les
règles de la logique « classique », permettent souvent de montrer
qu'un certain objet mathématique existe sans pour autant exhiber cet
objet. Ces raisonnements prennent typiquement une forme du
style : je veux montrer qu'il existe un <machin> ; supposons
au contraire que <machin> n'existe pas : dans ce cas
<…diverses conséquences sont tirées…>, ce qui est une
contradiction : ce n'est donc pas possible, et ceci prouve que
<machin> existe. À aucun moment le <machin>
n'est construit : il est simplement montré qu'il ne peut
pas ne pas exister : classiquement, cela revient exactement au
même qu'exister, mais cela ne permet pas d'expliciter <machin> ;
on peut donc dire que la preuve n'est pas constructive.
Deux exemples significatifs de telles preuves non constructives (ou
considérées à l'époque comme non constructives, parce qu'en fait, tout
dépend de la manière précise dont on les formalise et/ou démontre)
sont donnés par deux théorèmes mathématiques très importants et dus,
justement, aux deux protagonistes de notre histoire. Il s'agit d'une
part
du théorème
de la base de Hilbert (1888), avec comme conséquence le fait que
les anneaux d'invariants polynomiaux (peu importe de quoi il s'agit)
sont finiment engendrés, sans que la démonstration (au moins dans sa
forme initiale) exhibe explicitement un système générateur ni ne
permette de le calculer, ce qui aurait fait dire à Paul Gordan, le
grand spécialiste des invariants, ce n'est pas des mathématiques,
c'est de la théologie (en fait, cette phrase, comme toutes les
meilleures citations,
est probablement
apocryphe). Et d'autre part,
le théorème
du point fixe de Brouwer (c. 1910), dû au
topologiste Luitzen
Egbertus Jan Brouwer, lequel théorème affirme que toute
fonction continue d'une boule dans elle-même a un point fixe, sans que
la démonstration (au moins dans sa forme initiale) exhibe un tel point
fixe ni ne permette de le calculer.
Ces preuves non-constructives heurtent la conception philosophique
de Brouwer, selon lequel prouver l'existence d'un objet ne doit
pouvoir se faire qu'en construisant l'objet en question. Il est
également en désaccord, plus généralement, avec l'idée formaliste de
ramener les mathématiques — au moins en principe — à une application
mécanique de règles logiques à partir d'axiomes : pour Brouwer,
la créativité de la démarche du mathématicien ne peut pas se
ramener à une application formelle de règles. Par ailleurs, Brouwer
se rapproche de l'école finitiste par son scepticisme au sujet des
constructions infinies arbitraires autorisées par la théorie des
ensembles de Cantor (même si on ne peut pas vraiment dire que Brouwer
soit un finitiste). Enfin, son intuition du continu,
c'est-à-dire de la droite réelle, ne s'accorde pas vraiment avec la
formalisation des nombres réels par Dedekind, mais je dois dire que je
ne prétends pas vraiment comprendre ce que Brouwer pensait exactement
des nombres réels (par opposition aux réinterprétations ultérieures de
l'intuitionnisme). Bref, pour ces différentes raisons, Brouwer
s'oppose à la philosophie formaliste défendue par Hilbert (ainsi qu'à
sa cousine, le logicisme) et, une fois qu'il a obtenu un poste
permanent en 1912, il développe ses propres idées auxquelles il donne
le nom d'intuitionnisme.
Métamotivations : [bon, sérieusement, je ne sais
pas ce que sont des métamotivations, mais je trouve ce mot trop
rigolo pour ne pas l'écrire]
J'ai commencé il y a quelques semaines à écrire une entrée de ce
blog (je vais dire dans un instant à quel sujet, mais pour l'instant
ce n'est pas important), et il est arrivé ce qui m'arrive trop
souvent : je pars plein d'enthousiasme en me disant que je vais
réussir à condenser à sa substantifique moëlle un sujet fort
copieux, en même temps que le vulgariser, je me mets à taper, taper,
taper, la condensation espérée n'a pas vraiment lieu, au contraire, je
me rends compte qu'il faut que je parle de ceci, puis de cela, le
texte que j'écris devient de plus en plus indigeste, et, pire, alors
que je partais tout content de me dire que l'effort d'exposition me
permettra d'y voir plus clair sur le sujet dont je parle, plus je
l'écris plus je commence à en avoir marre de l'écrire, donc plus je
traîne à m'y mettre, et en plus quand je m'y mets je mets tellement de
temps à relire ce que j'ai déjà écrit que les progrès initialement
rapides deviennent de plus en plus lent, et cette lente agonie ne
prend fin que quand je décide de bouger le billet en cours d'écriture
dans un fichier d'entrées inachevées qui prend de plus en plus la
forme d'un cimetière, parce que sinon il bloque l'écriture de toute
nouvelle entrée.
(Oui, mes phrases sont trop longues. Je sais.)
Que faire quand ce genre de choses se produit ? (C'est fréquent,
et j'ai déjà dû en parler plein de fois.) Je n'ai toujours pas trouvé
de réponse satisfaisante. Je peux jeter l'éponge et publier l'entrée
dans son état inachevé, mais c'est un peu renoncer à toute possibilité
de l'améliorer ultérieurement, ce qui me déplaît (il m'arrive bien sûr
de modifier des entrées déjà publiées, mais c'est pour ajouter des
petites précisions mineures : personne ne va tout relire pour ça). Je
peux publier les parties qui sont à peu près présentables (ces entrées
fort longues se découpant en parties et sous-parties, je peux publier,
disons, le premier chapitre), mais je n'aime pas beaucoup non plus
parce que je risque de vouloir quand même y faire des additions
ultérieures, et aussi parce que ça rompt ma promesse implicite
d'essayer autant que raisonnablement possible d'écrire des entrées
indépendantes sur ce blog. (Promesse qui me semble nécessaire si je
veux qu'on puisse lire l'entrée #2698 de ce blog sans avoir lu les
2697 qui ont précédé, ce que sans doute personne n'a fait, je ne suis
même pas sûr de l'avoir fait moi-même.) Bon, je suis de mauvaise foi,
je peux bien dire je suppose qu'on a lu <telle entrée
passée>, d'ailleurs il a dû m'arriver quelques fois de le
faire, mais si la partie 2 met des années à arriver, personne ne la
lira parce que tout le monde aura oublié la partie 1 et que personne
n'aura envie de la relire. Même vis-à-vis de moi-même, quand je
publie quelque chose sur ce blog, qui est un peu
l'espace
de swap de mon cerveau, c'est pour me décharger mentalement en me
disant que je peux l'oublier puisque je pourrai toujours me relire
plus tard (et du coup je ne le fais généralement pas, justement), et
ça ne marche plus vraiment si je continue à vouloir donner une
suite.
Mais faute d'avoir décidé, je me dis que je peux au moins publier
en avance (quitte à la recopier quand même plus tard, ce n'est pas
long ce ne sera pas grave) la partie motivations de l'entrée en
question. Ne serait-ce que parce que les motivations, c'est un peu
comme les remerciements de thèse, c'est la seule chose que doit lire
la majorité des gens ; et ici, ils ont, je crois, un intérêt autonome
parce que c'est beaucoup moins technique que ce qui vient (enfin, est
censé venir) après ; et je ne crois pas avoir envie de les changer
plus tard, et elles ont toute leur place ici puisque, finalement, je
suis en train de parler de ma motivation.
(En plus, là, j'ai été aspiré par
d'autres
préoccupations qui m'ont bouffé plein de temps, donc l'écriture
de ce billet-ci a elle-même traîné en longueur !)
Voici donc les motivations de ce billet partiellement écrit :
❦
Motivations et introduction générales
Il y a un certain temps, j'avais
publié un billet fort mal écrit sur
la logique intuitionniste et les mathématiques constructives, pour
essayer d'expliquer de quoi il s'agit. J'aimerais réessayer d'en
parler, mais en prenant une approche différente : dans le billet
précédent (que je ne vais pas supposer que le lecteur a lu, même si ça
peut aider de l'avoir au moins parcouru), j'avais mis l'accent sur
les règles de la logique intuitionniste (la syntaxe, si on
veut), maintenant je voudrais mettre l'accent sur les « mondes »
(j'utilise ce terme de façon délibérément vague et informelle, je vais
revenir là-dessus) dans lesquels la logique intuitionniste s'applique
— la sémantique si on veut. Je pense en effet qu'on comprend beaucoup
mieux l'intérêt de cette logique (au-delà de se dire tiens, je vais
m'interdire d'appliquer le tiers exclu et voyons ce qui se passe)
si on commence par avoir à l'esprit quelques situations où elle
s'applique.
Comme on n'a pas besoin de savoir d'avance ce qu'est la logique
intuitionniste pour comprendre ces « mondes », cela peut aider,
justement, à l'approcher : de l'« intérieur » ils sont régis par la
logique intuitionniste, mais de l'« extérieur » ce sont des objets
mathématiques classiques (d'ailleurs manipulés régulièrement par des
mathématiciens qui n'ont aucune appétence particulière pour la
logique, comme les faisceaux en topologie ou géométrie algébrique).
Ils forment donc un pont par lequel un mathématicien classique peut
comprendre ou visualiser les objets intuitionnistes.
Mais par ailleurs, ces « mondes » sont intéressants, au-delà de
l'aspect logique, pour la source de contre-exemples qu'ils
fournissent : un monde dans lequel toutes les fonctions ℝ→ℝ sont
continues, par exemple, ou dans lequel toutes les fonctions ℕ→ℕ sont
calculables, ou dans lequel le théorème des valeurs intermédiaires ne
peut pas être affirmé, ou dans lequel on ne peut pas affirmer qu'une
suite croissante bornée de réels converge, cela mérite qu'on s'y
intéresse même si on n'a aucun intérêt particulier pour la logique :
je pense, et c'est en fait ma principale motivation pour m'y
intéresser, que cela permet une meilleure compréhension des objets
basiques que sont les entiers naturels, les réels, les fonctions entre
eux, de comment ils sont construits et de ce qui permet de démontrer
ceci ou cela. (Et en comparaison au degré de technicité nécessaire
pour construire des mondes dans lesquels l'axiome du choix ne vaut
pas, les constructions ici sont raisonnablement peu élaborées bien que
plus dépaysantes, ce qui augmente leur intérêt pédagogique.)
J'utilise ci-dessus le mot monde, délibérément vague :
disons un mot à ce sujet. En logique classique, le terme correct pour
désigner un monde dans lequel vaut une théorie est celui
de modèle (pour montrer qu'une théorie T n'implique
pas un énoncé φ, on va construire un modèle de T
ne vérifiant pas φ). Il y a plusieurs notions de modèle
permettant de donner une sémantique à la logique intuitionniste :
modèles de Kripke, par exemple, modèles à valeurs dans une algèbre de
Heyting, ou encore topoï. Les « mondes » dont je veux parler sont, en
l'occurrence, des topoï, mais je ne
compte pas expliquer ce qu'est un topos en général, uniquement en
donner des exemples. Pourquoi ? Pas que ce soit immensément
compliqué si on connaît un peu de théorie des catégories (encore qu'il
y a la subtilité qu'il y a deux sens, apparentés mais distincts, du
mot topos : topos de Grothendieck [dans ce cas le pluriel
est un topos, des topos] ou topoï élémentaires [dans ce cas le
pluriel est un topos, des topoï], ces derniers étant plus
généraux que ces premiers), mais je pense que la notion de topos ne
peut être correctement comprise qu'en ayant au préalable un stock
d'exemples, et il s'agit donc de commencer par là. D'autre part, je
ne prétends pas énoncer de résultat de complétude. Disons un mot à ce
sujet.
[Le paragraphe suivant est une digression par rapport à mon propos
général. On peut le sauter sans perdre le fil.]
Quand on a une théorie logique (ce mot étant pris ici,
informellement, dans un sens excessivement vague et général), lui
définir une sémantique, c'est définir un tas de mondes
possibles (même remarque) qui valident certains énoncés (i.e.,
certaines choses sont vraies dans tel ou tel de ces mondes), et
la moindre des choses est que la sémantique donne raison à la théorie,
c'est la partie qu'on appelle la soundness en
anglais, et je ne sais pas quel mot utiliser en français
(cohérence ?) : dire que la sémantique Muf
est sound (sensée ?) pour la théorie Truc,
c'est dire que tout ce que la théorie Truc permet de démontrer sera
vérifié dans chacun des « mondes » Muf. En général, ce n'est pas
difficile, c'est même souvent une évidence tellement évidente qu'on ne
se fatigue pas à le dire. (Mais remarquez que les « mondes » dont je
veux parler, s'ils sont sound pour la logique
intuitionniste, ne le sont pas pour la logique classique, et c'est
bien pour ça qu'il y aura des théorèmes des mathématiques
classiques qui ne seront pas valables dans certains d'entre eux, du
genre le théorème des valeurs intermédiaires.) Mais l'autre chose
qu'on veut souvent (mais pas forcément) avec une sémantique,
c'est qu'elle soit complète, et là ça veut dire la réciproque :
dire que la sémantique Muf est complète pour la théorie Truc, c'est
dire que tout ce qui est vérifié dans chacun des « mondes » Muf pourra
être démontré dans la théorie Truc. En logique classique du premier
ordre avec la sémantique fournie par la notion habituelle
de modèle, si vous savez ce que c'est, on a effectivement
complétude, et le résultat en question s'appelle le théorème de
complétude de Gödel (qui affirme que, dans le contexte du calcul des
prédicats du premier ordre en logique classique, si φ est
vrai dans tout modèle d'une théorie T alors φ
est démontrable à partir de T). La question de la mesure
dans laquelle les topoï définissent une sémantique complète par
rapport à la logique intuitionniste dépend crucialement de ce qu'on
appelle exactement la logique intuitionniste (le problème
n'étant pas les règles de déduction mais ce sur quoi on s'autorise à
quantifier), et essayer d'expliquer ça, sur quoi je n'ai d'ailleurs
pas les idées aussi claires que je voudrais, m'entraînerait à parler
de logique d'ordre supérieur, de théorie des types et de choses dont
je ne veux pas parler. Donc je vais faire complètement l'impasse sur
tout ce qui concerne la complétude, et du coup il n'est pas vraiment
pertinent que j'explique ce qu'est un topos, ce qui m'importe ce sont
les exemples que je veux exposer et le fait qu'ils
soient sound.
[Fin de la digression.]
Ce qui est intéressant à comprendre, aussi, c'est le rapport entre
le point de vue « interne » et le point de vue « externe » sur les
« mondes » en question : on peut soit se plonger dans un de ces
« mondes », le regarder avec les lunettes « internes », auquel cas on
a affaire à des ensembles dans un monde de maths intuitionnistes, ou
au contraire le regarder « de l'extérieur », auquel cas on a affaire à
des objets un peu plus compliqués (faisceaux, par exemple, en tout cas
des objets d'une catégorie et c'est cette dernière qu'on
appelle topos) mais dans un monde plus familier puisque la
logique classique s'applique. Les deux points de vue se traduisent
l'un l'autre (du moins, tout énoncé « interne » peut se réécrire de
façon « externe », la réciproque n'est pas forcément vraie), ils
s'éclairent et se complètent. Ce que je voudrais faire c'est
expliquer, sur quelques exemples, comment marche cet aller-retour.
Comment manœuvrer une voiture dans un tunnel : un peu de géométrie
Mon poussinet s'est acheté une nouvelle voiture. Ou plus
exactement, a remplacé un joujou, rouge de chez Honda, thermique et
bruyant, par un autre joujou, blanc de chez Tesla, électrique et
beaucoup moins bruyant et beaucoup
plus Internet
of Shit ; mais ce n'est pas mon propos ici d'en parler : le
point de départ de ce que je veux dire ici, c'est
que le nouveau
joujou est assez long et large, et que la descente du parking
de notre immeuble est compliquée.
Nous avons trois véhicules et trois places de parking (une achetée
avec l'appartement et deux louées à des
voisins). Ma moto, bizarrement, ne
pose aucun problème pour monter et descendre au parking.
Pour la Tuture préférée (qui fait
censément 1.74m de large, et 4.15m de long dont 2.51m entre les
essieux), le poussinet s'en sort bien (le plus souvent sans marche
arrière), mais moi je n'ose pas trop essayer, et c'est d'ailleurs mon
principal obstacle à circuler en voiture. Et pour le nouveau joujou
(qui fait censément 1.85m de large, et 4.69m de long dont 2.83m entre
les essieux), c'est beaucoup plus compliqué : à ce stade, à chaque
fois que nous voulons entrer ou sortir du parking, je descends de la
voiture, je passe devant, et j'indique au poussinet par des signes de
main la distance à gauche et à droite (certes, le joujou a plein de
capteurs, mais ils sont essentiellement inutiles dans ces
circonstances, parce qu'ils passent juste leur temps à faire bip, et
ne détectent pas forcément la « bonne » distance) : il arrive à sortir
en une seule fois, mais pour rentrer dans le parking il faut trois ou
quatre marches arrière (et la question de pourquoi ce n'est pas
symétrique est une de celles que je veux discuter ici).
Pourtant, la descente du parking n'est pas si étroite : elle fait
2.67m de large au point le plus resserré que j'aie mesuré ; cette
largeur est un peu stupidement grignotée par le fait qu'il y a des
garde-corps (je ne sais pas comment les appeler : une sorte de marche
ou de micro trottoirs de part et d'autre de la descente, au niveau du
sol, large d'environ 15cm et haute d'environ autant), qui réduit
l'espace disponible au niveau des roues à 2.38m au point le plus
étroit. Mais bien sûr, la descente est courbe : entre la porte côté
rue et la base de la rampe, il y a un changement de cap de 90° (on
entre perpendiculairement à la rue Simonet, et on finit parallèlement
à elle).
Géométriquement, si j'en crois les plans d'architecte de l'immeuble
que j'ai récupérés je ne sais plus comment, la forme est très simple
(cf. figure ci-contre) : prenez un quart de cercle de rayon 6.50m et
un autre de rayon 5.50m dont les centres sont décalés de 1.75m selon
chacun des axes du quart de cercle (donc à distance 1.75m×√2 ≈ 2.47m
l'un de l'autre), le centre du petit cercle étant évidemment plus
éloigné des arcs eux-mêmes que celui du grand cercle, et ensuite
prolongez tangentiellement chacune des deux extrémités de chacun des
deux arcs.
(En notation SVG
et en exprimant les distances en mètres : M 0.00 0.00 L 9.37
0.00 A 6.50 6.50 0 0 1 15.87 6.50 L 15.87 18.38 pour le bord
extérieur et M 0.00 2.75 L 7.62 2.75 A 5.50 5.50 0 0 1 13.12
8.25 L 13.12 18.38 pour le bord intérieur.) Ceci fait donc une
rampe dont la largeur est de (6.50m−5.50m)+1.75m = 2.75m dans ses
parties rectilignes, et de (6.50m−5.50m)+1.75m×√2 ≈ 3.47m dans sa
partie courbe, à quoi il faut retirer environ 15cm de garde-corps de
part et d'autre comme je l'ai expliqué ci-dessus. J'ai fait
apparaître sur la figure des rectangles à l'échelle du joujou du
poussinet, mais il n'est pas évident de le placer comme je viens de le
montrer (cf. plus loin). L'épaisseur des traits sur la figure est de
30cm (le milieu du trait est au niveau du mur lui-même, le bord
intérieur correspond à peu près au bord du garde-corps).
Bon, en plus, la rampe est bien sûr en pente (de 14.38% selon le
plan d'architecte, l'hélice
étant orientée à main gauche : sur
le schéma ci-contre, la sortie côté rue est en bas de la figure, la
base de la rampe côté parking est à gauche), mais je ne pense pas que
ça joue énormément sur le problème géométrique que je vais
évoquer. Par ailleurs, la construction de l'immeuble n'a pas respecté
précisément les plans d'architecte et les arcs de cercle ont
été approchés par des polygones, donc il y a trois ou quatre
points anguleux sur le mur extérieur : je ne sais pas bien si ça joue
dans l'explication de l'asymétrie ressentie entre montée et descente,
je vais y revenir ; la largeur de la rampe, comme je l'ai dit plus
haut, n'est, d'après mes mesures, pas tout à fait égale aux 2.75m
contractuels de mur à mur, je l'ai déjà noté.
Mes lecteurs savent que j'aime faire des typologies, alors
allons-y. Je peux distinguer trois niveaux au problème d'entrer ou
sortir la voiture :
La question purement géométrique (entrer ou sortir la
voiture, en supposant une connaissance parfaite de ses dimensions, sa
position, la forme de la rampe, etc., donc toutes les distances
impliquées), que je vais elle-même ci-dessous subdiviser en
trois.
La complication supplémentaire que, assis à la place du
conducteur, on voit mal ce qu'on fait, on évalue mal les distances,
malgré les rétroviseurs et les diverses caméras de la Tesla, en tout
cas, plus mal que quelqu'un qui se tient à distance et qui regarde la
voiture de l'extérieur.
La complication supplémentaire qu'une voiture n'avance pas
exactement comme on veut (je parle du point de vue de la traction : je
mets la question du rayon de braquage sur le chapeau géométrique) :
ceci ne concerne pas la Tesla, dont le moteur électrique permet
d'avancer aussi lentement qu'on veut, presque millimètre par
millimètre, aussi bien en montée qu'en descente, mais le problème se
pose avec une voiture thermique si on ne veut pas vitrifier
l'embrayage en patinant trop longtemps.
Je veux surtout parler ici du (A), même si (B) et (C) sont aussi
problématiques en pratique. Maintenant, même si je le simplifie à
outrance en traitant la voiture comme un simple rectangle et en
ramenant tout le problème dans le plan, ce que je vais faire, le (A)
se subdivise lui-même en trois niveaux de difficulté :
Trucs et astuces pour tirer au hasard diverses choses
Je rassemble dans cette entrée quelques faits algorithmiques et
informatiques qui sont généralement « bien connus » (et franchement
assez basiques) mais souvent utiles, et qu'il est possiblement
difficile de trouver rassemblés en un seul endroit. Le problème
général est de tirer algorithmiquement des variables aléatoires selon
différentes distributions, typiquement à partir d'un générateur
aléatoire qui produit soit des bits aléatoires (indépendants et non
biaisés) soit des variables aléatoires réelles (indépendantes)
uniformément réparties sur [0;1]. Je parle d'algorithmique, mais ce
n'est pas uniquement sur un ordinateur : ça peut être utile même dans
la vie réelle, par exemple si on a une pièce avec laquelle on peut
tirer à pile ou face et qu'on veut s'en servir pour jouer à un jeu qui
réclame des dés à 6 faces, ou si on a des dés à 6 faces et qu'on veut
jouer à un jeu d'aventure qui réclame des dés à 20 faces.
Comment tirer des nombres aléatoires en conditions
adversariales ? Je commence par ce problème-ci qui n'a pas de
rapport direct avec la suite, mais que je trouve quand même opportun
de regrouper avec : Alice et Bob veulent jouer à pile ou face, ou plus
généralement tirer un dé à n faces, mais ils n'ont pas de
pièce ou de dé en lequel ils fassent tous les deux confiance. Par
exemple, Alice a sa pièce fétiche que Bob soupçonne d'être truquée et
symétriquement (ou peut-être même que chacun est persuadé de pouvoir
tirer des nombres aléatoires dans sa tête mais ne fait évidemment pas
confiance à l'autre). La solution est la suivante : chacun fait un
tirage avec son propre moyen de son côté, sans connaître le
résultat de l'autre, et on combine ensuite les résultats selon
n'importe quelle opération (choisie à l'avance !) qui donne tous
les n résultats possibles pour chaque valeur fixée d'une
quelconque des entrées
(un carré
latin, par exemple une loi de groupe) ; par exemple, s'il s'agit
de tirer à pile ou face, on peut décider (à l'avance !) que le
résultat sera pile (0) si les deux pièces ont donné le même
résultat et face (1) si elles ont donné un résultat différent ;
s'il s'agit de dés à n faces donnant un résultat entre
0 et n−1, on fait la somme modulo n
(c'est-à-dire qu'on fait la somme et qu'on soustrait n si
elle vaut au moins n, pour se ramener à un résultat entre
0 et n−1). Bien sûr, il faut un protocole pratique pour
faire en sorte que chacun fasse son tirage sans connaître le résultat
de l'autre (sinon, s'il a moyen de tricher, il pourra adapter le
résultat en conséquence) : physiquement, chacun peut faire son tirage
en secret et écrire le résultat secrètement sur un papier placé dans
une enveloppe scellée, qu'on ouvrira une fois les deux tirages
effectués (en fait, il n'y a que le premier tirage qui a besoin d'être
fait de la sorte) ; cryptographiquement, on procède à
une mise en
gage (typiquement au moyen d'une fonction de hachage, mais je ne
veux pas entrer dans ces questions-là). On peut bien sûr généraliser
à plus que deux joueurs (en faisant la somme modulo n de
nombres tirés par chacun des participants). Le protocole garantit que
le résultat sera un tirage uniforme honnête si l'un au moins
des participants désire qu'il le soit (et a les moyens de réaliser un
tirage honnête) : bien sûr, si aucun des participants ne le souhaite,
c'est leur problème, donc on s'en fout. Même si on abandonne toute
prétention à ce que les participants tirent leur valeur
aléatoirement et qu'on s'imagine qu'ils la choisissent, tant
qu'il s'agit d'un jeu à somme nulle, la stratégie optimale est bien de
tirer au hasard (et encore une fois, s'ils veulent coopérer pour un
autre résultat, tant qu'il n'y a pas d'autre partie impliquée, c'est
leur problème, de même s'ils s'imaginent pouvoir faire mieux que le
hasard en utilisant, par exemple, une prédiction psychologique).
Je ne sais plus où j'avais lu que ce protocole a
été découvert (il l'a certainement été de nombreuses fois !) à la
renaissance. Dans mon souvenir, le découvreur proposait même que,
pour une question de la plus haute importance, on demande au pape de
faire un des tirages en plus de tous les autres participants. Je ne
sais d'ailleurs pas si ce protocole a un nom standard.
Comment tirer une variable de Bernoulli de
paramètre p à partir de bits aléatoires ?
Autrement dit, ici, on a fixé p, et on veut faire un tirage
aléatoire qui renvoie oui avec probabilité p
et non avec probabilité 1−p, et pour ça, on dispose
simplement d'une pièce qui renvoie des bits aléatoires en tirant à
pile (0) ou face (1), et on souhaite effectuer les tirages de façon
économique. Par exemple, combien de tirages de pièce faut-il, en
moyenne, pour générer un événement de probabilité 1/3 ? Il s'avère,
en fait, que quel que soit p on peut s'en tirer avec
deux (2) tirages en moyenne (je veux dire en espérance). Pour
cela, on peut procéder ainsi : on effectue des tirages répétés et on
interprète les bits aléatoires ainsi produits comme l'écriture binaire
d'un nombre réel x uniformément réparti entre 0 et 1 : on
compare x à 1−p en binaire, c'est-à-dire qu'on
s'arrête dès qu'on dispose d'assez de bits pour pouvoir décider
si x < 1−p
ou x > 1−p (on peut considérer le
cas x = 1−p comme s'il était impossible vu qu'il
est de probabilité 0), en notant qu'on va
avoir x < 1−p lorsque le k-ième
bit tiré est 0 et que le k-ième bit de l'écriture binaire
de p vaut 0, et x > 1−p lorsque
le k-ième bit tiré est 1 et que le k-ième bit
de p vaut 1 ; et si x < 1−p on
renvoie non, sinon oui. Concrètement, donc, faire des
tirages aléatoires jusqu'à ce que le k-ième bit tiré soit
égal au k-ième bit de l'écriture de p, et alors
s'arrêter et renvoyer ce bit-là. Il est clair que cet algorithme
fonctionne, mais pour qu'il soit encore plus évident qu'il conduit à
faire deux tirages en moyenne, on peut le reformuler de la façon
encore plus élégante suivante (il suffit d'échanger les résultats
0 et 1 pour x, qui sont complètement symétriques, lorsque
le bit correspondant de p vaut 0) : tirer des bits
aléatoires jusqu'à tomber sur 1, et lorsque c'est le cas, s'arrêter et
renvoyer le k-ième bit de p
(où k est le nombre de bits aléatoires qui ont été tirés).
Je trouve ça incroyablement élégant et astucieux (même si c'est très
facile), et je ne sais pas d'où sort ce truc. (Cela revient encore à
tirer une variable aléatoire k distribuée selon une loi
géométrique d'espérance 1, comme je l'explique plus bas, c'est-à-dire
valant k avec probabilité (½)k+1, et
renvoyer le (k+1)-ième
bit bk+1 de p, ce qui,
quand on écrit p =
∑k=0+∞bk+1·(½)k+1,
est finalement assez évident.)
Comment tirer un entier aléatoire entre 0 et n−1
à partir de bits aléatoires ? (Ma première réaction en
entendant ce problème a été de dire : considérer x uniforme
dont l'écriture binaire est donnée par la suite des bits tirés,
générer suffisamment de bits pour calculer la valeur de
⌊n·x⌋, où ⌊—⌋ désigne la partie entière, et
renvoyer celle-ci. Ceci fonctionne, mais ce n'est pas le plus
efficace. Un autre algorithme avec rejet consiste à
générer r := ⌈log(n)/log(2)⌉ bits, qui, lus en
binaire, donnent un entier aléatoire c entre 0 et
2r−1, renvoyer c s'il
est <n, et sinon tout recommencer. Mais ce n'est pas
très efficace non plus, quoique dans des cas un peu différents.) Je
décris ce problème plus en détails
dans ce
fil Twitter, mais donnons juste l'algorithme : on utilise deux
variables internes à l'algorithme, notées v
et c, qu'on initialise par v←1 et c←0
(il s'agit d'un réservoir d'entropie, et la garantie est
que c est aléatoire uniformément réparti entre
0 et v−1) ; puis on effectue une boucle : à chaque étape,
on génère un bit aléatoire b (valant 0 ou 1 avec
probabilité ½ pour chacun, et indépendant de tous les autres, donc) et
on remplace v ← 2v
et c ← 2c+b ; puis on
compare v avec n
et c avec n : si v<n
(ce qui implique forcément c<n) on continue
simplement la boucle (il n'y a pas assez d'entropie) ;
si v≥n et c<n, on
termine l'algorithme en renvoyant la valeur c ; enfin,
si c≥n, on
effectue v ← v−n
et c ← c−n et on continue la boucle.
Le calcul du nombre moyen de tirages effectués est fastidieux
(voir cette référence citée dans le fil Twitter référencée
ci-dessus), mais c'est optimal.
L'algorithme que je viens de décrire s'adapte assez bien pour tirer
un entier uniforme entre 0 et n−1 à partir d'une source de
entiers uniformes entre 0 et m−1 (le cas que je viens de
décrire est le cas m=2), autrement dit : comment
fabriquer un dé à n faces à partir d'un dé à m
faces ? Je n'ai pas vraiment envie de réfléchir à si c'est
optimal (mise à
jour : on
l'a fait pour moi), mais c'est en tout cas assez élégant : on
utilise deux variables internes à l'algorithme, notées v
et c, qu'on initialise par v←1
et c←0 ; puis on effectue une boucle : à chaque étape, on
génère un tirage aléatoire b entre 0 et m−1 à
partir de la source dont on dispose et on
remplace v ← m·v
et c ← m·c+b ; puis on
effectue la division euclidienne de v et de c
par n : si les deux quotients calculés sont différents
(⌊c/n⌋ < ⌊v/n⌋), on
termine l'algorithme en renvoyant le reste c%n
:= c − n·⌊c/n⌋ de la
division de c par n, tandis que si les deux
quotients sont égaux, on remplace chacun par son reste,
c'est-à-dire v ← v%n
et c ← c%n et on continue la
boucle.
Introduisons maintenant aussi des tirages continus.
Configurations de points et droites : un petit projet mathématico-physico-artistique
Je parle souvent de maths un peu compliquées sur ce blog, alors
pour changer (et pour me changer les
idées) je vais parler de choses un peu plus simples : de géométrie
plane, et plus précisément de points et de droites. Je voudrais
évoquer un petit projet que j'ai — qui, comme beaucoup de projets que
j'ai, risque de n'aboutir nulle part — et qui ferait intervenir les
maths (pour le sujet de fond), la mécanique classique (pour
l'animation), l'informatique (pour le calcul) et un côté artistique
(parce que le but serait surtout de faire quelque chose de joli à
regarder). Enfin, ça c'était l'idée initiale, sauf que, comme
d'habitude quand j'écris une entrée dans ce blog (mais bon, c'est un
peu l'idée, aussi), je suis tombé dans un terrier de lapin, je me suis
perdu dans les méandres de ce que je dois raconter, et au final ça ne
ressemble à rien.
J'ai expliqué par le passé (et souvent fait référence depuis au
fait) que j'étais fasciné par la
symétrie et par les objets mathématiques très symétriques. En
même temps, il ne faut pas oublier que je suis géomètre, et au sein de
la géométrie, j'aime beaucoup ce qui en est la forme la plus épurée,
la géométrie projective (plane, disons) où il n'est question que de
points et de droites. (Je faisais d'ailleurs souvent remarquer à mes
élèves agrégatifs quand ils faisaient des développements sur les
constructions à la règle et au compas qu'il pouvait être bienvenu de
consacrer une certaine attention aux constructions à la règle
seule, qui sont les constructions « pures » de la géométrie
projective, où on ne peut que relier deux points à la règle et
intersecter deux droites.)
À la croisée de ces deux intérêts, il y a la notion
de configuration de points et de droites (dans le
plan) : une configuration est simplement un ensemble fini de points et
un ensemble fini de droites[#].
Les figures ci-contre à droite sont des exemples de configurations de
neuf points et neuf droites telles que par chaque point de la
configuration passent exactement trois droites et chaque droite passe
par exactement trois points. Bien sûr, on peut voir sur cette figure
d'autres points, à l'intersection de deux droites de la configuration,
mais ceux qui sont des points de la configuration sont
uniquement ceux que j'ai marqués en rouge, pas n'importe quel point
que vous pouvez voir comme intersection de deux droites (et
symétriquement, on peut considérer d'autres droites en reliant deux
des points, mais ceux qui sont des droites de la
configuration sont celles qui ont été tracées, pas n'importe
quelle droite que vous pouvez faire apparaître en reliant deux
points).
[#] Pour éviter de
considérer des objets sans intérêt, on demandera que chaque point de
la configuration soit situé sur au moins une des droites de la
configuration (sinon c'est un point isolé qui ne sert à rien), voire
deux (sinon c'est un point isolé sur sa droite), voire trois (sinon
c'est juste le marqueur d'une intersection), et symétriquement, que
chaque droite passe par au moins un des points, voire deux, voire
trois. De toute façon, comme je le dis plus bas, on demande en
général que la configuration soit régulière, c'est-à-dire que
par chaque point passe le même nombre q de droites et que
chaque droite passe par le même nombre k de points.
Je ne veux pas parler longuement des configurations de points et de
droites, parce que ce n'est pas tellement mon sujet, mais disons-en
quand même quelques mots. (Enfin, quelques mots qui, comme
d'habitude, se sont multipliés en quelques pages.) Ceux qui veulent
juste savoir ce qu'est mon projet peuvent sauter
directement plus bas.
Généralement on s'intéresse aux configurations possédant un certain
degré de régularité, au moins numérique, c'est-à-dire que par chaque
point passe le même nombre de droites et chaque droite passe par le
même nombre de points (voire que ces deux nombres sont égaux, ce qui
est le cas sur mes exemples), voire un certain degré de symétrie.
Spécifiquement, on dit qu'une configuration est de type
(pq,nk),
où p,q,n,k sont quatre
entiers ≥2 (ou en fait plutôt ≥3), lorsqu'elle
comporte p points et n droites, que par chaque
point passent q droites et que chaque droite passe
par k points (ces informations sont donc redondantes et on
a pq = nk, ce qui se voit
en comptant le nombre total d'incidences d'un point et d'une droite) ;
la plupart des textes sur les configurations de points et droites
utilisent le mot configuration pour désigner spécifiquement les
configurations régulières, c'est-à-dire celles qui sont de type
(pq,nk)
pour certains
paramètres p,q,n,k≥3.
Lorsque de plus p=n (ou ce qui revient au
même, q=k), on dit simplement qu'on a affaire à
une configuration de type (nk),
c'est-à-dire n points, n droites, chaque droite
passant par k points et par chaque point
passant k droites : mes figures à droite sont donc des
configurations de type (9₃).
Pour être plus précis, je dois distinguer la notion
de configuration abstraite et de réalisation
géométrique de la configuration : deux configurations
géométriques ont la même configuration abstraite lorsqu'on peut
étiqueter (i.e., donner des noms, ce que je n'ai volontairement pas
fait sur les figures ci-contre) aux points et aux droites des deux
configurations de manière à ce qu'elles se correspondent avec les
mêmes incidences, c'est-à-dire que si la droite nommée ℓ
passe par le point nommé P sur une figure, ça doit aussi
être le cas sur l'autre. (Cela pourrait être le cas parce qu'on a
déplacé juste un petit peu les points et les droites d'une des figures
pour former l'autre, mais ce n'est pas forcément le cas qu'on puisse
passer continûment de l'une à l'autre.) Une configuration abstraite
est donc la manière de demander quelles droites doivent passer par
quels points (par exemple, un triangle abstrait consisterait à
dire trois points A,B,C et trois
droites a,b,c de manière
que a passe par B et C,
que b passe par C et A et
que c passe par A et B ; et une
réalisation géométrique de cette configuration abstraite est
simplement un triangle).
Bref, une configuration abstraite est simplement
la donnée de deux ensembles finis d'objets, arbitrairement
appelés points et droites, et d'une relation
d'incidence entre points et droites (on peut dire qu'une droite
[abstraite] passe par un point [abstrait] lorsque cette
relation est satisfaite) ; si on veut, c'est
un graphe
bipartite ; et on demandera en outre qu'il existe au plus
une droite incidente avec deux points distincts donnés et au
plus un point incident avec deux droites distinctes données (ceci
correspond au fait que, dans le plan, deux points distincts
définissent une droite et que deux droites distinctes se coupent en au
plus un point). Une réalisation géométrique d'une
configuration abstraite est une façon de trouver des points distincts
et des droites distincts dans le plan (encore qu'il faut préciser quel
plan : plan euclidien, ou ce qui revient au même, affine réel, plan
projectif réel, ou des plans affines ou projectifs différents), en
correspondance avec la configuration abstraite à réaliser, de façon
qu'une droite passe par un point exactement quand l'incidence a lieu
dans la configuration abstraite.
Il y a donc plusieurs questions qui se posent naturellement :
quelles sont les configurations abstraites possibles ? (peut-on, par
exemple, les dénombrer ? les classifier ? a priori non, cela
reviendrait en gros à classifier les graphes bipartites, ce qui n'a
guère de sens, il y a juste trop de possibilités, mais on peut
s'intéresser à celles qui vérifient certaines contraintes, par exemple
ont beaucoup de symétries ; ou on peut simplement en chercher qui sont
particulièrement remarquables et intéressantes, et je vais donner
quelques exemples ci-dessous) ; parmi elles, quelles sont celles qui
sont réalisables ? (peut-on tester ce fait efficacement sur tel ou tel
corps ? je dois mentionner que cela revient en fait à tester si un
système d'équations polynomiales tout à fait général a des solutions,
ce qui est décidable mais très coûteux sur les complexes, décidable
mais extraordinairement coûteux sur les réels, et possiblement
indécidable sur les rationnels) ; puis on peut encore se poser des
questions sur les réalisations d'une configuration donnée, par exemple
peut-on passer continûment de l'une à l'autre ? Malheureusement, je
doute qu'on puisse dire quoi que ce soit de vraiment intelligent sur
aucune de ces questions à ce niveau de généralité (il faut se
contenter de résultats du type : pour tout n≥9, il existe
au moins une configuration géométrique de type (n₃) dans le
plan euclidien).
Il n'est pas toujours évident, visuellement, de reconnaître quand
une configuration abstraite est la même qu'une autre. Par exemple,
les trois configurations (9₃) ci-dessus à droite sont distinctes non
seulement géométriquement (c'est évident) mais même abstraitement ; et
celle qui est ci-contre à gauche, est une réalisation géométrique
(différente) d'une des trois configurations abstraites en question, et
ce n'est pas forcément immédiat de reconnaître laquelle ! Le lecteur
saura-t-il reconnaître laquelle, et saura-t-il montrer que les trois
de départ sont bien distinctes ? Pour ça, on peut suggérer
l'indication consistant à relier (d'une couleur différente, disons)
les paires de points qui ne sont pas situées sur une même
droite de la configuration, et regarder le graphe ainsi formé (par
exemple, y a-t-il des triplets de points dont aucune paire n'est
située sur une droite de la figure ? combien de tels
« anti-triangles » y a-t-il ?).
Plus difficile, on peut chercher à montrer qu'il n'y a
que trois configurations (9₃) abstraites possibles, et que je
les ai donc toutes les trois réalisées géométriquement. (La plus en
haut, (9₃)①, s'appelle
la configuration
de Pappus, parce qu'elle est celle qui intervient dans
l'énoncé
du théorème
de Pappus.) Il y a une unique configuration (8₃) abstraite
possible,
la configuration
de Möbius-Kantor, mais elle n'est pas réalisable
géométriquement dans le plan réel même si elle l'est sur les complexes
(on peut par exemple l'obtenir en retirant un point et les droites qui
vont avec à une autre, de type (9₄,12₃) celle-là,
la configuration
de Hesse, elle aussi non réalisable sur les réels mais
réalisable sur les complexes, qui est celle des neuf points
d'inflection d'une courbe cubique lisse). Il y a aussi une unique
configuration (7₃) abstraite possible,
la configuration
de Fano, mais celle-ci n'est réalisable que sur un corps de
caractéristique 2.
Mon but aujourd'hui est d'expliquer un peu en détails,
mathématiquement, comment on peut modifier le modèle SIR
classique (dont le vais rappeler les grandes lignes dans un instant),
lequel décrit l'évolution d'une épidémie dans laquelle tout le monde
est également susceptible à l'infection, pour le cas d'une
susceptibilité hétérogène, c'est-à-dire que certains individus sont
plus ou moins susceptibles d'être infectés (= ont plus ou moins de
chances d'être infectés dans des circonstances identiques), et on va
voir que ces hétérogénéités de susceptibilité ont un impact important.
(Je ne me prononce pas sur la cause de ces différences de
susceptibilité : elles pourraient être dues à des différences
biologiques — certaines personnes s'infectent plus facilement que
d'autres — ou sociales — certaines personnes sont plus fréquemment
exposées à des conditions infectieuses. Néanmoins, comme le modèle
que je vais développer ici suppose que la variation de susceptibilité
n'est pas corrélée à une variation d'infectiosité, c'est-à-dire que
les personnes plus susceptibles ne sont pas spécialement plus
infectieuses — si c'était le cas l'effet que je décris ici
serait encore plus accentué — il vaut peut-être mieux
imaginer le cas d'une origine biologique, parce qu'une hétérogénéité
sociale a plus de chances d'être symétrique.)
Ce qui est assez surprenant, c'est que cette idée, qui peut
paraître compliquée à traiter, complique en fait extrêmement peu le
modèle SIR, et qu'on peut trouver des réponses exactes à
essentiellement les mêmes questions que pour SIR
classique (du genre quel est le nombre maximal d'infectés ?)
dans ce cadre plus complexe, donnée la distribution (initiale) de
susceptibilité dans la population. En général les réponses feront
intervenir la transformée de Laplace de la distribution de
susceptibilité (je vais expliquer ce que c'est plus bas), mais dans un
cas particulier assez naturel (celui d'une distribution Γ, par exemple
la distribution exponentielle), on peut tout traiter complètement.
[Un résumé de ce post de blog est contenu
dans ce
fil Twitter
(17 tweets ; ici
sur ThreadReaderApp), pour ceux qui préfèrent ce format ou qui
veulent surtout les points importants (noter que tweet 11/17 il y
a une
typo, il faut lire φ′(0)=−1 et
pas φ′(0)=1). ※ Une version anglaise (un petit peu plus
longue) est contenu
dans ce
fil Twitter
(25 tweets ; ici
sur ThreadReaderApp).]
Ajout () : Comme je
commence à avoir écrit pas mal de choses au sujet d'épidémiologie sur
Twitter, voici
un méta-fil
(ici
sur ThreadReaderApp) rassemblant les plus importants fils que j'ai
pondus.
❦
Je commence par rappeler les grandes lignes du
modèle SIR classique.
Le modèle SIR classique, donc, étudie l'évolution
d'une épidémie dans une population en distinguant trois classes
d'individus : les Susceptibles, les Infectieux (qui dans ce modèle
sont les mêmes que les infectés) et les Rétablis (qui sont immuns —
ou, en fait, morts). Parmi les nombreuses hypothèses simplificatrices
faites par ce modèle, il y a les suivantes (j'en oublie
certainement) : l'immunité acquise par l'infection est parfaite et
permanente, les individus sont infectieux dès qu'ils sont infectés, et
ils vont donc soit rester dans l'état S, soit passer succesivement par
les étapes S,I,R ; la population est homogène, c'est-à-dire que tous
les individus sont également susceptibles et également infectieux une
fois infectés, ils ont les mêmes probabilités de se faire infecter, la
taille de la population est constante, et elle est assez grande pour
être traitée de façon continue déterministe, et les contacts obéissent
à une hypothèse de mélange parfait (au sens où tous les contacts sont
également plausibles) ; le comportement de la population est constant
dans le temps et notamment indépendant de l'évolution de l'épidémie ;
les contaminations et le rétablissement obéissent à une cinétique du
premier ordre I+S → I+I et I → R respectivement, avec des
constantes β (d'infectiosité) et γ
(de rétablissement) respectivement, c'est-à-dire le nombre de
nouveau infectés par unité de temps est simplement proportionnel au
produit du nombre d'infectieux par le nombre de susceptibles, et que
le nombre de nouvellement rétablis est simplement proportionnel au
nombre d'infectieux.
Bref, si on note s,i,r (quantités
réelles entre 0 et 1, fonctions du temps) les proportions de la
population formées d'individus susceptibles, infectieux et rétablis
respectivement, alors les nouvelles infections par unités de temps se
représentent par le terme β·i·s, et
les rétablissements par γ·i, du coup le
modèle SIR est décrit par le système d'équations
différentielles ordinaires (autonomes) du premier ordre suivant :
ds/dt = −β·i·s
di/dt
= β·i·s
− γ·i
dr/dt = γ·i
(s+i+r=1)
où on impose en outre généralement les conditions initiales telles
que s(−∞)=1, i(−∞)=0 et r(−∞)=0 (je
parle bien sûr des limites en −∞), avec i croissant
exponentiellement pour t assez proche de −∞
(cf. ci-dessous). La constante β d'infectiosité représente
le nombre moyen de personnes qu'une personne infectieuse donnée
infecte par unité de temps dans une population entièrement
susceptible, tandis que la constante γ de rétablissement
représente la proportion moyenne d'infectés qui se rétablissent par
unité de temps (donc l'inverse du temps moyen de rétablissement, le
temps de rétablissement suivant en fait une loi exponentielle).
Notons que β peut aussi, symétriquement, se comprendre
comme une constante de susceptibilité, c'est-à-dire comme le nombre
moyen de personnes par lesquelles une personne susceptible donnée sera
infectée par unité de temps dans une population entièrement
infectieuse : c'est la raison pour laquelle je parlerai tantôt
de β comme représentant une infectiosité et tantôt une
susceptibilité (et comme ici on veut modéliser des variations de
susceptibilité, c'est plutôt le deuxième qui va être mis en
lumière).
Rappelons quelques uns des points saillants de ce modèle concernant
le début, le pic et la fin de l'épidémie, résumé que je recopie
de ce billet (plus exactement,
comme je viens de le dire, on s'intéresse aux solutions pour
lesquelles s→1 quand t→−∞) ; on
notera κ := β/γ le nombre de
reproduction, que je suppose >1 :
tant que s reste très proche de 1 (si on
veut, t→−∞), les proportions i et r
croissent comme des exponentielles de pente
logarithmique β−γ
= β·((κ−1)/κ), avec un rapport
1/(κ−1) entre les deux, autrement dit comme i
= c·exp((β−γ)·t)
= c·exp(β·((κ−1)/κ)·t)
et r
= c·(γ/(β−γ))·exp((β−γ)·t)
= c·(1/(κ−1))·exp(β·((κ−1)/κ)·t)
(ergotage : dans l'entrée sur le sujet, j'avais mis un −1 aux
exponentielles pour r, parce que je voulais partir
de r=0, mais je me rends compte maintenant qu'il est plus
logique de partir d'une solution où i/r tend
vers une constante en −∞, cette constante étant κ−1) ;
au moment du pic épidémique (maximum de la proportion i
d'infectieux), on a s = 1/κ et i =
(κ−log(κ)−1)/κ et r =
log(κ)/κ ; notamment, le moment où l'épidémie
commence à régresser correspond à i+r = 1 −
1/κ (seuil d'immunité collective) ;
quand t→+∞, la proportion i tend vers 0
(bien sûr) et s tend vers Γ :=
−W(−κ·exp(−κ))/κ (en notant W
la fonction
de Lambert) l'unique solution strictement comprise entre 0 et 1 de
l'équation Γ = exp(−κ·(1−Γ)) (qui
vaut 1 − 2·(κ−1) + O((κ−1)²) pour κ
proche de 1, et exp(−κ) +
O(κ·exp(−2κ)) pour κ grand), tandis
qu'évidemment r, lui, tend vers 1−Γ
(taux d'attaque final).
La réalisabilité de Kleene (comme prélude au topos effectif)
Interrompons un petit peu la succession de rants au sujet du covid
pour parler un peu de maths. Je déterre pour le terminer un vieux
texte que j'avais commencé il y a environ deux ans et que j'avais
abandonné, mais auquel je repense parce que j'ai reréfléchi à des
questions adjacentes. Le but est ici de définir un concept à cheval
entre la logique et la calculabilité qui s'appelle
la réalisabilité de Kleene. Plus tard (un jour, si j'en
trouve le temps et la patience) j'aimerais parler du topos
effectif, et comme le topos effectif contient (généralise, donne
un cadre catégorique à) la réalisabilité de Kleene, il sera utile que
j'aie au moins écrit à ce sujet avant, même si en principe on n'a pas
besoin de passer par cette étape intermédiaire.
[Ajout : le billet sur le topos
effectif est ici.]
Tout ceci a un rapport avec la logique intuitionniste :
j'ai déjà écrit un post de blog à
ce sujet, qu'il peut être utile d'avoir lu, mais il faut admettre
qu'il est extrêmement brouillon et mal structuré
[ajout : celui-ci,
écrit ultérieurement, est sans doute bien plus clair]. En tout état de
cause, il n'est pas nécessaire de savoir ce que c'est que la logique
intuitionniste pour comprendre la définition de la réalisabilité de
Kleene. (Le principal prérequis à ce qui va suivre est de savoir les
bases de la calculabilité : ce qu'est une machine de Turing — ou toute
autre représentation des fonctions partielles calculables —, et savoir
qu'on peut les encoder par des entiers naturels ; donc comprendre une
expression comme le résultat de l'exécution de la machine de Turing
codée par l'entier e sur l'entier n en
entrée. c'est-à-dire l'image de n par la e-ième
fonction calculable partielle, qui sera
noté e•n ci-dessous.) Néanmoins, comme la
réalisabilité de Kleene est compatible avec les règles de la logique
intuitionniste (elle réalise tous les théorèmes de l'arithmétique de
Heyting), et est inspirée par (et rend rigoureux) les principes
(informels)
de Brouwer-Heyting-Kolmogorov,
c'est bien d'en avoir au moins une idée ; cette connexion avec la
logique intuitionniste sera encore plus forte dans le topos effectif :
on peut dire sommairement qu'un topos est une sorte de « monde
mathématique alternatif » régis par les lois de la logique
intuitionniste (et le topos effectif est un tel monde où la
calculabilité joue un rôle central et notamment toutes les fonctions
ℕ→ℕ sont calculables).
Mais le but de cette entrée-ci n'est pas de décrire le
topos effectif (pas qu'il soit très long à définir, mais ça devient
long si on veut en dire le minimum pour que ce soit intéressant).
C'est de présenter une notion plus ancienne,
la réalisabilité de Kleene, qui
sert de fondement ou de prolégomène à la construction du topos
effectif. Je dois avouer que le sens profond de cette notion
m'échappe encore, et j'ai vaguement l'impression que personne ne la
comprend aussi profondément qu'il voudrait ; je ne sais même pas bien
ce que Kleene cherchait à faire en introduisant cette notion. Mais
superficiellement, l'idée est qu'on définit une notion que je vais
noter n ⊪ φ,
lire nréaliseφ, entre
un entier naturel n et une formule logique φ de
l'arithmétique du premier ordre (je vais rappeler ce que c'est plus
bas), et dont le sens intuitif est que n apporte une sorte
de témoignage(?) algorithmique de la véracité de φ
(néanmoins, on va voir que φ n'est pas forcément vraie dans
le monde classique, et il va s'agir d'expliquer le rapport entre ces
notions).
Le rapport avec le topos effectif sera notamment que les énoncés
arithmétique du premier ordre qui sont réalisables (au sens où il
existe un n qui les réalise) seront exactement ceux qui
seront vrais dans le topos effectif. En particulier, la réalisabilité
permet de faire un pont vers la logique intuitionniste, même en
partant de la logique classique : on n'a pas besoin de savoir ce
qu'est la logique intuitionniste ni comment elle fonctionne pour
définir la relation n ⊪ φ, mais une fois qu'on
l'a définie, on constate qu'elle fonctionne de façon fondamentalement
intuitionniste en φ (et notamment, réaliser la double
négation ¬¬φ n'est pas du tout pareil que
réaliser φ). Par ailleurs, la
relation n ⊪ φ est elle-même une formule
logique (avec une variable n de plus que la formule de
départ), on peut se demander sous quelle condition elle-même est
réalisable, ou démontrable (ou démontrablement réalisable), etc., et
les réponses sont assez satisfaisantes.
Ajout : ce billet
ultérieur, sur la réalisabilité propositionnelle (qu'on
peut lire avant, ou après, ou indépendamment) a aussi un rapport
étroit avec celui-ci, puisque la
réalisabilité propositionnelle est la logique
propositionnelle interne du topos effectif de même que la
réalisabilité de Kleene dont il est question ici est l'arithmétique du
premier ordre dans le topos effectif.
Avant de donner la définition, je dois rappeler des choses sur la
logique, qu'on peut sans doute se contenter de lire en diagonale parce
que ce qui suit est vraiment standard et peu surprenant.
D'abord, qu'est-ce que c'est qu'une formule de l'arithmétique du
premier ordre ? Il s'agit d'une formule fabriquée à partir des
connecteurs logiques et de quantificateurs qui ne peuvent porter que
sur les entiers naturels. En voici une définition plus précise :
Pour commencer, un terme (de
l'arithmétique du premier ordre) est une expression formée à partir
d'un stock illimité de variables (que j'appellerai
généralement k, ℓ, m, n, p, q,
etc.) et des constantes représentant les entiers naturels (0, 1, 2,
etc.) au moyen des opérations de somme (+), produit (×, souvent noté
par simple concaténation) et, pour me simplifier la vie, d'élévation à
la puissance (↑, souvent noté en plaçant le deuxième argument en
exposant du premier) ; une formule atomique (de
l'arithmétique du premier ordre) est celle exprimant l'égalité entre
deux termes, par exemple m=2n
ou pk+qk=nk
sont des formules atomiques ; mettons qu'on accepte aussi comme
atomiques les formules d'inégalité, comme i≤j,
cela me simplifiera aussi la vie ; les variables libres
d'une formule atomique sont toutes les variables qui y apparaissent
(par exemple, dans m=2n, il y a deux
variables libres, m et n).
Une formule (de l'arithmétique du premier ordre) est
définie inductivement de la façon suivante : (A) toute formule
atomique est une formule, ainsi que les formules ⊤ (tautologiquement
vraie, qu'on peut considérer comme synonyme de 0=0 si on préfère) et ⊥
(tautologiquement fausse, qu'on peut considérer comme synonyme de 0=1
si on préfère), (B) si φ et ψ sont deux
formules, alors φ∧ψ (conjonction
logique), φ∨ψ (disjonction logique)
et φ⇒ψ (implication logique) en sont, et leurs
variables libres sont celles de φ et de ψ, ainsi
que ¬φ (négation de φ, qu'on considérera comme
une abréviation pour φ⇒⊥) qui a les mêmes variables libres
que φ, et (C) si φ est une formule alors
∀n.φ et ∃n.φ sont des
formules ayant les variables libres de φ sauf n
(notons qu'elle avait parfaitement le droit de ne pas figurer
dans φ, par exemple ∃n.(0=0) est une formule
légitime — et d'ailleurs vraie). Il faudrait ajouter des parenthèses
dans ce que je viens d'écrire pour éviter les ambiguïtés d'écriture,
mais je vais supposer que mon lecteur saura le faire sans plus
d'explication. Par ailleurs, il faudrait définir la substitution d'un
terme pour une variable libre : si φ(n) désigne
une formule ayant possiblement la variable libre n, et
si t est un terme, alors φ(t) désigne
la substitution de t pour la variable n (là où
elle est libre, donc pas à l'intérieur d'éventuels quantificateurs
∀n ni ∃n).
Si t est un terme ne faisant pas intervenir la
variable n, on utilise les notations
∀n≤t.φ et
∃n≤t.φ comme abréviations (sucre
syntaxique) de
∀n.(n≤t ⇒ φ) et
∃n.(n≤t ∧ φ). Une formule
dont tous les quantificateurs sont de cette forme est dite
(arithmétique) à quantificateurs bornés ou
(arithmétique) Δ₀. L'intérêt des formules à quantificateurs bornés
est que leur véracité peut se tester de façon « finitaire » (si on
veut, on a un algorithme qui, donnée une formule à quantificateur
bornés, termine de façon certaine en temps fini en
renvoyant vrai ou faux selon que la formule est vraie ou
fausse).
Une formule n'ayant aucune variable libre est appelée
un énoncé.
Ensuite, j'ai besoin de deux notions de codage classiques.
Premièrement, on peut coder (=représenter) les couples d'entiers
naturels par des entiers naturels : pour ça, je choisis une bijection
ℕ²→ℕ calculable (et même primitive récursive, disons
(p,q)↦2p(2q+1)−1
pour fixer les idées) dont je note ⟨p,q⟩ l'image
du couple (p,q). Deuxièmement, j'ai aussi
besoin de coder (=représenter) les machines de Turing (ou toute autre
façon de représenter les fonctions calculables partielles ℕ⇢ℕ) par des
entiers naturels. Il y a plusieurs notations vaguement standard pour
désigner l'exécution de la e-ième machine de Turing (i.e.,
celle codée par l'entier naturel e) sur
l'entier n, c'est-à-dire l'image de n par
la e-ième fonction calculable partielle : on note ça
parfois Φe(n)
(voire φe(n), mais j'ai
choisi la lettre ‘φ’ pour désigner des formules logiques donc je ne
peux pas), parfois {e}(n), ce qui est une
notation franchement pourrie ; une notation plus rare, mais moins
problématique, et c'est celle que je vais utiliser,
est e•n (cf. ci-dessous pour l'écriture formelle
de cette expression dans l'arithmétique du premier ordre).
J'écrirai e•n↓ pour signifier
que e•n est défini, y compris dans des
expressions comme e•n↓=v (de nouveau,
cf. ci-dessous).
Bref, ⟨p,q⟩ désignera le couple
(p,q) codé sous forme d'un entier naturel,
et e•n désignera le résultat de l'exécution du
programme codé par l'entier naturel e sur l'entier
naturel n passé en entrée (et peut donc ne pas être définie
si le programme en question n'est pas correct, ou si son exécution ne
termine pas, ou si le résultat n'est pas un entier naturel
correct).
L'opération e•n ne fait pas partie du langage
de l'arithmétique, mais on peut l'y définir : c'est-à-dire que
l'affirmation l'exécution du programme [codé par] e sur
l'entrée n termine et renvoie la valeur v
(qu'on peut abréger e•n↓=v) peut
s'écrire comme une formule de l'arithmétique du premier ordre. Pour
être même un chouïa plus précis, il existe une
formule T(e,n,x),
le prédicat T de Kleene, qu'on peut écrire explicitement
mais je ne le ferai pas, et qui est même à quantificateurs bornés
(Δ₀ : cf. ci-dessus), dont le sens intuitif est l'exécution du
programme e sur l'entrée n termine avec pour
trace d'exécution x (la trace d'exécution étant le
détail de tous les calculs qu'a fait, par exemple, la machine de
Turing désignée par e) ; et une
fonction U(x) dont on peut supposer — et je le
ferai — que c'est simplement la
projection x=⟨t,v⟩ ↦ v sur
la seconde coordonnée, qui transforme une trace
d'exécution x en le résultat v renvoyé par le
calcul. Ainsi, e•n↓ (l'exécution du
programme e sur l'entrée n termine)
s'écrit/signifie
∃x.T(e,n,x) ;
et e•n↓=v (l'exécution du
programme e sur l'entrée n termine et
renvoie v) s'écrit/signifie
∃t.(T(e,n,⟨t,v⟩)).
★ Voici maintenant la définition de la réalisabilité de Kleene, par
induction sur la complexité de la formule réalisée :
lorsque φ est une formule atomique (y compris ⊤
ou ⊥), n ⊪ φ signifie
simplement φ (i.e., que φ est vraie) : autrement
dit, n'importe quel entier naturel réalise une formule atomique vraie,
et aucun entier naturel ne réalise une formule atomique fausse ;
on a n ⊪ (φ∧ψ)
lorsque n=⟨p,q⟩
où p ⊪ φ et q ⊪ ψ :
autrement dit, les entiers naturels qui réalisent une conjonction sont
ceux qui codent un couple formé d'un réalisateur de chaque terme de la
conjonction ;
on a n ⊪ (φ∨ψ)
lorsque n=⟨0,p⟩ où p ⊪ φ
ou bien n=⟨1,q⟩ où q ⊪ ψ :
autrement dit, les entiers naturels qui réalisent une disjonction sont
ceux qui codent un couple dont le premier membre indique quel terme de
la disjonction est réalisé et le second le réalise ;
on a n ⊪ (φ⇒ψ) lorsque, pour
tout p tel que p ⊪ φ, on a
(n•p↓) ⊪ ψ : autrement dit, les
entiers naturels qui réalisent une implication sont ceux qui codent un
programme (une fonction calculable (partielle)) qui, quand on lui
fournit en entrée un entier p réalisant l'antécédent de
l'implication, termine en temps fini et renvoie un entier réalisant la
conclusion ;
en particulier (puisque ¬φ signifie φ⇒⊥ et
qu'aucun entier ne réalise ⊥), on a n ⊪ ¬φ (pour
n'importe quel n) lorsqu'il n'existe aucun
entier p tel que p ⊪ φ ;
on a n ⊪ ∀x.φ(x)
lorsque, pour tout k, on a (n•k↓)
⊪ φ(k) (ou, pour être tout à fait précis,
(n•k↓) ⊪ φ(‘k’) où
‘k’ désigne la constante qui désigne l'entier
naturel k, et φ(‘k’) la substitution
de cette constante pour x dans la
formule φ(x)) : autrement dit, les entiers
naturels qui réalisent une quantification universelle sont ceux qui
codent une fonction calculable (totale) qui, quand on lui fournit en
entrée un entier k, renvoie un entier réalisant
l'instance φ(k) en question de la formule
universellement quantifiée ;
on a n ⊪ ∃x.φ(x)
lorsque n=⟨k,p⟩ où p
⊪ φ(k) (ou, pour être tout à fait
précis, p ⊪ φ(‘k’) comme dans le
point précédent) : autrement dit, les entiers naturels qui réalisent
une quantification existentielle sont ceux qui codent un couple dont
le second membre un entier réalisant l'instance de la formule
existentiellement quantifiée donnée par le premier membre.
Pour être tout à fait exact, je définis par les mêmes clauses
énumérées ci-dessus deux variantes de la réalisabilité : il y a une
notion dans l'univers mathématique, si j'ose dire, ambiant
(n étant un entier naturel et φ une formule de
l'arithmétique du premier ordre, n ⊪ φ a le sens
défini par les clauses ci-dessus), et il y a une réalisabilité
formalisée qui consiste à voir les clauses
ci-dessus elles-mêmes dans l'arithmétique du premier ordre,
c'est-à-dire qu'on va définir, par exemple, n ⊪
(φ∧ψ) comme la formule
∃n.(n=⟨p,q⟩ ∧
(p⊪φ) ∧ (q⊪ψ)) et ainsi de
suite. Il n'y a pas forcément besoin de distinguer ces deux notions,
mais il est important de noter que la réalisabilité peut être
formalisée, et donc que n ⊪ φ
est elle-même une formule de l'arithmétique du premier ordre
(pour n une variable libre n'apparaissant pas libre
dans φ). (Ce n'est pas tellement différent de la
formalisation de la notion de démonstration :
l'affirmation φ est démontrable dans l'arithmétique de
Peano, par exemple, est un énoncé arithmétique
lorsque φ en est un :
cf. ici pour plus
d'explications.)
On lit n ⊪ φ en disant
que nréaliseφ ou
que φest réalisée
par n,
et ∃n.(n⊪φ) en disant
que φ est réalisable.
Petite note technique sur la différence entre seuil d'immunité grégaire et taux d'attaque final
Je veux écrire ici une petite note sur un point que je
pense avoir mal expliqué par le
passé, et autour duquel il existe une certaine confusion. Il
s'agit du rapport entre le seuil d'immunité grégaire d'une
part et le taux d'attaque final d'une épidémie d'autre part :
quelle est la différence entre ces deux concepts, que penser de
l'écart, ou overshoot entre ces deux quantités,
et laquelle est la plus pertinente en pratique. Il faudra bien
distinguer le cas du modèle théorique SIR et le cas d'une
épidémie réelle (et pour faire la transition de l'un à l'autre,
j'évoquerai rapidement un modèle SIR « en deux
phases »).
Le seuil d'immunité grégaire
(ou …collective, peut-être un meilleur terme parce qu'il évoque
moins l'image déplaisante d'un troupeau, mais comme j'ai commencé
avec grégaire je préfère maintenant rester dessus) est la
proportion d'immuns qu'il faut atteindre dans la population pour que
le nombre de reproduction effectif de l'épidémie devienne <1.
Autrement dit :
soit on considère une épidémie naissante, c'est-à-dire qu'il n'y a
que très peu d'infectés, mais pour laquelle un certain nombre
d'individus sont préalablement immunisés (par exemple par un vaccin) :
alors le seuil d'immunité grégaire est le nombre d'immunisés
nécessaires pour que l'épidémie ne démarre pas (son nombre de
reproduction est <1 donc le petit nombre d'infectés disparaît
simplement) ;
soit on considère une épidémie déjà en cours, et dans ce
cas le fait qu'on atteigne le seuil d'immunité grégaire se voit au
fait que le nombre d'infectés commence à décroître,
c'est-à-dire qu'il y en a de moins en moins (le nombre de reproduction
est <1 donc ce nombre diminue progressivement).
Par contraste, le taux d'attaque final (qui n'a de
sens qu'en considérant le cours d'une épidémie particulière) est la
proportion d'individus qui seront atteints par l'épidémie pendant
toute sa durée.
Même si on suppose que l'immunité est parfaitement stérilisante et
dure indéfiniment (ce que je ferai pour simplifier, ce n'est pas le
propos ici de discuter de ces questions), ces deux quantités sont
différentes : la raison est simple, c'est que même une fois que le
seuil d'immunité grégaire est atteint, le nombre d'infectés commence
certes à diminuer, mais il n'est pas nul pour autant, donc il y a de
l'inertie : ce nombre d'infectés en infecte un plus petit nombre, qui
en infecte à son tour un encore plus petit nombre, et ainsi de suite,
mais la somme de tout ça n'est pas nulle.
La différence entre ces deux quantités s'appelle
l'overshoot de l'épidémie : i.e., l'overshoot est
la proportion qu'elle attaque en plus du seuil d'immunité
grégaire.
Dans le cas du modèle théorique
(ultra-simpliste) SIR, on peut calculer explicitement ces
deux quantités. Je l'ai fait dans
l'entrée que j'ai écrite à ce
sujet, mais je n'ai pas été clair parce que je n'avais pas la bonne
terminologie (j'ai parlé de modèle extrêmement simpliste pour
une description qui calcule, en fait, le seuil d'immunité grégaire, ce
qui a pu augmenter la confusion), je redis donc les choses un peu
autrement : en notant κ le nombre basique de reproduction
(lettre que je préfère à R parce que le R
de SIR a un sens différent), c'est-à-dire le
nombre de reproduction pour une population immunologiquement (et
sociologiquement) naïve :
le seuil d'immunité grégaire rherd dans le
modèle SIR se calcule à partir du nombre basique de
reproduction κ par la formule rherd =
1 − 1/κ (la démonstration est facile : lorsqu'une
proportion s des individus est susceptible, le nombre de
reproduction effectif tombe de κ
à κ·s simplement parce que chaque contact
possiblement infectieux a cette probabilité de donner effectivement
une infection, du coup pour avoir κ·s = 1 on
doit avoir s = 1/κ et cela correspond à la
proportion complémentaire r = 1 − 1/κ d'immuns
au final) ;
le taux d'attaque final r∞ dans le
modèle SIR se calcule à partir du nombre basique de
reproduction κ par la formule r∞ = 1
+ W(−κ·exp(−κ))/κ où W désigne
la fonction
transcendante W de Lambert (j'ai déjà démontré cette formule
dans mon entrée passée sur le
sujet).
J'ai tracé ces deux courbes ci-contre en fonction du nombre de
reproduction κ : en rouge le seuil d'immunité grégaire, et
en bleu le taux d'attaque final. Rappelons en outre, pour ce qui est
du comportement asymptotique que [encore une fois, tout ça je l'ai
déjà dit, mais avec une terminologie qui n'était pas claire] :
si le nombre basique de reproduction κ est juste un peu
au-delà de 1, disons 1 + h avec h>0 petit,
alors le seuil d'immunité grégaire rherd
vaut h − h² + O(h³) tandis que le
taux d'attaque final r∞ vaut 2·h −
(8/3)·h² + O(h³), donc en gros le
double (ce qui se conçoit grosso modo par le fait que les deux
périodes de l'épidémie sont alors symétriques, celle où elle est
croissante jusqu'au seuil d'immunité grégaire, et celle
d'overshoot où elle est décroissante jusqu'à
tendre vers son taux d'attaque final),
si le nombre basique de reproduction κ est grand, alors
le seuil d'immunité grégaire rherd vaut 1 −
1/κ (il n'y a rien à simplifier) tandis que le taux
d'attaque final r∞ vaut 1 − exp(−κ)
− κ·exp(−2κ) +
O(κ²·exp(−3κ)), qui devient vite extrêmement
proche de 1.
Quelques sujets mathématiques en vrac sous forme de MIGHTDO
Pendant que j'étais occupé à ne pas
écrire dans ce blog, les sujets sur lesquels j'aurais pu
écrire quelque chose se sont accumulés. Je veux dire, les sujets sur
lesquels soit j'ai appris quelque chose et j'aurais pu/dû le
braindumper ici pour me simplifier la vie quand j'aurais plus tard
oublié et voulu réapprendre, soit je me suis simplement dit que
c'était quelque chose de potentiellement intéressant dans quoi je
devrais me plonger si j'avais le temps. Bref, voici une liste de
quelques choses sur lesquels je n'ai rien écrit, et il n'est pas
impossible que j'y revienne, mais il ne faut pas compter dessus non
plus. Pas un TODO, mais un MIGHTDO, si on veut.
(Les différentes parties qui suivent n'ont généralement aucun
rapport entre elles. C'est bien le problème, si j'ose dire, de trop
aimer l'éclectisme. Par ailleurs, elles mélangent des sujets où j'ai
quelques trucs à expliquer (mais je ne le fais pas vraiment ici) et
d'autres où j'ai simplement des questions à poser, ou encore où je
n'ai rien à dire mais que j'utilise simplement comme memento pour me
rappeler que c'est quelque chose d'intéressant à visiter ou revisiter
un jour. Les explications, ou les absences d'explications, qui
suivent, se placent aussi à des niveaux très variés de prérequis
mathématiques.)
Quelques considérations de graphes aléatoires pour l'épidémiologie
Même si mon moral est moins
mauvais, je continue à avoir beaucoup de mal à faire autre chose
que de l'épidémiologie. Du coup, je vais en parler encore une fois,
pour présenter une approche différente du calcul du taux d'attaque,
qui permet cette fois-ci d'illustrer (par des considérations
théoriques plutôt que des simulations numériques) certains effets
d'hétérogénéité. (Il s'agit d'une traduction+développement de ce que
j'ai écrit
dans ce
fil Twitter
[lien
direct Twitter] ainsi
que celui-ci
[lien
direct Twitter], et secondairement,
de ce
fil
[lien
direct Twitter] plus ancien.) Mais je commence par quelques
remarques d'ordre méta sur ces effets d'hétérogénéité et les
épidémiologistes de fauteuil (si ça ne vous intéresse
pas, sautez après).
On (un des auteurs !) a enfin fini par me pointer du doigt un livre
(et donc une référence citable !) où étaient traitées les
probématiques épidémiologiques qui me préoccupaient : il s'agit
de Mathematics of Epidemics on Networks (From
Exact to Approximate Models) d'István Z. Kiss, Joel C. Miller
et Péter L. Simon (Springer 2017). Non seulement il traite exactement
tout ce que je voulais voir traité, mais la présentation est vraiment
très agréable pour le mathématicien que je suis : les énoncés sont
précis, les approximations sont expliquées avec soin, les notations ne
sont pas trop pénibles, bref, je le recommande très vivement. (Quel
dommage que toutes les bibliothèques soient fermées… Si seulement il y
avait un site web — qui pourrait par exemple porter le nom en anglais
d'une bibliothèque et du premier livre de la Bible — où on pourrait
trouver les PDF de ce genre de choses. Ah non, zut, ce
serait illégal, parce qu'on a des lois à la con qui empêchent la
diffusion des connaissances. Mais pardon, je digresse.)
Il y aurait peut-être à analyser la raison pour laquelle j'ai
réussi à passer à côté de cet excellent ouvrage jusqu'à tout
récemment. (Il est possible qu'on me l'ait déjà suggéré et que je
sois quand même passé à côté de la suggestion, parce que le
mot networks ne m'inspirait pas : en fait, il
s'agit de graphes, il y a apparemment des gens qui, parce qu'ils ont
une approche un peu différente, parlent de réseaux pour parler
de graphes, et notamment de graphes aléatoires, ce qui est leur droit
mais ça ne facilite pas la communication. J'aimerais quand même bien
comprendre, par exemple,
pourquoi si
on recherche Galton-Watson "attack rate" dans
Google, les deux premières réponses sont de moi, alors que ça a
quand même l'air d'être des termes très naturels à rechercher dans le
contexte de la propagation des épidémies, et d'ailleurs le livre que
je viens de mentionner devrait être dans les résultats, et
beaucoup plus haut qu'un tweet à moi.) Mais je ne vais pas m'étendre
là-dessus, en tout cas pas maintenant.
Bref, toujours est-il que j'ai été soulagé de voir que tout un tas
de phénomènes que je voulais voir étudiés, et que j'avais au moins en
partie redécouverts, comme ce que je vais décrire ci-dessous, étaient
effectivement étudiés quelque part, et que j'aurai des références
citables à montrer. J'ai l'habitude de redécouvrir des résultats
connus, je dirais même que ça fait partie du fonctionnement normal de
la science, et quand je l'apprends je suis plutôt content que mon
intuition ne soit pas complètement à côté de la plaque.
En revanche, je demeure perplexe quant au fait que ces phénomènes
soient bien connus ou non des épidémiologistes. Il y a deux
prépublications qui sont sorties
récemment, une sur l'arXiv (par des matheux)
et une autre sur medRxiv (par des
épidémiologistes plus médecins, ça se voit au fait qu'ils déposent sur
medRxiv et n'utilisent pas TeX ), qui font tous les
deux la même observation, évidemment formulée et argumentée de façon
plus précise, que j'écrivais dans cette
entrée de blog
ou de
façon concise dans ce tweet (en mars) : l'épidémie va atteindre,
et donc immuniser, les personnes les plus connectées en premier, ce
qui fait que l'hétérogénéité des contacts contribue à réduire le seuil
d'immunité à partir duquel elle se met à régresser (le premier de ces
documents calcule 43%, ce qu'il ne faut pas, à mon avis, prendre comme
une prédiction mais comme un ordre de grandeur grossier de l'effet
qu'on peut attendre). D'un côté, il semble que ce type d'effet ait
été étudié
depuis 1980 (au plus tard). Mais de
l'autre, un
épidémiologiste renommé (Marc Lipsitch) semble considérer que
c'est intéressant et vaguement nouveau, et il y en a qui
n'ont pas
reçu le message (et ce n'est qu'un exemple parmi d'autres où j'ai
vu affirmer, y compris de la part de personnes qui sont des
épidémiologistes ou qui ont une formation proche, que
puisque R₀~3 on doit atteindre ~70% d'immunisés pour que
l'épidémie régresse). Donc il y a, au minimum, un problème de
communication. Ce n'est pas très grave, maintenant j'ai au moins
quelque chose d'un peu plus crédible
(un PDF !) à citer
pour contester cette idée (et le fait que Marc Lipsitch prenne ça au
sérieux est bien puisque c'est lui qui est à l'origine, d'avoir
popularisé le chiffre de 70% comme taux d'attaque, même s'il
l'a immédiatement
nuancé). Mais ça reste un peu pénible d'avoir l'impression d'être
le crackpot qui vient contredire les experts qui ont dit
que c'était 70%. (Un peu quand comme l'OMS a fait
une communication un peu hâtive en affirmant qu'il n'y avait aucun
signe que l'infection par le Covid-19 confère une quelconque forme
d'immunité, alors que quand
même, si,
il y a des raisons de le penser : ce n'est
vraiment pas
une position confortable que de tenir le discours je ne suis
pas du tout médecin, mais je vais quand même remettre
l'OMS à sa place sur une question de médecine. Bon,
je digresse encore.)
PS :
D'ailleurs, on
me souffle que j'ai peut-être contribué à diffuser ces idées.
Tant mieux si c'est le cas.
❦
J'en
viens à ce dont je voulais vraiment parler : un modèle basé sur la
percolation dans des graphes aléatoires et permettant de modéliser (de
façon simpliste !) la manière dont la variance du nombre de
contacts infectieux modifie le taux d'attaque d'une épidémie à nombre
de reproduction R₀ donné. C'est ce que représentent les
courbes ci-contre, en l'occurrence pour R₀=2.5 (contacts
infectieux par individu en moyenne), avec l'écart-type σ du
nombre de contacts infectieux en abscisse, et en ordonnée le taux
d'attaque prédit (en bleu par un modèle basé sur un graphe orienté, en
rouge par un modèle symétrique) : je veux expliquer un peu comment
lire ces courbes et comment elles ont été calculées.
Sur une variante à temps de rétablissement constant du modèle épidémiologique SIR
Il y a quatre éternités semaines, quand nous n'étions
pas encore maintenus prisonniers chez nous,
j'ai parlé ici du modèle
épidémiologique SIR, le plus basique qui soit. Je
rappelle brièvement les principes qui le définissent :
l'immunité acquise est permanente, les individus sont
successivement S (susceptibles, c'est-à-dire jamais infectés donc
susceptibles de l'être), I (infectés et infectieux) et R (rétablis,
c'est-à-dire guéris ou morts) (il existe toutes sortes de variantes,
par exemple le modèle SEIR ajoutant un état E (exposé)
pour les individus infectés mais non encore infectieux) ;
la population est homogène (fongible) avec mélange parfait dans
les contacts (j'ai parlé ici de
l'effet de modifier cette hypothèse) ;
la contamination et le rétablissement se font selon une cinétique
d'ordre 1, c'est-à-dire que la contamination se fait
proportionnellement aux proportions d'infectés et de susceptibles
(avec une constante cinétique β), et que le rétablissement
se fait proportionnellement à la proportion d'infectés (avec une
constante cinétique γ).
Rappelons brièvement ce que j'ai exposé la dernière fois. Les
équations de ce modèle SIR basique, que j'appellerai (*)
pour m'y référer plus tard, sont les suivantes (il s'agit d'un système
d'équations différentielles ordinaires non-linéaire, du premier ordre
et autonomes) :
s′ = −β·i·s
i′ = β·i·s
− γ·i
r′ = γ·i
(s+i+r=1)
où s,i,r≥0 sont les proportions de
susceptibles, d'infectieux et de rétablis dans la population ; les
solutions de ces équations ne semblent pas pouvoir s'exprimer en forme
close, mais on peut exprimer s en fonction de r
(à savoir s = exp(−κ·r) dans les
conditions exposées ci-dessous).
Je rappelle les principales conclusions que j'avais exposées dans
mon entrée sur ce modèle (*), en supposant qu'on parte d'une
population presque entièrement susceptible avec une proportion
infinitésimale d'infectés (plus exactement, on s'intéresse aux
solutions pour lesquelles s→1 quand t→−∞) ; on
notera κ := β/γ le nombre de
reproduction, que je suppose >1 :
tant que s reste très proche de 1 (si on
veut, t→−∞), les proportions i et r
croissent comme des exponentielles de pente
logarithmique β−γ
= β·((κ−1)/κ), avec un rapport
1/(κ−1) entre les deux, autrement dit comme i
= c·exp((β−γ)·t)
= c·exp(β·((κ−1)/κ)·t)
et r
= c·(γ/(β−γ))·exp((β−γ)·t)
= c·(1/(κ−1))·exp(β·((κ−1)/κ)·t)
(ergotage : dans l'entrée sur le sujet, j'avais mis un −1 aux
exponentielles pour r, parce que je voulais partir
de r=0, mais je me rends compte maintenant qu'il est plus
logique de partir d'une solution où i/r tend
vers une constante en −∞, cette constante étant κ−1) ;
au moment du pic épidémique (maximum de la proportion i
d'infectés), on a s = 1/κ et i =
(κ−log(κ)−1)/κ et r =
log(κ)/κ ;
quand t→+∞, la proportion i tend vers 0
(bien sûr) et s tend vers Γ :=
−W(−κ·exp(−κ))/κ (en notant W
la fonction
de Lambert) l'unique solution strictement comprise entre 0 et 1 de
l'équation Γ = exp(−κ·(1−Γ)) (qui
vaut 1 − 2·(κ−1) + O((κ−1)²) pour κ
proche de 1, et exp(−κ) +
O(κ·exp(−2κ)) pour κ grand), tandis
qu'évidemment r, lui, tend vers 1−Γ.
Je veux ici explorer la modification d'une hypothèse de ce
modèle (*), celle qui concerne le rétablissement. Quand j'écris
ci-dessus que le rétablissement se fait proportionnellement à la
proportion d'infectés (avec une constante cinétique γ),
au niveau individuel, cela signifie la chose suivante :
Pendant chaque intervalle de temps de longueur (durée)
dt très courte, la probabilité qu'un individu infecté (I)
se rétablisse (I→R) vaut γ·dt et ce,
indépendamment d'un individu à l'autre et d'un instant à l'autre.
Autrement dit, le temps de rétablissement d'un individu infecté
donné suit une distribution de
probabilité exponentielle
d'espérance 1/γ.
Autant l'hypothèse analogue sur la cinétique de la contamination
est relativement plausible (si on admet le principe éminemment discutable d'une
population homogène et du mélange parfait !), autant l'hypothèse sur
le temps de rétablissement est médicalement insensé : on est en train
de dire que si vous êtes malade, votre probabilité de guérir (ou
d'ailleurs, de mourir) ne dépend pas de l'avancement de votre maladie
mais est la même pendant la première heure que pendant la 1729e (si
tant est que vous soyez encore malade à ce stade-là). Une maladie ne
se comporte pas comme ça !
Cherchons donc à remplacer cette hypothèse par une autre, tout
aussi simpliste, mais néanmoins un peu plus proche de la réalité
médicale, celle du rétablissement en temps constant.
Un individu infecté (I) se rétablit toujours au bout du même
temps T après son moment d'infection.
Autrement dit, le temps de rétablissement d'un individu infecté
donné suit une distribution de Dirac concentrée en T (qui
est, du coup, son espérance).
Sur l'impact de la structure du graphe social dans le taux d'attaque des épidémies
Je suis vraiment débordé (le temps que je passe à me documenter sur
l'épidémie et
à répondre
aux présentations biaisées et autres conneries sur Twitter
représente une surcharge de travail absolument énorme qui s'ajoute au
fait que tout est devenu tellement plus long et compliqué dans ma vie,
je ne vais pas pouvoir tenir longtemps comme ça), donc je me contente
ici de reproduire en français ce que j'ai écrit dans
un fil
Twitter :
Il s'agit d'expériences numériques sur l'influence de la structure
du graphe social sur le taux d'attaque des épidémies (taux
d'attaque = le nombre de personnes infectées cumulé pendant
l'épidémie).
Rappelons la situation basique : j'ai déjà
écrit ici sur mon blog
(et ici
en anglais sur Twitter) sur ce que prédit le modèle
épidémiologique SIR au sujet du taux d'attaque. En bref,
il prédit un taux d'attaque énorme : 89% (de la population
touchée) pour un nombre de reproduction de 2.5. (La formule, comme je
l'ai expliqué, est 1 +
W(−κ·exp(−κ))/κ = 1 −
exp(−κ) + O(κ·exp(−2κ))
où κ est le nombre de reproduction. Par ailleurs, il faut
bien différencier ce taux d'attaque du seuil d'immunité grégaire qui,
lui, vaut, 1 − 1/κ, et qui est le taux d'infectés à partir
duquel l'épidémie commence à régresser, c'est-à-dire le taux d'attaque
au pic épidémiologique.)
Or les épidémies réelles ne semblent pas avoir des taux d'attaque
aussi énormes, même avec des nombres de reproduction de l'ordre de ce
que je viens de dire. Bien sûr, on connaît mal le taux d'attaque
même a posteriori, mais (malgré une absence d'immunité
préalable aux souches) il semble que les grippes de 1918 et 1957 aient
infecté autour de 30% de la population à différents endroits, pas
franchement autour de 90%.
Alors que se passe-t-il ? Mon explication est
que SIR, étant un modèle basé sur des équations
différentielles, ne connaît qu'une seule chose, c'est la proportion de
la population qui est susceptible, infectée et rétablie, et pas où ces
personnes sont ni comment elles interagissent socialement.
Autrement dit, un tel modèle suppose un « mélange parfait » : tout
individu a la même probabilité d'infecter n'importe quel autre
individu. Ce n'est bien sûr pas du tout le cas dans
la réalité. En réalité, une bonne proportion des contaminations suit
un graphe social (famille, amis, collègues).
Même les modèles plus sophistiqués qui stratifient la population
par catégories d'âge (disons) supposent toujours un mélange parfait
dans chaque catégorie. Je soupçonne que c'est la raison pour laquelle
le papier d'Imperial obtient un taux d'attaque si élevé (j'en ai déjà
parlé dans cette entrée, voir
aussi ce
fil Twitter).
Alors, comment peut-on prendre en compte le fait que les
contaminations suivent des graphes sociaux, et que doit-on en
attendre ? Je m'attendais, et je voulais tester, deux effets
apparentés mais distincts :
Le premier effet est que si l'épidémie doit suivre les liens d'un
graphe social de connectivité relativement modeste (chacun n'ayant
qu'un petit nombre de parents/amis/collègues par rapport à toute la
population), elle va s'étouffer plus rapidement, même pour un nombre
de reproduction donné, par rapport au cas de mélange aléatoire : c'est
ce que j'ai essayé de
dire ici
sur Twitter ainsi que dans cette
entrée dans la phrase la première [sous-raison] c'est (a) que
quand on retire une proportion suffisamment élevées de sommets d'un
graphe (en l'occurrence celui des contacts humains), il cesse de
« percoler », c'est-à-dire qu'on ne peut plus passer d'un sommet à un
autre. Ce phénomène est, en effet, lié à des questions
de seuil
de percolation dans les graphes (qui est, en gros, la proportion
des sommets, ou des arêtes selon la définition, qu'il faut retirer
aléatoirement à un graphe pour qu'il cesse d'avoir une composante
connexe géante) : l'idée est que quand suffisamment de personnes
(=sommets, =nœuds) sont immunisées, l'épidémie ne peut plus se
propager d'un point à un autre : même avec l'hypothèse de mélange
parfait le nombre d'immunisés ralentit l'épidémie, mais le seuil de
percolation suggère qu'une proportion plus faible d'immunisés peut
arrêter complètement la propagation (et, probablement, on la ralentit
plus vite avant de l'arrêter complètement).
Le second phénomène est différent : non seulement il doit suffire
de retirer relativement peu de nœuds pour arrêter l'épidémie (comme je
viens de l'expliquer), mais en plus l'épidémie va retirer
(c'est-à-dire infecter et rendre immuns) en premier les nœuds les plus
« précieux » à sa propre propagation, parce que ce sont les nœuds les
plus connectés, les « célébrités ». C'est ce que j'ai essayé
d'exprimer ici
et là (+ tweet
suivant) sur Twitter, ainsi que dans la
même entrée que mentionée dans la phrase (b) les infections ont
tendance à infecter en premier les personnes qui sont hautement
connectées dans le graphe, et en les rendant immunes, elle neutralise
en premier les liens qui lui permettaient le plus facilement de se
propager.
Tout ça n'est que mon intuition ! Maintenant, voyons si je peux
modéliser ces phénomènes, pour au moins montrer qu'ils existent. Je
ne vais pas chercher à quantifier les effets (il y a tout simplement
trop de paramètres avec lesquels jouer), seulement d'illustrer qu'ils
peuvent exister et semblent jouer dans la direction que je
pensais.
J'ai donc écrit un petit programme Perl qui simule un modèle
épidémique SEIR stochastique. SEIR, ça
signifie que les nœuds (les individus) passent entre quatre
états, S = susceptible = non-infecté,
puis E = exposé = en incubation,
puis I = infectieux et enfin R
= rétabli = immunisé ou mort. Stochastique, ça signifie que
plutôt que modéliser les choses avec des équations différentielles, je
prends un grand nombre de nœuds (300 000 dans mes expériences) et les
contaminations ont lieu au hasard. Ça rend les calculs
non-reproductibles, mais cela permet de gérer des situations bien plus
complexes qu'avec des équations différentielles.
Dans l'entrée précédente, je
soulevais entre autres la question de comment calculer (et de comment
appeler !) le nombre, que j'y appelais r, de personnes qui
sont finalement infectés par une épidémie (quelle que soit l'issue de
cette infection) puisque c'est un des facteurs du
produit f·r qui donnera le taux de mortalité due
à l'infection (l'autre étant la proportion f des cas qui
conduisent à un décès) ou de tout autre calcul analogue
(comme g·r pour le nombre de cas graves
où g est la proportion correspondante). Dans plusieurs
mises à jour ultérieures de cette entrée, j'ai signalé que j'ai fini
par apprendre que r s'appelle le taux d'attaque et
un raisonnement simpliste pour l'estimer, que je reproduis ici parce
que je vais vouloir le comparer à une estimation donnée par un modèle
différent :
[Essentiellement recopié
de ce
fil Twitter :] Une amie m'a expliqué le rapport que je cherchais à
comprendre entre
le taux
de reproduction de baseR₀ (= nombre de personnes que
chaque personne infectée infecte à son tour) et le taux d'attaque
final r (= proportion de la population qui sera infectée à
terme pendant l'épidémie) : dans le modèle le plus simpliste,
c'est r = 1 − 1/R₀ ; en effet, tant que le taux
de reproduction est >1, l'épidémie croît exponentiellement ; mais
si une proportion r a déjà été infectée, le taux effectif
de reproduction est ramené à R₀·(1−r) parce que,
en supposant que les personnes déjà infectées sont immunisées et sont
également réparties dans la population (j'ai bien dit, modèle
simpliste !), seule une proportion 1−r est encore
susceptible d'être contaminée ; donc l'épidémie cesse de progresser
lorsque R₀·(1−r) redescend à 1,
c'est-à-dire r = 1 − 1/R₀. C'est probablement
la raison pour laquelle certains ont prédit r ~ 70% en
l'absence de contre-mesures efficaces pour réduire R₀ qui a
été initialement mesuré à R₀ ~ 3. Encore une fois, ceci
est un modèle extrêmement simpliste.
Dans la suite, je vais noter plutôt κ que R₀
ce nombre de reproduction, parce que même si R₀ est la
notation standard elle serait source de confusion dans le
modèle SIR où la lettre R désigne les cas rétablis
(guéris, recovered en anglais ; enfin, avec une
drôle de définition de rétablis puisque dans le modèle qui va suivre
on ne cherche pas à compter les décès et on les compte avec les
guérisons). Par ailleurs, plutôt que le taux d'attaque final
noté r ci-dessus (ce qui, par chance, colle bien, à la
limite, avec l'usage de la lettre R que je viens d'évoquer), je vais
m'intéresser plutôt à la proportion complémentaire s =
1−r, i.e., la proportion de la population qui échappe à
l'épidémie, et dont le raisonnement simpliste que je viens de recopier
prédit donc qu'il s'agit de 1/κ.
Maintenant, en suivant de
près ce
fil Twitter
(ou ici
sur Thread Reader), que je développe un peu un peu, je vais
essayer d'expliquer la prédiction que fait un modèle basique en
épidémiologie, le modèle SIR :
Le modèle SIR modélise une infection en traduisant
l'évolution dans le temps de trois
variables : s (susceptible) la proportion de la
population qui n'a pas encore contracté l'infection (et qui est donc
susceptible de l'attraper), i (infectée) la
poportion de la population qui est actuellement infectée,
et r (rétablie) la proportion de la population qui
n'est plus infectée, que ce soit suite à une guérison ou un décès
(cf. ci-dessus : on ne s'intéresse pas à la différence ici). On
a s + i + r = 1 puisqu'il s'agit de
trois parties exclusives et exhaustives : il y a donc seulement deux
variables indépendantes. Le modèle fait toutes sortes d'hypothèses
simplificatrices : notamment, que la population est constante (puisque
les décès comptent parmi les guéris, ce n'est pas idiot), et surtout,
que les personnes ayant contracté l'infection ne peuvent pas la
contracter une seconde fois (soit parce qu'elles sont immunisées soit
parce qu'elles sont décédées).
Il s'agit d'écrire une équation différentielle (non-linéaire, du
premier ordre) portant sur ces variables. L'idée est d'écrire le type
d'équations utilisées en cinétique chimique : imaginez qu'on aurait
deux réactions chimiques, la réaction d'infection S + I → I + I (une
personne infectée en infecte une autre) et la réaction de
rétablissement, I → R (les personnes infectées se rétablissent toutes
seules avec le temps, je rappelle une fois de plus que rétablir
ici compte les décès, tout ce qui m'intéresse est que ces personnes ne
puissent plus en contaminer d'autres). Ce qu'on fait en cinétique
chimie (de façon ultra-simplifiée…) pour modéliser des réactions de
type X + Y → Z est qu'on va écrire que l'occurrence d'une telle
réaction, i.e., la variation de concentration due à cette réaction
(qui va compter positivement dans la concentration de Z et
négativement pour X et Y) est proportionnelle à une certaine constante
cinétique (positive) fois le produit des concentrations de X et de Y à
des puissances appelées l'ordre de la cinétique dans chacun de ces
réactifs, typiquement 1. Dans le modèle
épidémiologique SIR, les deux réactions d'infection et de
rétablissement seront supposées d'ordre 1. On va appeler β
et γ leurs constantes cinétiques respectives : les termes
de vitesse de l'infection et du rétablissement seront
donc β·i·s
et γ·i respectivement. Autrement dit :
Si je note x′ la dérivée dx/dt par
rapport au temps (t) de la variable x, les
équations du modèle SIR seront :
s′ = −β·i·s
i′ = β·i·s
− γ·i
r′ = γ·i
(La somme de ces trois quantités fait évidemment zéro, comme il se
doit puisqu'on doit
conserver s+i+r=1 : comme en
chimie, rien ne se crée, rien ne se perd, mais tout se
transforme.) La première équation, donc, modélise le fait que la
population non encore infectée décroît par la vitesse infection dans
le temps β·i·s qui est
proportionnelle à une constante β fois les proportions de
personnes infectées i et susceptibles de
l'être s : si l'on préfère, cela signifie qu'une personne
susceptible a une probabilité β·i de devenir
infectée par unité de temps (très petite) ; la troisième modélise le
fait que les personnes infectées deviennent rétablies avec la
vitesse γ·i : si l'on préfère, cela signifie
qu'une personne infectée a une probabilité γ de devenir
rétablie par unité de temps (très petite) ; et l'équation du milieu,
donc, assure l'équilibre s+i+r=1.
La nouvelle (et énorme !) hypothèse simplificatice qu'on a faite en
écrivant ces équations, c'est de supposer que le comportement
« local » de l'épidémie et de la population ne change ni avec le temps
ni avec le progrès de l'épidémie : la probabilité d'infection par
rencontre S+I, ou de guérison, ne changent pas : ceci exclut, par
exemple, le fait que la population changerait ses habitudes avec la
progression de l'épidémie (prendrait des mesures prophylactique), que
le système de santé soit débordé (ce qui jouerait possiblement sur le
temps de guérison), que le pathogène mute pour devenir plus ou moins
virulent, et toutes sortes d'autres scénarios sortant de notre modèle
extrêmement basique.
Les constantes cinétiques β et γ ont
pour grandeur l'inverse d'un
temps : il s'agit essentiellement de l'inverse du temps espéré
d'infection si toute la population est infectée et du temps espéré de
guérison. Remarquons donc qu'en changeant l'échelle de temps on
multiplie β et γ par la même constante : le seul
paramètre sans dimension dans le modèle est le rapport κ
:= β/γ, qu'on interprète comme le nombre de
personnes qu'une personne infectée infectera en moyenne dans une
population entièrement susceptible avant d'être elle-même rétablie.
Comme il s'agit du seul paramètre sans dimension, toute discussion
doit se faire sur κ. C'est ce κ
= β/γ qu'on appelle nombre de
reproduction et qui est souvent noté R₀, mais que je
préfère noter κ ici pour éviter la confusion avec la
variable r.
Merci de ne pas faire dire n'importe quoi à Gödel !
Je m'étonne de ne pas trouver d'endroit où je me serais déjà plaint
à ce sujet sur ce blog. Peut-être que je sais mal chercher et qu'un
petit gnome serviable va me déterrer ça, mais même si j'ai déjà ranté
à ce sujet, ça ne fait pas de mal de me répéter, après tout, radoter
est un de mes super-pouvoirs :
Le théorème d'incomplétude de Gödel est sans doute le théorème
mathématique le plus abusé par les non-mathématiciens. Cela tient
certainement au fait qu'on peut en donner des versions dangereusement
approximatives et alléchamment sensationnelles comme on ne pourra
jamais tout prouver à partir desquelles il est tentant de faire un
pas vers la métaphysique pour tirer des conclusions encore plus
fantabuleuses. Je crois avoir vu passer des tentatives d'invoquer ce
théorème pour prouver :
l'inexistence de Dieu (sur l'air de Gödel assure qu'on ne peut
jamais tout savoir, or Dieu est censé être omniscient, donc Dieu
n'existe pas),
l'existence de Dieu (sur l'air de Gödel assure que la logique
et le raisonnement humains ne peuvent pas arriver à toute vérité, donc
la vérité est au-delà de l'humain, et c'est qu'elle est divine ;
ça me fait penser
à cet
extrait du
film Ridicule)[#],
la supériorité de l'humain sur la machine (sur l'air de Gödel
montre qu'on ne peut pas mécaniquement arriver à la vérité, mais
l'intuition humaine arrive à voir que l'énoncé de Gödel est vrai,
c'est donc qu'elle est supérieure à la machine),
l'existence de la conscience (je ne sais plus les détails, mais ça
devait recouper le raisonnement précédent),
l'inexistence de la conscience,
que la vérité est inaccessible au seul raisonnement, ou
inaccessible tout court,
[#] Une ironie
supplémentaire dans l'invocation du théorème d'incomplétude de Gödel
pour argumenter pour l'existence de Dieu, c'est que Gödel lui-même a
inventé
une « preuve »
de l'existence de Dieu (ou plus exactement, une formalisation en
logique modale de l'argument ontologique de Saint Anselme). Cette
preuve ressemble plus à une blague qu'à un argument sérieux, en fait
(Gödel introduit une série d'axiomes plus hasardeux les uns que les
autres, et dont on sait maintenant qu'ils sont, en fait, sinon
contradictoires, au moins amenant des conclusions complètement
délirantes, et il en déduit l'existence d'un truc vérifiant la
définition de Dieu), et il n'est pas clair si Gödel lui-même la
prenait au sérieux. Enfin, bref.
Tous ces raisonnements sont bien sûr du pur pipo. Plus
généralement, toute tentative pour donner un sens philosophique
(au-delà de la philosophie des mathématiques, bien sûr : métaphysique,
théologique, ou même épistémologique si on s'éloigne des
mathématiques) au théorème d'incomplétude de Gödel doit être
considérée comme hautement suspecte.
Ce que dit le théorème précisément, je ne vais pas le rappeler ici,
je l'ai expliqué notamment ici
et là, avec quel succès je ne sais
pas, mais en tout cas ce n'est pas mon propos ici : mon propos est que
ce théorème est un énoncé technique sur la logique du premier
ordre, et que toute tentative pour le faire sortir de son cadre
technique est certainement une arnaque.
Même si on ne comprend pas ce que ceci signifie, peu importe : le
théorème d'incomplétude affirme que
tout système formel en logique du premier ordre
qui soit récursivement (= calculablement) axiomatisé
et qui contient (un fragment suffisant de) l'arithmétique
ne peut pas être à la fois consistant [← anglicisme pratique
pour cohérent] et complet, i.e., s'il ne prouve jamais
simultanément P et ¬P (:= la négation
de P), alors il y a un P pour lequel il ne
prouve aucun des deux.
Ce que je veux souligner là, c'est qu'il y a des hypothèses
techniques (essentiellement trois, celles que je viens de lister), et
que si on omet ces hypothèses, on est probablement en train de dire
des bêtises.
Plus exactement, ce que j'ai cité est plutôt le
théorème d'incomplétude
de Gödel-Rosser.
Le théorème d'incomplétude de Gödel, ce serait que tout système formel
en logique du premier ordre qui soit récursivement axiomatisé et qui
contient (un fragment suffisant de) l'arithmétique ne peut pas être à
la fois ω-consistant et complet, mais l'ω-consistance est une
hypothèse pénible à expliquer (autant supposer le système
arithmétiquement vrai, à ce compte-là) et je ne veux pas chercher des
noises à ceux qui ne feraient pas la différence entre Gödel et
Gödel-Rosser. (Enfin, si on veut ergoter, le théorème d'incomplétude
de Gödel, il dit : Zu jeder ω-widerspruchsfreien
rekursiven Klasse ϰ von Formeln gibt es
rekursive Klassenzeichenr, so daß
weder v Gen r noch
Neg (v Gen r) zu Flg(ϰ) gehört
(wobei v die freie Variable aus r
ist) — et j'avoue que j'ai beau connaître l'allemand, avoir lu
l'article par le passé, et avoir une bonne idée de ce que c'est censé
vouloir dire, ce n'est pas super clair pour autant pour moi. Mais je
pense qu'il est raisonnable de qualifier l'énoncé ci-dessus de
théorème d'incomplétude de Gödel.)
L'absence de mention de ces trois hypothèses doit être un drapeau
rouge à double titre. D'abord, que le raisonnement est suspect (si on
invoque un théorème sans vérifier ses hypothèses, alors que celles-ci
sont indispensables, c'est sans doute que le raisonnement est
incorrect — bien sûr il peut arriver qu'on ne le dise pas
explicitement parce que la satisfaction de telle ou telle hypothèse
est évidente et se passe de commentaire, mais dans le cas présent,
j'ai du mal à imaginer que ce soit possible). Ensuite, que la
personne qui tient le raisonnement ne comprend probablement pas bien
le théorème qu'elle prétend appliquer si elle n'en connaît pas les
hypothèses exact et le sens de celles-ci. Un autre signe à cet égard
est d'ailleurs quand on parle du théorème de Gödel comme s'il
n'y en avait qu'un (alors que, sans aller chercher loin, Gödel a aussi
pondu un théorème de complétude qui très superficiellement et
mal interprété pourrait avoir l'air de dire exactement le contraire du
théorème d'incomplétude) ; ceci dit, il ne faut pas non plus accorder
trop de valeur à ce signe parce que beaucoup de mathématiciens tout à
fait sérieux sont susceptibles de parler du théorème de Gödel
(ou d'autres auteurs : je parle régulièrement du théorème
d'Euler — pour l'affirmation
que aφ(m)≡1 (mod m)
si a est premier à m — alors qu'Euler a démontré
des milliers de théorèmes).
Comment répondre à la question à quoi ça sert ? en maths et sciences fondamentales
Je me livre ici à quelques réflexions (un peu décousues, je
dis toujours ça), autour de la question à quoi servent les maths
pures, et les sciences fondamentales en générales ?, sur la notion
d'utilité et d'applications pratiques. Pas sûr que tout ce que je
dise soit très cohérent (je passe sans véritable transition du rapport
entre lettres et sciences au rapport entre enseignement et recherche
sans développer adéquatement ni l'un ni l'autre), mais j'espère au
moins arriver à faire passer l'idée qu'il ne faut pas accepter sans
broncher les préjugés les plus banals à ce sujet.
J'ai l'impression que dans l'esprit de beaucoup de
gens[#], il y a une dichotomie
(assez claire même si elle n'est pas forcément clairement énoncée)
entre : d'un côté les sciences et techniques, dont l'importance dans
la société et notamment dans l'enseignement est justifiée par
leur utilité pratique, et d'autre part les arts et aux
lettres et autres humanités, dont l'importance est justifiée par leur
rôle culturel. Si je reformule cette idée dans des termes qui sentent
bon la fin du 19e siècle et que je mets quelques majuscules
d'emphase : on aurait d'un côté ce qui meut l'Humanité sur le chemin
du Progrès, et de l'autre ce qui Éclaire ce chemin en montrant la voie
vers le Progrès et le distinguant des Ténèbres alentours. Ou quelque
chose comme ça. Ce que je veux dire, c'est que dans cette vision des
choses, on a d'un côté des domaines comme la médecine ou la physique
qui apportent des bienfaits à l'Homme, et de l'autre, ceux comme la
philosophie et l'Histoire qui doivent en quelque sorte alimenter son
sens moral.
[#] J'accepte bien
volontiers que j'énonce peut-être ici un métapréjugé (i.e., un préjugé
sur les préjugés que peuvent avoir les gens) : mais ce n'est
pas bien grave si je dénonce une idée qui, en fait, n'existe pas
vraiment.
Peut-être que je caricature un peu, mais je pense au moins que
l'idée est assez répandue que la raison pour laquelle on doit
enseigner l'Histoire et la géographie au lycée est que ces disciplines
feraient partie de la « culture générale » que tout bon citoyen doit
avoir, tandis que la raison pour laquelle on doit enseigner les
mathématiques est qu'elles seraient utiles pour toutes sortes de
choses.
Bref, je pourrais m'appesantir à dénoncer le stéréotype du
littéraire qui considère que la culture générale se limite aux choses
qu'il connaît ; qui pense qu'il est indispensable que tous les lycéens
français sachent que Le Cid est une pièce de Corneille,
que la cinquième république a été établie en 1958 et que les Pyrénées
sont à la frontière entre la France et l'Espagne ; mais qui ne sait
pas citer une loi de Newton ou de la thermodynamique, ignore si les
plantes sont des eucaryotes ainsi que la différence entre une bactérie
et un virus, n'a absolument aucune idée du fonctionnement d'Internet
ou du Web, et ne sait peut-être même pas dire combien il y a de
millimètres cubes dans un mètre cube ; et si on lui montre du doigt
ces incohérences, répondra qu'il a fait des études
littéraires et que ces questions techniques sont bien plus
pointues et d'ailleurs ne lui servent à rien puisqu'il n'est pas
scientifique ; et consentira peut-être à donner comme exemple de
culture générale scientifique à peu près la seule chose qu'il sait,
disons, que la Terre tourne autour du Soleil et pas le contraire. Je
caricature ? En fait, non : j'en ai rencontré plus d'un, comme ça,
qui se plaignaient que les jeunes ne savaient plus rien de nos jours,
et qui démontraient immédiatement après une ignorance crasse et
assumée dans tout domaine scientifique (j'ai le souvenir, par exemple,
de quelqu'un qui ne savait pas de quoi était fait un atome, et qui
avait l'air de trouver totalement fantaisiste la suggestion que cela
pouvait faire partie de la culture générale de le savoir). Mais j'ai
déjà parlé de ça dans cette entrée
passée, et je ne veux pas la répéter ici. J'écrirai Un Jour® une
entrée sur la culture générale et l'effet de perspective dont tout le
monde est victime — et je m'inclus dans le tout le monde — qui
fait qu'on croit toujours indispensables les savoirs qu'on a soi-même
et superflus ceux que l'on n'a
pas[#2]. [Mise à
jour :c'est ici.]
Nous avons tous des
trous énormes dans notre « culture générale », et c'est normal : ce
qui me dérange plus, en fait, est qu'à une époque où nous avons tous
tout le savoir du monde à la portée de nos doigts, l'attitude
consistant à ne pas se précipiter sur Wikipédia quand on
découvre l'existence d'un de ces trous. Mais tout ça est une
digression par rapport au sujet général de cette entrée, est je la
referme maintenant.
[#2] Ceci vaut
d'ailleurs encore au sein d'un domaine : les mathématiciens, par
exemple, croient toujours que les outils et théorèmes mathématiques
qu'ils connaissent et manipulent sont centraux dans les mathématiques
et qu'il est indispensable de les connaître, alors que tout ce qui
sort de leur domaine de prédilection est quelque chose d'arcane.
Toujours est-il que cette attitude consistant à imaginer que les
sciences doivent être jugées à l'aune de leur utilité déteint
au sein des sciences elles-mêmes, et que les scientifiques se
retrouvent à justifier leur travail, notamment leur recherche pour
ceux qui sont chercheurs, en expliquant que ça peut servir à
quelque chose (et disons-le franchement, la plupart de ces
justifications sont bidon, ce qui est normal parce que quand on
découvre des choses nouvelles, on ne peut pas encore savoir
où elles nous mèneront). Et ce n'est pas tout : la notion
d'utilité est elle-même insidieusement réduite à celle
d'applications.
Dans ces conditions, les sciences pures sont dans une situation
très inconfortable d'apparence paradoxale : puisqu'elles sont des
sciences, elles sont censées servir à quelque chose, mais
puisqu'elles sont pures, elles n'ont pas d'applications ; donc à force
d'accepter les différentes idées stupides que j'ai énoncées plus haut,
on en revient à devoir trouver des justifications comme ah, mais on
ne peut pas encore savoir si ceci aura un jour des applications.
Avec comme exemple représentatif la théorie des nombres, que Gauß ou
je ne sais qui considérait comme la reine des mathématiques parce
qu'elle n'avait pas d'applications et qui finit par en avoir, et
d'importance économique absolument capitale, à travers la
cryptographie. Cet exemple est juste mais il est trompeur :
je veux dire qu'au lieu d'essayer de trouver des justifications dans
des exemples pareils, on ferait mieux de rejeter les prémisses idiotes
que les sciences sont justifiées par leur utilité et que la seule
forme d'utilité est dans les applications pratiques.
Au lieu de ça, la comparaison
que j'aime
donner est la suivante : imaginer qu'on puisse se passer
des sciences pures pour se focaliser sur les applications est comme
imaginer qu'on puisse couper les racines d'un pommier parce qu'il n'y
a pas de pommes qui poussent dessus. Ce que je veux dire par
là est que les sciences, et le savoir humain en général, est comme un
être vivant : les différentes parties s'irriguent conceptuellement les
unes les autres ; certaines produisent des applications directes,
d'autres non, mais s'imaginer qu'on peut amputer des parties sans
ruiner la santé de l'ensemble est tout simplement stupide.
Sur les fonctions réelles continues et le compactifié de Stone-Čech
Le contenu de cette entrée est presque complètement inclus dans le
très classique, et remarquablement bien écrit, livre de Leonard
Gillman & Meyer Jerison, Rings of Continuous
Functions (1960), qui contient d'ailleurs bien d'autres choses
intéressantes. Mais j'en avais assez de perdre du temps à retrouver
des choses contenues dans ce livre à chaque fois que je les oublie,
donc je voulais me faire un aide-mémoire, et à ce moment-là autant le
mettre en ligne sur mon blog, d'autant plus qu'il s'agit là de culture
générale mathématique (que, selon moi, tout mathématicien devrait
avoir, — au moins pour les grandes lignes de ce que je raconte,
évidemment, disons les « spoilers » ci-dessous, pas les détails un peu
arcanes sur les espaces d'Urysohn et les réelcompacts). Mais mon
exposition est assez différente de celle de Gillman & Jerison, et
pas seulement parce que le fait de ne pas donner de preuves permet de
réorganiser les résultats dans un ordre parfois plus satisfaisant,
mais aussi parce que j'ai cherché à développer autant que possible les
parallèles entre les faits annoncés, et j'ai une approche un tout
petit peu plus « catégorique ».
Comme j'ai écrit énormément de choses très rapidement, y compris
des choses qui ne sont pas verbatim dans la littérature (je ne
m'en éloigne guère, mais parfois je change un peu les hypothèses ou
les conventions, et il faut donc adapter les énoncés : par exemple,
Gillman & Jerison supposent les espaces complètement réguliers
quand il s'agit de décrire le compactifié de Stone-Čech, ce qui me
déplaît énormément ; parfois aussi, quand j'interpole des résultats,
je fais une démonstration dans ma tête, mais je n'ai pas tout vérifié
avec le soin le plus absolu), il est probable que j'aie fait un
certain nombre d'erreurs. On va dire que le but du jeu est de les
retrouver !
Je suppose que le lecteur sait déjà ce qu'est
un espace
topologique et une fonction continue entre espaces topologiques
(ainsi que les autres termes de base de la topologie générale :
ouverts, fermés, voisinages, intérieur, adhérence, homéomorphisme,
sous-espace / topologie induite, topologie produit, espace compact
[:= compact séparé], ce genre de choses — cf. par
exemple ce
glossaire ou différentes pages
de ce
wiki). Mais je ne suppose pas que le lecteur sait ce qu'est, par
exemple, un espace complètement régulier. Je suppose aussi connues
les notions d'anneau [sous-entendu : commutatif], ou plutôt de
ℝ-algèbre [commutative], et d'idéal d'un tel anneau (et je rappelle
qu'un idéal maximal d'un anneau est un idéal ≠(1) et
maximal pour l'inclusion parmi les idéaux ≠(1), ou, ce qui revient au
même, un idéal tel que quand on quotiente l'anneau par lui on obtient
un corps).
❀
Remarque informatique : J'utilise
dans ce qui suit les caractères ‘𝔪’,
‘𝔬’,
‘𝔭’,
‘ℱ’
et ‘𝒰’ pour, respectivement, un
‘m’ gothique minuscule, un ‘o’ gothique minuscule, un ‘p’ gothique
minuscule, un ‘F’ cursif et un ‘U’ cursif. Comme ces caractères
peuvent parfois manquer dans des polices j'ai prévu un peu de magie en
JavaScript qui remplacera en un seul clic tous ces symboles par des
lettres latines toutes bêtes : donc, si vous ne voyez pas les
caractères que je viens de
nommer, cliquez
ici pour activer ce remplacement.
❀
✱ Si X est un espace topologique, on note
C(X) l'ensemble des fonctions réelles
continuesX→ℝ, avec l'addition et la
multiplication point à point (c'est-à-dire
que f+g est la
fonction x↦f(x)+g(x)
et que fg est la
fonction x↦f(x)g(x)) ;
chaque réel c est identifié à la fonction
constante x↦c dans C(X). (C'est donc
un anneau commutatif et même une ℝ-algèbre commutative. On peut le
munir d'autres structures, notamment un ordre partiel défini
par f≤g
lorsque f(x)≤g(x) pour
tout x∈X, qui est d'ailleurs un treillis
avec f∨g la fonction x
↦ f(x)∨g(x) :=
max(f(x),g(x))
et f∧g la fonction x
↦ f(x)∧g(x) :=
min(f(x),g(x)), et une
valeur absolue |f| = f∨(−f). On peut
éventuellement aussi introduire une ou plusieurs topologies sur
C(X), mais ce n'est pas ce qui va m'intéresser ici ; en
revanche, je souligne qu'on n'a pas de norme intéressante sur
C(X).)
À côté de C(X), on a C*(X) qui est formé des
fonctions réelles continues bornées c'est-à-dire
les f∈C(X) telles qu'il existe un B∈ℝ
tel que pour tout x∈X on ait
|f(x)|≤B. Il est évident que la
somme et le produit de deux fonctions bornées sont bornés, si bien que
C*(X) est un sous-anneau de C(X).
On peut par ailleurs noter que C et C* sont
des foncteurs contravariants des espaces topologiques
vers les ℝ-algèbres commutatives, ce qui signifie que donnée une
application continue h:X→Y on
fabrique de façon évidente des morphismes
C(Y)→C(X) et C*(Y)→C*(X)
(remarquer le sens des flèches !), simplement par composition à droite
par h, c'est-à-dire qu'elles envoient une fonction
continue f:Y→ℝ [éventuellement bornée] sur la
composée f∘h:X→ℝ. On peut noter
C(h):C(Y)→C(X) et
C*(h):C*(Y)→C*(X) pour ces deux
morphismes de « composition à droite par h ». La
« fonctorialité » signifie simplement que (i) si
id:X→X est l'identité alors C(id) et C*(id) sont
aussi l'identité, et (ii) si h:X→Y
et k:Y→Z alors
C(k∘h)=C(h)∘C(k) et
C*(k∘h)=C*(h)∘C*(k).
✱ La problématique qui m'intéresse est de décrire le rapport entre
l'espace X et son C(X) et son C*(X),
comment on peut retrouver l'un à partir de l'autre, ce genre de
choses.
Plus précisément, parmi les questions qu'il est naturel de se
poser :
La ℝ-algèbre C(X) caractérise-t-elle l'espace
topologique X ? Permet-elle de le retrouver (autrement dit,
si X₁ et X₂ ont « le même » C(X),
c'est-à-dire que C(X₁) et C(X₂) sont isomorphes
en tant que, disons, ℝ-algèbres, alors X₁ et X₂
sont-ils homéomorphes) ? Dans les cas où c'est possible, comment
peut-on reconstruire X à partir de C(X) ? Par
ailleurs, peut-on identifier les ℝ-algèbres qui apparaissent comme des
C(X) ? Peut-on, d'ailleurs, retrouver la structure de
ℝ-algèbre (i.e., les fonctions constantes et leur isomorphisme avec ℝ)
à partir de celle d'anneau ?
Mêmes questions pour C*(X).
Quel est le rapport entre C(X) et C*(X) ?
Peut-on identifier les fonctions bornées de façon purement
algébrique ? Pour quel genre d'espace a-t-on C(X) =
C*(X) (toutes les fonctions continues sont bornées) ?
Comment les ℝ-algèbres qui apparaissent comme des C(X) se
situent-elles parmi ceux qui apparaissent comme des C*(X) ?
Peut-on notamment trouver un espace Xˆ (en fonction
de X) pour lequel on aurait C(Xˆ) =
C*(X) (ou le contraire) ?
(Digression : J'ai essayé d'écrire là les questions qu'il
me semble qu'on « devrait » vraiment spontanément se poser — et donc
chercher à résoudre — dès qu'on introduit ce genre de constructions,
sans préjuger de celles qui ont une réponse plus ou moins
intéressante. Je trouve toujours agaçants les livres qui traitent
d'un sujet mathématique et qui omettent une question qui me semble
« évidemment naturelle », ne serait-ce que pour dire qu'on ne connaît
pas de réponse satisfaisante ou que les auteurs n'en connaissent
pas.)
Quelques spoilers :
La ℝ-algèbre C*(X) caractérise l'espace X
pour les espaces compacts [séparés]. On pourra alors
reconstruire X comme l'ensemble des idéaux maximaux de
C*(X). Je crois qu'on ne sait pas caractériser de façon
algébrique satisfaisante les ℝ-algèbres C*(X). En
revanche, donné un espace topologique X, il y a un unique
espace compact βX pour lequel C*(βX) =
C*(X) (c'est donc un choix canonique d'espace X′
ayant ce C*(X)) : on l'appelle le « compactifié de
Stone-Čech » de X. En général, dire que C*(X₁)
et C*(X₂) sont isomorphes va signifier que les espaces ont
le même compactifié de Stone-Čech.
La ℝ-algèbre C(X) caractérise l'espace X
pour tous les espaces dits « réelscompacts » (ce qui inclut énormément
de choses, par exemple tous les espaces métriques). On pourra alors
reconstruire X comme l'ensemble des idéaux maximaux de
C(X) tel que le quotient soit ℝ. Je crois qu'on ne sait
pas caractériser de façon algébrique satisfaisante les ℝ-algèbres
C(X). En revanche, donné un espace
topologique X, il y a un unique espace réelcompact
υX pour lequel C(υX) = C(X) (c'est
donc un choix canonique d'espace X′ ayant
ce C(X)) : on l'appelle le « réelcompactifié [de
Hewitt-Nachbin] » de X. En général, dire que
C(X₁) et C(X₂) sont isomorphes va signifier que
les espaces ont le même réelcompactifié.
Les C*(X) sont des cas particuliers des
C(X), par cela je veux dire que pour tout espace
topologique X il existe un espace Xˆ pour lequel
on a C(Xˆ) = C*(X), et (d'après ce qui précède)
ceci caractérise complètement Xˆ si on lui impose de plus
d'être compact : c'est là aussi le compactifié de Stone-Čech
de X (noté βX). On peut caractériser
algébriquement les fonctions bornées au sein de C(X)
puisqu'on peut même caractériser l'image
de f∈C(X), à savoir l'ensemble
des c∈ℝ tels que f−c ne soit pas
inversible dans C(X). Les espaces pour lesquels
C(X) = C*(X), ou simplement pour lesquels
C(X) est un C*(X′), sont les espaces
dits « weierstrassiens » ou « pseudocompacts » (et c'est notamment le
cas des espaces compacts).
Quelques mots (essentiellement méta) sur l'intuitionnisme et les mathématiques constructives
Cela fait un certain temps que je me dis que je devrais écrire une
ou plusieurs entrées sur ce blog sur des sujets tournant autour de la
logique intuitionniste et des mathématiques constructives. La
présente entrée est une sorte de TODO étendu
où je mélange, de façon malheureusement confuse et désorganisée, des
remarques introductives voire vulgarisatrices sur le sujet (et
expliquant de quoi il est question), des remarques d'ordre méta
(où je dis que je devrais parler de ceci ou de cela, ou bien me
demande comment je pourrais le faire, ou encore me dis que je ne
comprends pas bien telle ou telle chose) et des explications de fond
assez disparates (et faites à des niveaux de prérequis, il faut bien
le dire, complètement incohérents). Même l'ordre dans lequel je dis
les choses est assez bizarre (à la limite, je me demande s'il ne vaut
pas mieux lire cette entrée en commençant par la fin). Je pense que
ça vaut quand même la peine de publier tout ça, en conseillant au
lecteur de simplement sauter les passages qui lui semblent obscurs
(puisque de toute façon il y a très peu de dépendances dans ce que je
vais raconter).
★
En fait, au départ, je me suis surtout dit que ce serait
intéressant d'écrire quelque chose sur le topos effectif et la
réalisabilité de Kleene. Je peux au moins recopier l'introduction
informelle que j'ai commencé à rédiger à ce sujet :
Pour dire très très très sommairement et très très très vaguement
de quoi il est question,
un topos
est une sorte de « monde mathématique alternatif » régi par les lois
de la logique intuitionniste (une logique plus faible que la logique
usuelle, ou classique, dans laquelle on a essentiellement supprimé la
loi du tiers exclu qui affirme que toute formule logique est
soit vraie soit fausse, ou, de façon équivalente, que tout ce qui
n'est pas faux est vrai) ; de façon un peu plus précise, un topos est
une catégorie (peu importe ce qu'est exactement une « catégorie ») qui
possède un certain nombre de propriétés communes avec la catégorie des
ensembles, ce qui permet d'y mener un certain nombre de constructions
mathématiques usuelles, mais dont le comportement va néanmoins être
différent sur un certain nombre de choses, et notamment la logique ;
et
le topos effectif est un topos particulier qui présente un
intérêt particulier en calculabilité : il présente un monde alternatif
dans lequel toutes les fonctions ℕ→ℕ sont calculables, ce qui nous
offre un regard neuf sur la calculabilité par rapport à sa
présentation classique, où la logique intuitionniste éclaire ce que
sont les raisonnements effectifs (voir à ce
sujet cet
article introductif d'Andrej Bauer, qui ne parle pas du topos
effectif mais explique en quoi travailler en logique intuitionniste
peut rendre plus facile ou plus naturelle la calculabilité).
Mais reculons d'un cran : pour parler du topos effectif, je me suis
dit qu'il fallait d'abord que j'écrive quelque chose sur la
réalisabilité de Kleene, qui en est en quelque sorte le prélude. (Si
vous voulez savoir très très très sommairement et très très très
vaguement de quoi il est
question, S. C. Kleene
a introduit dès 1945 une notion appelée « réalisabilité », en tentant
de donner un sens précis à l'intuitionnisme, et — en très très très
gros — le fait qu'une formule arithmétique φ soit
« réalisable » [par un entier naturel n] signifie
que n en apporte une sorte de « témoignage algorithmique »,
par exemple, si φ est une formule du type
∀x.ψ(x) affirmant
que ψ(x) est vraie pour tout x, alors
« réaliser » cette formule va se faire en apportant un programme qui
prend en entrée un entier k et en sortie calcule un entier
qui réalise ψ(k) ; pour un peu plus de détails,
voir le début
de cette
question que j'ai posée sur MathOverflow, ou pour encore plus,
voir le
texte Realizability:
An [sic] Historical
Essay de Jaap van Oosten.) Le lien entre la réalisabilité
de Kleene et le topos effectif est très fort : disons que le topos
effectif est défini en cherchant une généralisation assez directe de
la réalisabilité à des formules plus complexes que celles de
l'arithmétique (et les formules arithmétiques qui sont réalisables
sont exactement celles qui sont vraies dans le topos effectif).
Bon, mais je me suis alors rendu compte que ce serait
commencer in media res de parler du topos
effectif ou même de réalisabilité si je ne commençais pas par parler
d'intuitionnisme
ou de
mathématiques constructives.
Et là, je suis embêté par le fait que j'ai à la fois trop de choses à
dire et pas assez (trop, parce que ça touche à énormément de sujets ;
pas assez, parce qu'en ce faisant ça touche aussi à trop de questions
sur lesquelles je ne sais pas grand-chose).
Ajout :ce nouveau
billet est une tentative de réécriture complète de celui qui suit,
et il est peut-être plus clair (ou peut-être que les deux s'éclairent
l'un l'autre, je ne sais pas).
★
La logique intuitionniste est une logique plus faible que la
logique classique dans laquelle on s'interdit la loi du tiers exclu
(qui dit que tout énoncé P est soit vrai soit faux ;
c'est-à-dire : P∨¬P) ; cela revient
essentiellement à s'interdire le raisonnement par l'absurde (ou plus
exactement, le raisonnement par l'absurde de la forme je veux
montrer P : supposons par l'absurde que P soit
faux <…>, j'arrive à une contradiction, donc P ne
peut pas être faux, c'est-à-dire qu'il est vrai — c'est la
dernière partie qui coince en logique intuitionniste ; en revanche, on
peut toujours dire je veux montrer que P est faux :
supposons par l'absurde que P soit vrai <…>, j'arrive
à une contradiction, c'est-à-dire que P est faux, parce
que P est faux signifie précisément que la vérité
de P est absurde). Faire des maths sans le tiers exclu
peut ressembler à un exercice aussi futile qu'essayer de boxer avec
les deux mains attachées derrière le dos, et dans une certaine mesure
ça y ressemble effectivement, mais cela présente néanmoins un certain
intérêt : non seulement c'est intéressant du point de vue de la pure
logique de se demander ce qu'on peut faire sans cet axiome (et cette
question a des connexions inattendue avec toutes sortes d'autres
parties des mathématiques) ; mais par ailleurs, une démonstration en
logique intuitionniste apporte véritablement plus de contenu qu'une
démonstration classique : pour commencer, elle est valable de façon
plus large (et notamment dans les topoï [pluriel
de topos]), mais aussi, elle est constructive (au
moins si on part de certains axiomes), c'est-à-dire qu'elle exhibe les
objets dont elle affirme l'existence.
Une des idées centrales des maths constructives (qui sont à peu
près, quoique pas forcément exactement, la même chose que les
mathématiques exercées dans le cadre de la logique intuitionniste) est
que si on veut prouver P ou Q (en
symboles, P∨Q), il devrait être
suffisant mais aussi nécessaire de prouver soit P,
soit Q (et notamment, de savoir lequel des deux est
vrai !) : ceci va manifestement complètement à l'encontre du tiers
exclu qui postule que pour tout énoncé P,
soit P est vrai soit ¬P l'est, sans qu'on puisse
forcément trancher lequel (et parfois, effectivement, on ne peut
prouver ni l'un ni l'autre). De même, si on veut prouver il existe
un x tel que P(x) (en symboles,
∃x.P(x)), il devrait être
suffisant mais aussi nécessaire d'exhiber un x
pour lequel on peut prouver P(x) : de nouveau,
ceci va à l'encontre des raisonnements par l'absurde qui ressemblent
à supposons qu'aucun tel x n'existe <…>, j'arrive
à une contradiction, donc un tel x doit exister (mais
au final ne donnent aucune information pour en construire un).
Ajout () :
Juste après avoir publié cette entrée je me rends compte que j'ai
oublié d'insérer un paragraphe que je comptais écrire sur
l'interprétation
de Brouwer-Heyting-Kolmogorov qui tente d'expliquer au moins
informellement le sens des connecteurs de la logique intuitionniste.
Spécifiquement, il s'agit de variations autour des explications
suivantes :
une preuve de P∧Q (conjonction) est un
couple formé d'une preuve de P et d'une
de Q,
une preuve de P∨Q (disjonction) est la
donnée d'une preuve de P ou d'une preuve de Q
(avec, bien sûr, l'information de laquelle des deux),
une preuve de P⇒Q (implication) est une
manière de transformer une preuve de P en une preuve
de Q,
une preuve de ⊤ (le vrai) est triviale,
une preuve de ⊥ (le faux) n'existe pas,
une preuve de ∀x.P(x) est une
manière de transformer un x en une preuve
de P(x),
une preuve de ∃x.P(x) est la
donnée d'un t particulier et d'une preuve
de P(t).
Méta : J'ai
écrit un
fil un peu long sur Twitter pour tenter d'expliquer le théorème de
Gödel, qui reprend grosso modo des idées
de cette entrée passée (au
moins la partie sur Gödel de
celle-ci) mais en mettant l'accent un peu différemment et donnant plus
de détails sur les conditions de prouvabilité. Comme ça peut être un
complément intéressant et que tout le monde n'aime pas le format
Twitter, je reproduis ici ce que j'y ai dit, en reformatant un minimum
(en revanche, mon style sur Twitter est sans doute un peu différent de
mon style sur ce blog, et je n'ai pas le courage de reformuler plus
qu'a minima) :
Je fais d'abord une tentative pour lever la confusion au sujet
formalisme. Quand on formalise les [raisonnements] mathématiques, on
les décrit sous forme de manipulations de suites de symboles
(« syntaxe ») qui obéissent à des règles bien précises. Il est
évident que si on demande que les règles de
raisonnement elles-mêmes soient formalisées en mathématiques,
on a une régression infinie : si quelqu'un prétend ne comprendre que
ce qui est formel,
c'est turtles
all the way down, on ne peut rien démarrer… Pour que
le bootstrap soit possible, il faut
bien accepter l'idée de décrire les règles de manipulation de la
logique en français, ou en faisant appel à des notions mathématiques
elles-mêmes pas formalisées (mais néanmoins précises) ! (Refuser
cette idée ce serait comme refuser qu'on puisse jouer aux échecs sous
prétexte que les règles des échecs n'ont pas été formalisées
dans ZFC. Or personne ne pense qu'on a besoin
de ZFC pour jouer aux échecs !)
En revanche, ce qu'on peut faire, c'est une fois qu'on a
accepté ces règles et construit un système formel avec, utiliser ce
système formel pour revisiter (« refléter ») les règles, cette fois-ci
formellement : autrement dit, on reconstruit tout le système qu'on a
déjà construit, mais on le fait cette fois-ci à l'intérieur du système
« externe » qui a été construit informellement. Il y a une mise en
abyme. Je parlerai de système interne pour celui qu'on construit
ainsi.
Typiquement, ça se fait avec un truc appelé codage de Gödel :
si le système externe contient l'arithmétique, on dit qu'on peut
refléter toutes les règles formelles comme des manipulations
arithmétiques pour fabriquer le système informel. Le code de Gödel
d'une formule, c'est l'entier qui représente cette formule (et qui
devient, du coup, manipulable par le système externe). Du coup les
énoncés comme P est prouvable (qui sont, à la base,
informels, parlant du système externe) deviennent des énoncés formels
du système externe et qui parlent du système interne. Des énoncés
arithmétiques. (Je noterai □P plus bas
pour P est prouvable.)
Et là, il y a une sorte de postulat épistémologique, qui est que ce
que :
Les règles du système interne (formalisées dans le système externe)
reflètent correctement les règles du système externe lui-même.
Donc si on croit que le système externe ne dit pas de conneries, et
s'il dit que le système interne ne peut pas prouver <ceci-cela>,
alors effectivement le système externe ne peut pas prouver
<ceci-cela>. (Un ultra-formaliste pourrait rejeter ce postulat
et dire : pour moi, les maths formelles sont juste un jeu
typographique dénué de sens, le système externe ce sont les règles du
jeu, le prétendu système interne n'a pas de sens, pas plus
qu'aucun énoncé du jeu. Mais en vrai, les gens font des maths
parce qu'ils croient qu'une preuve du fait que 2+2=4 apporte quelque
information sur le monde réel, donc il y a bien une connexion entre le
système externe, qui vit dans le monde réel, et le système interne,
formalisé.)
Accessoirement, les systèmes externe et interne
n'ont pas vraiment besoin d'être les mêmes : en fait on a besoin de
très peu d'axiomes pour faire fonctionner Gödel. Mais je ne sais pas
si ça aide de dire ça. Donc restons dans l'idée que ce sont « les
mêmes ».
Maintenant, de quels ingrédients a-t-on besoin pour prouver Gödel ?
On a besoin des trois « conditions de prouvabilité de
Hilbert-Bernays » (que je noterai (A), (B), (C)),
et de l'astuce de Quine. Expliquons ça successivement :
Les conditions
de prouvabilité de Hilbert-Bernays remplacent le postulat
épistémologique dont j'ai parlé plus haut par quelque chose de
précis et de formel. En gros, elles font le lien entre les niveaux
externe et interne (et interne², cf. plus bas).
Première chose : (A) si le système externe prouve un
énoncé P, alors il prouve que le système interne
prouve P [ou plutôt, le code de Gödel de P].
Pourquoi ? Parce que si on a une preuve de P, on peut
« refléter » cette preuve : la réécrire comme une preuve formelle dans
le système interne, et ceci fournit une preuve de son existence dans
le système externe. Bien sûr, tout ce que je viens de dire est
informel, puisque (A) est par essence informel ! Mais
si on applique ça à un P bien précis et une preuve
de P formelle explicite, la recette que je viens de dire
donne une preuve tout à fait explicite et formelle (dans le système
formel externe) de l'existence d'une preuve dans le système interne.
Donc, si on veut, (A) est un métathéorème informel : en soi il
n'est pas formel, mais il s'instancie en des théorèmes formels (du
système externe) dont on a la recette de construction.
Maintenant on peut refaire tout ça avec un niveau de plus (on a
alors trois systèmes : l'externe est informel, l'interne est formalisé
dans le système externe, et l'interne² dans le système interne — ça
s'arrêtera là) : Tout ce que j'ai dit sur le (A) vaut de
nouveau et donne, cette fois, une preuve formelle (dans le système
externe) du fait (B) suivant : si le système interne
prouve P alors il prouve que le système interne²
prouve P. Cette fois c'est un vrai théorème du système
externe, pas juste un métathéorème informel.
Enfin, (C) dit que si le système interne prouve [le code de
Gödel] de P⇒Q et [celui de] P, alors
il prouve [celui de] Q. Ça c'est juste le fait qu'on a la
règle de modus ponens dans le système interne (c'est presque une
définition).
Bref, si je note □P l'énoncé (du système externe) qui
dit qu'il existe une preuve de P dans le système interne,
mes conditions de prouvabilité sont :
(A) si P est un théorème alors □P en
est un,
(B) □P⇒□□P est un théorème,
(C) □(P⇒Q)⇒□P⇒□Q
est un théorème
(tous ces théorèmes dans le système externe ! et ce, quels que
soient les énoncés P et Q).
Maintenant, l'astuce de Quine (en fait,
le procédé
diagonal), c'est quelque chose qui permet de fabriquer un
énoncé G tel que G⇔¬□G
(démontrablement dans le système externe !), autrement dit un énoncé
qui dit je ne suis pas un théorème.
L'astuce fonctionne exactement comme la manière dont on écrit des
programmes qui écrivent leur propre code, chose que j'explique en
détails dans cette page web
consacrée aux quines. On fabrique une
formule R(x) (du système externe) qui
dit si x est une formule du système interne ayant une
variable libre, et qu'on remplace cette variable par le code de Gödel
de x elle-même, alors le résultat n'est pas un théorème (du
système interne), ou de façon encore plus
informelle, R(x)
signifie x(‘x’) n'est pas un théorème
(soit ¬□x(‘x’)) en notant ‘x’ le code
de Gödel de x. Mais du coup, R(‘R’)
équivaut à R(‘R’) n'est pas un théorème
(soit ¬□R(‘R’)), et c'est ça que je
note G.
[Ajout par rapport au fil Twitter:] Dans la
présentation informelle proposée par Hofstadter, G est en
gros la phrase suivante : Si on prend le morceau de phrase suivant
et qu'on le fait suivre (après deux points) de lui-même entre
guillemets, on obtient quelque chose qui n'est pas un théorème : Si
on prend le morceau de phrase suivant et qu'on le fait suivre (après
deux points) de lui-même entre guillemets, on obtient quelque chose
qui n'est pas un théorème — l'astuce est de dire cet énoncé
n'est pas un théorème sans passer par une référence à cet
énoncé que notre système formel ne permet pas de faire ; ceci est
exactement parallèle au mécanisme des quines qui permettent de
coder imprimer ce programme dans un langage qui ne permet pas
une référence à ce programme.
Une fois qu'on a ces ingrédients, la preuve de Gödel est pure
manipulation formelle. Tout le raisonnement est tenu dans le système
externe (mais parle du système interne — voire interne² quand il y a
des □□) :
Supposons □G. Alors □□G d'après (B).
Mais la preuve (explicite !) de G⇒¬□G donne
□(G⇒¬□G) d'après (A). Or □G
et □(G⇒¬□G) donnent □¬□G
par (C). Or □□G et □¬□G (i.e.
□(□G⇒⊥)) donnent □⊥ d'après (C). Bref, on a prouvé
□G⇒□⊥ soit ¬□⊥⇒¬□G. C'est-à-dire (qu'on a
prouvé dans le système externe) que si le système interne
prouve G alors il prouve ⊥ (c'est-à-dire 0=1). I.e., si le
système interne est consistant (¬□⊥), il ne peut pas
prouver G (soit : ¬□G)… …donc G, qui
équivaut à ¬□G, est vrai ! (c'est-à-dire, est un théorème
du système externe, prouvé sous l'hypothèse (¬□⊥) que le système
interne est consistant. C'est le premier théorème d'incomplétude.
Maintenant, en appliquant (A) à cette preuve (explicite !)
de ¬□⊥⇒¬□G, on obtient □(¬□⊥⇒¬□G) donc
□¬□⊥⇒□¬□G (par (C)). Comme
¬□G⇒G donne □(¬□G⇒G)
par (A) donc □¬□G⇒□G par (C), les
implications □¬□⊥⇒□¬□G, □¬□G⇒□G et
□G⇒□⊥ mises bout à bout donnent finalement □¬□⊥⇒□⊥, ou
encore ¬□⊥⇒¬□¬□⊥. C'est le second théorème d'incomplétude : si le
système (interne) est consistant (¬□⊥) alors il ne prouve pas la
consistance du système interne² (¬□¬□⊥). Et comme en fait tous ces
systèmes sont le même, le postulat épistémologique évoqué ci-dessus
permet de lire ce théorème formel ¬□⊥⇒¬□¬□⊥ sous la forme si Peano
est consistant, il ne prouve pas sa propre consistance (idem
pour ZFC).
Évidemment, l'ultra-formaliste dont j'ai parlé plus haut objectera
et dira que j'ai juste prouvé un énoncé cabalistique ¬□⊥⇒¬□¬□⊥ sans
aucun sens dans le monde réel et qui ne dit rien sur mon système
externe (lequel vit dans le monde réel). Mais si on croit que les
« vrais » entiers naturels ont un sens et que Peano en dit des choses
vraies, on est forcé de conclure que Peano est incomplet et ne sait
pas prouver certaines choses vraies (essentiellement, il ne sait pas
qu'il dit lui-même la vérité).
Un joli problème paradoxal de théorie de l'information
(Je n'ai pas de poisson d'avril à proposer cette année, mais je
vous donne deux entrées pour le
prix d'une.)
Même s'il a déjà été signalé hier en commentaire
à cette vieille entrée, je ne peux
pas ne pas écrire une petite entrée
sur ce
magnifique problème qui continue à narguer mon intuition — il
s'agit d'un de ces cas où les mathématiques font quelque chose qui
devrait être très sérieusement impossible, et j'ai beau arriver à
prouver (et à comprendre la preuve intellectuellement) que c'est
possible, je reste incapable de me faire intuitivement à l'idée que ça
l'est. (Je sais, je sais : In mathematics you don't
understand things. You just get used to them.)
Le problème est très simple (mais je l'écris de façon un peu longue
pour qu'il n'y ait aucune ambiguïté sur les règles du jeu) :
Le cruel Docteur No a capturé deux mathématiciens, que nous
appellerons Alice et Bob. Après avoir permis à ceux-ci de se
concerter sur leur stratégie, il va les soumettre à son épreuve dont
il leur communique les termes : chacun des deux pourra observer une
suite binaire infinie aléatoire uniformément distribuée (c'est-à-dire
une suite de 0 et 1 dont chaque terme vaut 0 ou 1 avec probabilité ½,
indépendamment les uns des autres ; on peut imaginer une suite de
résultats de tirages de pile ou face), les deux suites (celle qu'Alice
observe et celle que Bob observe) étant indépendantes. Pour fixer les
idées, mettons que les termes de chaque suite sont numérotés par les
entiers naturels (0, 1, 2, 3, etc.) : appelons
(An) la suite observée par Alice et
(Bn) la suite observée par Bob.
Alice et Bob ne peuvent pas communiquer entre eux (une fois finie la
concertation initiale sur leur stratégie commune, mais celle-ci est
antérieure à l'observation des suites). Alice, après avoir observé sa
suite choisit un entier naturel a qui sera le numéro d'un
terme dans la suite de Bob ; de même, Bob, après avoir observé sa
suite, choisit un entier naturel b qui sera le numéro d'un
terme dans la suite d'Alice. Alice et Bob gagnent (un gentil petit
cadeau de la part du Docteur No) si chacun a choisi un terme valant 1
dans la suite de l'autre, c'est-à-dire, si la
valeur Ab du terme de la suite
d'Alice numéroté par l'entier b choisi par Bob et la
valeur Ba du terme de la suite de Bob
numéroté par l'entier a choisi par Alice valent tous les
deux 1.
Quelle stratégie Alice et Bob peuvent-ils employer pour maximiser
leur chance de gain ?
(Formellement : une stratégie d'Alice est une
fonction borélienne α:{0,1}ℕ→ℕ et une stratégie
de Bob est une fonction borélienne β:{0,1}ℕ→ℕ.
La probabilité de succès est la mesure de l'ensemble des couples
(A,B) ∈ {0,1}ℕ × {0,1}ℕ
tels que A(β(B))
= B(α(A)) = 1, pour la mesure de
probabilité uniforme sur {0,1}ℕ × {0,1}ℕ (les
valeurs α(A) et β(B) sont
les entiers noté a et b). Et on demande de
maximiser cette probabilité.)
Remarque : Si on est gêné par les
suites infinies (et c'est vrai que c'est agaçant de parler de
l'observation d'une suite infinie), on peut ramener le problème à
niveau fini : soit N un entier, Alice verra le résultat
de N tirages de pile ou face uniformes et indépendant, Bob
verra le résultat de N autres tels tirages (indépendants
entre eux et indépendants de ceux d'Alice), et chacun devra choisir un
entier entre 0 inclus et N exclu faisant référence à un
tirage de l'autre, les deux gagnant s'ils ont choisi un tirage
valant 1 chez l'autre. La situation paradoxale décrite ci-dessous est
la même pour N fini que pour des suites infinies, c'est
juste que les nombres sont moins ronds. (Formellement, dans le cas
fini, une stratégie d'Alice est une
fonction α:{0,1}N→{0,…,N−1}
et une stratégie de Bob est une
fonction β:{0,1}N→{0,…,N−1}.
La probabilité de succès est la mesure de l'ensemble des couples
(A,B) ∈ {0,1}N ×
{0,1}N tels
que A(β(B))
= B(α(A)) = 1, pour la mesure de
probabilité uniforme sur {0,1}N ×
{0,1}N.)
Une stratégie évidente consiste à ce qu'Alice et Bob choisissent
tous les deux l'entier 0 (faisant référence au premier terme de la
suite de l'autre). Dans ce cas, ils gagnent avec probabilité ¼,
puisque chacun de A₀ et de B₀ vaut 1 avec
probabilité ½, indépendamment l'un de l'autre. Choisir d'autres
entiers constants (par exemple si Alice choisit 42 et Bob choisit
1729) donne toujours exactement la même chose.
L'idée intuitive qu'on a spontanément (en tout cas que j'ai eue, et
dont je n'arrive toujours pas vraiment à me défaire) est qu'on ne peut
pas faire mieux que ¼ :
Raisonnement incorrect : Alice et Bob ne peuvent pas
communiquer, n'ont aucune information sur la suite de l'autre, et
leurs deux suites sont indépendantes, donc il est impossible que
l'observation de sa propre suite puisse aider Alice à faire quoi que
ce soit d'utile sur la suite de Bob. Donc il n'y a rien de mieux à
faire que de choisir des a et b constants (dont
la valeur n'a pas d'importance).
Raisonnement incorrect (variante) : Quelle que soit la
manière dont Alice choisit a, la
valeur Ba vaudra 0 avec probabilité ½
et 1 avec probabilité ½ (puisque le choix de a ne peut
dépendre que de A, qui est indépendant de B), et
de même Ab vaudra 0 avec
probabilité ½ et 1 avec probabilité ½. Puisque les
suites A et B sont indépendantes et que (du
coup) les variables a et b le sont, on
a Ab
= Ba = 1 avec probabilité ¼, et on ne
peut pas faire mieux.
Et pourtant, c'est faux.
Et ce n'est même pas très compliqué de faire mieux que 1/4. Voici
une stratégie simple qui donne une probabilité 1/3 de succès à Alice
et Bob : Alice choisit pour a l'indice du premier 1 dans sa
propre suite, et Bob choisit de même pour b l'indice du
premier 1 dans la sienne. La probabilité
d'avoir a=b est la somme de 1/4 (probabilité
d'avoir a=b=0) plus 1/4² (probabilité
d'avoir a=b=1) plus 1/4³ (probabilité
d'avoir a=b=2), etc., c'est-à-dire la somme des
1/4k, qui vaut 1/3 ; et lorsque c'est le cas,
par construction, Ab
= Ba = 1 ; par ailleurs,
si a≠b, alors Alice et Bob perdent (par exemple,
si a<b, on
a Ba = 0 puisque b est
l'indice du premier 1 dans la suite B). Donc la
probabilité de succès de cette stratégie est exactement 1/3.
J'ai beau avoir écrit cette preuve. Je n'arrive vraiment pas à me
faire une idée intuitive de comment il est possible que cette
stratégie fonctionne.
Mais je peux quand même dire ceci : la raison pour laquelle les
raisonnements ci-dessus (tendant à « prouver » l'impossibilité) sont
incorrects, c'est que s'il est bien vrai que chacun
de Ab
et Ba vaut 0 ou 1 avec probabilité ½,
ils ne sont pas indépendants (puisque a dépend
de A et b de B), et plus exactement,
Alice et Bob peuvent s'arranger (et c'est ce qu'ils font dans la
stratégie ci-dessus) pour que les deux
événements Ab = 1
et Ba = 1 soient corrélés. Autrement
dit, si on ne peut pas améliorer la chance
d'avoir Ab = 1, on peut au moins
s'arranger pour que, lorsque c'est le cas, ceci apporte des
informations sur a ou sur B qui font
que Ba = 1 a plus de chances de se
produire. Je continue à trouver ça peu clair intuitivement, mais
c'est déjà ça.
Maintenant, ce qui est amusant (et presque un peu décevant ?),
c'est que cette jolie stratégie donnant 1/3 n'est toujours pas
optimale : comme il est expliqué sur le fil MathOverflow lié au début
de cette entrée (dans
la réponse
de mihaild), on peut faire 7/20 (c'est-à-dire 35%). Mais
on ne sait pas si c'est optimum, et on n'a pas (au moment où j'écris,
d'après de fil de discussion) de borne supérieure autre que le ½
évident.
Mise à jour () : La
borne supérieure a été améliorée à 3/8 dans le fil
MathOverflow avec un argument très simple (quand j'aurai le temps,
j'essaierai de mettre à jour ce paragraphe pour le donner). Par
ailleurs, il apparaît que problème était déjà discuté (de façon un peu
généralisée) dans ce
papier, qui prouve une borne supérieure de 3/8, et annonce mais
sans preuve une borne supérieure de 81/224.
Complément () : Pour la
complétude de cette entrée, je reproduis en la paraphrasant la preuve
de la borne supérieure par 3/8 de la probabilité de succès. Si on
note a l'entier choisi par Alice et a′ l'entier
qu'elle choisirait avec la même stratégie si elle observait la suite
(1−An) au lieu de
(An) (i.e., si on échange les 0 et 1
dans ce qu'Alice observe), et de même b et b′
pour Bob, alors on peut remarquer que
l'espérance E(AbBa)
de AbBa
(qui est la probabilité de succès p qu'on cherche à
maximiser) est aussi égale à l'espérance de
(1−Ab′) Ba
(puisque 1−A est une variable distribuée comme A
et toujours indépendante de B) ou de
Ab (1−Ba′)
ou encore de
(1−Ab′) (1−Ba′).
La somme de ces quatre espérances (qui est 4p) est donc
l'espérance de
(Ab+1−Ab′) (Ba+1−Ba′),
soit 4p
≤ E((Ab+1−Ab′) (Ba+1−Ba′))
= 1
+ E(Ab−Ab′)
+ E(Ba−Ba′)
+ E((Ab−Ab′) (Ba−Ba′))
soit encore 1
+ E((Ab−Ab′) (Ba−Ba′))
puisque E(Ab)
= E(Ab′)
et E(Ba)
= E(Ba′) (en fait, chacune de
ces quatre espérances vaut ½). Enfin,
comme Ab−Ab′
vaut +1 ou −1,
l'espérance E((Ab−Ab′) (Ba−Ba′))
est majorée
par E(|Ba−Ba′|),
elle-même majorée par ½ (si i≠j
alors E(|Bi−Bj|)=½).
Au final, on a prouvé 4p≤1+½, soit p≤3/8 comme
annoncé.
Je traîne depuis longtemps l'idée de vulgariser quelques notions
de logique
linéaire. Du point de vue de la vulgarisation, la logique
linéaire a ceci de sympathique que c'est quelque chose
mathématiquement à tellement « bas niveau » que je n'ai besoin de
présupposer aucune sorte de connaissance mathématique préalable pour
en parler : en principe, on peut la considérer comme un pur petit jeu
syntactique dont les règles ne sont pas très compliquées —
même si, présenté sous cette forme, il risque de ne pas apparaître
comme très intéressant, et même s'il est bon d'avoir du recul pour
avoir une idée de quelles règles appliquer à quel moment, la
compréhension des règles elles-mêmes ne nécessite pas de savoir
particulier. Du point de vue personnel, la logique linéaire est
quelque chose qui me frustre beaucoup parce que, d'un côté, je la
trouve extrêmement élégante et joliment
symétrique, de l'autre, à chaque fois qu'elle semble avoir une
application ou une interprétation quelque part, on se rend compte
qu'il y a une note en bas de page qui fait que ce n'est
pas vraiment la logique linéaire (il y a par exemple un
axiome en plus, ou un connecteur en moins, ou seulement un fragment du
système, ou quelque autre variation), et l'élégance est rompue ; et
aussi, pour cette raison, l'intuition qu'on peut se former est
brouillée.
De quoi s'agit-il ? D'un système formel inventé par le logicien
français Jean-Yves Girard en 1987. J'avoue ne guère avoir d'idée de
ce qu'il voulait faire avec, parce que les textes de Girard sont… un
peu inhabituels… bourrés de mots qu'il ne définit pas, de références
cryptiques, et de blagues dont on se demande si ce sont des blagues
(comme l'intervention insistante du brocoli dans beaucoup de ses
papiers). Mais depuis, elle a trouvé diverses applications et
connexions : en logique, en informatique théorique ou plus appliquée,
en algèbre et théorie des catégories, en théorie des jeux et même en
physique quantique (sauf qu'à chaque fois, comme je le dis ci-dessus,
il y a quelque chose en plus ou en moins) ; mais je ne compte pas
essayer de décrire ces applications et connexions, qui sont pourtant
sans doute ce qu'il y a de plus intéressant dans l'histoire, parce que
je n'ai pas l'espace ni le temps pour ça.
Bref. Avant d'expliquer quelles sont les règles du jeu, il faut
que j'essaye de donner une idée de ce dont il s'agit (en agitant les
mains). On parle de logique linéaire, et il s'agit
effectivement d'une généralisation de la logique classique, mais ce
terme risque de donner une impression tout à fait fausse, et on
devrait peut-être plutôt s'imaginer que ça s'appelle formalisme
d'échanges ou synallagologie universelle ou quelque chose
de ce genre (le seul problème du mot synallagologie est que
personne ne sait ce qu'il veut dire puisque je viens de l'inventer…
mais à part ça, il est parfait). La différence essentielle est la
suivante : en logique usuelle, si on fait un raisonnement tendant à
démontrer une conclusion X à partir
d'hypothèses A, B et C, disons, on
peut utiliser librement A, B et C
dans le cours du raisonnement, chacune aussi souvent qu'on veut (on
peut aussi, d'ailleurs, ne pas du tout utiliser une hypothèse) ; la
logique linéaire, pour sa part, exige que chacune des « hypothèses »
(qu'il vaut mieux, du coup, ne pas considérer comme des hypothèses)
soit utilisée une et une seule fois : on ne peut ni les
multiplier ni les faire disparaître (évidemment, il y aura des moyens
de marquer des hypothèses spéciales qu'on peut multiplier et/ou faire
disparaître, mais ce n'est pas le cas par défaut) ; dans ces
conditions, il vaut mieux, donc, considérer qu'on n'a pas du tout à
faire à une logique, à des raisonnements et à des hypothèses et
conclusions, mais à des échanges (gestion de ressources
abstraites, transactions économiques, réactions chimiques, que sais-je
encore) qui ont des entrées (réactifs) et des sorties (produits), ou
quelque chose comme ça. Par exemple, la logique linéaire pourrait
concevablement servir à formaliser des contrats financiers
(j'avais déjà évoqué quelque chose
de ce genre), mais il ne faut pas s'imaginer que la logique
linéaire elle-même dira grand-chose d'intéressant : de même
que la logique classique ne fournit que le langage le plus basique
au-dessus duquel on peut bâtir des raisonnements (il faut ajouter des
axiomes intéressants pour obtenir quelque chose d'intéressant), la
logique linéaire n'est qu'un cadre, en lui-même extrêmement
primitif pour possiblement décrire des échanges.
Le Docteur No est de retour ! Il était plutôt occupé ces derniers
temps à résoudre des problèmes
informatiques, mais le voilà revenu et qui s'adonne à son
passe-temps favori qui consiste à capturer des mathématiciens pour les
soumettre à des énigmes idiotes (voir
ici pour des épisodes précédents) :
Le cruel Docteur No a capturé 100 mathématiciens pour les soumettre à
une épreuve démoniaque. Après avoir permis aux mathématiciens de se
concerter initialement, il va placer sur la tête de chacun d'entre eux
un chapeau portant un nombre entier entre 1 et 100 (inclus) de façon
que chacun puisse voir le nombre porté par les chapeaux de tous les
autres mais pas le sien. Les mathématiciens n'ont aucune information
sur la manière dont les numéros seront attribués et il peut
parfaitement y avoir des répétitions. Les mathématiciens n'auront
plus le droit de communiquer à partir du moment où la distribution des
chapeaux commence. Chacun devra émettre un avis sur le numéro qu'il
pense que son propre chapeau porte : ces avis seront émis par pli
secret et connus du seul Docteur No (i.e., les mathématiciens ne
connaissent pas les réponses fournis les les autres). Le Docteur No
est plutôt clément aujourd'hui : il libérera les mathématiciens si au
moins l'un d'entre eux a fourni une réponse correcte (i.e., deviné le
numéro que porte son chapeau) ; dans le cas contraire, il tuera tous
les mathématiciens avec ses tortures particulièrement raffinées.
Les mathématiciens pourraient évidemment tous répondre au hasard
(auquel cas ils auraient 63% de chances d'être libérés ; je laisse ça
aussi en exercice mais ça n'a pas vraiment de rapport avec le
problème). Mais en se concertant, ils peuvent s'arranger pour être
certains d'être libérés : comment font-ils ?
La solution est simple, mais on peut perdre beaucoup de temps en
cherchant dans la mauvaise direction. Je tire ça
d'ici
(la réponse est indiquée en rot13 dans un commentaire en-dessous) ; ce
fil contient d'ailleurs un certain nombre d'autres devinettes
rigolotes.
Ajout :
voir ici,
peut-être là, et
encore là pour plus d'énigmes du
Docteur No.
⁂
Sinon, voici un autre problème (pas vraiment une énigme), qui n'a
absolument aucun rapport avec celui qui précède si ce n'est qu'il est
venu à ma connaissance autour du même moment (il est inspiré
de cette
question mais c'est une variante assez différente du même genre
d'idées) :
On considère n+1 objets et deux joueurs (Alice et Bob).
Chacun des deux joueurs a un ordre de préférence (strict) sur les
objets, et ces ordres de préférence sont connus de l'un comme de
l'autre. Ils vont jouer au jeu suivant : chacun, tour à tour,
va éliminer un objet, jusqu'à ce qu'il n'en reste plus qu'un
(après n tours, donc). Ce dernier objet est gagné par les
deux joueurs (i.e., ils se le partagent, ou si on préfère on peut dire
qu'il y en a deux copies et que chacun en reçoit une, bref, chacun
cherche à maximiser la valeur qu'il accorde à l'objet restant). Le
jeu est à information parfaite (les deux joueurs savent tout : ce que
l'autre joueur veut, et ce qu'il fait). Quelle stratégie vont-ils
appliquer (en fonction des deux ordres de préférence) ? Et comment
peut-on prédire efficacement l'objet final ?
On peut le formaliser plus précisément ainsi :
soient 1,…,n les objets, triés dans l'ordre de préférence
d'Alice (du moins préféré au plus préféré), et
soient σ(1),…,σ(n) les valeurs de
préférence de Bob pour les objets dans cet ordre, où σ est
une permutation de {1,…,n} (c'est-à-dire qu'il aime le
moins l'objet σ−1(1) et qu'il
préfère σ−1(n)). Alice va jouer la
stratégie qui cherche à maximiser la valeur i du dernier
objet restant, tandis que Bob va jouer la stratégie qui cherche à
maximiser σ(i) : on demande comment
calculer i en fonction de σ et comment Alice
doit calculer son premier coup. (On peut évidemment procéder de façon
inductive : chaque coup possible d'Alice se ramène à un jeu de même
nature avec un objet de moins et les rôles des joueurs échangés, mais
ce que je demande c'est si on peut faire mieux ou plus simple.)
À titre d'exemple, si n=2 et que les
préférences d'Alice sont 1<2<3, selon les valeurs
(σ(1),σ(2),σ(3)) des préférences de
Bob pour ces trois objets l'objet choisi est 3 (le préféré d'Alice)
dans tous les cas sauf si
(σ(1),σ(2),σ(3)) vaut (2,3,1) ou
(3,2,1) (i.e., si l'objet préféré d'Alice est celui que Bob aime le
moins), auquel cas l'objet choisi est 2 (le deuxième préféré d'Alice).
C'est assez intuitif.
Il se peut que la réponse soit très facile : je n'ai pas pris le
temps d'y réfléchir (trop occupé que j'étais à coudre des numéros sur
des chapeaux).
On pourrait aussi demander ce qui se passe si l'un des joueurs joue
la stratégie « gloutonne » (consistant à éliminer à chaque coup son
objet le moins préféré), selon que l'autre joueur le sait ou selon que
l'autre joueur croit toujours qu'il jouera désormais de façon
rationnelle. On pourrait aussi jouer à changer l'alternance des coups
entre Alice et Bob (plutôt que de les faire alterner mécaniquement) et
chercher l'ordre le « plus équitable » dans un sens qu'il faudrait
formaliser. Bon, bref, je trouve l'idée générale du jeu intéressante,
mais je ne sais pas quelle est la bonne question à poser (c'est
peut-être ça la question, en fait : trouver la question la plus
intéressante à poser sur ce jeu).
Sur la rédaction des maths et la recherche de l'inambiguïté
L'an dernier, j'ai eu l'honneur de déjeuner avec Jean-Pierre Serre,
et nous avons discuté entre autres de la rédaction des mathématiques.
(Comme Serre est à mon avis — et je suis loin d'être le seul à le
penser — un des mathématiciens dont le style de rédaction est le plus
parfait qui soit, c'était évidemment très intéressant pour moi
d'entendre ce qu'il avait à dire. Je recommande d'ailleurs de
regarder cet exposé où il dénonce beaucoup de mauvaises
habitudes dans ce domaine.)
Il a beaucoup insisté sur l'importance d'écrire des
énoncés justes : c'est-à-dire notamment, si un
énoncé P(n) est vrai pour tout n≥1,
de bien écrire pour tout n≥1 et de ne pas laisser le
lecteur penser que P(0) puisse être vrai lorsqu'il ne l'est
pas (et c'est encore pire quand l'énoncé commence à être vrai à 2 ou
3, voire au-delà). Je savais déjà qu'il accordait beaucoup
d'importance à ça[#]. Mais
comme je mentionnais les codes correcteurs d'erreurs, il a fait cette
autre remarque que je trouve tout à fait digne d'être érigée en
maxime, à savoir qu'il essayait d'écrire les mathématiques comme un
code correcteur d'erreurs (je n'ai malheureusement pas noté la phrase
exact qu'il a employée, mais ça fait peut-être justement partie du
phénomène souligné). Ce qu'il voulait dire est qu'inévitablement,
dans une rédaction mathématiques, il y aura des choses qui seront mal
lues : soit que l'auteur lui-même fasse un lapsus, soit que le
manuscrit soit mal retapé, soit que
l'imprimeur change certains
symboles, soit que le lecteur lise mal ou ait une convention
différente sur certaines choses : il faut essayer d'écrire de manière
à rendre le texte relativement robuste par rapport à ces erreurs (pour
qu'elles soient détectables ou, encore mieux, corrigeables).
[#] Plusieurs fois j'ai
assisté à un séminaire où Serre était dans
l'assistance[#2], où l'orateur
commence énonce un théorème et où Serre s'exclame mais c'est
complètement faux ! ce n'est pas possible, ça ! — alors là,
l'orateur, visiblement paniqué, se demande si Serre vient de trouver
en direct un contre-exemple au théorème principal, et au bout d'un
moment de confusion on comprend que Serre protestait contre le fait
que l'énoncé était trivialement faux pour n=0. Moment sans
doute très désagréable pour l'orateur, mais je pense qu'après ça on
apprend très vite à se demander si pour tout n veut
vraiment dire toutn.
[#2] Tiens, puisque
j'en suis à raconter des anecdotes à son
sujet[#3], un jour j'ai assisté
à un séminaire où l'orateur a commencé à parler du groupe de
Serre comme si tout le monde savait évidemment de quoi il
s'agissait (je sais que c'était dans un contexte de représentations
galoisiennes, mais moi-même je n'avais aucune idée de ce que c'était
censé être). L'éponyme a levé la main pour demander qu'est-ce que
le groupe de Serre ?. La morale, là, et je pense aussi que
l'orateur l'aura bien retenue, c'est que même quand on parle à une
assistance de gens très distingués, il faut être très conservateur
dans ce qu'on suppose que tout le monde connaît.
[#3] Allez, une
troisième pour la route. Quand j'ai
écrit cet
article avec mon directeur de thèse, ce dernier l'a envoyé à Serre
pour lui demander son avis avant publication. Entre autres remarques,
il a relevé le bout de phrase par récurrence sur le
naturel k et a commenté ce n'est sûrement pas vous
[Colliot-Thélène] qui avez écrit ça : de fait, c'est moi qui
l'avais rédigé ce passage. (L'objection est que Serre n'aime pas
qu'on écrive un naturel pour un entier naturel. Je vous
rassure, ses autres remarques sur l'article étaient beaucoup plus
intéressantes.) Colliot-Thélène a regardé dans le
petit Robert, qui recense bien quelque
part naturel comme nom masculin dans le sens de entier
naturel, et nous avons décidé de laisser la phrase comme ça. Mais
depuis, je fais plus attention à écrire généralement un entier
naturel plutôt que juste un naturel (sauf quand j'ai
l'impression que le second allège vraiment la phrase).
Une méditation sur le nombre 24 et la causalité en mathématiques
Dans cette entrée, je vais commencer par parler de maths, mais
ensuite je veux me servir de ce que j'aurai raconté pour soulever une
question de philosophie (ou peut-être, de psychologie) des maths. Ces
deux parties n'ont pas vraiment de rapport sauf que la première sert
d'illustration pour la seconde : on doit pouvoir sauter la première
partie (ou la lire en diagonale) et quand même comprendre quelque
chose à la seconde, enfin, j'espère. (Mais bon, je ne suis pas
content de ce que j'ai écrit dans la seconde partie, donc ça n'a
peut-être pas d'intérêt.)
*
Je racontais récemment que le
nombre 24 était particulièrement magique à cause de l'existence de
certains objets exceptionnels, notamment le réseau de Leech en
dimension 24 (défini dans l'entrée en question). Maintenant,
considérons le fait suivant
(problème
des boulets de canon, conjecturé par Édouard Lucas autour de 1875
et démontré par George Watson en 1918) :
L'équation 0² + 1² + ⋯ + n² = m² a exactement
trois solutions, à savoir quand (n,m) vaut
(0,0), (1,1) ou (24,70). Autrement dit, à part les deux cas triviaux
(0²=0² et 0²+1²=1²), la seule situation où la somme des carrés des
premiers entiers naturels est encore un carré est donnée par 0² + 1² +
⋯ + 24² = 70².
(La somme 0²+1²+⋯+n² vaut
encore n·(n+1)·(2n+1)/6, mais si on
écrit l'équation comme n·(n+1)·(2n+1)
= 6m², on ne voit pas vraiment pourquoi elle est
intéressante.)
Ce n'est pas très facile à montrer, mais ce n'est pas ça qui
m'intéresse.
On pourrait dire que le fait que la somme des carrés des entiers
naturels jusqu'à 24 est un carré (et qu'à part les cas triviaux c'est
le seul) est une propriété remarquable du nombre 24. Pas franchement
passionnante, mais bon. Mais a priori, on se dit que cette
propriété n'a aucun rapport particulier avec les propriétés magiques
du nombre 24 que j'ai évoquées dans mon autre entrée.
Les trois magiciens du nombre 24 : le code de Golay, le réseau de Leech et le module de Moonshine
S'il y a un nombre magique en mathématiques, c'est bien 24. (Je
pense que Douglas Adams
a juste
inversé les chiffres.) Le nombre 8 vient presque à égalité, et
12, peut-être 6 et 16 ont aussi
quelques propriétés magiques (qui, globalement, sont toujours liées à
celles de 24), mais celui qui est vraiment farabuleux (pardonnez le
néologisme), c'est 24.
Je voudrais dans cette entrée essayer de témoigner de la magie
de 24 en définissant deux et en évoquant le troisième de trois objets
exceptionnels qui font que 24 est si spécial. On pourrait aussi les
appeler les trois générations de « magiciens » qui tirent leur pouvoir
magique du nombre 24. Ces objets sont : le code de Golay binaire
(première génération), le réseau de Leech (deuxième génération), et le
module de Moonshine (troisième génération). Mon but est donc d'en
parler un peu, en définissant proprement les deux premières
générations, en essayant que ce que je dis sur la première soit
accessible à un très large public, et en disant quelques mots de la
troisième. Ou du moins, mon but était tout ça, parce que je
me suis pas mal embourbé et je ne suis pas du tout content de ce que
j'ai écrit : je donne certes une définition du code de Golay binaire
et du réseau de Leech, mais je crois ne pas avoir du tout réussi à
passer l'idée de pourquoi ils sont intéressants au fond. Et comme
souvent, je crois que je me retrouve à présupposer de mon lecteur un
niveau de connaissances mathématiques préalables qui varie de façon
assez incohérente d'un endroit à l'autre (au début je m'efforce
vraiment de ne rien supposer, et à la fin, il sera certainement
nécessaire d'avoir au moins une intuition de ce qu'est un groupe).
Néanmoins, maintenant que tout ça est écrit, je ne vais pas ne pas le
publier, donc prenez-le pour ce que ça vaut.
Comme par ailleurs, le nombre 8 est aussi magique (quoiqu'un peu
moins que 24), je peux aussi parler de deux des
trois[#] générations de
magiciens qui tirent leur pouvoir magique de celui-ci : le code de
Hamming de longueur 8 et le réseau E₈, parce qu'ils sont utiles pour
approcher leurs analogues du nombre 24.
Le terme de génération évoque l'idée que les objets de la
deuxième génération se définissent en termes de ceux de la première,
et ceux de la troisième en termes de ceux de la deuxième, et qui plus
est, il y a une certaine similarité entre la manière dont ces
objets s'enfantent les uns les autres (je ne prétends pas que c'est
rigoureusement la même, ni entre les colonnes, ni entre les lignes :
notemment, il n'y a pas de « foncteur » dans l'affaire, juste une
certaine analogie).
Je vais aussi évoquer, à chaque fois, les groupes de
symétrie de ces différents objets, qui ressembleront à la
numérologie suivante (là aussi, je dois expliquer ce que sont ces
machins, mais à chaque fois, je donne le nom du groupe de symétrie et
son ordre, c'est-à-dire le nombre de symétries) :
Le corps à un élément, et autres licornes mathématiques
Les chasseurs-prouveurs se rassemblaient comme chaque soir autour
de l'équation de la chaleur et se racontaient les histoires de leurs
aventures. Joueur-Atlas, qui était célèbre pour avoir autrefois
attrapé un groupe parfait à 8 315 553 613 086 720 000 éléments évoqua
le fils de « son » groupe, dont il avait aperçu la silhouette
monstrueuse, à la lumière de la lune, en train de remuer près du
nombre 196 883, et qu'il espérait voir un jour capturé. Mais ce soir,
c'était au tour du vieux Bâtisseur-Alternatif de prendre la parole.
— Un jour, j'ai vu un corps comme je n'en avais jamais vu
auparavant.
Il désigna une figure rupestre qu'il avait exécutée il y a
longtemps, à la craie sur le tableau noir
du Hilbertraum : un F pas tout à fait gras
finissant par un 1 plutôt bas. Et il conclut théâtralement :
— Figurez-vous que ce corps n'avait qu'un seul
élément.
Certains soupiraient d'entendre Bâtisseur-Atlernatif raconter
toujours la même histoire à dormir debout, mais les jeunes
chasseurs-prouveurs étaient fascinés :
— Un corps à un seul élément ? Mais ce n'est pas possible,
grand-père !
— Pourtant je l'ai bien vu. Et attendez, ce n'est pas le plus
incroyable… il était… sous l'anneau des entiers !
Cette révélation fit place à un silence choqué de la part de ceux
qui n'avaient pas encore entendu cette légende. Un corps caché sous
l'anneau des entiers ! Cela semblait si impossible — et en même temps
si prometteur !
⁂
Bon, trêve d'humour à 1/1728 zorkmids.
Ce que j'appelle licorne mathématique,
c'est un objet mathématique dont on aimerait croire à l'existence, un
objet dont on a une certaine intuition et même des indices suggérant
sa présence, qui, naïvement envisagé tel quel, n'existe pas, n'est pas
possible, conduit à des paradoxes et des contradictions. On peut
démontrer qu'il n'existe pas, que les propriétés qu'on lui attribue
sont impossibles, et pourtant, on cherche quand même un moyen de le
faire exister.
Ce qui fait que les licornes sont des licornes, c'est qu'on n'a pas
trouvé la bonne définition ou la bonne théorie-cadre. Chasser la
licorne, c'est donc chasser la définition ou la théorie qui lui
permettra d'exister et de faire disparaître les paradoxes. Cela peut
sembler bizarre : si on s'imagine qu'on donne naissance à un objet
mathématique en le définissant, comment peut-il y avoir des objets
qu'on poursuive sans parvenir à les définir ? Pourtant, cela se
produit assez souvent (et je prends même ça pour un indice — certes
pas terriblement concluant — dans le sens que les mathématiques
existent indépendamment de l'homme).
*
L'exemple le plus simple est sans doute celui des nombres
complexes. La manière dont je vais l'évoquer prend des libertés avec
l'Histoire, qu'on m'en pardonne, mais mon but n'est past de raconter
l'histoire des maths mais d'expliquer le concept d'une licorne. La
racine carrée de −1, donc, était une licorne : un nombre qui,
multiplié par lui-même, donne −1, c'est impossible a priori.
Et on a une preuve de cette impossibilité : à savoir,
que x soit positif ou négatif, son carré x²
= x·x est forcément positif, donc ne peut jamais
valoir −1. Bref, √(−1) est une licorne. Pourtant, quelqu'un prétend
avoir vu des traces de la licorne : si on fait comme si elle existait,
si on oublie cette impossibilité, si on mène les calculs comme si la
racine carrée des nombres négatifs avait un sens, on arrive à résoudre
des équations du troisième degré qu'on ne savait pas résoudre
autrement (celles qui ont trois racines). Comment expliquer que
quelque chose d'impossible conduise à une conclusion heureuse ? C'est
cela qui fait soupçonner que la licorne existe vraiment, et qui donne
envie de la capturer.
Maintenant on ne voit plus du tout que cette histoire a été une
licorne : maintenant, √(−1) est un nombre complexe, quelque chose de
tellement banal qu'on en oublie trop facilement que cela a pu
représenter un paradoxe, une licorne. Pourtant, pour capturer cette
licorne, il a fallu faire un saut conceptuel : abandonner l'idée que
les nombres soient ordonnés, c'est un saut conceptuel
gigantesque (les nombres ont été faits pour être ordonnés,
pourrait-on dire ; les opérations algébriques sont une sophistication
ajoutée sur le concept de comparaison). Mais une fois fait le saut
conceptuel, une fois définie la notion de nombre complexe, la licorne
est capturée, elle perd tout son mystère, on s'aperçoit que la
définition antérieure de nombre était restrictive (ce qui ne signifie
pas qu'elle n'ait pas de valeur !, il n'est pas question de remplacer
systématiquement les nombres réels par des nombres complexes en
mathématiques ou ailleurs).
Ce qui m'intéresse dans cette histoire, c'est la démarche où
d'abord on aperçoit des traces de pas qui semblent paradoxales (cette
bestiole marche comme un cheval, pourtant elle semble avoir une
corne !), on traque le concept, et on finit par capturer la licorne,
c'est-à-dire résoudre le paradoxe, rendre possible ce qu'on
avait démontré impossible, en contournant l'impossibilité par
une définition élargie. La licorne se capture par la définition.
C'est inhabituel par rapport à la pratique générale des mathématiques
qui consiste à chasser les preuves, pas les définitions (ni
les licornes).
Méta : Dans la suite, je vais évoquer quelques
autres licornes. Ne sachant pas à quel niveau de vulgarisation me
placer, je n'ai pas vraiment pris de décision cohérente à ce sujet, et
je suppose donc de la part de mon lecteur des connaissances variables
de paragraphe en paragraphe : j'espère néanmoins avoir fait en sorte
qu'on puisse comprendre un petit peu l'idée générale même si on ne
comprend pas tel ou tel passage. D'autre part, comme mon but était de
raconter une histoire plus que d'exposer des maths, il se peut que je
dise des choses un peu abusées ici ou là (j'espère quand même avoir
toujours été assez vague pour qu'on ne puisse pas m'accuser d'avoir
écrit un énoncé indiscutablement faux, mais si c'est le cas, je
mettrai la faute sur les licornes qui m'ont poussé).
À l'approche de la rentrée, je me dis qu'il peut être utile que je
publie quelques conseils pour les étudiants en maths. Ceux-ci sont
inspirés à la fois de ce que j'ai écrit
dans ce
fil Twitter et de ce que j'ai expliqué de vive voix à un élève de
prépa qui me demandait de tels conseils : ayant ainsi un peu réfléchi
à ce que j'avais à dire, autant le mettre sur ce blog.
Il s'agit là de conseils généraux (et sans doute d'une bonne dose de
proverbial enfonçage de portes ouvertes à ma fidèle hache bénie +2
trempée dans la potion de banalités), s'adressant plutôt à des
étudiants entre approximativement ce qui correspond, dans le système
éducatif français, aux niveaux bac à bac+5 (disons) : grosso modo,
avant ça, on ne fait pas tellement de maths au sens « raisonnement
déductif » (ayant la démonstration comme méthode essentielle) ; et
après, si vous en êtes arrivé là, vous avez assez de familiarité avec
les mathématiques pour ne pas avoir besoin de mes conseils. Certaines
des choses que je vais dire s'appliquent à d'autres disciplines
adjacentes, comme la physique ou l'informatique (pour ce qui est de
l'informatique théorique, mon avis est qu'il s'agit de toute façon
d'une branche des mathématiques, même si elle ne s'assume pas toujours
comme telle) ; quelques uns s'appliquent sans doute à n'importe quelle
discipline, mais je me focalise quand même sur les maths.
On doit pouvoir tirer de ces conseils aux étudiants quelques
conseils pour les enseignants (en appliquant la dualité
étudiant-enseignant et le foncteur de réduction des platitudes), mais
comme je n'aime pas donner des
leçons à ce sujet, je vais laisser ça en exercice au lecteur.
✱ Conseil nº1 : aimer ce que
l'on fait. C'est peut-être un peu idiot de dire ça, mais je
suis persuadé qu'on ne peut correctement faire des maths que si on les
trouve un minimum belles et intéressantes. Si on les conçoit comme
une corvée, elles le resteront. Si on les conçoit comme (la métaphore
que j'aime bien utiliser) l'exploration
d'un palais magnifique et
incompréhensiblement gigantesque, à la structure à la fois
labyrinthique et élégante, on peut arriver à comprendre que ce soit à
la fois excitant et séduisant, et en tirer la motivation nécessaire à
leur étude.
Je ne peux évidemment pas donner de recette magique pour comprendre
que les maths sont belles. C'est quelque chose que
j'essaie de communiquer, mais il
est évident que je ne vais pas transformer tout le monde en matheux.
Mais, même si on a un a priori négatif (et certaines formes
d'enseignement des mathématiques laissent hélas place à bien peu
d'autre que la corvée rébarbative), il est au moins essentiel de
garder l'esprit ouvert à cette possibilité, que les maths puissent
être fascinantes. Je pense qu'il est au moins utile, même si on est
réfractaire, de chercher les sous-domaines sur lesquels on accroche un
peu plus, et de peut-être chercher à se renseigner sur l'allure
générale du paysage mathématique,
méditer sur la question de pourquoi certaines personnes y trouvent
goût (est-ce qu'on a reçu une image déformée par un enseignement
rébarbatif ou est-ce qu'on est véritablement hostile aux
mathématiques ? dans ce dernier cas, il vaut certainement mieux
arrêter de les étudier le plus rapidement possible et ne pas céder aux
sirènes qui promettent une meilleure carrière ou quelque chose de ce
genre). L'histoire des sciences peut aussi être une passerelle vers
un intérêt pour les mathématiques elles-mêmes.
✱ Conseil nº1b : faire preuve
de curiosité intellectuelle, et questionner ce que l'on fait.
Apprendre le cours pour le cours est la meilleure garantie d'en rester
là. Pour comprendre un cours de maths, il faut plutôt le
questionner[#], le décortiquer,
essayer de prendre du recul. Pour ça, le mieux est de garder à
l'esprit toutes sortes de questions (pourquoi fait-on
ça ?, où veut-on en venir ?, comment fonctionne cet
objet ?) ; je vais donner des exemples plus précis de telles
questions (à se poser à soi-même ou à poser à l'enseignant) dans les
conseils suivants, mais le message plus général est que tout
questionnement est bienvenu (voir aussi les
conseils nº6 et 6b
ci-dessous).
[#] Dans un cours de
langue, si un étudiant demande pourquoi 95 en français de France se
dit-il quatre-vingt-quinze ?, on ne peut pas vraiment lui
donner de réponse sauf des choses comme c'est comme ça
ou c'est un accident historique, peut-être accompagnées d'une
histoire du phénomène (mais c'est déjà empiéter des langues sur la
linguistique, et ça n'aidera pas tellement à l'apprentissage du
français). L'enseignant en maths, lui, doit être prêt à se justifier
de plus près que ça.
Des figures que j'en ai marre de refaire, et des histoires de kaléidoscopes
Il y a des des figures que je me retrouve à refaire
encore et toujours, à chaque fois que je veux réfléchir à un certain
sujet. Parmi ceux que je reproduis avec une fréquence qui finit par
devenir vraiment pénible, il y a ceux qui apparaissent ci-contre à
droite, et que je me suis enfin de sorti les doigts du c** pour
produire en PDF avec TikZ
(suivez le lien
pour le PDF). Comme je ne suis certainement pas le
seul trouver ces figures utiles pour réfléchir, je les mets en ligne.
Et du coup, je peux en profiter pour faire un peu de vulgarisation sur
ce qu'ils représentent.
Je vais essayer d'expliquer ça sous l'angle de la géométrie
euclidienne élémentaire, à travers la question de classifier et de
comprendre les kaléidoscopes (simpliciaux). L'intérêt, outre
que c'est peut-être plus parlant, est ne pas supposer que qui que ce
soit ait lu mon récent rant
interminable sur les groupes de Lie (mais en même temps, essayer
de dire les choses de manière à quand même éclairer le rant en
question). En fait, après coup, je ne suis rendu compte que ce
n'était pas forcément une très bonne approche, et que cette entrée
ressemble beaucoup à une accumulation de faits qui partent dans tous
les sens et qui ne reflètent pas bien (pun
unintended) l'élégance du sujet. En plus de ça, comme c'est un
sujet que j'ai l'habitude de voir abordé autrement que comme de la
géométrie euclidienne, je ne suis pas très sûr de l'ordre dans lequel
les faits s'agencent logiquement, et je n'ai pas toujours une idée
très claire de la difficulté qu'il y aurait à les démontrer dans une
telle approche. Et aussi à cause de ça, il faut que j'avertisse que
je n'ai pas vérifié très soigneusement (je veux dire, encore moins que
d'habitude…) tous les résultats que j'énonce dans cette entrée, et
qu'il est fort possible que j'aie oublié une hypothèse ou une autre
pour me raccrocher à là où je veux en venir ; notamment, j'ai failli
complètement négliger la
« condition
supplémentaire » que j'ai finalement trouvé utile d'introduire
plus bas dans la définition d'un kaléidoscope. Malgré tout ça,
j'espère que ce que je raconte est au moins un peu intéressant.
Quelques points de vue (de matheux) sur les grandeurs physiques et unités de mesure
Dans cette entrée, je voudrais évoquer la question
des grandeurs physiques (longueur, durée, vitesse, masse,
courant électrique…) et des unités de ces grandeurs. Je vais
jeter un regard de matheux sur ce que ces choses sont, proposer
quelques points de vue ou (esquisses de) définitions formelles
possibles, et m'interroger sur l'utilité et la pertinence de ces
points de vue, notamment pédagogiques, mais aussi du point de vue de
la question de l'incertitude des mesures.
Je précise que cette entrée part un peu dans tous les sens, parce
que j'ai commencé par écrire de la façon dont les idées me venaient
(ou me revenaient, parce que ce sont des idées que je rumine depuis
longtemps), et j'ai voulu raconter trop de choses à la fois, donc il y
a plein de digressions. En plus de ça, j'ai un peu permuté les bouts
que j'avais écrits (il en reste certainement des incohérences comme
des je vais y revenir alors que les choses sont dans un autre
ordre), puis repermuté, puis re-repermuté au fur et à mesure que
j'ajoutais des digressions, et finalement je ne sais plus du tout dans
quel ordre je dis les choses. Heureusement, il n'y a pas trop de lien
logique clair ni de dépendance entre les différents morceaux ce que je
raconte, donc on doit pouvoir lire cette entrée dans le désordre
puisque c'est comme ça qu'elle a été écrite ! J'ai essayé de marquer
par des triples accolades {{{…}}}
(cf. ici) les digressions les plus
identifiables, dans l'espoir que ça aide à s'y retrouver un peu.
À l'origine je voulais parler de la manière dont un mathématicien
peut définir ce que sont les grandeurs physiques et leurs unités.
Mais je n'ai pas résisté à parler d'autres choses, à faire un tableau
de plein de grandeurs (ci-dessous) et à entrer dans des discussions
sur ce que sont les grandeurs dans la pratique, sur les incertitudes
et les échelles de masse. J'ai commencé à écrire des choses sur la
réforme du SI qui doit avoir lieu d'ici quelques mois,
puis je me suis dit que non, ça faisait vraiment trop, mais il en
reste quand même des bouts… (Je garde donc pour une entrée ultérieure
les explications précises sur la réforme du SI, même si
j'y fais allusion à diverses reprises ici.) Bref, voilà pourquoi
cette entrée est encore plus désordonnée que d'habitude. J'espère
qu'il y a quand même des choses à en tirer !
⁂
Pour essayer de fixer la terminologie, j'appellerai grandeur
(plutôt que dimension qui peut causer confusion) quelque chose
comme « la masse » de façon abstraite ; et j'appellerai quantité
[de cette grandeur] une masse particulière (par exemple 70kg),
mesurée, donc, dans une unité. Si on veut parler comme un
informaticien, donc, la grandeur sera, pour moi,
le type
(« la masse »), tandis que la quantité sera l'instance de ce
type (70kg). Et l'unité est une quantité particulière (de la
grandeur) qu'on a choisie pour exprimer toutes les autres. Comme
n'importe quelle quantité non nulle (disons peut-être strictement
positive) peut servir d'unité, la différence entre « quantité » et
« unité » est juste une question de regard qu'on porte dessus.
Je ne sais pas si ce choix terminologique était le meilleur, je
conviens que c'est un peu contre-intuitif de dire que la grandeur
de [la quantité] 70kg est la masse, mais je ne suis pas certain
qu'il existe de choix vraiment bon (et puis, maintenant que c'est
fait, je n'ai plus envie de tout rééditer). J'ai essayé de m'y tenir
systématiquement, de toujours utiliser le mot grandeur pour le
type et quantité pour la valeur dans le type, mais je ne peux
pas exclure quelques lapsus occasionnels.
Ajout () : En
fait, je ne distingue pas vraiment la grandeur et la dimensionnalité
de cette grandeur (définie formellement ci-dessous), par exemple je ne
distingue pas les grandeurs « énergie » et « moment d'une force »
(tous les deux ayant l'unité SI de kg·m²/s², même si dans
un cas on l'appelle plutôt le joule et dans un autre cas plutôt le
newton·mètre, la distinction est plus mnémotechnique que
fondamentale) ; de même, pour moi, le watt et le volt·ampère sont bien
la même chose, nonobstant le fait qu'on ne les utilise pas exactement
de la même manière ; je vais faire occasionnellement allusion à ce
problème.
⁂
Bref, qu'est-ce que c'est que toute cette histoire ?
Pour commencer, une des propriétés des grandeurs et des unités est
qu'on peut les multiplier et les inverser (donc, les diviser) ; alors
qu'on ne peut ajouter ou soustraire que des quantités de même
grandeur, mais ça j'y reviendrai plus loin. Par exemple, une unité de
longueur divisée par une unité de durée (=temps) donne une unité de
vitesse (mètre par seconde, kilomètre par heure) : et il s'agit bien
d'une division des quantités correspondantes (1km=1000m, 1h=3600s donc
1km/h = 1000m/3600s = (1000/3600)m/s = 0.2777…m/s). On peut dire que,
indépendamment des unités, la grandeur « vitesse » est le quotient de
la grandeur « longueur » par la grandeur « durée ». De même, la
grandeur « surface » est le carré de la grandeur « longueur » (son
produit par elle-même). Et la grandeur « fréquence » est l'inverse de
la grandeur « durée » (l'unité SI de fréquence, le hertz,
est l'inverse de l'unité SI de temps, la seconde).
Un problème d'algorithmique (en lien secret avec la formule de Weyl)
Méta : Régulièrement je tombe sur des problèmes
mathématiques qui me paraissent tellement simples, tellement naturels
et/ou tellement évidents (je veux dire évidents à poser, pas forcément
évidents à résoudre !) que c'est inconcevable qu'il n'existe pas déjà
une littérature abondante à leur sujet. Mais faute de connaître les
bons mots-clés ou la bonne façon de formuler le problème (car souvent
un même problème admet mille et une reformulations ou
réinterprétations), je peux galérer pour mettre le doigt sur cette
littérature. C'est extrêmement frustrant. Pour digresser sur ce
problème en général, cf. par
exemple cette
vidéo où le
YouTubeur Tom Scott
passe la moitié du temps à raconter combien il a eu du mal à trouver
le terme Inogon light pour en savoir plus sur un
type de signal nautique utilisant intelligemment des effets de moiré
pour montrer aux bateaux où aller en fonction de leur position.
L'Internet a quelque chose de la Kabbale : quand on connaît le Vrai
Nom de quelque chose, on acquiert du pouvoir sur cette chose — en
l'occurrence, le pouvoir d'en savoir plus. Le problème que je veux
évoquer ici fait partie de ces problèmes qui me semblent tellement
« s'imposer » que je suis sûr qu'il a un nom et qu'il y a des
chapitres entiers de bouquins d'algorithmiques qui lui sont
consacrés ; mais comme je ne le formule pas forcément sous le bon
angle, je ne trouve pas.
Il s'agit, donc, de quelque chose que je comprends raisonnablement
bien du côté mathématique, mais dont l'algorithmique me laisse
passablement perplexe. Ce qui veut dire que j'ai beaucoup de choses à
raconter, dont beaucoup ne sont sans doute pas pertinentes pour le
problème algorithmique, mais je ne sais pas au juste ce qui l'est et
ce qui ne l'est pas.
Voici la première variante du problème algorithmique, qui est la
plus simple et élémentaire à énoncer : je vais l'appeler la variante
(AS), parce que je vais vouloir en formuler un certain
nombre, ce sera plus commode si je leur donne des noms. (Le S
signifie symétrique ; le A est là comme dans la classification
de Killing-Cartan, mais pour l'instant peu importe.)
(AS) On se donne x
et y deux vecteurs (de longueur, disons, n≥1), à
coordonnées entières. Je suppose que la somme des coordonnées
de x est nulle, et pareil pour y (je ne sais pas
si ça sert vraiment à quelque chose).
Problème : trouver tous les produits scalaires
possibles σ(x)·y entre y
et un vecteur σ(x) obtenu en permutant les
coordonnées de x, avec, pour chacun, son nombre
d'occurrences, c'est-à-dire le nombre de permutations σ des
coordonnées de x qui conduisent à ce produit scalaire.
Exemple : si x=(−2,−1,0,1,2)
et y=(−2,0,0,1,1), la réponse attendue est {−7: 4 fois, −6:
4 fois, −5: 12 fois, −4: 8 fois, −3: 12 fois, −2: 4 fois, −1: 8 fois,
0: 16 fois, 1: 8 fois, 2: 4 fois, 3: 12 fois, 4: 8 fois, 5: 12 fois,
6: 4 fois, 7: 4 fois} (chaque produit scalaire
possible σ(x)·y étant suivi de son
nombre d'occurrences : notamment, il y a 16 permutations des
coordonnées de x qui donnent un produit scalaire nul
avec y). • Autre exemple :
si x=y=(−2,−1,0,1,2), la réponse attendue est
{−10: 1 fois, −9: 4 fois, −8: 3 fois, −7: 6 fois, −6: 7 fois, −5:
6 fois, −4: 4 fois, −3: 10 fois, −2: 6 fois, −1: 10 fois, 0: 6 fois,
1: 10 fois, 2: 6 fois, 3: 10 fois, 4: 4 fois, 5: 6 fois, 6: 7 fois, 7:
6 fois, 8: 3 fois, 9: 4 fois, 10: 1 fois}.
Il y a évidemment plein de façons de reformuler ça et plein de
remarques évidentes à faire. Par exemple, je peux dire qu'il s'agit
de considérer toutes les façons d'apparier (bijectivement) les
coordonnées de x avec celles de y et de sommer
les produits des coordonnées appariées entre elles : sous cette forme,
il est évident que le résultat est symétrique entre x
et y ; par ailleurs, il est clair que ça ne change rien de
permuter les coordonnées de x ou celles de y,
donc on peut les supposer triées au départ. Si on veut, je me donne
deux paquets (deux « multiensembles ») x et y de
nombres, de même taille, mais sans ordre, et je cherche toutes les
façons de faire un produit scalaire.
Petite animation (merdique) d'ondes sur un tore plat
En lien avec l'entrée précédente
(que personne n'a lue mais c'est normal), j'ai
produit ce petit gadget
JavaScript qui (s'il n'est pas complètement cassé) représente une
animation de l'équation des ondes sur un tore plat, en l'occurrence le
tore plat E/L quotient du plan
euclidien E=ℝ² par un réseau L triangulaire
équilatéral (i.e., la fonction est périodique par L), à
partir d'une condition initiale gaussienne assez piquée (censée donnée
une idée d'approximation d'une distribution δ). Si on préfère, cela
revient à faire l'équation des ondes dans le plan à partir d'une
condition initiale qui est la somme d'une gaussienne centrée sur
chaque point de L. Concrètement, il s'agit juste de
calculer (la fonction du temps t et du
point x∈E/L) :
où
— soit, en plus moche pour les navigateurs cassés qui ne gèrent pas
le MathML —
où U est un paramètre d'étroitesse de la condition
initiale, et, histoire de faire le lien avec les notations de l'entrée
précédente, Λ(α)=|α|²
et m(α)=1 pour le paramétrage par tous les
éléments α∈L*. Ce que fait mon
programme est uniquement de calculer cette somme (pour
les α pas trop loin de l'origine
dans L* ; pour alléger les calculs, il
précalcule les fonctions de α et x et se
contente ensuite de les sommer).
Commentaire mathématique : Si la dimension d'espace était
impaire, l'évolution de l'équation des ondes à partir d'un δ initial
se ferait uniquement sur des fronts sphériques centrés sur les points
du réseau (imaginez que vous superposez une sphère centrée en chaque
point de L, dont le rayon croit linéairement avec le temps,
et dont l'amplitude décroît proportionnellement à la surface de façon
que la quantité totale reste constante), et l'évolution à partir d'une
gaussienne donne la même chose avec des sphères un peu épaissies ; en
dimension paire, ce qui est le cas ici, ce « principe de Huygens » ne
vaut pas, la fonction de Green de l'équation des ondes n'est pas
concentrée sur une sphère[#], il
y a une « queue » (négative par rapport au front d'onde, et qui
apparaît en bleu sur mon animation). • Par ailleurs, même si le
réseau L* ici est le réseau des poids de SU₃ et
même si on a symétrie par le groupe de Weyl, il ne s'agit pas
de l'équation des ondes sur SU₃ (pour ça il faudrait
corriger Λ(α) et m(α)),
c'est en gros ce qu'essaie d'expliquer l'interminable entrée qui
précède.
[#] Ceci dit, ça doit
être aussi assez joli comme dessin, une superposition de cercles de
rayon croissant linéairement avec le temps et centrés sur chacun des
points d'un réseau L triangulaire équilatéral.
Bon, tout ça fait des images pas trop moches, je dois l'avouer, et
l'aspect « kaléidoscopique » apparaît assez clairement. Je pourrais
mettre une animation de ce genre sur YouTube.
Ajout () :
Voici les vidéos
YouTube : pour un
réseau triangulaire équilatéral
et pour un réseau
carré (j'ai eu la folie, dans les deux cas, de calculer ça en
1920×1080, 25fps, pour une vidéo de 3′=180s ; ça m'a pris deux fois
40 minutes de calcul, mais il faut reconnaître que le résultat n'est
pas mal).
Ajout 2 : Je recopie le lien fourni dans le
commentaire de Benoit qui a
écrit une
version bien plus efficace de mon animation en utilisant
WebGL.
Mais le calcul en direct est péniblement lent. Je pensais que sur
un ordinateur moderne je n'aurais même pas besoin d'optimiser et je
pouvais calculer la somme de quelques centaines de cosinus par pixel
d'une image de taille raisonnable à une vitesse d'animation qui
dépasse la perception de l'œil humain, mais apparemment calculer des
centaines de millions de cosinus par seconde ça ne se fait pas sur un
simple ordinateur de bureau, en tout cas pas en JavaScript.
Comme je déteste optimiser par-dessus tout, et que JavaScript
commence à me sortir par les oreilles, je ne touche plus à ce code.
Si quelqu'un veut l'améliorer (rendre le truc interactif en ajoutant
un bouton pause ou quelque chose comme ça, permettre de bouger,
zoomer, ou ce que vous voudrez, ou encore changer le réseau — il y a
juste quelques lignes à commenter/décommenter pour faire un réseau
carré), envoyez-moi des patchs, mon code est lisible et commenté, mais
je ne veux pas de suggestions non codées. Parce que, là, pour le
moment, les incantations propitiatoires du JavaScript servant à
conjurer des petites crottes de
ragondin, elles me gonflent prodigieusement.
Si vous voulez savoir ce que ça donne comme
son, voici la
conversion directe en onde sonore de la valeur mesurée au point
central (l'origine de E/L, celle où est centrée
la gaussienne initiale, i.e., mettre x=0 dans les formules
ci-dessus), avec exactement les paramètres de l'animation, juste
accélérée d'un facteur 8800 par rapport à l'animation affichée par le
JavaScript. Mais ça donne juste un bruit strident atroce (moralité,
une jolie image ne correspond pas forcément à un joli son, et si je
veux transformer des spectres en sons un peu harmonieux, une
dissipation dans le temps, dépendant de la fréquence, est
indispensable).
Où je commence par penser tout haut toujours à propos de spectres, et finis par ranter de façon interminable sur les caractères des groupes de Lie
Avant-propos : Cette entrée est une sorte
de brain-dump, qui finit assez différemment de ce qu'elle
commence. J'étais parti sur l'idée, sans avoir forcément pour but
d'être compréhensible (en tout cas pas complètement, en tout cas pas
par tout le monde), de jeter des réflexions surtout pour moi-même
(comme une sorte de sauvegarde de mon état mental) sur des questions
autour du spectre du laplacien. Sachant que je n'avais pas les idées
complètement claires sur certaines des choses qui suivent, donc je ne
peux pas expliquer tout ça parfaitement, encore moins le vulgariser au
niveau où j'aimerais idéalement le faire : le but était plutôt de
retrouver mes idées éventuellement plus tard, quitte à produire
quelque chose d'un peu abscons et pas forcément bien correct
mathématiquement ; et je me disais que ça ne ferait pas de mal de les
mettre en ligne. Mais en pondant tout ça, je me suis laissé emporter
par mon sujet, et la section sur les groupes de Lie compacts a pris
une place démesurée, et s'est écartée du point de vue initial
(finalement, pour ce que je raconte sur les groupes de Lie, on n'a pas
vraiment besoin de savoir ce qu'est un laplacien ni de prononcer son
nom, et d'ailleurs comme je prends l'exemple du groupe des rotations,
on n'a pas vraiment non plus besoin de savoir ce qu'est un groupe de
Lie compact) ; et j'en ai écrit des pages sur l'analyse de Fourier sur
un groupe de Lie compact. Chose que je comprends quand même nettement
mieux que le problème du spectre du laplacien en général, mais ça ne
veut pas forcément dire que je l'explique mieux. Et finalement, je ne
sais plus bien de quoi parle cette entrée, il y a plusieurs sujets
assez indépendants, et le niveau auquel je place mes explications
varie d'un endroit à l'autre. Bref, je ne sais pas ce que tout ça
vaut, mais maintenant que c'est écrit, ce serait quand même idiot de
ne pas le mettre en ligne. C'est dommage que, comme j'ai fait une
énorme moussaka, tout le monde va être rebuté, mais tant pis, je n'ai
plus le courage d'essayer de démêler les ingrédients de la
moussaka.
Je commence en reprenant la ligne de pensées commencée dans
l'entrée précédente (et inspirée
par un roman de Connes, Chéreau et Dixmier, donc) : je cherche à
produire des sons mathématiques intéressants (et pas déplaisants) à
écouter, et une des façons d'y arriver semble être de considérer un
spectre, notamment le spectre
du laplacien
(et donc en pratique, de l'équation des ondes) sur une variété
riemannienne (compacte, parce que je ne suis pas analyste ni géomètre,
moi, je ne sais pas gérer le cas
non-compact[#]) ; plusieurs
questions soulevées incidemment : quels objets choisir pour lesquels
on sait calculer explicitement le spectre du laplacien (et qu'est-ce
que ça signifie au juste) ?, quelles données sont associées au spectre
en question ?, comment précisément convertir ce spectre en un
son ?, d'ailleurs, comment mener le calcul sur ordinateur ? ; et
aussi : comment vulgariser la notion de spectre du laplacien
(notamment sur un groupe de Lie, espace riemannien symétrique, etc.) ?
(Je ne compte pas tant essayer de faire cette vulgarisation ici et
maintenant, mais peut-être donner les pistes par lesquelles je
l'aborderais pour pouvoir les retrouver si je devais le faire plus
tard.) Je vais évoquer le cas des tores plats (quotients de l'espace
euclidien par un réseau) puis, comme expliqué au paragraphe précédent,
je vais dévier sur la théorie de Weyl de l'analyse harmonique sur les
groupes de Lie compacts, ce qui est largement indépendant de ce que je
raconte au début. Et à la fin, je serai trop fatigué pour parler des
espaces riemanniens symétriques autrement que pour dire que suis trop
fatigué.
[#] Une blague, qui est
d'ailleurs peut-être une histoire vraie, qu'on m'avait racontée il y a
longtemps, concerne un mathématicien dont la femme… — non, ne soyons
pas sexiste comme ceux qui m'ont raconté cette histoire, je vais
plutôt dire : — une mathématicienne dont le mari ne connaît absolument
rien aux maths ; mais elle lui a donné l'astuce suivante permettant
presque à tous les coups de poser une question pertinente lors d'un
échange entre matheux : il suffit d'attendre qu'il y ait une petite
pause dans la conversation, de prendre un air pensif, et de
demander et est-ce que vous avez considéré le cas
non-compact ?.
Le Spectre d'Atacama — et quelques spectres de groupes de Lie à écouter
(La première partie de cette entrée parle d'un roman qui parle de
maths, la second parle de maths vaguement inspirées par le roman en
question : à part cette proximité d'idées, il n'y a pas vraiment de
rapport entre elles. Si les maths vous ennuient, à la fin, il y a des
sons bizarres à écouter.)
Je viens de finir de lire le livre Le Spectre
d'Atacama d'Alain Connes, Danye Chéreau et Jacques Dixmier, et
j'avoue que je ne sais pas bien ce que j'en ai pensé. Pour commencer,
c'est un livre assez difficilement classable : une sorte de mélange
entre roman de science-fiction, fantaisie poétique, vulgarisation
scientifique, plaidoyer sur l'intelligence artificielle, conte
philosophique, récit picaresque et transposition en fiction
de cet essai sur l'hypothèse
de Riemann. Chacun des ingrédients me plaît a priori, et
j'aime beaucoup l'idée de faire de la fiction à partir de la science,
y compris de façon un peu poétique ; mais je trouve le mélange trop
peu homogène… disons qu'il y a des grumeaux.
Le style est souvent un peu faible, mais ça ne me gêne pas tant que
ça ; ce qui me gêne nettement plus, en revanche, c'est que l'intrigue
part tellement dans tous les sens, accumule tellement
d'invraisemblances et de rebondissements en apparence gratuits que ma
suspension d'incrédulité, à force d'être tellement secouée, finit par
lâcher complètement le coup. Parfois le roman devient didactique,
parfois il est humoristique, parfois encore onirique, mais il y a trop
de moments où on ne sait pas vraiment à quel degré le lire. L'idée de
départ est bonne : un astrophysicien travaillant
au réseau
d'antennes de l'Atacama détecte un spectre d'absorption qui
l'intrigue et fait appel à un ami mathématicien (de
l'IHÉS…)
pour essayer de le comprendre. Il y a aussi quelques tableaux du
milieu académique qui sont plutôt réussis. Mais rapidement, et quitte
à divulgâcher jusqu'à la fin de ce paragraphe, il est question d'une
physicienne qui a volontairement passé son cerveau dans le rayon
du LHC et qui a acquis la
conscience quantique de vivre dans un espace de Hilbert et des
capacités transhumaines mais seulement quand elle est à proximité d'un
certain ordinateur : et là, je trouve que c'est vraiment un peu trop ;
en plus de ça, le mathématicien part dans un périple dont on ne
comprend pas vraiment le sens, qui l'emmène à Valparaiso puis sur une
île perdue
au milieu de nulle part puis à Sainte-Hélène, et tout ça ne sert
pas vraiment l'intrigue. Et quand il est question d'ordinateurs, on
sent que les auteurs ne sont pas du tout dans leur élément.
Ceci étant, je pense que c'est un ouvrage intéressant sur le plan
de la communication scientifique : pas tellement d'idées
scientifiques (il y a un peu de vulgarisation, mais ce n'est
certainement pas l'objet principal du livre, et elle est
plutôt light), mais de l'amour de la science et — et c'est
important — des liens qui relient mathématiques, physique et
informatique, et aussi du fait que la science « dure » peut avoir des
aspects poétiques. Sur ce plan-là, je dirais que c'est plutôt une
réussite. Peut-être finalement que ce roman, qui ne présuppose pas de
connaissances scientifiques ou mathématiques, plaira plus à ceux qui
justement l'abordent sans a priori.
⁂
J'en viens à des maths : la lecture du roman décrit ci-dessus m'a
au moins convaincu (ou rappelé) que « les spectres » c'est important
et intéressant. Je sais bien, pour avoir souvent entendu des gens le
dire, que le spectre
du laplacien
(sur une variété riemannienne, disons), par exemple, c'est
archi-super-important, mais j'avoue que je ne sais essentiellement
rien de ce qu'il y a à dire, justement, sur ce spectre du laplacien,
même dans des cas idiots (compacts, agréablement symétriques, tout ça
tout ça).
En guise d'exercice, je me suis dit que j'allais calculer le
spectre du laplacien pour des groupes de Lie compacts G (ou
éventuellement des espaces homogènes G/H, par
exemple des espaces riemanniens symétriques ou bien des R-espaces
(variétés de drapeaux réelles), choses que je confonds d'ailleurs trop
facilement[#]).
[#] Digression : Les espaces
riemanniens symétriques irréductibles de type compact et simplement
connexes sont (les groupes de Lie compacts simples simplement connexes
eux-mêmes ainsi que) les quotients G/K
où G est un groupe de Lie compact simple simplement connexe
et K le sous-groupe compact connexe maximal d'une forme
réelle G₀ de G (par exemple, la sphère de
dimension n est Spin(n+1)/Spin(n) où
Spin(n) est le compact connexe maximal de la forme
Spin(n,1) de Spin(n+1)), et on peut aussi
voir K comme les points fixes d'une involution
de G qui correspond à l'involution de Cartan
définissant G₀ ; j'ai certainement commis quelques erreurs
en disant ça (notamment dans la connexité et la simple connexité),
mais l'idée générale doit être à peu près ce que j'ai dit. Les
R-espaces, eux, s'obtiennent sous la forme G₁/P
où P est un parabolique d'un groupe de Lie réel
semisimple G₁, qu'on peut aussi voir
comme G/(G∩P) où G est un
sous-groupe compact connexe maximal de G₁
et G∩P un sous-groupe compact maximal (du
facteur de Levi) de P (par exemple, l'espace projectif réel
dimension n est défini par le quotient de
SL(n+1,ℝ) par son parabolique maximal associé à la première
racine simple, i.e., les matrices dont la première colonne n'a que des
zéros à partir de la deuxième ligne, et on peut le voir comme le
quotient SO(n+1)/S(O(n)×O(1)) du sous-groupe
compact connexe maximal SO(n+1) de SL(n+1,ℝ)) ;
de nouveau, j'ai certainement commis quelques erreurs en disant ça,
mais l'idée générale doit être ça. Je n'ai jamais vraiment compris
« pourquoi » il y avait ces deux types de quotients très importants
des groupes de Lie réels compacts, comment il faut y penser, par
exemple du point de vue de l'analyse harmonique, et, de façon encore
plus perturbante, pourquoi certains espaces peuvent se voir à la fois
comme un espace riemannien symétrique et comme un R-espace (ou
presque : cf. l'exemple que je viens de donner de la sphère et de
l'espace projectif réel). Si quelqu'un a des éléments de réponse à
m'apporter ou simplement des références où ces deux types de quotients
sont discutés côte à côte de manière à me désembrouiller, ça
m'intéresse ! (J'ai regardé l'article Geometry of
Symmetric R-spaces de Tanaka, et j'ai eu l'impression de
comprendre encore moins bien et de confondre encore plus après sa
lecture.)
Mais aussi, j'avais (peut-être même que j'ai encore) vaguement
l'espoir que des spectres intéressants, comme le spectre du laplacien
sur tel ou tel espace bien sympathique, pourrait conduire à des sons
harmonieux et donc répondre à ma
question de trouver un objet mathématique qui s'« auditorise » de
façon intéressante et agréable (plutôt que de se « visualiser ») ;
dans cet ordre d'idées j'avais bien
produit ceci, mais ce n'était pas
du tout agréable à écouter et la construction de ces sons n'était pas
franchement des plus naturelles.
L'idée générale, cette fois-ci, est qu'une fois connu le spectre du
laplacien on peut s'en servir pour résoudre l'équation des ondes et
obtenir les fréquences des vibrations propres de l'objet considéré
(comme les racines carrées des opposées des valeurs propres du
laplacien). Et donc produire des sons qui correspondraient à la
manière dont « vibre » l'objet considéré — un groupe de Lie
compact G ou un espace homogène G/H —
quand, par exemple, on donne un coup dessus.
J'avoue que l'idée de taper un groupe de Lie pour voir comment il
résonne me plaît énormément. (Et si j'en crois la lecture
du Spectre d'Atacama, ça a aussi des chances de plaire à
Connes et/ou Dixmier.)
Bref. Du peu que je sais de l'analyse harmonique sur les groupes
de Lie et
du théorème
de Peter-Weyl, et si je comprends bien que
le Casimir
fournit la valeur du laplacien sur ce qui correspond à chaque
représentation irréductible, le spectre du laplacien sur un groupe de
Lie compact G est donné, à un facteur multiplicatif près
(essentiellement arbitraire(?), mais négatif), par l'ensemble des
valeurs C(v) :=
⟨v,v+2ρ⟩ où v parcourt le
réseau des poids dominants pour G. (Si tout ceci est du
chinois pour vous, ce n'est pas très important, mais l'idée est
qu'à G est associé un réseau euclidien appelé le « réseau
des poids » et un cône polyédral de sommet l'origine dans cet espace
euclidien appelé la « chambre de Weyl », auquel appartient le
vecteur ρ dit « vecteur de Weyl », et les poids dominants
sont les éléments de la chambre de Weyl ; chaque tel v, ou
plus exactement le « caractère » χv
associé, peut se concevoir comme un mode propre — un mode de
vibration, si on veut — du groupe G, et la valeur du
Casimir C(v) :=
⟨v,v+2ρ⟩, est essentiellement
l'opposé de la valeur propre du laplacien dont le vecteur propre est
le caractère : Δχv =
−C(v)·χv pour
une certaine normalisation de Δ. S'il y a dans l'assistance des gens
qui s'y connaissent en analyse harmonique et qui pourraient confirmer
que j'ai bien compris, et peut-être même recommander un endroit où ce
que je viens de dire serait écrit noir sur blanc sous cette forme y
compris avec la valeur du Casimir, je leur serais reconnaissant.) Par
exemple, pour les groupes de rang 2 : pour A₂ (i.e., SU₃), je trouve
des valeurs (proportionnelles à) 8/3, 6, 20/3, 32/3, 12, 16, 50/3,
56/3, 68/3, 24, 80/3, 30… (où seules celles qui sont entières sont
possibles pour la forme adjointe PSU₃) ; pour B₂ (i.e., Spin₅), je
trouve 5/2, 4, 6, 15/2, 10, 21/2, 12, 29/2, 16, 35/2, 18, 20… (où
seules celles que j'ai soulignées sont possibles pour la forme
adjointe SO₅) ; et pour G₂, je trouve 12, 24, 28, 42, 48, 60, 64, 72,
84, 90, 100, 108… ; et sinon, pour F₄ : 12, 18, 24, 26, 32, 36, 39,
40, 42, 46, 48, 52… ; et vous devinez évidemment j'ai fait le calcul
pour E₈ : 60, 96, 120, 124, 144, 160, 180, 186, 192, 196, 200,
210…
Et pour les espaces
homogènes G/H, il doit s'agir de se limiter aux
plus hauts poids v qui définissent des représentations
de G dont la restriction à H a des points fixes
(ou, ce qui revient au même par réciprocité de Frobenius, des
représentations qui apparaissent dans l'induite à G de la
représentation triviale de H, mais je ne suis pas si ça
aide de le dire comme ça). J'arrive (mais laborieusement) à faire les
calculs sur des cas particuliers en utilisant l'implémentation des
règles de branchement dans Sage. Par exemple, le spectre de G₂/SO₄
(l'espace des sous-algèbres de quaternions dans les octonions) semble
être : 28, 60, 72, 112, 132, 168, 180, 208, 244, 264, 300, 324… Mais
je comprends trop mal les règles de branchement pour savoir s'il faut
chercher une logique d'ensemble ou ce à quoi elle ressemblerait (sur
les coordonnées de v dans la base des poids fondamentaux ;
ce n'est même pas clair pour moi les v en question forment
un sous-réseau du réseau des poids ou quel est son
rang). Ajout () :
À la réflexion, pour les espaces riemanniens symétriques, je crois que
je comprends au moins à peu près la situation (tout est dans la notion
de système de racines restreintes) ; je crois même que tout est dit
dans le chapitre V (par ex., théorème V.4.1) du livre de 1984 de
Sigurður Helgason (Groups and Geometric
Analysis), même si j'ai vraiment du mal à le lire ; je crois
bien que le rang du réseau des poids v tels que la
restriction à H ait des points fixes non triviaux coïncide
avec le rang de l'espace symétrique G/H, même si
j'aimerais bien voir ça écrit noir sur blanc.
Une chose qui m'étonne beaucoup est que ces suites ne semblent pas
être dans l'OEIS. Tout le monde parle de l'importance du
spectre du laplacien et personne n'a pris la peine de mettre le
résultat, pour les cas les plus évidents que sont les groupes de Lie
compacts, dans l'OEIS ‽ Comment est-ce possible ‽
J'hésite cependant à les soumettre moi-même parce que, à vrai dire, je
ne suis pas très sûr de bien comprendre ce que je fais. (Et, entre
autres choses, je ne sais pas du tout si les valeurs que j'ai listées
ci-dessus ont un sens dans l'absolu ou seulement à proportionalité
près. La valeur du Casimir semble dépendre d'une normalisation un peu
arbitraire sur la longueur des racines ou quelque chose comme ça, et
du coup je ne sais pas bien quoi prendre ou quoi soumettre.)
Pour ce qui est de produire des sons à partir de ça, il y a un
autre truc sur lequel je n'ai pas des idées claires, c'est quelles
amplitudes relatives il serait logique d'utiliser pour ces différentes
harmoniques. Si on donne un coup de marteau sur le groupe de Lie G₂
(mais pas assez fort pour le casser !), il va peut-être résonner à des
fréquences proportionnelles aux racines carrées de 12, 24, 28, 42, 48,
60, etc., mais avec quelles amplitudes ? Le problème se pose déjà sur
une sphère de dimension 2 (SO₃/SO₂, si on veut) : les valeurs propres
du laplacien sphérique sont (proportionnelles
à) ℓ(ℓ+1), donc si on fait vibrer une sphère,
elle produit des fréquences proportionnelles à 1, √3, √6, √10, etc.,
mais une fois ce spectre connu, ça ne donne pas pour autant un son
(même si ça peut faire de jolies
animations). Un bout de la réponse est fourni par la multiplicité
des valeurs propres en question (sur la sphère, par
exemple, ℓ(ℓ+1) a la multiplicité ℓ+1
parce qu'il y a ce nombre-là d'harmoniques sphériques de
niveau ℓ indépendantes) ; s'agissant d'un groupe de
Lie G, les multiplicités sont les carrés N(v)²
des dimensions N(v)
= χv(1) des représentations
irréductibles correspondantes (par exemple, s'agisant de G₂, les
valeurs propres avec multiplicité sont (12,7²), (24,14²), (28,27²),
(42,64²), (48,77²), (60,77²), etc.). Mais ensuite ? Il me semble
que, pour parler abusivement, les « coefficients » de la
distribution δ (centrée en 1∈G) sur la base des
caractères χv sont les
N(v) = χv(1) et qu'il
serait donc logique de donner à la fréquence
√C(v) une amplitude proportionnelle à
N(v)² (si on tape un coup sec et très localisé sur notre
groupe de Lie), mais évidemment ceci diverge très méchamment. Je peux
régulariser en remplaçant δ par une gaussienne, ce qui doit revenir à
multiplier les coefficients par
exp(−C(v)·σ²) avec σ une
sorte d'écart-type de la gaussienne, mais le choix de σ est
complètement arbitraire dans l'histoire. Bref, je peux produire des
sons en superposant des fréquences proportionnelles aux
√C(v) avec des amplitudes proportionnelles aux
N(v)²·exp(−C(v)·σ²), mais
le son en question dépend de façon énorme de σ. Une autre
idée est de faire varier l'amplitude avec le temps pour donner une
dissipation aux modes de vibration, par exemple en
exp(−C(v)·t) (inspiré de l'équation
de la chaleur).
Pour faire quand même des essais, de façon assez arbitraire, j'ai
décidé de faire que l'intensité de la fréquence
√C(v) décroisse en
exp(−(C(v)/C(v₀))·(1+t/3s))
où v₀ est le poids qui correspond à la représentation
adjointe de G (c'est-à-dire, la plus haute racine), et j'ai
de même normalisé les fréquences pour que la fréquence
de v₀ soit à 440Hz. C'est-à-dire que j'ai superposé des
sin(2π·440Hz·(C(v)/C(v₀))·t)
· N(v)² ·
exp(−(C(v)/C(v₀))·(1+t/3s))
où t est le temps et v parcourt les poids
de G. Je n'aime pas le côté assez arbitraire de tout ça
(et en particulier de mon 1+), donc je suis preneur d'idées
plus naturelles, mais au moins les sons sont intéressants et, pour une
fois, pas du tout désagréables à écouter.
Ceci n'est qu'une première expérience : j'en ferai sans doute
d'autres quand j'aurai des idées plus claires sur ce que je veux faire
et ce qui est intéressant, mais en attendant, voici quelques essais de
ce que ça peut donner comme son de frapper différents groupes de Lie
compacts (calibrés pour que leur représentation adjointe sonne le la à
440Hz) : en
rang 1 : A₁
(c'est-à-dire SU₂, qui est vraiment une 3-sphère, je voulais vérifier
que ça avait un son de cloche plausible et ça a effectivement un son
de cloche vaguement plausible, c'est déjà ça) ; en
rang 2 : A₂
(c'est-à-dire
SU₃), B₂
(c'est-à-dire Spin₅)
et G₂ ;
en
rang 4 : A₄
(c'est-à-dire
SU₅), B₄
(c'est-à-dire
Spin₉), C₄
(c'est-à-dire
Sp₄), D₄
(c'est-à-dire Spin₈)
et F₄ ;
et bien
sûr : E₆
et E₈.
Tous ces fichiers sont du FLAC et chacun dure
6 secondes, si votre navigateur ne les ouvre pas spontanément,
téléchargez-les et vous trouverez certainement un truc qui les lit.
Tous les groupes que je viens de donner sont la forme simplement
connexe, mais j'ai aussi produit des essais pour comparer le son de la
forme simplement connexe avec la forme adjointe (laquelle a moins
d'harmoniques) : Spin₅
versus SO₅
d'une part,
et SU₃
versus PSU₃
de l'autre.
Ajout () :
voir ce
fil Twitter
et/ou cette
version sur YouTube pour les sons de quelques grassmanniennes
réelles, complexes et quaternioniques, ainsi que le plan projectif
octonionique.
Une conjecture « du dimanche » sur les nombres premiers
Je racontais ici que les
« mathématiciens du dimanche » étaient souvent fascinés par les
nombres premiers et capables de produire toutes sortes de conjectures
fantaisistes à leur sujet ; et aussi, ils sont fascinés par l'écriture
en base 10. Voici que je vois
passer sur
MathOverflow (et
précédemment sur
Math.StackExchange) la conjecture suivante, qui ressemble beaucoup
à la caricature de la « conjecture du mathématicien du dimanche », à
ceci près qu'elle conjecture que des nombres ne sont pas
premiers :
Soit j≥1 un entier naturel,
et Nj le nombre formé de
la concaténation des écritures en base 10 des nombres (« de
Mersenne » consécutifs) 2j+1−1 et
2j−1 ;
c'est-à-dire : Nj =
10m·(2j+1−1) +
(2j−1) où m :=
⌊log(2j−1)/log(10)⌋+1 est le nombre de chiffres
de l'écriture décimale de 2j−1.
(Par exemple, N₁=31 (concaténation de
3 et 1), N₂=73 (concaténation de 7 et 3), N₃=157
(concaténation de 15 et 7), N₄=3115 (concaténation de
31 et 15), etc.)
Conjecture
d'Enzo
Creti : si Nj≡6 (mod 7),
alors Njn'est pas premier.
(Par exemple : pour j=9, on
a N9=1023511, qui est congru à 6 modulo 7, et il
n'est pas premier : il vaut 19×103×523 ; pour j=10, on
a N10=20471023, qui est congru à 6 modulo 7, et
il n'est pas premier : il vaut 479×42737.)
(Je ne sais pas si l'auteur de cette conjecture est un
mathématicien « du dimanche », je ne sais rien sur lui, mais l'énoncé,
en tout cas, ressemble exactement au type de spéculations sur les
nombres premiers et les écritures en base 10 dont je voulais
parler.)
Ce genre de problèmes est à la fois agaçant et passablement
intéressant au niveau méta.
Expérimentalement, la conjecture est vérifiée jusqu'à des
valeurs passablement grandes de j (l'auteur prétend être
allé jusqu'à 4×10⁵ ; moi je me suis arrêté à 10⁴) ; et de plus, elle
n'est pas vide, c'est-à-dire qu'il y a effectivement une densité
significative (en fait, 1 sur 9) de j pour lesquels la
prémisse Nj≡6 (mod 7) est
vérifiée.
(On peut accessoirement remarquer que dans chacune des autres
classes de congruence de Nj modulo 7,
exceptée bien sûr la classe 0, on trouve des nombres premiers. C'est
la classe 6 qui semble éviter les nombres premiers. À toutes fins
utiles, en distinguant les cas de congruence de m modulo 6
et de j modulo 3, on peut remarquer que
10m·(2j+1−1) +
(2j−1) est congru à 6 modulo 7
lorsque soit (m≡3 (mod 6)
et j≡0 (mod 3)) soit (m≡4 (mod 6)
et j≡1 (mod 3)).)
Pourtant, je pense que n'importe quel théoricien des nombres sera
d'accord avec moi pour dire qu'il ne croit pas une seule seconde à une
telle conjecture. Pourquoi ?
D'abord, on se rappelle que le théorème des nombres premiers peut
s'interpréter en disant que la « probabilité d'être premier »
empirique d'un entier x tiré au hasard vaut environ
1/log(x) ; ou si le nombre est impair par construction,
disons plutôt 2/log(x). En l'occurrence, on a
log(Nj) = 2·log(2)·j +
O(1), si bien que Nj a empiriquement
une « probabilité d'être premier » qui décroît comme une fonction
harmonique de j (quelque chose comme
1/(log(2)·j), en tenant compte du fait qu'il est forcément
impair). Or la série harmonique diverge, donc il n'est pas
vraisemblable que les Nj échouent
tous à être premiers « par hasard ». En revanche, comme la série
harmonique diverge très lentement (logarithmiquement), cela veut bien
dire qu'il peut être nécessaire de pousser très très loin pour trouver
un contre-exemple, donc avoir vérifié 10⁴ ou 10⁵ valeurs ne vaut pas
grand-chose, et il n'est pas du tout invraisemblable que 10⁴ ou 10⁵
valeurs échouent toutes à être premières « par hasard » (expliquant
ainsi la constatation expérimentale).
Il est donc invraisemblable que la conjecture soit vraie « par
hasard », mais vraisemblable qu'elle le paraisse quand même jusqu'à
10⁴ ou 10⁵. Maintenant, se peut-il que la conjecture soit vraie
autrement que « par hasard » ? Cela voudrait dire qu'il y aurait une
« raison » expliquant une factorisation de
10m·(2j+1−1) +
(2j−1) à tous les coups (par exemple une
identité algébrique, ou une conguence à 0 qui vaut à tous les coups,
enfin, une « raison » qui fait qu'il n'est jamais premier). Or, si on
met de côté la donnée que m est le nombre de chiffres
décimaux de 2j−1, ce n'est pas vrai que
10m·(2j+1−1) +
(2j−1) n'est jamais premier. En effet, en
changeant un petit peu m, j'ai le contre-exemple de
1070·(2230−1) + (2229−1) (où le
nombre 2229−1 a 69 chiffres décimaux, j'ai inséré juste un
0 de plus dans la concaténation) : ce nombre est bien congru à 6
modulo 7, et il est premier (il a 140 chiffres, alors vous
m'épargnerez de l'écrire complètement). Bref, si la conjecture était
vraie autrement que par hasard, il faudrait avoir une factorisation de
10m·(2j+1−1) +
(2j−1) qui dépende du fait que m est
précisément le nombre de chiffres décimaux de
2j−1, et ça, ça semble complètement
abracadabrant. (Tout ce que je raconte est complètement empirique,
bien sûr, je n'ai pas de contre-exemple à la conjecture énoncée plus
haut, mais j'explique pourquoi je n'y crois pas.)
Bref, je suis complètement convaincu qu'il y a un contre-exemple,
et que ce contre-exemple a un j très grand (donc
un Nj gigantesque), et ce n'est pas
très surprenant qu'il soit difficile à trouver. Pour être un peu plus
précis dans la quantification de la vraisemblance, numériquement, le
produit des 1−(2/log(Nj)) (i.e., leur
probabilité empirique de ne pas être premiers, le 2 étant là
parce qu'ils sont impairs) parcourant ceux
des Nj qui sont congrus à 6 modulo 7
vaut environ 0.25 pour j allant jusqu'à 10⁴, c'est-à-dire
qu'il y avait a priori environ 25% de chances pour qu'aucun de
ces nombres ne soit premier compte tenu de leurs tailles (et du fait
qu'ils sont impairs) ; si on monte jusqu'à 4×10⁵, cela doit tomber à
environ 18%. Bref, ce n'est pas du tout invraisemblable que la
conjecture soit vraie jusqu'à ce point-là « par hasard ». Il suffit
qu'il y ait une dizaine de mathématiciens du dimanche qui essaient des
conjectures de ce genre, et il y en aura bien un qui tombera sur une
qui marche sur toutes les valeurs que sa patience lui permettra de
tester ; en fait, il suffit même qu'un seul mathématicien du dimanche
ait testé la restriction des Nj à
suffisamment de classes de congruence modulo des petits nombres pour
tomber sur une qui semble ne contenir que des nombres composés.
Il n'est cependant pas exclu à mes yeux qu'il y ait une « raison »
un peu plus précise que le hasard pour laquelle la conjecture soit
vraie pour des « assez petites » valeurs de j, et c'est un
problème possiblement intéressant. Il est par exemple possible que
plein de cas de congruence de j et de m
excluent la primalité. (Un exemple idiot est que si j est
congru à 0 modulo 4, sans aucune discussion sur m,
alors Nj est multiple de 5 — parce
que 2j−1 l'est — et
donc Nj n'est certainement pas
premier ; donc déjà il n'y a plus que les quatre cinquièmes
des j qui jouent vraiment, et cela contribue à rendre
encore moins invraisemblable que la conjecture soit vraie « par
hasard » pour des petites valeurs de j. Mais il y a
peut-être des choses plus intelligentes à dire.)
Il y a notamment une chose qu'on peut voir, c'est que m
:= ⌊log(2j−1)/log(10)⌋+1 (le nombre de chiffres
décimaux de 2j−1) vaut en fait
⌊j·ξ⌋+1 où ξ := log(2)/log(10) ≈
0.301. Les réduites du développement en fraction continue
de ξ sont 1/3, 3/10, 28/93, 59/196, etc. Si je
remplace m=⌊j·ξ⌋+1
par m=⌊j·x⌋+1 où x est une
de ces réduites, j'obtiens d'autres suites de
nombres N′j (dépendant
de x que j'omets abusivement dans la notation), à
savoir N′j :=
10(⌊j·x⌋+1)·(2j+1−1)
+ (2j−1), qui coïncident
avec Nj au début (et d'autant plus
loin que la réduite est bonne), et je peux poser la question de la
conjecture analogue pour ces suites-là. Pour x=1/3, la
conjecture sur les N′ ne vaut pas, car
pour j=330, le nombre N′330 =
10111·(2331−1) + (2330−1) est congru
à 6 modulo 7 et est premier ; pour x=3/10, la conjecture
sur les N′ ne vaut pas non plus, car pour j=849,
le nombre N′849 =
10255·(2850−1) + (2849−1) est congru
à 6 modulo 7 et est premier. Mais pour x=28/93 (autrement
dit, avec N′j :=
10(⌊j·28/93⌋+1)·(2j+1−1) +
(2j−1)), je n'ai pas trouvé de contre-exemple :
au moins jusqu'à j=10⁴,
les N′j qui sont congrus à 6 modulo 7
ne sont jamais premiers. C'est déjà moins invraisembable d'imaginer
que tous ces N′j-là soient premiers
que pour les Nj de la conjecture de
départ : on peut tout à fait imaginer qu'il y ait une distinction de
quelque chose comme 93 cas selon la valeur de j qui
permette, dans chacun des cas (ou simplement dans un grand nombre de
ces cas, diminuant d'autant le hasard !), de montrer
que N′j serait divisible par quelque
chose. Du coup, si N′j n'est jamais
premier, cela expliquerait que plein de petites valeurs
de Nj soient composées, et il est
encore moins surprenant qu'ensuite on tombe par hasard sur des nombres
composés.
Mise à jour (avant publication) : bon, en fait,
pour j=14058, le nombre N′14058 =
104233·(214059−1) + (214058−1) est
congru à 6 modulo 7 et semble être premier (en tout cas il passe des
tests de pseudo-primalité), donc mon explication n'est pas la bonne,
mais je la laisse parce qu'on voit que ce genre de choses est tout à
fait imaginable.
Laissant de côté la question mathématique proprement dite, il reste
la question de savoir comment un mathématicien (au hasard, féru de
vulgarisation) doit réagir face à ce genre de conjectures. C'est
toujours un peu délicat d'expliquer je n'y crois pas du tout malgré
vos constatations expérimentales, et même si on peut expliquer
tout ce que je viens d'expliquer sur les probabilités, il reste quand
même un certain acte de foi, quand je dis qu'il est « complètement
abracadabrant » qu'il y ait un phénomène de ce genre sur les nombres
premiers qui fasse intervenir de façon cruciale le nombre de chiffres
décimaux du nombre 2j−1 (même si on le revoit
comme ⌊j·ξ⌋+1 avec ξ =
log(2)/log(10)).
Les revêtements doubles du groupe symétrique sont pénibles
Écrire l'entrée récente sur la
vulgarisation des mathématiques m'a motivé a essayer d'écrire un
morceau de vulgarisation sur la symétrie, les groupes finis et
(l'histoire de) la classification des groupes simples finis. Comme
c'était évidemment prévisible, ce texte est en train de grandir
jusqu'à une taille démesurée, et comme d'habitude le risque commence à
devenir sérieux que je finisse par en avoir marre et que je laisse
tomber ; j'essaierai, le cas échéant, de m'efforcer de publier ce que
j'aurai déjà écrit même si c'est inachevé plutôt que le garder
indéfiniment dans mes cartons en pensant je finirai peut-être un
jour. Ceci n'est pas le texte en question : c'est une
tangente qui est déjà insupportablement longue en elle-même. Mais
ceci est une illustration de ce que je disais dans l'entrée récente
liée ci-dessus : on apprend toujours quelque chose en faisant de la
vulgarisation, même quand on croit se placer à un niveau où on sait
déjà tout ; et aussi que ça peut être un problème mathématiquement
difficile de trouver comment bien expliquer ceci ou cela.
Puisqu'il s'agit de raconter mes difficultés, je m'adresse dans ce
qui suit à des lecteurs qui sont déjà familiers avec la notion de
groupe (et de sous-groupe, de quotient, de permutations, de signature
(=parité) d'une permutation, et quelques choses à peu près à ce
niveau-là). Normalement le contenu de l'entrée interminable que je
viens de promettre pour un lendemain rieur devrait suffire à
comprendre celle-ci (mais bon, c'est la théorie ; pour la pratique, je
ne sais pas bien). Bref.
Remarque informatique : J'utilise la
notation 𝔖 pour le groupe
symétrique et 𝔄 pour le groupe alterné.
Vous devriez voir une ‘S’ gothique (enfin, fraktur) pour le premier et
un ‘A’ gothique pour le second. Mais on me souffle que dans certaines
contrées reculées où la totalité d'Unicode ne baigne pas encore le
monde de sa lumière bienfaisante et où les polices sont incomplètes,
ces deux symboles pourraient apparaître comme des simples carrés (sans
même un numéro hexadécimal à l'intérieur permettant de les distinguer
simplement), ce qui est un peu fâcheux si je cherche à dire que
𝔄n est simple (pour n≥5)
alors que 𝔖n n'est que « presque
simple », par exemple. Pour toucher aussi ces provinces reculées
(ainsi que les gens qui font une allergie à l'écriture gothique), j'ai
prévu un peu de magie en JavaScript qui remplacera en un seul clic
tous ces symboles par des identifiants plus explicites Sym
et Alt : cliquez
ici pour activer ce remplacement.
Je commence par expliquer le contexte (même si ce
n'est pas vraiment important pour ce que je veux raconter ci-dessous,
et c'est un peu plus technique, donc on peut ignorer), une des idées
que je veux évoquer, au moins rapidement et en petits caractères, même
si c'est un peu technique, est le fait qu'un groupe simple fini non
abélien G apparaît souvent, dans la nature, « étendu » par
des petits groupes (résolubles, souvent cycliques), de l'une ou
l'autre, ou les deux, de manières (que, à ma grande honte, j'ai
beaucoup tendance à confondre). À savoir : (1) « par la droite » par
des automorphismes extérieurs, c'est-à-dire sous la forme d'un
groupe E (dit presque simple) intermédiaire
entre G et le groupe Aut(G) des automorphismes
de G, si bien que G est un sous-groupe distingué
de E avec un « petit » quotient (le plus gros possible
étant le groupe Out(G)=Aut(G)/Int(G)
des automorphismes extérieurs de G) ; ou bien (2) « par la
gauche » par un sous-groupe central, c'est-à-dire sous la forme d'un
groupe G˜ (dit quasisimple), parfait (= sans
quotient abélien), ayant cette fois G comme quotient par un
noyau contenu dans le centre de G˜ (et de nouveau il y a un
plus gros revêtement possible, donné par le multiplicateur de Schur) ;
et on peut avoir les deux à la fois, ce qui complique encore les
définitions (je n'en connais d'ailleurs pas qui ne soient pas
passablement pénibles à donner, donc si quelqu'un a ça, ça
m'intéresse), et en plus on se perd dans les marais de
l'« isoclinisme ». Je voudrais donner des exemples des deux
phénomènes, voire des deux à la fois. Ne voulant pas supposer que mon
lecteur est familier avec l'algèbre linéaire, je voudrais donner
l'exemple du groupe alterné G =
𝔄n des permutations paires
sur n objets. À ce moment-là, l'exemple de la
situation (1) est facile à donner, c'est le groupe
symétrique E = G:2 =
𝔖n de toutes les permutations
sur n objets (et il n'est pas difficile d'expliquer que
l'automorphisme intérieur défini par une permutation impaire devient,
quand on le restreint au groupe alterné G =
𝔄n, un automorphisme extérieur). La
situation (2) se produit aussi, et il existe un revêtement
double G˜ = 2·G =
2·𝔄n, et deux revêtements doubles
(« isoclinaux ») 2·𝔖n⁺ et
2·𝔖n⁻. J'ai donc bien envie d'essayer
de décrire à quoi ressemblent ces groupes. L'ennui, c'est qu'ils ne
sont vraiment pas commodes à décrire.
Ce dont il est question, ce sont deux groupes
2·𝔖n⁺ et
2·𝔖n⁻ qui sont des « revêtements
doubles » du groupe symétrique 𝔖n
sur n objets, et qu'on peut considérer comme des sortes de
« permutations avec un
signe »[#].
[#] (Ajout)Il vaut mieux éviter de
dire permutations signées, parce que le groupe des permutations
signées est encore autre chose (que les quatre groupes de
permutations-avec-un-signé décrits ci-dessous, et qui ont
tous 2·n! éléments) : le groupe des permutations signés, ou
« produit en couronne » {±1} ≀ 𝔖n, lui,
a 2n·n! éléments : on peut le décrire
comme les permutations de l'ensemble {±1}×{1,…,n} qui, si
elles envoient (+1,x) sur (±1,y) doivent alors
nécessairement envoyer (−1,x) sur (∓1,y)
(autrement dit, changer la première coordonnée de la source change la
première coordonnée de la cible) ; on peut aussi voir ça comme des
matrices dont toutes les entrées sont nulles sauf qu'il y a des ±1 sur
le graphe d'une permutation (entre lignes et colonnes). Ce groupe
{±1} ≀ 𝔖n, bien que plus gros, est assez
simple à manipuler, et malheureusement il ne contient pas
(sauf pour n très petit) les groupes
2·𝔖n⁺ et
2·𝔖n⁻ dont je veux parler ici. Je vais
y revenir.
L'idée est la suivante : je vais chercher des groupes G˜
ayant 2n! éléments, à savoir deux pour chaque
permutation σ dans G :=
𝔖n ; disons qu'on va
noter +[σ] (ou simplement [σ])
et −[σ] les deux éléments de G˜
correspondant à une permutation σ, mais attention, le choix
de qui est +[σ] et qui est −[σ] est dans une
certaine mesure arbitraire, c'est bien ça qui va poser problème. Je
vais maintenant imposer plusieurs choses : d'abord, si 1
désigne la permutation triviale (l'identité : celle qui envoie chaque
objet sur lui-même), alors +[1], qu'on va juste
noter +1 ou 1 sera l'élément neutre de mon groupe ;
quant à −[1], qu'on va simplement noter −1, il aura la
propriété que le produit (−1)·[σ] sera −[σ] et
le produit (−1)·(−[σ]) sera +[σ] comme on s'y
attend, autrement dit, −1 est « central » (il commute à tout) et
échange +[σ] et −[σ] ; enfin, je vais vouloir
que [σ]·[τ] soit ±[σ·τ]
où σ·τ désigne le produit dans
𝔖n et ± signifie qu'il y a
peut-être un signe (cela dépend de σ et τ : on
pourrait le noter c(σ,τ)) mais je
n'impose rien à son sujet (c'est-à-dire, rien que ce qui est
nécessaire pour obtenir un groupe).
Il se trouve qu'il y a (pour n≥4) exactement quatre
groupes qui répondent aux contraintes que je viens d'énoncer : deux
sont sans intérêt (mais il est pertinent de les décrire pour expliquer
un peu comment les choses peuvent fonctionner) et les deux autres sont
ces fameux revêtements doubles 2·𝔖n⁺ et
2·𝔖n⁻ dus à Issai Schur :
Le plus évident est le groupe produit direct
{±1}×𝔖n (ou
2×𝔖n étant entendu que 2 désigne
abusivement le groupe cyclique Z₂={+1,−1} à deux éléments) ;
c'est-à-dire qu'ici le signe et la permutation n'interagissent pas du
tout. Autrement dit, dans ce groupe-là, on a
[σ]·[τ] = [σ·τ] (toujours
avec un signe ‘+’), et il n'y a vraiment rien d'intéressant à en dire.
Remarquons que si σ est une transposition (= permutation
d'ordre 2 échangeant deux éléments et laissant fixes tous les autres),
alors ±[σ] est d'ordre 2 dans ce groupe, et que
si σ est le produit de deux transpositions de support
disjoints (= permutation d'ordre 2 échangeant deux paires d'éléments
et laissant fixes tous les autres), alors ±[σ] est encore
d'ordre 2.
Un groupe un petit peu moins évident est celui dans lequel
[σ]·[τ] =
[σ·τ] sauf lorsque σ
et τ sont toutes les deux impaires, auquel cas
[σ]·[τ] = −[σ·τ]. Faute
d'idée de meilleure notation, je vais le noter
2⊙𝔖n pour y faire référence plus tard.
En fait, il est peut-être plus parlant pour y penser de modifier la
notation et, lorsque σ est une permutation impaire, de
noter (ou en tout cas de penser comme) +i[σ] et
−i[σ] plutôt que +[σ] et −[σ]
les deux éléments du groupe qui relèvent σ, où i est
la racine carrée complexe standard de −1, auquel cas la règle des
signes que je viens de donner est assez logique. (Je répète que je ne
change pas du tout le groupe, là, je change juste la manière de noter
ses éléments ou simplement d'y penser.) Ce groupe a la propriété que
si σ est une transposition, alors ±[σ] est
d'ordre 4 dans ce groupe (puisque son carré va être −1 d'après la
règle de signe), et que si σ est le produit de deux
transpositions de support disjoints, alors ±[σ] est
d'ordre 2.
On a le groupe 2·𝔖n⁺ que je vais
essayer (sans grand succès) de décrire : il a la propriété que
si σ est une transposition, alors ±[σ] est
d'ordre 2 dans ce groupe (son carré vaut 1), et que si σ
est le produit de deux transpositions de support disjoints, alors
±[σ] est d'ordre 4 (son carré vaut −1).
Enfin, on a le groupe 2·𝔖n⁻ : il a
la propriété que si σ est une transposition, alors
±[σ] est d'ordre 4 dans ce groupe (son carré vaut −1), et
que si σ est le produit de deux transpositions de support
disjoints, alors ±[σ] est également d'ordre 4 (son carré
vaut −1).
Les deux premiers groupes dont je viens de parler
(2×𝔖n et
2⊙𝔖n) deviennent identiques si on se
limite aux permutations paires (et c'est toujours aussi
inintéressant : c'est {±1}×𝔄n qu'on peut
aussi noter 2×𝔄n) ; il en va de même des
deux derniers : on note 2·𝔄n (groupe
d'ordre n!) la restriction de l'un ou l'autre de
2·𝔖n⁺ ou
2·𝔖n⁻ aux permutations ±[σ]
avec σ paire.
J'assistais tout à l'heure à une séance de présentation, pour les
élèves de Télécom ParisPloum où j'enseigne, des différentes filières
(=spécialisations) entre lesquelles ils doivent piocher pour leur
deuxième année. (La première année est généraliste, et en seconde
année ils doivent choisir essentiellement deux-parmi-N
spécialisations.) À vrai dire, j'étais plus là pour écouter les
questions des élèves et les réponses faites par mes collègues, qui
s'en sortaient très bien et n'avaient pas trop besoin de mon aide ;
mais c'est intéressant, ne serait-ce que sociologiquement, de savoir
ce que nos élèves ont comme questions à poser, et éventuellement comme
préconceptions, sur les enseignements qu'on leur propose.
L'une des filières où j'enseigne
s'appelle MITRO comme Mathématiques,
Informatique Théorique, et Recherche Opérationnelle : c'est un
rassemblement légèrement hétéroclite de cours à dominance plus
théorique ayant pour but de donner une culture générale utile, soit en
complément d'autres filières, soit pour entrer dans un master en
informatique ou en recherche opérationnelle ; j'y fais un cours de
théorie des jeux dont j'ai déjà
parlé. (J'enseigne aussi un cours sur les courbes algébriques
dans une filière AC2Q comme Algèbre, Codage,
Crypto, Quantique, et les deux filières ont une intersection assez
importante dans leur population d'élèves.)
Et une des questions qui m'a frappée à laquelle mon collègue
présentant MITRO a dû répondre à un bon nombre de
reprises, portait sur le contenu des mathématiques. Ça ne m'avait pas
tellement frappé les années précédentes, ou peut-être que je n'avais
juste pas fait attention :
En fait, nos élèves ont une vision très étroite de ce que sont les
mathématiques. Et on ne peut pas leur en vouloir : ils sortent (pour
l'essentiel) des classes prépa françaises, où on leur a enseigné, au
moins sous l'étiquette mathématiques, des maths qui se limitent
essentiellement à deux choses, (1) de l'algèbre linéaire, (2) de
l'analyse réelle classique, et depuis récemment un peu de
(3) probabilités. En première année à Télécom, ils ont des cours de
maths qui couvrent les probabilités et encore plus d'analyse (un peu
d'analyse fonctionnelle, cette fois ; j'enseigne aussi dans le cadre
de ce cours-là). Donc au final, pour eux, les maths, c'est des
espaces vectoriels (réels ou complexes), des intégrales et des probas
(essentiellement). Et ils nous demandent, soit en l'espérant soit en
le craignant, s'il y a des choses comme ça dans la
filière MITRO. La notion de maths discrètes leur
est largement inconnue.
Mais ce qui est un peu ironique, c'est qu'en fait ils ont déjà fait
des maths discrètes (par exemple, ils savent ce que c'est qu'un
graphe, un arbre, ce genre de choses) : simplement, ils en ont fait,
en prépa ou après, dans des cours étiquetés informatique. Et
j'enseigne moi-même un cours sur les langages formels
(cf. ici) qui, dans mon esprit, est
clairement un cours de maths, mais qui est
étiqueté informatique (ceci provoque d'ailleurs des malentendus
dans l'autre sens, parce que j'en ai qui se plaignent qu'on ait besoin
de raisonner).
Je suis de l'avis que l'informatique théorique, ainsi qu'une bonne
partie de la physique théorique, fait partie des
mathématiques. En fait, pour moi, les mathématiques ne se définissent
pas par leur objet d'étude mais par leur méthode, c'est-à-dire le fait
qu'on arrive à la vérité par un raisonnement déductif dont la rigueur
se cherche dans l'aspect formel ou du moins formalisable ; par
opposition, essentiellement, aux sciences expérimentales dont la
méthode est inductive et la rigueur se cherche dans l'application
méticuleuse d'un protocole expérimental. Il se trouve que cette
distinction — qui n'exclut pas qu'il y ait des régions intermédiaires
où on combine un raisonnement partiellement heuristique et des
constatations expérimentales — est largement transverse à un domaine
comme l'informatique, la physique ou l'astronomie, et je classifie
donc l'informatique théorique comme étant à la fois des maths
(pour la méthode) et de l'informatique (pour la
finalité).
Mais peu importent les classifications. (Si vous trouvez que je
dis des conneries ci-dessus, je n'ai pas vraiment l'intention de
défendre ma position, je dis comment je pense spontanément les choses,
mais fondamentalement je me fous un peu de savoir comment on place les
frontières entre les domaines d'investigation du savoir humain.) Ce
qui m'inquiète, c'est l'effet de myopie disciplinaire.
Que les classes prépa françaises n'enseignent essentiellement que
de l'algèbre linéaire, de l'analyse réelle classique et des
probabilités, je ne me sens pas spécialement fondé à le critiquer. À
un certain niveau, j'aimerais bien qu'on y rencontre la notion de
corps fini, mais je comprends qu'il y a plein de choix à faire, que
tout le monde tire la couverture à soi, que c'est très politique,
etc.
Mais ce que je trouve vraiment regrettable, quand je repense à
l'entrée que je viens d'écrire où
j'évoque l'idée que le grand public se fait des mathématiques
(manipuler des gros nombres ou manipuler des grosses formules), c'est
que des élèves qui en ont quand même avalé nettement plus que le grand
public aient toujours une idée finalement toujours aussi étroite de ce
que sont les mathématiques. C'est-à-dire que je trouve que, même si
on n'a pas le temps d'enseigner ceci ou cela de précis, et même si
« ça ne sert à rien » (or je ne crois pas que ça ne serve à rien), on
doit quand même pouvoir trouver le moyen de faire un survol de ce
que sont les branches, et comment elles se nomment, des
mathématiques, toutes
les mathématiques. (Disons au moins en se donnant comme but que
ce ne soit pas une surprise d'apprendre qu'il y a des mathématiciens
qui étudient les graphes et qui n'ont qu'un rapport extrêmement
lointain avec l'informatique. Mais aussi pour pouvoir leur dire,
voyez, ce qu'on va vous enseigner, c'est les parties anciennes de ce
tout petit bout-là.) Je pense bien sûr la même chose des autres
sciences qu'ils peuvent être amenés à étudier, même si j'ai
l'impression — peut-être effet de ma propre myopie — que la
« cartographie » des mathématiques est particulièrement mal
connue.
Réflexions décousues sur la vulgarisation mathématique
Bon, il faut peut-être que j'arrête d'intituler mes
entrées quelques réflexions sur… ou réflexions décousues
sur…, parce qu'à peu près tout ce que j'écris finit par rentrer
dans cette forme. Mais j'aime bien me retrancher derrière cette sorte
d'excuse quand je ne sais pas très bien à l'avance ce que je vais
raconter et/ou que je n'ai pas envie d'essayer d'élaborer un plan.
[Ajout : J'ai essayé de faire un plan a
posteriori en insérant des intertitres à certains points dans
cette entrée, peut-être que ça aide à la lire.]
☞ Vulgarisation à différents niveaux
La vulgarisation mathématique (et occasionnellement, physique)
occupe une grande place dans ce blog. Enfin, déjà, il faut se
demander ce que le terme vulgarisation recouvre au juste, vu
que je parle rarement en faisant l'effort d'être compréhensible par un
public complètement non-initié (i.e., Madame Michu — parce que ma
maman en a marre d'être prise en exemple de
la-personne-qui-ne-connaît-rien-aux-maths), mais je pense qu'il y a
justement une place intéressante, et trop peu exploitée, pour toute
forme de communication qui s'adresse à un public plus large que les
spécialistes mais néanmoins plus étroit que le vulgum
pecus, par exemple un scientifique d'un autre domaine, ou un
enseignant du secondaire. (Le monde scientifique est tellement
cloisonné[#] que les initiatives
par lesquelles les biologistes et les informaticiens se tiendraient
mutuellement au courant de leurs recherches, hors d'un cadre
d'applications directes, sont extrêmement rares, et c'est même le cas
entre algébristes et analystes ; et il en va semblablement entre
enseignants-chercheurs dans le supérieur et enseignants du secondaire.
Tout cela est vraiment triste.) Convenons d'appeler encore ça de
la vulgarisation. Je ne sais pas si c'est exactement ça que
j'essaie de faire, le niveau auquel je place mon exposition de tel ou
tel concept mathématique dépend plus de mon inspiration du moment et
de la difficulté du concept lui-même que de l'intention de viser tel
ou tel public que je cerne, de toute façon, assez mal. Mais il est
certain que j'écris des explications à ces niveaux assez
variés[#2], et j'ose espérer
qu'au moins une partie de ce que j'ai pu écrire au
chapitre vulgarisation mathématique a été compréhensible par le
très grand public et qu'au moins une partie a pu être intéressante
pour d'autres matheux (et peut-être même que ces parties ont une
intersection non-triviale, ce qui serait formidable). Bref.
[#] J'ai déjà plusieurs
fois cité Giancarlo Rota à ce sujet : A leader in the
theory of pseudo-parabolic partial differential equations in
quasi-convex domains will not stoop to being understood by specialists
in quasi-parabolic partial differential equations in pseudo-convex
domains.
[#2] Enfin, j'ai
toujours considéré ça comme évident, mais au moins une personne lisant
mon blog (et que je ne dénoncerai pas) ne s'en était pas
aperçu. Dès qu'il est question de maths, je ne comprends plus
rien… — D'accord, mais est-ce que tu avais bien compris que parfois
quand je parle de maths ce n'est pas censé être compréhensible par le
grand public et parfois si ? — Hum… Là on peut vraiment considérer
que c'est un échec.
☞ Mon intérêt pour la vulgarisation
Bref, je fais souvent de la vulgarisation mathématique, mais je
n'ai jamais vraiment parlé de vulgarisation mathématique :
pourquoi ça m'intéresse, pourquoi j'en lis, pourquoi j'en fais,
etc.
Et je continue à apprécier la vulgarisation scientifique (en tout
cas quand elle est bonne) à différents niveaux. Même quand je
n'apprends rien sur le fond, ce qui est rarement le cas ne serait-ce
que parce que les vulgarisateurs racontent de l'histoire des sciences
en même temps que la science elle-même, j'apprends quelque chose de
très important, qui est comment communiquer, justement, avec le grand
public, ce qui est loin d'être évident, et d'autant moins évident
qu'on parle d'un sujet abstrait comme la physique théorique ou les
mathématiques. Une des difficultés de l'exercice est de trouver des
analogies ou des images qui respectent le double impératif largement
contradictoire d'être parlantes (c'est-à-dire compréhensibles
mais aussi éclairantes) et correctes (c'est-à-dire qui
évitent de simplifier tellement les choses que ça devient une bouillie
de mots qui ne veulent plus rien dire) : c'est quelque chose de
véritablement difficile, et j'essaie de retenir les bonnes analogies
que je trouve pour pouvoir les resservir éventuellement. Et même
quand il s'agit de quelque chose que je connais très bien, il y a
toujours quelque chose à apprendre sur comment bien le résumer,
comment souligner ce qui est le plus important, quoi mettre en lumière
et quoi passer sous silence, etc. À titre d'exemple, le
cosmologiste Sean
Carroll est, à mon avis, un vulgarisateur extraordinaire,
et cette
petite série de cinq épisodes de trois ou quatre minutes chacun
sur la direction du temps (s'adressant à des gens qui, quand même, ont
une certaine culture scientifique générale) est un modèle à suivre de
comment expliquer les choses clairement bien que rapidement
(ou cet
exposé, plus long et sans doute plus élémentaire, sur le même
sujet).
Inversement, quand on écrit de la vulgarisation, on apprend
toujours quelque chose sur ce sur quoi on écrit. Même quand on pense
exposer quelque chose qu'on connaît parfaitement, et quel que soit le
niveau auquel on se place, il y aura toujours quelque chose à
apprendre, ou au moins à mieux comprendre, dans le processus
d'explication. C'est une des raisons qui me pousse à me prêter à
l'exercice (et plus généralement, à aimer enseigner), et je pense que
cela devrait faire partie de n'importe quel travail de recherche.
☞ Pourquoi j'aime parler de trucs « vieux »
Il y a quand même une chose qui m'agace dans la vulgarisation, en
tout cas comme certains la pratiquent, c'est la tendance à
surreprésenter les progrès récents (dans le domaine scientifique
considéré), voire, la recherche personnelle du vulgarisateur. Je
comprends évidemment les raisons qui poussent à ça : il est gratifiant
de parler de ce qu'on fait soi-même, et on a envie de montrer au grand
public qu'on fait avancer la science, et ce qui se passe « sur le
front ». Et inversement, le grand public a sans doute plus envie
qu'on lui parle de la physique toute récente que de celle de Newton.
L'ennui, c'est que pour bien faire comprendre la physique toute
récente, il faut sans doute commencer par bien faire comprendre celle
de Newton (puis celle de Maxwell, puis celle d'Einstein et celle de
Schrödinger et Heisenberg… enfin, vous voyez l'idée). Forcément, dans
le cadre de la vulgarisation, on va sauter des étapes, commettre des
approximations, passer des choses sous silence, et peut-être ne faire
qu'évoquer Newton pour dire directement des choses sur le boson de
Higgs ou les ondes gravitationnelles ou la théorie des cordes ou que
sais-je encore. C'est bien, et c'est normal. Mais il est quand même
utile qu'il y ait aussi des gens qui vulgarisent
Newton, et ce n'est pas forcément si évident que ça, et c'est
vraiment utile parce que Newton est quand même bigrement pertinent
dans la vie de tous les jours (certainement plus que les ondes
gravitationnelles), et d'ailleurs ce serait sacrément utile dans le
débat politique si le grand public connaissait un peu mieux la
physique, disons, de Boltzmann (par
exemple ce que j'en racontais ici).
Mais je m'écarte un peu de la question de la vulgarisation pour
m'aventurer dans celle de la culture générale scientifique (question
sur laquelle j'aurais beaucoup à dire, mais je vais essayer de garder
ça pour une autre fois).
Je ne suis pas spécialement tenté, moi, de vulgariser ma propre
recherche[#3] (même en mettant
de côté le fait que ma propre recherche papillonne dans tous les sens
plutôt qu'elle ne progresse dans une direction bien définie). J'en ai
déjà déçu plus d'un, comme ça, qui m'invitait à parler devant telle ou
telle assistance (par exemple ici)
et qui espérait plus ou moins que je parlerais de quelque chose d'un
peu actuel : non, j'ai plutôt envie de parler d'objets ou de théories
mathématiques qui sont bien connues depuis des dizaines et des
dizaines d'années. Ne serait-ce que parce que plus c'est vieux, mieux
c'est compris, et mieux on sait, entre autres, quelle est la bonne
façon de voir et de présenter les choses. J'aime comparer les maths à
un palais magnifique et
incompréhensiblement gigantesque, à la structure à la fois
labyrinthique et extraordinairement belle, — palais qu'on visite en
étant totalement aveugle, si bien qu'on ne peut que tâtonner pour
comprendre comment les salles sont agencées et
quels bibelots précieux elles
contiennent : si je dois emmener un groupe de touristes faire un tout
petit tour du palais, je vais plutôt les emmener visiter les salles
bien cartographiées que celles qu'on ne sait atteindre que par un
chemin compliqué et qui sont peut-être encore en train d'être
déterrées par les archéologues (hum, mes métaphores sont un peu
mélangées, mais vous voyez l'idée).
[#3] Plus généralement,
d'ailleurs, je constate empiriquement que les exposés scientifiques
sont d'autant plus intéressants et agréables à écouter (à mon avis
personnel à moi que j'ai) que l'orateur ne parle pas de ses
propres travaux (c'est la règle au séminaire Bourbaki, mais
j'aimerais que plus de séminaires adoptassent le même principe).
☞ Comment communiquer la beauté des mathématiques ?
C'est indiscutablement la beauté des mathématiques, et plus
précisément la beauté de certains objets mathématiques, qui
me motive à la fois pour faire des maths et pour communiquer autour
des maths. La physique m'intéresse mais les maths font bien plus,
elles m'émerveillent. J'ai déjà
parlé ici
et là de deux de mes fascinations
mathématiques les plus profondes (la symétrie et la « grandeur »),
j'ai déjà plein de fois fait références à ces entrées, donc je ne vais
pas revenir dessus. Mais étant moi-même envoûté par l'élégance de
telle ou telle structure mathématique, j'ai envie de partager cette
fascination, pas seulement à mes collègues mais aussi au grand
public.
J'ai donné mardi un exposé à des professeurs de classes
préparatoires, dans le cadre
d'un journée
Télécom-UPS, sur la factorisation des entiers (l'idée
était que je fisse un exposé général introductif sur le problème,
qu'un de mes collègues donnât un exposé sur les courbes elliptiques et
qu'un autre organisât un TP sur
l'algorithme
de Lenstra). Mes transparents ne sont sans doute pas très
intéressants parce que je les ai écrits à la quatrième vitesse
(quoi, le 15 mai c'est demain ? mais j'étais persuadé que
c'était mercredi !), ils contiennent d'ailleurs du coup sans doute
beaucoup d'erreurs ou d'approximations, et je les ai accompagnés
d'énormément d'explications à l'oral ; mais à tout
hasard, les
voici.
Encore un peu d'art mathématique
construit autour de l'élégance du nombre 7 et de la quasipériodicité.
Cette fois-ci, je vais faire travailler votre navigateur plutôt que
calculer les images moi-même (l'image qui suit, normalement, est
animée et change de temps en temps ; sa périodicité est d'une
semaine de 10 minutes et 04.8 secondes
[correction ()
j'avais fait une erreur d'un facteur 1000 parce que JavaScript renvoie
le temps en millisecondes et pas en secondes]) :
⁂Jeu de couleurs : ⁂Échelle :
M'étant fatigué à programmer ça, j'avoue que j'ai maintenant un peu
la flemme d'expliquer de quoi il s'agit (surtout que je ne suis pas
sûr d'en avoir une idée si précise moi-même), et je suis un peu tenté
de dire vous n'avez qu'à lire le source JavaScript, il n'est pas
obfusqué. Mais pour dire quand même un peu d'où ça sort, je suis
parti d'une jolie construction
de pavages de
Penrose décrite dans un article de Nicolaas Govert
de Bruijn, Algebraic theory of Penrose's non-periodic
tilings of the
plane, I, Nederl. Akad. Wetensch.
(=Indag. Math.) 43 (1981), 39–42
(notamment §4), et j'ai remplacé 5 par 7 un peu partout (on peut
d'ailleurs changer seven = 7 par d'autres valeurs dans
mon code et voir ce que ça fait, ça devrait marcher ou au moins
marchouiller) et supprimé une hypothèse qui a sans doute un intérêt
pour cet article mais pas vraiment s'il s'agit juste de faire de
« jolies images ». (Cet article m'avait été présenté par un candidat
au moment où j'étais examinateur aux TIPE à
l'ENS. J'avais écrit du code à ce moment-là, mais je
n'avais pas bien compris comment fabriquer quelque chose de
symétrique, et par ailleurs je coloriais les morceaux de façon
bizarre, donc ça ne donnait pas un résultat très beau ; j'y ai repensé
en écrivant l'entrée précédente.)
Très sommairement, la construction est la suivante : on part de
sept familles de droites parallèles régulièrement espacées dont les
directions sont séparées des multiples de 2π/7 (dans un premier temps,
on pourra imaginer que l'origine du plan est à mi-chemin entre deux
droites dans chaque famille) : appelons ça une heptagrille. On
fait l'hypothèse qu'il n'y a pas de points où trois droites
différentes de l'heptagrille se coupent. Le pavage sera en quelque
sorte dual de l'heptagrille, au sens où à chaque intersection de deux
droites de l'heptagrille on va associer un losange du pavage (et
chaque sommet du pavage est associé à une composante connexe du
complémentaire de la réunion des droites de l'heptagrille). Pour
calculer les coordonnées d'un point du pavage, on commence par
attribuer des valeurs entières aux bandes délimitées par les droites
de chaque famille de l'heptagrille, disons de façon que l'origine ait
la valeur 0 : pour un point P « général » du plan où vit
l'heptagrille (« général » c'est-à-dire non situé sur une droite) on a
ainsi sept valeurs entières k₀,…,k₆, selon les
bandes où il se situe, et on associe à P le
point Φ(P) du plan complexe somme
des kj·ζj
où ζ=exp(2iπ/7) est une racine septième de
l'unité ; si le point P est sur une droite, l'un
des kj va prendre deux valeurs
entières adjacentes au voisinage de P, et s'il est sur deux
droites à la fois, on va avoir deux
des kj qui prennent deux valeurs
adjacentes : les quatre points associés par Φ (i.e., sommes
des kj·ζj)
sont alors les quatre sommets d'un losange du pavage. Ceci définit le
pavage, qu'il est facile de construire en énumérant tous les points de
croisement de droites de deux familles de l'heptagrille. (La forme du
losange est déterminée par l'écart entre les angles des deux droites
qui s'intersectent au point auquel il est associé.) Pour muter le
pavage, on peut décaler les différentes familles de droites
constituant l'heptagrille (si le décalage est le même pour chaque
famille, la symétrie est conservée).
Bon, la description ci-dessus est certainement assez obscure, mais
je n'ai pas le temps d'expliquer mieux. Par ailleurs, il y a
certainement quelque chose d'intelligent à dire qui fait intervenir
les mots système de racines de type A₆ et plan de
Coxeter, mais là, tout de suite, comme ça, je ne vois pas
bien.
Ajout () : J'ai
ajouté un sélecteur pour afficher ça en couleurs (les couleurs sont
choisies d'après l'orientation des losanges). Mais je continue à
préférer nettement la version en teintes de gris (choisies d'après la
forme des losanges). Nouveaux ajouts : J'ai aussi
ajouté de quoi changer l'échelle, et de quoi se déplacer
(cliquer+déplacer la souris), voir aussi
l'entrée suivante.
Je fais de jolies images avec la transformée de Fourier
Pour une fois, cette entrée mathématique n'a aucun autre but que de
« faire joli ». Il y a peut-être des choses intéressantes à dire à ce
sujet (et ces choses intéressantes font peut-être intervenir des mots
comme quasi-cristal ou pavage de Penrose), mais je n'ai
pas vraiment envie d'y réfléchir.
Les images ci-contre à droite (faites défiler vers le haut et vers
le bas, ou voyez ici sur
Imgur) représentent les transformée de Fourier de polygones
réguliers, et plus exactement des n-gones réguliers
pour n pair allant de 4 à 24. Elles sont représentées par
des nuances de gris pour les valeurs positives (où 0=noir
et n=blanc) et des nuances de bleu pour les valeurs
négatives (où 0=noir et −n=bleu intense). Ce que
j'appelle transformée de Fourier d'un n-gone
régulier (ou plus exactement, des sommets du polygone —
je ne trouve pas de tournure qui ne soit pas invraisemblablement
lourde), c'est la transformée de Fourier d'une somme de n
distributions δ,
l'une centrée en chaque sommet du n-gone
(le n-gone étant lui-même centré à l'origine). Plus
concrètement, la fonction tracée est donc la somme de n
ondes planes (toutes en phase à l'origine) partant dans chacune
des n directions régulièrement espacées autour de
l'origine :
(Ou, pour les navigateurs pourris qui ne gèrent pas le
MathML :
∑k=0n−1exp(2iπ·(cos(2kπ/n)·x+sin(2kπ/n)·y)).)
Pour n pair, ceci est bien une fonction réelle, et elle
possède une symétrie de rotation d'ordre n autour de
l'origine. Contrairement à l'impression qu'on peut avoir, elle
n'est pas périodique (sauf dans les cas
« cristallographiques » n=4 et n=6, qui ne sont
pas franchement passionnants), seulement quasi-périodique. Il n'est
pas concevable une seule seconde que je sois le premier à mettre de
telles images en ligne mais, bizarrement, je ne trouve pas comment
d'autres gens ont pu les appeler.
On pourra noter que quand n tend vers l'infini, la
fonction (correctement renormalisée) tend (en un certain sens, que je
n'ai vraiment pas envie de chercher à préciser) vers
une fonction de
Bessel de première espèce J₀ de la distance à
l'origine : c'est ce qu'on commence à voir par le jeu d'anneaux
concentriques autour de l'origine pour n grands.
Bon, enfin, ce qui importe surtout c'est que ce soit visuellement
plaisant, et je trouve que ça l'est.
Comme la fonction n'est pas périodique, ça pourrait être
intéressant (surtout pour n modérément grand) d'en faire un
« explorateur » interactif en JavaScript, où on pourrait se déplacer
dessus, zoomer ou dézoomer, et ce serait calculé en temps réel. Mais
j'avoue que je n'ai pas la patience de programmer ça.
En revanche, pour ceux qui trouvent que mes images 2D ci-dessus
sont trop statiques, je peux vous proposer une version 3D, qui
consiste à faire la transformée de Fourier d'un polyèdre régulier et
de la « trancher » en tranches 2D (c'est-à-dire, d'afficher des
valeurs dans des plans parallèles les uns aux autres) selon une
direction de plan qui présente une symétrie maximale
(plan de
Coxeter) : j'ai mis ça sur YouTube, et vous pouvez voir
la transformée de
Fourier d'un icosaèdre régulier
et celle d'un
dodécaèdre régulier (le plan de Coxeter fournit une symétrie
d'ordre 10 : c'est la direction de plan parallèle à deux faces
opposées quelconques du dodécaèdre). Là aussi, j'ai du mal à
comprendre pourquoi une recherche Google
de Fourier
transform of dodecahedron ou variantes ne donne
essentiellement rien (à part des choses que j'ai moi-même calculées,
dont une vieille version des mêmes vidéos) : même si ça ne doit servir
qu'à « faire joli », c'est pourtant quelque chose d'éminemment naturel
à regarder, il me semble.
(J'ai vaguement imaginé, aussi, calculer la
transformée de Fourier de polygones et polyèdres pleins, et
aussi de leurs facettes et arêtes, mais outre que ce serait
excessivement pénible à calculer, je pense que ce serait très
décevant, en fait : ça ressemblerait sans doute à peu près la même
chose mais en s'atténuant très vite quand on s'écarte de
l'origine.)
Le progrès récent sur le problème de Hadwiger-Nelson
J'ai déjà parlé à plusieurs reprises du problème de Hadwiger-Nelson
sur ce blog (ici en général,
et ici pour mes malheurs personnels
liés à ce problème), et il faut que j'en reparle puisqu'il y a eu un
progrès considérable. Le problème de Hadwiger-Nelson a ceci de
sympathique que c'est un problème de mathématique de niveau recherche
(au sens empirique où il y a, effectivement, des mathématiciens
professionnels qui ont fait de la recherche dessus et publié des
choses à son sujet) dont un bon élève de primaire peut comprendre
l'énoncé, un bon collégien peut comprendre les meilleures bornes
connues jusqu'à la semaine dernière, et un bon lycéen peut les trouver
lui-même. (Enfin, quelque chose comme ça.) Je rappelle
l'énoncé :
Trouver le plus petit nombre χ de couleurs nécessaires
pour colorier le plan de manière à ce qu'il n'y ait jamais deux points
situés à distance 1 l'un de l'autre et qui aient la même couleur.
Ce χ s'appelle le nombre chromatique du plan
ou nombre [chromatique] de Hadwiger-Nelson. Jusqu'à la semaine
dernière, tout ce qu'on savait était que 4≤χ≤7.
Le fait que χ≤7, c'est-à-dire que sept couleurs
suffisent, est montré par un coloriage explicite (d'un pavage du
plan par des hexagones) avec 7 couleurs, coloriage qui est représenté
par le dessin ci-contre à droite que je recopie de ma précédente
entrée sur le sujet ; l'unité de longueur est figurée par le trait
noir dans le coin en haut à gauche de la figure : quel que soit
l'endroit où on le place et la manière dont on le tourne, les deux
extrémités tombent toujours sur deux couleurs différentes ; et le
problème est, donc, de savoir si on peut faire ça avec strictement
moins de sept couleurs.
La minoration χ≥4 (c'est-à-dire qu'au moins quatre
couleurs sont nécessaires), elle, est démontrée par un graphe fini
tout à fait explicite, appelé Moser's spindle
(fuseau de Moser ?) : je le recopie lui aussi de mon entrée
précédente (ci-contre à gauche), toutes les arêtes représentées ont la
même longueur (l'unité de longueur), et il n'est pas possible de
colorier ses sommets avec seulement trois couleurs de façon que deux
sommets reliés par une arête ne soient jamais de la même couleur. (En
effet, si on ne dispose que de trois couleurs, chaque triangle
équilatéral de côté 1 [du graphe] doit avoir un sommet de chaque
couleur, du coup, dans le graphe représenté à gauche, chacun des deux
sommets en haut à droite a la même couleur que celui en bas à gauche,
donc ils ont la même couleur l'un que l'autre, or ils sont reliés par
une arête.) Bref, dans tout coloriage du plan avec 3 couleurs, il y
en a deux situés à distance 1 qui ont la même couleur.
Si vous n'aimez pas le fuseau de Moser, vous pouvez aussi utiliser
le graphe de Golomb, représenté ci-contre à gauche (lui n'était
pas dans l'entrée précédente, il faut bien que je m'embête un peu à
faire du SVG et à calculer que les coordonnées d'un point
valent (1,√11)/6), qui est plus joli et plus symétrique. Comme le
fuseau de Moser, il n'est pas coloriable avec trois couleurs : si on a
seulement trois couleurs, une fois qu'on en donne une au point
central, les six points à distance 1 de lui doivent partager les deux
autres couleurs en alternance, et notamment les trois qui sont reliés
au triangle « oblique » sont de la même couleur, ce qui ne laisse que
deux couleurs pour colorier ce dernier.
Bref, la minoration vient de graphes finis tout à fait
explicites.
En fait, on sait à cause d'un théorème de compacité
(que les théoriciens des graphes appellent le théorème d'Erdős et de
Bruijn, et que les logiciens considèrent comme une conséquence
immédiate du théorème de compacité du calcul propositionnel) que toute
minoration sur χ s'obtient par un graphe fini, c'est-à-dire
que χ est aussi la plus grande valeur possible du nombre de
couleurs d'un graphe de ce genre. Donc on peut reformuler le problème
de Hadwiger-Nelson de la façon suivante :
Trouver le plus petit nombre χ de couleurs nécessaires
pour colorier un nombre fini quelconque de points du plan de manière à
ce qu'il n'y ait jamais deux points situés à distance 1 l'un de
l'autre et qui aient la même couleur.
(Le « fuseau de Moser » ci-dessus étant à comprendre comme
l'ensemble de sept points qui sont les sommets tracés : on ne peut pas
colorier cet ensemble de sept points avec trois couleurs
donc χ≥4.)
Jusqu'à la semaine dernière, donc, c'est tout ce qu'on
savait. Toute recherche sur ce problème a porté sur des analogues ou
des généralisations (nombre chromatique de l'espace, nombre
chromatique du plan à coordonnées dans ceci-cela, nombre
chromatique fractionnaire,
ce genre de choses).
•
Voilà que, dimanche, un
certain Aubrey
(David Nicholas Jasper) de Grey
a mis un papier sur
l'arXiv prouvant que χ≥5 : i.e., dans tout coloriage du
plan avec 4 couleurs, il y en a deux situés à distance 1 qui ont la
même couleur. (Je l'ai appris par un commentaire sur ma première
entrée au sujet du problème.)
C'est assez sidérant pour plusieurs raisons. D'abord parce que
c'est quand même un problème sur lequel on est restés coincés pendant
environ 50 ou 60 ans (l'histoire du problème est elle-même assez
tarabiscotée, mais il semble que Nelson l'ait imaginé dans les
années '50 et qu'il — le problème — soit devenu célèbre une petite
dizaine d'années plus tard). Mais aussi parce le de Grey auteur du
papier n'est pas mathématicien (ou en tout cas, pour éviter de se
mouiller sur ce que mathématicien veut dire, il n'est pas
mathématicien de profession, et ne semble pas avoir fait de
contributions aux mathématiques avant ça) ; il est
« biogérontologue », connu pour ses positions contre le
vieillissement, et considéré par certains comme un gourou voire un
crackpot (le fait
qu'il ressemble
à Gandalf doit aider ce genre de préjugés). Il ne faut pas croire
sur parole n'importe quel papier mis sur l'arXiv surtout quand il
annonce un résultat « spectaculaire », mais, en l'occurrence, (1) le
papier est bien écrit (les arguments sont rapides mais clairs et
écrits dans le style habituel dans lequel on écrit les mathématiques),
et de toute façon (2) une fois connu le graphe construit, il est
modérément facile de vérifier le résultat par ordinateur, des gens
ont déjà
vérifié qu'un des graphes décrits par de Grey est réalisable avec
distance 1[#] et (au moyen
d'un SAT-solver)
n'est pas 4-coloriable[#2],
donc le résultat principal est certifié valable (nonobstant
d'éventuelles erreurs très mineures dans la description).
[#] Ici et dans la
suite, j'emploie le terme réalisable avec distance 1 pour dire
que le graphe est réalisable comme un ensemble de points dans le plan
de sorte que toutes les arêtes aient longueur 1. (On peut
éventuellement demander que, réciproquement, chaque paire de points à
distance 1 donne effectivement une arête du graphe ça ne changera rien
puisque ajouter des arêtes ne peut qu'augmenter le nombre
chromatique.)
[#2] Ici et dans la
suite, j'emploie le terme k-coloriage pour
signifier, bien sûr, un coloriage avec k couleurs de façon
que deux sommets reliés par une arête (i.e. à distance 1) ne soient
jamais de la même couleur ; et k-coloriable pour
dire qu'un k-coloriage existe.
Mais pour être épatant, ce résultat est aussi un peu frustrant, je
vais essayer de dire pourquoi.
Quand j'avais commencé à réfléchir au problème de Hadwiger-Nelson,
ma première intuition était que χ=7 était sans l'ombre d'un
doute la bonne valeur, et qu'il s'agissait juste de trouver de bons
graphes, et que, si on ne les connaissait pas, c'était juste qu'on
n'avait pas cherché assez fort, notamment avec des ordinateurs.
(Cette intuition initiale est donc confirmée par le résultat de
de Grey, mais je ne vais pas dire ha ha, j'avais raison,
puisque, comme je vais l'expliquer, j'ai ensuite changé d'avis.) En
gros, ce qui fait « marcher » le « fuseau de Moser » représenté
ci-dessus est qu'on a le triangle équilatéral dont les 3-coloriages
sont très peu nombreux, donc suffisamment rigides pour qu'on arrive à
les combiner pour fabriquer un graphe plus gros qui n'est pas
3-coloriable. L'espoir, ensuite, serait que les 4-coloriages du
fuseau (ou du graphe de Golomb) soient assez rigides pour qu'on arrive
à combiner plusieurs fuseaux pour former un graphe qui ne soit pas
4-coloriable. Et qu'on puisse monter encore un coup pour former un
graphe qui ne soit pas 5-coloriable, puis un qui ne soit pas
6-coloriable, ce qui démontrerait χ=7.
Plus tard, j'étais beaucoup moins convaincu de χ=7 : la
raison est que j'ai essayé de réfléchir à comment on pourrait
construire des graphes réalisable avec distance 1 et qui ne soient pas
4-coloriables, et j'ai eu l'impression de buter contre des problèmes
insurmontables. Comme je le dis au paragraphe précédent, on peut
essayer de combiner des fuseaux de Moser (ou des graphes de Golomb) et
essayer de limiter leurs possibilités de 4-coloriages jusqu'à toutes
les tuer. Mais j'ai un peu essayé et je m'y suis salement cassé les
dents : tout me semblait suggérer que plus on augmente le nombre de
sommets plus les possibilités de 4-coloriages se multiplient, plus
vite qu'on arrive à les tuer en ajoutant des arêtes. Pour être
un peu moins vague, j'ai eu l'impression que la seule façon
exploitable de fabriquer des graphes réalisables avec distance 1 dans
le plan est de prendre deux graphes G₁,G₂ déjà
réalisés avec distance 1 et utiliser une isométrie plane
sur G₂ (en faixant G₁) pour imposer des
identifications de sommets ou fabriquer des arêtes, mais pour ça, on
n'a que très peu de degrés de liberté (le groupe des isométries planes
est de dimension 3), donc, sauf coïncidences, on ne peut ajouter
essentiellement que trois arêtes (ou une identification de sommet et
une arête) ; j'ai eu l'impression que « sauf coïncidence », tout ceci
devrait conduire à une borne sévère sur
la dégénérescence
des graphes réalisables avec distance 1, donc sur leur nombre
chromatique ; en fait, qu'ils devaient être
des graphes de
Laman — « sauf coïncidence », donc, mais je ne voyais pas comment
fabriquer des « coïncidences » intéressantes. Bref, tout ça pour dire
que j'ai essayé justement l'approche que de Grey fait marcher, que je
n'ai pas du tout réussi à en faire quoi que ce soit, et que je me suis
même mis à penser que ça ne pouvait pas marcher « sauf
coïncidence » mais que ce serait extraordinairement difficile de
prouver l'inexistence de telles « coïncidences » ou, a
contrario, d'en fabriquer. Du coup, j'ai commencé à douter
que χ=7 soit la bonne valeur (je ne prétends pas que
j'étais convaincu que χ=4, mais que ma foi dans le fait
que χ=7 s'était envolée jusqu'à ce qu'on me signale la
trouvaille de de Grey).
Ajout : Un autre de mes espoirs était qu'on puisse
chercher à extraire un graphe de nombre chromatique au moins 5
(voire 6, voire 7) comme un sous-graphe de l'analogue de
Hadwiger-Nelson sur un corps fini, disons le graphe (ℤ/pℤ)²
avec une arête entre (x₁,y₁) et
(x₂,y₂) lorsque (x₂−x₁)² −
(y₂−y₁)² = 1. (La motivation étant que si un
graphe plan est réalisable avec distance 1, il est aussi réalisable à
coordonnées algébriques, ces coordonnées de scindent modulo un
ensemble de densité >0 de nombres premiers p, donc
imposent la même inégalité sur les nombres chromatiques des
(ℤ/pℤ)² pour la relation que je viens de dire.)
Évidemment, cet espoir était naïf — mais vu que les coordonnées du
graphe calculé par de Grey sont dans des extensions assez petites de ℚ
comme je le soupçonnais, ce n'était pas complètement stupide non
plus.
C'est dire que je suis surpris par le tour de force. La lecture du
papier lui-même est un peu décevante, cependant : il y a un mélange de
raisonnements « à la main » sur les 4-coloriages de graphes de plus en
plus grands réalisables avec distance 1, et de vérifications par
ordinateur (avec différentes astuces pour rendre la vérification plus
gérable), mais au final je ne suis pas vraiment Éclairé sur la manière
dont il arrive à obtenir suffisamment d'arêtes eu égart au nombre de
sommets (le graphe réalisable avec distance 1 et non 4-coloriable dont
Dustin Mixon publie le fichier de données sur son blog
— revoici
le lien — a 1585 sommets et 7909 arêtes), ou sur la raison pour
laquelle je m'étais trompé en pensant qu'il était très difficile
d'obtenir une grande dégénérescence.
Ce qui est frustrant, c'est que ce progrès rend le problème de
Hadwiger-Nelson beaucoup moins intéressant. Peut-être que la presse
généraliste va s'en emparer
(et raconter des conneries), et il
va sans doute y avoir des efforts renouvelés pour construire des
graphes plus simples prouvant χ≥5
(cf. ici)
ou pour pousser jusqu'à χ≥6 voire χ=7, mais
mathématiquement, le problème a un peu perdu de sa beauté. Pourquoi ?
Déjà parce qu'on ne peut plus donner ça comme un exemple de problème
où l'état de l'art correspond à ce qu'un lycéen peut trouver tout
seul. Mais surtout je suis maintenant revenu à mon intuition
première, et complètement convaincu d'une part que χ=7 et
d'autre part que des graphes le démontrant peuvent se construire avec
des techniques de type « dupliquer et identifier » et des recherches
sur ordinateur (à supposer qu'ils ne soient pas trop grands). Il
aurait été beaucoup plus intéressant de chercher à montrer que
certains graphes ne peuvent pas exister que de chercher à les
exhiber.
Après, on peut s'intéresser à toutes sortes de problèmes adjacents.
Je soumets notamment la question suivante, ou problème de
Hadwiger-Nelson lorentzien (que j'espérais rendre publique
via cette note, mais
comme cette dernière est partie à la
poubelle, personne n'est au courant de ce problème)
[ajout :
cf. cette
question sur MathOverflow] :
Trouver le plus petit nombre χL de couleurs
nécessaires (ou bien ∞ si aucun nombre fini ne suffit) pour colorier
le plan de manière à ce qu'il n'y ait jamais deux points
(t₁,x₁) et (t₂,x₂) situés
à intervalle de Lorentz 1 l'un de l'autre, c'est-à-dire
(t₂−t₁)² − (x₂−x₁)² = 1,
et qui aient la même couleur.
(Autrement dit, on remplace les cercles de rayon 1 — translatés de
{x²+y²=1} — dans le problème de Hadwiger-Nelson
par des hyperboles translatées de {t²−x²=1},
représentant, si on veut,
un intervalle
d'espace-temps. Il y a beaucoup de similarités, parce que
le groupe
des isométries lorentziennes, comme le groupe des isométries
euclidiennes, et de dimension 3. À la différence du problème de Hadwiger-Nelson
euclidien, dans le problème lorentzien les graphes réalisables avec
intervalle 1 sont naturellement orientés, par la valeur de la
coordonnée t ; et on peut se convaincre qu'il n'existe pas
de triangle ; comme il existe néanmoins des cycles d'ordre impair, on
a quand même χL≥3.)
Je conjecture que χL=∞ (en tout cas, je ne
sais montrer aucune borne supérieure
sur χL). Le problème semble plus dur que
Hadwiger-Nelson euclidien, car il ne semble pas exister de coloriage
évident avec un nombre fini de couleurs, mais a contrario, si
on veut prouver χL=∞, il faudra construire toute
une famille de graphes finis.
Ajout : Je devrais mentionner qu'une des raisons
de s'intéresser à χL est que
l'analogue complexe du nombre de Hadwiger-Nelson,
c'est-à-dire le nombre chromatique χC du graphe
ℂ² avec une arête entre (x₁,y₁) et
(x₂,y₂) lorsque (x₂−x₁)² −
(y₂−y₁)² = 1, majore à la fois χ
(euclidien) et χL (lorentzien), et qu'il est
lui-même majoré par le χ de ℝ⁴ pour la métrique de
signature indéfinie (++−−) (c'est-à-dire le nombre chromatique du
graphe ℝ⁴ avec des arêtes définies par des hyperboloïdes translatés de
{t²+u²−v²−w²=1}). Je
conjecture à plus forte raison que χC=∞, et en
fait c'est surtout ça que je trouve intéressant (parce que c'est un
problème purement algébrique).
Jouons maintenant avec le groupe de Weyl de F₄ parce que c'est plus facile
Cette entrée est la petite sœur
de la précédente : après avoir
écrit cette dernière, je me suis rendu compte (et on me l'a par
ailleurs fait remarquer dans les commentaires) qu'il y a une version
plus simple de ce dont j'y parlais et que j'aurais pu évoquer. Du
coup, je vais essayer de le faire ici, en utilisant massivement le
copier-coller et le recherche-remplacement. Ce que je ne sais pas,
c'est s'il vaut mieux lire cette entrée-ci, ou la précédente, ou les
deux en parallèle ou dans un certain ordre (bon, la réponse est
peut-être bien « aucune des deux »).
Note : Principales modifications
systématiques par rapport à l'entrée précédente : 8→4, E₈→F₄, D₈→B₄,
696 729 600 → 1152, et (0,1,2,3,4,5,6,23) → (½,3⁄2,5⁄2,11/2) ; il n'y
a que trois vecteurs dans ma liste finale au lieu de 135 ; les
contraintes de parité de changements de signes disparaissent (et du
coup trouver un représentant dominaint pour W(B₄) consiste
juste à passer aux valeurs absolues et à trier) ; l'opération
de soustraire à chacune des huit composantes le quart de la somme
de toutes devient soustraire à chacune des quatre composantes
la moitié de la somme de toutes. Mais il y a quelques autres
différences par ci par là, comme le fait que le système de racines est
un tout petit peu plus compliqué à définir (c'est bien la seule chose
qui se complique). ⁂ Ah, et puis sinon j'ai un problème typographique,
qui est de savoir comment représenter agréablement des demi-entiers :
il y a un symbole magique ½ pour un demi, qui est bien pratique
parce que ça apparaît souvent, pour trois demis et cinq demis on peut
utiliser le U+2044 FRACTION SLASH et écrire 3⁄2
et 5⁄2 ce qui si vous avez la bonne police apparaîtra peut-être
comme une jolie fraction ; mais pour 11/2 je ne peux pas
vraiment faire mieux qu'avec un bête U+002F SOLIDUS,
parce que si je mets U+2044 FRACTION SLASH à la place, la
sémantique est celle de 1½ (et ça apparaîtra exactement comme
ça sous certaines polices), soit un-et-demi. Du coup, j'ai le choix
entre cette écriture (½, 3⁄2, 5⁄2, 11/2) qui est bien moche, ou
bien écrire (1/2, 3/2, 5/2, 11/2) mais alors il y a à la fois
du ½ et du 1/2 pour le même nombre, c'est bizarre ; et si
j'écris 1/2 partout, le vecteur (1/2, 1/2, 1/2, 1/2) est
quand même moins lisible que (½, ½, ½, ½). Remarquez, je
pourrais écrire 1½ pour trois demis et 2½ pour cinq demis, mais les
matheux détestent ça en général (vu que 2·½ c'est 1 et pas 5/2).
Pfff, que c'est pénible, les petites crottes de ragondin.
Partons de quatre nombres (= un élément de ℝ⁴) ; pour que ce que je
raconte ne suppose aucune connaissance mathématique particulière, je
précise que j'appellerai ça un vecteur et
j'appellerai composantes du vecteur les quatre nombres en
question. Par exemple (1, 0, 0, 0), ou bien (½, 3⁄2, 5⁄2, 11/2)
sont des vecteurs avec lesquels on va pouvoir jouer (ces exemples vont
être intéressants pour la suite ; et oui, c'est bien un 11/2 que j'ai
écrit à la fin, bear with me, ce n'est pas une
blague dans le style quel est le quatrième nombre qui complète la
suite : ½, 3⁄2, 5⁄2… ? — c'est évidemment 11/2).
Maintenant, à partir de ce vecteur, imaginons qu'on ait le droit de
faire, autant de fois qu'on veut, et dans n'importe quel ordre, les
opérations très simples suivantes :
permuter ses composantes — c'est-à-dire les réordonner — de
n'importe quelle manière (par exemple, on peut transformer (½, 3⁄2,
5⁄2, 11/2) en (3⁄2, 11/2, 5⁄2, ½), ce sont les mêmes nombres écrits
dans un ordre différent),
changer le signe — c'est-à-dire transformer en leur opposé,
remplacer moins par plus et vice versa — d'un nombre quelconque des
composantes (par exemple, on peut transformer (½, 3⁄2, 5⁄2, 11/2) en
(½, −3⁄2, −5⁄2, −11/2), j'ai changé le signe de trois
composantes),
soustraire à chacune des quatre composantes la moitié de la
somme de toutes (par exemple, ceci transforme (½, 3⁄2, 5⁄2,
11/2) en (−9⁄2, −7⁄2, −5⁄2, ½) : la somme des nombres
était (½)+(3⁄2)+(5⁄2)+(11/2)=10 donc j'ai soustrait 5 à chacun).
Voilà qui n'est pas bien compliqué. Pour fixer la terminologie les
opérations des deux premiers types que je viens de dire seront
appelées opérations de W(B₄) tandis que les
opérations des trois types seront dites opérations
de W(F₄) (je n'essaye pas du tout de définir ce que
c'est que W(B₄) ou W(F₄), en tout cas pas pour
le moment, ce sont juste des termes à considérer comme un bloc).
Les opérations de W(B₄) sont assez faciles à comprendre,
en réfléchissant un peu on arrive assez facilement à voir ce qu'on
peut faire avec (une description plus précise sera donnée plus bas,
notamment, de quand on peut passer d'un vecteur à un autre par ces
opérations). Celles de W(F₄), c'est-à-dire si on permet la
troisième opération que j'ai dite, sont déjà plus mystérieuses
mystérieuses : je vais donner quelques exemples ci-dessous ce qu'on
peut faire avec.
La question générale est, que peut-on atteindre en appliquant les
règles qui viennent d'être dites ? Autrement dit, partant d'un
certain vecteur initial, quels vecteurs va-t-on pouvoir fabriquer avec
les opérations qui viennent d'être dites (et combien y en
a-t-il) ?
Pour prendre un exemple vraiment idiot, si le vecteur d'origine
était (0, 0, 0, 0), on ne va pas très loin, il reste identique à
lui-même sous l'effet de n'importe laquelle des opérations que j'ai
décrites, et donc c'est la seule chose qu'on pourra atteindre.
Si le vecteur de départ est (1, 0, 0, 0), les opérations
de W(B₄) (i.e., celles les deux premiers types) permettent
de le transformer en n'importe quel vecteur ayant une composante égale
à +1 ou −1 et les trois autres nulles, ou en abrégé un vecteur du type
(±1, 0, 0, 0) (cela fait 4×2=8 vecteurs si on compte bien) ; la
troisième opération transforme (1, 0, 0, 0) en (½, −½, −½, −½), et de
là avec les opérations de W(B₄) on peut fabriquer les
différents vecteurs (±½, ±½, ±½, ±½) dont toutes les composantes
valent +½ ou −½ ; cela fait 2⁴=16 vecteurs de cette forme, soit
8+16=24 vecteurs : il se trouve (il faut le vérifier mais ce n'est pas
difficile) que c'est tout ce qu'on obtient de la sorte : 24
vecteurs et pas plus. Ces 24 vecteurs portent le nom de racines
courtes de F₄ (là aussi, je ne vais pas chercher à définir ce que
ça veut dire, en tout cas pas aujourd'hui).
Pour donner un autre exemple, si le vecteur de départ est (1, 1, 0,
0), les opérations de W(B₄) permettent de le transformer en
n'importe quel vecteur du type (±1, ±1, 0, 0) (deux composantes égales
à +1 ou −1, les deux autres nulles : cela fait 6×4=24 vecteurs), et la
troisième opération ne fait, cette fois, rien de nouveau. Ces 24
vecteurs portent le nom de racines longues de F₄ ; et réunies
aux 24 vecteurs définis au paragraphe précédent, on obtient 48
vecteurs appelés système de racines de F₄ (c'est là
essentiellement le seul point sur lequel F₄ est plus compliqué que E₈
défini à l'entrée précédente : il y a des racines courtes et longues
alors que dans E₈ il n'y a qu'une seule longueur).
Je peux donner d'autres exemples. Si on part de (1, 1, 1, 0), on
va pouvoir atteindre 96 vecteurs différents par les opérations
de W(F₄) : il y a les 32 vecteurs du type (±1, ±1, ±1, 0)
avec des signes quelconques (et un emplacement quelconque du 0), et
les 64 vecteurs du type (±3⁄2, ±½, ±½, ±½) avec des signes quelconques
(et un emplacement quelconque du 3⁄2), ce qui fait 32+64=96 vecteurs
au total. Si on part de (2, 1, 1, 0), on peut aussi atteindre
96 vecteurs différents (ce sont juste ceux qui s'obtiennent déjà par
les opérations de W(B₄), c'est-à-dire (±2, ±1, ±1, 0) avec
des signes quelconques et une permutation quelconque des composantes).
Si on part de (2, 1, 0, 0), on peut atteindre 144 vecteurs différents
(les 48 du type (±2, ±1, 0, 0) et les 96 du type (±3⁄2, ±3⁄2, ±½,
±½)).
Mais dans le « cas général » (disons, celui qui se produit avec
probabilité 1 si notre vecteur initial a été tiré au hasard, ou bien
si on est parti de (½, 3⁄2, 5⁄2, 11/2)), on va atteindre exactement
1152 vecteurs. (En fait, la condition pour que ça soit le cas n'est
pas très compliqué : il est nécessaire et suffisant, pour que cela se
produise, que les quatre composantes du vecteur initial soient toutes
non nulles, deux à deux distinctes, qu'il n'y en ait pas deux qui
soient opposées, et qu'il n'y en ait pas non plus un certain nombre
dont la somme soit égale à la somme des autres.) Et dans absolument
tous les cas, le nombre de vecteurs qu'on peut atteindre sera fini, et
sera même un diviseur de ce nombre maximal qu'est 1152.
(Il y a d'ailleurs exactement 16 cas possibles
entre le cas le plus spécial qu'est (0, 0, 0, 0) et qui donne un seul
vecteur atteignable et le cas le plus général qui en donne 1152. Mais
je préfère rester vague sur ce que j'entends par un cas
possible, parce que ce n'est pas vrai que chacun de ces cas
donne forcément un nombre de vecteurs atteints différents. Les
nombres de vecteurs atteignables possibles sont : 1, 24, 96, 144, 192,
288, 576 et 1152)
Jouons avec le groupe de Weyl de E₈ et cherchons la logique
J'ai raconté plein de fois dans ce blog (généralement je fais
référence à cette entrée-là, mais
c'est un thème récurrent, et de toute façon je radote) à quel point je
suis fasciné par la symétrie et les structures combinatoires et
toujours à la recherche de nouvelles façons de faire apparaître ou de
représenter des objets mathématiques que je trouve remarquables.
(Tiens, je n'ai pas encore parlé de mon jeu de cartes faussement
divinatoires basé sur la combinatoire des 27 droites sur une surface
cubique ? Faites-moi penser à vous montrer ça, un jour.) Je voudrais
essayer ici de parler de façon extrêmement élémentaire un de mes
objets préférés (il s'agit du groupe de Weyl de E₈, mais chut ! je
veux éviter les mots barbares) pour arriver à une sorte de petite
devinette, dont je n'ai pas la réponse, sur le mode « quelle est la
logique dans les nombres suivants ? ».
Avertissement : La présentation qui suit
risque d'être un peu irritante pour les mathématiciens — ou d'ailleurs
pour des non-mathématiciens — parce que je vais faire tout un tas
d'affirmations sans aucune sorte de justification, ce qui est normal
pour de la vulgarisation, mais, pire, de façon peut-être gratuitement
mystifiante ou à l'encontre de l'ordre et de la présentation logiques
des choses. Désolé pour ceux que ça agacera, mais cette approche a un
certain mérite pour là où je veux en venir. • Pour ceux qui veulent
jouer, vous pouvez sauter toutes les explications, aller voir
directement la liste de nombres donnée ci-dessus, et chercher une
logique élémentaire : je pense qu'il y en a une, mais je ne la trouve
pas.
Ajout : Voir aussi
l'entrée suivante (qui est en bonne
partie un copier-coller de celle-ci) pour le cas de F₄, qui est plus
simple et donc peut-être pédagogiquement préférable.
Partons de huit nombres (= un élément de ℝ⁸) ; pour que ce que je
raconte ne suppose aucune connaissance mathématique particulière, je
précise que j'appellerai ça un vecteur et
j'appellerai composantes du vecteur les huit nombres en
question. Par exemple (1, 1, 0, 0, 0, 0, 0, 0), ou bien (0, 1, 2, 3,
4, 5, 6, 23) sont des vecteurs avec lesquels on va pouvoir jouer (ces
exemples vont être intéressants pour la suite ; et oui, c'est bien un
23 que j'ai écrit à la fin, bear with me, ce
n'est pas une blague dans le style quel est le huitième nombre qui
complète la suite : 0, 1, 2, 3, 4, 5, 6… ? — c'est
évidemment 23). Maintenant, à partir de ce vecteur, imaginons
qu'on ait le droit de faire, autant de fois qu'on veut, et dans
n'importe quel ordre, les opérations très simples suivantes :
permuter ses composantes — c'est-à-dire les réordonner — de
n'importe quelle manière (par exemple, on peut transformer (0, 1, 2,
3, 4, 5, 6, 23) en (0, 4, 3, 6, 1, 23, 5, 2), ce sont les mêmes
nombres écrits dans un ordre différent),
changer le signe — c'est-à-dire transformer en leur opposé,
remplacer moins par plus et vice versa — d'un nombre pair
quelconque des composantes (par exemple, on peut transformer (5, 6, 7,
8, 9, 10, 11, −12) en (−5, −6, 7, −8, 9, −10, −11, 12), j'ai changé le
signe de six composantes, et six est bien pair),
soustraire à chacune des huit composantes le quart de la somme
de toutes (par exemple, ceci transforme (0, 1, 2, 3, 4, 5, 6, 23)
en (−11, −10, −9, −8, −7, −6, −5, 12) : la somme des nombres
était 0+1+2+3+4+5+6+23=44 donc j'ai soustrait 11 à chacun).
Voilà qui n'est pas bien compliqué. Pour fixer la terminologie les
opérations des deux premiers types que je viens de dire seront
appelées opérations de W(D₈) tandis que les
opérations des trois types seront dites opérations
de W(E₈) (je n'essaye pas du tout de définir ce que
c'est que W(D₈) ou W(E₈), en tout cas pas pour
le moment, ce sont juste des termes à considérer comme un bloc).
Les opérations de W(D₈) sont assez faciles à comprendre,
en réfléchissant un peu on arrive assez facilement à voir ce qu'on
peut faire avec (une description plus précise sera donnée plus bas,
notamment, de quand on peut passer d'un vecteur à un autre par ces
opérations). Celles de W(E₈), c'est-à-dire si on permet la
troisième opération que j'ai dite, sont déjà plus mystérieuses
mystérieuses : je vais donner quelques exemples ci-dessous ce qu'on
peut faire avec.
La question générale est, que peut-on atteindre en appliquant les
règles qui viennent d'être dites ? Autrement dit, partant d'un
certain vecteur initial, quels vecteurs va-t-on pouvoir fabriquer avec
les opérations qui viennent d'être dites (et combien y en
a-t-il) ?
Pour prendre un exemple vraiment idiot, si le vecteur d'origine
était (0, 0, 0, 0, 0, 0, 0, 0), on ne va pas très loin, il reste
identique à lui-même sous l'effet de n'importe laquelle des opérations
que j'ai décrites, et donc c'est la seule chose qu'on pourra
atteindre.
Si le vecteur de départ est (1, 1, 0, 0, 0, 0, 0, 0), les
opérations de W(D₈) (i.e., celles les deux premiers types)
permettent de le transformer en n'importe quel vecteur ayant deux
composantes égales à +1 ou −1 et les six autres nulles, ou en abrégé
un vecteur du type (±1, ±1, 0, 0, 0, 0, 0, 0) (cela fait 8×7×2=112
vecteurs si on compte bien) ; la troisième opération transforme (1, 1,
0, 0, 0, 0, 0, 0) en (½, ½, −½, −½, −½, −½, −½, −½), et de là avec les
opérations de W(D₈) on peut fabriquer les différents
vecteurs (±½, ±½, ±½, ±½, ±½, ±½, ±½, ±½) dont toutes les composantes
valent ±½ avec un nombre pair de signes moins (ou, ce qui
revient au même, de signes plus ; cela fait 2⁷=128 vecteurs de cette
forme), soit 112+128=240 vecteurs : il se trouve (il faut le vérifier
mais ce n'est pas très difficile) que c'est tout ce qu'on
obtient de la sorte : 240 vecteurs et pas plus. Ces 240 vecteurs
forment d'ailleurs ce qui s'appelle le système de racines de E₈
(là aussi, je ne vais pas chercher à définir ce que ça veut dire, en
tout cas pas aujourd'hui).
Je peux donner d'autres exemples. Si on part de (2, 0, 0, 0, 0, 0,
0, 0) (ou de (1, 0, 0, 0, 0, 0, 0, 0), cela revient évidemment au même
quitte à tout diviser par deux, mais j'ai des raisons de préférer (2,
0, 0, 0, 0, 0, 0, 0)), on va pouvoir atteindre 2160 vecteurs
différents par les opérations de W(E₈) ; c'est un peu plus
fastidieux à compter : pour ceux qui veulent les détails, il y a les
16 vecteurs du type (±2, 0, 0, 0, 0, 0, 0, 0), les 1024 du type (∓3⁄2,
±½, ±½, ±½, ±½, ±½, ±½, ±½) avec un nombre pair de signes d'en bas, et
les 1120 du type (±1, ±1, ±1, ±1, 0, 0, 0, 0) avec des signes
quelconques. Si on part de (2, 1, 1, 0, 0, 0, 0, 0), on peut
atteindre 6720 vecteurs différents (c'est encore plus pénible à
compter). Si on part de (5⁄2, ½, ½, ½, ½, ½, ½, ½), on peut atteindre
17 280 vecteurs différents. Si on part de (3, 1, 0, 0, 0, 0, 0, 0) on
peut atteindre 30 240 vecteurs différents.
Mais dans le « cas général » (disons, celui qui se produit avec
probabilité 1 si notre vecteur initial a été tiré au hasard, ou bien
si on est parti de (0, 1, 2, 3, 4, 5, 6, 23)), on va atteindre
exactement 696 729 600 vecteurs. (En fait, la condition pour que ça
soit le cas n'est pas très compliqué : il est nécessaire et suffisant,
pour que cela se produise, que les huit composantes du vecteur initial
soient deux à deux distinctes, qu'il n'y en ait pas deux qui soient
opposées, et qu'il n'y ait pas non plus un nombre pair d'entre elles
dont la somme soit égale à la somme des autres.) Et dans absolument
tous les cas, le nombre de vecteurs qu'on peut atteindre sera fini, et
sera même un diviseur de ce nombre maximal qu'est 696 729 600.
(Il y a d'ailleurs exactement 256 cas possibles
entre le cas le plus spécial qu'est (0, 0, 0, 0, 0, 0, 0, 0) et qui
donne un seul vecteur atteignable et le cas le plus général qui en
donne 696 729 600. Mais je préfère rester vague sur ce que j'entends
par un cas possible, parce que je ne crois pas que chacun de
ces cas donne forcément un nombre de vecteurs atteints
différents. En tout cas, les plus petits nombres possibles de
vecteurs qu'on peut atteindre à partir d'un vecteur donné sont
essentiellement ceux que j'ai listés ci-dessus : 1, 240, 2160, 6720,
13 440 et 17 280.)
☞ Il faut que je souligne que le fait qu'on obtienne un nombre fini
de vecteurs est tout à fait remarquable. Si je faisais juste une
toute petite modification à mes règles ci-dessus en autorisant, dans
la deuxième opération, de changer le signe d'un nombre quelconque de
composantes (au lieu d'exiger un nombre pair), alors n'importe
quel vecteur non nul permettrait d'atteindre un nombre infini d'autres
vecteurs avec les règles ainsi modifiées. La situation que je
décris est véritablement exceptionnelle au sens où les
« choses de ce genre » (en fait, les groupes finis de réflexions dans
un espace euclidien) se rangent en un certain nombre de familles
infinies plus une poignée d'exceptions, et W(E₈) fait
partie de ces exceptions. Mais revenons à la situation bien
particulière que j'ai considérée.
Approximation diophantienne ; et une bizarrerie mathématique : la constante de Freiman
Il est bien connu que l'ensemble ℚ des rationnels, que je noterai
ici p/q sous forme irréductible, est dense dans
les réels ℝ, c'est-à-dire que si x∈ℝ, on peut
trouver p/q aussi proche qu'on veut
de x, ou encore : (pour tout ε>0, il
existe p/q tel que) |x
− p/q| < ε. Là où les choses
deviennent plus intéressantes, c'est quand on commence à se demander,
donné x∈ℝ, combien il faut payer pour l'approcher
par p/q rationnel : autrement dit, si je veux
une approximation de qualité ε>0, combien je dois le
payer en utilisant un rationnel compliqué, le « compliqué » en
question se mesurant par le dénominateur q>0 utilisé (on
pourrait prendre la « hauteur » max(|p|,q), ou
peut-être |p|+q, mais ça ne changerait pas
grand-chose). Le sujet général s'appelle l'approximation
diophantienne, et je n'y connais pas grand-chose, mais rappelons quand
même les résultats les plus standards à ce sujet.
Si h est une fonction croissante des entiers naturels
non nuls vers les réels strictement positifs, je peux dire qu'un
réel x est h-approchable par les
rationnels (ou simplement h-approchable)
lorsqu'il existe des rationnels p/q de
dénominateur q arbitrairement élevé tels que |x
− p/q| < 1/h(q)
(formellement : pour tout n entier naturel non nul, il
existe p et q entiers premiers entre eux
avec q≥n tels que |x
− p/q| < 1/h(q)). Il
faut y penser comme : en payant avec un dénominateur q
j'obtiens une qualité d'approximation h(q).
Plus la fonction h grandit vite, plus je demande une bonne
approximation, donc plus il est difficile de trouver de
tels x. Si h′≥h, ou même simplement
si cette inégalité vaut à partir d'un certain rang, alors tout
réel h′-approchable est, en
particulier, h-approchable. Si h est constante
(je demande une qualité d'approximation constante, et je suis prêt à
payer arbitrairement cher pour l'avoir) ou simplement bornée, tout
réel x est approchable, c'est ce que j'ai rappelé
ci-dessus, mais on va voir ci-dessous qu'on peut faire mieux. Dans la
pratique, on prendra donc une fonction h de limite ∞ en ∞,
sinon la définition n'a guère d'intérêt.
Si h est quelconque (croissante des entiers naturels non
nuls vers les réels strictement positifs), il existe toujours des
réels h-approchables au sens ci-dessus : c'est une
conséquence
du théorème
de Baire : quel que soit n>0, l'ensemble
des x pour lesquels il existe p/q
avec q≥n vérifiant |x
− p/q| < 1/h(q) est
ouvert (puisque c'est une réunion d'intervalles ouverts de largeur
2/h(q) centrés en les p/q)
et dense (puisqu'il contient l'ensemble dense des
rationnels p/q de
dénominateur q≥n) ; donc (le théorème de Baire
assure que) leur intersection est non vide, c'est-à-dire qu'il existe
des réels x, et même qu'il existe un ensemble dense, pour
lesquels il existent des p/q avec q
arbitrairement grand vérifiant |x
− p/q| < 1/h(q), ce qui
signifie exactement qu'ils (les x en question)
sont h-approchables. Bref, on peut trouver des réels
approchés arbitrairement bien par des rationnels, quelle que soit la
qualité h de l'approximation qu'on demande pour un
dénominateur donné.
Un autre résultat,
dit théorème
d'approximation de Dirichlet, est que quel que soit x
irrationnel, il existe des p/q de
dénominateur q arbitrairement élevé tels que |x
− p/q| < 1/q² (c'est-à-dire
que x est q²-approchable, ceci étant une
écriture abusive pour dire h-approchable
pour h(q)=q²). La démonstration est
vraiment facile mais astucieuse : on considère les parties
fractionnaires zk
:= yk−⌊yk⌋
(entre 0 inclus et 1 exclu) des
réels yk := k·x
pour 0≤k≤N entier ; ceci fait N+1
nombres zk, qu'on répartit en
les N intervalles de largeur 1/N partitionnant
[0;1[ (je veux dire : l'intervalle entre 0 inclus et
1/N exclu, l'intervalle entre 1/N inclus et
2/N exclu, et ainsi de suite jusqu'à l'intervalle entre
(N−1)/N inclus et 1 exclu) ; comme il y a plus
de réels que d'intervalles, deux d'entre eux,
disons zk
et zℓ
avec k<ℓ, qui tombent dans le même intervalle
de largeur 1/N, donc ils vérifient
|zℓ
− zk| < 1/N,
c'est-à-dire |ℓ·x − ⌊ℓ·x⌋
− k·x + ⌊k·x⌋|
< 1/N, ce qui donne |q·x
− p| < 1/N où q
= ℓ−k et p =
⌊ℓ·x⌋−⌊k·x⌋, et comme
0<q<N (puisque
0≤k<ℓ≤N), on a du coup
|x − p/q|
< 1/(N·q) < 1/q² comme
annoncé ; quant au fait qu'on puisse trouver des q
arbitrairement grands vérifiant ça, c'est simplement parce que (tant
que x est irrationnel !, ce qui n'a pas encore été
utilisé), chaque q donné ne peut vérifier |x
− p/q| < 1/(N·q) que
jusqu'à un certain N (à savoir la partie entière de
|q·x − p|), et donc en prenant
un N plus grand que ça, on obtient
un p/q forcément différent (je laisse le lecteur
remplir les détails).
Un des cours (de première année) dont je suis responsable
à l'ENSTTélécom
ParisTechParisSaclayNewUnil'école où
j'enseigne concerne la théorie des langages [formels],
c'est-à-dire les langages rationnels, expressions rationnelles et
automates finis, les langages algébriques et grammaires hors-contexte,
et pour finir une toute petite introduction à la calculabilité (sujet
dont je me suis déjà plaint,
et plus d'une fois, de la
difficulté à l'enseigner proprement). J'ai tout juste fini d'en
réécrire le poly, complètement en retard puisque le cours a déjà
commencé et qu'il va falloir du temps pour l'impression.
Comme je suis partisan de l'ouverture et de la disponibilité des
documents
d'enseignement, voici
les notes en question. Si certains de mes lecteurs sont
intéressés par ce sujet, ou veulent m'aider à traquer les erreurs qui
demeurent certainement nombreuses, n'hésitez pas à me faire parvenir
vos commentaires (mais comme je mets à jour ce lien régulièrement,
pensez à recopier la ligne Git de la première page pour que je
sache à quelle version vous faites référence).
(Il va de soi que le contenu lui-même, qui est le résultat de
divers compromis, que ce soit sur le temps imparti ou sur l'équilibre
entre mathématiques et informatique pratique, est souvent boiteux. Ce
n'est pas la peine de me faire des remarques à ce sujet ; enfin, ce
n'est pas qu'elles soient mal venues, c'est juste qu'elles ne seront
pas suivies d'effets.)
Petit guide bordélique de quelques ordinaux intéressants
Méta / avant-propos
L'écriture de cette entrée aura été assez chaotique, et un peu un
échec : j'ai changé plusieurs fois d'avis sur ce que je voulais y
mettre, et du coup le résultat est parti un peu dans tous les sens.
Cela faisait longtemps que je me disais que je devrais écrire quelque
chose sur des ordinaux remarquables (comme une suite de
l'entrée d'introduction à leur
sujet), j'y ai repensé en écrivant
l'entrée sur la programmation
transfinie, je m'y suis remis en reprenant (et en copiant-collant)
des bouts de choses que j'avais écrites antérieurement et laissées de
côté, mais ça s'est enlisé. Je commence par expliquer pourquoi — et
dans une certaine mesure, comment lire cette entrée.
Ajout : j'aurais sans doute ajouter quelque part
un lien vers ce billet passé où je
parle de l'aspect psychologique de pourquoi les ordinaux me
fascinent.
Mon idée initiale était d'aider le lecteur à situer un certain
nombre d'ordinaux intéressants (dont j'ai pu parler par le passé ou
dont je pourrais parler ultérieurement) en les classant dans l'ordre
(ce qui est bien avec les ordinaux, c'est qu'ils sont, justement, bien
ordonnés) : j'ai déjà
écrit cet autre texte à
ce sujet (lié depuis l'entrée précédente), mais il est un plutôt
technique, son but étant surtout de rassembler des pointeurs vers la
littérature mathématique publiée, alors qu'ici je voulais donner un
aperçu plus intuitif de (certains de) ces ordinaux intéressants.
Je me suis dit que j'allais faire un plan en trois parties, que
j'appellerai domaines : (1) les ordinaux calculables (et a
fortiori dénombrables), c'est-à-dire les ordinaux strictement
inférieurs à l'ordinal de Church-Kleene ω₁CK, (2) les
ordinaux non calculables mais néanmoins dénombrables, c'est-à-dire
≥ω₁CK mais néanmoins <ω₁ (qui, en gros, ne sont
intéressants que s'ils sont « admissibles »), et (3) les ordinaux non
dénombrables (qui, en gros, ne sont intéressants que s'ils sont des
cardinaux). Ce plan a le bon goût de permettre d'insister sur le fait
que, par exemple, certains ordinaux, bien que monstrueusement grands
et complexes à définir, sont néanmoins encore calculables
(domaine (1), c'est-à-dire <ω₁CK), ce qui donne une
petite idée de combien ω₁CK est gigantesque.
Mais ce plan a aussi l'inconvénient que l'ordre naturel sur les
ordinaux (la taille, quoi) n'est pas du tout la même chose que l'ordre
d'importance, d'intérêt, ou de difficulté à les définir (je peux
définir ω₁ en disant que c'est le plus petit ordinal indénombrable, ou
que c'est l'ensemble des ordinaux dénombrables triés par ordre de
taille : ça ne laisse peut-être pas comprendre à quel point il est
riche et complexe, mais au moins, c'est une définition nette et
précise, alors que certains ordinaux beaucoup plus petits, quoique
structuralement moins riches, sont beaucoup plus subtils à définir,
puisqu'on veut les définir, justement, de façon beaucoup plus précise
et complète). Plus subtilement, d'ailleurs, mon plan par taille des
ordinaux a aussi l'inconvénient que l'ordre de taille n'est même pas
l'ordre de dépendance logique des ordinaux : c'est ce
phénomène qu'on appelle imprédicativité qui veut qu'on fasse
appel, pour construire certains ordinaux, à des ordinaux encore plus
grands ; ainsi, la construction de l'ordinal de Bachmann-Howard (qui
est <ω₁CK, donc dans le domaine (1) de mon plan) fait
appel à une « fonction d'écrasement », qui présuppose de savoir ce que
c'est que ω₁CK ou peut-être ω₁ (l'un ou l'autre peut
servir, et on lui donne le nom de Ω dans les notations), et c'est
encore pire dans la construction d'ordinaux calculables encore plus
grands, qui nécessitent d'invoquer des ordinaux récursivement grands
ou de grands cardinaux.
Je le savais, bien sûr, mais je pensais pouvoir contourner ces
difficultés en fournissant au fur et à mesure des informations
minimales sur les grands ordinaux des domaines (2) et (3) alors que je
décrivais le domaine (1), quitte à y revenir plus tard. Finalement,
c'est une très mauvaise idée, et cette partie (1) a beaucoup trop
gonflé et est devenue, du même coup, assez illisible. (Un autre
problème est que ce qui rend les ordinaux calculables vraiment
intéressants est leur lien avec certaines théories logiques, et il
faudrait vraiment beaucoup de place pour expliquer ce que sont
exactement des théories telles que la « théorie des ensembles de
Kripke-Platek », l'« arithmétique du second ordre limitée à la
Δ¹₂-compréhension », la « théorie des définitions inductives ».) En
même temps que ça, j'ai commencé à en avoir vraiment marre d'écrire
sur des ordinaux de plus en plus techniques à expliquer. Du coup,
j'ai calé sur la partie (1), ce qui casse vraiment l'intention
initiale, puisque j'avais surtout envie (pour rester sur la lancée de
la programmation transfinie) d'essayer de dire des choses sur les
ordinaux nonprojectibles, stables et compagnie, qui sont résolument
dans la partie (2).
Au final, c'est un peu n'importe quoi : cette entrée me fait
l'effet d'une moussaka géante où on ne comprend plus
rien. Mais je pense qu'il y a quand même un certain intérêt à ce que
je publie ce « n'importe quoi » plutôt que de le ranger dans mes
cartons, c'est-à-dire dans le vaste cimetière des entrées que j'ai
commencées et jamais publiées. Car après tout, ce que j'écris est
correct (enfin, je crois), et même si vers la fin je lance dans l'air
de plus en plus de termes non définis faute de patience pour les
définir, ou que je pars complètement dans l'agitage de mains, certains
en tireront quand même quelque chose.
Finalement, les différentes sous-parties de cette entrée sont, je
l'espère, assez indépendantes les unes des autres, donc comme
d'habitude, et même plus encore que d'habitude, j'encourage à sauter
les passages qu'on trouve incompréhensibles ou trop techniques
(beaucoup d'entre eux ne servent, finalement, à rien).
Comme expliqué ci-dessus, je vais d'abord faire quelques remarques
générales sur les ordinaux intéressants, expliquer plus précisément le
plan que j'avais en tête, puis parler d'ordinaux calculables (i.e.,
<ω₁CK, le domaine (1)), et m'arrêter en queue de
poisson.
Ça fait très longtemps que j'ai envie d'écrire cette entrée, parce
que je trouve le sujet extrêmement rigolo : en gros, ce dont je veux
parler, c'est comment définir et programmer un ordinateur
transfini ? (comment concevoir un langage de programmation
considérablement plus puissant qu'une machine de Turing parce qu'il
est capable de manipuler directement des — certains
— ordinaux ?). Techniquement, ce
dont je veux parler ici, c'est de la théorie de la α-récursion (une
branche de la calculabilité supérieure qui a fleuri dans les
années '70 et qui semble un
peu moribonde depuis) ; sauf que la
α-récursion n'est jamais présentée comme je le fais ici, c'est-à-dire
en décrivant vraiment un langage assez précis dans lequel on peut
écrire des programmes pour certains ordinateurs transfinis. Ces
ordinateurs ont le malheur de ne pas pouvoir exister dans notre
Univers (encore que, si on croit
certaines théories
complètement fumeuses que j'avais imaginées… ?) ; mais même s'ils
n'existent pas, je pense que le fait d'écrire les choses dans un style
« informatique » aide à rendre la théorie mathématique plus palpable
et plus compréhensible (en tout cas, c'est comme ça que,
personnellement, j'aime m'en faire une intuition).
Bref, ce que je voudrais, c'est que cette entrée puisse
plaire à la fois à ceux qui aiment la programmation et à ceux qui
aiment les ordinaux ; ce que je crains, c'est qu'en fait elle déplaise
à la fois à ceux qui n'aiment pas la programmation et à ceux qui
n'aiment pas les ordinaux — ce qui est logiquement différent. On
verra bien.
Il faut que je précise que tout ce que je raconte est un territoire
relativement mal couvert par la littérature mathématique (il y a
certainement des gens qui trouveraient tout ça complètement évident,
mais je n'en fais pas partie, et comme je le disais, je soupçonne que
la plupart étaient surtout actifs vers '70 et sont maintenant un peu
âgés ou sont passés à autre chose), et jamais de la manière dont je le
fais (comme un vrai langage de programmation : il y a des gens qui ont
« redécouvert » des domaines proches comme avec les machines de Turing
infinies ou les machines ordinales de Koepke, mais c'est un peu
différent). Du coup, il faut prendre tout ce que je raconte avec un
grain de sel : je n'ai pas vérifié chaque affirmation avec le soin que
j'aurais fait si j'étais en train d'écrire un article à publier dans
un journal de recherche.
Une autre remarque : cette entrée contient un certain nombre de
digressions, notamment parce que je pars dans plusieurs directions un
peu orthogonales. Je n'ai pas voulu les mettre en petits caractères
comme je le fais souvent, pour ne pas préjuger de ce qui est important
et ce qui ne l'est pas, et je n'ai pas eu le courage de tracer
un leitfaden, mais tout ne dépend pas de tout : donc, si on
trouve un passage particulièrement obscur ou inintéressant, on peut
raisonnablement espérer(!) qu'il ne soit pas vraiment important pour
la suite.
*
Pour faire une sorte de plan ce dont je veux parler, je vais
décrire un langage de programmation assez simple (dont la syntaxe sera
imitée de celle
du C/JavaScript)
et différentes variantes autour de ce langage. Plus exactement, je
vais définir quatre langages : un langage (0) « de base » et deux
extensions qu'on peut appliquer à ce langage (les extensions
« forward » et « uloop », qui seront définies après), de sorte qu'à
côté du langage (0) de base, il y aura le langage (1) avec extension
« forward », le langage (2) avec extension « uloop », et le langage
(3) avec les deux extensions à la fois ; tout ça peut encore être
multiplié par deux si j'autorise les tableaux dans le langage, ce qui,
finalement, ne changera rien à son pouvoir d'expression, et c'est
peut-être surprenant.
Chacun de ces langages pourra servir dans le « cas fini » (le
langage manipule des entiers naturels, et chacun des langages (0)–(3)
peut être implémenté sur un vrai ordinateur et servir de vrai langage
de programmation) ou dans le « cas transfini » (le langage manipule
des ordinaux). J'expliquerai plus précisément en quoi consiste ce cas
transfini, mais je veux insister dès à présent sur le fait que les
langages de programmation (0)–(3) seront exactement les mêmes
dans ce cas transfini que dans le cas fini (plus exactement, leur
syntaxe sera exactement la même ; la sémantique pour les langages
(0)&(1) sera prolongée, tandis que pour les langages (2)&(3)
elle sera raffinée et dépendra d'un « ordinal de
boucle » λ).
Il y a quelque temps, je me
désolais de ne jamais avoir réussi à trouver un objet mathématique
dont je pourrais faire une représentation sous forme auditive — plutôt
que visuelle — et qui serait mélodieux à entendre.
Or ces derniers temps, je réfléchissais à des problèmes — et
globalement, à essayer de comprendre plus précisément des choses —
autour de caractères de groupes de Lie, et j'ai été amené à tracer des
fonctions qui ressemblent à ceci (cliquez pour agrandir) :
Là, je devrais essayer de dire de quoi il s'agit. L'ennui, c'est
que ce n'est pas facile. Je peux donner une explication pour les
experts, mais elle n'éclairera pas du tout le grand public (ni même le
public moyennement averti) ; je l'écris surtout pour m'en souvenir
moi-même :
(Pour les experts, donc.)
Il s'agit des caractères fondamentaux d'un groupe de Lie (réel
compact) simple (dans la figure ci-dessus, il s'agit de F₄),
restreints au tore du
SU₂ principal
de Kostant,
c'est-à-dire, plus concrètement, le groupe à un paramètre engendré par
la demi-somme des coracines positives. Autrement dit,
si ρ# est la demi-somme des coracines positives (ou somme
des copoids fondamentaux), donnée une représentation définie par son
système de poids, on applique ρ# aux poids en question, ce
qui donne des demi-entiers (les multiplicités étant sommées), à
interpréter comme les poids d'une représentation de SU₂, ou comme
définissant un polynôme trigonométrique. Une façon de calculer en
pratique consiste à appliquer la formule de caractère de Weyl avec une
petite astuce (cf. §3.1
de cet article) :
si ρ est la demi-somme des racines positives
et λ un poids dominant, on calcule le produit
des t⟨λ+ρ,α#⟩−1
où t est une indéterminée et α# parcourt les
coracines positives, et on divise ce polynôme par le produit
des t⟨ρ,α#⟩−1 ; ceci donne
un polynôme en t (dont la valeur en 1 est précisément la
dimension de la représentation de poids dominant λ, c'est
la formule de dimension de Weyl ; quant au degré, il vaut
2⟨λ,ρ#⟩, c'est-à-dire la somme des coefficients
de λ sur la base des racines simples) : les coefficients de
ce polynôme sont ceux recherchés : si on les décale (i.e. on divise
encore par t⟨λ,ρ#⟩) et
qu'on lit comme un polynôme trigonométrique, c'est la fonction
recherchée. Voici par exemple le calcul en Sage dans le cas de
F₄ :
Le polynôme en question doit d'ailleurs avoir un rapport très fort
avec les crystal graphs de Kashiwara et
Littelmann (les coefficients énumèrent le nombre de nœuds à chaque
hauteur du graphe) ; et sans doute avec les groupes quantiques : je
n'y connais rien, mais dans le cas de Ar, on
obtient exactement
le coefficient
binomial gaussien (r+1,i) pour
la i-ième représentation fondamentale. • Par ailleurs, il y
a une grande similarité avec un autre polynôme important, à savoir le
produit des t⟨α,ρ#⟩+1−1
où t est une indéterminée et α parcourt les
racines positives, divisé par le produit
des t⟨α,ρ#⟩−1 : ce
polynôme-là énumère les éléments du groupe de Weyl par leur longueur
(Carter, Simple Groups of Lie Type
(1972/1989), théorème 10.2.2 page 153), par exemple pour F₄ on
trouve t^24 + 4*t^23 + 9*t^22 + 16*t^21
+ 25*t^20 + 36*t^19 + 48*t^18 + 60*t^17 + 71*t^16 + 80*t^15 + 87*t^14
+ 92*t^13 + 94*t^12 + 92*t^11 + 87*t^10 + 80*t^9 + 71*t^8 + 60*t^7 +
48*t^6 + 36*t^5 + 25*t^4 + 16*t^3 + 9*t^2 + 4*t + 1, il est en
lien avec les exposants du groupe de Weyl (id, théorème 10.2.3
page 155), et à très peu de choses près donne la fonction zêta du
groupe algébrique, c'est-à-dire compte ses points sur les corps fini
(id, proposition 8.6.1 page 122), ou de façon sans doute plus
pertinente, les points de la variété de drapeau associée. Je ne
comprends pas bien le rapport précis entre tous ces polynômes (notons
que j'ai écrit le dernier pour coller avec ce que je trouve dans
Carter, mais si je ne m'abuse, c'est aussi le produit
des t⟨ρ,α#⟩+1−1
où t est une indéterminée et α parcourt les
racines positives, divisé par le produit
des t⟨ρ,α#⟩−1, ce qui le
fait ressembler encore plus à ce que j'ai écrit ci-dessus).
[Ajout : ce dernier polynôme est
appelé q-polynomialici.
Je devrais ajouter, pour reproduire ce qui est mentionné sur cette
page, que pour obtenir le polynôme donnant nombre de points de la
variété de drapeau partielle définie par un
ensemble S de nœuds du diagramme de Dynkin, on fait le
produit des t⟨α,ρ#⟩+1−1
divisé par le produit
des t⟨α,ρ#⟩−1, où cette
fois α parcourt seulement les racines ayant au moins un
coefficient strictement positif devant une racine simple omise
de S.]
Il faudrait essayer de vulgariser tout ça, mais ce n'est pas
évident : pas tellement parce que les objets en question sont
compliqués (fondamentalement, le calcul final est un petit calcul
combinatoire, assez facile, même si évidemment le présenter comme tel
ne fournit aucune motivation), mais surtout parce que, comme c'est
souvent le cas dans ce domaine entre la théorie des groupes
algébriques, la théorie de la représentation, et la combinatoire
algébrique, chaque objet peut se voir d'une multitude de manières
différentes (ce qui est d'ailleurs la source d'incompréhensions
diverses et variées). J'avais commencé à essayer d'écrire quelque
chose, non pas vraiment pour expliquer mais juste
pour donner une idée de ce dont il est question (en agitant
énormément les mains), mais même comme ça, ça partait tellement dans
tous les sens que c'est incompréhensible : je le recopie quand même
ici (comme un gros bloc de texte), mais je ne recommande de le lire
que pour rigoler :
De quoi s'agit-il ? C'est une section plane aléatoire du
diagramme de Voronoï du réseau E₈ : il faut que j'explique ces
termes (mais is ça ne vous intéresse pas, il y a d'autres images, et
des liens vers des vidéos, plus
bas).
Le réseau E₈ est un arrangement régulier de points en
dimension 8, qui a toutes sortes de propriétés remarquables. En fait,
il n'est pas difficile de le définir concrètement : il s'agit des
octuplets (x₀,x₁,…,x₇) de nombres
réels tels que :
les coordonnées x₀,x₁,…,x₇ sont
soit toutes entières soit toutes entières-et-demi
(par entier-et-demi je veux évidemment dire un nombre qui vaut
un entier plus ½, par exemple 5/2),
la somme x₀+x₁+⋯+x₇ de toutes les
coordonnées (qui est forcément un entier d'après le point précédent)
est paire.
À titre d'exemple, (0, 0, 0, −1, 2, −1, 1, −1) et (−1.5, 2.5, −0.5,
1.5, −1.5, −0.5, −2.5, 0.5) sont dans le réseau E₈ ; en revanche, (0,
0, 0, −1, 2, −1, 1.5, −1.5) n'y sont pas (les coordonnées ne sont ni
toutes entières ni toutes entières-et-demi), et (−1.5, 2.5, −0.5, 1.5,
−1.5, −0.5, −2.5, 0.5) non plus (la somme n'est pas paire).
La somme ou différence de deux points du réseau E₈ est encore
dedans : c'est là la propriété essentielle d'être un réseau (et
ce qu'un non-mathématicien qualifierait de points régulièrement
espacés). Les points du réseau E₈ les plus proches de l'origine
(0,0,0,0,0,0,0,0) sont d'une part ceux de la forme (±1,±1,0,0,0,0,0,0)
(où exactement deux coordonnées, quelconques, valent soit 1 soit −1 :
ceci fait 28×4=112 possibilités — 28 choix de deux coordonnées et 4
choix de leurs signes), et d'autre part ceux de la forme
(±½,±½,±½,±½,±½,±½,±½,±½) (où chaque coordonnée vaut ½ ou −½, et où il
y a un nombre pair de valeurs −½ : ceci fait 2⁸/2=128
possibilités) : au total, 112+128=240 points tous à distance √2 de
l'origine ; ces 240 points sont ce qu'on appelle
les racines du système E₈ et
ils engendrent le réseau, mais ici c'est le réseau plus que
ses racines qui m'intéresse. Entre autres propriétés remarquables,
c'est le réseau E₈ qui réalise l'empilement optimal de boules
identiques en dimension 8 (mettre une boule de rayon (√2)/2 autour de
chaque point du réseau : elles se touchent sans se chevaucher et
remplissent 25.367% de l'espace, ce qui ne paraît peut-être pas
impressionnant, mais en dimension 8 on ne peut pas faire mieux).
Donné un ensemble (discret) de points dans l'espace euclidien,
le diagramme de Voronoï associé est la division de l'espace
en cellules de Voronoï, la cellule de Voronoï d'un point étant la
région des points de l'espace qui sont plus proches de ce point-là que
de tout autre point de l'ensemble. En général, un diagramme de
Voronoï ressemble à ce
que Google
images vous montrera (il est formé de cellules qui sont des
polytopes convexes dont les facettes sont hyperplans médiateurs entre
le point définissant la cellule et un autre point). Lorsque
l'ensemble des points est un réseau, toutes les cellules ont la même
forme : la cellule de Voronoï de l'origine est l'ensemble des points
plus proches de l'origine que de tout autre point du réseau, elle est
d'ailleurs symétrique, et toutes les autres cellules sont identiques
autour d'un autre point, elles sont translatées les unes des autres.
S'agissant du réseau E₈ précisément, la cellule de Voronoï de
l'origine est un polytope convexe ayant
240 facettes[#], une par racine
du système de racines, chaque facette étant un morceau de l'hyperplan
médiateur entre l'origine et la racine en question. (Il n'est pas
vrai dans un réseau en général que les facettes de la cellule de
Voronoï de l'origine soient ainsi définies uniquement par les points
les plus proches de l'origine. Mais c'est vrai pour ce qu'on appelle
un réseau de racines, et notamment E₈.)
[#] Il a aussi 19440
sommets : 2160 sont les points à distance 1 de l'origine ainsi que de
quinze autres points du réseau, on les appelle les trous
profonds du réseau E₈ (un exemple d'un tel point est
(1,0,0,0,0,0,0,0)), et 17280 sont les points à distance (2√2)/3≈0.943
de l'origine ainsi que de sept autres et ce sont les trous
superficiels (un exemple d'un tel point est (−5/6, 1/6, 1/6, 1/6,
1/6, 1/6, 1/6, 1/6)).
Bref, le diagramme de Voronoï du réseau E₈ est un pavage de
l'espace de dimension 8 par des copies (translatées) de ce polytope à
240 facettes, chacune étant centrée sur un point du réseau. Il y a un
algorithme assez simple[#2]
pour décider, quand on se donne un point de l'espace, à quelle cellule
de Voronoï il appartient, c'est-à-dire, trouver le point du réseau le
plus proche (on parle aussi d'algorithme de décodage pour ce
réseau).
[#2] En voici une
description. Commençons par expliquer comment trouver le point du
réseau D₈ le plus proche d'un point donné, où le réseau D₈ est le
réseau formé des points de coordonnées toutes entières de somme paire
(c'est-à-dire les points du réseau E₈ dont toutes les coordonnées sont
entièrs). Donné (z₀,z₁,…,z₇) un
point à approcher, on appelle x₀ l'entier le plus proche
de z₀ et de même pour les autres : ceci fournit le point
(x₀,x₁,…,x₇) à coordonnées entières
le plus proche de (z₀,z₁,…,z₇). Si
la somme x₀+x₁+⋯+x₇ des coordonnées
est paire, c'est le point de D₈ recherché. Sinon, l'astuce suivante
permet de le trouver : parmi les coordonnées x, prendre
celle qui est le plus loin du z correspondant, et
la remplacer par l'arrondi de ce z dans l'autre sens. À
titre d'exemple, si on part du point (0.3, −0.1, 0.1, −1.0, 2.0, −0.4,
0.9, −0.7), l'arrondi des coordonnées à l'entier le plus proche donne
(0, 0, 0, −1, 2, 0, 1, −1), la somme est impaire, donc on corrige le
plus mauvais arrondi, à savoir −0.4 transformé en 0, en prenant
l'entier de l'autre côté, donc −1, ce qui donne le point (0, 0, 0, −1,
2, −1, 1, −1) qui est le point du réseau D₈ le plus proche du point
initial. S'agissant du réseau E₈, maintenant, on peut faire ce calcul
une fois pour trouver le point de D₈ le plus proche, puis soustraire ½
toutes les coordonnées, refaire le calcul pour trouver le point de D₈
le plus proche du point ainsi modifié et rajouter ½ à toutes les
coordonnées : on obtient ainsi deux points de E₈ (l'un dans D₈ et
l'autre dans D₈+(½,½,½,½,½,½,½,½)) ; il n'y a plus qu'à comparer la
distance de ces deux points au point d'origine et choisir le plus
proche (soit en comparant les distances soit en calculant l'équation
de l'hyperplan médiateur, ce qui revient essentiellement au même). Il
existe des algorithmes légèrement plus efficaces que ce que je viens
de décrire, mais en contrepartie ils sont plus fastidieux à
implémenter et je pense que ça n'en vaut pas la peine.
J'ai mis en
ligne ici le support que je compte utiliser
pour mon exposé devant des lycéens
samedi après-midi à Math en
Jeans, intitulé Le jeu de nim : thème et
variations.
Soit dit en passant, je ne suis pas spécialement
hostile aux anglicismes, mais celui-là m'agace — en fait, le terme
anglais n'est pas terrible pour commencer : qu'est-ce qu'on peut dire
en français, plutôt que slide, pour parler d'une
image projetée, de nos jours, par vidéoprojecteur, et servant à
illustrer un exposé ?
Il manque, évidemment, l'accompagnement audio (si je suis très
motivé, je ferai une vidéo sur YouTube), mais je me dis que si je n'ai
pas trop mal réussi mon coup, on doit pouvoir à peu près comprendre
même sans les explications orales. (Évidemment, il y a des endroits
où elles sont quand même utiles à la clarté des choses ! Je pense par
exemple au calcul des valeurs de Grundy dans l'exemple slide 18, qui
est très facile à expliquer de vive voix avec un pointeur laser mais
franchement laborieux si on veut l'écrire.)
Je précise que je n'ai pas l'intention de tout présenter : il y en
a sans toute trop, peut-être même beaucoup trop (combien n'est pas
clair). J'essaierai de m'adapter en fonction de la manière dont mon
auditoire réagit. Disons que le minimum est le contenu des slides
3 à 14, ce qui suit contient plusieurs sujets de difficulté inégale,
donc j'en traiterai un sous-ensemble, quelque part entre « rien » et
« tout », selon le temps disponible et la manière dont j'ai
l'impression qu'ils comprennent. (Exemple de parcours possible :
1–16,20–22,29.)
Les commentaires sont bienvenus ; mais ce n'est pas la peine de me
dire que j'aurais dû m'y prendre complètement autrement, ou traiter un
autre sujet : il est trop tard pour ça ; et ce n'est pas non plus la
peine de me suggérer d'ajouter une figure, j'ai suffisamment souffert
avec TikZ comme
ça. Les suggestions locales d'amélioration/reformulation (surtout en
nombre de mots constant !) seront appréciées. Mais ce qui est
particulièrement bienvenu est un avis sur la difficulté relative des
différentes slides pour des lycéens (motivés), ainsi que leur attrait,
ou le temps qu'il faudrait y passer pour les
expliquer : relatif, parce que si ça ne sert pas à grand-chose
de dire que tout est trop dur, ça a un intérêt de se demander si la
slide 30 est plus ou moins difficile à comprendre que la 23 (par
exemple), dans la mesure où je devrai certainement faire des choix sur
quoi présenter (modulo un hypothétique director's
cut sur YouTube).
Mon poussinet et moi sommes allés voir le
film Hidden
Figures (le titre français — Les Figures de
l'ombre — ne rend pas vraiment le jeu de mot le jeu de mot
entre une personne et un chiffre dans un calcul), et je voudrais
vraiment le recommander.
Il s'agit de l'histoire, vraie mais bien sûr partiellement
romancée, de trois femmes noires « calculatrices » à
la NASA au début des années 1960 (plus exactement,
au centre
de recherches Langley en Virginie, entre le premier vol dans
l'espace de Ûrij [=Yuri] Gagarin en 1961 et celui de John Glenn en
1962). La manière dont elles sont confrontées à la fois à la
discrimination raciale et au sexisme, et leurs différentes façons d'y
faire face, sont montrées avec une certaine subtilité, de même que
l'atmosphère côté américain de la « course à l'espace ». L'histoire
suit une trame hollywoodienne bien formatée et qu'on peut trouver un
peu trop schématique, mais les actrices jouent très bien (Taraji
Henson, qui interprète Katherine Goble, Janelle Monáe qui joue Mary
Jackson, et surtout Octavia Spencer — que je connaissais par un autre
film
remarquable, The
Help — dans le rôle de Dorothy Vaughan), et pour une fois
qu'on voit un film dont les personnages principaux sont des femmes
noires, et mathématiciennes qui plus est, ne boudons pas notre
plaisir. (Et puis j'ai un faible
pour l'ambiance course à l'espace,
l'ambiance « atompunk », ici illustrée avec une certaine sympathie
sans excès.)
Scientifiquement, le film ne commet pas de bourde majeure, en tout
cas pas que j'en aie repérée : le moment le plus faux sur ce plan-là
est celui où l'héroïne principale, Katherine Goble, effectue au tableau, devant une
salle de généraux un peu médusés, un calcul de paramètres de réentrée
orbitale avec une précision dont il devrait être à peu près évident
pour n'importe qui ayant un chouïa de culture scientifique, qu'il
n'est pas atteignable de tête, en tout cas pas un temps tel que
présenté ; je suis prêt à ne pas faire mon grincheux pour quelque
chose du genre. Il y a aussi un certain nombre de modifications du
tempo par rapport à la réalité, imposées pour s'adapter au rythme
cinématographique, que je suis également prêt à pardonner.
Il est vrai que j'aurais aimé voir un peu de considération pour la
différence entre la notion de calcul symbolique et celle de calcul
numérique, choses que le grand public ne doit pas vraiment apprécier,
mais qui n'est certainement pas impossible à faire passer. Les
équations qu'on entr'aperçoit dans différents plans ont l'air
superficiellement sensées, mais mélangent inexplicablement des valeurs
numériques à virgules dans des expressions par ailleurs symboliques ;
et de façon plus profonde, je n'ai pas vraiment idée de quel genre de
calculs on faisait faire à ces « calculatrices », soit en général,
soit précisément celles qui sont les héroïnes de ce film.
Et on ne peut pas dire que les répliques m'aident à deviner. À un
moment, le chef d'équipe joué par Kevin Costner demande à
Katherine Goble si elle sait calculer un repère de Frénet —
et elle complète : par le procédé d'orthogonalisation de
Schmidt. C'est vraiment amusant
comme effet Zahir, parce que je
discutais
du repère
de Frénet avec mon poussinet un quart d'heure avant d'aller voir
le film (à propos du tome 5, particulièrement poussiéreux,
du Cours de Mathématiques spéciales de
MM. Ramis-Deschamps-Odoux), et je mentionnais justement qu'il
s'agissait précisément du résultat
d'un Gram-Schmidt
sur les dérivées successives du mouvement : j'ai eu du mal à ne pas
éclater de rire à la coïncidence. Mais même si vois le lien avec des
trajectoires dans l'espace, je ne sais vraiment pas précisément dans
quel genre de calcul, symbolique ou numérique, on utilise le repère de
Frénet.
En vérité, même si je connais ma mécanique orbitale et
lagrangienne, je n'ai aucune idée précise du genre de calculs qu'il
faut réellement mener pour envoyer un homme dans l'espace.
(Bon, je dois dire, je n'ai même pas d'idée précise sur le genre de
calculs qu'il faut mener pour construire un pont ou un moteur à
explosion. Je suis un peu comme le matheux d'une blague générique sur
les ingénieurs, physiciens et mathématiciens, qui démontrerait que le
pont, le moteur à explosion ou le vol orbital sont possibles — par une
démonstration non-constructibe qui ferait appel à l'axiome du
choix.)
⁂
Sur la précision scientifique des films hollywoodiens de façon plus
générale, j'étais tombé il y a un certain temps
sur cette
vidéo qui explique que des gens ont mis en place
une hotline permettant à l'industrie du cinéma
d'être mis en contact avec des scientifiques de tel ou tel domaine
quand ils veulent des conseils ou des éléments (phrases, équations à
mettre sur un tableau, etc.) pour rendre leurs films scientiquement
plus crédibles. Ça expliquerait un certain progrès que j'ai cru
constater dans le domaine depuis les années '90 (même si ce progrès
est souvent bien superficiel, il faut l'admettre : le fait de
prononcer une phrase techniquement sensée à tel ou tel moment ne va
pas compenser une absurdité fondamentale de principe ; il y a toujours
très peu de films qui,
comme The
Martian, se donnent pour mission d'être véritablement
réalistes scientifiquement, d'un bout à l'autre, ce qui implique
d'aller plus loin qu'appeler une hotline de temps
à autre).
⁂
À part ça, je me rends compte que je ne remplis pas vraiment
consciencieusement la catégorie cinema de ce blog : ces
derniers temps, j'ai vu en salles, entre
autres, Manchester
by the Sea
et 君の名は (traduit en « français »(?!)
par Your Name), et j'ai trouvé que les deux
étaient vraiment des chefs d'œuvre. Je n'ai pas le temps d'en faire
une critique maintenant (et ce serait un peu du réchauffé), mais je
les recommande tous les deux très vivement, ce sont des films d'une
très grande subtilité humaine et psychologique.
Je me suis engagé à donner un exposé (quelque part entre le 24 et
le 27 mars) dans le cadre de
l'événement Math en
Jeans : c'est-à-dire qu'il s'agit de vulgarisation adressée
à des lycéens motivés (a priori de seconde).
J'ai toute latitude pour choisir le sujet, donc je vais sans doute
choisir un des trucs sur lesquels j'ai déjà fait de la vulgarisation,
soit sur ce blog soit ailleurs : la contrainte est que je dois pouvoir
raconter ça en une heure (en prévoyant des probables interruptions par
des questions) et que ça soit accessible à des lycéens. Et, bien sûr,
que ce soit susceptible de les intéresser.
Je n'ai pas une idée très précise de ce qu'un lycéen (motivé !)
connaît en maths ni de ce qui l'intéressera : peut-être que certains
lecteurs (par exemple s'il y en a qui enseignent en lycée ou qui sont
ou out été lycéens il n'y a pas trop longtemps) peuvent m'éclairer un
peu.
Globalement, j'ai plutôt trop d'idées que pas assez, donc je me
demande si vous avez des conseils sur ce qui passerait plus ou moins
bien parmi les thèmes suivants (j'essaie de mettre à chaque fois un
lien vers une entrée de ce blog qui raconte de quoi il s'agit, mais il
ne s'agit pas forcément de raconter exactement la même chose,
notamment quand il s'agit de choses un peu techniques : c'est plus
pour donner une idée) :
[Ajout : quelques arguments pour/contre ces
différents sujets.]
Les (très très) grands nombres
et/ou les ordinaux infinis. (On
peut donner un côté ludique à la chose avec le jeu de l'hydre. Pour :
ça intéresse facilement, voire, ça impressionne ; ça ne dépend pas
trop de connaissances qu'ils pourraient avoir ou ne pas avoir.
Contre : ça peut donner l'impression d'être peu rigoureux, et on peut
facilement larguer les gens dans les définitions sans leur donner de
moyen de se rattraper ; certains risquent d'avoir déjà entendu de la
vulgarisation à ce sujet.)
La géométrie sphérique et la géométrie hyperbolique
(voir cette entrée et les quelques
suivantes). (On peut donner un côté ludique à la chose en montrant
mes différents labyrinthes
hyperboliques. Pour : c'est visuel et ça accroche facilement.
Contre : ils ne connaissent pas forcément grand-chose en
trigonométrie, donc difficile d'introduire
la formule fondamentale qui permet
de faire plein de calculs réels. Autre problème pratique : les
illustrations sont très fastidieuses à réaliser pour moi.)
Quelques notions de théorie combinatoire des jeux et notamment
comment gagner au jeu de nim (un peu
comme ici mais sans les trucs
infinis). (Pour : ils ressortent avec quelque chose de vraiment
utilisable — à savoir la stratégie gagnante de jeux comme nim, des
jeux de retournement de pièces, voir nim⊗nim ; sur les jeux de
retournement de pièces, je peux introduire des codes correcteurs ; le
tout serait sans doute facile à comprendre et ils n'auront sans doute
pas vu avant. Contre : ça peut donner l'impression d'être très
anecdotique.)
Quelques notions de géométrie finie
(voir ici
et là pour des illustrations).
(Contre : n'ayant pas vu de géométrie projective avant, l'élégance de
l'idée de construire des structures combinatoires à partir de notions
géométriques risque de leur échapper complètement.)
…et sans doute plein d'autres choses dont j'ai parlé à l'occasion
sur mon blog, comme le problème de
Hadwiger-Nelson (pas sûr qu'on puisse tenir une heure avec ça),
le lemme de Higman (ça fait une
démonstration complète et très accessible, mais c'est sans doute très
peu vendeur), l'automorphisme
exceptionnel de 𝔖₆ (peut-être pas très motivant).
Les cardinaux infinis. (Pour : ça a l'avantage de permettre de
faire des vraies démonstrations : argument diagonal de Cantor et/ou
théorème de Cantor-Bernstein. Contre : c'est peut-être aride ; et
comme pour les ordinaux, ça peut donner l'impression d'être peu
rigoureux.)
Les groupes finis, vus comme des groupes de permutations, et
présentés comme des puzzles
(cf. ceci).
Une introduction à la géométrie projective.
…et encore plein d'autres choses.
(Sujets triés par ordre approximatif d'intérêt/faisabilité a
priori.)
PS : Je dois fournir un titre rapidement, donc c'est
plutôt pressé !
PPS : Idéalement, j'aimerais arriver à faire au moins
une « vraie » démonstration pendant mon exposé, mais je me rends
compte que c'est mal parti. Certains sujets le permettent quand même
mieux que d'autres.
Fin : Finalement, j'ai choisi de faire un exposé
sur la théorie des jeux, dont le titre sera Jeu de nim : thème
et variations. (Comme je l'explique en commentaires, les
géométries sphérique et hyperbolique m'ont paru trop difficiles à
présenter à des élèves qui connaissent a priori très peu de
trigonométrie et pas la fonction exponentielle — ni à plus forte
raison les lignes trigonométriques hyperboliques. Quant aux grands
nombres et ordinaux, c'est sans doute plus facile de trouver en ligne
de la vulgarisation à ce sujet, et j'avais peur par ailleurs que ça
puisse en perdre rapidement plus d'un, et/ou que ça donne l'impression
d'être peu rigoureux, foire fumeux. Les jeux dont je vais parler, au
contraire, sont quelque chose de bien concret et sur quoi on peut
« mettre les mains ».) • Je parlerai au moins du jeu de nim, de ses
différentes variations et déguisements, et de jeux de retournement de
pièces (ce que Berlekamp, Conway et Guy appellent, avec leur
terminologie inimitablement
baroque, Moebius, Mogul
et Gold Moidores, et peut-être leurs liens
avec les codes correcteurs ; ou de façon générale, de certaines choses
qu'on trouve au tout début du volume ♣ de Winning
Ways).
La magie du nombre six redessinée sous forme pentagonale
L'avant-dernière entrée était
consacrée au commentaire mathématique d'un dessin illustrant une
propriété magique du nombre six : l'existence de six « pentades »
(c'est-à-dire six façons de regrouper trois par trois les doublets sur
six objets de manière que deux doublets regroupés ne partagent jamais
un objet) ; ce dessin était présenté sous forme « hexagonale »,
c'est-à-dire que chacune des pentades montrait les six objets sous la
forme des six sommets d'un hexagone régulier, ce qui à son tour
suggérait une certaine disposition des pentades elles-mêmes (comme la
permutation cyclique de l'hexagone fixe une pentade, en échange deux,
et permute cycliquement les trois dernières, j'avais choisi une
disposition et un coloriage qui mettait en évidence ces
transformations). On m'a convaincu de refaire le même dessin sous
forme « pentagonale », c'est-à-dire en disposant les six objets sous
la forme des cinq sommets d'un pentagone régulier plus son centre.
Voici le résultat (il s'agit donc, conceptuellement, du même
dessin, mais où les objets ont été disposés différemment, les pentades
aussi, et les couleurs sont différentes) :
Cette fois, la disposition pentagonale suggère de s'intéresser à la
permutation cyclique des cinq objets disposés selon les sommets du
pentagone : ce 5-cycle permute aussi les pentades selon un 5-cycle, ce
qui suggère de les disposer elles aussi de façon pentagonale, avec au
centre celle qui est fixée par le cycle, et en pentagone autour celles
qui sont permutées cycliquement. J'ai donc choisi comme couleurs le
noir et cinq couleurs maximalement saturées disposées régulièrement
sur le cercle chromatique (bon, c'est plutôt un hexagone chromatique,
mais peu importe). Du coup, tout le dessin est laissé invariant si on
effectue une rotation de 2π/5 (=un cinquième de tour) en permutant
aussi cycliquement les couleurs.
En plus de cela, le choix de la disposition définit ce que j'aime
appeler une polarité symétrique sur l'ensemble à six objets :
cela signifie que si on met en correspondance chaque objet avec la
pentade qui occupe « la même place » dans la disposition graphique,
alors l'automorphisme qui en résulte est involutif, au sens où une
pentade de pentades va reprendre la place de l'objet qui lui
correspond naturellement (on pourrait, du coup, se figurer ce dessin
comme une structure fractale où le petit disque représentant chaque
objet est remplacé par le dessin de la pentade correspondante, et
ainsi de suite à l'infini). J'ai essayé de donner aux objets les
mêmes couleur que les pentades, mais j'ai trouvé que ça embrouillait
plutôt qu'autre chose.
Je n'arrive pas vraiment à décider, mais je crois quand même que je
préfère la forme hexagonale du dessin. La forme pentagonale est
peut-être un chouïa plus symétrique, mais c'est une symétrie moins
bonne, parce qu'elle donne un rôle particulier à un des objets (en le
plaçant au centre du pentagone) ; et, de façon plus grave, elle donne
l'impression que la correspondance objets↔pentades que
j'appelle polarité symétrique ci-dessus est naturelle alors
qu'elle résulte de la disposition pentagonale (or tout l'intérêt de
l'automorphisme extérieur de 𝔖₆ est justement que les
pentades ne sont pas en correspondance naturelle avec les
objets). Mais ça a certainement un intérêt de voir ces deux dessins
(et d'essayer de se convaincre que c'est bien la même chose).
(Pour aller un cran plus loin, ça peut être intéressant de se
convaincre que quelle que soit la manière dont on décide d'identifier
les objets du dessin « pentagonal » avec les objets du dessin
« hexagonal », il en découle une identification des pentades,
et inversement, quelle que soit la manière dont on décide d'identifier
les pentades, il en découle une identification des
objets.)
⁂
Ajout () :
On me fait la remarque suivante : plutôt que disposer mes six
objets selon un pentagone régulier plus son centre, ce qui en
distingue un, j'aurais pu les disposer selon les sommets d'un
icosaèdre régulier modulo antipodie (c'est-à-dire, en identifiant deux
sommets opposés ; ou si on préfère, selon les six diagonales centrales
d'un icosaèdre régulier). Je ne vais pas faire la représentation
graphique parce que ce serait trop pénible, mais en fait c'est très
intéressant : cette disposition icosaédrale évite de distinguer un
objet, mais elle distingue toujours une pentade privilégiée, et c'est
presque exactement ce qu'elle fait.
Plus exactement :
le groupe
des isométries directes de l'icosaèdre est isomorphe au groupe
alterné (=groupe des
permutations paires)
𝔄₅ sur cinq objets, et l'automorphisme extérieur de 𝔖₆
est justement une façon de se représenter les choses. Placer les six
objets aux sommets d'un icosaèdre modulo antipodie définit une pentade
privilégiée (à savoir, l'unique pentade laissée fixée par la rotation
d'angle 2π/5 autour d'un sommet quelconque de l'icosaèdre) ;
et les isométries directes de l'icosaèdre sont précisément les
permutations paires sur les 5 pentades restantes (i.e., fixant cette
pentade privilégiée). Les 5 synthèmes de la pentade privilégiée
peuvent se voir comme 5 sextuplets d'arêtes de l'icosaèdre (sextuplets
parce que ce sont des triplets d'arêtes opposées) dont les milieux
forment un octaèdre, ce qui permet de
retrouver une
description classique du groupe des isométries de l'icosaèdre
comme les permutations paires sur cinq octaèdres inscrits dans
l'icosaèdre. (Il est pertinent de remarquer au passage qu'un
permutation sur six objets est paire si et seulement si la permutation
correspondante sur les pentades l'est.)
On doit aussi pouvoir faire le lien avec des structures de droite
projective sur le corps à cinq éléments : comme les pentades sur six
objets sont aussi en bijection avec toutes les façons de voir les six
objets comme la droite projective sur 𝔽₅, ça veut dire qu'il y
a une structure de droite projective sur 𝔽₅ « naturelle »
(privilégiée) sur les sommets d'un icosaèdre modulo antipodie. Je
soupçonne qu'il y a une jolie façon de la voir en réduisant modulo 5
les birapports des sommets de l'icosaèdre dans quelque chose, mais les
détails m'échappent.
Sur la magie du nombre six (l'automorphisme exceptionnel de 𝔖₆)
J'ai posté dans une entrée
récente le dessin suivant, avec la devinette d'essayer de
trouver ce qu'il représente et ce qu'il nous apprend :
Les réponses dans les commentaires ont été intéressantes (et j'ai
bien fait de proposer cette devinette), parce que plusieurs personnes
ont remarqué des aspects différents du dessin, et ont fait des
observations justes et pertinentes. La réponse mathématique que je
vais tenter d'expliquer tourne autour du fait que les matheux énoncent
classiquement en disant que le groupe des permutations sur six objets
(et uniquement sur six objets) possède un « automorphisme
extérieur non-trivial » ; mais cette formulation n'a aucun sens pour
les non matheux, et même pour les matheux je trouve qu'elle ne fait
pas vraiment ressortir pourquoi ce fait est remarquable et
exceptionnel. Donc le mieux est peut-être de formuler le fait
remarquable sous la forme suivante (qui est certes un peu de l'agitage
de mains, mais qu'on peut rendre rigoureux, et que je trouve en tout
cas plus parlant), et c'est ça que je vais essayer d'expliquer :
À partir de six objets, il est possible de construire, de façon
systématique, de nouvelles « choses », également au nombre de six,
tout aussi interchangeables que les objets de départ, mais qui ne
peuvent pas être mis en correspondance systématique avec eux.
De plus, ceci n'est possible pour aucun autre nombre que six.
Pour les mathématiciens qui aiment la théorie des
catégories, ce qui précède est censé signifier la chose suivante : le
groupoïde formé des ensembles de cardinal 6 avec les bijections pour
morphismes admet un endofoncteur fidèle (donc automatiquement une
autoéquivalence) mais qui n'est pas naturellement isomorphe à
l'identité ; et ce n'est vrai pour aucun autre entier naturel
que 6.
C'est un exemple d'un de ces phénomènes exceptionnels en
mathématiques, comme on nomme des structures intéressantes qui
apparaissent uniquement dans un petit nombre de cas : en l'occurrence,
cet « automorphisme exceptionnel de 𝔖₆ » fait partie d'une
sorte de chemin magique d'objets exceptionnels, qui le relie aussi aux
groupes de Mathieu ou au système de racines de E₆ et aux vingt-sept
droites sur la surface cubique. Mais celui-ci a l'intérêt d'être
raisonnablement facile à expliquer, surtout avec mon (j'espère) zouli
dessin (censé représenter ces six « choses » qui, plus bas,
s'appellent des pentades).
Au passage : la
notation 𝔖₆ (vous devriez voir une S gothique avec un 6
en indice) désigne le groupe des permutations sur 6 objets,
c'est-à-dire l'ensemble des façons de leur faire changer de place (ou
pas) ; voir aussi cette entrée
antérieure
et cette vidéo
YouTube pour une description animée des différents sous-groupes
transitifs de 𝔖₆ (c'est-à-dire, toutes les façons de permuter
six objets qui sont capables de placer n'importe quel objet à
n'importe quel endroit).
Après, je dois avertir que, si je suis parti pour expliquer ça, mon
enthousiasme s'est un peu atténué en chemin, et la fin de cette entrée
est sans doute un peu bâclée (j'avoue que j'ai passé tellement de
temps à trouver le bon chemin pour expliquer proprement la
combinatoire des synthèmes et pentades ci-dessous qu'à la fin j'en
avais marre, et j'ai plutôt traîné des pieds pour la finir). Je la
publie telle quelle en espérant qu'elle ait un certain intérêt, même
si je me rends compte qu'elle est bancale et un peu décousue. (Par
ailleurs, si on n'est pas intéressé par les détails, ne pas hésiter à
sauter les démonstrations, qui ne sont pas franchement indispensables
pour la compréhension de l'ensemble.)
⁂
Partons, donc de six objets. On pourra imaginer si on veut qu'ils
sont placés aux six sommets d'un hexagone, comme dans chacun des
hexagrammes ci-dessus ; ou bien qu'ils sont
numérotés 0,1,2,3,4,5 : ça n'a
aucune importance (et je vais tâcher de préciser cette absence
d'importance plus loin). Je vais introduire quatre termes désignant
des structures de complexité croissante fabriqués sur ces six objets :
outre les 6 objets eux-mêmes, je vais définir les
15 doublets, les 15 synthèmes et les
6 pentades (ces dernières étant, essentiellement, ce
que j'ai représenté ci-dessus). Précisément :
Les objets sont ces six choses dont je suis
parti. Il y a donc 6 objets.
Les doublets sont les paires d'objets : par
« paire » j'entends la donnée de deux objets (différents) sans qu'il y
ait un ordre particulier entre les deux. Ainsi, si mes objets sont
représentés comme les six sommets d'un hexagone, les doublets sont
toutes les arêtes et diagonales de l'hexagone (tous les segments
représentés sur l'un des dessins ci-dessus). Si les objets sont
numérotés 0,1,2,3,4,5, alors les doublets peuvent être numérotés
01,02,03,04,05,12,13,14,15,23,24,25,34,35,45 : remarquez qu'il n'y a
pas de 21, par exemple, dans ma liste, parce que c'est la même chose
que 12 (c'est en ce sens que je dis qu'il s'agit de paires sans ordre
ou non ordonnées).
Il y a 15 doublets : ceci peut se voir soit en comptant
l'énumération que je viens de faire (et en se convainquant qu'il n'y a
ni omission ni répétition), soit en faisant le raisonnement que pour
choisir un doublet, on choisit un premier objet parmi 6, puis un
second parmi 5, et on doit ensuite diviser par deux parce qu'on a
obtenu chaque doublet deux fois (selon que l'un ou l'autre objet a été
choisi en premier) ; bref, il y a 6×5÷2=15 doublets.
Je dirai par ailleurs que deux doublets distincts
sont enlacés (c'est moi qui invente le mot, il n'est pas
standard) lorsqu'ils ont un objet en commun : par exemple, si j'ai
numéroté les objets, les doublets 02 et 23 sont enlacés (ils ont
l'objet 2 en commun), tandis que 02 et 13 ne sont pas enlacés.
Maintenant, ça se complique. Un synthème est la
donnée de trois doublets (distincts, sans ordre) dont aucun
n'est enlacé avec un autre, c'est-à-dire, ne faisant intervenir aucun
objet en commun ; autrement dit, il s'agit d'une façon de regrouper
mes six objets en trois doublets, l'ordre n'ayant pas d'importance.
Si on préfère, c'est une façon d'apparier (« marier ») les objets deux
par deux. Par exemple, si je numérote mes objets, 01/23/45 est un
synthème (formé des doublets 01, 23 et 45 : on apparie 0 avec 1, et 2
avec 3, et 4 avec 5) ; de même, 03/14/25 est un synthème. Sur les
dessins ci-dessus, si vous regardez un quelconque des hexagones et une
couleur particulière, il y trois segments de cette couleur,
c'est-à-dire trois doublets, qui constituent un synthème (autrement
dit, ils n'ont aucun objet/sommet en commun).
Combien y a-t-il de synthèmes ? On peut faire le raisonnement
suivant : pour construire un synthème, je choisis un parmi les 15
doublets ; puis je dois en choisir un autre qui ne fait intervenir
aucun des objets du premier doublet, ce qui me laisse 4×3÷2=6
possibilités pour le second doublet ; puis je choisis le troisième, et
là, je n'ai plus du tout de possibilité ; et en faisant tout ça, j'ai
compté six fois chaque synthème puisque j'ai pu prendre ses trois
doublets dans n'importe quel ordre, et il y a six ordres possibles :
je me retrouve donc avec 15×6÷6=15 synthèmes. Voici un raisonnement
peut-être plus simple : pour construire un synthème, je choisis
l'objet que je vais apparier avec l'objet 0, j'ai donc 5 possibilités
de choix (tous les objets sauf 0), puis je considère le premier objet
non encore apparié et je choisis avec quel objet je vais l'apparier,
ce qui me laisse 3 choix possibles (à savoir, n'importe quel objet
autre que les 2 déjà appariés et l'objet que je cherche à apparier),
et une fois ces choix faits, le synthème est complètement déterminé
(car il ne reste que deux objets à apparier, et on ne peut donc que
les mettre ensemble), donc j'ai 5×3=15 synthèmes.
On peut aussi les énumérer exhaustivement : visuellement, cela se
fait très bien, et voici les 15 synthèmes représentés
graphiquement (faites défiler horizontalement) :
Ou si on préfère numéroter les objets, ils sont (dans l'ordre
utilisé ci-dessus si les objets sont numérotés de 0 à 5 dans le sens
contraire des aiguilles d'une montre à partir de celui qui est à
droite) : 03/14/25, 01/23/45, 05/12/34, 03/15/24, 02/14/35, 04/13/25,
03/12/45, 05/14/23, 01/25/34, 04/12/35, 04/15/23, 02/15/34, 02/13/45,
05/13/24, 01/24/35.
Je dirai par ailleurs que deux synthèmes distincts
sont enlacés lorsqu'ils n'ont pas de doublet en
commun. (Je sais, ça peut sembler inversé : j'ai défini deux doublets
comme enlacés lorsqu'ils ont un objet en commun ; mais on va
voir que c'est logique.) Par exemple, 03/14/25 et 01/23/45 sont
enlacés, tandis que 03/14/25 et 03/15/24 ne le sont pas (ils ont le
doublet 03 en commun).
Quatrième et dernière définition : une pentade
(également appelée pentade synthématique ou total
synthématique) est formée de cinq synthèmes (distincts, sans
ordre) qui sont tous enlacés les uns avec les autres : autrement dit,
c'est une façon de répartir les quinze doublets trois par trois pour
former cinq synthèmes.
Pour dire les choses de façon un peu différente : une pentade est
une manière de colorier les quinze doublets avec cinq couleurs de
façon que deux doublets distincts enlacés (=ayant un objet commun) ne
soient jamais de la même couleur (il est facile de se convaincre qu'il
y aura alors forcément trois doublets, donc un synthème, de chaque
couleur) ; je souligne que l'identité des couleurs n'a aucune
importance (si on échange deux couleurs, la pentade reste la même),
seul compte le fait que deux doublets aient ou n'aient pas la même
couleur.
Chacun des six hexagones de mon dessin initial représente une
pentade, figurée par un coloriage des segments : si on se concentre
sur un des hexagones, chacune des couleurs représente un synthème de
la pentade, et la pentade est la répartition des doublets en ces cinq
synthèmes. On peut se convaincre que les six pentades dessinées sont
toutes distinctes (j'insiste : il ne s'agit pas simplement de voir que
les couleurs sont différentes, mais que la répartition des
doublets entre les synthèmes est différente).
On pourrait s'imaginer qu'il y a beaucoup de pentades, mais en
fait, il y en a a exactement six (i.e., je les ai toutes dessinées,
chacune une seule fois, ci-dessus). Je démontrerai plus loin ce
fait qui rend toute l'histoire intéressante.
Pour résumer tout ce qui précède, les 6 objets définissent 15
doublets (chacun formé de 2 objets distincts) ; on a aussi défini 15
synthèmes (chacun formé de 3 doublets distincts mutuellement non
enlacés), et enfin des pentades (au nombre de 6 mais on ne le sait pas
encore, chacune formée de 5 synthèmes distincts mutuellement enlacés).
Mon but est d'expliquer qu'il y a une forme de « symétrie » qui
échange objets et pentades en même temps qu'elle échange doublets et
synthèmes.
Sur les adjectifs qui élargissent le nom qu'ils qualifient
Le point de grammaire(?) que je veux évoquer ici concerne surtout
la terminologie scientifique, notamment mathématique, même s'il
est a priori complètement général.
Normalement, quand on accole une épithète à un nom, ou en fait
n'importe quelle sorte de complément, le sens devrait être
de préciser, c'est-à-dire de restreindre, l'ensemble
des entités possiblement désignées. Par exemple, même si vous ne savez
pas ce que c'est qu'un foobar (c'est normal !), ni ce que signifie
l'adjectif cromulent (idem), si je parle d'un foobar
cromulent, vous pouvez conclure qu'il s'agit d'une sorte
particulière de foobar, qui a une propriété additionnelle (être
cromulent) par rapport à celle d'être un foobar. De même,
un bazqux roncible frobnicable devrait être un type spécial de
bazqux roncible, qui est lui-même une sorte de bazqux ; et le groupe
des ptérodoncles mouffetés de Linné devrait être un ensemble
(d'animaux ?) plus restreint que celui des ptérodoncles.
Je suis sûr que les grammairiens ou les linguistes ont un terme
précis pour ce phénomène, mais je ne le connais pas ; ou peut-être, au
contraire, un terme pour les exceptions. Car il y a bien sûr des
exceptions. Dans le langage courant, elles abondent. Un secrétaire
général n'est pas vraiment un secrétaire (et pas du tout un général,
mais ça c'est plutôt une blague). Un procureur adjoint n'est pas un
procureur, puisqu'il n'est qu'adjoint (et il en va de même d'adjectifs
comme délégué). Un faux bourdon n'est évidemment pas un
bourdon, comme un faux acacia n'est pas un acacia : on peut s'attendre
à ce qu'un faux foobar ne soit pas un foobar, d'un autre côté,
une fausse bonne idée est quand même une idée, même si elle
n'est pas une bonne idée. Il y a aussi tout ce qui est nommé
par métonymie ou par métaphore : un blouson noir n'est pas une
sorte de blouson et un visage pâle n'est pas une sorte de
visage ; une peau de chagrin était bien ce que ça dit jusqu'à
ce qu'un roman de Balzac donne un sens très particulier à cette
expression. Et ainsi de suite. Évidemment, les frontières des mots
dans le langage non-technique ne sont pas rigoureusement définies,
donc il n'est pas toujours possible de décider avec certitude si un
adjectif est ou n'est pas restrictif au sens du paragraphe précédent :
un tableau noir est-il un type particulier de tableau, par exemple ?
certainement si on prend tableau au sens le plus large, mais ce
n'est pas ce qu'on entend normalement par ce mot. Un hôtel
de ville est un hôtel pour une certaine définition
d'hôtel, mais ce n'est plus vraiment le sens courant de ce mot.
Et je ne saurais pas vraiment dire si un coup de soleil est une sorte
de coup, ou si le clair de lune est une sorte de clair
(whatever that may be).
Dans le vocabulaire technique, on pourrait espérer que les mots
aient un sens suffisamment précis pour pouvoir éviter ces gags, mais
ce n'est pas le cas. En mathématiques, un faisceau pervers
n'est pas un faisceau et en physique, un champ quantique n'est
pas un type particulier de champ [classique] mais un concept parallèle
dans un cadre adjacent (la théorie quantique des champs), et il est
discutable qu'une étoile à neutrons soit une étoile. Sans
compter, bien sûr, les cas où le terme technique est une locution
indivisible : un trou noir (terme technique) n'est pas une
sorte particulière de trou (terme non technique). La situation reste
beaucoup plus rare que dans le langage courant.
Il y a cependant une situation importante où un foobar cromulent
n'est pas une sorte particulière de foobar, et dont les matheux ont
assez souvent besoin, et peut-être aussi d'autres sciences (les
exemples ne me viennent pas trop à l'esprit, mais je suppose qu'ils
doivent exister), ce sont les cas où on veut au
contraire élargir le sens d'un mot. Autant la situation
normale est que l'adjectif restreint le sens d'un mot, et les
diverses situations évoquées jusqu'ici sont des cas où il déplace
(comme faux, adjoint, etc.) ou bien le transforme de
façon complètement imprévisible et figée par l'usage (blouson
noir), la situation d'élargissement est encore un peu
autre chose.
Le cas d'usage typique pour les maths est qu'un foobar est défini
par différentes propriétés, et on veut désigner un objet qui vérifie
toutes les propriétés du foobar sauf une. On peut bien sûr appeler ça
un quasi-foobar ou un pseudo-foobar ou un presque
foobar (near foobar en anglais ; certains
grammairiens grincheux pourraient râler de voir un adverbe
— presque — qualifier un nom), ou ce genre de choses, mais on
aura peut-être envie de parler de foobar généralisé, et là,
l'adjectif généralisé élargit le sens du mot.
Mais je pense que la situation la plus fréquente est celle, très
proche, où on fait tout un traité sur les foobars bleutés, alors par
flemme d'écrire bleuté à chaque fois, on convient dans
l'en-tête du traité : le terme foobar désignera ci-après,
sauf précision du contraire, un foobar bleuté. Une fois cette
convention faite, pour parler d'un foobar en général, on doit
écrire foobar non nécessairement bleuté, et non
nécessairement bleuté est une locution adjectivale qui a cette
propriété d'élargir le sens du mot foobar (en retirant
la restriction bleuté). Et comme le mot nécessairement
est lui-même long à dire, on écrit le plus souvent foobar non
bleuté, ce qui est un abus de langage ou de logique parce qu'on
veut, en fait, dire non nécessairement bleuté (i.e., foobar
dans le sens où on retire la convention faite initialement qu'il est
sous-entendu bleuté, mais il se pourrait qu'il soit quand même bleuté
quand même). Il faut admettre que cela cause une certaine confusion,
mais je ne connais aucune façon agréable de se sortir de ce problème
de rédaction.
Le cas d'école est celui de la commutativité (et éventuellement de
l'unitarité ou de l'associativité) des anneaux : en algèbre, un anneau
est défini comme un ensemble muni d'opérations (l'addition et la
multiplication) vérifiant un certain nombre de propriétés
(l'associativité de l'addition, la commutativité de celle-ci,
l'existence d'un neutre et de symétriques pour l'addition, la
distributivité de la multiplication sur l'addition, l'associativité de
la multiplication et l'existence d'un neutre pour la multiplication ;
la dernière, voire les deux dernières n'étant pas systématiquement
incluses dans la définition) ; et les gens qui font de
l'algèbre commutative vont avoir envie d'ajouter une
propriété supplémentaire, la commutativité de la multiplication, ce qui donne
la notion d'anneau commutatif (commutatif étant ici un adjectif
régulier, c'est-à-dire restrictif). C'est pénible d'écrire anneau
commutatif trente-six fois par page, alors on fait souvent la
convention que anneau signifiera désormais anneau
commutatif (typiquement sous la forme : tous les anneaux
considérés ici seront, sauf précision du contraire, supposés
commutatifs, et peut-être, pour qu'il n'y ait aucun doute sur la
définition utilisée, unitaires [i.e., possédant un élément neutre
pour la multiplication] et associatifs). Mais on a quand même
envie de temps en temps de dire quelque chose sur les anneaux plus
généraux, alors on devrait écrire anneau non nécessairement
commutatif en utilisant un adjectif qui élargit le sens du mot.
Sauf qu'en fait, il n'est quasiment jamais intéressant de parler
spécifiquement d'anneaux non nécessairement commutatifs qui ne
sont effectivement pas commutatifs (au sens où il existe
vraiment x et y tels
que x·y≠y·x), donc on dit
simplement non commutatif pour non nécessairement
commutatif ; ce qui conduit à la situation absurde qu'un anneau
commutatif est un cas particulier d'un anneau non commutatif (puisque
ce dernier terme signifie en fait non nécessairement
commutatif). C'est agaçant, j'en conviens, mais je ne connais pas de
façon agréable de s'en sortir.
En fait, c'est très souvent le cas avec les adjectifs en non
en mathématiques : de la même manière, un automate fini déterministe
est un cas particulier d'un automate fini non déterministe (puisque ce
dernier terme signifie en fait non nécessairement
déterministe).
Le terme d'algèbre est particulièrement merdique parce qu'il
signifie plein de choses selon le contexte : la multiplication peut
être commutative et associative, ou seulement associative, ou même
pas ; si on la suppose associative par défaut (ce qui est quand même
le plus courant), ça n'empêchera pas d'écrire algèbre de Lie
alors que le crochet de Lie n'est pas associatif (on a une autre
hypothèse à la place, l'identité de Jacobi) ; de même, si on
écrit algèbre alternative, il faut comprendre que l'hypothèse
d'associativité a été remplacée par quelque chose de plus
faible (l'hypothèse d'alternativité / de Moufang) ; et c'est pareil
pour les algèbres de Jordan. Donc une algèbre de Lie, une algèbre
alternative et une algèbre de Jordan ne sont (en général) pas des
algèbres [associatives], ce sont des algèbres non [nécessairement]
associatives, en revanche toute algèbre [associative] est une algèbre
alternative. Et c'est sans compter la notion très générale d'algèbre
sur une monade ! Pour le mathématicien habitué, tout ça ne pose pas
trop de problème, à part un énervement certain quand on tient à la
logique, mais quand il s'agit d'enseigner, c'est vraiment
embêtant.
Certains proposent parfois des adjectifs différents pour rendre la
terminologie moins incohérente : par exemple, si on convient qu'un
corps est nécessairement commutatif (ce qui, n'en déplaise à Bourbaki,
est quasiment universellement admis), lorsqu'on veut parler de corps
non nécessairement commutatif, plutôt que d'écrire la longue
expression corps non nécessairement commutatif ou l'abus de
langage corps non commutatif, certains aiment écrire algèbre
à division (avantage : c'est bien une algèbre ; inconvénient :
personne ne sait au juste ce que c'est qu'une algèbre), ou corps
gauche (avantage : c'est relativement court et agréable à écrire ;
mais il reste que ce n'est pas un corps, et le terme n'est pas ultra
standard), voire corps-gauche (le trait d'union permet de faire
comme si ce n'était pas un adjectif et de prétendre qu'il est
complètement normal qu'un corps-gauche ne soit pas un corps). Ça peut
marcher pour des cas précis, mais ce n'est pas une solution
universelle.
On pourrait aussi se demander ce qu'un adverbe est censé avoir
comme effet général sur un adjectif (qui lui-même qualifie un nom) :
si les foobars orgnesquement cromulents sont censés être des
foobars, comment se situent-ils par rapport aux foobars cromulents ?
Je ne crois pas vraiment qu'il y ait de convention absolue en
mathématiques : parfois localement cromulent
implique cromulent, parfois c'est la réciproque qui vaut,
parfois ni l'un ni l'autre.
Une version de Gödel sur l'inséparabilité des théorèmes et antithéorèmes
(Le mot antithéorème, dans le titre et dans ce qui suit,
désigne un énoncé P dont la négation logique, que je note
¬P, est un théorème, i.e., un énoncé réfutable
alors qu'un théorème désigne un énoncé démontrable. Si vous
avez du mal à distinguer vrai/faux
de théorème/antithéorème, vous
pouvez réviser ici.)
Je fais de temps en temps des remarques sur le théorème de Gödel
(par exemple ici), il semble que ce
soit un sujet dont on n'arrête pas d'extraire du jus. J'ai fait
une remarque
à ce sujet récemment sur MathOverflow, je me dis qu'elle pourrait
intéresser mes lecteurs, donc je vais tenter de l'expliquer. Je vais
essayer de reléguer les détails ou les complément un peu plus
techniques à plein de notes : ceux qui veulent
juste the big picture peuvent ignorer ces notes
(et, dans tous les cas, il vaut peut-être mieux les garder pour une
seconde lecture). Pour ceux qui veulent vraiment
juste the bottom line, j'explique ici, en
utilisant un tout petit peu de calculabilité, pourquoi il existe non
seulement des énoncés indémontrables et irréfutables (i.e.,
« logiquement indécidables »), mais même de tels énoncés dont
l'indémontrabilité et l'irréfutabilité sont elles-mêmes indémontrables
(i.e., « logiquement indécidablement indécidables »). J'avoue qu'il y
a un peu plus de subtilités dans tous les sens que ce que je pensais
(i.e., beaucoup de notes), mais j'espère qu'on peut quand même en
retenir quelque chose sans comprendre tous les détails.
La clé de tout ça, c'est de méditer sur la manière dont un
algorithme (i.e., une machine de Turing) peut séparer les théorèmes et
les antithéorèmes, ou le vrai et le faux — en gros, montrer qu'il ne
peut pas, même pas en un sens assez faible.
Voici un premier fait : il est possible de
produire un algorithme (i.e., une machine de Turing) qui, quand on lui
donne un énoncé mathématique P, termine en
répondant oui lorsque P est un théorème, et termine
en répondant non lorsque P est un antithéorème
(i.e., ¬P est un théorème). Il suffit, pour cela,
d'énumérer toutes les démonstrations mathématiques possibles (par
exemple en énumérant toutes les suites de symboles possibles, en
vérifiant pour chacune s'il s'agit d'une démonstration conforme aux
règles de la logique, tout ceci étant faisable algorithmiquement), et
si on tombe sur une démonstration de P, on s'arrête et on
répond oui, tandis que si on tombe sur une démonstration de
¬P, on s'arrête et on répond non. Je n'ai pas
précisé dans quel système axiomatique je me place, cela pourrait être,
par exemple, l'arithmétique de Peano [du premier
ordre] PA ou la théorie des ensembles ZFC
(mais dans ce cas, il faudra la supposer cohérente, ce
que ZFC lui-même ne peut pas prouver, sans quoi tout
énoncé serait à la fois théorème et antithéorème ce qui n'est pas bien
intéressant). Bien sûr, tout cela est complètement théorique (dans la
vraie vie, la démonstration automatisée ne sert que dans des théories
extrêmement étroites, pas pour des énoncés mathématiques
« généraux »). Mais le point théorique à souligner, c'est que
l'algorithme que je viens de décrire ne termine pas
si P n'est ni un théorème ni un antithéorème (i.e.,
s'il est logiquement indécidable dans la théorie considérée) : la
contrainte est seulement que siP est un théorème,
l'algorithme termine en répondant oui, et si
¬P est un théorème, l'algorithme termine en
répondant non.
Voici un deuxième fait : il n'est pas possible de
faire un algorithme (i.e., une machine de Turing) qui, quand on lui
donne un énoncé mathématique P, termine en
répondant oui lorsque P est vrai, et termine en
répondant non lorsque P est faux (i.e.,
¬P est vrai). En fait, ce n'est même pas possible si on se
limite[#] à ce que P
soit un énoncé arithmétique (c'est-à-dire, qui ne parle que
d'entiers :
voir ici
pour une petite discussion) ; ni même si on se limite encore plus à ce
que P soit un énoncé arithmétique Π₁ (c'est-à-dire
un énoncé de la forme pour tout entier naturel n, on
a Q(n), où Q, lui, est
arithmétique et algorithmiquement testable en temps fini pour
chaque n donné ;
voir ici
pour une discussion). La démonstration de ce deuxième fait est facile
si on connaît un tout petit peu de calculabilité, plus exactement,
l'indécidabilité algorithmique
du problème de
l'arrêt : si un algorithme comme je décrit ci-dessus (i.e.,
capable de dire si un énoncé est vrai ou faux) existait, il serait
notamment capable de dire si l'énoncé <tel algorithme> ne
termine pas quand on le lance sur <telle entrée> est vrai ou
faux (ceci est bien un énoncé arithmétique, et il est même
arithmétique Π₁), et du coup, de résoudre algorithmiquement le
problème de l'arrêt.
[#] À vrai dire, si je
ne mets pas une restriction de ce genre, c'est encore pire :
on ne
peut même pas énoncer formellement ce que ça voudrait
dire d'avoir un algorithme qui répond oui ou non selon
que l'énoncé est vrai ou faux.
Quand on met ensemble les deux faits que je viens de dire, on
obtient le théorème de Gödel : en effet, s'il est possible de faire un
algorithme qui répond oui sur les théorèmes et non sur
les antithéorème, et impossible de faire un algorithme qui
répond oui sur les énoncés vrais et non sur les énoncés
faux, c'est forcément que les deux concepts ne sont pas identiques !,
et donc, si tant est que tous les théorèmes de la théorie sont bien
vrais (ou au moins les théorèmes arithmétiques, ou au
moins[#2] les théorèmes
arithmétiques Σ₁), il y a forcément des énoncés vrais, et même
forcément des énoncés arithmétiques Π₁
vrais[#3], mais qui ne sont pas
des théorèmes. C'est le théorème de Gödel, et c'est d'ailleurs
peut-être la manière la plus simple de le voir. La construction peut
être rendue explicite (car l'indécidabilité du problème de l'arrêt
l'est). Je crois que cette façon de démontrer le théorème de Gödel
était une motivation importante pour Turing dans l'étude du problème
de l'arrêt.
Je ressors ici de mes cartons une vieille entrée commencée il y a
très longtemps, et plusieurs fois reprises, abandonnée, re-reprise,
re-abandonnée, etc. Il s'agit d'essayer d'expliquer ce que c'est, et
dans une certaine mesure comment visualiser, le plan projectif
complexe[#] et sa géométrie. (Sauf
qu'à cause de l'histoire compliquée de la rédaction de ce texte, qui
s'étale sur des années, j'ai changé plusieurs fois d'avis sur ce que
je voulais raconter, et il ne faut pas s'attendre à une grande
cohérence. Mais j'espère au moins que les différents bouts seront
intéressants.)
Le plan projectif complexe est intéressant parce qu'il appartient à
la liste des espaces homogènes et isotropes (ou : deux points
homogènes), ce que j'avais évoqué dans mon
entrée sur les octonions (plus
précisément, ici ;
je voulais en parler depuis
longtemps), et il est le plus simple/petit parmi eux qui ne soit pas
maximalement symétrique, c'est-à-dire, qui ne soit pas un espace
euclidien, une sphère (ou espace projectif réel) ou un espace
hyperbolique : si on veut essayer d'imaginer ce que la notion d'espace
homogène et isotrope signifie, et pourquoi ce n'est pas pareil que
maximalement symétrique, il est donc bon de commencer par là ;
d'autant plus qu'il n'est que de dimension (réelle) 4, ce qui n'est
pas totalement hors de portée de l'imagination, et de toute façon tous
ceux qui sont plus compliqués vont le contenir (ou bien contenir son
dual, le plan hyperbolique complexe).
Mais il y a une raison supplémentaire d'en parler, c'est que le
plan projectif complexe est une sorte d'amalgame entre le plan
projectif réel (qui n'est autre que la sphère ordinaire,
après identification des points antipodaux) et la droite projective
complexe (a.k.a., sphère de Riemann, qui est elle aussi la
sphère ordinaire, cette fois sans identification des antipodes, mais
qu'il sera pertinent d'imaginer de rayon deux fois plus petit) : ces
deux espaces-là sont faciles à comprendre, et sont aussi l'occasion de
parler de deux projections particulières de la sphère, à savoir
la projection
gnomonique et
la projection
stéréographique. Car le plan projectif réel est fortement lié à
la projection gnomonique de la sphère, et la droite projective
complexe à la projection stéréographique. • Toutes les deux
fonctionnent en projetant la sphère sur un plan tangent à elle et en
projetant depuis un point appelé centre de projection (c'est-à-dire
que pour projeter un point de la sphère, on trace la droite ou
demi-droite partant de ce centre de projetant et reliant le point à
projeter, et son intersection avec le plan choisi définit la
projection) : la différence est que dans le cas de la projection
gnomonique on projette depuis le centre de la sphère tandis
que dans le cas de la stéréographique on projette depuis le point
antipodal du point de tangence du plan choisi. La projection
gnomonique préserve l'alignement (i.e., envoie les grands cercles sur
des droites) et c'est d'ailleurs la seule à le faire, tandis que la
stéréographique préserve les angles. (Voir
aussi mes explications sur les
projections de la sphère et
l'application au
cas de la Terre, ou encore
le texte que j'avais écrit il
y a bien longtemps sur le sujet de la cartographie.)
[#] Plus exactement : le plan
projectif complexe muni de sa métrique/distance de Fubini-Study, qui
est alors une variété riemannienne de dimension 4 ; peut-être que je
devrais dire plan elliptique complexe (ou plan projectif
hermitien ?) — la terminologie n'est pas totalement claire.
Pour les lecteurs qui veulent tout de suite une définition,
le plan projectif complexe est l'ensemble des triplets
(u,v,w) de nombres complexes non
tous les trois nuls, dans lesquels on identifie
(u′,v′,w′) avec
(u,v,w) lorsqu'il existe λ
complexe non nul tel que (u′,v′,w′)
= λ·(u,v,w) (et pour
marquer cette identification, on note
(u:v:w) la classe de
(u,v,w), c'est-à-dire l'ensemble
{(λu,λv,λw)
| λ∈ℂ×}). Autrement dit, on identifie
(u,v,w) et
(u′,v′,w′) lorsque les trois
rapports u/u′, v/v′
et w/w′ sont tous les trois égaux (plus
exactement, les coordonnées nulles doivent être les mêmes d'un côté et
de l'autre, et les rapports entre coordonnées non nulles de part et
d'autres doivent être les mêmes). On dit
que u, v, w sont les coordonnées
homogènes du point (définies à un facteur
multiplicatif λ commun, donc). Souvent on les
prendra normalisées, c'est-à-dire que
|u|²+|v|²+|w|²=1 (mais ceci ne
définit toujours pas les coordonnées uniquement, car on peut encore
multiplier par un complexe λ de module 1).
Pour définir le plan projectif réel, on imposera bien sûr
à u,v,w d'être réels (non tous
nuls) ; et pour la droite projective réelle, on imposera
à w d'être nul (i.e., on n'utilise que deux coordonnées).
On pourrait bien sûr définir l'espace projectif de
dimension n quelconque en utilisant n+1
coordonnées homogènes. Et on peut faire la même définition avec les
quaternions qu'avec les réels ou les complexes (il faut juste faire
attention dans ce cas à bien fixer le sens de la multiplication :
disons qu'on identifie (u,v,w) avec
(λu,λv,λw)
pour λ un quaternion non nul : cela revient à identifier
(u,v,w) et
(u′,v′,w′)
lorsque u·u′−1, v·v′−1
et w·w′−1 sont égaux ou, ce qui
revient au même,
que u−1·v=u′−1·v′
et v−1·w=v′−1·w′
et w−1·u=w′−1·u′,
avec les conventions évidentes lorsque des coordonnées sont nulles).
Pour les octonions, en revanche, on ne peut fabriquer que la droite et
le plan projectifs, et les définitions sont plus délicates.
Mais ce dont je veux surtout parler, ce n'est pas juste le plan
projectif complexe, c'est aussi la distance qu'on met dessus
(et que je vais motiver en commençant par le cas du plan projectif
réel et de la droite projective complexe), qu'on appelle
la métrique
de Fubini-Study, et qui vaut
dist((u:v:w),
(u′:v′:w′)) =
Arccos(|u·u′*+v·v′*+w·w′*|
/
√((|u|²+|v|²+|w|²)·(|u′|²+|v′|²+|w′|²)))
où z* désigne le conjugué complexe
de z ; donc, pour des coordonnées normalisées, c'est
dist((u:v:w),
(u′:v′:w′)) =
Arccos(|u·u′*+v·v′*+w·w′*|),
autrement dit l'arc-cosinus du module du produit scalaire
hermitien entre les coordonnées normalisées. Il est facile de
vérifier que cette distance ne dépend pas des coordonnées homogènes
choisies.
Cette distance fait du plan projectif réel une sphère de
dimension 2 et rayon 1 où les points antipodaux sont identifiés
(l'identification étant par la projection gnomonique), et de la droite
projective complexe une sphère de dimension 2 et rayon ½
(l'identification étant par la projection stéréographique) dite
« sphère de Riemann ». Quant au plan projectif complexe, de
dimension 4, il a une forme où ces deux sortes de sphères jouent un
rôle important, et que j'ai tendance à décrire intuitivement comme un
« tissu de sphères » (les sphères en question sont les droites
projectives complexes du plan projectif complexe : il en passe
exactement une par deux points distincts quelconques, et deux d'entre
elles se coupent toujours en un point unique). Ce plan projectif
complexe, par ailleurs, possède énormément de symétrie, puisqu'elle
est homogène et isotrope (« tous les points sont
interchangeables, ainsi que toutes les directions à partir d'un
point »).
Je dirai encore un mot sur les plans projectifs réels
contenus dans le plan projectif complexe, sur les symétries de ce
dernier, et sur différentes sortes d'angles qu'on peut définir (car si
tous les points se valent et que toutes les distances égales se
valent, en revanche, la situation des angles est plus compliquée).
Les oulipiens ont inventé le concept
du plagiat
par anticipation, il faut peut-être que j'explore la manière dont
il s'applique aux mathématiques. Pour une fois je vais raconter mes
malheurs à ce sujet. Mais il faut d'abord que je donne le
contexte.
J'ai déjà parlé du problème de
Hadwiger-Nelson, cette question ouverte célèbre qui consiste à
déterminer le nombre minimum de couleurs qu'il faut pour colorier le
plan de façon que deux points situés à distance 1 (unité fixée
quelconque) n'aient jamais la même couleur : on sait seulement que la
réponse (i.e., le nombre chromatique du plan pour la relation
être-à-distance-un) est entre 4 et 7 ; et je qualifie volontiers ça de
problème ouvert le plus embarrassant des mathématiques, parce que
vraiment tout le monde peut comprendre l'énoncé, un lycéen peut
retrouver les bornes que je viens de donner et on n'a pas fait de
progrès par rapport à ça. On peut, en revanche, essayer de changer un
peu la question pour faire du progrès sur un terrain adjacent.
Vers avril 2012, j'ai réfléchi avec quelques collègues à de telles
questions adjacentes (par exemple, savoir si on peut calculer d'autres
invariants intéressants du graphe des points du plan avec la relation
être-à-distance-un, comme
sa capacité
de Shannon — enfin, celle de son complémentaire, parce qu'un des
collègues en question a des conventions opposées à tout le monde, et
des bons arguments pour les défendre), mais nous n'avons pas trouvé
grand-chose d'intéressant. • Comme je parlais du problème en question
à mon poussinet, il m'a demandé ce qu'on savait du nombre chromatique
pour des points à coordonnées rationnelles (i.e., le nombre
minimum de couleurs qu'il faut pour colorier l'ensemble ℚ² des points
à coordonnées rationnelles du plan, de façon que deux points situés à
distance 1 n'aient jamais la même couleur). J'ai trouvé la solution à
cette question-là (2 couleurs sont suffisantes — et évidemment
nécessaires), et je l'ai exposée à mes collègues ; l'un d'eux a
rapidement repéré que ce fait était déjà bien connu (le résultat est
dû à un Douglas Woodall, en 1973). J'ai fait remarquer que les mêmes
techniques permettaient de montrer des choses sur d'autres corps, par
exemple ℚ(√3) (le corps des nombres de la
forme a+b√3, où a et b
sont rationnels) pour lesquel le nombre chromatique du plan vaut
exactement 3, et cela a suscité un intérêt modéré.
Je suis alors tombé sur
le livre
d'Alexander Soifer, The Mathematical Coloring
Book (publié en 2009), presque entièrement consacré au
problème de Hadwiger-Nelson. Ce livre signale le résultat de Woodall
(le nombre chromatique du plan à coordonnées dans ℚ vaut 2) et
quelques unes de ses variations, et mentionne explicitement comme
problème ouvert de trouver des nombres chromatiques d'autres corps,
par exemple ℚ(√2). Je me suis rendu compte que je savais aussi
calculer la réponse pour ℚ(√2) (c'est un peu plus compliqué que pour
ℚ(√3)), et du coup que ça valait peut-être la peine de rédiger tout
ça.
Les choses ont un peu traîné, mais
j'ai mis sur l'arXiv
une petite note contenant ces résultats et quelques faits liés que
j'ai trouvé à dire sur le problème. Je pense qu'elle est facile à
lire.
Je pense que les trois angoisses majeures du mathématicien quand il
a obtenu son résultat sont : (1) de trouver une erreur dans sa
démonstration, voire un contre-exemple à l'énoncé, (2) de trouver que
le résultat est, en fait, quasiment trivial (i.e., au contraire
du (1), trouver une démonstration « trop simple » de l'énoncé), et
(3) d'apprendre que tout a déjà été fait avant. S'agissant du (1),
j'ai passé (je passe toujours) un temps fou à relire, re-relire, et
re-re-relire mes démonstrations, et j'ai atteint un niveau raisonnable
de certitude qu'elles étaient correctes, même si je n'ai pas pu
persuader qui que ce soit d'y jeter un coup d'œil. S'agissant du (2),
l'angoisse est largement neutralisée quand il s'agit d'un problème
ouvert répertorié (c'est notamment à ça qu'il sert de répertorier les
problèmes ouverts). Restait l'angoisse numéro (3). J'ai écrit à
Soifer (l'auteur du bouquin sur le sujet) pour lui demander si la
question était toujours ouverte depuis 2009, mais il ne m'a pas
répondu (je ne peux pas lui en tenir rigueur, je suis le premier à ne
pas répondre à mes mails). J'ai cherché comme j'ai pu dans les bases
de données de publications mathématiques et dans Google tout ce qui
pouvait tourner autour de Hadwiger-Nelson ou tout ce qui citait le
livre de Soifer ou quelques publications-clés, et je n'ai rien trouvé.
En fait, presque personne ne semble faire quoi que ce soit au sujet du
problème de Hadwiger-Nelson, donc je me suis dit que c'était
certainement bon.
Finalement, j'ai soumis ma note à un journal en octobre dernier.
Ils l'ont gardé plutôt longtemps (octobre à juillet), et je me suis
dit que c'était sans doute un bon signe : si on rejette un article par
manque d'intérêt, d'habitude, on le fait rapidement, alors que si on
prend le temps de rentrer dans les détails mathématiques, c'est
certainement que l'article est jugé assez intéressant, or je ne
craignais pas trop qu'on y trouvât des fautes.
J'ai reçu hier le rapport : il commence plutôt bien,
mais in cauda venenum : il m'apprend à la fin que
l'immense majorité des résultats que je croyais avoir obtenus figurent
déjà
dans une
note non publiée (et pas non plus mise sur l'arXiv, seulement sur
la page personnelle de son auteur) d'un certain Eric Moorhouse de
l'Université du Wyoming. Et ce Moorhouse a une très nette
antériorité, puisque la version actuelle de sa note est datée de 2010
et qu'on trouve
même des
traces d'une version de 1999 qui contient aussi les résultats
essentiels. Cette note m'avait échappé sans doute parce qu'elle
n'utilise nulle part le terme Hadwiger-Nelson, et apparemment
elle (ou en tout cas, sa version de 1999) avait aussi échappé à Soifer
quand il a écrit son livre.
Et il n'y a pas que les résultats qui sont proches : les techniques
que j'ai mises en œuvre sont quasiment identiques à celles de
Moorhouse (je ne peux même pas espérer parler de démonstrations
alternatives). Même la question que je soulève de savoir si le nombre
chromatique de ℂ² pour la relation (x−x′)² +
(y−y′)² = 1 est finie, est déjà dans l'article
antérieur. J'ai bel et bien été « plagié par anticipation » ! Plus
sérieusement, je suis dans une situation vraiment embarrassante, parce
qu'on pourrait m'accuser de plagiat ; le rapporteur qui a lu ma note a
eu l'intelligence de deviner que ce n'était pas le cas (et il l'écrit
clairement à l'éditeur), mais je me méfierai à l'avenir avant
d'accuser qui que ce soit de plagiat, parce que je me rends compte à
quel point ça peut arriver facilement.
Il y a bien quelques bouts restants dans ma note qui ne sont pas
contenus dans ce qu'a fait Moorhouse (pour ceux qui veulent regarder,
les §2–4 sont essentiellement incluses dans son travail, sauf
peut-être la borne inférieure de la proposition 4.6, mais ce n'est pas
franchement passionnant, et les §5–7 partent un peu dans une autre
direction), mais je vois mal comment ils pourraient être publiés, ne
serait-ce que par manque de cohérence : ce sont des petites remarques
éparses qui n'ont plus aucun fil conducteur. (La réponse de l'éditeur
du journal auquel j'avais soumis l'article ne ferme pas complètement
la porte à cette possibilité, mais il demande des révisions
substantielles qui ont l'air difficiles à mener.) À vrai dire,
j'espérais beaucoup pouvoir profiter de la publication de cette note
pour attirer l'attention sur le problème de
Hadwiger-Nelson minkowskien (=lorentzien), i.e., pour la
métrique de Minkowski (ℝ² pour la relation
(t−t′)² − (z−z′)² = 1), et
sur le fait que je ne sais même pas si le nombre chromatique est fini.
Mais ça ne se fait pas de publier un article avec des questions, il
faut qu'il y ait des résultats nouveaux pour servir de prétexte à
poser des questions. C'est vraiment triste.
En fait, je suis même assez effondré, parce que j'avais investi pas
mal de temps, pas tant dans les résultats eux-mêmes mais dans
la rédaction de cette note, que j'espérais rendre aussi jolie
que possible.
J'ai écrit à Moorhouse pour lui faire part de mon embarras, lui
présenter mes excuses d'avoir mis sur l'arXiv comme mien des résultats
qu'il avait obtenus avant, et demander s'il accepterait de faire une
publication jointe, mais je ne vois pas vraiment pourquoi il
accepterait (par ailleurs, je ne sais pas s'il est encore actif, ou
s'il lit son mail, ou s'il y répond).
❦
Ce n'est pas la première fois que ça m'arrive de retomber sur des
résultats déjà connus, en fait, ou quelque mésaventure du genre — même
si c'est la première fois que c'est aussi flagrant. Deux fois pendant
ma thèse, d'autres mathématiciens ont obtenu des résultats beaucoup
plus forts que les miens et quasiment simultanément (là, j'avais
techniquement l'antériorité, mais quand elle se joue à très très peu,
ce n'est pas forcément évident pour les journaux et relecteurs, et ça
a quelque chose d'un peu absurde de se retrouver à citer un article
postérieur qui fait que l'article qu'on écrit n'a déjà plus aucun
intérêt). Et je ne compte pas le nombre de concepts que j'ai
« découverts » pour apprendre que j'étais né trop tard dans un monde
déjà trop vieux : par exemple, en 2001, j'ai « découvert »
les séries de
Hahn, j'étais tout excité de comprendre qu'elles formaient un
corps algébriquement clos, et on m'a fait savoir que j'arrivais à peu
près un siècle trop tard. J'ai aussi trouvé plein de choses sur la
multiplication de nim avant de découvrir
que Lenstra
était passé avant, etc. Ce genre de choses arrive à tout
mathématicien, mais la multiplicité des cas qui m'ont touché commence
à me rendre parano. Pourtant, je cherche à m'écarter des sentiers
battus.
Ceci est un peu une expérience de vulgarisation scientifique : je
voudrais essayer d'expliquer et de démontrer un résultat mathématique
non-trivial en m'adressant aux gens n'ayant aucune
connaissance mathématique particulière (même pas, en principe, ce
qu'est un nombre), mais seulement un peu de patience pour lire des
explications plutôt verbeuses (bon, OK, si je demande de
la patience, ce n'est pas vraiment pour les enfants, mais je ne sais
pas quoi dire d'autre). Je pense que cela peut servir d'exemple pour
illustrer ce à quoi peut ressembler le travail d'un mathématicien et
les raisonnements qu'il fait, et surtout, pourquoi il peut s'agir de
tout autre chose que de formules et de calculs. (Ceci étant, la
vulgarisation mathématique est quelque chose de difficile parce qu'en
plus de chercher à expliquer les concepts ou les outils eux-mêmes, il
faut trouver quelque chose à répondre aux gens qui demanderont des
choses comme à quoi ça sert de se poser ce genre de question ?
de façon plus ou moins agressive.) Ai-je réussi à rendre les choses
compréhensibles ? À vous de me le dire — enfin, à ceux d'entre vous
qui ne sont pas déjà mathématiciens.
C'est aussi un petit exercice un peu oulipien : expliquer une
démonstration mathématique sans utiliser de « variables » (je veux
dire des choses comme le nombre n, le
mot w, le
langage L, l'ensemble S, etc.,
ou a fortiorila suite
(vi)) pour désigner les objets,
puisque je ne suppose pas mon lecteur familier avec cette façon de
désigner les choses. (Ce petit exercice est peut-être complètement
stupide, d'ailleurs, parce qu'il n'est pas clair que m'obliger à
utiliser des périphrases comme le mot qu'on considérait
ou le langage dont on était parti aide vraiment à comprendre,
et je pense même le contraire : mais cet exercice à l'intérêt de
m'obliger à limiter le nombre d'objets manipulés dans une phrase
donnée, à donner des exemples, etc., donc je pense qu'il a du bon.)
J'ai quand même réécrit la démonstration une deuxième fois avec ce
genre de langage, pour comparer (là aussi, aux non-mathématiciens de
me dire si c'est plus ou moins clair).
J'ai choisi pour l'exercice un théorème de combinatoire :
le lemme de
Higman. Pourquoi précisément le lemme de Higman ? Parce que
c'est un résultat important, relativement récent (1952), que je trouve
très joli, et dont la démonstration, simple, élégante et pas trop
longue, ne fait appel à aucun concept sophistiqué, mais est un bon
exemple de raisonnement pas du tout trivial aboutissant à une
conclusion peut-être surprenante. Mais aussi parce que cette
démonstration contient des idées mathématiques importantes (un
raisonnement par l'absurde qui est une forme de descente infinie), et
parce que le résultat lui-même admet des myriades d'applications et de
généralisations dans toutes sortes de directions, dont certaines sont
des sujets de recherche actifs, et dont certaines utilisent une
démonstration relativement proche de celle que je vais présenter.
Alors, de quoi s'agit-il ?
✻
Je commence par présenter le contexte.
On va d'abord parler de mots, et je vais expliquer
exactement ce que j'entends par là. Un mot est une succession (finie)
de lettres de l'alphabet. Par
exemple : abracadabra est un mot (d'une
longueur de 11 lettres, mais peu importe, j'ai dit qu'il n'était pas
nécessaire de savoir compter). Un mot n'est pas obligé d'avoir un
sens en français ou dans une quelconque autre
langue : kvtyeohegwnfth est un mot valable.
Un mot peut être arbitrairement
long : anticonstitutionnellementologiepouettruc
est un mot valable. Il peut aussi être arbitrairement
court : a est un mot. On va même autoriser
le mot, appelé mot vide, qui n'a aucune lettre dedans (de
longueur zéro) : il y a juste un petit problème pour l'écrire parce
qu'il ne se voit pas, d'où l'intérêt de mettre des guillemets autour
pour qu'on le voie quand même : (est le
mot vide). Une lettre peut être répétée autant de fois qu'on
veut : aaaaaaaaaaaaaa est un mot
parfaitement valable (et différent
de aaaaaaaaaaaaa).
En revanche, on n'a pas le droit à autre chose que des
lettres : pouet42truc n'est pas autorisé.
Ou du moins il ne l'est pas si on est convenu à l'avance que
l'alphabet est formé des lettres ‘a’, ‘b’, ‘c’,
‘d’, ‘e’, ‘f’, ‘g’, ‘h’,
‘i’, ‘j’, ‘k’, ‘l’, ‘m’,
‘n’, ‘o’, ‘p’, ‘q’, ‘r’,
‘s’, ‘t’, ‘u’, ‘v’, ‘w’,
‘x’, ‘y’ et ‘z’ à l'exclusion de toute autre : en
fait, le lemme de Higman marchera tout aussi bien si je veux ajouter
les chiffres dans l'alphabet, ou les caractères accentués, ou les
majuscules ; ou si je prends l'alphabet grec, ou russe, ou sanskrit,
ou tous les caractères chinois : la seule chose qui importe est que
l'alphabet soit fini et décidé à l'avance et qu'on n'y touche
plus (et on pourra toujours appeler lettres les choses qu'on a
mises dans l'alphabet) ; mais pour fixer les idées dans cette
explication, on va dire qu'il s'agit de l'alphabet latin minuscule,
c'est-à-dire exactement des — 26 mais peu importe — caractères que je
viens d'énumérer.
✻
Ce concept étant (j'espère) clair, on va jouer à un petit jeu (à
seul ou à plusieurs) consistant à écrire des mots les uns à la suite
des autres.
La seule règle du jeu est la suivante : une fois qu'un mot a été
écrit, il n'est plus autorisé d'écrire un mot qui s'obtient en
ajoutant des lettres dans le mot en question (au début, à la fin,
n'importe où au milieu, ou tout ça à la fois). Par exemple, si le
mot truc a été joué, on ne peut plus
jouer trucage, mais pas non
plus trouc
ni structure
ni autruche
ni tirebouchon (eh oui,
dans tirebouchon il y
a truc,
voyez : tirebouchon)
ni introductif
(idem : introductif),
ni cturtutrcu (cherchez bien, il y a moyen
de retrouver truc dans cet ordre en
retirant les bonnes
lettres : cturtutrcu).
Et, bien sûr, on ne peut pas rejouer truc
lui-même. Si le mot a a été joué, on ne
peut plus jouer aucun mot comportant un ‘a’ n'importe où. (Et
si le mot vide a été joué, plus aucun mot
n'est jouable et le jeu doit s'arrêter.) • Pour parler de façon plus
concise, un mot qui s'obtient à partir d'un autre en ajoutant des
lettres s'appellera un sur-mot, et inversement, l'autre
(qui s'obtient en retirant des lettres n'importe où) s'appellera
un sous-mot : donc truc est un
sous-mot de tirebouchon
et tirebouchon est un sur-mot
de truc (et tout mot contenant la lettre
‘a’ est un sur-mot de a, et tout mot
est un sur-mot du mot vide). On convient que tout mot est un sur-mot
et un sous-mot de lui-même. La règle du jeu est donc : on ne
peut pas jouer un mot dont un sous-mot a déjà été joué, ou
encore, jouer un mot « grille » (consomme, interdit, bannit)
définitivement tous ses sur-mots. C'est là la seule règle.
Évidemment, si on veut vraiment faire un jeu intéressant à partir
de l'histoire, il faudra ajouter des règles décidant qui gagne (par
exemple, en disant que celui qui joue le mot vide perd — si on décide
qu'il gagne, le jeu n'est vraiment pas bien palpitant ; en fait, même
si on décide qu'il perd, il y a une stratégie gagnante très facile).
Mais ce n'est pas tellement ça qui va m'intéresser.
Une question d'Analyse (moyenner une fonction), et de pourquoi elle m'intéresse
Commençons tout de suite par la question qui m'intéresse (je
précise que je n'en connais pas la réponse), que je vais faire suivre
de commentaires mathématiques, puis
métamathématico-psychologiques :
Soit f une fonction réelle 1-périodique, et L¹ sur une
période (ou, si ça ne suffit pas : mesurable et bornée). Est-il vrai
que pour presque tout x, la moyenne arithmétique
de f(x), f(x+1/n), f(x+2/n), f(x+3/n),
…, f(x−1/n), converge vers
l'intégrale de f (sur une période) ?
Cette question peut se voir comme la suite
d'une question que j'avais proposée en
exercice : si j'appelle
(ℳn(f))(x) la
moyenne dont il est question ci-dessus, je sais montrer un certain
nombre de choses, par exemple
que ℳn(f) tend dans
Lp vers (la fonction constante égale à)
l'intégrale de f si f est
Lp et p<∞, ou qu'il y a
convergence uniforme si f est Riemann-intégrable. Je
signale quelques autres faits apparentés (ainsi qu'une esquisse de
démonstration de ce que je viens de dire)
dans cette
question sur math.stackexchange, où je pose la question recopiée
ci-dessus et je demande aussi s'il y a convergence dans L∞
(lorsque f est L∞). Au moment où j'écris, je
n'ai pas eu de réponse (et la question n'a suscité que très peu
d'intérêt, ouin ).
Mise à jour () :
Comme on me le signale en commentaire, la réponse est non :
même pour f mesurable et bornée (en fait, même pour la
fonction indicatrice d'une partie de ℝ/ℤ), il n'y a pas forcément
convergence presque partout, ni même « quelque part »,
de ℳn(f)
vers f. C'est l'objet de l'article de Walter
Rudin, An
Arithmetic Property of Riemann
Sums, Proc. Amer. Math. Soc. 15 (1964),
321–324. La démonstration de Rudin est courte et a l'air assez jolie
et arithmétique. • Par ailleurs, auparavant, Marcinkiewicz et Zygmund,
dans Mean
values of trigonometrical
polynomials, Fund. Math. 28 (1937),
chapitre II, théorème 3 p. 157, avaient déjà montré que pour la
fonction précise −log(|x|)/√|x| sur [−½,½], prolongée par périodicité,
qui est L¹ sur une période mais non bornée, on n'a convergence nulle
part. • Par ailleurs, ces articles montrent que d'autres que moi ont
pensé que la question était naturelle, et d'autre part, qu'elle
n'était pas triviale. (Le terme qui me manquait pour chercher
était somme de Riemann : je pensais qu'une somme de Riemann
était le cas associé à une subdivision quelconque, pas spécialement
régulière, et qu'on n'allait donc pas trouver grand-chose de plus en
cherchant ce terme que la construction de l'intégrale de Riemann.)
Mais une méta-question que je trouve aussi intéressante, c'est :
pourquoi est-ce que je trouve la question ci-dessus extrêmement
intéressante, importante et naturelle ? (Peut-être que je ne
serai plus de cet avis si j'obtiens la réponse, mais au minimum je la
trouve intéressante au sens où j'ai vraiment envie d'avoir la
réponse.) Ce n'est pas juste que moyenner une fonction comme ça
est une opération qui me semble très naturelle (et assez
élégante) et qu'on a envie de savoir si ça converge vers l'intégrale
voire, si ça donnerait une « définition » de l'intégrale de Lebesgue.
L'Analyse n'est pas un sujet dont je suis un grand fan, mais à partir
du moment où on me présente une « situation » mathématique (ici, le
fait de moyenner une fonction 1-périodique par ses n
translatés par 1/n, et de considérer la limite
quand n→+∞) sur laquelle j'arrive à dire des choses,
j'ai naturellement envie de me poser toutes les questions
« adjacentes » à la situation : si j'ai un résultat de convergence
dans Lp pour p<∞,
j'ai naturellement envie de poser la question de la
convergence L∞ et de la convergence presque partout.
(D'ailleurs, le mystère c'est pourquoi j'ai mis plus d'un an à me
rendre compte que ces questions étaient naturelles et que je
ne savais pas les résoudre !) En plus de cela, il y a toujours un
degré de frustration à penser : bon sang, mais une question aussi
simple et naturelle que ça, je devrais savoir y répondre !,
ou au moins, trouver la réponse dans un livre/article.
J'ai souligné le mot naturel dans le paragraphe précédent,
parce que c'est un aspect psychologique fondamental dans la manière
dont je conçois les mathématiques : il n'y a pas que le fait que les
objets soient élégamment
symétriques et beaux par leur
grandeur qui me motive, il y aussi le caractère naturel
des questions qu'on se pose. Je me considère comme un mathématicien
pur non pas parce que je ferais des choses qui ne servent à rien, mais
parce que ce qui me motive quand je me pose une question de
maths n'est pas qu'elle serve à quelque chose (même à l'intérieur des
mathématiques), mais qu'elle soit naturelle dans le contexte.
Et c'est une qualité que je ne sais pas définir (même si cela a
certainement un rapport avec la simplicité) et dont je me demande à
quel point elle est personnelle, voire complètement illusoire. Un
autre mathématicien sera-t-il convaincu que la question ci-dessus est
intéressante ? Je ne sais pas. (Pas plus que pour les questions de
l'entrée précédente. En revanche,
une question telle
que est-il
vraie que pour toute fonction réelle f il existe une partie
dense à laquelle la restriction de f est continue ?
est probablement « naturelle » si j'en crois les réactions que j'ai
eues.)
Toujours est-il que je n'ai pas le temps d'y réfléchir sérieusement
(et je ne suis pas sûr d'y connaître assez en Analyse pour avoir une
chance sérieuse de savoir résoudre le problème), donc j'essaie
insidieusement de convaincre d'autres gens d'y
faire attention et d'y réfléchir à
ma place. Wir müssen wissen — wir werden
wissen!
Je suis un peu débordé en ce moment par la préparation de deux
cours[#] qui commencent dans deux
semaines et dont je n'ai pour l'instant que des notes très éparses et
inachevées, d'autant plus que j'enseigne autre chose en ce moment.
Mais pendant la préparation d'un de ces cours, je suis tombé sur une
difficulté mathématique au sujet de laquelle j'aimerais l'avis de mes
lecteurs mathématiciens (il doit bien y en avoir) ou amateurs de
mathématiques : ce n'est pas que je ne sache pas démontrer quelque
chose, mais que je m'étonne de la façon dont je le démontre, et je
trouve qu'il y a quelque chose de surprenant dans toute l'histoire.
Bref, je vais commenter les ressemblances et différences entre
quelques énoncés apparemment très semblables et surtout différentes
démonstrations des énoncés en question.
[#] L'un de ces cours
concerne la théorie des jeux ; ou plutôt les
théories des jeux, parce qu'il y a plusieurs
domaines que leurs spécialistes
appellent théorie des jeux, selon le type de jeux étudiés, et
dont l'intersection est relativement faible : pensez à celle (que je
ne sais pas nommer plus précisément) qui cherche
des équilibres
de Nash et celle (en gros,
la théorie
combinatoire des jeux) qui cherche à calculer
des valeurs
de Sprague-Grundy, par exemple, chacune a tendance à se définir
comme « la » théorie des jeux, et d'ailleurs ça m'énerve, en tout cas
je voudrais parler des deux et de quelques autres
encore. Mes
notes en cours d'écriture sont ici. L'autre cours concerne les
courbes algébriques, pour lequel il va s'agir de remanier profondément
un cours de géométrie algébrique
(anciennes
notes ici) que je donnais déjà.
Voici quatre énoncés mathématiques très simples, en théorie
élémentaire des ensembles, que je pourrais regrouper sous le label
général de théorèmes de points fixes, et que je vais appeler
successivement (P), (P$), (F) et (F$) :
(P) Soit X un ensemble : on note
𝒫(X) son ensemble des parties.
Soit Ψ:𝒫(X)→𝒫(X) une
application vérifiant les deux propriétés suivantes : (i) Ψ
est progressive, c'est-à-dire
que Ψ(A)⊇A pour
tout A∈𝒫(X), et (ii) Ψ
est croissante, c'est-à-dire que
si A⊇B
alors Ψ(A)⊇Ψ(B). Alors il
existe un plus petit A∈𝒫(X) tel
que Ψ(A)=A (c'est-à-dire
un A tel que Ψ(A)=A et que
si A′ vérifie
aussi Ψ(A′)=A′
alors A⊆A′).
(P$) [Exactement le même énoncé que (P) sans
supposer (i).] Soit X un ensemble : on note
𝒫(X) son ensemble des parties.
Soit Ψ:𝒫(X)→𝒫(X) une
application vérifiant la propriété suivante : Ψ
est croissante, c'est-à-dire que
si A⊇B
alors Ψ(A)⊇Ψ(B). Alors il
existe un plus petit A∈𝒫(X) tel
que Ψ(A)=A. [Un peu mieux : il
existe un plus petit A tel
que Ψ(A)⊆A, et ce A
vérifie Ψ(A)=A.]
Pour les deux énoncés suivants, j'ai besoin de rappeler la notion
de fonction partielle : si X et Z sont deux
ensembles, une fonction partielle X⇢Z
est une fonction définie sur une partie de X et à valeurs
dans Z ; on peut aussi la voir comme une partie
de X×Z (à savoir, le graphe de la fonction) qui
soit fonctionnelle au sens où si elle contient à la fois
(x,z₁) et (x,z₂) pour le
même x∈X alors
forcément z₁=z₂. La
relation f⊇g entre fonctions partielles signifie
alors que la fonction f prolonge la
fonction g (i.e., que f est définie partout
où g l'est, et qu'alors leurs valeurs coïncident).
(F) [Exactement le même énoncé que (P) avec des
fonctions partielles X⇢Z au lieu de parties
de X.] Soient X et Z deux
ensembles : on note 𝒟 l'ensemble des fonctions
partielles X⇢Z.
Soit Ψ:𝒟→𝒟 une application vérifiant les
deux propriétés suivantes : (i) Ψ
est progressive, c'est-à-dire
que Ψ(f)⊇f pour
tout f∈𝒟, et (ii) Ψ
est croissante, c'est-à-dire que
si f⊇g
alors Ψ(f)⊇Ψ(g). Alors il
existe une plus petite f∈𝒟 telle
que Ψ(f)=f (c'est-à-dire
un f tel que Ψ(f)=f et que
si f′ vérifie
aussi Ψ(f′)=f′
alors f⊆f′). [Précision : on
me fait remarquer à juste titre que cet énoncé est en
fait totalement creux (cf. la mise à jour
ci-dessous).]
(F$) [Exactement le même énoncé que (F) sans
supposer (i), donc exactement le même que (P$) avec des fonctions
partielles au lieu de parties.] Soient X et Z
deux ensembles : on note 𝒟 l'ensemble des fonctions
partielles X⇢Z.
Soit Ψ:𝒟→𝒟 une application vérifiant la
propriété suivante : Ψ est croissante,
c'est-à-dire que si f⊇g
alors Ψ(f)⊇Ψ(g). Alors il
existe une plus petite f∈𝒟 telle
que Ψ(f)=f. [Un peu mieux : il
existe un plus petit f tel
que Ψ(f)⊆f, et ce f
vérifie Ψ(f)=f.]
(Nomenclature : j'appelle (P) et (P$) les énoncés sur les Parties,
(F) et (F$) ceux sur les Fonctions partielles, et (P$) et (F$) les
énoncés qui vous en donnent plus pour votre argent.) J'espère que
j'ai écrit ces énoncés de façon à ce qu'il n'y ait pas le moindre
doute sur leur signification formelle. L'objet dont chacun de ces
énoncés affirme l'existence peut être qualifié de plus petit point
fixe de Ψ.
Commentaires : Le sens intuitif de ces résultats
est quelque chose comme le suivant : on a une opération Ψ
qui, pour prendre l'exemple de l'énoncé (F), prend une
fonction f et l'étend en une fonction peut-être définie sur
un peu plus de points, et par ailleurs, Ψ possède une
propriété de cohérence, à savoir que si on étend f, on
étend aussi le résultat de l'opération Ψ(f) ;
alors il existe une « clôture du vide » pour l'opération Ψ,
c'est-à-dire qu'en partant de rien, l'opération Ψ vous
permet d'arriver à une certaine fonction f à partir de
laquelle l'opération Ψ ne la fait plus grandir. Pour
donner un exemple d'application de (P$), considérer
l'ensemble X=ℕ des entiers naturels, et
l'opération Ψ qui à un ensemble A de naturels
associe l'ensemble formé des entiers 2, 3 et tous les produits de deux
éléments de A : le plus petit point fixe sera alors
l'ensemble de tous les entiers qu'on peut fabriquer en multipliant 2
et 3 autant qu'on veut ensemble (à savoir l'ensemble des
2i·3j avec au moins un
de i et j non-nul, mais peu importe) ; plus
généralement, (P) ou (P$) peut servir à montrer l'existence de toutes
sortes de « clôtures » sous des opérations variées. Généralement
parlant, le concept
de plus
petit point fixe (ou de point fixe en général)
apparaît très
souvent en mathématiques, et il existe tout
un labyrinthe — mais je crois
vraiment que les énoncés que j'ai cités ci-dessus sont parmi les plus
naturels.
Petites notes sur la calculabilité, et quelques remarques à ce sujet
Je donnais jeudi matin une très
courte[#] introduction à la
calculabilité, dans le cadre d'un cours intitulé Théorie des
Langages (donc un sujet plutôt connexe que contenant) dont
j'enseigne à un groupe ; des circonstances anecdotiques (des feutres
manquants[#2] au début de la
séance, les élèves qui filent pour aller à un partiel à la fin) ont
fait que je n'ai pas pu la finir correctement. J'ai donc envoyé des
notes écrites[#3] aux élèves,
auxquelles je n'ai pas résisté à la tentation d'ajouter quelques
compléments en petits caractères. Comme ces notes (qui sont très
basiques et passablement informelles même par rapport à ce que j'ai pu
raconter sur le sujet sur ce blog) peuvent peut-être intéresser
d'autres gens,
je les
mets en ligne ici. L'approche choisie consiste à ne pas
chercher à définir formellement ce qu'est un algorithme (que ce
soit par une machine de Turing ou autrement), vu que de toute façon on
ne demandera à personne de programmer une machine de Turing, et
pédagogiquement il semble que si on formalise un modèle de calcul,
cela paralyse les étudiants au point qu'ils ne comprennent plus la
notion d'algorithme alors qu'en entrant ils savaient.
[#] Et je trouve
véritablement triste que dans une grande école dont l'informatique est
une des spécialités, le seul contact que tous les élèves auront avec
des notions aussi fondamentales que le problème de l'arrêt ou la
notion de problèmes décidable et semi-décidable, c'est une séance
d'une heure et demie dans le cadre d'un cours plutôt consacré à autre
chose (et sur laquelle il est donc difficile de les interroger à
l'examen).
[#2] Obtenir des
feutres qui marchent au début de chaque cours peut être une véritable
quête du graal.
[#3] Ils ont aussi un
poly de cours (il n'a pas l'air d'être disponible publiquement), mais
j'ai suivi une présentation différente dans mon exposé, suivant le
principe qu'on comprend parfois mieux quand les choses sont expliquées
deux fois de façon différente, et du coup j'ai repris mes notations
dans ces notes.
Ajout () : plusieurs années
plus tard, j'ai créé un cours à Télécom dont une bonne partie concerne
la calculabilité : j'ai fait un bilan de la première année de ce cours
dans un billet ultérieur.
⁂
Mais même en racontant des choses très basiques, on peut apprendre
des choses ou s'éclaircir les idées. Notamment sur deux points, tous
deux plus ou moins liés à
l'énumération φ0,φ1,φ2,…
des fonctions calculables partielles ℕ⇢ℕ. Il faut comprendre qu'on
numéroté les programmes, par exemple par taille puis par ordre
lexicographique, et
que φe(n1,…,nk)
est le résultat de l'exécution du e-ième programme auquel
on fournit les
arguments n1,…,nk,
la valeur étant indéfinie si le programme ne (s'exécute pas
correctement ou) ne termine pas. Un point important est qu'il existe
un programme universel, c'est-à-dire que la fonction
(e,n)
↦ φe(n) est elle-même
calculable (informatiquement, cela signifie qu'on peut écrire un
« interpréteur », qui prend un programme e et un
paramètre n et exécute le programme sur cette entrée ;
philosophiquement, cela signifie que le fait d'exécuter un algorithme
est lui-même algorithmique). Les deux points qui m'avaient un peu
échappés sont les suivants :
✱ Le premier point concerne
le théorème s-m-n
de Kleene.
Si h(m,n)=φe(m,n)
est une fonction calculable des deux
variables m,n, alors pour chaque valeur
de m elle est calculable dans la variable n : ça
c'est plus ou moins une évidence ; mais ce qui l'est moins, c'est
qu'on peut algorithmiquement fabriquer un
indice s(e,m) pour cette fonction, au
sens
où φs(e,m)(n)
= φe(m,n)
avec s une fonction calculable — c'est ça que dit le
théorème s-m-n. Informatiquement, cela signifie qu'il y a une
transformation algorithmique (le s en question) qui prend
un programme e prenant deux arguments m
et n (ou en fait, deux jeux d'arguments), et une valeur à
donner au premier, et qui renvoie un nouveau
programme s(e,m) où ces arguments ont
été fixés à cette valeur. Dans toute formalisme de calcul précis (que
ce soit les machines de Turing, ou un langage de programmation réel),
c'est plus ou moins évident — dans un langage de programmation
fonctionnel, par exemple, cela
signifie curryfier
la fonction et appliquer à une constante — et la fonction s
sera mieux que calculable (elle sera primitive récursive, et
certainement beaucoup mieux que ça, parce que ce n'est pas un problème
algorithmiquement difficile de substituer une valeur dans un
programme !). Mais comme je n'introduisais pas de modèle de calcul
précis, je me suis demandé si ça pouvait se démontrer in
abstracto, à partir de la simple existence de l'énumération des
fonctions calculables partielles et l'existence d'un programme
universel.
La réponse est non, il existe des numérotations des
fonctions calculables partielles qui vérifient le théorème
d'universalité mais pas le théorème s-m-n. Un contre-exemple est
fourni en définissant à partir d'une numérotation
standard φe une nouvelle
numérotation ψ‹v+1,e›(0)=v
(et ψ‹v,e›(0) non
définie), et
sinon, ψ‹v,e›(n)=φe(n)
(dans tout ça, ‹x,y› désigne un codage
quelconque des couples d'entiers naturels par des entiers naturels) :
autrement dit, dans la numérotation ψ, on précise
séparément la valeur en 0 de la fonction (y compris « non définie »)
et ses autres valeurs via une numérotation standard. Sur cet exemple,
toute fonction calculable partielle apparaît bien dans
les ψ, mais on ne peut pas calculer, à partir de d'un
indice e d'une fonction calculable partielle h
parmi les ψ, un tel indice pour la fonction constante de
valeur h(1), car il faudrait pour cela déterminer
si h(1) est défini (i.e., termine), donc résoudre le
problème de l'arrêt. Donc on ne peut pas faire de substitution dans
les ψ de façon algorithmique.
Pour raconter ce contre-exemple dans des termes informatiques,
imaginons un langage de programmation permettant de coder des
fonctions ℕ⇢ℕ (ou ℕk⇢ℕ, enfin peu importe) et
qui est un langage tout à fait banal à une particularité près : la
valeur en 0 de la fonction (qu'il s'agisse d'un entier ou du fait de
partir en boucle infinie) doit être précisée par une instruction
spéciale au début du programme, la seule instruction qui sera lue pour
calculer cette valeur en 0, les autres valeurs étant calculées par un
programme « normal » (par ailleurs, cette bizarrerie ne s'applique
qu'à la fonction main, si j'ose dire, du programme).
Interpréter ce langage, ou le compiler vers un autre, ne pose pas de
problème particulier, et ce langage permet de représenter toutes les
fonctions calculables partielles, ou d'ailleurs d'écrire un
interpréteur pour un langage standard (une machine de Turing, disons)
ou quelque chose comme ça. Mais il ne vérifie pas le théorème s-m-n,
et ceci cause des bizarreries : on ne peut pas, par exemple, compiler
un programme vers ce langage sauf à calculer à la
compilation la valeur de la fonction en 0, ce qui risque de
provoquer une boucle infinie ; et on ne peut pas algorithmiquement
remplacer un programme dans ce langage par le programme qui calcule la
(fonction constante égale à la) valeur en 1 de cette fonction. Ceci
suggère que le terme Turing-complet est défini de façon un peu
trop vague : à mon avis, ce qui importe est que l'énumération des
fonctions partielles calculées par le langage considéré soit non
seulement l'ensemble de toutes les fonctions calculables partielles,
mais aussi que la numérotation soit acceptable au sens où on
peut de façon calculable convertir une machine de Turing en
le langage en question, et on peut montrer que cela revient exactement
à vérifier le théorème s-m-n (avec une fonction s
calculable).
(Référence pour tout ça : Soare, Recursively
Enumerable Sets and Degrees, 1987, chapitre I, exercices 5.9
à 5.11. C'est de là que je tire le contre-exemple au théorème
s-m-n.)
✱ Le second point concerne la fonction
« castor
affairé », qui à n associe le plus long temps
d'exécution possible d'une machine de Turing à ≤n états et
qui termine effectivement (en partant d'un ruban vide). Il est facile
de voir que fonction, appelons-la h, dépasse infiniment
souvent n'importe quelle fonction calculable
[totale] f, au sens où, quelle que soit f
calculable, il existe une infinité de n tels
que h(n)≥f(n). (En effet
si ce n'est pas le cas pour une certaine fonction f, quitte
à modifier un nombre fini de valeurs de celle-ci, on
a h(n)≤f(n) pour
tout n, et on peut alors résoudre le problème de l'arrêt
pour une machine de Turing — partant d'un ruban vide — en
attendant f(n) étapes où n est son
nombre d'états : si la machine ne s'est pas arrêtée au bout de ce
temps-là, elle ne s'arrêtera jamais.) Mais le résultat classique dû à
Tibor Radó est plus fort : la fonction h du « castor
affairé » finit par dominer n'importe quelle fonction
calculable f, au sens où, quelle que soit f
calculable,
l'inégalité h(n)≥f(n) est
toujours vraie à partir d'un certain point, et je n'avais pas vraiment
fait attention au fait que ce n'est pas trivial de passer de l'un à
l'autre.
La démonstration d'origine de ce résultat
(trouvable ici)
est d'une part assez peu lisible (j'arrive à la suivre pas à pas, mais
l'idée générale m'échappait) et d'autre part très spécifique au cas de
la fonction « castor affairé » sur les machines de Turing en comptant
leurs états. Par exemple, si on définit la fonction h en
appelant h(n) la plus grande des
valeurs φe(0)
(ou φe(e), peu importe)
qui soient définies pour 0≤e≤n (l'argument
montrant qu'elle dépasse infiniment souvent toute fonction calculable
marche essentiellement pareil), alors est-il encore vrai
que h finit par dominer n'importe quelle fonction
calculable ? La réponse est oui, comme il résulte
d'un échange
sur math.stackexchange (je n'ai pas osé aller sur MathOverflow
pour cette question), où on a pu m'expliquer beaucoup plus clairement
l'argument de Radó, ce qui m'a permis de le généraliser
facilement.
(J'en ai profité pour apprendre ce qu'est un degré
de Turing hyperimmune, à savoir qu'il calcule une fonction
qui dépasse infiniment souvent n'importe quelle fonction calculable,
ce qui n'implique pas automatiquement qu'il calcule une fonction qui
finit par dominer n'importe quelle fonction calculable.)
✱ Sinon, de fil en aiguille,
je suis
tombé par accident sur la relation suivante : pour A
et B deux ensembles d'entiers naturels,
notons A∼B lorsqu'il existe deux fonctions
calculables partielles ℕ⇢ℕ qui se restreignent en des bijections
réciproques entre ces deux ensembles. C'est une notion qui me semble
extrêmement naturelle, mais qui n'est pas ce qu'on appelle de
façon standard
un isomorphisme
calculable entre les deux ensembles. Mais ce qui me frappe,
c'est que je n'ai réussi à en trouver aucune mention dans la
littérature. [Mise à jour : il s'agit de la relation
d'équivalence calculable (ou équivalence récursive),
dont les types ont été, en fait, largement étudiés, notamment ceux qui
s'appellent les isols ; voir pour commencer le livre de Dekker
et Myhill de 1960, Recursive Equivalence
Types, ainsi que le survey par Dekker et
Ellentuck, Myhill's work in recursion
theory, Ann. Pure Appl. Logic 56
(1992), 43–71, et les références qu'il contient.]
Quelques clarifications sur l'intuitionnisme et l'ultrafinitisme
En relisant l'entrée précédente que
j'ai écrite et un ou deux commentaires qui ont été postés dessus,
j'ai peur d'avoir pu laisser imaginer que je considérais les
mathématiques intuitionnistes/constructives comme aussi farfelues que
l'existence d'un entier strictement compris entre 3 et 4, ou même,
qu'un nombre non-négligeable de mathématiciens pourraient le
considérer. Ce n'est certainement pas le cas : la seule chose que je
compare, c'est la frustration que peut ressentir (superficiellement)
un mathématicien classique devant ces mondes étranges (comment ça,
il n'est pas toujours vrai que tout nombre réel x
vérifie x≥0 ou x≤0 ???). Mais il vaut la
peine de se demander pourquoi, au juste, parmi les trois
« abandons » suivants,
abandonner l'idée que toute affirmation soit vraie ou fausse (le
principe du tiers exclu),
abandonner l'idée qu'un nombre comme 10↑(10↑100) ait un sens,
abandonner l'idée que 4 soit le plus petit entier après 3,
la première donne indiscutablement lieu à des mathématiques
sérieuses, la seconde peut-être mais peut-être pas, et la troisième
certainement pas.
Ce que veut avant tout le mathématicien, c'est que les
règles du jeu soient claires. Même si on ne prend pas la
position formaliste extrême qui considère les maths comme un jeu
typographique formel consistant à manipuler des successions de
symboles dénués de sens selon des règles arbitraires mais relativement
simples[#], les mathématiciens
seront sans doute unanimes pour dire qu'il est essentiel dans la
pratique des mathématiques qu'il existe des règles objectives et
inambiguës sur les manipulations autorisées dans l'écriture d'une
démonstration, suffisamment claires pour qu'on puisse toujours, avec
assez de patience, trancher un différend sur la validité d'une
démonstration en détaillant n'importe quel passage incriminé jusqu'à
l'application mécanique de ces règles.
Or les mathématiques intuitionnistes/constructives ont des
règles claires : ce ne sont pas les mêmes que les
mathématiques classiques (plus exactement ce sont un sous-ensemble, ou
une restriction, selon la présentation exacte choisie ; mais du coup,
on peut ajouter des axiomes supplémentaires pour compenser qui
contrediraient les mathématiques classiques), mais au moins — dans
leur formulation moderne[#2] —
ce sont des règles indiscutablement bien formulées et objectives.
Plus exactement, le mathématicien classique peut comprendre les règles
des mathématiques intuitionnistes/constructives par plusieurs
mécanismes :
syntaxiquement : même si les démonstrations
intuitionnistes ne sont pas les mêmes que les démonstrations
classiques, l'objet « démonstration » (obéissant aux règles
intuitionnistes) peut lui-même être considéré comme un objet des
mathématiques classiques (que ce soit comme un entier par un codage de
Gödel ou comme une flèche dans une catégorie, ou autre chose du
genre), étudié et analysé par elles ;
sémantiquement : le(s) monde(s) des mathématiques
intuitionnistes peuvent se « plonger » dans le monde des mathématiques
classiques, c'est-à-dire que toute affirmation des mathématiques
intuitionnistes peut se décoder comme une affirmation classique
portant sur des objets particuliers (vivant dans un « modèle de
Kripke », un topos,
une structure de réalisabilité, un univers à valeurs dans
une algèbre de
Heyting ou quelque chose comme ça).
(Ces deux approches sont elles-mêmes reliées par des théorèmes de
validité et de complétude : je ne rentre pas dans les détails.) On
peut par ailleurs relier la logique intuitionniste à d'autres logiques
alternatives mais classiques et bien comprises (par des procédés comme
ci-dessus), par
exemple la logique modale S4.
[Ajout ]
Je peux au moins donner une idée de ce dont je parle sous la forme
suivante. En mathématiques classiques, si on décide d'interpréter les
connecteurs
logiques P∧Q, P∨Q et
¬P comme décrivant l'intersection, la réunion, et le
complémentaire de parties P et Q d'un
ensemble T fixé, alors certainement on a
¬¬P=P (le complémentaire du complémentaire d'une
partie est la partie elle-même, justement parce qu'on travaille en
logique classique) et
¬(P∧Q)=(¬P)∨(¬Q) ;
maintenant, changeons un peu le contexte, et considérons T
un espace topologique, imaginons que P et Q sont
des ouverts de T, que P∧Q
et P∨Q désignent l'intersection et la réunion de
deux ouverts, mais maintenant ¬P désigne
l'intérieur du complémentaire de P (=le plus
grand ouvert disjoint de P ; et plus généralement, on peut
noter P→Q pour l'intérieur de la réunion
de Q avec le complémentaire de P, c'est-à-dire
l'ouvert des points au voisinage desquels P est inclus
dans Q) : alors ¬¬P ne coïncide plus forcément
avec P, c'est le « régularisé » de P
(=l'intérieur de son adhérence), et de même
¬(P∧Q) ne coïncide plus forcément avec
(¬P)∨(¬Q) (alors que
¬(P∨Q), lui, coïncide toujours avec
(¬P)∧(¬Q)) ; en fait, les règles valables en
général dans cette interprétation sont précisément celles
du calcul propositionnel intuitionniste, et sont une manière
dont le mathématicien classique peut les comprendre (sémantiquement) :
comme des affirmations sur les ouverts d'un espace topologique
(classique).
D'autre part, les mêmes choses sont valables dans l'autre
sens, c'est-à-dire que si on peut « expliquer » les mathématiques
intuitionnistes aux mathématiciens classiques comme ci-dessus, on peut
aussi « expliquer » les mathématiques classiques aux mathématiciens
intuitionnistes (par exemple par
l'insertion
de doubles négations à des endroits stratégiques). Du coup, les
mathématiciens classiques et intuitionnistes ne seront peut-être pas
d'accord sur l'intérêt ou la signification des énoncés qu'ils
démontrent, mais au moins chacun peut-il expliquer son travail aux
autres. (Dans la pratique, bien entendu, les « mathématiciens
classiques » et à plus forte raison les « mathématiciens
intuitionnistes » ne sont que des archétypes idéalisés : tout le monde
est capable de faire sa traduction mentale dans un sens ou dans
l'autre, quelle que soit sa représentation préférée de l'Univers.)
Pour dire les choses de façon plus concise : les
mathématiques classiques et intuitionnistes sont peut-être
différentes, mais leur métamathématique est compatible.
Il en va tout autrement de l'idée qu'il existerait un entier
strictement entre 3 et 4 : cette idée fictionnelle est présentée sans
être accompagnée de règles permettant de travailler avec et de lui
donner un sens. Il n'est pas exclu que de telles règles puissent
exister (par exemple : en fait, ce qu'on appelle entier ici
est un élément de ℕ[√13] = {u+v·√13
: u,v∈ℕ} (approche sémantique), et il
faudrait remplacer les axiomes de Peano par une axiomatisation des
faits les plus évidents de la théorie du premier ordre de ℕ[√13]
(approche syntaxique)), et qui du coup ferait disparaître le mystère
de cette idée (à défaut de lui donner un intérêt…). Mais
telle quelle, l'idée est dépourvue de sens aux yeux des
mathématiciens parce qu'elle est dépourvue de règles précises.
L'idée intermédiaire (l'ultrafinitisme, j'en
ai déjà parlé) occupe une position
intermédiaire : on
peut peut-être
donner un sens à l'ultrafinitisme, mais l'idée
est radicale en ce sens qu'elle nécessite de changer non
seulement les mathématiques mais aussi les métamathématiques.
Notamment, pour refuser l'existence du nombre 10↑(10↑100), il faut
refuser l'idée qu'une démonstration puisse occuper un tel nombre de
symboles — or les métamathématiques classiques l'admettent (certes, on
ne va pas l'écrire explicitement, mais les métamathématiques
classiques admettent de considérer comme démonstrations valables des
objets qui ne pourraient pas être écrits en pratique, au moins si on
en a une description raisonnablement
(méta)manipulable) ; pire, il faut probablement refuser
l'idée qu'une démonstration puisse occuper seulement 10↑100 symboles
(parce qu'en environ ce nombre là de symboles, je peux démontrer
l'existence de 10↑(10↑100) à quelqu'un qui admet que la multiplication
sur les entiers est totale, ce que de nombreux ultrafinitistes
admettent, ce qui permet d'écrire des choses comme 10×10×10×⋯×10), et
il faut donc probablement refuser l'idée même d'utiliser « librement »
l'arithmétique pour faire des métamathématiques. Je ne suis moi-même
pas à l'aise avec l'ultrafinitisme (j'ai vraiment du mal à ne pas
considérer la position comme simplement ridicule), mais voici ce
qu'écrivent Cherubin & Mannucci dans A very short
history of ultrafinitism (in : Kennedy & Kossak
(eds.), Set Theory, Arithmetic, and Foundations of
Mathematics (Cambridge 2011)) :
First, the rejection of infinitary methods, even the ones based on
the so-called potential infinite, must be applied at all
levels, including that of the meta-mathematics and that of the
logical rules. Both syntax and semantics must fit the ultrafinitistic
paradigm. Approaches such as Finite Model Theory are simply not
radical enough for the task at hand, as they are still grounded in a
semantics and syntax that are saturated with infinite concepts.
Second, barring one term in the dichotomy finite-infinite, is,
paradoxically, an admission of guilt: the denier implicitly agrees
that the dichotomy itself is valid. But is it? Perhaps what is here
black and white should be replaced with various shades of grey.
Bref, même si le programme ultrafinitiste peut sembler à quelqu'un
comme moi aussi fantaisiste que l'idée qu'il y aurait peut-être un
entier à découvrir strictement entre 3 et 4, il faut avoir la modestie
d'admettre que peut-être des règles du jeu précises peuvent en être
données, fussent-elles des règles qui imposent de
réévaluer aussi les métamathématiques : peut-être le
programme peut-il être éclairci comme l'intuitionnisme l'a été, et
peut-être sera-t-il possible aux mathématiciens « idéalistes »
de comprendre précisément les ultrafinitistes (à défaut
d'être d'accord avec eux).
[#] Je ne vais pas faire
l'exercice ici et maintenant, mais il est parfaitement possible de
présenter un ensemble des « règles du jeu » qui soit compréhensible
par à peu près n'importe qui (disons, pas plus compliqué que les
règles des échecs ou du tarot) et qui, appliquées mécaniquement,
permette de démontrer tous les théorèmes des mathématiques
« standard » (ZFC) et uniquement ceux-ci. En ce sens,
donc, n'importe qui peut faire des maths formelles : la difficulté du
travail du mathématicien est de se faire une idée d'où on va dans ce
jeu et comment on peut atteindre un but, et communiquer à d'autres le
fait qu'on l'a atteint, sans écrire toutes les étapes
intermédiaires.
[#2] Dans leur
formulation moderne, c'est-à-dire, je crois, depuis les travaux de
Gödel, Heyting, Kolmogorov et d'autres. Lorsque Brouwer a
initialement introduit ses idées, il n'était probablement pas clair
qu'elles pouvaient être rigoureusement formalisées, d'autant qu'il
était lui-même profondément hostile à l'idée de formaliser les
mathématiques, de les priver de leur aspect créatif/intuitif ou de les
réduire à un jeu typographique ; et c'est peut-être pour ça que ces
idées ont d'abord suscité
une telle
hostilité (non seulement elles étaient radicales, mais en
outre elles n'étaient sans doute pas bien définies aux yeux
de mathématiciens comme Hilbert).
les parenthèses servent à indiquer quelles sous-expressions doivent
être calculées en premier (la convention, en leur absence, étant qu'on
évalue les multiplications avant les additions, si bien que 2+2+2×3+4
sans parenthèses se comprend comme 2+2+(2×3)+4). Mais il existe
d'autres manières possibles d'indiquer l'ordre des opérations sans
utiliser de parenthèses — ou en tout cas pas sous cette forme. Une
possibilité consisterait à utiliser la notation préfixe (où
le symbole d'une opération binaire précède les deux quantités sur
lesquelles elles s'applique, ce qui donne dans ce
cas : × + + 2 2 2 + 3 4) ou
bien postfixe (où l'opération binaire suit les deux quantités
sur lesquelles elle s'applique, donc 2
2 + 2 + 3 4 + × comme on le taperait sur une calculatrice à
notation polonaise inversée), mais ces conventions sont extrêmement
peu lisibles pour un humain.
Une autre façon de noter les choses, qui me semble assez
intéressante ou en tout cas instructive, même si elle n'a jamais
vraiment été utilisée en-dehors de la logique, consiste à utiliser
les points comme parenthèses, que je veux présenter et
discuter un peu. Sur mon exemple, cette notation donnerait :
2+2+2.×.3+4
avec des points autour du symbole de multiplication pour marquer
qu'il doit être effectué après les additions. (On va supposer que le
point n'est pas utilisé comme séparateur décimal, ou qu'il y a quelque
magie typographique qui évite l'ambiguïté : ni ici ni ailleurs dans
cette entrée il n'y a de nombres fractionnaires.)
La manière dont on lit une telle expression est la suivante : on
commence par la séparer aux endroits où se trouve des points, on
évalue tous les morceaux qui ont un sens en tant qu'expression (en
l'occurrence, 2+2+2 et 3+4), puis on réattache les morceaux remplacés
par leur valeur (ce qui donne 6×7).
Lorsqu'il y a plusieurs niveaux d'imbrications, on utilise des
groupes formés d'un nombre de points croissant pour séparer les
niveaux : la règle est alors qu'on commence par regrouper les morceaux
séparés par un seul point, puis par un groupe de deux, puis de trois,
et ainsi de suite. (Ainsi, un groupe d'un plus grand nombre de points
correspond à un niveau de parenthésage plus « extérieur ».) Par
exemple,
(14/(1+1))×(6+7)×(30−(6+5))
peut se réécrire dans la notation « ponctuée » comme
14/.1+1:×.6+7.×:30−.6+5
et pour l'évaluer, on commence par calculer les morceaux séparés
par des points qui ont un sens tout seuls (1+1, 6+7 et 6+5), puis on
regroupe les morceaux séparés par de simples points (14/.1+1 soit
14/2, et 30−.6+5 soit 30−11), et enfin on regroupe les morceaux
séparés par deux points. Pour plus de symétrie quant au niveau
d'opération × dans le facteur central, on peut préférer écrire
14/.1+1:×:6+7:×:30−.6+5
ce qui est peut-être plus lisible, surtout si on reflète le nombre
de points dans l'espacement de la formule :
14/.1+1 :×: 6+7 :×: 30−.6+5
On peut bien sûr utiliser des symboles pour les groupes de deux,
trois, quatre points et ainsi de suite : si je récupère des symboles
Unicode pas vraiment fait pour,
l'expression 6−(5−(4−(3−(2−1)))) peut se ponctuer
en 6−∷5−∴4−:3−.2−1, mais généralement on se contente de mettre
plusieurs caractères ‘.’ ou ‘:’ d'affilée pour représenter un groupe,
comme 6−::5−:.4−:3−.2−1 (il faut traiter ces deux écritures
comme parfaitement synonymes).
Les points servent donc à la fois de parenthèses ouvrantes et
fermantes : il n'y a en fait pas d'ambiguïté car la directionalité est
indiquée par la position par rapport aux symboles d'opérations (si je
vois 20−.1+1, cela ne peut signifier que 20−(1+1)
car (20−)1+1 n'a pas de sens) ; plus exactement, chaque groupe
de points doit être adjacent à un symbole d'opération (sauf si on omet
la multiplication, cf. ci-dessous), et correspond à une parenthèse
soit ouvrante soit fermante selon qu'il est immédiatement après ou
avant l'opération. Et la parenthèse court jusqu'au prochain groupe de
points (vers la droite ou vers la gauche, selon le cas évoqué) dont le
nombre de points est supérieur ou égal à celui considéré, ou à
l'extrémité de l'expression (où se sous-entend un nombre infini de
points, si on veut ; ainsi, sur mon premier exemple, on
écrit 2+2+2.×.3+4 et non .2+2+2.×.3+4.).
Pour ceux qui veulent des règles plus formelles,
je propose les suivantes. En écriture, si on a un arbre d'analyse
formé d'opérations possiblement associatives,
disons x1⋆x2⋆…⋆xk
(pour une certaine opération ici notée ⋆, et avec k=2 si
l'opération ⋆ n'est pas supposée avoir d'association par défaut), pour
la transformer en « expression ponctuée », on écrit de façon récursive
chacun des
sous-arbres x1,x2,…,xk
comme expression ponctuée, et on concatène ces écritures en plaçant à
gauche de chaque symbole ⋆ un groupe de points dont le nombre est
strictement supérieur au nombre de points de n'importe quel groupe
apparaissant dans l'écriture de la sous-expression gauche (si celle-ci
est un atome = une feuille de l'arbre, c'est-à-dire un nombre ou une
variable, on peut ne mettre aucun point) ; et de même à droite. Il
est admissible de mettre plus de points que nécessaire, par exemple si
on veut mettre le même nombre à gauche et à droite de chaque ⋆
intervenant à un niveau donné. On peut, bien sûr, avoir des règles
supplémentaires lorsqu'on suppose une certaine priorité des opérations
(par exemple, (3×2)+1 peut être noté 3×2+1 si on admet
que la multiplication est prioritaire sur l'addition ; toutefois, ceci
ne s'applique essentiellement qu'au niveau le plus
bas : (3×(1+1))+1 devra certainement être
noté 3×.1+1:+1, parce qu'on ne gagnerait rien que de la
confusion à le noter 3×.1+1.+1). • Inversement, pour décoder
une telle expression, on va, pour n allant de 0 au nombre
maximum de points dans un groupe, remplacer chaque expression
maximale de la
forme x1⋆x2⋆…⋆xk
avec les xi des sous-arbres déjà
constitués (ou des atomes), en ignorant les groupes de ≤n
points pouvant intervenir à gauche ou à droite de l'opération ⋆, par
un sous-arbre (ou un bloc parenthésé, si on préfère).
Ce système de notations ne recouvre pas tous les cas possibles
d'usage des parenthèses. Disons qu'il nécessite plus ou moins qu'il y
ait des symboles d'opérations dans l'histoire : si on a affaire à un
contexte mathématique dans lequel on donne un sens différent aux
notations u(v)
et (u)v (ce qui, honnêtement, ressemble à
une très mauvaise idée), ou à u
et (u) (même remarque), alors on ne peut pas
utiliser des points à la place des parenthèses.
Néanmoins, il marche dans des situations un peu plus générales que
ce que j'ai présenté ci-dessus. Par exemple, il continue de
fonctionner même si on décide de ne pas écrire le symbole × de
multiplication : notamment, si dans la version parenthésée, au lieu
de (14/(1+1))×(6+7)×(30−(6+5)) je décide
d'écrire (14/(1+1))(6+7)(30−(6+5)), alors de même dans la
version ponctuée, au lieu de 14/.1+1:×.6+7.×:30−.6+5
j'écris 14/.1+1:6+7:30−.6+5 et il n'y a pas d'ambiguïté dans le
fait que quand un groupe de points apparaît directement entre deux
atomes (nombres ou variables), il représente une multiplication (et
comme 6.7 représente 6×7, de même 2+2+2.3+4
représente (2+2+2)×(3+4) ; tandis que 2+2+(2×3)+4
s'écrira 2+2+:2.3:+4 ou même, un peu
audacieusement, 2.+.2.+.2.3.+.4 si on décide que la
multiplication est prioritaire sur l'addition). Ceci fonctionne
encore même si on suppose que la multiplication omise n'est pas
associative : on distingue
bien u(vw)
de (uv)w
comme u.vw
et uv.w respectivement.
Par rapport aux règles formelles que j'ai
proposées ci-dessus, l'omission du symbole de multiplication se traite
ainsi lors de l'écriture : (a) on écrit toujours au moins un point
pour la multiplication quand elle est entre deux chiffres, et (b) au
lieu de mettre un groupe de points à gauche et à droite du symbole ⋆
(qui doit être omis), on en met un seul, avec un nombre de points
commun, supérieur à celui de tout groupe intervenant dans
n'importe quelle sous-expression parmi
les x1,x2,…,xk
(avec cette
règle, 2(x+y)(t⋆(u+v))
s'écrit 2:x+y:t⋆.u+v
plutôt
que 2.x+y:t⋆.u+v
si on veut vraiment placer les trois facteurs
2, x+y
et t⋆(u+v) au même niveau).
Il n'y a pas non plus de problème avec les opérations unaires,
qu'elles soient écrites de façon préfixe ou postfixe. Il y a,
cependant, un problème si on a une opération qui peut être aussi bien
unaire que binaire et que le symbole de multiplication est
omis : c'est le cas avec le signe moins si on veut pouvoir
écrire (2/3)(−3) (qui vaudrait −2 par multiplication implicite)
et le distinguer de (2/3)−3 (qui vaut −7/3), les deux
étant a priori ponctués comme 2/3.−3 ; on peut résoudre
ce problème de différentes façons, par exemple en imposant que pour
les opérations binaires qui peuvent aussi être unaires, le nombre de
points à gauche et à droite soit égal quand elles fonctionnent comme
opérations binaires (donc (2/3)−3 se ponctuerait
comme 2/3.−.3, qui se lit sans ambiguïté), et/ou que le signe
de multiplication ne peut pas être omis devant une opération unaire
(donc (2/3)(−3) devrait s'écrire 2/3.×.−3).
Il me semble par ailleurs qu'il n'y a pas de
problème particulier avec une opération ternaire (par exemple si je
décide que t?u!v
signifie si t=0 alors v et
sinon u — je change légèrement la notation du C parce
que les deux points sont pris par le sujet de cette entrée — alors il
n'y a pas de problème à écrire de façon ponctuée des expressions
contenant cette expression imbriquée en elle-même de façon
arbitraire). Ceci étant, je n'ai pas forcément pensé à toutes les
bizarreries des notations mathématiques, peut-être qu'il y a des cas
où le système de points ne fonctionnera pas alors que les parenthèses
fonctionnent (outre ceux que j'ai déjà mentionnés).
Il faut que j'en profite pour signaler qu'il y a
toutes sortes de petites variations possibles dans le système, j'en ai
déjà implicitement signalé quelques unes. Je mentionne notamment la
suivante, qui est plus économique dans le nombre de points utilisés,
au détriment de la lisibilité de l'ensemble, et qui me semble plutôt
une mauvaise idée. Plus haut j'ai signalé
que 6−(5−(4−(3−(2−1)))) s'écrit 6−::5−:.4−:3−.2−1 (et
c'est ce qui résulte des règles formelles que j'ai proposées), mais on
peut aussi imaginer l'écrire simplement come 6−.5−.4−.3−.2−1 ce
qui est après tout inambigu vu que chaque ‘.’ suivant immédiatement un
symbole d'opération doit représenter une parenthèse ouvrante. (La
modification des règles formelles que j'ai proposées doit être quelque
chose comme ceci. En écriture, on place à gauche de chaque symbole ⋆
un groupe de points dont le nombre est immédiatement strictement
supérieur au plus grand nombre de points de n'importe quel groupe qui
apparaît, dans l'écriture de la sous-expression gauche, immédiatement
à droite d'un symbole d'opération — ou comme symbole de
multiplication omis — en ignorant donc les groupes de points qui
apparaissent immédiatement à gauche d'un symbole d'opération ; et
symétriquement pour la droite. Et en lecture, pour chaque
niveau n de points, on doit grosso modo répéter tant que
possible la recherche d'une
expression x1⋆x2⋆…⋆xk
avec les xi des sous-arbres déjà
constitués, la remplacer par un sous-arbre, et retirer les éventuels
groupes de n points — mais pas plus — qui seraient
adjacents à l'expression.)
Comme je l'ai dit plus haut, je crois que les points comme
parenthèses n'ont été véritablement employés que dans des textes de
logique (et uniquement entre les connecteurs logiques, pas dans les
expressions arithmétiques comme sur les exemples que j'ai pris), même
s'il n'y a pas de raison de la lier à ce contexte précis. Je ne sais
pas exactement qui a inventé cette notation : peut-être Peano dans
ses Arithmetices
principia: nova methodo ; mais je sais surtout qu'elle est
utilisée dans les Principia Mathematica de Russell et
Whitehead dont elle contribue à la réputation d'illisibilité même si
je crois que c'est loin d'être ce qui les rend le plus difficile (on
pourra jeter un coup d'œil
à la
page des Principia que
j'ai déjà évoquée sur ce blog, et
utiliser cette
page pour quelques indications sur comment décoder tout ça). J'ai
d'ailleurs l'impression que les philosophes qui s'intéressent à la
logique mathématique ont, plus que les logiciens vraiment matheux,
tendance à utiliser des notations vieillotes (il y a peut-être une
raison sociologique à creuser), et en particulier ces
points-comme-parenthèses. Il y a aussi l'épouvantable symbole ‘⊃’
utilisé à la place de ‘⇒’ pour l'implication, que la grande majorité
des matheux ont abandonné il y a belle lurette, et que des philosophes
s'obstinent, Apollon sait pourquoi, à utiliser.
Mais l'autre question à se poser, bien sûr, c'est : ce système de
notation avec des points à la place des parenthèses a-t-il des
avantages ? Je sais qu'a priori il semble plus compliqué que
les parenthèses. Peut-être l'est-il intrinsèquement, mais je crois
que c'est essentiellement une question d'habitude (c'est difficile
d'être sûr vu que je n'en ai moi-même guère la pratique). Je vois
trois principaux arguments qu'on peut avancer pour défendre le système
de points : (1) il est légèrement plus compact (quand on discute une
opération non associative, il est plus léger
d'écrire uv.w
que (uv)w, par exemple),
(2) on repère plus rapidement le niveau d'imbrication des choses (qui
n'a jamais peiné, dans une expression parenthésée, à retrouver où
chaque parenthèse se ferme ?), et (3) il est, finalement, relativement
analogue à la ponctuation d'un texte en langage naturel (où,
grossièrement parlant, on regroupe d'abord les mots non séparés par
une ponctuation, puis les groupes séparés par des virgules, puis ceux
séparés par des points-virgules, et enfin ceux séparés par des
points), rendu plus logique. Le principal inconvénient que je lui
vois, c'est que si on veut remplacer, dans une expression, une valeur
par une autre expression, on va possiblement devoir incrémenter le
nombre de points partout dans l'expression, alors que les parenthèses
assurent que tout se passe forcément bien.
Bien entendu, je ne propose pas de changer une notation
mathématique bien établie (les parenthèses sont quand même pratiques,
finalement), mais il peut être intéressant de se rappeler qu'il y a,
ou qu'il y avait a priori, d'autres notations possibles et pas
forcément idiotes. Se le rappeler peut aider à mieux comprendre
l'analyse syntaxique, à la fois des expressions mathématiques et des
phrases ponctuées en langage naturel (cf. mon point (3) ci-dessus) ;
et cela peut aussi suggérer comment faciliter la lecture d'une
expression mathématique par des enrichissements typographiques
(typiquement : mettre à chaque endroit possible un espacement
proportionnel au nombre de points qu'on aurait dans la notation avec
les points comme parenthèses).
Deux remarques sur l'intuition du théorème de Gödel
C'est un théorème bien connu, et que j'ai expliqué il y a quelques
années dans cette longue entrée,
que ZFC (:= le système d'axiomes standard de la théorie
des ensembles), s'il est consistant, ne peut pas démontrer
que ZFC est consistant. C'est là le « second » théorème
d'incomplétude de Gödel dans le cas particulier de ZFC.
De même, PA (:= l'arithmétique de Peano du premier ordre)
ne peut pas démontrer que PA est consistant. (Dans les
deux cas, l'affirmation que le système est consistant signifie
qu'il n'existe pas de suite finie de symboles partant des axiomes et
suivant les règles de la logique pour arriver à la conclusion
absurde 0=1 : et on a le droit de parler de suites finies de
symboles parce qu'elles peuvent se remplacer par des entiers grâce
à ce qu'on appelle le codage de Gödel. Je ne rentre pas dans les
détails puisque j'ai déjà expliqué ça et qu'il y a déjà quantité de
bonne vulgarisation sur le sujet.)
Du coup, on peut être tenté d'ajouter
à ZFC un nouvel axiome Consis(ZFC), qui
affirme ZFC est consistant, formant un nouveau
système ZFC₁ ; puis, comme le théorème de Gödel
s'applique aussi à lui, on peut encore ajouter un nouvel axiome
Consis(ZFC₁) qui affirme que celui-là est consistant,
formant un nouveau système ZFC₂ ; « et ainsi de suite ».
(En réalité, il y a beaucoup de subtilités ici dans le ainsi de
suite, et de toute façon ce n'est pas une bonne façon
d'enrichir ZFC, ces axiomes étant à la fois beaucoup
moins forts, moins maniables et moins intéressants, que les axiomes de
grands cardinaux par lesquels on l'étend usuellement. S'agissant
de PA, on peut aussi faire cette construction, en gardant
à l'esprit que PA, PA₁, PA₂,
etc., et leurs consistance, sont de toute façon des conséquences
(théorèmes) de ZFC.)
Ce point est bien connu, donc, et peut-être même trop connu, à tel
point qu'on fait dire à ce théorème de Gödel un peu n'importe quoi.
Les deux faits suivants, en revanche, sont bien moins connus, et
mériteraient pourtant de l'être autant, parce qu'ils invitent à
reconsidérer la manière dont on interprète (au moins sur le plan
intuitif ou philosophique) ce théorème d'incomplétude. J'ai mentionné
ces faits en passant lors de l'entrée passée vers laquelle je viens de
faire un lien, mais je pense que je n'ai pas assez attiré l'attention
dessus, ce qui est dommage.
(Les deux points suivants sont indépendants l'un de l'autre.)
✱ Le premier fait, c'est qu'on peut tout à fait fabriquer une
théorie ZFC† dont les axiomes sont ceux
de ZFC plus un axiome supplémentaire qui
dit ZFC† est consistant. Oui, c'est circulaire
(la théorie affirme sa propre consistance), mais ce n'est pas très
difficile d'arriver à formaliser ça en utilisant
les astuces de points
fixes habituelles. Et de même, on peut former PA†
dont les axiomes sont ceux de PA (Peano) plus un axiome
supplémentaire qui dit que PA† est consistant. Il
s'agit d'une façon assez naturelle d'essayer de contourner le théorème
d'incomplétude (au moins quand on a mal compris celui-ci), en se
disant puisque je ne peux pas démontrer que mon système formel est
consistant, je vais l'ajouter comme axiome (et affirmer
directement que l'ensemble est consistant plutôt qu'ajouter un axiome
qui dit que la théorie de départ est consistante, puis un autre qui
dit que cette nouvelle théorie est encore consistante, et encore un
autre qui dit que celle-ci est consistante « et ainsi de suite »).
Bref, on peut fabriquer cette théorie ZFC†
ou PA†, mais le problème c'est elle est
inconsistante (elle démontre 0=1). Parce que le théorème de
Gödel s'applique à elle aussi, et comme il affirme que si la théorie
est consistante elle ne peut pas démontrer sa consistance, et qu'elle
démontre effectivement sa consistance (puisque c'est un axiome, et
qu'un axiome compte bien comme une démonstration), du coup,
elle n'est pas consistante.
Alors voilà, ce n'est pas bien passionnant, certes : j'ai construit
une théorie et j'ai expliqué qu'elle ne marchait pas — mais je pense
que c'est quand même instructif, au moins sur le plan de l'intuition.
Quand on présente le théorème d'incomplétude de Gödel, que ce soit au
grand public, à des mathématiciens non-spécialistes, ou à des
débutants en logique, l'idée qui en résulte typiquement — et je ne
prétends pas qu'elle soit fausse — est qu'un système formel
consistant T (récursivement axiomatisable, et
contenant un fragment suffisant de l'arithmétique) n'est
jamais assez « puissant » pour démontrer sa propre consistance, mais
que (a) il s'agit d'une notion un peu constructive de démonstration,
et (b) la raison pour laquelle on est conduit à ajouter des axiomes
qui disent T est consistant et cette théorie-là
est consistance et cette théorie-là est
consistante, « et ainsi de suite », est qu'on ne peut jamais tout
faire d'un coup. Or l'exemple de la construction que je viens de
donner montre qu'il faut se méfier de cette intuition : (b) on peut
tout à fait écrire une théorie qui affirme sa propre
consistance, et (a) cette théorie est forcément inconsistante parce
que le théorème de Gödel interdit à une théorie
consistante (récursivement axiomatisable, et contenant un
fragment suffisant de l'arithmétique) non
seulement démontre sa propre consistance, mais même
simplement qu'il l'affirme (un axiome compte bien comme
une démonstration). Je vais citer la présentation de Torkel
Franzén (Inexhaustibility, 2004, chap. 12)
parce que je trouve qu'il est particulièrement clair :
It is often emphasized that the resources of a theory T
do not themselves suffice to enable a proof of the consistency
of T. Again it is only by “going outside the system” than
one can prove that T is consistent.
A weakness of this emphasis is that it doesn't take into account
that the relevant concept of proof is a very liberal one. The
consistency of T is provable in the
theory T+Consis(T). This is not because any new
fundamental principle has been introduced or because the
theory T+Consis(T) incorporates any new insight
that goes beyond those expressed in T, but simply because
the consistency of T has been postulated. We
don't require any more of a proof, as the term is used in logic.
Accordingly, the second incompleteness theorem makes a stronger
statement than one might naturally suppose. The consistency
of T not only cannot be derived from the basic principles
embodied in T, it cannot even be consistently asserted
in T. A theory cannot consistently postulate its
own consistency. By the diagonal lemma, we can produce a
formula φ formalizing This sentence is consistent
with T, but since T+φ then proves
its own consistency, we know that in fact it is inconsistent.
Why is it impossible for T to consistently postulate
Consis(T)? Because a paradox results from such a
postulate, or so Gödel's proof of the second theorem suggests.
If T asserts its own consistency, it must both assert and
deny the provability of the sentence formalizing This sentence is
not provable in T. It's not just a matter
of T lacking the resources to establish a particular truth
(that T is consistent) but of it being impossible to
consistently sneak in this truth as an assertion or postulate in the
theory itself. Saying that one must go outside the system to
prove the consistency of T conveys the suggestion
that T metaphorically speaking has a kind of “blind spot”,
that it cannot reflect on or understand or inspect itself sufficiently
to establish its own consistency—and indeed in extrapolations from the
incompleteness theorem to other fields (religion, physics, psychology)
this suggestion is frequently made explicit. The fact
that T cannot even consistently assert its own consistency,
without attempting any inspection or justification whatever, would
seem to indicate that this suggestion is a bit of a red herring.
Je trouve que cela illustre très bien la manière dont on a tendance
à mal se représenter le théorème d'incomplétude comme traduisant un
problème profond de « manque de force » — alors qu'il s'agit de
quelque chose d'à la fois plus trivial et plus profond. (Bien sûr,
tout ceci est juste une question d'interprétation intuitive : il n'y a
aucune difficulté ou subtilité mathématique dans tout ce que j'ai
écrit.)
Mais si ce point est un peu trivial et en quelque sorte négatif, le
suivant est beaucoup plus intéressant mathématiquement, et il est
plutôt positif. Par ailleurs, il concerne
spécifiquement ZFC et PA (pas que ce soient
les seules théories auxquelles il s'applique, mais il ne
s'applique pas à « à peu près n'importe quoi » comme le point que je
viens de faire).
✱ J'en viens donc au second fait que je voulais signaler. Il faut
d'abord que je rappelle que ZFC et PA ont un
nombre infini d'axiomes : ils comportent en effet des schémas
d'axiomes (le principe de récurrence dans le cas de PA,
et pour ce qui est de ZFC, les schémas de séparation
(=compréhension, =sélection) et ceux de remplacement). Ces axiomes
veulent affirmer certains faits pour toute propriété P (des
entiers naturels dans le cas de PA, ou des ensembles dans
le cas de ZFC) : comme la logique du premier ordre ne
permet pas de quantifier sur les propriétés, on s'en tire en postulant
tous les énoncés dans lesquels P est remplacé par n'importe
quelle formule explicitement écrite dans le langage où on se place —
ce qui fait donc une infinité d'axiomes.
(Digression : Il y a d'autres
façons de faire, consistant plus ou moins à faire de la logique du
second ordre, et qui permettent de ramener cette infinité d'axiomes à
un nombre fini au prix d'une complication de la logique, et parfois un
renforcement du système : ce sont par exemple
la théorie
des ensembles de Gödel-Bernays, essentiellement aussi forte
que ZFC, ou celle, strictement plus
forte, de
Morse-Kelley, les deux permettant de parler de classes, ce qui
revient à permettre de quantifier sur les propriétés, et, s'agissant
de l'arithmétique, le
système ACA₀
qui est exactement parallèle de Gödel-Bernays et
l'arithmétique
du second ordre Z₂=PA² qui est exactement parallèle de Morse-Kelley.
Mais je vais m'abstenir de plus parler de toutes ces théories,
d'autant que ça devient vite technique quand il s'agit de distinguer
la vraie logique du second ordre de la logique du second ordre
« réifiée » au premier ordre au sens où on a une logique du premier
ordre à deux types d'objets qui fait semblant d'être une logique du
second ordre en décrétant que l'un de ces types est le type des
« classes » ou « propriétés » de l'autre type, ce qui revient
finalement au même sauf que la notion de modèle et toute la
sémantique qui va avec est différente.)
Un point qui me semble très important, et qui est rarement
suffisamment souligné dans les cours élémentaires de logique, est le
suivant :
Chacun de ZFC et de PA prouve la
consistance de tous ses sous-ensembles finis d'axiomes.
Autrement dit, ZFC ne prouve pas la consistance
de ZFC (c'est ce par quoi j'ai commencé : le second
théorème d'incomplétude), mais ZFC prouve la consistance
de n'importe quel ensemble fini d'axiomes de ZFC. Et la
même chose vaut pour PA. On dit que ce sont des
théories réflexives. En fait, il y a mieux : n'importe
quelle extension de l'une ou l'autre de ces théories, écrite dans
le même langage, est elle-même réflexive (on dit
que ZFC et PA sont essentiellement
réflexives : dans le cas de PA, c'est un théorème
de 1952 dû
à Andrzej
Mostowski, et dans le cas de ZFC, je crois que le
résultat est dû
à Richard
Montague
et/ou Azriel
Lévy vers 1960).
Une des conséquences de ce théorème est que ni ZFC
ni PA, s'ils sont consistants, ne peut pas être
axiomatisé par un nombre fini d'axiomes (si un ensemble
fini T₀ de théorèmes de ZFC, ou du coup,
d'axiomes de ZFC, suffisait à impliquer tous les axiomes
de ZFC, alors ZFC prouverait la consistance
de T₀, donc T₀ prouverait la consistance
de T₀, et en prenant T₀ assez fort pour faire de
l'arithmétique basique — je ne rentre pas dans les détails — ceci
contredit le théorème de Gödel appliqué à la théorie T₀ ;
et exactement le même raisonnement vaut pour PA).
Mieux : comme ZFC et PA
sont essentiellement réflexifs, aucune théorie consistante
contenant ZFC ou PA et écrite dans le même
langage ne peut être axiomatisée par un nombre fini d'axiomes. Mais
ce n'est pas vraiment de ça que je veux parler.
Le résultat ci-dessus doit surprendre, parce qu'il paraît
contredire le théorème de Gödel. L'argument serait le suivant : s'il
y avait une contradiction dans ZFC, la démonstration de
cette contradiction n'utiliserait qu'un nombre fini d'axiomes
de ZFC (si on veut, c'est le théorème de compacité
syntaxique, mais c'est une trivialité : une démonstration, étant de
longueur finie, ne peut faire appel qu'à un nombre fini d'axiomes !) ;
mais d'après ce que j'ai dit, ZFC prouve que ceci ne peut
pas se produire (tout ensemble fini d'axiomes de ZFC est
consistant) — du coup, ZFC est consistant, et on semble
avoir prouvé ce fait dans ZFC ! Quelle est l'arnaque ?
L'arnaque est que le théorème de réflexivité ci-dessus est un
métathéorème ; plus exactement, donné un ensemble T₀
quelconque d'axiomes de ZFC, on a une recette tout à fait
explicite qui fabrique une démonstration à partir des axiomes
de ZFC dont la conclusion est T₀ est
consistant, et c'est un théorème
(de ZFC, PA ou de systèmes encore plus
faibles) que cette recette marche, i.e., l'énoncé encadré ci-dessus
est bien un théorème. Mais, s'il est vrai que pour
tout T₀ fini ⊆ZFC, T₀ est
consistant est un théorème de ZFC, et
que ceci est aussi un théorème de ZFC
ou PA (i.e., pour tout T₀ fini
⊆ZFC, T₀ est consistant est un théorème
de ZFC), en revanche, l'affirmation pour
tout T₀ fini ⊆ZFC, T₀ est
consistant, elle, n'est pas un théorème de ZFC (si ce
dernier est consistant), car elle implique la consistance
de ZFC d'après le raisonnement que j'ai fait au
paragraphe ci-dessus.
Je répète : pour tout ensemble fini T₀ d'axiomes
de ZFC, on sait fabriquer une démonstration
dans ZFC que cet ensemble T₀ est consistant,
et on sait montrer dans ZFC (ou PA ou moins)
que ce procédé marche bien, mais on ne peut pas en conclure
dans ZFC que tout ensemble fini T₀ d'axiomes
de ZFC est consistant. On peut résumer cette situation
ainsi : il est vrai que pour tout ensemble fini T₀
d'axiomes de ZFC, ZFC démontre la
consistance de T₀, mais il ne le fait pas
uniformément en T₀. C'est un cas du phénomène appelé
la ω-incomplétude : pour tout n on
démontre P(n) selon une recette générale et
explicite, mais on ne peut pas démontrer
∀n.P(n) (ici, s'imaginer
que n est un codage de T₀
et P(n) est l'affirmation que ce T₀
est consistant).
Absolument tout ceci vaut en remplaçant ZFC
par PA partout (i.e., pour tout sous-système
fini T₀ de PA, PA démontre
que T₀ est consistant, mais ne le fait pas de façon
uniforme). Ce fait est, d'ailleurs, étonnamment difficile à trouver
écrit dans des bouquins de logique arithmétique.
Pour autant, pour tout usage philosophique ou épistémologique, je
suis tenté de dire que ce qui précède (je veux dire, le résultat
encadré ci-dessus) est exactement aussi bien qu'une démonstration de
la consistance de ZFC dans ZFC,
resp. de PA dans PA. Je ne sais pas au
juste ce qu'on espérerait accomplir à avoir une démonstration de la
consistance de ZFC dans ZFC ou de celle
de PA dans PA (le projet de Hilbert était
plutôt d'avoir une démonstration de la consistance d'un système fort
dans un système faible, donc disons quelque chose comme celle
de ZFC dans PA, or ça c'est vraiment hors de
question). Mais je suppose que l'idée serait quelque chose
comme je suis prêt à admettre comme mathématiquement vrais et
certains les résultats — au moins arithmétiques — dont j'ai une
démonstration dans ZFC, et je me sentirais plus rassuré
si j'étais certain qu'il n'y a pas de démonstration de résultats
absurdes dans ZFC, ce qui n'est pas si idiot que ça
même si c'est circulaire (admettre que ZFC
est vrai — ne serait-ce qu'arithmétiquement — est beaucoup
plus fort qu'admettre qu'il est consistant, donc à partir du
moment où on l'admet comme vrai, l'étape épistémologique à l'admettre
comme consistant devrait être gratuite). Le principe de réflexion que
j'ai encadré ci-dessus rend la réticence à admettre
que ZFC est consistant encore plus bizarre dans ce
contexte : si je suis prêt à admettre la consistance de tous ses
sous-systèmes finis, je devrais bien admettre la consistance de la
théorie tout entière ; plus exactement, si on me fournit un modèle
simple permettant de construire, pour tout ensemble fini T₀
d'axiomes de ZFC, une preuve du fait que T₀
est consistant (et en outre, une méta-preuve du fait, d'ailleurs plus
ou moins évident, que ce procédé fonctionne bien), il serait
extrêmement bizarre de ne pas en admettre la conclusion, à savoir que
tout ensemble fini T₀ d'axiomes de ZFC est
consistant.
Pourquoi les ordinaux me fascinent (une introspection psychologico-mathématique)
J'ai déjà récemment écrit une
entrée sur mon obsession pour la symétrie, qui est
certainement responsable d'une bonne partie de l'attrait que les
mathématiques ont pour moi, et qui déborde sur ma fascination pour
certaines formes de mysticisme assez visible notamment dans les œuvres
littéraires que j'ai tenté d'écrire quand j'étais plus jeune. Mais il
y un autre aspect des mathématiques qui me hante et sur lequel je
n'arrive pas vraiment à placer un nom : disons, faute de mieux,
la grandeur. Je ne sais pas non plus expliquer exactement en
quoi cela consiste (pour être clair, je ne parle pas d'un concept
mathématique, mais du ressenti commun que j'ai de certaines parties
des mathématiques) ; j'ai tendance à penser que c'est le contrepoids
de la symétrie, donc peut-être que hiérarchie serait un
meilleur terme. Si je devais écrire sérieusement une œuvre dont j'ai
déjà publié certains fragments aléatoires, et imaginer un monde allant
avec, où les mathématiques donneraient des pouvoirs arcanes, il y
aurait sans doute deux types de pouvoirs et d'utilisateurs de
ceux-ci : les magiciens, qui utiliseraient
la symétrie, et les clercs (pour reprendre
la terminologie
rôliste) qui utiliseraient la hiérarchie. Maintenant,
c'est peut-être mon obsession pour la symétrie qui me fait
proposer cette classification : néanmoins, il est certain
que, si je dois faire le chemin des mathématiques au mysticisme, la
symétrie m'évoque clairement une forme de magie pour les raisons que
j'ai déjà expliquées dans l'entrée que je lui ai consacrée, tandis que
ce dont je veux parler ici a une saveur, disons, plus religieuse, et
cela transparaît notamment dans la Théorie de la Totalité
Transfinie de Turing que je décrivais
dans cette entrée.
Je ne sais pas quel est le phénomène mathématique sous-jacent à
cette impression mentale de « grandeur » ou « hiérarchie », donc, mais
je sais quel est le concept qui la réalise le plus parfaitement : il
s'agit des ordinaux. J'ai déjà écrit
ici une vulgarisation de ce concept (et j'ai
même fait un visualisateur
permettant de naviguer parmi les plus petits d'entre eux, quoiqu'il
faille admettre qu'on n'y voit rien), donc mon but
ici n'est
pas de parler de mathématiques (même s'il est à prévoir que je
n'y résisterai pas : j'invite alors le lecteur non intéressé par les
questions techniques à ignorer ces passages, ou
de lire en diagonale).
[Ajout : pour des descriptions de quelques grands
ordinaux et comment on peut les manipuler, je renvoie
à ce billet ultérieur.] Ce que je
veux présenter aujourd'hui est l'effet psychologique qu'ont
sur moi les ordinaux — une sorte de psychanalyse de l'infini, si on
veut, si ce n'est que je ne prétends pas vraiment être sérieux.
C'est une réalisation fascinante pour beaucoup d'enfants,
lorsqu'ils apprennent à compter, qu'il n'y a pas de plus grand
nombre : j'ai déjà écrit des
choses à ce sujet, je ne vais pas revenir sur cette fascination du
fait que dans le jeu qui peut dire le nombre le plus grand,
quand quelqu'un dit N, quelqu'un d'autre peut
dire N+1 (ou N×2, ou N², ce qui en
langage d'enfants signifie transformer un zilliard en un
zilliard de zilliards ; je note qu'une compréhension des
opérations les plus importantes des fonctions arithmétiques
« élémentaires » vient assez tôt). La grande-cousine de mon poussinet
nous racontait récemment, en parlant de son petit-fils, que ce dernier
était passionné par savoir qui compte le plus loin. Et j'ai le
souvenir assez net d'avoir joué à ces jeux (qui peut dire le nombre
le plus grand, et qui peut compter le plus loin) quand
j'étais petit. Je pense que c'est un signe que les mathématiques
peuvent exercer un véritable attrait sur les enfants — avant qu'on les
rende chiantes pour eux en leur faisant faire des calculs pénibles et
mécaniques à en dégoûter n'importe qui. Et je me souviens aussi
d'avoir eu des discussions, quand je jouais à ces jeux, pour savoir si
quelqu'un avait le droit de dire l'infini, et si l'infini
plus un (ou l'infini plus l'infini ou l'infini
d'infinis) était alors une réponse légitime, entre ceux qui
pensaient que ça n'existait pas, ceux qui pensaient que c'était de
toute façon pareil que l'infini, et ceux qui pensaient que c'était
encore plus grand. (Et en un certain sens, tous ont raison : il y a
différentes sortes d'infinis mathématiques selon l'usage qu'on veut en
faire ; mais les ordinaux vont plutôt donner raison aux derniers, et
pousser la logique.)
Mais il n'y a pas que cette fascination pour les nombres à laquelle
je pense chez les petits enfants. Il y en a une autre, que je
pourrais traduire comme l'idée que beaucoup de choses doivent
être totalement ordonnées : l'autre jour, dans une brasserie
où je déjeunais, j'entendis un enfant demander à son père qui était
le plus fort entre Darth Vader (enfin, Dark Vador, vu qu'il
parlait français) et je n'ai pas entendu le deuxième terme mais
j'imagine volontiers que c'était un super-héros quelconque. Par
coïncidence (coïncidence certes un peu limitée vue la sortie prochaine
d'un film très attendu), j'ai entendu, le même jour dans la rue, un
autre gamin poser exactement la même question entre Darth Vader et un
camion lancé à toute allure contre lui (question bizarre, mais je
crois bien que c'est ça). Je ne sais pas si cette croyance que la
puissance des super-héros ou des choses est totalement ordonnée (par
la relation gagne un combat contre ?) est enracinée dans le
développement de notre cerveau ou si c'est
culturel[#] (par exemple, à
force de se faire entrendre dire que Foo est plus Zippyesque que Bar
dans la publicité, dans la fiction, etc.), mais il est certain que,
petits, nous avons un certain goût pour les relations d'ordre total et
que ce goût ne disparaît pas totalement, en tout cas pas chez moi,
quand nous découvrons qu'en fait le monde n'est pas si simple, et que
deux choses ne sont pas toujours comparables.
[#] Spontanément,
j'aurais plutôt tendance à imaginer que c'est culturel ; mais d'un
autre côté, beaucoup du Mahābhārata, de ce que j'en ai
retenu, est consacré à comparaison de personnages guerriers chaque
fois plus puissants et moralement plus droits que tous ceux qui ont
précédé, et à la vérification de ces comparaisons au cours de combats.
Donc même si les auteurs épiques prennent ensuite plaisir à trahir les
attentes qu'on peut avoir sur les résultats de ces comparaisons, et à
introduire des ordres cycliques ou autrement paradoxaux, je soupçonne
que la présupposition de l'ordre total se trouve bien dans la culture
qui a engendré cette épopée.
Les ordinaux sont en quelque sorte la sublimation de ces jeux
d'enfants : de deux ordinaux, il y a toujours un plus grand (plus
fort, plus puissant, plus infini), d'ailleurs dans quasiment tous les
cas qu'on rencontre, le plus grand est tellement monstrueusement plus
grand que le plus petit, que le plus petit pourrait essentiellement
être le nombre 1 ; et à chaque fois qu'on a un ensemble d'ordinaux, il
y en a un qui est le plus petit de l'ensemble, et il y a un ordinal
qui est plus grand que tous ceux qu'on s'est donné. Si on
appelle ω la réponse que fait l'enfant qui
dit l'infini en réponse aux milliards et milliards de milliards
que les autres ont proposés (techniquement, donc, le plus petit
ordinal supérieur à tous les ordinaux finis), alors il y aura
des ordinaux ω+1 (l'infini plus un), ω·2
(l'infini plus l'infini) et ω² (l'infini
d'infinis) et encore d'autres choses plus grandes.
Mais je ne vais pas expliquer mon obsession pour les ordinaux
uniquement à partir de ces jeux d'enfants. Il y a aussi une élégance
intellectuelle dans la manière dont les ordinaux sont construits qui
ne peut pas ne pas susciter l'admiration : le même genre d'élégance
qui fait qu'on comprend que compter à
partir de zéro est la bonne façon de faire (et d'ailleurs les
ordinaux commencent à zéro). J'ai tenté d'expliquer ça dans l'entrée
de vulgarisation que je leur ai consacrée, mais je pourrais résumer la
construction des ordinaux en :
À chaque fois qu'on a construit les ordinaux jusqu'à un certain
point, on crée un nouvel ordinal qui vient juste après tous
ceux-là.
Cette idée est tellement génialement simple qu'on a du mal à se
rendre compte de sa puissance. Initialement, je ne sais pas du tout
ce que c'est qu'un ordinal, donc je n'en ai aucun : selon le principe
que je viens d'énoncer, je crée donc un premier ordinal qui vient
après rien du tout (i.e., c'est le plus petit de tous les ordinaux),
et que j'appelle 0. Je connais maintenant donc un seul ordinal, qui
s'appelle 0, et selon le principe de construction que j'ai énoncé,
j'en crée donc un autre qui vient juste après 0, et je l'appelle 1. À
ce stade-là, je connais donc 0 et 1, et je crée donc un nouvel ordinal
qui vient juste après eux, et je l'appelle 2. En procédant de la
sorte, je crée des ordinaux correspondant aux entiers naturels (0, 1,
2, 3, 4, 5… 42, 43, 44… 1000… 10↑42…), qui n'ont déjà pas de fin.
Mais contrairement à la fabrication des entiers naturels (en
gros, je fabrique 0, puis si je fabrique n, alors je
fabrique aussi n+1), le principe que j'ai énoncé
ci-dessus continue de s'appliquer : maintenant que je connais
les entiers naturels, je crée un nouvel ordinal qui vient juste
après tous ceux-là et je l'appelle ω, ce qui donne
à son tour naissance à ω+1 et ainsi de suite.
Ce principe de construction est merveilleux parce que c'est
exactement le même qui s'applique à chaque fois, et qui ne cesse
jamais de s'appliquer, et malgré cela il donne naissance à une
richesse et une diversité extraordinaires, mais je vais y revenir. Et
les choses se déroulent ex nihilo, à partir du
rien (comme je viens de le dire, le principe marche dès le début : on
n'a pas d'ordinaux pour commencer, donc on crée un ordinal 0, il n'y a
pas de règle spéciale pour 0 comme il y a pour les entiers naturels).
On comprend
que Cantor,
quand il a découvert le concept, ait été ébloui par ce sur quoi il
venait de mettre le doigt. (Et on comprend aussi que cette idée ait
suscité la réticence, pour ne pas dire l'hostilité, de la communauté
mathématique de l'époque, selon un modèle assez bien résumé
par ce
webcomic ; David Hilbert a bien eu raison en parlant — au sujet de
la théorie des ensembles, mais certainement des ordinaux et cardinaux
en particulier — d'un paradis que Cantor a créé et dont il ne
faut pas que les mathématiciens nous chassions nous-mêmes.) Mais la
construction a été rendue encore plus éblouissante
par von Neumann,
qui a proposé
(Zur
Einführung der transfiniten Zahlen, Acta Litt. ac
Scient. Univ. Hung. 1, 199–208, en 1923 — l'auteur était
âgé de même pas vingt ans !) la réalisation suivante des ordinaux,
maintenant complètement standard :
Un ordinal est l'ensemble des ordinaux plus petits que lui.
Ainsi 0 est l'ensemble vide (∅) puisqu'il n'y a pas d'ordinaux plus
petits, tandis que 1 est l'ensemble {0} = {∅} ayant pour seul élément
0=∅ puisque ce dernier est le seul ordinal plus petit, et 2 est
l'ensemble {0,1} = {∅,{∅}} ayant les éléments 0 et 1, et ainsi de
suite ; et ω = {0,1,2,3,…} est l'ensemble des entiers
naturels. Ce n'est pas terriblement important pour la nature des
ordinaux qu'ils soient « réalisés » comme par la définition de
von Neumann, mais cela ajoute encore énormément à l'élégance
fascinante de la construction, et au sentiment qu'elle se fabrique
toute seule à partir de rien.
Il est certain que cette idée ne pouvait que susciter lors de son
introduction des réactions assez vives, centrées sur le caractère
légitime ou non d'admettre l'infini (l'infini actuel,
c'est-à-dire réalisé, et non seulement potentiel) comme objet
mathématique légitime, et le fait que la construction soit
littéralement ex nihilo n'améliorait certainement
pas les choses. J'ai mentionné ci-dessus qu'elle a suscité une très
vive opposition, y compris de la part de certains des esprits les plus
brillants du monde mathématique, comme Poincaré ou Weyl (et pas
seulement des mathématiciens : Wittgenstein était profondément hostile
à la théorie des ensembles), tandis que d'autres, non moins brillants,
comme Hilbert ou von Neumann, l'ont accueillie avec enthousiasme.
Pour la défense des sceptiques et détracteurs de la théorie des
ensembles en général, et des ordinaux en particulier, il faut dire que
toutes sortes de paradoxes (celui de Burali-Forti qui invite à
considérer l'ensemble de tous les ordinaux, je vais y revenir, et
celui de Russell qui invite à considérer l'ensemble de tous les
ensembles qui n'appartiennent pas à eux-mêmes) ont été découverts dans
la première formulation, pré-axiomatique, de la théorie des ensembles,
et ces paradoxes pouvaient s'interpréter comme une impossibilité
absolue de traiter directement des quantités infinies sans arriver à
des contradictions. De nos jours, tout le
monde ou presque admet que la
difficulté était simplement de codifier rigoureusement les règles par
lesquelles on a le droit de manipuler des ensembles et des infinis, et
qu'une fois ces règles bien fixées (comme elles l'ont été par Ernst
Zermelo et Abraham Fraenkel), la contradiction disparaît sûrement.
(« Sûrement », même si on sait depuis Gödel qu'on ne peut jamais être
totalement certain que la contradiction n'existe pas, et à
chaque fois qu'on ajoute un infini plus grand, on ne peut qu'en être
moins certain.) Ce qui est certain, c'est que la théorie des
ensembles, et notamment la notion d'ordinal, fait partie des
mathématiques maintenant considérées comme standard, même si cela
n'empêche pas les crackpots de se
concentrer dessus et de chercher à contredire différents passages de
ce qu'ils ne comprennent pas,
et spécifiquement
les résultats de Cantor (typiquement,
l'argument
diagonal, même si celui-ci ne parle pas vraiment d'ordinaux). Et
s'il y a une contradiction dans la théorie des ensembles, elle ne doit
pas être si évidente que ça, vu le plaisir avec lequel des
raisonnements d'une sophistication incroyable sont menés dedans et ne
sont jamais encore tombés dans une
contradiction[#2].
[#2] Digression
technique : Des gens savants peuvent ici me
rétorquer : mais si, on est tombé dans une contradiction !, en
postulant l'existence
d'un cardinal
Reinhardt. Je ne sais pas si ça mérite vraiment une réponse
autre que oui, à force de chercher vraiment très fort à introduire
des axiomes aussi forts que possible et aussi proches que possible
d'une contradiction, on a fini par en trouver une (repassez quand vous
aurez une contradiction dans ZFC), i.e., je ne sais
pas si l'existence d'un cardinal Reinhardt a sérieusement été avancée
comme « vraie ». Cela n'a pas empêché de très grands théoriciens des
ensembles (je pense à Hugh Woodin) de se livrer à une analyse
mathématique et philosophique approfondie de pourquoi cette
contradiction et ce qu'elle signifie sur la taille de l'infini — voir
par
exemple l'article
de Woodin intitulé The Realm of the Infinite
— et voir d'ailleurs
aussi les
commentaires et explications de Peter Koellner sur ce texte. En
tout état de cause, cette histoire va plutôt dans le sens que quand on
trouve une contradiction dans la théorie des ensembles, elle n'est pas
spécialement difficile à exhiber (la preuve de la contradiction
de ZFC + « il existe un cardinal Reinhardt » a été
trouvée rapidement, et elle n'est ni longue ni très subtile), donc
j'ai tendance à croire que savoir jusqu'où on a pu aller trop loin
donne plutôt confiance en la solidité de l'édifice. (Alternativement,
on peut défendre la thèse que la contradiction ne vient pas du grand
cardinal supposé mais de l'axiome du choix qui limiterait la taille
possible de l'infini, comme l'axiome de
constructibilité place la limite beaucoup plus bas — en-dessous
d'un cardinal mesurable.)
Mais il est vrai que tous ces concepts fleurent bon la
contradiction tant ils semblent jouer avec elle et tourner autour
d'elle en l'évitant tout juste. C'est le cas de façon générale de la
logique mathématique (le théorème de Gödel s'approche dangereusement
du paradoxe de la phrase qui dit cette phrase est fausse, et
nous invite à contempler attentivement la différence entre vérité et
démontrabilité — j'ai écrit de la
vulgarisation à ce sujet ici), mais
quand on ajoute les infinis dans l'histoire et la difficulté à se les
imaginer intuitivement, on comprend que certains ne se sentent pas du
tout à l'aise. Pour en revenir à mon propos initial, je pense que
c'est justement pour cela que, une fois admis que le sujet n'est pas
contradictoire, on le trouve d'autant plus stimulant. Arriver à
suivre certains raisonnements en logique ou théorie des ensembles,
bien plus que dans d'autres branches des mathématiques, peut être
comparable à un roman policier où tout le monde réussit à tromper le
détective tout en disant la plus stricte vérité.
Une conséquence de la construction des ordinaux (que ce soit celle
de Cantor ou celle, plus précise, de von Neumann), est qu'on ne peut
jamais en contempler la totalité : parler de la totalité des ordinaux
contredit immédiatement le principe même de construction des ordinaux,
puisque cette totalité devrait s'exposer immédiatement à définir un
nouvel ordinal plus grand qu'eux (dans la construction de
von Neumann : l'ensemble de tous les ordinaux), ce qui définit un
nouvel ordinal, contredisant la totalité de la totalité supposée !
C'est là essentiellement
le paradoxe
de Burali-Forti. La résolution moderne technique est que les
ordinaux ne forment en effet pas un ensemble, ils ne sont pas
regroupables en ensemble — si on veut donner un nom à tous les
ordinaux, ce sera une classe — et la construction des ordinaux
ne s'applique qu'aux ensembles. Mais le contenu intuitif de cette
explication technique est le suivant : on ne peut en effet jamais
contempler la totalité des ordinaux, il faut donc décider d'arrêter de
les construire à un certain moment (mais il vaut mieux choisir un
moment raisonnablement « robuste », et c'est essentiellement cela que
permettent les axiomes de la théorie des ensembles), après quoi
l'ordinal qui vient immédiatement après s'appelle la classe des
ordinaux et on fait semblant que ce n'est pas un ordinal, pas plus
que ceux qui viendraient après ; des
propriétés plus
ou moins compliquées, ajoutées sous forme d'axiomes, permettent de
décider jusqu'où on impose d'aller dans la construction des ordinaux.
Bref, on a effectivement affaire à quelque chose qui n'est jamais
achevé, qui ne peut jamais l'être par sa définition même, il faut
juste décider à quel moment on a quelque chose de « suffisamment
achevé », i.e., robuste, pour ce qu'on veut en faire. Là aussi, il
s'agit d'une perspective extrêmement dérangeante, et donc d'autant
plus fascinante quand on arrive à l'accepter mentalement : quand on
dit les ordinaux, il y a toujours quelque chose d'inachevé dans
l'histoire. Et en fait, quand on examine de plus près la logique, on
se rend compte, et je vais essayer d'en dire un mot plus bas même si
c'est un peu complexe, que cet « inachèvement » ne concerne pas que la
notion de tous les ordinaux mais même des ordinaux bien précis,
disons ω₁ ou même ω₁CK
(voire ω ?), ce qui rend tout le panorama encore plus
mystérieux.
Dans ces conditions, il ne me surprend pas que Cantor soit devenu
mystique. Une rumeur persistante veut qu'il ait été fou, ce qui va
certainement dans le sens de démolir ad hominem
ses théories : la vérité est surtout qu'il a souffert de dépression,
notamment à cause du rejet de ses idées. Mais il est vrai qu'il a été
habité d'idées tout à fait mystiques, comme l'affirmation que c'était
Dieu qui lui avait inspiré l'idée des nombres transfinis, et que leur
existence (actuelle et non simplement potentielle) apportait une
lumière sur l'existence ou sur la pensée de Dieu. Et il a écrit
plusieurs lettres à des prêtres catholiques, dont le pape Léon XIII,
au sujet de théologie et de rapports entre théologie et mathématiques.
Même Hilbert utilise le terme de paradis
(Paradies) pour décrire le monde de la théorie
des ensembles ouvert par Cantor, avec ses infinis et ses raisonnements
non-constructifs, et ce n'est certainement pas un hasard. Moi-même je
ne peux que plaider coupable en ce qui concerne le mysticisme (même
si, je l'ai déjà expliqué, pour moi le mysticisme est avant tout
intéressant artistiquement, par exemple comme prémisse pour une œuvre
littéraire) : ma fascination pour les ordinaux a indiscutablement une
origine à peu près mystique, et quand je propose une interprétation
eschatologique du paradis cantorien (encore une fois,
la Théorie de la
Totalité Transfinie de Turing), c'est du mysticisme à 0.02¤
(voire à (1/ω)¤).
Mais c'est là que je veux, pour expliquer le mécanisme
psychologique qui joue, rejoindre le mot que j'ai utilisé plus
haut : grandeur. J'ai déjà dit que
je fais souvent des rêves de vastes
labyrinthes à explorer et j'ai déjà
comparé les mathématiques à un palais magnifique et
extraordinairement beau en même temps que labyrinthique : si
la symétrie est ce qui fait la beauté du palais,
la grandeur joue beaucoup pour qu'on ait envie de l'explorer.
Les ordinaux sont le terrain de jeu ultime pour ce qui est de
la grandeur, et comme un gosse qui découvre un nouveau
terrain d'aventure, j'ai envie de m'y lancer.
Voici un concept mathématique (voire, informatique ?) dont je suis
tout étonné de découvrir que je ne l'ai jamais encore proprement
défini sur ce blog, alors même que ça aurait été logique et pertinent
de le faire dans différentes entrées que j'ai déjà écrites. (Par
exemple, j'y fais explicitement référence
dans cette entrée, et il aurait
été logique d'en parler
dans celle-ci ; et au sujet
de cette entrée récente, je
pourrais dire qu'il s'agit exactement de la puissance de calcul du
niveau ω₁CK de la « Théorie de la Totalité
Transfinie de Turing ».) Je voudrais donc réparer ce manque, d'autant
plus que je trouve que le sujet devrait être standard, et
connu, notamment, de tous les informaticiens théoriciens vaguement
préoccupés de calculabilité ou de complexité (or je suis sûr que ce
n'est pas le cas[#]) : une
machine hyperarithmétique est un type d'ordinateur théorique
strictement plus puissant que les machines de Turing, et il me semble
qu'avoir en tête à la fois la notion de fonctions hyperarithmétiques
(plus générales que les fonctions calculables au sens de
Church-Turing, donc) et la notion de fonctions primitives récursives
(plus restreintes) aide à mieux comprendre les contours de la
calculabilité (y compris si on ne s'intéresse, in fine, qu'aux
machines de Turing). Il me semble par ailleurs qu'il s'agit d'une
notion relativement intuitive (je vais donc essayer de la présenter
comme telle), qu'il est donc dommage de laisser cachée dans des textes
de calculabilité supérieure un peu oubliés et au formalisme souvent
obscur.
Je commence par rappeler[#2]
ce que c'est que
la calculabilité
au sens habituel, i.e., de Church-Turing : les lecteurs pour lesquels
ce concept est familier peuvent sauter
jusqu'au symbole ♠ plus
bas.
En bref, [une fonction] calculable (sous-entendu : au sens
de Church-Turing) signifie [une fonction] qui pourrait être
calculé(e), en principe, par un algorithme tournant sur un
ordinateur — sachant que cet ordinateur n'a aucune limite sur la
quantité de mémoire qu'il peut utiliser, ni sur le temps qu'il peut
prendre, à part que le temps doit être fini (et la mémoire,
du coup, automatiquement aussi).
Pour donner une définition plus précise, il y a plein de
possibilités : la première qui ait été introduite historiquement, vers
1930, est
le lambda-calcul
de Church,
mais même si elle est utile pour modéliser les langages de
programmation fonctionnels, elle n'est pas très parlante
intuitivement ; la seconde définition est venue par
les fonctions
générales récursives (je n'ai pas réussi à comprendre exactement
quelle en était l'histoire, mais elles doivent être associées à un
ensemble intersectant les noms
suivants : Herbrand, Gödel,
et Kleene) ;
mais la définition de la calculabilité qui a vraiment achevé de
convaincre le monde des mathématiciens qu'il s'agissait de la
bonne notion est venue en 1936
quand Turing a
défini la
machine qui porte maintenant son nom. Quantité d'autres
définitions ont été données depuis (par exemple avec
des machines à
registres). J'en donnerai moi-même une
(illisible) ci-dessous
comme produit dérivé d'une définition rigoureuse du sujet principal de
cette entrée (pour les fonctions calculables, retirer la clause (vii)
qui me sert à définir les fonctions hyperarithmétiques). Le point
important est que toutes ces définitions sont
équivalentes au sens où elles conduisent à la même classe de
fonctions « calculables » : la
fameuse thèse
de Church-Turing affirme que n'importe quelle tentative pour
définir la notion de « fonction calculable par
un algorithme »
aboutira, in fine, à cette même classe des fonctions
calculables (au sens de Church-Turing, donc), étant bien entendu que
l'« algorithme » doit manipuler à tout instant des données finies, et
terminer en temps fini (et, par ailleurs, ne peut pas faire appel au
hasard, ou en tout cas le résultat final ne doit pas en dépendre).
Nous écrivons les nombres en base 10 (c'est-à-dire que pour compter
des billes, nous faisons des tas de 10, puis des tas de 10 de ces tas,
puis des tas de 10 de ceux-là, etc., et nous indiquons par un chiffre
le nombre de chaque type de tas) : heureusement, de la Chine à la
Patagonie, tout le monde est d'accord là-dessus, y
compris les pays
reculés qui continuent à diviser leurs unités de longueur en 1760
et leurs unités de poids en 16. On voit parfois avancée çà ou là
l'idée qu'on ferait mieux de compter en une autre base
(typiquement 12). Le choix de 10 n'est peut-être pas idéal, mais
l'intérêt d'avoir un standard commun à tout le monde est
infiniment supérieur à l'avantage d'avoir telle ou telle autre base
peut-être préférable dans l'absolu : même si nous utilisions une base
franchement merdique, comme 11, il vaudrait mieux rester sur un
standard merdique mais commun que de chercher à créer de la confusion
en en changeant (c'est d'ailleurs pour le même genre de raison que je
ne pense pas qu'il soit une bonne idée d'essayer de changer d'autres
choses qui ont été adoptées universellement, comme le calendrier
grégorien et ses bizarreries bêtement baroques). Tout ça pour dire
que je ne propose certainement pas une seule seconde de changer de
système d'écriture des nombres (même si j'avais le pouvoir de motiver
des gens à initier un tel changement, je ne voudrais en aucun cas m'en
servir). J'espère que j'ai bien enfoncé la porte ouverte, et que je
peux maintenant aborder la question purement théorique de ce que
pourrait être une bonne base si on devait repartir de
zéro.
L'intérêt d'avoir une base b divisible par des petits
nombres (premiers) est principalement que les fractions simples vont
pouvoir s'écrire en base b de façon simple : le fait que
10=2×5 fait que les rationnels 1/2 et 1/5 s'écrivent respectivement
0.5 et 0.2 en cette base, tandis que le fait que 3 ne divise aucune
puissance de 10 est responsable du fait que 1/3 s'écrit 0.333333…, ce
qui est un peu agaçant dès qu'on veut manipuler des tiers (notamment à
cause des arrondis : si on arrondi 1/3 à 0.333, alors dès qu'on en met
trois, on tombe sur 0.999 et il y a un millième qui est tombé à
l'eau). L'argument en faveur de la base b=12 est que comme
il est divisible par 2, 3 et 4, il simplifie l'écriture des fractions
de petit dénominateur (1/2 s'y écrit 0.6, 1/3 s'y écrit 0.4, et 1/4
s'y écrit 0.3), mais évidemment, on perd le 1/5, qui devient
0.24972497…, ce qui n'est pas franchement plaisant. • L'intérêt
d'avoir une base b petite est, quant à lui, que les tables
d'addition et de multiplication sont d'autant plus courtes à
apprendre : la base 2 est bien sûr particulièrement simple de ce point
de vue-là, et il est naturel qu'on s'en serve dans circuits
électroniques (je veux dire : outre le fait qu'il est naturel de
représenter 0 et 1 par l'absence et la présence d'un signal,
l'addition et la multiplication se calculent de façon particulièrement
simple), même si elle est peu appropriée au calcul humain à cause de
la longueur de la représentation des nombres.
D'un autre côté, les choix sont apparemment limités : si la base
est trop petite, les nombres sont trop longs à écrire, si elle est
trop grande, les tables d'opération sont trop complexes à mémoriser,
et si on cherche à avoir autant de divisibilités que possible, il
semble que 6 ou 12 soient peut-être les choix les plus sensés, et en
tout cas 10 n'est pas du tout mauvais.
(À ce propos, j'espère enfoncer de nouveau des
portes grandes ouvertes, mais quand j'écris par exemple la base
12, il va de soi que ce 12 est lui-même écrit de
la manière dont nous écrivons habituellement les nombres, c'est-à-dire
dans la base dont la valeur est [le nombre de ‘I’ dans ce qui suit]
IIIIIIIIII. C'est complètement idiot, mais si on n'éclaircit pas ce
point, certains sont capables de s'imaginer
que le
nombre 10 est magique.)
La discussion ci-dessus, cependant, néglige le fait qu'il y a
toutes sortes de variations possibles sur l'écriture en
base b, qui peuvent être utiles dans différents sens, ou
qui pourraient arriver pour des raisons essentiellement historiques.
Les mayas, et les aztèques à leur suite, par exemple, pour autant que
je comprenne, écrivaient les nombres en base 20, sauf que le
chiffre des vingtaines était exceptionnel et n'allait que jusqu'à 18 :
i.e., ils faisaient des paquets de 20 unités, puis des paquets de 18
paquets, puis des paquets de 20 de ces paquets, et de même de 20 à
tous les niveaux suivants ; ceci fournissait une correspondance
avec leur calendrier
de 18 mois de 20 jours. Par ailleurs, même l'écriture des chiffres de
0 à 19 était plus ou moins faite en base 5 (ils utilisaient un bâton
pour le nombre 5, un point pour le nombre 1, et donc par exemple trois
bâtons et deux points pour le chiffre 17 — je dis bien chiffre,
parce que 17 était un chiffre de leur écriture en base à-peu-près-20 ;
le zéro était noté spécialement, pour ne pas laisser un vide
disgracieux dans l'écriture).
Pour donner un exemple d'écriture qui n'est pas tout à fait une
base b entière mais qui s'y rapproche beaucoup, on peut
écrire les entiers en « base Fibonacci » : cette représentation
n'utilise que les chiffres 0 et 1 et interdit à deux ‘1’ d'être
consécutifs, la valeur des positions étant donnée par les termes de la
suite de Fibonacci ((1,)1,2,3,5,8,13,21… chacun étant la somme des
deux précédents). Ainsi, comme 17=13+3+1, le nombre 17 s'écrira
100101 : et les premiers entiers s'écrivent 0, 1, 10, 100, 101, 1000,
1001, 1010, 10000, 10001, 10010, 10100, 10101, 100000, etc. Ce
mécanisme d'écriture (dont il existe d'ailleurs un certain nombre de
variations) peut avoir un intérêt dans certaines circonstances, et il
est possible d'y mener des calculs, mais évidemment, il est encore
plus encombrant que la base 2 (et l'écriture fractionnaire n'est pas
du tout claire). Je l'évoque surtout pour montrer qu'il n'y a pas que
les écritures en base b qui peuvent avoir un sens ou un
intérêt. (D'ailleurs, mon voisin de bureau est spécialiste de ce
genre de questions.)
⁂ Bon, alors, si je devais absolument choisir un système d'écriture
des nombres de novo, qui soit relativement
aisément manipulable à la main si on oublie l'héritage de la base 10,
je crois que je choisirais la base 30 écrite sous la forme 5×6,
c'est-à-dire une base alternée 5 et 6.
Autrement dit, l'idée est de faire des paquets de 6, puis de faire
des paquets de 5 de ces paquets, puis des paquets de 6 de ces
paquets-là, puis des paquets de 5 de ceux-là, et ainsi de suite en
alternant 6 et 5 : comme les paquets de paquets sont toujours de 30,
on peut dire qu'on travaille en base 30, mais on le fait en
n'utilisant que des paquets de 6 ou 5, ce qui garde des chiffres
petits et manipulables, et des tables d'opérations facilement
mémorisables.
Concrètement, on utiliserait deux séries de chiffres, disons
0,1,2,3,4,5 pour les chiffres en base 6, et Z,A,B,C,D pour ceux en
base 5 ; ces deux séries alterneraient systématiquement (en terminant
par la série 0…5 pour le chiffre des unités). Le fait d'avoir deux
séries de chiffres qui alternent peut d'ailleurs avoir un intérêt en
lui-même : il évite certaines erreurs de décalage d'une colonne (à la
fois à la lecture, et lorsqu'on effectue les opérations). • Les
premiers entiers s'écrivent donc 0,
1, 2, 3, 4, 5, A0, A1, A2, A3, A4, A5, B0, B1, B2, B3, B4, B5, C0, C1,
C2, C3, C4, C5, D0, D1, D2, D3, D4, D5, 1Z0, 1Z1, 1Z2, 1Z3, 1Z4, 1Z5,
1A0, etc. Le nombre décimal 1760 s'écrirait, par exemple, 1D4C2 dans
ce système, parce qu'il vaut 1×30² + 4×6×30 + 4×30 + 3×6 + 2 (le 2 est
le chiffre des unités, le C est le chiffre des sixaines, le 4 est le
chiffre des groupes de 5×6=30, le D est le chiffre des groupes de
6×5×6 = 6×30 = 180, et le 1 est le chiffre des groupes de 5×6×5×6 =
30² = 900) : cette conversion est, bien sûr, fastidieuse, mais ça ne
dit rien sur cette base spécialement parce que la conversion d'une
base à une autre est toujours fastidieuse (enfin, sauf entre
puissances d'un même nombre).
Le Conseil
de l'Union européenne, dont le nom officiel est juste le
Conseil, et qu'on appelle parfois aussi informellement Conseil
des ministres parce qu'il réunit les ministres des 28 états
membres sur un sujet donné, est en quelque sorte la chambre haute de
la législature de l'Union européenne (dont le Parlement européen
serait la chambre basse), représentant les intérêts des États membres
tandis que le Parlement européen représente la population de l'Union :
il est donc vaguement analogue au Sénat des États-Unis ou au Bundesrat
allemand (représentant, dans les deux cas, les entités fédérées). Si
je simplifie en passant sous silence un nombre incroyable de cas
particuliers, subtilités, astérisques et autres exceptions, une
directive européenne (l'équivalent d'une loi) doit, pour être adoptée
(selon la procédure législative ordinaire) être proposée par la
Commission, et adoptée dans les mêmes termes par le Parlement et le
Conseil. Je me propose d'analyser un peu la manière dont ce Conseil
vote.
Les gens qui n'aiment pas lire des logorrhées (mais que faites-vous
sur mon blog, aussi ?) peuvent sauter plus bas où il y a des jolis
graphiques.
La petite minute nécessaire
du Club Contexte : il y a
aussi
un Conseil
européen, terminologie épouvantablement idiote parce qu'il
n'est pas plus européen que l'autre, qui ressemble beaucoup au Conseil
[des ministres] en ce qu'il est formé des représentants des 28 États
membres, mais qui diffère en ce qu'il est formé des chefs d'État ou de
gouvernement au lieu des ministres, et dont les fonctions ne sont pas
tout à fait claires au niveau institutionnel (il « dirige », donne des
« impulsions », etc.). Du coup, le Conseil européen a très rarement
l'occasion de procéder à des votes, à part pour des cas très précis
comme quand il s'agit de nommer le président de la Commission et qu'il
n'y a pas de consensus. Les deux conseils (Conseil européen et
Conseil [des ministres]) se ressemblent par certains points : dans les
rares cas où le Conseil européen effectue un vote, c'est le même
mécanisme de vote que pour le Conseil, et les deux Conseils ont, par
exemple, le
même logo
représentant le
futur bâtiment qu'ils auront aussi en commun (parfois l'un des
deux ajoute au logo le mot latin Consilium, mais je n'ai pas
compris lequel, ça a l'air de changer, et c'est peut-être obsolète),
et ils ont le même site
Web. Il y a aussi des différences : notamment, contrairement au
Conseil [des ministres], qui est présidé par un État tournant tous les
six mois [subtilité : sauf quand il est en formation affaires
étrangères], le Conseil européen est présidé par une personne
stable, en l'occurrence l'ancien Premier ministre polonais Donald
Tusk. Je pense que l'idée est que si on considère l'UE
comme un État fédéral ou confédéral, le Conseil européen en est une
sorte de chef d'État collégial : il nomme le chef du gouvernement,
c'est-à-dire de la Commission, et il a la main sur les grandes lignes
de la politique étrangère. (Il n'est pas rare dans les dispositions
constitutionnelles qu'il y ait une certaine porosité ou proximité
entre le chef de l'État et la chambre haute du parlement : par
exemple, le vice-président des États-Unis est ex officio
président du Sénat, tandis que le président du Sénat français devient
président par intérim si le président décède, et on peut certainement
citer d'autres exemples ; la confusion entre les deux Conseils se
comprend donc un peu dans cette logique.) • Par ailleurs, il ne faut
pas confondre l'un ou l'autre de ces Conseils, qui sont des
institutions de l'Union européenne, avec
le Conseil de
l'Europe, qui est une autre institution internationale,
strictement plus grande que l'Union européenne (et dont, par exemple,
la Norvège, la Suisse et la Russie sont membres). Pour tout arranger
au niveau confusion, le Conseil de l'Europe a le même drapeau que
l'Union européenne (c'est même lui qui l'a utilisé en premier), et
aussi le même hymne.
Généralités : La plupart des décisions du Conseil
[de l'UE, i.e., Conseil des ministres] se
prennent, dans la pratique, sur la base du consensus : un
vote a lieu formellement, mais il est précédé de beaucoup de
négociations, voire de marchandages, menées informellement (par
courrier électronique, par l'intermédiaire des représentants
permanents à Bruxelles, ou au cours de réunion officieuses du
Conseil), surtout par la présidence tournante du Conseil : lorsque la
présidence annonce qu'elle dispose d'une majorité suffisante pour
approuver la proposition, les éventuels pays minoritaires préfèrent
négocier leur ralliement au vote en échange de quelques concessions
plutôt que d'enregistrer une « contestation publique », i.e., de
figurer sur le papier final comme votant contre (ce qui peut être
embarrassant, diplomatiquement ou politiquement, sauf s'il s'agit
d'enregistrer un point vis-à-vis de leur opinion publique nationale).
Ce n'est pas pour autant que les détails du mécanisme de vote n'ont
pas d'importance ! Car ce sont tout de même eux qui définissent le
pouvoir des différents pays dans les négociations informelles, et même
si le vote formel apparaît comme unanime — même si on cherche le
compromis pour arriver à l'unanimité — l'avis d'un petit pays sera
évidemment d'autant plus écouté s'il a le moyen de tout bloquer que si
on sait qu'on peut toujours se passer de son accord. (Une analyse
précise de la dynamique de vote pour ce qui est de la contestation
publique, sur la période 1995–2010, est menée
dans ce
rapport de Wim van Aken, Voting in the Council of
the European Union.)
Le mécanisme de vote dans toute sa subtilité juridique est assez
complexe. D'abord, il y a plusieurs mécanismes différents selon le
type de motion soumise au vote, et qui exigent des majorités
différentes : majorité simple (principalement pour des questions de
procédure ou des résolutions sans valeur
légale), majorité qualifiée (la procédure ordinaire),
ou unanimité (essentiellement pour tout ce qui est conçu
comme une coopération intergouvernementale : par exemple, en matière
fiscale). Même au sein de la majorité qualifiée, une des conditions
demandées est différente selon que le Conseil vote sur une proposition
de la Commission ou non (il y a donc, en quelque sorte, deux majorités
qualifiées différentes : la normale, pour voter sur une proposition de
la Commission, et la renforcée, pour les cas où le Conseil agit de sa
propre initiative, essentiellement en matière de politique
étrangère). • Pour compliquer encore les choses, pendant une période
transitoire qui dure de novembre 2014 à mars 2017, les règles de vote
actuelles, entérinées dans
le traité de
Lisbonne de 2007 (qu'on appellera donc en abrégé règles de
Lisbonne, en gros : 55% des états membres représentant 65% de la
population), peuvent parfois — à la demande d'un membre du Conseil —
être remplacées par les règles antérieures, contenues dans
le traité de
Nice de 2001 (règles de Nice, en gros : >50% des états
membres, et 73.8% des voix pondérées). • Pour compliquer encore un peu
plus les choses, une déclaration annexée aux traités (parfois
appelée « compromis de Ioannina », ) veut que si un groupe d'états
n'est pas suffisant pour constituer une minorité de blocage
(c'est-à-dire, une minorité capable d'empêcher un vote de passer,
donc, avec les règles de Lisbonne, 45% des états membres ou
représentant 35% de la population de l'Union) mais n'est « pas trop
loin » d'en constituer une, alors la présidence du Conseil et
l'ensemble de ses membres s'engagent à faire des efforts pour trouver
une solution tenant compte de leurs objections. • Pour compliquer la
complication, la définition de pas trop loin dans la phrase
précédente sera abaissée en avril 2017 (pour compenser le fait qu'on
ne pourra plus invoquer les règles de Nice ; jusqu'à mars 2017, il
suffit de représenter 3/4 du nombre de membres ou de la population
nécessaires à constituer une minorité de blocage, tandis qu'à partir
d'avril 2017, elle est abaissée à 55% sur ces deux critères). Ouf !
On comprend que les choses ne soient pas aisées à décrire.
Mon but est ici, en oubliant un peu les subtilités de la
négociation et de la culture du compromis, de faire quelques points
plutôt d'ordre mathématique, mais à un niveau assez simple, sur le
mécanisme de vote du Conseil à la majorité qualifiée (« normale »), à
la fois dans les règles de Lisbonne et dans les règles de Nice. Et
d'en profiter pour faire quelques remarques plus générales sur
l'analyse du pouvoir dans un système de vote de ce genre.
[J'avais déjà écrit un billet sur le
sujet ici, au moment où le
mécanisme de vote était en train d'être débattu (et en écrivant par
erreur Conseil européen au lieu de Conseil [de
l'Union européenne ou des ministres]). J'y proposais un
mécanisme de vote particulier. Ici, je vais plutôt me pencher sur la
question de comment analyser un mécanisme de vote existant.]
Je cherchais à me faire une idée intuitive un peu plus
claire de la notion mathématique de décomposition en harmoniques
sphériques (voir ici pour une
explication très sommaire) : or la meilleure façon de comprendre une
notion mathématique est probablement de s'amuser avec — je me suis dit
que pour avoir une fonction raisonnablement « parlante » sur la sphère
avec laquelle faire joujou, un candidat assez naturel est la forme des
continents. J'ai donc analysé cette fonction en harmoniques
sphériques ; plus exactement, j'ai pris la fonction qui vaut −1 sur la
terre et +1 sur la mer, histoire d'être mieux centré vers 0, mais
c'est peu important (ça va juste introduire des facteurs ½ pénibles un
peu partout dans la suite), et en faisant semblant que la Terre est
une sphère. Ce calcul n'a, bien sûr, rien d'original, même si le
genre de fonction qu'on analyse pour des applications plus sérieuses
seraient plutôt l'altitude, le champ de gravité ou quelque chose de ce
goût. Je tire mes données géographiques
de cette
page (Earth Specular Map 8K). J'ai utilisé
la bibliothèque SHTns
pour faire les calculs (après une tentative pitoyable pour les faire
moi-même, cf. ci-dessous).
L'image à gauche de ce texte montre les sommes partielles de cette
décomposition en harmoniques sphériques : en haut, le
niveau ℓ=0, en-dessous la somme des niveaux ℓ=0
et ℓ=1, puis la somme des niveaux ℓ≤2, et ainsi
de suite (à chaque fois, toutes les valeurs de m,
c'est-à-dire −ℓ≤m≤ℓ, sont mises pour
chaque ℓ, donc si on veut, la première ligne montre 1
terme, le suivant la somme de 4 termes, puis la somme de 9 et ainsi de
suite). La Terre est vue en
double projection
orthographique, c'est-à-dire comme si elle était vue de l'infini :
hémisphère nord à gauche, hémisphère sud à droite, le pôle
correspondant au centre de chaque disque, le méridien de Greenwich
comme le segment horizontal reliant les pôles — tout ceci devrait être
assez clair sur les dernières images où on commence vraiment à voir la
forme des continents ; mais bien sûr, cette façon de projeter n'a
vraiment rien à voir avec le calcul lui-même, qui est porte sur la
sphère. L'image de droite montre chaque niveau d'harmoniques
séparément (si on veut, chaque ligne de l'image de droite est donc la
différence entre la ligne correspondante de l'image de gauche et la
précédente : elle montre donc ce qui a changé ; de nouveau, à chaque
fois, toutes les valeurs de m, c'est-à-dire
−ℓ≤m≤ℓ, sont sommées pour
le ℓ correspondant). On peut cliquer sur chacune des
lignes de l'image pour la voir en plus gros. Sur l'image de gauche
(sommes partielles), même si j'ai tronqué la fonction à −1 et +1, on
voit assez nettement
les artefacts
classiques qui résultent d'une troncature de la transformée de
Fourier (ici sphérique mais peu importe).
L'intérêt de cette décomposition en harmoniques sphériques est
qu'elle est naturelle pour la sphère : ce que je veux dire, c'est
qu'elle ne dépend pas du choix des coordonnées — de la position des
pôles. Pour dire les choses autrement, si on fait tourner la sphère
n'importe comment, chacun des niveaux ℓ de la décomposition
(et, a fortiori, la somme des niveaux ≤ℓ) tourne de
la même façon. (Il est essentiel ici de sommer tous
les m : si on ne prenait que les termes
avec m=0, par exemple, on obtiendrait une moyenne selon les
cercles de latitude, et ça, ça dépend du choix des pôles.) Pour dire
les choses encore autrement, et de façon un peu plus savante, quand on
applique une rotation de la sphère, chaque harmonique
sphérique Y[ℓ,m] est transformé en
une combinaison linéaire des Y[ℓ,m′]
pour le mêmeℓ (mais pour l'ensemble
des −ℓ≤m′≤ℓ) : l'espace vectoriel
engendré par les Y de niveau (exactement) ℓ est
stable par rotations (c'est une représentation de SO(3), et c'est
même, pour ceux qui savent ce que ça veut dire, la représentation
irréductible de plus haut poids ℓ).
En fait, pour un algébriste, la meilleure façon de
présenter les choses est certainement la suivante : l'espace vectoriel
engendré par les Y de niveau ≤ℓ est tout
simplement l'espace vectoriel des polynômes sur la sphère de degré
≤ℓ. (Attention cependant,
comme x²+y²+z²=1 sur la sphère, le
degré d'un polynôme y est mal défini ; je parle ici de l'espace, qui
est de dimension (ℓ+1)², des restrictions à la sphère de
l'espace — lui-même de dimension
(ℓ+1)(ℓ+2)(ℓ+3)/6 — des polynômes de
degré ≤ℓ en x,y,z. On
peut aussi préférer utiliser les polynômes harmoniques,
c'est-à-dire dont le laplacien 3D est nul : pour ceux-là, la
restriction à la sphère est une bijection, le degré est bien défini et
coïncide avec la graduation par ℓ.) On peut même dire
mieux : si on introduit le produit scalaire défini par l'intégration
sur la sphère (normalisée pour avoir surface 1), alors la composante
en harmoniques de niveau ≤ℓ d'une fonction f est
la projection orthogonale, pour ce produit scalaire, de f
sur l'espace vectoriel des polynômes sur la sphère de degré
≤ℓ. Quant aux harmoniques sphériques réelles Y
elles-mêmes, si je ne m'abuse, on peut dire
que Y[0,0], Y[1,0], Y[1,1], Y[1,−1], Y[2,0], Y[2,1], Y[2,2], Y[2,−1], Y[2,−2], Y[3,0],
etc. (ordonnées par ℓ puis par m en mettant les
valeurs négatives après les positives), s'obtiennent
par orthonormalisation
de Gram-Schmidt à partir des polynômes
1, z, x, y, z², xz, x², yz, xy, z³, xz², x²z, x³, yz², xyz, x²y,
etc. (ordonnés par degré total, puis par degré ≤1 en y,
puis par degré en x). On obtient ainsi : Y[0,0]
= 1 ; Y[1,0] = √3·z ; Y[1,1] =
√3·x ; Y[1,−1] =
√3·y ; Y[2,0] =
√5·(z²−½x²−½y²) ; Y[2,1] =
√15·xz ; Y[2,2] =
√15·(½x²−½y²) ; Y[2,−1] =
√15·yz ; Y[2,−2] =
√15·xy ; Y[3,0] =
√7·(z³−(3/2)x²z−(3/2)y²z) ; Y[3,1]
=
√42·(xz²−¼x³−¼xy²) ;
etc.
Encore une autre façon de voir le
niveau ℓ de la décomposition en harmoniques sphériques
d'une fonction f est, peut-être à une constante près dont
je ne suis pas très sûr, comme la convolée de cette fonction
avec Y[ℓ,0] (j'insiste : convoler
avec Y[ℓ,0] donne la projection sur tous
les Y[ℓ,m] de ce niveau) : en
général, la convolution de deux fonctions sur la sphère n'a pas de
sens (on ne peut pas ajouter deux points sur la sphère), mais elle en
a quand l'une des fonctions convolées est zonale, c'est-à-dire qu'elle
ne dépend que de la latitude. En
l'occurrence, Y[ℓ,0] vaut, à un coefficient de
normalisation près, P[ℓ](cos(θ))
où P[ℓ] est
un polynôme
de Legendre et θ désigne la colatitude (=π/2 moins la
latitude).
Du coup, les niveaux de la décomposition en harmoniques sphériques
ont donc une vraie signification par rapport à la fonction sommée.
Le terme ℓ=0, ou ce que les physiciens appellent le
terme monopôle, est simplement la moyenne de la fonction : dans
l'exemple que j'ai pris, il nous renseigne donc sur la proportion de
terre et de mer. Je trouve une moyenne de 0.4283, ce qui, compte tenu
du fait que j'ai mis la terre à −1 et la mer à +1, signifie qu'il y
aurait (1+0.4283)/2 soit 71.41% de mer, et 28.59% de terre ferme, sur
la Terre. Je suppose que les mesures peuvent varier selon ce qu'on
compte exactement comme terre et mer, notamment dans les régions
polaires — je donne ici simplement ce qui résulte de l'image dont je
suis partie, et je ne sais pas vraiment quelle est sa source — et
peut-être quand on tient compte de l'aplatissement de la Terre, mais
cette valeur est au moins réaliste. Pour dire les choses autrement,
si on imagine que les terres émergées ont une densité surfacique
constante égale à 1 sur la surface de la sphère (et que la mer a une
densité nulle), ce qu'on mesure ici est la masse totale
(c'est une façon bizarre de formuler les choses, mais la comparaison à
la masse va être utile pour comprendre les deux termes suivants comme
un terme de barycentre et un terme de moment d'inertie).
Le terme ℓ=1, ou terme dipôle, calcule la somme (ou la
moyenne) des coordonnées x, y et z
contre la fonction, donc donne aussi une information sur la Terre qui
a un sens intuitif assez clair : sa direction correspond
au barycentre des terres émergées, ce qui se rapporte au
genre de problème dont je parlais
ici. Mon calcul place ce barycentre à 44.4° de latitude (nord) et
29.0° de longitude
(est), du
côté de Constanța en Roumanie. Ceci colle au moins grossièrement
avec ce
qu'on trouve sur Wikipédia, mais celle-ci a l'air surtout de citer
des crackpots qui veulent plus ou moins que ce centre ait un rapport
avec la Grande Pyramide, et je ne vois pas de raison de penser que mon
calcul serait moins bon que le leur (de nouveau, ça dépend sans doute
surtout de ce qu'on compte comme terres émergées dans les régions
arctiques).
Maintenant, il faut souligner ceci : ce dont je parle ci-dessus est
la notion bien définie (en général) de barycentre sphérique, qui est
tout simplement la projection sur la sphère (depuis son centre) du
barycentre calculé en 3D (j'ai déjà dû citer le joli article
de Galperin, A
concept of the mass center of a system of material points in the
constant curvature
spaces, Comm. Math. Phys. 154
(1993) 63–84) ; mais dans le terme dipôle, il a bien trois composantes
réelles (puisqu'il y a trois harmoniques sphériques au
niveau 1, Y[1,0], Y[1,1] et Y[1,−1]),
i.e., ce terme dipôle a une amplitude et pas juste une direction. Il
donne donc aussi la profondeur du barycentre 3D. Mon calcul donne un
moment dipolaire de la terre émergée de norme 0.0996, c'est-à-dire
34.83% du moment monopolaire (0.2859, la proportion de terre émergée,
cf. ci-dessus), c'est-à-dire qu'il place le barycentre des terres
émergées à 34.83% du rayon de la Terre à partir de son centre (soit à
(x,y,z)=(0.2176,0.1205,0.2439)
si z est orienté du centre vers le pôle nord,
et x du centre vers le point de longitude 0 sur
l'équateur).
(J'espère ne pas avoir mal placé un √3 ou ½
quelque part dans ce calcul : les harmoniques sphériques de niveau 1
avec la convention de normalisation que j'utilise
sont Y[1,0]=√3·z, Y[1,1]=√3·x
et Y[1,−1]=√3·y, du coup il y a des √3 qui se
promènent ; il y a aussi un −2 à cause de ma convention sur les
valeurs de la fonction, et il faut encore diviser par la valeur 0.2859
du terme monopôle si on veut obtenir la position du
barycentre 3D.)
Je ne sais pas
pourquoi ce film a
plusieurs noms en anglais, et je ne sais pas non plus pourquoi ils ont
décidé de l'appeler Le Monde de Nathan pour sa sortie en France
(le 10 juin dernier ; sortie DVD le 21 octobre prochain),
alors que X+Y passe très bien dans beaucoup de langues (en
contrepartie du fait qu'il est pénible à rechercher sur Internet).
Je racontais il y a quelques
mois que j'avais trouvé un peu agaçant que les scénaristes
de The
Imitation Game fassent passer Alan Turing pour un autiste
alors qu'il ne l'était pas, et alimentent ainsi le cliché qui veut que
les mathématiciens dans la fiction soient toujours au minimum
socialement incompétents quand ils ne sont pas carrément mentalement
atteints. Ici, le héros est un jeune autiste anglais doué pour les
mathématiques et qui participe
aux olympiades
internationales de cette discipline. Comme les exercices des
olympiades de mathématiques
m'agacent[#] autant que le
cliché dont je viens de parler, on peut dire que le film ne partait
pas avec un a priori très favorable de ma part.
Pourtant, il m'a assez plu pour que je le recommande. D'abord,
parce qu'il a réussi à éviter le cliché que je craignais : le héros
est autiste et doué pour les mathématiques, et c'est
clairement et pas donc ou car, et il y a d'autres
personnages qui montrent assez nettement que les scénaristes ne
confondent pas les deux. Ils évitent aussi le cliché apparenté
(I'm looking at
you, Good Will
Hunting) du jeune prodige qui est
forcément tellement fort en maths qu'il résout tout
immédiatement[#2] et fait
passer tous les autres pour des nuls — ici, sans vouloir spoiler, le
héros est doué, mais il l'est de façon réaliste. C'est sans doute
parce que le film est basé sur un documentaire, donc sur
des faits
réels, qu'il réussit à éviter l'hyperbole, mais c'est assez rare
pour être souligné.
(Je ne dis pas que le film évite tous les clichés ou
invraisemblances. Par exemple, on laisse beaucoup trop peu de temps à
ceux qui préparent les olympiades pour réfléchir sur un problème
donné : or absolument personne ne résout ce genre de problème en
quelques secondes ; mais on peut justifier ce choix pour des raisons
de rythme.)
Ensuite, je trouve assez rare de voir un film qui montre des
mathématiques, fussent-elles des mathématiques d'olympiades (voir
ma note ci-dessous pour la
nuance), sans faire n'importe quoi : on ne nous montre pas seulement
des gribouillis ressemblant vaguement à des formules et qui ne veulent
rien dire : plusieurs problèmes d'olympiades (ou en tout cas tout à
fait dans le genre des problèmes d'olympiades) sont posés, les
réflexions sont plausibles, et il y a même une question pour laquelle
la démonstration est faite au tableau, de façon correcte et complète
(bon, c'est une question à mon avis trop facile pour être
d'olympiades, et ce n'est pas très réaliste qu'on applaudisse le héros
pour l'avoir trouvée, mais au moins un nombre non négligeable de
spectateurs pourra comprendre).
Enfin, l'acteur principal, Asa Butterfield, est remarquable de
justesse, dans un rôle pourtant difficile. (On l'avait déjà vu
dans Hugo
Cabret
et Ender's
Game, où il était également bon, mais le scénario de ces
deux films à gros budget laissait à mon avis moins place à la
subtilité des émotions.) L'actrice qui joue sa mère, en revanche, m'a
semblé beaucoup moins bonne, mais peut-être que je me laisse
influencer par le fait que le personnage m'agaçait.
Sinon, je trouve amusante la coïncidence suivante : j'ai fait
référence à l'entrée de blog que
j'ai écrite sur le biopic de Turing, qui y est présenté à tort comme
autiste, et dans cette même entrée j'évoquais
aussi le film,
sorti au même moment, sur la vie de Hawking, qui lui a (vraiment) une
maladie neurodégénerative. Or le film dont je parle ici met en scène
à la fois un personnage autiste et un autre qui a une maladie
neurodégénerative (et il est explicitement comparé à Hawking,
d'ailleurs). Enfin, peut-être que ce n'est pas une coïncidence mais
une sorte de référence.
[#] Pour essentiellement
deux raisons. Primo, je trouve que ça a peu de rapport avec
les mathématiques : il s'agit de problèmes généralement atrocement
astucieux et ne faisant appel à aucune théorie générale, alors que, à
mon sens, les mathématiques consistent justement à trouver des
théories générales pour éviter les astuces. Bon, pour leur
défense, certains problèmes d'olympiades sont au moins assez jolis, ce
qui est aussi une caractéristique importante des bonnes mathématiques
à mes yeux — mais seulement certains, parce qu'il y en a beaucoup qui
sont non seulement difficiles et astucieux mais aussi fondamentalement
moches et sans intérêt. (Je précise que je ne suis pas vexé d'y être
mauvais : je crois même que je m'en sors honorablement, ou en tout cas
que je m'en sortais honorablement quand j'avais l'âge. On m'a
d'ailleurs demandé, comme j'avais eu un prix au Concours général de
maths, de participer à l'équipe française de la 35e olympiade à Hong
Kong — mais comme j'avais aussi un autre prix en physique pour lequel
j'étais invité aux États-Unis au même moment, je n'y suis pas
allé.) Secundo, et sans doute le plus important : je trouve
que l'idée de compétition, que ce soit entre les individus ou les
pays, va complètement à l'encontre de l'esprit de la science qui est —
ou devrait être — collaboratif et non compétitif.
[#2] Hint : dans la
réalité, les maths sont dures pour tout le monde. Si elles
ne l'étaient pas, l'hypothèse de Riemann serait décidée à l'heure
qu'il est. (En fait, on peut même défendre l'idée que c'est une
conséquence
d'un théorème
et
d'un postulat
physico-philosophique de Church et Turing que : les mathématiques
ne peuvent pas être triviales pour aucun habitant de cet Univers,
humain, extra-terrestre ou ordinateur.)
J'ai présenté avant-hier une
page en JavaScript (enfin,
deux : avec
WebGL
ou sans) qui
affiche une animation d'ondes sur une sphère (un peu plus précisément,
une solution de l'équation des ondes
(∂²/∂t²−c²Δ)φ=0, où Δ est
le laplacien
sphérique ; ou en fait, trois solutions à la fois, une pour chaque
composante de couleur RGB). J'ai ajouté un
bouton pause, mais ce n'est pas le plus intéressant : j'ai
surtout ajouté toutes sortes de modes spéciaux.
(Si la description qui suit ne vous intéresse pas,
sautez directement jusqu'au dernier paragraphe.)
On m'avait demandé si je pouvais permettre un choix de la condition
initiale (pour les non-mathématiciens : la configuration à partir de
laquelle l'onde évolue) : ce serait assez compliqué de fournir une
façon de faire ça en général, mais on peut quand même permettre de
choisir une configuration qui a des symétries particulières (qui se
conserveront avec l'évolution dans le temps). C'est ce que ma page
JavaScript permet maintenant. Un exemple de tel cas est la situation
où il y a symétrie par rapport au centre de la sphère : l'état est en
permanence le même en deux points antipodaux l'un de l'autre
(i.e., φ(−x,−y,−z)
= φ(x,y,z)) ; si on veut,
on peut considérer qu'il s'agit alors d'une équation des ondes sur le
plan projectif réel (qui est la sphère où on a identifié les paires de
points antipodaux) ; ceci a l'intérêt qu'on voit alors la totalité de
la configuration (puisque le programme n'affiche qu'un hémisphère,
mais l'autre s'en déduit par symétrie). On peut imaginer d'autres
symétries de ce genre, évidemment : par rapport à un plan (si c'est le
plan parallèle au plan de projection — que j'appelle z=0 —
alors on voit de nouveau toute la configuration, puisque de nouveau
l'autre hémisphère est symétrique, mais cette fois par rapport à un
plan, ce qui est donc subtilement différent) ; ou par rapport à un
axe, et dans ce cas, à différents niveaux. (Je me suis limité à une
symétrie d'ordre 2 ou 3 par rapport à l'axe de vision, parce que je ne
calcule pas assez d'harmoniques pour qu'une symétrie d'ordre supérieur
puisse être intéressante à voir, déjà 3 est limite. C'est dommage,
parce qu'en général on pouvait demander des groupes de symétrie plus
intéressants, à savoir les symétries d'un des solides réguliers. Mais
bon, même dans le cas de la symétrie cubique/octaédrale, je n'ai pas
le courage de calculer l'action sur les harmoniques sphériques.)
Mais j'ai un autre type de configuration particulière à proposer :
il s'agit des cas où l'équation des ondes conserve la « masse
totale », c'est-à-dire techniquement la norme L² (en l'occurrence, sur
chacun des canaux de couleur) : pour parler grossièrement, des creux
et des bosses peuvent se déplacer, mais leur quantité totale doit
rester inchangée (note : la moyenne reste de toute façon
constante — dans mon cas, à 0 que je représente par le gris
intermédiaire qui sert aussi de fond — et c'est ici de la moyenne
quadratique que je parle). Je ne sais pas quel est le terme
standard (il y en a probablement un) pour désigner ce genre de
configurations de l'équation des ondes. La situation
complètement opposée est celle
d'une onde
stationnaire : très grossièrement parlant, dans une onde
stationnaire, les creux et les bosses apparaissent et disparaissent,
mais ne changent pas de place. Comme ce n'est pas terriblement
intéressant, j'ai défini les configurations « stationnaires par
niveau », qui sont celles où chaque niveau ℓ d'harmoniques
sphériques (et chaque canal RGB) définit une onde
stationnaire. Ces deux conditions se combinent d'ailleurs
agréablement avec la condition d'être symétrique par rapport au centre
de la sphère (« projectif », cf. ci-dessus), donc j'ai aussi mis les
conjonctions en question.
Pour ceux qui connaissent un peu plus de maths,
voici une explication plus claire sur ces deux conditions de conserver
la masse L² et d'être stationnaire par niveau : en général, on peut
écrire φ =
∑uℓ,m(t)·Y[ℓ,m]
(pour −ℓ≤m≤ℓ, et ℓ
parcourant les entiers naturels — même si mon JavaScript ne monte que
jusqu'à 8), où les Y[ℓ,m] sont les
harmoniques sphériques (réelles), qui vérifient
(ΔY[ℓ,m] =
−ℓ(ℓ+1)·Y[ℓ,m])
et sont orthogonaux au sens L²
et uℓ,m(t) est
une sinusoïde de fréquence
(c/2π)·√(ℓ(ℓ+1)) (c'est ça qui assure
qu'on vérifie l'équation des ondes). Cette dernière condition peut
s'écrire uℓ,m(t)
=
Re(Zℓ,m·exp[i·c·√(ℓ(ℓ+1))·t])
avec Zℓ,m un nombre
complexe (dont le module et l'argument déterminent l'amplitude et la
phase de cette sinsuoïde). La condition de conserver la masse L²
signifie que la somme des carrés de ces parties rélles ne dépend pas
de t, ce qui revient en fait à ce que la somme des carrés
des complexes Zℓ,m (pour
−ℓ≤m≤ℓ) s'annulle pour
chaque ℓ. La condition d'être stationnaire par niveau,
elle, signifie que pour chaque ℓ,
les Zℓ,m ont tous la même
phase à π près (i.e., ils sont proportionnels par des nombres
réels).
La première condition m'a d'ailleurs conduit au
problème suivant, qui est assez perturbant : comment tirer au hasard
de façon « naturelle » des nombres
complexes Z1,…,Zk
tels que Z1² + ⋯
+ Zk² = 0 ? (Il revient au même de
chercher des
réels A1,…,Ak
et B1,…,Bk tels
que la somme des Ai² soit égale à la
somme des Bi², et que la somme
des Ai·Bi
soit nulle, i.e., deux vecteurs de même norme et orthogonaux.) En
l'absence de condition, je choisis
les Zi en tirant leur partie
réelle Ai et leur partie
imaginaire Bi indépendamment selon
une distribution gaussienne (dont l'écart-type décroît
avec ℓ, mais ce n'est pas la question ici) ; pour une
distribution stationnaire par niveau, je choisis un complexe de
module 1 une fois pour toutes, et je le multiplie par des réels tirés
selon une distribution gaussienne ; mais
pour Z1,…,Zk
tels que Z1² + ⋯
+ Zk² = 0, ce n'est pas clair ce
qu'il vaut mieux faire. Je pensais prendre une distribution
gaussienne conditionnée par cette condition, mais je suis tombé sur
le paradoxe
de Borel, et du coup je ne sais pas exactement quoi faire. Au
final, je tire Ai
et Bi selon des distributions
gaussiennes, je projette B sur l'orthogonal à A,
et je le renormalise pour avoir la même norme que A (on se
convaincra, au moins, que c'est en fait symétrique entre A
et B), mais peut-être que la distribution que je donne à la
norme carrée de A n'a pas le bon nombre de degrés de
liberté (si tant est qu'il y en ait un « bon »).
Toutes ces choses étant dites, je serais curieux de savoir quelle
impression font ces différents « modes », même (et surtout) sur ceux
qui n'ont pas lu ou compris les explications ci-dessus. Y en a-t-il
qui vous semblent plus jolis ? Et pensez-vous pouvoir les reconnaître
(à part ceux qui présentent des symétries vraiment évidentes,
c'est-à-dire les axialement 2-symétrique et 3-symétrique et les
symétriques par rapport aux plans x=0 et y=0) ?
Il y a une façon de reconnaître les modes projectifs (même si elle
n'est pas évidente quand on laisse tourner l'animation ; je laisse en
exercice de deviner de quoi il s'agit). Mais pour ce qui est des
modes L²-conservatif et stationnaire par niveau, je n'arrive pas à
savoir si j'arrive vraiment à les reconnaître ou si c'est une sorte
d'effet placébo (je devrais écrire de quoi faire des tests à
l'aveugle) ; et de même pour le mode symétrique par rapport
à z=0.
Comme je me suis décidé relativement récemment
(j'y ai fait allusion au passage) à
apprendre des choses que j'aurais sans doute dû savoir depuis
longtemps sur l'analyse harmonique élémentaire sous les groupes
compacts, j'ai voulu faire joujou avec les harmoniques sphériques.
Comme il faut bien que je dise au moins approximativement de quoi
il est question, voici une petite digression à ce sujet.
Beaucoup de gens, même non-mathématiciens, ont
probablement entendu parler
des séries de
Fourier, qui sont une façon d'analyser un signal périodique en le
décomposant en fréquences harmoniques : grossièrement parlant, il
s'agit d'écrire une fonction de fréquence f comme comme de
sinusoïdes de fréquences n·f (la
« n-ième harmonique ») dont l'amplitude et la phase
dépendent de n. Par ailleurs, un signal périodique, c'est
la même chose qu'une fonction sur le cercle (un temps circulaire,
c'est la même chose qu'un temps qui se répète périodiquement : voyez
l'article Wikipédia que je viens de lier, il y a plein d'animations
très cool dessus) : les séries de Fourier sont donc, si on préfère,
une façon d'analyser les fonctions sur le cercle.
Mais il existe aussi une façon très analogue de décomposer un
signal sur la sphère (il existe des choses analogues en toute
dimension, et même sur des espaces nettement plus généraux, mais
limitons-nous à la sphère de dimension 2) : au lieu de développer en
sinusoïdes de fréquences multiples de la fondamentale comme on le fait
pour les séries de Fourier (séries trigonométriques), on développe en
termes de ce qu'on appelle
des harmoniques
sphériques, et le développement correspondant s'appelle
l'expansion
multipolaire (note : ces deux articles Wikipédia parlent en gros
de la même chose, et il faudrait sans doute les fusionner, ou au moins
les harmoniser — mais c'est un bon exemple de la manière dont des gens
peuvent faire la même chose sans vraiment se parler). Ce
développement a beaucoup de propriétés communes avec le développement
de Fourier. Une différence notable est qu'au lieu d'avoir juste le
multiple n de la fréquence fondamentale (si on veut, le
nombre de bosses sur le cercle), les harmoniques
sphériques Y[ℓ,m] dépendent de deux
entiers, ℓ étant en quelque sorte le niveau de fréquence
totale et m la fréquence en longitude. (Elles dépendent,
du coup, du choix d'un pôle nord : si on effectue une rotation
quelconque de la sphère, la
fonction Y[ℓ,m] se transforme en une
combinaison linéaire des Y[ℓ,m′] pour
ce même ℓ et l'ensemble de tous les m′.
Une recherche
sur Google images donnera au moins une idée de ce à quoi ces
fonctions ressemblent, sous différentes représentations graphiques —
et on voit vaguement en quoi ce sont des analogues sur la sphère des
sinusoïdes sur le cercle.) Du coup, au lieu d'avoir une série simple
de coefficients de Fourier, on a une série à deux
indices ℓ,m de coefficients harmoniques.
Cette décomposition a des applications dans beaucoup de domaines :
elle est très souvent pertinente pour étudier une fonction sur la
sphère. Par exemple, une quantité définie sur la Terre tout entière,
ça aurait un sens, et souvent un intérêt, d'essayer de la décomposer
en harmoniques sphériques (je ne sais pas, moi, la forme
du géoïde, la
température de surface à un instant donné, la densité de population
humaine, ce genre de choses ; les physiciens font ça aussi, entre
autres, pour analyser
le rayonnement
cosmologique fossile et confronter son spectre aux théories).
Mais un intérêt particulier de la décomposition en séries de
Fourier (ou de la transformée de Fourier), c'est aussi de résoudre des
équations aux dérivées partielles linéaires ; d'ailleurs, Fourier
cherchait, historiquement, à résoudre
l'équation de la
chaleur sur un cercle. C'est aussi le cas pour la décomposition
en harmoniques sphériques, essentiellement à cause du fait que les
harmoniques sphériques Y[ℓ,m] sont
des vecteurs propres du laplacien shérique
(ΔY[ℓ,m] =
−ℓ(ℓ+1)·Y[ℓ,m]),
ce qui les rend très confortables dans des équations faisant
intervenir cet opérateur, comme l'équation de la chaleur ou
l'équation des
ondes. C'est pour cette raison que les harmoniques sphériques
apparaissent dans la résolution de l'équation de Schrödinger pour le
calcul des orbitales des électrons dans un atome.
Bref, j'ai fait une petite page en JavaScript qui représente
l'évolution — linéaire — d'une onde sur une sphère (ou peut-être
plutôt trois ondes, une par composante de couleur). En fait, j'ai
fait deux versions de cette page :
(la version WebGL est généralement beaucoup plus
rapide que celle sans — cette dernière pourrait mettre plusieurs
secondes, voire dizaines de secondes, à se charger, et affichera
certainement moins d'images par seconde — mais la version
WebGL a aussi plus de chances de ne pas marcher, ou de
marcher bizarrement, ou dans de rares cas de crasher le navigateur ; à
part ça, elles sont censées afficher exactement la même chose, aux
choix aléatoires initiaux près).
Je trouve ça extrêmement joli et vraiment fascinant à regarder.
J'ai passé un temps fou à regarder cette sphère opalescer jusqu'à me
laisser hypnotiser par elle. (Mais pourquoi on ne m'a jamais dit ça,
quand on m'a parlé de l'équation des ondes, que ça pouvait être
aussi joli ?)
Après, je suis un peu déçu par les navigateurs. La version sans
WebGL est lente, ce qui est peut-être normal parce
qu'elle doit effectuer en gros 81 multiplications+additions par pixel
et par rafraîchissement, mais je pensais quand même que les
ordinateurs arriveraient à faire un ordre de grandeur plus vite que
ça, surtout qu'on m'a tellement vanté que JavaScript était maintenant
un langage ultra-rapide. La version avec WebGL est d'une
rapidité acceptable, mais j'ai horriblement souffert pour l'écrire, à
me cogner contre une limitation après une autre de ce truc (par
exemple, j'avais voulu faire ça avec des textures flottantes, mais
déjà c'est une extension pas garantie et ensuite de toute façon, on ne
peut pas demander 81 textures flottantes, quelle que soit leur taille,
c'est trop). Dans tous les cas, je n'ai pas vraiment pu aller au-delà
de 9 niveaux d'harmoniques sphériques
(c'est-à-dire ℓ<9 ; c'est pour ça que la sphère est
aussi lisse) : c'est dommage, parce que je pense que ça peut être
intéressant avec beaucoup plus, mais je ne vois pas vraiment comment
améliorer l'efficacité.
(Les téméraires peuvent reprendre le fichier et modifier la
ligne var degree_cut = 9 pour remplacer 9 par le nombre
qu'ils voudront, mais déjà pour 12, la version sans WebGL
est inacceptablement lente chez moi — bon, il est vrai qu'on peut
baisser la résolution pour compenser, en changeant les
attributs width="300" height="300" de
l'élément canvas — et la version WebGL ne
marche tout simplement plus puisque le « fragment shader » devient
trop long et bute contre une autre limitation du machin.)
J'essaierai sans doute de calculer une animation en haute
résolution et avec beaucoup d'harmoniques (j'aimerais bien arriver à
mettre quelque chose comme 30 niveaux), et la mettre sur YouTube.
Qui, bien sûr, massacrera impitoyablement la qualité de ce que j'aurai
calculé (surtout que les formats vidéo sont très mauvais avec les
couleurs qui bougent), mais bon, je ne sais pas bien quoi faire de
mieux.
Mise à jour : Voici un lien
vers la version
sur YouTube, où j'ai calculé 31 niveaux d'harmoniques ce qui donne
plus de détails sur la sphère (détails malheureusement en partie
obscurcis par la compression vidéo).
Je continue sur les idées développées
dans cette entrée (et dans une
moindre mesure la suivante) : ma
métaphorique petite sœur se plaint qu'un quadrangle généralisé ce
n'est pas, nonobstant mes explications fumeuses, une structure très
convaincante pour inventer des jeux de cartes, alors que le jeu
de Dobble a au moins réussi à convaincre des gens de
l'éditer. Si ce dernier est basé sur le principe que deux cartes
quelconques ont toujours un symbole en commun, peut-on faire un paquet
où trois cartes quelconques auraient toujours un symbole en
commun ?
Réponse : oui, on peut, mais je crois qu'il va falloir admettre un
nombre de symboles par carte un peu désagréablement élevé (ou un
nombre total de cartes bien bas) :
J'ai créé ici 26 cartes portant chacune 30 symboles choisis parmi
un répertoire de 130, chaque symbole apparaissant sur 6 cartes
différentes, deux cartes distinctes ayant toujours exactement 6
symboles en commun, et trois cartes distinctes ayant toujours
exactement 1 symbole en commun. On peut donc imaginer toutes sortes
de jeux de rapidité (ou en fait, plutôt de patience) consistant à
chercher le symbole en commun à trois cartes, selon des règles
inspirées de celles qui servent pour Dobble. Maintenant,
à vrai dire, je trouve ça surtout excessivement fastidieux : il m'a
fallu plus de deux minutes pour trouver le symbole commun entre les
trois premières cartes (notons que l'ordre des cartes affiché
ci-dessus n'est pas aléatoire, et ce symbole est en fait commun aux
cinq premières cartes et à la dernière, mais ce n'est pas un bug), et
je ne trouve pas ça spécialement ludique. Mais bon, il y a plein de
choses que je ne trouve pas ludique et que d'autres gens aiment, alors
peut-être que ce jeu peut quand même trouver des adeptes (si quelqu'un
veut un tirage physique, qu'il me fasse signe).
Ajout : Un jeu qu'on pourrait
jouer avec ces cartes consiste à distribuer à chaque joueur le même
nombre de cartes (le plus élevé possible) en en laissant deux face
retournée sur la table ; quiconque peut montrer du doigt un symbole en
commun entre une carte quelconque de sa main et les deux cartes sur la
table pose sa carte sur la table et défausse l'une des deux qui y
étaient déjà (de façon qu'il y en ait toujours deux) ; le jeu se
continue jusqu'à ce que quelqu'un se soit ainsi débarrassé de toutes
ses cartes. La particularité de cette procédure est que celui qui
arrive à poser une de ses cartes gagne un avantage pour le coup
suivant vu qu'il a pu déjà rechercher l'intersection entre les deux
cartes sur la table.
Pour répondre à des questions naturelles : l'ordre de disposition
des symboles sur une carte donnée est totalement aléatoire (j'ai
commencé par essayer de trouver une logique qui me convienne, mais
j'ai vite craqué et opté pour un tirage au hasard — enfin, au hasard
déterministe —, au prétexte qu'il vaut mieux un chaos garanti qu'un
ordre basé sur une logique douteuse) ; et la permutation des symboles
à l'intérieur du répertoire l'est aussi. L'ordre des cartes affiché
ci-dessus n'est pas aléatoire, mais ça n'a pas d'importance puisqu'un
vrai jeu de cartes serait de toute façon mélangé avant usage. Et
sinon, je sais que mon choix de symboles est certainement merdique,
mais je n'accepterai de critiques que de la part de gens qui peuvent
en suggérer un meilleur ; j'ai cherché à avoir une proportion
raisonnable de signes d'écriture (lettres ou caractères chinois) et de
dessins, j'ai voulu éviter les symboles qui se ressemblent trop (par
exemple, je n'ai pas mis le ‘C’ parce qu'il est trop semblable au ‘G’,
je n'ai pas mis le ‘Ш’ parce qu'il est trop semblable au ‘Щ’, etc.)
même si je sais qu'il en reste, et globalement il n'y a pas trop de
logique mais c'est un peu l'idée.
❦
J'explique maintenant comment construire la chose, parce que je
trouve ça assez joli : pour résumer très brièvement, on peut dire que
si le jeu de Dobble est basé sur l'idée que deux points
distincts dans le plan (projectif, mais peu importe) déterminent une
unique droite, celui-ci est basé sur l'idée que trois points
distincts sur la sphère déterminent un unique cercle
(cercle signifiant petit ou grand cercle, i.e., l'intersection
de la sphère avec un plan ; en l'occurrence, le plan passant par ces
trois points) : on imaginera les cartes du jeu comme les points de la
sphère, et les symboles sur une carte comme les cercles passant par ce
point. Il ne reste plus qu'à transformer ça en une structure finie en
passant sur un corps fini, donc à expliquer ce que sphère
et cercle veulent dire dans ce contexte. En gros, je dois
parler un peu
de géométrie
de Möbius.
Comment faire un jeu de cartes à partir d'un quadrangle généralisé
L'entrée précédente m'a donné
envie de concevoir des jeux de cartes avec des structures
combinatoires mathématiques remarquables. Je vais déjà en tirer un
avec une structure liée à celle des 27 droites sur une surface cubique
(à savoir, l'ensemble des
36 double
six de telles droites)[#],
mais ce serait plutôt pour faire de
la cartomancie oulipienne. Je me
demandais ce que je pourrais inventer de plus jouable. Et
d'un autre côté, parmi les structures combinatoires que j'avais
vaguement à l'esprit, il y avait (je les ai mentionnées dans l'entrée
précédente, et je vais dire ci-dessous de quoi il s'agit) les
quadrangles généralisés.
((Ceux de mes lecteurs qui ne sont pas intéressés par les aspects
mathématiques peuvent directement sauter
au dessin des cartes
ci-dessous, après quoi je pose quelques questions de design, si
j'ose dire.))
Pour essayer d'imaginer quelque chose de jouable, j'ai médité sur
la structure d'un jeu ordinaire de 52 cartes. Tout le monde sait
qu'il s'agit des 13×4 cartes constituant chacune des combinaisons,
des couples si on veut, entre un symbole de
{A,2,3,4,5,6,7,8,9,X,V,D,R} (la « valeur » de la carte) et un symbole
de {♣,♢,♡,♠} (la « couleur » de la carte, le terme français était
d'ailleurs épouvantablement ambigu parce qu'il recouvre à la fois ce
que les Anglais appellent suit, c'est-à-dire le
symbole que je viens de dire, et ce que les Anglais
appellent colour, c'est-à-dire noir pour ♣,♠ ou
rouge pour ♢,♡ — mais passons). Mathématiquement, on a donc affaire
au produit cartésien {A,2,3,4,5,6,7,8,9,X,V,D,R} × {♣,♢,♡,♠}, qui
n'est pas une structure combinatoire très intéressante. Si on
considère les cartes comme des points et les symboles comme des
droites (verticales ou horizontales : voir le dessin ci-dessous), on a
affaire à une simple grille. Maintenant, voici quelques propriétés de
cette « géométrie », qui peuvent paraître bizarrement compliquées,
mais dont on va voir le sens à les énoncer ainsi :
Sur chaque carte figurent exactement 2 symboles (distincts) [à
savoir, l'indication de sa valeur et l'indication de sa couleur].
Chaque symbole figure sur exactement 4 ou 13 cartes (distinctes)
[4 dans le cas d'une valeur, 13 dans le cas d'une couleur].
Deux cartes ayant deux symboles en commun coïncident [il n'y a pas
de cartes différentes ayant la même valeur et la même couleur].
Diverses reformulations équivalentes : deux cartes distinctes
ont au plus un symbole en commun ; deux symboles distincts
figurent sur au plus une carte ; deux symboles figurant tous
les deux sur deux cartes distinctes coïncident.
Si C est une carte et σ est un symbole
qui ne figure pas sur C, alors il
existe exactement une carte D et un
symbole τ tels que σ figure sur D
et τ figure à la fois sur C et sur D.
[Explication ci-dessous.]
La propriété (4) peut sembler bizarre, mais concrètement, elle
signifie simplement que si C est une carte et σ
est soit une valeur différente soit une couleur différente de celle
de C, alors il existe une carte D qui a cette
valeur ou couleur et qui pour l'autre symbole (couleur ou valeur
respectivement) τ a la même que celle de C.
Cette dernière propriété, d'ailleurs, est en quelque sorte celle
utilisée dans un nombre essentiellement infini de jeux de cartes (par
exemple le jeu commercial Uno, le « huit américain » ou
« maou maou », le « Tschau Sepp » suisse, etc.) qui sont des variantes
mineures autour du principe suivant : chaque joueur a des cartes dans
sa main dont il doit se débarrasser, ils jouent tour à tour et chacun
peut poser une carte ayant un symbole commun avec la carte
précédemment jouée (c'est-à-dire concrètement : ayant la même valeur
ou la même couleur — le plus souvent la même couleur, bien sûr,
puisqu'il y a plus de telles cartes). La propriété signifie alors que
si la carte C a été jouée et que je veux passer le jeu
à σ qui n'est pas actuellement jouable (i.e., changer la
valeur ou la couleur), il y a une unique carte jouable D
qui permettra de faire ce changement.
Si j'ai écrit les propriétés sous la forme bizarre ci-dessus, c'est
pour pouvoir amener la définition d'un quadrangle
généralisé, ou plus exactement, un quadrangle généralisé fini de
paramètres (s,t) (deux entiers), définition que
je vais formuler ici avec des cartes et des symboles (mais les termes
classiques seraient points et droites, sachant que la
définition est symétrique entre les deux, à permutation près des
paramètres s et t ; je fais ici la convention
que les cartes sont les points et les symboles les droites, mais le
contraire irait tout aussi bien) :
Sur chaque carte figurent exactement t+1 symboles
(distincts).
Chaque symbole figure sur exactement s+1 cartes
(distinctes).
Deux cartes ayant deux symboles en commun coïncident. Diverses
reformulations équivalentes : une carte est complètement déterminée
par la donnée de deux quelconques de ses symboles ; deux cartes
distinctes ont au plus un symbole en commun ; deux symboles
distincts figurent sur au plus une carte ; deux symboles
figurant tous les deux sur deux cartes distinctes coïncident ; un
symbole est complètement déterminé par la donnée de deux cartes sur
lequel il figure.
Si C est une carte et σ est un symbole
qui ne figure pas sur C, alors il
existe exactement une carte D et un
symbole τ tels que σ figure sur D
et τ figure à la fois sur C et
sur D. (Cf. dessin ci-contre.)
Les propriétés (3)&(4) sont donc exactement les mêmes que ce
que j'ai énoncé pour un jeu de cartes usuelles. La (1) est une
généralisation de ce qu'elle était ci-dessus pour autoriser plus que 2
symboles par carte (par contre, on notera bien que la troisième
propriété continue à parler de deux symboles : une carte est
complètement déterminée par deux quelconques de ses
symboles). La propriété (2), en revanche, diffère de ce qu'on
avait pour un jeu de cartes ordinaires, en ce sens que chaque symbole
figure maintenant sur le même nombre de cartes, au lieu qu'il y ait
des types de symboles figurant sur un nombre plus ou moins grand de
cartes.
Dans la propriété (4), on dit parfois
que τ est le perpendiculaire de σ à
travers C : cette terminologie a l'avantage de bien faire
ressortir l'unicité, et elle est raisonnable quand on pense à
l'exemple d'une grille (par exemple, le perpendiculaire à ♠ passant
par 8♡ est 8 : c'est bien le cas sur le dessin de la grille que j'ai
fait plus haut). Néanmoins, cette terminologie suggère une notion
métrique (des angles), qui n'existent pas ici : on demande simplement
une condition d'incidence entre σ et τ (à
savoir, qu'ils figurent sur la carte D). D'autre part,
comme cartes et symboles jouent des rôles totalement symétriques dans
les propriétés (j'ai fait mes dessins avec les cartes pour points et
les symboles pour droites, mais je pouvais faire le contraire), on
pourrait tout aussi bien dire que D est la perpendiculaire
de C à travers σ (et pour le coup, dans le cas
d'une grille, c'est beaucoup moins intuitif : la perpendiculaire à 8♡
par ♠ est 8♠). Passons.
Le jeu de cartes Dobble et la géométrie projective expliquée aux enfants
J'avais déjà entendu parler du jeu de
cartes Dobble
(appelé Spot it! aux États-Unis). Il
s'agit d'un jeu de 55 cartes circulaires (logiquement
il devrait y en avoir 57, mais il en manque deux pour une
raison que seul l'éditeur du jeu connaît), chacune portant 8 symboles
différents parmi 57 symboles possibles (un peu façon émojis : cœur,
clé, cadenas, flocon de neige, sens interdit,
coccinelle, vous
voyez le genre). La propriété sur laquelle se base le jeu est
que deux cartes quelconque du jeu ont toujours un et un seul
symbole en commun, et le jeu est un jeu de rapidité
consistant à identifier le plus rapidement possible ce symbole (selon
les variantes : entre une carte qu'on a en main et une carte au sommet
d'une pioche, ou quelque chose comme ça). Le jeu est assez distrayant
et intéressant en ce que c'est un jeu auquel des adultes et des très
jeunes enfants peuvent jouer ensemble et trouver également rigolo, ce
qui n'est pas une contrainte évidente.
Mais son intérêt est également mathématique, car il s'agit d'une
structure combinatoire classique et remarquable : pour les
mathématiciens qui me lisent, disons brièvement qu'il s'agit du plan
projectif sur le corps fini à 7 éléments (les cartes étant, disons,
les points, et les symboles les droites — ou le contraire si on
préfère — et le fait pour un symbole de figurer sur une carte étant la
relation d'incidence). Pour les non-mathématiciens, on peut
mentionner une autre propriété, duale de la précédente, qu'ont les
cartes : deux symboles quelconques figurent toujours sur une
et une seule carte — sauf s'il s'agit d'une des deux cartes
« manquantes ». Mais le jeu n'exploite pas cette autre propriété, ce
qui est vraiment dommage, parce que c'est la combinaison des deux qui
rend la structure mathématiquement vraiment intéressante
(voir ici
par exemple). Voir
aussi cet
article de vulgarisation sur le site Images des
mathématiques qui tente d'expliquer un peu les choses pour les
non-mathématiciens. Comme son auteur (que je salue au passage si par
hasard il me lit), je trouve vraiment dommage que les éditeurs n'aient
pas eu de meilleure idée pour exploiter la structure combinatoire
remarquable qu'ils ont concrétisée que de faire un simple jeu de
rapidité (et n'utilisant qu'une seule des deux propriétés duales que
j'ai mentionnées), et j'appelle à ce qu'on invente d'autres jeux
amusants avec ce jeu de cartes. On pourrait par exemple jouer à
choisir deux symboles (i.e. : deux joueurs en choisissent chacun un,
le notent sur un papier, et le révèlent simultanément), et essayer de
trouver le plus rapidement possible, toutes les cartes étant étalées
simultanément, quelle est celle qui contient les deux symboles choisis
— mais il y a certainement plus intelligent à faire.
J'avais entendu parler de Dobble, disais-je, parce que
plusieurs personnes m'avaient indépendamment proposé, comme une
énigme, d'imaginer comment je concevrais un tel jeu (ce qui n'est pas
vraiment une énigme, parce que pour un matheux un peu algébriste, un
peu géomètre et/ou un peu combinatoricien, la structure d'un plan
projectif sur un corps fini est tellement naturelle que j'avais donné
la réponse avant d'avoir compris la question). Toujours est-il que je
n'avais pas vu les cartes ni retenu le nom. Mais ce week-end, en
passant chez des amis à Lyon, j'ai vu le jeu en question. (Il s'agit,
d'ailleurs, des mêmes amis qui m'avaient fait découvrir
le jeu de Set, un
autre jeu de cartes basé sur une géométrie finie — en l'occurrence
l'espace affine de dimension 4 sur le corps à 3 éléments.)
Et il y a assurément quelque chose de fascinant pour un matheux
(surtout fasciné par les jolies
structures combinatoires) d'avoir un plan projectif fini entre les
mains. Ceci permet d'expliquer de façon visuelle et
interactive comment fonctionne la géométrie projective finie bien
mieux que je ne saurais le faire avec un tableau. Avec toutes sortes
de questions qui se soulèvent naturellement, par exemple : comment
trouver, le plus efficacement possible, quelles sont les deux cartes
manquantes ? (imaginons que j'aie un jeu complet de 57 cartes, avec un
ensemble de symboles inconnu a priori, et que j'en retire deux
au hasard, comment trouver le plus rapidement l'ensemble des symboles
de ces deux cartes retirées ?). Et comment disposer efficacement les
cartes pour exhiber la structure géométrique ? Sur la photo
ci-dessus, même si elle n'est pas terrible, on voit un tel arrangement
possible : le carré 7×7 principal (celui où il manque une carte dans
le coin en bas à gauche) a la propriété que chaque ligne de cartes a
un symbole en commun, chaque colonne en a un, mais aussi chaque
diagonale (prolongée cycliquement), chaque antidiagonale, et en fait,
les diagonales de pas quelconques (cherchez les cartes ayant un
cactus, par exemple) — un matheux dira qu'il s'agit du plan
affine sur le corps à 7 éléments, et les cartes restantes (où il
en manque aussi une) sont la droite à l'infini. Avec cette
disposition, il n'est pas difficile de trouver quels sont les symboles
des deux cartes manquantes ; reste que c'est un chouïa fastidieux d'y
parvenir. Je me suis aussi amusé à calculer la disposition (duale)
des symboles, ce qui permet de faire des petits tours de magie, du
genre : choisis une carte, ne me la montre pas, dis-moi deux
symboles qu'elle porte, et je te dirai quels sont les autres.
Je me serais précipité pour acheter le jeu s'il n'y avait pas ce
gag des deux cartes manquantes, ce qui pour un obsessif-compulsif
comme moi est aussi frustrant que l'idée d'avoir un beau rayonnage de
livres tous identiques sauf un qui dépasserait les autres de 1cm. (Il
existe aussi un Dobble Kids, dont les images laissent
suggérer qu'il doit être basé sur un plan projectif d'ordre 5 au lieu
de 7, et au lieu d'avoir les 31 cartes qu'il est alors censé avoir,
les descriptions que je lis çà et là suggèrent qu'il n'en a que 30 —
décidément, cet éditeur cherche à tuer les mathématiciens obsessifs.)
Je pourrais aussi concevoir et faire imprimer mes propres cartes. (Je
ne sais pas ce que valent les sites Web qui proposent l'impression de
cartes personnalisées, mais je tombe par exemple
sur celui-ci,
qui proposent des tarifs raisonnables, même s'ils le deviendront
certainement moins après frais de port depuis les États-Unis — je ne
trouve pas grand-chose basé en France ou en Europe, et le problème
c'est que les jeux de cartes personnalisés font référence à la
personnalisation des dos, pas des faces.) En revanche, si je fais ça,
je passerai sans doute une éternité à me torturer sur la manière la
plus logique, symétrique et élégante de choisir les symboles et de les
disposer sur les cartes (dans le cas de Dobble, c'est
visiblement fait au hasard, y compris pour la forme et l'orientation,
ce qui participe justement à la difficulté du jeu).
On pourrait aussi chercher à faire des jeux de cartes avec d'autres
structures mathématiques (après tout, un plan projectif, c'est
un immeuble
de Bruhat-Tits classique sphérique de type A₂ : je peux regarder
par exemple
le type B₂
[ajout : voir l'entrée suivante],
et ainsi fabriquer un jeu de 40 cartes avec 4 symboles parmi 40 sur
chacune, telles que deux cartes aient toujours au plus un symbole en
commun, et que si un symbole ne figure pas sur une carte donnée, alors
il existe exactement une autre carte ayant ce symbole et ayant un
symbole en commun avec la carte donnée). Mais bon, avant de trouver
un jeu à faire avec une structure plus compliquée, il serait déjà
intéressant d'en trouver avec les plans projectifs.
Je passe plusieurs jours à paramétrer une surface cubique
Un des paradoxes de la manière dont je gère (mal !) mon temps est
que quand je n'ai pas de choses importantes et urgentes qui m'occupent
de façon pressante, toutes sortes de petites choses moins importantes
ou moins urgentes que j'ai laissé de côté pendant d'autres périodes
percolent alors à la surface, et j'ai l'impression d'être presque plus
débordé. D'autant plus que le temps que prennent ces choses n'est pas
forcément évident à évaluer. Ainsi l'exemple d'un calcul que j'ai
commencé de façon très accessoire suite à une question d'un collègue,
que je pensais pouvoir traiter assez rapidement, et qui m'a finalement
obsédé pendant à peu près dix jours, à m'énerver de ne pas arriver à
faire ce que je voulais et de croire N fois avoir trouvé le
bon bout pour tomber en fait dans un cul-de-sac, au point que j'en ai
perdu le sommeil pendant une nuit.
D'autant plus que ce n'était pas tellement le résultat du calcul
qui m'intéressait, et dont je suis totalement certain qu'il est connu
depuis Klein, Cayley, Clebsch ou, au pire, Segre, et qu'il figure dans
quantité de livres ou d'articles, mais d'y arriver moi-même, et de
façon systématique, sans essayer de « deviner » le résultat (qui, a
posteriori, était éminemment devinable), bref, de vérifier que je
savais mener ce calcul à bien. Apparemment, la réponse est : oui, j'y
arrive, mais très difficilement (et je ne suis pas certain d'avoir été
complètement systématique, au final).
Mais je crois qu'il est important pour un mathématicien, en tout
cas pour un géomètre algébriste, d'essayer de faire des calculs
parfois. Même, ou plutôt surtout, en utilisant un ordinateur : comme
l'a écrit Knuth, Science is knowledge which we
understand so well that we can teach it to a computer, et
l'intérêt d'essayer d'expliquer quelque chose à un ordinateur est de
vérifier qu'on le comprend soi-même bien (à défaut d'ordinateur, un
étudiant neuneu peut être utile, ou un post de
blog ). Donc, vérifier qu'on sait passer d'une
incantation magique comme une surface cubique est, géométriquement,
l'éclaté du plan
projectif en six points en position générale (et ces 6 points, les 15
droites passant par deux d'entre eux, et les 6 coniques par cinq
d'entre eux, forment les 6+15+6 = 27 droites de la surface
cubique) à une suite de calculs qui donnent le paramétrage d'une
surface donnée, c'est vérifier qu'on a compris l'incantation.
Bon, j'avoue, je dis ça pour essayer de me convaincre que mon
calcul était difficile, or il ne l'était pas, ou du moins, il n'aurait
pas dû l'être vu que j'ai passé troisquatre
cinq ans à faire une thèse sur les (hyper)surfaces cubiques et que
j'en ai même fait
un DVD.
Bref.
Le but, si on veut, est de décrire (paramétrer) toutes les
solutions rationnelles de l'équation z₁³ + z₂³
+ z₃³ = 1, autrement dit, toutes les façons d'écrire 1
comme somme des cubes de trois rationnels (en fait, ce serait plutôt
−1, mais ça n'a pas d'importance, il suffit de changer les signes).
Pour donner un peu de contexte sur ces sortes d'équations
diophantiennes, il faut que j'explique ce qui se passe pour les
problèmes analogues s'agissant de la somme de deux carrés, de trois
carrés, et de deux cubes.
Je devrais donc commencer par parler des solutions rationnelles de
l'équation z₁² + z₂² = 1 (les points
rationnels sur le cercle unité si on considère
que z₁ représente l'abscisse et z₂ l'ordonnée)
et de leur paramétrage. Les solutions rationnelles de z₁²
+ z₂² = 1 sont données par z₁ =
(1−t²)/(1+t²) et z₂ =
2t/(1+t²) pour t parcourant les
rationnels (on obtient exactement toutes les solutions comme ça si on
convient en outre que t=∞ donne
(z₁,z₂)=(−1,0) ; la réciproque est donnée
par t = z₂/(1+z₁) =
(1−z₁)/z₂). Ces formules peuvent se relier aux
formules donnant le cosinus et le sinus d'un angle θ en
fonction de la tangente de l'angle moitié (attention !, je ne prétends
pas que l'angle θ lui-même soit rationnel, ni même que sa
valeur ait un intérêt quelconque dans le problème). La figure
ci-contre (si votre navigateur vous la montre et que vous arrivez à la
déchiffrer) est censée illustrer ce paramétrage, figure sur laquelle
j'ai pris t=1/3, qui donne la solution z₁=4/5
et z₂=3/5 (on a (4/5)² + (3/5)² = 1, c'est-à-dire que le
point (4/5,3/5) est sur le cercle unité, ou, si on préfère chasser les
dénominateurs, 4² + 3² = 5²). Ces formules (le « paramétrage
rationnel d'une conique par une droite de pente variable par un de ses
points ») sont une sorte de pons asinorum de la
géométrie arithmétique, et avec un tout petit peu de mauvaise foi on
peut les attribuer à Pythagore ou à Euclide (dans la recherche des
« triplets pythagoriciens », c'est-à-dire des
solutions entières de l'équation Z₁²
+ Z₂² = Z₀² : le fait que le 4² + 3² = 5²,
c'est-à-dire que le triangle de côtés entiers 4,3,5 est rectangle, est
connu depuis très longtemps, et la recherche de solutions analogues
intéressait les mathématiciens dès l'antiquité). Il est donc assez
naturel de se demander ce qui se passe si on change un petit peu
l'équation.
La même technique que ci-dessus marche mutatis
mutandis si on cherche les solutions rationnelles
de z₁² + z₂² + z₃² = 1 (les points
rationnels sur la sphère unité) ou même pour n'importe quel nombre de
variables : on s'inspirera de
la projection
stéréographique de la sphère pour arriver à quelque chose
comme z₁ =
(1−v²−w²)/(1+v²+w²)
avec z₂ = 2v/(1+v²+w²) et
avec z₃ = 2w/(1+v²+w²)
pour v et w rationnels (je passe sous silence
des petites subtilités notamment sur ce qui arrive « à
l'infini »).
Si on remplace les carrés par des cubes, en revanche, les choses
sont très différentes : l'équation z₁³ + z₂³ =
1 n'a pas de solution rationnelle autre que les deux
évidentes (1,0) et (0,1), cela a été démontré par Euler en 1770 (en
montrant le cas particulier n=3 du théorème de Fermat,
c'est-à-dire que Z₁³ + Z₂³ = Z₀³ n'a
pas de solution entière). • Mais en ajoutant une variable,
l'équation z₁³ + z₂³ + z₃³ = 1 a de
nouveau quantité de solutions rationnelles, et mon calcul consistait
essentiellement à en trouver le paramétrage :
(Je vais expliquer qu'on peut écrire ces formules de façon un peu
plus jolie !) Par exemple, v=2 et w=3 donnent
la solution z₁=−5/4, z₂=−3/4
et z₃=3/2, et on a bien (−5/4)³ + (−3/4)³ + (3/2)³ = 1, ou,
si on préfère chasser les dénominateurs, (−5)³ + (−3)³ + 6³ = 4³, ou
encore, si on est resté un peu en retard sur les derniers progrès
mathématiques et qu'on n'aime pas les nombres négatifs, 6³ = 5³ + 3³ +
4³ (au niveau des entiers naturels, les formules ci-dessus produisent
donc plein de cubes égaux à la somme de trois autres cubes, ou, selon
les signes, de sommes de deux cubes égaux à une autre telle somme).
Remarquer que ces formules, comme celles que j'ai données plus haut
pour le paramétrage rationnel du cercle ou de la sphère, permettent
non seulement de trouver des solutions rationnelles, mais aussi
d'approcher une solution réelle par une solution rationnelle (il
suffit d'appliquer la « réciproque » sur les réels, d'approcher les
paramètres, et d'appliquer la formule directe). Par exemple, si je
veux trois entiers « assez proches » dont la somme des cubes est
encore un cube, je pars de la solution réelle
où z₁, z₂, z₃ valent 3−1/3
≈ 0.6933612744, pour laquelle les formules réciproques me
donnent v ≈ −1.4422495703 et w ≈ 2.0800838231,
qui sont proches de −450/312 et 649/312 respectivement, et en
appliquant les formules directes avec ces deux rationnels, on trouve,
après avoir chassé les dénominateurs, 1403846621³ + 1403905879³ +
1403840755³ = 2024722855³, et ce n'est pas évident de trouver des
choses comme ça autrement qu'en utilisant ce genre de techniques.
(Évidemment, c'est plus impressionnant avec le paramétrage
rationnel du cercle : si vous cherchez des triangles rectangles à
côtés entiers dont les angles non-droits soient proches de 45°, on
remplacera t dans les formules donnant le paramétrage
rationnel du cercle par
les approximants
successifs de √2 − 1, et on obtient ainsi successivement 3²+4²=5²,
21²+20²=29², 119²+120²=169², 697²+696²=985², 4059²+4060²=5741², etc.,
où à chaque fois les deux carrés sommés sont non seulement proches
mais même consécutifs — je ne sais pas
si cette suite était connue des
anciens Grecs.)
Considérons les questions suivantes, dont l'énoncé ne fait
pratiquement appel qu'à des notions de niveau collège (quitte à les
reformuler ou spécialiser un tout petit peu : par exemple, j'ai
écrit convexe dans la seconde, mais si on veut, on peut
considérer des cas particuliers comme un triangle, rectangle ou
ellipse, pour simplifier) :
Une valise est contenue dans une autre : montrer que la somme des
trois dimensions de la valise contenue est inférieure à la somme des
trois dimensions de la valise contenante. Ou, plus formellement : si
un parallélépipède rectangle (dans l'espace euclidien de dimension 3)
est inclus dans un autre (on ne demande pas que les côtés des
deux parallélépipèdes soient parallèles), alors la somme des trois
côtés du contenu est inférieure [i.e., inférieure ou égale] à celle
des trois côtés du contenant.
Si deux courbes fermées sans intersection (i.e., des
courbes de
Jordan) dans le plan délimitent des domaines convexes, l'une étant
complètement contenue dans l'autre (i.e., le domaine convexe délimité
est inclus), montrer que la longueur de courbe contenue est inférieure
à la longueur de la courbe contenante. Idem dans l'espace : si deux
convexes de l'espace sont inclus l'un dans l'autre, alors la surface
du bord du convexe contenu est inférieure à la surface du bord du
convexe contenant. Idem en n'importe quelle dimension.
On projette un cube orthogonalement sur un plan choisi
aléatoirement (uniformément) : quelle est l'espérance de la surface de
la projection ? (I.e., quelle est l'« ombre moyenne » d'un cube ?)
On pince un cube entre deux plans parallèles dont la direction est
choisie aléatoirement : quel est l'écart entre ces deux plans ?
(I.e., quel est la largeur moyenne d'un cube selon une direction tirée
au hasard ?)
Ces questions ont ceci en commun que, selon le niveau de réflexion
qu'on leur accorde, elles semblent faciles (leur énoncé est tout à
fait élémentaire), puis difficiles (on ne sait pas par quel bout les
aborder), puis faciles (quand on les prend bien) : elles ont aussi
ceci en commun qu'elles sont toutes résolubles grâce à la même notion
mathématique, celle de volume intrinsèque d'un convexe
(ou intégrale de quermaß, c'est la même chose à une constante
et une renumérotation près) : c'est une notion que je trouve très
jolie et naturelle, pas du tout compliquée à expliquer, et qui semble
bizarrement peu connue même des mathématiciens en-dehors des
spécialistes de la convexité ou de la géométrie
intégrale/stochastique, alors qu'on peut en tirer des choses très
simples (comme l'illustrent les problèmes ci-dessus). Bon, peut-être
qu'en fait tout le monde connaît, et que j'étais le dernier à être mis
au courant (il y a environ quatre ans, quand j'ai entendu parler de
ces choses-là pour la première fois), mais ma réaction a
été pourquoi aucun cours de maths que j'ai suivi ne m'a présenté ce
concept vraiment naturel et intéressant ?!. Il y a toutes sortes
de façon de l'approcher, je vais me contenter de donner les résultats
basiques qui me semblent les plus importants.
Très grossièrement, l'idée est qu'à côté du volume (de
dimension n) et de la surface (de dimension n−1,
où n est la dimension ambiante — en fait, on prendra plutôt
la demi-surface pour une raison de cohérence d'ensemble), on peut
définir (pour un convexe compact) une sorte de « mesure » en chaque
dimension entre 1 et n ; dans le cas d'un parallélotope
(pas forcément rectangle, mais imaginons-le rectangle pour fixer les
idées), le i-ième volume intrinsèque est égal, à une
constante près (1/2i) à la somme des
volumes i-dimensionnels (longueur, surface, volume, etc.)
de toutes les faces de dimension i du parallélotope.
Voici une façon d'approcher cette notion. Si K est un
convexe compact dans l'espace euclidien de dimension n, on
peut considérer K+B(ρ) (où B(ρ)
désigne la boule fermée centrée en l'origine et de rayon ρ,
c'est-à-dire) l'ensemble des points situés à distance ≤ρ
de K, autrement dit l'épaississement de K
jusqu'à distance ρ, ou simplement la « boule » (mais
j'éviterai ce terme) centrée sur K et de
rayon ρ. On s'intéresse au volume [i.e., à la mesure de
Lebesgue] V(K+B(ρ)) de cet ensemble de points :
on peut montrer que c'est un polynôme en ρ
(pour ρ≥0), et ce sont les coefficients de ce polynôme qui
vont m'intéresser. Il est évident, en considérant séparément les
cas ρ=0 et ρ très grand, que le coefficient
constant (donc la valeur pour ρ=0) est simplement le volume
V(K) de K, et que le terme dominant est le
volume V(B(ρ)) de la n-boule de
rayon ρ, que je vais noter
𝒱n·ρn
avec 𝒱n le volume de
la n-boule unité
(qui
vaut πn/2/(n/2)!, mais ce ne sera pas très
important). On peut aussi se convaincre, en considérant le
comportement pour ρ très petit mais non nul (disons, la
dérivée en ρ=0), que le coefficient de degré 1 est la
surface de K (c'est-à-dire la mesure
(n−1)-dimensionnelle de son bord).
Notes sur les réseaux euclidiens, et le réseau de Leech
Je mets ici les
transparents d'un exposé que j'ai donné vendredi matin dans le
cadre
d'une journée
Télécom-UPS
(Le Numérique pour tous) s'adressant aux professeurs de
classes préparatoires : le sujet que j'ai évoqué était celui
des réseaux
euclidiens[#] et de leurs
applications en cryptographie. Comme j'ai moi-même appris plein de
choses en préparant cet exposé (entre autres en me plongeant un peu
plus que je ne l'avais fait jusqu'alors dans le célèbre
livre Sphere Packings, Lattices and Groups
des deux mathémagiciens John Conway et Neil Sloane), je n'ai pas
résisté à partir un peu dans tous les sens, et forcément j'avais
beaucoup plus de choses sur mes planches que je ne pouvais en exposer
en une heure : inversement, j'espère que leur lecture peut être
intéressante sans l'exposé oral pour les accompagner.
Je n'ai notamment pas pu m'empêcher d'évoquer (le réseau) E₈, même
s'il n'a aucun rapport avec la crypto dont j'étais censé parler. Ce
qui me fait penser que si j'ai beaucoup parlé de E₈ sur ce blog, soit
de l'algèbre ou du groupe de Lie de
ce nom, soit du système de racines
qui le définit, je n'ai pas vraiment parlé du réseau E₈ (celui
engendré par le système de racines), qui est pourtant un objet plus
simple (dans sa définition sans doute la plus compacte, c'est
l'ensemble {(x₁,…,x₈) ∈ (ℤ⁸∪(ℤ+½)⁸)
: x₁+⋯+x₈ ∈ 2ℤ} des octuplets de réels soit tous
entiers soit tous ½+entiers, et dont la somme est un entier pair) ; et
je n'ai jamais parlé du réseau de Leech de dimension 24 (qui est
pourtant presque aussi ubiquiste dans les mathématiques que E₈, et
peut-être encore plus exceptionnel). Voici une façon concise (mais
peu constructive) de caractériser ces deux objets : si vous vivez dans
un espace de dimension 8 (resp. 24) et que vous cherchez à empiler des
boules toutes identiques, vous remarquerez qu'il y a
une unique façon de mettre
le nombre
maximum de boules autour d'une boule centrale de façon à ce
qu'elle la touchent toutes, à savoir 240 d'entre elles (resp. 196560),
et de plus, une fois réalisé ce motif, il se continue de façon
périodique (chaque boule ayant toujours ce même nombre maximum de
voisines) ; en regardant le centre des boules, vous avez ainsi réalisé
le réseau E₈ (resp. le réseau de Leech ou son symétrique). À part en
dimension 2 où on obtient facilement le réseau hexagonal par la même
construction (en disposant six cercles identiques autour d'un septième
qu'ils touchent tous), les dimensions 8 et 24 sont exceptionnelles, au
moins parmi celles qu'on connaît (j'ignore si on sait dire quelque
chose sur les dimensions telles que l'arrangement maximal de boules
identiques autour d'une boule centrale soit unique et
engendre de plus un réseau, mais il n'y en a pas d'autre que 2,8,24 en
dimension ≤24, et pas d'autre connue : dans les autres dimensions, les
boules ne sont pas du tout rigides — par exemple, en dimension 3, on
peut placer au maximum 12 boules identiques touchant une autre donnée,
mais il y a beaucoup de façons de le faire, et elles peuvent se
déplacer tout en gardant le contact avec la boule centrale).
Ceci étant, si les questions d'empilement de sphère sont
frappantes, elles ne permettent pas vraiment de travailler avec le
réseau de Leech. Sur le modèle de la définition que j'ai donnée
ci-dessus du réseau E₈ (les octuplets de réels, soit tous entiers soit
tous ½+entiers, dont la somme est un entier pair), voici la façon la
plus simple et constructive que je connaisse de définir le réseau de
Leech. Comme il vit en 24 dimensions, il y a 24 coordonnées à donner,
et je disposerai ces 24 coordonnées sur les sommets d'un icosaèdre
régulier (rappelons qu'un icosaèdre régulier a 12 sommets), deux par
sommet, que j'appellerai arbitrairement la coordonnéee rouge et
la coordonnée bleue (pour ce sommet). Le réseau de Leech est
formé des points dont les coordonnées multipliées par √8 sont 24-uplet
d'entiers vérifiant les conditions suivantes : (0) les bits 0 (=bits
de poids faible) de ces 24 entiers sont tous les mêmes (i.e., ils sont
soit tous pairs, soit tous impairs), (1) le bit 1 de l'entier rouge
sur chaque sommet de l'icosaèdre est égal au XOR des bits 1 des
entiers bleus des sommets qui ne sont pas adjacents à lui [la
même chose est alors automatiquement vraie en échangeant bleue
et rouge, et cette condition est une façon de dire que les bits
1 forment un mot
du code de
Golay binaire (24,12,8)], et enfin (2) le XOR des bits 2 de tous
les entiers est égal à leur bit 0 commun [on a déjà dit que les bits 0
sont tous les mêmes]. (Note : le facteur √8 est un simple facteur de
normalisation. Il a pour but d'assurer que le réseau de Leech a un
covolume — c'est-à-dire la valeur absolue du déterminant d'une base —
égal à 1, et alors les produits scalaires de deux vecteurs quelconques
sont toujours entiers.)
±?/√8
±?/√8
±?/√8
±?/√8
±?/√8
±?/√8
±?/√8
±?/√8
±?/√8
±?/√8
±?/√8
±?/√8
±?/√8
±?/√8
±?/√8
±?/√8
±?/√8
±?/√8
±?/√8
±?/√8
±?/√8
±?/√8
±?/√8
±?/√8
Le
tableau ci-contre, si mon JavaScript est bien fait, est censé afficher
des vecteurs aléatoires de la plus petite longueur non nulle (à
savoir 2) uniformément choisis parmi les 196560 possibles dans le
réseau de Leech (qui est engendré par eux, c'est-à-dire, est
l'ensemble de toutes les combinaisons entières de ces vecteurs) ; j'ai
laissé non simplifiées des expressions comme 2/√8 (ou 4/√8, qui
apparaît très rarement) pour mieux coller avec la présentation que je
viens de donner. Ici, les coordonnées ont été disposées
en tableau
6×4 parce que c'est plus commode à mettre sur une page Web
qu'un icosaèdre avec deux coordonnées par sommet : si on veut
faire le lien entre ces deux présentations, on peut reprendre
l'étiquetage des cases que j'avais utilisée
dans une entrée récente, et qui est
rappelée en attributs title (i.e., si on passe la souris
au-dessus d'une case), et les disposer sur un icosaèdre de la façon
suivante : en
appelant ♈︎巳
un premier sommet, les cinq sommets adjacents s'appelleront
cycliquement ♑︎寅
– ♒︎未
– ♏︎辰
– ♓︎子
– ♊︎卯,
et les six sommets opposés aux six que je viens de nommer
seront ♎︎亥
et ♋︎申
– ♌︎丑
– ♉︎戌
– ♍︎午
– ♐︎酉
respectivement (à chaque fois, les deux étiquettes que je donne
servent à définir la coordonnée « rouge » et la coordonnée « bleue »
au sommet en question de l'icosaèdre).
Mais bon, il y a quantité de manières de décrire ou de construire
le réseau de Leech (dans un seul chapitre du livre précédemment
mentionné — le chapitre 24, et je soupçonne d'ailleurs que le numéro
n'est pas un hasard —, Conway et Sloane donnent d'ailleurs 23
constructions différentes, une pour chacun des types de trous
profonds [sic] du réseau). C'est un des signes qu'il s'agit d'un
objet mathématique riche et extraordinaire qu'il y ait tellement de
façons de le décrire. En voici une autre : on considère d'abord le
réseau appelé II25,1 (dans l'espace Minkowskien de
dimension 25+1) dont les points sont (exactement comme pour ma
description de E₈ ci-dessus) les 26-uplets de réels, soit tous entiers
soit tous ½+entiers, dont la somme est un entier pair ; dans ce
réseau, on considère le vecteur v = (0,1,2,3,…,24|70), qui,
vu que 70² = 0² + 1² + ⋯ + 24², est orthogonal à lui-même pour le
produit scalaire Minkowskien ; on considère alors les vecteurs de
II25,1 qui sont orthogonaux à v (c'est-à-dire
que la somme des 25 premières coordonnées multipliées par 0,1,2,3,…,24
respectivement, est égale à la dernière multipliée par 70),
modulo v lui-même : le réseau ainsi formé est isométrique
au réseau de Leech. Ou, pour parler en physicien, on se place dans un
espace-temps de relativité restreinte avec 25 dimensions d'espace et 1
de temps, on considère un photon qui se déplace à la vitesse (0/70,
1/70, …, 24/70), et le réseau très simple II25,1, vu par ce
photon (dans l'espace perpendiculaire à son déplacement) est le réseau
de Leech. Le passage entre cette description et la précédente,
cependant, n'est pas évident.
[#] La terminologie
prête vraiment à confusion, parce que le mot français réseau
correspond à la fois à l'anglais network
et lattice, et c'est du second qu'il est
question. Mais l'anglais n'est pas moins ambigu,
puisque lattice correspond à la fois au
français réseau et treillis. Il ne reste plus qu'à
inventer une quatrième sorte d'objet, qui
s'appellerait treillis en français
et network en anglais, et on aura un beau graphe
bipartite complet K(2,2) dans les traductions.
Pour les ~7×10⁹ d'entre vous qui n'ont pas pu assister à mon exposé
tout à l'heure
au séminaire Codes
sources (dont j'ai déjà
parlé) consacré à l'explication de
mon labyrinthe
hyperbolique (toujours le
même), les
transparents sont
ici — ou du moins, les transparents de la première partie de mon
exposée, dédiée à l'exposition des idées mathématiques sous-jacentes ;
ensuite j'ai commenté le code directement dans un éditeur, donc je ne
peux que renvoyer vers les commentaires de celui-ci. Il y a
évidemment beaucoup de choses que j'ai dites qui ne sont pas sur les
transparents, mais ils donneront au moins une idée de ce dont j'ai
parlé.
Déformation continue d'une rotation de 2 tours en rien du tout
Dans l'entrée que j'ai postée
hier je mentionnais le groupe Spin(3), revêtement double du groupe
SO(3) des rotations de la sphère, c'est-à-dire qu'il distingue une
rotation par un tour complet de pas de rotation du tout ; et
je mentionnais que le groupe Spin(3), lui, est simplement connexe (on
ne peut pas le revêtir à son tour) : tout lacet, i.e., tout chemin qui
revient à son point de départ, dans Spin(3), et notamment celui qui
fait faire deux tours complets à la sphère, peut être
contracté en rien du tout. J'ai essayé d'illustrer ce fait
par une vidéo
que je viens de mettre sur YouTube :
La sphère en haut à gauche (celle numérotée 0) fait deux tours
complets pendant une période (=8 secondes) de la vidéo ; celle en bas
à droite (numérotée 27) ne bouge pas. Chacune des sphères
intermédiaires effectue un mouvement qui part et arrive à la même
position de référence, et chacun de ces mouvements est très proche des
mouvements de la sphère précédente et suivante. Ceci illustre le fait
qu'on peut passer continûment de deux tours complets à zéro. Chose
qui ne serait pas possible pour un seul tour (ou si on avait affaire à
un cercle, quel que soit le nombre non-nul de tours).
Ceci étant, je n'y vois toujours pas grand-chose à la manière dont
cette déformation se fait ou pourquoi elle n'est pas possible pour un
seul tour (mon espoir était d'acquérir une intuition visuelle sur le
groupe spin, pour le comprendre autrement que juste
intellectuellement, et ce n'est pas franchement un succès). J'ai
aussi produit
une version
séquentielle de la vidéo, où la sphère fait des mouvements
successifs au lieu qu'on les voie tous simultanément, je ne sais pas
si c'est plus clair :
OK, je vois bien que l'idée très grossière est que
l'axe qui sert d'axe de rotation dans le premier mouvement (suivre des
yeux le point de rencontre des trois pentagones verts) se met, au
cours des différents mouvements, à faire des tours, si bien que la
sphère n'a plus vraiment besoin de tourner autour de lui, puis ce tour
qu'il décrit est lui-même recontracté à rien du tout, mais cette
description est vraiment vague, et ne me fournit pas une explication
visuelle intuitive de pourquoi on a besoin de faire deux tours pour
contracter.
Racontons des choses autour de la notion de groupe de Lie
Puisque j'ai publié une première
entrée sur les octonions, je me dis qu'il faudrait que je fasse un
peu de vulgarisation sur la notion de groupe de Lie et sur leur
classification — et pourquoi c'est un résultat mathématique majeur.
Voici une tentative pour raconter quelques choses dans cette
direction.
Comme d'habitude quand je fais de la vulgarisation mathématique,
(1) je ne sais pas bien à quel niveau de public je m'adresse (et ce
niveau va d'ailleurs varier de façon incohérente au cours du texte,
même pas forcément de façon monotone vu qu'il m'arrive de faire des
digressions pour revenir ensuite à des choses plus basiques), et
(2) je vais chercher à « raconter » les maths plus qu'énoncer des
définitions et des résultats précis (j'essaie très fort de ne rien
dire de faux, mais je dois souvent me réfugier dans un certain niveau
de flou quand je veux cacher quelques détails techniques) : mon but
est de donner un petit aperçu de ce à quoi ressemble cette théorie
classique, certainement pas de l'enseigner précisément (pour ça, il y
a toutes sortes de livres, d'ailleurs j'en
suggère quelques uns). L'idée est que — qu'on me corrige si ce
que je pense est en fait assez stupide — ça peut intéresser des gens
de lire des choses à ce sujet, et de regarder les petits dessins que
sont les diagrammes de Dynkin et de Satake, sans avoir envie
d'apprendre (et/ou le temps de comprendre) ce qu'est précisément, par
exemple, un système de racines, une involution de Cartan, ou en fait,
un groupe de Lie.
Après, je peux aussi en profiter pour parler à un public plus
averti pour lui dire, par exemple regardez le groupe
SO*(2n) comme il est tout gentil et tout mimine, pourquoi
est-ce que personne n'en parle jamais, de ce pauvre petit
groupe ?, ou pour partager mon agacement qu'il soit si difficile
de trouver des informations fiables et précises sur certaines choses
(celui qui veut traverser le pont de la mort doit répondre aux
questions suivantes : quel est le sous-groupe compact maximal de la
forme déployée algébriquement simplement connexe de E₇ ? combien sa
forme déployée adjointe algébriquement connexe a-t-elle de composantes
réelles ? quelle est sa couleur préférée ?).
Pour commencer, si je devais m'adresser à un public qui n'a aucune
connaissances mathématiques particulières, je présenterais
un groupe comme les formes de symétries que peut
posséder un objet mathématique (en étant délibérément
vague sur ce que objet mathématique peut recouvrir, et en
recouvrant sous le terme symétrie tout ce qui « ne change pas »
cet objet, cf. les exemples et commentaires ci-dessous). Cette
définition est assez floue, mais elle a le mérite de permettre de
comprendre pourquoi il s'agit d'un concept extrêmement central en
mathématiques (alors que si on prend
la vraie
définition comme un ensemble muni d'une loi de composition binaire
vérifiant les axiomes gnagnagna, ça ne saute pas forcément aux yeux
pourquoi cette définition est la bonne et pourquoi le concept
est essentiel).
Par exemple, si je considère un pentagone régulier (ou de façon
équivalente, une étoile à cinq branches
comme ceci),
cette figure a dix symétries : quatre rotations autour du centre du
pentagone (de façon à amener un sommet sur un des quatre autres, ce
qui donne des angles de ±72° ou ±144° mais peu importe), cinq
symétries axiales (les réflexions par rapport à des axes passant par
un des cinq sommets du pentagone), et la « symétrie » consistant à ne
rien faire, qu'on appelle symétrie identité, ou
élément neutre du groupe, et que les mathématiciens
incluent toujours parce que cela rend la notion de groupe bien plus
commode. L'ensemble de ces dix symétries s'appelle le groupe
diédral du pentagone (et on dit qu'il est d'ordre 10, parce
qu'il y a dix éléments dedans). Soit dit en passant, si on considère
une étoile à cinq branches entrelacée (c'est-à-dire où on
voit dans quel sens une branche passe au-dessus d'une autre, comme
sur cette
version du drapeau marocain), la figure n'a plus que cinq
symétries (les cinq rotations de ±72° et ±144°, ou plus exactement,
les quatre rotations et l'élément neutre / identité qui est une
rotation de 0°), parce qu'une symétrie axiale changerait le sens
d'entrelacement de l'étoile : ce groupe s'appelle alors le groupe
cyclique à cinq éléments (et c'est un exemple
d'un sous-groupe, en l'occurrence un sous-groupe du groupe
diédral du pentagone : en ajoutant une structure à un objet
mathématique, on restreint ses symétries). Remarquons que la plupart
des figures géométriques (prenez un triangle quelconque, par exemple)
n'ont pas du tout de symétrie, ou plutôt, ils n'ont que la symétrie
idiote consistant à ne rien faire (l'identité ou élément neutre, comme
je l'ai appelée ci-dessus), et leur groupe de symétrie est appelé
le groupe trivial, ou groupe à un seul élément.
Les octonions sont-ils intéressants ? (première partie)
J'ai promis depuis
une éternité de parler d'octonions, et cette entrée a été
commencée à ce moment-là, puis laissée de côté, puis remaniée
complètement suite à une réflexion
que j'ai entreprise sur la notion de géométrie, puis laissée de
nouveau de côté, puis reprise, etc. Le résultat, écrit par bribes,
manque donc certainement de cohérence globale, j'espère qu'on ne m'en
voudra pas. Je reprends la formulation du titre
d'une entrée passée pour
m'interroger de nouveau sur l'intérêt d'un concept mathématique parmi
ceux qui fascinent beaucoup, notamment les mathématiciens amateurs, et
ceux qui aiment se demander voyons jusqu'où on peut généraliser les
choses : en l'occurrence, les octonions, dont je vais
tâcher d'expliquer de quoi il s'agit. Mais, quitte à spoiler la
suite, je peux d'ores et déjà révéler que ma conclusion générale sera
plus positive que pour les nombres surréels : je prétends que les
octonions sont un objet naturel, même si les raisons de leur
existence ont quelque chose d'un peu étonnant et mystérieux ; en
revanche, les tentatives pour les généraliser encore sont idiotes
parce qu'elles passent complètement à côté de la raison profonde pour
laquelle les octonions sont intéressants (en se concentrant sur des
phénomènes superficiels).
Introduction
Dans cette première partie d'une série d'entrées consacrées
aux octonions (mais qui, comme tout ce que j'entreprends,
présente un risque sérieux de ne jamais être finie), je n'arriverai
pas encore à répondre à la question du titre, puisque je ne ferai
essentiellement que définir et présenter les objets en question.
Après une présentation et un petit historique censés être lisibles par
absolument tout le monde, je veux commencer par rappeler ce que sont
les nombres complexes et les quaternions, pour
ensuite aborder les octonions. J'expliquerai pourquoi les quaternions
sont intéressants et utiles notamment pour calculer avec les rotations
dans l'espace, et j'essaierai de présenter ensuite de façon analogue
des liens des octonions avec les rotations en sept ou huit dimensions.
Je parlerai ensuite un peu des automorphismes des octonions,
qui constituent le groupe de Lie exceptionnel G2 (il faudra
donc dire un peu ce que cela signifie), et j'évoquerai enfin quelques
pistes pour la suite.
Je prévois de continuer avec encore deux entrées
sur le sujet : l'une (déjà essentiellement écrite) contiendra un
microscopique aperçu du sujet des octonions entiers et
notamment leur lien avec
mon E8 préféré, et une
autre (largement à écrire ou à réécrire, donc probablement pour
jamais) doit expliquer ce qu'est
le carré
magique de Freudenthal-Tits, qui permet vraiment de répondre
(positivement !) à la question du titre — oui, les octonions sont
intéressants à cause de leur lien profond avec les groupes de Lie
exceptionnels G2, F4, E6,
E7 et (de nouveau !) E8.
Présentation sans mathématiques, et petit historique
Disons immédiatement la chose suivante : les octonions (𝕆) sont une
sorte de « nombres » qui s'inscrit logiquement après les nombres
réels ℝ, les nombres complexes ℂ et les quaternions ℍ. Les nombres
complexes sont un objet de dimension réelle 2, c'est-à-dire qu'un
nombre complexe renferme essentiellement la donnée de deux nombres
réels (sa partie réelle et sa partie imaginaire) ;
les quaternions sont de dimension réelle 4, c'est-à-dire qu'ils
ont quatre coordonnées réelles, et les octonions sont de
dimension réelle 8. Ceci donne naturellement envie de prolonger la
suite des puissances de 2 et d'inventer des sortes de nombres qui
soient de dimension réelle 16, 32 et ainsi de suite, mais le caractère
véritablement exceptionnel des octonions offre toutes sortes
de raisons de comprendre, au contraire, qu'elle doit s'arrêter (et que
c'est justement le fait qu'elle s'arrête qui rend les octonions
intéressants !), c'est-à-dire que tout objet qu'on peut inventer pour
la prolonger est
soit entièrement dénué
d'intérêt
soit complètement
délirant.
Il m'est impossible de faire l'historique des nombres
réels puisque la progression historique, à ce sujet, est trop
éloignée de la progression mathématique : la géométrie grecque utilise
implicitement une notion de mesure, mais la mesure d'une longueur ou
d'une aire ne sont pas véritablement unifiées et le concept de nombre
négatif n'existe pas ; a contrario, il serait absurde de dater
les nombres réels de leur première construction véritablement
rigoureuse (peut-être par Cauchy ou Dedekind) car ce serait suggérer
qu'Euler, Lagrange ou Gauß ne comprenaient pas ce concept, ce qui est
manifestement faux parce que les questions algébriques qui
m'intéressent ici sont assez peu liées aux questions (quasi
fondationnelles) sur la complétude des nombres réels. Je passe donc
sur les nombres réels.
Les nombres complexes ont commencé à apparaître
avec la résolution des équations du troisième degré notamment
par Jérôme
Cardan (vers 1545) : la raison en est que même si une équation
réelle du troisième degré a toujours une solution réelle, il peut être
nécessaire d'introduire des racines carrées de nombres négatifs,
c'est-à-dire de passer par les nombres complexes, pour exprimer ce qui
sera finalement une quantité réelle (on sait maintenant, grâce à la
théorie de Galois, que le cas où les trois racines d'une équation
cubique réelle sont toutes réelles, le
fameux casus
irreducibilis, lié au problème de la trissection de l'angle,
ne peut se résoudre en radicaux que si on accepte des
radicaux non réels). Mais même si Cardan fait intervenir, presque
malgré lui, des nombres complexes,
c'est Bombelli
qui en développe une première théorie un peu sérieuse dans son livre
d'algèbre publié en 1572. Curieusement, ce n'est que tardivement,
peut-être
avec Argand
en 1806, et avec la recherche de démonstrations du théorème
fondamental de l'algèbre (une équation algébrique de
degré n dans les nombres complexes a toujours n
solutions comptées avec multiplicités), qu'on a acquis la
représentation claire des nombres complexes comme les points d'un plan
(donc de dimension 2 sur les nombres réels) dont la partie réelle et
la partie imaginaire seraient les deux coordonnées.
Les nombres complexes ayant ainsi deux coordonnées
réelles, et étant liés de façon agréable à la géométrie plane, il est
naturel de chercher si on peut construire des sortes de nombres avec
trois coordonnées, qu'on pourrait lier à la géométrie dans
l'espace. William
Hamilton a passé des années de sa vie, vers 1830–1840, à chercher
de tels nombres (sans avoir, bien sûr, une définition exacte de ce
qu'il cherchait). C'est en 1843 qu'il a découvert
les quaternions, de dimension 4 réelle, en même temps
qu'il a compris la raison pour laquelle la dimension 3 ne pouvait pas
répondre à ses attentes, à savoir l'inexistence d'une « identité des
trois carrés » analogue à l'« identité des deux carrés »
((a²+b²) · (a′²+b′²) =
(a·a′−b·b′)² +
(a·b′+b·a′)²) qui exprime
la multiplicativité de la norme complexe et celle « des quatre
carrés » ((a²+b²+c²+d²) ·
(a′²+b′²+c′²+d′²) =
(a·a′−b·b′−c·c′−d·d′)²
+
(a·b′+b·a′+c·d′−d·c′)²
+
(a·c′−b·d′+c·a′+d·b′)²
+
(a·d′+b·c′−c·b′+d·a′)²)
liée à l'existence des quaternions mais qui était déjà connue d'Euler
et de Lagrange.
Malgré le fait qu'ils soient de dimension 4, les quaternions ont,
comme je l'expliquerai, des applications naturelles à la géométrie
euclidienne de dimension 3 (pour le calcul des rotations dans
l'espace). C'est sans doute la raison pour laquelle ils ont eu un
certain succès, et ont valu une grande renommée à leur inventeur. (En
fait, comme souvent en mathématiques, les découvertes avaient été
préfigurées par d'autres : en l'occurrence, Gauß avait essentiellement
découvert les quaternions dans un texte de 1819 sur les rotations de
la sphère, qu'il n'a pas jugé bon de publier.) Toujours est-il que
dans la deuxième moitié du XIXe siècle ont fleuri des
textes, des chaires et des cours sur la « science des quaternions ».
(Une anecdote que je n'ai pas réussi à confirmer veut que quand
Charles Dodgson, plus connu sous le pseudonyme de Lewis Carroll, a
publié Alice in Wonderland, la reine
Victoria lui a fait promettre de lui envoyer une copie du prochain
livre qu'il écrirait : le livre en question était un traité sur les
quaternions, et l'histoire ne dit pas si Victoria l'a autant
apprécié.) Les quaternions continuent d'avoir une certaine utilité
pour représenter informatiquement des orientations dans l'espace (de
façon compacte et efficace).
Les octonions, en revanche, n'ont pas eu une telle
popularité, et n'ont guère d'utilité pratique. Découverts (sous le
nom d'octaves), à peine quelques mois après les quaternions,
par un ami de
Hamilton, John
Graves, celui-ci s'est fait voler la vedette
par Arthur
Cayley qui a publié l'existence des octonions en 1845.
Il existe une façon systématique (la construction de
Cayley-Dickson) pour passer des nombres réels aux complexes, des
complexes aux quaternions, et des quaternions aux octonions : mais à
chaque fois qu'on applique cette construction, on perd quelque chose.
Quand on passe des réels aux complexes, on perd la propriété d'être un
corps ordonné (ou ordonnable) ; quand on passe des complexes aux
quaternions, on perd la commutativité de la multiplication,
c'est-à-dire que x·y
et y·x ne seront plus égaux en général dans les
quaternions ; quand on passe des quaternions aux octonions, on perd
l'associativité de la multiplication, c'est-à-dire
que x·(y·z) et
(x·y)·z ne seront plus égaux en
général dans les octonions
(ce qui doit faire frémir d'horreur tout mathématicien qui se
respecte, mais heureusement on garde au moins une forme faible de
l'associativité appelée alternativité) ; et si on cherche à
continuer la construction, on perd la seule raison pour laquelle les
choses avaient encore un intérêt, à savoir la multiplicativité des
normes ou le fait que x·y=0 ne se produit que
pour x=0 ou y=0. Même avec ces propriétés, il
n'est pas du tout évident que les octonions aient le moindre intérêt
autrement que comme une petite curiosité algébrique : il se trouve
qu'ils en ont, mais il me semble que la seule explication convaincante
de ce fait passe par la théorie des groupes de Lie exceptionnels, et
je reporterai à plus tard ces explications.
Quelques
lectures : Une excellente référence (souvent citée)
concernant les octonions en général est
l'introduction de
John Baez à leur sujet [edit : lien cassé (en ce
moment ?), mais le même texte est
disponible sur
l'arXiv] ; une autre est le livre de J. H. Conway et
D. Smith, On
Quaternions and Octonions (their Geometry, Arithmetic and
Symmetry). Beaucoup de ce que je vais dire est contenu
dans ces sources, mais je vais essayer de dire certaines choses de
façon plus élémentaire, ou au moins d'arriver plus rapidement à ce qui
est amusant. Une autre référence est les chapitre 9 et 10 par Koecher
et Remmert dans le
livre Numbers
de Ebbinghaus &al. Pour une présentation élégante de la
multiplication sur les octonions sans passer par la construction de
Cayley-Dickson, je
conseille cet
article de Bruno Sévennec. Enfin, pour une description claire et
approfondie du « carré magique » de Freudenthal (dont je devrai parler
plus tard), je
recommande ce survey
par Barton et Sudbery, qui est le seul que j'aie trouvé vraiment
satisfaisant sur le sujet (on pourra aussi
consulter cet
article de Freudenthal lui-même, en allemand, qui reprend les
choses à zéro, de façon assez claire et efficace). Je tire la plupart
des informations de mon aperçu historique du
livre Mathematics and its History de John
Stillwell (notamment les chapitres 14 et 20).
Définition rapide pour les gens pressés
Pour les lecteurs qui n'auraient pas la patience de lire tout ce
qui suit, voici une définition ultra-rapide
des algèbres à divisions des complexes, quaternions et octonions (on
peut aussi l'ignorer sachant que tout va être redit ci-dessous). Il
s'agit respectivement des expressions de la
forme x(0)
+ x(1)·i pour les
complexes, x(0)
+ x(1)·i
+ x(2)·j
+ x(3)·k pour les quaternions
et x(0)
+ x(1)·i
+ x(2)·j
+ x(3)·k
+ x(4)·ℓ
+ x(5)·i·ℓ
+ x(6)·j·ℓ
+ x(7)·k·ℓ pour les
octonions (il faudrait
traiter i·ℓ, j·ℓ
et k·ℓ comme trois lettres supplémentaires, même
si je les ai écrites comme des produits pour économiser les lettres de
l'alphabet) ; l'addition se fait terme à terme, et la multiplication
se fait en développant complètement l'écriture et en utilisant la
table qui suit :
×
1
i
j
k
ℓ
i·ℓ
j·ℓ
k·ℓ
1
1
i
j
k
ℓ
i·ℓ
j·ℓ
k·ℓ
i
i
−1
k
−j
i·ℓ
−ℓ
−k·ℓ
j·ℓ
j
j
−k
−1
i
j·ℓ
k·ℓ
−ℓ
−i·ℓ
k
k
j
−i
−1
k·ℓ
−j·ℓ
i·ℓ
−ℓ
ℓ
ℓ
−i·ℓ
−j·ℓ
−k·ℓ
−1
i
j
k
i·ℓ
i·ℓ
ℓ
−k·ℓ
j·ℓ
−i
−1
−k
j
j·ℓ
j·ℓ
k·ℓ
ℓ
−i·ℓ
−j
k
−1
−i
k·ℓ
k·ℓ
−j·ℓ
i·ℓ
ℓ
−k
−j
i
−1
(La ligne de la table donne le symbole de gauche à multiplier et la
colonne donne le symbole de droite :
ainsi, i·j=k tandis
que j·i=−k. Pour les complexes,
seules les deux premières lignes et colonnes servent, et pour les
quaternions, seules les quatre premières lignes et colonnes. Il y a
toutes sortes de conventions différentes pour nommer la base des
octonions, mais celle que j'ai choisie a l'avantage que — je pense —
tous les mathématiciens seront d'accord sur le contenu de la table de
multiplication une fois qu'on a choisi les noms.)
La multiplication des complexes est commutative et associative,
celle des quaternions est associative mais non commutative, et celle
des octonions n'est même pas associative
((i·j)·ℓ=k·ℓ
tandis
que i·(j·ℓ)=−k·ℓ) ;
elle vérifie cependant des conditions plus faibles, dites
d'alternativité, à savoir
que x·(x·y)=(x·x)·y, x·(y·x)=(x·y)·x
et y·(x·x)=(y·x)·x
(ce qui revient à dire que l'associateur
{x,y,z} :=
(x·y)·z −
x·(y·z) est complètement
antisymétrique en ses trois variables).
Si on préfère, on peut aussi définir les octonions à l'aide des
formules suivantes
(où q,q′,r,r′ désignent
des
quaternions) : (1)q·(r′·ℓ)
=
(r′·q)·ℓ, (2) (r·ℓ)·q′
= (r·q′*)·ℓ
et (3) (r·ℓ)·(r′·ℓ)
= −r′*·r, où
ici, x* désigne le quaternion conjugué
de x (cf. ci-dessous). Les mêmes formules en
mettant j à la place de ℓ peuvent servir à
définir les quaternions à partir des complexes, et avec i à
définir les complexes à partir des réels. (On parle du procédé de
Cayley-Dickson. Pour aider à retenir ces formules, on peut notamment
retenir le fait que si w est un quaternion de module 1
quelconque, alors l'application ℝ-linéaire qui fixe les quaternions et
envoie un octonions de la forme q′·ℓ sur
(w·q′)·ℓ, constitue un automorphisme
des octonions : ceci contraint énormément les formules.)
On peut aussi retenir que i, j, k
s'associent et vérifient i² = j² = k²
= i·j·k = −1, que la même chose vaut
aussi pour n'importe lequel des trois avec ℓ (par
exemple, i² = ℓ² = (i·ℓ)²
= −1), et enfin que si on prend deux distincts
de i, j, k, avec ℓ, alors
cette fois ils s'anti-associent toujours, par
exemple i·(j·ℓ) =
−(i·j)·ℓ =
−k·ℓ. Ceci suffit à reconstruire la table.
Le conjugué d'un complexe, quaternion
ou octonion, s'obtient en changeant le signe de toutes les
composantes x(p) sauf la partie
réelle x(0) (i.e., les conjugués de
1,i,j,k,ℓ,i·ℓ,j·ℓ,k·ℓ
valent respectivement
1,−i,−j,−k,−ℓ,−i·ℓ,−j·ℓ,−k·ℓ).
On a (x·y)*
= y*·x*, et par ailleurs
N(x) := x·x* est la somme
des carrés des composantes de x, donc c'est un nombre réel,
qui ne peut être nul que si x l'est. En mettant ces deux
propriétés ensemble, on voit que tout complexe, quaternion ou
octonion x non nul a un inverse de même type, donné
par x*/N(x). (Il est utile de savoir
que, dans les octonions, le parenthésage n'a pas d'importance dans
tout produit faisant intervenir uniquement deux
octonions, x, y, ainsi qu'éventuellement
leurs conjugués x* et y*,
et bien sûr les nombres réels, ce qui permet de conclure
que x·y multiplié à gauche par l'inverse
de x ou à droite par l'inverse de y donne bien
ce qu'on espérait.) On définit par ailleurs |x| =
√N(x) (le module, ou la valeur absolue, de x),
et aussi Re(x) = ½(x+x*)
= x(0) (la partie réelle de x) :
cette dernière vérifie notamment
Re(x·y)=Re(y·x) et aussi
Re(x·(y·z))=Re((x·y)·z).
Je viens de
produire un nouveau
jeu de labyrinthe hyperbolique. Je n'étais pas vraiment satisfait
du précédent
(introduit ici) parce que je
trouvais qu'il y a quelque chose d'insatisfaisant à plaquer un
labyrinthe au sens traditionnel (i.e., des murs infranchissables) sur
l'espace hyperbolique : l'espace hyperbolique
est labyrinthique en
lui-même (au sens où, par exemple, si on se trompe de
direction quelque part, on doit essentiellement revenir à son point de
départ pour aller à l'endroit où on voulait aller), je trouvais qu'il
faudrait exploiter ce fait — et c'est ce que j'ai tenté de faire dans
cette nouvelle version.
[Navigation : pour plus
d'explications sur la géométrie hyperbolique, voir cette série de
trois entrées
passées : 1, 2, 3
(plus ou moins indépendantes) ; voir
aussi celle-ci pour des
illustrations de différentes projections ; voir aussi les jeux de
labyrinthe hyperbolique que
j'introduis ici
et là
et là, et celui-ci dont j'explique
le fonctionnement dans des transparents
disponibles ici.]
Le monde, « périodisé » du plan hyperbolique, est exactement le
même que dans la version précédente (88110 carrés formant une surface
de genre 8812, et pavé par des carrés
selon mon
pavage préféré), de même type que le monde « jouet » dont
je bassine régulièrement mes lecteurs
depuis quelques jours, si ce n'est que ce dernier n'a que 30
carrés formant une surface de genre 4, ce qui le rend plus facile à
analyser. J'ai repris le monde à 88110 carrés (et qui est un
déguisement du graphe de Cayley du groupe PSL(2,89)) parce qu'il est
facile à construire, et d'une taille suffisamment raisonnable.
Cette fois, donc, il n'y a aucun obstacle : juste 24 orbes de
couleur cachés (quoique placés de façon régulière) dans ce monde, et
qu'il s'agit de collecter, mais c'est surtout un prétexte pour
explorer ce à quoi ce monde peut ressembler. Pour aider à
l'exploration, chaque orbe fait apparaître un domaine de couleur
proche autour de lui, tous connexes et approximativement de même
taille (c'est-à-dire dans les 3700 cases). J'ai donné des noms aux
orbes pour décorer et surtout pour éviter qu'on s'arrache les cheveux
à savoir quand deux couleurs sont identiques.
Le monde n'est pas très grand en diamètre : on peut aller de
n'importe quelle carré à n'importe quel autre en au plus 17 mouvements
(consistant à passer à une case adjacente). Ce qui n'empêche que ces
17 mouvements, dans un pavage hyperbolique, permettent d'aller à
beaucoup plus d'autres cases que ce que ce serait dans un pavage
euclidien. On retombe donc assez difficilement sur ses pas (sauf
évidemment à suivre une boucle — par exemple en allant tout droit
selon un des axes du quadrillage on boucle en 11 mouvements).
Globalement, ce n'est pas très difficile une fois qu'on a un peu
compris comment fonctionnent les choses.
Pour aider à savoir par où on est passé, j'ai mis une fonction
« petit poucet » qui est amusante en elle-même.
Bref, dans l'ensemble je trouve que c'est plus réussi que le jeu de
labyrinthe précédent. Mais j'aimerais surtout trouver comment motiver
des gens plus doués que moi pour écrire des jeux informatiques à
explorer plus les possibilités intéressantes offertes par la géométrie
hyperbolique.
Petit changement
() : Je garantis maintenant
l'existence d'au moins un orbe à distance de vue du point de départ
(mais ça peut être délicat de le repérer).
Amélioration
() : J'ai ajouté un système de
balises qu'on peut déposer dans le labyrinthe (et rappeler à tout
moment) et qui indiquent la direction dans laquelle elles se trouvent
(ou du moins une direction, puisqu'il y a souvent plusieurs
chemins menant d'un point à un autre selon la façon dont on tourne
dans le monde).
Je m'amuse avec les groupes de Coxeter et je continue à disséquer la surface de Bring
Puisque j'étais parti pour
manipuler des polygones hyperboliques, j'ai glissé, suivant le fil
conducteur de simplement chercher à apprendre des maths belles et
amusantes, vers la combinatoire des groupes de Coxeter (et des dessins
qui auraient plu
à Escher).
Sans me proposer d'expliquer la situation en
général, je peux facilement en parler sur le cas particulier (mais
représentatif) illustré par les images ci-contre à gauche et à droite
(peu importent pour l'instant les différences, qui ne sautent
d'ailleurs probablement pas aux yeux). Si on ignore les étiquettes,
il s'agit d'un pavage du plan hyperbolique par des triangles tous
identiques, caractérisés de façon unique par le fait qu'ils ont aux
sommets les angles π/4, π/2 et π/5
(lus dans le sens des aiguilles d'une montre pour les triangles
blancs, et dans le sens trigonométrique pour les triangles noirs). De
façon équivalente, on obtient cette figure en partant
de mon
pavage préféré de l'espace hyperbolique par des « carrés » dont
cinq se rejoignent en chaque sommet, et en divisant chaque carré en
huit selon ses quatre axes de symétrie (deux diagonales et deux
médianes). On peut donc regrouper les triangles huit par huit pour
retrouver le pavage hyperbolique par des « carrés » d'angle
2π/5 en chaque sommet (chercher les bords teintés en gris
sur ma figure), et c'est bien sûr cette parenté qui me fait utiliser
cet exemple particulier ; on peut aussi, au contraire, regrouper les
triangles dix par dix (chercher les bords teintés en rouge sur ma
figure) pour obtenir
le pavage
dual par des pentagones à angles droits. Le pavage triangulaire
s'obtient en partant d'un triangle quelconque le constituant, et en
effectuant de façon répétée des symétries par rapport à ses trois
côtés (je les ai, à chaque fois, légèrement teintés en gris, vert et
rouge).
L'ensemble des transformations en question, c'est-à-dire l'ensemble
des compositions de symétries par rapport aux côtés des triangles, est
appelé le groupe de Coxeter Δ(2,4,5), ou groupe
de Coxeter engendré par trois
réflexions x, y, z
vérifiant x²=y²=z²=1 avec
(x·y)⁵=1, (y·z)⁴=1 et
(x·z)²=1 (l'opération · étant la composition des
transformations). De plus, donnés deux triangles, il existe une et
une seule transformation dans le groupe de Coxeter qui transforme l'un
en l'autre. Une fois fixé un triangle de référence (disons, celui
étiqueté ε sur mes figures), tous les triangles peuvent
s'identifier aux éléments du groupe de Coxeter (via la
transformation qui envoie le triangle de référence dans le triangle
considéré) : on peut donc associer à toute suite
de x, y et z un triangle, qui est
celui obtenu en partant du triangle de référence (ε) et en
effectuant les transformations indiquées par ces lettres.
Concrètement, soit on lit le mot de droite à gauche, auquel
cas x, y et z désignent les symétries
par rapport aux trois côtés fixés du triangle de référence, soit on le
lit de gauche à droite, auquel cas x, y
et z désignent les côtés qu'on doit traverser, z
étant le petit côté de l'angle droit (teinté en rouge sur ma
figure), y l'hypoténuse (teintée en vert), et x
le grand côté de l'angle droit (teinté en gris).
Ceci fournit donc (une fois fixé le triangle de référence) une
façon de désigner n'importe quel triangle du pavage par une suite
de x, y et z (les triangles blancs,
dont l'orientation est la même que le triangle de référence, sont ceux
ayant un nombre pair de lettres, correspondant à une transformation
qui préserve l'orientation, tandis que les noirs, dont l'orientation
est opposée, sont ceux ayant un nombre impair de lettres). Mais il
existe plusieurs suites pouvant désigner le même triangle :
pour commencer, comme x²
(c'est-à-dire x·x) est l'identité, on peut
supprimer ou insérer un nombre pair quelconque de x
consécutifs dans un mot, et de même pour les y et
les z : mais ce ne sont pas là les seules simplifications
possibles, puisqu'on a aussi (xz)²=1,
c'est-à-dire xzxz=1, ce
qui se traduit plus concrètement
par zx=xz (cette exemple
prouve qu'il n'y a pas unicité de l'écriture, même si on impose à
celle-ci d'être de longueur minimale). On appelle mot
réduit sur x, y et z une
écriture de longueur minimale conduisant à un élément/triangle donné ;
et même parmi les mots réduits, on peut par exemple s'intéresser à
celui qui est lexicographiquement le plus petit (ce qui conduit à
préférer l'écriture xz
à zx). Ma figure de gauche ci-dessus
montre chaque triangle étiqueté par le mot réduit lexicographiquement
le plus petit : ceci fournit bien une étiquette unique pour chaque
triangle. D'autres variations sont possibles : le mot réduit
lexicographiquement le plus grand, le mot réduit lexicographiquement
le plus petit lu à l'envers (remarquons que lire un mot à l'envers
revient à prendre son inverse dans le groupe de Coxeter), ou le mot
réduit lexicographiquement le plus grand lu à l'envers. (La figure de
droite ci-dessus montre les mots réduits lexicographiquement les plus
grands lus à l'envers : si la différence avec la figure de gauche ne
vous frappe pas, cherchez le
mot xyxyx d'un
côté, qui
est yxyxy de
l'autre.)
L'équation[#] a₁·b₁·a₁−1·b₁−1
· a₂·b₂·a₂−1·b₂−1
· a₃·b₃·a₃−1·b₃−1
· a₄·b₄·a₄−1·b₄−1
conjugué
à u₁·v₂·u₄−1·v₁−1
· u₂·v₃·u₁−1·v₂−1
· u₃·v₄·u₂−1·v₃−1
· u₄·v₁·u₃−1·v₄−1
dans le groupe libre a (entre autres) comme solution :
a₁ = v₁·u₄·v₂−1
b₁ = v₂·u₁
a₂ = v₂·u₁·v₃−1
b₂ = v₃·u₂
a₃ = v₃·u₂·v₄−1
b₃ = v₄·u₃
a₄ = v₄·u₃·v₁−1
b₄ = v₁·u₄
ou réciproquement
u₁ = b₄−1·a₁·b₁
v₁ = a₄−1·b₃
u₂ = b₁−1·a₂·b₂
v₂ = a₁−1·b₄
u₃ = b₂−1·a₃·b₃
v₃ = a₂−1·b₁
u₄ = b₃−1·a₄·b₄
v₄ = a₃−1·b₂
(Et la conjugaison se fait par v₁·u₄.)
[#] Les inconnues
sont a₁,b₂,a₃,b₄,a₁,b₂,a₃,b₄
tandis
que u₁,u₂,u₃,u₄,v₁,v₂,v₃,v₄
sont les générateurs du groupe libre — mais ça ne change rien si on
fait le contraire : c'est pour ça que je donne à la fois une solution
et une réciproque.
Cela pouvait effectivement peut-être se trouver de tête en
regardant assez longuement les équations et en ayant foi dans le fait
(douteux) qu'une équation aussi symétrique devait pouvoir admettre une
solution symétrique. En l'occurrence, j'ai trouvé ces valeurs en
appliquant l'algorithme de Whitehead déguisé sous forme
d'un problème combinatoire, et
finalement en appliquant
un Dijkstra
sur le graphe des 127072 façons
de tracer 8 cordes disjointes entre 16 points cycliquement ordonnées.
Je n'ai pas du tout d'idée claire sur la question de savoir si cette
solution est vaguement
unique[#2] (et si oui, en quel
sens).
[#2] Enfin, je sais
qu'elle n'est pas unique, puisque la première version que j'ai trouvée
(en minimisant le nombre de chiasmes plutôt qu'une certaine forme de
longueur) était beaucoup plus désagréable :
a₁=v₄−1·u₃−1·v₁·u₄·u₁·u₃·v₄,
b₁=v₄−1·u₃−1·v₂·u₄−1·v₁−1·u₃·v₄,
a₂=v₄−1·u₃−1·v₂·u₁·u₂,
b₂=v₃·u₁−1·v₂−1·u₃·v₄,
a₃=v₄−1·u₃−1·u₄−1·v₁−1·u₃·v₄,
b₃=v₄−1·u₃−1·v₁·u₄·u₃·v₄·v₁−1·u₃·v₄,
a₄=v₄−1·u₃−1·v₁·u₄·u₃·v₄·u₃−1·v₄−1·u₃−1·u₄−1·v₁−1·u₃·v₄,
b₄=v₄−1·u₃−1·v₁·u₄·u₃·v₄−1·u₃−1·u₄−1·v₁−1·u₃·v₄,
dont la réciproque est donnée par
u₁=a₃·a₄−1·b₄−1·a₁·a₃·b₄·a₄·a₃−1,
v₁=a₃·a₄−1·b₄−1·a₃−1·b₃−1·a₃−1,
u₂=a₃·a₄−1·b₄−1·a₃−1·a₁−1·b₁−1·a₂,
v₂=a₃·a₄−1·b₄−1·a₃−1·b₁·b₄·a₄·a₃−1,
u₃=a₃·a₄−1·a₃−1,
v₃=b₂·b₁·a₁·a₃·b₄·a₄·a₃−1,
u₄=a₃·b₃·b₄·a₄·a₃−1,
v₄=a₃·b₄−1·a₃−1
(et la conjugaison se fait
par v₄−1·u₃−1·v₁·u₄).
Est-ce pourtant, en un certain sens, « la même » solution ?
L'ennui, c'est qu'arrivé à ce stade-là, je ne sais plus très bien
ce que je dois faire de cette solution, parce que je ne me rappelle
plus vraiment ce que je voulais faire au début : je suis parti de
questions sur le revêtement hyperbolique d'une surface de Riemann pour
arriver, de fil en aiguille, à quelque chose de sérieusement
différent, et maintenant que j'ai la réponse, j'ai oublié quelle était
la question. Ça fait penser à une vieille blague avec un père
jésuite, ça (quand on a la réponse, on ne comprend plus la
question).
Le problème qui suit vient d'une suite de
réflexions sur le thème
des deuxdernières
entrées, mais peu importe : la question est compréhensible et
intéressante en elle-même, elle me semble même très jolie, et elle ne
dépend pas de la lecture des entrées en question — je ne vais
d'ailleurs quasiment pas expliquer comment je suis arrivé à ce
problème (seulement en note en
bas).
Je suppose que j'ai 2m symboles, pour un certain
entier m≥1, que je
noterai X1,X2,X3,…,Xm
et X1′,X2′,X3′,…,Xm′ ;
la correspondance entre Xi
et Xi′ est essentielle, et je dirai
que Xi′ est le symbole
complémentaire de Xi et
réciproquement. Je m'intéresse à des cycles de longueur
2m sur ces symboles faisant intervenir chaque symbole une
et une seule fois (le terme cycle signifie qu'on identifie deux
suites qui s'obtiennent l'un à partir de l'autre par une permutation
cyclique, par
exemple X1,X2,X1′,X2′
s'identifie
à X2,X1′,X2′,X1).
Il existe bien sûr (2m)!/(2m) =
(2m−1)! tels cycles.
On va définir sur les cycles des opérations qui porteront le nom
de chiasme de Whitehead (le terme est de moi). Pour
définir un chiasme de Whitehead, on commence par choisir un des
symboles Z (qui peut être
un Xi ou
un Xi′) qu'on appellera
la base du chiasme ; puis on considère la suite des
symboles strictement comprise entre Z et le symbole
complémentaire Z′
(c'est-à-dire Xi′
ou Xi si Z
vaut Xi
ou Xi′ respectivement) qui le suit
dans le cycle ; on découpe ce segment de façon quelconque en deux
segments consécutifs (non vides si on veut que le chiasme soit
non-trivial) et on échange ceux-ci. Voici un
exemple : X1,X2,X3,X4,X1′,X2′,X3′,X4′
peut devenir X1,X2,X4,X1′,X3,X2′,X3′,X4′
par un chiasme de Whitehead si on choisit pour
base Z=X2 et qu'on découpe le
segment X3,X4,X1′
en X3
et X4,X1′ ; en
prenant pour base Z=X4′ (et en se souvenant que tout est
cylique !), le même cycle X1,X2,X3,X4,X1′,X2′,X3′,X4′ peut devenir X3,X1,X2,X4,X1′,X2′,X3′,X4′.
Remarquons que tout symbole Z peut
servir à définir un chiasme de Whitehead (fût-il trivial), puisqu'on
peut toujours lire cycliquement jusqu'à tomber jusqu'au symbole
complémentaire Z′ qui suit ; si ce dernier
survient k symboles plus loin, on pourra
faire k−2 chiasmes de Whitehead non triviaux ; et comme
le Z′ est lui-même suivi d'un Z (le même qu'au
départ) 2m−k symboles plus loin, on peut faire
finalement 2m−4 chiasmes de Whitehead non triviaux partant
de Z ou Z′ (du moins si ceux-ci ne sont pas
immédiatement adjacents, i.e., k≠1,2m−1). Au
final, on peut donc faire exactement m(2m−4)
chiasmes de Whitehead non-triviaux sur n'importe quel cycle (n'ayant
nulle part deux symboles complémentaire adjacents).
Ma question est la suivante : comment peut-on détecter si
deux cycles peuvent se déduire l'un de l'autre par une suite de
chiasmes de Whitehead, et le cas échéant, comment les
produire ? (Il est évident que le problème est décidable
puisqu'il est, après tout, fini, mais je demande quelque chose de plus
utilisable que l'énumération exhaustive.) Une variante de cette
question autorise aussi d'effectuer une permutation des symboles
préservant la complémentarité (cf. ci-dessous).
Un point de vue possible, qui simplifie peut-être le problème, ou
au contraire le complique, je ne sais pas, consiste à se limiter aux
cycles ayant la propriété suivante. Donné un cycle, je peux
considérer la fonction qui à un symbole U associe le
complémentaire V′ du symbole V qui suit
immédiatement U dans le cycle (autrement dit, la fonction
composée du cycle considérée interprétée comme une permutation
cyclique, et de la fonction « symbole complémentaire ») ; si cette
fonction est elle-même un 2m-cycle (c'est-à-dire, si, en
partant d'un symbole quelconque et en appliquant successivement cette
fonction, on retombe sur le symbole en 2m étapes et pas
avant), je dirai que le cycle de départ est parfait, et
que l'autre cycle obtenu par cette construction est son dual de
Whitehead. Il est clair que le dual de Whitehead est alors
lui-même parfait et que son dual est le cycle de départ. Par exemple,
le
cycle X1,X2,X1′,X2′
est parfait et son dual
est X1,X2′,X1′,X2
(i.e., dans ce cas particulier, le cycle inversé), tandis
que X1,X2,X3,X1′,X2′,X3′
n'est pas pas parfaite (on tombe sur deux
3-cycle X1,X2′,X3
et X2,X3′,X1′).
En fait, si m est impair, aucun cycle (de longueur
2m) n'est jamais parfait (en effet, un 2m-cycle
est une permutation impaire, et la fonction « symbole complémentaire »
l'est aussi si m est impair, donc la composée ne peut pas
être un 2m-cycle). Notons d'ailleurs qu'un cycle parfait
ne peut jamais avoir deux symboles complémentaires adjacents.
Il est facile de se convaincre que l'effet d'un chiasme de
Whitehead sur le dual d'un cycle parfait est de déplacer le symbole de
base d'un endroit à un autre sans changer aucun autre symbole — et
notamment, un cycle parfait demeure parfait après application d'un
chiasme de Whitehead (ou de façon plus générale, le nombre de cycles
du dual ne changerait pas sous l'effet d'un chiasme de Whitehead si on
prenait la peine de définir de façon évidente le dual d'un cycle
imparfait). On peut se limiter à regarder l'effet des chiasmes de
Whitehead sur les cycles parfaits. Ou, si on préfère, sur leur dual
(l'effet du chiasme est alors très simple puisqu'on ne déplace qu'un
symbole, mais la difficulté est qu'on ne peut pas le déplacer
n'importe où).
Si j'ai bien réussi à
dérouler[#] et à reformuler une
série de résultats autour de la théorie des surfaces qui débutent
par un
théorème de Whitehead de 1936
(le
neveu,
pas l'oncle),
on peut toujours passer d'un cycle parfait à un autre par une suite de
chiasmes de Whitehead, quitte à effectuer, de plus, une permutation
des variables préservant la complémentarité (c'est-à-dire qu'on peut
renommer Xi
en Xj
ou Xj′, mais on doit alors
renommer Xi′
en Xj′
ou Xj respectivement). Ce que je ne
sais pas, c'est par exemple comment produire concrètement une telle
suite d'opérations, ou quelle liberté on a dans le processus, ou
comment détecter si on a vraiment besoin d'une permutation des
variables. Ou si on a vraiment besoin de ces résultats assez
compliqués (dont il s'agit d'un cas extrêmement spécial et
particulier). En fait, à peu près tout est obscur pour moi dans cette
histoire, à commencer par le meilleur point de vue à adopter (entre un
cycle et son cycle dual, savoir s'il faut les voir comme des mots du
groupe libre ou des permutations, etc.). Il faut peut-être que je me
plonge dans les détails de la démonstration de la classification des
surfaces topologiques pour y voir plus clair.
En attendant, ceci ferait peut-être un casse-tête amusant, que je
pourrais essayer de programmer en JavaScript : quitte à tracer le
cycle comme autant de points sur un cercle, entre lesquels on
relierait les symboles complémentaires (c'est la seule donnée qui
survit si on s'autorise, comme je le suggère ci-dessus, une
permutation des variables préservant la complémentarité), essayer de
transformer une configuration donnée en une autre par des chiasmes de
Whitehead. Ceux-ci se voient assez bien graphiquement (comme illustré
par les figures en SVG ci-contre à gauche : en rouge, la
base d'un chiasme, qui échange les segments vert et bleu ; à droite,
une cible possible à atteindre).
Bref, si quelqu'un a quelque chose à dire sur le sujet, ça
m'intéresse. (Ou même sur les données d'un appariement sur
2m points cycliquement ordonnés, c'est-à-dire d'un
2m-cycle et d'une involution sans point fixe.)
[#] Plutôt pour m'en
souvenir moi-même qu'à l'intention de mes lecteurs, je note ici
rapidement le raisonnement. Si on note la suite cyclique des symboles
donnée par le dual d'un cycle parfait comme je l'ai défini,
on obtient un mot cyclique dans le groupe libre sur autant de
générateurs ; l'algorithme de Whitehead (voir notamment Lyndon &
Schupp, Combinatorial Group Theory (1977),
proposition 4.19 et la discussion précédente) assure que deux mots
cycliques sont transformables l'un en l'autre par un automorphisme du
groupe libre exactement quand ils le sont par des transformations de
Whitehead (n'allongeant pas le mot) qui, sur le cycle dual, se voient
comme les chiasmes de Whitehead que j'ai définis. Mais d'autre part
les cycles parfaits définissent des surfaces orientables (à un trou)
de genre m/2,
cf. l'article
de Marc Culler auquel je faisais référence
dans la dernière entrée.
Où je comprends un peu mieux comment recoller les surfaces
Cette entrée fait logiquement suite
à la précédente, même si je vais
essayer de redire en partie (pour, j'espère, éclaircir) ce que j'y
disais. Sinon, ce n'est pas grave, c'est au moins un nouveau prétexte
pour faire des zoulis dessins.
Je me posais (dans l'entrée précédente) la question
de comprendre la forme — et mathématiquement, la réalisation du groupe
fondamental — d'une surface obtenue en recollant un polygone par
identification de certaines arêtes du bord. (En l'occurrence, un
polygone hyperbolique, mais peu importe si on veut juste se poser des
questions de topologie.)
J'ai tracé ci-contre à gauche (cliquez pour agrandir) une version
beaucoup plus symétrique, quitte à découper à l'intérieur des carrés
du pavage, du « domaine fondamental » de
mon labyrinthe
hyperbolique jouet, ce sera beaucoup plus satisfaisant d'expliquer
sur cet exemple-là, même si les explications que je vais donner sont
tout à fait générales. J'ai aussi choisi un code de couleurs plus
logique (et, j'espère, un peu moins difficile à repérer visuellement),
et surtout, j'ai choisi de marquer les identifications par des
pastilles au niveau des sommets plutôt que par des languettes au
niveau des arêtes. Il faut donc comprendre qu'on a identifié les deux
arêtes portant chaque paire de couleurs consécutives possible (par
exemple les deux arêtes vert-clair–bleu-foncé sont identifiées, en
identifiant bien sûr les extrémités de la même couleur ; ainsi, dans
mon jeu de labyrinthe, si on sort du domaine fondamental par une arête
vert-clair–bleu-foncé, on y rentre par l'autre arête ayant le même
code de couleurs). Le but est de comprendre, de façon aussi explicite
que possible, ce qu'on obtient en faisant ces identifications (et
pourquoi, sur mon exemple, on obtient un tore à 4 poignées, et comment
voir ces poignées).
Pour ceux qui auraient du mal à voir la figure ou
qui voudraient plus de détails, la description complète du polygone
hyperbolique ci-contre est la suivante : gris [X] bleu-clair [Y] vert-foncé* [X] rouge-clair [Y]
jaune-foncé [Y] vert-clair [X] rouge-foncé* [Y] bleu-clair [X] gris
[X] rouge-clair [Y] bleu-foncé* [X] jaune-clair [Y] vert-foncé [Y]
bleu-clair [X] jaune-foncé* [Y] rouge-clair [X] gris [X] jaune-clair
[Y] rouge-foncé* [X] vert-clair [Y] bleu-foncé [Y] rouge-clair [X]
vert-foncé* [Y] jaune-clair [X] gris [X] vert-clair [Y] jaune-foncé*
[X] bleu-clair [Y] rouge-foncé [Y] jaune-clair [X] bleu-foncé* [Y]
vert-clair [X] : ici, les couleurs étiquettent les sommets
(c'est la seule chose qui importe topologiquement), les astérisques
qui suivent certains d'entre eux signifient qu'à cet endroit le
polygone a un angle de 3π/4 (i.e., en suivant le périmètre,
on fait un tournant de π/4 vers la gauche) alors que
partout ailleurs c'est un angle droit (i.e., on fait un tournant
de π/2 vers la gauche), et les lettres X
et Y font référence aux longueurs des cotés, à
savoir X≈1.4693517444 et Y≈1.5919125929 unités
naturelles de longueur du plan hyperbolique. (Mon polygone
hyperbolique a donc seulement deux angles différents et deux longueurs
différentes de côtés ; par ailleurs, il est symétrique par rapport à
quatre axes. Mais je répète que, pour ce qui est de la topologie, les
longueurs des côtés et angles aux sommets n'ont pas d'importance.)
Le fait de colorier les sommets et pas les arêtes, pour
l'identification, aide à y voir plus clair : on est naturellement
amené à tracer le graphe des sommets du polygone en reliant deux
sommets lorsqu'il y a une arête qui les joint sur le polygone. Sur
mon exemple, bien que le polygone ait prima facie 32 sommets
(et donc 32 arêtes), il n'a en fait, compte tenu des identifications,
que 9 sommets distincts (i.e., 9 couleurs), et 32/2 = 16 arêtes. Le
graphe d'adjacence des sommets est tracé ci-contre pour ceux dont le
navigateur supporte le SVG.
Le hasard a fait que j'ai repensé à mon petit
jeu HTML
de labyrinthe
hyperbolique, mais en fait surtout à
sa version
jouet (voir ici
et là pour les de mon blog où j'en
discute), en même temps que je me posais des questions sur les
surfaces de Riemann. En fait, je ne suis pas terriblement content de
mon jeu : l'espace hyperbolique étant en lui-même
labyrinthique, il est dommage de plaquer dessus un dédale avec des
murs infranchissables — je voudrais refaire un jeu où les mouvements
ne sont jamais bloqués, pour montrer qu'il
est quand même difficile de trouver
son chemin dedans. Mais pour cela, il faut que je comprenne un peu
mieux des choses sur lesquelles j'ai encore des idées vagues, même sur
la version jouet de mon labyrinthe.
☞ J'invite mon lecteur à essayer
d'y
jouer, ou plus exactement, à s'y déplacer en essayant de se faire
une idée de la géographie du labyrinthe — je ne parle pas de la forme
des murs eux-mêmes, mais de la périodicité de l'espace. On peut par
exemple jouer à se rendre de la case de départ à la case d'arrivée en
utilisant le nombre exact de déplacements optimal (indiqué à droite),
et à prévoir le chemin avant de faire le moindre déplacement. On
devrait au moins réussir à se convaincre qu'il n'y a en fait, dans ce
labyrinthe-jouet, que 30 cellules différentes (les cellules
étant des « carrés » de murs possibles, au centre desquels se trouve
un cercle de référence). Les carrés blancs dans l'image ci-contre à
gauche représentent un choix possible des 30 cellules du labyrinthe
(c'est-à-dire que tout carré en-dehors de ceux-ci est, en fait,
identique à l'un de ceux-ci) : on dit qu'il s'agit d'un domaine
fondamental (pour le groupe fondamental de mon labyrinthe).
Il faut souligner qu'il y a beaucoup d'arbitraire
dans le choix d'un tel domaine fondamental : j'aurais très bien pu
faire passer tel ou tel carré d'un côté à l'autre en le remplaçant par
un autre qui lui est équivalent. Mais bon, cela n'a pas beaucoup
d'importance, et on n'aurait pas pu obtenir une figure symétrique —
malgré le fait que la surface recollée que je décris ci-dessous soit
réellement très symétrique.
La figure ci-contre à gauche peut être considérée comme une sorte
de patron
géométrique : les arêtes du bord ont été décorées par des petites
languettes figurées en couleur ; si on recolle chaque languette
sortante sur le bord des cases blanches avec la languette entrante qui
lui correspond (par exemple, les deux languettes rouges qui forment
une sorte d'entaille un tout petit peu à gauche du bas de la figure
sont à recoller avec les deux languettes rouges qui forment une
saillie en haut à gauche), on obtient la forme de l'espace de mon
labyrinthe-jouet — ou pour dire les choses autrement, dans ce
labyrinthe, si on sort du « domaine fondamental » par une des
languettes colorées, on y rentre par la languette qui correspond.
Grothendieck, la propriété intellectuelle, et le testament de Virgile
Bon alors il faut vraiment que je publie quelque chose sur la mort
d'Alexander Grothendieck, ne serait-ce que pour faire cesser le flux
de gens qui m'envoient un mail — ou postent un commentaire sur une
entrée qui n'a rien à voir — pour me demander si j'en avais
connaissance
(oui, la
preuve) ou s'étonner que je n'aie rien à dire à ce sujet (eh,
calmez-vous un peu !, il est mort depuis même pas 48h, la presse
people n'a pas encore sorti un numéro spécial à son sujet — permettez
que je n'écrive pas instantanément des textes au kilomètre).
Je n'essaierai pas, en tout cas pas aujourd'hui, de parler du
contenu de ses travaux mathématiques, parce que rien que pour
vulgariser — et pas au niveau le plus élémentaire qui soit — le
concept très basique de schéma j'avais
écrit une des entrées les plus
longues de ce blog, alors je ne sais pas ce que ça donnerait si je
me lançais dans une explication de ce que sont les champs, les topos
(topoï ?) ou les motifs (sur ce dernier concept au moins, ce
serait en outre présumer de mes connaissances mathématiques que de
tenter d'en parler).
Je n'essaierai certainement pas non plus de parler de la polémique
autour de la paternité de telle ou telle idée mathématique, qui l'a
conduit à se fâcher avec une partie de la communauté mathématique,
notamment nombre de ses anciens élèves, et à publier sa version des
faits dans un très long texte, Récoltes et Semailles, où
il règle ses comptes avec beaucoup de gens. Je sais que je suis un
peu extrémiste quand je pense que les articles scientifiques devraient
être anonymes (pas forcément au sens où le nom des auteurs serait
tenu secret mais au sens où il ne devrait pas être une donnée
importante), et que les objets et théorèmes mathématiques ne devraient
pas être nommés d'après des personnes vivantes ou mortes mais d'après
des idées (i.e., pas comme la conjecture de Poincaré, le théorème des
zéros de Hilbert ou les conjectures de Weil, mais comme l'hypothèse du
continu, le théorème de la boule chevelue ou la conjecture de pureté
cohomologique absolue) : toujours est-il que les questions de
paternité m'intéressent très peu — le monde des idées, et en tout cas
des idées mathématiques, n'est la propriété de personne. (Et de toute
façon, quand les élèves de Grothendieck étaient mes enseignants ou les
enseignants de mes enseignants, je me vois mal me prononcer sur qui à
fait quoi.)
Je n'essaierai enfin pas de parler de la vie de Grothendieck ou de
ses idées politiques (et plus généralement non-mathématiques), parce
que je ne prétends pas en savoir assez, ou comprendre ce personnage
complexe et énigmatique, et d'autres s'en chargeront certainement
mieux que moi.
Mais il y a un point sur lequel je voudrais dire un mot, c'est sur
la question des écrits de Grothendieck et de leur propriété
intellectuelle (au sens juridique du droit d'auteur). Parce que la
communauté mathématique, du moins, ceux qui s'intéressent à la
géométrie algébrique, a un problème pratique : la référence
incontournable qui fonde la lecture moderne de cette discipline est
une série de textes (écrits en français),
les Éléments
de Géométrie algébrique (ÉGA),
soit environ 1800 pages, plus
les Séminaires
de Géométrie algébrique [du Bois Marie]
(SGA), numérotés de SGA1
à SGA7, soit environ 5700 pages au total (sans
compter SGA4½), dont Grothendieck est soit l'auteur soit
un coauteur (comme je l'explique ci-dessus, la question de la
paternité intellectuelle m'intéresse peu — même si ici il n'y a aucune
contestation — mais je parle au sens juridique). Malgré des efforts
de divers auteurs pour écrire des introductions plus ou moins
complètes à la géométrie algébrique (et dont le plus sérieux est sans
doute le
monumental Stacks
Project que je salue très bas au passage ainsi que son
grand coordinateur, A. Johan de Jong), aucun n'a réussi à couvrir tout
ce que couvrent les ÉGA et encore moins
les SGA (et quand bien même on y arriverait, il resterait
encore que toutes les références numériques à ces textes n'ont de sens
que si on y a accès).
Or voici le problème pratique : Alexander Grothendieck s'est
toujours opposé à ce qu'on réédite ces textes. (Je ne prétends pas
comprendre, encore moins expliquer, quelles étaient ses motivations
pour le refuser.)
Un petit exercice d'Analyse (moyenner une fonction)
Un petit exercice d'Analyse pas très difficile (j'en ai traité un
bout avec mes élèves à Télécom Paris), mais que je trouve
amusant :
Soit f:ℝ/ℤ→ℝ (c'est-à-dire : une fonction réelle de la
variable réelle qui soit 1-périodique) ; on
note ℳN(f) la fonction
définie comme la moyenne arithmétique des N translatées
de f par des multiples de 1/N, c'est-à-dire :
(ℳN(f))(x) =
(1/N) ·
∑k∈{0,…,N−1}f(x+k/N) ;
et, si f est intégrable (c'est-à-dire, intégrable sur une
période), soit ℳ∞(f) la fonction
constante égale à l'intégrale ∫ℝ/ℤf
de f (sur une période). On se demande dans quelle
mesure ℳN(f) tend
vers ℳ∞(f) quand N tend
vers +∞ :
Si f est Lp (c'est-à-dire, de
puissance p-ième intégrable sur une période) pour
1≤p<+∞,
alors ℳN(f) tend
vers ℳ∞(f) dans
Lp (c'est-à-dire : l'intégrale de la
puissance p-ième de la différence tend vers 0).
Si f est Riemann-intégrable,
alors ℳN(f) tend
vers ℳ∞(f) uniformément.
(Indication : montrer la convergence uniforme — qui entraîne donc
la convergence Lp pour un p
quelconque — pour une fonction en escalier ; il suffit pour ça de la
montrer pour la fonction indicatrice d'un intervalle
[0;c[ de ℝ/ℤ.)
Dans le cas p=2, il y a une jolie démonstration en
regardant les séries de Fourier (l'effet
de ℳN est de décimer la série de
Fourier).
On pourra aussi montrer
que ℳNne tend pas
vers ℳ∞ en tant qu'opérateur (i.e., pour la
norme).
Bref, je sais faire ça, mais j'ai quand même l'impression de
manquer de recul sur la question : qu'il doit y avoir une façon plus
élégante et plus générale d'inscrire ces résultats dans un contexte
plus éclairant. D'ailleurs, la deuxième partie me surprend beaucoup,
j'étais tellement persuadé que le résultat aurait dû être
l'affirmation plus faible si f est Riemann-intégrable,
alors ℳN(f) tend
vers ℳ∞(f) ponctuellement,
et si f est réglée, alors la convergence est
uniforme que j'ai cherché en vain à trouver une erreur dans mon
raisonnement (j'ai fini par me convaincre qu'il était bien correct,
mais j'ai toujours la sensation déplaisante d'avoir mal compris
quelque chose d'important).
Pour mémoire, une fonction f est
dite réglée (ou parfois Dieudonné-intégrable)
lorsque pour tout ε>0 il existe une fonction en
escalier h telle qu'on ait partout
|f−h|≤ε (i.e., f est
uniformément approchable par les fonctions en escalier) ; cela
équivaut à dire qu'elle admet en tout point une limite à gauche et une
limite à droite (finies). • Une fonction f est
dite Riemann-intégrable lorsque pour tout ε>0
il existe des fonctions en escalier h et ψ
telles qu'on ait partout |f−h|≤ψ,
avec ∫ψ ≤ ε (i.e., f est approchable
par les fonctions en escalier avec une erreur uniformément contrôlée
par une fonction en escalier elle-même de norme 1 arbitrairement
petite) ; cela équivaut à dire que f est bornée et que son
ensemble de points de discontinuités est Lebesgue-négligeable. • Pour
comparaison, si fonction f est Lebesgue-intégrable, pour
tout ε>0 il existe une fonction en escalier h
telle que ∫|f−h|≤ε
(i.e., f est approchable au sens L¹ par les fonctions en
escalier). • J'aime bien présenter ces trois propriétés côte à côte,
cela aide à situer la notion d'intégrabilité au sens de Riemann entre
celle de fonction réglée et celle d'intégrabilité au sens de Lebesgue.
Cela devrait peut-être expliquer pourquoi j'avais l'intuition qu'on
aurait besoin de f réglée pour pouvoir conclure à la
convergence uniforme
de ℳN(f)
vers ℳ∞(f).
Ajout : voir
aussi cette question pour une
« suite » de cet exercice.
Les entrées de blog que je n'arrive jamais à écrire
Il y a une éternité j'ai promis
d'écrire une entrée de ce blog sur les octonions. Je n'ai jamais
réussi à la publier. Ce n'est pas que je n'aie rien à écrire, au
contraire, ni même que je n'aie rien écrit : j'ai commencé (au hasard
des moments où j'ai du temps pour le faire) à écrire des choses sur le
sujet, et de plus en plus, et je me suis rendu compte que ça débordait
dans tous les sens, et qu'à la fin non seulement ça devenait trop long
et indigeste, mais en plus que ça manquait de structure et de
cohérence thématique. Alors j'ai décidé de diviser cette entrée en
trois parties : des généralités sur les octonions d'abord, puis une
petite partie sur les octonions entiers et les réseaux dans les
octonions, et enfin une troisième (indépendante de la seconde) sur la
géométrie octonionique et
le carré
magique de Freudenthal-Tits — qui est à mon avis la principale
raison pour laquelle les octonions sont intéressants. Puis j'ai
commencé à développer la première partie séparément, et je me suis
rendu compte que je devais parler d'automorphismes des octonions, et à
me poser plein de questions qui débordaient dans tous les sens, et
finalement cette partie-là, même prise seule, devient aussi trop
longue, et il faudrait la couper à son tour.
[Mise à jour () :
cette partie a fini par être publiée.]
Pareil pour la troisième
partie : là j'ai pensé, je vais changer de point de vue et écrire une
petite entrée sur les espaces deux-points-homogènes (dits
aussi : homogènes et isotropes), c'est-à-dire, pour parler
grossièrement, les espaces (au
sens : variétés riemanniennes) qui
sont identiques en tous les points et dans toutes les directions.
C'est une question très naturelle et intéressante que de classifier
ces espaces homogènees et isotropes, la réponse a été apportée par
Tits et Wang (très rapidement : outre l'espace euclidien et les
sphères, ce sont les espaces projectifs et hyperboliques sur les
réels, complexes, quaternions, et octonions, sachant que sur les
octonions il n'y a que la droite et le plan projectif, et la droite et
le plan hyperbolique, pas de dimension plus élevée) ; ce sont des
espaces très beaux par leur pure symétrie, et élégants dans leur
description, et ils amènent naturellement à parler des octonions et
des groupes de Lie exceptionnels (et cela apporte une réponse possible
à la question qui m'avait
tracassé, qu'est-ce qu'une géométrie). Et bien sûr, en
essayant de parler de ça, j'ai de nouveau eu trop de choses à dire et
de nouveau ça débordait dans tous les sens.
Il n'y a pas que les octonions qui m'aient causé ce souci. C'est
un peu quelque chose qui m'arrive à chaque fois que je parle de
n'importe quoi : je ne sais pas sélectionner ce dont je veux parler,
ma logorrhée s'étale sans structure dans toutes les directions, et à
la fin tout est trop long et indigeste. Mais bien sûr, c'est pire
quand je parle de maths. J'ai par exemple aussi voulu écrire une
entrée sur les notations ordinales, essentiellement, pour faire suite
à cette entrée déjà très longue, et
expliquer comment on peut « fabriquer » (décrire, expliciter,
travailler avec, calculer sur) des ordinaux récursifs très grands —
essentiellement, vulgariser la notion
de fonction
d'écrasement pour fabriquer de grands ordinaux à partir de
cardinaux de plus en plus sophistiqués (inaccessibles, Mahlo), cette
question étant du coup naturellement liée à celle
des grands nombres que j'ai abordée
à plusieurs reprises. Bref, j'ai travaillé là-dessus au hasard de ma
motivation et de mon temps disponible. Et puis je suis rentré dans
les explications sur les fonctions d'écrasement forcément d'autant
plus compliquées qu'on fabrique des ordinaux plus grands, c'est devenu
long, très long, très très très long, et il me reste sur les bras une
montagne d'explications que je ne sais pas bien comment structurer ou
diviser pour la rendre un peu digeste. (Cela n'arrange pas les choses
que j'ai cru comprendre quelque chose, que je me suis trompé, que j'ai
compris autrement, que je me suis retrompé, que j'ai compris que
j'avais bien compris initialement, et qu'au bout du compte je me suis
beaucoup embrouillé sur les différentes variantes qu'on peut
construire autour des fonctions d'écrasement — par exemple, il y en a
qui sont croissantes, d'autres qui ne le sont pas, et il y a toutes
sortes de conventions possibles sur comment organiser et définir les
valeurs.) [Mise à jour : j'ai quand
même fini par publier une entrée
sur ce sujet, même si je ne sais pas bien si c'est celle dont je
parlais ci-dessus.]
J'ai encore d'autres entrées dans le même genre, commencées
parce que je pensais que je n'aurais pas tant de choses que ça à dire,
et finalement dans des limbes où les choses sont à moitié écrites et
peut-être ne seront jamais achevées.
C'est un peu l'histoire de ma vie, de commencer plein de choses, et
de n'en finir que très peu.
Alors qu'est-ce que je devrais faire ? Publier des choses
inachevées ? En publier le début, quitte à nuire à la cohérence de la
suite ? Laisser tomber ? Attendre un temps potentiellement infini
que j'arrive à terminer ce que j'ai commencé ? Je ne sais vraiment
pas.
Il faut dire aussi que je ne sais pas bien qui lit mon blog, et
notamment qui lit les entrées mathématiques (et quel est son niveau en
maths et quels sont ses centres d'intérêt). En vérité, le principal
lecteur pour lequel j'écris, c'est mon moi futur : j'écris parce que
j'ai compris quelque chose, que j'ai envie de pouvoir le recomprendre
à l'avenir quand j'aurai un peu oublié, alors je me l'explique à
moi-même pour savoir que je pourrai relire telle ou telle entrée et
resavoir ce que j'aurai su. À titre d'exemple, en réfléchissant à des
questions de bases de données SQL, je suis récemment
retombé sur cette entrée, et il y a
un peu plus longtemps, en me posant des questions de physique,
sur celle-ci : dans les deux cas,
j'avais totalement oublié les subtilités de ce que j'y raconte, et je
n'étais pas fâché que la personne qui sait le mieux m'expliquer les
choses — c'est-à-dire, moi — me prenne par la main pour me redire
comment tout ça fonctionne. Idem concernant
les séries de Fourier (que je
m'oblige à réapprendre à chaque fois que je dois enseigner le sujet,
sachant très bien que j'oublierai dans le mois qui suit). En termes
informatiques, on pourrait dire que mon blog est mon espace de swap :
c'est là que je consigne les choses quand ma mémoire déborde (ou que
je veux changer de contexte). Mais
le temps de swap est lui-même long !
J'ai déjà raconté trente-douze fois sur ce blog, et je continuerai
à radoter à ce sujet, qu'une de mes motivations à être mathématicien,
c'est de pouvoir visiter le petit musée des objets mathématiques
remarquables, admirables, ou simplement curieux.
L'objet dont
je veux parler ici est plus amusant que fascinant, ce qui ne l'empêche pas
d'être élégant. Il s'agit d'une fonction réelle définie par un
certain J. Fabius (j'ignore le prénom ou s'il y a un lien de parenté
avec l'actuel ministre français des affaires étrangères)
dans une
publication de 1966.
Voici une première définition possible : on
appelle Un (pour n≥1
entier) une suite de variables aléatoires indépendantes et
uniformément réparties dans [0;1], et on pose Z =
∑nUn/2n
(remarquer que Z est aussi une variable aléatoire à valeurs
dans [0;1]). Alors la fonction de Fabius f sur [0;1] est
la distribution de probabilité de la variable Z
(c'est-à-dire que f(t), pour t∈[0;1],
est la probabilité que Z≤t). (Le graphe en est
tracé ci-contre à gauche.) Pour souligner que cette loi de
probabilité n'est pas complètement bizarre ou surgie de l'espace, on
peut remarquer que si au lieu d'une
variable Un uniformément répartie
dans [0;1] on utilisait des
variables Vn (toujours indépendantes
et) uniformément réparties dans {0;1} (c'est-à-dire valant 0 avec
probabilité ½ et 1 avec probabilité ½), alors
∑nVn/2n
serait uniforément répartie dans [0;1] puisque la construction revient
à tirer chaque bit de cette variable à pile ou face
indépendamment.
Pour compléter f aux réels positifs, on décrète alors
que f(t+1) = 1−f(t)
pour t∈[0;1], et
que f(t+2k) =
−f(t)
pour t∈[0;2k] (lorsque k≥1
est entier). Le caractère naturel de ce prolongement va apparaître
dans ce qui suit. (Le graphe de la fonction ainsi prolongée est tracé
en haut de cette entrée.)
La fonction possède un lien très fort avec
la suite
de Morse-Thue, qui peut être définie comme la suite dont
le n-ième terme vaut 0 ou 1 selon que le nombre de 1 dans
l'écriture binaire de n (=le poids de
Hamming H(n) de n) est pair ou
impair ; si on préfère, la suite de Morse-Thue est celle qui s'obtient
en partant d'un 0 et en effectuant un nombre infini de fois le
remplacement simultané de 0 par 01 et de 1 par 10 (cf. l'article
Wikipédia). Comme on peut le voir sur le graphe ci-dessus (et ce
n'est pas difficile avec la définition que j'ai donnée), le signe
de f sur l'intervalle [2n;2n+1] vaut
+ ou − selon que la valeur du n-ième terme de la suite de
Morse-Thue est 0 ou 1.
Voici une autre définition possible de la
fonction de Fabius, dans cet esprit : on appelle
d'abord f0 la fonction qui sur l'intervalle
[2n;2(n+1)[ vaut +½ ou −½ selon que la
valeur du n-ième terme de la suite de Morse-Thue est 0 ou
1 ; puis par récurrence sur k, on
appelle fk+1(x)
l'intégrale de fk(t)
pour t allant de 0 à 2x. La suite de fonctions
en question converge alors uniformément vers f.
(Ci-contre, j'ai tracé f0 en
vert, f1 en un vert subtilement
différent, f2 en caca d'oie et f en
bleu.)
Qu'on utilise l'une ou l'autre construction, il n'est
pas très difficile de voir que la fonction de Fabius vérifie
l'équation fonctionnelle surprenante
suivante : f′(t) = 2f(2t)
pour tout t≥0. (Pour l'illustrer, j'ai tracé la fonction
de Fabius accompagnée de sa dérivée f′.) Notons qu'il ne
s'agit pas d'une équation différentielle, puisque la valeur de la
dérivée est reliée à la valeur de la fonction en un autre point ;
d'ailleurs, il n'y a pas unicité de la solution de cette équation : la
fonction nulle la vérifie aussi (avec, d'ailleurs, la même « condition
initiale » f(0)=0) ; néanmoins, l'équation en question et
la connaissance de la fonction f sur [0;1] définit de façon
unique sa valeur sur tous les réels positifs.
Puisque f(0)=0, l'équation
fonctionnelle f′(t) =
2f(2t) implique de façon assez évidente que
toutes les dérivées de f en 0 valent 0 : la fonction de
Fabius est infiniment plate en 0. En fait, il aussi facile
de voir qu'en n'importe quel rationnel dyadique, toutes ses dérivées
s'annulent à partir d'un certain rang : par conséquent, f
n'est pas égale à la somme de sa série de Taylor développée en un
dyadique, et comme les dyadiques sont denses dans les
réels, f est une fonction C∞
mais nulle part analytique (c'était la motivation de son
introduction). On peut aussi se persuader que, en une valeur comme
1/3, la série de Taylor de f a un rayon de convergence nul
(parce que la dérivée r-ième de f est donnée
par f(r)(t) =
2r(r+1)/2·f(2r·t)).
Mais il y a quantité de choses que j'ignore. Par exemple,
expérimentalement, il semble que f(1/4) = 5/72, et je ne
sais pas le prouver (pas que j'aie essayé, du reste). Il serait
tentant de penser, pour l'expliquer, qu'il y ait une relation
entre f(t) et f(t+½) comme
il y en a entre f(t+2s)
pour tout s≥0 entier, mais une telle relation ne peut pas,
il me semble, être algébrique, donc je ne sais pas ce qu'on est en
droit d'espérer. Je ne sais pas non plus si on peut dire quelque
chose d'intelligent de la valeur f(1/3) ≈ 0.180165114801
(cette valeur n'évoque rien à Google, mais Google n'est pas très bon
pour faire du calcul symbolique inverse ; elle n'évoque rien non plus
à ce site ni
à Wolfram Alpha).
Pourtant, l'écriture binaire du nombre 1/3 est suffisamment
remarquable pour qu'on soit en droit de penser que la
fonction f devrait en faire quelque chose
d'intéressant.
Enfin, je dois signaler que je ne sais pas vraiment calculer les
valeurs de f de façon efficace. Le mieux que je connaisse
est une expression de fk que j'écris
en MathML pour ceux dont le navigateur le supporte :
où
et
si
(j'ai noté H(j) pour le poids de Hamming
de j). Mais cette équation n'est pas vraiment
satisfaisante parce qu'elle ne relie
pas fk+1
à fk, par exemple par une sorte de
dichotomie. Bref, la fonction de Fabius reste assez mystérieuse à mes
yeux.
Ajout : voir aussi la réponse
de François
Guéritaud en commentaire ()
où il explique comment calculer la valeur et les dérivées successives
de f aux dyadiques en comparant des intégrales de la
fonction et de ses polynômes osculateurs, ce qui répond en partie à
mes interrogations (notamment sur le fait
que f(1/4)=5/72). • Surajout :
voir ce petit texte de
Haugland qui explique essentiellement la même chose.
Quelques horreurs mathématiques (autour du 17e problème de Hilbert)
J'ai passé un certain nombre de jours en ermite à me reposer et à
apprendre des maths amusantes. Je ne vais pas faire un compte-rendu
(j'exposerai sans doute des bouts un peu au hasard d'entrées à venir),
mais je viens de retomber sur les faits suivants, qui sont vraiment
trop horribles pour ne pas les raconter.
(Attention, éloignez les enfants, c'est vraiment épouvantable.)
Commençons par ceci :
Il existe une fonction f qui
est C∞ sur ℝ, positive, ne s'annulant qu'en 0 où
elle est infiniment plate (i.e., sa dérivée s'annule à tout ordre)
et dont la racine carrée n'est même
pas C2. Ou, comme il est facile de voir
qu'il est équivalent : f ne peut pas s'écrire comme le
carré d'une fonction C2.
Pourquoi c'est horrible ? Parce que la racine carrée d'une
fonction C∞ strictement positive est
évidemment C∞ (puisque la racine carrée
est C∞ sur les réels strictement positifs), et
on se dit qu'une fonction positive présentant un unique point
d'annulation devrait être gérable : si la fonction f est
simplement supposée positive partout et nulle à l'origine, la dérivée
doit y être nulle, donc f a un développement limité à tout
ordre en 0 commençant par c·x², et il est
possible d'extraire une racine carrée de ce développement, donc on
imagine facilement qu'on devrait pouvoir mettre ensemble cette racine
carrée du développement avec la racine carrée de la fonction hors de
l'origine pour obtenir une racine carrée qui
soit C∞. Et si la fonction est infiniment plate
à l'origine, ça devrait être encore plus facile : le développement est
nul, il n'y a donc aucune difficulté à prendre sa racine carrée, et on
aimerait donc croire que cette fonction √f, qui a un
développement limité à tout ordre en 0 et qui
est C∞ ailleurs qu'en 0, devrait bien
être C∞ partout !
Eh bien non. Non seulement la racine carré n'est pas
forcément C∞, mais elle n'est même pas
forcément C2, ce qui est tout de même très
vexant. Le contre-exemple figure dans
l'article Glaeser, Racine
carrée d'une fonction différentiable, Ann. Inst. Fourier
Grenoble 13 (1963) 203–210 (partie III ; le début
montre que, quand même, la racine carrée
est C1), et il n'est même pas difficile (il
tient en deux petites pages, et c'est essentiellement des maths de
classes préparatoires).
Bon, passons à la suite des horreurs. On se dit que quand même, à
défaut de pouvoir écrire une fonction C∞
positive comme carré d'une fonction bien régulière, on devrait au
moins pouvoir l'écrire comme somme de carrés de fonctions
bien régulières, ou quelque chose du genre. (Ce genre de questions
consistant à écrire des choses positives comme somme de carrés
s'appelle
le 17e problème
de Hilbert, sauf que normalement on s'intéresse plutôt à des
fonctions rationnelles.)
Pourquoi e et π paraissent-ils plus aléatoires que génériques ?
Je veux discuter ici non d'une question de maths
mais d'une question de philosophie des maths (et qui, pour une fois,
n'est pas de la logique mais plutôt la théorie des nombres !).
Néanmoins, pour l'expliquer, il faut bien que je parle de maths.
Un fait empirique est le suivant : quand on fait des études
statistiques sur les décimales, disons, du nombre e ou du
nombre π, celles-ci se comportent empiriquement
comme une suite aléatoire (comme si elles avaient été tirées au hasard
par un grand dé cosmique). Par exemple, les décimales en base 10
semblent équidistribuées (il y a autant de 0 que de 1 que de 2… que de
9) ; mieux, les suites de 2 chiffres semblent équidistribuées (il y a
autant de 00 que de 01… que de 99), et pareil pour les suites de 3
chiffres et plus, tant qu'on a assez de données pour faire des
statistiques significatives (or, s'agissant des décimales
de π, on en
a beaucoup).
Autrement dit, on conjecture que π est un nombre
« normal »,
ce qui regroupe ces différentes affirmations sur la fréquence des
décimales. Et ce n'est pas vrai qu'en base 10, qui n'a aucune raison
d'être spéciale : on conjecture que π est normal en toute
base (entre autres, écrit en base 2, on conjecture qu'il devrait
contenir quelque part le contenu de ce blog jusqu'à sa fin, codé en
binaire ; ceci n'a, évidemment, rien de remarquable : il faudrait
aller si loin dans les décimales pour le trouver qu'indiquer l'endroit
où on le trouve est essentiellement aussi long que donner le contenu
lui-même).
Pour motiver cette conjecture on donne typiquement l'explication
suivante : « presque tous » les nombres réels sont normaux en toute
base. C'est-à-dire que si on tire un nombre réel aléatoirement
(uniformément entre 0 et 1), la probabilité qu'il ait les propriétés
que j'esquisse ci-dessus vaut exactement 1. Ceci est un énoncé
mathématique clair et pas très difficile (pas du tout conjectural) :
l'ensemble des nombres réels qui n'ont pas la propriété
d'être normaux en toute base est un ensemble
dit négligeable
(=de mesure de
Lebesgue nulle, ce qui signifie techniquement qu'on peut le
recouvrir par une suite d'intervalles dont la somme des longueurs
converge et a une somme arbitrairement petite, cf. ci-dessous),
correspondant à un événement de probabilité 0. On reformule aussi ce
fait en disant que presque tous les nombres réels sont normaux
en toute base (presque tous veut dire précisément que
l'ensemble de ceux qui ne le sont pas est négligeable). Dès lors
(dit-on), il n'est pas surprenant, si presque tous les nombres
réels ont la propriété d'être normaux en toute base, de conjecturer
que π en particulier l'est. Je ne prétends pas que cette
justification soit insensée, mais elle glisse de la poussière sous le
tapis, à savoir la raison pour laquelle presque tous est une
bonne notion.
Je me demande régulièrement s'il
serait possible de trouver une application des
nombres p-adiques ailleurs qu'en mathématiques ; par
exemple, une application des 2-adiques en informatique (ce qui semble
le plus plausible, parce que les ordinateurs, manipulant des nombres
binaires, manipulent en fait des entiers 2-adiques approchés). Je
n'ai pour l'instant rien trouvé de bien convaincant. Voici cependant
un exemple qui pourrait servir avec un peu d'imagination, et
qui en tout cas fait un « tour de magie » rigolo :
Soit a un entier impair écrit en binaire, disons, sur 64
bits, dont on suppose qu'il est le carré d'un entier : on cherche à
retrouver cette racine carrée (exacte). Voici une façon de s'y
prendre : (1) itérer, en partant de y=1, la
fonction y ↦ 2y − a·y²,
jusqu'à tomber sur un point fixe qu'on notera b (note :
tous les calculs sont faits en binaire sur la même largeur, disons 64
bits ; comme il est habituel en informatique, on jette les bits
supérieurs) ; (2) itérer, en partant de x=1, la
fonction x ↦ x·(3−b·x²)/2.
Autrement dit, en C :
unsigned long
exact_odd_square_root (unsigned long a) {
unsigned long y = 1;
for ( unsigned long yn = 0 ; y != (yn = 2*y - a*y*y) ; y = yn );
unsigned long x = 1;
for ( unsigned long xn = 0 ; x != (xn = x*((3-y*x*x)>>1)) ; x = xn );
if ( x & ((((unsigned long)(-1))>>2)+1) )
x = -x;
return x & ((unsigned long)(-1))>>1;
}
(Les dernières lignes servent à corriger le nombre : il y a quatre
valeurs de x sur vérifiant x²=a,
différant par le bit de poids fort et/ou par un changement de signe
global — la fonction renvoie donc celui dont les deux bits de poids
fort valent 0. L'écriture ((((unsigned
long)(-1))>>2)+1) sert à représenter le nombre ayant 1
juste au-dessous du poids fort sans avoir à faire d'hypothèse sur la
taille des unsigned long.)
La fonction est évidemment limitée (on pourrait calculer une
fonction exact_square_root() en décalant le nombre du
nombre de bits adéquat — forcément pair — jusqu'à trouver un nombre
impair, en appliquant la fonction exact_odd_square_root()
ci-dessus, puis en refaisant le décalage vers la gauche de la moitié
du nombre de bits, mais la gestion des bits de poids fort serait
encore un peu plus pénible). Il y a cependant un truc rigolo, c'est
qu'elle retrouve la racine carrée même si le calcul du carré a débordé
(par exemple, sur 64 bits, si on
fait 1000000000001*1000000000001, on
trouve 2003766205206896641 et
pas 1000000000002000000000001, mais la fonction ci-dessus
retrouve bien 1000000000001 comme racine carrée pour
cette valeur), du moins si les deux bits de poids fort valent 1 (on ne
peut pas faire mieux). Par ailleurs, le nombre d'itérations est très
petit (quelque chose comme 6 au pire dans chaque boucle pour un nombre
de 64 bits), donc on pourrait dérouler les boucles.
L'explication 2-adique est vraiment facile : la première itération
calcule l'inverse 2-adique b de a par une
méthode de Newton, la seconde calcule la racine carrée par une méthode
du même genre (on peut peut-être la présenter comme une méthode de
Newton, en tout cas j'ai cherché un polynôme ayant un point fixe
superattractif où on veut). J'imagine que je ne suis pas le premier à
écrire un truc de ce genre, je n'ai pas cherché. Par contre, ce que
j'aimerais bien, c'est trouver des exemples plus frappants ou plus
utiles.
Alice et Bob jouent au jeu suivant : dans
l'anneau k[t1,…,tn]
des polynômes en n indéterminées sur un corps k,
chacun choisit à tour de rôle un polynôme f, la règle étant
qu'on n'a pas le droit de choisir un polynôme de la
forme g1·f1 + ⋯
+ gr·fr
où f1,…,fr sont
les polynômes qui ont déjà été joués (et notamment, le polynôme nul) ;
ou, si on préfère, l'idéal
(f1,…,fr) =
{g1·f1 + ⋯
+ gr·fr}
doit grandir strictement à chaque étape ; lorsque le polynôme 1 (donc,
n'importe quel polynôme) peut s'écrire sous la
forme g1·f1 + ⋯
+ gr·fr,
le joueur qui vient de jouer a perdu (autrement dit, on joue à la
variante « misère » du jeu : celui qui ne peut pas jouer a
gagné ; l'autre variante n'est pas intéressante, parce que qu'on gagne
immédiatement en jouant le polynôme 1). Question : qui a une
stratégie gagnante ? (En fonction de n et, éventuellement,
du corps k.)
J'avoue ne pas savoir dire grand-chose d'intelligent sur ce
problème. Si n=1, dans k[x], Alice
(le premier joueur) a une stratégie gagnante évidente, consistant à
jouer x (l'unique indéterminée). Si n=2,
dans k[x,y], il me semble que le
premier joueur gagne encore en jouant y² (si Bob réplique
par y, Alice gagne parce qu'on est ramené au
cas n=1 ; dans tout autre cas, l'intersection entre la
droite y=0 comptée avec multiplicité 2 et la courbe
algébrique d'équation définie par ce que Bob aura joué sera un nombre
fini de points avec des multiplicités paires, et Alice peut alors sans
difficulté au coup suivant tuer tous ces points sauf un qu'elle garde
avec multiplicité 1, ce qui gagne le jeu), mais je suis loin d'avoir
vérifié les détails et il n'est pas du tout improbable que je me sois
trompé. Ce papier montre
cependant qu'Alice a bien une stratégie gagnante, soit avec des
arguments du même genre en jouant y²−x³ (§6.2),
soit avec un argument différent et peut-être plus rigolo en
jouant y²−x³+x−1 (corollaires 6.4–6.5).
J'ai vaguement tendance à croire qu'Alice gagne toujours quand on part
d'un anneau de polynômes, mais je ne sais vraiment pas le prouver.
(Ce qui ne veut pas dire que ce soit très dur : je n'ai pas réfléchi
très fort.)
Géométriquement, le jeu consiste à partir de l'espace affine de
dimension n et à intersecter avec des
hypersurfaces f=0 de façon à fabriquer des
« sous-schémas fermés » de plus en
plus petits, celui qui aboutit sur le vide ayant perdu (dans la
variante « misère »).
Le jeu sous une forme un peu plus générale s'écrit ainsi :
si R est un anneau [commutatif] nœthérien (on
prend R=k[t1,…,tn]
dans l'exemple ci-dessus), chacun des deux joueurs à son tour
remplace R par le quotient de celui-ci par un de ses
éléments non nuls (i.e., par un idéal principal non nul), et le
premier qui tombe sur l'anneau nul a perdu (dans la variante
« misère »). Le jeu termine nécessairement en temps fini car on
construit une suite strictement croissante d'idéaux de l'anneau
nœthérien R de départ (ceux par quoi on a quotienté jusqu'à
présent). Bien sûr, je ne suis pas le premier à y penser, c'est
vraiment tout naturel une fois qu'on se rappelle
que tout processus terminant conduit à
un jeu impartial. On peut bien sûr jouer avec toutes sortes
d'autres structures algébriques nœthériennes (je suppose mes anneaux
commutatifs parce que je suis géomètre algébriste, mais on peut
évidemment faire des choses avec les non commutatifs et des idéaux à
gauche — ou bilatères). Par exemple, Alice et Bob pourraient jouer
alternativement des éléments de ℤm définissant
des sous-ℤ-modules (=sous-groupes abéliens) de celui-ci, avec une
inclusion stricte à chaque fois, et cette fois-ci on peut jouer à la
variante normale du jeu (i.e., celui qui ne peut plus jouer a perdu) :
il n'est pas extrêmement difficile — mais pas trivial non plus — de
trouver montrer que Bob (le second joueur) a une stratégie gagnante si
et seulement si m est pair.
On pourrait imaginer d'autres variations : par exemple, en revenant
aux polynômes
dans k[t0,…,tn],
changer un peu la règle en imposant de jouer des
polynômes homogènes et sans doute en terminant quand il y a
une puissance de chaque indéterminée dans l'idéal qu'on a engendré, ce
qui a aussi un contenu géométrique naturel : cette fois on joue avec
des sous-schémas fermés de l'espace projectif de
dimension n. On pourrait aussi jouer avec des monômes,
auquel cas les coefficients n'existent plus et on est simplement en
train de jouer au jeu
de chomp
multidimensionnel. Je trouverais satisfaisant d'arriver à plonger le
jeu de chomp dans le jeu d'un anneau nœthérien sans restriction, mais
j'avoue ne pas voir de façon de faire ça. (Je trouverais aussi
satisfaisant d'arriver à résoudre le jeu de départ sur les polynômes
en le ramenant au jeu de chomp par une utilisation astucieuse
de bases de Gröbner qui feraient qu'on peut toujours supposer qu'on
joue avec des monômes, c'est sans doute une idée naïve.)
Toujours est-il que ce jeu conduit à un invariant rigolo (quoique
pas très sérieux) d'un anneau nœthérien, c'est ce que j'ai envie
d'appeler sa fonction de Grundy-Gulliksen (je vais
expliquer pourquoi Gulliksen, mais pour Grundy, voir
mon entrée sur les jeux
combinatoires que j'ai déjà liée, spécialement
sa deuxième
partie). La définition est très simple et très jolie :
Si R est un anneau [commutatif] noethérien, la fonction
de Grundy-Gulliksen de R est le plus petit ordinal qui
n'est pas égal à la fonction de Grundy-Gulliksen
d'un R/(f) pour un élément f≠0
dans R.
La définition est récursive (définir la fonction de
Grundy-Gulliksen de R demande de connaître celle de tous
les quotients R/(f) de R par un idéal
principal non nul), mais elle a quand même un sens par nœthérianité :
c'est toute la beauté de l'induction nœthérienne.
Noter qu'il s'agit là de la fonction de Grundy
pour la variante normale du jeu, qui (sur tout anneau non nul) vaut 1
plus la fonction de Grundy pour la variante misère. Donc la stratégie
gagnante pour au jeu (variante misère) consiste à toujours jouer vers
un anneau dont la fonction de Grundy-Gulliksen vaut 1.
Bon, je ne sais essentiellement rien dire d'intelligent sur ce
nombre. En revanche, si au lieu de considérer R comme un
jeu je le considère comme un processus terminant dont il faut évaluer
la longueur (voir
la première
partie de mon entrée sur les jeux), on obtient une quantité très
intéressante :
Si R est un anneau [commutatif] noethérien, la longueur
de Gulliksen de R est le plus petit ordinal strictement
supérieur à la longueur de Gulliksen de
tout R/(f) pour un élément f≠0
dans R. (De façon équivalente, c'est le plus petit ordinal
strictement supérieur à la longueur de Gulliksen de
tout R/I pour un idéal I≠(0)
de R.)
(L'équivalence dans la parenthèse finale n'a
évidemment pas d'analogue pour la fonction de Grundy-Gulliksen : cela
reviendrait à donner aux joueurs la possibilité de quotienter l'anneau
autant de fois qu'ils veulent, auquel cas le jeu perd évidemment tout
intérêt.)
On peut évidemment généraliser ça à d'autres choses : notamment, la
longueur de Gulliksen d'un module nœthérien M sur un
anneau R est le plus petit ordinal strictement supérieur à
la longueur de Gulliksen de tout quotient M/N
de M par un sous-R-module N (et en
fait, on n'a pas besoin de supposer R commutatif, et
d'ailleurs Gulliksen ne le fait pas) ; la longueur de Gulliksen d'un
schéma nœthérien est le plus petit ordinal strictement supérieur à la
longueur de Gulliksen de n'importe quel sous-schéma fermé strict.
Toutes ces définitions ont un sens bien que récursives, grâce à la
magie de l'induction nœthérienne.
Par exemple, l'anneau nul, comme il n'a aucun quotient non-trivial,
a une longueur nulle (0 est le plus petit ordinal strictement
supérieur à tout élément de l'ensemble vide), et c'est manifestement
le seul ; un corps a une longueur 1, et réciproquement tout anneau de
longueur 1 est un corps. Un espace vectoriel de dimension finie sur
un corps a une longueur (en tant que module sur ce corps) égale à sa
dimension. L'anneau k[t]/(t²) a une
longueur 2, tandis que k[t] a
longueur ω (parce
que k[t]/(f) a une longueur égale au
degré de f pour tout f non nul).
J'appelle cette notion longueur de Gulliksen parce qu'elle a
été étudiée
dans un
très bel article par Tor Gulliksen en 1973. Elle généralise la
notion classique de longueur (définie pour les modules à la fois
nœthériens et artiniens, et en particulier pour les anneaux
artiniens), mais avec une définition bien plus agréable, et des
propriétés presque aussi sympathiques dans le cas infini (notamment,
si 0 → M′ → M → M″ → 0 est une suite
exacte courte de modules nœthériens, la longueur de Gulliksen
ℓ(M) de M est encadrée par la valeur de deux
additions entre celles de M′ et M″, à savoir
ℓ(M′) + ℓ(M″) ≤ ℓ(M) ≤
ℓ(M′) ⊞ ℓ(M″) où + désigne la somme usuelle des
ordinaux, et ⊞ la somme naturelle ou somme de Hessenberg). Mais en
même temps, la longueur de Gulliksen permet de retrouver la dimension
(de Krull) d'un anneau, généralisée aux ordinaux non nécessairement
finis : si on écrit la longueur de Gulliksen de M en forme
normale de Cantor (c'est-à-dire en « base ω », voir par
exemple cette entrée sur les
ordinaux), alors le plus grand exposant de ω qui intervient
définit la dimension de M — par exemple, la longueur de
Gulliksen
de k[t1,…,tn]
vaut ωn. Entre autres propriétés
dignes d'intérêt (elle n'est pas écrite noir sur blanc dans l'article
de Gulliksen, mais elle s'en déduit assez facilement en considérant la
dimension de Krull), un anneau [commutatif] nœthérien est intègre si
et seulement si sa longueur de Gulliksen est une puissance
de ω, ce qui est fort sympathique. Mieux, l'écriture en
forme normale de Cantor de la longueur de Gulliksen d'un anneau
[commutatif] R se relie à la décomposition primaire
de R.
Je trouve la longueur de Gulliksen — et son écriture en forme
normale de Cantor — beaucoup plus naturelle et élégante que la
fonction de Hilbert-Samuel, et que la définition classique de la
dimension de Krull : à mon avis, il serait profitable de s'en servir
dans toute introduction ou tout livre sur l'algèbre commutative. Le
fait que le concept ait été peu développé est sans doute le signe que
les algébristes n'aiment pas les ordinaux (ou l'infini qu'ils ne
contrôlent pas bien), ce qui est vraiment dommage.
Une chose qui me chagrine, cependant, c'est qu'on manque d'exemples
d'anneaux nœthériens de dimension de Krull arbitraire (infinie) :
essentiellement, je connais une construction, due à Nagata,
qui a été raffinée par
le même Gulliksen pour fabriquer des anneaux de dimension de Krull
un ordinal quelconque (et du coup, de façon facile, de longueur de
Gulliksen un ordinal quelconque) — cette construction n'est sans doute
pas aussi simple qu'on voudrait, et, en tout cas, on manque (ou du
moins, je manque) de variété dans les exemples.
De la force de Coq et d'autres systèmes, et de l'utilité de mettre les résultats mathématiques en contexte
À cause de la combinaison entre l'écriture de
l'entrée précédente et de mon
interaction avec des (enfin, surtout un)
mathématicien constructiviste
à
la Bishop/Richman,
j'ai tenté de me faire une idée sur la force logique des systèmes
admis par les constructivistes. (L'idée est que — pour une raison
qu'on ne comprend pas vraiment, mais que je suis tenté de prendre pour
un indice empirique de l'existence platonique des entiers — toutes les
théories logiques introduites « naturellement » en mathématiques
semblent s'arranger selon une échelle totalement ordonnée de
« force » convenablement définie. Je voulais savoir où, sur cette
échelle, se situent les différents cadres des mathématiques
constructives. On m'a recommandé de lire
le texte
introductif de Martin-Löf The Hilbert-Brouwer
controversy resolved? — mais au final il me suggère plus de
questions qu'il n'en clôt.) Mauvaise idée : je me suis retrouvé dans
un labyrinthe de petits énoncés tordus,
tous semblables — et surtout, de gens qui ne communiquent pas
assez entre eux, et qui ne présentent pas leurs résultats dans le
contexte des autres résultats du même genre.
Certes, le problème n'est pas évident, pour plusieurs raisons :
D'abord, ce n'est pas évident de définir ce qu'on appelle
la force logique d'un système (j'agite pas mal les mains en
parlant de ça). Il n'est pas du tout vrai que deux théories logiques
naturelles T et T′ soient toujours comparables
si on considère toutes leurs conséquences (i.e., il n'est pas
vrai que soit toute conséquence de T découle aussi
de T′ soit le contraire ; par exemple, la théorie des
ensembles de Zermelo avec l'axiome du choix, ZC, est
incomparable avec la théorie des ensembles de Zermelo-Fraenkel sans
l'axiome du choix, ZF). Il faut pour cela se limiter au
moins
aux énoncés
arithmétiques, sans doute même aux énoncés arithmétiques Π₂
(c'est-à-dire du type <telle> machine de Turing termine pour
toute entrée) ou Π₁ (c'est-à-dire du type <telle> machine
de Turing ne termine jamais), ou peut-être utiliser la
relation une théorie très faible montre que si un énoncé Σ₁
(c'est-à-dire du type <telle> machine de Turing termine sur
telle entrée) est démontré par T alors il l'est
par T′, voire une théorie très faible montre que
si T est inconsistante alors T′ l'est, et si
possible en explicitant un lien algorithmique entre une preuve
effectuée dans T et une preuve dans T′. Je n'ai
pas les idées totalement claires sur les rapports entre tous ces
concepts (premier labyrinthe !), et même si je crois qu'au moins dans
les cas qui m'intéressent cela ne fait aucune différence, je n'en suis
pas totalement sûr. Premier reproche : les gens qui énoncent des
comparaisons entre théories ne sont pas toujours très clairs sur ce
qu'ils veulent dire, et en tout cas ne font pas du tout l'effort de
remettre en contexte ce qu'on peut dire sur ces différentes relations.
(À toutes fins utiles, je note quand même que le texte le plus clair
que j'aie trouvé qui explique un peu comment les choses s'articulent
est l'article
introductif The
Realm of Ordinal Analysis de Michael Rathjen —
cf. notamment les définitions 2.4, 2.14, 2.15 et la
remarque 2.16.)
De même, système admis par les constructivistes n'est pas
bien défini, à part le fait qu'il doit s'agir
de logique
intuitionniste. En tout cas, moi, je ne comprends pas bien ce qui
fait qu'on considère que tel ou tel postulat est constructif ou
pas. (Comme je le mentionne ci-dessous, je crois comprendre de façon
détournée que l'ensemble des parties d'un singleton existe ne
peut pas être constructif, mais j'ai un peu du mal à voir ce qu'il y a
de non constructif à l'ensemble des parties d'un singleton, ou en tout
cas au simple postulat de son existence !) Ce qui est sûr, c'est
qu'il y a un autre labyrinthe ici, de théories logiques, de systèmes
de typage et de systèmes de preuves, etc., et que je suis loin d'avoir
une idée clair du rapport entre toutes ces choses.
L'article
de Barendregt Introduction to generalized type
systems (où il introduit le fameux λ-cube, et un
cube analogue de théories logiques), par exemple, est très bon pour se
faire une idée rapide de ce qu'est un système de typage, mais on reste
ignorant du rapport précis entre
ces systèmes
de typage et
les théories
des types
introduites par
Martin-Löf. Un des problèmes est probablement que les
informaticiens théoriciens et les matheux ne se parlent pas
suffisamment, et disent des choses semblables dans des langages
différents, ce qui fait qu'il est difficile de relier ce que disent
les uns et ce que disent les autres.
L'ajout d'un axiome en apparence innocent peut changer
complètement la force d'un système. (Parfois il peut même le rendre
inconsistant : voir le paradoxe de
Girard, expliqué
par exemple ici, qui est une sorte de version du paradoxe de
Burali-Forti en théorie des types. Pour le résoudre, on a tendance à
introduire des notions d'univers, typiquement une suite
infinie d'univers emboîtés, un peu
comme Grothendieck
l'a fait pour se débarrasser de difficultés en théorie des
catégories, et ce genre de postulat n'est évidemment pas innocent du
point de vue de la force logique.) Ainsi, l'axiome
du tiers
exclu (qui change la logique intuitionniste en logique classique)
ne se contente pas de briser le constructivisme, il peut aussi
augmenter considérablement la force logique d'une théorie — j'ai mis
longtemps à le comprendre, surtout que superficiellement ceci semble
contradictoire avec
la traduction
de Dragalin-Friedman. C'est le cas notamment de
la théorie CZF,
ou ZF constructif (décrite en détails dans
ces notes
sur CZF par Aczel et Rathjen), une des théories
standard pour les maths constructives : toute seule, elle a la même
force arithmétique Π₂ qu'une théorie classique assez
faible, KP
(je n'ai d'ailleurs pas de bonne référence pour ce fait, mais voir
page 24
du texte de
Rathjen que j'ai déjà cité), alors que quand on ajoute l'axiome du
tiers exclu elle devient équivalente à ZF, qui est très
forte (voir la proposition 7.5 des notes d'Aczel et Rathjen citées
ci-dessus). De façon encore plus surprenante, l'axiome l'ensemble
des parties d'un singleton existe (i.e., la classe des
sous-ensembles de {∅} est un ensemble) change considérablement la
force arithmétique de CZF (voir la preuve de 7.3(ii) dans
le texte d'Aczel et Rathjen et le paragraphe ci-dessous). Et je crois
comprendre que pour des théories des types (comme le calcul des
constructions) c'est le cas de l'axiome
d'irrelevance des preuves, ou de
l'axiome du choix (alors que par rapport à ZF classique,
l'axiome du choix apporte une force logique nulle : par
un argument
de Gödel, tout énoncé aritmétique prouvable dans ZFC
l'est en fait dans ZF).
Une des choses que j'aimerais comprendre, par exemple, c'est quelle
est la force logique du calcul des constructions inductives (une
extension du calcul des constructions qui se situe au coin le plus
complexe du cube de Barendregt mentionné ci-dessus) et
du système Coq qui se base dessus.
Et aussi de savoir si on doit le considérer comme « constructif ».
(La réponse à ces deux questions dépendra sans doute, et de façon
subtile, de ce qu'on met dedans : il est certain que l'ajout du tiers
exclu augmente énormément la force logique, par exemple, mais
j'ai les idées beaucoup moins claires sur l'introduction du
type Prop « imprédicatif » ou de l'irrelevance des
preuves.) J'ai toutes sortes de réponses partielles à ces questions,
mais surtout un grand mal à les relier les unes aux autres, de
nouveau, parce que les gens qui ont écrit ces réponses ne se citent
pas les uns les autres pour expliquer le lien entre ce qu'ils disent.
Pour commencer, j'apprends dans
un vieil
article de B. Werner intitulé Sets in Types, Types
in Sets que Coq avec ω univers est
(co-interprétable, donc) équiconsistant avec ZFC
avec ω univers (de Grothendieck, i.e., cardinaux
inaccessibles) — sauf qu'en fait, en lisant bien, on voit que c'est
après ajout de l'axiome du tiers exclu (et peut-être un autre axiome
bizarre), donc ça ne m'apprend qu'une borne supérieure (très faible)
sur la force de Coq sans le tiers exclu.
Un article
de Rathjen intitulé Constructive Zermelo-Fraenkel
Set Theory, Power Set, and the Calculus of Constructions
(publié dans un volume en l'honneur de Martin-Löf) m'apprend, si je
lis bien !, qu'une certaine théorie basée sur le calcul des
constructions (et/ou la théorie des types de Martin-Löf — comme je
l'ai dit, je ne comprends pas bien le rapport entre elles), comportant
une règle d'« irrelevance des preuves », a une force logique
équivalente à la fois (1) à CZF + l'axiome d'existence de
l'ensemble des parties [d'un singleton, cela suffit], (2) à la théorie
classique Power-KP (essentiellement, Kripke-Platek si on
ajoute la fonction « ensemble des parties » au langage), ou encore
(3) à la théorie des ensembles classique de Zermelo à laquelle on
ajoute un nombre d'univers égal à
l'ordinal
de Bachmann-Howard.
La thèse
d'Alexandre Miquel émet (conjecture 9.7.6) une supposition qui
pourrait sembler contradictoire avec ça, mais peut-être pas parce
qu'il y a toutes sortes de subtilités techniques qui diffèrent entre
les théories comparées (en tout cas, les deux sont d'accord sur le
fait que la force logique dépasse celle de la théorie des ensembles de
Zermelo) — en revanche, je ne comprends pas si l'axiome d'irrelevance
des preuves a dû être postulé pour obtenir la borne inférieure. En
tout cas, il s'agit de théories assez « fortes » car elles dépassent
l'arithmétique du second ordre (qualifiée de fossé infranchissable
dans le texte de Martin-Löf cité tout au début). A contrario,
j'ai trouvé
un texte
d'Aczel, On Relating Type Theories and Set
Theories ainsi
qu'un plus
vieux texte de Rathjen, The strength of Some
Martin-Löf Type Theories, qui arrivent à la conclusion que
diverses théories des types entre lesquelles je m'embrouille
complètement sont, pour leur part, d'une force logique très modeste
(en-deçà du fossé infranchissable évoqué par Martin-Löf). La
différence doit donc bien être dans l'existence de l'ensemble des
parties [d'un singleton], dans le type Prop de Coq que
différents auteurs qualifient d'« imprédicatif » même si j'avoue ne
jamais avoir compris ce que ce mot veut dire, et/ou dans l'irrelevance
des preuves.
Mais bon, trève de détails techniques (que j'avoue avoir écrits
surtout pour m'en souvenir plus tard) : ce dont je veux surtout me
plaindre et de la façon dont les gens ne communiquent pas assez. Par
exemple, j'ai trouvé extrêmement peu d'arêtes pour la relation être
cité par entre les équipes d'informaticiens qui gravitent autour
de Coq (du genre, B. Werner) et les équipes de matheux qui font de la
théorie ordinale de la démonstration (comme le M. Rathjen que j'ai
cité plusieurs fois ci-dessus, et dont les articles répondent très
souvent aux questions que je me pose en théorie de la démonstration) :
pourtant, ces deux groupes de gens font de la logique parfois
intuitionniste et notamment de la théorie de la démonstration ; et
pourtant, il est essentiel pour bien faire comprendre ses résultats de
les mettre en perspective par rapport à d'autres résultats du même
genre. Ceci me rappelle cette citation de Giancarlo Rota :
A leader in the theory of pseudo-parabolic partial differential
equations in quasi-convex domains will not stoop to being understood
by specialists in quasi-parabolic partial differential equations in
pseudo-convex domains.
— Indiscrete Thoughts (XXI. Book
reviews: Professor Neanderthal's World)
Résultat, moi qui ne suis spécialiste ni des équations
différentielles pseudo-paraboliques dans les domaines quasi-convexes
ni des équations différentielles quasi-paraboliques dans les domaines
pseudo-convexes, je dois m'arracher les cheveux à me demander quel est
le rapport entre tel résultat de la première théorie et tel résultat
apparemment très semblable de la seconde, sachant qu'aucun ne
mentionne l'autre pour m'éclairer sur le sujet.
[Ajout : il y a différents compléments dans les
commentaires, grâce aux explications gentiment fournies par Arnaud
Spiwack ; la moralité est qu'en tant que mathématicien classique non
habitué aux maths constructives et/ou précatives, je m'embrouille
complètement sur les nuances entre ce que ces différentes théories
intuitionnistes prouvent ou interprètent (quelle est la force
supplémentaire apportée par l'axiome du tiers exclu, par celle de
l'axiome 0≠1, auquel je n'avais pas du tout pensé, la force de leur
fragment de double négation, la difficulté à montrer leur cohérence
versus leur normalisation : tout ça est très confus pour moi). Mais
je retiens quand même que la comparaison entre Coq et ZFC
n'est pas claire en l'état actuel des choses.]
Nouvel ajout
() : cette
réponse par Loïc Pujet sur le site StackExchange sur les
assistants de preuve fournit un excellent résumé de l'état de l'art de
la force logique de différents systèmes de preuve/typage aussi bien de
la famille de Martin-Löf que de celle du cube de Barendregt.
J'ai déjà exploré
assez en détail le sujet des (très très) grands nombres. Je ne
vais pas revenir sur tout ce que j'ai dit (et comme d'habitude, je
tenterai de ne garder mes posts indépendants les uns des autres), mais
je veux me servir de cette question pour illustrer quelques faits de
logique rigolo.
[Ajout : voir
aussi ce
message sur Reddit où j'explique de façon peut-être plus
pédagogique (mais en anglais) en gros les mêmes choses que
ci-dessous.]
Imaginons qu'un génie pervers nous mette devant un ordinateur et
nous donne la tâche d'écrire — dans un langage de programmation
idéalisé de notre choix — un programme qui calcule le nombre le plus
grand possible avant de s'arrêter. (Le programme en question tournera
sur l'Infinitiplex du génie, équivalent à une machine de Turing qui
dispose de ressources de calcul illimitées : donc ni le temps de
calcul ni la mémoire consommée ne sont à prendre en compte, seul
importe le nombre renvoyé ; en revanche, évidemment, la taille du
programme doit rester humainement gérable ; par ailleurs, le programme
doit effectuer un calcul déterministe et s'arrêter de lui-même, sans
intervention extérieure.)
Faut-il communiquer sur l'intuition en mathématiques ? — ici : le corps de classes
Une question qui fait régulièrement débat en ce qui concerne la
rédaction mathématique est de savoir si l'auteur d'un livre ou article
mathématique doit se contenter de définir des concepts et démontrer
leur propriété ou si (ou plutôt, dans quelle mesure) il doit tenter de
proposer une façon de les visualiser intuitivement et guider le
lecteur sur la manière d'y penser.
Il va de soi qu'avec une formulation aussi générale, la réponse est
difficile à donner. Tout le monde sera sans doute d'accord sur le
fait qu'une définition vraiment bizarre ou surprenante, une clause qui
risque particulièrement de prêter à confusion, une subtilité dans une
démonstration qui pourrait ne pas être remarquée, etc., méritent
d'être signalées ou expliquées. À l'inverse, tenter de communiquer
toute intuition vague n'est pas forcément bénéfique et peut même être
néfaste à la compréhension (car l'intuition qu'on se forge soi-même
peut être meilleure que celle qu'on reçoit d'un autre mathématicien),
ou à la détection d'erreurs de raisonnement (si on fait confiance à
l'intuition d'un autre, on risque de faire les mêmes erreurs que lui,
et donc de ne pas détecter celles-ci). Quelque part entre les deux,
je trouve toujours irritant, quand un objet mathématique est défini
dans un texte, de ne pas trouver la réponse aux questions les plus
naturelles qu'on peut se poser sur ses propriétés (ou simplement
l'affirmation que l'auteur ne sait pas si telle ou telle propriété est
vraie) : par exemple, si un auteur devait définir un concept
appelé para-anneau, je trouve qu'il serait de son devoir
d'expliquer le rapport entre ce concept et celui d'anneau (et même si
c'est complètement évident, écrire qu'un anneau est un para-anneau, ou
attirer l'attention sur le fait que ce n'est pas le cas, ou peut-être
dire qu'on ne sait pas et que de toute façon on n'en aura pas besoin,
ou ce genre de choses) ; et si on met plusieurs clauses dans une
définition, je trouve qu'il est généralement de bon ton d'expliquer
pourquoi chacune est nécessaire et ce qui se passerait si on omettait
celle-ci ou celle-là.
Je vais maintenant me plaindre de la façon dont est présentée la
théorie globale du corps de classes. [Je suis sûr qu'il devait y
avoir un rapport entre ce qui suit et ce qui précède, mais plus
j'écris moins ce rapport est clair… enfin, ce n'est pas bien
grave.]
En bref :
la théorie
du corps de classes prétend « expliquer » (c'est-à-dire décrire,
classifier, permettre de comprendre) les extensions abéliennes finies
(extension abélienne = extension [de corps] galoisienne de groupe de
Galois commutatif) de certains corps. « Certains corps », à savoir,
les « corps
locaux » (auquel cas on parle de théorie locale du corps de
classes) et les
« corps
globaux » (auquel cas, on l'aura deviné, on parle de théorie
globale du corps de classes, qui est beaucoup plus intéressante et
profonde que la théorie globale locale). Les corps locaux sont des choses
comme les corps des réels et des complexes (mais sur ceux-ci la
théorie est vraiment triviale), les corps
des nombres p-adiques
(et les extensions finies de ceux-ci) et les corps de séries formelles
sur un corps fini. Des exemples de corps globaux sont le corps des
rationnels (ou plus généralement toute extension finie de celui-ci,
dit « corps de nombres ») et le corps des fonctions rationnelles sur
un corps fini (ou plus généralement le corps des fonctions d'une
courbe algébrique sur un corps fini).
Sur la réalité des quaternions, quasars, quarks et quaggas
J'ai une fois de plus commis l'erreur de commencer (il y a
deux-trois semaines) l'écriture d'une entrée que je pensais pouvoir
faire courte et qui a grandi, grandi, grandi, jusqu'à prendre des
proportions totalement délirantes. Comme je vais être assez débordé
ces prochaines semaines, elle risque de rester indéfiniment dans les
limbes, là où j'ai déjà mis tout ce que j'ai écrit sur les octonions
et tant d'autres choses. Tout ceci m'énerve prodigieusement, et je ne
sais pas quoi faire pour réussir à éviter ce problème.
Pour me distraire un peu, je voudrais juste faire une remarque sur
la philosophie des mathématiques. Comme il n'aura échappé à personne,
je suis férocement platoniste (au moins en ce qui concerne
l'arithmétique), où par platonisme (voir
aussi cette entrée, et
notamment cette
petite section de celle-ci pour plus de détails) j'entends le
point de vue selon lequel les concepts mathématiques, ou au moins les
plus « naturels » d'entre eux, ont une existence autonome,
indépendante de l'esprit humain, qui ne fait que les découvrir, et
même indépendante
de l'univers matériel. (Il y a, bien sûr, toutes sortes de
variantes[#][#2]
de cette position, et on peut être d'accord avec certaines sans être
d'accord avec d'autres, on peut d'ailleurs aussi considérer qu'il ne
s'agit pas vraiment d'une différence d'opinion philosophique mais
simplement de façon de dire les choses. À ce sujet, voir
aussi cette autre entrée.)
Je crois avoir lu quelque part (mais je ne sais plus si un sondage
précis à été fait dans ce sens ou si cette affirmation sortait d'un
grand chapeau de magicien) que la majorité des mathématiciens, et
l'écrasante majorité des logiciens, adhère au moins à une forme
modérée de platonisme. A contrario, les neurologues semblent
généralement persuadés (là aussi, il s'agit d'une statistique qui,
comme 83.28% des statistiques, est purement et simplement inventée)
que les mathématiques sont uniquement le résultat de processus
cognitifs dans le cerveau humain et n'ont rien de « réel » ou
d'« universel » (pas plus que, disons, la beauté de la musique de
Bach).
Les arguments les plus souvent invoqués contre le platonisme
mathématique, c'est-à-dire, pour montrer que les mathématiques
viennent de l'esprit humain et pas d'un « paradis platonique », sont
typiquement d'observer que les mathématiques ne sont pratiquées que
par les humains (le summum des facultés mathématiques des animaux se
limitant à savoir compter sur de tout petits entiers naturels), et
aussi que celles-ci ont changé au cours de l'histoire (ce qui est de
mauvais augure pour la découverte d'un monde censément
intemporel).
Mais une chose que je ne comprends pas est pourquoi ce genre
d'arguments, invoqué pour dire chers mathématiciens, les
quaternions n'existent que dans votre cerveau ne l'est pas aussi
pour dire chers astrophysiciens, les quasars n'existent que dans
votre cerveau ou chers physiciens des particules, les quarks
n'existent que dans votre cerveau, voire, chers zoologistes,
les quaggas n'existent que dans votre cerveau. Après tout, si le
problème est qu'on ne peut pas toucher un quaternion, qu'on ne peut
les détecter qu'indirectement par le truchement de théories qui
prédisent leur existence, et que seuls les humains sur cette Terre ont
le moindre concept de quaternions dans leur tête, et encore, seulement
depuis quelques siècles, exactement la même chose vaut pour les quarks
et les quasars : jamais je ne pourrai toucher un quark ou un quasar,
aucun animal autre que l'homme n'a affaire à eux ou de représentation
mentale de ces choses-là, il y a simplement des scientifiques qui nous
disent mon accélérateur de particules a vu trois quarks dans chaque
proton, mon radiotélescope a détecté un quasar dans telle
direction, mes calculs ont exhibé une structure abstraite de
dimension 4 sur les réels qui se comporte comme une algèbre à
divisions. Même les quaggas, je n'en ai, après tout, jamais
touché, et comme c'est une espèce éteinte ça ne risque pas de se
produire, et j'ai beau avoir des témoignages de gens qui en ont
dessiné ou de biologistes qui assurent que ces bestioles ont existé,
je ne vois pas pourquoi ils seraient plus (ou moins) crédibles que les
physiciens qui disent que les quarks et les quasars existent ou les
mathématiciens qui disent que les quaternions existent.
Or j'ai rarement entendu des gens transposer à la physique ou à
d'autres domaines la position anti-platoniste qu'ils peuvent avoir au
sujet des mathématiques. Y a-t-il des neurologues qui disent aux
physiciens ce que vous appelez étoile à neutron n'est que le
fruit de vos processus cognitifs [remplacer étoile à
neutron par n'importe quoi
de difficile à imaginer] ? Voire,
qui disent aux autres neurologues ce que vous
appelez neurone n'est que le fruit de vos processus
cognitifs (de nouveau, on ne peut pas toucher directement un
neurone, il faut faire confiance à la théorie du microscope).
Les tenants du platonisme mathématique sont souvent décriés comme
religieux, parce qu'ils croient en une sorte de perfection intangible
et accessible uniquement par l'esprit (et c'est vrai que le choix d'un
terme comme paradis platonique n'est certainement pas pour
aider). Je ne sais pas pourquoi ce reproche n'est pas fait aux
physiciens des particules[#3]
qui prétendent que les quarks et atomes sont vraiment les
composants de toute notre matière.
Au contraire, l'attitude consistant à dire je ne crois réel que
ce que je peux toucher (et notamment sa
variante ultrafinitiste, les grands
nombres n'ont pas de sens parce que je ne peux pas les voir)
me semble être exactement la même que ceux qui prétendent je ne
peux pas croire que la Terre soit plus vieille que 6000 ans environ,
parce que je n'ai que des preuves indirectes des millions d'années
censées nous avoir précédées. À partir du moment où on accepte
l'épistémologie des mathématiques, sa démarche scientifique
pour arriver à une vérité (et il est difficile de la nier compte tenu
de l'extrême utilité pratique des mathématiques, entre la
construction des ponts et la cryptographie !), il faut bien
reconnaître qu'elles nous renseignent sur quelque chose qui n'est pas
sujet à notre bon vouloir comme la poésie ou la musique — et qu'elles
sont, sur le même plan, que les autres sciences, une entreprise visant
à découvrir systématiquement une réalité préexistante.
Bref, je comprends la position extrême je ne crois réel que ce
que je peux directement toucher (donc je ne crois réels ni les
quaternions, ni les quarks, ni les quasars, ni les quaggas, ni la
planète Jupiter, ni les virus, ni Louis XIV), mais je ne comprends pas
ceux qui l'appliquent uniquement pour les mathématiques et aucune
autre science.
[#] Par exemple, je suis
tenté de distinguer le platonisme structural, qui serait la
position selon laquelle les structures que nous pensons
discerner (les groupes, par exemple) sont « naturelles » et
« découvertes », et le platonisme logique, orthogonal, qui
serait la position selon laquelle les fondements mêmes des
mathématiques (entiers naturels ou ensembles), sur lesquels on pose
ces structures, ont une existence. Essentiellement, le platonisme
structural affirmerait qu'on découvre les définitions tandis que le
platonisme logique affirmerait qu'on découvre les axiomes. On peut
parfaitement croire à l'un mais pas à l'autre (que la définition d'un
groupe est naturelle, mais que les mathématiques n'aient pas de
fondement logique immatériel) ou à l'autre mais pas à l'un (que les
entiers naturels ou une forme quelconque de monde platonique
préexistent à l'univers matériel, mais que la façon dont on le
structure est profondément humaine), ou au deux, ou ni à l'un ni à
l'autre.
[#2] Concernant ce que
j'appelle le platonisme logique dans la note précédente, on
peut aussi tenir toutes sortes de positions, par exemple l'idée que
les entiers naturels (ou n'importe quoi qui permet d'encoder les
structures finies) ont une position spéciale et sont le seul substrat
ayant une réelle « existence platonique », ou bien étendre cette
position à des objets plus complexes, comme les ensembles
d'entiers naturels, ou tous les ensembles (un platoniste ensembliste
doit croire que l'hypothèse du continu à une valeur de vérité bien
définie, même si les axiomes de ZFC ne permettent pas de
la trouver) ; à l'inverse, s'agissant des ensembles, on peut croire à
un multivers platonique
plutôt qu'un univers platonique.
[#3] Peut-être parce
que les physiciens des particules ont des détecteurs expérimentaux ?
Mais les mathématiques expérimentales existent aussi, et je ne vois
pas de différence importante entre faire s'entrechoquer des protons à
haute énergie pour chercher à trouver, peut-être, un compagnon
supersymétrique, ou bien faire tourner des ordinateurs à calculer les
valeurs de la fonction ζ pour chercher à trouver,
peut-être, un zéro non-trivial qui ne soit pas sur l'axe critique.
Encore une surprise mathématique qui m'a fait tomber à la
renverse…
Si k est un anneau commutatif et M
un k-module (si ça peut aider certains à comprendre, on
peut déjà imaginer le cas où k est un corps et M
un k-espace vectoriel ; mais dans ce cas il faudra
considérer M de dimension infinie pour que ce soit
intéressant), on appelle dual de M,
disons D(M), l'ensemble des applications
linéaires M→k. Et on appelle bidual
de M le dual du
dual, DD(M). Il y a une
application k-linéaire
naturelle Φ:M→DD(M)
(à savoir x ↦ (u
↦ u(x))) : en général, elle n'est ni injective
ni surjective (mais si k est un corps, elle est toujours
injective, et si de plus M est un espace vectoriel de
dimension finie sur k, elle est aussi surjective).
Maintenant supposons que A soit une algèbre
commutative sur k (c'est-à-dire un k-module qui
est aussi un anneau avec la même addition et une
multiplication k-bilinéaire). Si on essaie de trouver une
multiplication naturelle sur DD(A),
on s'aperçoit que ce n'est pas du tout évident. Dans ce genre de
situation, le réflexe mathématique est que les choses doivent être
soit tout à fait évidentes soit impossibles. Pourtant, il existe bien
une multiplication naturelle
sur DD(A) : précisément,
si ξ et η sont deux éléments
de DD(A), on peut définir leur
produit ξ•η comme l'application qui
envoie u∈D(A)
sur η(y ↦ ξ(x
↦ u(x·y))) (ceci est bien un élément
de k). C'est assez difficile à visualiser, mais rien qu'au
niveau du typage on peut être assez convaincu que c'est la seule
formule possible. Et entre autres propriétés, cette multiplication
est k-bilinéaire, associative, et
vérifie : Φ(a)•η
= η•Φ(a) est la fonction u
↦ η(y
↦ u(a·y)), et en
particulier, Φ(a)•Φ(b)
= Φ(a·b). Je pense que la grande
majorité des mathématiciens sera d'accord que dès lors qu'on a trouvé
une formule simple, naturelle, qui définit
sur DD(A) une structure
de k-algèbre, et qui respecte Φ comme je viens
de le dire, c'est forcément « la bonne » multiplication
sur DD(A).
Eh bien ce qui surprendra certainement bon nombre de mathématiciens
comme ça m'a surpris moi-même, c'est que cette multiplication
n'est pas commutative en général !
Et ce n'est même pas facile du tout de donner un contre-exemple.
(Déjà, il faut bien sûr un exemple où Φ n'est pas
surjectif, puisque j'ai expliqué que les Φ(a)
commutent les uns aux autres ; or si c'est le cas — grâce à l'axiome
du choix — pour tout espace vectoriel de dimension infinie sur un
corps k, le problème est qu'« on n'y voit rien » aux
éléments du bidual qui ne viennent pas du primal.) Le contre-exemple
que j'ai, c'est que si k est un corps fini
et A=k[t] l'algèbre des polynômes en
une variable t sur k, de sorte qu'en tant
que k-espace vectoriel, A est la somme directe
d'un nombre dénombrable de copies de k, et son dual est le
produit d'un nombre dénombrable de copies de k,
c'est-à-dire les suites à valeurs dans k : le bidual
de A contient les fonctions qui à une suite u à
valeurs dans k associent sa limite prise selon un
ultrafiltre sur ℕ, et le produit de deux tels éléments (pour la
multiplication que j'ai explicitée) est la limite selon l'ultrafiltre
somme, pour l'addition usuelle sur
le compactifié
de Stone-Čech de ℕ — or il est « bien connu » que cette addition
n'est pas commutative en général. (Si vous n'y voyez rien, c'est
normal. Moi non plus.)
J'ai posé
la question sur MathOverflow de trouver des critères intéressants
pour que DD(A) soit commutatif, ou
bien un exemple plus simple où il ne l'est pas. Je n'espère pas
vraiment de réponse (et par ailleurs j'ai moi-même résolu le cas qui
m'avait amené à m'intéresser à cette question : si A est
finie sur un anneau k noethérien intègre), mais à vrai dire
je serais déjà content si on pouvait me dire que cette multiplication
a été explicitée à tel ou tel endroit dans la littérature.
(Ah, en fait, on me souffle que ça s'appelle
la multiplication
d'Arens, au moins dans le contexte des algèbres de Banach.)
Qu'est-ce qu'une géométrie, et autres pensées de fin d'année
J'ai passé la fin de la semaine dernière principalement à comater
(pendant que mon poussinet était parti rendre visite à sa tante à
Majorque) : c'est surtout en voyant combien j'ai dormi que je prends
conscience de combien j'étais fatigué. En particulier, je n'ai pas
continué ma série sur la géométrie
hyperbolique, et il est probable que ma motivation à le faire
décroisse rapidement avec le temps (j'ai déjà parlé de la nature
épisodique de mes intérêts ? je ne retrouve pas). Encore que je
voudrais vraiment trouver le moment de comprendre un peu en
profondeur ces histoires
d'automates finis en lien avec les groupes de Coxeter
(intéressants dans le cas hyperbolique), et il faut que j'en discute
avec mon voisin de bureau qui
est spécialiste
des automates. Bref.
Il y a une question qui m'a tracassé même dans ma torpeur,
cependant, une question posée innocemment à propos
de ma description faisant un grand
parallèle entre la géométrie euclidienne, sphérique et
hyperbolique : pourquoi n'y a-t-il que trois types de
géométrie ? — en fait, s'il n'est pas très difficile de répondre à
cette question en dimension 2, la question sous-jacente qui me
tracasse, c'est surtout : qu'est-ce que c'est, au fait,
une géométrie ? — et je dois avouer que je n'ai pas
vraiment de réponse satisfaisante.
Ce n'est pas vraiment une question mathématique, ou en tout cas ce
n'est pas une question mathématiquement bien formulée : c'est une
question de trouver une définition satisfaisante, c'est-à-dire,
puisque c'est moi qui me pose la question, une définition
qui me satisfasse, qui satisfasse mon sens de l'esthétique
mathématique. Comme je crois profondément
à la
philosophie proposée par notre maître Felix Klein, je suis
persuadé que la bonne réponse est une certaine sorte de quotient d'un
groupe de Lie (réel, entendu qu'on parle de géométries réelles), ou du
moins quelque chose de fortement lié à ça.
[Attention, ce qui suit est un rant de matheux qui
ne sait pas trop ce qu'il raconte. Faites semblant de comprendre même
si ce n'est pas le cas : vous n'y perdrez pas grand-chose.]
Il y a des gens (je pense notamment à Sharpe, dans son
livre Differential Geometry: Cartan's
Generalization of Klein's Erlangen Program) qui prennent
une définition
très générale : une géométrie de Klein, c'est un
quotient d'un groupe de Lie par un sous-groupe fermé ; le livre de
Sharpe explique ensuite qu'il est possible de se servir de ces
géométries de Klein comme des modèles pour définir les géométries
de Cartan, qui sont des courbures de celles-ci,
c'est-à-dire des espaces qui localement ressemblent à une géométrie de
Klein modèle mais qui peuvent varier de point en point (si on part de
la géométrie euclidienne comme géométrie modèle, on obtient la notion
de variété riemannienne, mais on peut définir énormément d'autres
types de structure, un pour chaque géométrie de Klein) : je trouve ça
fascinant, ça fait des années que je me dis que je voudrais bien
trouver le temps d'y réfléchir plus et d'essayer de comprendre comment
me représenter toute cette zoologie de structures et comment elles
interagissent entre elles, mais je trouve ça un chouïa trop général
pour que ça corresponde à ce que je voulais ici (déjà, en dimension 2,
ça fait un peu trop de géométries de Klein).
Il y a aussi la notion classique
d'espace
symétrique, qui peut être défini comme une variété riemannienne
possédant suffisamment de « symétries » ou comme un quotient bien
particulier d'un groupe de Lie : ces espaces sont complètement
classifiés, indiscutablement ils sont d'une grande beauté
conceptuelle, et on peut les regrouper en une famille plutôt
« sphérique » (les espaces symétriques compacts) et une famille plutôt
« hyperbolique » ; bref, c'est certainement une bonne partie de la
réponse de ce que doit être une géométrie, mais on n'y trouve pas
forcément la combinatoire (points, droites, etc.) que je m'attends à
trouver dans une « géométrie ». Je ne suis donc pas non plus
complètement satisfait par cette réponse-là.
En fait, je voudrais bien qu'il y ait une notion de géométrie
associée à chaque groupe de Lie semi-simple de sorte qu'on ait un type
d'objet pour chaque nœud du diagramme de Dynkin : la géométrie
projective (sous un avatar ou un autre) serait celle associée à la
série An, les différents nœuds du diagramme de
Dynkin de An correspondant aux points, droites,
plans, etc., jusqu'aux hyperplans ; la géométrie sphérique ou
elliptique serait celle associée aux séries Bn
et Dn, avec les points, droites, etc., jusqu'à
la moitié de la dimension (au-delà c'est redondant parce que la
polarité fondamentale met en dualité points et hyperplans, droites et
plans de codimension 2, etc.). Et, pour reprendre
ma fascination avec E₈, il devrait
y avoir une géométrie exceptionnelle avec 8 types d'objets et
certaines notions d'incidence entre elles (mais au lieu que ce soient
points, droites, plans, etc., jusqu'à la dimension 7, il y aurait un
type qui « brancherait » des autres comme sur le diagramme de
Dynkin).
Ce genre de choses existe et est bien connu : ce sont les
sous-groupes paraboliques maximaux du groupe de Lie, ou plutôt les
quotients du groupe de Lie par ses sous-groupes paraboliques maximaux
(ou les « géométries de Klein » données par ces quotients) : il y a
bien un sous-groupe parabolique maximal par nœud du diagamme de
Dynkin, et dans le cas de An ils définissent
naturellement les points, droites, plans, etc. Ces objets, ou les
géométries de Cartan modelées sur eux (en les « courbant ») sont
étudiés et s'appellent
les géométries
paraboliques. Mais je ne suis toujours pas content, parce que
dans le cas du groupe spécial orthogonal (Bn ou
Dn), les quotients paraboliques correspondent
pas aux points, droites, etc., de la sphère (d'ailleurs, dans le cas
réel compact, ils sont tout simplement vides) : ce sont les points,
droites, etc., isotropes, c'est-à-dire dans le cas
hyperbolique les points idéaux, droites idéales, etc. — ce n'est pas
ce que je veux. (Même si je ne sais pas exactement ce que je veux.)
Je veux quelque chose qui ressemble plus aux espaces symétriques
classiques, mais qui ait une combinatoire naturelle comme les nœuds du
diagramme de Dynkin (peut-être des orbites d'éléments assez généraux
dans les représentations fondamentales, mais je n'ai pas les idées
super claires sur ce que ça peut être).
La réponse à ma question est peut-être dans le très remarquable
(rien que par son prix !) livre de Boris
Rosenfeld, Geometry of Lie Groups, mais il
faut bien le dire, ce livre est aussi brouillon qu'il est fascinant,
et plus je le regarde plus j'ai les idées confuses.
Ce qui est sûr, c'est que parmi les géométries intéressantes, il y
a les espaces projectifs réels, complexes et quaternioniques (de toute
dimension), et la droite et le plan projectif octonionique (sur les
octonions, on ne peut pas faire plus qu'un plan projectif, parce que
le théorème de Desargues est
automatique à partir de la dimension 3), ainsi que leurs analogues
hyperboliques ; le plan projectif octonionique a d'ailleurs un lien
intéressant avec plusieurs groupes de Lie exceptionnels (au moins F₄
et E₆), comme il sera raconté dans ma mythique page sur les octonions
quand j'aurai fini de l'écrire (mais ce n'est pas forcément si loin
que ça, justement !). Il existe aussi une géométrie intéressante, que
je ne connaissais pas du tout : celle dont les « points » sont des
algèbres de nombres complexes dans les octonions (ou, de façon
équivalente, la sphère des des octonions imaginaires purs de module 1)
et dont les « droites » (sans doute pas le meilleur terme) sont des
algèbres de quaternions dans les octonions (ce sont les quotients de
G₂ par quelque chose comme SU₃ et Spin₃×Spin₃), ça a l'air extrêmement
joli, et je ne sais pas du tout quel est son nom classique.
Surprises et bizarreries de la géométrie hyperbolique
Cette entrée fait suite
à celle-ci
et celle-là.
Je promets que ce blog ne parlera pas de géométrie
hyperbolique jusqu'à la fin des temps ! Mais il me reste encore un
certain nombre de choses rigolotes à raconter. Notamment, ce que sont
les cercles (cycles et horocyles) en géométrie hyperbolique et les
trajectoires de rotations et translations ; comment les projections de
Poincaré et de Beltrami-Klein sont reliées (et comment les réconcilier
en projetant le plan hyperbolique sur une demi-sphère) ; ce que sont
la pseudo-sphère et les surfaces de Dini et pourquoi elles nous
permettent de voir un petit bout de la géométrie hyperbolique sur un
modèle euclidien (mais juste un petit bout) ; et surtout, parler un
peu des groupes de Coxeter et de leur automaticité, des pavages du
plan hyperbolique, et de comment ceci permet de travailler
informatiquement avec le plan hyperbolique, par exemple s'il s'agit de
faire des jeux ou des simulations dessus. (Je ne garantis pas du tout
que j'aurai le courage ou le temps de développer chacun de ces thèmes,
mais ce serait bien.) De nouveau, je promets d'essayer de rendre les
différentes entrées de cette série aussi indépendantes que possible
les unes des autres, de façon à ce qu'on puisse lire le sous-ensemble
qu'on veut dans l'ordre qu'on veut. Et je vais essayer de rendre
autant que possible les choses accessibles à un bas niveau de
connaissances mathématiques (même si je n'arriverai pas toujours à
rester au niveau lycée), quitte à commettres des imprécisions que les
experts, j'espère, me pardonneront.
[Navigation : cette entrée fait
partie d'une série de trois sur la géométrie
hyperbolique : 1, 2, 3
(plus ou moins indépendantes) ; voir
aussi celle-ci pour des
illustrations de différentes projections ; voir aussi les jeux de
labyrinthe hyperbolique que
j'introduis ici, là
et là, et dont j'explique le
fonctionnement dans des transparents
disponibles ici.]
Dans cette entrée je voudrais essayer de décrire quelques
phénomènes très simples qui illustrent le comportement surprenant de
la géométrie hyperbolique. Les quatre sous-parties sont d'ailleurs
indépendantes les unes des autres. Le principe informel mais
fondamental que je cherche à illustrer (au moins sur les deux premiers
exemples) est le suivant :
Dans un espace hyperbolique, il n'y a essentiellement qu'une façon
de relier deux points : même un chemin en zigzag ne peut pas se
racourcir beaucoup.
Autrement dit, si vous allez de A à B par un
chemin en zigzag et que quelqu'un d'autre y va en ligne droite, il ne
gagnera pas énormément par rapport à vous. Ou, pour dire les choses
de façon plus décourageante, si vous avez marché un peu au hasard à
partir de A, que vous vous retrouvez en B, et
que maintenant vous voulez revenir à votre point de départ, vous allez
devoir refaire toutes les méandres de votre chemin. Raconté de façon
aussi informelle, ce principe peut être complètement faux, bien sûr
(essentiellement parce que le plus court chemin entre deux points est
une droite, pas un zigzag, même en géométrie hyperbolique), comme il
peut être tout à fait vrai : mais si dans l'espace euclidien il n'y a
aucun doute qu'il est faux, dans l'espace hyperbolique je vais essayer
d'expliquer de quelle façon il est néanmoins vrai.
Ceux qui ont suivi mon conseil
et essayé de jouer
à HyperRogue se
seront sans doute rendu compte à quel point il est difficile de
retracer un chemin dans l'espace hyperbolique (surtout si vous êtes
allés jusqu'au bout du jeu !) : voici donc une tentative d'explication
de ces phénomènes. J'utiliserai les formules fondamentales de
l'entrée précédente, mais si on ne
l'a pas lue on peut se contenter de me croire sur parole quand
j'affirme une relation métrique.
La formule fondamentale de la trigonométrie du triangle
Je continue une série commencée dans
l'entrée précédente sur la
géométrie elliptique et hyperbolique, mais, en fait, je vais tâcher de
faire en sorte que ces entrées soient aussi indépendantes que
possible, pour qu'on puisse les lire dans l'ordre qu'on veut. Je
continue à me placer environ au niveau lycée (au moins dans les
passages qui ne sont pas en petits caractères ; enfin, j'espère). Ici
je veux parler un peu de la trigonométrie du triangle (la loi des
cosinus et la loi des sinus). Dans une entrée ultérieure
[mise à jour : elle
est là], je parlerai des
spécificités et bizarreries de la géométrie hyperbolique.
[Navigation : cette entrée fait
partie d'une série de trois sur la géométrie
hyperbolique : 1, 2, 3
(plus ou moins indépendantes) ; voir
aussi celle-ci pour des
illustrations de différentes projections ; voir aussi les jeux de
labyrinthe hyperbolique que
j'introduis ici, là
et là, et dont j'explique le
fonctionnement dans des transparents
disponibles ici.]
Considérons un triangle ABC
(euclidien, sphérique ou hyperbolique, on verra plus tard) :
j'appelle a la longueur BC
(c'est-à-dire la longueur du côté opposé au
sommet A), b la
longueur CA, et c la
longueur AB ; j'appelle α
l'angle CAB (c'est-à-dire l'angle
interne au sommet A), β
l'angle ABC, et γ
l'angle BCA. (On remarquera que ces
notations, qui sont standard, sont symétriques si on permute les noms
tant qu'on le fait de la même manière sur
(A,B,C),
(a,b,c) et
(α,β,γ), et bien sûr tout ce qu'on
pourra dire sur le triangle le sera aussi.)
On s'intéresse aux différentes relations qui peuvent exister entre
les six quantités a,b,c
et α,β,γ, et éventuellement, du coup,
au problème de trouver les trois manquantes si on en connaît trois
parmi les six (problème de la résolution du triangle).
Le triangle euclidien
Dans le cas euclidien, les trois angles d'un triangle ne sont pas
libres : leur somme vaut π (radians, c'est-à-dire 180°) ;
ceci sera la plus évidente différence avec le triangle sphérique ou
hyperbolique.
Le théorème le plus célèbre de l'univers (sans doute le théorème
que le plus grand nombre de personnes est capable de citer vaguement
correctement) affirme que, en géométrie euclidienne, si le triangle
est rectangle en C, c'est-à-dire
si γ=π/2 (soit cos(γ)=0),
alors c² = a² + b². Si on retire
cette hypothèse d'être rectangle en C, la relation qui
relie a, b, c et l'angle γ
est la suivante :
Quelques notions de géométrie sphérique et hyperbolique
Comme promis, je voudrais écrire
un petit memento de géométrie, en insistant sur le parallèle entre la
géométrie sphérique, la géométrie euclidienne, et la géométrie
hyperbolique. Je précise que, pour une fois, je suppose très peu de
connaissances mathématiques de mes lecteurs : juste un peu de
géométrie euclidienne telle qu'on la voit au lycée. Un peu à la fin,
et dans des entrées à venir, je supposerai qu'on sait ce que sont les
lignes trigonométriques hyperboliques (cosh(t) =
½(exp(t)+exp(−t)) et sinh(t) =
½(exp(t)−exp(−t)), ainsi que
tanh(t)=sinh(t)/cosh(t)), mais c'est
essentiellement tout.
[Navigation : cette entrée fait
partie d'une série de trois sur la géométrie
hyperbolique : 1, 2, 3
(plus ou moins indépendantes) ; voir
aussi celle-ci pour des
illustrations de différentes projections ; voir aussi les jeux de
labyrinthe hyperbolique que
j'introduis ici, là
et là, et dont j'explique le
fonctionnement dans des transparents
disponibles ici.]
La géométrie euclidienne, donc je suppose que tout le
monde sait ce que c'est : c'est celle qu'on apprend au lycée, la
géométrie du plan (pour se limiter à la dimension 2), les points et
les droites, avec la notion de distance et d'angle.
(Digression : Si on oublie la
notion de distance mais qu'on garde celle d'angle, on pourra parler
de géométrie (euclidienne) conforme ; si on oublie à la
fois la notion de distance et celle d'angle et qu'on ne garde que
l'incidence — c'est-à-dire le fait qu'un point soit sur une droite ou
qu'une droite passe par un point — et le parallélisme, alors on parle
de géométrie affine. Si on oublie aussi le parallélisme,
ne retenant que l'incidence, quitte à ajouter une droite à l'infini
sur laquelle les droites parallèles sont réputées se croiser, on parle
de géométrie projective.
Dans l'esprit du fameux
« programme
d'Erlangen » de Felix Klein, à chacune de ces géométries est
associé un groupe de transformations, c'est-à-dire celles
qui préservent la géométrie en question du plan, à savoir le groupe
des isométries planes pour la géométrie euclidienne, le groupe des
similitudes pour la géométrie conforme, le groupe des affinités pour
la géométrie affine, et le groupe des transformations projectives pour
la géométrie projective. Il est intéressant de se rappeler ces
différents niveaux, par exemple comme indiqué à la fin
de cette entrée. Mais a priori,
c'est bien avec la géométrie euclidienne classique, angles et
distances, que je comparerai la géométrie sphérique et la géométrie
hyperbolique.)
J'écrivais récemment un
petit TODO pour plus
tard. Il faut que je dise un peu ce que j'en ai fait.
Je me suis rendu compte que faire un labyrinthe hyperbolique était
à la fois mathématiquement plus intéressant, et aussi plus facile, que
ce que j'imaginais. En fait, j'ai eu une sorte d'épiphanie
mathématique en réfléchissant à la question de savoir à la fois
comment mettre des coordonnées
sur un
pavage comme ça (je veux dire quelque chose qui soit
informatiquement manipulable et numériquement robuste, pour étiqueter
les cases) et comment limiter la taille du labyrinthe. Comme Knuth
l'a dit, on ne comprend vraiment bien un objet mathématique que quand
on l'a enseigné, et on comprend encore mieux quand on l'a enseigné à
un ordinateur.
(Ceux qui ne sont pas intéressés par les maths
peuvent sauter les
quelques paragraphes suivants.)
Quand on fait un jeu informatique sur le bête plan euclidien, pour
ne pas aller à l'infini, parfois on met des bords, mais parfois aussi
on préfère cycler dans les deux directions (i.e., quand on va
trop loin, on retourne à son point de départ), ce qui revient en fait,
mathématiquement, à quotienter le plan, et le réseau du
pavage Λ (presque toujours un réseau carré en informatique,
pour des raisons de simplicité du tracé) par un
sous-réseau Γ des périodes (presque toujours aussi un
réseau carré, même si pour le coup il n'y a guère de raison à ça), de
sorte que Λ/Γ soit un groupe fini (un
(ℤ/mℤ)⊕(ℤ/nℤ)), qui est
celui où les coordonnées du jeu prennent leurs valeurs : du coup, les
coordonnées sont des entiers modulo m et n
(généralement deux puissances de 2, souvent égales, ce qui simplifie
encore les choses), donc faciles à manipuler en informatique, et le
monde est un quotient du plan par Γ, ce qu'on appelle
un tore plat (ou, si on veut être sophistiqué, une surface de
Riemann compacte de genre 1, c'est-à-dire une courbe elliptique,
dont Γ est le groupe fondamental et
dont Λ/Γ est un sous-groupe de points de
torsion).
Bon, mais voilà, que faire pour le plan hyperbolique ?
Contrairement au plan euclidien, ses translations ne commutent pas
(c'est très clair quand on joue au jeu vers lequel je fais un lien
ci-dessous) : on peut certes le paramétrer par deux coordonnées (par
exemple les coordonnées polaires : la distance à une origine
arbitrairement choisie et le cap/azimuth), mais ce sera des
coordonnées réelles, peu pratiques à manipuler, et dès qu'on s'éloigne
un peu de l'origine, elles deviennent numériquement délicates à gérer.
Notamment, pour étiqueter les cases d'un pavage, ce n'est pas commode.
Ce qui joue le rôle dans le cas hyperbolique du réseau du pavage dans
le cas euclidien, c'est le groupe Δ des isométries du
pavage (ou éventuellement le sous-groupe Δ⁰ des isométries
directes) : c'est un groupe de Coxeter (en l'occurrence
un groupe de
triangle, qui, pour le pavage que j'ai choisi,
est Δ(2,4,5), engendré par la réflexion par rapport à un
mur du pavage, la rotation d'angle π/2 autour du centre
d'un « carré » et la rotation d'angle 2π/5 autour d'un
sommet). Ce qui permet déjà de le manipuler un peu informatiquement
(il y a toutes sortes d'algorithmes pour calculer dans les groupes de
Coxeter).
Mais surtout, ce qu'il y a, c'est qu'on peut aussi trouver, et de
façon très agréable, des sous-groupes distingués Γ
de Δ⁰ qui agissent sans point fixe, et de sorte que le
quotient du plan hyperbolique par Γ soit compact
(c'est une surface de Riemann compacte de genre ≥2) et notamment
que Δ⁰/Γ soit fini (c'est le groupe des
isométries de cette surface de Riemann). J'avoue n'avoir pas une idée
aussi claire que je voudrais de comment décrire « tous »
ces Γ, mais ce n'est pas difficile d'en trouver (en
l'occurrence, j'ai écrit les matrices des isométries hyperboliques de
mon pavage dans les nombres algébriques, j'ai trouvé un nombre
premier p, en l'occurrence 89, qui scindait toutes ces
matrices, et j'ai réduit modulo p). Du coup, ce qui joue
le rôle analogue aux coordonnées cycliques
(ℤ/mℤ)⊕(ℤ/nℤ) dans le cas
d'un jeu euclidien, sur mon jeu hyperbolique, c'est le
groupe Δ⁰/Γ, qui dans mon cas est PSL(2,89) (le
groupe projectif spécial linéaire des matrices 2×2 sur le corps des
entiers modulo 89 ; il a 352440 éléments), et le labyrinthe est en
fait un sous-graphe du graphe de Cayley de ce groupe.
Voilà donc que j'ai figuré informatiquement, sans trop m'y
attendre, trois objets mathématiques dignes d'intérêt : le plan
hyperbolique, le graph de Cayley d'un groupe simple fini, et une
surface de Riemann compacte de genre 8812 ayant ce groupe de symétries
(et le plan hyperbolique comme revêtement universel, Γ
étant le groupe fondamental).
(Il faudra que j'essaie voir avec un
groupe Δ⁰/Γ plus petit — à commencer par trouver
le plus petit possible, d'ailleurs — ce qui rendra le jeu moins
intéressant mais peut-être la géométrie plus facile à visualiser. Une
autre question sur laquelle je n'ai pas les idées parfaitement
claires, c'est de savoir, si je voulais calculer les périodes de ma
surface de Riemann, quelle serait la difficulté de l'opération.)
Bref,
voici mon
petit jeu de labyrinthe hyperbolique en JavaScript (qui
devrait marcher sur les navigateurs vaguement récents ; mais n'essayez
pas depuis un téléphone, d'une part parce qu'on joue avec les touches
et d'autre part parce que les calculs sont un peu lents au démarrage
et que ça consomme pas mal de mémoire).
Je l'ai présenté sous forme d'un jeu (il faut d'abord chercher à
atteindre le cercle vert, puis revenir à son point de départ en ayant
fait une « boucle » : c'est très facile si on se fie aux indications
de distance données à droite, un peu plus difficile si on n'utilise
que la couleur des cercles comme indication, et ce serait quasiment
impossible s'il n'y avait rien du genre). Mais en fait l'intérêt est
surtout d'explorer le plan hyperbolique et de se rendre compte comment
il fonctionne. Par exemple, on peut chercher à se déplacer avec
uniquement des « translations », sans jamais faire de rotation, et
s'apercevoir qu'on peut revenir à son point de départ avec une
différence d'orientation. On peut aussi s'amuser à essayer
d'appliquer l'algorithme de la main droite (garder toujours un mur à
droite et le suivre) et ceci donnera une idée de la vastesse du plan
hyperbolique. Je trouve ça très instructif, et ce fut tout à fait
agréable à programmer (une heureuse surprise).
🌍
Pour ce qui est des projections cartographiques, je n'ai pas
calculé celle dont je parlais dans mon TODO, parce qu'elle ferait
intervenir
les fonctions
hypergéométriques de façon pas du tout évidente, et je n'ai pas
vraiment envie de me farcir
le Abramowitz &
Stegun pour un résultat incertain. En revanche, j'ai calculé les
mêmes projections que dans ma vidéo
précédente mais pour la Terre, c'est amusant à voir (et comme
cette fois-ci je n'ai pas fait de commentaire audio, ça a
été beaucoup plus rapide à faire) :
Allez, je termine par une vue de la Terre en projection
stéréographique depuis le pôle sud sur une grande distance, parce
qu'on n'a pas l'habitude de la voir comme ça, je trouve ça vraiment
rigolo (et on comprend ce que ça veut dire qu'une
projection conforme préserve les
formes mais pas les tailles ; clickez pour zoomer) :
À ce propos, mon poussinet et moi avons cherché à trouver s'il y
avait des vols aériens qui passent au-dessus de l'Antarctique :
Wikipédia prétend
que non, mais c'est au moins amusant, et étonnamment difficile, de
chercher quelles lignes droites entre deux grandes villes sur Terre,
passent au-dessus de l'Antarctique (nous avons trouvé, si je me
rappelle bien : Sydney–Rio, Auckland–Le Cap, ou encore Buenos
Aires–Shanghaï, mais aucune de ces liaisons n'existe en vol direct).
Encore une illustration du fait qu'il
est difficile de visualiser la
géographie sphérique.
[Ajout : pour en savoir plus sur la géométrie
hyperbolique, voir les entrées ultérieures
suivantes : 1, 2, 3
(plus ou moins indépendantes),
et celle-ci pour des illustrations
de différentes projections ; voir aussi un autre jeu de labyrinthe
hyperbolique que j'introduis là
et là, et dont j'explique le
fonctionnement dans des transparents
disponibles ici.]
Deux idées que m'ont données
les deuxdernières
entrées, à retenir pour plus tard, peut-être, un jour, si jamais j'ai
du temps :
Combiner mon intérêt pour
les labyrinthes avec celui des
projections du plan hyperbolique, et faire un jeu de labyrinthe (en
JavaScript) qui se joue dans le plan hyperbolique. Probablement
sur ce
pavage-ci (le pavage régulier du plan hyperbolique par des
quadrangles — peut-on les appeler carrés ? — d'angle 72° à
chaque sommet), qui a l'avantage qu'on pourrait jouer de façon
évidente avec les flèches pour avancer ou reculer d'un quadrangle, ou
tourner de 90° vers la droite ou la gauche. Il y a des chances que ce
soit encore plus labyrinthique que
mon labyrinthe 3D, et ça
donnera peut-être une bonne intuition de la « vastesse » du plan
hyperbolique. Si quelqu'un est motivé pour coder ça et a besoin que
je lui explique comment on pourrait faire, qu'il me contacte !
Calculer le rendu de ma projection
élue de la Terre, qui sera définie de la façon suivante : c'est
une projection
sur un patron d'icosaèdre (comme
la Dymaxion),
sauf que, pour chaque face de l'icosaèdre, la projection du triangle
sphérique vers le triangle euclidien, plutôt qu'être la projection
gnomonique ou la projection de la Dymaxion, sera l'unique application
conforme (comme je l'ai expliqué)
qui respecte les symétries du triangle. (J'ai pensé à un moment que
ce serait une projection stéréographique par bouts, mais c'est idiot,
ça ne peut évidemment pas être ça.) Bref, un peu comme
la projection
quinconciale de Peirce, mais en icosaèdre. Pareil, si quelqu'un
se sent motivé pour appliquer
la formule
de Schwarz-Christoffel, qu'il se dénonce.
Visualisation de la sphère et du plan hyperbolique
Écrire l'entrée précédente m'a
motivé pour faire quelque chose dont je traîne l'idée depuis
longtemps : produire de jolies illustrations de quelques projections
de la sphère et du plan hyperbolique, et des analogies entre
elles.
On trouve beaucoup d'images et de vidéos des projections de la
sphère, mais elles utilisent généralement l'image des continents de la
Terre, parce qu'elles ciblent la cartographie, et pour cette raison
aussi elles ont tendance à omettre
la projection
gnomonique, ce qui est dommage parce qu'elle est mathématiquement
intéressante (elle met en lumière le fait que la sphère quotientée par
l'antipodie donne un plan projectif réel tandis que la
projection stéréographique illustre le fait que la sphère peut être
vue comme une droite projective complexe).
Il y a aussi beaucoup d'images et de vidéos du plan hyperbolique,
mais presque exclusivement en utilisant les modèles du disque et
demi-plan de Poincaré (les projections conformes standards), beaucoup
plus rarement le modèle de Beltrami-Klein, et je crois que je n'ai
jamais vu une projection équivalente (=préservant les aires)
du plan hyperbolique, alors qu'on en montre souvent pour la
sphère.
Enfin, les analogies entre la sphère et le plan hyperbolique sont
rarement mises en valeur. Bref, j'ai
fait cette
vidéo pour essayer de combler les trous (le commentaire est en
anglais ; apparemment YouTube ne permet pas de faire des vidéos
bilingues, ce qui est tout de même con) :
Comme souvent, ce n'est pas ce qu'on pense qui a pris du temps : le
programme pour calculer les images (qu'on
peut trouver ici)
est extrêmement simple et m'a pris nettement moins d'une heure à
écrire (environ 150 lignes de C ! on fait difficilement plus simple,
même s'il est vrai que j'ai dû faire quelques petits calculs de
trigonométrie sphérique et hyperbolique pour calculer les constantes
au début du programme). Le calcul lui-même a été aussi assez
indolore. La lecture du commentaire, en revanche, a été abominable,
et j'ai fini par craquer et renoncer à produire quelque chose de pas
trop mauvaise qualité où je ne bégaierais pas sur plein de mots, où on
n'entendrais pas les voisins qui passent dans le couloir, où je ne
parlerais pas avec une voix différente entre chaque paragraphe, etc.
Je ne suis vraiment pas doué pour ça.
[Ajout : une série de trois
entrées ultérieures sur la géométrie
hyperbolique : 1, 2, 3
(plus ou moins indépendantes) ; voir aussi les jeux de labyrinthe
hyperbolique que
j'introduis ici, là
et là, et dont j'explique le
fonctionnement dans des transparents
disponibles ici.]
Pour expliquer un peu au niveau grand public ce que ce théorème
signifie, il faut d'abord expliquer application conforme : une
application conforme (ou holomorphe — au niveau
où je me place ce n'est pas la peine de faire de distinction) est
simplement une transformation du plan qui conserve les
angles (orientés). De façon encore plus simple, disons
qu'une application conforme est une application qui préserve
localement les formes sans les aplatir : elle peut plus ou
moins les agrandir ou les rétrécir d'un point à l'autre, mais un tout
petit cercle se transforme en quelque chose qui ressemble à un
cercle, pas à une ellipse (voir plus loin ce que je dis sur
les cartes de la Terre).
Pour ceux qui comprennent un peu plus de maths, je peux dire ceci :
une application affine (c'est-à-dire, préservant
l'alignement) qui conserve les angles (orientés) est ce qu'on appelle
une similitude
(directe), c'est-à-dire la composition d'une homothétie et d'une
rotation (et éventuellement d'une translation) ; si on voit le plan
comme l'ensemble des nombres complexes, alors une similitude (directe)
est précisément une application de la
forme z↦a·z+b pour
certains nombres complexes a et b (le module et
l'argument de a déterminant le rapport de l'homothétie et
l'angle de la rotation, tandis que b détermine la
translation ou le « centre » de la transformation). Une application
conforme est une transformation qui, au premier ordre, en
tout point, est une similitude (directe), c'est-à-dire, une
application (d'une région du plan vers le plan) qui est différentiable
et dont la différentielle est partout une similitude (directe) :
d'après ce que je viens de dire, cela revient à voir ça comme une
application dérivable au sens complexe.
À titre d'exemple, l'application exponentielle complexe,
c'est-à-dire l'application qui à un point (x,y)
du plan (qu'on peut identifier au nombre complexe z
= x+i·y) associe le point
(exp(x)·cos(y),
exp(x)·sin(y)) (qu'on peut identifier au nombre
complexe exp(z)), où ici exp(•)
désigne e•, est une transformation conforme.
J'ai tenté de la représenter sur la figure suivante :
Je donne à Télécom ParisChose un cours d'Analyse (cela me demande
d'ailleurs beaucoup de travail parce que je ne suis pas du tout
analyste) dont un des points centraux est la théorie de Fourier.
J'avais l'an dernier fait un petit
catalogue de quelques énoncés sur la théorie des séries de Fourier
(dépassant largement le niveau du cours que j'enseigne, mais
nécessaire pour me clarifier les idées). Mais il faudrait que je
parle un peu aussi de la transformée de Fourier, pour
expliquer à quel point c'est subtil à définir.
Si f est L¹ (=intégrable au sens de Lebesgue) sur ℝ, on
définit sa transformée de Fourier ℱf par
(pour ceux qui ont un de ces vieux navigateurs qui ne comprennent
pas le MathML, il s'agit de l'intégrale
de f(x)·exp(−2iπξx)
pour x allant de −∞ à +∞, vue comme fonction de la
variable ξ). Cette fonction ℱf est continue
(de ξ), de limite nulle à l'infini.
Si f est L² (=de carré intégrable) mais pas forcément
L¹, la formule ci-dessus n'a pas de sens en général ; on peut
cependant définir une transformée de Fourier sur L² : par exemple, on
utilise la formule ci-dessus pour définir la transformée de Fourier
sur L²∩L¹ (ou sur un espace plus petit, comme l'espace de Schwartz),
dense dans L², on démontre que l'opération « transformée de Fourier »
est une isométrie au sens L², et on la prolonge par continuité. C'est
déjà quelque chose d'assez subtil pédagogiquement.
L'autre subtilité pédagogique, c'est que nos élèves sortent
(généralement) de prépa et que si on leur y a défini une intégrale de
−∞ à +∞, c'est comme limite des intégrales à bornes finies quand ces
bornes tendent vers −∞ et +∞ ; alors que l'intégrale dont il est
question ci-dessus est l'intégrale de Lebesgue, définie de façon
holiste sur ℝ, et il se trouve que si elle existe, elle est
effectivement égale à la limite des intégrales à bornes finies (par le
théorème de convergence dominée), mais la réciproque n'est pas
vraie.
Les choses deviennent catastrophiques parce que ces deux subtilités
se combinent de façon encore plus subtile : si on considère la
fonction fM
= f×1[−M;+M] égale
à f sur l'intervalle [−M;+M] et à 0
ailleurs, alors fM converge
vers fau sens L² quand M→+∞, donc les
transformées de Fourier des fM
convergent vers celle de fau sens L² ;
or fM est L¹ et sa transformée de
Fourier est donc donnée par l'intégrale de −M à +M de
de f(x)·exp(−2iπξx).
On a donc (pour tout f∈L²) :
mais il s'agit d'une convergence au sens L² (d'une
fonction de ξ vers une autre fonction de ξ), qui
ne dit rien sur ce qui se passe pour un ξ ou un autre. Et
là où ça devient subtilissimement subtilissime, c'est que en fait,
si, il y a bien convergence pour presque tout ξ, mais
cette convergence p.p. est un théorème très difficile
(le théorème
de Carleson).
En revanche, je suis assez convaincu, même si je
n'ai pas de contre-exemple, qu'il est parfaitement possible qu'une
fonction flocalement intégrable ait une
transformée de Fourier au sens des distributionsg
elle aussi localement intégrable, c'est-à-dire qu'on ait
∫(f·ψ)=∫(g·φ)
pour toute fonction φ de
l'espace de
Schwartz ayant transformée de Fourier ψ
(automatiquement elle-même dans l'espace de Schwartz), et pourtant que
la limite écrite ci-dessus n'existe pour aucun ξ. Je me
demande bien, d'ailleurs, s'il est possible que la limite existe pour
tout ξ mais ne soit jamais égale
à g(ξ) ; mais je n'ai pas du tout le temps d'y
réfléchir.
Comment faire pour enseigner quelque chose qui soit rigoureux et
qui ne noie pas pour autant les élèves sous la subtilité ?
This is a referee report on the thesis titled The Character
Table of the Weyl Group of E8: Applications to the Arcane
Arts, a dissertation submitted by M. Parry Hotter in partial
fulfillment of the degree of Magiæ Doctor at the University of
Hogsbridge.
Context: To put this study in its proper
historical perspective, which M. Hotter himself does at length in the
first chapter of the thesis under review, would require more space
than can be afforded here. As the author aptly recalls, the
E8 perspective on the arcane arts can be traced back to the
unification, proposed by Leibniz in 1710, of six of the seven
classical schools of magic (Earth, Water, Air, Fire, Macrocosm, Life
and Spirit, arranged linearly by Paracelsus) with six of the seven
oriental phases (Earth, Water, Wind, Fire, Heaven, Change and
Unchange, with Change and Unchange branching from Heaven), by equating
Heaven with Macrocosm and Change with Life (and renaming Unchange as
Time). The asymetrical nature of the resulting diagram — which we now
know as the Dynkin diagram of E8 — prompted a number of
attempts to identify at least one more house — attempts that we
presently understand to be misguided.
But it is in the year 1918, which saw the publication of Hermann
Weyl's now classic Earth, Water, Air, Fire, Space, Time, Life
and Spirit, that the 240 directions of the mysticohedron were
put upon a firm theoretical footing. This represents a considerable
paradigm shift, whose practical consequences were slow to come to
fruition (starting with the startling realization of where the level
grades, 1, 248, 3 875, 27 000, 30 380, 147 250, 779 247… appear). And
as examined in more detail in Aldus Bumblebore's The Eight
Elements (or: What's so Special about the Number 696 729 600?),
it was only considerably recently that any attention was given to the
profond interconnection between the largest exceptional Weyl group and
the transmutations of magic.
As explained in the abstract, M. Hotter's work consists of two main
parts. The first explores applications of the « pure » character
theory of W(E8) beyond the mere, and previously known,
identification of the 112 representations (lines of the character
table) and conjugacy classes (columns) with the arcane circles and
astral configurations. The second, and much deeper, part of this
thesis, develops an invariant theory for E8 that is
analogous to the classical Schur-Weyl duality between representations
of the linear group and those of the symmetric group, and then applies
this duality to obtain esoterica. Eight specific and illustrative
examples are given in an appendix. We now review each of the chapters
in greater detail.
Some commentary: (Generally I don't discuss the
references in my texts but I've made
exceptions before.)
I've often said
that E8
(and the cohort of related objects) is
so deeply fascinating and
profoundly beautiful
(see here
and there) that if the
Universe has any sense of æsthetics, it really should involve
E8 in some way (some people have
indeed tried
to find it, but with dubious success: it is possible that the Universe
we live in does not have the same notion of æsthetics as
mathematicians). At any rate, in a world in which magic is real and
wizards who (after their elementary and high school years spent doing
more applied work like fighting supervillain wizards) go to university
and write doctoral theses in pure and theoretical magic, I cannot
conceive the mathematical foundations of magic to be
anything but E8 (OK, maybe I'll take
the largest Mathieu group as an
acceptable substitute). Of course, in my vision of magic, the head
magician does not look so
much like
this
as like
that (seriously, if anyone is a real world magician, it's John
Conway). Anyway.
So if magic is to be built on E8, then the system at the
root of all arcana is represented by the following diagram:
—and there should definitely be some labels attached here. (They
would actually be of some use to real world mathematicians because
nobody can agree on how to number the vertices of this diagram.
Unfortunately, Conway, the great inventor of witty names, did not do
his job here.) So I propose to name the seven on the bottom line,
from left to right: Spirit, Life, Macrocosm, Fire, Air, Water and
Earth, and the top one, Time. There isn't much rationale to my
suggestion that the Europeans and Chinese(?) should have discovered
the A7 (i.e., all but the top node) and D7
(i.e., all but the leftmode node) subdiagrams of the above, but it is
true that Leibniz was fascinated by
the Yi Jing and
popularized it in Europe. (It seemed right to make Leibniz play a
role here when I had had fun with
Newton in a previous fragment.)
More
importantly, Hermann
Weyl, something of a magician himself, to whom we owe much of the
theory of representations of compact Lie groups (and in
particular the
formula which allows to
compute the sequence I mention),
wrote a book
called Space,
Time, Matter, one of the first expositions of Einstein's
theory of general relativity (and indeed one of the books — found in
my father's library — through which I myself learned the subject): in
an alternate universe, it would certainly have been a book on
magic.
Incidentally, I wish someone would tell me how one can construct
some kind of analogue of Schur-Weyl duality for the exceptional groups
(or in any way relate the representations of E8 to those of
W(E8)).
Addendum: as mentioned in the comments, I should
probably link to this later entry,
and perhaps enve more relevantly
to this one, for various
explanations on E₈ (and why
it fascinates me).
[Cette entrée m'a pris environ deux mois à
écrire : j'ai commencé à cause
de ceci qui m'a donné envie de
m'éclaircir les idées en les racontant. Au début je pensais que ça ne
ferait que quelques lignes !]
Introduction
Il est souvent intéressant, en mathématiques, de prendre une
notion, et d'essayer de la redéfinir (ou, s'il s'agit d'un théorème,
de le redémontrer) de novo, je veux dire en
partant de rien (ou du minimum). Ceci permet de se rendre compte de ce dont
on a besoin pour arriver à ce point, de chercher les raccourcis pour y
arriver, et de gagner en clarté sur la notion en question. Je vais
prendre l'exemple de la notion de schéma, qui est une notion
centrale de la géométrie algébrique depuis Grothendieck.
Je m'adresse ici au lecteur qui sait ce qu'est
un anneau
commutatif (ainsi que les notions qui vont forcément avec :
morphisme d'anneaux commutatifs, idéal, quotient par un idéal ; et
aussi : polynômes à coefficients dans un anneau commutatif ; je
suppose aussi qu'on sait ce qu'est un corps), mais qui n'a pas de
connaissances en géométrie algébrique et qui, en particulier, ne sait
pas ce qu'est un schéma. Le but est de montrer qu'on peut définir ce
terme-là de façon relativement efficace (c'est-à-dire : rapide, mais
pas forcément pédagogiquement idéale) en évitant de parler de tout le
fatras d'idéaux premiers, faisceaux d'anneaux, espaces localement
annelés, etc., qui servent normalement à définir ce qu'est un
schéma.
(L'expert en géométrie algébrique n'a certainement
rien à apprendre ici, mais il pourra trouver intéressante ma
définition d'une immersion ouverte comme tiré en arrière d'une
immersion universelle ; et s'il n'a jamais réfléchi à la question,
l'exercice de décrire le foncteur des points de la droite avec origine
doublée et de quelques uns de ses avatars est amusante.)
La définition proprement dite est ce qui figure dans les parties
encadrées (pour montrer qu'elle est effectivement plutôt courte même
si cette entrée dans son ensemble est extrêmement
longue) : 1, 2, 3, 4, 5, 6, 7, 8
et 9. On peut donc en principe se contenter de
lire ces passages-là. Le commentaire autour sert à essayer de la
rendre pas totalement incompréhensible, en donnant quelques exemples
et quelques explications, et à motiver un peu ce qu'on fait.
Préliminaires : Je vais fixer un anneau de
base k (tous les anneaux considérés sont commutatifs et ont
un élément unité). Si on ne sait pas ce qu'est
une k-algèbre (sous-entendu : commutative), c'est
simplement un anneau A accompagné d'un morphisme
d'anneaux k→A (appelé morphisme
structural) ; et un morphisme A→B
de k-algèbres est défini comme un morphisme d'anneaux tel
que la composée k→A→B avec le
morphisme structural de A soit le morphisme stuctural
de B. Mais pour lire ce qui suit, si on préfère, on peut
par exemple imaginer que k est un corps (la notion
de k-algèbre est sans doute mieux connue dans ce contexte),
ou bien que k est l'anneau ℤ des entiers auquel cas il faut
comprendre l'expression k-algèbre comme exactement
synonyme de anneau. Cet anneau de base k est
sous-jacent à toute la construction (ce qu'on définit, ce sont
les k-schémas), il ne sera jamais varié, et parfois
j'omettrai sa mention (je parlerai par exemple de l'espace
affine pour ce qu'il conviendrait d'appeler l'espace affine
sur k).
Motivation : Le type d'objets que la géométrie
algébrique étudie, ce sont des solutions d'équations polynomiales (en
plusieurs variables), considérés comme des objets géométriques ; pour
prendre un exemple, je pourrais appeler cercle unité
(affine) l'« objet » C
d'équation x²+y²=1 : quand j'écris ça, cela
signifie que pour n'importe quel corps K sur k,
ou plus généralement n'importe
quelle k-algèbre A, je vais considérer
l'ensemble C(K) ou C(A)
des solutions de cette équation dans K ou A,
c'est-à-dire l'ensemble des couples (x,y) de
deux éléments de K ou A tels
que x²+y²=1. A priori ce sont plutôt les
solutions sur un corps K qui ont historiquement intéressé
les géomètres algébriques, mais pour toutes sortes de raisons il est
pertinent (et utile pour la formalisation) de s'intéresser aux
solutions sur une k-algèbre A quelconque (même
si l'intuition et, dans une certaine mesure, la terminologie, viennent
du cas des corps).
À titre d'exemples, C(ℤ) n'a que quatre
points ((±1,0) et (0,±1)), tandis que C(ℝ) correspond
vraiment à ce qu'on appelle naïvement un cercle (celui qu'on peut
paramétrer de façon transcendante par
(cos(θ),sin(θ)) ; C(ℚ) est infini
même si ce n'est pas forcément si évident à première vue (il contient
des points tels que (3/5, 4/5)) ; et on peut montrer
que C(F), si F est un corps fini
à q éléments (q nécessairement une puissance
d'un nombre premier), a q−1, q+1 ou q
éléments selon que q est respectivement congru à 1
modulo 4, congru à 3 modulo 4, ou bien une puissance de 2. (En fait,
si K est un corps de caractéristique différente de 2 —
c'est-à-dire que 2 y est inversible — alors C(K)
peut être paramétré, à l'exception du seul point (−1,0),
par t↦((1−t²)/(1+t²),2t/(1+t²))
tant que t²≠−1.)
[Le fond de ce dont il est question dans ce post
ne sera compréhensible que par mes lecteurs qui sont eux-mêmes
géomètres algébriques, mais ce que je veux souligner c'est aussi et
surtout l'effet psychologique produit sur moi par ce que j'ai appris,
et cet aspect-là ne devrait pas être technique.]
Lundi j'ai appris l'existence d'un contre-exemple qui montre que
quelque chose que j'avais tenu pour absolument et évidemment vrai en
géométrie algébrique est, en fait, faux. Le fait (vrai) est que :
L'algèbre Γ(X,𝒪X) des fonctions
régulières globales d'un schéma X de type fini (et même
d'une variété quasiprojective — ou meme quasi-affine — lisse) sur un
corps k n'est pas nécessairement de type fini.
(Voici un
contre-exemple, accompagné de quelques commentaires ; voir
aussi ici
pour un contexte un peu différent.)
(Pour dire les choses différemment, le
foncteur X↦Spec(Γ(X,𝒪X)),
adjoint à gauche du foncteur d'inclusion des k-schémas
affine dans les k-schémas, ne préserve pas la type-finitude
sur k.)
Et pour ceux qui savent un peu d'algèbre mais pas
de géométrie algébrique : on peut trouver une algèbre A de
type fini sur un corps k — c'est-à-dire qu'elle est
engendrée en tant qu'algèbre par un nombre fini d'éléments —, disons
même A intègre, et un nombre fini
d'éléments f1,…,fr
de A (je suppose que r=2 doit suffire), tels que
l'intersection B, prise dans le corps des
fractions K de A, des
anneaux A[1/fi] (des
fractions qui peuvent s'écrire avec une puissance
de fi comme dénominateur), autrement
dit les éléments de K qui peuvent s'écrire avec une
puissance de n'importe quel fi comme
dénominateur, bref, tels que cette algèbre Bne soit
pas de type fini. (Le lien avec la formulation précédente est
que B est l'anneau des fonctions régulières sur l'ouvert
réunion des D(fi) dans
Spec(A). Bon, évidemment, sous cette forme purement
algébrique, ce n'est pas évident que ça soit choquant.)
Pour ceux pour qui c'est du chinois, imaginez que j'aie toujours
cru que New York était la capitale des États-Unis et je viens
d'apprendre que non. Ou peut-être, justement, que je viens
d'apprendre que New York est la capitale des États-Unis.
Toujours est-il qu'il est intéressant de se demander pourquoi j'ai cru
le contraire ou quel effet cette révélation produit sur moi.
Pourquoi me suis-je fait cette idée fausse (que l'algèbre des
fonctions régulières d'un schéma de type fini serait de type fini) ?
Évidemment ce n'est écrit dans aucun livre ou cours, puisque ce n'est
pas vrai. Mais quand on apprend une branche des mathématiques, on ne
se contente pas de retenir par cœur quantité d'énoncés vrais et leur
démonstration : comme on n'est pas un ordinateur, on essaie de se
former une image mentale de la manière dont les choses fonctionnent,
des mécanismes généraux par lesquels les choses sont nommées et selon
lesquelles les démonstrations sont construites, etc. Un de ces
mécanismes, en géométrie algébrique, pourrait s'énoncer en gros comme
ceci :
Contexte : Il y a des objets algébriques
classiques appelés anneaux ou algèbres. La géométrie
algébrique transforme ces objets algébriques en des objets
géométriques, appelés schémas affines, qui leur sont tout à
fait équivalents — chaque anneau donne naissance à un schéma affine,
son spectre, et le schéma affine permet de retrouver l'unique
anneau dont il est le spectre comme son anneau des fonctions
régulières globales. Puis, sur cette base plus géométrique, la
géométrie algébrique définit des objets géométriques plus généraux,
les schémas, qui s'obtiennent par « recollement » de schémas
affines (lesquels sont le modèle local des schémas
généraux).
Idée : Pour beaucoup de propriétés P
des anneaux qui ont un nom standard (par exemple : réduit), on
qualifie par le même nom les schémas affines qui correspondent à
(=sont le spectre d')un anneau ayant cette propriété P ;
puis on appelle aussi de la même manière les schémas généraux qui
s'obtiennent en « recollant » des schémas affines qui
sont P (éventuellement avec une condition de finitude
supplémentaire sur le recollement) ; et enfin, on s'assure que cette
terminologie est raisonnable en vérifiant que les objets algébriques
qui se déduisent de ces objets géométriques P (leurs
anneaux de fonctions régulières) sont encore P.
Personne n'énonce explicitement ce principe général, qui admet
d'ailleurs certaines déclinaisons, et notamment les étudiants en
géométrie algébrique doivent s'en apercevoir eux-mêmes (c'est sans
doute dommage), mais je pense que personne de l'art ne contestera
l'esprit général de ce que je viens d'écrire. (Voyez, par exemple,
dans le Algebraic Geometry de Hartshorne,
l'exemple 3.0.1 et la proposition 3.2 et la remarque qui précède, et
plus généralement ce qu'il y a dans ce coin-là.) Il y a certainement
des petites variations selon la propriété P (idéalement,
c'est une propriété locale, et alors il suffit de la
vérifier localement), mais généralement elles sont telles
qu'avec un tout petit peu d'habitude on comprend immédiatement ce
qu'il faut dire parce que les contre-exemples sont évidents (par
exemple : la somme de deux schémas intègres non vide n'est pas intègre
puisque l'opération algébrique correspondante est un produit
d'anneaux, ce n'est pas une propriété locale, mais on devine alors
immédiatement quand il faut qualifier un schéma d'intègre). Je pense
que beaucoup de cours, faute de temps, s'abstiennent de faire le tour
de chaque propriété qu'on énonce pour expliquer si elle est locale (et
le démontrer !) ou donner les métapropriétés de cette propriété qui
permettent exactement de contrôler le vocabulaire — au mieux, on a
tendance à laisser ça en exercice au lecteur (voyez, par exemple,
toujours chez Hartshorne, l'exercice 2.3).
Le cas que j'évoque est traître, parce que les vérifications qu'on
va instinctivement faire pour s'assurer que « tout va bien » pour
cette propriété P (être de type fini sur un corps) sont
effectivement satisfaites (notamment : si on définit un schéma affine
de type fini sur k comme le spectre d'une algèbre de type
fini sur k, alors il est bien vrai qu'un schéma affine est
de type fini sur k si et seulement si il est recouvert par
un nombre fini d'ouverts affines dont chacun est de type fini
sur k). Et aucun contre-exemple ne saute aux yeux. Donc
je pense que beaucoup de géomètres algébristes auraient tendance,
comme moi, à tomber dans le panneau et à se dire être de type fini
sur un corps, pour un schéma nœthérien, est une propriété
locale, donc tout va bien. En tout cas, j'aurais
certainement laissé passer sans tiquer, dans un article dont je serais
rapporteur, une affirmation de ce genre.
Bref, je croyais quelque chose de faux. Est-ce grave ?
Formellement, probablement pas, parce que je ne pense pas avoir
jamais utilisé ce fait dans un raisonnement : c'est plutôt
quelque chose qui guide l'intuition — et apparemment mon intuition
était mal guidée — que quelque chose dont on se sert dans une
démonstration. C'est néanmoins très déstabilisant de se rendre compte
tardivement d'une pareille erreur d'intuition. Parce que ça m'oblige
maintenant à me demander si je n'en ai pas fait d'autres pour d'autres
propriétés P : à me demander, par exemple, si l'anneau des
fonctions régulières globales d'un schéma intègre est bien intègre, ou
autres bêtises de ce genre. Ou a contrario, à me demander s'il n'y a
pas une propriété P′ meilleure que P pour
laquelle le problème ne se poserait pas (être une limite finie
d'algèbres de type fini, par exemple, est-ce que ça se comporte
bien de tout point de vue ?), ce qui soulève quantité de questions
certes très instructives mais néanmoins chronophages et qui ne font
pas vraiment progresser la recherche.
Pour éviter ça, les cours devraient faire l'effort de
systématiquement proposer tous les exemples et
contre-exemples qui permettent d'éviter de se faire des idées
fausses sur la terminologie. Donc j'en veux beaucoup à ceux qui m'ont
enseigné la géométrie algébrique de ne pas avoir attiré mon attention
sur ce qui est un problème ou un contre-exemple classique (puisque
Hilbert se l'était posé, sous une forme différente). Ou de ne rien
m'avoir appris sur les propriétés du foncteur
d'« affinisation » X↦Spec(Γ(X,𝒪X)),
par exemple quelles propriétés il préserve, ou de la flèche
canonique X→Spec(Γ(X,𝒪X)),
par exemple quelles propriétés elle a ou à quelle condition elle
effectue une descente de propriétés de X vers son affinisé,
parce que ce sont des objets vraiments naturels et qu'on est en droit
d'être curieux à leur sujet.
Ajout : On me signale que l'avertissement est fait
dans le Red Book de Mumford (II.§3,
en-dessous de la proposition 1). En effet, c'est un bon point pour
mumford, comme le fait qu'il fait des tentatives pédagogiquement
intéressantes pour dessiner, par exemple, Spec(ℤ[t]).
(Je développe ici quelque chose que j'ai écrit en
commentaire
sur une
entrée du blog de David Monniaux sur l'épistémologie des
mathématiques.)
Le finitisme en philosophie des mathématiques est l'idée
que l'infini n'existe pas (avec différentes variations possibles selon
ce qu'on entend au juste par n'existe pas), i.e., que seuls les
objets finis — les entiers naturels ou ce qui peut se coder avec eux,
comme les structures combinatoires finies — ont vraiment un sens.
Disons qu'il s'agit d'une position qui met une limite sur
le platonisme (cf. ce que j'en
disais ici) qui postule que les
objets mathématiques existent dans une sorte de paradis platonicien :
le finitisme n'admet dans ce paradis que les entiers naturels et les
structures finies. Cette position est illustrée par une phrase de
Kronecker que j'ai déjà mainte fois citée : Die
ganzen Zahlen hat der liebe Gott gemacht, alles andere ist
Menschenwerk (Les entiers ont été faits par Dieu, tout le reste
est l'œuvre de l'homme).
L'ultrafinitisme va plus loin en rejetant non seulement
l'infini mais même les nombres absurdement grands comme ceux que je
décris dans cette entrée
(ajout : voir aussi celle-ci) (ou même
des nombres beaucoup plus petits qu'eux). Pour un ultrafinitiste, se
demander, par exemple, si le 10↑(10↑(10↑100))-ième nombre premier se
termine par 1, 3, 7 ou 9, est une question à peu près dénuée de
sens.
Évidemment, il est parfaitement sot de penser qu'il existe un plus
grand entier naturel, auquel on ne peut pas ajouter 1 : ce serait là
une caricature de la position ultrafinitiste. Ceux qui se
revendiquent de cette idée pensent plutôt que les nombres ont de moins
en moins de sens au fur et à mesure qu'ils grandissent, si bien que
100 existe certainement mais que 10↑(10↑(10↑100)) n'a à peu près aucun
sens. Je ne sais plus où j'avais entendu cette anecdote de quelqu'un
qui a voulu mettre en défaut un ultrafinitiste en essayant de trouver
le plus grand nombre dont ce dernier reconnaîtrait l'existence : il a
commencé par lui demander si 1000 existait, puis un million (10↑6),
puis un milliard (10↑9), puis un gogol (10↑100), etc. La raison pour
laquelle ce plan n'a pas marché est que l'ultrafinitiste a toujours
répondu « oui », mais en réfléchissant de plus en plus longtemps à
mesure que le nombre était grand : il a répondu presque instantanément
qu'un milliard existait, mais il a mis une seconde à déclarer qu'un
gogol existait, peut-être 10 secondes pour 10↑1000, et n'a jamais
consenti à admettre que 10↑(10↑100) existât. [Précision :
l'ultrafinitiste en question
était Esenin-Vol'pin,
l'autre était Harvey Friedman, et l'anecdote est racontée sur
l'article Wikipédia su premier (et les nombres impliqués sont
d'ailleurs plus petits que ceux que je cite).] Voilà qui devrait donner
une meilleure idée de cette philosophie ; et globalement, on peut
imaginer qu'un ultrafinitiste typique reconnaîtra l'existence d'un
nombre dans un temps, ou avec une difficulté, proportionnel à ce qu'il
faut pour l'écrire complètement — disons, en base 10 — sans artifice
comme les exponentielles, c'est-à-dire, proportionnellement à son log.
Cela correspond assez bien à l'usage qu'on fait des nombres ailleurs
qu'en mathématiques, finalement.
L'ultrafinitisme, du coup, n'admet pas forcément que l'arithmétique
de Peano, ou que ZFC, soient consistants. En fait, il
n'admet même pas que la question ait un sens (la démonstration d'une
contradiction pourrait être démesurément longue) : mais il constate
certainement qu'aucune contradiction n'est connue dans ces
systèmes, et admet peut-être, ou peut-être pas, qu'on pourrait
raisonnablement en trouver une. De fait, il y a des gens qui
cherchent à trouver, ou espèrent sérieusement qu'on trouve, une
contradiction dans ces systèmes. (Voir
notamment cette entrée passée.)
C'est là que je trouve que la position ne tient pas vraiment
debout. Car de toute évidence les ultrafinitistes acceptent les
conclusions arithmétiques de Peano (ou même de ZFC, mais
ça ne fait guère de différence ici) concernant les entiers qu'ils
considèrent comme raisonnables : si on considère les mathématiques
comme une science expérimentale, on peut même dire qu'on dispose d'une
quantité faramineuse de confirmation expérimentale de son cadre (à
chaque fois qu'on paie quelque chose, on vérifie la commutativité et
l'associativité de l'addition, et n'importe quel calcul sur ordinateur
vérifie expérimentalement des quantités énormes de théorèmes
mathématiques), et en tout cas, je vois mal comment on peut être
un mathématicien si on ne croit pas un mininum aux théorèmes que
l'on démontre. Et je ne vois rien dans la position ultrafinitiste qui
permette d'expliquer ceci : comment expliquer que Peano
(ou ZFC) fasse des prévisions si justes ? comment se
fait-il qu'on n'arrive pas, au moins en pratique, à y trouver une
contradiction ? Ou, pour dire les choses autrement : comment se
fait-il, si les objets infinis ou même les très grands nombres
n'existent pas, qu'ils donnent l'illusion d'exister ?
Comment se fait-il que le monde mathématique se comporte comme s'ils
existaient ?
Un platoniste pur jus n'aura pas de difficulté à expliquer que
Peano soit consistant : si les entiers naturels existent et
sont bien définis, il est normal qu'ils se comportent ainsi, il n'y a
pas de contradiction dans Peano tout simplement car Peano
est vrai. ((S'agissant de ZFC, ma position à
moi a tendance à être que les ensembles existent sans être uniques :
il s'agit de la position
« multivers » où il
n'existe pas un univers privilégié de la théorie des ensembles, mais
le fait qu'il en existe au moins un fait que ZFC doit
être consistant.))
La position ultrafinitiste en mathématiques me paraît semblable à
celle de quelqu'un qui prétendrait que les galaxies lointaines que
nous voyons dans le ciel nocturne n'existent pas : comme nous ne
pouvons pas raisonnablement les atteindre, nous n'en avons qu'une
image, qui pourrait être une illusion. Il n'y a pas forcément besoin
pour cela de croire que l'Univers aurait une frontière bien nette
comme il n'y a pas besoin pour être ultrafinitiste de croire qu'il
existe un plus grand entier naturel. Néanmoins, il me semble beaucoup
plus simple de penser que ces objets lointains et inatteignables
(qu'il s'agisse des autres galaxies ou des très grands nombres)
existent vraiment que de croire que, sans exister, ils parviennent à
laisser une image dans notre expérience qui suggère qu'ils
existent.
Pourquoi l'univers constructible de Gödel est important mathématiquement et philosophiquement
[J'ai écrit ce texte par tout petits bouts sur
plusieurs mois. J'espère que le processus fragmenté de son écriture
ne le rend pas trop brouillon !]
Introduction
De façon inexplicable, quand
j'ai listé certains des objets
mathématiques qui me fascinent, j'ai oublié de citer
l'univers
constructible de Gödel : la lecture de l'article Wikipédia à son
sujet ne parlera sans doute pas beaucoup au profane, mais je voudrais
rattraper mon oubli en essayant d'expliquer un peu de quoi il s'agit,
parce que cet objet me semble non seulement fondamental et extrêmement
élégant, mais même, dans un certain sens, on peut dire qu'il donne
un sens à toutes les mathématiques (avec néanmoins une question
philosophique fondamentale : est-ce vraiment le sens que
nous voulons ou devrions leur donner ? c'est-à-dire,
veut-on ou doit-on accepter l'axiome de constructibilité
qui affirme que cet univers constructible est l'univers
mathématique ?).
Si on me donne dix secondes pour dire un peu de quoi il s'agit à
quelqu'un qui ne connaît rien aux mathématiques, je pense que je
tenterais de résumer l'axiome de constructibilité à ce slogan
philosophique dont, malheureusement, le côté percutant enlève beaucoup
à la précision :
Il n'existe pas de vrai
hasard.
Si, en revanche, je dois expliquer de quoi il s'agit à quelqu'un
qui connaît un peu les mathématiques, je dirai la chose suivante :
l'axiome de constructibilité généralise — et non seulement implique,
mais même explique — deux postulats célèbres de la théorie
des ensembles que sont
l'axiome du
choix et
l'hypothèse
(généralisée) du continu. L'axiome de constructibilité rend
explicites et « naturels » des objets dont l'axiome du choix ne fait
que postuler l'existence, et il apporte suffisamment d'information sur
les parties de ℕ pour démontrer et éclairer l'hypothèse du continu (et
plus généralement sur les parties de n'importe quel ensemble pour
l'hypothèse généralisée du continu). L'axiome de constructibilité
ordonne (et « déroule ») tout l'univers mathématiques selon les
ordinaux et permet donc de répondre à un nombre étonnant de questions
combinatoires autrement indécidables, dont la véracité de l'axiome du
choix et de l'hypothèse du continu ne sont que deux exemples : ce qui
ne veut pas dire, cependant, que nous devions forcément accepter ces
réponses comme correctes.
Je suppose que beaucoup d'enfants, quand ils apprennent à compter,
jouent au petit jeu de qui peut dire le nombre le plus grand.
Bon, au début, c'est facile, ils ne connaissent
qu'un
nombre fini d'entiers naturels, donc il suffit de dire le plus
grand. Puis un jour arrivent les milliers, les millions, les
milliards, les idées pas très claires sur ce qui est le plus grand
dans tout ça et tout de même la réalisation terrifiante de ce que
c'est que l'infini, et qu'il n'y a pas de moyen de gagner à coup sûr à
ce jeu : si l'un dit un milliard, l'autre peut dire un milliard de
milliards ; si on écrit les nombres sur du papier, cela devient une
question de qui aura le temps ou la patience d'écrire le plus de
chiffres. Quand on devient plus sophistiqué, on se dit qu'on peut
relaxer la règle, ce n'est peut-être pas la peine d'écrire tous les
chiffres, on peut écrire dix puissance suivi de leur nombre,
mais alors le même problème se repose. Un jour, un des enfants décide
qu'on a le droit de jouer l'infini, mais alors l'autre
réplique l'infini plus un et s'ensuit une dispute pour savoir
si c'est légitime ou pas, pareil ou pas.
Mais les adultes jouent parfois encore à ce jeu, et notamment les
mathématiciens (il y a même un
Wikia consacré aux grands nombres). Les physiciens sont petits
joueurs : à peu près le plus grand nombre qui doit intervenir en
physique est le rapport de la densité de Planck sur
la constante
cosmologique, soit quelque chose comme 10 puissance 122, ce qui
est un peu embarrassant si on pense que ce nombre devrait valoir pas
loin de 1, mais pour un mathématicien ce n'est pas très
impressionnant ; pour un cryptographe, c'est une estimation du nombre
d'opérations qu'il faut faire, en cryptographie, pour casser une clé
de 400 bits.
D'où naturellement la question un peu stupide ou enfantine, mais
néanmoins amusante : quel est le plus grand nombre qu'on sache
définir ?
Une des difficultés que rencontrent les gens qui font un peu de
logique mathématique mais qui n'en ont pas trop l'habitude — et une
difficulté qui sous-tend beaucoup
de discussions sur la philosophie des
mathématiques — c'est que les gens ne savent plus ce que « vrai »
veut dire. Par exemple, quand on discute du théorème de Gödel ou de
la différence entre l'ensemble des théorèmes de l'arithmétique de
Peano et l'ensemble des énoncés vrais de l'arithmétique, ceci cause
souvent un certain malaise (voir par exemple
la note #2b de
l'entrée précédente). J'ai souvent
tourné autour de cette question dans ce blog, mais je n'ai jamais
essayé de présenter les choses de façon synthétique. En réponse à une
question, je vais donc essayer de dissiper la confusion (ce qui me
permettra de renvoyer à la présente entrée quand la question se
reposera à l'avenir).
(Eh oui, ce qui suit est très long. Je
croyais avoir trois fois rien à raconter, et une fois de plus j'ai
pondu des pages… et des pages… et des pages, en essayant de « parler »
à la fois à plusieurs niveaux d'expertise différents. J'ai mis en
plus petits caractères les passages qui sont une digression par
rapport à l'essentiel de mon propos, mais de façon générale j'ai
essayé de faire en sorte qu'on puisse comprendre un passage même en
ayant lu ce qui précède en diagonale. Peut-être que j'aurais dû
publier tout ça sous forme de feuilleton, en plusieurs entrées de
blog, mais je trouvais que ça nuisait à la cohérence de
l'ensemble.)
Je voudrais à nouveau tenter un
peu de vulgarisation autour de la calculabilité, cette fois-ci pour
parler du problème de Post dont je regrette qu'il soit trop
mal connu des matheux et informaticiens. Bon, déjà le nom
pose une difficulté, parce qu'il y a
deux choses différentes connues sous le nom de problème de Post
(pas totalement sans rapport, toutes les deux du domaine de la
calculabilité et liées au problème de l'arrêt, mais néanmoins bien
distinctes). Celle dont je ne veux pas parler est
le problème
de correspondance de Post : comme ce dernier est nettement
plus connu que le problème de Post dont il est question ici, cela
cause un certain nombre de confusions désagréables. Une autre
difficulté tient de façon plus générale à la terminologie du domaine
(comme
le faisait
remarquer il n'y a pas longtemps mon ami David Monniaux) : ce
qu'on appelle problème décidable s'appelle aussi ensemble
récursif (et problème semi-décidable aussi ensemble
récursivement énumérable). Bref, essayons d'y voir plus
clair.
D'abord, il faut expliquer ce qu'on entend par un problème de
décision : en bref, c'est une question mathématique bien définie
et dont la réponse doit être oui ou non. En un peu plus
précis, c'est un problème qui prend en entrée une donnée
finie (c'est-à-dire, par exemple, un entier, ou une chaîne finie
de caractères, ou une donnée combinatoire finie par exemple un graphe)
et qui doit répondre à une question mathématiquement précise sur cette
donnée. Un exemple de tel problème serait : le nombre p
que voici (la donnée du problème) est-il un nombre premier ? Ou
encore : exise-t-il
un circuit
hamiltonien dans le graphe que voici ? Il est toujours possible —
c'est même la définition ce que j'entends par donnée finie — de
coder[#] la donnée sous la forme
d'un entier naturel (par exemple, une chaîne de caractères peut se
coder comme une suite finie d'entiers, et une suite finie d'entiers
peut elle-même se coder sous la forme d'un entier par exemple en
utilisant la décomposition en facteurs premiers ou diverses
manipulations sur l'écriture binaire ou décimale). À cause de
ça[#2], on peut tout simplement
considérer qu'un problème de décision est un ensemble d'entiers
naturels : le problème est alors simplement de savoir si tel ou tel
entier donné appartient ou non à l'ensemble. On peut aussi préférer
considérer — de la même manière — qu'on a affaire à un ensemble de
chaînes (finies) de caractères, ce qu'on appelle
un langage : les notions de problème de décision,
d'ensemble d'entiers naturels, ou de langage, sont essentiellement
équivalentes.
Personne n'aime les fonctions primitives récursives ?
Je me dis souvent que la classe des fonctions primitives récursives
est le parent mal aimé de l'informatique théorique.
Les fonctions générales récursives — c'est-à-dire, calculables au
sens de Church-Turing — figurent dans n'importe quel cours de base :
ce sont celles qui peuvent être calculées par
une machine de
Turing (ou toutes sortes d'autres modèles de calculs, comme
des machines à
registres), ou encore définies dans
le λ-calcul de
Church (non typé) ou par
le schéma
de récursion générale, ou bien calculables par essentiellement
n'importe quel langage de programmation idéalisé raisonnable (je
recommande la lecture du livre de Hofstadter, Gödel, Escher,
Bach, et la description
du langage
FlooP, comme exemple). Toutes ces descriptions sont équivalentes.
Le cours va ensuite généralement souligner deux choses : (A) il est
possible de réaliser une machine de Turing universelle
(c'est-à-dire, qui prend en entrée une description d'une autre machine
de Turing et l'entrée à fournir à cette dernière, et simule son
exécution, donc termine ssi l'autre termine, et renvoie le même
résultat si c'est le cas), ce qui revient, informatiquement, à écrire
un interpréteur d'un langage de programmation dans lui-même
(ou dans un autre, peu importe), et (B) il n'est pas possible pour une
machine de Turing de résoudre
le problème
de l'arrêt des machines de Turing, c'est-à-dire de décider
(en terminant toujours) si une machine de Turing spécifiée s'arrête
(sur une entrée donnée, mais en fait peu importe). La plupart des
cours s'arrêtent là.
J'ai donné avant-hier dans le cadre du
séminaire Mathematic
Park, qui s'adresse surtout aux élèves de prépas ou de
licences scientifiques, un exposé intitulé Relativité et
Géométrie — malgré ce que le titre peut laisser penser, je n'ai
parlé que de relativité restreinte (j'avais prévu quelques
transparents sur la relativité générale s'il me restait du temps, mais
il ne m'en est pas resté, ce qui valait sans doute mieux). J'aurais
sans doute dû l'annoncer à l'avance sur ce blog, mais j'ai été un peu
pris par le temps en commençant à préparer à la dernière minute.
Bref. Mon propos a surtout été de présenter la relativité restreinte
en insistant sur l'importance de la forme quadratique de Minkowski, et
d'expliquer pourquoi il vaut mieux mesurer les vitesses en relativité
en utilisant la notion
de rapidité[#]
(qui ont le bon goût de s'ajouter en dimension 1+1) et en quoi
l'espace des vitesses de la relativité restreinte se comporte
naturellement comme
un espace
hyperbolique ; tout ça, en faisant le parallèle entre trois sortes
de relativités : la relativité restreinte ou
minkowskienne/lorentzienne, la relativité galiléenne (antérieure à
1905), et le monde fictif de la relativité « euclidienne » (exploré
dans la
trilogie Orthogonal
de Greg Egan, qui malheureusement utilise le terme « riemannien » que
je trouve très mal choisi), cette dernière servant essentiellement
comme contrepoint plus facile à visualiser, et où l'espace des
vitesses correspond à la géométrie sphérique.
Mes transparents
sont ici [lien
cassé : ici
une version locale], même si je ne sais pas s'ils seront très
compréhensibles sans tout le blabla que je prononce pour les expliquer
(le blabla a été enregistré, je ne sais pas encore s'il sera mis en
ligne ; si c'est le cas, je tâcherai d'éditer cette entrée).
Comme souvent, je me rends compte après coup de quantité de choses
que j'aurais pu expliquer et que je n'ai pas dites (ou même pas
pensées) : le sens de la polarité par rapport à la conique
fondamentale en géométrie hyperbolique ou elliptique ; ou comment
utiliser les formules trigonométriques hyperboliques pour
calculer l'aberration
de la lumière relativiste (je ne la mentionne que brièvement au
transparent 30/37) ; ou la notion d'aire sur le plan hyperbolique, sa
conservation par le groupe de Lorentz, et l'analogue hyperbolique de
la projection
azimutale équivalente de Lambert. Mais la continuation logique de
mon exposé — qui dressait le parallèle entre la relativité restreinte
et
certaines géométries
de Klein — serait de faire le parallèle entre la relativité
générale et
les géométries
de Cartan, et ça, je dois dire que je n'ai pas encore pris le
temps de le comprendre en profondeur (même si
j'ai commencé ici).
[#] Par exemple, plutôt
que de dire que les protons
du LHC
vont à 99.9999991% de la vitesse de la lumière (jouez à compter
les 9 !), ou qu'ils ont une énergie de 7 TeV, je trouve que c'est plus
parlant de dire qu'ils ont une rapidité de 9.6 dans les unités
naturelles.
Voici quelques faits supplémentaires (peut-être trompeurs, mais
vrais) :
les nombres (dont des approchants sont) écrits ci-dessus sont tous
algébriques (avec des degrés et hauteurs assez petites),
le motif d'ensemble est plus ou moins unique (il n'y a rien
d'analogue en taille moins de 12×12 sauf en taille 10×10 si on
autorise une certaine forme de dégénérescence, et il n'y a pas d'autre
solution en 12×12 sauf si on autorise cette dégénérescence).
Je donnerai la solution — qui ne fait pas appel à des choses
compliquées — en éditant ce post.
(Les gens qui ont déjà eu la réponse — et
notamment les lecteurs de forum maths à
l'ENS — n'ont pas le droit de
participer ! )
La réponse
() (je ne la cache pas, parce que
c'est vraiment trop long) :
Chacune des diagonales du damier irrégulier a la même aire qu'elle
aurait dans un damier 12×12 régulier : le rectangle (rouge) du coin en
haut à gauche a une surface égale à (1/12)² = 1/144 du carré tout
entier, les deux (orange) à sa droite et en-dessous ont, ensemble, une
aire de 2/144 = 1/72 du carré entier, les trois rectangles adjacents
ont une aire totale de 3/144 et ainsi de suite — n'importe quelle
suite de n rectangles consécutivement arrangés en diagonale
de bord en bord a une surface totale égale à n/144 du
carré. (Ainsi, dans les nombres donnés ci-dessus,
0.10367×0.06699=(1/144), 0.02778×0.06699+0.10367×0.11603=(2/144), et
ainsi de suite.) En particulier, avec mon choix de couleurs, chaque
couleur couvre une surface égale de l'image (mais la propriété que
j'énonce est plus forte).
Ce qui rend la chose remarquable, c'est qu'il n'y a pas moyen de
faire ça (en écartant bien sûr le damier régulier) pour une taille
moindre que 12×12 si on impose aux largeurs des colonnes et hauteurs
des lignes d'être strictement positives (en taille 10×10 il y
a une solution ou certaines lignes/colonnes sont réduites à 0). Et en
12×12 c'est, à symétrie près, la seule solution (autre que le damier
régulier et les deux qui ont des lignes/colonnes réduites à 0).
Le problème peut aussi se poser avec des dés : on se demande si on
peut construire deux dés à m faces, c'est-à-dire deux
distributions de probabilités sur m entiers consécutifs (de
0 à m−1 ou de 1 à m, ça ne change rien) de
manière que si on tire ces deux dés simultanément et qu'on considère
leur somme, on obtienne bien la distribution de probabilité attendue
pour la somme sur un tirage de deux dés à m faces non
pipés. Pour m<10 la seule façon d'y arriver est d'avoir
deux dés non pipés. Pour m=12, les deux distributions de
probabilité données par les deux suites de 12 nombres ci-dessus
définissent deux dés pipés dont la somme est non pipée.
Maintenant, comment (p/t)rouve-t-on ça ? L'idée initiale est très
séduisante : on considère le polynôme de degré m−1 dont les
coefficients sont les largeurs des colonnes
(soit a0 + a1·x
+ ⋯
+ am−1·xm−1
où les ai sont les largeurs des
colonnes) et celui dont les coefficients sont les hauteurs des lignes
(b0 + b1·x + ⋯
+ bm−1·xm−1) :
en les multipliant, on obtient le polynôme (de degré 2m−2)
dont les coefficients sont les aires des diagonales (le coefficient
constant est a0·b0, c'est
la surface du coin en haut à gauche, le suivant
est a1·b0
+ a0·b1, c'est la surface
de la diagonale adjacente, et ainsi de suite). La contrainte demande
donc que ce produit soit le même que le produit des deux polynômes
représentant une distribution uniforme, autrement dit
(1+x+x2+⋯+xm−1)/m
(au carré, donc, pour le produit). La question qui se pose est donc
d'écrire le polynôme
(1+x+x2+⋯+xm−1)2,
c'est-à-dire
((1−xm)/(1−x))2
(j'ai retiré le coefficient multiplicatif 1/m de
normalisation globale, sachant qu'on peut toujours renormaliser) comme
produit de deux polynômes de degré m−1 à coefficients
positifs (voire strictement positifs).
Malheureusement, la suite est plus décevante. Le polynôme
1+x+x2+⋯+xm−1
se factorise dans ℝ[x] comme produit des (1 −
2·cos(2iπ/m)·x + x²)
pour i allant de 1 à ⌊(m−1)/2⌋ ainsi que
(1+x) lorsque m est pair. On va donc chercher
à répartir les exposants (le total devant être 2) sur chacun de ces
facteurs de manière à avoir le bon degré de part et d'autre, et
n'avoir que des coefficients positifs (ou strictement positifs), et je
ne vois pas de façon plus intelligente pour ça que d'essayer toutes
les combinaisons possibles, typiquement par ordinateur. S'agissant
de m=12, les facteurs de
1+x+x2+⋯+x11
sont (1−√3·x+x²),
(1−x+x²), (1+x²),
(1+x+x²), (1+√3·x+x²) et
(1+x). Et le produit de
donne bien
(1+x+x2+⋯+x11)2,
les deux ayant des coefficients positifs ; en les renormalisant (pour
que la somme des coefficients, c'est-à-dire la valeur en 1, soit 1),
on obtient les deux suites de nombres annoncées.
On peut aussi faire varier m et chercher le nombre de
manières dont le polynôme
(1+x+x2+⋯+xm−1)2
s'écrit comme produit de deux polynômes unitaires de
degré m−1 à coefficients positifs, ou strictement
positifs : ceci revient à compter le nombre de façons dont on peut
fabriquer un damier m×m à diagonales régulières
(sans ou avec la contrainte de non-nullité des lignes et colonnes ; et
en comptant une fois le damier régulier et deux fois chaque damier
régulier à cause de la possibilité d'échanger lignes et colonnes).
Ces suites sont majorées par 3⌊m/2⌋ (qui est le
nombre total de manières d'écrire le polynôme comme produit de deux
polynômes unitaires à coefficients réels, sans autre contrainte). Je
trouve :
m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
pos.
1
1
1
1
1
1
1
1
1
3
1
7
5
7
9
9
13
15
17
25
37
s.pos.
1
1
1
1
1
1
1
1
1
1
1
3
5
7
9
9
13
11
17
19
33
La seconde suite est sans doute plus naturelle (parce que si on va
autoriser des coefficients égaux à 0, autant supprimer la contrainte
que le degré des polynômes soit exactement m−1 parce que ça
correspond à demander la non-nullité du dernier coefficient). Je
l'ai soumise à
l'OEIS.
Les labyrinthes de petits théorèmes tordus, tous semblables (ici : Fourier)
Je donne cette année un cours d'Analyse en première année à
l'école-qui-s'appelait-ENST.
Je ne suis pas du tout analyste, mais j'en profite pour essayer de me
cultiver un peu sur le sujet, et apprendre à mettre dans leur contexte
les résultats somme toute assez basiques que je leur enseigne.
Aujourd'hui j'ai fait cours sur les séries de Fourier, et comme je
voulais essayer de mettre au clair les différents résultats relatifs à
la convergence et à l'estimation de séries de Fourier, j'ai commencé à
essayer de me faire une liste systématique, et je suis tombé sur ce
que j'aime appeler un labyrinthe de petits théorèmes tordus, tous
semblables (le terme est
une référence
geek célèbre).
Ce que je veux dire par là est qu'on a un phénomène mathématique
sur lequel on montre une propriété, qui suggère quelques nouvelles
questions, auxquelles on répond par de nouveaux théorèmes ou des
contre-exemples, mais ceux-ci suggèrent encore des questions, et le
processus ne converge pas (ou du moins, ne converge pas dans les
limites de la patience ou de la mémoire dont je dispose), et à la fin
je me retrouve avec une masse de théorèmes que je confonds et où je ne
vois plus rien. C'est loin d'être le seul cas où ce me soit arrivé,
mais les séries de Fourier sont un exemple assez frappant (et le fait
qu'un M. Zygmund ait réussi à écrire deux tomes de 350 pages chacun
sur le sujet sans réussir à faire le tour non pas de toutes les
questions mais de toutes celles que je me pose naturellement,
suggère qu'il y a vraiment un labyrinthe). Petit apercu (tout ceci
étant dit pour les fonctions périodiques d'une variable réelle) :
Si f est une fonction périodique L1 dont les
coefficients de Fourier sont nuls, alors f=0.
[Zygmund (I.6.2) ; Katznelson (I.2.7).] Plus
généralement (par dualité), ceci vaut pour une mesure borélienne
signée finie (coefficients de Fourier-Stieltjes) [Katznelson (I.7.1)] ou une
distribution.
Les coefficients de Fourier définissent un isomorphisme entre
l'espace de Hilbert des fonctions périodiques L2 et
l'espace de Hilbert des suites ℓ2 (Parseval-Riesz).
[Zygmund, (II.1.12) ; Katznelson (I.5.5).]
Si f est une fonction périodique L1, alors
ses coefficients de Fourier tendent vers 0 (Riemann-Lebesgue).
[Zygmund, (II.4.4) ; Katznelson (I.2.8).]
Si μ est une mesure borélienne signée finie sur le
cercle, ses coefficients de Fourier-Stieltjes sont bornés
(évident).
Si μ est une mesure borélienne signée finie sur le
cercle, alors μ est sans atome si et seulement si ses
coefficients de Fourier-Stieltjes tendent vers 0 en densité (i.e. pour
tout ε>0 l'ensemble des coefficients de valeur
absolue >ε est de densité nulle) (Wiener).
Si f est une fonction périodique dont les coefficients
de Fourier sont ℓ1 (la série de Fourier de f
converge absolument), alors f est continue.
Si f est une fonction périodique
Lp pour 1≤p≤2 et q
l'exposant conjugué à p, alors les coefficients de Fourier
de f sont ℓq (Hausdorff-Young).
[Zygmund, (XII.2.3.i) ; Katznelson (I.4.7) & (IV.2.1).] Ceci
n'est pas vrai en général pour p>2.
Dualement : si 1≤p≤2 et q l'exposant
conjugué à p, alors toute suite ℓp
est la suite des coefficients de Fourier d'une fonction périodique
Lq. [Zygmund, (XII.2.3.ii).]
Ceci n'est pas vrai en général pour p>2.
L'autre jour, dans le cadre de mon cours d'Analyse à Télécom,
j'énonce un résultat sur le changement de variable dans les intégrales
multiples. Quelque chose comme ceci :
si φ:U→V est
un C¹-difféomorphisme entre des ouverts de
ℝn, et si f est une fonction
mesurable sur V, alors l'intégrale sur V
de f est égale à (et converge dans les mêmes cas que)
l'intégrale sur U de
(f∘φ)×|J| où J désigne le
déterminant de la différentielle de φ. L'ennui d'un tel
énoncé, c'est qu'il est peut-être mathématiquement impeccable, mais ce
n'est pas la manière dont on pense à un changement de
variable, ça ne montre pas la manière dont on mène en pratique le
calcul, parce qu'avec un tel énoncé on ne sait pas où écrire
les φ et les J.
La manière dont on fait les choses en pratique, c'est qu'on écrit
les
variables y1,…,yn
sur V en fonction de
celles x1,…,xn
sur U, on calcule les différentielles
dyi, on exprime l'« élément de
volume » sur V
dy1∧⋯∧dyn en
fonction de celui
dx1∧⋯∧dxn
sur U (le rapport étant justement J), et on
remplace simplement ça dans l'intégrale. Par exemple, pour passer des
coordonnées cartésiennes aux coordonnées polaires dans une intégrale
double, j'écris x = r·cos(θ)
et y = r·sin(θ), donc
dx∧dy = (cos(θ)·dr
− r·sin(θ)·dθ) ∧
(sin(θ)·dr
+ r·cos(θ)·dθ)
= r·dr∧dθ et je sais tout de suite où
et comment placer le facteur r sans me tromper.
Mais expliquer ça, c'est autrement plus difficile
qu'énoncer un théorème bien propre. Comme mes élèves ne savent pas ce
que c'est qu'une forme différentielle (même sur
ℝn), on ne peut pas vraiment expliquer quel sens
aurait cet élément de volume
dy1∧⋯∧dyn, ni
les subtilités sur l'orientation (autrement qu'en dimension 1) : on
écrit juste
dy1⋯dyn pour
l'élément d'intégration, mais du coup on n'explique pas vraiment le
mystère (et on n'oriente pas les intégrales).
Bref, j'ai essayé de donner une idée de ce qui se passait, mais je
ne sais pas si j'ai réussi à faire passer quoi que ce soit. C'est
malheureusement assez fréquent, en maths, qu'on soit tiraillé, pour la
pédagogique, entre donner un énoncé rigoureux auquel se rattraper, ou
donner une explication utile pour le calcul ou pour l'intuition, avec
parfois un peu de mal à faire le lien entre les deux.
Un jour il faudra que je fasse un petit catalogue des objets
mathématiques qui me fascinent le plus. Ça peut être pour l'élégance
hypnotique de leurs symétries
(E8,
le réseau de
Leech) ou pour l'universalité protéenne de leurs structures
(l'ensemble de Mandelbrot,
l'ensemble
des degrés de
Turing,
le compactifié
de Stone-Čech des entiers naturels), ça peut être pour leur
existence exceptionnelle (les octonions) ou leur valeur de
contre-exemple qui surprend l'imagination
(la longue droite), pour la
simplicité naturelle de leur construction (l'algèbre de
Grassmann-Cayley), ou encore leur centralité pour tout un domaine (le
groupe de Galois absolu des rationnels). Si je fais des
mathématiques, c'est sans doute beaucoup pour avoir le droit de
visiter et admirer ce petit musée des formes extraordinaires
(l'ensemble de Mandelbrot est visible pour n'importe qui, il y en a
quantité de vidéos, mais les autres objets que j'ai cités sont à mon
avis encore plus beaux, simplement ils sont plus difficiles à
voir).
À côté de ça, il y a aussi les situations où les maths sont
surprenantes. L'exemple le plus bateau est
le paradoxe
de Banach-Tarski (on peut découper une boule en un
nombre fini de morceaux, et déplacer ces morceaux sans
changer leur taille de manière à les réassembler pour former deux
boules chacune de la taille de la boule d'origine — sans laisser de
trous), mais il y en a d'autres. Là aussi, je devrais faire un petit
catalogue. Par exemple, saviez-vous que
la somme
de deux régions convexes du plan dont le bord est C∞
(ou même analytique) est toujours C6 (=six fois
continûment dérivable) mais pas forcément C7 ? (Un
exemple est formé par les épigraphes de x4/4
et x6/6 ; en fait, la régularité de la somme
est C20/3.)
Il y a une célèbre citation de von Neumann : Young
man, in mathematics you don't understand things. You just get used to
them. (Mon père prétend d'ailleurs que von Neumann l'a piquée à
Robert Musil, mais il n'a jamais été capable de me trouver la
référence précise, et Google ne semble pas lui donner raison, donc je
reste sur von Neumann.) Je ne sais pas si c'est vrai, ou, plus
exactement, je ne sais pas s'il y a une différence
entre comprendre les choses et s'y habituer. En lisant une
démonstration du paradoxe de Banach-Tarski (la référence classique à
ce sujet est
l'excellent petit
livre de Stan Wagon), j'ai l'impression de
comprendre pourquoi et comment ce truc fonctionne ;
et certainement, depuis le temps que je le connais, il ne me surprend
plus trop. Disons qu'on se fait une intuition de la manière dont les
objets mathématiques fonctionnent, cette intuition est essentielle
pour rechercher ce qui a des chances d'être vrai et ce qui ne l'est
probablement pas, cette intuition est parfois prise en défaut et à ce
moment-là il faut la modifier, ce qui est d'autant plus facile si on
comprend un peu en détail le pourquoi et le comment.
Et parfois les mathématiques sont à la fois très
surprenantes et élégantes. Dans mon petit musée des objets
mathématiques fascinants, il faut que je mette la sphère de
Gromoll-Meyer et la sphère de Kervaire.
En voici une définition concise pour ceux qui la
comprendront : on considère le
groupe Sp(2)
des matrices 2×2 à coefficients dans les quaternions et qui sont
unitaires ; là-dessus, on fait agir le groupe Sp(1) des quaternions
unité (=de module 1) comme ceci : si u est un quaternion
unité et T est dans Sp(2), on
définit u⋆T comme la matrice 2×2 obtenue en
multipliant T à gauche par u (c'est-à-dire la
matrice diagonale (u,u)) et à droite par la
matrice diagonale (1,u*)
où u* désigne le conjugué (=l'inverse)
de u ; ceci définit une fibration de Sp(2) en
Sp(1)≅S3, et la base de cette fibration est la
sphère de Gromoll-Meyer. Ce qui est incroyablement surprenant, à mes
yeux, c'est que l'objet ainsi obtenu est homéomorphe à la sphère de
dimension 7 mais pas difféomorphe : il s'agit donc
d'une sphère
exotique. (Il y a plusieurs choses surprenantes dans
l'histoire : l'existence même des sphères exotiques, mais aussi le
fait qu'on puisse en donner une construction aussi élégamment
algébrique. On peut aussi définir la sphère de Gromoll-Meyer, en tant
que variété différentielle, comme l'ensemble des quintuplets
(f,p,x,y,z) de
nombres complexes tels
que f5+p3+x2+y2+z2=0
— j'espère que le 5 est correct — et
|f|²+|p|²+|x|²+|y|²+|z|²=1,
ce qui est plus simple à comprendre mais assurément moins élégant.)
Quant à la sphère de Kervaire (de dimension 9, disons), elle
s'obtient en prenant deux copies de l'espace total du fibré en
5-disques tangentes à la 5-sphère et en les recollant ensemble en
identifiant, sur un voisinage d'un point identifié à un 5-disque (sur
lequel on a trivialisé le fibré), le 5-disque base d'une copie avec le
5-disque fibre de l'autre copie : le bord de la variété ainsi obtenue
est la sphère de Kervaire. (On peut aussi la définir comme l'ensemble
des sextuplets
(p,x,y,z,u,v)
de nombres complexes tels
que p3+x2+y2+z2+u2+v2=0
et
|p|²+|x|²+|y|²+|z|²+|u|²+|v|²=1.)
Elle aussi est homéomorphe mais non difféomorphe à la sphère standard
(en dimension 9, cette fois).
Bref, il faudra que je parle un jour de structures exotiques sur
les sphères et sur ℝ4, je mets ça dans ma TORANT-list.
Parce que ça fait partie de ces choses que je n'arrive vraiment pas à
comprendre, ou disons, auquelles je ne me suis pas habitué.
La convergence entre le hasard
de divagations mathématiques
auxquelles je m'étais livré récemment (et qui passaient notamment par
le concept
de géometrie
de Cartan) et du fait qu'on me propose de faire un exposé de
vulgarisation sur la relativité (j'en parlerai une autre fois) m'a
conduit à d'autres divagations entre la physique et les maths, et à me
poser la question parfaitement idiote — et assez technique — suivante,
que je vais néanmoins tâcher de raconter : comment peut-on courber un
espace galiléen ?
Grossièrement, l'idée est de faire à la « relativité galiléenne »
(c'est-à-dire
la cinématique
de la physique classique, telle qu'elle existait avant Einstein)
la même chose qu'on fait pour passer de la relativité restreinte à la
relativité générale : courber l'espace-temps.
L'espace-temps galiléen (« plat ») correspond à
l'idée naïve qu'on est censé se faire de l'espace et du temps, ou
l'idée qu'on s'en faisait avant le passage de MM. Lorentz, Poincaré,
Einstein et Minkowski (et le terme d'espace-temps n'était pas utilisé
parce qu'il n'est pas particulièrement utile, dans le cadre
galiléen, de mettre les deux ensemble : un point de l'espace-temps est
juste la donnée d'un point de l'espace à un moment précis). À
savoir : le temps est le même pour tous les observateurs ; et les lois
de la physique sont invariantes par les transformations suivantes :
(0) une translation dans l'espace ou dans le temps, (1) une rotation
(constante) de l'espace, et (2) un changement de référentiel donné par
un mouvement de déplacement uniforme (=à vitesse constante). Soit
concrètement : le résultat d'une expérience physique ne doit pas
changer lorsque (0) on la fait à un autre endroit ou un autre moment
(à condition bien sûr de déplacer tout ce qui intervient dans
l'expérience, y compris la Terre si elle intervient !), (1) on oriente
différemment ce sur quoi on mène l'expérience (même remarque), ou
(2) on effectue l'expérience dans un laboratoire se déplaçant à
vitesse constante ; le point (2) est le moins évident, il constitue le
génie de Galilée qui a (au moins selon la légende) effectué des
expériences dans des bateaux pour le prouver (du genre : une balle
lâchée du haut du mât touche le sol au pied du mât — au moins
en l'absence de frottement de l'air — et pas un peu derrière comme on
pourrait le penser). Remarquons qu'une conséquence du point (2) est
que dire que deux points de l'espace-temps sont « au même endroit »
n'a aucun sens à moins qu'ils soient aussi au même moment (j'ai
peut-être l'impression d'être assis au même endroit qu'hier, mais la
Terre, pendant ce temps, a parcouru quelque chose comme 2.5 millions
de kilomètres par rapport au système solaire qui lui-même, etc.). Les
transformations de l'espace-temps (translations, rotations,
changements de vitesse uniforme) décrites ci-dessus engendrent un
groupe appelé groupe de Galilée (ou en fait, deux groupes :
le groupe de Galilée homogène, de dimension 6, engendré par
(1) et (2), qu'on peut imaginer comme opérant sur les vitesses, et qui
est d'ailleurs isomorphe au groupe des déplacements d'un espace
euclidien de dimension 3 ; et le groupe de
Galilée inhomogène, ou complet, de dimension 10, engendré par
(0)–(2), qu'on peut imaginer comme opérant sur les points de
l'espace-temps).
L'espace-temps de la relativité restreinte, ou espace-temps de
Minkowski, est construit selon des principes analogues à ceci près que
maintenant le temps n'est plus absolu, c'est la vitesse de la
lumière qui l'est (i.e., quelle que soit la vitesse à laquelle je
cours derrière un rayon de lumière, il avancera toujours aussi
vite par rapport à moi), et ce simple principe, avec les
invariances par translation, rotations et changement de référentiel,
correctement interprétées, suffit à fonder toute la cinématique
relativiste. Si on a la vision de Felix Klein dans son
célèbre programme
d'Erlangen, ce qui importe vraiment est le groupe des
transformations sur l'espace-temps, et en relativité restreinte les
analogues du groupe de Galilée sont le groupe de Lorentz (de
dimension 6, analogue du groupe de Galilée homogène) et le groupe de
Poincaré (la variante inhomogène, c'est-à-dire incluant aussi les
translations, il est de dimension 10).
La relativité générale part du principe que l'espace-temps est un
espace courbe (et sans torsion ;
cf. une entrée précédente sur le
sens de ces deux mots) qui « ressemble localement » à l'espace-temps
de Minkowski, et que les objets en chute libre suivent des géodésiques
(c'est-à-dire des courbes « aussi droites que possible ») dans un
espace-temps courbe. Normalement, il n'y a pas grand-chose à dire, en
plus de ça, pour arriver à la relativité générale (il faut cependant
bien dire quelque chose de plus car, comme j'aime bien le rappeler,
sinon
la théorie
de Nordström convient aussi). La question que je me suis
ingénument posée est : que donnerait une théorie physique fictionnelle
partant du principe que l'espace-temps est courbe (et sans torsion)
mais ressemble localement à l'espace-temps galiléen (toujours avec le
principe que les objets en chute libre suivent des géodésiques). Il
est assez facile de se convaincre que cette théorie fictionnelle
contient au moins la gravitation à la Newton, mais elle
contient plus, parce que l'espace lui-même peut être courbe, parce
qu'il y a une sorte de champ « gravitomagnétique », et par ailleurs,
comme la relativité générale, elle permet de décrire des changements
quelconques de coordonnées et de référentiels (y compris accélérés, en
rotation, etc.).
Une petite addition à la liste que
j'avais faite naguère (+1),
dans le genre plus proche de ces
problèmes-là (en fait, il s'agit d'une variation sur ce que
j'appelais l'archi-classique problème des amazones qui tuent leurs
maris quand elles savent qu'ils sont infidèles ; il est aussi
apparenté au paradoxe de l'examen
surprise) :
Le cruel Docteur No a capturé seize mathématiciens. Il les
installe autour d'une table et met sur la tête de trois d'entre eux un
chapeau blanc, cinq d'entre eux un chapeau rouge, et huit d'entre eux
un chapeau noir. Puis il leur tient le discours suivant
(rigoureusement exact) : Messieurs, vous êtes tous de parfaits
logiciens, et vous savez que je ne vous dirai que la vérité. J'ai
placé sur la tête de chacun d'entre vous un chapeau, soit blanc, soit
rouge, soit noir. Chacun de vous peut voir la couleur des chapeaux
des quinze autres mathématiciens, mais pas du sien. Votre but sera de
déduire la couleur de votre chapeau. Pour cela, nous allons procéder
en plusieurs tours : à chaque tour, vous écrirez secrètement dans une
enveloppe la couleur que vous aurez déduite de votre chapeau, si vous
le pouvez, sinon vous laisserez l'enveloppe vide — puis nous
dévoilerons le contenu de chaque enveloppe et nous procéderons à un
nouveau tour (et ainsi de suite). Vous n'aurez aucun autre moyen de
communication. Si une enveloppe contient une mention incorrecte, je
vous ferai tous mourir dans d'atroces souffrances (mais cela ne se
produira pas car, en tant que parfaits logiciens, vous n'écririez
qu'une couleur dont vous êtes logiquement certains). Si trop de tours
passent sans que vous ayez tous déduit la couleur de votre chapeau, je
vous mettrai aussi à mort (mais nous savons tous que vous écrirez une
couleur dès qu'il est logiquement possible de la déduire). Bien, nous
allons commencer. Puis, sentant bien que le problème est
impossible, le Docteur No ajoute, comme indication : Toutes les
couleurs de chapeaux sont représentées (i.e., au moins l'un d'entre
vous a un chapeau de chacune des trois couleurs possibles). Comme
vous pouvez d'ailleurs le voir. Que va-t-il se passer ?
Le nœud de ce problème existe sous un nombre infini de variantes
(par
exemple celle-ci),
je l'ai souvent appelé le « problème des amazones » parce que j'ai dû
le lire d'abord sous cette
forme-là[#], mais il faut faire
beaucoup de contorsions pour y mettre toutes les hypothèses
nécessaires (que je crois avoir correctement réunies). Ici j'ai
ajouté quelques petites subtilités pour rendre la chose plus
amusante.
(Si on n'a jamais rencontré ce problème, on peut s'échauffer en
réfléchissant à ce qui se passe s'il n'y a qu'un seul mathématicien,
puis deux, puis trois, quatre, cinq, tous ayant un chapeau blanc, et
l'indication du Docteur No est : au moins l'un de vous a un chapeau
blanc. Chaque mathématicien supplémentaire apporte un niveau de
profondeur supplémentaire dans le raisonnement, au sens où chacun
raisonnera sur les raisonnements de tous les autres.)
Bref, que va-t-il se
passer ? Réponse : Au premier tour, toutes les
enveloppes sont vides. Au deuxième tour, tous les (trois)
mathématiciens ayant un chapeau blanc indiquent que c'est le cas (et
les autres enveloppes sont vides) ; notons que ceci se serait produit
un tour plus tard si le Docteur No n'avait pas dit comme vous
pouvez le voir. Au troisième tour, rien de nouveau (les trois au
chapeau blanc n'ont évidemment rien de nouveau à dire, les treize
autres rendent enveloppe vide). Au quatrième tour, les (cinq)
mathématiciens au chapeau rouge annoncent correctement la couleur.
Enfin, au cinquième tour, ce sont les (huit) mathématiciens restants
qui disent avec raison avoir un chapeau noir.
Le « paradoxe » avec ce problème, c'est que le Docteur No donne
comme indication quelque chose qui est manifestement visible de tous
les mathématiciens (tous voient bien qu'il y a un chapeau de chaque
couleur, et même, puisqu'il y a trois chapeaux blancs, tous voient
bien que tous le voient bien, donc tout le monde savait déjà que
l'indication du Docteur No était correcte : elle n'apporte en
elle-même aucune information nouvelle à qui que ce soit), mais elle
est pourtant indispensable à une quelconque déduction (sans
l'indication, aucun mathématicien ne peut jamais déduire quoi que ce
soit). L'explication, c'est que si tous les mathématiciens savent que
l'information donnée par le Docteur No était correcte, le fait qu'il
la prononce apporte une information nouvelle, c'est que maintenant non
seulement tout le monde le sait, mais tout le monde sait que tout
le monde le sait, et tout le monde sait ça, et ainsi de
suite. C'est ce qui rend la déduction possible.
En fait, si on veut faire une analyse vraiment
rigoureuse du problème, le cadre est assez complexe : a priori, il
s'agit de calcul
propositionnel modal,
avec 16 modalités correspondant à le mathématicien nº1 sait que
jusqu'à le mathématicien nº16 sait que (heureusement vérifiant
le système standard S5 de la logique modale). Et les modèles
d'une telle chose sont, en vérité, assez compliqués. Par exemple, si
on veut décrire l'ensemble de toutes les configurations possibles, ce
n'est pas très aisé : rien qu'avec un mathématicien, il y a douze
« états » possibles (le mathématicien a un chapeau blanc et ne sait
rien sur la couleur de celui-ci, il a un chapeau blanc et il sait
qu'il n'est pas rouge, il a un chapeau blanc et il sait qu'il n'est
pas noir, il a un chapeau blanc et il sait qu'il est blanc, et de
façon analogue pour chacune des deux autres couleurs) ; pour deux
mathématiciens, il faut tenir compte non seulement de la couleur du
chapeau de chacun, et de ce qu'il en sait, mais aussi de ce que
l'autre sait qu'il en sait, et ainsi de suite jusqu'à un niveau
arbitrairement élevé, ce qui fait une infinité de possibilités — il y
a certainement des façons intelligentes de définir des états
« utiles » en nombre fini, mais je n'ai pas les idées complètement
claires.
On peut aussi penser au problème sous un angle vaguement
algorithmique, si un mathématicien voit p autres
mathématiciens ayant un chapeau blanc, q avec un chapeau
rouge, et r avec un chapeau noir, en fonction de ce qui a
été annoncé aux tours précédents, que doit-il mettre dans son
enveloppe ? Ce qui est assez étonnant, c'est que si les
mathématiciens avaient l'occasion de se concerter entre eux (avant de
recevoir les chapeaux, évidemment, mais après avoir reçu
l'indication il y a au moins un chapeau de chaque couleur, ou
pour être exactement identique à ce que j'ai écrit, il y a au moins
deux chapeaux de chaque couleur), leur stratégie serait de toute
façon la même : cette concertation ne sert à rien. (Elle est utile,
en revanche, s'ils ne reçoivent aucune indication : dans ce cas, ils
peuvent décider de prendre le risque de mourir si le Docteur No a cité
une couleur pour laquelle il n'a placé aucun chapeau.)
[#] Sans doute dans une
des colonnes mathématiques de l'âge d'or
de Scientific
American : Mathematical Games de
Martin Gardner, Metamagical Themas de
Douglas Hofstadter ou bien Mathematical
Recreations d'Ian Stewart.
La laborieusement interminable écriture de mon texte de
vulgarisation sur les octonions m'a amené, de fil en aiguille
(géométrie octonionique → espaces projectifs sur les réels, complexes,
quaternions et octonions → géométrie riemannienne réelle de ceux-ci) à
lire ou relire des choses sur la géométrie riemannienne. Pour ceux
qui n'ont aucune idée de ce dont je parle, disons qu'en zéroième
approximation[#], il s'agit de
la géométrie des espaces courbes (le mot courbe méritant
lui-même d'être expliqué, puisqu'il s'agit de
courbure intrinsèque) ; et il
s'agit[#2] de l'ingrédient
mathématique essentiel de la relativité
générale, qui explique la gravitation comme une courbure de
l'espace-temps[#3].
La géométrie riemannienne est aussi quelque chose qu'on a vraiment
envie de vulgariser : parce qu'elle donne l'impression, peut-être
trompeuse, qu'il est possible d'en expliquer les idées fondamentales
« avec les mains », tant il s'agit d'idées géométriques souvent
visuellement « concrètes » ; et aussi parce que la vulgariser aiderait
à mieux la comprendre et, accessoirement, à comprendre la relativité
générale[#4].
La première difficulté qui surgit, c'est sans doute d'expliquer de
quoi il est question : la géométrie riemannienne s'intéresse à la
courbure intrinsèque ; or si on propose au profane de
visualiser un espace courbe, il va fatalement le visualiser comme une
courbe ou une surface à l'intérieur d'un espace euclidien (i.e., plat)
de dimension 3, cette tendance étant certainement accentuée par le
fait que l'exemple le plus évident soit celui d'une sphère, qu'on
imaginera volontiers plongée en dimension 3. Et de même, si on
explique que la relativité générale présente l'espace-temps
comme courbe, la première image qui vient à l'esprit de tout un
chacun est de se dire qu'il doit y avoir un espace plus gros (i.e.,
ayant des dimensions en plus) à l'intérieur duquel il réside. Or,
s'il est vrai qu'on peut toujours plonger une variété riemannienne
dans un espace plat de dimension assez grosse (ajouter une seule
dimension ne suffit pas toujours), ce n'est une opération ni
naturelle, ni très intéressante, et ce serait un mauvais départ que de
se servir de cet artifice.
Dans la série David fait joujou avec les probas et les maths
élémentaires, je me suis fait les réflexions à 15 microzorkmids
suivantes :
Voilà un scénario typique : on considère un jeu sportif entre deux
joueurs qui se joue, disons, par manches indépendantes les
unes des autres (chacune étant gagnée par un des deux joueurs), et on
souhaite définir une manière de combiner les manches en un match,
c'est-à-dire définir une règle qui détermine en fonction des manches
déjà jouées si on en joue une nouvelle ou si on déclare un gagnant et
dans ce cas lequel. Des exemples de telles règles pourraient être :
le gagnant est le premier joueur qui a emporté deux manches (« deux
sets gagnants »), ou trois manches (« trois sets gagnants »), ou
encore, le gagnant est celui qui a emporté deux manches de
plus que son adversaire (le risque étant alors que la partie dure
longtemps). On peut aussi imaginer empiler deux niveaux de telles
règles, par exemple avoir un jeu qui se joue sous forme
de jeux indépendants, une première règle définissant quel
joueur emporte une manche en fonction des jeux qu'il a
gagnés, et une seconde définissant quel joueur emporte le match en
fonction des manches. Voire trois niveaux (points, jeux, manches,
match) ou plus.
Faisons l'hypothèse suivante : le joueur 1 remporte une manche
quelconque avec probabilité p, le joueur 2 l'emportant donc
avec probabilité 1−p, et chaque manche est indépendante des
autres. La probabilité que le joueur 1 emporte le match est une
fonction f(p) qui dépend de la règle appliquée.
La moindre des choses qu'on souhaite, c'est que la règle soit
équitable a priori, favorise le meilleur joueur a
posteriori, et d'autant plus qu'il est bon,
i.e., f(1−p)=1−f(p)
et f strictement croissante (ce qui implique
notamment f(p)>½ si p>½), mais
même f(p)>p pour
½<p<1. C'est ça que je vais appeler
un amplificateur de probabilités.
La règle « deux sets gagnants » est sans doute la plus simple (à
part celle qui consiste à dire qu'on ne fait qu'une seule manche) : il
revient évidemment au même de faire toujours exactement trois manches
et de prendre pour gagnant celui qui en a gagné le plus (c'est-à-dire,
au moins deux), étant entendu qu'il n'a pas d'incidence mathématique
qu'on décide de ne pas jouer la troisième manche lorsqu'elle ne peut
pas influencer l'issue du match. La probabilité que le joueur 1
emporte le match est égale à la somme de la probabilité qu'il emporte
les trois manches, soit p³, et de la probabilité qu'il
emporte deux des manches et perde la troisième, qui peut être
n'importe laquelle des trois, soit 3·p²·(1−p) ;
ce qui fait, au total, f(p) = 3·p² −
2·p³.
Je conclus (enfin, j'espère !, parce que je commence à en avoir un
peu marre) la série des trois derniers posts
(1, 2
et 3) avec les résultats
promis.
D'abord, en petits caractères, voici de façon très détaillée la
méthodologie que j'ai suivie.
Premièrement, le jeu de données. S'agissant de 2012, elles
sont ici
pour le 1er tour
et là
pour le 2d ; s'agissant de 2007, elles
sont ici
pour le 1er tour
et là
pour le 2d. Pour bien s'entendre, il y a 36791 lignes de
données pour 2012, et 36698 pour 2007.
J'ai d'abord retiré tous les départements et autres collectivités
d'outre-mer (mais gardé la Corse), au motif que les reports s'y
effectuent sans doute de façon différente de la métropole, et aussi
parce que certaines ne sont pas détaillées dans le fichier pour 2007.
Ensuite, comme je voulais un fichier unifié entre 2007 et 2012, j'ai
fusionné toutes les données selon les codes de département et de
commune, en ne gardant que les clés qui étaient présentes à la fois en
2007 et 2012 : ceci implique que pour les communes qui ont fusionné
entre les deux (par exemple 21084 Blessey et 21551
Saint-Germain-Source-Seine ont fusionné pour former 21084
Source-Seine), je n'ai gardé que la commune ayant le numéro donné à la
commune fusionnée, et inversement en cas de scission (par exemple, je
supprime des données de 2012 la commune de 52033 Avrecourt qui faisait
en 2007 partie de 52332 Val-de-Meuse). Je supprime encore les 15
communes (05014 Barret-sur-Méouge, 05181 Villar-d'Arêne, 10298
Pont-sur-Seine, 14726 Vassy, 31019 Artigue, 31081 Bourg-d'Oueil, 39364
Montrond, 43122 Lissac, 50049 Besneville, 50105 Catteville, 50614 Le
Valdécie, 63181 Joserand, 79076 La Chapelle-Saint-Laurent, 80197
Cizancourt et 86241 Saint-Rémy-sur-Creuse) dont la totalité des votes
a été annulée par le Conseil constitutionnel sur l'un des quatre tours
d'élection considérés. Au final, il reste 36538 lignes de
données.
S'agissant des colonnes de données, je conserve, pour
chaque élection : le nombre d'abstentions, le nombre de blancs+nuls,
et le nombre de votes pour chaque candidat, le total étant toujours
égal au nombre d'inscrits. Qui peut, en revanche, changer, même entre
les deux tours d'une même élection, oui : mon fichier totalise
42057423 inscrits (sur 44472834 en vérité, c'est-à-dire surtout avec
l'outre-mer) au premier tour en 2007, 42057755 au second tour (sur
44472733), et en 2012 : 43250761 inscrits (sur 46028542) au premier
tour et 43253197 (sur 46066307) au second.
J'attribue à chaque commune et indépendamment pour chacune des deux
élections, une répartition gauche-droite grossière, sur la base des
suffrages exprimés au 1er tour, en sommant les
voix des candidats que j'ai classés, de façon ad hoc, comme étant « de
gauche » d'un côté, « de droite » de l'autre, les centristes comptant
pour moitié de chaque côté. J'ai classé de cette manière : en 2007,
Besancenot, Buffet, Schivardi, Bové, Voynet, Royal et Laguiller à
gauche, Bayrou et Nihous au centre, de Villiers, Le Pen et Sarkozy à
droite ; en 2012, Joly, Mélenchon, Poutou, Arthaud et Hollande à
gauche, Cheminade et Bayrou au centre, Le Pen, Sarkozy et
Dupont-Aignan à droite. Par exemple, ce score répartit Paris en 2007
à 48.8% à gauche (et donc 51.2% à droite) et en 2012 à 55.8% à gauche
(et donc 44.2% à droite). Ce score ne sera pas utilisé
directement mais simplement pour analyser plus finement les
populations d'abstentionnistes et d'électeurs de Le Pen (l'idée étant
que les électeurs de Le Pen ne sont pas vraiment les mêmes à Calais et
à Cannes et n'ont pas le même comportement au second tour).
Je divise fictivement les populations d'abstentionnistes et de
votants pour Le Pen au premier tour en deux dans les proportions
données par la répartition gauche-droite grossière évoquée ci-dessus
(par exemple, comme j'ai dit qu'à Paris en 2012 la répartition est de
55.8% à gauche et 44.2% à droite, je ferai deux sous-populations des
abstentionnistes du premier tour avec 55.8% d'un côté et 44.2% de
l'autre, et pareil pour les électeurs de Le Pen du premier tour).
J'appellerai ces sous-populations des abstentionnistes de
gauche et abstentionnistes de droite et de
même électeurs de Le Pen gauche et électeurs de Le Pen
droite, ce qui ne signifie pas que je préjuge des choses
à leur sujet, encore moins leur vote, il s'agit juste de refléter
l'environnement général où ils se trouvent pour modéliser la façon
dont ils se comporteront au second tour.
J'ai donc divisé les électeurs du premier tour en N
populations : il y a 16 populations en 2007 (une pour chacun des 12
candidats, sauf Le Pen qui en a récupéré deux, plus encore deux pour
les abstentionnistes et une pour les blancs-ou-nuls), et 14
populations en 2012. Pour le second tour, je n'ai que 4 populations :
les abstentionnistes, les votes blancs-ou-nuls, et les deux candidats.
Pour éviter de s'ennuyer avec la variation du nombre d'inscrits, je
multiplie les populations du second tour par le rapport d'inscrits
pour faire comme si le nombre d'inscrits du second tour était égal à
celui du premier tour : ce sera ça ma cible. (On aurait aussi pu
imaginer créer une nouvelle population, les absents-au-premier-tour,
mais je ne pense pas qu'ils soient suffisamment nombreux ou homogènes
pour être modélisables de façon sensée.)
Maintenant, je vais chercher à trouver la matrice de report entre
les N populations du premier tour et les 4 populations du
second tour (ramenées proportionnellement au nombre d'inscrits du
premier tour). Je cherche donc une matrice 4×N de nombres
réels entre 0 et 1 (les N colonnes représentant la
répartition des votes au second tour, en proportion, de chacune des
populations du premier tour). Les contraintes exigées de cette
matrice sont :
toutes les entrées sont comprises entre 0 et 1,
la somme de chaque colonne vaut 1 (i.e., la matrice est
stochastique à gauche),
la matrice appliquée au vecteur total de chacune
des N populations de premier tour pour toute la France doit
donner le vecteur total des 4 populations de second tour (par exemple,
pour 2012, la matrice appliquée au vecteur [abstention-gauche:3930068
abstention-droite:4126717 blancs-ou-nuls:648166 Joly:786363
Le-Pen-gauche:2923896 Le-Pen-droite:3397710 Sarkozy:9340798
Mélenchon:3899288 Poutou:399753 Arthaud:194859 Cheminade:84939
Bayrou:3173183 Dupont-Aignan:627892 Hollande:9717129] doit donner
[abstention:7804808 blancs-ou-nuls:2076910 Hollande:17125029
Sarkozy:16244014]), ces deux vecteurs étant évidemment de même total à
savoir le nombre d'inscrits du premier tour.
Les deux derniers points déterminent N+3 conditions
linéaires indépendantes (une pour chaque colonne et une pour chaque
ligne, sachant qu'une quelconque de ces conditions peut être éliminée
comme découlant de toutes les autres).
Je cherche maintenant la matrice, vérifiant ces contraintes, qui
parmi les matrices vérifiant ces contraintes réalise la plus petite
somme des erreurs quadratiques sur toutes les communes (enfin, parmi
les 36538 communes de mon tableau) : les erreurs étant la différence,
en nombre total de voix, entre l'application de la matrice au vecteur
donnant les populations de premier tour, et le vecteur de second tour
(ramené au nombre d'inscrits du premier tour) — on somme donc les
carrés des erreurs sur chacune des quatre composantes du vecteur et
sur chacune des 36538 communes. Ce calcul est un problème
de programmation
quadratique en 4N variables, que j'ai résolu avec la
fonction qp de GNU Octave.
On peut éventuellement ajouter une contrainte demandant que le
report d'un candidat du premier tour qui est admis au second tour soit
parfait sur ce candidat lui-même : je n'ai pas eu à ajouter cette
contrainte pour 2012 (la solution trouvée vérifiait déjà cette
contrainte) ; pour 2007, la solution vérifiait cette contrainte sur
Nicolas Sarkozy, et seulement approximativement sur Ségolène Royal (la
matrice trouvée reportait 3% des voix de Ségolène Royal du premier
tour sur l'abstention au second tour, et seulement à 97% sur
elle-même) : ajouter de force la contrainte ne changeait que de
quelques pour cent les reports sur les autres candidats, une précision
à laquelle je ne prétends de toute façon pas, donc je l'ai introduite
pour plus de propreté.
Évidemment, pour indiquer les résultats finaux, il faut réagréger
les populations qui ont été artificiellement séparées, c'est-à-dire
les « abstentionnistes-de-gauche » et les
« abstentionnistes-de-droite », et de même « Le Pen-gauche » et
« Le Pen-droite ».
Par contre, je n'ai finalement pas agrégé ensemble dans les
calculs les candidats trop semblables (Arthaud et Poutou, ou bien
Cheminade avec les blancs-et-nuls), au motif que de toute façon les
résultats calculés pour eux sont probablement dénués de sens de toute
façon mais que les garder séparés dans les calculs permet
peut-être d'obtenir de meilleurs résultats sur les autres candidats
(après tout, tout prédicteur en entrée est bon à prendre, je suppose).
J'agrège ces résultats uniquement dans le résultat que j'indique :
Pour 2012 :
1er tour→ ↓2d tour
Abstentions
Blancs+nuls + Cheminade
Joly
Le Pen
Sarkozy
Mélenchon
Poutou + Arthaud
Bayrou
Dupont-Aignan
Hollande
Abstentions
79%
0%
0%
23%
0%
0%
0%
0%
0%
0%
Blancs+nuls
0%
46%
0%
15%
0%
0%
40%
9%
44%
0%
Hollande
6%
43%
74%
6%
0%
98%
60%
42%
25%
100%
Sarkozy
15%
10%
26%
56%
100%
2%
0%
49%
31%
0%
Pour 2007 :
1er tour→ ↓2d tour
Abstentions
Blancs+nuls
Besancenot + Schivardi + Laguiller
Buffet
Bayrou
Bové + Voynet
De Villiers
Royal
Nihous
Le Pen
Sarkozy
Abstentions
82%
0%
0%
0%
17%
0%
0%
0%
0%
0%
0%
Blancs+nuls
0%
75%
1%
0%
11%
1%
0%
0%
14%
9%
0%
Sarkozy
13%
0%
5%
0%
31%
0%
100%
0%
86%
85%
100%
Royal
5%
25%
94%
100%
41%
99%
0%
100%
0%
6%
0%
Évidemment, ces tableaux sont à prendre avec énormément de
pincettes ! Pour avoir une idée de l'imprécision, on peut comparer le
tableau pour 2007 ci-dessus
avec celui donné dans une
entrée précédente (où les principales différences étaient que (a) je
n'avais pas scindé les abstentions et Le Pen, (b) je n'avais pas
imposé les contraintes linéaires sur les lignes de la matrice, et
(c) je n'avais pas exclu l'outre-mer) : je pense que mon nouveau
tableau est un poil meilleur, mais il ne l'est sans doute pas
énormément, donc il faut prendre l'énorme différence dans les scores
de reports de Frédéric Nihous comme signifiant simplement on n'en
sait rien (même si le nouveau tableau suggère quand même plutôt
que son électorat était de droite). Évidemment il est invraisemblable
que l'électorat de Bové et Voynet se soit reporté à 99% sur Ségolène
Royal en 2007, ou celui de Mélenchon à 98% sur Hollande en 2012, ou
autres colonnes de ce genre, donc ces reports doivent simplement être
considérés comme signifiant que l'algorithme a correctement classifié
ces candidats comme étant de gauche, ou a contrario De Villiers comme
étant de droite (on pourra m'objecter que ma méthodologie supposait de
toute façon de classifier a priori les candidats grossièrement
à gauche ou à droite, mais en fait les scores dont je parle sont
relativement robustes à cette classification).
Encore des considérations sur les statistiques électorales
Pour ceux qui auraient la flemme de lire les deux entrées
précédentes (ici
et là), la question qui m'intéresse
est la suivante : peut-on, à partir des données électorales détaillées
des deux tours d'une élection présidentielle, estimer statistiquement
la matrice de report des voix d'un tour sur l'autre, c'est-à-dire, la
proportion de chacun des types d'électeurs du premier tour (électeurs
de chacun des candidats + nuls + abstentionnistes) qui a eu tel ou tel
vote au second tour (l'un des deux candidats, ou le nul, ou
l'abstention) ? Je voudrais faire cette analyse pour les élections
présidentielle de 2007 et de
2012[#].
Des commentaires éclairants sur les deux dernières entrées font que
j'y vois plus clair : d'abord concernant la terminologie, on parle
d'inférence écologique parce qu'il s'agit de reconstituer
des comportements individuels à partir d'agrégats (on sait simplement
le nombre total de votes de chaque type au premier et au second tour
dans chacune des ∼37000 communes de France). Ce type d'inférence est
hasardeux en général, et l'idée naïve d'appliquer une simple
régression linéaire peut donner des résultats aberrants ou faux
quoique apparemment plausibles.
Un exemple
célèbre du paradoxe écologique est
celui souligné en 1950
par W. Robinson, qui observe qu'en faisant une régression entre
(état par état) le nombre de personnes nées à l'étranger et le nombre
de personnes sachant lire et écrire sur les données du recensement de
1930 aux États-Unis, il observe une corrélation positive, i.e., plus
un état compte de personnes nées à l'étranger, plus il compte de
personnes sachant lire et écrire : peut-on en conclure que les
personnes nées à l'étranger savent plus lire et écrire (dans la
population des États-Unis de 1930) ? non, l'explication est simplement
que les personnes nées à l'étranger et ayant immigré aux États-Unis
ont eu tendance à s'installer dans des états où la population (native)
savait plus lire et écrire, par exemple parce que ces états étaient
plus
riches. Ce
texte résume un peu le problème ainsi que différents éléments de
réponse.
Les deux problèmes que je répertoriais dans l'entrée précédente
sont : primo, que le nombre de coefficients que je cherche à estimer
est important et que les données ne sont pas assez nombreuses, ou
surtout pas assez dispersées pour permettre une estimation raisonnable
(un commentateur me signale que la taille de l'échantillon pour avoir
des coefficients peu bruités croît exponentiellement avec le nombre de
coefficients à déterminer) ; secundo, qu'on a des effets que j'appelle
non-linéaires et qui sont en vérité la même chose que le paradoxe
écologique décrit ci-dessus : les abstentionnistes du premier tour,
pour ceux qui se mobilisent au second tour, par exemple, n'ont pas le
même profil dans les communes qui votent globalement à gauche que dans
celles qui votent globalement à droite (si on y réfléchit, il s'agit
du même phénomène que dans l'exemple de Robinson mentionné ci-dessus :
une hétérogénéité des populations concernées).
Différentes méthodes ont été proposées pour essayer de faire quand
même cette fameuse inférence écologique. La méthode consistant à
faire une simple régression linéaire a été analysée par L. Goodman
dans les années '50, qui montre (si je comprends bien, parce que je
n'ai pas pu avoir accès aux articles) qu'elle fonctionne bien sous des
hypothèses qui, dans mon cas, doivent dire grosso modo que la
répartition des reports de chaque type d'électeurs du premier tour
n'est pas corrélé à la configuration des votes dans la commune (comme
je le signale ci-dessus, c'est sans doute assez faux, par exemple dans
le cas de l'abstention ou dans une moindre mesure du vote pour
Le Pen ; ça me semble plus plausible pour le vote Bayrou). Divers
statisticiens ont eu, comme moi, l'idée de borner les coefficients et
de faire une régression linéaire contrainte (je n'ai regardé que très
sommairement, mais ce
papier
et celui-là ont
l'air de faire des choses de ce genre : le second, d'ailleurs, semble
extrêmement proche de ce que j'ai fait).
Des méthodes plus sophistiquées existent : on me signale que Gary
King en a
écrit tout un
livre, où il propose une « solution » au problème ; comme je n'ai
pas accès à ce livre, je dois me contenter d'en lire des recensions et
commentaires, et
des résumés
de la méthode de King, et je note que cette dernière ne fait pas
l'unanimité. Voir par
exemple ce
texte, écrit par un critique. Le principal problème que j'ai,
moi, est d'ordre pratique :
l'implémentation de la
méthode pour [le programme de statistiques] R, écrite par King
lui-même, est limitée à des matrices 2×2 (or celle qui m'intéresse est
4×14 pour 2007 et 4×12 pour 2012) ; de
même, ce
package, qui implémente une autre méthode « sophistiquée »
d'inférence écologique, est limité de la même façon ; et toutes ces
méthodes sont algorithmiquement bien trop pénibles pour être
implémentées de novo en un temps raisonnable. Donc il faut
bien que je me contente de quelque chose de plus simple.
D'un autre côté, je pense qu'il est raisonnable, pour le problème
considéré, de se contenter de quelque chose de plus simple : notamment
parce que les populations des différents votes au premier tour sont
relativement homogènes quand il s'agit de prévoir le vote au second
tour (contrairement aux exemples classiques de « paradoxe écologique »
où on relie des variables très différentes et mal corrélées). Un
exemple extrême est évidemment la population d'électeurs au premier
tour d'un des candidats qui passent au second tour : il est évident
qu'une énorme majorité d'entre eux votent encore pour le même candidat
au second tour — ici, la prédiction est presque parfaite.
Je défends donc finalement mon idée de rester sur une régression
linéaire, avec trois principales idées que j'ai déjà exposées pour
améliorer la qualité des chiffres :
Contraindre les coefficients de la régression à être entre 0 et 1
et de somme 1 pour chaque colonne. (Comme je l'ai signalé, je ne suis
pas le premier à faire ça.) Autrement dit, j'effectue une régression
linéaire contrainte (je minimiser la somme des erreurs
quadratiques parmi les matrices vérifiant les contraintes ci-dessus).
L'idée sous-jacente est que certains coefficients sont connus trop
grossièrement, leur valeur calculée naïvement peut être délirante,
cette contrainte assure qu'ils seront tronqués à quelque chose de
raisonnable (ce qui, du coup, assure de répercuter une erreur
déraisonnable sur d'autres coefficients).
Regrouper les candidats du premier tour trop petits et ayant un
profil sociologique proche (ça ne sert à rien d'essayer de déterminer
séparément les reports du vote pour Poutou et du vote pour Arthaud, ou
du vote pour Cheminade et du vote blanc/nul).
À l'inverse, scinder les populations du premier tour qui risquent
d'être sociologiquement trop inhomogènes (abstentionnistes et vote
Le Pen) en sous-populations artificielles dans les mêmes proportions
qu'une proportion gauche-droite approximative sur la commune. Ceci
permet (au prix de nouveaux coefficients à déterminer !) d'introduire
un effet non-linéaire relativement raisonnable et donc de diminuer
l'effet d'inhomogénéité de ces populations (et le « paradoxe
écologique » qui va avec).
Je donnerai les chiffres que j'obtiens dans la prochaine entrée
(qui sera, j'espère, la dernière sur ce sujet !), parce que je suis
fatigué d'avoir écrit tout ça. Mais disons qu'ils sont assez
plausibles (évidemment, il faut imaginer qu'ils ne sont que des ordres
de grandeur !) et qu'ils prédisent, par exemple, que les électeurs de
François Bayrou du premier tour se sont plus reportés sur Sarkozy que
sur Hollande en 2012, alors qu'en 2007 ils s'étaient plus reportés sur
Royal que sur Sarkozy — or ceci est conforme aux sondages directs
sur la question ainsi qu'aux analyses des politologues.
[#] J'ai fini par
obtenir les données du second tour de 2012, qui étaient effectivement
sur RegardsCitoyens.org
comme on me l'avait soufflé, mais bien cachées et pas à l'endroit
où on
les attendait. Elles sont par ailleurs un peu incomplètes
puisqu'il y manque la Corse, mais peu importe.
De la difficulté de faire une régression linéaire contrainte en politique
Dans l'entrée précédente, j'ai
suggéré l'idée de faire une régression linéaire multivariée entre les
deux tours des résultats de l'élection présidentielle, c'est-à-dire,
essayer de calculer quelle combinaison linéaire des résultats du
premier tour de la présidentielle (considérés comme un vecteur
de N+2 nombres, à savoir le nombre de voix pour chacun
des N candidats + bulletins blancs/nuls + abstentions)
approche le mieux, sur l'ensemble des communes de France, les
résultats du second tour (considérés comme un vecteur de 4 nombres,
pour 2 candidats + blancs/nuls + abstentions).
J'espérais[#] — un peu naïvement
comme on va le voir — que ce calcul permettrait de connaître la
matrice de reports des voix, c'est-à-dire, la proportion, dans chacun
des N+2 votes possibles au premier tour, des 4 votes
possibles au second tour : par exemple savoir que les électeurs de
François Bayrou au premier tour se seraient reportés à 30% sur
l'abstention, à 5% sur le vote blanc, à 35% sur Nicolas Sarkozy et à
30% sur François Hollande (chiffres imaginaires mais pas
aberrants).
Les résultats du second tour n'étant pas encore disponibles
sur www.data.gouv.fr
au moment où j'écris, je me suis dit que j'allais m'exercer sur les
résultats de 2007 (pour calculer les reports entre les deux tours de
celle-ci soit, de façon plus osée, entre 2007 et 2012). Je passe sur
les différentes petites crottes de ragondin rencontrées en chemin pour
préformater les données sous une forme sympathique (par exemple les
communes qui ont eu la fort sotte idée de fusionner ou de se séparer ;
je passe aussi sur le fait qu'il n'y a pas de version détaillée des
résultats de Paris, parce que Paris a le malheur d'être une unique
commune). Disons que j'ai un gros tableau de données raisonnables,
d'où j'ai retiré tout ce qui me chagrine.
Il n'est alors pas difficile de faire les régressions linéaires,
avec un programme
comme R[#2].
C'est-à-dire trouver les (2+2)×(12+2)=56 coefficients tels que, pour
chaque vote possible au second tour, le nombre de ces votes soit au
mieux prédit par la combinaison, affectée par les coefficients
correspondants, des 14 votes possibles au premier tour (il y avait 12
candidats en 2007, ce qui fait 14 avec blancs et abstention). Il est
assez facile de se convaincre, dans la mesure où le nombre d'inscrits
ne change pas entre les deux tours (ce qui est quasiment vrai — pas
rigoureusement, et ça fait partie des petites crottes de ragondin —
mais suffisamment pour qu'on puisse faire comme si), que la somme des
coefficients sur une colonne de cette matrice (c'est-à-dire pour
chaque vote possible de premier tour) vaut 1. Maintenant, j'espérais
que quelque
chose ferait que ces coefficients seraient aussi tous positifs, et
auraient l'interprétation naïve que j'ai décrite ci-dessus comme
matrice de transfert des voix. Or ce n'est pas le cas, et voici la
matrice des coefficients :
1er tour→ ↓2d tour
Abstentions
Blancs/nuls
Besancenot
Buffet
Schivardi
Bayrou
Bové
Voynet
De Villiers
Royal
Nihous
Le Pen
Laguiller
Sarkozy
Abstentions
0.8519
−0.4145
0.1060
0.0578
−0.2845
0.1705
0.5994
−0.5476
0.0281
0.0002
−0.5410
−0.0405
0.3789
0.0047
Blancs/nuls
0.0035
0.4859
0.1085
0.0113
0.5714
0.0867
−0.1229
0.0775
0.0596
−0.0019
0.2442
0.0119
0.2184
0.0153
Sarkozy
0.0910
0.5596
−0.0944
−0.0309
0.8717
0.3499
0.0586
0.9280
0.9056
−0.1129
0.7721
0.9979
−1.2629
1.0427
Royal
0.0532
0.3785
0.8656
0.9573
−0.1743
0.3938
0.5116
0.5719
0.0021
1.1131
0.5122
0.0283
1.6956
−0.0627
Le fit linéaire est excellent : même si je ne sais pas lire
exactement les données de marges d'erreur que R me sort, je sais lire
qu'elles sont très faibles (par exemple s'il me dit que 99.99% de la
variance est expliquée par ce modèle linéaire, ou que dans 50% des
communes l'écart est inférieur à 6 voix) ; bref, ces
coefficients ont un sens. Mais pas exactement celui que je
veux !
Il est relativement concevable que 85% des abstentionnistes du
premier tour en 2007 l'aient encore été au second, tandis que 9%
seraient allés voter Sarkozy et 5% Royal ; ou que les électeurs de
Bayrou se soient reportés à 17% sur l'abstention, à 9% sur le vote
blanc, à 35% sur Sarkozy et à 39% sur Royal : j'y crois assez ; ou
encore que, comme le tableau le suggère, ceux de Villiers aient voté à
91% pour Sarkozy au second tour tandis que 3% se seraient abstenus et
6% auraient voté blanc. Mais il est impossible que 93% des électeurs
de Voynet aient voté Sarkozy au second tour, 57% pour Royal, et un
pourcentage négatif, −55%, se soient abstenus.
C'est assez perturbant : ce tableau montre des chiffres
relativement sensés, dans un monde où un vote négatif serait
possible.
Bon, ben si les chiffres ne veulent pas d'eux-mêmes être
raisonnables, il n'y a qu'à les forcer à l'être : je peux demander à
chercher, après tout, quelle est la matrice à coefficients positifs,
où chaque colonne a pour somme 1, et qui réalise la meilleure
approximation linéaire parmi celles vérifiant ces contraintes : on
parle de régression linéaire avec contraintes. Il s'agit là d'un
problème
d'optimisation
quadratique (avec contraintes linéaires, et terme quadratique
positif défini) : quelque chose qu'on sait très bien faire. En
principe, R
a ce
qu'il faut pour y arriver : mais nouvelle petite crotte de
ragondin, ce package ne marche pas chez moi, il prétend que mes
contraintes (=la positivité des variables) sont impossibles à
satisfaire, je ne sais pas ce qu'il a fumé. À la place, j'ai dû
passer par Octave, qui est encore plus pénible à manipuler et que je
connais encore moins, mais enfin
qui sait
faire le boulot (quand on réussit à exporter les matrices du
problème de R vers Octave, ce qui n'est pas la chose la plus agréable
qui soit).
Voilà ce que ça donne :
1er tour→ ↓2d tour
Abstentions
Blancs/nuls
Besancenot
Buffet
Schivardi
Bayrou
Bové
Voynet
De Villiers
Royal
Nihous
Le Pen
Laguiller
Sarkozy
Abstentions
0.8424
0.0000
0.0000
0.0000
0.0000
0.1679
0.0275
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
Blancs/nuls
0.0424
0.2600
0.0000
0.0000
1.0000
0.1093
0.0000
0.0000
0.0026
0.0000
0.5503
0.0004
0.0000
0.0000
Sarkozy
0.0495
0.0900
0.0000
0.0000
0.0000
0.3283
0.0000
0.0000
0.9974
0.0000
0.1999
0.9996
0.0000
1.0000
Royal
0.0657
0.6500
1.0000
1.0000
0.0000
0.3945
0.9725
1.0000
0.0000
1.0000
0.2498
0.0000
1.0000
0.0000
De nouveau, il est relativement raisonnable de penser que les
électeurs de François Bayrou au premier tour en 2007 se seraient
divisés au second tour entre l'abstention à 17%, le vote blanc à 11%,
Sarkozy à 33% et Royal à 39% (les chiffres diffèrent très peu du
tableau précédent, et sont toujours crédibles). À la limite, il n'est
pas totalement délirant d'imaginer que, avec la précision des mesures,
près de 100% des électeurs de Marie-George Buffet, ou même d'Olivier
Besancenot, se soient reportés sur Ségolène Royal au second tour,
comme d'ailleurs les électeurs du premier tour de Ségolène Royal
elle-même. Mais alors croire que les électeurs de Gérard Schivardi au
premier tour auraient tous voté blanc au second (sans s'abstenir, mais
vraiment voté blanc), ou croire que ceux qui ont voté blanc au premier
tour auraient été 65% à voter pour Royal au second, ce n'est, comme
qui dirait, pas très crédible. Je suis aussi amusé du 99.96% de
report calculé de Le Pen sur Sarkozy (les 0.04% restants ayant
censément voté blanc, c'est très précis) !
Voici donc la question à 100¤ : ces chiffres ont-ils une quelconque
signification en rapport avec la réalité, ou un quelconque intérêt
pour l'analyse politique ? À défaut, y a-t-il un autre traitement
statistique que je puisse mener pour en obtenir de meilleurs ? Et en
tout état de cause, quand (et si) le ministère de l'intérieur se
sortira les doigts du c** pour fournir les chiffres complets du second
tour de 2012 en Open Data, sera-t-il intéressant de mener la même
analyse ou doit-on considérer que c'est du temps perdu ?
[#] Pourquoi espérer
ça ? Parce que si les reports de voix du premier vers le second tour
se font à peu près de la même façon partout, et notamment,
indépendamment de ce pour quoi votent les autres électeurs de la
commune, ce qui a priori ne semblait pas une hypothèse
délirante, alors on devrait bien retomber dessus en faisant une
régression linéaire.
[#2] Programme au nom
incroyablement stupide quand on pense à la difficulté que cela cause
de chercher dans Google des informations sur un truc à une lettre.
Une obscure province des États-Unis d'Europe va bientôt tenir
l'élection de son gouverneur. Les deux candidats encore en course
s'appellent M. Sarlande et M. Holkozy. Toutes sortes d'instruments
sont utilisés pour mesurer l'état de l'opinion de l'électorat avant
cette échéance (sondages, pronostics de politologues et autres boules
de cristal), mais au final on aimerait avoir des résultats lisibles
sous la forme M. Sarlande a x% de chances d'être élu
gouverneur, M. Holkozy a (100−x)% de chances. Déjà, il
est un peu difficile de donner un sens à une telle affirmation : si je
prétends que M. Sarlande a 85% de chances et M. Holkozy en a 15%, que
l'un ou l'autre soit élu, on ne pourra pas me dire que j'avais tort
(après tout, les deux nombres étaient strictement positifs) ; or
l'expérience (=l'élection) n'a lieu qu'une fois, on ne va pas la
répéter d'une manière qui permette de donner un sens statistique aux
probabilités.
On pourrait cependant faire des statistiques pour
savoir si je suis un fin analyste politique. Si, par exemple, à
chaque fois qu'il y a une élection je fais un pronostic du style le
candidat 1 a une probabilité q1 d'être élu, le
candidat 2 en a q2, le candidat 3 en
a q3, etc. (la somme
∑i(qi) des
probas annoncées valant 1), si c'est le candidat numéro i
qui est effectivement élu on m'attribue un score de fiabilité
de valeur log(n)+log(qi)
où n est le nombre total de candidats. (Pourquoi
log(qi) ? Parce qu'il est facile de
se convaincre que la stratégie optimale pour maximiser son succès dans
ce contexte, si on connaît les « vraies »
probabilités pi, consiste à annoncer
effectivement qi=pi,
auquel cas on a une espérance de gain de l'opposé de
l'entropie
de Shannon de la distribution, plus le terme ajouté
log(n) (=l'entropie d'une distribution uniforme sur les
candidats) qui est là pour assurer qu'on ne gagne ni ne perd rien en
faisant la prévision triviale de donner la même
proba qi=1/n à chaque
candidat.) Par exemple, quand je prédis 85% de chances à M. Sarlande
et 15% à M. Holkozy, il convient d'ajouter 0.77 logons à mon score de
fiabilité si c'est le premier qui est élu et d'y retranche 1.74 logons
si c'est le second qui est élu. Et si mes chiffres sont corrects, mon
espérance de score est de 0.39 logons.
(Le mot logon indiquant que
j'ai pris des logs base 2.) Si on somme ce score fiabilité sur un
grand nombre de prévisions, on peut comparer mes capacités d'analyse à
celles d'autres analystes. Je me dis souvent qu'on devrait faire des
concours de prévisions de ce genre entre analystes politiques.
Bon, maintenant, comme les gens aiment bien jouer aux jeux de
hasard, inévitablement, on va vouloir transformer cette question
d'évaluer les chances en un pari. La conversion est la suivante :
dire que je considère que M. Sarlande a x% de chances
d'être élu et que M. Holkozy en a (100−x)%, ça signifie que
je suis prêt à accepter de payer x¤ pour un contrat qui me
promet 100¤ si c'est M. Sarlande qui gagne, et dualement
(100−x)¤ pour un contrat qui me promet 100¤ si c'est
M. Holkozy qui l'emporte. Il y a donc moyen de mettre en place un
marché de tels contrats, laisser faire l'axiome libéral de
l'efficience des marchés, et voir ce qu'il en résulte. C'est ce que
fait le
site intrade.com
(dont le fonctionnement
est résumé
ici), et sur lequel on peut notamment voir le cours de
MM. Sarlande et
Holkozy ici
et là
(à moins que ce soit le contraire). Ces cours (le prix auquel
s'échange un contrat je paie 10$ en cas d'élection de Untel) se
lisent assez directement comme des probabilités, c'est assez agréable.
Il serait intéressant de les évaluer sur un grand nombre d'élections
selon le score de fiabilité que je propose plus haut. À vrai dire, je
ne suis pas trop convaincu par l'efficience de ces marchés, qui ont
des volumes assez petits dont les acteurs sont largement des
Américains pas forcément bons analystes de la situation politique
française (même si ceux qui parient, évidemment, doivent se
renseigner). La logique voudrait que j'intervinsse moi-même dans le
marché si je m'estime meilleur analyste (ou simplement pour acheter
une assurance contre l'élection d'un candidat qui me
déplairait), mais j'ai assez peu de confiance dans ce genre de site et
dans mes chances de récupérer effectivement une grosse somme d'argent
si je parie comme je le pense.
Un système apparenté mais différent est utilisé par les bookmakers
anglais : il s'agit cette fois de cotations (on n'échange pas des
contrats mais on place des paris à une certaine cote), et on
peut voir
ici une synthèse des cotes qu'ils attribuent (c'est un peu pénible
à lire : le système traditionnel d'affichage de la cotation
indique la fraction de la mise qu'on récupère en plus de
celle-ci si on a raison sur la prévision — sachant que si on a tort on
perd tout ; alors que le système décimal indique combien on
récupère au total, mise comprise, si on a raison, comme un nombre
décimal).
J'en viens à la question qui m'a pas mal tracassé : comment
fait-on, au juste, pour établir une cote de paris ? (Autrement dit,
je veux imaginer un système où chacun peut décider de placer un pari
sur un des candidats, à une cote instantanée déterminée
automatiquement en fonction des paris précédents, pari qui sera payé
par une autorité centrale organisatrice, et pas un système de marché
comme sur intrade.com ; notamment, une personne doit pouvoir parier
même si elle est seule à le faire.)
Une première idée naïve pour un système de paris pourrait être
ceci : tous ceux qui le veulent placent un pari de la somme qu'ils
veulent sur un des deux candidats, toutes ces sommes sont mises en
commun (mettons que u zorkmids aient été pariés sur
Sarlande et v sur Holkozy), et lorsque le gagnant est
connu, la somme totale u+v est redistribuée à
ceux qui ont parié sur ce gagnant, proportionnellement à leur mise
(donc par exemple si c'est Sarlande qui gagne, la mise de ceux qui ont
parié sur lui est multipliée par
(u+v)/u, autrement dit ils
emportent v/u fois leur mise en plus de
celle-ci). Ce système est extrêmement simple, mais souffre de défauts
rédhibitoires : essentiellement, la cote est la même pour tous et
n'est connue qu'à la clôture des paris et ne dépend pas du moment où
on a parié — ce qui va conduire à des paris de dernière minute alors
que le résultat de l'élection se précise, et pénaliser les parieurs de
la première heure qui auraient une vision claire bien en avance. On
peut imaginer un tel système où les paris seraient clos à une date
butoir, ou renouvelés dans le temps, ou ce genre de choses, mais on ne
résout pas vraiment le problème.
Ensuite, je me suis imaginé la chose suivante : lorsqu'on parie une
somme sur l'un des deux candidats, la cote instantanée utilisée est
donnée simplement par le rapport entre la somme totale qui a été
pariée sur l'un et celle qui a été pariée sur l'autre. Plus
exactement, le système serait le suivant : initialement, l'autorité
centrale place 100¤ (disons) comme somme fictive pariée sur Sarlande
et autant sur Holkozy ; puis, si à un instant donné u
zorkmids ont été pariés sur le premier et v sur le second,
et si je veux miser δ (une somme infinitésimale) sur
Sarlande, je
récupérerai δ·(u+v)/u
(c'est-à-dire ma mise δ plus
encore δ·v/u de bonus) si j'ai eu
raison et 0 (=ma mise est perdue) si j'ai eu tort. On convient que
les cotations sont modifiées instantanément : pour parier une somme
non infinitésimale, il faut diviser celle-ci en mises infinitésimales
et faire l'intégrale qui convient — je n'insiste pas là-dessus.
L'ennui c'est qu'avec ce système, les pertes de l'autorité centrale ne
sont pas bornées : si après la mise fictive initiale de 100¤ de chaque
côté je suis seul à parier et que je mise A sur Sarlande,
et si j'ai gagné, je récupère ma mise A plus un gain de
100¤·log(1+(A/100¤)) payé par la banque (comme on le
vérifie en calculant l'intégrale
— ici écrite en MathML — qui vaut
). La divergence est certes logarithmique, mais elle est là (sans
regarder le détail de l'intégrale, on voit bien que la divergence doit
être logarithmique parce que le gain varie comme l'inverse
de u).
Voici comment on peut y remédier. Disons que la banque
(=l'autorité qui mène les paris) veut limiter ses pertes à 100¤ dans
le pire cas. Elle met donc initialement 100¤ dans deux comptes, le
compte usomme pariée sur Sarlande et restant à
distribuer et le compte vsomme pariée sur Holkozy
et restant à distribuer. Si je veux miser δ (une somme
infinitésimale) sur Sarlande, ce δ est ajouté
à u comme précédemment, et placé à la même cote que
précédemment (je
récupérerai δ·(u+v)/u en
cas de victoire de Sarlande, c'est-à-dire ma mise
plus δ·v/u), mais cette fois
je déduis la somme δ·v/u du
compte v, puisque c'est à partir de là que je paie les
gains. Il est facile de se convaincre que dans ce système, le
produit u·v (ou, si on veut, la moyenne
géométrique entre les deux) reste constant ; la banque réalise un
bénéfice net de v−100¤ si c'est Sarlande qui gagne,
et u−100¤ si c'est Holkozy, ses pertes sont donc minorées
dans le pire cas (le reste des gains éventuels venant des mises des
autres joueurs). Cette fois, si après la mise fictive initiale de
100¤ de chaque côté je suis seul à parier et que je parie A
sur Sarlande, et si j'ai gagné, je récupère ma mise A plus
un gain de 100¤·(A/(100¤+A)) payé par la banque,
puisque u vaut 100¤+A après mes mises
et v vaut 10000¤²/(100¤+A). Cette fois il n'y a
pas de divergence puisqu'on intègre quelque chose
en v/u, c'est-à-dire en fait en 1/u²
(précisément, l'intégrale est
ce qui vaut
).
Ce système semble mathématiquement assez naturel (et se généralise
assez bien à plus de 2 candidats), et il me rappelle l'apparition de
la moyenne géométrique que j'avais vue dans
la réalisation des paniers de
monnaies. Mais je ne sais pas si elle porte un nom standard, ni
si c'est ce qu'utilisent les bookmakers anglais (modulo leurs marges,
et modulo le fait qu'ils ne remettent évidemment pas à jour leur
cotation instantanément).
Un collègue m'a poussé à réfléchir à des questions tournant autour
du problème
de Hadwiger-Nelson (ou problème du coloriage du plan, ou problème
du nombre chromatique des unit distance
graphs). Fatale erreur ! Ma maman m'avait pourtant toujours
dit quand j'étais petit : Ne réfléchis jamais au problème de
Hadwiger-Nelson. Ce problème est comme
le Zahir de
Borges : on commence à y penser, on se laisse tenter par son apparence
si facile et si séduisante, sa faculté à relier des domaines
mathématiques aussi divers que la théorie des graphes, la géométrie
algébrique et la logique, et bientôt on ne peut plus songer qu'à lui,
on le voit dans des rêves et on dessine partout des petits graphes
avec des points à distance 1 les uns des autres.
Le problème de Hadwiger-Nelson (que j'avais
d'ailleurs déjà évoqué, mais je
n'en connaissais pas le nom à l'époque) est sans doute le problème
mathématique ouvert le plus incroyablement simple à formuler (même si
cette simplicité est peut-être un peu trompeuse). Et qui insulte
l'honneur de l'esprit humain de ne pas être capable de
répondre à une question aussi bête :
(On fixe une fois pour toutes une unité de distance.) Quel est le
nombre minimal χ de couleurs qu'il faut pour colorier le
plan de manière que deux points distants d'une unité ne soient jamais
de la même couleur ?
Tout ce qu'on sait montrer est que 4≤χ≤7. Et c'est
d'autant plus frustrant que la démonstration de ces deux faits est à
la portée d'un collégien, et que toutes les maths sophistiquées qu'on
a pu essayer de balancer contre ce problème n'ont pas amélioré d'un
chouïa l'encadrement en question. La minoration par 4 est démontrée
par exemple par la figure suivante, appelée Moser's
spindle (le fuseau de Moser ?) :
Chaque arête a distance 1 dans le plan, ce qui détermine rigidement
la figure. Il est facile de se convaincre qu'il n'est pas possible de
colorier les sommets de ce graphe avec seulement 3 couleurs de manière
que deux sommets reliés par une arête ne soient pas de la même couleur
(en effet, si on n'a que trois couleurs, quelle que soit la
couleur c du sommet en bas à gauche, les deux autres
sommets de chacun des triangles équilatéraux dont il est un sommet
doivent avoir les deux autres couleurs, du coup le sommet tout en haut
et celui tout à droite ont la même couleur c, or ils sont
reliés par une arête, une contradiction). La majoration par 7 est
démontrée par la figure suivante :
L'unité de longueur (figurée par le trait noir en haut à gauche, et
qui est à la même échelle que sur la figure précédente) est juste un
tout petit peu trop courte pour relier les sommets les plus proches de
deux hexagones de la même couleur, mais juste un tout petit peu trop
longue pour tenir à l'intérieur d'un même hexagone : donc quelle que
soit la manière dont on place cette règle sur le plan, les deux
extrémités auront une couleur différente.
On ne sait rien dire de mieux, donc. Oh, on sait dire des choses
sur des problèmes adjacents : par exemple, sur
le nombre
chromatique fractionnaire du plan pour la relation
être-distant-d'une-unité (on sait qu'il est compris entre 3.55 et
4.36), ou sur les coloriages dans lesquels on impose de plus aux
parties coloriées
d'être mesurables
(on sait qu'il faut alors au moins 5 couleurs), ou sur le coloriage
des points à coordonnées rationnelles (seulement 2 couleurs suffisent
alors) ; en fait, on sait dire assez de choses pour qu'Alexandr Soifer
écrive un livre de 600 pages consacré à peu près entièrement à ce
problème. Mais l'inégalité 4≤χ≤7 continue de nous narguer
et de rappeler les mathématiciens à l'humilité. Personnellement je
trouve ça beaucoup plus rageant que
le problème
de Collatz/Syracuse/3n+1 ou que le théorème de Fermat
n'a jamais pu l'être.
Et ce que ce problème a de rageant, aussi, c'est
qu'on ne sait pas trop quoi conjecturer. Un théorème d'Erdős et de
Bruijn (qui est une conséquence immédiate
du théorème
de compacité du calcul propositionnel, ou — un petit peu moins
immédiate — de
la compacité
des produits de compacts) assure que pour minorer le nombre de
couleurs χ nécessaire pour colorier le plan, il « suffit »
[OK, en fait ça veut dire « il faut », comme on me le
signale en commentaire] d'exhiber un graphe
fini réalisable
avec distance 1 et qui n'est coloriable qu'avec ce nombre de
couleurs. On pourrait donc se dire que puisque ces
« unit distance graphs » ont été tant
étudiés, s'il y en avait un qui ait nombre chromatique 5 ou plus, ça
aurait fini par se voir : mais il est aussi parfaitement plausible
qu'il ait un nombre de sommets faramineux, alors que la borne
supérieure de 7 par le pavage hexagonal, elle, a l'air tellement
naturelle, tellement appropriée a la situation, qu'on a envie
de croire qu'elle est optimale. De fait, jusqu'à récemment, j'étais
convaincu en mon for intérieur que la bonne valeur
de χ est 7. Mais il est parfaitement possible que ce ne
soit la bonne valeur que pour des parties coloriées possédant des
propriétés de régularité sympathique (ceci dit, même avec l'hypothèse
de mesurabilité on ne sait pas fermer le gap), et qu'un coloriage avec
4 couleurs existe mais nécessite l'axiome du choix (qui est caché
derrière le théorème d'Erdős-de-Bruijn). Croire que χ=4 se
défend aussi : elle consiste à croire que les configurations de points
à distance 1 dans le plan ne peuvent pas trop nous jouer de tour ou de
coïncidences inattendues, qu'ils ne sont pas trop éloignés
des graphes de
Laman (lesquels sont toujours 4-coloriables pour des raisons
idiotes de degré). Entre les deux, il est aussi permis de croire que
la bonne valeur est 5 ou 6, même si ça semble moins plausible qu'aucun
des deux arguments élégants pour 4 ou 7 ne donne la bonne valeur, mais
bon, c'est comme en politique, il faut bien qu'il y ait aussi des
centristes qui croient qu'in medio stat
virtus.
Mise à jour : Quelques années plus tard,
j'ai écrit un article
sur le problème de Hadwiger-Nelson où on se concentre sur les points à
valeurs dans certains corps de nombres comme ℚ(√2) ou ℚ(√3).
Nouvelles mises à jour : Voir
aussi cette entrée pour mes
mésaventures liées à l'article mentionné ci-dessus,
et celle-ci pour un progrès
démontrant χ≥5 (et mes méditations à ce sujet).
✶
Bon, à part ça, je continue à vouloir écrire un textes sur les
octonions pour mettre dans ce blog, mais je retarde ça tant que je
n'ai pas trouvé le temps de lire l'article attentivement
fondamental Lie
Groups in the Foundations of Geometry de Hans Freudenthal
(qui expose
généralement la
raison pour laquelle les octonions sont naturels). Comme cet
article est dense, ça risque de prendre du temps.
Et je maintiens aussi sur le feu
mes éphérémides astronomiques (dans
lesquels je mets des quaternions, comme beaucoup de gens l'ont deviné,
mais pas d'octonions), mais comme dès que je m'y mets pour trop
longtemps je m'énerve contre l'astronomie, il ne faut pas non plus y
compter pour sitôt.
Je me suis laissé convaincre par un ami d'écrire une application
pour Android d'éphémérides astronomiques (il en existe certainement
déjà plein, mais guère qui soient libres / open source) : c'est-à-dire
un truc qui calcule au moins des choses comme la position et les
heures de lever et coucher du Soleil, de la Lune et des planètes, les
dates et heures des saisons et des phases de la Lune, et sans doute
d'autres choses du même acabit. Normalement, ça ne devrait pas être
difficile, il y a plein de code pour ça, presque déjà écrit, en fait,
qu'il suffit de convertir en Java.
Mais le truc, c'est que je suis un chouïa maniaque (←ceci est un
euphémisme) sur certaines choses, et j'ai une idée assez arrêtée sur
la façon dont les choses devraient être faites. Notamment, un calcul
astronomique ne se mène pas vraiment de la même façon si on vise une
précision d'une fraction de minute d'arc ou de quelques microsecondes
d'arc. Et je n'ai pas envie de faire silencieusement des
approximations qui empêcheraient de passer à une précision nettement
plus grande : i.e., je ne tiens pas spécialement à ce que mon
application permette une précision énorme, mais je tiens à ce que le
cadre logiciel le permette. Ça devient un peu un défi (stupide) en
soi.
Or il se trouve que réaliser des calculs astronomiques permettant,
même en principe, une très haute précision, c'est compliqué. (Ne
serait-ce que parce qu'on ne va plus pouvoir négliger les effets
relativistes, et qu'on commence à avoir mal à la tête juste pour
définir ce que c'est que le
temps.) J'ai une assez bonne vision des phénomènes les plus
simples, mais si je m'impose le carcan de bien prendre conscience de
toutes les approximations, je m'y perds assez.
Prenons l'exemple de la rotation de la Terre.
La zéroïème approximation, celle qu'on apprend à l'école primaire,
c'est que la Terre tourne autour du Soleil, effectuant une révolution
en une année dans un plan appelé écliptique, et qu'elle
tourne aussi autour d'elle-même selon un axe de direction fixe
appelé l'axe des pôles et dont le plan perpendiculaire
s'appelle le plan équatorial ; l'angle entre les plans
écliptique et équatorial, ou bien entre l'axe des pôles et l'axe
perpendiculaire au plan écliptique, s'appelle l'obliquité
ou inclinaison de l'axe terrestre, notée ε, et
vaut 23°26′15.66″. L'angle entre l'axe de rotation et la droite
Terre-Soleil est responsable des saisons, lesquelles sont
limitées par les deux équinoxes lorsque l'axe est en
quadrature avec cette droite, ou, si on préfère, que le Soleil se
trouve dans le plan équatorial de la Terre, et par
deux solstices lorsque le Soleil atteint ses latitudes
minimale et maximale par rapport au plan équatorial terrestre, qu'on
appelle tropiques du Capricorne (→été austral) et du Cancer (→été
boréal). Ça c'est ce que tout le
monde devrait
savoir, sauf à être un sombre inculte.
Quand j'écris inertie dans le titre de cette entrée, je ne
parle pas du phénomène psychologique mais scientifique : scientifique,
c'est-à-dire notamment physique mais pas seulement. Dans ce sens,
l'inertie, de façon volontairement très vague, c'est le
mécanisme qui fait qu'un phénomène qui se produit a tendance à
continuer à se produire (plutôt que, par exemple, cesser immédiatement
que sa cause cesse).
En physique, il s'agit de la loi d'inertie,
ou première
loi de Newton, selon laquelle en l'absence de forces extérieures
un objet continue à se déplacer en ligne droite et à vitesse
constante : ce n'est pas une évidence, et historiquement il semble
qu'on ait pu croire — dans la mesure où la physique aristotélicienne
énonçait ces choses clairement, ce dont je ne suis pas sûr du tout —
qu'une force était toujours nécessaire pour mouvoir un objet, i.e., le
que fait qu'un objet en mouvement finisse par s'arrêter dans les
situations concrètes n'était pas l'action des forces de frottement
mais le phénomène normal, et que du coup l'inertie était ce qu'il
fallait expliquer, ce qu'on a pu faire, semble-t-il, par des
mécanismes du genre la poussée de l'air exercée par l'endroit que
l'objet venait de quitter (je ne suis pas compétent en histoire des
sciences, donc j'affabule peut-être en disant ça, ce sont des
souvenirs de manuels de physique lus il y a longtemps,
mais Wikipédia
suggère des choses compatibles). Le principe général d'inertie,
ce que j'ai appelé première loi de Newton, a été formulé clairement
par Galilée, même s'il est sans doute exagéré de dire que c'est lui
qui l'a dégagé.
Toujours est-il qu'on aurait tort de prendre ça pour une évidence.
Il y a une
célèbre anecdote
racontée par Richard Feynman (qui vaut la peine d'être écoutée
rien que pour son délicieux accent new-yorkais) sur la manière dont
son père (Melville Feynman) lui a expliqué ce qu'est
l'inertie : personne ne sait à quoi c'est dû. Un
mathématicien va voir l'inertie comme le fait que la physique est
décrite par des équations différentielles du second ordre (la force
contrôle non pas la vitesse mais l'accélération, c'est-à-dire la
variation de la vitesse), mais ce n'est que reformuler le problème ;
ou encore, que si on ramène ces équations au premier ordre, cela se
fait en introduisant de nouvelles variables en plus de la position, à
savoir la quantité de mouvement des objets : l'état d'un
système mécanique classique se traduit par la donnée non seulement des
positions des objets mais aussi de leurs quantités de mouvement (ou de
façon plus approximative,
vitesses[#]). On peut
reformuler ces choses de façon plus ou moins sophistiquée, parler
d'espace des phases, de principes variationnels, de formulations
lagrangienne ou hamiltonienne de la mécanique, on peut généraliser à
la mécanique quantique ou à la relativité générale, mais il reste
toujours ce même mystère qu'on pousse ou cache sous ces diverses
formulations[#2].
Mais il y a d'autres domaines où la notion d'inertie peut être
considérée, et c'est alors d'autant plus frappant qu'il ne faut pas la
prendre pour une évidence.
Prenons l'économie. Voici une question qui me semble assez
profonde : si vous avez une grandeur économique ou financière,
peut-être le cours d'une action ou d'une monnaie, dont vous ne
savez rien sauf sa valeur à l'instant présent, manifestement
la meilleure chose que vous puissiez faire pour prévoir sa valeur
demain, c'est de prévoir la même valeur (ce n'est évidemment pas une
bonne prévision, mais si vous ne savez rigoureusement rien de plus,
c'est certainement le mieux qu'on puisse faire) ; maintenant, je vous
donne la valeur d'aujourd'hui et aussi la valeur d'hier : est-ce que
la connaissance de cette valeur d'hier peut aider à faire une
prévision meilleure ? Si on croit à une forme d'inertie en économie,
on va se dire que si la grandeur a augmenté entre hier et aujourd'hui,
elle risque d'augmenter de nouveau entre aujourd'hui et demain, et
peut-être dans les mêmes proportions, donc on va peut-être prévoir
pour demain la valeur symétrique de celle d'hier par rapport à celle
d'aujourd'hui (de fait, en physique, si vous voulez prévoir le
mouvement d'un objet, c'est exactement ça que vous prévoit la loi
d'inertie en l'absence de forces, et donc ce sera une approximation
sensée si vous ne savez rien du tout). Mais en fait, s'agissant du
cours d'une action, cette idée n'est pas du tout bonne : au
contraire, on a tendance à modéliser ces choses-là — en toute première
approximation — par des objets mathématiques appelés
des martingales,
ce qui signifie essentiellement que connaître des choses sur le passé
ne vous avancera absolument pas à prévoir l'avenir (par rapport à
juste connaître le présent) ; ou, de façon plus concise mais moins
précise, il n'y a aucune sorte d'inertie. C'est raisonnable si on
pense au cours d'une action comme déterminé par des agents
rationnels : ils ont connaissance du passé et ils en tiennent compte,
donc si une prévision simpliste basée dessus peut donner une meilleure
approximation pour l'avenir qu'une prévision simpliste seulement basée
sur le présent, ils en tiendront compte déjà au présent, donc
anticipent sur cette prévision !, qui du coup devrait être réalisée
déjà maintenant et pas dans l'avenir.
Mais l'absence totale d'inertie signifie que l'idée que le cours
d'une action est en train de monter est dénué de sens, ou, en
tout cas, de sens prédictif : le fait que ce cours ait augmenté
ces N derniers jours ne donnerait aucune information sur le
fait qu'il risque d'augmenter encore demain, pas plus que le fait de
savoir qu'une pièce non truquée est tombée 20 fois sur pile ne vous
donne d'information sur le fait qu'elle tombera sur pile la fois
suivante. Or on a quand même tendance à s'imaginer qu'il y a de
l'inertie : c'est contraire à cette idée que les marchés anticipent
sur toute prévision qu'ils peuvent faire quant à l'avenir. Même si le
cours d'une action dépend de phénomènes (physiques, par exemple) qui,
eux, peuvent avoir de l'inertie, si ces phénomènes sont connus, ils
devraient être anticipés. Je ne sais pas si on peut exhiber des cas
où il y a quand même incontestablement une forme inertie dans des
cours économiques, mais j'ai toujours été perturbé par cette
dissonance entre le fait qu'on soit censé croire à l'absence d'inertie
si les agents sont rationnels et le fait qu'on dise, par exemple, que
le cours du pétrole va certainement continuer à monter au cours des
prochaines années (si cette prévision est si évidente, tout le
monde va vouloir prendre des options dessus, ce qui va faire augmenter
le cours du pétrole maintenant).
Mais ce qui a motivé cette réflexion à ¤0.02 sur l'inertie, c'est
encore un autre domaine, celui de la sociologie : j'entends les
commentateurs politiques (dont je ne
pense pas forcément grand bien)
expliquer que la progression ou régression de tel ou tel homme
politique dans les sondages électoraux constitue une dynamique.
Le fait de parler de dynamique suppose qu'il y a inertie. Mais est-ce
le cas ? Je n'ai cette fois pas d'argument comme pour l'économie qui
expliquerait qu'il ne dût pas y en avoir, mais je n'ai pas non plus
d'explication vraiment convaincante au fait qu'il y en ait (à part que
les électeurs seraient naturellement portés à apprécier en
soi les hommes politiques qui enregistrent déjà une progression
dans les sondages récents, ce qui est possible mais pas évident). En
tout état de cause, je trouve qu'on ne devrait prendre ni l'existence
de l'inertie, ni son absence, pour une évidence : c'est une question
essentielle qu'on doit se poser sur tout phénomène auquel on est
confronté.
[#] Quand on parle d'un
seul objet sans interaction extérieure, la masse n'intervient pas du
tout, et l'inertie au sens physique peut porter aussi bien sur la
vitesse (c'est la manière dont Newton la formule) que sur la quantité
de mouvement. Quand il y a plusieurs objets qui interagissent,
la masse (inertielle) d'un objet devient, très
grossièrement, la proportion avec laquelle l'inertie de cet
objet est importante relativement à celle des autres, donc la
difficulté des forces à agir sur cet objet.
[#2] La relativité
générale est peut-être ce qui arrive le plus proche d'une réponse au
mystère, aux yeux du matheux que je suis, parce que l'équation des
géodésiques et les équations d'Einstein sont des équations du second
ordre mathématiquement très naturelles alors qu'il n'y a rien
de la sorte au premier ordre ; mais on peut difficilement prétendre
avoir tout résolu en disant ça.
On a (en MathML, donc à condition que votre
navigateur sache l'afficher correctement) :
L'existence de ces formules n'a rien de nouveau ou d'extraordinaire
(celles de cos(2π/3) et cos(2π/5) sont essentiellement connues depuis
l'antiquité, celle de cos(2π/17) a été trouvée par Gauß en 1796,
lequel a aussi trouvé la méthode permettant de calculer toutes les
formules de ce genre ; j'ai d'ailleurs déjà écrit une formule de ce
genre ici, et la formule la plus
compliquée, celle de cos(2π/11), dans l'exercice 5
de cette
feuille d'exercices que je donnais quand j'enseignais à
l'ENS) ; il s'agit de résultats classiques tournant
autour de la théorie de Galois, et d'ailleurs c'est parce que
j'écrivais quelque chose sur la théorie de Galois que je les ai
calculées (et aussi pour m'amuser
avec Sage). Ceci dit, la
formule de cos(2π/13) ou cos(2π/11), je ne l'ai jamais vue écrite
nulle part dans un bouquin.
Mais une question qui me laisse modérément perplexe, c'est la
question de formes plus canoniques que d'autres (plus naturelles, plus
élégantes, ce que vous voudrez, bref, préférables) pour ces
expressions. Je ne parle même pas de factorisations possibles (comme
on peut factoriser une racine 5-ième de 11/4 dans l'expression de
cos(2π/11)), mais de réécritures un peu plus profondes. Par exemple,
l'expression de exp(2·i·π/17) donnée dans l'entrée liée
ci-dessus n'est pas la même que celle donnée dans le
livre Galois
Theory (formule (9.11) page 239) : j'ai tendance à trouver
que la mienne (avec deux racines sixièmes plutôt qu'une racine carrée
d'expressions faisant intervenir des racines cubiques) est préférable.
Mais une autre formule pour cos(2π/17), qui est assurément moins
agréable que celle donnée ci-dessus, et qui apparaît pourtant plus
naturellement quand on applique un algorithme systématique, est la
suivante :
Une autre question sur laquelle je ne sais pas dire grand-chose,
c'est comment produire de façon systématique de telles expressions en
MathML (pour celles que je viens de donner, j'ai utilisé
un mélange de techniques pas complètement automatisées, jusqu'à
terminer quelques réécritures à la main). Rien que mettre les termes
dans un ordre raisonnable, ou transformer quelque chose qui apparaît
naturellement comme −1·x + (−3/2)·y +
(2−t)·z (une somme pondérée par des
coefficients) en −x − (3/2)·y +
(2−t)·z (extraire les signes pour les mettre au
niveau de la somme), ce n'est pas évident.
De la difficulté de visualiser trois dimensions ou plus
Je suis notoirement incapable de visualiser la géométrie déjà en
trois dimensions. Pourtant, quand j'étais petit, mon papa avait
fabriqué pour moi, et suspendu au-dessus de mon lit, un mobile qui
faisait tournoyer les cinq solides platoniciens : ça m'a peut-être
donné le goût de la géométrie, mais ça ne m'a pas aidé à voir dans
l'espace.
Un exemple de quelque chose de très simple que je n'ai jamais
réussi à correctement me représenter mentalement,
c'est le
réseau que les chimistes appellent cubique faces centrées
(tiens, pour une
fois, Wikipédia
en français n'est pas mauvais) et les mathématiciens le réseau
A3 : il s'agit simplement d'un arrangement régulier de
cubes où on place des points au sommets des cubes et aux milieux de
leurs faces — dit comme ça ce n'est pas difficile à visualiser, mais
on est censé pouvoir se rendre compte que le réseau en question est
engendré par les vecteurs arêtes d'un tétraèdre régulier (voyez
notamment cette
image), et par ailleurs qu'en le tournant juste de la bonne façon
on arrive à une superposition de plans sur chacun desquels les points
sont en arrangement hexagonal (ce que les matheux appellent
A2). Malgré la quantité tout à fait impressionnante de
pages web qui illustrent ces choses de quantités de façons différentes
(par exemple
ici), et bien que mathématiquement je comprenne parfaitement ce
qui se passe, je n'arrive décidément pas à le « voir » : soit je vois
les cubes, soit je vois les tétraèdres et les hexagones, mais jamais
les deux à la fois. (C'est un peu
comme la
fameuse illusion qu'on peut voir tourner dans un sens ou dans
l'autre mais qu'il est très difficile de faire passer de l'un à
l'autre.) Remarquez, si j'en crois le nombre de pages consacrées au
réseau cubique faces centrées, justement, je ne dois pas être le seul
à avoir du mal.
Dans ces conditions, il n'est pas surprenant que je n'arrive pas à
visualiser quatre dimensions ou plus. Et si déjà le réseau
A3 est surprenant par sa capacité à avoir une symétrie
cubique, tétraédrale et hexagonale à la fois, il n'est pas étonnant
que E8 recèle aussi des
surprises.
Parfois les gens vous disent qu'ils arrivent à voir en quatre
dimensions parce qu'ils ont
regardé un
tesseract tourner pendant assez longtemps. Demandez-leur alors :
existe-t-il un hyperplan qui coupe le tesseract selon un tétraèdre
régulier ? (la réponse est évidemment oui, et même un tétraèdre
arbitrairement petit, de la même façon qu'on peut couper un cube par
un plan proche d'un sommet pour obtenir un triangle équilatéral) ;
puis : et pour un octaèdre régulier ? (la réponse est
encore oui, en prenant un hyperplan défini par six sommets du
tesseract). Je pense que ces questions en embarrasseront plus
d'un.
Pour prendre un exemple très simple de quelque chose sur quoi notre
intuition de trois dimensions conduit à penser des choses fausses,
considérons une simple rotation uniforme. Par rotation
uniforme j'entends ici ce que les mathématiciens appellent
un sous-groupe à un paramètre du groupe des rotations : un
mécanicien aura plutôt tendance à dire qu'on a affaire à une rotation
(à vitesse) constante ; si l'on veut, on fait une rotation
infinitésimale entre les temps 0 et δt puis on répète
indéfiniment cette même rotation. Je ne sais pas bien quelle
terminologie adopter pour souligner que c'est le concept le plus
simple qu'on puisse concevoir, on fait juste tourner un solide
toujours de la même façon et à vitesse toujours égale. Sauf qu'en
fait ce n'est pas si simple que ça, parce que notre intuition de la
dimension trois nous induit facilement en erreur : en dimension trois,
une telle rotation uniforme se fait autour d'un axe de
rotation, qui est une droite de points laissés fixes lors du
mouvement ; mais en dimension quatre, il n'y a généralement pas d'axe
de rotation : si on applique une rotation uniforme à une boule, il n'y
a en général qu'un seul point fixe (le centre de la boule), et c'est
le cas en toute dimension paire. Mais il y a pire : en dimension
trois, si on continue la rotation pendant suffisamment longtemps, le
solide finit par revenir à son orientation de départ, i.e., le
mouvement est périodique. À partir de la dimension quatre,
ce n'est plus le cas : une rotation uniforme très générale n'a pas de
période[#]. Autre idée fausse :
le fait que le mouvement d'un point donné, sous une rotation uniforme,
soit un cercle — ceci est vrai de façon évidente en dimension
deux, et aussi en dimension trois où c'est un cercle centré sur, et
perpendiculaire à, l'axe de rotation. En dimension quatre ou plus, la
trajectoire d'un point sous l'effet d'une rotation uniforme est une
sorte de courbe
de Lissajous, qui en dimension paire va avoir tendance à être
dense dans [correction] un tore de la sphère
(c'est-à-dire à passer arbitrairement près d'un point quelconque de
celui-ci).
On pourrait illustrer les choses comme ceci : en dimension quatre,
les habitants d'une planète sphérique en rotation dans l'espace
pourraient généralement connaître l'heure et la date par la simple
observation de la position d'une seule étoile. Ou pourraient réaliser
des pendules qui sont une simple boule qui tourne uniformément, avec
un point marqué. (Bon, tout ceci ne serait pas très pratique, certes,
parce que ce serait pénible de faire une lecture précise, mais au
moins dans l'idée de nos horloges analogiques avec deux aiguilles qui
tournent on pourrait faire des horloges sphériques qui tournent
rapidement dans une direction pour indiquer la minute et plus
lentement dans une autre pour indiquer l'heure.)
La notion implicite sous-jacente, c'est plus ou moins celle
du rang d'un groupe de Lie : le groupe SO3 des
rotations en trois dimensions est de rang 1, c'est à peu près ça qui
fait qu'on a une seule vitesse de rotation, que les trajectoires des
points sont des cercles, etc. Mais en général,
SOn est de rang ⌊n/2⌋, c'est par
exemple le nombre de vitesses de rotation différentes qu'il faudra
donner (sans même chercher à savoir dans quelles directions elles se
font), le nombre de paramètres des courbes de Lissajous décrites par
les points, etc.
Bref, ce sont différentes réflexions qui me sont venues en
réalisant une nouvelle vidéo de rotation du système de racines de
E8, rotation cette fois uniforme tout du long. (Pour
l'instant la vidéo
est sur
YouTube, mais la qualité en est tellement abominablement atroce
que ça n'a vraiment pas grand intérêt de la regarder ; je publierai
une version JavaScript dès que j'aurai fini d'écrire une petite
introduction mathématique pour aller avec.) Comme en huit dimensions
il y a beaucoup de directions dans lesquelles on puisse tourner
(SO8 est de dimension 28 et de rang 4), j'ai fait un choix
qui m'a semblé amusant — et je reviendrai dessus pour l'expliquer plus
précisément — consistant à prendre une rotation qui appartienne au
groupe de Lie
exceptionnel G2
(de dimension 14 et de rang 2) formé des rotations qui laissent
invariante une structure octonionique sur l'espace de dimension 8,
structure octonionique avec laquelle le réseau de E8 a
d'intéressants rapports. Du coup, la vidéo fournit une illustration
de deux groupes de Lie exceptionnels à la fois, G2 par son
action et E8 par son système de racines.
[#] Ce qui ne signifie
pas pour autant qu'il soit compliqué : si je prends bêtement deux
points tournants à vitesse uniforme sur deux cercles dans le plan, et
que leurs vitesses de rotation sont irrationnelles entre elles — ce
qui est la situation la plus générale — alors ce mouvement n'est pas
périodique non plus, et c'est quand même quelque chose de très
simple ; en vérité, la rotation uniforme d'une sphère en dimension
quatre n'est pas très éloignée de cette idée (justement parce que le
rang du groupe des rotations vaut 2).
Parmi
les objets mathématiques qui me fascinent complètement, un des plus
beaux et des plus remarquables est certainement le système de
racines de E8 (ou du moins tout le cortège d'objets
mathématiques plus ou moins liés à E8 : le système de
racines, les polytopes associés et leur groupe de Weyl, le réseau des
poids, les groupes de Lie ou de Chevalley associés, les immeubles de
Tits qui en découlent et les variétés de drapeaux en question,
etc. : il y a plein de choses auxquelles on pense quand on
dit E8). Sans rentrer dans les détails
mathématiques, disons qu'il s'agit ici
d'un solide
semi-régulier en dimension 8 (pas exactement régulier — il
n'y a que trois solides réguliers à partir de la dimension 5 et ils ne
sont pas très amusants — mais uniforme), le plus grand et le
plus remarquable d'une famille de cinq objets exceptionnels ; il
s'agit aussi des points les plus proches de l'origine dans un
certain réseau
cristallographique aux propriétés
mirobolantes[#].
J'avais déjà
fait une page interactive à
son sujet (que je devrais d'ailleurs retravailler un peu), mais je
reste sur ma faim : cette page ne laisse pas vraiment voir la beauté
de l'objet, parce qu'on ne le voit pas bouger.
Bref, je voulais me faire une image du système de racines de
E8en train de tourner et d'exhiber quelques unes
de ses impressionnantes symétries.
Le problème est que le polytope dont je parle a 240 sommets et 6720
arêtes[#2], et que tracer 6720
arêtes 25 fois par seconde ça a l'air un chouïa trop rapide pour une
bête application en JavaScript sur Canvas (enfin, si quelqu'un trouve
moyen d'optimiser ça et peut m'expliquer comment faire, je suis
preneur ; le calcul des projections de 240 points, lui, devrait être
très rapide). [Mise à jour : voir
néanmoins cette page.]
À défaut, je me suis fait une vidéo, que j'ai entre
autres mise sur
YouTube ; bon, l'ennui, c'est que la compression drastique que
YouTube fait subir à ses vidéos fait que c'est en fait
épouvantablement moche (surtout dans la deuxième partie de la vidéo,
celle où ça tourne très vite), ce qui est dommage pour quelque chose
censé être d'une beauté ineffable : j'en ai donc aussi fait
une version en plus
haute qualité à télécharger (170Mo ; le lien qui précède pointe
sur un fichier BitTorrent[#3],
si ça ne marche pas, vous pouvez réessayer sans
l'extension .torrent pour télécharger directement le
fichier WebM), ce n'est toujours pas très satisfaisant, il y a encore
des artefacts de compression et aussi des artefacts d'aliasing dans le
tracé, mais bon, c'est quand même joli à regarder (et certainement
mieux que l'horreur qui a atterri sur YouTube).
Les premières 1′30″ montrent différentes petites rotations du
polytope pour illustrer certains de ses plans de projection à haute
symétrie (à 10″ on voit une symétrie d'ordre 30 appelée figure de
Petrie, à 20″ une symétrie d'ordre 20, à 30″ une symétrie d'ordre 24,
à 50″ une symétrie d'ordre 18, à 1′10″ une symétrie d'ordre 14). Les
2′30″ restantes sont différentes : cette fois, on revient toutes les
10″ à une projection équivalente, après avoir fait une rotation qui
laisse le polytope symétrique (ça tourne donc beaucoup plus vite, et
c'est cette partie-là qui a été le plus complètement massacrée par la
compression vidéo sur YouTube).
Bizarrement, le plus difficile dans l'histoire a surtout été
d'écrire le code qui interpole une rotation discrète en un mouvement
continu (ou, de façon mathématiquement plus précise, qui inscrit une
transformation orthogonale directe au bout d'un groupe à un paramètre
de telles
transformations[#4]).
[#] Par exemple,
concernant
le problème
de savoir combien de sphères identiques on peut placer en contact avec
une sphère donnée (sans qu'elles se chevauchent, bien sûr), la réponse
est connue en toute petite dimension (≤4), en dimension 8 grâce à
E8, en dimension 24 grâce au réseau de Leech (un autre
réseau aux propriétés mirifiques), et c'est tout. Donc en fait je
pourrais définir mon polyèdre E8 de la façon suivante :
placez 240 sphères toutes identique autour d'une autre (également
identique) en dimension 8, il n'y a essentiellement qu'une seule façon
de faire ça, et les centres des 240 sphères forment le polyèdre dont
je parle. Mais bon, il est plus simple de dire constructivement que
mes 240 points sont ceux qui ont les coordonnées (±1,±1,0,0,0,0,0,0)
(pour un choix quelconque de deux coordonnées non nulles et deux
signes indépendants, ce qui fait 112 points) ou bien
(±½,±½,±½,±½,±½,±½,±½,±½) (pour un nombre pair de signes moins, ce qui
fait 128 points).
[#2] Il a aussi 60480
faces, qui sont des triangles équilatéraux, 241920 trois-cellules
(c'est-à-dire les faces de dimension 3), qui sont des tétraèdres
réguliers, 483840 quatre-cellules, qui sont des 4-simplexes réguliers,
483840 cinq-cellules, qui sont des 5-simplexes réguliers, 207360
six-cellules (dont 138240 relient une facette 7-simplexe à une facette
7-croix et 69120 relient deux 7-croix), et enfin 19440 facettes
(=sept-cellules), 17280 étant des 7-simplexes réguliers et 2160 étant
des octaèdres généralisés (des 7-croix). Enfin, son groupe de
symétries (le groupe de Weyl de E8) est d'ordre 696729600
(et il est isomorphe, à un facteur 2 près, au groupe des
transformations préservant une forme quadratique déployée de rang 8
sur 𝔽8).
[#3] Mon organisation
BitTorrent, basée sur XBT est d'ailleurs épouvantablement
bordélique, mal foutue, et probablement bourrée de trous de sécurité
inquiétants. Mais je n'ai jamais réussi à trouver un tracker et
client BitTorrent qui me satisfassent (notamment,
sans PHP), à utiliser en ligne de commande (sur des
machines qui sont essentiellement des serveurs) ; si quelqu'un a des
suggestions, je suis preneur. Je devrais peut-être essayer la
combinaison opentracker et rTorrent, ce sera peut-être plus agréable
que l'horreur que j'ai actuellement.
[#4] En principe c'est
très facile : on veut calculer Mt,
pour M une transformation orthogonale directe,
avec t variant de 0 à 1 : on calcule une
matrice P de vecteurs-propres de sorte
que D:=P·M·P−1
soit diagonale, et on
calcule P−1·Dt·P
pour différentes valeurs de t. Le problème est
que M peut avoir la valeur-propre −1, auquel cas
(−1)t a un problème de détermination (si on ne
fait pas attention, on va se retrouver avec une matrice complexe et
pas une matrice orthogonale réelle comme on le veut) : il faut donc
trouver une base orthogonale de l'espace propre de −1 (et commencer
par en trouver une base réelle, parce que les approximations
numériques peuvent faire que le calcul initial donne des résultats
complexes), puis fabriquer une matrice diagonale par blocs 2×2 de
rotation d'angle 2π·t, bref, c'est lourdingue
d'avoir quelque chose d'un peu robuste numériquement.
Je mentionnais récemment que je
n'écrivais pas beaucoup sur ce blog de critiques de livres. Il est
encore plus vrai que je n'écris pas beaucoup de critiques de livres de
maths : ce n'est pas que je n'aie pas de livres de maths préférés,
bien au contraire, mais la difficulté extrême que je trouve à
critiquer un tel livre est que je ne parviens généralement pas à
séparer mon appréciation du sujet de celle de
la forme (au moins dans le cas où les deux me plaisent). Par
exemple, un de mes livres de maths préférés
est Algorithms in Invariant Theory de Bernd
Sturmfels, dont j'ai déjà parlé,
mais en vérité il est difficile de savoir si je l'aime parce que la
présentation est excellente ou simplement parce que les théorèmes sont
très beaux (auquel cas l'auteur n'y est pas pour grand-chose : c'est
juste que je trouve que la théorie des invariants est un petit bijou
de mathématiques). Il y a bien sûr des cas où on sait distinguer :
par exemple, pour tout livre écrit par Conway, on sait que le sujet va
être magnifique mais que l'exposition va être insupportable parce
qu'il s'adresse à des génies comme lui et pas à des êtres humains
comme vous et moi, et qu'en plus il fait des espèces de jeux de mots
insupportables dans sa façon de nommer tous les objets.
Bref, je ne parle normalement pas trop de livres de maths, mais je
vais faire une exception pour signaler un livre récent de Jürgen
Richter-Gebert, Perspectives on Projective
Geometry (A guided tour through real and complex geometry)
(Springer 2011, ISBN 978-3-642-17285-4),
sur lequel je suis tombé un peu par hasard il y a quelques jours dans
la librairie Eyrolles. D'abord parce qu'il ne s'agit pas d'un livre
de recherche : il s'agit d'un livre pédagogique qui peut s'adresser à
un lectorat extrêmement varié, et même si le mathématicien
professionnel n'y apprendra probablement pas grand-chose (en tout cas
celui qui se spécialise en géométrie), je pense que beaucoup de gens
peuvent l'apprécier, entre un bon lycéen passionné de géométrie et un
agrégatif de maths à la recherche de développements originaux.
En vérité, et c'est surtout la raison pour laquelle je le
mentionne, il s'agit d'un livre que j'aurais voulu écrire, et qui
présente exactement la manière dont je pense la géométrie élémentaire.
En tout cas, c'est certainement selon ces lignes que j'aurais fait
ma présentation de la géométrie sur
ce blog si j'avais eu le courage de la mener à terme. Ce qu'on m'a
plusieurs fois reproché de ne pas faire, donc, ceux qui m'ont dit ça,
lisez le livre de Richter-Gebert !
Qui plus est, c'est un très joli livre, avec des illustrations bien
faites (ce qui n'est jamais mal pour un livre de géométrie, même si le
proverbe dit qu'il s'agit de l'art de raisonner juste sur une figure
fausse), et imprimé en couleur. Donc même si vous en trouverez
certainement un exemplaire
électronique diffusé par rayons
cosmiques, je conseille vivement d'en prendre une version bouts
d'arbres morts, qui n'est pas très chère et qui fera belle figure
sur la table basse du salon.
⁂ Un autre livre, sur un sujet vaguement
apparenté, que j'ai aussi acquis récemment, et que je ne
recommande pas, en revanche, c'est d'Ernest
E. Shult, Points and Lines (Characterizing the
classical geometries), qui porte sur la géométrie d'incidence.
J'espérais y lire des choses qui m'éclairent un peu sur
les immeubles
et les quotients paraboliques des groupes algébriques réductifs vus
comme des géométries, et le genre d'idées sur lesquelles je ne connais
que le trop pléthorique et assez indigeste livre de Boris
Rosenfeld, Geometry of Lie Groups.
L'intention pédagogique de Shult est excellente en ce qu'il a fait un
livre self-contained, mais le résultat est
malheureusement un fouillis abscons de termes ultra-techniques qui me
laisse exactement aussi peu Éclairé qu'au début et beaucoup plus
embrouillé, et où il ne parle même pas de groupes de Lie ; et
indépendamment du fond, beaucoup de termes sont utilisés avant d'être
définis et ne figurent pas dans l'index, ce qui est à peu près
rédhibitoire : par exemple, il dit tout un tas de choses sur les
espaces métasymplectiques et leur caractérisation, et je n'ai pas
réussi à trouver où il en a caché la définition ! C'est d'autant plus
dommage que je pense qu'il y aurait eu le moyen de faire quelque chose
d'excellent.
[#] Anecdote gratuite :
j'ai un ami qui a fait un développement d'agreg sur les coniques sans
jamais parler d'ellipse, parabole ou hyperbole. Rached Mneimné, qui
était dans son jury, le lui reprochant, lui a dit : Je pense que
votre leçon n'aurait pas plu à Archimède. Et il aurait
répondu : Mais peut-être qu'elle aurait plu à Poncelet ?
(enfin, non, en vérité, malheureusement, il n'a pas eu le culot de
dire ça — mais il aurait voulu et eu raison de le faire, et du coup je
raconte sans vergogne l'anecdote ainsi arrangée en espérant qu'elle
devienne une jolie légende urbaine).
❄ Tiens, et pour ceux qui aiment la géométrie projective, voici
une question
à 0.02 zorkmids à laquelle je cherche toujours une solution simple
et élégante : soient C et D deux coniques planes
en position assez
générale, p1,p2,p3,p4
leurs quatre points d'intersection,
et ℓ1,ℓ2,ℓ3,ℓ4
leurs quatre tangentes communes (c'est-à-dire les intersections des
coniques duales C* et D*).
Montrer que, quitte à réordonner les points, le birapport
de p1,p2,p3,p4
sur C est égal au birapport
de ℓ1,ℓ2,ℓ3,ℓ4
sur D*. (Ce dernier étant le birapport
sur D des quatre points de tangence
de ℓ1,ℓ2,ℓ3,ℓ4.
On peut aussi éventuellement remarquer que le premier est aussi le
birapport, dans le pinceau linéaire L de coniques engendré
par C et D,
de C,X,Y,Z
où X, Y et Z désignent les trois
coniques dégénérées passant
par p1,p2,p3,p4 ;
et de même, le second birapport est aussi celui, dans le
pinceau M de coniques simultanément tangentes
à ℓ1,ℓ2,ℓ3,ℓ4
de D,U,V,W
où U, V et W désignent les duales
dégénérées qu'on devine. Mais peut-être que cette observation ne fait
qu'embrouiller les choses.)
[Ajout () par
rapport à la question précédente : cela revient plus ou moins à
montrer qu'il existe une conique Γ telle que C
et D soient polaires l'une de l'autre par rapport
à Γ (car alors la polarité par Γ
transforme p1,p2,p3,p4
en ℓ1,ℓ2,ℓ3,ℓ4
à l'ordre près, ce qui implique ce qu'on veut sur le birapport) ; la
conique Γ doit nécessairement admettre le triangle
autopolaire commun à C et D comme on s'en
persuade assez facilement ; on peut montrer son existence en
considérant des coordonnés (x:y:z)
pour lesquelles ce triangle autopolaire est donné par (1:0:0), (0:1:0)
et (0:1:0), ce qui revient à diagonaliser simultanément les formes
quadratiques définissant C et D : leurs
équations deviennent,
disons, cx·x²
+ cy·y²
+ cz·z² = 0
et dx·x²
+ dy·y²
+ dz·z² = 0,
et Γ peut être définie
par γx·x²
+ γy·y²
+ γz·z² = 0 où
chaque γi vaut
±√(ci·di).
Mais je voudrais quelque chose de purement géométrique.]
Voici un petit gadget qui pourrait servir de décoration de Noël
(choisissez une entrée au hasard dans le menu déroulant puis cliquez
sur Start, avant de lire les explications
ci-dessous) :
Il s'agit d'une représentation sous forme animation de n'importe
lequel des seize (classes de) sous-groupes transitifs sur
six objets. J'avais évoqué des questions semblables à propos
des symétries possibles sur cinq
objets dans une entrée récente, mais la discussion pour six objets
est évidemment plus compliquée. Un groupe de permutations sur
six objets (=sous-groupe de 𝔖6), c'est un ensemble de
façon de permuter (réordonner) ces six objets de façon que si on
effectue deux permutations du groupe à la suite (=on les compose), on
obtient encore une permutation du groupe ; le nombre de permutations
s'appelle l'ordre du groupe. Un tel groupe de permutations
est dit transitif lorsqu'il y a moyen d'envoyer n'importe
quel objet à n'importe quel emplacement par (au moins) un élément du
groupe. On dit que deux sous-groupe de 𝔖6
sont conjugués lorsqu'on peut transformer l'un en l'autre
en permutant les objets. À conjugaison près, il existe exactement
seize groupes de permutation transitifs sur six objets, et c'est ça
que cette petite animation représente : on choisit un groupe dans la
liste, et le script va choisir aléatoirement une permutation du
groupe, puis une autre, puis une autre, et ainsi de suite
indéfiniment, et anime à chaque fois le déplacement des six objets. À
une extrême, 𝔖6 contient toutes les permutations possibles,
à l'autre, C6 ne contient que les permutations
cycliques. Entre les deux, chacun des sous-groupes proposés
correspond à une petite danse que peuvent faire mes six cercles
colorés, je trouve ça assez envoûtant à regarder.
Le cas de 𝔖6 est intéressant, parce que
𝔖6 est l'unique groupe symétrique qui possède
des automorphismes extérieurs (c'est-à-dire des façons
d'associer à toute permutation une autre de façon à préserver la
composition). Pour reprendre la terminologie de Sylvester (qui aimait
bien les mots commençant par sy), on appelle pentade
synthématique une façon de partitionner en 5 classes les 15
arêtes du graphe complet sur les six objets de façon que deux arêtes
ayant un sommet commun ne soient jamais dans la même classe : il
existe exactement 6 pentades synthématiques, et 𝔖6 réalise
toutes les permutations possibles sur les pentades, ce qui signifie
qu'en même temps qu'il agit sur les six objets, il agit aussi sur les
six pentades, la correspondance entre les deux définissant un
automorphisme extérieur. Beaucoup des sous-groupes transitifs de
𝔖6 se voient assez naturellement à travers cette
description. [Ajout :
voir cette entrée ultérieure pour
une description de l'automorphisme extérieur de 𝔖6.]
Par ailleurs, je dois signaler que j'ai dû faire
des choix de représentants dans mes classes de conjugaisons de
sous-groupes. (Il n'est malheureusement pas possible de les faire de
façon parfaite, c'est-à-dire de façon que deux sous-groupes inclus à
conjugaison près soient effectivement représentés par des sous-groupes
inclus exactement.) J'ai fait ces choix de façon à respecter la
structure de l'hexagone, c'est-à-dire, techniquement, que le groupe
diédral de l'hexagone soit dans le normalisateur de tous les
représentants ici choisis (ça doit rendre mes choix uniques ou
quasiment uniques, et ça les rend en tout cas assez naturels).
Polynômes plus ou moins symétriques en cinq variables
Suite à des réflexions autour de la théorie de Galois (notamment
des équations de degré 5, dans le cadre de l'écriture d'un livre sur
le sujet) et autour de la théorie des invariants, je me suis amusé à
regarder un peu la façon dont « fonctionnent » les polynômes plus ou
moins symétriques à cinq variables. Par plus ou moins
symétrique je veux dire qu'il y a des permutations échangeant les
cinq variables qui laissent le polynôme invariant, mais pas
nécessairement que le groupe G de ces permutations doive
être le groupe symétrique 𝔖5 de toutes les (120)
permutations possibles. Par exemple, le polynôme Q
= Z1·Z2
+ Z2·Z3
+ Z3·Z4
+ Z4·Z5
+ Z5·Z1 (dans les cinq
variables Z1, Z2, Z3, Z4, Z5)
est symétrique sous l'effet de 10 permutations des variables, à savoir
les 10 symétries d'un pentagone régulier dont les sommets seraient
étiquetés par les cinq variables (dans l'ordre donné), i.e., ce qu'on
appelle le groupe diédral D5 du
pentagone : concrètement, Q est invariant si on permute
cycliquement les variables (Z1
devient Z2, Z2
devient Z3 et ainsi de suite) ou si on les
inverse (Z1 devient Z5 et
réciproquement, Z2
devient Z4 et réciproquement,
et Z3 reste) ou par n'importe quelle composition
de ces symétries.
Pourquoi précisément cinq variables ? Parce que c'est le
plus petit nombre pour lequel il commence à y avoir des choses
intéressantes à dire, parce qu'historiquement cela a eu de
l'importance (pour montrer que l'équation algébrique générale du
cinquième degré n'est pas résoluble par radicaux et pour savoir
précisément détecter si une équation donnée l'est), parce que ça fait
une situation sur laquelle faire des calculs explicites, et parce que
la situation pour plus de variable commence à devenir franchement
compliquée. Bref, c'est un cadre sympathique pour faire quelques
observations élémentaires de théorie des invariants ou de Galois, et
un peu de vulgarisation comme j'aime en faire.
J'ai évoqué brièvement dans
une entrée passée
les nombres
surréels de Conway. En marge de ma saga sur les ordinaux
(commencée ici), je voudrais
essayer d'en parler un peu plus ici (comme d'habitude, je promets de
faire en sorte de dépendre le moins possible des entrées passées et
d'être largement self-contained), et discuter
notamment de la question de savoir dans quel mesure ces objets sont
naturels, ou intéressants. Je sais qu'ils fascinent beaucoup les
mathématiciens amateurs ou moins amateurs, parce qu'ils sont une
classe de nombres extrêmement généraux, unifiant à la fois les
ordinaux et les nombres réels : on aime bien, en maths, trouver des
généralisations communes à plusieurs choses (et c'est vrai que c'est
assez rigolo de se dire qu'il y a des « nombres »
comme ω√2 ou ε−½). Il y a
aussi de jolies analogies entre ces nombres surréels et
les nimbres, ces derniers étant une sorte de version en
caractéristique 2 de la même chose. Ceci étant, je n'arrive pas
vraiment à décider si je trouve les nombres surréels vraiment élégants
ou insupportablement bricolés, et je veux présenter des arguments dans
les deux sens.
Suites de signes
Je vais prendre la définition suivante : un nombre
surréel est une suite de signes plus (+) et moins (−), dont la
longueur peut être ou non finie, et est en général un ordinal. (Cet
ordinal est appelé par Conway la date de naissance du
nombre surréel en question.) Parfois on peut avoir envie d'imposer à
cette longueur de ne pas être trop grande, j'y reviendrai.
Par exemple, la suite vide () servira à désigner le nombre 0 (c'est
le seul nombre surréel né le jour 0), la suite de longueur 1
formée d'un seul plus (+) le nombre 1 tandis que la suite (−) sera le
nombre −1 (ce sont les deux nombres surréels nés le jour 1).
Les quatre suites possibles de longueur 2, (++), (+−), (−+) et (−−)
seront les nombres 2, ½, −½ et −2 respectivement (les quatre nombres
surréels nés le jour 2). Comme je n'ai pas encore expliqué
comment on ajoute ou multiplie les nombres surréels, il est normal de
ne pas comprendre pourquoi ils correspondraient à ces valeurs
précises, mais je donne ces exemples juste pour situer. En fait,
n'importe quelle suite finie de + et de − codera un nombre
dyadique, c'est-à-dire de la
forme p/2r (avec p
et r entiers). Ces suites forment un arbre, représenté
ci-dessus si votre navigateur gère le SVG (prendre la
branche qui descend à droite revient à ajouter un + à la fin de la
suite, et celle qui descend à gauche revient à ajouter un −), et dont
on devine assez bien la règle de correspondance avec les dyadiques :
pour construire le niveau r en ayant construit les niveaux
antérieurs, chaque nœud représente le nombre qui est la demi-somme du
nombre immédiatement à gauche et du nombre immédiatement à droite dans
les niveaux précédents (je veux dire, l'ancêtre le plus récent qui
soit situé sur la gauche, resp. sur la droite, du nœud considéré),
sauf pour le nombre le plus à droite d'un niveau donné qui s'obtient
en ajoutant 1 à celui du niveau précédent (c'est donc
l'entier r) et pour le nombre le plus à gauche qui
s'obtient en soustrayant 1 à celui du niveau précédent (c'est donc
l'entier −r).
Je continue ma série sur les ordinaux
commencée ici
et là (tout en promettant de faire
mon possible pour que chaque entrée soit au moins vaguement lisible si
on n'a pas bien lu les précédentes !, sinon je n'aurai vite plus
personne qui suive).
On dispose un certain nombre d'allumettes (bâtonnets, jetons, ce
que vous voudrez) en un certain nombre de lignes, classiquement
1+3+5+7=16 allumettes dans la position de départ (cf. la figure
ci-contre si votre navigateur supporte le SVG). Deux
joueurs s'affrontent et chacun, tour à tour, retire des allumettes,
autant qu'il en souhaite mais provenant d'une seule ligne (il peut
retirer la totalité de la ligne s'il le souhaite, et il peut ne
retirer qu'une seule allumette, ou n'importe quoi entre les deux ;
mais il doit retirer au moins une allumette et ne doit affecter qu'une
seule ligne). Le gagnant est celui qui retire la dernière allumette
(de façon équivalente, celui qui ne peut plus jouer parce qu'il n'y a
plus aucune allumette a perdu).
La variante misère, dans laquelle celui
qui retire la dernière allumette a perdu, existe aussi, et est même
peut-être plus fréquente, mais elle est moins satisfaisante
mathématiquement et je ne vois aucune raison de la préférer.
Ce petit jeu peut avoir un certain succès auprès des gens qui ne le
connaissent pas (et quand on connaît le truc, c'est rigolo de les
faire perdre). Si vous ne connaissez pas, et si votre navigateur le
supporte, la figure ci-contre est jouable (je vous laisse deviner le
mode d'emploi, qui n'est peut-être pas terrible, mais je fais ce que
je peux).
Évidemment, la seule chose qui importe pour définir un état du jeu
est le nombre d'allumettes restant dans chaque ligne (on pourrait
imposer que les joueurs retirassent les allumettes à partir de le
droite, ça ne changerait rien). Mathématiquement, on peut dire que le
jeu est basé sur les idées que (1) si on décroît un nombre, on finit
forcément pas s'arrêter (parce qu'on tombe sur zéro) et que (2) on va
faire perdre le joueur qui ne peut plus jouer (selon la logique que
chaque joueur est obligé de jouer, donc celui qui ne le peut pas à
perdu).
Décrit comme ça, et vu que j'ai présenté les ordinaux comme des
lignes de bâtonnets et que
j'ai lourdement insisté
sur le fait que quand on décroît un ordinal on obtient un processus
qui termine toujours, on devine bien sûr que je vais définir un jeu de
nim transfini (ou ordinal), dans lequel les lignes peuvent comporter
un nombre éventuellement infini de bâtonnets. Mais en fait, ceci sera
mon deuxième thème : je commence par un type de jeu un petit peu
différent selon le même genre d'idées.
(Les deux parties qui suivent sont indépendantes,
et les deux sous-parties de la première le sont aussi à peu près.)
À la fois pour m'exercer à la programmation en JavaScript (dont
j'ai déjà dû dire que c'est un
langage dans lequel je trouve un mélange très étonnant de choix très
élégants et puissants et de bizarreries insupportables), et pour
exercer mon intuition sur les ordinaux, j'ai créé une petite page
dynamique (devrais-je dire un jeu en HTML5 ?)
d'exploration des ordinaux sous la forme de bâtonnets comme je les
présentais dans une entrée
récente.
La page
est ici, et je
l'inclus aussi dans une frame plus bas dans cette entrée (mais c'est
moins commode de cette manière parce qu'on ne peut pas utiliser
l'historique du navigateur et notamment le bouton back) ; son
utilisation mérite sans doute quelques explications. L'idée est qu'un
certain ordinal est présenté sous forme de bâtonnets (au
départ, ε0, mais on peut en sélectionner
d'autres), et plus précisément comme une somme infinie, toujours aux
mêmes proportions géométriques, de différents termes (du
genre ε0 = ω
+ ωω
+ ωωω
+ ωωωω
+ ⋯, les termes omis valant d'ailleurs tout autant que le total), et
on peut sélectionner un de ces termes (soit un des quatre premiers
termes, soit la totalité du reste de la série, ce qui fait cinq choix)
pour zoomer dessus : cela se fait soit en cliquant sur le graphique,
soit sur un des noms des ordinaux en-dessous (ce sont des liens) qui
représentent les valeurs de ces différents termes. Le faire devrait
déclencher une animation où on voit la partie en question s'étendre
jusqu'à occuper toute la largeur de l'image. Lorsque ceci se produit,
le titre reflète le nouvel ordinal qu'on est en train d'observer (la
valeur de l'ordinal représenté dans l'image, le « nombre » de
bâtonnets sur lesquels on a zoomé, si l'on veut).
En bas de l'image s'affiche aussi le « nombre » de bâtonnets qu'on
a fait disparaître sur la gauche, c'est-à-dire la valeur de
la somme des termes précédents de la série (à toutes les étapes), ou
encore, si l'on préfère, l'ordinal du bâtonnet le plus à gauche à
l'intérieur de l'ordinal initial : en quelque sorte, c'est
notre position actuelle dans l'ordinal de départ alors que l'ordinal
affiché dans le titre est en quelque sorte notre niveau de zoom ; il
est donc possible, pour n'importe quel ordinal α plus petit
que l'ordinal de départ (et multiple de ω, parce que mon
programme refuse de descendre plus loin), de faire en sorte que cet
ordinal removed at left vaille
exactement α.
En cliquant sur la partie tout à droite (celle qui représente la
somme de tous les autres termes de la série), on ne fait pas diminuer
l'ordinal représenté, et le processus ne termine jamais (enfin,
jusqu'à ce qu'on ait fait exploser JavaScript, ce qui ne devrait pas
être long, j'imagine). Si on clicke sur d'autres parties, l'ordinal
décroît toujours (je parle de celui indiqué dans le titre, i.e. la
« largeur », pas celui du bas, la « position », qui elle augmente
toujours), et donc on tombe forcément en un nombre fini d'étapes
sur ω, mais à moins de clicker sur la partie la plus à
gauche, ce nombre fini d'étapes risque souvent d'être considérablement
plus long que la durée de vie de l'Univers, ou en tout cas que la
mémoire de votre navigateur, donc il est facile de tomber sur des
ordinaux impossiblement compliqués.
Bref, voilà le joujou, je fais d'autres remarques plus sérieuses
en-dessous :
Quelques remarques d'ordre mathématique, maintenant, suivies de
quelques remarques d'ordre informatique :
Tous les ordinaux dans l'histoire ressemblent un peu à la même
chose. En fait, dès qu'ils sont plus que légèrement compliqués, ils
doivent être identiques au pixel près. La fractale à laquelle
ils ressemblent, qui a tout à voir avec mon choix
d'arrangement des bâtons, et rien avec la nature fondamentale des
ordinaux, peut être décrite comme ceci : si on appelle u la
transformation affine qui fixe le point au milieu à gauche du dessin
et qui transforme l'axe des abscisses par un coefficient 10/3 et
laisse les ordonnées identiques (c'est la transformation qui sert à
zoomer sur la partie la plus à gauche de l'ordinal) et v la
similitude qui fixe la pointe droite du dessin et qui a pour rapport
10/7 (les transformations qui servent à zoomer sur les autres parties
de l'ordinal sont
alors u∘v, u∘v², u∘v³,
et v4 pour la partie restante), alors il s'agit
du plus petit fermé contenant le bâtonnet tout à droite et stable
par u et v. Ça, je répète, c'est à quoi mes
dessins d'ordinaux ressemblent, et ça signifie simplement que
la complexité est telle qu'on ne peut pas résoudre les petits bâtons
individuels à moins de clicker très souvent ; mais cette fractale
comporte un nombre infini de « bâtonnets » entre deux abscisses
distinctes, alors que mes dessins d'ordinaux ont, en principe, un
bâtonnet distinct à droite de n'importe quel bâtonnet donné. Bref,
voilà une première limitation sérieuse de mon système, c'est qu'on n'y
voit rien, et qu'on se retrouve plus ou moins à zoomer tout le temps
de la même façon sur le même dessin, avec juste les noms qui changent,
ce n'est ni très intéressant, ni très éclairant.
Encore plus sérieux : ce système suggère, alors que c'est faux,
qu'il existerait une façon unique, ou au moins très naturelle, de
fabriquer n'importe quel ordinal comme somme d'une série d'ordinaux
plus petits ; ou que la subdivision de l'ordinal a quelque chose
d'intrinsèque. Or ce n'est pas le cas. Par exemple, l'écriture
de ωω comme ω
+ ω² + ω³ + ⋯ laisse penser, comme elle est
représentée, que le premier ω est spécial ou différent des
autres ω qui peuvent se trouver à l'intérieur des autres
termes : il n'en est rien, il a un rôle totalement semblable à celui
que joue par exemple le premier ω du terme ω²,
c'est-à-dire que la séparation des termes n'a rien de magique ou
d'intrinsèque. Je suis donc en train de donner une impression
totalement fausse de certains ordinaux comme quoi ils seraient plus ou
moins espacés à tel ou tel endroit, ce qui n'a aucun sens — seul
l'ordre compte. J'avais fait plus attention à ce problème dans
mon entrée précédente sur la
question, notamment dans
mon dessin
de ωω, où j'ai fait au moins en
sorte que rien ne distingue fondamentalement le premier ω
du suivant, mais je ne sais pas généraliser naturellement ce genre
d'astuce un peu ad hoc à des ordinaux considérablement plus
grands (et de toute façon je ne suis pas persuadé que c'était vraiment
plus clair).
Les noms que mon programme donne aux ordinaux ne sont pas
forcément idéaux : ils sont systématiques et raisonnables, mais ce ne
sont pas forcément ceux qu'on utiliserait le plus naturellement. Par
exemple, on
a ε0ω
= ωε0+1,
et ε02
= ωε02,
et ε0ω
= ωωε0+1,
et ε0ε0
= ωωε02,
et ε0ε0ω
= ωωωε0+1
(tout cela est laissé en exercice au lecteur, c'est assez facile en se
rappelant
que ε0=ωε0
et en partant plutôt du membre de gauche) ; or dans chacune de ces
égalités, mon programme utilisera la forme de droite pour nommer les
ordinaux en question (parce qu'il utilise autant que possible la forme
normale de Cantor) alors que la version de gauche (basée en premier
lieu sur une écriture en base ε0) semble plus
naturelle. Cela peut, au moins, surprendre.
Le programme en JavaScript contient un vrai petit système d'objets
permettant de représenter les plus petits ordinaux (les plus
petits signifiant ici, les ordinaux jusqu'à
l'ordinal εεε⋱,
qui est le plus petit ordinal vérifiant
l'équation α=εα,
exclu). Il « sait » vraiment faire des additions, comparer deux
ordinaux, trouver une suite qui converge vers un ordinal limite,
fabriquer un nom HTML, etc. Ça m'a donné l'occasion de
faire de la programmation orientée objet en JavaScript (mélangée à un
petit peu de programmation fonctionnelle, puisque je n'hésite pas à
renvoyer des fonctions qui capturent des variables internes, etc.).
Et à comprendre un peu plus précisément comment fonctionne le système
de prototypage de JavaScript (je savais le principe général que chaque
objet avait un prototype, qui sert à déterminer la chaîne d'héritage,
mais je ne comprenais pas bien la façon dont il était initialisé
avec new
ou Object.create).
C'était aussi l'occasion de faire joujou avec la manipulation
des URL en JavaScript : je voulais faire en sorte que
chaque état du programme (l'ordinal qu'on voit, mais aussi celui
laissé à gauche) corresponde à une URL stable qu'on peut
charger directement, du
style http://www.madore.org/~david/math/drawordinals.html#?v=e
pour la représentation initiale de ε0 (et de
même, tous les liens dans la page activent des fonctions JavaScript
mais comportent aussi des URL correctes et qu'on peut
utiliser directement) ; j'ai donc suivi cette fameuse convention
(souvent décriée, mais enfin je ne vois pas comment faire autrement)
consistant à coder les paramètres à passer au JavaScript dans ce qui
devrait normalement être l'identificateur de fragment. (J'ai utilisé
un ‘?’ pour séparer ces paramètres, ça me semble plus
propre que de ne rien mettre pour signaler qu'il est normal qu'il n'y
ait pas de balise HTML ayant cet ID, mais en
même temps je ne voulais pas utiliser le ‘!’ qu'on voit
souvent dans cette fonction parce
qu'il
a un sens magique pour Google.) Ceci permet aussi que (si vous
essayez le truc
dans sa propre
page et pas tel qu'il est inclus dans la présente entrée) les
boutons de navigation dans l'historique (back/forward) marchent
normalement, ce qui est toujours plus plaisant ; la magie, là, est de
capter
l'événement hashchange
(ça ne marche pas sur tous les navigateurs, mais bon, c'est déjà
ça).
Ah, et vous vous en foutez, mais si vous voyez des petites mains
qui pointent pour marquer les items de cette liste de remarques, je
suis assez fier de ma petite magouille en CSS qui m'a
fait un peu suer (mais ça c'est parce que je suis mauvais
en CSS, pas parce que c'était dur).
Edward Nelson prétend montrer que les mathématiques sont inconsistantes
On me
signale cette
esquisse d'une démonstration (dont la version complète
formerait un
gros bouquin), par Edward Nelson (qui est pourtant un matheux
relativement renommé, pas un fou dans sa cave), du fait que les
mathématiques usuelles, et en fait déjà
l'arithmétique de
Peano, serait contradictoire.
L'idée serait une sorte de variante du paradoxe bien connu de
l'« examen surprise » :
Un prof annonce à ses élèves qu'ils auront un examen au cours de la
semaine qui vient (lundi à vendredi) et qu'ils ne pourront pas savoir
avant le jour même quel sera le jour de l'examen ; les élèves
raisonnent alors que l'examen ne peut pas être le vendredi puisque
sinon le jeudi soir ils sauraient que ce ne peut être que le
lendemain, et du coup le vendredi est exclu donc l'examen ne peut
avoir lieu que du lundi au jeudi, mais les élèves peuvent alors
répéter le même raisonnement pour exclure le jeudi, et ainsi de suite,
et du coup l'examen ne peut pas avoir lieu du tout ; pourtant, lorsque
le mercredi l'examen a lieu, il est effectivement une surprise.
On peut gloser cent mille ans sur ce paradoxe, je ne vais pas le
faire parce que ça m'énerve particulièrement (voyez
l'article
Wikipédia à ce sujet), mais la résolution n'est pas
particulièrement compliquée : si on appelle T0
l'axiome il y aura un examen cette semaine
et Ti+1 l'axiome
(T0 et) on ne peut pas conclure sur la base
de Ti quel jour l'examen aura lieu
avant qu'il ait lieu, alors T1 implique que
l'examen n'a pas lieu vendredi, T2 implique
qu'il n'a pas lieu jeudi non plus, T4 implique
que l'examen a forcément lieu le lundi, et T5
est contradictoire. Si l'examen a lieu le mercredi, c'est
que T3 était faux, voilà tout : si on interprète
l'énoncé du prof comme T∞ défini comme
(T0 et) on ne peut pas conclure sur la base
de T∞ quel jour l'examen aura lieu avant qu'il
ait lieu, c'est contradictoire et faux, ce qui n'empêche
que T2 peut être vrai, ce qui présente déjà un
certain élément de surprise. Bref, je trouve que ce paradoxe n'est
pas spécialement intéressant. Mais je veux surtout faire remarquer
que ce paradoxe appelle naturellement à faire appel à différentes
théories, de plus en plus complexes, dans lesquelles on sait
(ou on peut conclure) des choses.
L'erreur technique de Nelson (parce
que comme Randall Munroe je n'ai
pas le moindre doute qu'il y en ait une, et je ferais bien de prendre
son conseil et d'ouvrir les paris au lieu d'essaier d'expliquer les
choses) est facile à trouver : même si je n'ai pas envie d'essayer de
comprendre exactement ce qu'il prend comme théories faibles de
l'arithmétique, il est clair que le ℓ qu'il considère en
haut de la page 4 (de l'esquisse signalée au début de cette entrée)
dépend de la complexité (de Kolmogorov) de la théorie T.
Or page 5 il considère des preuves qui increase in
rank and level (de nouveau, je n'ai pas envie de savoir exactement
ce qu'il entend par là), donc dans des théories T dont la
complexité varie, alors qu'il prétend garder ℓ fixe.
Perdu.
Du moins c'était ma réaction immédiate en lisant son esquisse, et
comme je
vois ici que Terence Tao est arrivé à la même conclusion, je suis
raisonnablement confiant que c'est bien là le problème (au moins dans
la façon dont Nelson explique les choses). Les mathématiques sont
sauves (et nous avec) !
Mais même si j'ai envie d'ironiser en disant que c'est un peu
inquiétant qu'un membre de la National Academy of
Science puisse prétendre des choses aussi sottes, il y a un
certain intérêt à essayer de comprendre ce que croit en fait Nelson,
parce que ce n'est pas idiot (même si quand il pense que
l'arithmétique de Peano est contradictoire, je suis totalement et
complètement convaincu qu'il se trompe), et c'est une question qui est
revenue
à diversesreprises
sur ce blog. Il ne prétend pas que les mathématiques réellement
pratiquées sont contradictoires (et encore moins que 0=1), seulement
que tous les systèmes dans lesquels on les fait habituellement sont
contradictoires, parce que le principe de récurrence est faux et
contradictoire. (Et il pense pouvoir reformuler beaucoup de résultats
mathématiques dans un système plus faible qui lui convient, ce qui est
en soi intéressant, par exemple du point de vue
des mathématiques
à rebours, même si on ne croit pas une seule seconde
que ZF soit contradictoire.)
Peut-être que pour comprendre sa thèse je peux inviter mon lecteur
à lire un texte de
vulgarisation sur l'infini que j'avais écrit il y a quelques
années, où je commence par expliquer le principe de récurrence sous la
forme : 0 est un nombre fini, si n est un nombre fini
alors n+1 est aussi un nombre fini (et les entiers naturels
sont exactement ce qui s'obtient de cette manière, cf. ce que je
racontais récemment sur les
ordinaux) ; de ça, je prétends conclure que 1000, mais aussi
101000 ou 10↑10↑10↑10↑⋯↑1000 (avec 1000 élévations à la
puissance), ou encore d'autres choses beaucoup plus grandes, sont des
nombres finis. Faux, me rétorquerait Nelson : la seule façon dont je
pourrais montrer que 101000 est un nombre fini, c'est par
une démonstration qui commencerait par 0 est fini, donc 1 est fini,
donc 2 est fini, donc 3 est fini, donc 4 est fini… et qui
terminerait 101000 par donc 101000 est
fini. Or si on met en doute le fait que 101000 soit
fini, cette démonstration ne vaut que si elle est écrite complètement,
ce qui est manifestement impossible, et je ne peux pas agiter des
mains en disant oui, je pourrais le faire en principe, mais c'est
très long alors il n'en est pas question : la question est
justement de savoir si on pourrait le faire en principe, et si je ne
le fais pas, mon raisonnement est circulaire. (Le problème est
sérieux, puisque si on permet des longueurs non-standard, il est connu
et certain qu'il existe des démonstrations de contradiction dans les
mathématiques, mais ces démonstrations ne sont justement pas de
longueurs finie, ce ne sont pas du tout des démonstrations, donc tout
repose crucialement sur la question de la finitude.)
Maintenant, dans l'arithmétique de Peano, il n'y a aucun problème :
si x et y sont des entiers naturels,
alors xy existe (=est fini, a bien un
sens, est un entier naturel). Mais c'est justement ça que Nelson met
en doute : dans les théories faibles de l'arithmétique qu'il considère
(je n'ai pas regardé les détails, mais ce genre de choses est assez
habituel, voyez par exemple la partie C
de ce
livre), la fonction exponentielle n'est pas forcément
totale : il n'y a pas de raison
que xy existe si x
et y sont des entiers naturels. Du coup, il faudrait
effectivement une démonstration démesurément longue pour montrer que
101000 est un nombre fini ; et ces théories faibles ont un
intérêt certain en algorithmique (à cause d'un rapport profond entre
leurs théorèmes et différentes hiérarchies de complexité).
Maintenant, je ne sais pas si Nelson croit vraiment que le nombre
101000 n'existe pas ([ajout : en fait,
probablement pas, parce que la fonction de multiplication, elle, est
bien totale, et on peut construire 101000 en multipliant
1000 fois par 10, ce qui constitue une démonstration assez courte pour
être écrite] ; mais il le croit sans doute pour le
nombre 10↑10↑10↑10↑⋯↑1000 avec 1000 élévations à la puissance). Cela
ne signifie pas qu'il existerait un plus grand entier naturel : tout
le monde est d'accord que si n est un entier naturel,
alors n+1 en est un, juste qu'on
n'atteindrait jamais des nombres comme ce que je prétends
avoir écrit ; c'est une opinion provocatrice, que je ne partage pas du
tout parce que je suis religieusement platoniste, mais qu'il est
difficile de disqualifier, parce qu'il est vrai qu'il faut pour éviter
des démonstrations ridiculement longues (et peut-être, justement,
prétendra Nelson, infiniment longues !) des axiomes strictement plus
forts que ce qu'il admet, et dont il peut tout à fait croire qu'ils
sont contradictoires (même si, en l'occurrence, il s'est trompé).
Et c'est un problème philosophique que je considère comme assez
sérieux, de savoir si vraiment ces nombres ridiculement
grands existent, et comment, et dans quelle mesure et pourquoi
on a besoin qu'ils existent, et si les mathématiques peuvent s'en
passer. Si on pense qu'ils existent (ce qui est mon cas), la
difficulté est d'éviter le côté religieux du paradis platoniste. À
l'inverse, si on pense qu'ils n'existent pas (ce qui est le cas de
Nelson et, je crois, dans une certaine mesure, d'au moins un lecteur
de ce blog), la difficulté est d'expliquer pourquoi ils ne causent pas
de contradiction (s'ils n'en causent pas, c'est une forme d'existence
au moins potentielle : pourquoi des choses inexistantes auraient-elles
des conséquences tangibles comme la non-contradiction de Peano ou
de ZFC ?), ou sinon, de trouver cette contradiction
(comme Nelson semble déterminé à faire). Les paris sont ouverts !
Encore une fois je vais tenter de communiquer mon
enthousiasme pour un objet mathématique en essayant d'en parler de
façon compréhensible par ma petite
sœur[#] : et encore une fois je
vais échouer lamentablement parce que les non-matheux n'y comprendront
vite rien ou n'essaieront pas de lire, et les matheux n'y apprendront
rien. Encore une fois j'écris un post de blog en promettant que c'est
le premier d'une série : et encore une fois je vais échouer parce que
cette série s'arrêtera probablement à un élément (c'est toujours mieux
que zéro, certes).
Parmi les choses qui me fascinent dans les mathématiques (un jour,
je publierai un petit catalogue de mes objets mathématiques préférés),
il y a beauté qui émane de la symétrie (dans quoi je range
toute structure algébrique assez rigide), mais il y a aussi quelque
chose sur quoi j'ai plus de mal à mettre un mot, disons peut-être
la grandeur.
Les ordinaux
sont très représentatifs de cette dernière catégorie, et ils forment
d'ailleurs une échelle de grandeur à l'aune de laquelle on
peut mesurer beaucoup de « phénomènes » mathématiques (souvent pour un
résultat décevamment[#2]
médiocre, d'ailleurs). J'ai déjà tenté
d'en parler sur ce blog
(et encore), mais sans vraiment
faire l'effort de vulgariser de quoi il s'agit au juste : voici donc
une nouvelle tentative, agrémentée de petits dessins.
On va encore me reprocher de faire
des annonces techniques qui n'ont
aucune conséquence perceptible (mais bon, quand je parle
d'autre chose,
l'électro-encéphalogramme des commentaires enregistre un calme plat,
alors que voulez-vous ?) : je viens de passer ce blog (et toutes les
pages de ce site gérées par le même moteur)
en HTML5[#].
C'est encore mal dégrossi, mais j'ai essayé de mettre les balises
sémantiques
comme article, header, footer, nav
là où elles s'imposaient. Sur les navigateurs modernes, cela ne
devrait faire aucune différence visible. Il y a peut-être un espoir
que Google soit moins désorienté dans l'indexation, mais je n'y crois
pas trop[#2].
En revanche, ce qui est bien est que je peux maintenant, enfin,
librement inclure du SVG et du MathML dans
mon blog. Et pour que mon annonce ne soit pas complètement creuse,
donc, voici à gauche une étoile à sept branches en SVG
(donc si vous ne voyez pas d'étoile à sept branches, c'est que votre
navigateur n'est pas assez récent), et voici une formule en
MathML permettant de montrer que l'étoile en question est
constructible par origami :
(La démonstration de la formule est laissée en exercice au lecteur.
Je ne sais pas ce que j'ai trouvé le plus pénible dans l'histoire,
d'ailleurs, entre la calculer et la taper en MathML.) Si
vous voyez juste quelques nombres éparpillés mais pas de fraction ou
de racine, même conclusion que pour le SVG : votre
navigateur est trop vieux ou mauvais (et je note avec déception que,
chez moi, aussi bien Chrome qu'Opera sont incapables d'afficher le
MathML — ce qui est d'autant plus bizarre, s'agissant de
Chrome, que WebKit est censé avoir au moins une implémentation
partielle de MathML).
[#] Techniquement, et pour répondre à la première de
mes questions techniques de l'autre
jour,
en polyglotte HTML5/XHTML5.
J'ai validé un certain nombre de pages (certes pas toutes)
contre le validateur expérimental,
ce qui m'a d'ailleurs fait
trouver un
bug dedans (dû à la façon dont Java saucisonne l'Unicode
en UTF-16 ; c'est assez ironique, parce que
l'auteur de ce
validateur écrit en faisant
l'éloge de Java's notion of Unicode frozen as UTF-16
from to dawn of time until eternity).
[#2] En revanche, et
cela devrait répondre du même coup à la deuxième de
mes questions techniques de l'autre
jour, si j'adopte, et je vais envisager de le faire,
le microformat hAtom,
j'ai bon espoir que cela permette de vraiment définir la limite des
entrées et aux agrégateurs de fournir un contenu complet.
J'éprouve toujours une certaine satisfaction un peu puérile quand
je redécouvre ou réinvente quelque chose qui était déjà connu ou
inventé. Il y a longtemps je m'étais demandé comment on devrait
fabriquer une monnaie fictive qui représente une sorte de moyenne de
devises existantes pour pouvoir, par exemple, toutes les comparer à
cette moyenne plutôt que les unes aux autres (notamment pour atténuer
les fluctuations dans le point de comparaison lui-même), et j'avais
conclu pour plusieurs raisons que la bonne chose à faire était
indiscutablement de prendre une
moyenne géométrique
et pas arithmétique des monnaies. Les deux arguments les plus
évidents sont : (1) que ce qui a un sens important, ce ne sont pas
vraiment les cours relatifs des devises, ce sont leurs
logarithmes[#] —
d'ailleurs, il faudrait toujours afficher les graphiques boursiers sur
une échelle logarithmique — et que prendre la moyenne des
logarithmes, c'est justement prendre une moyenne géométrique ; et
(2) une moyenne arithmétique n'a pas trop de sens parce qu'il faut
savoir comment on la pondère : on voit bien que prendre la moyenne
arithmétique également pondérée au sens idiot entre 1$ et 1¥,
c'est-à-dire 0.50$+0.50¥, ne va refléter que les variations du dollar
et pas celles du yen vu que celui-ci compte, au final, pour à peu près
1.3% du total. Ceci étant, je ne voyais pas trop la moyenne
géométrique utilisée, et je me suis dit, bon, ça doit être une idée
saugrenue de matheux que j'ai eue.
Je savais bien qu'il existait un truc appelé
un panier
de monnaies (par exemple
l'écu[#2]
était un panier des monnaies européennes) (il existe d'ailleurs des
paniers de beaucoup de choses : un panier de biens pour mesurer
l'inflation des prix, un panier d'actions pour constituer des indices,
etc.), mais la (mauvaise) explication qu'on lit en général, c'est
qu'un panier est obtenu en prenant les différentes valeurs
constituantes dans différentes proportions, et ceci semble suggérer
une moyenne arithmétique. Pourtant, à regarder d'un peu plus près, on
se rend compte que les proportions sont déterminées en
proportion du panier et pas comme des fractions absolues des
valeurs du panier. Qu'est-ce que cela signifie ?
Imaginons que je cherche à constituer un panier, le zorkmid
(symbole ¤), avec pour simplifier deux monnaies dedans, disons le
dollar ($) et l'euro (€). A priori je vais
poser : 1¤ :≡ u$
+ v€, où les coefficients u
et v sont susceptibles de varier dans le temps : à ce
stade-là il s'agit d'une moyenne arithmétique ou plutôt d'une
combinaison linéaire, et je n'ai rien dit du tout. Après tout, l'euro
lui-même a un cours en dollars (ou vice versa), donc je pourrais
écrire 1€ = z$ (pour le coup, il est certain
que z varie au cours du temps) et 1¤ =
(u+v·z)$ et du coup j'ai plutôt trop
de variables. (Noter que j'utilise ‘=’ pour indiquer une
égalité des cours, alors que j'ai écrit ‘≡’ pour
indiquer quelque chose de peut-être un peu plus fort, reste à savoir
ce que ça veut dire au juste.) Cherchons à voir ce qu'on pourrait
imposer de plus.
La première condition consiste à se dire, comme je le suggère plus
haut, que les coefficients u et v, au lieu
d'être fixés de façon absolue, sont contraints par le fait qu'on veut
que le dollar et l'euro comptent pour des proportions
respectivement p et q (fixes, cette fois,
avec p+q=1) de la valeur totale du zorkmid.
Autrement dit, la valeur de u$ et v€ est
dans des proportions p et q du total : en
introduisant le taux de change 1€=z$, on va donc
imposer que v·z =
(q/p)·u (je répète
qu'ici, u, v et z sont des fonctions
du temps et que p et q, a priori, sont
constants). Cette condition dit donc qu'on va ajuster les
coefficients u et v de sorte que
les u$ et v€ constituant le zorkmid soient
toujours dans les proportions p contre q (si
l'une des monnaies s'effondre par rapport à l'autre, le coefficient
dans lequel elle entre augmentera relativement à l'autre pour
compenser).
Mais il me reste une condition à trouver, totalement indépendante
de la précédente (et qui consiste, en quelque sorte, à expliquer ce
que signifie le ‘≡’ ci-dessus). C'est
l'affirmation que, quand la valeur du dollar et de l'euro change, la
valeur du zorkmid change de la même façon comme prescrit par les
coefficients u et v (c'est-à-dire, comme si on
avait effectivement u dollars et v euros)
et pas suite à des changements de u
et v eux-mêmes. De façon peut-être plus claire : en
imaginant qu'on décompose les choses en variations infinitésimales,
dans un premier temps la valeur du dollar et de l'euro change, ce qui
change la valeur du zorkmid comme u dollars
plus v euros, puis dans un second temps on
change u et v mais en préservant alors
la valeur du zorkmid. De façon plus succincte : cette condition
affirme qu'on n'apporte pas d'argent et qu'on n'en retire pas au
panier, on se contente de changer les proportions u
et v. De façon encore plus parlante : on a en permanence
un capital (le zorkmid) formé de u dollars et v
euros, la valeur de ce capital évolue au fur et à mesure que ces
devises varient, et on joue à convertir l'une en l'autre ou vice versa
(par exemple pour vérifier la condition précédente, ou peut-être une
autre) mais c'est la seule opération qu'on se permet de faire pour
modifier u et v — on n'apporte pas
d'argent de l'extérieur. Cette condition se traduit de la façon
suivante :
(u+v·z)′=v·(z′)
où ′ dénote la dérivée par rapport au temps (le membre de gauche
représentant la variation de la valeur du zorkmid en dollars au cours
du temps, et le terme de droite impose qu'il soit donné uniquement par
la variation de l'euro puisqu'on a exprimé les choses en dollars ; ce
serait heureusement équivalent de les exprimer en euros). Autrement
dit (en développant la dérivée du membre de gauche), la seconde
condition est : u′
+ v′·z = 0 (on me souffle que ça
s'appelle la condition d'autofinancement, justement parce
que cela signifie qu'on n'apporte ni ne retire d'argent au
panier).
Maintenant, si je mets ensemble les deux conditions que je viens
d'exprimer, j'ai un système d'équations différentielles (les variables
étant u et v, et z une fonction
paramètre) dont la solution est : u
= K·p·zq
et v
= K·q·z−p
où K est une constante arbitraire (on rappelle
que q=1−p), c'est-à-dire que le zorkmid
vaut 1¤ = (K·zq)$ =
(K·z−p)€.
C'est précisément ce qu'on appelle, à une constante multiplicative
près, la moyenne géométrique (pondérée des coefficients p
et q) entre le dollar et l'euro ! (La moyenne géométrique
entre 1$ et 1€=z$ est
(1p·zq)$ =
(zq)$.) Ceci se généralise assez
simplement à un nombre quelconque de monnaies.
On ne peut pas dire que ce soient des maths de haute
sophistication, mais je suis quand même content d'avoir retrouvé la
moyenne géométrique, et d'avoir redécouvert tout seul comme un grand
ce qu'est un panier (et on me confirme que je ne me suis pas trompé).
Mais au-delà de ça j'ai deux remarques à faire.
La première concerne la réalisabilité du panier. Si je dois
réaliser une combinaison u$ + v€
avec u et v constants (une combinaison
arithmétique/linéaire, quoi), c'est facile, on prned u
dollars plus v euros, on n'y touche pas, et la combinaison
est ainsi réalisée. Pour le panier décrit ci-dessus, on doit en
permanence convertir les monnaies l'une en l'autre au fur et à mesure
qu'elles fluctuent pour maintenir vraie la première
condition, v·z =
(q/p)·u. Or ceci n'est pas possible
de façon infinitésimale. Mais ce qui est magique, c'est qu'en vertu
d'une inégalité classique (de convexité ou de moyenne ou de Hölder ou
je ne sais quoi, j'ai la flemme de réfléchir à celle qui sert
vraiment), si on a 1¤ sous la forme u0$
+ v0€ à un certain
moment t0, et que les cours relatifs de l'euro
et du dollar changent, quelle que soit la durée qu'on attende, on
aura au moins 1¤ (c'est-à-dire
que u0+v0·z
≥ u+v·z si u
= K·p·zq
et v
= K·q·z−p
et pareil avec des indices 0). Autrement dit, bien qu'au niveau
infinitésimal on ait mis une condition d'autofinancement, si j'attends
un temps fini, j'extrais de l'argent de mon u$
+ v€ pour conserver 1¤ (ou bien : si j'ai 1¤ sous la
forme u0$ + v0€ au
moment t0 et que je le garde sur ma table sous
la forme de u0 dollars
et v0 euros, une semaine plus tard quand les
cours auront changé, si je fais les conversions qui s'imposent pour
revenir dans les proportions p et q, j'aurai
plus que 1¤). Je suppose même que c'est une façon certes très simple
mais raisonnable de hedger contre les variations de monnaies, et je
suppose que c'est un fait bien connu. (En revanche, plus ou fait
souvent les rééquilibrages des proportions de l'euro et du dollar dans
le panier, moins on extrait d'argent, et à la limite si on le fait en
continu, on n'extrait rien puisqu'il y a autofinancement.)
L'autre remarque concerne une analogie dont je ne sais pas très
bien quoi faire. Un fait bien connu en thermodynamique est le
suivant : si je prends deux corps, de capacités calorifiques
constantes, disons égales pour simplifier, qui sont à des températures
différentes, et que je les mets bêtement en contact, à l'équilibre la
température sera la moyenne arithmétique (naïvement, si je mélange 1kg
d'eau à 20°C et 1kg d'eau à 80°C, j'obtiens à peu près 2kg d'eau à
50°C, même si ce n'est pas tout à fait exact parce que la chaleur
spécifique de l'eau varie un peu avec la température) ; en revanche,
si au lieu de les mettre bêtement en contact je fais tourner un moteur
idéal pour extraire tout le travail que je peux de cette différence de
température, c'est-à-dire que je fais le mélange sans produire
d'entropie, alors la température résultante est la
moyenne géométrique des températures thermodynamiques
absolues des deux corps (qui est plus basse que la moyenne
arithmétique justement par l'inégalité mentionnée ci-dessus, et la
différence a été récupérée sous forme de travail par le moteur). Il y
a une certaine analogie dans les formules avec ce que je viens de dire
ci-dessus, ce qui n'est certes pas surprenant vu que la moyenne
géométrique apparaît à cause d'une différentielle logarithmique
quelque part (dans le cas de la thermo, c'est la quantité d'entropie
δQ/T qui
s'écrit c·dT/T lorsque la chaleur
spécifique c est constante, et c'est de là que tout sort),
mais il reste que la condition d'autofinancement évoquée ci-dessus
évoque quand même de façon surprenante la condition de non production
d'entropie. Peut-on dire qu'en récupérant de l'argent de la
réalisation du zorkmid évoquée au paragraphe précédent on est en train
de faire fonctionner un moteur de Carnot entre le dollar et l'euro ?
Ou est-ce que je suis en train de virer au crackpotisme, là ?
Je vais m'arrêter sur cette angoissante question, et sur
l'étonnement du nombre de mots que j'arrive à pondre sur un sujet
aussi trivial, mais au moins j'aurai fait le service que je dois au
fan-club de la moyenne géométrique (dont je suis un membre
militant).
[#] Une « règle du
pouce » est que quand une grandeur ne peut pas être négative, il est
probable que ce soit une grandeur logarithmique (au sens où c'est son
logarithme, éventuellement rapporté à une origine arbitraire, qui a un
sens naturel). Une indication supplémentaire, c'est que ça ait
beaucoup plus de sens que cette grandeur soit doublée ou divisée par
deux que augmentée ou soustraite d'une quantité constante.
[#2] On apprend des
choses amusantes en lisant cet article de Wikipédia, notamment que les
états américains de l'Illinois et de New York ont passé des lois
déclarant que l'euro est le successeur de l'écu, par prudence pour
éviter que certains contrats rencontrent des difficultés légales.
Pourrait-on appliquer la logique linéaire aux produits financiers ?
Il faut que je me dépêche de parler de produits financiers, parce
qu'il paraît que lundi le monde va s'écrouler parce qu'un truc
est passé
de AAAAA
à AAAA++ ou quelque chose de ce genre.
Je n'ai jamais eu la patience (ou le temps à perdre) pour dépasser
les quelques premiers chapitres du classique livre de
Hull, Options, Futures, and Other Derivative
Securities, et je n'ai pas énormément
d'intérêt[#] en général pour la
finance ou pour les maths financières, mais j'avoue qu'il y a dans la
structure
des produits
dérivés quelque chose que je trouve intellectuellement
intéressant. Pas tellement le détail des produits en question, mais
l'idée sous-jacente qu'un produit dérivé, qui est un contrat visant
une certaine transaction (par exemple, s'agissant d'un future,
s'engageant à vendre ou à acheter quelque chose dans l'avenir à un
taux déterminé dans le contrat), puisse lui-même être acheté ou vendu,
donc faire l'objet d'autres transactions, y compris dans des contrats
constituant d'autres produits dérivés.
Ces produits dérivés sont étudiés mathématiquement sous l'angle des
probabilités (par exemple, des équations différentielles stochastiques
s'il s'agit de modéliser comment pourrait évoluer le cours d'une
action ou d'une commodité afin de pricer un future ou une option sur
sa vente ou son achat). Mais je n'ai pas l'impression que qui que ce
soit se soit vraiment penché sur la question plus basique (et
peut-être pas du tout intéressante, c'est vrai) de la structure,
algébrique si j'ose dire, des contrats qui peuvent être passés.
Pour donner une idée de ce dont je veux parler, mettons que je note
€⊸¤ un contrat qui m'oblige et me permet à la fois, dès
maintenant, d'acheter 1 zormid au prix de un 1 euro, et
□2012-12-21(€⊸¤) un contrat (un future
— ou peut-être un forward peu importe) qui m'oblige et me permet
d'acheter au 21 décembre 2012, 1 zorkmid au prix de 1 euro. L'option
qui consisterait à m'autoriser (sans que ce soit
obligatoire ; les financiers diraient que je suis long sur
l'option d'achat d'un zorkmid) à échanger 1€ contre 1¤ le 21
décembre 2012 s'appellerait
□2012-12-21(1&(€⊸¤)), où le 1
(qui devrait sans doute être un 𝟏, en fait) signifie rien
du tout (pour des raisons qui deviendront claires plus tard
— ou pas — je choisis une notation multiplicative, dont
c'est un 1 qui désigne le rien, et dans le même genre, 5 euros
devraient normalement se noter €⊗5) et
le & signifie que j'ai le choix entre les deux parties
proposées. En revanche, si je suis le cocontractant
(c'est-à-dire court) pour une option qui autorise quelqu'un à
me vendre 1 zorkmid pour le prix de 1 euro et que je serais obligé
d'accepter, je noterais ça
□2012-12-21(1⊕(€⊸¤)), le
signe ⊕ signifiant cette fois que ce n'est pas moi qui
choisis. L'action consistant à vendre pour 1 dollar cette dernière
option (celle par laquelle je m'engage à accepter d'acheter 1 zorkmid
pour le prix de 1 euro le 12 décembre 2012) se noterait
(□2012-12-21(1⊕(€⊸¤)))⊸$,
et ainsi de suite.
Mes notations sont un peu barbares, mais le lecteur qui aurait lu
le titre ou qui les aurait reconnues comprendra qu'il s'agit de celles
de la logique
linéaire de Girard, avec l'interprétation intuitive classique des
connecteurs de celle-ci : A⊸B désigne un
contrat qui oblige et permet de transformer A
en B, tandis que A&B désigne un
contrat qui garantit de pouvoir disposer au choix de A ou
de B (au choix de celui du point de vue duquel on se place)
alors que A⊕B désigne un contrat qui
garantit qu'on disposera soit de A soit de B
sans garantir lequel des deux. Et A⊗B
indique qu'on a à la fois A et B (s'agissant de
beaucoup de choses, comme des euros, je
suppose[#2]
que A⅋B, pour beaucoup de valeurs
de A et de B, par exemple des sommes en euros,
serait en fait égal à A⊗B). Reste que ma
sémantique n'est pas aussi claire que je voudrais le faire croire, et
surtout que le rapport avec le temps qui passe, que j'ai
arbitrairement noté □ (comme une sorte de modalisateur) n'est
pas évident : il faudrait une logique linéaire temporelle…
⚠ Là,
le Club Contexte est très fier de
lui : il existe un truc qui s'appelle
la logique
temporelle linéaire, et qui n'a rien à voir avec la logique
linéaire ou avec la logique linéaire temporelle que je voudrais.
C'est peut-être une idée très fumeuse, mais la symétrie entre les
positions longue et courte sur une option et les opérations & et
⊕ de la logique linéaire me semble assez frappante, et j'ai
l'impression que beaucoup de clauses de contrats peuvent effectivement
se formuler dans ce langage. En tout cas, bizarrement, je ne trouve
aucun indice que quelqu'un ait eu cette idée avant moi (et il y a
quelques années j'avais évoqué la question avec un ami qui a fait de
la logique linéaire quand il était plus jeune puis, après un petit
passage par
les topoï, est devenu
trader, et il a reconnu qu'il n'avait jamais fait le lien).
Il y a un peu plus d'un an, quelqu'un avait
sorti un
canular selon lequel l'analyse ordinale (un sujet qui m'intéresse
beaucoup — et je suis le principal auteur
de cet
article de Wikipédia) aurait trouvé des applciations en finance.
Ce n'était pas crédible, mais pas complètement absurde non plus :
quiconque a lu les très étranges livres de
Conway, On Numbers and Games
et Winning Ways sait que de la théorie
(combinatoire) des jeux aux ordinaux il n'y a pas très loin, et de la
théorie (fût-elle combinatoire) des jeux à la finance, il n'y a pas
très loin non plus. En tout cas, le canular était rigolo et bien
trouvé (mais je n'ai jamais eu d'explication au juste sur qui l'avait
lancé et pourquoi). Moi je propose la logique linéaire (quelque chose
qui est
aussi notoirement
considéré dans le contexte de la théorie des jeux) à la place des
ordinaux. Enfin, bien sûr, si je devais écrire un
projet ANR, je n'hésiterais pas à expliquer que je vais
mettre tout ça ensemble, la logique linéaire, les ordinaux, les
équations différentielles stochastiques, la théorie des jeux,
peut-être même les topoï, pour attaquer les marchés financiers, et
gagner ‹ordinal de Bachmann-Howard› euros (mais qui ne
vaudront plus rien parce que l'euro se sera écroulé et ce sera la fin
du monde).
[#] Tout, bien sûr, est
relatif. Par rapport au foot ou aux frasques des célébrités du
show-biz, je trouve la finance fascinante (et cette comparaison n'est
pas gratuite : dans mon club de muscu on nous distribue des journaux
gratuitement, les plus fréquents étant La Tribune, un
journal « people » dont je ne me rappelle pas bien le titre, et
évidemment L'Équipe — dans ce contexte,
clairement, La Tribune est ce qui m'intéresse le plus).
Ceci étant, je crois que je préférerais le bulletin de la société
slovène de philologie.
[#2] C'est toujours le
⅋ (par) qui est embêtant, quand on essaie de donner une
sémantique, formelle ou intuitive, à la logique linéaire. Mais pour
quelque chose de dénombrable et de fractionnable comme des euros, des
dollars, des zorkmids ou des onces d'or, il est assez clair
que A⅋B
et A⊗B sont égaux ; une façon de s'en
convaincre est de se dire que dans ce
contexte, A⊗A′ a manifestement la
valeur somme de A et A′ (par exemple,
si A et A′ sont un certain nombre de
zorkmids, A⊗A′ est la somme de ces
nombres), et A⊸B a la valeur
de B moins celle de A (puisqu'on
donne A pour recevoir B), or il se trouve que
(A⊸B)⅋(A′⊸B′)
est exactement équivalent, en logique linéaire, à
(A⊗A′)⊸(B⅋B′).
En raisonnant sur cette base, on peut arguër que ⊥ (l'unité
pour ⅋) ou A⊸A pour
tout A (dans le domaine considéré de choses dénombrables et
fractionnables) représente la même chose que 1 (l'unité pour
⊗), à savoir une valeur nulle ; et du coup
que A⅋B
et A⊗B valent la même chose.
Ordres de succession, et encore de la généalogie mathématique
Je repense à ça en
apprenant la
mort du prince Otto von Habsburg (dernier prince hériter de
l'empire d'Autriche) : j'ai cru un instant lire que la maison des
Habsbourgs s'était éteinte, ce qui n'est bien sûr pas le cas.
Récemment j'avais
lu un
article qui m'avait bien fait rire sur une certaine Karin Vogel,
assistante médicale vivant à Rostock en Allemagne, qui aurait
l'honneur fort douteux, selon certains généalogistes amateurs, d'être
la dernière (et 4973e), au moment où l'article a
été écrit, dans l'ordre de succession à la couronne britannique. La
liste est finie parce que l'Act of
Settlement de 1701 ne désigne comme héritiers possibles que les
descendants de la princesse électrice Sophie de Hanovre.
La liste
complète était maintenue sur Wikipédia dans le temps
(Mme Vogel y figure bien en dernier, mais avec un rang très
différent parce qu'elle ne numérote pas les catholiques qui sont
expressément exclus par l'Act of
Settlement). Comme Wikipédia a
des choses
plus sérieuses et importantes à maintenir que les héritiers de la
couronne britannique, la liste a été remplacée par une version
abrégée.
Il y a deux principales conceptions qui s'opposent pour déterminer
l'ensemble des héritiers potentiels d'une couronne : la monarchie
française utilisait une loi dite salique (inventée de toutes
pièces par un bricolage historique, et appliquée plus ou moins
rétroactivement) qui excluait de la succession non seulement les
femmes mais surtout toute leur descendance. Selon cette règle, les
héritiers potentiels du roi Truc (disons, Hugues Capet) sont les fils
(légitimes) de celui-ci, et les fils de ceux-ci, et ainsi de suite
récursivement. (Je discuterai plus loin de l'ordre de primogéniture.)
D'autres sont moins difficiles et utilisent non seulement les fils
mais tous les enfants : les héritiers potentiels du roi Machin sont
les enfants, les enfants de ses enfants, et ainsi de suite
récursivement. Appelons descendance patrilinéaire de Truc
le premier ensemble (défini par la loi salique, donc les fils et les
fils des fils et ainsi de suite) et descendance (tout
court) de Machin le second ensemble. Et oublions commodément
l'existence d'enfants illégitimes ou de toute autre complication
généalogique (adoption ou n'importe quoi d'autre).
La descendance patrilinéaire se reflète par la tradition du nom de
famille (modulo innovations
récentes). Elle se reflète également par la transmission du
chromosome Y. Elle a une propriété évidente, c'est qu'elle est
réversible de façon unique : je n'appartiens à la descendance
patrilinéaire que de mon père, de son père à lui, et ainsi de suite :
donc en remontant le temps on obtient une suite unique d'individus
dont je tiens mon chromosome Y. Faisons maintenant l'hypothèse d'une
population constante, c'est-à-dire qu'on est à la limite ténue entre
l'extinction et l'explosion exponentielle. Si à un instant donné dans
le passé on note tous les individus de la population (appelons-les
les têtes de clans), et qu'on appelle clans leur
descendance patrilinéaire dans l'avenir, alors les clans sont en
compétition pour partitionner la population : plus un clan est grand,
plus il a de chances de s'étendre, tandis qu'un clan petit peut
facilement s'éteindre. C'est la raison qui fait que les noms de
famille se raréfient (c'est particulièrement frappant en Corée, qui
utilise apparemment, et depuis très longtemps, la même règle
patrilinéaire que dans de nombreux pays occidentaux). À la limite, si
on attend assez longtemps, ou si on remonte assez haut la délimitation
des têtes de clans, on s'attend à ce que tout le monde descende
patrilinéairement de la même tête de clan, et que tous les autres
clans se soient éteints. C'est la raison pour laquelle la loi salique
a causé tant de difficultés dynastiques aux capétiens (le clan est
toujours à la limite de l'extinction).
Comment enseigner les rudiments de la géométrie algébrique ?
Je donne (pour la deuxième année) un petit cours de géométrie
algébrique à Télécom Paris ; c'est un élément d'un cours
appelé Techniques mathématiques avancées pour la cryptographie et
le codage, donc il faut comprendre ça comme : éléments de
géométrie algébrique pour la cryptographie et le codage. C'est un
certain défi, parce que (1) les élèves ne sont pas spécialement
orientés matheux, ils veulent surtout voir des applications
(malheureusement, la géométrie algébrique demande de digérer une
certaine quantité de jargon avant d'arriver aux applications), (2) ils
n'ont pas forcément les réflexes et les habitudes (en algèbre)
qu'auraient des élèves matheux suivant un cours de géométrie
algébrique (par exemple, si je dis qu'avoir un morphisme surjectifs
d'anneaux A↠A′, ça signifie
que A′ peut se voir comme un quotient de A
par un idéal, c'est le genre de choses qui demande une certaine
explication), (3) j'ai peu d'heures (5 séances de 2×1h½, donc 15
heures au total ; l'an dernier j'en avais plus), et je veux arriver à
des choses un peu compliquées, comme énoncer le théorème de
Riemann-Roch et en faire comprendre le sens (j'ai le droit d'omettre
toute démonstration, mais au bout d'un certain point ça fait vraiment
magique). À cela s'ajoute, cette année : (4) il n'y a que cinq élèves
inscrits au cours, sur lesquels, les bons jours, trois viennent
effectivement.
Les notes que j'ai écrites
sont ici
(mais pas encore vraiment relues, donc probablement plein de
fautes).
Il y a un certain nombre de difficultés sur la façon de présenter
les choses. Par exemple : faut-il se cantonner fermement aux variétés
(sur un corps parfait, disons, ce que j'ai fait) ou bien parler
d'infinitésimaux et de schémas ? Avantage des variétés : les
morphismes sont plus faciles à définir, parce qu'on peut les voir
comme des applications des points sur un corps algébriquement clos,
i.e., je peux tout présenter comme des parties de l'espace projectif
sur la clôture algébrique, et les choses sont vaguement concrètes.
Inconvénient : tester si des polynômes donnés définissent
effectivement une variété — c'est-à-dire engendrent un idéal
radical — devient un préliminaire indispensable à tout exercice,
et ce n'est pas évident. Ou bien, comment présenter la définition des
morphismes entre variétés quasiprojectives ? Un point de vue possible
serait le point de vue fonctoriel, définir les points des variétés
dans une algèbre quelconque (mais c'est justement assez lourd) et
invoquer l'esprit du lemme de Yoneda pour définir les morphismes de
variétés comme des morphismes de foncteurs (sans forcément prononcer
ce mot) : c'est plus élégant, mais pour des gens pour qui l'idée que
les morphismes
de k-algèbres k[t]→A
sont en correspondance avec les éléments de A n'est pas du
tout naturelle, ce n'est vraiment pas intuitif. La version
apparemment plus simple (et que j'ai suivie) consiste à définir les
morphismes comme des applications des les points sur la clôture
algébrique ; mais on perd toute la fonctorialité, et si les choses
sont prima facie plus élémentaires, ce n'est pas évident qu'on
arrive à des notions vraiment plus maniables.
Je vais répondre ici à
une question
de David Monniaux sur son blog parce que ce n'est pas la première
fois que j'entends quelqu'un la poser, ça me fera un lien à fournir
pour la prochaine fois :
Qu'est-ce que cela voudrait dire
que P≠NP indépendant des axiomes de la
théorie des ensembles ?
(Attention, je vais m'adresser aux gens connaissant un peu de
maths. Si vous ne savez pas ce qu'est le
problème P=NP, commencez
par lire
Wikipédia.)
La remarque cruciale à faire, c'est que
l'énoncé P=NP est un énoncé
Σ2 de l'arithmétique. C'est-à-dire qu'il peut
se réécrire sous la forme il existe n [en l'occurrence,
codant un algorithme + une borne polynomiale explicite dessus] tel que
pour tout k [codant une entrée du
problème SAT, disons], <énoncé à quantificateurs
bornés dont algorithmiquement testable en temps borné a priori> [en
l'occurrence, que le problème codé par k est résolu dans le
temps annoncé par l'algorithme n]. (Je discutais de
ces choses-là ici par exemple.)
Mais commençons par un cas plus simple, celui d'un énoncé
Σ1. Par exemple, la négation de l'hypothèse de
Riemann. L'hypothèse de Riemann (HR) peut se mettre sous
la forme Π1, en disant que pour tout n,
<une certaine inégalité facilement testable sur des fonctions
arithmétiques est vérifiée> (du genre σ(n)
< exp(γ)·n·log(log(n)) pour
tout n≥5041, avec σ la fonction somme des
diviseurs et γ la constante d'Euler-Mascheroni ; mais peu
importe le détail de l'inégalité n'est vraiment pas passionnant, et
d'ailleurs il y en a plein). La négation ¬HR de
l'hypothèse de Riemann est, dualement, Σ1 : elle dit
qu'il existe n telle que <telle inégalité>.
Si on dit que HR (ou ¬HR, c'est pareil)
est indécidable dans ZFC, cela signifie donc deux
choses : (1) HR n'est pas réfutable
dans ZFC, et (2) HR n'est pas démontrable
dans ZFC (i.e., ¬HR n'est pas réfutable).
Or la partie (1) implique[#]
que HR est vraie. Pourquoi ? Parce que
si HR est fausse, il existe un n qui viole
l'inégalité, et donc qui la réfute (l'inégalité est quelque chose de
trivialement testable). En fait, réciproquement, comme on croit à la
véracité de ZFC (ou du moins de ses conséquences
arithmétiques), si HR est vraie, elle ne peut pas être
réfutable dans ZFC.
Autrement dit, si on prouve l'indécidabilité (1&2)
de HR dans ZFC, on prouve au moins sa vérité
(l'item (1)), et on prouve des choses en plus (à savoir l'item (2)).
Du coup, évidemment, ce n'est pas dans ZFC qu'on a des
chances de prouver (1&2) (puisque le (2)
contredit précisément le fait qu'on puisse prouver (1),
i.e. HR, dans ZFC). C'est donc dans un
système plus fort, typiquement quelque chose
comme ZFC+<un axiome de grand cardinal> qu'on peut
arriver à prouver (1&2). Prouver (1&2) dans le
système ZFC+<grand cardinal> revient exactement à
(1) prouver HR dans ZFC+<grand
cardinal> et (2) prouver qu'on ne pouvait pas se passer d'au moins
une forme d'axiome supplémentaire (à tout le moins la consistance
de ZFC !).
Généralement, quand j'explique ce genre de choses,
les gens prennent un air gêné et demandent ce que vrai veut
dire. Je pense que quelqu'un qui commence à demander qu'est-ce
que vrai veut dire a un sérieux problème et ferait mieux de
faire de la peinture que des mathématiques. La seule chose que je
peux faire pour dissiper une source de confusion possible, c'est de
souligner que quand on dit un truc comme ¬HR n'est pas
démontrable dans ZFC, on est en train de faire un
énoncé arithmétique (par ailleurs Π1 : pour
tout n, le nombre n ne code pas une
démonstration de ¬HR dans ZFC)
exactement comme quand on dit HR pour commencer (lui
aussi Π1). Donc si on sait ce que vrai veut dire
dans un cas, ou qu'on est prêt à l'admettre, on sait ce que ça veut
dire dans l'autre cas aussi !
Maintenant, prenons P=NP et l'affirmation
qu'il n'est pas décidable dans ZFC. Cela signifie de
nouveau (1) qu'il n'est pas réfutable
(P≠NP n'est pas démontrable), et
(2) que P=NP n'est pas démontrable. Mais
cette fois, les choses ont plus subtiles. On peut distinguer deux
cas :
(a) Soit P≠NP
(i.e., P=NP est faux) : il n'existe
pas d'algorithme qui résolve SAT en temps
polynomial, mais ce fait-là n'est pas prouvable dans ZFC
(sur chaque algorithme putatif donné, il serait toujours
possible de trouver une instance du problème qui le met en défaut,
mais c'est tout). Rien de plus à dire dans ce cas.
(b) Soit P=NP est vrai : il
existe donc bien un algorithme et qui résout SAT en
temps polynomial. On peut expliciter cet algorithme et cette borne
(je ne dis pas que la démonstration sera forcément constructive, mais
un algorithme est un truc fini, il est en principe possible de
l'écrire). Les choses se comprennent alors comme : l'algorithme
existe, mais même si un messager des dieux nous le donne (avec sa
borne) sur un plateau d'argent, il n'est pas possible de prouver
dans ZFC que cet algorithme résoudra toujours le
problème dans le temps imparti (on ne peut que constater que
sur chaque instance donnée il tourne effectivement en temps
imparti et résout le problème). (Il est bien sûr concevable que
dans ZFC+<tel grand cardinal> on puisse prouver ce
qu'on veut sur l'algorithme.)
On peut donc imaginer que dans ZFC+<un grand
cardinal> quelqu'un arrive à prouver l'indécidabilité
(dans ZFC) de P=NP en montrant
qu'on est dans le cas (a) (il prouve P≠NP
et il prouve que ZFC ne suffisait pas), ou en montrant
qu'on est dans le cas (b) (il prouve P=NP,
peut-être en donnant explicitement un algorithme et une borne dessus
et en prouvant leur correction dans le
système ZFC+<grand cardinal>, puis il prouve
que ZFC ne suffisait pas ; mais il pourrait aussi y
arriver de façon moins constructive), ou même sans distinguer entre
les deux cas (cela paraît hautement invraisemblable, mais ce n'est pas
inimaginable).
[#] Pour être
parfaitement précis, je devrais dire que je peux prouver dans des
systèmes arithmétiques faibles que [l'énoncé
arithmétique] HR n'est pas réfutable
dans ZFC implique [l'énoncé
arithmétique] HR. (Par systèmes arithmétiques
faibles, je veux dire que l'arithmétique de Peano est bien plus
qu'il n'en faut : l'induction sur les formules Σ1
suffit au moins (cf. Hájek &
Pudlák, Metamathematics
of First-Order Arithmetic, chapitre I, théorème 4.33), et
je suppose que dans ce contexte, il faut beaucoup moins que ça. De
même, on peut remplacer ZFC dans ce qui précède par des
choses très très très faibles, comme l'arithmétique de
Robinson, mais pour le coup c'est assez évident.) En revanche,
l'implication dans l'autre sens, HR implique
que HR n'est pas réfutable
dans ZFC, lui, est un principe de réflexion
(fût-il Σ1 et arithmétique) de ZFC, et
c'est quelque chose de fort (mais cela découle trivialement
de théories comme ZFC+<cardinal inaccessible>).
Bref, ce genre d'énoncés qui parlent d'énoncés qui parlent d'énoncés
sont souvent assez embrouillés parce qu'il faut bien préciser quelles
sont les théories en jeu à chaque niveau (pis que ça : pour une
théorie imbriquée, ce qui compte n'est pas seulement quelle théorie
est imbriquée mais aussi comment elle est formalisée pour le niveau
d'au-dessus).
J'avoue que je trouve ça un peu magique et fascinant : j'ai beau
l'avoir construite (avec une méthode tout à fait facile et standard
pour convertir un automate fini en expression régulière), je n'arrive
pas à bien me faire une idée de comment elle fonctionne.
Je ne sais pas non plus si on peut faire (substantiellement) plus
court que ces 16233 caractères (on peut certainement gratter un peu,
mais je veux dire que je ne sais pas si on peut faire quelque chose de
vraiment différent) : je suppose que non, mais je ne sais pas le
prouver.
J'évoquais hier le fait que je
travaillais sur deux questions à la fois : voici que ces deux
questions se sont reliées de façon inattendue, chacune apportant la
solution de l'autre. À savoir :
l'hypothèse
de Riemann est indécidable (dans ZFC et dans des
systèmes beaucoup plus forts, devrais-je préciser), et
il existe un
algorithme en
temps polynomial pour factoriser les entiers (mais la complexité
de cet algorithme n'est pas démontrable dans ZFC).
L'idée-clé de la démonstration du premier fait est d'associer à
chaque zéro de la fonction zêta une démonstration dans un certain
système formel 魚 (un peu compliqué à définir) : si le zéro ne
se trouve pas sur l'axe critique, la démonstration prouvera ⊥
(i.e., une contradiction) dans ce système formel 魚 ; a
contrario, si une contradiction se trouve, alors on peut l'utiliser
pour produire des zéros non situés sur l'axe critique. Donc,
l'hypothèse de Riemann équivaut à la consistance du système formel en
question. Encore faut-il pouvoir en dire quelque chose ! C'est là
qu'intervient le second point : ce système formel peut se voir, en
fait, comme lié un protocole cryptographique 𓆛 (là aussi, les
détails sont un peu compliqués) tel que prouver la sécurité du
protocole 𓆛 revienne exactement à prouver la contradiction du
système formel 魚. Or il est relativement facile de ramener la
sécurité du protocole 𓆛 à la difficulté de la factorisation
des entiers. Reste la dernière pièce du puzzle : ce protocole peut se
voir comme un jeu à deux joueurs et, interprété dans le cadre de la
théorie des
jeux à
la Conway, il définit naturellement un ordinal, qui se décrit
comme
l'écrasement
d'un certain grand cardinal que j'appelle icthy un (c'est
le premier d'une famille infinie), et qui mesure
précisément la
force du système formel 魚. Tout tombe donc
dans ZFC augmenté de l'hypothèse le cardinal icthy un
existe, et si on croit à cette hypothèse, les résultats ci-dessus
sont démontrés.
Le paradoxe du second as, et le sens du conditionnement
Voici un paradoxe célèbre des probabilités :
Je tire cinq cartes au hasard d'un jeu de cartes (ordinaire, de 52
cartes). Deux questions séparées :
Supposant que j'aie un as dans mon jeu, quelle est la probabilité
que j'aie un second as ?
Supposant que j'aie l'as de pique dans mon jeu, quelle est la
probabilité que j'aie un second as ?
On s'attend à ce que la réponse à ces deux questions soit la même,
selon un raisonnement intuitif du genre : la probabilité que j'aie
un second as ne dépend pas du fait que le premier (celui supposé
exister) soit l'as de pique, cœur, carreau ou trèfle ; et si la
probabilité est la même que l'on suppose avoir l'as de pique,
cœur, carreau ou trèfle, cela devrait aussi être la même si on
suppose juste avoir un as, sans préciser lequel.
Pourtant, ce n'est pas le cas : la réponse à la première est 12.2%
(exactement 2257/18472), tandis que la réponse à la seconde est 22.1%
(exactement 922/4165). En revanche, c'est (évidemment) vrai que la
seconde question admettrait la même réponse si on
remplaçait pique par l'un de cœur, carreau
ou trèfle.
Et ce n'est pas une question de probabilité. Parmi les 2598960
mains de cinq cartes, il y en a 886656 (34.1%) qui contiennent au
moins un as, 249900 (9.6%) qui contiennent au moins l'as de pique,
108336 (4.2% du total, donc 12.2% de celles contenant au moins un as)
qui contiennent au moins deux as, et 55320 (2.1% du total, donc 22.1%
de celles contenant au moins l'as de pique) qui contiennent au moins
deux as dont l'as de pique. La vérification de ces nombres devrait
être du niveau du programme de maths des terminales scientifiques (à
savoir : 2598960=C(52,5) ;
886656=C(52,5)−C(48,5)=4×C(48,4)+6×C(48,3)+4×C(48,2)+48 ;
249900=C(51,4)=C(48,4)+3×C(48,3)+3×C(48,2)+48 ;
108336=C(52,5)−C(48,5)−4×C(48,4)=6×C(48,3)+4×C(48,2)+48 ;
55320=C(51,4)−C(48,4)=3×C(48,3)+3×C(48,2)+48). Mais je voudrais
expliquer comment on pouvait arriver sans aucun calcul à la conclusion
que la réponse à la seconde question était nécessairement plus élevée
que celle à la première ; et ensuite, essayer d'expliquer pourquoi ces
nombres nous paraissent surprenants (et pourquoi, en fait, notre
intuition avait peut-être raison).
On peut diviser l'ensemble de toutes les mains possibles en cinq
ensembles exclusifs et recouvrant tous les possibles, selon que le
nombre d'as dans la main vaut exactement 0 (la main n'a pas d'as du
tout), exactement 1 (la main contient un unique as), exactement 2,
exactement 3, ou enfin 4 (la main contient tous les as) :
appelons N0 (qui ne nous intéresse
pas), N1, N2, N3
et N4 les nombres de main correspondantes. (Il
se trouve que ces nombres valent respectivement 1712304=C(48,5),
778320=4×C(48,4), 103776=6×C(48,3), 4512=4×C(48,2) et 48, mais peu
importe. Je veux justement éviter ce genre de calculs.) La réponse à
la première question, i.e., la proportion des mains ayant au moins
deux as parmi celles en ayant au moins un, est donc le rapport
de N2+N3+N4
sur N1+N2+N3+N4 ;
ou si on préfère, le complémentaire, i.e. la proportion des mains
n'ayant qu'un seul as parmi celles qui en ont au moins un,
est le rapport de N1
sur N1+N2+N3+N4.
Maintenant, on peut de même diviser les mains ayant l'as de pique en
quatre ensembles selon que le nombre total d'as vaut 1 (il n'y a que
l'as de pique), 2 (il y a l'as de pique et un seul autre), 3 ou enfin
4 (la main contient tous les as). Si on
appelle P1, P2, P3
et P4 les quatre nombres de mains
correspondantes, il n'est pas difficile de les relier
à N1, N2, N3
et N4 : on a
évidemment P4=N4 (dans les
deux cas, il s'agit de l'ensemble des mains contenant tous les as) et
on a P1=¼×N1 (car parmi
les mains contenant exactement un as, il y en a autant pour lesquelles
il s'agit de l'as de pique, de cœur, de carreau et de trèfle ;
et en réfléchissant un peu on se rend compte
que P2=½×N2 (parmi les six
chois possibles de deux as, il y en a trois qui contiennent pique et
trois qui ne le contiennent pas) et
que P3=¾×N3 (si on a trois
as sur quatre, il y en a un seul qui manque, donc trois chances sur
quatre d'avoir le pique). La réponse à la seconde question, i.e., la
proportion des mains ayant au moins deux as parmi celles ayant l'as de
pique, est le rapport
de P2+P3+P4
sur P1+P2+P3+P4,
soit de
½×N2+¾×N3+N4
sur
¼×N1+½×N2+¾×N3+N4 ;
pour y voir plus clair, son complémentaire (la proportion des mains
ayant uniquement l'as de pique parmi celles ayant au moins l'as de
pique) est donc le rapport de P1
sur P1+P2+P3+P4,
soit ¼×N1 sur
¼×N1+½×N2+¾×N3+N4.
En multipliant par 4 le numérateur et le dénominateur de cette
expression, on trouve donc que c'est le rapport
de N1
sur N1+2×N2+3×N3+4×N4.
Or sous cette forme il est clair (puisque le dénominateur est
strictement plus grand) que c'est strictement moins que le rapport
de N1
sur N1+N2+N3+N4
qui était le complémentaire de la réponse à la première question. On
a donc montré qu'il y a strictement moins de chances d'avoir un unique
as si on a au moins l'as de pique que d'avoir un unique as si on a au
moins un as.
Essayons de dire ça de façon plus simple : quand on dit ma main
contient l'as de pique, on restreint d'un facteur 4 les
possibilités pour les mains contenant un unique as
(P1 comparé à N1), mais on
restreint d'un facteur plus petit celles contenant exactement
deux as, trois as, et s'agissant de celles en contenant quatre, on ne
les restreint pas du tout
(P4=N4, car si on a les
quatre as, on a certainement l'as de pique). Par conséquent, ces
possibilités deviennent relativement plus probables quand on
dispose de l'hypothèse ma main contient l'as de pique que quand
on dispose simplement de l'hypothèse ma main contient un as.
C'est ce qui est explicité dans le calcul ci-dessus.
Toujours pas éclairé ? Alors simplifions à l'extrême : le jeu ne
contient plus que trois cartes, à savoir l'as de pique, l'as de
scoubidou, et le valet de patate, et j'en tire deux au hasard. Alors
il y a trois mains possibles : ma main contient forcément un
as, et la probabilité d'en avoir deux est de 1/3 ; en revanche, si je
sais que j'ai l'as de pique, ceci exclut une des trois mains possibles
(as de scoubidou et valet de patate) et il y a maintenant une
probabilité de 1/2 d'avoir les deux as.
♠
Très bien, mais quelle est la morale de l'histoire, au juste ?
Se donner une hypothèse, en probas ou en stats, et mesurer des
probas ou des proportions relativement à cette hypothèse, cela
s'appelle conditionner.
Conditionner par l'hypothèse j'ai un as dans ma main signifie
qu'on se restreint aux mains ayant au moins un as, et qu'on calcule
des proportions relatives à celle-ci (avec les notations ci-dessus,
ceci signifie qu'on écarte N0) ; tandis que
conditionner par j'ai l'as de pique signifie qu'on se restreint
aux mains contenant l'as de pique et qu'on calcule de même
relativement à cette hypothèse (avec les notations ci-dessus, ceci
signifie qu'on remplace les N par des P).
Conditionner est une opération fondamentale en probabilités et
statistiques, mais pour lui donner un sens dans la vraie vie, il faut
souvent se demander pourquoi on conditionne et quelle est au juste
l'hypothèse.
L'idée qu'on ait la seule information j'ai un as dans
mon jeu ou j'ai l'as de pique dans mon jeu est
inhabituelle. Cela correspondrait au protocole expérimental suivant :
Alice pioche cinq cartes, Bob lui demande
explicitement dis-moi oui si tu as au moins un as dans ton
jeu (et ne fais aucun autre commentaire),
respectivement dis-moi oui si tu as l'as de pique dans ton
jeu (et ne fais aucun autre commentaire), Bob entend Alice faire
la réponse oui, et Bob en tire les conclusions expliquées
ci-dessus quant à la probabilité qu'Alice ait un second as dans son
jeu. Elles sont alors correctes, et finalement peu surprenante :
c'est plutôt le protocole expérimental qui est bizarre, et le fait,
absolument essentiel, que Bob ait demandé à Alice d'énoncer uniquement
et exactement la réponse à la question as-tu au moins un as dans
ton jeu, respectivement as-tu l'as de pique dans ton jeu.
En revanche, si Alice pioche cinq cartes et énonce j'ai un as dans
mon jeu ou j'ai l'as de pique dans mon jeu, on ne sait pas
trop quoi conclure : si Alice avait au moins deux as, elle l'aurait
sans doute dit, non ? Donc peut-être doit-on conclure simplement que
la probabilité qu'elle ait au moins deux as est nulle (ou du moins,
très faible), car Alice n'est pas du genre à faire une affirmation de
logicien.
Pour revenir à quelque chose de plus mathématique, voici le plus
important : si Bob demande à Alice si tu as au moins un as dans ton
jeu, dis-moi la couleur d'un des as de ton jeu (choisi aléatoirement
parmi ceux qui y sont) et qu'Alice répond j'ai l'as de
pique, la probabilité qu'elle ait un second as est de 12.2%
et pas de 22.1% : cette fois, on ne conditionne plus par
l'information il y a l'as de pique dans le jeu d'Alice mais
par Alice a énoncé pique en réponse à la question de
Bob, ce qui apporte l'information qu'il y a au moins un as, plus
l'information totalement sans intérêt que c'est l'as de pique qui a
été choisi au hasard parmi les as d'Alice. Bref, ce qui
importe pour bien conditionner n'est pas seulement de savoir la
réponse, mais aussi de savoir la question à laquelle on
répond. Et la raison pour laquelle les probabilités annoncées
plus haut nous semblent paradoxales est justement que nous avons
plutôt en tête le protocole beaucoup plus naturel que je viens de
décrire : quand j'ai l'information l'as de pique est dans la
main, ce n'est pas qu'on cherchait spécifiquement l'as de pique
avec un détecteur à as-de-pique, mais plutôt qu'on
cherchait un as, et qu'il s'est trouvé que c'était l'as de
pique. Dans ce cas, le raisonnement que j'ai qualifié d'intuitif plus
haut est correct, et la probabilité d'avoir un second as est bien de
12.2%.
La moralité, quand on fait des stats en sciences expérimentales, en
sciences sociales, ou dans n'importe quel domaine, c'est donc : qu'il
faut toujours se demander non seulement quelle est l'information
connue (qui conduit à un conditionnement), mais aussi par quel
dispositif expérimental on aboutit à cette information. Par exemple,
si je fais un sondage en demandant aux gens quel(s) as avez-vous
dans votre main (réponses multiples possibles), ce n'est pas du
tout pareil de me restreindre à ceux qui ont déclaré avoir l'as de
pique que si je demande avez-vous un des as suivant
(aucun/pique/cœur/carreau/trèfle). Dans les deux cas je
saurai peut-être qu'Alice a l'as de pique, mais c'est très différent
de savoir qu'elle est dans la population des gens ayant l'as de pique
ou dans la population des gens ayant au moins un as et ayant déclaré
l'as de pique au hasard parmi tous les as de leur main.
Le jeu de Pierre-Papier-Ciseaux est probablement le deuxième jeu le
plus simple de l'Univers. Avant d'en parler, je devrais donc
commencer par décrire le premier, qui n'a pas de nom à ma
connaissance, et je manque d'inspiration pour lui en trouver un. Les
règles sont : l'un des deux joueurs (convenu à l'avance, disons Alice)
choisit en secret le nom de l'un des deux joueurs, tandis que l'autre
joueur (disons Bob) choisit soit le mot perd soit le
mot gagne ; si la phrase formée des deux mots choisis
est Alice gagne ou Bob perd, alors Alice gagne, tandis
que si c'est Alice perd ou Bob gagne, alors Bob gagne.
De façon plus abstraite : chacun des deux joueurs choisit un bit en
secret, on calcule le XOR de ces bits, et s'il vaut 0 c'est Alice qui
gagne tandis que s'il vaut 1 c'est Bob (ou toute autre convention
équivalente choisie à l'avance). Ce jeu fait partie des jeux
dits à somme nulle, c'est-à-dire que les joueurs sont
exactement adversaires, les gains de l'un étant par définition les
pertes de l'autre (par opposition à un jeu comme le dilemme du
prisonnier, où il est possible pour que les deux joueurs
gagnent ou perdent dans différentes proportions, et il y a donc un
sens à chercher à coopérer) ; et à
information incomplète imparfaite,
parce que les deux joueurs choisissent leur option simultanément, donc
dans l'ignorance du choix de l'autre (par opposition aux jeux à
information parfaite, comme les échecs, qui sont l'objet de la théorie
combinatoire des jeux). En pratique, le choix simultané peut se faire
en écrivant sur un papier (si on est très formaliste, dans un pli
scellé), ou, si on est cryptographe, en utilisant
une fonction de hachage pour
s'engager sur un choix sans divulguer celui-ci. Ou en montrant
simultanément un choix de la main (par exemple, Alice pourrait pointer
du doigt l'un des deux adversaires, tandis que Bob fait le signe du
pouce vers le haut ou vers le bas).
La stratégie à suivre est tout à fait évidente : si Bob avait
connaissance du nom choisi par Alice, il aurait intérêt à
choisir perd lorsque Alice choisit Alice et gagne
lorsque Alice choisit Bob ; donc Alice ne doit pas divulguer la
moindre information sur son choix, et doit choisir aléatoirement et de
façon équiprobable, indépendante des choix précédents, le nom qu'elle
choisit ; Bob, évidemment, a intérêt à choisir aléatoirement
entre gagne et perd. On dit qu'on a affaire là à
la stratégie (mixte)
optimale[#] du jeu pour
l'un et l'autre joueur (qui se caractérise formellement par le fait
qu'il s'agit d'une distribution de probabilité sur les options du jeu
dont l'espérance de gain contre n'importe quelle option de
l'adversaire est au moins aussi bonne que celle de toute autre telle
distribution). Les deux stratégies optimales jouées l'une contre
l'autre constituent
un équilibre
de Nash, mais la notion en question est un peu idiote dans
le cas d'un jeu à somme nulle à cause
d'un théorème de
von Neumann qui assure, pour parler de façon très vague, que dans
ce cas les stratégies optimales des deux joueurs se répondent bien
l'une à l'autre (en maximisant le pire gain possible on maximise
précisément le gain contre la stratégie optimale de l'adversaire). Le
jeu très simple dont j'ai parlé est à valeur nulle,
c'est-à-dire que quand les deux joueurs jouent leur stratégie
optimale, aucun n'est privilégié, ce qui est le cas si, mais pas
seulement si, il existe une symétrie totale entre les joueurs.
Ce jeu a beau être très simple, et sa stratégie optimale évidente,
quand on y joue dans la vraie vie, tirer des valeurs au hasard n'est
ni très facile ni très satisfaisant, et on se retrouve à jouer sur la
psychologie de l'adversaire (comme dans la
célèbre Battle
of Wits de Princess Bride), surtout
quand on joue plusieurs coups de suite : chacun essaie de se prévoir
quel sera le choix de l'autre (en tenant compte du fait que l'autre
essaie de prévoir, etc.), et de choisir le coup gagnant en fonction de
cela. Je me souviens avoir joué à une variante de ce jeu contre un
ami quand j'étais petit (sous la forme : mon adversaire choisit une
carte dans un jeu et je dois deviner si elle est rouge ou noire), et
avoir gagné une vingtaine de fois d'affilée, si bien que mon ami
commençait à se dire que je lisais dans ses pensées. Mais bon, ce
petit jeu n'a de sens que parce qu'on joue contre un humain qui joue
aussi au même petit jeu : si l'un des deux joueurs tire son choix
aléatoirement, l'autre n'a rien d'intelligent à faire, dans tous les
cas son espérance de gain sera nulle. Autant jouer à pile ou face,
et, bien sûr, c'est essentiellement ce qu'on est en train de
faire.
Quand j'étais petit, j'ai appris la chose suivante :
si A, B et C sont trois points (ce
qui s'appelle un triangle), alors les trois droites
(appelées médianes) qui relient chacun de ces trois points
au milieu des deux autres, ces trois droites concourent en un point
(appelé centre de
gravité du triangle, noté G dans la
figure[#] ci-contre), qui a la
propriété d'être le centre de gravité de la surface du triangle (ou
aussi de ses trois sommets avec une masse égale en chacun) ; les trois
droites (les bissectrices) qui bissectent les trois angles
du triangle sont également concourantes en un point
(appelé centre
du cercle inscrit, noté I dans la figure
ci-contre), qui a la propriété d'être le centre du cercle
intérieurement tangent aux trois côtés du triangle ; les trois droites
(les médiatrices) perpendiculaires aux côtés et passant par
leurs milieux sont également concourantes en un point
(appelé centre
du cercle circonscrit, noté O dans la figure
ci-contre), qui a la propriété d'être le centre du cercle passant par
les trois sommets du triangle ; et les trois droites
(les hauteurs) perpendiculaires aux côtés et passant par le
sommet opposé respectif sont également concourantes en un point
(appelé orthocentre,
noté H dans la figure ci-contre) ; et qu'en plus, le centre
de gravité, le centre du cercle circonscrit et l'orthocentre sont
eux-mêmes alignés sur une droite (appelée droite d'Euler).
J'étais fasciné d'apprendre qu'à n'importe quel triangle on pouvait
associer des points aussi naturels et possédant des propriétés aussi
élégantes, et même si j'étais un peu déçu pour la symétrie des choses
que le centre du cercle inscrit ne fût pas aligné avec les autres,
c'était pour moi une découverte profonde.
Je pense que ces faits sont un test intéressant pour savoir si
quelqu'un aimera les maths : ils sont assez faciles à présenter (et ne
font intervenir aucun calcul, même si on veut en présenter une
démonstration ou du moins une ébauche d'explication), et même si on
peut tout à fait les trouver sans grand intérêt et avoir quand même
goût pour les maths, je pense que si on est fasciné c'est le signe
d'un certain esprit géométrique et qu'il faudrait chercher à en savoir
plus. La tendance qu'ont trois droites naturellement définies dans un
triangle à vouloir toujours concourir a quelque chose d'assez
magique, il faut le reconnaître.
Maintenant, la folie des points remarquables dans les triangles a
atteint un niveau un peu extrême, il faut le reconnaître : la
célèbre encyclopédie
de Kimberling des centres des triangles recense (actuellement ?)
3597 points remarquables ; il est assez facile de se convaincre qu'on
peut en produire une infinité si on décide que (1) la droite reliant
deux points remarquables dans un triangle est une droite remarquable,
et (2) l'intersection de deux droites remarquables dans un triangle
est un point remarquable.
Néanmoins, les six points suivants dans l'encyclopédie de
Kimberling sont encore assez remarquables, à savoir
le centre du
cercle de Feuerbach (des « neuf points ») (noté X5 sur
ma figure), le point
de Lemoine (intersection des symmédianes, c'est-à-dire des
symétriques des médianes par rapport aux bissectrices,
noté X6 sur ma figure),
le point
de Gergonne (intersection des droites reliant chaque sommet au
point de tangence du cercle inscrit avec le côté opposé,
noté X7 sur ma figure),
le point de
Nagel (idem mais avec les points de tangence des cercles
exinscrits, noté X8 sur ma figure),
le Mittenpunkt
(point de Lemoine du triangle des centres des cercles exinscrits, ou
bien intersection des droites (G–X7) et
(H–X10), noté X9 sur ma figure)
et le centre de
Spieker (centre du cercle inscrit du triangle formé par les
milieux des côtés, noté X10 sur ma figure). Concernant le
point de Spieker, je trouve assez remarquable le fait que c'est le
centre de gravité du périmètre du triangle : c'est assez
frappant que le centre de gravité de la surface du triangle coïncide
avec celui de ses trois sommets, mais que pour le périmètre on trouve
un point différent. Les quelques points de Kimberling suivants sont
encore assez remarquable, mais ma patience ne va pas jusque là.
Mais voilà, je suis géomètre algébriste, alors je me suis demandé :
ne peut-on pas présenter ce petit zoo des centres d'un triangle d'une
façon un peu plus systématique, quitte à être plus sophistiqué (et
moins géométrie-élémentaire-à-la-façon-des-Grecs) ? Voici ce à quoi
je suis arrivé (attention, ce qui suit demande pour être compris
quelques connaissances d'algèbre et de géométrie projective) :
Affichage de l'hémisphère « trans » de la 3-sphère
Petit complément à l'entrée
précédente : j'ai refait des vidéos qui me semblent meilleures.
(Disponible à la même
adresse que les précédentes, lesquelles ont été reléguées au
sous-répertoire old/ ; et aussi sur
la même
playlist YouTube.) Outre que j'ai corrigé un problème
d'orientation entre les vues avant et les vues de côté (décidément,
POVray m'embrouille complètement avec son système de coordonnées), la
principale différence avec les précédentes est que je montre
maintenant aussi ce qui se passe dans l'hémisphère éloigné de
l'observateur (l'hémisphère « trans »). Par une combinaison de
décision éclairée et de fainéantise, j'ai choisi de rendre ces
choses-là comme de simples lignes rouges sans texture ni épaisseur
(bon, rouges, elles ne le sont plus tellement après l'encodage vidéo,
mais je pense qu'on devinera bien de quoi je parle). Normalement,
dans cet hémisphère, plus les objets sont lointains (c'est-à-dire,
proches des antipodes), plus ils devraient paraître épais : j'ai
trouvé que ça rendait les choses vraiment trop incompréhensibles,
alors j'ai préféré une vue en fil de fer. (De toute façon, comme un
commentateur me faisait remarquer sur l'entrée précédente, l'épaisseur
des tubes n'est pas exacte quand ils sont lointains.) C'est déjà
intéressant de voir les polyèdres rapetisser quand on se rapproche
d'eux (pour ensuite passer dans l'hémisphère « cis » en se
matérialisant pour grandir de nouveau).
Cela vaut notamment la peine de regarder les vues de côté : il est
amusant de constater que bien qu'en regardant en face on avance
manifestement tout droit, quand on regarde sur le côté, on se trouve
en train de tourner autour d'un axe (regardez ce qui se passe du côté
du polyèdre qui est au centre de la vue et à la frontière entre
l'hémisphère cis/gris et l'hémisphère trans/rouge). C'est ça, aussi,
vivre dans une 3-sphère : suivre un grand cercle c'est tourner autour
d'un axe (qui est lui-même un grand cercle, et il y a une jolie
autodualité des grands cercles dans la 3-sphère). Finalement, je
crois que réaliser ces vidéos m'a permis de mieux comprendre la
3-sphère mais pas vraiment de mieux comprendre les polytopes réguliers
en dimension 4.
Ah, et à la demande de quelqu'un, j'ai fait le 24-cellule. Comme
je le disais, il est totalement sans intérêt car vraiment trop vide
(et les autres solides réguliers le sont encore plus).
Le programme Perl qui a servi à générer toutes ces vidéos est
disponible
depuis ici.
Mais il y a une autre façon de faire, que je n'ai encore jamais vue
employée, et qui consiste à se rappeler qu'une autre façon de
considérer les solides réguliers est de les voir comme des pavages de
la sphère. Pour expliquer dans le cadre plus familier de la 2-sphère
en dimension 3, le dodécaèdre, par exemple, peut être considéré comme
un solide convexe en dimension 3, mais il peut aussi être considéré
comme vivant sur la sphère (imaginez qu'au lieu d'inscrire
votre dodécaèdre dans la sphère vous le gonfliez jusqu'à ce qu'il
coïncide avec elle, mais en gardant le souvenir des limites des
faces ; un peu comme un ballon de football traditionnel est cousu de
pentagones et d'hexagones) : le dodécaèdre est alors une façon
de paver la sphère avec 12 pentagones réguliers. Pour
mémoire, les pentagones réguliers ne pavent pas le plan, et c'est bien
le signe que la sphère a une courbure positive qu'on peut la paver
avec des pentagones réguliers de sorte que trois se touchent à chaque
sommet. De même, l'icosaèdre peut être vu comme une façon de paver la
sphère avec 20 triangles équilatéraux (certes les triangles
équilatéraux pavent déjà le plan, mais là on en met cinq autour de
chaque sommet, alors que pour paver le plan on en met six : de
nouveau, on voit que la courbure est positive), le cube comme une
façon de paver la sphère avec six carrés, etc.
Exactement la même chose fonctionne une dimension au-dessus : chacun
des six solides réguliers de la dimension 4 correspond à un pavage
régulier de la 3-sphère. Pour le 120-cellule, par exemple, c'est avec
120 dodécaèdres réguliers : les dodécaèdres réguliers ne pavent pas
l'espace euclidien, mais grâce à la courbure de la 3-sphère ils
arrivent à la paver, elle. Vous allez me dire que ça n'aide pas
vraiment à visualiser les choses, mais en fait si : la 3-sphère étant
un espace de dimension 3, fût-il courbe, on peut espérer
l'appréhender. L'idée, donc, est de représenter ce que verrait d'un
120-cellule (par exemple) quelqu'un qui vivrait sur (ou
faut-il dire dans ?) une 3-sphère : un pavage régulier de tout
son univers par 120 dodécaèdres réguliers.
Quand j'ai proposé ça, je me disais que ce serait vraiment
fastidieux à calculer : aucun programme de raytracing n'est prévu pour
faire des calculs dans des espaces courbes, après tout. Mais j'avais
une idée confusément à l'arrière de la tête, qui a fini par ressortir
quand un ami s'est proposé d'essayer de réaliser ces calculs :
la projection
gnomonique.
La projection gnomonique est une façon de projeter une sphère sur
un plan (ou les objets analogues en dimension supérieure). Elle
consiste à projeter depuis le centre de la sphère sur un plan
tangent à elle en un point (qu'on appelle le centre de la
projection) ; c'est donc quelque chose de très facile à calculer, mais
elle est bizarrement beaucoup moins populaire et moins connue que
la projection
stéréographique (avec laquelle il ne faut pas confondre) qui,
elle, projette depuis le point de la sphère opposé au centre de
projection. Alors que la projection stéréographique conserve les
angles (on dit qu'elle est conforme), la projection gnomonique
conserve l'alignement : les grands cercles de la sphère (c'est-à-dire
ses géodésique, ou « droites », ce que les navigateurs appellent
des orthodromies) deviennent des droites dans la
projection gnomonique (c'est assez évident sur la description
géométrique). Autrement dit, le plus court chemin pour aller
de A à B (au moins s'ils sont dans le même
hémisphère que le centre de projection) s'obtient juste en traçant une
droite sur la projection gnomonique. La plupart des gens (et même pas
mal de mathématiciens) sont intimement persuadés que c'est
impossible : comme la sphère est courbe, on ne peut pas envoyer les
droites sur des droites entend-on parfois dire. Pourtant, la
projection gnomonique fait bien ça (et c'est la seule), et elle
mériterait d'être plus connue même si elle a des défauts qui la
rendent peu utilisable en cartographie. Pour les géomètres : alors
que la projection stéréographique identifie naturellement la sphère à
la droite projective complexe (on parle de sphère de
Riemann), la projection gnomonique, elle, identifie naturellement la
sphère modulo antipodie au plan projectif réel.
Quel rapport avec mon problème ? Le point important est que la
projection gnomonique fonctionne aussi bien de la 3-sphère vers
l'espace euclidien de dimension 3, et ce que voit de la 3-sphère
quelqu'un qui vit dessus est donné justement par la projection
gnomonique centré au point où se trouve cet observateur. Voici
la façon dont je justifiais ce fait dans un mail à un ami :
Le truc c'est le suivant : (1) pour quelqu'un qui vit
dans S³ (en un point P, disons), les grands cercles
de S³ apparaissent comme des droites, et (2) plus précisément,
ce qu'il voit d'une configuration de droites (=grands cercles)
de S³ est exactement la même chose que verrait quelqu'un dans
ℝ³ qui verrait la projection gnomonique de ces droites à
condition que cette projection gnomonique soit centrée
en P.
La projection gnomonique d'une sphère centrée en un
point P de celle-ci, c'est la projection centrale depuis le
centre de la sphère (et pas depuis le point antipodal à P qui serait
la projection stéréographique, bien plus connue) et sur l'hyperplan
tangent à la sphère en P. En fait, c'est bêtement
l'identification de la sphère quotientée par l'antipodie avec l'espace
projectif de même dimension. L'intérêt, c'est que (a) la projection
gnomonique préserve les droites (parce que les droites sont les
intersections de la sphère avec des plans passant par l'origine). Par
ailleurs, (b) au point P (mais seulement lui), la
projection gnomonique préserve les angles (parce que c'est clair que
la différentielle en ce point est l'identité, vu qu'on a justement
pris le plan tangent). Ces deux propriétés (a) et (b) prouvent mon
point (2) (puisque ce que voit un observateur en P
sur S³ est déterminé par les angles des grands cercles passant
par P et des points de la configuration de grands cercles
proposée). Et mon point (2) implique notamment mon point (1).
Bon, je m'explique sans doute comme un pied, mais en tout cas la
morale est que pour représenter ce que voit d'un solide régulier
dans S³ un observateur P dans S³, on peut
faire la chose suivante : déterminer l'image (dans ℝ³) par
projection gnomonique centrée en P de tous les sommets et
toutes les arêtes, et filer ça à un raytracer. L'avantage, c'est
qu'on n'a pas à raytracer soi-même.
Sauf qu'il y a quand même un problème […] : pour les points
qui sont dans l'hémisphère « cis » (celui qui contient P et
qui est centré en P), tout se passe bien, mais pour les
points qui sont dans l'hémisphère « trans », ils devraient apparaître
au-delà de l'infini et on ne peut pas demander ça à un raytracer.
(Concrètement, un mec qui vit dans ℝ³ et qui regarde une droite
ne voit qu'une demi-droite qui se termine à un « point de fuite » ;
alors qu'un mec qui vit dans S³ et qui regarde un grand cercle
va vraiment voir le truc se prolonger tout à travers son champ de
vision.)
J'ai quand même fait l'expérience de filer les choses à un
raytracer (POVray), en me limitant aux points de l'hémisphère « cis »
(et lorsqu'un segment relie les deux hémisphères, je le fais partir à
l'infini) : pour les solides un peu remplis (le 120-cellule
(« hécatonicosachore ») et le 600-cellule (« hexacosichore »)), c'est
très joli. On voit qu'il manque l'hémisphère trans, mais le fait que
les rayons partent à l'infini donne l'impression qu'il est noyé dans
une brume noire impénétrable. Pour les autres solides réguliers, par
contre, ça n'a aucun intérêt : ça donne juste un grand truc
essentiellement vide.
Et pour faire une vidéo, je fais tourner la 3-sphère, ça n'apporte
aucune difficulté supplémentaire.
Bref, j'ai réalisé des petites vidéos de tout ça : une
visite du 120-cellule (qui pave la 3-sphère par 120 dodécaèdres
réguliers, donc), et une visite du 600-cellule (qui la pave par 600
tétraèdres réguliers). Elles
sont en
basse qualité sur YouTube et
téléchargeables en plus haute
qualité ici (pour une fois elles sont assez petites pour que je ne
m'embête pas à fabriquer des torrents pour le téléchargement). Si on
regarde attentivement, on se rend bien compte que l'espace dans lequel
on évolue est courbe : les polyèdres et polygones censés être
réguliers ne le sont pas vraiment (ce qui est normal, vu que réguliers
dans un espace plat ils ne peuvent pas paver), et les angles semblent
se modifier subtilement quand la caméra se déplace. Et comme je
l'explique ci-dessus, je ne montre malheureusement que ce qui se passe
dans l'hémisphère « cis » de la 3-sphère (l'hémisphère proche de
l'observateur).Mise à jour () : je
montre maintenant aussi l'hémisphère « trans » avec des lignes rouges,
cf. l'entrée suivante.
Je fournirai prochainement ici le programme Perl qui a servi à
générer (les fichiers POVray de) ces animations. Mise à
jour :
voir ici.
Par ailleurs, il serait intéressant de faire des
animations semblables pour
des pavages
de l'espace hyperbolique : la géométrie hyperbolique est en
quelque sorte le pendant à courbure négative de la géométrie
sphérique, par exemple on peut y faire des pentagones réguliers à
angles de 90° alors que les pentagones réguliers du 120-cellule ont
des angles de 120° et en géométrie euclidienne bien sûr c'est 108°.
(Par ailleurs,
les « vrais »
géomètres nous apprennent que la courbure négative est beaucoup
plus intéressant que la courbure positive.) Il y a une image de ce
genre ici,
mais j'aimerais faire mieux. La projection
gnomonique existe
aussi pour l'espace projectif, donc la même approche fonctionne
(avec la difficulté des deux hémisphères en moins, remplacée par la
difficulté que les pavages sont infinis).
Addendum à l'entrée précédente :
on me fait remarquer que le maître de cérémonies d'un séminaire a, ou
en tout cas devrait avoir, d'autres rôles : par exemple, quand le
séminaire vise un certain public (et notamment si ce public est
large), s'assurer que l'orateur reste compréhensible par ce public en
interrompant, si besoin est, pour demander de rappeler la définition
de tel ou tel concept, ou l'énoncé de tel ou tel théorème (même si le
maître de cérémonies lui-même les connaît, probablement : le but est
d'éviter aux gens qui ne connaissent pas d'être trop timides pour
demander). Malheureusement, ce rôle-là est rarement tenu. De façon
plus pragmatique, l'intérêt de la phrase d'introduction est aussi de
demander à l'assistance de faire silence (dans la pratique, j'ai
rarement l'impression que ce soit nécessaire, sauf dans de très
grosses conférences), et de pousser un orateur peut-être un peu timide
à se lancer.
Tant que j'y suis, je signale un autre aspect du « savoir-vivre »
mathématique que je trouve amusant : quand dans un exposé de séminaire
on cite un résultat, on écrit quelque chose comme Théorème
(Duschnock, 1995) en donnant l'année de publication de l'article
quand c'est effectivement publié ; mais si on cite un théorème qu'on a
soi-même découvert, on met juste son initiale (ou ses initiales si on
a l'habitude d'écrire les prénoms) et la date éventuelle. Il m'a
fallu un certain temps pour comprendre ça.
Il y a sans doute quantité de règles comme ça que j'ai apprises et
qui me semblent maintenant assez évidentes. Mais c'est un problème
pour les gens qui débutent dans le métier : ce genre de règles n'est
écrit nulle part — normalement ce devrait être le directeur de
thèse qui les fait remarquer, mais il n'y pense pas toujours, ou
parfois il n'est pas là. Ne pas les respecter peut être embarrassant
(je me souviens avoir commis un impair une fois, mais je ne me
rappelle plus de quoi il s'agissait).
Cet après-midi, j'ai assisté à trois heures d'exposés : une d'un
groupe de travail géo.alg/crypto à Télécom (dont je suis vaguement un
co-organisateur) et deux
du séminaire Variétés
rationnelles (qui pourrait s'appeler
séminaire-des-élèves-de-Colliot-Thélène). Les séminaires de
mathématiques (et probablement de beaucoup d'autres disciplines, mais
je n'en ai pas vu assez pour pouvoir conclure de façon ferme)
obéissent à un petit rituel qui m'agace (et que j'ai insisté pour
éliminer à notre groupe de travail à Télécom) : ce rituel fait qu'il y
a dans un exposé de séminaire deux personnes jouant un rôle
distingué : l'orateur (ou conférencier),
évidemment, qui est celui qui parle l'essentiel du temps, mais aussi
quelqu'un qui est normalement un des organisateurs du séminaire et que
j'appellerai (faute de connaître un nom plus standard à ce rôle)
le maître de cérémonie (on pourrait aussi dire :
le présentateur). Quand il y a plusieurs organisateurs
d'un séminaire, ils exercent généralement la fonction de maître de
cérémonie à tour de rôle, car ce rôle ne peut pas être collégial. Le
maître de cérémonie doit impérativement être distinct de l'orateur :
aujourd'hui, au séminaire Variétés rationnelles, comme un
des organisateurs du séminaire était absent et que l'autre était un
des exposants, il a fallu qu'une autre personne (en l'occurrence,
Colliot-Thélène) joue ce rôle.
Le rôle en question, donc, est tout à fait rituel : lorsque le
séminaire va commencer, le maître de cérémonie prononce l'incantation
propitiatoire (quasiment verbatim) : Nous écoutons
maintenant $nom_du_conférencier, qui va nous parler
de $titre_de_l_exposé. Lorsque l'orateur a fini de
parler, le maître de cérémonie dit sobrement merci, et
l'assistance peut applaudir (cependant, au séminaire Variétés
rationnelles, quand Colliot-Thélène était un des
organisateurs, on n'applaudissait pas, selon le principe,
avec lequel je suis plutôt d'accord, qu'un exposé de mathématiques
n'est pas un tour de magie et qu'il n'y a pas spécialement lieu de
manifester son émerveillement). Ensuite, le maître de cérémonie
demande à l'assistance y a-t-il des questions ?, les gens les
posent (sans attendre qu'on les invite individuellement à parler), et
quand les questions sont taries, le maître de cérémonie a le droit
d'en poser lui-même (ce qui est bien vu si l'assistance n'en a pas
posé du tout, histoire qu'il y en ait au moins une), et enfin il
invite l'assistance à remercier de nouveau l'orateur (on applaudit
donc deux fois, y compris s'il n'y a eu aucune question). Tout ceci
est extrêmement codifié.
Il y a, bien sûr, des variantes nationales. En anglais (langue
dans laquelle se font la plupart des séminaires hors des
mathématiques, et même en mathématiques un grand nombre de séminaires
et la majorité des conférences), le maître de cérémonies
annoncera : Our ${if_first_speaker?first:next}
speaker for today is $speakers_name, who will talk
about $title_of_talk ; et à la
fin : Let us thank the speaker (on remarquera
qu'en anglais le maître de cérémonie invite l'assistance à remercier
l'orateur alors qu'en français il le remercie lui-même et l'assistance
se joint spontanément à ces remerciements), et
enfin : Let us thank the speaker again. En
allemagne, on n'applaudit pas, on cogne la table avec l'articulation
des doigts (la main étant repliée en poing) — cela surprend la
première fois. (D'un autre côté, j'ai un ami qui m'a fait remarquer
que si une seule fois on regarde des gens en train d'applaudir en se
disant mentalement, mais qu'est-ce que c'est que ce rituel
idiot ?, il est ensuite impossible de s'enlever cette idée de la
tête et on a à tout jamais du mal à se retenir de rire quand on se
trouve dans un groupe de gens en train d'applaudir.)
Bref. Je reconnais que le maître de cérémonie joue un rôle
important, qui est justement celui que je n'ai pas décrit : il fait
comprendre à un orateur qui déborderait son temps qu'il faut songer à
arrêter. (Ou il répond à la semi-question s'il me
reste $n minutes…? soulevée par l'orateur.)
En revanche, le rôle de prononciateur de la phrase magique qui ouvre
le séminaire, je trouve ça vraiment idiot. Je ne dis pas ça que par
iconoclasme : cette façon de procéder (qui est essentiellement celle
des soutenances de thèse) donne aux
séminaires un côté plus formel, plus rigide, donc aussi
plus intimidant (notamment pour les jeunes orateurs) que si
l'orateur se contentait de sonder vaguement le premier rang pour
savoir s'il peut commencer (et pareil quand il s'agit de savoir s'il
reste du temps). Le nom de l'orateur n'a pas besoin d'être répété, a
priori tout le monde l'a lu sur l'affiche ou l'annonce du séminaire
(et il vaut mieux le voir écrit de toute façon, parce que sinon on va
se tromper en l'écrivant), et quant au titre, l'orateur peut très bien
l'écrire au tableau. De même, je préfère que l'orateur demande
lui-même s'il y a des questions : c'est lui, après tout, qui vient de
faire une communication, il est normal que ce soit lui qui veuille
savoir si on veut lui en demander plus. Bref, je préfère qu'un exposé
ressemble à une discussion informelle entre collègues (et égaux) qu'à
une soutenance de thèse ou je ne sais quel cérémonial codifié.
Il y a d'ailleurs au moins un séminaire prestigieux où les choses
se passent sans cérémonial, c'est le
séminaire Bourbaki. Je
suppose que la logique est que le maître de cérémonie serait
logiquement Bourbaki, mais que bizarrement il n'est pas présent. Je
regrette d'ailleurs qu'il n'y ait pas une petite blague récurrente qui
consisterait à ce qu'à chaque séminaire Bourbaki quelqu'un
aléatoirement se lève pour annoncer à l'assistance : Monsieur
Nicolas Bourbaki, organisateur de ce séminaire, vous prie de bien
vouloir l'excuser pour son absence, due
à $raison_inventée_rigolote_et_différente_à_chaque_fois.
L'humour mathématicien français a l'air d'avoir un peu décliné depuis
les années 30. Au demeurant, j'ai entendu des gens se plaindre du
séminaire Bourbaki du fait de son extrême opacité (on ne sait pas
comment les orateurs sont choisis, ni d'où vient l'argent), donc je ne
sais pas si c'est un modèle à suivre : mais j'apprécie l'absence du
cérémonial religieux qui commence la grande majorité des autres
séminaires.
Je continue dans mon
exploration graphique un peu aléatoire d'objets mathématiques
exceptionnels et mysérieux avec
le graphe
de Higman-Sims, dont je viens de
produire cinq onze
vues.
(Mise à jour () : J'avais
initialement écrit cinq, alors que j'avais produit six vues, je
ne sais pas pourquoi ce lapsus. Mais de toute façon, je me suis rendu
compte entre temps que j'avais mal regardé les symétries et que ma
méthode produit non pas cinq ou six vues différentes
mais onze. Pour me faire pardonner, voici
une jolie
animation (également en mauvaise
qualité sur
YouTube) de ce graphe, qui passe par toutes ces différentes vues
(comme d'habitude, si vous n'arrivez pas à télécharger par BitTorrent,
vous pouvez retirer l'extension .torrent à la fin de
l'URL pour accéder directement au fichier).
Ajout : Les vues en SVG sur Wikimédia
Commons : 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11.
Le graphe de Higman-Sims est l'unique graphe ayant 100 sommets,
chacun étant adjacent à 22 autres (ce qui fait donc 1100 arêtes au
total), de sorte que deux sommets adjacents n'ont jamais de voisin
commun (i.e., le graphe n'a aucun triangle) et que deux sommets non
adjacents ont exactement 6 voisins en commun. Comme tout objet
mathématique exceptionnel qui se respecte, il admet quantité de
définitions ou de constructions équivalentes. Son groupe
d'automorphismes (d'ordre 88704000), c'est-à-dire l'ensemble des
façons dont on peut permuter les sommets en préservant la relation
d'adjacence entre eux, est, à une extension d'ordre 2 près,
le groupe
du même nom, l'unique groupe simple fini d'ordre 44352000 et un
des vingt-six
groupes sporadiques. Si on fixe un sommet quelconque, le groupe
restant (le stabilisateur d'un sommet, donc) est, de nouveau à une
extension d'ordre 2 près, le groupe M22 de Mathieu (qu'on
rencontre régulièrement sur ce
blog) — ce qui explique que l'ordre du groupe de Higman-Sims
soit 100 fois celui du groupe M22.
Il y a une autre façon de décrire le groupe de Higman-Sims, c'est
comme les automorphismes d'un certaine structure combinatoire appelée
la géométrie de Higman (qui comporte 176 « points » et 176
« quadriques », chaque quadrique comportant 50 points et chaque point
étant sur 50 quadriques — et l'automorphisme extérieur du groupe
de Higman-Sims correspondant à échanger points et qudratiques). Cette
description a été trouvée indépendamment, et on ne s'est pas rendu
compte immédiatement qu'il s'agissait du même groupe. Là où
le Club Contexte est très content,
c'est que le Higman du groupe et du graphe Higman-Sims (Donald
G. Higman, un Américain) n'est pas le même que le Higman de la
géométrie de Higman (Graham Higman, un Britannique) ; il semble qu'ils
n'aient même pas de lien de parenté évident, c'est tout de même très
fort. (Les blagueurs les appelaient les Higmen.)
En fait, mes dessins représentent le graphe de Higman-Sims pas
seulement comme un graphe abstrait mais comme un minuscule petit bout
d'un autre objet mathématique exceptionnel et extraordinaire,
le réseau de
Leech.
Le réseau de Leech est réseau régulier de points en 24 dimensions
qui a des propriétés absolument mirobolantes ; on peut par exemple le
décrire comme la (seule) façon d'empiler des sphères de même rayon, en
24 dimensions, de façon que chaque sphère en touche 196560 autres (les
sphères sont centrées sur les points du réseau de Leech) ; il est
assez apparenté au réseau engendré par
le système de racines E8
dont je parlais récemment (et qui permet d'empiler des sphères en 8
dimensions, de façon que chaque sphère en touche 240 autres), si ce
n'est que le réseau de Leech n'est pas associé à un système de
racines. Les isométries laissant invariant le réseau de Leech (et
fixant l'origine) forment un autre groupe remarquable, le groupe ·0
(lire dot-oh) de Conway, qui est une extension
par 2 de l'unique groupe simple fini (appelé ·1 par Conway) d'ordre
4157776806543360000, encore un sporadique. Malheureusement, il n'est
pas question de représenter le réseau de Leech (ou même sa première
couche), parce que déjà un polyèdre ayant 240 sommets en dimension 8
ayant 696729600 symétries, on n'y voit rien, alors représenter un
polyèdre ayant 196560 sommets en dimension 24 et ayant
8315553613086720000 symétries c'est un peu désespéré.
Néanmoins, on peut au moins représenter des tout petits bouts du
réseau de Leech. Il se trouve que le graphe de Higman-Sims (comme la
géométrie de Higman, d'ailleurs) apparaît naturellement comme un tout
petit bout du réseau de Leech : si on choisit trois points quelconques
du réseau dont les distances entre eux valent 3, 3 et 2, alors il y a
exactement 100 points du réseau qui sont à distance 2 de chacun des
trois points choisis, et si on relie par une arête ceux qui sont à
distance 3, on obtient le graphe de Higman-Sims ; ceci plonge le
groupe de Higman-Sims dans le groupe ·1 de Conway comme le groupe des
isométries du réseau de Leech fixant le triangle choisi. Les dessins
que j'ai fait sont des projections orthogonales du graphe de
Higman-Sims tel que je viens d'expliquer qu'il apparaît dans le réseau
de Leech, en choisissant une projection qui révèle la symétrie
d'ordre 11 (il n'y a qu'une seule classe de conjugaison d'ordre 11
dans ·0, et elle est dans le groupe de Higman-Sims et, en fait, dans
M22). Les 100 points sont organisés en un point au centre
et 9 endécagones réguliers autour de lui ; et comme il restait un peu
de liberté j'ai fait en sorte que les deux endécagones formés des
points directement reliés au point central soient symétriques l'un de
l'autre (formant donc un 22-gone régulier) — ce qui ne laisse
plus, je crois, que les six projections que j'ai tracées.
Ça ne rend pas très joliment sur l'écran, mais imprimé sur du
papier A3 c'est vraiment très esthétique. Ce n'est qu'un minuscule
aspect des élégantes symétriques du réseau de Leech, mais c'est déjà
inspirant.
Comme j'étais déçu de ne pas avoir gagné la même célébrité et
fortune avec mes taquins de Mathieu
(244823040 = 210×33×5×7×11×23 combinaisons
possibles) qu'Ernő Rubik avec son fameux cube
(43252003274489856000 =
227×314×53×72×11
combinaisons), voici une nouvelle tentative de puzzle mathématique à
696729600 = 214×35×52×7 combinaisons,
sur cette page-ci (qui ne
marchera que sur un navigateur assez récent gérant
l'élément <canvas>).
On peut voir ça comme un petit jeu (appuyer sur scramble et
cliquer sur les points jusqu'à réussir à tout remettre à sa place) ou
comme un outil pour essayer de comprendre le groupe de Weyl de
E8 (à ne pas confondre avec le groupe de Weyl de
E6 dont je parlais
récemment). Les explications mathématiques et le mode d'emploi
sont au bout du lien. C'est plus simple que le Rubik's cube parce que
finalement on ne fait que bouger l'objet en bloc sans le déformer,
mais c'est plus compliqué parce que l'objet en question vit en
huit dimensions.
Et c'est frustrant, décidément, quoi que je fasse, je n'arrive pas
à visualiser huit dimensions (il faut dire que je n'arrive déjà pas à
en visualiser trois,
alors…). Le système de racines E8 est un
de ces objets mathématiques
exceptionnels et un peu mystérieux que je trouve complètement
fascinants et qui devraient être d'une beauté insoutenable si on
arrivait à les voir proprement à défaut de seulement les comprendre.
En l'occurrence, celui-ci est un peu comme un solide régulier (même
s'il n'est pas régulier avec la définition usuelle du terme,
c'est-à-dire si on demande que le groupe de symétries soit transitif
sur les drapeaux : il n'y a que trois solides réguliers en toute
dimension à partir de 5), mais il a quantité d'autres propriétés
remarquables.
Le système de racines E8 est le point de départ pour
construire un autre objet remarquable qui en découle naturellement, et
qui est E8 lui-même. Encore plus compliqué à visualiser,
puisque lui a 248 dimensions (comme 8+240, où 8 est le nombre de
dimensions dans lequel vit le système de racines E8 et 240
est le nombre de racines de ce dernier). Et un jour où je serai
vraiment en forme, je ferai un puzzle basé sur
E8(𝔽2), qui a, pour sa part,
337804753143634806261388190614085595079991692242467651576160959909068800000
=
2120×313×55×74×112×132×172×19×312×41×43×73×127×151×241×331
éléments[#].
[#] C'est beaucoup plus
que les malheureux
808017424794512875886459904961710757005754368000000000 =
246×320×59×76×112×133×17×19×23×29×31×41×47×59×71
du Monstre, même si le Monstre est
en fait beaucoup plus difficile à réaliser parce que pour
E8(𝔽2) on peut utiliser des matrices de
taille 248×248 alors que pour le Monstre il faut a priori des
matrices de taille 196883×196883, ou peut-être 196882×196882 si on
travaille sur 𝔽2 mais en tout cas c'est énorme.
Par contre, c'est toujours moins que le nombre de protons de
l'Univers, qui vaut
notoirement exactement
15747724136275002577605653961181555468044717914527116709366231425076185631031296.
Beaucoup connaissent sans doute déjà le célèbre film
scientifique Powers of Ten de Ray et Charles Eames, qui
présente la taille relative des choses dans l'Univers, et des
puissances de dix, par un zoom à travers le cosmos, entre un panorama
qui englobe de nombreuses galaxies et l'intérieur d'un proton dans la
peau d'un homme qui dort après un pique-nique à Chicago (ce
pique-nique constituant la scène initiale du film, et le milieu du
zoom). Sinon, je vous encourage
à le voir
(cf. aussi ici).
Je l'ai vu pour la première fois en 1984
au Ontario Science Centre (quand mes
parents et moi habitions Toronto) — ce même musée des sciences
dont je me plaignais il y a trois
ans qu'il était devenu juste une attraction ludique pour gamins. Il y
avait une petite salle où il passait en boucle, et mon père et moi
(mon père surtout, mais moi aussi) en étions fans et nous l'avons vu
de nombreuses fois.
Sauf que c'est un peu plus subtil : il y a deux versions du film.
Celle que j'ai vue et revue en 1984, c'est
la version de 1968,
qui est en noir et blanc si je me rappelle bien. Plus tard,
le Science Centre a changé et a mis
la version de 1977,
en couleur (je crois que je l'ai vue en 1988 quand nous sommes
retournés à Toronto pour un été), et c'est cette version-là qu'on voit
maintenant partout (y compris sur le lien vers YouTube que je donne
plus haut). La différence notable entre la version de 1968 et son
remake, c'est que la version ancienne, dans la partie du voyage des
puissances de dix qui zoome vers l'extérieur et vers le cosmos,
affichait les effets relativistes (le temps qui s'écoule pour le
voyageur et le temps qui s'écoule sur Terre, notamment, au fur et à
mesure que la vitesse s'approche de celle de la lumière). Cela a
probablement été jugé trop difficile à comprendre et un peu hors
sujet, et éliminé de la version suivante. Mais mon père aimait
beaucoup mieux cette première version, et a été déçu quand le film a
changé.
Toujours est-il que la version de 1968 est apparemment introuvable
sur le Web. C'est dommage. Il y a cependant
un DVD, trouvable
sur Amazon (mais uniquement d'occasion), qui contient apparemment
les deux versions : du moins si j'en crois un commentaire qui confirme
mon souvenir à ce sujet :
The primary difference between the two versions is that in the
first version, there is a side window kept running throughout the
movie, which shows the effect of relativity on the time-keeping of ten
seconds per order of magnitude of meters travelled. Around the time
the "camera" pulls back from 10-to-the-13th to 10-to-the-14th meters,
the subjective time-sense of the camera operator would start to be
strongly affected by relativity, because the "camera" would start to
be travelling at a significant fraction of the speed of light.
Gradually, subjective and Earthly time-sense gets so far out of whack
that ten seconds for the cameraman would be 100,000,000 years on
Earth. This might have the effect of prompting the
philosophically-inclined viewer to get the screaming meemies, but it's
better not to sweat the phiosophical details too much. Just ride with
it, baby. Anyway, evidently, the producers decided that the
additional feature of the relativistic clock was too distracting, and
they pulled it from the final version. Here in this video, we get to
see both versions of the film, which is a pretty tremendous
experience.
J'hésite un peu à l'acheter, mais bon, c'est quand même un peu cher
(et généralement acheter un article d'occasion chez Amazon.com quand
on n'habite pas aux États-Unis signifie passer par plein d'étapes très
compliquées pour finalement s'entendre dire que ce n'est pas possible
de livrer là où on est).
a pour groupe de Galois sur ℚ le groupe de Weyl de
E6, d'ordre 51840 qui peut être décrit comme
SO6−(𝔽2) ou
SO5(𝔽3) ou encore comme groupe des
automorphismes de l'unique groupe simple d'ordre 25920 (qui peut
lui-même être décrit comme n'importe lequel de :
SU4(𝔽2),
SΩ6−(𝔽2),
PSp4(𝔽3) ou
SΩ5(𝔽3).
Ci-contre, la figure de ses racines
dans le plan complexe (j'ai cadré pour qu'on les voie toutes sauf une,
la racine réelle valant environ 7.2113675276, qui déborde). Le graphe
que j'ai représenté en reliant chacune des racines à 10 autres, et qui
est isomorphe au graphe du
polytope 221
de Gosset, est préservé par le groupe de Galois : ce dernier est
justement l'ensemble des permutations des racines qui laissent
connectées les racines qui l'étaient.
Le polynôme est scindé modulo 1564741, 2506421, 2842537,
2848051, 3116447, 3331217, 3728393…
Les mathématiques expérimentales, c'est rigolo ! (Mais non, je
n'ai pas pêché ce polynôme en essayant au hasard jusqu'à en trouver un
qui marche.)
En français, en principe, un milliard désigne le nombre
109 (ou 1e9 dans la version informatique de la notation
scientifique), c'est-à-dire 1000000000 (un un suivi de neuf zéros), ou
mille millions ; un billion désigne 1012 (=1e12),
c'est-à-dire 1000000000000, soit mille milliards ou un million de
millions ; et un trillion désigne 1018 (=1e18),
c'est-à-dire 1000000000000000000, soit un million de
billions, ou un milliard de milliards. Il n'y a pas de mots pour
désigner 1015 (=1e15), on doit juste dire mille billions
(quand j'étais petit, je m'imaginais fort logiquement que c'était
un billiard, qui a même
une entrée sur
Wikipédia en français, mais ce n'est pas très sérieux). De façon
générale, un N-llion, c'est 106N (par
exemple, un septillion, c'est 1042), ou, si on préfère
parler en puissances de 1000, c'est 10002N : on
dit donc que le français utilise la convention 2N. Les
puissances de mille sont appelées, dans cette convention : mille,
million, millard, billion, « billiard », trillion, « trilliard »,
quadrillion, « quadrilliard », quintillion, etc.
En anglais, le mot million a le même sens que
son homologue français ; le mot milliard n'existe
pas trop ; et un billion désigne le nombre
109 (ou 1e9 dans la version informatique de la notation
scientifique), c'est-à-dire 1000000000 (un un suivi de neuf zéros), ou
mille millions, ce qu'en français on nomme un milliard.
Un trillion désigne 1012 (=1e12),
c'est-à-dire 1000000000000, ce qu'en français on nomme un billion ; et
un quadrillion désigne 1015 (=1e15),
c'est-à-dire 1000000000000000, ce qui se nomme en français mille
billions, ou un billiard si on consent à utiliser ce mot.
Quant à 1018 (=1e18), le trillion du français, en
anglais il se dit quintillion. De façon
générale, un N-llion, c'est
103(N+1) (par exemple,
un septillion, c'est 1024, ce qu'en
français on appellerait quadrillion), ou, si on préfère parler
en puissances de 1000, c'est 1000N+1 : on dit
donc que l'anglais utilise la convention N+1. Les
puissances de mille sont appelées, dans cette
convention : thousand, million, billion, trillion,
quadrillion, quintillion, sextillion, etc.
Pour que ce soit bien clair :
Notation scientifique
103
106
109
1012
1015
1018
1021
1024
Notation informatique
1e3
1e6
1e9
1e12
1e15
1e18
1e21
1e24
Convention 2N (français)
mille
million
milliard
billion
« billiard »
trillion
« trilliard »
quadrillion
Convention N+1 (anglais)
thousand
million
billion
trillion
quadrillion
quintillion
sextillion
septillion
Préfixe SI
kilo
méga
giga
téra
péta
exa
zetta
yotta
Périphrase
mille
un million
un milliard
mille milliards ou : un million de millions
un million de milliards
un milliard de milliards
mille milliards de milliards
un million de milliards de milliards
La convention 2N (celle du français) a l'avantage pour
elle d'être un peu plus simple pour les calculs : un trillion de
trillions est un sextillion comme trois et trois font six, et un
quadrillion de quadrillions est un octillion comme quatre et quatre
font huit.
Bon, ça c'est la théorie.
La pratique, c'est que c'est le bordel complet. D'abord, parce que
le français eut utilisé (au moins partiellement) la
convention N+1 : le Littré définit
le billion comme : Terme d'arithmétique. Dix fois cent
millions ou mille millions, un milliard, qui [le mot milliard]
est plus particulièrement usité dans le langage de la finance et dans
le langage ordinaire. Et trillion : Terme
d'arithmétique. Mille billions, ou mille fois mille billions. (le
Club Contexte vous remercie, Monsieur Littré ! Dans la première
définition, ou veut dire c'est-à-dire, et dans la
seconde il veut dire ou bien au contraire.) Je pense qu'il y a
toujours eu confusion.
A contrario, l'anglais eut utilisé la convention
2N : voici ce que dit
l'OED à ce sujet :
billion
(ˈbɪljən). [a. F. billion,
purposely formed in 16th c. to denote the second power of
a million (by
substituting bi-pref. for the initial
letters), trillion
and quadrillion being similarly formed to denote
its 3rd and 4th powers. The name appears not to have been adopted in
Eng. before the end of the 17th c.: see quot. from Locke.
Subsequently the application of the word was changed by French
arithmeticians, figures being divided in numeration into groups of
threes, instead of sixes, so that
F. billion, trillion,
denoted not the second and third powers of a million, but a thousand
millions and a thousand thousand millions. In the 19th century, the
U.S. adopted the French convention, but Britain retained the original
and etymological use (to which France reverted in 1948).]
Je ne sais pas ce qui a pu être décidé en
1948[#0] ou comment ça a pu se
passer, mais au moins ça a le mérite d'être clair : d'après
l'OED, la convention initiale
est la convention 2N, et elle date du 16e siècle
en France, puis a été adoptée en anglais au 17e siècle ; au
19e siècle la France est passée à la
convention N+1 (d'où les définitions données par Littré),
les États-Unis ont suivi, puis au 20e siècle la France est
revenue à la convention d'origine 2N. Bon, en fait, mon
édition de l'OED date des
années '80 (c'est la dernière édition imprimée), et j'imagine qu'une
édition plus récente signalerait que les Britanniques se sont
maintenant plus ou moins pliés à l'impérialisme américain
(donc N+1) et que billion désigne
maintenant vraiment un milliard même en Angleterre.
La confusion était déjà bien grande, et l'inventeur de la
convention N+1 (un Français, donc, si j'en crois la petite
remarque de l'OED) mériterait
d'être pendu haut et court s'il n'était pas déjà mort depuis bien
longtemps. Mais voilà qu'elle est rendue encore pire par l'apparition
d'une engeance qui tente sans cesse de nous faire sombrer plus bas
dans la nullité intellectuelle : les
journalistes. Les journalistes français reçoivent quantité
d'informations en anglais et, dès qu'ils voient un mot
comme trillion figurer dans l'original, ils ne se
font pas chier, ils traduisent par trillion. De toute façon,
ils ne savent pas compter, pour eux un trillion est quelque chose de
complètement incompréhensible, alors peu importe. On les entend donc
régulièrement dire, par exemple, que la dette des États-Unis est
de treize trillions de dollars (pour
traduire thirteen trillion), sans se rendre
compte de l'énormité du chiffre qu'ils
avancent[#]. Non, elle est de
treize billions de dollars, ça suffit largement, merci.
Certains ajoutent l'insulte à l'injure, pardon, ajoutent l'injure à la
blessure, en précisant qu'un trillion c'est un milliard de
milliards, ce qui est juste, mais ce qui n'est pas l'usage qu'ils
ont fait de ce mot. Tiens, je parie qu'il y a au moins un journaliste
français qui a été assez con pour prétendre qu'on
aurait calculé
pi à cinq trillions de chiffres (remarquez que déjà l'article que
je cite est en anglais censément britannique et utilise la
convention N+1).
Bref, c'est vraiment la confusion la plus complète.
Bon, eh bien j'ai une proposition simple pour éviter toute cette
confusion : ne plus utiliser ces mots.
Pour utiliser quoi à la place ? Une idée serait la notation
scientifique. Mais celle-ci souffre de ses propres problèmes :
d'abord, j'ai souligné que 1012 s'écrit aussi 1e12, donc il
y aura toujours des journalistes assez cons pour dire que
1012 c'est 10 suivi de douze zéros ou a contrario
pour lire 1e12 comme 1 puissance 12 ou ce genre de choses ;
ensuite, il y a quelque chose dans la façon dont fonctionne la mémoire
humaine qui fait qu'on retient plus facilement la mantisse que
l'exposant, alors que c'est l'exposant qui est le plus important, et
parfois il n'est pas si facile que ça de retrouver l'ordre de grandeur
à un facteur 10 près ; enfin, c'est pénible à lire de toute façon, et
c'est peu littéraire.
J'ai donc une autre solution : utilisons
les préfixes SI
comme si c'étaient des noms de nombres. On peut évidemment garder
mille et le million, et éventuellement en français le milliard, mais à
partir de là, disons sans hésiter : un téra (=1e12), un péta (=1e15),
un exa (=1e18) et un zetta (=1e21) ; voire, un yotta (=1e24), mais
cela prête à confusion pour d'autres raisons et de toute façon on a
rarement besoin de nombres aussi grands. Le téra (=1e12, un million
de millions) est de toute façon le plus important dans cette
histoire : c'est lui qui se dit en principe billion en français
et trillion en anglais, et qui cause le plus de
confusion parmi les choses qu'on rencontre vaguement. La dette des
États-Unis est de treize téra [de] dollars (ou treize
téradollars), un japonais vient de calculer cinq téra [de]
décimales de pi, le corps humain compte environ dix téra [de] cellules
humaines (et cent téra [de] cellules dans la flore intestinale), et ça
se dira exactement de la même façon en anglais. Et n'importe quelle
personne ayant un minimum de culture scientifique comprendra tout de
suite ce que cette convention signifie, sans avoir besoin d'être
informée à l'avance (quant aux autres, ils ne savent de toute façon
pas ce que billion veut dire, donc ils ne seront pas plus
embêtés).
Faites circuler le mème ! (Après tout, la façon dont les
journalistes utilisent ce genre de mots, c'est en reprenant ce que des
scientifiques leur disent. Donc s'il faut inséminer l'idée, c'est
bien chez des scientifiques — et j'imagine qu'il y en a qui
lisent mon blog.)
(Il faudra que je traduise cette entrée en anglais, puisque c'est
notamment par là que la confusion vient.)
[#0] Ajout : Il s'agirait
apparemment de la 9e Conférence générale des Poids et
Mesures, mais je ne trouve rien à ce sujet dans
les résolutions de cette
dernière. Par
ailleurs, cette
page en dit un peu plus sur la façon dont le bordel est apparu.
Mais elle prétend que l'usage de la convention 2N est
(re?)devenu légal en France par
le décret
61-501 du 3 mai 1961 (relatif aux unites de mesure et au controle
des instruments de mesure), et je ne vois rien dans ce décret qui
mentionne le nommage des grands nombres pas plus que dans les
résolutions de la 9e CGPM.
[#] Faut-il une preuve
de ce que j'avance ?
Chercher "trillions
de dollars" sur Google : toutes les réponses (sauf celles qui
dénoncent justement le phénomène dont je parle)
sont forcément des erreurs, parce qu'un vrai trillions de
dollars (1018, un milliard de milliards, un exa de dollars,
quoi) c'est tellement gigantesque que ça ne peut rien
désigner de correct.
Pourquoi la physique utilise-t-elle des mathématiques ?
Puisque
mes quelquesdernièresentrées
étaient décidément dans le mode « métaphysique et science », j'en fais
encore une :
La filosofia è scritta in questo grandissimo libro
che continuamente ci sta aperto innanzi a gli occhi (io dico
l'universo), ma non si può intendere se prima non s'impara a intender
la lingua, e conoscer i caratteri, ne' quali è scritto. Egli è
scritto in lingua matematica. (La philosophie [c'est-à-dire :
la physique] est écrite dans ce grand livre qui est continûment ouvert
à nos yeux (je veux dire l'univers), mais on ne peut le comprendre que
si d'abord on apprend à en comprendre la langue et à reconnaître les
caractères dans lesquels il est écrit. Il est écrit en langue
mathématique.) — Galileo Galilei, Il
Saggiatore (1623), chap. VI
Voilà encore une question qui me fascine : pourquoi la physique
fait-elle appel aux mathématiques ? Et les questions que cela
sous-entend : est-ce un fait profond sur notre Univers (comme Galilée
le suggère dans le passage que je cite ci-dessus), ou est-ce
simplement lié à la façon dont nous comprenons la physique ? Est-ce
un fait fondamental de la physique ou simplement lié à l'utilité des
mathématiques pour comprendre n'importe quel phénomène émergent ?
Pourquoi les autres sciences[#]
n'utilisent-elles pas autant les mathématiques, ou pas de la même
façon ou (pour reprendre la description un peu élitiste et
provocatrice que Hardy fait dans l'Apologie d'un
mathématicien) pas des mathématiques élégantes ?
Est-ce parce que ces sciences sont plus complexes que la physique,
trop pour être mathématisées ? Parce que nous ne les comprenons pas
assez bien ? (Dans la vision comtéenne, elles n'auraient pas encore
atteint le stade positiviste.) Ou parce qu'intrinsèquement elles ne
se plient pas autant à l'analyse mathématique ? Parce que ce ne sont
pas des sciences exactes ?
Et voici une question apparentée, et pas forcément plus facile :
pourquoi la physique n'utilise-t-elle qu'un petit sous-ensemble des
mathématiques, et celui-ci admet-il une description plus simple
que la partie des mathématiques à laquelle la physique fait
appel ?
Par exemple, la physique fait — au moins apparemment —
abondamment appel à la notion de nombre réel. Le monde qui
nous entoure a l'air de dépendre lourdement de la notion de nombre
réel. Même ma maman a une idée de ce qu'est un nombre réel : pour le
non-mathématicien, c'est un nombre à virgule, qui pourrait s'écrire en
théorie avec une précision aussi grande que voulue (et plus on ajoute
de décimales, plus on est précis). Toutes les grandeurs qui nous
entourent, les tailles des objets, les durées dans le temps, les
vitesses, les masses, les grandeurs électriques, etc., semblent
mesurées par des nombres réels.
Pourtant, mathématiquement, il existe plein d'autres sortes de
nombres sur lesquels on aurait pu imaginer a priori que la
physique reposât.
Les nombres p-adiques
semblent le candidat le plus évident : les
nombres p-adiques partagent beaucoup de propriétés en
commun avec les nombres réels, il y a de très importantes et élégantes
symétries entre eux (les nombres réels prenant essentiellement la
place des nombres ∞-adiques, et je n'utilise pas le
mot place
au hasard). Mais, pour autant que je sache, les
nombres p-adiques n'ont aucune application en physique
(malgré des tentatives
pour leur en donner, qui ressemblent plus à une volonté de les
rechercher à tout prix qu'à une théorie basée sur l'expérience). Non
seulement cela, mais même dans des sciences basées très indirectement
sur la physique, les nombres p-adiques ne jouent aucun rôle
alors que les nombres réels sont omniprésents : la somme d'argent
présente sur mon compte en banque est peut-être un rationnel (de
dénominateur divisant 100), mais il faut clairement le considérer
comme un nombre réel et non comme un p-adique quel que
soit p (par exemple, si c'était un 7-adique, il serait
presque pareil d'avoir 403536.07€ sur son compte que d'avoir
0€ ce qui, de toute évidence, n'est pas le cas). Bizarrement,
même l'informatique semble avoir très peu besoin de nombres 2-adiques
alors qu'elle est intrinsèquement binaire (et les calculs avec
débordements dans les nombres en représentation binaire sont
exactement des calculs approchés dans les entiers 2-adiques).
Je peux imaginer plusieurs raisons pour lesquelles les
nombres p-adiques ne semblent pas exister dans la nature,
dont au moins les suivantes :
C'est un fait de notre Univers : il ne faut pas chercher pourquoi,
c'est juste comme ça.
C'est un fait de notre Univers : il s'explique par un argument
anthropique (on peut imaginer des Univers basés sur
les p-adiques, mais ils ne peuvent jamais soutenir une
forme de vie ou de conscience).
C'est un fait mathématique : on ne peut pas construire de lois de
la physique raisonnables (en un sens qu'il faudrait définir) sur
les p-adiques.
C'est un fait lié à l'observation de notre Univers : il existe des
phénomènes décrits par des nombres p-adiques, mais on ne
peut pas les observer à notre échelle.
C'est un fait lié à notre situation dans l'Univers : il existe des
phénomènes décrits par des nombres p-adiques, mais
nous-mêmes « sommes » des phénomènes liés aux nombres réels, ce qui
nous interdit de « voir » les phénomènes p-adiques.
C'est un fait mathématique : les phénomènes fondamentaux de
l'Univers ne sont liés ni aux réels ni aux p-adiques (par
exemple, l'Univers pourrait être un énorme automate cellulaire à états
discrets), mais les nombres réels sont plus adaptés pour décrire les
phénomènes émergents liés à des lois de la physique fondamentales
inobservées.
C'est un fait lié à notre propre point de vue : les
nombres p-adiques seraient tout autant adaptés que les
nombres réels à décrire l'Univers, mais nous ne sommes pas habitués à
ce point de vue, qui nécessiterait de tout revoir autrement.
J'avoue avoir énormément de mal à imaginer à quoi pourrait
ressembler un univers où (disons) les 2-adiques joueraient un rôle
important (et ce n'est pas faute de bien comprendre ce qu'est un
nombre 2-adique, je pense). Il est donc aussi possible que la
question soit aussi stupide que de demander pourquoi je ne vois jamais
−42 moutons dans un pré, chose également difficile à imaginer.
Mais je préfère prendre le risque de poser des questions stupides que
celui de ne pas en poser d'intelligentes.
Les p-adiques ne sont qu'un exemple : pourquoi la
physique n'utilise-t-elle jamais de nombres ordinaux ? (D'ailleurs,
pour commencer, pourquoi les mathématiques en-dehors de la logique
n'utilisent-elles quasiment jamais de nombres ordinaux ?)
Utilise-t-elle E8
ou les tentatives de le voir
apparaître sont-elles du wishful thinking ? Je ne sais pas si la
physique gagne
à se
poser ce genre de questions, mais j'ai du mal à concevoir qu'on
puisse ne pas se les poser.
[#] Enfin, ce n'est pas
vrai : il y a une autre science qui utilise aussi lourdement les
mathématiques, c'est l'informatique. Mais il y a quelque chose à dire
sur le fait que si la physique est vraiment une branche à part car
elle étudie le monde matériel, l'informatique, elle, est finalement
une branche des mathématiques — celle que les mathématiciens
sont trop snobs pour reconnaître comme telle. — Comme le disait
éloquemment Dijkstra : Computer science is no more
about computers than astronomy is about telescopes.
Les mathématiques pourraient-elles être différentes ?
C'est l'exemple type de la question (archi-rabachée) sur laquelle
on ne fera pas de progrès, mais qui ne cesse de me fasciner : les
mathématiques sont-elles découvertes ou inventées ? — ou, pour
poser la question différemment (ou peut-être pour poser une autre
question plus provocatrice), les mathématiques pourraiennt-elles être
différentes ?
On peut certainement imaginer un Univers parallèle où les lois de
la physique sont différentes,
d'ailleurs des physiciens
apparemment tout à fait
sérieux le font (les
deux articles vers lesquels je viens de faire un lien ont
été vulgarisés
récemment de façon assez intéressante, c'est pour ça que je les ai
choisis, mais les exemples ne manquent pas). Mais les mathématiques ?
Peut-on imaginer un Univers où, sans aller jusqu'à demander que 2+2=5,
les mathématiques seraient subtilement différentes ? Si on peut
l'imaginer, peut-on imaginer communiquer avec un tel Univers ? (De
toute évidence, il y a un problème : si on fait une démonstration dans
notre Univers d'un fait mathématique vrai dans le nôtre et qu'on
l'envoie dans l'autre, faut-il croire
que la réalité cesse d'exister ?)
Pourrait-on imaginer que, demain, les mathématiques soient
différentes ? (Bon, ça, ça m'arrive
souvent : je me couche le soir en ayant démontré un théorème, et
le matin il n'est plus vrai.)
Avec des lunettes de logicien formaliste, on
pourrait dire : oui, des univers mathématiques alternatifs existent,
ça s'appelle
des modèles de
la théorie mathématique en train d'être considérée, et tout ce qui
n'est ni démontrable ni
réfutable, en
fait, est vrai dans certains univers et faux dans d'autres. Mais
c'est une fausse réponse : ce n'est pas de ça qu'on veut parler
— quand on pense aux mathématiques, on ne pense pas aux
conséquences d'un système d'axiome, et notamment quand on pense aux
entiers naturels on ne pense pas à toute implémentation
des axiomes de
Peano mais bien à quelque chose de plus précis que ça, que les
axiomes de Peano ne capturent
qu'imparfaitement.
La question de savoir dans quelle mesure ces entiers naturels sont
intriqués dans la structure de l'Univers physique est d'ailleurs très
subtile et très délicate, et liée à la question de l'existence de
l'infini (un commentateur de ce blog qui se reconnaîtra, pense par
exemple qu'ils ne le sont pas puisque l'entier
naturel Ackermann(100,100)
n'a apparemment pas d'existence physique) ; par exemple, on peut
imaginer des Univers basés sur des lois de physique semblables à
celles que nous croyons être les nôtres, mais construites à partir
d'un modèle non-standard de l'arithmétique de Peano et se demander
dans quelle mesure des êtres vivants dans un tel Univers pourraient se
rendre compte qu'ils ne sont pas dans le modèle standard [pas au
sens de la
physique] — c'est une question provocatrice et difficile.
Mais ce n'est pas vraiment de ça que je veux parler : même les modèles
des logiciens ont l'air de vivre dans une sorte de grand tout des
mathématiques (et, de fait, la théorie des modèles est une branche des
mathématiques, qui s'étudie avec des méthodes et outils des
mathématiques et qui utilise donc un Univers mathématique ambiant, qui
peut lui-même être un modèle d'une autre théorie puisqu'il est
habituel de regarder des modèles dans des modèles).
La pratique mathématique donne indubitablement l'impression qu'on
ne contrôle pas complètement ce qu'on fait : on peut être surpris par
ce qu'on trouve, émerveillé ou parfois frustré, l'impression produite
n'est pas du tout celle d'un architecte, d'un maçon ou d'un artiste
qui construit quelque chose, mais d'un aventurier
qui explore un terrain complexe, un
labyrinthe, un palais. Je crois
que la grande majorité des mathématiciens penchent plutôt pour la
solution les mathématiques sont découvertes, même si tous
n'adoptent pas un point de vue religieusement platoniste, loin de là.
Le fait que les mathématiciens le pensent ne signifie cependant pas
qu'ils aient raison : ils pourraient souffrir d'une
<anglicisme>délusion</anglicisme> collective (soit qu'elle
soit la conséquence de leur travail soit qu'elle soit un prérequis
pour devenir mathématicien). La question pourrait aussi très bien ne
pas avoir de sens, ou ne pas être tout d'un côté ou de l'autre : s'il
est impossible de dire que j'ai inventé les formes dans
les vidéos de l'ensemble de
Mandelbrot que j'ai faites, il est néanmoins vrai que je les
contrôlais un peu, puisque je savais comment choisir le point de zoom
pour obtenir tel ou tel type de forme. (Et à l'extrême, quand un
romancien écrit un roman, il ne fait que choisir un point dans
l'ensemble de toutes les suites finies de caractères Unicode, il
serait absurde de dire que le roman est découvert pour
autant.)
Parfois les mathématiques donnent l'impression de contenir des
« coïncidences » ; il y a
d'ailleurs des
objets mathématiques dont l'existence même a l'air de reposer sur
des coïncidences — soit des coïncidences qui donnent
l'impression
d'être complètement
fortuites et locales, soit une sorte de connexion bizarre entre
des objets mathématiques éloignés qui, si j'étais religieux, me
semblerait être la marque directe
de la main de
Dieu. Est-ce une impression complètement naïve qui ne fait que
montrer l'insuffisance de notre recul ? Sans doute.
On peut néanmoins se livrer à des expériences de pensée. La
première imagine une civilisation complètement indépendante de la
nôtre, par exemple extra-terrestre
(mais pas forcément : cela pourrait être la civilisation qui
apparaîtra sur Terre quand les poulpes seront devenus l'espèce
intelligente une fois que nous nous serons
détruits ). J'écris le
nombre 808017424794512875886459904961710757005754368000000000
(en binaire, disons, codé avec des bosses et des creux sur un objet
physique, pour rendre la chose aussi abstraite que possible), ou bien
j'écris un autre nombre, à peu près de la même taille et vaguement
aussi divisible, mais sans propriété remarquable (comme
808192228876161778520554895458069891466133504000000000). Je dépose
cet objet où la civilisation va le trouver, et j'observe ce qui se
passe. Bien sûr, très souvent il ne se passe rien (la civilisation
n'est pas intéressée par les mathématiques, ou ne décode pas l'objet).
Le test de pensée que je fais est : y a-t-il avec le « bon » nombre
une réaction plus souvent différente qu'avec n'importe que autre
nombre comparable mais non remarquable ? Si oui, je peux considérer
que notre civilisation a découvert un phénomène préexistant. Alors
que si tous les nombres provoquent des réactions comparables auprès
des civilisations extra-terrestres, c'était purement une invention
liée, d'une façon inexplicable, à notre cerveau ou à notre culture, ou
à je ne sais quoi.
Deuxième expérience de pensée. Je rencontre Dieu, qui se prétend
omnipotent. Je lui demande une preuve de son omnipotence (je sais, je
sais, οὐκ
ἐκπειράσεις
κύριον τὸν
θεόν σου) : je lance
un défi qui me semble un peu plus intéressant à relever que de me
donner des bijoux en caoutchouc qui brillent comme des vrais ou un
rameau de macaronis en fleurs : je veux qu'il fasse en sorte que si je
calcule les 1000000000 premières décimales de la racine carrée de 7 en
binaire (je choisis ça parce que probablement personne ne s'est amusé
à faire ce calcul pour l'instant) et que je les interprète comme une
chaîne d'octets (encodés en UTF-8), alors quelque part
dedans doit apparaître la phrase eh oui, j'ai relevé ton défi,
David, et comme tu peux le voir, je contrôle même les mathématiques,
et tu ne peux pas mettre en doute mon omnipotence (bien sûr, cette
chaîne était de tous temps présents dans les décimales de ce nombre,
mais personne ne l'a remarqué) (cette chaîne de caractères
apparaît « très probablement » quelque part dans les décimales de la
racine carrée de 7, mais il serait plus qu'un peu surprenant qu'elle
apparût dans les un milliard premières). Dieu peut-Il faire cela ?
(Sans tricher, bien sûr, c'est-à-dire sans faire faire juste l'erreur
de calcul qui va bien à mes ordinateurs pour me le faire croire.) Ou
est-Il limité à l'Univers
physique ? Ou qui, des mathématiques et de Dieu, est le plus
fort ? Je suis tenté de faire le calcul pour voir s'il a relevé mon
défi. (Je lui accorde des points de style si à la
place de la phrase demandée il a écrit le verset 7 du chapitre 4 de
l'évangile de Matthieu.)
On peut pousser plus loin cette dernière expérience de pensée et
imaginer un certain calcul qui, quand on le fait, permet
d'écrire dans les décimales de pi (à condition que personne
ne les ait jamais calculées ou écrites jusqu'à présent). Et
qu'ensuite les gens s'amusent à vandaliser les décimales de pi, à y
mettre des photos pornos. Mais je garde ça pour un fragment
littéraire gratuit ultérieur.
— Je vais essayer, mais ce n'est pas facile ! Alors,
postulat numéro 1 : il existe une identité de notre conscience, qui
est hors de ce monde.
— Ça part mal, pour ce qui est de l'approche
scientifique… Le fantasme du dualisme, depuis qu'il a quitté la
glande pinéale, on l'a cherché un peu partout, sans jamais le
trouver : aucune expérience ne laisse ne serait-ce qu'un commencement
de début de raison de penser que la conscience se loge ailleurs que
dans le cerveau, ou que les lois de la physique seraient différentes
dans celui-ci, ou qu'il existe une « âme », un ghost
in the machine.
— D'accord : je me suis mal exprimé. Il n'y a pas de fantôme
qui contrôle nos actions à travers notre cerveau, nous sommes d'accord
sur ce point. La thèse serait plutôt qu'il existe un fantôme qui
les observe, et qui observe ce monde à travers notre cerveau.
Une sorte d'aperception transcendentale qui relie notre expérience du
monde.
— Alors ce n'est pas un concept détectable ni vérifiable, et
c'est à peine s'il est définissable. Quel intérêt ?
— L'intérêt est de se demander pourquoi le monde est tel
qu'il est. Le fantôme n'est pas plus détectable que ne l'est le
lecteur d'un roman pour un personnage de ce dernier, mais il peut
pourtant faire des déductions à son sujet : si je suis un héros de
roman policier, je peux en déduire que mon lecteur aime probablement
les romans policiers.
— On doit pouvoir en déduire que ton lecteur aime la
philosophie absconse ! Ou plutôt, vu l'éclectisme de notre Univers,
qu'il aime tout et n'importe quoi, et si possible changer de sujet
sans raison, peut-être des fragments de littérature gratuite et
inutile. Toujours est-il que ce fantôme devrait passer au filtre du
rasoir d'Ockham : si nous ressentons une unité de la conscience, c'est
parce que le cerveau a besoin de cette illusion pour maintenir
l'intégrité de nos perceptions ou la cohérence de nos raisonnements,
ou, probablement, l'intériorisation de la préservation de soi, toutes
choses favorisées par l'évolution naturelle d'un être intelligent.
Pas besoin de faire intervenir le surnaturel.
— C'est une raison interne parfaitement valable, et nul doute
qu'elle soit vraie : le cerveau a été sélectionné pour être
conscient, parce que c'est soit une conséquence inévitable de la
représentation de soi, soit le moyen le plus simple pour l'atteindre.
Mais le fantôme que j'évoque ne pouvait percevoir le monde à travers
lui qu'à cette condition. Son rôle n'est pas d'expliquer pourquoi
nous sommes conscients mais de qui nous sommes conscients :
pourquoi le monde est tel qu'il est, pourquoi je suis qui je
suis. De tous les mondes possibles, mathématiquement possibles,
réalisant les contraintes des lois de la physique ou peut-être
d'autres lois de la physique, pourquoi est-ce celui-ci que nous
appelons « réalité » ? Et pourquoi ici
et maintenant ce que nous appelons le présent ?
— Je ne suis pas sûr que la question ait un sens. Dans la
mesure où elle en a un, je ne suis pas sûr qu'elle mérite une réponse,
et même si elle en mérite une, je ne suis pas sûr qu'elle
en admette une. Et même si elle a un sens, mérite et admet
une réponse, je ne suis pas sûr que la réponse aille plus profondément
ou soit plus intéressante que : L'Univers est tel qu'il est, et
c'est tout. À la rigueur, qu'on explique que l'Univers ne
pourrait pas être trop différent, sans quoi nous ne serions pas là
pour nous poser la question…
— Voilà ! c'est exactement ça. Il fallait
un Univers où existassent des êtres conscients pour que nos fantômes
pussent l'observer.
— Tu pousses plus loin que je ne l'ai dit, et quand bien même
j'admets tout cela, tu n'expliques toujours rien. Ces fantômes
eux-mêmes, on va se demander où ils vivent, ou pourquoi ou comment ils
sont conscients…
— C'est justement là que j'en viens à un nouveau postulat.
Le monde que nous observons, que j'ai comparé à un livre, mais qui
devrait plutôt être comparé à un programme dans un ordinateur (un
programme sans interaction, qui suit ses propres règles et où le
programmeur ne fait qu'observer ce qui se passe), est une expérience
menée depuis un monde supérieur. Nous sommes le résultat de cette
expérience : notre existence ou notre conscience en est le but, et
nous sommes à la fois les fantômes qui observons ce monde, et ce
qu'ils en voient.
— Ouhlà ! Très beau délire pour donner la réponse à la vie,
l'Univers, et tout le reste.
— Bon, tu me demandes de t'expliquer, je le fais. Tu veux
que je continue, oui ou non ?
— Pardon. C'est amusant, continue. Mais j'ai du mal à
imaginer qu'on puisse croire à quelque chose comme ça. L'Univers, une
sorte expérience de pensée de fantômes qui vivent dans un monde
supérieur ? Et puis quoi encore ? Je suppose qu'ils ont contrôlé
l'apparition de l'homme par intelligent
design ?
— Excuse-moi si je vais paraître direct, mais il y a des
millions de gens qui croient que le créateur de l'Univers se fait
manger par ses adorateurs sous l'apparence de petits morceaux de pain
circulaire : à moins de penser que c'est leur nombre qui leur donne
raison, je ne vois pas ce qu'il y a de ridicule à croire quelque chose
de métaphysiquement plus vague, et qui ne postule même pas l'existence
d'un Dieu. Non, les fantômes dont je parle ne contrôlent pas
l'évolution : ce serait plutôt qu'ils auraient cherché, à travers les
milliards de planètes dans un nombre incalculable d'Univers possibles,
celles qui leur convenaient. Il y a tout de même peut-être quelque
chose dans l'idée que Dieu a créé l'homme à Son image, mais ce serait
plutôt qu'il a choisi ou préféré celui qui Lui ressemble.
— Tu as prononcé le mot D***, je devrais dire que tu as
perdu. Mais continue : tout ceci ne fait-il que remonter le problème
d'un niveau ? D'ailleurs, si nous sommes ces fantômes-dieux, pourquoi
ne sommes-nous pas parfaitement conscients de tout cela ?
— Le problème est bien le même un niveau plus haut, c'est
là toute la beauté de la chose. Nous vivons dans le monde de
niveau zéro. Les fantômes qui nous observent et que nous sommes
vivent dans le monde de niveau un. Mais ce monde-là lui-même est
observé par des fantômes qui vivent dans le monde de niveau
deux… et ainsi de suite.
— …Ou comment repousser à l'infini la solution des
problèmes qu'on ne sait pas résoudre. À quoi ils ressemblent, ces
mondes empilés ?
— Ils ne ressemblent à rien. Ou plutôt, le monde de niveau
un nous est déjà incompréhensible parce qu'il est formé, justement,
d'une sorte de collection ou un enchaînement de mondes de niveau zéro.
Toute notre existence ici n'est qu'un minuscule fragment de notre
existence dans le monde d'au-dessus, qui lui-même, et ainsi de suite.
Voilà pourquoi nous ne sommes pas directement conscients des mondes
d'au-dessus.
— Je suis scié par un tel niveau de mysticisme… Je
suppose que tout ceci implique une croyance en une forme de
métempsycose ?
— C'est une description possible, mais il faudrait plutôt la
présenter comme une infinités de réveils successifs vers des mondes de
plus en plus riches et complexes.
— Des paradis emboîtés, donc ? Avec des jardins délicieux,
du nectar et de l'ambroisie ?
— De nouveau, tu te moques. Mais tu sais très bien que ce
n'est pas ça l'idée. Le niveau zéro est caractérisé par
la thèse de Church-Turing.
— La… thèse de Church-Turing ? Tu as trouvé une
interprétation religieuse de la thèse de Church-Turing ?
Dis-moi que c'est une blague !
— La thèse de Church-Turing exprime l'idée (qu'il est
peut-être abusif d'attribuer sous cette forme à Alonzo Church ou Alan
Turing) que tout calcul qui, dans cet Univers, peut être mené par un
moyen physique quelconque, est réalisable par une certaine abstraction
mathématique des calculs mécaniques et codifiée sous la forme de
machine de Turing, ou de lambda-calcul.
— Je sais bien. Quel rapport avec la philosophie mystique
dont on parlait ?
— Tout : la première chose qu'une machine de Turing (donc un
ordinateur de cet Univers physique) ne peut pas faire, c'est décider
du résultat du calcul d'une autre machine de Turing si celui-ci est
continué jusqu'à l'infini, à commencer par savoir si le calcul va
terminer, ce qu'on appelle le problème de l'arrêt. Le niveau un des
Univers transcende le niveau zéro exactement de la façon dont le
problème de l'arrêt transcende les machines de Turing : dans le monde
de niveau un, il est possible de connaître le résultat d'un calcul
infini dans un Univers tel que celui-ci, et cela est
possible justement en le menant puisque le monde de niveau un
est formé de mondes de niveau zéro. L'opération mathématique en
question porte le nom de saut de Turing.
— J'ai peur de deviner ce qui va suivre… L'infinité de
mondes dont tu parlais ne s'arrête pas là ?
— Précisément. Le saut de Turing peut être transfiniment
itéré. Le monde de niveau omega serait constitué de l'emboîtement de
tous les mondes de niveau 0, 1, 2, 3 et ainsi de suite, et il est,
techniquement, le monde dans lequel tout problème arithmétique devient
immédiatement décidable, mais la chaîne ne s'arrête pas là. Il existe
un monde omega plus un, puis omega plus deux, et après tout ceux-là un
omega fois deux, puis omega fois deux plus un… Après omega,
omega fois deux, omega fois trois et ainsi de suite vient omega
carré…
— Quousque tandem ?
— Au moins jusqu'à l'ordinal de Church-Kleene, qui permet de
décider toutes les questions hyperarithmétiques ; il s'agirait du
niveau à partir duquel on ne peut même plus décrire ou représenter la
numérotation des niveaux dans cet Univers-ci. Mais il n'y a pas de
raison de ne pas aller beaucoup plus loin : mathématiquement, on sait
que le saut de Turing se prolonge au moins jusqu'à l'ordinal de
l'analyse ramifiée, qui représente le monde auquel on obtient une
réponse à toute question d'analyse classique, et même jusqu'au plus
petit ordinal indénombrable dans l'univers constructible. Bon, j'ai
gagné mon pari, à ce stade-là ?
— Haut la main.
Finalement, j'aime bien ce mode d'écriture sous forme de dialogues
pour présenter des idées que je trouve amusantes ou provocatrices
(dialogue sur deux systèmes du monde ? à vous de décider qui est
Simplicio et qui est Salviati). Et puis j'aime bien
l'eschatologie. Quant au pari dont
il est question, on peut imaginer qu'il s'agisse d'inventer une
religion qui repose sur la science au lieu d'avoir du mal à ne pas la
contredire (même si sur ce
sujet-là j'en ai déjà dit
assez).
Si vous voulez en savoir plus sur la partie mathématique (qui n'a
rien de pipo, elle),
j'avais gribouillé
quelques explications sur la calculabilité supérieure il y a
quelque temps, et il y a l'excellent livre de Peter
Hinman, Recursion-Theoretic
Hierarchies (mais pour la description précise de
l'itération transfinie maximale du saut de Turing, il faut aller voir
dans des articles de recherche assez pointus, notamment les suivants :
George Boolos & Hilary Putnam, “Degrees of Unsolvability of
Constructible Sets of Integers”, J. Symbolic
Logic 33 (1968), 497–513 ; Carl G. Josckusch
Jr. & Stephen G. Simpson, “A Degree-Theoretic Definition of
the Ramified Analytical
Hierarchy”, Ann. Math. Logic 10 (1975),
1–32 ; Harold T. Hodes, “Jumping through the Transfinite:
the Master Code Hierarchy of Turing Degrees”, J. Symbolic
Logic 45 (1980), 204–220).
J'ai beau connaître
la théorie de
Galois depuis longtemps, et l'avoir enseignée pendant trois ans à
l'ENS, je continue à trouver ça assez magique. Il y a
quelque chose de vraiment difficile à admettre, intuitivement, dans le
fait que certaines équations ont des groupes de Galois plus petits que
ce qu'ils pourraient être : et même quand on connaît bien la théorie,
et qu'on sait calculer les groupes de Galois en pratique, on a
l'impression de ne pas vraiment avoir de réponse satisfaisante à la
question, mais pourquoi, au juste, cette équation
décide-t-elle de ne pas faire comme ses petites copines ? Ça
n'arrange pas, en plus, que la majorité des cours sur la théorie de
Galois vous laissent sans la moindre idée de comment au juste on peut
calculer un groupe de Galois en pratique (surtout quand il est
petit).
Je peux essayer d'illustrer ça par l'exemple du
polynôme f=x5−5x+12 (sur
ℚ), que j'ai commencé à utiliser comme exemple dans un texte
que j'écrivais aujourd'hui : qu'est-ce qui peut bien faire que ses
racines décident de ne pas être rigoureusement interchangeables comme
dans les équations les plus générales (car c'est ça que signifie le
fait d'avoir un groupe de Galois maximal — tout le groupe
symétrique sur les racines) ?
On peut en avoir une mesure expérimentale en
regardant ce qui se passe si on réduit ce polynôme modulo différents
nombres premiers p (c'est-à-dire qu'on le regarde comme un
polynôme à coefficients dans
𝔽p=ℤ/pℤ) et
qu'on cherche à le factoriser : modulo les 10000 premiers nombres
premiers, si on excepte p=2 (le polynôme f
devient x·(x+1)4) et p=5
(le polynôme devient (x+2)5) où le polynôme a
des facteurs multiples (ce sont les nombres premiers
dits ramifiés), il y a 4016 nombres premiers (7, 11, 13,
19, 23, 37…) modulo lesquels f est irréductible, il
y en a 5021 (3, 17, 29, 31, 43, 61…) tels qu'il se factorise en
un facteur linéaire et deux de degré 2 (par exemple, modulo 3, le
polynôme f
devient x·(x²+x+2)·(x²+2x+2)),
et enfin il y a 961 nombres premiers (127, 157, 197, 223, 251,
331…) tels que le polynôme f se décompose totalement
en cinq facteurs linéaires (par exemple, modulo 127, le
polynôme f devient
(x+19)·(x+65)·(x+81)·(x+93)·(x+123)).
Autrement dit, il y a en gros 40%, 50% et 10% des nombres premiers
modulo lesquels on a des degrés de factorisations 5, 1+2+2 et
1+1+1+1+1 respectivement ; et aucune autre factorisation ne se produit
(ou en tout cas, ne semble se produire si on regarde les petits
nombres premiers). On est censé trouver ça surprenant, parce qu'un
polynôme général de degré 5 (qui a pour groupe de Galois le groupe
symétrique 𝔖5, par
exemple x5−5x+11), il a ces
trois factorisations modulo p dans des proportions
respectives 20%, 12.5% et ~0.83%, mais surtout, il y a d'autres
factorisations possibles (1+4 modulo 25% des nombres premiers, 2+3 et
1+1+3 modulo ~16.7% chacun, et 1+1+1+2 dans ~8.3% des cas) : donc la
conséquence, ou la détection, expérimentale du petit groupe de Galois
de f=x5−5x+12, c'est
que sa réduction modulo p n'admet pas toutes les
factorisations possibles, ou avec des proportions inattendues pour
celles qui sont possibles (et notamment, le scindage complet en
facteurs linéaires a lieu beaucoup plus souvent que dans le cas
général). Le théorème qui sous-tend ces statistiques, c'est
le théorème
de Čebotarëv (qui implique que les proportions des
différentes partitions en degrés pour la factorisation des réductions
d'un polynôme sur ℚ sont, asymptotiquement, les proportions des
différentes répartitions en cycles des éléments de son groupe de
Galois agissant sur les racines) ; les proportions observées
pour f doivent faire soupçonner comme groupe de Galois le
groupe diédral
du pentagone, car on cherche un groupe de permutations sur 5 éléments,
dont le nombre d'éléments est multiple de 5 et approximativement 10
(l'inverse de la proportion de p modulo
lesquels f se décompose complètement), et qui a 40%
d'éléments sans points fixes et 50% d'éléments avec exactement un
point fixe. Mais tout ceci ne permet de conclure
qu'heuristiquement.
Comme f=x5−5x+12
est irréductible (par exemple parce qu'il l'est modulo 7), ses racines
sont au moins une fois interchangeables (=le groupe de Galois
opère transitivement dessus) : on peut appeler a une de ses
racines. On peut se fixer les idées en disant que a est
l'unique racine réelle (celle qui vaut environ −1.842085). Le
polynôme s'écrit alors
f=(x−a)·(x4+ax3+a2x2+a3x+a4−5).
Là où ce polynôme est surprenant, c'est que le second facteur se
décompose plus
loin : f=(x−a)·(x2+¼(−a4−a3−a2+3a+4)x+¼(−a4−a3−a2−5a+8))·(x2+¼(a4+a3+a2+a−4)x+½(−a3−a−2)). On peut vérifier cette expression en développant
patiemment le produit (et en utilisant de façon répétée le fait
que f(a)=0) ; la présence des deux facteurs
quadratiques garantit d'ores et déjà que f vu modulo
n'importe quel nombre premier p ne pourra jamais avoir de
factorisation dont les facteurs auraient degrés 1+1+3, par exemple
(i.e., deux facteurs linéaires et un de degré 3), et l'existence de
nombres premiers modulo lesquels ces facteurs quadratiques sont
irréductibles (3, par exemple) garantit qu'ils sont irréductibles tout
court. Mais ce n'est pas tout : on voit qu'une fois qu'on a choisi
(identifié, nommé, distingué) une racine a de f,
les quatre autres ne sont plus interchangeables — elles
viennent en deux paires différenciées, à savoir, celles qui
sont racines
de x2+¼(−a4−a3−a2+3a+4)x+¼(−a4−a3−a2−5a+8),
et celles qui sont racines
de x2+¼(a4+a3+a2+a−4)x+½(−a3−a−2).
Par exemple, dans les complexes, si j'ai
choisi a≈−1.842085, alors les racines du
premier facteur quadratique seront environ
1.272897+0.719799i et 1.272897−0.719799i,
que je voudrai noter respectivement a1
et a4 pour des raisons qui apparaîtront plus
tard, et les racines du second facteur quadratique seront environ
−0.351854+1.709561i et
−0.351854−1.709561i, que je voudrai
noter a2 et a3
respectivement.
Cette fois, on a bien prouvé les choses suivantes sur le groupe de
Galois : qu'il opère transitivement sur les 5 racines, et que le
sous-groupe fixant une racine a quelconque opère sur les 4
autres en les séparant en deux orbites de 2 éléments chacune. On peut
se convaincre en examinant toutes sortes de cas que le groupe diédral
du pentagone est le seul groupe de permutations sur cinq objets qui
réponde à ces conditions. On peut cependant être plus explicite : si
je note a0=a une des cinq racines
de f, et a1 une des deux racines
de x2+¼(−a4−a3−a2+3a+4)x+¼(−a4−a3−a2−5a+8),
alors en posant a2=[(a04−a03+a02−a0−4)a1+(−a04+a03−a02+a0−4)]/8, on peut vérifier (de nouveau, en développant de
façon fastidieuse, si on ne trouve pas mieux)
que a2 est aussi racine de f (et plus
précisément
de x2+¼(a4+a3+a2+a−4)x+½(−a3−a−2)) ;
et il en va de même
de a3=[(−a04+a03−a02+a0+4)a1+(−a04−3a03−a02−3a0+12)]/8 ; enfin, la dernière racine de f est
alors a4=−a1+¼(a04+a03+a02−3a0−4)
d'après l'équation vérifiée par a1 : ceci montre
qu'une fois choisies les racines a0 (une parmi
cinq) et a1 (une parmi deux), toutes les autres
sont complètement déterminées, donc le groupe de Galois a dix
éléments. Et avec ces conventions, si on permute cycliquement les
cinq
racines a0, a1, a2, a3, a4,
alors les mêmes relations sont satisfaite, de même que si,
à a0 fixé, on échange a1
et a4 et a2
et a3 : on s'est donc convaincu que le groupe de
Galois de f est le groupe diédral du pentagone, le
pentagone en question étant celui formé par
les aj (abstraitement, car dans
ℂ ce n'est pas du tout un pentagone régulier).
Pour résumer, donc, si j'essaie de jouer à bouger les racines
de f entre elles, je peux en mettre une première n'importe
où, je peux mettre une seconde parmi deux possibles (si les racines
étaient adjacentes sur le pentagone
abstrait a0, a1, a2, a3, a4,
elles doivent le rester), et une fois que c'est fait toutes les autres
tombent forcément en place.
Parmi les petites identités remarquables qui
tombent de la théorie de Galois, on peut remarquer que comme le groupe
diédral du pentagone a un sous-groupe d'indice 2 (les rotations du
pentagone), il doit y avoir une extension quadratique de ℚ dans
celle engendrée par les racines de f : c'est bien le cas,
et spécifiquement,
√−10=(a02+1)a1+¼(−a04+a03−a02+5a0+8)
est laissé invariant par les éléments du groupe de Galois qui
permutent cycliquement les cinq racines, et envoyé en son opposé par
les éléments qui laissent fixe une racine. Du coup, si on veut,
toutes les racines de f peuvent s'exprimer à partir d'une
seule racine a et de cette quantité √−10. On
pourrait aussi jouer à exprimer explicitement toutes les racines
de f avec des radicaux : on va dire que je laisse ça en
exercice au lecteur, qui pourra s'inspirer de l'exercice 5
de cette
feuille d'exercices. [Ajout :
voir cette entrée ultérieure où la
réponse est donnée.]
PS () : D'autres exemples de
groupes de Galois un peu rigolos qui ne soient ni trop petits ni trop
gros pour être
intéressants : x7−7x+3 (groupe
simple à 168 éléments,
PGL2(𝔽7)≅PGL3(𝔽2)) ; x8−16x+28
(groupe d'ordre 1344 extension du précédent par
(ℤ/2ℤ)3) ; x8−5x−5
(groupe d'ordre 1152 extension de (ℤ/2ℤ) par le produit
de deux copies de
𝔖4) ; x9−9x2+9x−10
(groupe d'ordre 1296 produit en couronne de 3 copies de
𝔖3 avec action de 𝔖3, i.e.,
stabilisateur d'un système de 3 blocs de 3).
Logicomix, et faut-il 350 pages pour prouver 1+1=2 ?
Bertrand Russell est un de mes
héros (ou quelque chose de ce genre), et comme je m'intéresse à
l'épistémologie des mathématiques, il
était logique que je sois au moins intrigué par l'idée d'une bande
dessinée dont le principal personnage est Bertrand Russell et
dont le thème est la quête des fondements des mathématiques. C'est
peut-être surprenant, mais cette BD existe (pour
l'instant seulement en anglais) : elle
s'appelle Logicomix ;
ses auteurs sont grecs, et l'un d'entre eux, Christos Papadimitriou
(enfin, Χριστος
Παπαδημητριου),
chercheur en informatique à Berkeley, m'était d'ailleurs connu comme
auteur de plusieurs bons ouvrages sur la théorie de la complexité
algorithmique : j'ai été assez étonné de le savoir co-scénariste de
cette BD. (Un autre des auteurs est connu pour un roman
intitulé Oncle Petros et la Conjecture de Goldbach dans
sa traduction française.) Bref, comme
un effet Zahir assez peu surprenant
fait que j'ai entendu parler plusieurs fois de Logicomix
(et en bien !) ces dernières semaines je l'ai achetée.
On aura compris que je la recommande, mais il faut que je précise
bien quelque chose : ce n'est pas une BD sur les
mathématiques, et ce n'est donc pas en tant que mathématicien que
je la recommande (d'ailleurs, en tant que mathématicien, j'ai plutôt
quelques reproches à lui faire). Je la recommanderais aussi bien à ma
maman, si ma maman aimait les BD. Il ne s'agit pas d'un
livre portant sur la logique, donc, mais sur l'histoire de la logique
ou plutôt, un chapitre particulier de l'histoire de la logique qui est
celui des fondements des mathématiques. Les héros s'appellent
Russell, Whitehead, Frege, Cantor, Hilbert, Poincaré, Wittgenstein et
Gödel : même si de très brefs passages sont employés à expliquer
sommairement une ou deux idées essentielles de logique, de
mathématiques ou — comme on se l'imagine avec l'apparition de
Wittgenstein dans la liste des personnages — de philosophie, ce
n'est pas du tout le propos. Le propos est plutôt d'expliquer ce qui
a motivé cette quête des fondements, comment Russell l'a
personnellement vécue, et en particulier comment les Principia
Mathematica ont été écrits (et le Tractatus
Logico-Philosophicus). La dimension humaine est essentielle,
par exemple sur l'opposition de Russell à la guerre ou la perte de sa
foi, mais surtout dans deux idées : la logique comme façon d'éviter la
folie, et la quête des fondements sous forme de mythe de Sisyphe avec
quoi les protagonistes n'en ont jamais fini. Ce n'est pas non plus
une biographie de Russell (ne serait-ce que parce que ça s'arrête,
comme ça commence, en fait, en 1939, donc son engagement contre la
guerre du Vietnam n'est pas mentionné). Et évidemment, on pourrait
redire des choses sur l'exactitude historique (notamment de la thèse
sur la folie des logiciens : par exemple, le fait que Cantor soit
devenu fou est d'une part un peu exagéré, et d'autre part sans rapport
avec son activité mathématique). Mais assez parlé de
la BD elle-même.
⁂ Les Principia
Mathematica sont peut-être bien le livre le plus
abscons[#] de l'univers. Non
seulement c'est de la logique formelle aride au possible, mais en plus
les notations ne sont plus du tout celles qu'on utilise de nos jours
(par exemple, l'ensemble vide — enfin, la classe vide —
est noté par un lambda majuscule, un système de points est utilisé là
où nous mettrions des parenthèses [ajout :
voir cette entrée ultérieure],
le et logique est aussi noté
par un point et l'implication par un symbole ⊃), sans même
compter les notations spécifiques de l'ouvrage, les abréviations
qu'ils utilisent pour « alléger » les démonstrations ou la
numérotation un peu déroutante ; et, évidemment, les fondements des
mathématiques ont évolué depuis cette première tentative. Que le
lecteur non-mathématicien s'imagine donc que la page reproduite
ci-contre (et on pourrait en trouver de bien pires) est aussi
imperméable à 99% des mathématiciens qu'elle l'est à lui. Il est
suggéré dans la BD (je ne sais pas si Russell a vraiment
émis cette opinion) que la seule personne qui ait lu le texte était
Kurt Gödel ; et, de fait, les Principia sont sans doute
autant célèbres pour le fait que c'est sur ce système que Gödel a
initialement fondé son théorème d'incomplétude que pour être la
première axiomatisation parfaitement rigoureuse de ce qui pourrait en
théorie englober l'ensemble des mathématiques.
Par contre, il est vrai que la proposition énoncée sous le numéro
*110·643 en haut de la page que je reproduis signifie bien ce qu'elle
semble signifier : 1+1=2 (et le commentaire qui suit la démonstration
est succulent : the above proposition is occasionally
useful). Cette proposition intervient à la page 83 du second
tome des Principia (dans la seconde édition),
sachant que le premier tome comporte lui-même quelque chose comme 680
pages[#2]. Cela a valu
aux Principia une renommée particulière, celle d'être le
livre qui prend énormément de pages pour montrer 1+1=2 ;
le énormément est parfois placé dans les 350, parce que la
proposition *54·43, qui dit essentiellement que si deux ensembles ont
chacun un élément et sont disjoints, alors leur union a deux éléments,
est située page 362 du premier tome — ou 360 ou 379 selon les
éditions — et suivie du commentaire : From this proposition
it will follow, when arithmetical addition has been defined, that
1+1=2.
Ceci a malheureusement donné naissance au mythe selon lequel, en
logique formelle, pour prouver quelque chose d'aussi évident que
1+1=2, il faut des centaines et des centaines de pages. C'est faux
pour plusieurs raisons. D'abord parce que Whitehead et Russell
n'avaient pas pour but d'arriver à cette proposition de la façon la
plus rapide possible (même dans leur système on aurait pu faire ça de
façon beaucoup plus économique). Ensuite, parce que leur système
semble impossiblement compliqué aux yeux d'un logicien mathématique
moderne[#3] :
il est vrai qu'on ne cherche plus tellement à produire des
systèmes qui fondent « toutes les mathématiques », mais même dans la
mesure où on en choisit un, on peut espérer que la démonstation de
1+1=2 ne sera pas immensément compliquée (s'agissant
de ZFC, le système orthodoxe pour fonder les
mathématiques, la difficulté sera surtout
d'écrire1+1=2, c'est-à-dire, de définir qui sont ce
‘1’, ce ‘2’ et ce ‘+’ qui
interviennent dans cette affirmation ; une fois cela fait, l'énoncé
devrait sans doute être assez évident). J'avais lu quelque part un
texte qui se voulait un peu sensationnaliste sur la longueur des
démonstrations en logique formelle (où il concluait qu'il faudrait des
quadrilliards de symboles pour démontrer le théorème des nombres
premiers ou je ne sais quoi de ce genre) ; mais j'avais fini par me
convaincre que l'auteur parlait probablement de démonstrations
dites sans
coupures (ce qui signifie, en très très gros, sans utiliser de
lemme ou proposition intermédiaire ou quoi que ce soit de ce genre,
mais en réécrivant à chaque fois la démonstration complète de ce qui
aurait tenu lieu de lemme) : s'il y a des moyens d'éliminer les
coupures dans une démonstration, ce moyen fait exploser la taille des
démonstrations, c'est même un fait essentiel de la logique, et
personne ne veut lire une démonstration sans coupures du théorème des
nombres premiers ou même de 1+1=2.
[#] D'accord, on peut
toujours trouver pire. Finnegan's Wake, par exemple ?
Alors, pour lancer un petit troll, disons que
les Principia sont peut-être bien le livre le plus
abscons parmi ceux qui ont un sens. (Plusieurs
trolls, d'ailleurs : sur le fait de savoir si Joyce écrivait du pur
charabia, et sur celui de savoir si de la logique peut avoir un sens
ou autres questions qui auraient irrité Wittgenstein.)
[#2] Enfin, la
proposition de loi sur la réforme du healthcare
aux États-Unis fait autour de 2000 pages : je ne sais pas ce qui est
le plus impressionnant, en fait.
[#3] La théorie
ramifiée des types de Russell est assez éloignée de la façon dont
on conçoit, de nos jours, les fondements des mathématiques (depuis que
Zermelo a convaincu tout le monde de l'opportunité d'une théorie
purement du premier ordre, avec une seule sorte d'objets — les
ensembles). Pour un point de vue moderne sur la théorie de Russell
(et son rapport avec les théories modernes),
voir ce
texte de Harvey
Friedman ; cet
article n'est pas mal non plus, pour remettre les choses dans le
contexte et expliquer ce qu'est l'axiome de réductibilité.
Mathematics may be defined as the subject in which
we never know what we are talking about, nor whether what we are
saying is true. (Les mathématiques peuvent être définies comme
la discipline dans laquelle on ne sait jamais de quoi on parle, ni si
ce qu'on dit est vrai.) — Bertrand Russell
(Recent Work on the Principles of
Mathematics)
Je vais peut-être décevoir (ou au contraire rassurer ?) mon lecteur
en avouant que je n'ai aucune intention d'essayer de répondre à la
question qui sert de titre à cette entrée ; je vais tout au plus
essayer de vulgariser un élément de réponse à une minuscule partie de
cette question (ou d'une question proche), sur laquelle on peut dire
des choses « techniquement » (c'est-à-dire : logiquement) précises.
C'est déjà tout un programme.
[Ajout : cette
entrée ultérieure évoque vaguement les mêmes questions, mais sous
un angle différent ; je ne sais pas dans quel ordre il vaut mieux les
lire.]
La plupart des mathématiciens (et même si ce n'est pas vraiment mon
avis, je dois reconnaître qu'il est très répandu) conviendront que
l'activité d'un mathématicien est de produire des théorèmes
et des démonstrations. Par opposition, disons, aux
définitions, exemples ou conjectures, qui forment certainement aussi
une partie importante de l'activité en question, mais à laquelle
l'opinion dont je parle attribue moins d'importance ou de dignité.
Une démonstration est un argument logique plus ou moins
formel qui suit certaines règles codifiées pour partir d'axiomes ou
d'hypothèses et arriver à une conclusion : un énoncé qui est la
conclusion d'une démonstration (connue !) est un théorème
(ou une proposition, un lemme, un corollaire, selon sa difficulté, son
importance et sa relation logique ou didactique à d'autres énoncés du
sujet en cours de développement). Les règles du raisonnement, un peu
comme celles des scolastiques d'autrefois (barbara,
celarent, darii, ferio), sont supposées assez évidentes pour qu'on
doute assez peu qu'elles préservent la vérité lorsqu'elles sont
correctement appliquées : si les hypothèses de la démonstration
sont vraies alors la conclusion l'est aussi ; donc, tout
théorème produit à partir d'axiomes vrais est également vrai.
Mais quels sont les axiomes ? Un certain consensus, apparu au
cours du XXe siècle, et maintenant assez fermement enraciné
dans, disons, le dogme officiel des mathématiques, est que les axiomes
qui fondent les mathématiques sont ceux de
la théorie
des ensembles de Zermelo-Fraenkel (en
abrégé ZFC : le ‘C’ précise l'inclusion de
l'axiome du choix, qui n'est pas du tout ce dont j'ai envie de parler
à présent), les règles de raisonnement étant celles de
la logique
du premier ordre. Autrement dit, sauf mention explicite du
contraire, ce qu'un mathématicien appelle théorème est un
théorème de ZFC, et sa démonstration pourrait être rendue
complètement formelle (une manipulation syntaxique fondée sur des
règles de réécritures à partir des axiomes de ZFC pour
arriver à ce théorème comme conclusion). C'est du moins le dogme
officiel parce que, dans la pratique, beaucoup de mathématiciens non
logiciens seraient probablement incapables de citer les axiomes
de ZFC (ou de d'expliciter les règles de raisonnement de
façon formelle et automatique) ; et la tâche d'expliciter complètement
la démonstration de n'importe quel théorème modérément compliqué à
partir des axiomes fondamentaux et en suivant les règles mécaniques
est au mieux titanesque (même si les progrès de
la vérification
formelle ont montré qu'on pouvait arriver à des choses). Mais le
dogme a le bon goût d'éviter des discussions sur les fondements des
mathématiques que beaucoup de mathématiciens trouvent oiseuses ; il
asseoit les mathématiques sur des bases solides et non dénuées
d'élégance (et où, par exemple, la notion d'infini n'a plus rien de
mystérieux ou de précaire) :
Aus dem Paradies, das Cantor uns geschaffen, soll
uns niemand vertreiben können. (Du paradis que Cantor nous a
créé, nul ne doit nous chasser.) — David Hilbert
(Über das Unendliche)
Quelques illustrations pour rendre plus claire
mon entrée précédente : dans chacun
des diagrammes suivants, on a 12 sièges à répartir à la
proportionnelle entre 3 listes ; le triangle représente les
différentes proportions de voix possibles entre ces trois listes (les
sommets représentent l'unanimité pour une des listes et 0 voix pour
les deux autres, les côtés du triangle représentent les répartitions
où une liste a 0 voix, et plus généralement les nombre de voix
recueillies par les trois listes sont proportionnels aux distances aux
trois côtés). Les (centres des) 78 gros points de couleur claire
marquent les endroits où on a une représentation proportionnelle
exacte (par exemple, le point jaune au milieu de la 3e ligne de points
en partant du haut — celle qui a trois points — représente
une répartition où une liste a exactement 10/12=5/6 des voix et les
deux autres chacune 1/12 ; tandis que le point blanc au centre exact
du triangle représente la répartition où chaque liste a exactement
4/12=1/3 des voix). Enfin, les régions de couleur qui divisent le
triangle représentent chacun une configuration possible des sièges
dans l'assemblée : la région marque donc l'ensemble des répartition de
votes pour lesquelles le mode de scrutin considéré attribue cette
configuration des sièges à l'assemblée. Par exemple, la région
jaunâtre vers le sommet supérieur du triangle (celle qui contient le
point jaune précédemment mentionné) représente les répartitions
possibles des voix pour lesquelles le mode de scrutin représenté
attribuera 10 sièges sur 12 à une liste et 1 siège à chacune des deux
autres. Comme a priori on veut que la représentation proportionnelle
donne à l'assemblée le nombre de sièges entiers exact évident si les
voix sont dans des proportions exactes en 12e, évidemment, chaque
région contient un et exactement un des points marqués (les exceptions
étant si on ne permet pas à une liste d'obtenir zéro sièges, dans la
méthode de Huntington-Hill).
Dans le cas de la méthode du plus fort reste de
Hare-Niemeyer/Hamilton, les régions sont de bêtes hexagones réguliers,
centrés sur les points de représentation exacte, chaque répartition de
votes étant envoyée sur la configuration de l'assemblée correspondant
au point de représentation exacte métriquement le plus proche (ou, si
l'on veut, il s'agit
du diagramme de
Voronoï des points de représentation exacte). C'est pour cette
raison que la méthode est assez naturelle et intuitive. Notons que
les hexagones au bord du triangle sont tronqués (ils n'ont donc pas la
même aire que les autres) : si on tire uniformément au hasard la
répartition des votes, on a moins de chances de tomber sur une
situation où la configuration de l'assemblée ne donnera aucun siège à
une liste que pour les autres configurations.
Si on a N sièges d'une assemblée à répartir de façon
proportionnelle entre r listes qui ont obtenu des
proportions p1,…,pr
des suffrages exprimées dans une élection, il y a plusieurs façons de
procéder. (Je parle de sièges à répartir entre des listes dans une
élection, mais c'est un problème tout à fait général : on peut vouloir
attribuer n'importe quoi de non fractionnable entre n'importe quelle
sorte d'entités de façon proportionnelle à n'importe quelles
grandeurs pi.) Évidemment,
lorsque N a le bon goût d'être un diviseur commun
de p1,…,pr
(c'est-à-dire que
chaque N·pi soit un
entier), les choses sont faciles : on
attribue N·pi sièges à la
liste i, et c'est tout (ensuite, il y a éventuellement la
question de savoir quels sièges on attribue ou à qui
sur la liste, mais je ne veux pas parler de ça ici : normalement les
sièges sont interchangeables et on choisit juste les premiers de la
liste). Évidemment, cette coïncidence numérique n'arrive jamais. On
peut au moins commencer par attribuer à chaque liste la partie entière
(c'est-à-dire, l'arrondi à l'inférieur, noté :)
⌊N·pi⌋, du
nombre en question, mais il reste ensuite des sièges à répartir.
Comment fait-on pour choisir à qui les donner ? Il y a différentes
méthodes pour ça, qui ont des propriétés mathématiques et/ou
politiques différentes, et qui sont employées dans divers contextes.
(Je ne m'intéresse ici qu'aux situations où on répartit effectivement
les sièges de façon proportionnelle : s'il y a, par exemple, une prime
à la majorité, alors je parle des sièges en plus de cette
prime — j'en avais déjà parlé
dans le cas des municipales. De même, je fais abstraction des règles
qui imposent une barrière minimale pour être représenté à la
proportionnel : s'il y en a on suppose qu'on ne considère que les
listes qui ont dépassé cette barrière.)
Ajout : voir
l'entrée suivante pour une
illustration graphique des différentes méthodes décrites
ci-dessous.
Méthodes de plus fort reste
La méthode la plus naïve est
celle du plus
fort reste (ou plus exactement, une de celles de ce type),
parfois plus précisément appelée méthode de Hare-Niemeyer ou de
Hamilton : une fois attribuées les parties entières
⌊N·pi⌋, on
compare les parties
fractionnaires N·pi−⌊N·pi⌋,
c'est-à-dire en quelque sorte les surplus de voix (les restes)
par rapport au nombre nécessaire pour avoir le nombre de sièges qu'on
vient d'attribuer, et on attribue un siège supplémentaire (jamais
plus) aux listes ayant le plus fort reste, jusqu'à avoir attribué tous
les sièges restants. Cette méthode peut sembler intuitive, et c'est
celle qu'on invente généralement quand on veut faire une répartition à
la proportionnelle et qu'on n'est pas matheux ; mais elle souffre d'un
grave défaut : elle n'est pas monotone — il se peut très bien
qu'en augmentant le nombre N de sièges
disponibles, à proportions pi
constantes, on diminue le nombre de sièges obtenu par telle
ou telle liste. C'est le
fameux Alabama paradox, découvert en 1880 parce que les
Américains utilisaient cette méthode pour attribuer le nombre de
sièges à la chambre des Représentants entre les états de l'Union
proportionnellement à la population de ces états : on s'est aperçu que
si le nombre de représentants au total passait de 299 à 300, alors
l'Alabama en obtenait un de moins. À cause de ce paradoxe, ou parce
qu'elle a tendance à trop favoriser les petites listes, cette méthode
du plus fort reste est assez peu utilisée en pratique (elle sert
cependant en Russie, par exemple).
Comment un mathématicien ouvre une infinité de boîtes
Les remarques faites en commentaire sur
mon entrée récente me semblent
mériter quelques précisions d'ordre mathématique, auxquelles je vais
consacrer cette entrée. Les deux parties suivantes, et même leurs
différentes sous-parties, sont indépendantes (et au moins formellement
indépendantes de l'entrée précédente). Vue la longueur de ce post, ce
n'est pas une mauvaise chose, d'ailleurs.
Sur la calculabilité, et l'utilisation de l'axiome du choix
Plutôt que discuter sur le problème d'origine, je vais utiliser
celui-ci, qui est légèrement plus simple :
Le cruel Docteur No a capturé une infinité dénombrable de
mathématiciens pour les soumettre à une épreuve pernicieuse. Il a
créé des chapeaux de plusieurs couleurs différentes. Après avoir
permis aux mathématiciens de se concerter, il va les soumettre à son
épreuve dont il leur communique les termes : il empêchera toute
communication entre eux, puis rangera les mathématiciens en file
indienne dans un certain ordre (indexé par les entiers naturels), et
mettra sur la tête de chacun un chapeau d'une certaine couleur (les
couleurs possibles sont connues à l'avance), de sorte que chaque
mathématicien puisse voir les couleurs des chapeaux de tous ceux
situés devant lui (une infinité), mais pas de ceux (en nombre fini)
situés derrière lui ni du sien propre. Chaque mathématicien devra
noter sur un papier (et toujours sans aucune communication avec les
autres) ce qu'il croit être la couleur de son chapeau. Le Docteur No
tolérera un nombre fini d'erreurs, mais pas plus : si une infinité de
mathématiciens s'est trompée en annonçant la couleur de leur chapeau,
tous seront tués avec des tortures particulièrement raffinées —
à l'inverse, si tous sauf un nombre fini avaient raison, ils seront
tous libérés. Comment les mathématiciens se tirent-ils de ce mauvais
pas (de façon certaine) ?
De façon mathématique, on demande de construire une
fonction φ:Xℕ→Xℕ
(où X est l'ensemble des couleurs et ℕ l'ensemble
des naturels) qui à une suite de couleurs de chapeau associe la suite
des réponses des mathématiciens, telle que si u
et v ne diffèrent que sur les n premiers termes
alors φ(u) et φ(v)
ne diffèrent que sur les n−1 premiers termes (car,
pour tout n, seuls les n−1 premiers
mathématiciens peuvent pas voir certains des n premiers
chapeaux), et telle que pour tout u les suites u
et φ(u) coïncident sauf en un nombre fini de
termes (seuls un nombre fini des mathématiciens a le droit d'avoir
tort). Dispensons-nous des généralités vaseuses et mettons
que X={0,1} (il n'y a que deux couleurs de chapeau : noir
et blanc).
Peut-on avoir une stratégie calculable ?
Supposons un instant que nos mathématiciens soient, en fait, des
informaticiens : ils ne peuvent calculer que les fonctions calculables
effectivement par une machine de Turing ; plus exactement, il doit
exister une machine de Turing T qui, quand on l'exécute en
lui fournissant un entier naturel n et un
oracle u (dont elle peut interroger librement les valeurs
mais seulement celles qui sont au moins égales à n+1) doit
terminer et renvoyer φ(u)(n).
(On souligne qu'une machine de Turing ne peut évidemment, au cours de
son exécution, interroger qu'un nombre fini de valeurs de l'oracle.)
Or, dans ces conditions, les informaticiens ne peuvent pas être
certains d'être libérés : en effet, si le Docteur No a
connaissance[#] de la machine de
Turing T qui sera utilisée par les informaticiens, il peut
lancer l'exécution de T sur le
nombre n0=0 en fixant arbitrairement la valeur
de u(k) lorsque la machine T
interroge l'oracle en k (forcément différent de 0 par
hypothèse), puis choisir une couleur de chapeau u(0) pour
l'informaticien 0 qui soit différente de la valeur retournée
par T pour ce calcul (qui se fait en temps fini
puisque T est censée toujours terminer) ; puis il lance
l'exécution de T sur le premier
nombre n1 pour lequel la valeur de u
n'a pas encore été fixée, et de nouveau, à chaque fois que la
machine T interroge l'oracle sur une valeur non encore
déterminée de u, elle est fixée arbitrairement, et à la
fin u(n1) est choisi différent du
nombre renvoyé par T. Et ainsi de suite : alors les
informaticiens n0, n1, n2,
etc., se tromperont tous, donc le Docteur No aura réussi son plan
diabolique.
Dans l'esprit des énigmes de
combinatoire cybernétique que j'avais déjà posées, celle-ci est
particulièrement étrange et étonnante (je la décris donc de façon très
détaillée et verbeuse, pour qu'il n'y ait aucun doute sur les termes
de l'épreuve) :
Le cruel Docteur No a capturé 100 mathématiciens pour les soumettre
à une épreuve démoniaque. Il dispose dans une pièce de son bateau
d'une infinité (dénombrable) de boîtes, étiquetées par les entiers
naturels (0,1,2,3,…), contenant chacune un nombre (disons un
nombre réel pour fixer les idées, même si des naturels marcheraient
tout aussi bien : en tout cas, il n'y a aucune contrainte sur la suite
de nombres ainsi formée) ; il est évidemment impossible de connaître
le contenu d'une boîte sans l'ouvrir. Après avoir permis aux
mathématiciens de se concerter, il va les soumettre à son épreuve dont
il leur communique les termes : il empêchera toute communication entre
eux et les emmènera chacun, dans un certain ordre, dans la pièce où se
trouvent les boîtes.
Lorsqu'un mathématicien est dans la pièce, il pourra ouvrir les
boîtes qu'il souhaite pour en examiner le contenu, y compris une
infinité d'entre elles (en fonction éventuellement des nombres lus
dans les boîtes déjà ouvertes) ; il devra cependant laisser au moins
une boîte sans l'ouvrir, et faire une prédiction sur le contenu
exact d'une boîte qu'il n'aura pas ouverte. (Entre les passages de
deux mathématiciens, les boîtes sont bien sûr refermées, puisque les
mathématiciens ne doivent disposer d'aucun moyen de communication ;
ou, si on préfère, on peut imaginer qu'il y a 100 pièces différentes
contenant chacune une copie identique de la même suite de nombres, et
que tous les passages ont lieu simultanément : c'est équivalent.)
Au final, les 100 mathématiciens auront chacun fait une prédiction
sur le contenu d'une boîte sans en avoir regardé le contenu. (Les
mathématiciens ont le droit de faire des prédictions sur des boîtes
différentes les uns des autres, ou sur la même.) Le Docteur No
tolérera une seule erreur parmi ces prédictions : si au moins
99 des 100 mathématiciens ont donné exactement le bon nombre pour la
boîte qu'ils ont désignée, alors le Docteur No les libérera tous. Si
deux mathématiciens ou plus se sont trompés, alors le Docteur No tuera
tous les mathématiciens avec ses tortures particulièrement
raffinées.
Comment les mathématiciens font-ils pour être certains d'être tous
libérés ?
La raison pour laquelle l'énigme semble (si on essaie d'y
réfléchir) impossible à résoudre, c'est bien sûr qu'ouvrir des boîtes
autres que celle sur laquelle on va faire la prédiction n'apporte
aucune information sur cette dernière (puisque le Docteur No a le
droit d'avoir rempli les boîtes absolumnet comme il le veut !), et on
ne voit pas ce que peut apporter le fait qu'il y ait 100
mathématiciens, puisqu'ils ne communiquent pas du tout entre eux ;
certes, on a droit à une erreur, mais on voit mal comment exploiter ce
droit.
Je vais donc donner trois indications (cachées ci-dessous : cliquez
sur les liens qui suivent pour les
dévoiler) : la
première est mathématique et devrait clarifier ce qu'on s'autorise
à faire d'une infinité de
nombres. La
seconde indication est une nouvelle énigme, beaucoup plus simple
(mais qui peut éventuellement être intéressante en elle-même,
notamment pour les gens qui n'aiment pas les infinis), censée
démystifier comment utiliser le droit à faire une erreur. Les deux
ensemble devraient rendre claire la façon dont on peut prédire quelque
chose sur une boîte sans l'avoir ouverte. (Attention cependant, il
est possible que ma seconde indication, prise seule, mette sur une
fausse piste.)
Enfin, la
troisième indication propose le mode opératoire. Les trois
indications mises ensemble devraient rendre la solution assez
évidente. Au lecteur de choisir quelle(s) indication(s) il souhaite
ouvrir pour en lire le contenu !
Première indication :
On peut considérer la relation d'équivalence ∼ sur les suites de
nombres qui est définie en convenant que u∼v
lorsque les suites u et v coïncident après un
nombre fini de termes : si on appelle C un ensemble qui
contient un représentant et un seul de chaque classe d'équivalence (un
tel ensemble existe grâce à l'axiome du choix, auquel nos
mathématiciens n'hésitent pas à avoir recours !), alors par définition
toute suite de nombres u coïncide, à partir d'un certain
rang n, avec un unique élément v de C
— donc si on connaît les éléments de u à partir
de N≥n, on peut se servir de C
pour « prédire » les éléments entre n et N.
Deuxième indication :
Dans une variante plus facile de l'énigme, le Docteur No a non plus
une infinité de boîtes, mais seulement 100 (autant que de
mathématiciens), chaque mathématicien pourra toujours en ouvrir autant
qu'il le souhaite mais devra en laisser (au moins) une fermée, et on
demande non plus aux mathématiciens de prédire le contenu exact d'une
boîte non ouverte mais seulement de le majorer, c'est-à-dire, de dire
qu'il sera inférieur à tant (et, de nouveau, les mathématiciens ont
collectivement droit à une unique erreur). Comment les mathématiciens
font-ils pour faire des majorations toutes correctes sauf au plus
une ?
Troisième indication :
On peut diviser la suite infinie de boîtes en 100 suites infinies de
boîtes, chaque mathématicien peut ouvrir la totalité des boîtes de 99
de ces 100 suites pour les examiner, puis enfin toutes les boîtes de
la dernière suite sauf un nombre fini judicieusement choisi d'après
l'observation des autres suites.
[Ajout : voir
une entrée ultérieure pour des
éclaircissements sur le sens des règles.]
[Ajout ultérieur
() : cette vidéo de vulgarisation présente, de façon
assez claire pour le grand public, l'énigme ci-dessus avec sa
solution. ❧ Par ailleurs,
un effort
pour en retrouver la source la fait remonter à Christophe Chalons
(la première occurrence publique
semble ici),
qui l'a racontée à son directeur de thèse Boban Velickovic, lequel l'a
ensuite utilisé comme sujet d'un examen de logique à Jussieu, qu'ont
passé des normaliens que je connaissais et qui me l'ont racontée.]
[Ajout ultérieur () : Le
livre de Christopher S. Hardin et Alan
D. Taylor, The Mathematics of Coordinated
Inference: A Study of Generalized Hat Problems (2013) semble
pertinent à citer ici (je ne sais pas s'il discute exactement le
problème évoqué ci-dessus, mais il discute ce genre de
problèmes de manière très systématique).]
J'avais déjà proposé
(deux fois) des petits jeux comme
ça : celui qui se trouve en
bas de cette entrée
(cliquez ici s'il
n'apparaît pas bien ci-dessous, et maudissez avec moi la
norme HTML qui ne permet pas d'inclure un document dans
un autre en l'insérant à sa taille naturelle) est donc ma troisième
tentative, et j'en suis un peu plus content parce que, contrairement
aux deux précédents qui étaient sérieusement trop durs, je crois qu'il
est vraiment jouable (et construit de façon un peu moins ad
hoc). Par contre, je ne suis pas du tout content de l'interface,
comme je vais l'expliquer.
Le but du jeu, donc, est de mélanger les nombres de 1 à 24 puis
d'arriver à les remettre dans l'ordre évident dans lequel ils sont
présentés initialement. La commande ¿ (un point
d'interrogation à l'envers, ne me demandez pas pourquoi) mélange
complètement le taquin, et la commande † (une
croix) le réinitialise à sa position de départ ; quant
à ¡ (un point d'exclamation à l'envers), elle
effectue un mélange partiel, que j'appelle un m12lange pour une raison
que je vais expliquer, qui n'échange pas de nombres entre les deux
moitiés (dodécades), et qui peut donc servir de puzzle plus
simple pour s'entraîner avant de passer au problème complet. Bref,
votre mission est de mélanger — ou au moins de m12langer —
le puzzle, puis d'arriver à le remettre dans son état initial en
n'utilisant que les commandes de mouvement que je vais expliquer (mais
peut-être que le mieux est d'expérimenter avec plutôt que de lire les
instructions). Avant que quelqu'un n'exprime sa déception à ce
sujet : non, il n'y a pas de message de félicitation quand on arrive à
remettre le puzzle en ordre.
Expliquons donc quels sont les mouvements autorisés. Tout d'abord,
les nombres sont placés en deux tableaux de 3 lignes × 4 colonnes
(qu'on pourrait appeler dodécades), le tableau d'en haut
contenant initialement les nombres de 1 à 12 et celui d'en bas de 13 à
24. Parmi les mouvements possibles, on peut faire n'importe quelle
permutation des trois lignes d'un tableau, à condition de faire la
même sur l'autre tableau : pour concrétiser ça, j'ai mis des
commandes ↓ et ↑, qui permutent
cycliquement les trois lignes de chaque tableau,
et ↕ qui échange les deux lignes d'en bas de
chaque tableau : avec ça, on arrive assez facilement à faire n'importe
quelle permutation des lignes (la même sur les deux tableaux). Pour
ce qui est des colonnes, on à le droit à ce qu'on appelle une
permutation paire
(toujours la même sur les deux tableaux) : concrètement, j'autorise à
faire une permutation cyclique des trois colonnes de gauche, ou des
trois colonnes de droite, avec les commandes ←
et → situées de part et d'autre du losange central
— celles à gauche permutent cycliquement les trois colonnes de
gauche et celles à droite les trois colonnes de droite. Ensuite, on a
l'opération la plus importante, le flip de Mathieu,
commandée par le losange ◊ : elle échange huit paires
de nombres (quatre en haut et quatre en bas, mais pas organisées de la
même façon), rappelées par des couleurs sur les cases en question
— le contenu de chaque case coloriée est échangé avec celui de
la case de même couleur. (Chaque paire est composée de deux cases
adjacentes en diagonale — du moins, pour le tableau du bas, si
on regarde les colonnes cycliquement.)
La trace de la matrice
générique[#] d×d
nilpotente d'ordre n est elle-même nilpotente
d'ordre d·n−d+1.
(C'est-à-dire : le plus petit k tel que sur n'importe
quel anneau (commutatif) A, si t est la trace
d'une matrice d×d nilpotente
d'ordre n alors t est elle-même nilpotente
d'ordre k, ce plus petit k vaut
exactement[#2] d·n−d+1.)
Ça ne vous fait peut-être pas des masses d'effet, mais moralement,
une affirmation comme ça ne devrait pas être difficile à
démontrer (sur un corps, le fait qu'une matrice nilpotente soit de
trace nulle, c'est de niveau math. sup.). Il devrait juste s'agir de
développer
(x1,1+⋯+xd,d)k,
réorganiser les termes pour faire apparaître
des xi,j de façon à mettre
en évidence les entrées de la matrice puissance n-ième, et
conclure que pour k assez grand tout s'annule. Eh bien
non, bizarrement, il semble qu'on ne sache pas faire comme ça (en tout
cas, moi, je ne sais certainement pas), pour n
et d quelconques.
Il semble
que Bernard
Mourrain ait une démonstration (les deux endroits où j'ai trouvé
une référence à ce problème, ce Monsieur était nommément cité comme
ayant expliqué la solution), et que ça utilise des
bases SAGBI (Subalgebra Analog of
Gröbner Bases for Ideals), je n'en sais pas plus : mais c'est
scandaleux que quelque chose comme ça ne soit pas plus facile.
Où est-ce qu'on envoie les pétitions pour réformer les
mathématiques ?
[#] Précision
() : Le terme générique n'est sans doute
pas approprié : il faudrait plutôt dire universel, en fait.
(La matrice universelle d×d nilpotente
d'ordre n, c'est celle dont les d² entrées sont
les images des indéterminées de l'anneau des polynômes à d²
variables dans son quotient A par les relations algébriques
qui expriment le fait que la matrice puissance n vaut
zéro ; la matrice générique correspondante, ce serait la même
matrice vue sur le corps des fractions au lieu de l'anneau
quotient A — mais cet anneau n'est pas intègre, donc
on ne peut pas vraiment parler de matrice générique ; on peut
cependant réduire l'anneau A et ensuite passer au corps des
fractions — mais évidemment, à ce moment-là, la trace est nulle,
comme celle de n'importe quelle matrice nilpotente sur un corps.)
[#2] Plus exactement :
montrer que tout exposant de nilpotence k de la trace
vaut au moinsd·n−d+1
est facile en considérant une matrice diagonale de coefficients
diagonaux nilpotents d'ordre n ; montrer que la trace est
nilpotente (sans déterminer k) est également facile en
utilisant le cas des corps : ce qui est difficile, c'est de voir que
l'exposant d·n−d+1 annule
effectivement la trace.
Pfiou, déjà quinze jours que je n'ai rien posté ici ? Mais —
outre qu'à chaque fois que je commence à écrire une entrée mon
poussinet m'appelle pour faire dodo — j'ai un alibi : j'étais
occupé à m'arracher les cheveux pour faire marcher des programmes de
calcul pour faire un peu de géométrie algébrique effective,
notamment Sage
et Macaulay2.
En l'occurrence il s'agissait de vérifier des calculs dans un
article que je référais rapportais, mais le prétexte était
aussi d'apprendre à mieux me servir de ces programmes. Sage, en fait,
est une sorte de méta-programme : il ne fait pas énormément lui-même,
il a surtout pour fonction de rassembler sous une interface commune
divers autres programmes auxquels il délègue les calculs difficiles
(notamment Singular, qui
devait faire tout le boulot sérieux sur
les bases de
Gröbner que je confiais à Sage), et j'espère d'ailleurs que
Macaulay2 arrivera lui aussi prochainement sous l'ombrelle Sage, de
sorte que je n'aurai plus qu'un programme à utiliser pour ce genre de
choses (parce que c'est un peu fastidieux, entre les Sage, Macaulay2,
Singular, mais aussi
parfois GP/Pari, Gap4, Maxima, Axiom et quelques autres,
de se rappeler qui a besoin d'un ; à la fin de la ligne,
qui utilise % pour rappeler le résultat précédent, qui
utilise = ou := ou : pour
l'affectation, et ainsi de suite). Sage est basé
sur Python, sans doute pas mon
langage de programmation préféré, mais, du moins, un vrai langage de
programmation, ce qui est toujours plus agréable que les succédanés
que certains logiciels nous servent.
Tous les programmes que j'ai cités ci-dessus ont la vertu d'être
des logiciels libres. Malheureusement ce n'est pas du tout le cas de
celui qui fait aujourd'hui référence en matière de calculs
informatiques en algèbre et géométrie algébrique (et qui, même si Sage
fait des progrès très rapides et très spectaculaires, domine tous les
autres à peu près autant qu'un moine Shaolin m'éclaterait en combat
singulier), à
savoir Magma.
Celui-ci, non seulement il n'est pas libre, mais il est même vendu
très cher (neither Free as in Free Speech nor Free as
in Free Beer—more like Free as in Free Tibet!, comme
on dit). Je trouve ça d'ailleurs plus qu'un peu choquant, vu que le
coup bas ne vient pas d'une compagnie à but très lucratif (on a sinon
la résignation du moins l'habitude que les Springer, les Elsevier et
d'autres, ou dans un autre genre les Wolfram Research, se fassent de
l'argent à partir des subventions à la recherche en mathématiques)
mais d'une université, en l'occurrence celle de
Sydney[#].
En l'occurrence, ce n'est pas qu'une préférence abstraite pour le
logiciel libre ni un souci d'argent qui me font m'agacer de Magma,
c'est aussi une troisième raison, une inquiétude scientifique pour la
reproductibilité des calculs. Car si un théorème dépend du résultat
d'un calcul (comme c'était le cas dans l'article que je rapportais),
et si ce calcul n'est faisable qu'avec un unique logiciel
dont, de plus, le code source n'est pas visible, peut-on avoir
complètement confiance en l'exactitude du théorème ? Il ne suffit pas
que les algorithmes annoncés être utilisés par le logiciel soient
publiés et validés, encore faut-il qu'ils soient correctement
implémentés et exempts de bugs, et cela on ne peut pas s'en assurer
même en théorie. Je proposerais donc comme critère pour qu'un calcul
puisse être considéré comme tenant lieu de démonstration
inconditionnelle (lorsqu'il repose, évidemment, sur des algorithmes
garantis et qui prouvent effectivement la conclusion annoncée) qu'il
puisse être reproduit sur au moins deux logiciels développés de façon
complètement indépendante, dont au moins un ait un code source publié.
Certes je n'irai pas relire le code complet du logiciel, mais je n'ai
pas non plus lu la démonstration
du théorème
de Hironaka, je fais confiance à des spécialistes pour ça, et je
ne me prive pas de l'utiliser : il m'importe cependant de pouvoir lire
au moins en théorie tout ce sur quoi mes démonstrations reposent, que
ce soit d'autres démonstrations ou des logiciels ; la vérification par
un second logiciel tiendrait, dans cette analogie, lieu de
vérification d'une démonstration par un rapporteur — cela ne
valide pas les logiciels tout entiers, mais ça valide au moins le
calcul précis qu'on a fait refaire.
(Dans l'article que je rapportais, fort heureusement, j'ai pu
refaire dans Sage et Macaulay2 la totalité des calculs que les auteurs
prétendaient avoir effectués avec Magma : ce fut au prix de pas tout à
fait du sang mais du moins beaucoup de larmes et de sueur.)
Comme exemple de calcul qu'on peut faire avec ce genre de
programmes, voici un exemple dont je ne suis pas peu fier : l'équation
cartésienne du bord des composantes hyperboliques de période 3 dans
l'ensemble de Mandelbrot (c'est-à-dire la cardioïde du plus gros
« ensemble satellite », celui qui est situé autour de −1.755 sur
l'axe réel, plus les deux plus gros bulbes symétriques sur la
cardioïde mère, situés autour de −0.123±0.745i).
Il s'agit de la courbe d'équation suivante (où x désigne la
partie réelle et y la partie imaginaire du paramètre) :
Si vous croyez que c'est facile de calculer ça, même avec un
ordinateur, trouvez-moi la courbe limite correspondante pour les
points de période 4 — je serai très impressionné.
[#] Remarquez, si je
commence à dire du mal des universités qui ont des politiques
honteuses quand il s'agit de se servir de leur droit d'auteur pour
éviter que quelque chose d'utile au public ou à la recherche puisse
leur échapper, j'en aurais un rayon à sortir… j'ai déjà parlé
du OED ?
Puisque je parlais de notations mathématiques dans
la dernière entrée, je vais raconter
un autre petite histoire à ce sujet : celle de la police qu'on appelle
le gras de tableau noir (enfin, je ne sais pas ce qu'on est
censé dire en français : je sais juste que les lettres se
disent double barre — c'est en anglais qu'on parle
de blackboard
bold).
Il s'agit des caractères qui ressemblent à ceci :
(en l'occurrence le Z double barre, qui désigne l'ensemble
des entiers relatifs {…, −3, −2, −1, 0, 1, 2,
3, …}, et qui pour Unicode se nomme U+2124 DOUBLE-STRUCK
CAPITAL Z, soit ℤ si vous avez donné des polices correctes à
votre navigateur). Il s'agit d'une désignation maintenant assez
standardisée pour les ensembles de nombres (les plus communs étant :
ℕ soit N double barre pour les entiers naturels,
ℤ soit Z double barre pour les entiers relatifs,
ℚ soit Q double barre pour les rationnels, ℝ
soit R double barre pour les nombres réels, ℂ soit C
double barre pour les nombres complexes). Quelle est leur
histoire ?
La désignation des ensembles de nombres était assez fluctuante
jusque dans la première moitié du XXe siècle : l'utilisation du N pour
les entiers naturels remonte au moins à Peano, celle du Z pour les
entiers — sans doute comme initiale du mot
allemand Zahl
— est sans doute due à Landau dans
ses Grundlagen der Analysis vers 1930 (mais
l'écrivait en gothique fraktur, ℨ, avec une barre
au-dessus), celle du R pour les réels a été faite par plusieurs
personnes indépendamment (mais le R était aussi souvent utilisé au
début du XXe pour désigner les rationnels).
C'est Bourbaki
qui a fixé, à la fin des années '40, au moins les lettres suivantes :
le N pour les entiers naturels, le Z pour les entiers relatifs, le Q
pour les rationnels (qu'il semble avoir été le premier à introduire),
le R pour les réels et C pour les complexes (ainsi que H pour les
quaternions — par contre, il n'utilise pas O pour les octonions,
et il est sans doute difficile d'attribuer à quelqu'un de précis une
notation aussi évidente). Il semble que ces conventions se soient
imposées très rapidement. Cependant, si Bourbaki a fixé les lettres,
il utilise une police grasse normale pour les désigner.
L'histoire du « gras tableau noir » est complètement contenue dans
son nom : pour simuler du gras au tableau noir, le plus simple est de
doubler les traits. La façon dont cette habitude est passée du
tableau noir au papier n'est pas évidente à retracer : il semble que
le vecteur ait été les textes imprimés à la machine à écrire, où on
graissait une lettre en la frappant deux fois légèrement décalée. (Le
premier texte comme ça est peut-être le Lectures
on Riemann Surfaces de Gunning, publié en 1966 à Princeton,
Gunning lui-même ayant tiré cette idée de l'habitude prise dans le
séminaire Kodaira-Spencer à Princeton au début des années '60 ; mais
ce n'est pas sûr.)
Je ne sais pas non plus quel est le premier document imprimé de
façon plus sérieuse qu'à la machine qui a eu ces caractères, mais il y
a eu plusieurs styles de polices « gras tableau noir » dans TeX,
essentiellement développées par l'AMS :
(msym10) est
devenu (msbm10) vers 1991
(mais ce ne sont pas les seules formes possibles).
Ce qui est amusant, c'est que cette police est apparue par accident
(du gras de Bourbaki au gras « tableau noir » en passant par le
doublement des traits sur un vrai tableau noir et le doublement des
caractères sur la machine à écrire), mais que c'est une invention
vraiment géniale (et maintenant entérinée par son introduction dans
Unicode) : alors qu'en maths on manque souvent de lettres et de
symboles pour désigner les objets, voici une police complètement
unique et très facilement reconnaissable pour désigner des objets
uniques. Car il n'y a pas que les ensembles de nombres : le gras
« tableau noir » semble servir généralement à désigner un objet
mathématique qui n'est pas seulement particulier au problème, mais
plus généralement bien reconnu dans l'ensemble de la branche des
mathématiques où on se place, voire l'ensemble de toutes les
mathématiques — en probabilités on utilisera 𝔼 soit E
double barre pour l'espérance, en géométrie ℙ soit P
double barre pour l'espace projectif, etc. (tiens, le μ
double barre n'est pas dans Unicode : il faudra sans doute que je
propose celui-là aussi — il sert à désigner le groupe des
racines de l'unité).
Un peu de polémique maintenant : les membres de Bourbaki, notamment
Serre, et un certain nombre de matheux français qui s'en sentent
proches, n'aiment pas cette police et refusent de l'utiliser dans les
textes imprimés, arguänt que Bourbaki avait choisi le gras, pas le
doublement des barres. Je trouve que ce refus est une obstination
d'orgueil bien malheureuse, car même si le gras « tableau noir » est
le fruit du hasard, il est vraiment utile, et il a l'avantage de
libérer le gras pour d'autres usages (par exemple pour désigner des
catégories, des foncteurs, que sais-je encore) ; en tout cas,
l'explication c'est un malentendu, le doublement des barres n'est
qu'une façon de faire du gras au tableau noir ne vaut rien (on est
conscient que c'est un malentendu, mais beaucoup d'inventions utiles
sont nées d'une erreur, ce n'est pas une raison pour ne pas s'en
servir !), pas plus que Bourbaki a choisi le gras (comme Landau
a choisi la fraktur avec une barre dessus, mais on ne s'en sert plus).
Heureusement, je crois qu'ils ont complètement perdu cette bataille
(les notations pour les ensembles de nombres en « gras tableau noir »
s'enseignent maintenant au collège/lycée, en France et dans beaucoup
d'autres pays, et l'immense majorité des mathématiciens les
considèrent maintenant comme acquises).
PS : Si quelqu'un
veut bien faire à ma place l'effort de rendre un peu plus corrects les
articles de Wikipédia (It is frequently claimed that
the symbols were first introduced by the group of mathematicians known
as Nicolas Bourbaki. There are several reasons to doubt this
claim…), ce serait bien. L'ennui, c'est qu'il est à peu
près impossible de donner une référence pour tout ce que je viens de
raconter.
Aujourd'hui j'ai fait une tentative pour augmenter mon karma geek :
j'ai soumis un caractère à Unicode. Il s'agit d'un caractère qui
ressemble à ça :
— c'est-à-dire une combinaison de
ça : et
ça :
Les deux symboles de droite existent déjà dans Unicode : il s'agit
du symbole du produit de suites ou familles (U+220F N-ARY PRODUCT)
∏ (le glyphe est juste un grand pi majuscule) et du symbole du
coproduit de suites ou familles (U+2210 N-ARY COPRODUCT) ∐ (le
glyphe est le même mais inversé). Le symbole que j'ai proposé
d'ajouter (et qui pourrait recevoir le nom de N-ARY RESTRICTED
PRODUCT) a un glyphe dont la partie supérieure est celle du symbole du
produit et la partie inférieure est celle du symbole du coproduit
(donc le même à l'envers). Il dénote
le produit
restreint (toujours de suites ou familles) et apparaît en théorie
des nombres — dans un contexte où le coproduit d'une famille
infinie d'objets
(qui, en général,
est une opération duale du produit) serait le sous-ensemble du produit
dont toutes les coordonnées sont nulles sauf un nombre fini, le
produit restreint est intermédiaire entre le coproduit et le produit,
il correspond au sous-ensemble du produit dont toutes les coordonnées
sauf un nombre fini appartiennent à un sous-ensemble des facteurs
compris implicitement ; cela apparaît par exemple, dans la définition
de l'anneau des
adèles ou
du groupe
des idèles d'un corps de nombres. Ce produit restreint est
souvent noté ∏′ (pi-prime, quoi) par les auteurs qui
n'aiment pas ou ne savent pas typographier le symbole ci-dessus, mais
cette notation, proposée
par John Tate,
est occasionnellement utilisée, graphiquement élégante, et il me
semble important de l'ajouter à Unicode.
Ça faisait longtemps que je pensais soumettre ce caractère (depuis
un exposé
au séminaire Variétés
rationnelles, il y a un an, où il était apparu sous la
craie de David
Harari). Mais pour cela, il me fallait trouver des exemples de
son utilisation : c'est là qu'était la difficulté, parce que pour
convaincre que le symbole existe vraiment, il faut des exemples
imprimés, or il sert surtout au tableau noir où ce n'est pas difficile
de le faire et où le prime dans ∏′ (pi-prime) risquerait
de ne pas être vu — alors que dans un texte imprimé, c'est le
contraire, écrire ∏′ est plus facile (le symbole inventé
par Tate, non seulement il n'est pas dans Unicode, mais il n'est pas
non
plus dans
les jeux de macros LaTeX usuels). Je savais que je l'avais vu
quelque part dans un livre, mais encore fallait-il retrouver où. Un
ami m'a rapidement trouvé un spécimen
dans Galois
Cohomology de Serre, et ce n'est que récemment que je suis
retombé sur un autre exemple que j'avais oublié,
dans Algebraic
Number Theory de Neukirch. Avec ces deux références (de
deux auteurs différents et imprimées par un éditeur connu), je pense
qu'il y a de bonnes chances que le caractère soit inséré : plutôt que
m'adresser directement au working group,
sur la suggestion d'un ami j'ai confié le combat
à une
experte en typographie mathématique qui m'a répondu
que : the unicode technical committee has accepted
the principle that math notation is open-ended, so they are receptive
to well-documented submissions of new symbols. your informants are
correct that, at present, i'm the "fast track" entry point to the
system, and that will probably continue for several more
years.
Nous allons donc maintenant voir combien de temps il faudra pour
que ce caractère apparaisse dans une version ultérieure du standard.
(Il ne faut jamais perdre espoir, avec Unicode :
la première
proposition d'encoder les hiéroglyphes date de 1999, maintenant
c'est quasiment
acquis, au moins pour la partie la plus basique, mais il faut
encore attendre la sortie de la prochaine version, donc ça aura pris
environ dix ans.)
Un classique des cours
élémentaires de probabilités : on a trois cartes de même forme, l'une
ayant deux faces noires, la deuxième ayant une face noire et une
rouge, la troisième ayant deux faces rouges. (Les trois cartes, et
les deux faces d'une carte, sont indiscernables sauf par leur
couleur.) On mélange les cartes sans les regarder, on en tire une au
hasard et, toujours sans la regarder, on la pose sur la table (une
face aléatoire étant visible, donc, l'autre étant cachée).
On observe que la face visible est rouge (pour que ce soit
bien clair : si ce n'est pas le cas, on recommence le mélange depuis
le début, et on répète autant de fois que nécessaire jusqu'à ce que ça
soit le cas). Quelle est la probabilité que la face opposée soit
également rouge ?
Autrement dit, si on tire une carte et une face au hasard et qu'on
sait que cette face est rouge, quelle est la probabilité que la carte
tirée soit la carte rouge-rouge ?
La plupart des gens (enfin, ceux qui ont une réponse à la question)
répondent 1/2 suivant le raisonnement suivant : la carte noire-noire
est exclue, il ne reste que deux possibilités, la carte rouge-noire et
la carte rouge-rouge, et comme tout ce qu'on sait est qu'il y a une
face rouge, ces deux possibilités sont équiprobables, donc la
probabilité d'avoir affaire à la carte rouge-rouge est 1/2. Ce
raisonnement est faux, parce que l'événement connu n'est pas la
carte a une face rouge mais bien la face que j'ai tirée au
hasard est rouge : la probabilité recherchée n'est
pas 1/2.
Pour satisfaire la promesse que
j'avais faite la semaine dernière, le
programme que j'ai écrit pour calculer des vues de l'ensemble de
Mandelbrot est maintenant
disponible ici (j'en
ai profité pour rafraîchir très sérieusement cette page listant mes
programmes : peut-être qu'il y aura d'autres choses qui intéresseront
les gens). Pour ceux qui veulent juste voir des jolies images, j'ai
mis quelques vues
fixes sur
flickr, et j'ai créé une deuxième vidéo (de nouveau, il y en a une
version de haute qualité, de 44Mo, téléchargeable par
BitTorrent[#]
en suivant ce
lien — où vous pouvez retirer le .torrent final
si BitTorrent ne vous est pas possible — et une version
exécrable sur
YouTube ; par ailleurs, comme je le
disais dimanche, j'ai réencodé les
vidéos pour avoir quelque chose que j'espère de meilleure qualité et
d'ailleurs légèrement plus petit).
[#] J'ai d'ailleurs
peut-être un problème avec mes torrents : il est censé y avoir
deux seeds (semences ? graines ?),
mais certains clients BitTorrent n'en voient qu'une, ou prennent un
certain temps à voir la seconde. Je ne sais pas ce qui se passe.
Ça
faisait longtemps que je rêvais de faire une belle vidéo de zoom dans
l'ensemble de
Mandelbrot[#], mon poussinet
m'a redonné cette envie en jouant
avec Fraqtive (j'en
parlais la semaine dernière) : me
voilà enfin satisfait à ce sujet. Pour l'instant, vous ne pourrez
voir de la vidéo en question que
la version sur
YouTube (ma première vidéo YouTube !), qui est d'une qualité
épouvantablement exécrable[#2]
(enfin, vous avez le choix entre la qualité normale, qui est
épouvantablement exécrable, et la « haute » qualité, qui est seulement
lamentablement exécrable), mais je promets de publier prochainement
(1) la vidéo en haute qualité (ou en tout cas, beaucoup plus haute que
ça), (2) le programme qui a servi à la calculer et peut-être
(3) quelques petites notes de vulgarisation sur ce qu'est l'ensemble
de Mandelbrot. Mais là je n'ai pas le temps.
Mise à jour () : J'ai uploadé
la vidéo de haute qualité (64Mo pour 4′14″ en 640×480,
25fps) : vous pouvez la télécharger (en
utilisant BitTorrent, BitTornado, Azureus
ou un autre client de ce genre)
en suivant ce
lien (il s'aggit d'un petit fichier .torrent que vous
passez ensuite à votre client BitTorrent pour qu'il récupère le tout).
Pour ceux qui n'arrivent pas à utiliser BitTorrent ou équivalent (par
exemple parce que vous êtes à la merci d'un administrateur réseau
crétin qui croit que ça ne sert qu'à diffuser des contenus
« piratés »), vous pouvez récupérer directement le .avi
en effaçant l'extension .torrent du lien précédent (je
fais exprès de ne pas faire un lien direct, parce que je veux
m'assurer que les gens ne cliquent pas sans réfléchir).
[#] Vous me direz que ça
manque pathétiquement d'originalité (il suffit de
regarder le
nombre de vidéos de ce genre déjà sur YouTube). Je dois bien
reconnaître que c'est vrai ; mais mon amour-propre me poussera à
prétendre, avec un tantinet de mauvaise foi, que ma vidéo à moi elle
est — aux artefacts de compression près — beaucoup plus
belle que toutes les autres : certes, elle ne vas pas aussi loin que
certaines (il y en
a une sur
YouTube qui va à une magnification de 101000, et qui est
d'ailleurs rigoureusement sans intérêt), mais elle montre plus de
variété dans l'ensemble puisque j'ai judicieusement choisi le point
autour duquel zoomer. (Par exemple, pour trouver des points
intéressants, il faut résister à la tentation de descendre dans les
spirales de ce qu'on appelle les points de Misiurewicz, qui
n'apportent aucun motif nouveau mais seulement des itérations en plus
dans les calculs.) Sinon, pour ce qui est de la musique, ce n'est
peut-être pas ce que j'aurais mis idéalement, mais je voulais un
enregistrement dans le domaine public (l'ensemble de
Mandelbrot l'est forcément, puisqu'il est une pure construction
mathématique, et ç'aurait été dommage que la seule musique apporte un
copyright à la vidéo), et ce n'est pas évident à trouver.
[#2] J'en suis d'ailleurs
un peu contrarié : YouTube fournit
des explications
sur les formats à utiliser, que j'ai suivies scrupuleusement (codec
H.264, résolution 640×360, audio MP3, 30 images par
seconde), en me disant que peut-être comme ça ils n'auraient pas à
réencoder la vidéo, et évidemment, ça n'a pas manqué… Ils
m'auraient donné une borne sur le débit, j'aurais peut-être pu
produire un truc de meilleur qualité qu'eux avec cette
contrainte !
Pour ceux qui s'amuseraient à chercher ce que ça peut être avant
que Sloane la valide (ou la rejette s'il trouve ça sans intérêt),
voici trois indications : corps fini à 2n
éléments • éléments primitifs • trace.
Mise à jour : La suite a été publiée sous le
nom A152049.
On me signale un magnifique film de vulgarisation mathématique, en
neuf
parties : Dimensions,
par Jos Leys, Étienne Ghys et Aurélien
Alvarez[#]
(téléchargeable[#2] et
redistribuable sous licence Creative
Commons by-nc-nd 3.0,
et également commandable en DVD) ; il s'agit, notamment,
d'essayer de donner une idée compréhensible par le grand public de ce
à quoi la quatrième dimension (et les solides réguliers en
dimension 4) preuvent ressembler, ainsi que d'autres choses (comme les
transformations conformes du plan, les fractales…). C'est
tellement rare de voir de la bonne vulgarisation mathématique qu'il
faut vraiment signaler celui-ci.
Il y
a six
solides réguliers en
dimension 4[#3] : c'est
d'autant plus remarquable que pour toutes les dimensions à partir de 5
il n'y en a plus que trois (le simplexe, l'hypercube et le dual de ce
dernier), et que si chacun
des solides
réguliers en dimension 3 a une généralisation naturelle en
dimension 4 (tétraèdre→simplexe=5-cellule ;
cube→hypercube=tesseract ; octaèdre→16-cellule ;
dodécaèdre→120-cellule ; icosaèdre→600-cellule), il y en a
un supplémentaire,
le 24-cellule
(formé de 24 octaèdres assemblés de façon complètement régulière),
véritablement exceptionnel[#4],
qui n'a pas d'analogue en dimension 3. Bref, la dimension 4 est la
plus fertile en solides réguliers.
Je pense que la meilleure
façon[#5] de visualiser les
solides réguliers en dimension 4 — qui est
proche[#6] mais pas identique à
une de celles utilisée dans le film, à savoir la projection
stéréographique — consiste à les mettre sur la 3-sphère
(S3), et à voir celle-ci comme un
espace courbe de dimension 3, et à faire du raytracing dans
cet espace courbe. J'avais proposé ça il
y a longtemps, mais je n'ai jamais eu la patience de faire.
D'ailleurs, la raison pour laquelle ils n'ont pas fait ce que je
propose dans le film, c'est probablement que ça oblige à mettre à la
poubelle les outils
comme Povray.
Quoi qu'il en soit, j'espère que ce film aura une large diffusion :
si ça peut susciter des vocations, notamment.
[#] Je ne connais pas
les autres auteurs, mais Étienne Ghys, qui semble avoir écrit le
scénario de la partie proprement mathématique, est quelqu'un
d'absolument impressionnant par sa culture mathématique (le genre qui
est capable d'écouter parler un mathématicien de n'importe quel
domaine et de poser des questions intelligentes après).
[#2] Enfin, si ce
n'est qu'au moment où j'écris (2008-06-21T21:45+0200) le site est
indisponible pour le téléchargement. (C'est de nouveau
disponible.) Si on ne s'était pas tellement
occupé de faire interdire autant que possible les protocoles de
torrent ou de pair-à-pair (par exemple dans les universités et lieux
de recherche), on se serait rendu compte qu'ils sont aussi drôlement
utiles dans ce genre de cas pour distribuer des contenus légaux sans
avoir un point d'échec systématique à cause des capacités des
serveurs. En l'occurrence, je pressens que la vidéo va certainement
fasciner les joyeux mutants de
BoingBoing et les foules nerdesques
de Slashdot quand ces deux sites s'en seront emparés, ce qui ne
manquera pas d'arriver, donc il serait bon d'avoir un bittorrent d'ici
là. (J'en aurais bien lancé un, mais malheureusement j'ai bêtement
effacé les fichiers .zip une fois téléchargés.)
[#3] Le film dont je
parle ne mentionne que cinq d'entre eux (sans doute par manque de
temps ou de patience et parce que celui qu'ils ont omis — le
16-cellule qui généralise l'octaèdre — n'est ni le plus simple à
comprendre ni le plus impressionnant ni le plus beau).
[#4] Il est fortement
lié
au système
de racines exceptionnel de type F4, un de ces
bijoux de symétrie qui existent dans le paradis mathématique, qu'on
sait prédire et démontrer mais dont je ne pense pas qu'on puisse
vraiment les expliquer. On peut cependant faire remarquer
que le centre d'un hypercube (en dimension 4) est à la même distance
des sommets que les sommets sont entre eux, ce qui laisse soupçonner
que si on prend seize hypercubes se touchant en un sommet, les seize
centres des hypercubes et les huit sommets adjacents dans les huit
directions vont, tous ensemble, former quelque chose
de joli : de fait…
[#5] Ce qui est certain
est que la moins bonne façon de visualiser les solides
réguliers est par sections successives, comme c'est d'ailleurs bien
expliqué dans le film : c'est joli, mais ça n'aide vraiment pas à se
faire une idée de l'objet. D'ailleurs, c'est un test terrible pour se
rendre compte si on voit en quatre dimensions : Y a-t-il une
section (hyperplane) de l'hypercube qui soit une pyramide à base
quadrilatérale ?
[#6] La différence
essentielle avec la projection stéréographique, c'est que les rayons
de lumière qu'on utilise pour la projection, ils suivent eux-mêmes des
géodésiques (i.e., des grands cercles sur S3) : du
coup, on a beaucoup moins de degrés de liberté pour montrer l'objet,
on peut seulement se balader dedans et tourner, c'est la même
chose que de faire tourner l'objet en 4D, alors que si on prend
la projection stéréographique comme ils font dans le film ça donne
deux effets différents, du coup c'est un peu plus dur à visualiser.
Par contre, la vision en espace courbe dont je parle a la propriété
que le solide paraît infini dans toutes les directions (en fait c'est
simplement qu'il y a des rayons qui reviennent après avoir fait le
tour de la sphère) : il convient donc d'ajouter des marqueurs pour
différencier une (ou un certain nombre de) face.
Une assez longue réflexion en philosophie des mathématiques, que
j'ai écrite dans un mail à un ami, et qui me semble suffisamment
intéressante pour reproduire ici : il s'agit d'éclaircir un peu la
question de savoir quel sens est-ce que ça a de qualifier un énoncé
mathématique de vrai ou faux ?, i.e., dans quelle
mesure les objets mathématiques existent-ils ? Et notamment :
pourquoi est-ce qu'on sera généralement d'accord pour attribuer la
valeur de vérité vraie à l'énoncé 252097800623 est un nombre
premier mais qu'on sera beaucoup plus sceptique quant au fait que
l'hypothèse du continu ait vraiment un sens dans le monde réel ?
[Ajout : on ferait mieux de commencer par lire
d'abord cette entrée ultérieure,
sans doute beaucoup plus pédagogique.]
On peut établir une hiérarchie dans laquelle s'inscrivent un
certain nombre d'énoncés mathématiques (mais pas tous !) en fonction
de la complexité de leurs quantificateurs. (Je crois que cette
hiérarchie est due, sous une forme ou une autre, à Stephen Kleene et
Azriel Lévy, mais je ne sais pas exactement quelles sont les
contributions de l'un et de l'autre. Il en existe un certain nombre
de variantes, arithmétiques ou ensemblistes : la variante qui suit est
clairement du côté arithmétique d'ordre supérieur si on doit la
qualifier plus précisément : ce que j'appellerai un énoncé
Πn c'est précisément un énoncé arithmétique
Πn.)
Tout en bas de la hiérarchie, il y a les énoncés et prédicats qu'on
peut indifféremment appeler Σ0, Π0 ou
Δ0. Il s'agit des affirmations dont tous les
quantificateurs portent sur les entiers naturels et sont, de
surcroît, bornés, ou gardés, c'est-à-dire sont de la
forme il existe un n inférieur à t
ou pour tout n inférieur à t
avec t un terme en les variables libres à ce point-là
(disons que le terme peut faire intervenir l'addition, la
multiplication et l'exponentiation des entiers, ou peut-être n'importe
quelle fonction primitive récursive, pour ce que je vais dire ce n'est
pas important).
Par exemple, l'entier formé par les 10000000000 premières
décimales de pi en base 10 est un nombre premier peut s'écrire
sous la forme d'un énoncé Δ0 (modulo un tout petit
peu de travail sur les écritures, i.e., l'implémentation d'un
algorithme qui calcule pi). L'essentiel est que quand on a affaire à
une telle affirmation, on peut la tester, de façon algorithmique, en
temps fini, avec terminaison garantie (pour chaque valeur des
variables libres, s'il y en a) : pour les connecteurs propositionnels
c'est clair, et pour les quantificateurs, comme ils sont bornés, on
n'a jamais qu'un nombre fini de cas à tester ; pour la même raison, un
énoncé Δ0 n'est jamais indécidable. Ça c'est ce qui
est censé justifier que, philosophiquement, à peu près tout le monde
conviendra qu'il y a bien un sens à dire si un tel énoncé
est vrai ou faux — il suffit d'essayer.
Évidemment, comme les opinions philosophiques des gens sont très
variés, il y aura des ultra-finitistes purs et durs pour me dire que
d'après eux, non, ça n'a pas de sens de se demander si l'entier formé
par les 10↑(10↑(10↑(10↑10))) premières décimales
de pi est premier ou non, s'il est complètement inconcevable de tester
aussi loin : j'appellerai ces gens des (0,0)-platoniciens (i.e., pas
du tout platoniciens) ; les autres sont au moins
(0,1)-platoniciens.
Juste au-delà des énoncés (et prédicats) Δ0, il y
a les énoncés (et prédicats) Σ1 et Π1.
Les premiers sont formés en ajoutant devant un prédicat
Δ0 un quantificateur existentiel portant sur les
entiers naturels, alors que les seconds ajoutent un quantificateur
universel. En fait, il est assez facile de voir (en utilisant un
codage des k-uplets d'entiers par des entiers) qu'on peut
se permettre d'ajouter un nombre fini de quantificateurs de même
nature pour le même prix. Bien sûr, la négation d'un énoncé
Σ1 est Π1, donc pour ce qui est de
donner une valeur de vérité on peut ne regarder qu'un d'entre eux.
Voici une question un peu provocante : qu'est-ce qu'un nombre
aléatoire ? Pour un probabiliste, elle n'a pas de sens : un
nombre n'est pas aléatoire (le nombre π, par exemple, ça n'a
pas de sens de dire qu'il est aléatoire), ce qui a un sens, c'est
de tirer aléatoirement un nombre, disons, dans l'intervalle
[0;1]. Pourtant, il y a des branches des mathématiques où cela a bien
un sens, de façon absolue, de dire qu'un nombre réel bien défini est
— ou n'est pas — aléatoire (et, pour gâcher le suspens, le
nombre π n'est pas aléatoire, en aucun sens qu'on sache
définir à ma connaissance, ce qui est bien dommage parce que ça
permettrait de prouver plein de choses merveilleuses à son sujet, mais
c'est tout à fait intuitif parce qu'on arrive à le calculer —
donc il n'est certainement pas tiré au hasard !). Je vais tâcher
d'expliquer simplement de quoi il retourne, sans entrer dans trop de
technicité mais en donnant tout de même des définitions complètes.
L'idée qu'on cherche à développer est que :
L'aléatoire est ce qu'on ne peut prévoir (de façon non triviale)
par le calcul.
J'apprends à compter jusqu'à ψ(εΩ+1) et à dompter les hydres
Si j'ai été silencieux pendant deux semaines c'est qu'aussitôt
abandonné le nim épicé j'ai été saisi
d'une autre obnubilation intellectuelle (et qui
me revient
périodiquement[#]), c'est
celle des ordinaux dénombrables : j'avais déjà écrit des articles de
vulgarisation à ce sujet
(celui-ci
il y a très longtemps
et celui-ci il y a un peu
moins longtemps, le premier ayant même
été traduit en
chinois[#2] ; et j'ai
beaucoup contribué
à l'article de
Wikipédia en anglais), cette fois je me suis intéressé aux
notations ordinales — c'est-à-dire, en gros, la façon de donner
un nom aux (plus petits des) ordinaux dénombrables, en essayant
d'aller le plus loin possible, tout en sachant très bien qu'on ne
pourra pas atteindre tous les ordinaux dénombrables (ni même tous les
ordinaux récursifs). Et j'ai
produit les jolis dessins que
voici[#3] et surtout
ce texte
explicatif dont je vais dire un peu plus.
[Ajout : voir
une entrée ultérieure, qui peut
servir d'introduction à la suite.]
Quand on entend parler des ordinaux pour la première fois, on
entend parler de ω, de ωω, de
ωωω, et souvent de la limite
de tout ça, qui est ε0 (qui le plus petit ordinal
vérifiant ωξ = ξ,
c'est-à-dire le plus petit point fixe
de ξ↦ωξ).
Manipuler les ordinaux jusqu'à ε0 (pour les
ajouter, les multiplier ou les exponentier) est facile si on travaille
en forme normale de Cantor (c'est-à-dire, informellement, en base
ω) itérée pour les exposants ; à partir de ε0
ça devient un chouïa plus compliqué parce qu'il y a des égalités qui
ne sautent pas immédiatement aux yeux (comme le fait que
ωε0+1 =
ε0·ω), mais on finit par s'y habituer. Le
problème est plutôt de monter aussi loin que possible : si
ε1 est la prochaine solution de
ωξ = ξ, et ainsi de
suite, jusqu'où ira-t-on ? On pourrait appeller ζ0 la
limite de la suite ε0,
εε0,
εεε0,
c'est-à-dire le premier point fixe
de ξ↦εξ, on peut
continuer à jouer ainsi avec les lettres grecques qui énumèrent les
points fixes les unes des autres, si bien qu'on finit par avoir besoin
d'un alphabet grec transfini : c'est ce qu'on appelle le schéma φ
de Veblen (à deux variables, pour commencer), chaque rang énumérant
les points fixes du rang précédent. Seulement, on arrive à court de
ce schéma aussi lorsqu'on tombe sur la première lettre grecque qui
est, pour ainsi dire, son propre rang dans l'alphabet. C'est cet
ordinal (toujours dénombrable, bien sûr) qu'on appelle l'ordinal de
Feferman-Schütte (et c'est la limite des ordinaux pour lesquels le
schéma de Veblen à deux variables fournit des notations).
Je disais récemment que les idées scientifiques ont tendance à
ressembler aux tamagotchis : on commence à les élever et rapidement
elles vous accaparent l'esprit en demandant sans arrêt votre
attention.
Je réfléchissais à la théorie
combinatoire[#] des jeux quand je
suis tombé sur l'idée du jeu suivant (qui a certainement déjà été
décrit et étudié, mais il est difficile de trouver sous quel nom), que
j'appellerai le jeu de nim épicé.
Tout d'abord je rappelle ce qu'est
le jeu de nim usuel :
il s'agit d'un jeu (impartial, à connaissance complète, à deux
joueurs) extrêmement simple, dans lequel l'état du jeu est donné par
un certain nombre de lignes de bâtonnets (ou
quelconques autres jetons : tas de pièces, rangées d'alumettes, ce que
vous voudrez ; il en existe aussi des avatars un petit peu moins
évidents où, par exemple, on avance des pions sur un échiquier sans
avoir le droit de les reculer). Seul compte le nombre de bâtonnets
présent sur chaque ligne (il n'y a pas d'ordre, pas de structure
supplémentaire). La règle du jeu est simplissime : les joueurs jouent
tour à tour et chacun, quand c'est son tour, peut et doit retirer des
bâtonnets situés sur une ligne — il doit en retirer au moins un
et peut en retirer autant qu'il veut, y compris vider (et donc
supprimer) la ligne, mais il ne peut en un tour retirer des bâtonnets
que d'une seule ligne (de son choix). Normalement, le joueur
qui ne peut plus jouer a perdu (i.e., celui qui retire le
dernier bâtonnet a gagné, puisque son adversaire est dans
l'impossibilité de jouer) : en fait, la version misère, où
celui qui retire le dernier bâtonnet perd, est peut-être plus commune
pour le jeu de nim, mais elle est en fait très
semblable[#2] et moins
intéressante mathématiquement.
Dans n'importe quel jeu de ce genre (i.e., un jeu impartial, à
connaissance complète, à deux joueurs, et qui termine toujours en
temps fini sur le gain d'un des joueurs avec par convention perte du
joueur qui ne peut plus jouer), l'un des deux joueurs a forcément une
stratégie gagnante. En fait, on peut définir deux sortes de positions
du jeu : les positions
dites nulles[#3]
— qui sont celles à partir desquelles le second joueur a une
stratégie gagnante —, et les autres (généralement les plus
nombreuses). La définition (récursive !) est qu'une position
nulle est une position qui ne conduit qu'à des positions non
nulles (y compris si elle ne conduit à rien du tout, car alors le
joueur qui vient de jouer à gagné) et, a contrario, une
position non nulle est une position qui conduit à au moins une
position nulle. La stratégie gagnante consiste à jouer, autant
que c'est possible, pour mettre le jeu dans une position nulle (auquel
cas le joueur adverse sera obligé de jouer pour aller dans une
position non nulle, donc on sera assuré de pouvoir jouer vers une
position nulle, et ainsi de suite : comme on peut toujours gagner, on
ne peut pas perdre). Connaître la stratégie gagnante revient donc à
identifier les positions nulles (pour pouvoir jouer vers elles).
Dans le cas du jeu de nim, elles ont une description
mathématiquement simple : sont nulles les positions telles que
le « ou
exclusif » du nombre de bâtonnets de chaque ligne (écrits en
binaire) soit nul. Par exemple, la position de départ habituelle,
(1,3,5,7) (ce qui signifie : un bâtonnet sur une ligne, trois sur une
autre, cinq sur une troisième, et sept sur la dernière ligne) est
nulle car 001⊕011⊕101⊕111=000 : cela
signifie qu'au jeu de nim usuel, à partir de cette position, le joueur
qui ne commence pas peut gagner le jeu à coup sûr (par exemple, si le
premier joueur retire deux bâtonnets de la dernière ligne,
c'est-à-dire joue vers (1,3,5,5), position non nulle, on répondra vers
(1,1,5,5), position nulle, et il est d'ailleurs clair qu'on a alors
une stratégie gagnante en reproduisant les coups d'une paire de lignes
(1,5) sur l'autre).
J'en viens donc au jeu de nim épicé : la différence avec le jeu nim
normal est qu'il existe deux sortes de lignes, des
lignes épicées et des lignes normales
(ou fades). La règle du jeu est la même (on peut retirer
autant de bâtonnets qu'on veut, mais d'une ligne seulement) avec la
seule différence que lorsqu'un joueur retire des bâtonnets d'une ligne
épicée, son adversaire ne peut pas en faire autant au coup
immédiatement après (il doit retirer des bâtonnets d'une ligne fade
— et s'il n'en reste aucun, il a perdu). Autrement dit, on ne
peut consommer deux coups de suite des bâtonnets épicés. Une position
du jeu est déterminée par le nombre de bâtonnets dans les lignes de
chaque sorte (je les écrirai en commençant par les
lignes fades) et par le fait que le coup immédiatement
précédet ait été épicé ou non.
Exemple : en commençant sur (1,2,11;4;4),
c'est-à-dire qu'il y a trois lignes fades avec 1, 2 et 11 bâtonnets,
et deux lignes épicées avec 4 bâtonnets chacune, le premier joueur
pourrait jouer vers (1,2,5;4;4), le second joueur répliquerait avec
(1,2,5;4,2)H (le H, comme hot
signifiant qu'on vient de jouer épicé, donc que le coup suivant sera
forcément fade), le premier joueur tenterait maladroitement
(1,2,3;4,2), ce à quoi on rétorquera (1,2,3;2,2)H, et une
tentative désespérée vers (1,2,1;2,2) provoquera inévitablement la
réplique (1,2,1;2)H, et il n'y a plus de doute sur qui a
gagné.
La question à cent zorkmids est donc : quelles sont les
positions nulles du jeu de nim épicé ? Peut-on les décrire
de façon synthétique comme pour le jeu de nim usuel ?
Je n'ai que des réponses partielles à cette question. Je peux
facilement faire produire à mon ordinateur des tables gigantesques de
positions nulles, mais ensuite trouver la logique ressemble à un test
d'intelligence. Et si c'est un test d'intelligence, j'ai échoué :
j'ai trouvé beaucoup de motifs partiels, mais aucune decription
complète.
Il est clair que si le nombre total de bâtonnets épicés est
strictement supérieur au nombre total de bâtonnets fades (et que la
position n'est pas chaude, i.e., qu'on peut jouer épicé), alors la
position est non nulle : en effet, le premier joueur a la stratégie
gagnante consistant à manger les épices, c'est-à-dire retirer
un quelconque bâtonnet épicé, auquel cas son adversaire devra en
retirer un fade, puis le premier joueur retire de nouveau un épicé, et
ainsi de suite jusqu'à épuisement des fades auquel moment le second
joueur perd. Dans « beaucoup » de cas, une position nulle s'obtient
en complétant une telle position jusqu'à ce que le nombre total de
bâtonnets fades égale le nombre total d'épicés : notamment, s'il y a
une seule ligne fade, il est facile de voir que la condition de
nullité est précisément que le nombre de bâtonnets de cette ligne soit
égal au nombre total de bâtonnets épicés ; il en va de même si les
épicés sont dans des lignes d'un seul bâtonnet chacune (i.e., de
nouveau, quelle que soit la répartition des fades, la condition de
nullité sera que les fades soient aussi nombreux que les épicés).
Mais parfois, il faut plus de fades : par exemple, s'il y a exactement
deux lignes de fades dont une avec un seul bâtonnet, la condition de
nullité est que le nombre total de fades soit deux de plus
que le nombre total d'épicés si toutes les lignes épicées ont un
nombre pair de bâtonnets (alors que c'est égalité s'il y a
une ligne épicée avec un nombre impair de bâtonnets) — je sais
le démontrer, mais je ne sais pas le généraliser correctement. Je ne
sais pas « expliquer » de façon satisfaisante le fait que (2,9;6,4) ou
(3,8;6,4) ou (1,2,8;6,4) (et pas (2,8;6,4) ou (2,n;6,4)
pour un quelconque autre n) soient des positions nulles.
C'est mystérieux : je cherche encore le motif, mais je
commence à douter de son existence…
Évidemment, le jeu de nim se prête à quantité d'autres variations
(on pourrait interdire de reprendre des bâtonnets de la ligne qui
vient d'être diminuée, ou bien seulement pour certaines lignes, ou
avoir plusieurs sortes d'épices, que sais-je encore…). Mais
celle-ci m'est venue à l'esprit dans le cours d'une réflexion plus
générale, alors maintenant elle m'obsède.
[#] Le
terme combinatoire est là pour insister sur le fait qu'il ne
s'agit pas de la théorie des jeux
dans le sens où on
l'entend d'habitude (jeux à la von Neumann, équilibres de Nash,
tout ça) mais de jeux à information complète. Pour la bible sur le
sujet, voir le très
exotique Winning
Ways de Berlekamp, Conway et Guy. On peut dire que c'est
Conway
qui a inventé la théorie combinatoire des jeux partiaux, la
théorie combinatoire des jeux impartiaux — théorie
de Sprague-Grundy,
par exemple — est plus ancienne.
[#2] Pour jouer à la
version misère, si on connaît la stratégie optimale de la version
normale du nim décrite plus loin, il suffit de jouer comme pour la
version normale sauf lorsqu'on ne va laisser que des lignes avec (zéro
ou) un bâtonnet : à ce moment-là on en laisse un de moins (ou un de
plus).
[#3] Le choix du
mot nul, pour les jeux où le second joueur a une stratégie
gagnante, pourra sembler bizarre. L'explication est que si on fait la
somme d'un tel jeu et d'un jeu G quelconque —
la somme étant à comprendre au sens où chaque joueur peut jouer
dans une composante quelconque de la somme — alors la somme en
question a la même caractéristique que le jeu G. Ou
encore, les positions nulles sont celles dont la fonction de
Grundy est nulle.
Au mur figurait l'inscription énigmatique suivante :
…945497946690011303871870040893554688 = 2∞−1
(Les chiffres sur la gauche devenaient de plus en plus petits et
rapidement illisibles.)
L'homme resta silencieux pendant qu'Ack et Bel s'assirent dans les
chaises qu'il leur désigna. Il ne parla qu'après les avoir longuement
dévisagé comme s'il cherchait à lire dans leur visage la clé d'un
mystère ancien.
Venons-en au fait, Messieurs, car la menace est terrible. Vous
avez combattu des ennemis terrifiants qui mettaient en danger la
reine, le royaume ou l'humanité tout entière… L'agent Bel
voulut protester mais l'homme ne lui en laissa pas le temps. Vous
et vos collègues avec combattu des ennemis terrifiants, mais aucun tel
que celui-ci.
Voyant que l'autre attendait une question, Ack demanda poliment :
Que compte-t-il faire ? Expliquez-nous donc.
Il ne veut pas seulement devenir maître du monde, ou de
l'univers tout entier, mais de tous les univers possibles.
Notre savant fou n'est pas un vulgaire biologiste qui menacerait de
dominer l'humanité, ni un chimiste prêt à faire sauter la Terre ; ni
même un physicien qui aurait découvert comment repolariser le vide et
transformer ainsi le cosmos en une mer de bébé-univers. Non, il est
bien plus dangereux que tout ça !
Venez-en au fait, je vous en prie. Que projette-t-il ?
Notre mathématicien s'apprête à modifier la logique
même du monde. Son pouvoir serait alors sans limites.
Vous voulez dire, si je comprends bien, demanda 006, cachant
avec peine son incrédulité, qu'il veut devenir une sorte de
dieu ?
Au moins un dieu, oui : un dieu absolument omnipotent. Je ne
parle pas seulement de voyager dans le temps, de vaincre la mort ou de
ce genre de choses. Bien plus que ça. Car le Dieu chrétien lui-même,
si on en croit Thomas d'Aquin, ne peut pas faire ce qui est
logiquement impossible — ea vero quæ
contradictionem implicant sub divina omnipotentia non continentur
(Somme théologique, première partie, question XXV).
Néanmoins, Descartes, dans sa
première Méditation…
Toutes passionnantes que sont ces considérations
théologiques, interrompit 007, elles ne sont pas ce qui nous
amène aujourd'hui. Est-il possible que notre savant fou atteigne son
but ?
Non, bien sûr : c'est logiquement impossible. Mais son but est
précisément d'y arriver bien que ce soit logiquement
impossible, puisqu'il cherche à s'affranchir de la logique. Après
une pause : Notre avis est que l'arme qu'il construit — la
Contradiction — amènera une destruction complète dans laquelle
périront non seulement l'univers et tout ce qu'il contient, mais aussi
l'idée de l'univers, les triangles équilatéraux et le nombre
42.
Si je comprends, vous dites que c'est impossible mais qu'il y a
tout de même un risque qu'il y parvienne. Comment va-t-il s'y
prendre ?
L'homme plaça sur la table devant lui un jeu de cartes, le coupa,
en retourna la première carte et la montra aux agents secrets : elle
représentait un vieil homme s'appuyant sur un bâton et tenant dans
l'autre main un objet qui pouvait être une lanterne ou un sablier ;
au-dessus de la carte, le chiffre IX. Le neuvième arcane majeur.
En 1873, expliqua-t-il, Charles Hermite — le
mathématicien — déposa un pli cacheté à l'Académie des sciences,
contenant un lemme essentiel pour atteindre la Contradiction. Ce pli
a été détruit sans être ouvert à la mort de Hermite, suivant des
instructions qu'il avait laissées dans son testament. Mais nous
savons aussi que, profondément troublé par le résultat qu'il avait
découvert, il l'avait communiqué à son élève Jules Tannery ; et que
celui-ci laissa à sa mort une copie de la démonstration au jeune
Albert Châtelet. La piste se perd alors.
Ce papier est ce que cherche notre savant ?
Ce papier est ce qu'il vous faut détruire, ainsi que toute
trace, tout souvenir, de ce lemme. Car réunir cette démonstration
avec les résultats que notre ennemi possède déjà, cela lui donnerait
la Contradiction. La logique du monde dépend de vous,
Messieurs !
Converting latitude+longitude to Universal Transverse Mercator
[The following is a highly technical note (i.e,
odds are you don't want to read it at all), which I'm writing in the
form of a blog post mainly because I'm too lazy to start another Web
page—but it might get copied elsewhere eventually (if someone
wants to dump it on Wikipedia, feel free to).]
I've long been intrigued by the oft-used (especially in conjunction
with GPS
units) UTM coordinates: explanations as to
how UTM coordinates are defined exactly is very
hard to find (the spherical case is simple enough, but the ellipsoidal
one is a much tougher nut), and although there are many online tools
(such
as this
one) to convert from latitude+longitude to UTM and
back, they use black box formulæ, converging power series, and
looking at the source will give you very little insight on what is
going on. So here is an attempt at a mathematically precise
definition (it took me a whole day of angry formula-crunching before I
came up with something entirely correct, so I won't spare the
details).
First of all, what is a transverse mercator projection? It can be
defined by starting from a central meridian (UTM uses 60
possible central meridians, one for
each UTM zone) and constructing the
mathematically unique projection from a spheroid (= rotation
of an ellipse about one of its axes) to a plane which is conformal
(= preserves angles) and maps the central meridian to a straight line
with constant scale. So here are the defining features of Universal
Transverse Mercator:
It divides the Earth in 60 longitude zones, each 6° wide: zone 1
ranges from 180° to 174°W, zone 2 from 174°W to 168°W and so on
through zone 30 from 6°W to 0°, zone 31 from 0° to 6°E, up to zone 60
from 174°E to 180°. Each zone's central meridian is
halfway between the limiting longitudes (e.g., zone 33's central
meridian is 15°E). UTM coordinates are given relative to
a longitude zone and a hemisphere (North or South).
In each zone, UTM is strictly conformal (= preserves
angles). In practice, this means that it does not distort shapes
anywhere, or that the UTM grid is a square grid
everywhere, and it appears square when displayed on any conformal map
projection. (Note that this does not imply that the lines of the grid
are aligned north-south and east-west! But they are always
perpendicular.)
Each zone's central meridian (which receives an easting
coordinate of 500000,
see below) is mapped to a
vertical line along which the vertical (northing) coordinate is
simply proportional to distance (on the ellipsoid) along that
meridian; however,
the scale along the central meridian is not 1:1, it is 9996:10000.
In other words, two points lying at 10km's distance from one another
on the central meridian will have vertical (northing)
coordinates differing by only 9996. The reason for this is that the
map scale increases on either side of the meridian (as is unavoidable
when mapping a curve surface) and the 0.04% decrease at the center is
chosen to make the average scale on a 6°-wide zone roughly 1:1.
The two UTM
coordinates, easting (given first) and northing
(given second) are orthogonal and measured in meters (after the
transverse mercator projection and the 9996:10000 scale are applied).
Easting is measured horizontally, with the central meridian having
value 500000 (in practice, it can take values from 166021 to 833979 at
the equator, the range being more narrow at higher latitudes).
Northing is measured vertically, with the equator having value 0 in
the northern hemisphere and 10000000 in the southern hemisphere; in
the northern hemisphere, it ranges from 0 at the equator to 9328094 at
84°N on the central meridian, or even 9997965 if used all the way to
the pole (but this normally isn't supposed to happen: beyond 84°N, and
beyond 80°S
Universal
Polar Stereographic coordinates should be used instead
of UTM).
UTM is (nowadays) almost exclusively used with
the WGS84 ellipsoid: this
has a semimajor axis of a = 6378137m (exactly) and a
flattening of f = 1 − b/a =
1/298.257223563 (exactly).
This is a complete definition, however it isn't a very usable one
because it lacks a description of how to use the conformal part
of the definition to actually convert geodetic coordinates to
Universal Transverse Mercator. If we were to use a spherical Earth
model, computations would be easy enough:
Le taquin de Mathieu : le retour du fils de la vengeance
Bon, le taquin proposé dans l'entrée
précédente était assez infaisable. Celui qui suit a le même
groupe (toujours le groupe M24 de Mathieu) mais il
est sans doute beaucoup plus faisable (et en tout cas plus amusant à
essayer) :
Je ne propose pas une configuration précise à atteindre : je
propose plutôt de mélanger le taquin (ce qui se fait en choisissant le
lien « point d'interrogation à l'envers ») et de chercher ensuite à le
remettre en ordre. Cette fois-ci le taquin a la forme de 7+1 colonnes
sur 3 lignes : on peut cycler les lignes avec les flèches vers le haut
et le bas, cycler les 7 colonnes principales (celle qui est séparée
des autres reste alors fixe) avec les flèches vers la gauche et la
droite, ou enfin appliquer un flip de Mathieu qui échange huit
paires de cases coloriées de la même façon (cinq de ces huit paires
sont contiguës : 02–03, 08–09, 11–14, 12–15 et
13–16 ; et les trois cases 22, 23, 24 de la colonne spéciale
sont échangées avec 07, 21 et 20 respectivement). Cette présentation
n'est peut-être pas encore totalement satisfaisante, mais elle n'a pas
l'air complètement folle et on peut vaguement la retenir et même
développer quelques techniques de jeu comme l'utilisation judicieuse
de la colonne séparée et des deux cases échangeant en diagonale.
Avant de jouer avec le taquin tout entier, on peut se familiariser
avec le sous-groupe d'ordre 21 engendré par les flèches (ça c'est
vraiment très facile), avec le sous-groupe d'ordre 54
engendré par les flèches verticales et le flip (c'est encore plutôt
facile), et enfin avec le sous-groupe d'ordre 21504 engendré par les
flèches horizontales et le flip (il permet par exemple d'échanger
exactement les deux lignes d'en bas sans toucher à celle d'en haut, ce
qui n'était pas évident a priori : voyez-vous comment ?).
Quant aux 244823040 états du puzzle complet, j'arrive pour ma part à
placer en gros deux cases où je veux, parfois trois, mais pas plus (le
groupe M24 de Mathieu, je l'ai déjà expliqué, permet
de placer cinq cases où on veut).
J'ai aussi essayé de rajouter la possibilité de jouer au clavier
(avec les flèches et la touche insertion pour appliquer le flip), mais
c'était probablement une mauvaise idée vu que la possibilité
de capturer les touches en JavaScript est complètement bizarre et
dépend horriblement du navigateur et marche mal même sur un navigateur
bien connu comme Firefox (il y a plein de problèmes de focus).
À force de méditer sur les groupes simples
finis, j'ai imaginé le puzzle suivant, que j'appelle le
Taquin de Mathieu :
Votre but est d'inverser complètement les nombres, c'est-à-dire de
mettre le 24 là où est le 01 initialement et vice versa, le 23 à la
place du 02, le 22 à la place du 03, etc. Pour ça, on dispose
d'essentiellement deux opérations : l'une consiste à décaler
cycliquement les douze colonnes du puzzle (vers la droite ou la
gauche), l'autre — que j'appellerai le flip de Mathieu
— réalise simultanément huit échanges entre deux cases (chaque
paire étant coloriée d'une même couleur pour qu'on les voie
facilement), les huit autres cases (marquées en gris) restant fixes.
Les trois symboles immédiatement en-dessous du tableau sont
cliquables, et réalisent ces opérations (et celui encore en-dessous
remet le puzzle à son état de départ). Arriver à la situation inverse
demandée est faisable — mais ce n'est pas très facile.
Le puzzle a 244823040 états possibles — c'est
considérablement moins qu'un Rubik's cube, pourtant il me semble
possible qu'il soit, d'une certaine manière, plus difficile à
résoudre : en effet, pour résoudre le Rubik's cube on va chercher à
trouver certaines combinaisons qui font des opérations faciles à
comprendre, alors que dans le groupe de Mathieu, en un certain sens,
ces opérations n'existent pas (aucune opération ne peut laisser plus
de huit points fixes, par exemple). Peut-être que je me trompe. Si
vous y arrivez sans l'aide d'un ordinateur, dites-le-moi !
En tout cas, il s'agit d'une illustration d'une des choses que
j'affirmais dans ma précédente
entrée : si on cherche des puzzles de ce genre qui ne permettent pas
de réaliser toutes les permutations possibles des pièces, ou au moins
toutes les permutations paires, alors il n'y a en gros que celui-ci et
un analogue sur douze pièces qui offrent une certaine liberté dans le
mouvement des pièces (vous pouvez placer cinq pièces quelconques aux
endroits que vous voulez, et c'est le maximum).
Je l'ai mentionné il y a quelque
temps, nous avons eu il y a un deux semaines à l'ENS un
séminaire du mathématicien John McKay sur un phénomène
paranormal mathématique appelé le Monstrous Moonshine : même si ce n'est pas ma
spécialité, je voudrais dire un mot de ce qui tourne autour. (En
fait, je viens de finir la lecture d'un petit livre de vulgarisation
sur le sujet, Symmetry and the Monster de Mark Ronan, qui
n'est pas mal du tout — même si c'est très insatisfaisant pour
un mathématicien de lire des livres de vulgarisation adressés au grand
public vu qu'on veut toujours en savoir plus.)
Il y a un débat récurrent autour de la question de savoir si les
mathématiques sont découvertes ou inventées : même si la réponse n'a
pas à être complètement d'un côté ou de l'autre, je pense que la
plupart des mathématiciens eux-mêmes sont d'avis qu'elles sont
découvertes, et assurément la théorie des groupes finis est un des
domaines où la réponse découvertes s'impose le plus
naturellement. Après une tentative (sans doute assez lamentable) pour
expliquer à ma mère ce qu'est le Monstre, elle a commenté : les
mathématiciens sont vraiment doués pour inventer des choses
complètement farfelues — mais à mes yeux c'est une
mésinterprétation complète de la réalité : personne n'a
inventé le Monstre, il a été découvert par des gens
qui ont été stupéfiés de le voir s'imposer à eux de cette façon. (Un
des termes qui revient parfois dans la description du sentiment qu'ils
ont eu en le découvrant est qu'il y avait something
out there ; je ne saurais pas rendre ça en français, mais
je trouve que c'est très fort.)
Il y a certainement quelque chose dans certaines branches des
mathématiques, et notamment dans la théorie des groupes finis qui
rappelle la fascination que les hommes ont pu avoir pour des
pseudo-sciences comme la numérologie ou l'astrologie : je pense que
c'est ça qui peut donner à des gens (y compris certains mathématiciens
de branches plus éloignées, d'ailleurs !) l'impression qu'il s'agit de
mathématiques un peu suspectes, où l'on étudie les propriétés magiques
des nombres tels que 196883 ou 244823040. Je
crois que des matheux un peu joueurs comme Conway s'en
amusent beaucoup, en fait. La différence, c'est que les douze signes
du zodiaque sont le résultat du hasard de configurations d'étoiles
interprétées par les yeux d'astronomes anciens et qui auraient
très bien pu être autrement alors que la table des caractères de
M24 est quelque chose qui s'imposerait de la même
façon à tous extra-terrestres ayant la curiosité de s'intéresser aux
façons de réordonner des objets.
Suite à votre audition le 26 juin 2007 par la Commission de
recrutement pour un emploi d'enseignant-chercheur à
l'ENST en « Cryptographie », j'ai le plaisir de vous
faire savoir que vous avez été classé premier.
Vous voudrez bien prendre contact avec […] afin de mettre en
œuvre votre recrutement.
En vous félicitant pour ce succès, je vous prie de croire, Monsieur
et Cher Collègue, en l'expression de mes salutations les
meilleures.
Je quitte donc l'ENS l'an prochain pour devenir maître
de conférences à l'ENST (je gagne une lettre de plus,
quoi, et je me rapproche un peu de chez moi).
Avec un double défi : celui de faire de la recherche qui soit
intéressante et de haut niveau à la fois mathématiquement et
informatiquement. Informatiquement parce qu'on m'a recruté pour faire
de la crypto et que je compte bien honorer ce devoir. Et
mathématiquement parce qu'être mathématicien est mon rêve d'enfant et
que je ne le lâcherai pas.
Mais on ne quitte pas sans une larme à l'œil un endroit qu'on
a fréquenté assidûment pendant onze ans. Madame notre
Directrice organisait justement aujourd'hui un pot pour le départ
de ceux qui s'en vont (principalement des élèves, bien sûr, ceux de la
promotion 2003, et j'en connais aussi beaucoup de cette année-là, qui
commencent une thèse ou deviennent enseignants du secondaire),
l'occasion de nous dire que nous serions toujours les bienvenus. Ça
tombe bien, j'ai un copain dans cette École et il y a une bibliothèque
de maths extrêmement bien fournie donc j'y serai sans doute encore
souvent.
Comme une bonne nouvelle ne vient pas seule, j'apprends que le Bulletin de la
Société Mathématique de France engage enfin la publication
d'un article que j'y avais soumis en août 2004, et qui avait été
accepté en janvier 2005. Les mathématiques ne sont pas trop pressées,
mais trois ans c'est tout de même exceptionnellement long : la raison
en est apparemment des difficultés techniques liées à une
réorganisation de la chaîne de production du journal. J'espère tout
de même que la revue sera datée de 2006, parce que sinon on risque de
dire que le résultat de Madore (2007) a été ultérieurement généralisé
par Hassett et Tschinkel (2006), ce qui me rend quand même un peu
ridicule dans l'affaire.
Sinon, cela n'a pas de rapport, mais je viens de tomber sur une
jolie suite d'entiers assez naturelle qui ne figurait pas encore dans
l'encyclopédie
des suites d'entiers de Sloane : j'ai donc proposé son ajout.
J'espère qu'elle sera acceptée, parce que c'est quelque chose dont je
suis assez fier que d'avoir fait rajouter quelques suites dans cette
fabuleuse mine de numérologie scientifique (en l'occurrence, A033623,
A046873,
A051917
et A100002[#]).
Je propose donc cette nouvelle suite comme une énigme mathématique
du jour (mais je serais vraiment très impressionné si quelqu'un la
résolvait avant que la suite passe dans le Sloane) :
Deux indications, tout de même, pour que ce ne soit pas
complètement infaisable : premièrement, ça a un rapport avec les
tableaux de Young (ou avec les représentations du groupe symétrique
𝔖n sur n objets),
deuxièmement on peut considérer que c'est la continuation logique de
A000041,
A000085
et A000142.
Pour savoir la réponse, il suffira d'attendre que la suite soit
ajoutée à l'encyclopédie…
[#] La
A100002, d'ailleurs, malgré sa très grande simplicité
(son mode de construction est tout à fait explicable à un enfant), a
eu l'honneur d'attirer un peu sérieusement l'attention de Neil Sloane
lui-même : je suppose que c'est pour ça qu'elle a eu droit à un numéro
aussi spécial. Et par ailleurs elle produit une musique vraiment très
intéressante.
Séries de Hahn, théorèmes de Kedlaya et algébricité
La série annuelle des exposés de maîtrise (d'initiation à la
recherche) des normaliens de première année vient de commencer, donc
cette année encore je vais assister à un grand nombre d'exposés
mathématiques (pour la plupart très intéressants) sur des sujets très
variés. Aujourd'hui il y en a un qui a particulièrement retenu mon
attention puisqu'il était question d'une de ces constructions
mathématiques que je trouve particulièrement remarquables. Et qui
m'est très chère puisque je l'avais redécouverte il y a quelques
années sans savoir que c'était un objet classique (j'étais allé, tout
excité, en parler à mon directeur de thèse qui m'avait aussitôt sorti
un préprint qui expliquait ça et qui répondait à certains des
problèmes que je m'étais posés à ce sujet) : il s'agit des séries de
Hahn, ou de Mal'cev-Neumann (les deux noms se trouvent, et je ne sais
pas si l'un est plus correct). Même si j'ai pour habitude de ne pas
parler de maths sur ce blog[#] je
vais tout de même essayer de décrire de quoi il s'agit et pourquoi je
trouve ça remarquable. En supposant que le lecteur est un peu
familier avec des notions de base d'algèbre (disons, séries formelles
et extensions de corps).
Pour introduire cette notion je pourrais commencer par partir de
l'anneau F[t] des polynômes en une indéterminée
t à coefficients dans un corps F (qui sera, pour
l'essentiel, un corps fini). Il s'agit de généraliser cette notion :
une première généralisation, puisque les polynômes s'écrivent comme
des sommes formelles de termes
ci·ti
pour i parcourant un nombre fini d'entiers naturels, serait
d'autoriser les sommes infinies de cette forme, c'est-à-dire que
i parcourt tous les entiers naturels ; on obtient ainsi
l'anneau F[[t]] des séries formelles en
l'indéterminée t. Par exemple,
1+t+t²+t³+⋯ (somme de tous les
ti avec tous les coefficients
ci égaux à 1) est une série formelle,
qui est l'inverse de 1−t [#2]. Une nouvelle intéressante,
c'est que F[[t]] est un anneau de valuation
discrète : sans chercher à définir cette notion, disons qu'il n'y
a en gros qu'une seule série formelle qui n'est pas inversible, c'est
t elle-même, au sens où si on lui donne un inverse alors
toute série formelle (non nulle) en aura un.
On introduit donc l'anneau F((t)) des séries
de Laurent : il s'agit toujours des sommes formelles de termes
de la forme
ci·ti,
sauf que cette fois-ci on permet à l'exposant i de prendre
des valeurs négatives (puisqu'on veut inverser t, il faut
bien introduire un t à la puissance −1). Bien sûr,
toute somme de cette forme n'est pas légitime : par exemple, il n'y a
pas de sens à donner[#3] à la
somme des ti sur tous les entiers
relatifs i. La bonne condition est de demander que les
i qui supportent la somme (c'est-à-dire ceux pour lesquels
le coefficient ci est non nul) soient
bornés inférieurement, ou de façon équivalente qu'il n'y ait qu'un
nombre fini de termes à exposants négatifs. Il se trouve qu'on
obtient ainsi un corps (toute série de Laurent non nulle est
inversible), qui est le corps des fractions de l'anneau des séries
formelles.
Pour aller plus loin, on cherche à résoudre certaines équations
algébriques. Par exemple, dans le corps des séries de Laurent, la
série 1+t a une racine carrée (si F est de
caractéristique différente de 2), solution de l'équation algébrique
f²−(1+t)=0, à savoir f = 1 +
(1/2)t − (1/8)t² + (1/16)t³
− (5/128)t4 + ⋯ (bref, le
développement asymptotique connu). Une autre nouvelle intéressante,
c'est que F[[t]] est un anneau (local)
hensélien : sans chercher à définir cette notion, disons qu'il
n'y a en gros qu'une série de Laurent qui n'a pas de racine carrée,
cubique ou je ne sais quoi, c'est t elle-même.
On introduit donc l'anneau
F((t1/∞)) des séries de
Puiseux : il s'agit toujours des sommes formelles de termes de
la forme
ci·ti,
sauf que cette fois-ci on permet à l'exposant i de prendre
des valeurs rationnelles (puisqu'on donner des racines à
t, il faut bien introduire un t à la puissance
½ ou autres). Bien sûr, toute somme de cette forme n'est pas
légitime : de même que pour définir les séries de Laurent on avait
imposé aux exposants supportant la série (c'est-à-dire intervenant
effectivement dedans) d'être bornés inférieurement, de même, cette
fois, on demandera qu'ils aient un dénominateur borné (ou, de
façon équivalente, qu'il y ait un même dénominateur qui convienne pour
tous les exposants) — on continue bien sûr d'imposer que les
exposants soient eux-mêmes minorés. C'est-à-dire, si on préfère,
qu'une série de Puiseux est une série de Laurent en
t1/k pour un certain k
(qui dépend de la série, mais qui doit convenir pour tous les
coefficients de celle-ci). Il est trivial que la somme de deux séries
de Puiseux est encore une série de Puiseux, et il est facile de
vérifier que cela vaut aussi pour le produit (qui s'écrit formellement
comme on le devine), et que les séries de Puiseux forment un
corps.
? (Précisons que j'aurais pu poser la question pour chacune
séparément : il y a une certaine beauté à les mettre ensemble, mais
elle n'est pas du tout évidente.) Ce n'est pas la peine de chercher
dans le
Sloane, aucune des deux n'y est (et c'est tout à fait normal).
Comme promis, je vais tenter, en
une série de posts dans ce blog, de faire un peu de vulgarisation de
la géométrie plane, et je commence par parler de la géométrie
projective.
Alors, qu'est-ce que c'est que la géométrie projective ? C'est un
terme qui fait souvent peur (par exemple à mes agrégatifs ), et je n'arrive pas à comprendre pourquoi : la géométrie
projective, au contraire, c'est la plus simple qui soit, parce qu'il
n'y est question ni d'angles ni de distances, ni même de droites
parallèles, mais uniquement de droites qui se rencontrent et de points
alignés. La géométrie projective, donc, c'est celle que vous faites
si vous avez pour seul instrument une règle non graduée (et un papier
et un crayon, d'accord) : vous pouvez relier deux points par une
droite, vous pouvez trouver le point d'intersection de deux droites,
mais vous ne pouvez rien faire d'autre. Cela semble très facile ?
Pourtant, on entre déjà dans un monde assez riche.
Avant d'en dire plus, il faut que je torde le coup
à un des trucs qu'on associe typiquement à la géométrie projective :
les points à l'infini. Si vous voulez faire de la géométrie
projective, disons, sur une feuille de papier (qui est plutôt un
modèle de la géométrie euclidienne), vous allez régulièrement tomber
sur des droites qui se coupent loin hors de votre feuille de papier :
ça ce n'est pas grave, vous savez qu'elles se coupent quand même
(enfin, ce sera peut-être pénible pour faire la figure si vous devez
relier ce point d'intersection à un autre, mais il y a des astuces
pour y arriver quand même) ; et parfois les droites seront carrément
parallèles, c'est-à-dire qu'elles ne se coupent pas dans le monde
euclidien. Mais en géométrie projective (plane, bien sûr), deux
droites sont censées toujours se rencontrer : alors pour
faire quand même de la géométrie projective à partir d'un truc
euclidien, on rajoute un point fictif, qu'on appelle point à
l'infini, dans chaque direction de droite possible, et c'est le
point où se coupent toutes les droites parallèles ayant cette
direction. Vous pouvez l'imaginer très très loin dans un sens, ou
aussi bien dans l'autre puisque, après tout, seule la direction de la
droite compte, pas son sens. Et on regroupe tous ces points à
l'infini sur une droite fictive, la droite à l'infini.
Mais notez bien que la notion d'être à l'infini
n'existe pas en géométrie projective : pour celle-ci, ces
points à l'infini ou cette droite à l'infini n'ont rien d'inhabituel
ou de différent des autres, c'est uniquement parce qu'on cherche à
représenter la géométrie projective dans un contexte euclidien (ou,
plus exactement, affine) qu'il y a des choses qui partent à
l'infini.
Pour essayer de donner une
première image de la géométrie projective, je commence par les trois
figures ci-contre (à gauche). La première est une figure euclidienne
typique : une grille régulière, avec cinq droites parallèles
horizontales (rouges) régulièrement espacées, cinq droites parallèles
verticales (vertes) qui leur sont perpendiculaires et qui sont aussi
régulièrement espacées, et neuf droites diagonales (bleues) toujours
régulièrement espacées. Mais, je répète, aucune de ces notions
(parallèles, régulièrement espacées,
perpendiculaires) n'est une notion projective. La figure de
droite est, pourrait-on dire, la vision qu'a la géométrie projective
de la figure de gauche : projectivement c'est exactement la même
figure (cinq droites rouges qui concourent, cinq droites vertes
qui concourent, et neuf droites bleues, correspondant aux diagonales
des 25 intersections, qui concourent aussi). Pour passer d'une figure
à l'autre, on a appliqué ce qu'on appelle une transformation
projective ; simplement, le point de rencontre des droites vertes, ou
des droites rouges, ou des droites bleues, qui étaient à l'infini sur
la figure de gauche, a été ramené à distance finie (je répète que
projectivement ceci n'a pas de sens, j'explique simplement en quoi
diffèrent les représentations de la même figure projective) ; la
droite en pointillés est celle qui était à la droite à l'infini sur la
première figure : on a la confirmation que les points de rencontre des
droites rouges, des droites vertes et des droites bleues sont bien
alignés (ceci confirme qu'on a raison de décréter que les points à
l'infini constituaient collectivement une droite à l'infini).
Et la figure du milieu, alors ? Je l'ai mise là pour comparaison,
c'est la vision qu'a de la figure de gauche la géométrie
affine, dont je ne parle pas plus aujourd'hui. (Pour
résumer, en géométrie euclidienne, les trois figures sont distinctes ;
en géométrie affine, les deux de gauche sont la même et la troisième
est distincte ; et en géométrie projective les trois sont la
même.)
On m'a fait
remarquer que je n'essaie quasiment jamais, sur ce blog, et c'est
dommage, de faire de la vulgarisation mathématique : il y a à cela
toutes sortes de raisons, comme le fait idiot qu'il est très
fastidieux d'écrire des formules mathématiques, même
très simples, dans une page HTML (donc je préfère encore
le format PDF dès qu'il s'agit de faire quelque chose d'un minimum
sérieux) ; et puis il y a le fait fondamental que la vulgarisation
du savoir scientifique est un art très difficile, surtout quand on
sait qu'on sera lu aussi bien par des experts et par des gens qui n'y
connaissent rien, et qu'on doit s'arranger pour présenter les choses
de façon que les uns ne trouvent rien à redire (voire, trouvent ça
intéressant) et que les autres comprennent quand même ! Je me
contente donc le plus souvent de remarques rapides (et pas forcément très
compréhensibles) lorsque je tombe sur quelque chose qui m'excite
mathématiquement et qui soit vaguement communicable au profane.
Il y a cependant un sujet dont j'aimerais parler — mais je ne
sais pas encore sous quelle forme, parce que je risque d'avoir
nettement trop à en dire pour faire juste une entrée de blog, alors ce
serait peut-être un feuilleton, que je rassemblerais plus tard dans
une unique page HTML (avec encouragements à recopier ce
qu'on veut sur Wikipédia). Il s'agit de la géométrie plane.
Pourquoi la géométrie ? Parce que d'une part c'est un sujet qui
parle à tout le monde, qui ne rebute pas d'emblée, même les plus
réfractaires aux mathématiques : c'est généralement là que la notion
de démonstration passe le mieux. Mais d'autre part parce
qu'on peut quand même trouver énormément de choses mathématiquement
intéressantes à dire, autour de la méthode axiomatique, de la
géométrie projective (vue à la Artin et Coxeter), autour de la
géométrie algébrique, même. Et, tout simplement, parce que je suis
géomètre (c'est mon métier de chercheur, et c'est aussi quelque chose
sur quoi j'interviens comme enseignant dans le cadre de la prépa agreg
à l'ENS).
Malheureusement, qui dit géométrie dit
jolies figures à regarder. Et, mine de rien, c'est bigrement pénible
à réaliser correctement avec un ordinateur, des figures de géométrie.
À titre d'exemple, prenez la figure ci-contre, censée illustrer le théorème de
Desargues (qui assure que si deux triangles, coloriés sur la
figure, ont les sommets portés par trois droites concourantes, vertes
sur la figure, alors les points de rencontre des côtés correspondants,
en bleu sur la figure, sont alignés — enfin, il y a plein de
façons de lire la même figure, bien sûr, notamment comme la réciproque
de la même chose), un des théorèmes fondamentaux de la géométrie
projective. Ça n'a l'air de rien, mais ça a été un boulot important
de la produire (surtout que je voulais à la fois satisfaire mon idée
de comment les points devaient être placés et l'exactitude des
relations mathématiques d'incidence).
Et il n'y a pas que ça : il y a aussi la question
quel format graphique utiliser ?. En l'occurrence, cette image
est à l'origine un fichier SVG, un format
d'images vectoriel : seulement, je ne sais pas dans quelle mesure ce
format est nativement compris par les navigateurs Web typiques, donc,
ci-contre, j'ai utilisé une image PNG plutôt que de
mettre directement le SVG. Mais si vous cliquez sur l'image
(faites-le !), vous obtiendrez le SVG, ce qui permettra
de savoir si votre navigateur gère ce format (normalement l'image
devrait être la même).
Voilà que je n'ai encore rien dit et qu'il faut déjà que je
m'arrête. Mais je précise déjà quel serait mon but : il ne s'agirait
pas vraiment de parler d'un sujet précis en géométrie, mais plutôt
d'expliquer de façon compréhensible au non-mathématicien quels sont,
dans l'esprit du programme
d'Erlangen de Klein, les différents niveaux d'étude qu'on peut
faire de la géométrie plane et des structures qui l'enrichissent, que
je pourrais résumer par le tableau suivant :
Géométrie projective d=8
Géométrie elliptique d=3
Géométrie affine d=6
Géométrie hyperbolique d=3
Géométrie euclidienne d=3 (voire 4)
Pour dire les choses très succinctement, plus on descend dans ce
tableau plus on rajoute de la structure : alors que la
géométrie projective ne connaît que les droites et les points et une
relation d'incidence (un point est sur une droite, une droite passe
par un point), la géométrie affine a une notion de droites
parallèles, et la géométrie euclidienne a une notion de
distances et d'angles. Du coup, cela diminue les transformations qui
préservent cette structure : le nombre d que j'ai indiqué
dans le tableau mesure le nombre de degrés de liberté dont on dispose
encore, compte tenu de la structure imposée. Et de gauche à droite,
très grossièrement, on passe de la géométrie elliptique où deux
droites ne sont jamais parallèles, à la géométrie affine/euclidienne
où c'est un cas possible mais limite, et à la géométrie hyperbolique
où deux droites peuvent être, en quelque sorte, plus que
parallèles.
Comme je l'ai signalé à bien des
reprises, mes goûts mathématiques sont assez portés vers les
objets élégants et insolites qui pourraient figurer dans un musée des
curiosités du paradis platonique. Parmi mes préférés, vu mon domaine
de recherche, figure évidemment le( graphe de)s vingt-sept droites
sur la surface cubique : c'est en effet quelque chose d'assez
frappant que, même si les surfaces cubiques ne sont pas toutes identiques, toutes
(enfin, toutes celles qui sont lisses) ont 27 droites géométriques
tracées dessus et que la relation d'incidence sur ces droites
(c'est-à-dire lesquelles coupent lesquelles) et toujours la même ;
elles définissent donc une structure combinatoire (un graphe à 27
sommets, chacun étant relié à 10 autres) unique et remarquable[#]. Mais j'ai appris qu'il existe un
polyèdre (le polyèdre 221 de Schoute) qui code de
façon extrêmement élégante la structure de ces 27 droites : il s'agit
d'un polyèdre (convexe) à faces carrées, ayant 27 sommets,
correspondant aux 27 droites sur la surface cubique, de sorte que deux
sommets sont à distance 1 si les droites correspondantes ne se coupent
pas, et √2 si elles se coupent, et que les 45 triangles
équilatéraux de côté √2 définis par trois droites deux à deux
sécantes ont tous le même centre ; je ne peux malheureusement pas le
tracer puisqu'il vit dans un espace euclidien de dimension 6. Il est
toutefois très facile de donner les coordonnées de ses sommets : en
représentant des points de l'espace euclidien de dimension 6 comme des
triplets de nombres complexes, ce sont les
(0,ωa,−ωb),
les
(−ωb,0,ωa)
et les
(ωa,−ωb,0),
où a et b varient entre 1 et 3 et où ω est
une racine cubique primitive de l'unité.
[#] Rien que son groupe
d'automorphismes, le groupe de Weyl d'un système de racines de
type E6, à 51840 éléments, est un objet remarquable en lui-même,
et qui apparaît à des endroits inattendus des mathématiques.
Le cruel Docteur No a capturé 100 mathématiciens pour les soumettre
à une épreuve démoniaque. Il a placé (dans un ordre connu de lui
seul) le nom de chacun des 100 mathématiciens dans autant de boîtes
numérotées de 1 à 100. Après avoir permis aux mathématiciens de se
concerter, il va les soumettre à son épreuve dont il leur communique
les termes : il empêchera toute communication entre eux et les
emmènera, dans un certain ordre, dans la pièce où se trouvent les 100
boîtes. Lorsqu'un mathématicien est dans la pièce, il pourra ouvrir
une boîte de son choix pour lire le nom qui y figure, puis, s'il le
souhaite, en ouvrir une autre, puis éventuellement une autre, et ainsi
de suite jusqu'à 50 boîtes au maximum. (Les boîtes sont, bien
entendu, refermées avant le passage du prochain mathématicien, puisque
toute communication est interdite après la concertation initiale.) Le
but de chaque mathématicien, lorsqu'il passe dans la pièce contenant
les boîtes, est d'ouvrir la boîte contenant son nom (parmi les ≤50
boîtes qu'il peut ouvrir). Si chaque mathématicien a réussi
à ouvrir la boîte contenant son nom, alors le Docteur No les libérera
tous. Si ne serait-ce qu'un seul n'a pas réussi, alors le
Docteur No tuera tous les mathématiciens avec ses tortures
particulièrement raffinées.
Si chaque mathématicien ouvrait bêtement 50 boîtes au hasard, il
aurait une chance sur deux de voir son nom dans l'une d'elles, et la
probabilité que tous les mathématiciens réussissent le test
(donc soient libérés) serait d'une chance sur 2 puissance 100 (en gros
une chance sur un quintillion, ce qui ne pèse pas très lourd). Mais
comme ce sont des mathématiciens, ils vont trouver une solution bien
plus intelligente. En fait, ils élaborent une
stratégie qui leur permet d'avoir plus de 30% de chances de s'en
sortir. Comment font-ils ?
Mon propos n'est pas de donner la réponse à cette énigme (qui m'a
demandé un bon moment de réflexion, d'ailleurs), je le ferai
éventuellement plus tard (mais sans doute quelqu'un se dévouera-t-il
dans les commentaires), mais de faire le parallèle avec d'autres. Il
y a en effet toutes sortes d'énigmes bien connues dans ce genre, et
qui font souvent appel au Docteur No et à nombre variable de
mathématiciens.
OK, ça fait une semaine que je n'ai rien écrit, et
pourtant je me me suis pas pendu. Je plaide coupable, tout ça tout
ça… J'ai fait des maths.
La situation de ma recherche n'est pas ce que je croyais : j'ai réussi à
contourner les problèmes (1) et (2), et à démontrer un résultat
vaguement intéressant en utilisant un théorème un peu différent et en
considérant une situation un peu plus générale pour laquelle le
problème n'est pas trivial. Tout est pour le mieux ? Pas tant que
ça : le lemme technique que j'avais démontré, lui, s'avère être déjà
connu (un lemme essentiellement équivalent est démontré dans un
article de 1986, au moins, que mon directeur de thèse a déniché).
Certes, c'est satisfaisant d'avoir redémontré indépendamment quelque
chose de déjà connu (cela veut dire que je suis, d'une certaine
manière, « sur la bonne piste »), mais cela fait aussi que mon
résultat final, même s'il est vaguement intéressant, est quand même
trop simple pour en faire un article (malheureusement, on ne juge pas
les résultats uniquement à leur énoncé mais aussi à la longueur de
leur démonstration). Solution possible : le généraliser, en utilisant
une version plus forte du lemme qui a été démontrée depuis ; mais ça
risque d'être extrêmement difficile, et en tout cas je vais devoir
potasser beaucoup de grothendieckeries (la cohomologie étale de
variétés singulières) avant d'avoir la moindre chance d'y arriver.
En attendant, je dis un mot d'un résultat (« classique », si j'ose
dire) sur lequel je suis tombé par hasard dans un livre, qui a un
rapport lointain avec ce sur quoi je réfléchis en ce moment, et que je
trouve extrêmement joli. J'ai déjà dû
raconter que j'éprouvais une fascination particulière, en
mathématiques, non tant pour les théorèmes que pour certains objets
remarquables et particulièrement élégants que l'on peut admirer dans,
pour ainsi dire, le musée des curiosités du paradis platonique. En
l'occurrence :
La variété sécante de la surface de Veronese dans
P5 est une hypersurface cubique.
Alors j'essaie d'expliquer ce que ce charabia veut-dire. D'abord,
Veronese, ce n'est pas le peintre,
c'est le
mathématicien. La surface de
Veronese (dans P5, i.e., dans l'espace
(projectif) de dimension 5) est un très joli objet mathématique, dont
il est malheureusement difficile de donner une image vu qu'elle habite
un espace à cinq dimensions (on peut cependant en représenter une
projection, ou surface de Steiner) : il s'agit de la surface
définie paramétriquement par les équations
(v,w)↦(v²,w²,vw,w,v),
autrement dit, l'image du plan par le système complet de degré deux,
(sauf qu'il est plus commode et plus élégant de travailler dans
l'espace projectif, c'est-à-dire en rajoutant les points à l'infini,
auquel cas le paramétrage devient
(U:V:W)↦(U²:V²:W²:VW:UW:UV)
en coordonnées homogènes, et on voit bien apparaître tous les monômes
de degré 2). Elle a notamment la propriété remarquable que n'importe
quelle conique du plan en est une section hyperplane (i.e. : si vous
coupez la surface de Veronese, qui vit dans l'espace de dimension 5,
par un hyperplan de dimension 4, vous obtenez l'image — par le
paramétrage ci-dessus — d'une conique plane, et toute conique
s'obtient de la sorte) ; et si vous l'intersectez avec un espace
linéaire de dimension 3, il reste quatre points dans l'espace (on dit
donc que la surface de Veronese en question est de degré 4).
Maintenant, la variété sécante (de la surface de Veronese), c'est
la réunion de toutes les droites passant par deux points de la surface
(et les limites de telles droites). Comme on part d'une surface, donc
d'un objet de dimension 2, et que pour chaque couple de points sur
cette surface on prend la droite qui les relie, qui est de
dimension 1, on s'attend à ce qu'en réunissant ces droites on obtienne
un truc de dimension 2+2+1=5, donc tout l'espace. Eh bien non ! En
fait on n'obtient qu'un truc de dimension 4, parce que n'importe quel
point de la réunion est situé, en fait, sur une famille à un paramètre
de telles droites (donc il y a une dimension qui tombe). Si vous
voyez dans l'espace à cinq dimensions (ce qui n'est pas mon cas,
hélas) ça vous fait une configuration géométrique extrêmement jolie.
Et ce truc de dimension 4, cette variété sécante à la surface de
Veronese, a le bon goût d'être une hypersurface cubique (une droite
générale de P5 rencontre en trois points des droites
reliant deux points de la surface de Veronese) ! Algébriquement, cela
correspond à la relation cubique remarquable suivante :
(AU²+BU′²)·(AV²+BV′²)·(AW²+BW′²)
+
2(AVW+BV′W′)·(AUW+BU′W′)·(AUV+BU′V′)
=
(AU²+BU′²)·(AVW+BV′W′)²
+
(AV²+BV′²)·(AUW+BU′W′)²
+
(AW²+BW′²)·(AUV+BU′V′)²,
entre les six quantités
AU²+BU′²,
AV²+BV′²,
AW²+BW′²,
AVW+BV′W′,
AUW+BU′W′
et
AUV+BU′V′.
Cette hypersurface cubique a pour points singuliers exactement les
points de la surface de Veronese. Si on la coupe par un hyperplan
général, on obtient une hypersurface cubique qui est la variété
sécante d'une courbe rationnelle normale de degré 4 (qui sont ses
points singuliers). Si on la coupe par un espace linéaire de
dimension 3 général, on obtient une surface
cubique de Cayley, la seule surface cubique ayant quatre points
singuliers (donc si on veut, l'hypersurface de dimension 4 dont on
parle est la réunion de toutes les surfaces de Cayley ayant pour
quatre points singuliers n'importe quels quatre points sur la surface
de Veronese).
Bref, voilà de la très jolie géométrie, où mes « yeux » de géomètre
algébriste me permettent de voir quelque chose qui, vivant en
dimension 5, n'est pas évident à visualiser, mais dont je perçois
quand même la beauté.
J'ai passé des semaines à réfléchir sur un problème, à élaborer une
stratégie de démonstration, à commencer à la rédiger, à me rendre
compte d'erreurs, à les corriger, à trouver des erreurs dans ma façon
de corriger les erreurs, à contourner ces erreurs, à croire que je
touchais au but, pour finalement m'apercevoir aujourd'hui que (1) le
résultat principal sur lequel je comptais appuyer toute ma
démonstration est faux (je m'étais trompé en croyant me souvenir d'un
théorème censément bien connu) et (2) de toute façon, le problème sur
lequel je réfléchissais admet une réponse en deux lignes complètement
évidente (i.e., le problème lui-même est sans intérêt). Je ne sais
pas ce qui est le plus frustrant, entre (1) et (2), d'ailleurs.
Je me retrouve avec sur les bras un lemme technique qui m'a coûté
très cher et qui a l'air de ne pouvoir servir dans aucun autre
contexte que celui qui s'avère sans objet.
Quelqu'un a une corde, pour que je puisse me pendre ?
Malheureusement, je n'ai pas encore réussi à mettre les mains sur
un lecteur de DVD de salon (avec une vraie télévision
dessus, et tout et tout) pour le tester… (Enfin, plus
exactement, j'ai pu faire un essai et ça n'a pas marché, mais c'était
très vraisemblablement un problème de support, i.e., un
DVD+R mal finalisé, et pas un problème avec l'image
elle-même, donc ça ne me dit rien.) Je serais donc reconnaissant à
quelqu'un qui pourrait faire l'essai et me confirmer qu'il marche
bien : d'ici là, je m'abstiens de faire trop de publicité pour ce
truc, puisque s'il s'avère qu'il ne marche pas bien sur les lecteurs
de salon je devrai le refaire.
J'ai eu une idée saugrenue : à force de faire des vidéos de surfaces cubiques, je vais en
réaliser un DVD. En effet, je n'arrête pas, en ce
moment, de calculer des vidéos de ce genre : pas seulement des
surfaces cubiques qui tournent, mais aussi qui se déforment les unes
en les autres, des singularités qui se créent ou qui fusionnent, etc.
Au début, c'était pour m'aider à me faire une représentation mentale
des singularités possibles, mais il y aussi un aspect artistique parce
que certaines de ces vidéos sont extrêmement jolies. À vrai dire,
même en ayant fait une thèse sur le sujet, je ne me rendais pas compte
à quel point ces surfaces de degré trois admettaient une incroyable
richesse de formes, donc je m'émerveille de voir tout ce que j'arrive
à faire voir.
Bon, la réalisation technique risque de poser encore quelques
problèmes. Pour l'instant, je calcule des animations de 300 images
que je fais répéter 5 fois, ce qui fait une vidéo d'une minute
chacune, qui met autour d'une demi-heure à calculer — enfin, je
peux facilement en faire deux en parallèle puisque mon ordinateur est
un dual-core, et je pourrais faire plus en faisant appel à d'autres
machines, donc ce n'est pas vraiment ça le facteur limitant. Ce qui
sera plus délicat, si je veux faire un « vrai » DVD
(lisible sur un lecteur de salon) ce sera de faire une structure de
menus, de rajouter des explications, et de trouver les foutues options
à utiliser (dans mencoder) pour faire
une vidéo lisible partout.
Ensuite il faudra voir comment distribuer le résultat, aussi :
j'ouvrirai un torrent, mais
ce serait bien de pouvoir proposer à des gens intéressés d'en avoir
une version gravée.
J'avais déjà réalisé des images de surfaces
cubiques lisses, comme celle qui décore cette entrée ou les
deux que j'ai mises au frontispice de ma thèse ; mais cette fois, pour
m'aider à lire le texte de Cayley dont je
parlais hier j'ai fait quelques vidéos de surfaces cubiques ayant
des singularités. Vous pouvez donc admirer :
On raconte souvent que les mathématiques sont des choses qui sont
éternellement vraies et que les textes mathématiques ne vieillisent
donc pas… c'est un peu exagéré.
J'avais besoin de résultats sur les types de singularités possibles
pour une surface cubique. De fil en aiguille, j'ai remonté des
références jusqu'à un mémoire d'Arthur Cayley de
1869 où il classifie complètement (en vingt-trois cas) les lieux
singuliers possibles d'une surface cubique, et je me suis dit que
j'allais essayer de regarder ça (après tout, 1869, ai-je pensé, ce
n'est pas si vieux). Premier souci, je n'avais pas le titre
exact du mémoire en question (seulement une référence à Cayley's famous memoir on cubic surfaces ; de fait,
il s'avère que le titre exact est bien : A Memoir on Cubic Surfaces, comme quoi M. Cayley
n'avait pas énormément d'originalité dans les choix de ses titres).
Je rentre juste le nom d'auteur dans le catalogue de notre bibliothèque,
et il me renvoie sur les œuvres complètes du Monsieur,
lesquelles sont en réserve, en 13 volumes plus un volume d'index. Je
demande donc à la bibliothécaire si je peux consulter le volume
d'index, mais au début elle ne le trouvait pas (probablement parce que
c'est un volume un peu plus petit que les autres et qu'on vient de
déménager récemment donc peut-être la réserve n'est-elle pas encore
bien rangée) : elle m'a donc suggéré quelques pistes pour trouver une
version numérisée sur Internet. De fait, on en a trouvé une, dans les
collections
mathématiques historiques de l'Université du Michigan ; mais, de
toute manière, en cherchant un peu plus, on a fini par me retrouver
l'index dans la réserve, et j'ai pu faire sortir le bon volume (le VI,
pour être précis). Qui, bien sûr, n'était même pas coupé : donc j'ai
dû déranger de nouveau les bibliothécaires pour qu'on me trouve un
coupe-papier (et ça non plus, ça n'a pas été facile).
Bon, comme ça n'a pas été facile, je vais moi-même
mettre ce « fameux » mémoire sur Internet (puisque Cayley est mort il
y a nettement plus de 70 ans, ça devrait être bon, et je doute que
l'Université du Michigan m'ennuie au sujet de la façon dont les pages
sont scanées) : voici donc A
Memoir on Cubic Surfaces, by Arthur Cayley
(Phil. Trans. R. Soc. London, 159 (1869),
231–326) [PDF, 6.1Mo], et une version réduite
à 2 pages sur 1 plus commode à imprimer sur du papier A4.
(J'aurais voulu mettre une version DjVu plutôt que
PDF, parce que c'est quand même plus adapté pour un
document scané, mais je ne trouve rien pour convertir l'un en l'autre
de façon propre.)
Mais bon, une fois qu'on a l'article, les difficultés ne sont pas
finies : les notations et la terminologie mathématique utilisées par
Cayley sont, pour une bonne part, incompréhensibles pour un géomètre
algébriste moderne : par exemple, ce qu'il appelle un point de type
C2 s'appellerait aujourd'hui une singularité de type
A1, je ne suis pas sûr de comprendre ce qu'il appelle un
bord torsal d'un point biplanaire, ni ce qu'est la courbe spinodale
(même si je devine vaguement que c'est la courbe des points dont le
plan tangent intersecte la cubique en une courbe ayant un cusp en ce
point). Je ne sais pas si je vais vraiment pouvoir en tirer quelque
chose, de cet article.
Je me disais que je pourrais peut-être faire des graphismes de ces
différents types de singularités, mais, évidemment, quelqu'un y a pensé avant :
il y a même un site Web
consacré aux surfaces singulières, avec visualisation en Java. Et
pour quelque chose de plus traditionnel, je suis sûr qu'en cherchant
un peu à l'IHP ou au Palais de la Découverte on pourrait
me trouver des jolis modèles poussiéreux comme on en faisait autrefois
représentant « en dur » toutes sortes de surfaces cubiques
singulières.
Pour en savoir plus sur l'histoire des surfaces cubiques, voyez ici.
I can't tell from a superficial inspection whether this is correct
(such spectacular claims require a great deal of prudence, although
superficially it seems to make sense, and the authors obviously aren't
crackpots); but if it is, (a) its authors might be eligible
for a $1000000 prize and (b) a number of people I know will be
quite disappointed.
Update: The authors just posted a revised version
of the article, with the following comment: We no longer claim to
have disproved the Hodge conjecture. Section 5 is deleted except for
5.3, and Theorems 6.2,6.3 are deleted.
Petit exercice de géométrie dans l'espace (a priori compréhensible,
et pourquoi pas résoluble, par n'importe quel lycéen) qui me semble
particulièrement joli :
Soient a et b deux longueurs. On considère
(dans l'espace euclidien de dimension 3, donc) un triangle équilatéral
P0P2P4 de côté 2a. On appelle
respectivement C1, C3 et
C5 les cercles de rayon b ayant pour
centres respectifs les milieux de [P0P2], [P2P4] et [P4P0] et pour axes respecifs les droites portant
ces mêmes segments. (Ainsi, si P1 est un point
quelconque de C1, par exemple, alors les
distances P0P1 et
P1P2 valent toutes les
deux c où a²+b²=c².)
Supposons maintenant que P1 soit un point de
C1 tel qu'il existe deux points distincts sur
C3 (et donc aussi sur C5)
à distance 2a de lui. Appelons P3 un
de ces points, et P5 le point de
C5 qui n'est pas « le même » (j'espère qu'on me
comprend[#]).
Montrer que P1P3P5 est équilatéral (c'est-à-dire que la distance
de P3 à P5 est elle aussi
2a).
J'ai une solution purement calculatoire (que je ne présenterai[#2] pas ici, parce qu'elle est assez
fastidieuse). Je félicite d'avance celui qui me trouvera une
démonstration courte, élégante et purement géométrique (sans calcul)
de ce fait.
J'ai trouvé ce truc en digérant un oral d'agreg auquel j'ai assisté hier.
Je laisse donc en question subsidiaire le problème de savoir quel est
le rapport entre cet exercice et le titre de l'entrée (les
conformations du cyclohexane, et notamment la question de la rigidité
d'une conformation : pour fixer les idées, on appellera
cyclohexane un hexagone pas nécessairement plan, dans l'espace,
dont tous les côtés valent c et dont tous les angles valent
un certain angle φ, avec mettons
cos(φ/2)=b/c et
sin(φ/2)=a/c).
Il faut essayer d'imaginer la cinématique de la chose : on fixe le
triangle équilatéral P0P2P4 et le triangle équilatéral
P1P3P5, de même côté, bouge en gardant constantes
toutes les distances P0P1, P1P2, P2P3 jusqu'à P5P0. J'ai vaguement montré, aussi, qu'on peut
passer continûment de l'une à l'autre des deux configurations
possibles pour P1 donné (le mouvement du
triangle P1P3P5 suit un cycle que j'aimerais bien voir
illustré graphiquement).
Selon toute probabilité, ce truc porte le nom d'un illustre
mathématicien d'un siècle passé, mais je ne sais pas lequel.
Mise à jour
(2006-07-21) : Pierre Dehornoy a trouvé une solution, que je reproduis
ici :
Soit r la rotation autour de l'axe
(P1P4) qui envoie
P0 en P2. Elle envoie
alors le milieu de [P0P4]
sur celui de [P2P4], donc
elle envoie C5 sur
C3. Comme P1 est sur l'axe
de r, et que P1P5 = P1P3, r envoie P5
sur P3 (et non sur l'autre point qu'on a pas
choisit, ca ca se voit en regardant l'ordre des points sur leur
cercle). r envoie donc P0 en
P2 et P5 en
P3.
Or ce qu'on veut montrer c'est P3P5 = P0P2, il suffit donc de montrer que la distance de
P5 à l'axe de r est la même que celle
de P0 à ce même axe.
Comme P1P5 =
P4P0 = 2a, et
que P1 et P4 sont sur
l'axe, il suffit de montrer que l'angle P4P1P5 est égal à l'angle
P1P4P0. Et pour cela une condition suffisante est
que les triangles P4P1P5 et P1P4P0 soient isométriques
dans cet ordre. Or on a P4P1 = P1P4, P1P5 = P4P0 = 2a et P5P4 = P0P1 = c.
[#] S'il y a vraiment
besoin d'explication : P3 et
P5 sont deux points de C3
et C5 respectivement situés chacun à distance
2a de P1, et on suppose que
P5n'est pas le point de
C5 obtenu à partir de P3
par symétrie par rapport au plan contenant
C1.
[#2] Voici cependant le
principe : on écrit le paramétrage rationnel standard (c'est-à-dire du
style ((1-u²)/(1+u²),
(2u)/(1+u²))), en fonction d'une variable
u disons, du point P1 décrivant le
cercle C1, et pareil avec des variables
v et w pour les points P3
et P5. On appelle
P(u,v) le polynôme, de degré 2 en
chacune de ses variables, tel que
P(u,v)=0 exprime le fait que la
distance P1P3 vaille
2a, et bien sûr P(u,w)=0
exprime de même le fait que P1P5 vaille 2a. Il s'agit donc de
vérifier que si v et w sont les deux racines (à
u fixé) de l'équation quadratique
P(u,t)=0 (en t), alors
automatiquement P(v,w)=0. Or le
polynôme P est symétrique en ses deux variables, donc le
fait que P(v,w)=0 se vérifie en
connaissant la somme et le produit de v et w, et
ces deux quantités sont connues, si v et w sont
les deux racines de P(u,t)=0, en
fonction des coefficients de cette équation, qui sont des polynômes de
u. Il y a donc simplement un calcul facile, quoique
fastidieux, à mener pour arriver au bout.
Je reviens du lycée Marcelin Berthelot de Saint-Maur des Fossés où
se déroulent (pour encore un jour) les oraux de l'agreg de maths. Il y a cette année
une nouvelle option à l'agreg de maths, algèbre et calcul
formel (il s'agit d'une épreuve de modélisation, c'est-à-dire en
gros de commentaire de texte avec simulation sur ordinateur), et comme
je m'occupe de la préparation à celle-ci pour l'ENS, je
joue l'espion en assistant à quelques oraux pour apprendre un peu les
sujets des textes proposés par le jury (on ne peut pas voir les textes
eux-mêmes, et les candidats doivent les rendre, mais les oraux sont
publics et quand on y assiste on a une bonne idée de quoi ça parle
— même s'il est interdit de prendre des notes, on a évidemment
le droit de retenir tout ce qu'on veut dans sa tête).
Certains textes ont manifestement été préparés à la hâte.
D'autres, en revanche, renferment des petites surprises : un de nos
agrégatifs, par exemple, est tombé sur un texte sur les canons en
musique (je crois que je devine d'où il est sorti, celui-là, il va
falloir que je ré-épluche quelques numéros de la Gazette des
mathématiciens) ; et un oral auquel j'ai assisté parlait des
conformations de la molécule de cyclohexane (ça peut surprendre pour
un texte de maths et surtout d'algèbre, mais en fait il
s'agit d'un prétexte pour regarder la géométrie, sous l'angle de la
géométrie algébrique, des hexagones dans l'espace dont tous les côtés
ont la même longueur et tous les angles la même valeur). Le jury en
question était celui présidé par Jean-François Mestre,
un mathématicien qui est aussi très bon pédagogue (je le sais parce
que c'est lui qui donnait les cours d'algèbre quand j'étais en
première année à l'ENS) et qui aime parfois jouer au
mathémagicien, si j'ose dire, c'est-à-dire montrer un phénomène
mathématique sous forme un peu surprenante — voire ludique
— et demander de l'expliquer, et là ça n'a pas manqué (et là
votre résultant, numériquement, vous pensez qu'il est nul ? vous
sauriez l'expliquer ?). D'ailleurs, sur le coup, j'ai été assez
stupéfait de son tour de magie (j'attends de l'avoir mieux compris
pour en dire plus).
Il y a aussi des moments un peu embarrassants. J'ai assisté à un
oral (une leçon) d'informatique fondamentale (autre option nouvelle
cette année, l'informatique), où le candidat a été tellement mauvais,
et il s'en rendait compte, que j'en avais mal pour lui. Il y aussi un
Monsieur gentil et tout timide, qui ne devait pas être bien loin de la
retraite, qui passait l'agreg, et qui venait assister à d'autres oraux
(souvent le public est, ainsi, formé d'autres candidats) : il m'a
demandé si moi aussi je passais l'agreg, et j'ai répondu sans trop
réfléchir que, non, moi je l'avais passée huit ans plus tôt ; à la
réflexion, j'aurais sans doute dû mentir plutôt que de faire cette
réponse.
Here is wisdom. Let him that hath understanding count the number of
the beast: for it is the number of a man; and his number is Six
hundred threescore and six. (Rev 13:18)
Une des bonnes nouvelles de la journée, pour moi, c'est la liste
d'admissibilité de l'Agreg de maths, puisque nous avons eu 100%
d'admissibles. Ce n'est pas comme si c'était une surprise énorme,
certes, mais j'avais tout de même un peu d'inquiétude —
notamment parce que le ministère a beaucoup baissé le nombre de places
cette année — concernant un ou deux élèves[#]. Pour la suite j'ai par ailleurs
quand même des doutes sur la possibilité de battre le record de l'an dernier (entre autres, la
façon dont seront notées les nouvelles options reste un grand
mystère).
Indépendamment de ça, j'ai pris une
décision, qui est de rester à Paris l'an prochain (de ne pas
partir à Lyon, donc). La proposition qu'on m'avait faite était très
intéressante mais, tout bien considéré, pour probablement seulement un
an le déplacement n'en valait pas la peine. Bon, me connaissant, je
vais probablement le regretter, mais il fallait faire un choix, alors
voilà, il est fait.
Tant que j'y suis à parler boulot : je donne un exposé vendredi en
quinze (le 23, donc) au séminaire
Variétés rationnelles sur un très beau résultat de Kollár. Non
seulement le théorème est joli, mais la démonstration a été l'occasion
pour moi de comprendre à quoi pouvait servir le théorème d'annulation
de Kawamata-Viehweg (dont l'énoncé me semblait, a priori, assez
sibyllin[#2]).
Hors de ça, j'ai l'impression de passer un temps dingue à écrire
des mails. Pas que j'en écrive tant que ça, mais je peux passer des
heures à écrire trois lignes, parfois, pour trouver exactement les
mots qui conviennent.
[#] Inquiétudes tout à
fait injustes, n'est-il pas : personne n'oserait suggérer que certains
agrégatifs passent en fait leurs journées à jouer à WoW…
quand même ? Mais bon, à tout hasard, si quelqu'un a
une suggestion pour faire apparaître l'agreg comme un jeu vidéo en
ligne où on dégomme des développements et quand on arrive au niveau 60
on est admis, je suis preneur…
[#2] Le mieux que j'aie
entendu est : Kawamata-Viehweg, c'est Kodaira pour les
log-structures ; mais bon, je ne trouve pas que ça Éclaire tant que
ça, en fait.
Conversations de matheux, corps à un élément, apprentissage et petits gâteaux
Le mercredi après-midi, au département de maths de
l'ENS, nous avons notre thé hebdomadaire : tout le monde
(enseignants, chercheurs, invités de passage, étudiants… et
quelques informaticiens déçus qu'il n'y ait rien de tel dans
leur département), enfin, tous ceux qui veulent venir, se
retrouve en salle Jean-Louis
Verdier[#] pour partager
thé[#2], jus d'orange et petits
gâteaux achetés sur les fonds secrets du département
(enfin, aujourd'hui, on était à court de petits gâteaux, mais
normalement il y en a). Et c'est décidément un moment très
convivial.
La conversation, naturellement, outre les sujets récurrents chez
les normaliens[#3], tourne autour
de potins et de ragots mathématiques[#4], mais aussi autour de
mathématiques proprement dites, souvent de façon plus ou moins
ludique. Par exemple on évoque régulièrement des résultats
mathématiques qui nous semblent particulièrement surprenants, ou
choquants : le fait que la somme de deux convexes du plan de frontière
C∞ a une frontière C6 mais
pas C7 en général ; le fait que toute variété
différentiable homéomorphe à Rn est
difféomorphe à Rnsauf pour
n=4 ; le fait qu'une série de distributions delta, en des
points tous distincts, pondérées par des coefficients tous non nuls
peut converger vers la distribution nulle ; etc. Nous avons également
débattu de savoir quel style de rédaction mathématique offre la plus
grande clarté (vaut-il mieux une démonstration compréhensible ligne à
ligne et dont la rigueur est inattaquable mais dont on ne parvient pas
à dégager les idées directrices générales, ou au contraire une
démonstration qui fasse clairement ressortir les idées sous-jacentes
mais demeure perfectible dans beaucoup de détails parfois fastidieux à
compléter ? et comment parvenir à allier les qualités de ceux styles
tout en évitant leurs défauts ?).
Aujourd'hui, nous[#5] nous sommes mis à papoter sur le
corps à un élément et sur le corps résiduel des
réels. Cela va sembler complètement sibyllin aux
non-mathématiciens, mais il s'agit (surtout pour le premier) d'une
fantaisie récurrente des algébristes (dont le statut varie, selon les
circonstances, entre de la recherche sérieuse et une blague de
matheux) ; la plupart des personnes ayant fait des maths au niveau du
second cycle savent bien qu'un corps doit avoir au moins deux éléments
(à savoir 0 et 1, qui ne coïncident que dans l'anneau nul, ce dernier
n'étant pas un corps) : mais il se trouve qu'un nombre
important de résultats d'algèbre ou de théorie des nombres semblent
pouvoir s'expliquer, par analogie, comme si elles provenaient de
l'existence d'un objet que, à l'heure actuelle, personne ne sait
définir correctement (et qui n'est certainement pas un corps au sens
usuel, et qui n'a probablement pas non plus un élément en aucun sens
naïf[#6]) mais que suite à ces
analogies on appelle corps à un élément (sur lequel, notamment,
l'anneau des entiers serait une algèbre), F1. Là où
il s'agit d'une blague, c'est quand on se met à explorer les analogies
les plus fumeuses sur le corps à un élément, du style :
comme tout corps fini, le corps à un élément à une extension de
degré n, qui est le corps à 1n
éléments, qui n'est bien sûr pas la même chose que le corps à un
élément ; et il a un frobenius, qui est l'élévation à la puissance 1,
qui n'est bien sûr pas l'identité… si vous êtes un être
humain normal, donc pas un algébriste, il est sans doute naturel que
vous ne trouviez pas ça drôle. Là où c'est plus
sérieux, c'est quand on espère qu'une définition rigoureuse de cet
objet mystérieux permettrait de tirer correctement des analogies :
notamment, l'hypothèse de
Riemann (dont la tête est
mise à prix) aurait des chances de pouvoir être abordée comme
l'analogue des conjectures de
Weil (qui, comme leur nom ne l'indique pas, sont maintenant des
théorèmes) pour le spectre des entiers vu comme variété sur le corps à
un élément. Malheureusement, si des définitions partielles ont été
proposées pour le corps à un élément (ici
et là par
exemple), non seulement aucune n'est complète (aucune, notamment, ne
permet de donner un sens intelligent au produit tensoriel de Z
avec lui-même au-dessus de F1) mais en plus elles ne
sont pas d'accord entre elles. Quant au corps résiduel des réels,
c'est quelque chose dans le même style… ce serait un corps fini
qui aurait la bizarre propriété d'avoir une unique extension, de degré
deux (le corps résiduel des complexes) qui soit algébriquement close ;
là, personne n'a trop d'idée de combien d'éléments il serait censé
avoir (on peut donner des arguments pour 0, 1, 2, 3, ou même
2.718… ou une infinité ; personnellement, j'ai tendance à
croire qu'il a un seul élément mais dont deux sont non nuls !).
Bon, heureusement, pendant que certains mathématiciens se demandent
combien d'éléments a un corps à un élément, d'autres font des choses
utiles, comme se pencher sur les manières de construire un filtre à
spam efficace : mes collègues statisticiens organisent à
l'ENS un colloque sur les fondements
mathématiques de l'apprentissage, ou comment apprendre (à un
ordinateur, disons), à partir d'un échantillon de données et de
réponses associées (du style, ceci est un spam, ceci n'est pas un spam
— mais je ne voudrais pas donner l'idée que l'apprentissage ne
sert qu'à trier le spam !), à tirer des réponses correctes sur
d'autres données. Par exemple, le filtre à spam que j'utilise,
qui est essentiellement un filtre bayesien avec quelques
améliorations (comme je ne suis pas statisticien, je ne comprends
pas grand-chose, là), a tendance à se faire avoir à cause du problème
suivant : quasiment tous les mails que je reçois en anglais sont du
spam, contre très peu des mails en français — du coup, au lieu
d'apprendre à reconnaître le spam et le ham (= non-spam), il a surtout
appris à reconnaître l'anglais du français, et quand on m'envoie un
mail en anglais, très souvent il passe à la poubelle… alors
je me sens assez concerné par ce genre de questions !
[#] Note mentale : il
faudra créer un article Wikipédia sur Verdier.
[#2] Il est vrai que
c'est plutôt le café que les matheux sont censés transformer en
théorèmes, mais il faut un peu de tout : avec du thé on produit
des conjectures, l'espresso donne des lemmes, le capuccino des
corollaires, le jus d'orange des définitions, etc. En revanche, il
faut éviter le déca : avec ça, on produit des contre-exemples —
ça a la saveur d'un théorème, mais on send bien qu'il manque quelque
chose. Et évidemment, le Coca-Cola, lui, donne des programmes
informatiques.
[#3] Comme
l'incompréhension totale devant les dernières mesures prises par les
responsables hygiène et sécurité de l'établissement, ou la
difficulté de trouver un quatrième partenaire pour jouer au
bridge.
[#4] En cette saison de
l'année, ce genre de potins prennent assurément une tournure la vie
est dure, mais ce n'est pas toujours le cas. Un de mes collègues
soutient bientôt sa thèse, alors on discutait de comment il faut
décoder les phrases dans les rapports du jury : si c'est écrit
a prouvé de bonnes qualités d'enseignant, ça veut dire qu'ils
pensent que tu es un mauvais chercheur…
[#5] Nous, en
l'occurrence, c'est surtout Xavier Caruso et moi.
Il peut tout nier mais des gens l'ont vu.
[#6] D'ailleurs, on
remarquait justement que, selon les auteurs, le corps a un élément
semble avoir (au sens du nombre de points de le droite affine sur ce
corps…) deux ou trois éléments. Mais si on
tient absolument à avoir une réponse intuitive, l'idée serait que le
corps à un élément a un 1 mais n'a pas de 0 — explication à ne
pas prendre très au sérieux, cependant !
J'ai encore fait une folie en
achetant (à plus de 150€ — argh !) le volumineux Field Arithmetic[#] de Michael Fried et Moshe Jarden
(2e
édition). Une folie, certes, mais un rapide coup d'œil à la
table des matières a suffi à me convaincre que je devais
acheter ce livre, et après avoir examiné un peu plus longuement le
contenu je suis conforté dans cette conclusion : je ne vais pas le
regretter.
Quand j'étais petit, je pensais naïvement que la structure
mathématique de corps était une structure si rigide qu'il n'y
avait pas grand-chose à dire (ou que la théorie de Galois nous disait
à peu près tout ce qu'il y avait à savoir, puisque les corps sont
construits à partir des rationnels ou des corps finis en prenant des
extensions algébriques — qui sont bien comprises — et des
extensions transcendantes « sur lesquelles il ne doit pas y avoir
grand-chose à dire »). Ha ! S'il y avait besoin de montrer que ce
raisonnement était idiot, le fait que ce livre fasse plus de
700 pages, et densément peuplées, est significatif.
Ce qui est fascinant, c'est comme le sujet — l'arithmétique
des corps — dresse un pont entre l'arithmétique, la géométrie
algébrique, la théorie des groupes, et la logique (la théorie des
modèles), en passant évidemment par la question centrale du problème
de Galois inverse (j'en ai dit un mot
récemment). Il y a là ce qui suscite mon intérêt mathématique le
plus profond : et ce n'est pas une coïncidence ; d'ailleurs, un résultat récent de Kollár, dont j'ai
déjà parlé ici (et que j'exposerai à la séance de juin du séminaire
Variétés rationnelles), s'inscrit complètement dans ce
cadre. Beaucoup des résultats énoncés dans ce livre me sont déjà
familiers, bien sûr, mais parfois seulement comme « folklore », et ce
qui est certainement remarquable c'est de les trouver aussi
commodément rassemblés dans un seul tome.
(Il faut dire que j'ai un faible pour les livres d'exposition
mathématique qui se veulent aussi complets et encyclopédiques que
possible : qui tentent de faire le tour d'un sujet donné, et dont on
apprend vite à savoir, quand on cherche un résultat sur ce sujet,
qu'on l'y trouvera. Celui-ci a l'air de correspondre assez bien à
cette idée.)
[#] Field Arithmetic ne signifiant pas — comme un
ami me l'a suggéré en plaisantant — arithmétique de
terrain.
Les résultats du concours du CNRS seront probablement
connus d'ici un ou deux jours. Je n'ai que très peu d'espoir pour
moi-même (ne serait-ce que parce que, comme m'a averti un jour mon
directeur de thèse : votre thèse ne contient pas de cohomologie, et
donc n'impressionnera jamais les Français), donc je ne suis pas
trop stressé[#], mais cela m'offre
l'occasion de réfléchir à ce système bizarre de recrutement des
mathématiciens par concours.
Outre que le nombre de places est ridiculement faible eu égard au
nombre de candidats (12 places pour autour de 260 candidats), je vois
au moins deux problèmes graves à recruter par concours. Le premier,
c'est que concours implique classement et qu'il est impossible de
comparer deux candidats, étant donné qu'ils ne passent pas une épreuve
mais présentent un dossier, et que le jury en est donc réduit à
l'absurdité de savoir s'il vaut mieux avoir démontré le théorème
foo ou le théorème bar[#2], sachant qu'en général l'un
n'implique pas trivialement l'autre donc un classement ne correspond
pas à un ordre logique, bref, de faire un tri plus entre les domaines
de recherche qu'entre les candidats. Le second problème, encore plus
grave, c'est que c'est fondamentalement contraire à l'esprit de la
recherche, telle que je la conçois, que de placer les chercheurs
dans une situation de compétition : le principe même de la
science est d'être une collaboration entre les hommes contre,
disons, globalement, l'adversité (les forces de la nature ou, dans le
cas des mathématiques, la difficulté à mettre de l'ordre dans le
paradis platonique). Et même si le métier du mathématicien est
largement solitaire (ce en quoi il diffère radicalement de celui qui
travaille dans les sciences expérimentales), il n'en demeure pas moins
que nous travaillons pour une cause commune et que nous
mettre en concurrence les uns avec les autres est exactement opposé à
ce que nous voudrions faire.
J'ai néanmoins l'impression, pour ce que je vois d'autres branches
de la science, que les mathématiques sont très gentlemanly, c'est-à-dire qu'on ne se tire pas dans
les pattes (en refusant de communiquer des résultats, ou ce genre de
choses), du moins beaucoup moins qu'ailleurs. C'est sans doute une
des raisons qui m'ont poussé dans cette direction (après mon
inclination naturelle, bien entendu) : je m'en réjouis donc. Mais
même : personnellement j'ai découvert que je travaillais bien plus
efficacement lorsque j'ai l'impression que ma réflexion est dénuée de
tout enjeu — et surtout celui de ma carrière — lorsque je
travaille, donc, gratis pro amore arithmeticæ[#3] ; je suppose que je suis loin
d'être le seul dans ce cas, et, par conséquent, cela doit faire
beaucoup de productivités qui sont réduites par le simple fait de
placer les gens en situation de concurrence.
Je n'irais pas jusqu'à honnir celui qui travaillerait pour la
gloire : je comprends que, pour certains, c'est un stimulant utile,
voire nécessaire. Ce n'est pas mon cas, et je trouve que la
satisfaction d'avoir démontré un théorème prime sur toute réputation
qu'il peut vous valoir. (Ou, pour dire les choses autrement, si un
génie pervers m'offrait le choix entre réussir par moi-même à
démontrer l'hypothèse de Riemann mais devoir n'en tirer aucune gloire,
ou bien en trouver une démonstration toute cuite par magie dans mon
tiroir et pouvoir la publier à mon nom, je n'hésiterais pas une
seconde à choisir le premier.) Je suis donc partagé quant au bon goût
de nommer les théorèmes d'après les mathématiciens qui les ont trouvés
— c'est une chose, d'ailleurs, que Bourbaki a toujours refusée.
Et si un jour j'estime ma carrière suffisamment avancée, je pense que
je ferai publiquement savoir que toutes mes publications seront
désormais anonymes (ce qui ne veut pas dire que l'auteur soit
totalement secret[#4],
mais qu'il ne figure pas sur l'article et qu'on doive donc citer ce
dernier par son simple titre) et j'inciterai d'autres à en faire de
même : l'idéal étant même d'être complètement oublié sauf dans la
mesure où cela aide à la recherche[#5] (par exemple, pour savoir qui
est compétent pour répondre à telle ou telle question).
J'allais dire que la compétition devrait être laissée à l'esprit
combatif des plus jeunes, mais même dans ce cas c'est douteux. Plutôt
qu'organiser des olympiades de mathématiques, ne devrait-on
pas concevoir des défis où des groupes de jeunes reçoivent des
problèmes à résoudre collectivement, se les répartissent
comme ils veulent, partagent leurs idées pour arriver à une solution,
et sont collectivement récompensés s'ils parviennent au bout d'un
nombre important de problèmes ? Car l'idée du concours, une fois
qu'elle rentre dans les esprits, n'est pas si facilement délogée (ma
maman, par exemple, n'a toujours pas compris que c'est une bêtise
dangereuse que sa fierté maternelle d'avoir eu un petit garçon qui
réussissait bien).
Hélas, mille fois hélas ! Si je dis que le concours est gravement
délétère pour les mathématiques (et sans doute pour les autres
sciences, même si je ne peux pas vraiment parler pour elles), je ne
sais pas quoi proposer à la place. Je me suis dit un moment que ce
serait peut-être un moindre mal d'avoir un examen avec un numerus
clausus roulant sur plusieurs années, mais au mieux cela reviendrait
au même et au pire cela conduirait à des spéculations malsaines sur
qui pourrait venir les années suivantes. Je reste du moins persuadé
que tant qu'à avoir des concours, il faut qu'ils soient placés
relativement en amont dans la carrière (donc, si possible,
avant la thèse), pour éviter que des jeunes se retrouvent
devant la situation où, ah, vous avez passé dix ans de votre vie à
travailler pour ça ? merci d'avoir joué, nous n'avons pas de place
pour vous…
[#] Ce qui m'inquiète
plus, en fait, est de savoir combien de places de maîtres de
conférences seront libérées par le fait que les candidats déjà admis
au CNRS sont essentiellement rayés des listes.
[#2] Déjà, il est
douteux que la qualité d'un mathématicien (c'est-à-dire sa capacité à
faire avancer la recherche) se réduise à sa production de théorèmes
(qui mesure sans doute, plutôt sa consommation de
café) : c'est faire l'impasse sur sa capacité à reformuler des
démonstrations qui existent déjà, à discuter avec d'autres
mathématiciens pour les aider à éclaircir leurs propres idées ou leur
proposer des pistes intéressantes, etc. Et bien sûr, à poser les
bonnes questions : car la recherche, c'est au moins autant de poser les bonnes questions que d'y
trouver la réponse.
[#3] Certains
pourraient être tentés de me rétorquer que j'ai bien réussi des
concours, dans ma jeunesse. En vérité, je n'ai jamais travaillé
pour eux : j'ai travaillé avant, et j'ai passé ces concours
pour voir ce qu'ils donnaient.
[#4] Je ne veux pas
priver les historiens des mathématiques de leur travail, en le rendant
impossible !
[#5] Ou à
l'enseignement, d'ailleurs… un effet positif inattendu de sa
relative déconsidération dans le système français est qu'il n'y a pas
de compétition à ce niveau-là : enseigner, c'est vraiment se mettre
dans le même camp que les autres enseignants et aussi que ceux à qui
on enseigne.
J'ai très mal dormi la nuit dernière (m'étant couché vers 2h je
n'ai réussi à m'endormir que vers 5h30, pour me lever à 9h30), ce qui
fait que je n'étais pas trop en forme en TD ce matin.
J'ai quand même rassemblé ma motivation[#] pour assister au séminaire
Variétés rationnelles, parce que les sujets me
semblaient vraiment beaux et intéressants[#2]. Donc je m'élance de
l'ENS à 14h, et lorsque mon RER arrive à
Cité universitaire, on nous apprend que des manifestants sur les voies
à Arcueil font que les trains n'iront pas plus loin que Laplace. Du
coup, je n'ai plus eu qu'à faire demi-tour, et je suis revenu à mon
point de départ après avoir perdu une heure (plus le prix d'un ticket
de RER jusqu'à Orsay) ainsi que l'occasion d'assister à
un exposé auquel je tenais vraiment. Quelle plaie.
Les deux exposés tournaient autour du problème de Galois
inverse (ou, donné un groupe fini, comment construire une
extension galoisienne des rationnels ayant ce groupe de Galois —
ou au moins prouver qu'il en existe), un sujet qui me fascine assez en
ce moment (surtout que mes TD concernent justement la
th'eorie de Galois), et qui fait converger des approches très
différentes, dont les intrigants dessins d'enfants[#3] mais aussi des techniques
apparentées aux variétés rationnelles comme l'approximation
faible.
[#] Assister à un exposé
mathématique quand on a du sommeil en retard est assez pénible, il
faut bien le dire : même quand on est sincèrement intéressé par ce que
raconte l'orateur, il est difficile de se retenir de somnoler, et à
plus forte raison de prêter une attention convenable !
[#2] Évidemment, c'est
un séminaire qui correspond bien à mes centres d'intérêts
mathématiques en général, mais il faut avouer que parfois —
c'est-à-dire essentiellement quand il y a le mot motif dans le
titre ou dans le résumé — je me demande vraiment ce que je fais
là.
[#3] Un dessin
d'enfant au sens de Grothendieck est (la structure combinatoire
plongée de) l'image réciproque du segment [0;1] par un revêtement de
la sphère de Riemann ramifié en au plus 0, 1 et ∞. D'après la
réciproque du théorème de Belyj, un tel revêtement peut toujours être
défini par un polynôme à coefficients algébriques : le groupe de
Galois absolu opère sur les dessins d'enfants en opérant sur les
coefficients, et les orbites pour cette action sont quelque chose
d'encore très mal compris.
Je rédige intégralement (énoncés et corrections) les feuilles des
TD que je donne à l'ENS : outre que ça
rend service aux élèves (enfin, j'espère…), c'est important
pour moi, parce que je ne veux pas me pointer en me disant que je sais
faire tel ou tel exercice et en me rendant compte finalement que non,
il y a un détail qui m'a échappé ou que j'ai oublié ou un petit
problème dans l'énoncé. (En DEUG je n'avais pas ce
souci, mais là, le niveau est quand même un petit peu plus
élevé…) Ça prend tout de même beaucoup de temps.
Je comptais cette année réutiliser les mêmes feuilles que l'an
dernier. Mais voilà que je ne suis pas content des exercices que j'ai
donnés, et j'en cherche de nouveaux… Je n'en suis toujours pas
très content, en fait : là, pour illustrer les concepts d'algèbre
tensorielle, symétrique et extérieure, qui ont beau être des notions
excessivement classiques et importantes, je n'ai pas vraiment réussi à
trouver des choses qui me satisfassent, ni par moi-même ni en
fouillant dans des livres. (La solution de facilité, c'est, comme
toujours, d'aller chercher dans les sorites au niveau n+1
les exercices du niveau n : mais je pense que
pédagogiquement ce n'est pas bon.)
De même qu'il m'arrive d'avoir des lubies dans d'autres domaines,
j'en ai parfois en mathématiques. J'ai déjà mentionné il y a longtemps trois objets
mathématiques (parmi de nombreux autres) me fascinent pour leur beauté
et leur élégance : les ordinaux (encore que ce n'est pas clair si
les ordinaux sont un objet mathématique) méritent
aussi d'y figurer. Je suis en train de faire plein d'éditions à l'article
Wikipédia à ce sujet (j'ai même fabriqué une image
de ω² pour illustrer).
Il y a fort longtemps j'avais écrit un texte de
vulgarisation à ce sujet, puis un autre. C'est quelque
chose qu'on a vraiment envie de vulgariser parce que l'idée est
excessivement simple : dès lors qu'on ordonne un ensemble
(éventuellement infini) de choses de façon à ce qu'il ne soit pas
possible de décroître indéfiniment, on a défini un ordinal.
Ou encore : décrire un ordinal, c'est exactement décrire tous les
ordinaux plus petits que lui (et comment les comparer). Tout le jeu,
ensuite, consiste à se demander jusqu'où on peut monter —
sachant que, quelle que soit l'intelligence avec laquelle on s'y
prendra, il y aura toujours un plus petit ordinal qu'on
n'atteindra pas (c'est ça qui fait que les ordinaux donnent une
vision terrifiante de l'infini — un infini plus grand, si j'ose
dire, que tout ce que vous pouvez construire par n'importe quelle
méthode).
Si on veut, les ordinaux sont le défi que se lancent les petits
enfants, tu sais compter jusqu'à combien ?, prolongé dans le
transfini, et appliqué aux mathématiques.
Tout le monde connaît, a priori, l'ordinal ω, celui des
entiers naturels : même si on ignore la terminologie “entiers
naturels” (et même si on ignore le zéro, ce qui, du point de vue
de l'ordinal, ne change rien du tout), à part quelques peuplades
perdues qui n'ont pas la notion de nombre, tout le monde sait
compter : 0, 1, 2, 3… jusqu'à l'infini, peut-être pas
effectivement jusqu'à l'infini, mais au moins
potentiellement, et ceci définit justement l'ordinal
ω.
Tout le monde peut encore comprendre ω2, soit deux copies
successives de ω : il suffit de prendre les entiers naturels,
et, après tous les entiers naturels n, mettre les
ω+n, en décrétant que les ω+n se
comparent comme les n et que les ω+n sont
toujours supérieurs aux n :
0, 1, 2, 3, 4, … ω, ω+1, ω+2, ω+3,
…
Une fois qu'on a compris ω, ω2, ω3 et ainsi de
suite, on a logiquement compris ω²,
qui n'en est que la limite. De même, ω³ ne pose pas de
problème conceptuel particulier. Les choses deviennent compliquées,
a priori, avec ωω, mais on ne peut pas
vraiment capituler puisque le truc génial avec les ordinaux, c'est que
dès qu'on a compris tous les ordinaux inférieurs à un ordinal donné,
on a compris celui-là (et ceci permet de conclure qu'on a compris tous
les ordinaux…). Ainsi, ωω c'est l'ordre
de toutes les expressions du genre ω³·42 + ω·1729 + 18.
Mais ensuite, ce n'est pas un pas conceptuel si compliqué d'imaginer
ωω2, voire ωω², et ainsi
de suite jusqu'à ωωω. En
empilant les ω on arrive jusqu'à l'ordinal où les problèmes de
visualisation commencent sérieusement : ε0. Avant
ε0, la forme
normale de Cantor (« écriture en base ω ») résout tous les
problèmes, après lui, trouver une écriture n'est plus aussi facile.
(D'ailleurs, quand le petit enfant demande : tu sais compter
jusqu'à combien ?, Monsieur Peano est forcé
de reconnaître qu'il ne sait pas compter jusqu'à
ε0.) Pourtant, dans la mesure où on a compris
cette forme normale de Cantor, on a compris ε0. En
faisant un petit effort, on comprend aussi ε1, qui
correspond à l'ordre de toutes les expressions du même type que la
forme de Cantor pour les ordinaux avant ε0 mais en
ajoutant ε0 comme un nouveau symbole.
Après tous les ε0, ε1,
εω,
εε0,
η0=εεε⋱
et autres lettres de l'alphabet grec (transfini) il vient un ordinal
appelé l'ordinal de Feferman-Schütte, parfois noté
Γ0. Là il se passe quelque chose de
significativement nouveau, parce que c'est, dans un sens difficile à
préciser mais très important, le plus petit ordinal qui ne peut pas se
décrire en utilisant des ordinaux plus petits que lui. C'est
l'ordinal que Feferman décrit comme
mesurant la puissance de la prédicativité, et certains systèmes
mathématiques importants cessent de savoir compter à partir de là.
Au-delà il y a pourtant encore des ordinaux qu'on peut décrire :
j'avoue que je n'y vois plus grand-chose, mais l'ordinal de
Bachmann-Howard, par exemple, est très important, il mesure la force
d'un système axiomatique notable, la théorie des ensembles de
Kripke-Platek. Encore au-delà il y aurait un ordinal qui mesurerait
la force de la théorie des ensembles de Zermelo-Fraenkel (mais
personne ne sait le décrire précisément, autrement que par une arnaque
qui ne nous apprend rien). Tout ceci a un sens difficile à expliquer
mais très précis (et notamment, lorsqu'un énoncé arithmétique, bien
que vrai, n'est pas démontrable, c'est parce qu'on ne sait pas
« compter assez loin », au sens des ordinaux, pour arriver jusqu'à
lui).
Tout ceci n'est rien, cependant, par rapport à l'ordinal de
Church-Kleene (c'est amusant, tous les noms sont doubles, dans ce
domaine) : il représente le plus petit ordinal à partir duquel il
devient théoriquement impossible de représenter les ordinaux
de façon informatisée, par exemple, ou de façon arithmétique. Malgré
cela, on reste dans les ordinaux dénombrables, c'est-à-dire
représentables, en théorie, par des petits dessins comme j'ai fait pour
ω². Personne ne pourrait donner un sens à une
représentation de ce genre pour l'ordinal de Church-Kleene (déjà, il
faudrait pouvoir voir les détails infiniment fins), mais en principe
il existe (et aucun ordinateur ne peut le produire). Alors que dire
de ω1, le plus petit ordinal indénombrable, celui qui
renferme tous les ordinaux dénombrables ? Le plus petit qui a la
propriété — totalement démentielle — que toute suite
dedans est bornée.
Comme les théologiens hindous qui, émerveillés d'avoir le système
décimal à leur disposition, s'amusaient à écrire de (passablement)
grands entiers et à raconter des choses avec, j'éprouve une
fascination semblable pour les ordinaux, cette échelle du monde
mathématique.
Ceci n'est pas censé être un blog mathématique, mais je veux quand
même prendre la peine de signaler ce résultat récent
(annoncé il y a un mois) de János Kollár : tout
corps pseudo-algébriquement clos de caractéristique zéro est
C1 (et même C′1).
On dit qu'un corps K est pseudo-algébriquement
clos lorsque, pour tout polynôme f à deux varibles
sur K qui est irréductible sur la clôture algébrique de
K, il existe une infinité de
(x,y)∈K² pour lesquels
f(x,y)=0. (En termes plus
sophistiqués : toute variété algébrique géométriquement intègre sur
K a un K-point ; et il suffit, comme je viens de
le faire, de le postuler pour une courbe.)
Par ailleurs, un corps K est dit
C1 lorsque tout polynôme f homogène
de degré n en >n variables possède un zéro
non trivial (non trivial signifiant autre que
(0,…,0)). (Quant à la condition C′1, elle
énonce le même fait pour une famille de polynômes homogènes dont la
somme des degrés est n. On conjecture que c'est
équivalent, mais on ne sait pas le prouver.)
Ce résultat était conjecturé depuis longtemps (moralement, si j'ose
dire, la propriété C1 est beaucoup plus faible que celle
d'être pseudo-algébriquement clos). Néanmoins, arriver le démontrer,
surtout de façon aussi courte, est un tour de force de Kollár, qui
fait beaucoup avancer notre compréhension de ces propriétés
importantes, à la définition simple, mais sur lesquelles on sait
encore, somme toute, très peu (et le fait qu'on ne sache toujours pas
prouver C1⇔C′1 est assez
symptomatique).
Le principe est extrêmement joli : Kollár démontre
que sur un corps K de caractéristique zéro si X
dans Pn est une hypersurface de degré
≤n, ou plus généralement une intersection (schématique)
d'hypersurfaces de somme des degrés ≤n, alors
X contient une sous-variété Y définie sur
K et qui est géométriquement irréductible. Cela se fait en
écrivant (trivialement) X comme fibre d'un morphisme dont
la fibre générale est une variété de Fano lisse et en étudiant (c'est
là tout le travail) la dégénérescence des variétés de Fano. Je n'ai
pas encore regardé les détails de la démonstration, mais c'est assez
court et ça a l'air plutôt simple (et bien rédigé).
Le séminaire
Variétés rationnelles (le séminaire mathématique où
je suis le plus assidu[#]) a
repris ses activités, mais il a maintenant[#2] lieu à Orsay et non plus à
l'ENS. J'espère que cela n'entraînera pas un changement
de style pour converger vers le SAGA
(Séminaire d'Arithmétique et de Géométrie Algébrique) d'Orsay, un
séminaire très prestigieux mais où le commun des mortels ne comprend
souvent pas grand-chose aux exposés ; parce que le séminaire
Variétés rationnelles, lui, est beaucoup plus
compréhensible pour quelqu'un comme moi (évidemment, j'ai fait ma
thèse dans le domaine).
Les deux exposés de cet après-midi étaient d'ailleurs tous les deux
d'une clarté remarquable. Le second, notamment, m'a beaucoup
impressionné : l'orateur (Arnaud Beauville) a
réussi, tout en tenant les temps (c'est assez rare pour être
mentionné…) à expliquer avec à la fois une grande précision et
une grande simplicité un résultat[#3] qui n'avait rien d'évident. Il
a fait le modeste en disant que son résultat n'avait pas d'autre
intérêt que de répondre à une question que Serre lui
avait posée. Serre étant dans l'assistance, d'ailleurs.
C'est bien quand il y a quelques grands mathématiciens dans
l'assistance : je ne parle pas pour le prestige du séminaire, mais
simplement parce qu'ils osent poser des questions parfois tout à fait
terre-à-terre. Je veux dire, quand un petit jeune comme moi a une
question dans un séminaire, il ose rarement la poser, par peur que ce
soit une bêtise, et pour ne pas passer pour un idiot devant
l'assemblée de pontes (même quand il n'y a pas deux médailles Fields
dans la salle, il y a toujours des gens devant qui on ne veut pas
avoir l'air plus bête que nécessaire…). Serre, lui, il sait
que la question n'est pas idiote, et quand bien même elle le serait il
n'aurait pas peur de demander. Il y a une certaine satisfaction,
quand on pense très fort mais pourquoi est-ce que
machin ? et que quelqu'un d'autre (dont la compétence
mathématique n'est pas à remettre en cause) demande à haute voix
mais pourquoi est-ce que machin ?, à se dire qu'on
avait au moins une question qui montre qu'on a suivi. (Il ne s'agit
pas forcément de questions qui impliqueraient un manque de clarté de
la part de l'orateur, d'ailleurs : souvent, en fait, ça porte sur un
énoncé adjacent à celui qui vient d'être affirmé.) Enfin, c'est
encore plus satisfaisant quand on trouve soi-même la réponse avant que
quelqu'un d'autre pose la question, évidemment.
Mais globalement je me rends compte qu'il y a quelque chose de
vraiment commun entre l'entrée dans le monde de la recherche
mathématique et l'apprentissage d'une langue étrangère : au début,
quand les gens parlent, ça a l'air d'être du charabia, ils vont
beaucoup trop vite, etc. Puis progressivement des automatismes se
mettent en place comme des règles de grammaire, on voit venir les
choses, on sait que telle situation doit inciter à se poser tel type
de question, à rechercher tel type de méthode… Et à force, on
arrive à s'efforcer à mentalement précéder un peu ce que les gens vont
dire.
Il y a une personne extraordinaire dans l'assistance (à la fois au
séminaire Variétés rationnelles et au
SAGA), c'est le génial Ofer Gabber, sans doute le
mathématicien le plus vif d'esprit que je connaisse. Il est du genre,
quand un orateur énonce un théorème, à lever immédiatement la main
pour dire quelque chose comme : là, vous allez démontrer ce théorème
en passant par cette étape-ci, puis celle-là, puis celle-là, mais je
ne comprends pas comment, dans votre conclusion, vous allez faire pour
traiter le cas suivant… (Modulo la formulation ; en fait, il
pose généralement la question en anglais.) Bref, il n'a souvent même
pas besoin qu'on lui donne la démonstration pour voir immédiatement
quels sont les points difficiles ; parfois c'est ce sur quoi l'orateur
voulait insister (et alors il arrive qu'il s'agace parce qu'il voulait
y venir en temps utile), parfois c'est ce qu'il voulait cacher sur le
tapis (et alors il s'excuse de devoir admettre ce point ou ne faire
qu'esquisser la technique), et parfois il n'avait pas vu du tout la
difficulté. Depuis que j'assiste à ce séminaire, j'ai vu au moins
deux fois Gabber démolir en direct une démonstration (trouver une
erreur dedans, je veux dire), et une fois réfuter du tac au tac une
conjecture que l'orateur énonçait. Tout à fait impressionnant (et du
coup, on tremble à l'idée de faire un exposé devant lui). Un ami me
disait même qu'il y avait une notion plus forte que le « vrai », en
mathématique, il y avait « Gabber-vrai » (autrement dit, le résultat a
été suggéré à lui et il a répondu que ça marchait). Au cours du
premier exposé de cet après-midi, le monde mathématique a tremblé,
donc, parce que Gabber a plaisanté : but then there's
a contradiction in mathematics, puisqu'il avait émis une objection
à un énoncé formulé par l'orateur, et que l'orateur a répondu à
l'objection, et les deux semblaient avoir raison. Toute l'assistance
a bien ri. Il faut dire que l'exposé tournait autour du fait que 240
n'est pas égal à 248, ce qui est déjà original.
Et ce week-end, je vais à (certains exposés du) séminaire Bourbaki.
[#] Il est vrai qu'il
est mensuel : ça doit aider.
[#2] La raison est qu'un
des trois organisateurs, auparavant chargé de recherche au
CNRS en poste à l'École, a été recruté professeur à
Paris XI — où sont déjà les deux autres. Il n'y a donc plus de
prétexte pour que ça ait lieu rue d'Ulm.
[#3] Si p
est un nombre premier ≥7 alors tout sous-groupe abélien de
p-torsion du groupe de Crémona du plan (sur un corps
algébriquement clos de caractéristique ≠p), i.e. tout
groupe de la forme
(Z/pZ)r
d'automorphismes birationnels du plan projectif, est de rang
r≤2 et contenu dans un tore standard. (Et il y a des
résultats un petit peu plus techniques pour p valant 2, 3
ou 5.) Bon, la formulation peut paraître effrayante au non
mathématicien, il me faudrait un petit peu de temps pour expliquer les
termes, mais cet énoncé n'est pas très compliqué : c'est de la
« vraie » géométrie (il s'agit d'un énoncé sur les transformations du
plan, après tout ; d'ailleurs, j'ai déjà
décrit ici ce qu'était le groupe de Crémona — dans le cas de
R, certes), d'une façon que l'école italienne n'aurait pas
reniée, et je trouve ça très beau.
Aujourd'hui j'assistais à un exposé (dans le cadre du séminaire
de théorie des nombres de Chevaleret) sur Model Theory of the Witt Frobenius, with Emphasis on an
Ax-Kochen-Eršov Principle : le titre peut paraître
barbare, mais en fait c'était remarquablement clair et bien présenté.
Peut-être justement parce que c'était de la logique (de la théorie des
modèles, comme le titre de l'exposé le dit) exposée à des
non-logiciens (des théoriciens des nombres, comme le titre du
séminaire le dit) : je soupçonne que quand un mathématicien s'adresse
à des spécialistes d'autres disciplines que la sienne il fait un
effort particulier dans la clarté de sa présentation, il ne
s'embarrasse pas de détails techniques encombrants (et là,
apparemment, la démonstration en regorge, même si l'énoncé final
— ou bien un corollaire fondamental — est tout à fait
simple et beau).
Apparemment la question suivante (on peut appeler ça des maths, je
suppose) est un problème ouvert (j'aime collectionner les problèmes
ouverts dont l'énoncé est aussi simple que possible, et celui-là sera
bien placé dans ma collection) : partez d'un mot (fini, quelconque)
sur l'alphabet de trois lettres a, b et c, par
exemple baacabbabc, et, aussi souvent que vous voulez,
remplacez deux lettres identiques consécutives (par exemple
aa), s'il y en a, par les deux autres dans l'ordre alphabétique
(donc aa→bc, bb→ac et
cc→ab) ; la question est : peut-on, en suivant ces
règles, revenir sur le mot de départ (peut-on faire une boucle, quoi,
sachant qu'on choisit comme on veut le mot initial et qu'on applique
les règles comme on veut) ? Il semble que non, on ne boucle jamais,
on se retrouve toujours coincé dans une situation où il n'y a plus
deux lettres consécutives identiques (exemple : baacabbabc
→ bbccabbabc → acccabbabc →
aabcabbabc → aabcaacabc → aabcbccabc
→ bcbcbccabc → bcbcbababc), mais allez le
prouver… (En termes d'informatique théorique, la question est
de savoir si la grammaire de réécritures {aa→bc,
bb→ac, cc→ab} est fortement
normalisante.)
Mise à jour (2005-11-22) : En fait, c'est
démontré. Mais on notera que c'est très récent !
Avec la règle bb→ca à la place de
bb→ac (le reste étant identique), j'arrive à le
prouver, mais c'est très différent. Je laisse ça en exercice
au lecteur intéressé (ce n'est pas complètement trivial, mais ce n'est
pas non plus excessivement difficile, et ça ne demande aucune
connaissance mathématique particulière, seulement une certaine
habitude du raisonnement mathématique et un certain pouvoir
d'abstraction).
Je fais un coq-à-l'âne, mais toujours dans le domaine de la
masturbation intellectuelle, pour évoquer le droit théorique
(le terme n'est pas terrible : je devrais plutôt dire
méta-droit parce que c'est au droit ce que la métaphysique est
à la physique, sauf que méta-droit ça pourrait évoquer le droit
du droit, ce qui serait autre chose). Comme la conservation de l'information, c'est
quelque chose qui plait souvent aux geeks : il s'agit, en gros, de se
demander comment le droit juridique répond à des situations qu'il
suppose impossible, ou qui sont totalement farfelues ou bizarres.
Voici quelques exemples de problèmes sur lesquels on pourra
plancher :
Est-il légal de survoler Paris à basse altitude si on vole de ses
propres ailes et pas dans un engin quelconque ?
Est-il légal de se promener nu si on n'a pas d'organes
sexuels ?
Est-il légal de courir sur une route de campagne à une vitesse
supérieure à la vitesse maximale autorisée pour les véhicules à
moteur ?
Si deux hommes (ou deux femmes, mais c'est moins rigolo) ont un
enfant sans l'aide d'une femme et sans assistance médicale, qui sont
les parents légaux de l'enfant ?
Si je trouve que les décimales de pi à partir de la
101729-ième représentent exactement le contenu de l'édition
1991 du petit Robert, le petit Robert
tombe-t-il ipso facto dans le Domaine Public ? et/ou est-il
interdit de publier des cartes postales contenant les (je ne sais
combien) décimales de pi à partir de la 101729-ième ?
Si un mort ressuscite, peut-il réclamer son héritage ? et
d'ailleurs, quel est son statut légal ?
Si je me téléporte à travers la porte d'entrée de quelqu'un qui
est fermée à clé, suis-je entré par effraction ?
Si un mouton écrit une lettre au Procureur de la République pour
porter plainte contre son berger, le Procureur doit-il donner
suite ?
Si je m'opère moi-même de l'appendicite sans être médecin,
risqué-je d'être condamné pour pratique illégale de la médecine ? Et
si je me retire moi-même un rein, que je le donne à quelqu'un, et
qu'il se le greffe lui-même, dans des circonstances où ce serait
normalement interdit de faire un don d'organe (en gros, il n'est pas
de ma famille), pouvons-nous être condamnés ?
Si on a une mémoire absolument parfaite (comme celle décrite par
Borges dans sa nouvelle Funes el
memorioso), est-on soumis à la loi Informatique et
Libertés ? A-t-on le droit d'ouvrir les yeux dans un endroit
où il est interdit de photographier ?
Quelqu'un qui naîtrait avec une tache qui reproduirait exactement
les formes d'une œuvre soumise à droit d'auteur a-t-il le droit
d'être pris en photo ? De diffuser des photos de lui-même ?
Si je trouve une contradiction dans la Constitution, ai-je le
droit de tout faire ? [Cet exemple, en fait, est historiquement
célèbre, parce que Kurt Gödel (le logicien), quand il avait passé un
examen pour obtenir la nationalité américaine, avait étudié la
Constitution américaine et prétendait avait trouvé comment exploiter
des failles logiques dedans pour transformer les États-Unis en
dictature de façon tout à fait légale. Albert Einstein avait dû le
persuader de ne pas en souffler mot lors de l'entrevue… Plus de
détails sur cette
anecdote ici
et là.]
Si le parlement vote une loi selon laquelle 2+2=5, le Conseil
constitutionnel peut-il, ou doit-il, la déclarer non conforme à la
Constitution ? Et s'il ne le fait pas (ou qu'il n'est pas saisi),
comment cette loi doit-elle être appliquée ? [Autre exemple célèbre,
parce que la chambre des représentants de l'état de l'Indiana avait
voté, en 1897, une loi qui fixait la valeur de π à quelque chose
(du genre 3.2) demandé par un crackpot quelconque ; heureusement,
cette loi avait été rejetée par le sénat.]
C'est une sorte de test de geekitude, en fait : si ces questions
vous amusent ou vous intriguent, vous avez probablement une mentalité
au moins un peu geek. Si vous vous dites simplement je ne
comprends pas, ce n'est pas possible, alors non.
(Et encore, je n'ai pas parlé du droit international théorique, qui
est encore plus rigolo.)
On m'a posé cette question assez récemment, et je la trouve assez
jolie ; en plus, elle est compréhensible par tout le monde :
On vous donne une règle (non graduée) d'environ 30cm (et un crayon,
quand même), et deux points distants d'environ 35cm : comment faire
pour tracer la droite qui les relie ? Et si les points sont très
éloignés, peut-on toujours s'en sortir ?
Corrigé (2005-09-06T21:30+0200) : Voici la
solution que j'avais à l'esprit.
Soient A et B les points à relier, distants
d'à peu près 35cm. On trace une droite d′ à peu
près parallèle à (AB) et distante d'elle de
quelques centimètres (au maximum), et sur cette droite on marque deux
points A′ et B′ tels que
B′ soit à peu près aussi loin que possible de
A, et A′ à peu près aussi loin que
possible de B, mais pour que les droites
AB′ et BA′
soient quand même traçables. Soit C′ un point sur la
droite d′=(A′B′)
à peu près au milieu de
[A′B′]. On appelle
C″ le point où AB′ et
BA′ se rencontrent. On trace une droite
d″ passant par C″ et à peu
près parallèle à (AB) et
(A′B′) : soit B″
l'intersection de cette droite d″ et de
(AC′) et A″
l'intersection de d″ et
(BC′). Soit C le point
d'intersection de (A′B″) et
(B′A″) (si on a bien choisi
C′, ça doit être faisable). Alors le théorème
de Pappus assure que A, C et B
sont alignés, et C est à peu près au milieu de
[AB], donc on trace (AC)
(c'est assez court) et (CB) et on a notre droite
(AB) recherchée.
Cette solution doit marcher lorsque le rapport entre la distance à
tracer et la longueur de la règle n'excède pas quelque chose comme 4/3
(je n'ai pas vérifié, mais c'est de ce genre-là). Mais du coup, on
peut faire comme si on disposait d'une règle, disons, 30% plus longue,
et en itérant la construction on peut faire comme si on disposait
d'une règle arbitrairement longue. (Sauf que ça devient complètement
théorique parce que la perte de précision est rapidement énorme.)
Le tour de cartes suivant est très facile à réaliser, puisqu'il ne
demande aucune adresse et aucune manipulation (c'est une propriété
purement mathématique), et pourtant il arrive à surprendre
certains.
Utiliser un jeu de 104 cartes (c'est-à-dire deux jeux de 52 cartes
identiques) ; ça marche déjà plutôt bien avec un seul jeu de 52, mais
la probabilité d'échec est quand même relativement importante, alors
qu'avec 104 ça marche beaucoup mieux. Donner le jeu à quelqu'un, qui
devra les battre soigneusement, puis choisir (sans le révéler) un
nombre entre 1 et 13. Il retire alors le nombre correspondant de
cartes du dessus du paquet (mais en les gardant dans l'ordre) et
regarde la dernière de celles-ci. Puis, selon la valeur de cette
dernière carte (en interprétant un valet comme 11, une dame comme 12,
un roi comme 13), il retire de nouveau le nombre en question de cartes
du dessus du paquet. Encore une fois, il regarde la dernière carte
pour savoir de combien avancer. Il répète ainsi l'opération jusqu'à
ce que, vers la fin du paquet, il reste moins de cartes que la valeur
de la dernière regardée. Cette dernière carte regardée (où on ne peut
plus avancer) sera la carte qu'il devra retenir. Tout ceci est fait
sans que le magicien voie, ou même, soit présent. (Il faut juste
prendre garde au fait que beaucoup de gens ne savent pas compter, se
trompent parfois de ±1 carte, regardent la suivante au lieu de la
dernière retirée, mélangent les valeurs des figures, ou ne remettent
pas les cartes rigoureusement dans l'ordre où ils les ont prises ; le
mieux est sans doute de montrer la manipulation une fois, puis de
battre le paquet pour que le cobaye la fasse tout seul.) Ensuite, le
paquet est rendu au magicien, qui l'examine attentivement et annonce
quelle était la dernière carte regardée.
C'est bien sûr un non-tour de magie, puisqu'il n'y a aucun truc :
c'est juste que, avec une bonne probabilité, la dernière carte ne
dépend pas du nombre initial choisi. Le magicien a donc simplement à
refaire mentalement l'opération en regardant les cartes (peut-être
avec plusieurs choix initiaux, pour vérifier que ça n'en dépend pas ou
pour prendre la carte finale la plus probable si par malchance il y en
a plusieurs en concurrence), et il annonce la bonne carte.
Évidemment, il y a des gens qui ne seront pas impressionnés, parce que
la propriété leur paraît évidente, mais généralement, quand on n'y a
pas réfléchi, ça ne saute pas aux yeux.
Voici un exemple : supposons que les valeurs des cartes soient dans
l'ordre suivant, que je viens de tirer au hasard (je note
‘A’ pour un as, ‘X’ pour un dix,
‘V’ pour un valet, ‘D’ pour une dame et
‘R’ pour un roi) :
—on pourra vérifier que, quelle que soit la carte initiale
choisie parmi les trente premières au moins, on atteint forcément le
valet que j'ai marqué en vert (la carte précédente pouvant être soit
le 2 deux cartes avant soit le 9 neuf cartes avant), et ensuite la
succession roi, dix, dix est automatique. Tous les jeux ne sont pas
aussi chanceux : dans le suivant
—on pourra vérifier que, si on part d'une des treize
premières, on a quatre chances sur treize de tomber sur la séquence
(en rouge) as-4-roi-8-7-dame-8-2-9-3-6-7-roi et neuf sur treize de
tomber sur (en vert) dame-7-2-dame-dame-roi-valet-roi-7. Cela donne
tout de même mieux de deux chance sur trois de réussir le tour même
dans ce cas-là qui est malchanceux (et si on se trompe on pourra
annoncer une deuxième carte qui sera la bonne).
Comme je suis mauvais en probabilités (et aussi, flemmard), je
n'essaierai pas de faire de calcul précis (j'imagine que si on veut
trouver la probabilité que deux valeurs initiales convergent, et en
supposant qu'au lieu d'avoir un battage des cartes chacune a une
valeur indépendante de toutes les autres, ça doit se faire). Mais le
principe heuristique, au moins, c'est que si on prend deux valeurs
initiales et qu'on itère l'algorithme, l'écart va varier aléatoirement
jusqu'au moment où par hasard on tombe sur la même carte, et alors on
est sûr d'y rester jusqu'au bout — et si on fait assez d'étapes,
c'est-à-dire si le jeu est assez long, ça a une grande chance de se
produire. Expérimentalement, la probabilité de tomber sur la même
carte finale entre deux cartes initiales tirées au hasard a l'air
d'être 2/3 pour un jeu de 52 cartes, et 8/9 pour un jeu de 104 (je ne
pense pas que ce soient des valeurs exactes, mais en tout cas ça doit
être très proche).
Comme j'ai appris ces derniers temps un certain nombre de choses
(que j'étais censé savoir déjà, mais passons) sur la cohomologie des
faisceaux, je me suis dit que j'allais essayer de les coucher par
écrit, pour ne pas les oublier ensuite. Grave erreur ! Car au lieu
de prendre de rapides notes précises, j'ai voulu remonter trop en
amont, j'ai commencé à écrire un texte qui débute avec la définition
d'un faisceau : avec ça, évidemment, j'ai de quoi pondre des pages et
des pages avant d'en venir à ce que je voulais surtout écrire (et,
sans doute, l'oublier entre temps si c'était ça le risque) — car
sur les faisceaux il y a de quoi écrire des livres (d'ailleurs, des
gens l'ont déjà fait, mais il faut dire qu'aucun ne me satisfait
vraiment).
Je me suis donc mis en mode « écriture automatique ». Car c'est
bien de ça qu'il est question : pisser du texte mathématique presque
sans réfléchir (pour l'instant, car je connais trop bien ce que je
raconte). Sans doute encore un projet à la David Madore, qui commence
en fanfare et qui terminera en queue de poisson, c'est-à-dire qu'il
restera moribond, puis sera définitivement abandonné, sans avoir
jamais été achevé. Peut-être dès demain, si demain j'ai le bon sens
de ne pas continuer cette insensée tentative. Enfin, toujours est-il
que j'ai pondu dix
pages aujourd'hui, en lesquelles je n'ai d'ailleurs même pas
encore trouvé moyen de définir le germe d'un faisceau en un point,
comme quoi ça ne va pas très vite.
L'image de l'entrée d'avant-hier
est la vue de l'intérieur d'un tétraèdre (régulier) dont les faces
sont des miroirs (et, pour qu'on voie quand même quelque chose, ils
sont aussi intrinsèquement lumineux : en rouge, vert, bleu et blanc
pour les quatre faces). La caméra est positionnée en un sommet du
tétraèdre et regarde la face opposée, ce qui explique que la figure
soit aussi symétrique. Peut-être qu'elle devient plus claire si je
rajoute une boule au centre du tétraèdre et que je décale légèrement
la caméra (la réflectivité des miroirs a également été un peu
augmentée) :
J'ai également un petit
film (format DivX;-)-dans-AVI, je crois
— j'ai laissé l'encodeur prendre ses options par défaut —,
une douzaine d'images, six-sept secondes) où la caméra se déplace un
peu, ce qui aide à visualiser la géométrie de la chose.
Personnellement, j'ai du mal, mais je vois intrinsèquement très mal en
trois dimensions (ce n'est apparemment pas rédhibitoire pour passer
une thèse en géométrie).
On peut imaginer que sur chaque face du tétraèdre initial on a posé
un tétraèdre qui lui est identique (son image par le miroir, juste
légèrement teinté), puis sur chaque face de chaque nouveau tétraèdre
(exceptées celles qui reviennent au tétraèdre initial) encore un
tétraèdre et ainsi de suite à l'infini. Mais les tétraèdres réguliers
ne pavent pas l'espace — loin de là : les volumes vont se
chevaucher bizarrement. Mais imaginons que (et c'est justement le
propre des miroirs que de multiplier les tétraèdres, les boules et le
nombre des hommes) l'espace ne se
chevauche pas : on obtient cette étrange vue.
La propriété mathématique intéressante, c'est que les réflexions
autour des quatre faces du tétraèdre sont en produit libre : autrement
dit, si je pars du tétraèdre initial et que j'empile comme je veux des
nouveaux tétraèdres sur les faces des précédents, je ne vais jamais
revenir à un tétraèdre translaté du tétraèdre initial (sauf à être
revenu à lui, justement, ce qui ne peut se faire qu'en parcourant
exactement le chemin inverse de celui qu'on a pris). Hum, je ne sais
pas si c'est très clair, malheureusement.
Quoi qu'il en soit, l'apparence de la figure m'a un peu surpris.
Évidemment, les choses s'expliquent. Par exemple, on remarque
facilement deux boules très proches mais pas tout à fait confondues.
Cela vient du fait que l'angle diédral entre deux faces adjacentes
d'un tétraèdre est 70°32′, très près, donc, de l'angle au centre
d'un pentagone régulier (71°) : donc en alternant les symétries par
rapport à deux faces jusqu'à en faire cinq au total, on revient
presque au point de départ (notamment, et c'est ce qui se
voit le mieux, la symétrique de la boule centrale par rapport aux
faces bleue puis blanche puis bleue est très proche de celle par
rapport aux faces blanche puis bleue). Si au lieu de prendre un
espace plat j'avais rajouté un peu de courbure (isotrope positive),
pour qu'on puisse mettre exactement cinq tétraèdres autour de chaque
arète, en pentagone régulier, alors on obtiendrait un joli pavage, un
des six polytopes réguliers en quatre dimension, le 600-cellules ou
« hypericosaèdre », qui, comme son nom l'indique, a 600 hyperfaces qui
sont des tétraèdres réguliers. (Si j'ai la patience, un des jours, je
tenterai de faire une représentation du 600-cellules, et peut-être des
autres polytopes réguliers en quatre dimensions, inscrits dans
l'hypersphère vue comme un espace 3D courbe.)
Je ne suis pas sûr de bien comprendre, en revanche, les espèces de
pentagones clairs qui sont clairement visibles sur ma figure initiale
(et pas sur la nouvelle, donc ça dépend de la position de vue) autour
des trois sommets visibles du tétraèdre. Ce que j'explique encore
moins, c'est pourquoi, si on augmente considérablement la réflectivité
des miroirs, on obtient quelque chose comme ceci :
[English translation follows.]Encore une image mathématique calculée
sur ordinateur : qui saura reconnaître ce dont il s'agit (il n'y a pas
besoin de notions mathématiques très poussées pour décrire la chose
— en tout cas nettement moins que pour la précédente) ? J'avoue
que je ne pensais pas trop que ça ressemblerait à ça, et je ne sais
pas si je peux expliquer toutes les propriétés de l'image.
[Traduction anglaise de ci-dessus.]Another mathematical image drawn by
computer : who can recognized what it is (one doesn't need very
sophisticated mathematical notions to describe it — at least not
nearly as much as the previous one) ? I must admit I didn't think it
would look like that, and I'm not sure I can explain all of the
features.
J'avais décidé de passer l'été à colmater un peu l'immensité de mon
ignorance mathématique : pour l'instant, le résultat est assez
catastrophique. Pas que je n'apprenne pas des choses, au contraire[#] : mais dès que j'apprends une
chose il se pose cinq questions à moi, et elles se rajoutent aux
questions que d'autres me posent incidemment. Du coup, je n'arrive
pas à lire des livres systématiquement, je les parcours à la recherche
d'informations sur ceci ou cela, je m'énerve souvent de ne pas les trouver, je perds un temps
fou à essayer de résoudre le problème moi-même avant de me rendre
compte qu'il est conséquence évidente d'un résultat que je devrais
savoir.
Bon, c'est peut-être normal, diront certains : la science, c'est
toujours comme ça, toute réponse doit déboucher sur au moins cinq
questions. Mais bon, d'une part c'est un peu un cliché, d'autre part
je ne fais pas avancer la science, là, juste mon savoir personnel (ou
en tout cas la prise de conscience de mon ignorance).
C'est vraiment déprimant, tout ça.
[#] Je me fais par
exemple, maintenant, une certaine idée de ce qu'est une classe de
Chern (je n'oserais pas aller jusqu'à dire j'ai compris ce que
c'est, parce que je suis toujours persuadé qu'il y a un plan de
compréhension bien supérieur qui est accessible aux gens comme mon ami
Joël Riou, mais j'ai réussi à faire quelques calculs sur ces bébêtes
qui me semblaient si opaques à un moment) ; certes, il n'y a pas de
quoi s'en vanter : ça fait bien longtemps que je suis censé avoir
assimilé ce que ce sont. Je plaide néanmoins que c'est
remarquablement mal expliqué dans tous les livres existant (et aucun
ne prend la peine d'expliquer gentiment par quelques exemples comment
on manipule ces machins). Les classes de Chern ne sont qu'un exemple
parmi plein d'autres.
David A. Cox is
renowned (besides for having been one of the “discoverers”
of toric varieties, one of the most elegant objects in algebraic
geometry) for the clarity of his mathematical writing: his Primes of the
form x²+ny² is an excellent
prolegomenon to algebraic number theory and class field theory. In a
recent book-buying compulsion, I got
a copy of his latest book, a teatise on Galois
theory (ISBN 0-471-43419-1),
and I wish to mention how remarkably good I find it—even after
I've done hardly more than glance through it. True, there isn't much
for me to learn in it (I should hope so!),
but the book is so well written and full of interesting notes, both
historical and mathematical, that it is very enjoyable even for those
who think they don't have any more to discover about Galois theory.
Among the features found in this treatise which are not common in
similar presentations, let me mention his account of geometric
constructions by origami (not every algebraist knows that the regular
heptagon or enneadecagon can be constructed by paper folding!) or his
very nice chapter on the division of the lemniscate
(hinting at Kronecker's
Jugendtraum for Q(i) and class
field theory); his explanations on how to compute Galois groups also
appear quite excellent. I merely regret that he didn't write a little
something on Galois cohomology, but I guess that would have been
beyond the intended scope of the book; and for those looking for a
Bourbakist treatment of the Galois correspondance—as an
equivalence of category between étale algebras and actions of the
Galois group—Douady & Douady's also excellent (but utterly
different in style and approach) Algèbre et
Théories galoisiennes exists.
Anyway, I would heartily recommend Cox's book to anyone who knows
basic algebra and wishes to learn about this fascinating and beautiful
subject, Galois theory, and some of its nice applications (in
elementary geometry and elsewhere): not just to students, but also to
math hobbyists, mathematicians from other domains with a leisurely
interest in algebra, etc.
[French translation of the above.]
David A. Cox est
renommé (à part pour avoir été un des « découvreurs » des variétés
toriques, un des objets les plus élégants de la géométrie algébrique)
pour la clarté de son écriture mathématique : son Primes of the form x²+ny² est un
excellent prolégomène à la théorie algébrique des nombres et la
théorie du corps de classes. Dans une récente frénésie d'achat de livres, je me suis
procuré une copie de son dernier livre, un traité de théorie de
Galois (ISBN 0-471-43419-1),
et je voudrais mentionner à quel point je le trouve remarquable
— même si je ne l'ai pas parcouru beaucoup plus qu'en diagonale.
Vrai, je n'ai pas énormément à y apprendre (il faut espérer !),
mais le livre est tellement bien écrit et plein de notes
intéressantes, tant historiques que mathématiques, qu'il est très
appréciable même pour ceux qui croient qu'ils n'ont rien de plus à
découvrir en théorie de Galois. Parmi les choses qu'on trouve dans ce
traité qui ne sont pas communes dans des présentations semblables,
signalons son compte-rendu des constructions géométriques à l'origami
(tous les algébristes ne savent pas que l'heptagone ou l'ennéadécagone
réguliers peuvent être construits en pliant du papier !) ou son
chapitre très agréable sur la division de la lemniscate (en
tirant vers le Jugendtraum de Kronecker pour Q(i)
et la théorie du corps de classes) ; ses explications sur la manière
de calculer les groupes de Galois semblent également excellentes. Je
regrette simplement qu'il n'a pas écrit un petit quelque chose sur la
cohomologie galoisienne, mais je suppose que ç'aurait été au-delà de
la portée désirée de son livre ; et pour ceux qui cherchent un
traitement bourbachique de la correspondance de Galois — comme
une équivalence de catégorie entre les algèbres étales et les actions
du groupe de Galois — l'également excellent (mais totalement
différent par le style et l'approche) Algèbre et Théories
galoisiennes de Douady & Douady existe.
Quoi qu'il en soit, je recommanderais chaleureusement le livre de
Cox à quiconque connaît l'algèbre de base et souhaite apprendre ce
sujet fascinant et beau, la théorie de Galois, et certaines de ses
applications plaisantes (en géométrie élémentaire et ailleurs) : pas
seulement aux étudiants, mais aussi aux mathématiciens amateurs,
mathématiciens d'autres domaines avec un intérêt de dilettante pour
l'algèbre, etc.
Une remarque (d'un de ces courageux commentateurs qui ne daignent
pas signer de leur nom) sur une entrée
précédente m'a fait réagir d'abord par un autre commentaire, mais
je pense que le sujet mérite une entrée : la remarque était
La lecture de ce blog laisse un peu sceptique. On a plus
l'impression d'avoir affaire à un amateur amusé par les mathématiques
qu'à un mathématicien. Il serait temps de grandir un peu. La
Mathématique apporte nettement plus de plaisir si on veut bien lui
consacrer une relation suivie que si on vient tirer son coup de temps
en temps…
Je réponds donc, d'abord, que ce n'est pas trop l'intérêt de ce
blog — d'une part parce que les maths sont mon travail (et
j'écris a priori pour parler de ma vie extra-professionnelle) et
d'autre part parce que l'idée est qu'il (mon blog) soit généralement
lisible par tous : je ne parle donc de maths que quand je me sens une
envie soudaine de vulgariser ce que je fais ou lorsque j'ai appris
quelque chose d'exceptionnellement frappant. Il est certainement
vrai, aussi, que mon intérêt est trop dispersé dans des milliers de
domaines différents, et même à l'intérieur des mathématiques dans des
milliers de problématiques, et que ceci tend à être problématique pour
faire de la recherche : mais qu'y puis-je ? on ne choisit pas ses
goûts, et je reste persuadé que les mathématiques arrivent à
progresser en se servant de toutes sortes de types de cerveaux, aussi
bien les « panoramiques » que les « focalisés ».
Mais il y a une autre réponse, plus importante. Le « système »
dans lequel on rentre, actuellement (en France au moins, mais je
soupçonne que c'est pareil ou pire partout dans le monde) en voulant
devenir chercheur en maths (et encore, les maths sont une des
disciplines les moins atteintes par ce fléau) est une véritable machine
à broyer l'individu. On parle des ravages de la prépa, mais pour
avoir vécu les deux j'affirme que la prépa n'est rien par
rapport à ce qui vient ensuite pour ceux qui ont la folie de vouloir
consacrer leur vie à la Science. Ce système vous répète à l'envi que
vous êtes insignifiant et mauvais, que vous devez faire vos preuves
(encore, et toujours, et encore, et toujours), que vous n'avez aucun
droit, et surtout pas celui de (prendre le temps de) vivre, et que
vous n'avez aucune place nulle part. Alors il y a plusieurs réactions
possibles : régresser en enfance, ignorer/refuser le système (voire,
le quitter complètement), sombrer dans la frénésie du travail (et je
conteste que ça soit plus sain ou même plus productif
mathématiquement)… Ceux qui survivent ne sont pas forcément les
meilleurs ou les plus utiles à la Science (même ceux qui passent en
mode « frénétique »), ce sont les plus chanceux ou les plus
résistants.
Moi je n'ai pas été broyé — pour l'instant — parce que
la chance m'a souri (la chance, par exemple, dans les qualités
remarquables de mon directeur de thèse, la chance d'avoir la place que
j'ai, etc.) — pour l'instant. Mais je témoigne quand même de
l'anxiété ressentie. À tel point que je me demande parfois, quand je
vois des jeunes prêts à s'engager dans les maths, si je ne dois pas
les en décourager : les maths sont quelque chose d'incontestablement
magnifique, mais tout sera fait pour vous mettre des bâtons dans les
roues.
Le fait est que mon parcours m'a donné l'occasion de rencontrer des
jeunes incroyablement brillants, et aussi d'être témoin d'un
incroyable gâchis de cerveaux. Je n'en dirai pas plus parce que je ne
veux pas citer de noms, mais quand je pense à ce que sont devenus, ou
ce que s'apprêtent à devenir, certains qui ne rentrent pas vraiment
« dans le moule », j'ai envie de pleurer.
Ce que je trouve fascinant dans les mathématiques, ce sont les
objets infiniment élégants qu'on peut y rencontrer : je ne
m'enthousiasme pas tant pour les démonstrations que pour les créatures
qui peuplent le paradis platonique et dont on a vraiment l'impression
qu'elles existent et qu'on ne fait que les découvrir et non
les inventer. La créature que j'ai rencontrée en l'occurrence (pas
aujourd'hui, mais c'est aujourd'hui que j'ai appris son nom), c'est
l'arbre
de Stern-Brocot : il se trouve que je l'ai redécouvert (et je
suppose que je ne suis pas le premier ; déjà, il porte un double nom
en l'honneur de deux personnes — Moris Stern et Achille Brocot
— qui l'ont découvert indépendamment) dans ma thèse (voyez
page 26 de mon
manuscrit) en étudiant la résolution par éclatement des morphismes
depuis la droite projective, mais je suppose que j'aurais pu le
rencontrer en mille et une circonstances tellement il est naturel.
J'en discutais avec un ami (Arthur), qui m'a fait remarquer que cet
arbre était déjà connu et signalé dans Concrete
Mathematics (le livre de Graham, Knuth et Patashnik), et c'est
là que j'en ai appris le nom.
Il s'agit d'un arbre binaire dont les feuilles sont exactement les
nombres rationnels (du moins tel que je le conçois, avec zéro pour
racine ; d'autres présentations prennent des sous-arbres de ce que
j'évoque) : il a pour racine le nombre 0, dont partent deux feuilles
étiquetées −1 (à gauche) et 1 (à droite) ; au niveau suivant,
les feuilles sont −2 et −½ (filles de la feuille
−1), ½ et 2 (filles de la feuille 1) ; au niveau suivant ce sont
−3, −3/2, −2/3, −1/3, 1/3, 2/3, 3/2 et 3. À
chaque niveau, la règle de construction est de placer entre deux
fractions déjà formées la fraction dont le numérateur et le
dénominateur sont chacun somme de ceux des deux fractions gauche et
droite entre lesquelles on intercale la nouvelle (par exemple, entre
1/2 et 2/3 on mettra 3/5, qui sera fils gauche de 2/3). Peut-être que
les
explications de PlanetMath ou celles de
MathWorld, avec dessin, seront plus claires. Cet arbre contient
une et une seule fois chaque rationnel, qui apparaît sous forme
réduite, et les irrationnels correspondent à des branches dans l'arbre
de Stern-Brocot ; de plus, il a des propriétés miraculeuses liées à
l'algorithme d'Euclide (d'écriture des réels en fractions
continuées) : si on suit une branche de l'arbre, les fractions qui
apparaissent sont exactement les meilleures approximations
rationnelles du réel limite, et les changements de direction (de la
gauche vers la droite ou vice versa) se font exactement aux réduites
de l'écriture du réel en fraction continuée. Par exemple, si on part
de 1 et qu'on alterne branche droite et branche gauche, on trouve les
rapports successifs des nombres de Fibonacci (2, 3/2, 5/3, 8/5,
13/8…) qui sont les approximants d'Euclide convergeant vers le
nombre d'or.
Je ne m'arrête pas
là : supposons que je mette en correspondance l'arbre de Stern-Brocot
(mettons le sous-arbre qui a pour sommet ½, entre 0 et 1) avec l'arbre
dyadique de même intervalle (qui a pour sommet ½ dont partent deux
branches vers ¼ et ¾ et ensuite vers les huitièmes et ainsi de suite).
On obtient une fonction continue croissante (représentée ci-contre)
qui à tout rationnel (entre 0 et 1) associe un nombre dyadique
(c'est-à-dire un rationnel dont le dénominateur est une puissance de
2) : elle envoie par exemple 1/2 sur 1/2, 1/3 sur 1/4, 2/3 sur 3/4,
3/5 sur 5/8 et 5/8 sur 11/16. Cette fonction se prolonge (de façon
unique) en une fonction croissante continue φ de
l'intervalle [0;1] sur lui-même, qui fait correspondre exactement non
seulement les rationnels avec les dyadiques mais aussi — par une
propriété bien connue des développements en fractions continuées
— les réels algébriques quadratiques avec les rationnels (par
exemple, l'inverse du nombre d'or, (√5−1)/2, ou
0.61803…, s'envoie sur 2/3 exactement, car ils s'obtiennent en
alternant branche droite et branche gauche dans un cas sur l'arbre de
Stern-Brocot et dans l'autre sur l'arbre dyadique). Ceci suggère
toutes sortes de questions. Que peut-on dire, par exemple, du nombre
dont l'image par φ est (√5−1)/2 (et donc
l'image par φ² — l'itérée double de
φ — est 2/3) ? Que peut-on dire des nombres dont
l'image par un nombre fini d'application de φ (à la
partie fractionnaire) donne un rationnel (ou, de façon équivalente, un
dyadique) ? Sont-ils stables par addition et multiplication ?
Peut-on les caractériser ? L'image d'un algébrique par
φ est-elle un algébrique ? Le nombre 0.42037…
qui est un des deux points fixes irrationnels de φ
(autrement dit, son parcours dans l'arbre de Stern-Brocot est le même
que son parcours dans l'arbre dyadique, c'est-à-dire que son
développement en fraction continuée et son écriture binaire sont
directement liés) a-t-il des propriétés remarquables ? Est-il
transcendant ? Bon, je n'ai pas réfléchi à tout ça, et sans doute
beaucoup de ces questions sont-elles stupides (soit parce que leur
réponse est évidente soit — ce qui me semble plus probable
— parce qu'elle est hors de portée et peu intéressante), mais je
suis sûr qu'il y a tout de même quantité de choses fascinantes à dire
sur cette fonction φ (tiens, sa dérivée s'annule en
tous les dyadiques, mais que peut-on dire de φ′
ailleurs).
C'est un sentiment vraiment horrible de se retrouver un dimanche à
onze heures du soir passées à vouloir savoir ce que c'est que le
nilradical inférieur (d'un anneau non commutatif) et de n'avoir aucun
moyen d'accéder à cette information. Je suis très sérieux —
enfin presque.
J'ai la fâcheuse manie de travailler hors des heures d'ouverture de
la bibliothèque de maths à laquelle j'ai accès ; j'ai une petite
collection de livres de maths dans mon bureau (et une collection bien
plus importante chez mes parents à Orsay, mais je n'y suis plus trop),
qui souvent ne suffit pas à fournir les réponses que je cherche.
Reste le Web : mais ce qui est frustrant, avec le Web, c'est qu'on y
trouve des articles de recherche (et un article de recherche en
algèbre non commutative ne va jamais prendre la peine de rappeler
quelque chose censément aussi connu que la définition du nilradical),
des cours de niveau vraiment basique, et quelques informations
éparses au niveau intermédiaire, mais rien de cohérent.
Alors voilà, pris dans un méandre de ma pensée j'ai voulu retrouver
la définition du nilradical inférieur d'un anneau non commutatif.
(Plus exactement, il y a un nilradical supérieur et un nilradical
inférieur qui généralisent la notion de nilradical d'un anneau
commutatif — l'ensemble des éléments nilpotents. Je connais une
définition possible, parfois appelée nilradical tout court, à savoir
la somme des idéaux bilatères nils — c'est-à-dire dont tous les
éléments sont nilpotents — mais je ne sais pas si c'est le
supérieur ou l'inférieur : je penche plutôt pour le supérieur, et
j'aimerais bien savoir quel est l'autre définition — peut-être
la somme des idéaux bilatères nilpotents mais ça pourrait être tout
autre chose.) Impossible : tous les livres que j'avais sous la main
traitent essentiellement (ou uniquement) d'algèbre commutative, et
personne sur le Web ni sur Usenet n'a jamais écrit noir sur blanc la
définition du nilradical inférieur. Je sais que la réponse est dans
le livre de Lam sur les anneaux non commutatifs, qui se trouve chez
mes parents, mais je ne l'ai pas avec moi.
C'est absolument affreux. Pas pour le nilradical
lui-même, mais ce sentiment que l'information est là, quelque part,
mais inaccessible.
I spent a good part of the
afternoon creating this image (click to enlarge) of one of
the remarkable inhabitants of the platonic heaven: the Clebsch cubic
surface; specifically, this is the Euclidean form of the latter which
has the greatest possible group of symmetries (24 of the 120
symmetries of the Clebsch cubic are realized as Euclidean
isometries).
Every smooth cubic surface has twenty-seven lines on it (sometimes
poetically known as Solomon's seal; I do not know who coined
the term or whether it is related to the plant Polygonatum
biflorum, which also goes by that name). But in general they
exist only as complex lines and might not all be realized: the number
of real lines can be three, seven, fifteen or twenty-seven, and
on the Clebsch cubic all twenty-seven lines exist in a real sense.
You can only see twenty-four lines in the picture (can you?),
however, because the last three lines are away at infinity.
Furthermore, it is possible for three lines on a cubic surface to
all meet in a single point, in which case the point in question is
known as an Eckardt point (this is a
remarkable feature, and while all cubic surfaces have lines on them,
not all have Eckardt points, even in the complex sens): the Clebsch
cubic surface is unique in that it has ten Eckardt points, and all are
real (on my particular Euclidean realization, four are the vertices of
a regular tetrahedron, two of which can be clearly seen, and six are
at infinity).
Another way to represent a smooth cubic surface (at least one which
has all twenty-seven lines real) is as a set of six points in the
(projective) plane (in general position, that is, such that no three
are aligned and all six do not line on a common conic). It is not
easy to describe precisely the relation between the six marked (or
blown up) points and the cubic surface[#], but it is quite easy to explain
how the twenty-seven exceptional lines are seen: consider the six
marked points, the fifteen lines connecting any two of them, and the
six conics going through five of the marked points — now
6+15+6=27, and they correspond exactly to the exceptional lines on the
cubic surface; and even intersection is preserved if we agree that
intersection at the marked points in the plane is only taken into
account when it is tangential[#2]. Eckardt points are also easily
seen that way: when three lines defined by three pairs of marked
points meet in a common point, that point is an Eckardt point; also
when the conic through five of the six marked points has a tangent at
one of said marked points which goes through the sixth, then that
tangent direction is an Eckardt “point”. Under this
correspondance, the Clebsch cubic is the most remarkable configuration
of six points in the plane, namely, a regular pentagon and its center.
The ten Eckardt points are then obvious.
So one of the answers I might give when asked what my thesis is
about is: six points in the plane.
[#] Each point on the
cubic surface corresponds to a point on the plane and, if it is one of
the six marked points, a line direction throught that point. (This is
what is meant by blowing up: replacing a marked point by the
set of all directions through that point.)
[#2] For example, given
three of the six marked points, the three lines connecting them are
thought not to intersect; however, each of them intersects the two
marked points which it joins. This is in accordance with the idea
that the marked points have been replaced by the set of directions
through them.
Mon premier TD s'est
plutôt bien passé. Ou alors, s'ils ont trouvé que j'étais décidément
nul, ils ont été trop timides pour me le faire savoir (mais j'y crois
assez peu ; en revanche, bouh hou hou, il y en a qui trouvent moyen de
me vouvoyer). Mais je n'ai fait que moins de la moitié de ce que je
pensais faire (donc moins du quart de la feuille, vu que j'avais prévu
large dans l'autre sens).
Sinon, je me suis (stupidement ?) engagé à faire un exposé jeudi
après-midi au séminaire des doctorants de géométrie algébrique à
Paris XIII (Villetaneuse) sur quelques questions autour de
l'arithmétique des variétés rationnellement connexes. Je n'ai encore
aucune idée de ce que je vais bien pouvoir raconter.
J'ai eu un premier écho du rapporteur américain de ma
thèse, qui ne dit pas grand-chose (il pose quelques questions qui
n'ont pas l'air d'être une façon diplomatique de signaler une erreur)
mais qui finit par une appréciation positive. Je vais sans doute
bientôt sortir une version revue et corrigée de mon manuscrit. Avec
tout ça je n'ai pas vraiment le temps de faire de la recherche…
je me sens un peu débordé, en fait.
Je tiens toujours à apprendre
comment on résout le problème de Post (exhiber des degrés de
calculabilité récursivement énumérables strictement intermédiaires
entre le degré récursif et celui du problème de l'arrêt — voir
l'article sur
Wikipédia que j'ai un peu complété). Je trouve ce problème
absolument fascinant. Je viens d'avoir une discussion sur la question
de savoir où il pourrait être enseigné, d'ailleurs, discussion d'où il
résulte que peut-être il n'existe aucun cours de calculabilité (niveau
master, en gros) en région parisienne dans le cadre duquel ce problème
serait traité. Si c'est bien le cas je trouve ça vraiment
dommage.
Une conjecture fumée qu'on pourrait imaginer est que le dixième problème de Hilbert pour
l'existence d'une solution rationnelle à des équations diophantiennes
serait, justement, indécidable mais non ramenable au problème
semi-décidable universel (le problème de l'arrêt). Ce serait
surprenant, et, pourtant, ça ne contredit rien de ce qu'on sait (ou en
tout cas, de ce que je sais) sur la question, notamment le fait qu'on
ne sache pas trouver un algorithme mais qu'on n'arrive pas non plus à
ramener le problème à la décision sur les entiers en définissant un
Z de façon diophantienne dans les rationnels.
Reverse mathematics is a strange subject (AMS Mathematics Subject
Classification: 03B30, 03F35) that I didn't even know existed
until I stumbled upon it by chance a few days ago. It was founded by
Harvey
Friedman and one of its leading experts is Stephen G. Simpson. Let
me try to explain briefly what it is about.
Ordinary (“forward”?) mathematics, at least from the
formalist's point of view, consists essentially of the following:
start with a set of axioms, which is usually the Zermelo-Fraenkel set
theory (although one of the things reverse mathematics teaches us is
that in fact there is no need to make such incredibly strong
assumptions), and try to derive theorems from them. Reverse
mathematics goes the other way around, it tries to assess the
“strength” of each theorem by seeing how much of the
axioms has been captured in it and can be derived back from its
content. Perhaps this is a big too vague to make much sense, so I'll
try to be clearer.
No mathematical proof ever makes use of the full strength of the
axioms[#]. Now what happens if we
restrict the system—either by omitting some axioms or by
weakening them in various ways? Some theorems will cease to be
theorems, and if we continue that way we lose more and more theorems
until the system becomes so weak that it is essentially useless and
uninteresting and the irrelevant becomes a barrier (for example,
irrelevant differences in the formulation of this or that axiom might
cease to be irrelevant if the other axioms are weakened too much,
because the equivalence between the formulations is no longer
provable). Stop somewhere before you get to that point where the
system is unmanageably weak, and call the resulting set of axioms the
“core system”. So far this is not rigorous, we're just
setting up the framework. Everything will then be done over that core
system. Many results which “used to be” theorems (they
are so in the full axiom system) are no longer so in the core system.
A first step toward reverse mathematics would be to show that this or
that theorem (of the full system) is indeed unprovable in the core
system (the fact that the usual proof requires strong axioms doesn't
mean that there doesn't exist a smarter proof which could do with
weaker ones).
But reverse mathematics goes farther than this: one isn't content
with giving bounds on the “logical strength” of a theorem
over the core system (such as: the core system cannot prove
statement T, but the full system can— or even
this-or-that weakened system, intermediate between the core and
full systems, cannot prove statement T, whereas
this-or-that weakened system can), one seeks to determine the
strength exactly. Indeed, it turns out, rather surprisingly,
that over reasonable core systems, many theorems (of stronger systems)
are in fact equivalent to one another, and equivalent to a certain
reasonably formulated logical statement (an axiom or axiom scheme
which is a weakening or a subset of some axioms of the full system
omitted in the core one). When one can show that statement
T not only follows from a certain natural set of axioms
intermediate between the core and full systems, but also, conversely,
implies (together with the core) the axioms in question, then one can
be satisfied that one has precisely assessed the logical strength of
T.
I've just learned of this mathematical result which I guess I could
nominate as the most elegant theorem of all times (though probably the
most useless ever). Actually, I had already read the statement in
Douglas Hofstadter's Gödel, Escher, Bach a long time ago,
but I hadn't paid much attention to it then; and now (in the course of
thinking carefully about Gödel's incompleteness theorem, Löb's
theorem, iterated Gödelization and self-consistency statements) I
figured out how to prove it, and the proof is simply
wonderful. I can't remember at the time whose name is
associated to it (it is not Gödel), but here goes the theorem:
Theorem: This statement is a theorem.
That's all. Statement T merely states that T
is a theorem (say, of first-order Peano arithmetic); and T
is, in fact, true (and is a theorem: for once, we don't have to
distinguish T being true and T being a theorem,
because the two are exactly identical, by definition of
T!). This sound provokingly much like the famous riddle:
Q: What is the ultimate question in the Universe, and what is
its answer?
A: The ultimate question is that which you have just asked and its
answer is that which I have just given.
So maybe we can try proving statement T by saying
something like this is the proof of statement T
— but any mathematician will see that this is a fraud (error 42:
attempting to apply a fixed point operator on proofs!). Yet the proof
that works is not entirely different either, but it is more intricate,
a cleverly crafted jewel.
I won't give that proof here, though. I believe any mathematician
who correctly understands Gödel's theorem (not just in the handwaving
way it is sometimes — and to much damage — explained to
laymen) should be able to have the pleasure of figuring the proof by
himself, and anyone who does not understand Gödel's theorem
sufficiently well would miss the point entirely. But maybe I'll write
a little survey on the incompleteness theorem(s) sometime soon, which
would try to go through all the subtleties and intricacies of how it
works (e.g., do we need the set of axioms to be
Σ1, or does arithmetically definable
suffice? why?) and what happens when we try to push it to its limits
(iterating Gödelization and reflexions to transfinite heights as Solomon Feferman has
done in the most brilliant way); in which case I would also, as a
matter of course, give a proof of the above-mentioned theorem. Just
so people can't accuse me of lacking the appropriate rigor, here is
the (“Quine-unfolding”)
mathematically precise way of stating T:
Fix a usual Gödel numbering scheme (of the language of first-order
arithmetic). Let P(n) be the predicate such
that, for any predicate Q(n) with Gödel number
⌜Q⌝,
P(⌜Q⌝) asserts the existence of a
proof, in the first-order theory of Peano's axioms, of
“Q(⌜Q⌝)” (that is, of
the statement obtained by substituting Q's Gödel number,
⌜Q⌝, in place of the free variable). Then we
have P(⌜P⌝) [and the proof works
in first-order Peano arithmetic].
As an extra bonus, we can do everything in
intuitionist logic (that the proof of the above statement can be given
in intuitionist logic is trivial, since in the end we exhibit a proof;
but actually we can replace the statement by the stronger statement
that this statement is provable in intuitionist logic and the
statement is again true — and indeed provable in intuitionist
logic).
J'ai assisté à deux exposés à Orsay, aujourd'hui. Le premier, par
Pierre Cartier (auquel j'avais fait
référence déjà) concernait Bourbaki. Cartier raconte toujours de
façon très intéressante, il a juste le défaut de partir parfois dans
un peu trop de digressions (même si ses anecdotes sont amusantes). Je
n'essaierai pas de résumer tout ce que j'ai appris, parce que ce sont
plutôt une multitude de petits faits isolés que des grandes idées. De
façon très succincte, son propos était : le bilan strictement
scientifique de Bourbaki est globalement positif, mais son influence
sur l'enseignement (dont il n'est d'ailleurs pas directement
responsable), c'est-à-dire les maths modernes, a été
catastrophique. Cela pose d'ailleurs la question tout à fait générale
de comment on doit au mieux enseigner les mathématiques (entre autres
— j'en discutais tout à l'heure avec une amie qui est prof en
collège — comment présenter la notion de démonstration
et faire ressentir son intérêt ? cela me semble très délicat),
question dont je ne pense malheureusement pas qu'elle admette de
réponse satisfaisante, en fait. J'y reviendrai peut-être un jour.
Le second était un exposé scientifique (par Bjorn Poonen, un des
mathématiciens qui donne les séminaires les plus clairs que je
connaisse) et concernait le dixième problème de Hilbert.
Sous sa forme originale, le dixième problème de Hilbert est quelque
chose comme ceci : considérons un polynôme f à N
variables et à coefficients entiers, on cherche à savoir s'il existe
des entiers
x1,…,xN
tels que
f(x1,…,xN)=0
(autrement dit, à savoir si l'équation diophantiennef=0 est résoluble), et on cherche à le faire de façon
algorithmique : autrement dit, on demande s'il est possible de trouver
un programme informatique (peu importent les détails, si on croit à la
thèse de Church-Turing) qui, quand on lui fournit le polynôme
f, va déterminer si l'équation est résoluble. La réponse
apportée par Yuri
Matiyasevič est négative : il n'existe pas de tel algorithme
(il démontre même que, quel que soit l'ensemble d'entiers E
récursivement énumérable, il existe f à 1+N
variables pour un certain N — qui peut être choisi
uniformément — tel que a∈E si et
seulement si f(a,
x1,…,xN)
= 0 admet une solution dans les variables
x1,…,xN ;
et comme on sait qu'on peut trouver des ensembles récursivement
énumérables et non récursifs, il ne peut pas y avoir d'algorithme
— en fait, on atteint le niveau maximal de non-récursivité au
sens de Post, et par ailleurs, ce qui est peut-être encore plus
frappant, on peut trouver des f tels que l'existence d'une
solution soit indécidable au sens de Gödel, dans n'importe
quel système formel récursif contenant au moins l'arithmétique).
Ce qui est remarquable, en revanche, c'est que si on remplace la
recherche de solutions entières par des solutions
rationnelles (on peut aussi permettre aux coefficients de
f d'être rationnels, ça ne change rien dans un cas comme
dans l'autre car on peut toujours chasser les dénominateur), on ignore
si la question est décidable ou non. La plupart des mathématiciens
pensent que la réponse est négative comme sur les entiers, mais
certains sont d'un avis différent (comme Swinnerton-Dyer, notamment,
ou, semble-t-il, Mazur : ce ne sont pas de petits noms), et d'ailleurs
un exposé récent du même Poonen au séminaire Variétés
rationnelles laissait entrevoir un espoir possible de réponse
positive ; cependant, l'exposé d'aujourd'hui laissait plutôt penser à
une réponse négative. En tout cas, c'est une situation un peu
analogue au fameux problème P=NP : la plupart des gens pensent
qu'il n'y a pas d'algorithme, ce qui est sans doute dommage, mais on
ne sait pas le démontrer, ce qui est également dommage. Sur les
complexes ou les réels (ou les p-adiques), c'est-à-dire si
on cherche des solutions dans un de ces corps-là, il existe bien un
algorithme. L'exposé d'aujourd'hui portait sur le résultat suivant :
il existe un ensemble S de nombres premiers de densité
naturelle 1 (c'est-à-dire que pour x grand, le nombre de
nombres premiers inférieurs à x qui sont dans S
est asymptotiquement équivalent au nombre de nombres premiers
inférieurs à x tout court) tel qu'il n'existe pas
d'algorithme pour détecter l'existence de solutions rationnelles dont
le dénominateur n'a que des facteurs premiers dans S ; si
on pouvait dans cette affirmation prendre pour S l'ensemble
de tous les nombres premiers (ou même, en fait, tous sauf un nombre
fini), ce serait la réponse négative sur les rationnels, mais obtenir
un ensemble de densité naturelle 1 est déjà une indication importante
dans cette direction.
Clarification
() : Yann Ollivier me
fait remarquer que le résultat tel que je l'annonce est trivial si
S n'est pas supposé récursif. Confirmation prise auprès de
Bjorn Poonen, l'ensemble S qu'il construit est bien
récursif : donc, rajouter cette précision dans les énoncés
ci-dessus.
C'est quelque chose qui me fascine assez, comment j'arrive à
« faire des maths » pendant des heures d'affilée et ne pas avancer
d'un pouce — mais pas parce que je butte sur une difficulté,
simplement, je m'égare, je pense à autre chose (des mathématiques
toujours, mais pas la question sur laquelle je suis censé réfléchir),
je me pose des questions sans importance et je tiens obstinément à les
résoudre avant de continuer. J'ai déjà signalé que j'ai tendance à me
laisser trop facilement piéger par les
petits problèmes à l'apparence élégante : je me demande dans
quelle mesure c'est le cas des autres matheux. La rédaction d'une
introduction de thèse est particulièrement redoutable pour ce qui est
de tomber dans ce genre de pièges : quand on veut dresser un panorama
de ce qu'on sait, c'est le moment de se poser énormément de Questions
À La Con® et de passer un temps fou à les résoudre. J'ai noirci des
pages et des pages de calculs pour appliquer des concepts abstraits à
des situations triviales (vous serez tous ravis de savoir, par
exemple, qu'une courbe cubique plane singulière irréductible tracée
sur une surface cubique lisse est très libre si et seulement si sa
singularité est un point double ordinaire : c'est ce qui résulte d'un
calcul bovin et sans subtilité, et ça ne sert absolument à rien, même
dans ma thèse).
Bref, alors que le temps commence à me manquer vraiment sévèrement,
je le perds allègrement. Mais le pire, c'est que c'est en faisant des
maths ! (Simplement, pas comme il le faudrait.)
One of the reason I didn't study computer science is that it is a
pit of despair: as far as practical
problems are concerned, nobody has yet come up with a programming
language that is really usable (so everyone writes stuff in
C, which is the moral equivalent of writing in English in
iambic pentameters without the letter ‘e’—that is,
sheer masochism—,or C++, which is worse; and
high-level languages simply don't work); as for theoretical problems,
they are sitting in a kind of limbo between mathematics and theology.
Anyway.
But math is also a source of despair, when one reflects on how
little one can prove and how many simple questions are left open and
probably will remain so for a long time.
It is easy to concoct a math problem which is understandable by
anyone and which is probably bound to remain unsolved for a really
long time. Perhaps the simplest example is the so-called
Syracuse problem (on the Collatz sequence),
namely: start with a positive integer n, and, so long as it
is not equal to 1, repeat the following: if it is even, divide it by
two, and if it is odd, multiply it by three and add one (for example:
7 → 22 → 11 → 34 → 17 → 52 → 26 →
13 → 40 → 20 → 10 → 5 → 16 → 8 → 4
→ 2 → 1); the conjecture states that, whatever the starting
integer, the sequence will eventually reach 1 (after which it would go
into the loop 1 → 4 → 2 → 1 if it is continued; the
question is essentially whether there exist other loops than that
which starts from 1). It has been verified experimentally for a huge
number of starting values, but so far as I know, nobody has been able
to come up with a proof (or, at least, a published proof which has
passed peer-review: because there are certainly hundreds of
crackpot-generated proofs on the Web). Of course, nobody (almost no
real mathematician, I mean) is seriously interested in this particular
problem, so it isn't a surprise that no progress is being made; all
the same, it is probably a very hard problem.
Here's one, however, that is of much greater theoretical interest,
which is “probably not false” (as I heard Swinnerton-Dyer
call it), and which is hopelessly out of reach of the present
techniques of mathematics. Let
F1,…,Fk
be k polynomials (in one variable x) with
integer coefficients and positive leading coefficient, and assume the
product
F1·…·Fk
of all the Fi is not constantly
divisible by some prime p (for example,
x²+x is always even—assume that sort of
thing doesn't happen): then [the conjecture states that] there are
infinitely many integer values of x such that the
Fi(x) are all
simultaneously prime. This is called Schinzel's (H)
hypothesis (or sometimes the Schinzel-Sierpiński hypothesis).
Even in the simple case where one takes the two polynomials
x and x+2, the Schinzel hypothesis implies the
twin primes conjecture, which is far from proven. Similarly,
Schinzel's hypothesis implies that there are infinitely many primes of
the form 6q²+1 where q itself is prime, and many
other things of the same form.
Here is another conjecture, which is about of the order of
difficulty of Schinzel's hypothesis (i.e., probably not false, but
unattainable): assume
t1,…,tr
are r complex numbers that are linearly independent over
the rationals, meaning that if
c1,…,cr
are r rationals such that
c1·t1 + … +
cr·tr
= 0, then all the ci are zero (for
example, 1, √2 and 2iπ are linearly
independent over the rationals); then [the conjecture states that] out
of the 2r complex numbers
t1,…,tr,et1,…etr
(in other words, add the exponentials of the
ti to the list), there are at least
r which are algebraically independent (over the rationals),
meaning that if some polynomial with rational coefficients in
r variables vanishes when applied to the r
quantities in question, the polynomial is identically zero. This is
known as Schanuel's conjecture. If applied in the particular case of
1, √2 and 2iπ, Schanuel's conjecture
implies that the three quantities e,
e√2 and π are algebraically
independent, which in turn implies the transcendence of such
quantities as e+π which is still an open
problem. Schanuel's conjecture is a kind of holy grail in
transcendental number theory.
In comparison to Schinzel's hypothesis or Schanuel's conjecture,
the seven problems
whose head is at stake for $1000000 are presumably quite easy (in
fact, at least one—namely the Poincaré conjecture—can now
be considered as good as solved, thanks to Perelman).
It is not unthinkable that these problems should be undecidable;
however, the tools available for proving the undecidability of a
mathematical statement are even more inadequate, in this case, than
those that might attempt to prove the statement… (I let those
with some knowledge in logic reflect upon what happens when one
iterates the construction is undecidable to transfinite
heights).
Une façon de piéger un David Madore, c'est de lui poser une
question de maths qui a l'air parfaitement innocente et qu'il
va avoir envie de résoudre rapidement et élégamment, et qui
en fait s'avère être un piège redoutable. Je suis capable de passer
un temps invraisemblable sur certains problèmes de ce genre : en fait,
c'est quasi obsessionnel — je n'arrive plus à penser à autre
chose tant que je n'ai pas résolu la question ou que je ne me suis pas
convaincu (parfois avec une certaine mauvaise foi, heureusement, sinon
je pourrais y rester bloqué indéfiniment) que le problème n'a pas
autant d'intérêt que je le pensais.
Un exemple de tel problème qui m'a bien eu il y a quelque temps
était celui-ci :
Considérons un polyèdre (convexe, pas forcément régulier). Sur
chaque face du polyèdre il y a une fourmi, qui parcourt les arêtes de
la face en question (au rythme qu'elle veut, mais de façon continue,
bien sûr ; elle a le droit de s'arrêter, de ralentir ou d'accélérer,
mais pas de revenir en arrière) toujours en tournant dans le sens
trigonométrique (le sens contraire des aiguilles d'une montre). On
suppose qu'entre deux instants donnés, chaque fourmi a accompli un
nombre entier non nul de tours (autrement dit, chaque fourmi a fait au
moins un tour, dans le sens trigonométrique, de la face dont elle
parcourt les arêtes, et est revenue à son point de départ, qui est
quelconque). Il faut montrer que, pendant ce laps de temps entre les
instants considérés, deux fourmis (au moins) se sont croisées.
Cela a l'air parfaitement innocent, mais c'est absolument
diabolique. Je me suis torturé pendant des heures sans rien trouver
(pourtant, ce n'étaient pas les pistes qui manquaient). Un ami a fini
par trouver une démonstration, mais elle est sophistiquée et peu
intuitive, et utilise le théorème de l'indice[#] de Hopf. C'est décevant, parce
que le problème est compréhensible par ma maman et je voudrais une
solution qui le soit aussi. Et c'est décevant parce je n'ai pas
trouvé, moi. Notons au passage que l'hypothèse que le
nombre de tour de chaque fourmi est entier est indispensable.
[Ajout () : Le problème —
qui est apparemment standard sous le nom
de Klyachko's Car Crash Theorem — a reçu des
réponses dans les commentaires (notamment celui signé Tiens un
touriste et daté ) ; mais on vient aussi de
me faire remarquer qu'il fait l'objet
d'une discussion
sur MathOverflow. Il faut noter que la variante plus standard du
problème est de demander que les fourmis font un nombre de tour qui
tend vers l'infini quand le temps tend vers l'infini, au lieu de
demander qu'elles fassent un nombre entier de tours dans un intervalle
fini (ce qui est plus particulier, parce qu'on peut alors rendre le
mouvement périodique et se ramer au cas du nombre de tour tendant vers
l'infini).]
Mais récemment, on m'a posé un problème qui me semble encore pire :
son énoncé n'est peut-être pas aussi élémentaire que celui des
fourmis, mais il est extrêmement naturel et semble très joli :
Trouver la dimension maximale (si elle existe, ou même simplement
un majorant de la dimension) d'un espace vectoriel de matrices réelles
(je veux dire, un sous-espace vectoriel des matrices
n×n réelles, pour n non précisé) dans
lequel la seule matrice singulière (de déterminant nul) soit la
matrice nulle.
Je sèche complètement. Je suis arrivé à la conclusion, et
plusieurs autres ayant réfléchi au même problème y sont parvenus
indépendamment, que la dimension 8 est possible (consulter n'importe
quelle introduction aux octonions pour en savoir plus), mais quant à
savoir si c'est ou non le mieux possible… Je ne trouve vraiment
rien. Et j'y ai passé déjà un certain nombre d'heures.
C'est dur, les maths !
(Bon, là, on va voir si les lecteurs de mon blog sont des
torscheurs. À chaque fois que je parle de quelque chose, il se trouve
un commentateur qui connaît parfaitement le sujet pour intervenir avec
une expertise impressionnante. Voyons donc si je vais me faire
ridiculiser par une résolution en trois lignes de ces deux problèmes !
En vérité, ça me plairait bien.)
[#] Il est certain, au
moins, qu'il faut employer quelque part une propriété topologique de
la sphère, parce que le résultat n'est pas vrai si le polyèdre a la
forme d'un tore, comme on le voit assez facilement. Donc l'hypothèse
de genre zéro est cruciale. Ceci étant, il devrait y avoir des façons
plus simples de caractériser ce fait que le théorème de l'indice de
Hopf.
Today I feel like explaining a little bit of algebraic geometry,
namely a theorem by Max Noether and Castelnuovo on the so-called
Cremona group of the plane. (My intention is to explain
what the theorem states, not to prove it, which would take far more
space than an entry here would allow. I hope I can make what follows
clear to people with a relatively modest knowledge of
mathematics—perhaps an undergraduate level.) Incidentally, let
me mention that Max Noether is the father of Emmy Noether, who was
certainly the most remarkable woman mathematician ever (and far more
important to mathematics than Max Noether).
We concern ourselves with birational transformations of
the plane, so let us first explain what this means. A rational
map of the plane to itself is given, by definition, by two
expressions, (x′,y′), giving the
coordinates of an image point in function of those, (x,
y), of the original point, in which we impose that
x′ and y′ be rational
functions of x and y, in other words
quotients of two polynomials in these two variables (which we can
assume, after elimination, to have no common factor), say, with real
coefficients, the denominator being—of course—not
identically zero. For example, letting x′=0 and
y′=0 maps the entire point to the origin (0,0);
letting x′=−x and
y′=y defines the symmetry with respect to
the vertical axis; letting x′=x and
y′=x² gives a rational map that projects
the entire plane onto the parabola with equation
y=x², and so on. Note that a rational map is
not always defined everywhere, since we have allowed
polynomials in the denominator: for example letting
x′=1/x and
y′=1/y gives a rational map that is
defined only so long as x and y are both nonzero
(i.e. away from the coordinate axes), but we still call this a
rational map of the plane to itself; since the denominator cannot be
identically zero, there are always some points in the plane (many
points, in fact: in a topological sense they are “dense”)
for which the mapping is defined. Now we can generally
compose two rational maps of the plane to itself, merely by
replacing the x and y variables in the
“outer” map by the x′ and
y′ given by the “inner” map; for example,
composing the former map (x′=1/x and
y′=1/y) with itself gives the identity map
(x′=x and
y′=y), simply because
1/(1/t)=t. (Note that we cannot always
compose two rational maps, because the composition might make sense
nowhere, in other words it might end up giving an identically zero
denominator, something we have excluded.)
When a rational map of the plane to itself is such that there
exists another map which, when composed with it, (makes sense and)
gives the identity map (viz. x′=x and
y′=y), we say that the map (either of the
two maps, actually) are birational transformations of the
plane. For example, our previous example
(x′=1/x and
y′=1/y) is a birational transformation of
the plane, since, as we have explained, when composed with itself, it
gives the identity map. On the other hand, the constant rational map
(x′=0 and y′=0) is not a
birational transformation of the plane, since composing it with
anything (in any order) gives a constant map if it makes sense at all.
In perhaps more intuitive terms, a birational transformation of the
plane is a rational map of the plane to itself which can be inverted
by another rational map. (It is not exactly a bijection in the
function sense, because it might not be defined everywhere. However,
it is “mostly” a bijection.) The misfortune of
composition not always being defined does not happen for birational
transformations: the composition of two birational transformations of
the plane always exists (makes sense) and is always itself a
birational transformation; and, of course, by definition, any
birational tarnsformation has an inverse which is also a birational
transformation. (For those who know what that means, birational
transformation of the plane form a group, the Cremona group
of the plane. Note that it does not suffice for a rational map to be
bijective in order for it to be a birational transformation: for
example, x′=x³ and
y′=y³ defines a rational map which is
bijective because cube roots always exist and are unique, but which is
not a birational transformation because cube roots are not rational
functions.)
Now let us consider some particular birational transformatins.
First of all, we have those of the following form: x′
=
(a1·x+b1·y+c1)
/
(a0·x+b0·y+c0)
and y′ =
(a2·x+b2·y+c2)
/
(a0·x+b0·y+c0),
in which the ai,
bi and
ci are real numbers: in other words,
x′ and y′ can be expressed as
quotients of first degree (aka affine) polynomials, with
equal denominator; I'm not claiming that any such form
defines a birational transformation, but it turns out that almost all
do (all one needs to impose is the nonvanishing of the determinant of
the 3×3 matrix of coefficients, and then the inverse transformation is
given in the same form by the inverse matrix); those that are
of this form are called projective transformations of the
plane. For example, all plane symetries, rotations, translations, and
much else, are all projective transformations. The composition of two
projective transformations of the plane is a projective
transformation, and the inverse of a projective transformation is a
projective transformation (in technical terms, this means that
projective transformations form a subgroup of the Cremona group).
Basically, the projective transformations are the
“uninteresting” birational transformations: they take
lines into lines, so they are geometrically boring. (Another fact
worthy of note is that given four distinct points in the plane, no
three of which are aligned, and given another quadruplet of points
satisfying the same condition, there is a unique projective
transformation taking one set in the other in the prescribed
order.)
Now let us consider two very simple examples of birational
transformations which are not projective transformations: the
first one, which has x′=1/x and
y′=1/y, we have already mentioned; the
second one is x′ =
x/(x²+y²) and y′ =
y/(x²+y²). Both give the identity
when composed with themselves, as is easily checked, so both are,
indeed, birational transformations of the plane. The first one
corresponds to inverting the two (cartesian) coordinates
independently, and the second corresponds to inverting the radial
coordinate of polar coordinates (in other words, the distance to the
origin) while keeping the angular coordinate fixed. Call these two
transformations the basic Cremona transformations of the
plane.
Well, the remarkable fact, which is the statement of Max Noether's
transformation theorem, is that these two basic Cremona
transformations are essentially the “only” ones we can
form, or, rather, they are the building blocks for all other
birational transformations; the precise statement is: any birational
transformation of the plane can be written as the composition of
projective transformations and the two basic Cremona transformations
which we have given (of course it may be necessary to use either of
them multiple times in the composition). So any birational plane
transformation, no matter how complex, can be reduced to these basic
transformations. (In reality, the theorem is somewhat simpler if we
work over the complex numbers instead of the reals as we have done:
then we need only one basic Cremona transformation, and either one
will do. Over the reals we need two. But I did not want to make this
entry more complicated by considering the plane with complex
coordinates.)
To give an idea of why this is remarkable, we can consider the
situation in other dimensions: is is straightforward to define
birational transformations of the line, of three-dimensional space,
and in fact, of n-dimensional space for any n,
and among these are the obviously defined projective transformations.
Now it turns out that in dimension one, the only birational
transformations are the projective transformations (also called
homographies): there are simply no others (and there is no
Cremona transformation). In dimension three or more, it is not
possible to find a finite number of particular birational
transformations which, when composed with the projective
transformations, will span all other birational transformations: the
Cremona group is simply too complicated, and it is hardly possible to
say anything useful about it.
Well, I don't know whether this is all very enlightening; at least,
it is a little but elegant bit of algebraic geometry.
One thing which regularly annoys me is how difficult it is to find
mathematics on the Web at the level I'm interested in. One can easily
find a lot of undergraduate-level stuff, and a lot of research papers,
but there seems to be a gap between the two at which there is little
available material online. For example, just now, I wanted the
precise definition of a Gorenstein ring (or a Gorenstein
singularity, or whatever: it's the word Gorenstein which
interests me, in any context). Now there are tons of research papers
which deal with resolution of Gorenstein singularities or
classifications of them, or whatever: but they never bother to recall
what a Gorenstein singularity is, because everyone is supposed to know
that (in order to make any sense of the paper or to have any interest
in it). And on the other hand, this is way too advanced for most
online courses: what I would need is a general treatise on
Cohen-Macaulay rings (such as this book by Bruns
and Herzog, of which I have a copy at my parents' house but none
where I am now).
Of course, there is MathWorld, which is often
useful (especially when it comes to formulæ of kinds): here it gives a
definition of a Gorenstein ring (I won't link to it because I don't
wish to Google-feed it), but I can't make heads or tails of it —
I'm sure they omitted something. And this isn't just bad luck in this
particular case: it's really quite typical of their definitions in
relatively high-brow domains. When there is an entry in the Wikipedia, it's usually more
useful, but, unfortunately, the word Gorenstein doesn't appear
in the Wikipedia (I guess I'll have to write the entry when I find out
precisely). In general, the Wikipedia isn't very good when it comes
to mathematics because there isn't a convenient way to typeset
mathematical formulæ in it.
(That's what research libraries are for, you say? Yes, but it is
presently 4AM, and all research libraries I have access
to are closed. And how can I go to sleep without knowing the correct
definition of a Gorenstein ring? Now you understand my dilemma!)
Some time ago I got into my mind that I should try to write a
little text (perhaps entries into this 'blog, perhaps a standalone
document) explaining something about the meaning of three mathematical
objects, in a way understandable to the layman (whose a priori
level of mathematical culture remains to specify: it should include a
basic understanding of natural numbers and plane geometry but no
knowledge of ordinals).
The three mathematical objects, which I chose because they
fascinate me, because I think there is genuine beauty in them, and I
would like to share with others the vision of that beauty, and because
of their tantalizing relation to “infinity” (in a broad
sense) are: the Long Line, the Stone-Čech compactification of
the natural numbers (also known as beta-omega), and Zariski's
Ciel Étoilé (Starry Vault). These objects
all convey a geometrical, almost graphical, intuition: yet they defy
us (in a way akin to the bewilderment caused by Escher's prints, but
much stronger) as they cannot be represented accurately by
any pictorial representation, they cannot be
“embedded” in our Universe.
Quelle est l'espérance du maximum de quatre variables gaussiennes
indépendantes chacune de moyenne zéro et écart-type un ?
Numériquement, une valeur approchée est celle qui sert de titre à
cette entrée. Si on remplace quatre par
trois ou deux (ou bien sûr une) variables, je
sais trouver une valeur symbolique exacte (enfin, surtout Mathematica
sait si je le dirige un peu) : 1/√π (désolé, c'est moche,
mais je veux dire un sur racine de pi, je ne vais pas mettre de MathML
ici) pour deux variables, et 3/2 fois ça pour trois variables. Mais
quatre… Péter m'a suggéré une
façon de faire le calcul qui devrait aboutir à un résultat
exact, mais c'est assez atroce à mener explicitement (de toute façon
le problème est de délimiter une région sur la sphère de dimension
trois qui a pour mesure un 24e de la mesure totale, et de faire une
intégrale dessus).
Mise à jour () : Complètement par
hasard, j'apprends que la valeur exacte de ce nombre est :
(3/√π)[½+arcsin(1/3)/π]. Et pour cinq variables :
(5/(2√π))[½+3·arcsin(1/3)/π].
Voir cette page,
qui prétend que des expressions en forme close existent aussi pour six
et sept variables en utilisant des dilogarithmes (et huit et neuf avec
des trilogarithmes).
Nouvelle mise à jour () :
Voir
aussi ce
lien, qui explique un peu comment cqlcuer ces choses.
Encore une mise à jour () :
Voir ce
fil Twitter où je récapitule (sans rien dire de nouveau) l'état de
l'art sur ce problème.
Mr Magic says, I'll secretly choose two integers between 2 and
3000, and I'll tell their sum to Steven and their product to
Peter, and, of course, does so. Peter comments, I don't know
what the two integers are. Steven remarks, yeah, I knew
that. Whereupon Peter says, oh? well now I know what they
are. And immediately Steven says, now so do I. Mr Magic
then asks Alice (who was also listening to the conversation), do
you know what the two numbers are?, and Alice answers, of
course not. So Mr Magic tells Alice the smaller of the two
integers. And Alice replies, now I know what the other one
is.
What are the two numbers?
This is a sick—pervert—problem if I ever heard one.
(I'm not sure I should call this mathematics, either, though there is
certainly some mathematical ground here, and it requires logical
reasoning; but there is no theory behind it, as far as I can see.)
Yet it can be solved (by brute force, as it were). In case you'd like
to know, the answer (click here
to reveal it if it is invisible) is 32 and 131. But the problem itself
isn't so much interesting as the pattern. For example, the following
problem is much clearer (and you definitely don't need a
computer to solve this one):
Mr Magic announces, I'll roll two (ordinary, six-sided) dice in
secret, and tell the smaller of the two figures (between one and six)
to Minnie and the larger to Max, and he does so. The sum of
the two numbers is neither six nor eight, he also says. Max
remarks, I don't know what Minnie's number is. Minnie replies,
I knew that. Then she adds: now do you know my number?;
to which Max replies, yes. And Minnie says, then I know
yours.
What are the two numbers?
Just follow the reasoning with pencil and paper: when it is done
right, it is child's play. The answer (click here)
is 3 and
4. I find much more elegance in this simpler problem than in the
original one. But the basic logic is the same. (On the other hand, I
did spend a tremendous amount of time coming up with a
situation where every reaction would be more or less natural, which
wasn't too gory to explain or too trivial to solve, etc. If you think
it's easy, just try it for yourself!)
[French translation of the above.]
N'essayez pas de résoudre ce truc sans ordinateur :
M. Magie dit, je vais secrètement choisir deux entiers entre 2
et 3000, et j'en dirai la somme à Stéphane et le produit à Pierre,
et, bien sûr, il le fait. Pierre observe, je ne sais pas quels
sont les deurs entiers. Stéphane remarque, ouais, je le
savais. Sur quoi Pierre dit, ah ? eh bien maintenant je sais
ce qu'ils sont. Et immédiatement Stéphane dit, maintenant moi
aussi. M. Magie demande alors à Alice (qui écoutait aussi la
conversation), savez-vous quels sont les deux nombres ?, et
Alice répond bien sûr que non. Alors M. Magie donne à Alice le
plus petit des deux entiers. Et Alice répond, maintenant je sais
quel est l'autre.
Quels sont les deux nombres ?
Voilà un problème cinglé — pervers — si j'en ai jamais
vu. (Je ne suis pas certain que j'appellerais ça des maths, non plus,
même s'il y a assurément des bases mathématiques là, et cela exige un
raisonnement logique ; mais il n'y a pas de théorie derrière, pour
autant que je voie.) Pourtant, il peut être résolu (par force brute,
en tout état de cause). Si vous voulez savoir, la réponse (cliquez ici
pour la révéler si elle est invisible) est 32 et 131. Mais le
problème en lui-même n'est pas aussi intéressant que le motif. Par
exemple, le problème suivant est beaucoup plus clair (et vous
n'avez assurément pas besoin d'un ordinateur pour résoudre
celui-ci) :
M. Magie annonce, je vais jeter deux dés (ordinaires, à six
faces) en secret, et dire le plus petit des deux chiffres (entre un et
six) à Minnie et le plus grand à Max, et il le fait. La somme
des deux nombres n'est ni six ni huit, dit-il encore. Max
observe, je ne sais pas quel est le nombre de Minnie. Minnie
réplique, je le savais. Puis elle ajoute : maintenant,
sais-tu quel est mon nombre ? ; ce à quoi Max répond, oui.
Et Minnie dit, alors je sais le tien.
Quels sont les deux nombres ?
Suivez juste le raisonnement avec papier et crayon : quand on le
fait correctement, c'est un jeu d'enfant. La réponse (cliquez ici)
est 3
et 4. Je trouve beaucoup plus d'élégance dans ce problème plus
simple que dans l'original. Mais la logique de base est la même.
(D'un autre côté, j'ai effectivement perdu un temps fou pour
trouver une situation où chaque réaction serait plus ou moins
naturelle, qui ne soit ni trop pénible à décrire ni trop triviale à
résoudre, etc. Si vous croyez que c'est facile, essayez par
vous-mêmes !)
On the beauty of the Steiner system of index (5,8,24)
If there were a beauty prize for mathematical objects, I think the
Steiner system of index (5,8,24) (I will describe what this means in a
moment) would be one of the most serious candidates. It is something
extremely easy to define (but not so easy to exhibit or represent!)
but of breathtaking intellectual elegance and having absolutely unique
and “magical” properties. This is the sort of
mathematical objects that holds (for me) all the fascination that
numerology can have for some people, except that there is
“really something” there (when I get mystical, I think:
some deep insight into the fabric of reality).
To define naïvely what a Steiner system of index (5,8,24) means is,
as I just said, very easy: it is a set of 24 “points”
(objects, elements, whatever) together with 759 “blocks”,
each consisting of 8 points, having the property that any 5 of the 24
points lie in one and only one of the 759 blocks. I know this doesn't
sound impressive when said like that.
Maybe to give the feel of things I should explicitly describe the
Steiner system of index (2,3,7) (the projective plane over
F2, to be precise, also called the “Fano
plane”). Consider 7 objects (“points”) which will
be labeled (1:0:0), (0:1:0), (1:1:0), (0:0:1), (1:0:1), (0:1:1) and
(1:1:1) (the labels are unimportant: I could just as well be calling
these objects “red”, “green”,
“yellow”, “blue”, “magenta”,
“cyan” and “white”, or “Valor”,
“Compassion”, “Sacrifice”,
“Honesty”, “Honor”, “Justice” and
“Spirituality” or whatever I wanted); and define the
following seven blocks of three objects each: {(0:1:0), (0:0:1),
(0:1:1)}, {(1:0:0), (0:0:1), (1:0:1)}, {(1:1:0), (0:0:1), (1:1:1)},
{(1:0:0), (0:1:0), (1:1:0)}, {(0:1:0), (1:0:1), (1:1:1)}, {(1:0:0),
(0:1:1), (1:1:1)} and {(1:1:0), (1:0:1), (0:1:1)}. Then any choice of
two of the seven points belongs to one, and only one, of the seven
blocks. Try it!
The previous example has a classical geometric representation: draw
an equilateral triangle, label its vertices (1:0:0), (0:1:0) and
(0:0:1); label (1:1:0) the middle of the edge joining (1:0:0) and
(0:1:0), label (0:1:1) the middle of the edge joining (0:1:0) and
(0:0:1) and label (1:0:1) the middle of the third edge of the
triangle; finally, label (1:1:1) the center of the triangle, and draw
the inscribed center of the triangle as well as the three medians
(which are also at once mediators, heights and bisectors since the
triangle is equilateral). This defines seven points in the plane, and
seven “lines” between them (the three sides of the
triangles, the three medians and the seventh “line” is the
inscribed circle), each of them joining exactly three points, and it
is easily seen that any two points are joined by exactly one line.
Now the Steiner system of index (5,8,24) does the same with
different numbers: there are 24 points and blocks of 8 points
(“octads”) are defined such that any set of 5 different
points belongs to exactly one of the octads. The first remarkable,
and by no means obvious fact, is that there is only one
Steiner system of index (5,8,24): if you find two of them, then there
is some way of reordering the 24 points so that in fact they agree
exactly. So it is justified to speak of the such Steiner
system. (There is also a unique Steiner system of index (2,3,7);
however not all Steiner systems are unique for their index: for
example, there are exactly 2 Steiner systems of index (2,3,13), 18 of
index (2,4,25). Also, not all Steiner systems exist even if there is
no evident impossibility; for example, there is no Steiner system of
index (2,7,43); it is not known whether there exists one of index
(2,13,157), although it is conjectured that there is none. But very
elementary knowledge of combinatorics suffices to prove that there is
no Steiner system of index (6,9,25), say: the number of blocks could
not be an integer.)
The Steiner system of index (5,8,24) has a large number of
automorphisms, in other words, manners of permuting the 24
points in such a way that if eight points formed a block before the
permutation, the new eight points which take their place after
permutation still form a block. As a matter of fact, there are
244823040 automorphisms of the system: these constitute what is known
as the Mathieu group M24. This group
is five times transitive, meaning that if you take any five
of the twenty-four points and place them in any five new places, there
is a way (in fact, exactly 48 ways) to complete this choice into an
automorphism of the system. Now this property is remarkable in the
highest extent: indeed, apart from the full group of permutations on
n objects (which is n times transitive) and the
so-called “alternating group” of even permutations (which
is n-2 times transitive), there are only two
(permutation) groups which are 5-transitive: the Mathieu groups
M24 (automorphisms of a Steiner system of index
(5,8,24), as explained) and M12 (automorphisms
of a Steiner system of index (5,6,12)), and neither is 6-transitive or
more. And also, the Mathieu groups are among the twenty-six sporadic simple
groups; but describing what this means (even by removing the word
“sporadic”) would take just a bit too long for me to try
it now.
Furthermore, I mention that the Steiner system (5,8,24) can be used
to construct the (binary) Golay code, the most remarkable
(and “powerful”!) error-correcting code ever, in the
following way. Consider the 759 blocks (octads) of the Steiner system
(5,8,24) as words of 24 bits, by putting a ‘1’ in a given
place if the corresponding point is in the octad, and ‘0’
otherwise (so each of these blocks will have exactly 8 bits to
‘1’ and the others to ‘0’). Now combine these
words in every possible way using (bitwise) XOR
(eXclusive OR). This gives a total of 4096 words (a vector space of
dimension 12 over the finite field with 2 elements), the words of the
Golay code, none of which (except the entirely zero word) has fewer
than 8 bits with value ‘1’; it is then possible to
judiciously choose twelve columns out of the twenty-four in such a way
that every combination of ‘0’'s and ‘1’'s in
these columns matches one and exactly one of the 4096 words of the
code. So we can code any word of 12 bits by a word of 24 bits in the
Golay list: this code can correct an arbitrary error on 3 bits out of
24, and detect an arbitrary error on 4 bits. Out of the 4096 words of
the Golay code, 759 have 8 bits with value ‘1’, 2576 have
12 bits with value ‘1’, 759 have 16 bits with value
‘1’ (and are the complements of the 759 with weight 8) and
the last two are the fully zero and fully set words.
So far I have described some properties of the Steiner system
(5,8,24) or the Golay code, but I have not described them explicitely.
There is a plethora of ways to construct them, more or less
intuitively understandable and more or less pleasant; however, there
is at least one way I find truly remarkable: the dodecahedron
construction of the Golay code, which works as follows. Take a
(regular) dodecahedron and two colors of ink (say, black and red).
Using the black ink, write ‘0’'s and ‘1’'s
arbitrarily on the dodecahedron, one bit per face. Now using the red
ink visit each of the dodecahedron's faces in turn, and compute the
parity of all the black bits except those on the five faces
immediately adjacent to the one on which the red bit is being
written; in other words, each red bit on a given face of the
dodecahedron indicates the parity of the black bits for the seven
faces of the dodecahedron which are not immediately ajacent to the
face in question: the red bit is ‘1’ when there are an odd
number of black bits at ‘1’ among the seven faces in
question, or ‘0’ when there are an even number of them.
Thus, starting from twelve arbitrary black bits we get twelve red
bits, to a total of twenty-four bits, two on each face of the
dodecahedron: well, this is exactly the Golay code: the 4096
twenty-four bits words obtained by trying all possible combinations of
black bits give exactly the 4096 words of the Golay code; and to
construct the Steiner system of index (5,8,24), just take those 759
words having eight bits at ‘1’.
One of my bizarre dreams would be to find some way to construct a
puzzle similar to Ernő Rubik's famous cube—only it would
probably be shaped more like a dodecahedron—that has the Mathieu
group M24 as group of transformations.
[Update: I wrote a couple of such JavaScript games:
see here, here
and more importantly here; also
see this link which was
suggested in the comments.]
[300th entry in this 'blog! Hurray, hurray, hurray!]
At the end of 2001, I had started a mathematical diary, which I kept
active through most of 2002. The idea is not to write down
ideas that are important for my current mathematical research activity
(writing my thesis, that is), but, on the contrary, to evacuate by
committing them on paper various side ideas that I have from time to
time. It's the same sort of force that drives me to write this 'blog:
once I become infected with a meme, say a mathematical problem,
it will keep haunting me until I either solve the problem or save it
on paper (electronic paper will do as well, of course) for later. So
this is how this diary should be regarded: as a meme pool of weird
ideas. There is nothing that could be called “mainstream
mathematics” in it, I guess. Some of these memes are
“abstract nonsense” as mathematicians call it, embryos of
theories that are trivial to work through the basic definitions, which
produce pages and pages of easy writing. Some are (presumably hard)
questions.
In a way, this diary could be shown as evidence of my mathematical
angst: probably nothing it contains would be deemed of any interest by
any other mathematician, and I guess the questions which obsess me are
very much alien to mainstream mathematical culture. This is
one of the reasons why I have solid doubts as to whether I should
pursue the academic career in mathematics.
Anyway, whatever it's good for, I've decided to start writing in
this diary again. Probably not nearly as actively as this 'blog, but
it'd be nice to hold a one-entry-a-week minimum average. There are
lots of goofy thoughts that I won't be rid of until I've written them
down.
Here on the left (click to enlarge) you can
see—to contradict an earlier
statement I made that they are difficult to picture—a
(nonsingular) cubic surface, one of the beasts that I've spent a good
part of my thesis studing (the arithmetic of). Specifically, this is
the surface with (affine) equation
y³-3x²y+z³-3z=0.
The white rods (fifteen of them, if you count well) are not part of
the surface itself—or rather, they are, but they've been
emphasized for clarity: they represent the straight lines lying on the
surface. There are always twenty-seven straight lines on a
nonsingular cubic surface, but all might not be “real” in
the sense that some are actually pairs of complex conjugate lines; and
this particular surface has fifteen real lines and six pairs of
complex conjugate lines. Sometimes three lines on the surface
(necessarily in the same plane) meet in one point: then that point is
called an Eckardt point; this surface happens to have six
Eckardt points (all real), three of which have been shown on the
picture as small bright pink spheres (the other three are at infinity
so you cannot see them); one of them (namely (0,0,0)) is at the center
of the image. I've already mentioned
Eckardt points on this 'blog; they have many remarkable properties,
but they make the arithmetic of the surface rather harder to study
when they exist. The sort of question one might ask is this: given
that the surface has one point with rational coordinates (namely
(0,0,0)), and since its equation has rational coefficients, is it true
that there are points with rational coordinates arbitrarily close to
any real point? (And the answer, for this surface, is
yes.)
The image was made with the Persistance of Vision
(“POV-ray”) raytracer. I don't deserve much credit
since POV-ray has a primitive (quite appropriately called
cubic!) which draws a cubic surface. My work as a
mathematician in composing this image was limited to finding the
equation of a nice cubic surface having some Eckardt points and then
computing the equation of all the lines on it (a horrendous task in
general, but relatively easy for this one surface since it has a very
simple equation in which variables are separated). Note incidentally
that the colors are not on the surface but come from three colored
light sources.
I've also made a little animation of the rotation of the
cubic surface (984kbyte AVI file) from the images
computed by POV-ray. (Don't ask me how to read it or what codec it
uses, I don't know anything about this stuff: I just fiddled around
with MPlayer/MEncoder,
randomly tweaking the command line options until it produced something
that seemed like it was an animation.)
This image represents a periodic tiling of
the plane with hexagons colored with seven colors, having plenty of
nice mathematical properties. One of them is this: if you take any
two points the distance between which is given by the little black rod
shown on the upper left, then these two points cannot have the same
color. In other words, no matter how you move the rod in the picture,
so long as you don't change its size, the two ends will fall on
different colors.
Can this be done with fewer than seven colors? In other words, is
there a way to color the plane (not necessarily perodically) using six
colors or less, in such a way that any two points separated by a
certain distance d fixed a priori are always of
different colors? Interestingly enough, the answer to this problem is
not known: I believe this is still an open problem. (I don't know who
asked the question in the first place. It sounds typical of Pál
Erdős, but that's mere guessing.)
Probably this is the mathematical problem with the simplest
formulation which is still open.
It can be shown, however, that no plane coloring with
three or less colors can do the trick: if you color the
plane, in any way whatsoever, using three colors or less, and you fix
an arbitrary distance d, then there are always, somewhere,
two points separated by that distance d that are of the
same color. This is a very nice mathematical exercise, because it
requires almost no knowledge of geometry (let alone of any other
domain of mathematics), and yet it is not at all obvious—almost
an exercise of pure reasoning. I remember hitting my head against the
walls for quite some time before I found the trick; and I occasionally
gave it to students to try, nearly driving some of them mad. The
problem with two colors (showing that two colors or fewer
cannot suffice to color the plane in such a way that two points at
distance d are not of the same color), however, is very
simple, and anyone should be able to solve that; and it holds the key
to solving the case of three colors.
So I can't be held responsible for people banging their head
against walls, I'll provide the answer to the two- and three-color
problems now. (Click here
to reveal the following text if it is invisible.) First, the
two-color case: consider an equilateral triangle with side
d anywhere in the plane; then each vertex of the triangle
cannot be of the same color as any other vertex, and this means that
there are at least three colors. Now the three-color case: suppose we
have a coloring of the plane with three colors such that no two points
at distance d are of the same color (and we want to reach a
contradiction). Consider an equilateral triangle ABC of
side d again: then certainly its three vertices must be of
all three colors. So if we put another equilateral triangle side to
side, say BCD, then the color of point D must be
the same as the color of point A (since they share the edge
BC: the color cannot be that of B nor that of
C, and there are only three colors). So D has
the same color as A, but this is true whenever the figure
can be drawn, that is, whenever the distance between A and
D is that of two equilateral triangles of side d
sharing a common side (this means the distance between A
and D is sqrt(3)·d but that's unimportant). If
we draw the entire circle of center A having that distance
as radius, then all points on that circle are supposed to
have the same color as A; and we can certainly find two
points on that circle having distance d, a
contradiction, which completes the proof.
Perhaps this is a nice test to determine whether a person is
mathematically inclined, or could be, even if that person has no
knowledge of mathematics: anyone so inclined will not resist thinking
about such a simple and elegant problem for some time.
(The title is mostly a joke, because Eckardt points really weren't
the main difficulty.) Well, after another bunch of hours rewriting
this proof in all aspects, I seem to have come to a final-so-far
version of it: the statement is that weak approximation holds in
places of good reduction for smooth cubic surfaces over the function
field of a curve over an algebraically closed field. If that's
Chinese to you, here's a slightly more understandable version of the
same: consider a homogeneous cubic equation in four unknowns (say,
X, Y, Z and T) whose
coefficients are rational functions of one indeterminate (say,
λ) having themselves complex coefficients: something
like c3000(λ)·X³ +
c2100(λ)·X²·Y
+
c2010(λ)·X²·Z
+ … +
c0003(λ)·T³ = 0
where the
cijkl
are rational functions in λ with complex
coefficients, and we are trying to solve for the variables
X, Y, Z and T also as
rational functions in λ; well, the idea is that if
you fix a finite number of λ and for each one choose
a solution of the corresponding equation (when specialized to that
value), then there should be a parametric solution (one where
X, Y, Z and T are rational
functions in λ; I insist, rational) which
interpolates them all, and actually, in a way I won't try to describe,
one can fix the derivatives to any order of the variables
X, Y, Z and T, not just
their values at certain points; now actually this doesn't work for all
λ: there are a certain finite number of them which
can't be handled (places of “bad reduction”), essentially
those in which the specialized equation becomes too degenerate in
certain ways.
Now that I've finished that, I can perhaps start working on the
piles and piles of emails that I still have to reply to.
I've mentioned several times in this 'blog my joint paper with
Jean-Louis Colliot-Thélène on Del Pezzo surfaces over fields of
cohomological dimension one, paper which I presented in Besançon. I would now like to try to
explain something of what it is about for the benefit of non-experts.
Unfortunately, I won't make my explanations accessible to all
laymen, because that would either take too much space or require to
remain at a level of generality such that it wouldn't be interesting
to anyone; but I have plans for writing a general introduction to
arithmetical geometry, at some point, that would be understandable by
everyone and his dog. For the moment, I'll assume that the reader has
undergraduate (math major) knowledge of algebra, including knowing
what a field is (though I'll recall it in a minute), and also a
polynomial in several indeterminates and a vector space. I guess that
excludes a lot of people, but at least I'm not assuming that
you know what an étale cohomology group (and, therefore, a field of
cohomological dimension one) is. Anyway, here we go.
A (commutative) field (I recall just to make sure
everyone agrees, but I assume the reader knows this already) is a
domain E with two operations, addition and multiplication,
so that addition puts an abelian group structure on E (in
other words, addition is associative and commutative and has a neutral
element written 0 (zero), and for every element x of
E there exists an element written -x and called
the negative of x, such that x+(-x) =
(-x)+x = 0), multiplication distributes over
addition, multiplication is associative and commutative and has a
neutral element written 1 (one), and for every element x of
Eother than 0 there exists an element
x-1 such that
x·x-1 =
x-1·x = 1. Examples of fields are
the set R of real numbers or that, C, of complex
numbers; or the set Q of rational numbers, or the set
R(t) of rational functions in one indeterminate
t with real coefficients; we also have the set
Z/pZ of integer (residues) modulo a prime
number p, or, for those who know what that is, the set of
p-adics Qp.
If we take this definition of a (commutative) field and remove just
the assumption that multiplication is commutative, leaving everything
else as it is, we get the definition of a division algebra,
or skew-field (some people just say “field”). The
simplest example is probably the skew-field of quaternions, H:
it is obtained by adjoining three symbols, i, j
and k to the real numbers subject to the relations that
i² = j² = k² =
ijk = -1 (this implies, for example,
that ij = k whereas
ji = -k). It is a famous theorem of
Wedderburn that every finite division algebra (in the sense that it
has only finitely many elements) is, in fact, commutative (in other
words, is a field). In any division algebra D, the set of
elements x which commute with every other element
y, that is, so that
xy=yx for every
y, forms a commutative field (a subfield of D)
called the center of D (for example, the center
of H is just R).
Recall that a field E is said to be algebraically
closed iff every non-constant polynomial equation (with
coefficients in E) in one indeterminate has a solution.
For example, the equation x²-2=0 (in the indeterminate
x) should have a solution (“the square root of
two” up to a sign) in any algebraically closed field: this shows
that the field Q of rational numbers is not algebraically
closed, and neither is the field R of real numbers (because the
equation x²+1=0 has no root in R, that is, -1 has no
real square root); on the other hand, the field C of complex
numbers is algebraically closed, a theorem due to Gauß (based on
preliminary work by D'Alembert) and often referred to as the
“fundamental theorem of algebra”.
A mere matter of notation: rather than considering polynomial
equations in one indeterminate such as x²-2=0, algebraic
geometers prefer to consider polynomial equations in two
indeterminates which are homogeneous, meaning that the
total degree (sum of the degree in each indeterminate) of each
monomial es the same, such as X²-2T²=0: this can
be arranged by the procedure (homogenizing the equation)
consisting of adding a new indeterminate (here T) and
multiplying each monomial by the appropriate power of it so that the
total degree is the same everywhere. Now we look for
non-trivial solutions of the homogeneous equation, that is,
solutions in which all indeterminates are not simultaneously zero: it
will readily be seen that (X,T) is a solution to
the homogeneous equation X²-2T²=0 if and only if
the ratio x=X/T is a solution of the
initial equation x²-2=0. So it is the same to ask that
every homogeneous polynomial equation in two indeterminates of
(strictly) positive degree have a non-trivial solution as to ask that
every non-constant polynomial equation in one indeterminate has a
solution: both mean that the working field is algebraically closed.
Actually it turns out that the restriction on the number of variables
is irrelevant: over an algebraically closed field, any (one)
homogeneous polynomial equation of (strictly) positive degree has a
non-trivial solution so long as there are at least two indeterminates
(and any (one) non-constant polynomial equation has a solution as long
as there is at least one indeterminate). In fact, we can do better:
over an algebraically closed field, if we consider at least
m homogeneous equations of (strictly) positive degrees in
n indeterminates, then so long as n-m
is at least 1, they have a common non-trivial zero.
Homogeneous polynomials of degree two are called quadratic
forms, and of degree three, cubic forms. When they
have a non-trivial zero (in a given field) they are called
isotropic, otherwise anisotropic. So the above
paragraph tells us, in particular, that a form (quadratic, cubic or
whatever) in at least two variables over an algebraically closed field
is always isotropic. For quadratic forms, this is not true over the
field of real numbers: in fact, there are quadratic forms with
arbitrarily many variables over the real numbers that are not
isotropic, for example
X²+Y²+Z²+T² cannot be zero
over the reals unless all of X, Y, Z
and T are zero (the trivial solution), for reasons of
positivity; on the other hand, any cubic form over the reals in at
least two variables is always isotropic.
Here's a little mathematical fact that may amuse the reader. I
thought about this some time ago, and was reminded of it while proving
some statements about “weak approximation” today.
Start with a concrete case: on 2002-01-01, various European
countries switched to a new currency, the euro. Exchange rates had
been fixed several months earlier, by defining the euro's value as an
exact number of the various earlier currencies (deutschemarks, liras,
French francs and so on), these numbers being the then market exchange
rate with six significant digits. For example, the euro was defined
as (exactly) 6.55957 French francs. Naturally, this makes the French
franc equal to approximately 0.152449 euro(s); however, in that
direction, the ratio is not exact, because it is even more precisely
0.15244902 euro(s), and even that is not exact (though at that point,
the further decimals become quite meaningless, but we are interested
in mathematics, so we can't call it exact).
Call a number decimal iff it can be written with a
finite (that is, ending) number of digits after the decimal point; in
other words, it can be written as the quotient of an integer by some
power of ten (as in: 6.55957 = 655957/100000). For example, 1/2 (one
half) is a decimal number because it is 0.5 (or 5/10), and so is 1/5,
but 1/3 and 1/7 are not decimal numbers (although they are, of course,
rational numbers). So the value of the euro in all of the former
European currencies was defined exactly as a decimal number (the
euro's value in French francs, 6.55957, is decimal); on the other
hand, the value of the currencies in euro(s) is not decimal (for
example, 1/6.55957 is not decimal, because 0.152449 or 0.15244902 are
only approximations, and no finite number of digits will give an exact
value). This can be annoying (in practice it never is, or was, a
problem, but assume for the sake of argument that it is).
Now call a number bidecimal iff it is decimal and its
reciprocal (or “inverse”, that is, one divided by
that number) also is a decimal number. There exist bidecimal numbers:
for example, 4 is a bidecimal number, because 4 is decimal (as are all
integers) and 1/4=0.25 is also decimal. Similarly, 1.25 is bidecimal
(its reciprocal is 0.8). Now assume we had wanted the currency rates
in both directions (the euro's value in the former currencies
and the former currencies' value in euro(s)) to be decimal: in other
words, for the currency rates to be bidecimal. Could we have done
this? Of course, it is not the matter of picking an arbitrary
bidecimal number: the fixed chosen currency rates need to be very
close to the market rates at fixation time. The question, then, is:
is it possible to find bidecimal numbers that are arbitrarily close to
any given number? Or, in mathematical terminology: are the bidecimals
dense in the real numbers? And the answer is
yes. If it had been desirable to make the currency
rates bidecimal, that could have been done while keeping adequation to
an arbitrary precision with the market rates of the day. For
instance, one can find a bidecimal number which is between 6.559565
and 6.559575, thus being close to 6.55957; or between 6.5595695 and
6.5596705; or to any desirable precision. I'm not claiming, though,
that to fix the rate's approximation of market rates to six
significant figures we need only six digits in the bidecimals!
Actually, a bidecimal number between 6.559565 and 6.559575 needs quite
an impressive number of digits to be written exactly (or its inverse);
but it can be done.
As for why that wasn't done in practice, the last sentence above is
the answer. But it is an amusing mathematical curiosity. I'll let
the mathematically inclined reader figure out the proof.
Note that it doesn't work in binary, for instance: can you explain
why that is?