David Madore's WebLog: Mathematics

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.

[Index of all entries / Index de toutes les entréesLatest entries / Dernières entréesXML (RSS 1.0) • Recent comments / Commentaires récents]

Entries with category Mathematics / Entrées de la catégorie Mathématiques:

↓Entry #2698 [older| permalink|newer] / ↓Entrée #2698 [précédente| permalien|suivante] ↓

(mercredi)

Sur une entrée en cours d'écriture

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.

↑Entry #2698 [older| permalink|newer] / ↑Entrée #2698 [précédente| permalien|suivante] ↑

↓Entry #2687 [older| permalink|newer] / ↓Entrée #2687 [précédente| permalien|suivante] ↓

(vendredi)

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 :

  1. 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.
  2. 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.
  3. 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é :

↑Entry #2687 [older| permalink|newer] / ↑Entrée #2687 [précédente| permalien|suivante] ↑

↓Entry #2686 [older| permalink|newer] / ↓Entrée #2686 [précédente| permalien|suivante] ↓

(mercredi)

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 vn et c<n, on termine l'algorithme en renvoyant la valeur c ; enfin, si cn, on effectue v ← vn et c ← cn 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 := cn·⌊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.

↑Entry #2686 [older| permalink|newer] / ↑Entrée #2686 [précédente| permalien|suivante] ↑

↓Entry #2685 [older| permalink|newer] / ↓Entrée #2685 [précédente| permalien|suivante] ↓

(vendredi)

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.

La configuration (9₃)① (ou configuration de Pappus) La configuration (9₃)② La configuration (9₃)③

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).

Quelle est cette configuration ?

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.

↑Entry #2685 [older| permalink|newer] / ↑Entrée #2685 [précédente| permalien|suivante] ↑

↓Entry #2683 [older| permalink|newer] / ↓Entrée #2683 [précédente| permalien|suivante] ↓

(samedi)

Sur le modèle SIR avec susceptibilité hétérogène

Je continue dans ce billet de blog une série sur l'épidémiologie mathématique que j'avais commencée avec cette entrée sur le modèle SIR classique, celle-ci sur une variante de SIR où le rétablissement se fait en temps constant, accessoirement celle-ci sur la différence entre seuil d'immunité collective et taux d'attaque, et plus indirectement celle-ci sur des modèles d'hétérogénéité basés sur les graphes aléatoires ; je ne présuppose pas la lecture des billets en question, même si celle du premier a un intérêt, mais je vais en résumer rapidement le contenu.

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).

J'ai parlé dans cette entrée de la différence entre seuil d'immunité collective et taux d'attaque final (qui sont les deux quantités essentielles que le modèle calcule) dans le modèle SIR.

*

↑Entry #2683 [older| permalink|newer] / ↑Entrée #2683 [précédente| permalien|suivante] ↑

↓Entry #2675 [older| permalink|newer] / ↓Entrée #2675 [précédente| permalien|suivante] ↓

(mercredi)

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.

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é. 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é en 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 n ré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.

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 ij, 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 ∀nt.φ et ∃nt.φ comme abréviations (sucre syntaxique) de ∀n.(nt ⇒ φ) et ∃n.(nt ∧ φ). 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 en (cf. ci-dessous pour l'écriture formelle de cette expression dans l'arithmétique du premier ordre). J'écrirai en↓ pour signifier que en est défini, y compris dans des expressions comme en↓=v (de nouveau, cf. ci-dessous).

