David Madore's WebLog: 2025-11

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., la plus récente est en haut). Cette page-ci rassemble les entrées publiées en novembre 2025 : il y a aussi un tableau par mois à la fin de cette page, et un index de toutes les entrées. 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. 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 most recent is on top). This page lists the entries published in November 2025: there is also a table of months at the end of this page, and an index of all entries. Some entries are classified into one or more “categories” (indicated at the end of the entry itself), but this organization isn't very coherent. 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 published in November 2025 / Entrées publiées en novembre 2025:

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

(jeudi)

Une devinette et des méditations sur les « degrés de co-Turing »

Devinette mathématique (pas très difficile !) : Vous avez accès à un oracle omniscient auquel vous pouvez poser (de façon illimitée) des questions à réponse oui/non. Mais évidemment il y a une arnaque : au lieu de répondre oui ou non, l'oracle code sa réponse. Plus exactement, pour chaque question, il va vous donner la réponse sous forme d'une machine de Turing. Pour dire oui, il va vous présenter une machine de Turing qui s'arrête ; et pour non, il va vous présenter une machine de Turing qui ne s'arrête pas. Vous êtes limité par la thèse de Church-Turing, donc n'avez pas de moyen pour savoir en général si une machine de Turing s'arrête ou pas. (L'oracle, lui, peut évidemment répondre à cette question, puisqu'il est omniscient ; mais comme il vous donnera la réponse de façon codée, vous n'êtes pas plus avancé.) L'oracle cherche à vous embêter : il veut vous empêcher de récupérer des informations utiles de ses réponses. Problème : pouvez-vous forcer l'oracle à vous révéler des choses utiles, ou peut-il s'arranger pour rendre ses réponses complètement inutiles ?

(Si vous trouvez que c'est mathématiquement trop vague parce que je parle d'oracle omniscient sans définir ce terme, je vais présenter des versions beaucoup plus précises plus bas. Mais celle-ci me semble quand même raisonnablement claire et assez parlante pour attirer la curiosité et expliquer de quoi il est question.)

Cette devinette n'est pas trop difficile, et j'encourage à y réfléchir, ne serait-ce que pour comprendre pourquoi la suite m'intéresse. En tout cas, il ne suffit pas de dire il n'y a pas moyen calculable de résoudre le problème de l'arrêt (ce qui est, certes, vrai) pour avoir répondu au problème. Voici la réponse (cliquez ici pour la faire apparaître) :

Réponse (à la devinette facile) :

Maintenant, modifions la devinette pour la rendre plus difficile en empêchant la stratégie utilisée dans la réponse ci-dessus :

Devinette mathématique (beaucoup plus difficile !) : Comme précédemment, vous avez accès à un oracle omniscient auquel vous pouvez poser (de façon illimitée) des questions à réponse oui/non. Et comme précédemment, au lieu de répondre oui ou non, l'oracle code sa réponse. Mais cette fois, pour chaque question, il va vous donner la réponse sous forme de deux machines de Turing. Pour dire oui, il va vous donner deux machines de Turing dont l'une s'arrête et l'autre pas ; et pour non, il va vous donner deux machines de Turing qui soit s'arrêtent toutes les deux soit aucune ne s'arrête. Tout le reste est comme dans a devinette précédente : vous êtes limité par la thèse de Church-Turing, et l'oracle cherche à vous embêter. Problème : pouvez-vous forcer l'oracle à vous révéler des choses utiles, ou peut-il s'arranger pour rendre ses réponses complètement inutiles ?

Je n'ai pas la solution à cette devinette, et elle m'obsède un peu (je tourne autour de plein de variations autour d'elle, mais je n'ai vraiment aucune idée de comment l'attaquer). Donc j'essaie de la balancer dans la nature (i.e., sur le Web) dans l'espoir que quelqu'un ait une idée intelligente. (Comme je vais le dire plus bas, c'est une variation sur cette énigme que j'ai posée ici et sur MathOverflow.)

Le but de la suite de ce billet est de tourner autour du pot de cette devinette : comme le font les mathématiciens qui ne savent pas répondre à une question, ils la formalisent, donc je vais expliquer comment on peut imaginer définir une notion en quelque sorte « duale » de la notion (habituelle) des degrés de Turing, les degrés de co-Turing (ou de coTuring ? Coturing ? coturne ?), et que la devinette ci-dessus s'inscrirait dans le cadre de cette notion. Mais je ne sais malheureusement à peu près rien dire à son sujet, donc c'est un peu du formalisme pour formaliser, mais j'espère au moins convaincre que la question est bien définie (elle a un sens mathématique précis) et au moins raisonnablement naturelle.

[Je précise que ce qui précède a été pour l'essentiel écrit avant ce qui suit, ce qui peut expliquer la présentation un peu étrange.]

Le but de ce billet, donc, est pour moi de réfléchir tout haut à une définition qui m'a traversé l'esprit : ce n'est pas vraiment de faire de la vulgarisation. Si vous ne connaissez pas un peu la théorie de la calculabilité, passez votre chemin (lisez plutôt ceci, ou bien, si vous voulez quelque chose de plus costaud, ça ou ça).

Bref. Je me suis rendu compte qu'il y a une notion en quelque sorte « duale » de la réduction de Turing, qui ne semble pas du tout avoir été étudiée. Je vais essayer de donner la définition de plusieurs manières différentes, de dire quelques propriétés évidentes, et de poser des questions auxquelles je ne sais pas répondre.

☞ Définition informelle de la « réduction de co-Turing »

Je commence par rappeler :

Si A,B⊆ℕ, on dit que A est Turing-réductible à B lorsqu'on peut répondre à la question est-ce que mA ? en posant librement des questions est-ce que nB ?, par un processus calculable.

Ceci est dit de façon informelle, mais je pense que c'est assez parlant. Mais formulons les choses un peu différemment en introduisant une terminologie un peu idiote : si A⊆ℕ, je vais dire qu'un m∈ℕ est un A-codage de oui lorsque mA, et que c'est un A-codage de non lorsque mA (autrement dit, un A-codage d'un booléen c est un m tel que c = 1A(m), en notant 1A la fonction indicatrice de A). Avec cette terminologie, on peut dire (toujours informellement) :

On dit que A est Turing-réductible à B lorsqu'on peut, par un processus calculable. A-décoder un booléen, à condition d'être librement capable de B-décoder des booléens.

En encore plus court : A est Turing-réductible à B lorsque la capacité de B-décoder les booléens permet (calculablement !) de A-décoder les booléens. I.e., je postule la capacité de B-décoder et j'obtiens la capacité de A-décoder.

De façon symétrique, je propose la définition suivante (dite de façon informelle, et que je vais rendre précise ensuite) :

Si A,B⊆ℕ, on dira que A est co-Turing-réductible à B lorsqu'on peut, par un processus calculable, répondre à n'importe quelle question booléenne de façon B-encodée, à condition d'être librement capable d'obtenir la réponse à n'importe quelle question booléenne de façon A-encodée.

En encore plus court : A est co-Turing-réductible à B lorsque la capacité de A-encoder des booléens cachés permet (calculablement !) de B-encoder des booléens cachés. (Attention ! il s'agit de booléens cachés, cf. ci-dessous pour plus d'explications.) I.e., je postule la capacité de A-encoder et j'obtiens la capacité de B-encoder.

Dit comme ça, j'espère que c'est clair pourquoi la notion que je propose est en quelque sorte duale de la notion de réduction de Turing : d'où le terme de réduction de co-Turing.

Entendons-nous bien : quand je parle d'encoder un booléen, il s'agit de booléens cachés. Encoder un booléen connu c'est toujours évident : une fois qu'on a un m₀∉A et un m₁∈A, il suffit de renvoyer l'un ou l'autre, et ceci est toujours calculable. (On peut objecter oui mais si je ne connais pas de tels m₀ et m₁ ? mais ce n'est pas ce dont je veux parler ici : ma partie étant fixée, et ni vide ni pleine, ces m₀ et m₁ existent et des algorithmes écrits avec eux existent aussi ; d'ailleurs, peut-être que je devrais postuler une fois pour toutes que 0∉A et que 1∈A.)

Mon problème, donc, c'est que quelqu'un (qu'on va appeler Merlin plus bas) a choisi un booléen et ne me l'a pas dit, et moi j'ai le droit de lui poser n'importe quelle question (portant sur son booléen caché ou sur « n'importe quoi ») mais il me répond de façon A-codée ; et mon but c'est de produire un B-codage du booléen choisi.

Note : Je dois signaler que j'ai « inversé » la réduction par rapport à ce qu'on pourrait peut-être imaginer, de manière à ce que les ensembles les plus « difficiles » soient toujours réductibles aux ensembles les plus « faciles », ce qui rend la comparaison avec d'autres réductions tout de même plus naturelle, mais du coup ça peut sembler à l'envers (A est co-Turing-réductible à B lorsque la capacité de A-encoder des booléens cachés permet calculablement de B-encoder des booléens cachés). Évidemment, cette « inversion » va se sentir dans toutes les autres versions de la définition.

☞ Définition avec des jeux à trois joueurs

Pour rendre la définition précise, le mieux est d'introduire des jeux à trois joueurs. J'ai évoqué ce type de jeux dans ce billet passé (qui est une tentative de semi-vulgarisation de cet article), mais je vais redire le nécessaire. Les règles générales (toujours valables) de ce type de jeu sont les suivantes :

Il y a trois joueurs, Arthur, Nimué et Merlin. Arthur et Nimué font équipe contre Merlin. Ils jouent dans l'ordre suivant : Merlin, Arthur, Nimué, Merlin, Arthur, Nimué, etc., jusqu'à ce qu'Arthur mette fin à la partie. Nimué et Merlin voient tous les coups précédemment joués par tous les joueurs ; Arthur ne voit que les coups explicitement déclarés visibles d'Arthur. De plus, Arthur devra jouer selon une stratégie calculable (alors que les deux autres joueurs n'ont pas de telle limitation). Le jeu continue jusqu'à ce qu'Arthur y mette fin en faisant une « annonce » : si cette annonce est correcte (selon les modalités spécifiques du jeu), Arthur et Nimué gagnent ; s'il fait une annonce incorrecte, ou qu'il n'en fait jamais (y compris si sa stratégie censée être calculable ne renvoie pas de coup à jouer, par exemple parce qu'elle ne termine pas), alors Arthur et Nimué ont perdu ; et bien sûr, si un joueur ne respecte pas les contraintes du coup, alors il perd immédiatement.

En gros, il faut imaginer ça comme un jeu de communication : Nimué essaie de passer de l'information à Arthur, mais elle ne peut pas communiquer directement avec Arthur, elle ne peut le faire qu'à travers Merlin, qui essaie de leur mettre des bâtons dans les roues. La question qu'on va se poser, c'est si Arthur et Nimué ont moyen d'avoir une stratégie commune pour gagner contre Merlin.

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

Continue to older entries. / Continuer à lire les entrées plus anciennes.


Entries by month / Entrées par mois:

2025 Jan 2025 Feb 2025 Mar 2025 Apr 2025 May 2025 Jun 2025 Jul 2025 Aug 2025 Sep 2025 Oct 2025 Nov 2025
2024 Jan 2024 Feb 2024 Mar 2024 Apr 2024 May 2024 Jun 2024 Jul 2024 Aug 2024 Sep 2024 Oct 2024 Nov 2024 Dec 2024
2023 Jan 2023 Feb 2023 Mar 2023 Apr 2023 May 2023 Jun 2023 Jul 2023 Aug 2023 Sep 2023 Oct 2023 Nov 2023 Dec 2023
2022 Jan 2022 Feb 2022 Mar 2022 Apr 2022 May 2022 Jun 2022 Jul 2022 Aug 2022 Sep 2022 Oct 2022 Nov 2022 Dec 2022
2021 Jan 2021 Feb 2021 Mar 2021 Apr 2021 May 2021 Jun 2021 Jul 2021 Aug 2021 Sep 2021 Oct 2021 Nov 2021 Dec 2021
2020 Jan 2020 Feb 2020 Mar 2020 Apr 2020 May 2020 Jun 2020 Jul 2020 Aug 2020 Sep 2020 Oct 2020 Nov 2020 Dec 2020
2019 Jan 2019 Feb 2019 Mar 2019 Apr 2019 May 2019 Jun 2019 Jul 2019 Aug 2019 Sep 2019 Oct 2019 Nov 2019 Dec 2019
2018 Jan 2018 Feb 2018 Mar 2018 Apr 2018 May 2018 Jun 2018 Jul 2018 Aug 2018 Sep 2018 Oct 2018 Nov 2018 Dec 2018
2017 Jan 2017 Feb 2017 Mar 2017 Apr 2017 May 2017 Jun 2017 Jul 2017 Aug 2017 Sep 2017 Oct 2017 Nov 2017 Dec 2017
2016 Jan 2016 Feb 2016 Mar 2016 Apr 2016 May 2016 Jun 2016 Jul 2016 Aug 2016 Sep 2016 Oct 2016 Nov 2016 Dec 2016
2015 Jan 2015 Feb 2015 Mar 2015 Apr 2015 May 2015 Jun 2015 Jul 2015 Aug 2015 Sep 2015 Oct 2015 Nov 2015 Dec 2015
2014 Jan 2014 Feb 2014 Mar 2014 Apr 2014 May 2014 Jun 2014 Jul 2014 Aug 2014 Sep 2014 Oct 2014 Nov 2014 Dec 2014
2013 Jan 2013 Feb 2013 Mar 2013 Apr 2013 May 2013 Jun 2013 Jul 2013 Aug 2013 Sep 2013 Oct 2013 Nov 2013 Dec 2013
2012 Jan 2012 Feb 2012 Mar 2012 Apr 2012 May 2012 Jun 2012 Jul 2012 Aug 2012 Sep 2012 Oct 2012 Nov 2012 Dec 2012
2011 Jan 2011 Feb 2011 Mar 2011 Apr 2011 May 2011 Jun 2011 Jul 2011 Aug 2011 Sep 2011 Oct 2011 Nov 2011 Dec 2011
2010 Jan 2010 Feb 2010 Mar 2010 Apr 2010 May 2010 Jun 2010 Jul 2010 Aug 2010 Sep 2010 Oct 2010 Nov 2010 Dec 2010
2009 Jan 2009 Feb 2009 Mar 2009 Apr 2009 May 2009 Jun 2009 Jul 2009 Aug 2009 Sep 2009 Oct 2009 Nov 2009 Dec 2009
2008 Jan 2008 Feb 2008 Mar 2008 Apr 2008 May 2008 Jun 2008 Jul 2008 Aug 2008 Sep 2008 Oct 2008 Nov 2008 Dec 2008
2007 Jan 2007 Feb 2007 Mar 2007 Apr 2007 May 2007 Jun 2007 Jul 2007 Aug 2007 Sep 2007 Oct 2007 Nov 2007 Dec 2007
2006 Jan 2006 Feb 2006 Mar 2006 Apr 2006 May 2006 Jun 2006 Jul 2006 Aug 2006 Sep 2006 Oct 2006 Nov 2006 Dec 2006
2005 Jan 2005 Feb 2005 Mar 2005 Apr 2005 May 2005 Jun 2005 Jul 2005 Aug 2005 Sep 2005 Oct 2005 Nov 2005 Dec 2005
2004 Jan 2004 Feb 2004 Mar 2004 Apr 2004 May 2004 Jun 2004 Jul 2004 Aug 2004 Sep 2004 Oct 2004 Nov 2004 Dec 2004
2003 May 2003 Jun 2003 Jul 2003 Aug 2003 Sep 2003 Oct 2003 Nov 2003 Dec 2003

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