Bref, ⟨p,q⟩ désignera le couple (p,q) codé sous forme d'un entier naturel, et en 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 en 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 en↓=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, en↓ (l'exécution du programme e sur l'entrée n termine) s'écrit/signifie ∃x.T(e,n,x) ; et en↓=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 (np↓) ⊪ ψ : 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 (nk↓) ⊪ φ(k) (ou, pour être tout à fait précis, (nk↓) ⊪ φ(‘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 n réalise φ ou que φ est réalisée par n, et n.(nφ) en disant que φ est réalisable.

↑Entry #2675 [older| permalink|newer] / ↑Entrée #2675 [précédente| permalien|suivante] ↑

↓Entry #2664 [older| permalink|newer] / ↓Entrée #2664 [précédente| permalien|suivante] ↓

(lundi)

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'infecté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.

[Graphes des courbes de taux d'attaque et de 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 hh² + 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.

↑Entry #2664 [older| permalink|newer] / ↑Entrée #2664 [précédente| permalien|suivante] ↑

↓Entry #2656 [older| permalink|newer] / ↓Entrée #2656 [précédente| permalien|suivante] ↓

(samedi)

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.)

Liens vers les sous-parties de cette entrée : • Mandelbrot • inégalités de Bell • topologie sans points • axiome de Scott • topos effectif • complexité au-delà du calculable • algèbres de Jordan • problème du secrétaire • mécanique sphérique • surface de Bring • Cayley-Bacharach • le spectre des polynômes à valeurs entières

↑Entry #2656 [older| permalink|newer] / ↑Entrée #2656 [précédente| permalien|suivante] ↑

↓Entry #2654 [older| permalink|newer] / ↓Entrée #2654 [précédente| permalien|suivante] ↓

(samedi)

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.

[Taux d'attaque d'une épidémie avec R₀=2.5 en fonction de l'écart-type du nombre de contacts]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.

↑Entry #2654 [older| permalink|newer] / ↑Entrée #2654 [précédente| permalien|suivante] ↑

↓Entry #2648 [older| permalink|newer] / ↓Entrée #2648 [précédente| permalien|suivante] ↓

(jeudi)

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)

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).

↑Entry #2648 [older| permalink|newer] / ↑Entrée #2648 [précédente| permalien|suivante] ↑

↓Entry #2645 [older| permalink|newer] / ↓Entrée #2645 [précédente| permalien|suivante] ↓

(mardi)

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  (+ 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.

↑Entry #2645 [older| permalink|newer] / ↑Entrée #2645 [précédente| permalien|suivante] ↑

↓Entry #2639 [older| permalink|newer] / ↓Entrée #2639 [précédente| permalien|suivante] ↓

(samedi)

Un tout petit peu d'épidémiologie mathématique

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 base R₀ (= 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.

↑Entry #2639 [older| permalink|newer] / ↑Entrée #2639 [précédente| permalien|suivante] ↑

↓Entry #2616 [older| permalink|newer] / ↓Entrée #2616 [précédente| permalien|suivante] ↓

(mardi)

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,
  • que la quête d'une théorie ultime de la physique est futile,
  • etc.

[#] 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 , 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 Klassenzeichen r, 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).

↑Entry #2616 [older| permalink|newer] / ↑Entrée #2616 [précédente| permalien|suivante] ↑

↓Entry #2601 [older| permalink|newer] / ↓Entrée #2601 [précédente| permalien|suivante] ↓

(samedi)

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]. 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.

↑Entry #2601 [older| permalink|newer] / ↑Entrée #2601 [précédente| permalien|suivante] ↑

↓Entry #2598 [older| permalink|newer] / ↓Entrée #2598 [précédente| permalien|suivante] ↓

(dimanche)

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 continues X→ℝ, avec l'addition et la multiplication point à point (c'est-à-dire que f+g est la fonction xf(x)+g(x) et que fg est la fonction xf(x)⁢g(x)) ; chaque réel c est identifié à la fonction constante xc 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 fg lorsque f(x)≤g(x) pour tout xX, qui est d'ailleurs un treillis avec fg la fonction xf(x)∨g(x) := max(f(x),g(x)) et fg la fonction xf(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 xX 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:XY 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 fh: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:XX est l'identité alors C(id) et C*(id) sont aussi l'identité, et (ii) si h:XY et k:YZ alors C(kh)=C(h)∘C(k) et C*(kh)=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 fc 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).

↑Entry #2598 [older| permalink|newer] / ↑Entrée #2598 [précédente| permalien|suivante] ↑

↓Entry #2592 [older| permalink|newer] / ↓Entrée #2592 [précédente| permalien|suivante] ↓

(lundi)

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).

Ajout : voir cette entrée ultérieure au sujet de la réalisabilité, où je la définis proprement.

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).

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, PQ), 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 linéaire. Spécifiquement, il s'agit de variations autour des explications suivantes :

  • une preuve de PQ (conjonction) est un couple formé d'une preuve de P et d'une de Q,
  • une preuve de PQ (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 PQ (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).

↑Entry #2592 [older| permalink|newer] / ↑Entrée #2592 [précédente| permalien|suivante] ↑

↓Entry #2590 [older| permalink|newer] / ↓Entrée #2590 [précédente| permalien|suivante] ↓

(mardi)

Encore une tentative pour expliquer Gödel

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 PQ 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) □(PQ)⇒□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 ¬□GG donne □(¬□GG) 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é).

↑Entry #2590 [older| permalink|newer] / ↑Entrée #2590 [précédente| permalien|suivante] ↑

↓Entry #2587 [older| permalink|newer] / ↓Entrée #2587 [précédente| permalien|suivante] ↓

(lundi)

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 borélienne α:{0,1}N→{0,…,N−1} et une stratégie de Bob est une fonction borélienne β:{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 ab, 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.

Référence croisée : ce fil Twitter.

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 4pE((Ab+1−Ab) (Ba+1−Ba)) = 1 + E(AbAb) + E(BaBa) + E((AbAb) (BaBa)) soit encore 1 + E((AbAb) (BaBa)) puisque E(Ab) = E(Ab) et E(Ba) = E(Ba) (en fait, chacune de ces quatre espérances vaut ½). Enfin, comme AbAb vaut +1 ou −1, l'espérance E((AbAb) (BaBa)) est majorée par E(|BaBa|), elle-même majorée par ½ (si ij alors E(|BiBj|)=½). Au final, on a prouvé 4p≤1+½, soit p≤3/8 comme annoncé.

↑Entry #2587 [older| permalink|newer] / ↑Entrée #2587 [précédente| permalien|suivante] ↑

↓Entry #2578 [older| permalink|newer] / ↓Entrée #2578 [précédente| permalien|suivante] ↓

(dimanche)

Et maintenant, un peu de logique linéaire

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.

↑Entry #2578 [older| permalink|newer] / ↑Entrée #2578 [précédente| permalien|suivante] ↑

↓Entry #2568 [older| permalink|newer] / ↓Entrée #2568 [précédente| permalien|suivante] ↓

(jeudi)

Le retour du cruel Docteur No

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.

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).

↑Entry #2568 [older| permalink|newer] / ↑Entrée #2568 [précédente| permalien|suivante] ↑

↓Entry #2562 [older| permalink|newer] / ↓Entrée #2562 [précédente| permalien|suivante] ↓

(mercredi)

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 tout n.

[#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).

↑Entry #2562 [older| permalink|newer] / ↑Entrée #2562 [précédente| permalien|suivante] ↑

↓Entry #2557 [older| permalink|newer] / ↓Entrée #2557 [précédente| permalien|suivante] ↓

(dimanche)

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.

Sauf qu'en fait, si.

↑Entry #2557 [older| permalink|newer] / ↑Entrée #2557 [précédente| permalien|suivante] ↑

↓Entry #2555 [older| permalink|newer] / ↓Entrée #2555 [précédente| permalien|suivante] ↓

(jeudi)

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.

[#] Je crois que le troisième qui complète la série serait l'algèbre d'opérateurs de sommets dont Griess parle dans son article A vertex operator algebra related to E₈ with automorphism group O⁺(10,2), mais je ne comprends décidément pas bien tout ça.

Bref, le tableau à garder en tête (juste pour le plan : je vais expliquer ce que tout ça veut dire) est quelque chose comme :

Nombre magique1re génération2e génération3e génération
24Code de Golay binaireRéseau de LeechModule de Moonshine
8Code de Hamming de longueur 8Réseau E₈[Voir note #]

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) :

Nombre magique1re génération2e génération3e génération
24
M24
244 823 040
Co₀
8 315 553 613 086 720 000
Monstre (F₁)
808 017 424 794 512 875 886 459 904 961 710 757 005 754 368 000 000 000
8
C₂³⋊PSL(3,2)
1 344
W(E₈)
696 729 600
O(10,2,+) [???]
46 998 591 897 600

Plan de la suite :

↑Entry #2555 [older| permalink|newer] / ↑Entrée #2555 [précédente| permalien|suivante] ↑

↓Entry #2551 [older| permalink|newer] / ↓Entrée #2551 [précédente| permalien|suivante] ↓

(jeudi)

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é).

↑Entry #2551 [older| permalink|newer] / ↑Entrée #2551 [précédente| permalien|suivante] ↑

↓Entry #2549 [older| permalink|newer] / ↓Entrée #2549 [précédente| permalien|suivante] ↓

(samedi)

Quelques conseils pour les étudiants en maths

À 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.

↑Entry #2549 [older| permalink|newer] / ↑Entrée #2549 [précédente| permalien|suivante] ↑

↓Entry #2548 [older| permalink|newer] / ↓Entrée #2548 [précédente| permalien|suivante] ↓

(jeudi)

Des figures que j'en ai marre de refaire, et des histoires de kaléidoscopes

[Dessins des systèmes de racines de rang 2]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.

↑Entry #2548 [older| permalink|newer] / ↑Entrée #2548 [précédente| permalien|suivante] ↑

↓Entry #2546 [older| permalink|newer] / ↓Entrée #2546 [précédente| permalien|suivante] ↓

(mercredi)

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).

↑Entry #2546 [older| permalink|newer] / ↑Entrée #2546 [précédente| permalien|suivante] ↑

↓Entry #2537 [older| permalink|newer] / ↓Entrée #2537 [précédente| permalien|suivante] ↓

(dimanche)

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 σ(xy 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 σ(xy é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.

↑Entry #2537 [older| permalink|newer] / ↑Entrée #2537 [précédente| permalien|suivante] ↑

↓Entry #2532 [older| permalink|newer] / ↓Entrée #2532 [précédente| permalien|suivante] ↓

(mercredi)

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 xE/L) :

αL* cα exp ( 2 i π (αx) ) cos ( 2 π |α| t ) cα = exp ( |α|2 / U2 )

— soit, en plus moche pour les navigateurs cassés qui ne gèrent pas le MathML —

αL* cα·exp(2iπ(α·x))·cos(2π|αt) cα = exp(−|α|²/U²)

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).

↑Entry #2532 [older| permalink|newer] / ↑Entrée #2532 [précédente| permalien|suivante] ↑

↓Entry #2531 [older| permalink|newer] / ↓Entrée #2531 [précédente| permalien|suivante] ↓

(lundi)

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 ?.

Plan

↑Entry #2531 [older| permalink|newer] / ↑Entrée #2531 [précédente| permalien|suivante] ↑

↓Entry #2528 [older| permalink|newer] / ↓Entrée #2528 [précédente| permalien|suivante] ↓

(lundi)

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/KG 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₁/PP est un parabolique d'un groupe de Lie réel semisimple G₁, qu'on peut aussi voir comme G/(GP) où G est un sous-groupe compact connexe maximal de G₁ et GP 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(vt) (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.

↑Entry #2528 [older| permalink|newer] / ↑Entrée #2528 [précédente| permalien|suivante] ↑

↓Entry #2527 [older| permalink|newer] / ↓Entrée #2527 [précédente| permalien|suivante] ↓

(jeudi)

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 Nj n'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 Nj (dépendant de x que j'omets abusivement dans la notation), à savoir Nj := 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 N330 = 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 N849 = 10255·(2850−1) + (2849−1) est congru à 6 modulo 7 et est premier. Mais pour x=28/93 (autrement dit, avec Nj := 10(⌊j·28/93⌋+1)·(2j+1−1) + (2j−1)), je n'ai pas trouvé de contre-exemple : au moins jusqu'à j=10⁴, les Nj qui sont congrus à 6 modulo 7 ne sont jamais premiers. C'est déjà moins invraisembable d'imaginer que tous ces Nj-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 Nj serait divisible par quelque chose. Du coup, si Nj 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 N14058 = 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)).

↑Entry #2527 [older| permalink|newer] / ↑Entrée #2527 [précédente| permalien|suivante] ↑

↓Entry #2522 [older| permalink|newer] / ↓Entrée #2522 [précédente| permalien|suivante] ↓

(mercredi)

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 :

  1. 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.
  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.
  3. 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).
  4. 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.

↑Entry #2522 [older| permalink|newer] / ↑Entrée #2522 [précédente| permalien|suivante] ↑

↓Entry #2520 [older| permalink|newer] / ↓Entrée #2520 [précédente| permalien|suivante] ↓

(mardi)

Mathématiques discrètes et continues

(Pour l'explication du titre, voir cette vieille entrée.)

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.

↑Entry #2520 [older| permalink|newer] / ↑Entrée #2520 [précédente| permalien|suivante] ↑

↓Entry #2519 [older| permalink|newer] / ↓Entrée #2519 [précédente| permalien|suivante] ↓

(dimanche)

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.

Je suis tombé dans la marmite de la vulgarisation scientifique quand j'étais petit (avouons que mon papa m'a un peu poussé dans la marmite en question), par exemple à travers le livre Cosmos de Carl Sagan (tiré de la série du même nom), ou de One, Two, Three… Infinity de George Gamow (ça fait plus de trente ans que je ne l'ai pas lu, celui-là, je devrais sans doute y jeter à nouveau un œil pour voir ce qu'il contenait), ou encore The Emperor's New Mind de Penrose ainsi que (plus tard) Gödel, Escher, Bach de Hofstadter auquel le livre de Penrose est plus ou moins une réponse, ou enfin Les Trous noirs de Jean-Pierre Luminet.

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 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.

↑Entry #2519 [older| permalink|newer] / ↑Entrée #2519 [précédente| permalien|suivante] ↑

↓Entry #2518 [older| permalink|newer] / ↓Entrée #2518 [précédente| permalien|suivante] ↓

(vendredi)

Quelques notes sur la factorisation des entiers

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.

↑Entry #2518 [older| permalink|newer] / ↑Entrée #2518 [précédente| permalien|suivante] ↑

↓Entry #2512 [older| permalink|newer] / ↓Entrée #2512 [précédente| permalien|suivante] ↓

(mardi)

Encore de jolies images quasipériodiques

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ζ=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.

↑Entry #2512 [older| permalink|newer] / ↑Entrée #2512 [précédente| permalien|suivante] ↑

↓Entry #2511 [older| permalink|newer] / ↓Entrée #2511 [précédente| permalien|suivante] ↓

(lundi)

Je fais de jolies images avec la transformée de Fourier

[Transformée de Fourier d'un carré]

[Transformée de Fourier d'un hexagone]

[Transformée de Fourier d'un octogone]

[Transformée de Fourier d'un décagone]

[Transformée de Fourier d'un dodécagone]

[Transformée de Fourier d'un tétradécagone]

[Transformée de Fourier d'un hexadécagone]

[Transformée de Fourier d'un octadécagone]

[Transformée de Fourier d'un icosagone]

[Transformée de Fourier d'un doicosagone]

[Transformée de Fourier d'un tétraicosagone]

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 :

k=0n1 exp ( 2iπ ( cos(2kπn) x + sin(2kπn) y ) )

(Ou, pour les navigateurs pourris qui ne gèrent pas le MathML : ∑k=0n−1exp(2iπ·(cos(2kπ/nx+sin(2kπ/ny)).) 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.)

↑Entry #2511 [older| permalink|newer] / ↑Entrée #2511 [précédente| permalien|suivante] ↑

↓Entry #2507 [older| permalink|newer] / ↓Entrée #2507 [précédente| permalien|suivante] ↓

(mercredi)

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) :

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).

↑Entry #2507 [older| permalink|newer] / ↑Entrée #2507 [précédente| permalien|suivante] ↑

↓Entry #2503 [older| permalink|newer] / ↓Entrée #2503 [précédente| permalien|suivante] ↓

(vendredi)

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 (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)

↑Entry #2503 [older| permalink|newer] / ↑Entrée #2503 [précédente| permalien|suivante] ↑

↓Entry #2502 [older| permalink|newer] / ↓Entrée #2502 [précédente| permalien|suivante] ↓

(mercredi)

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.

↑Entry #2502 [older| permalink|newer] / ↑Entrée #2502 [précédente| permalien|suivante] ↑

↓Entry #2492 [older| permalink|newer] / ↓Entrée #2492 [précédente| permalien|suivante] ↓

(samedi)

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) |xp/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 |xp/q| < 1/h(q) (formellement : pour tout n entier naturel non nul, il existe p et q entiers premiers entre eux avec qn tels que |xp/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 qn vérifiant |xp/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 qn) ; 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 |xp/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 |xp/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≤kN 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 |zzk| < 1/N, c'est-à-dire |·x − ⌊·x⌋ − k·x + ⌊k·x⌋| < 1/N, ce qui donne |q·xp| < 1/Nq = k et p = ⌊·x⌋−⌊k·x⌋, et comme 0<q<N (puisque 0≤k<N), on a du coup |xp/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 |xp/q| < 1/(N·q) que jusqu'à un certain N (à savoir la partie entière de |q·xp|), 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).

↑Entry #2492 [older| permalink|newer] / ↑Entrée #2492 [précédente| permalien|suivante] ↑

↓Entry #2477 [older| permalink|newer] / ↓Entrée #2477 [précédente| permalien|suivante] ↓

(vendredi)

Notes de cours de théorie des langages formels

Un des cours (de première année) dont je suis responsable à l'ENST Télécom ParisTech ParisSaclay NewUni l'é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.)

↑Entry #2477 [older| permalink|newer] / ↑Entrée #2477 [précédente| permalien|suivante] ↑

↓Entry #2462 [older| permalink|newer] / ↓Entrée #2462 [précédente| permalien|suivante] ↓

(jeudi)

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.

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.

↑Entry #2462 [older| permalink|newer] / ↑Entrée #2462 [précédente| permalien|suivante] ↑

↓Entry #2460 [older| permalink|newer] / ↓Entrée #2460 [précédente| permalien|suivante] ↓

(vendredi)

Un peu de programmation transfinie

Ç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 » λ).

↑Entry #2460 [older| permalink|newer] / ↑Entrée #2460 [précédente| permalien|suivante] ↑

↓Entry #2447 [older| permalink|newer] / ↓Entrée #2447 [précédente| permalien|suivante] ↓

(lundi)

Sons et graphes de caractères de groupes de Lie

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) :

[Caractères fondamentaux du groupe de Lie F₄ restreintes au tore du SU₂ principal de Kostant]

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₄ :

sage: WCR = WeylCharacterRing("F4", style="coroots")
sage: weylvec = sum([rt for rt in WCR.positive_roots()])/2
sage: R.<t> = PolynomialRing(QQ,1)
sage: weyldenom = prod([t^weylvec.scalar(rt.associated_coroot())-1 for rt in WCR.positive_roots()])
sage: weylnumer1 = prod([t^(weylvec+WCR.fundamental_weights()[1]).scalar(rt.associated_coroot())-1 for rt in WCR.positive_roots()])
sage: weylnumer2 = prod([t^(weylvec+WCR.fundamental_weights()[2]).scalar(rt.associated_coroot())-1 for rt in WCR.positive_roots()])
sage: weylnumer3 = prod([t^(weylvec+WCR.fundamental_weights()[3]).scalar(rt.associated_coroot())-1 for rt in WCR.positive_roots()])
sage: weylnumer4 = prod([t^(weylvec+WCR.fundamental_weights()[4]).scalar(rt.associated_coroot())-1 for rt in WCR.positive_roots()])
sage: weylnumer1/weyldenom
t^22 + t^21 + t^20 + t^19 + 2*t^18 + 2*t^17 + 3*t^16 + 3*t^15 + 3*t^14 + 3*t^13 + 4*t^12 + 4*t^11 + 4*t^10 + 3*t^9 + 3*t^8 + 3*t^7 + 3*t^6 + 2*t^5 + 2*t^4 + t^3 + t^2 + t + 1
sage: weylnumer2/weyldenom
t^42 + t^41 + 2*t^40 + 3*t^39 + 5*t^38 + 7*t^37 + 10*t^36 + 12*t^35 + 16*t^34 + 20*t^33 + 25*t^32 + 29*t^31 + 35*t^30 + 39*t^29 + 45*t^28 + 50*t^27 + 55*t^26 + 58*t^25 + 62*t^24 + 63*t^23 + 66*t^22 + 66*t^21 + 66*t^20 + 63*t^19 + 62*t^18 + 58*t^17 + 55*t^16 + 50*t^15 + 45*t^14 + 39*t^13 + 35*t^12 + 29*t^11 + 25*t^10 + 20*t^9 + 16*t^8 + 12*t^7 + 10*t^6 + 7*t^5 + 5*t^4 + 3*t^3 + 2*t^2 + t + 1
sage: weylnumer3/weyldenom
t^30 + t^29 + 2*t^28 + 3*t^27 + 4*t^26 + 5*t^25 + 7*t^24 + 8*t^23 + 10*t^22 + 11*t^21 + 13*t^20 + 14*t^19 + 16*t^18 + 16*t^17 + 17*t^16 + 17*t^15 + 17*t^14 + 16*t^13 + 16*t^12 + 14*t^11 + 13*t^10 + 11*t^9 + 10*t^8 + 8*t^7 + 7*t^6 + 5*t^5 + 4*t^4 + 3*t^3 + 2*t^2 + t + 1
sage: weylnumer4/weyldenom
t^16 + t^15 + t^14 + t^13 + 2*t^12 + 2*t^11 + 2*t^10 + 2*t^9 + 2*t^8 + 2*t^7 + 2*t^6 + 2*t^5 + 2*t^4 + t^3 + t^2 + t + 1

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-polynomial ici. 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 :

↑Entry #2447 [older| permalink|newer] / ↑Entrée #2447 [précédente| permalien|suivante] ↑

↓Entry #2433 [older| permalink|newer] / ↓Entrée #2433 [précédente| permalien|suivante] ↓

(dimanche)

Sections du diagramme de Voronoï du réseau E₈

Je ne savais pas bien à quoi m'attendre quand j'ai calculé cette image, mais probablement pas à ça :

[Section plane aléatoire du diagramme de Voronoï de E₈]

(Cliquez pour une vue plus large.)

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.

↑Entry #2433 [older| permalink|newer] / ↑Entrée #2433 [précédente| permalien|suivante] ↑

↓Entry #2430 [older| permalink|newer] / ↓Entrée #2430 [précédente| permalien|suivante] ↓

(mercredi)

Exposé pour Math en Jeans : les slides

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).

Bilan : voir l'entrée suivante.

↑Entry #2430 [older| permalink|newer] / ↑Entrée #2430 [précédente| permalien|suivante] ↑

↓Entry #2429 [older| permalink|newer] / ↓Entrée #2429 [précédente| permalien|suivante] ↓

(dimanche)

Hidden Figures

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.

↑Entry #2429 [older| permalink|newer] / ↑Entrée #2429 [précédente| permalien|suivante] ↑

↓Entry #2427 [older| permalink|newer] / ↓Entrée #2427 [précédente| permalien|suivante] ↓

(mercredi)

Sujet d'exposé pour Math en Jeans

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 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).

Ajout : voir une entrée ultérieure.

↑Entry #2427 [older| permalink|newer] / ↑Entrée #2427 [précédente| permalien|suivante] ↑

↓Entry #2425 [older| permalink|newer] / ↓Entrée #2425 [précédente| permalien|suivante] ↓

(mercredi)

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.

↑Entry #2425 [older| permalink|newer] / ↑Entrée #2425 [précédente| permalien|suivante] ↑

↓Entry #2423 [older| permalink|newer] / ↓Entrée #2423 [précédente| permalien|suivante] ↓

(lundi)

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.

↑Entry #2423 [older| permalink|newer] / ↑Entrée #2423 [précédente| permalien|suivante] ↑

↓Entry #2418 [older| permalink|newer] / ↓Entrée #2418 [précédente| permalien|suivante] ↓

(dimanche)

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·yy·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.

↑Entry #2418 [older| permalink|newer] / ↑Entrée #2418 [précédente| permalien|suivante] ↑

↓Entry #2410 [older| permalink|newer] / ↓Entrée #2410 [précédente| permalien|suivante] ↓

(mardi)

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 si P 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.

↑Entry #2410 [older| permalink|newer] / ↑Entrée #2410 [précédente| permalien|suivante] ↑

↓Entry #2408 [older| permalink|newer] / ↓Entrée #2408 [précédente| permalien|suivante] ↓

(dimanche)

La forme élégante du plan projectif complexe

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.

Table des matières

Définition rapide et résumé pour les gens pressés

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).

↑Entry #2408 [older| permalink|newer] / ↑Entrée #2408 [précédente| permalien|suivante] ↑

↓Entry #2386 [older| permalink|newer] / ↓Entrée #2386 [précédente| permalien|suivante] ↓

(mercredi)

Hadwiger-Nelson et autres malheurs

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 (xx′)² + (yy′)² = 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 (tt′)² − (zz′)² = 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.

↑Entry #2386 [older| permalink|newer] / ↑Entrée #2386 [précédente| permalien|suivante] ↑

↓Entry #2368 [older| permalink|newer] / ↓Entrée #2368 [précédente| permalien|suivante] ↓

(mardi)

Le lemme de Higman expliqué aux enfants

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 fortiori la 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.

↑Entry #2368 [older| permalink|newer] / ↑Entrée #2368 [précédente| permalien|suivante] ↑

↓Entry #2356 [older| permalink|newer] / ↓Entrée #2356 [précédente| permalien|suivante] ↓

(mardi)

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! 😉

↑Entry #2356 [older| permalink|newer] / ↑Entrée #2356 [précédente| permalien|suivante] ↑

↓Entry #2355 [older| permalink|newer] / ↓Entrée #2355 [précédente| permalien|suivante] ↓

(dimanche)

Quelques théorèmes de points fixes

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 AB 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 AA′).

(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 AB 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 XZ 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 xX alors forcément z₁=z₂. La relation fg 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 XZ au lieu de parties de X.] Soient X et Z deux ensembles : on note 𝒟 l'ensemble des fonctions partielles XZ. 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 fg 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 ff′). [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 XZ. Soit Ψ:𝒟→𝒟 une application vérifiant la propriété suivante : Ψ est croissante, c'est-à-dire que si fg 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.

↑Entry #2355 [older| permalink|newer] / ↑Entrée #2355 [précédente| permalien|suivante] ↑

↓Entry #2353 [older| permalink|newer] / ↓Entrée #2353 [précédente| permalien|suivante] ↓

(samedi)

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.

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≤en (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 AB 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.]

↑Entry #2353 [older| permalink|newer] / ↑Entrée #2353 [précédente| permalien|suivante] ↑

↓Entry #2349 [older| permalink|newer] / ↓Entrée #2349 [précédente| permalien|suivante] ↓

(mercredi)

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 :

[ajout : voir cette entrée ultérieure un petit plus précise sur l'intuitionnisme]

  • 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 PQ, PQ 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 ¬(PQ)=(¬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 PQ et PQ 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 PQ 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 ¬(PQ) ne coïncide plus forcément avec (¬P)∨(¬Q) (alors que ¬(PQ), 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).

↑Entry #2349 [older| permalink|newer] / ↑Entrée #2349 [précédente| permalien|suivante] ↑

↓Entry #2347 [older| permalink|newer] / ↓Entrée #2347 [précédente| permalien|suivante] ↓

(lundi)

Comment utiliser les points comme parenthèses ?

Dans une expression mathématique comme

(2+2+2)×(3+4)

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 x1x2⋆…⋆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 x1x2⋆…⋆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 x1x2⋆…⋆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).

↑Entry #2347 [older| permalink|newer] / ↑Entrée #2347 [précédente| permalien|suivante] ↑

↓Entry #2345 [older| permalink|newer] / ↓Entrée #2345 [précédente| permalien|suivante] ↓

(mardi)

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- 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.

↑Entry #2345 [older| permalink|newer] / ↑Entrée #2345 [précédente| permalien|suivante] ↑

↓Entry #2337 [older| permalink|newer] / ↓Entrée #2337 [précédente| permalien|suivante] ↓

(lundi)

Qu'est-ce qu'une machine hyperarithmétique ?

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).

↑Entry #2337 [older| permalink|newer] / ↑Entrée #2337 [précédente| permalien|suivante] ↑

↓Entry #2335 [older| permalink|newer] / ↓Entrée #2335 [précédente| permalien|suivante] ↓

(lundi)

Comment écrire les nombres en base 5×6

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).

↑Entry #2335 [older| permalink|newer] / ↑Entrée #2335 [précédente| permalien|suivante] ↑

↓Entry #2323 [older| permalink|newer] / ↓Entrée #2323 [précédente| permalien|suivante] ↓

(jeudi)

Analysons le mécanisme de vote du Conseil de l'UE

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.]

↑Entry #2323 [older| permalink|newer] / ↑Entrée #2323 [précédente| permalien|suivante] ↑

↓Entry #2321 [older| permalink|newer] / ↓Entrée #2321 [précédente| permalien|suivante] ↓

(mercredi)

Jouons à analyser la forme des continents

[Sommes partielles d'harmoniques sphériques pour la forme des continents] [Niveau 0] [Niveau 1] [Niveau 2] [Niveau 3] [Niveau 4] [Niveau 5] [Niveau 6] [Niveau 7] [Niveau 8] [Niveau 9] [Niveau 10] [Niveau 11] [Niveau 12] [Niveau 13] [Niveau 14] [Niveau 15] [Niveau 16] [Niveau 17] [Niveau 18] [Niveau 19] [Niveau 20] [Niveau 21] [Niveau 22] [Niveau 23] [Niveau 24] [Niveau 25] [Niveau 26] [Niveau 27] [Niveau 28] [Niveau 29] [Niveau 30] [Niveau 31] [Niveau 32] [Niveau 33] [Niveau 34] [Niveau 35] [Niveau 36] [Harmoniques sphériques pour la forme des continents] [Niveau 0] [Niveau 1] [Niveau 2] [Niveau 3] [Niveau 4] [Niveau 5] [Niveau 6] [Niveau 7] [Niveau 8] [Niveau 9] [Niveau 10] [Niveau 11] [Niveau 12] [Niveau 13] [Niveau 14] [Niveau 15] [Niveau 16] [Niveau 17] [Niveau 18] [Niveau 19] [Niveau 20] [Niveau 21] [Niveau 22] [Niveau 23] [Niveau 24] [Niveau 25] [Niveau 26] [Niveau 27] [Niveau 28] [Niveau 29] [Niveau 30] [Niveau 31] [Niveau 32] [Niveau 33] [Niveau 34] [Niveau 35] [Niveau 36]

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.)

↑Entry #2321 [older| permalink|newer] / ↑Entrée #2321 [précédente| permalien|suivante] ↑

↓Entry #2320 [older| permalink|newer] / ↓Entrée #2320 [précédente| permalien|suivante] ↓

(mardi)

X+Y (=Le Monde de Nathan =A Brilliant Young Mind)

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.)

↑Entry #2320 [older| permalink|newer] / ↑Entrée #2320 [précédente| permalien|suivante] ↑

↓Entry #2317 [older| permalink|newer] / ↓Entrée #2317 [précédente| permalien|suivante] ↓

(mercredi)

Petit supplément à ma page d'ondes sur la sphère

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(tY[,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.

↑Entry #2317 [older| permalink|newer] / ↑Entrée #2317 [précédente| permalien|suivante] ↑

↓Entry #2316 [older| permalink|newer] / ↓Entrée #2316 [précédente| permalien|suivante] ↓

(lundi)

Une envoûtante animation d'ondes sur la sphère

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 :

ici en WebGL et ici sans

(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).

Ajout/suite : Voir l'entrée suivante.

↑Entry #2316 [older| permalink|newer] / ↑Entrée #2316 [précédente| permalien|suivante] ↑

↓Entry #2310 [older| permalink|newer] / ↓Entrée #2310 [précédente| permalien|suivante] ↓

(lundi)

Comment faire un jeu de Tribble

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) :

[Carte à quatre symboles] [Carte à quatre symboles] [Carte à quatre symboles] [Carte à quatre symboles] [Carte à quatre symboles] [Carte à quatre symboles] [Carte à quatre symboles] [Carte à quatre symboles] [Carte à quatre symboles] [Carte à quatre symboles] [Carte à quatre symboles] [Carte à quatre symboles] [Carte à quatre symboles] [Carte à quatre symboles] [Carte à quatre symboles] [Carte à quatre symboles] [Carte à quatre symboles] [Carte à quatre symboles] [Carte à quatre symboles] [Carte à quatre symboles] [Carte à quatre symboles] [Carte à quatre symboles] [Carte à quatre symboles] [Carte à quatre symboles] [Carte à quatre symboles] [Carte à quatre symboles]

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.

↑Entry #2310 [older| permalink|newer] / ↑Entrée #2310 [précédente| permalien|suivante] ↑

↓Entry #2308 [older| permalink|newer] / ↓Entrée #2308 [précédente| permalien|suivante] ↓

(mercredi)

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 q