David Madore's WebLog

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). Cette page-ci rassemble les dernières 20 entrées (avec un lien, à la fin, pour les plus anciennes) : 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 latest written is on top). This page lists the 20 latest (with a link, at the end, to older entries): 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]

Latest entries / Dernières entrées publiées:

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

(vendredi)

Guide du tourisme en Île-de-France : partie 2 (le sud et sud-ouest)

Je continue ma tentative d'écrire une sorte de guide touristique de l'Île-de-France commencée dans la première partie qui concernait des généralités et la petite couronne, et auquel je renvoie pour l'introduction. Je vais suivre approximativement le sens des aiguilles d'une montre autour de Paris (mais en commençant par le sud) : initialement, mon idée était de regrouper par département, mais c'est un peu artificiel alors je vais faire mon propre regroupement, sans doute pas moins artificiel, qui correspond à ma propre façon de penser la géographie de la région. Comme pour l'entrée précédente, ceci est une sélection complètement personnelle et pas du tout représentative d'autre chose que mes propres goûts (et possibilités de déplacement), et en plus je ne parle ici que des activités « en extérieur » — et même comme ça j'aurai forcément oublié plein de choses (que je vais peut-être ajouter ultérieurement en éditant ce billet).

Concernant les liens vers OpenStreetMap : je les ai faits vers des cartes à toute petite échelle pour qu'on voie bien la situation d'ensemble, mais le marqueur est positionné aussi précisément que j'ai pu (ou que ça avait un sens !) : donc pensez à zoomer.

Table des matières

Forêt de Fontainebleau et alentours

[Escalier montant entre les arbres et les rochers]

Image : Paysage typique de la forêt de Fontainebleau (photo prise ici le )

Je vais commencer par Fontainebleau et sa forêt (donc par ici). Fontainebleau (comme Rambouillet et Compiègne, ou dans une certaine mesure Versailles, mais c'est encore plus clair à Fontainebleau) est organisée en oignon : un château, les « jardins » du château, le « parc » (un peu moins manucuré que les jardins mais néanmoins enclos) qui prend place contre la ville, et la forêt autour de la ville. Comme par le principe de ce billet je ne parle pas du château lui-même. Les jardins du château de Fontainebleau sont jolis (et labellisés « jardin remarquable ») quoique pas très grands : il y a un jardin à la française et un jardin à l'anglaise façon arboretum ; le parc n'est pas mal, mais c'est surtout la forêt à laquelle on pense quand on parle de Fontainebleau. Non seulement la forêt de Fontainebleau est grande (enfin, à l'échelle de l'Île-de-France), mais elle n'est pas trop morcelée (il y a bien un golf, des stades et un ou deux hippodromes, mais la forêt est assez grande pour que ça ne la coupe pas en morceaux). Donc c'est la forêt de référence pour les sorties dominicales des Parisiens par jour de beau temps (et de fait, certains dimanches de beau temps les parkings tendent à être bien pleins).

Comme je le disais dans les remarques générales (du billet précédent), c'est un peu difficile de parler d'une forêt de façon générale, et celle de Fontainebleau est assez variée. Elle est connue pour ses « rochers », et beaucoup de gens viennent y faire de l'escalade, et même si on n'aime pas l'escalade il y a du relief avec de jolis points de vue (souvent marqués comme tels dans OpenStreetMap), mais on trouve aussi plein d'endroits tout plats. Le sol est généralement sablonneux, mais il y a plein de variations. Il y a beaucoup de pins mais ça n'empêche pas de trouver des endroits avec uniquement des feuillus. Bref, c'est difficile de faire des généralités. Je peux quand même mentionner les platières, qui sont plutôt une spécificité bellifontaine : des endroits où le grès affleure le sol en formant une sorte de terrasse, de grands arbres mais où la bruyère se plaît (cherchez sur Google Images si vous ne connaissez pas).

Je peux quand même évoquer quelques curiosités dans la forêt de Fontainebleau. La plaine de Chanfroy (ici) est un grand espace dégagé d'arbres où se trouve un monument aux morts ; juste à côté de là, la tour de la Vierge (ici) est une bondieuserie (un petit autel à la vierge Marie décoré de façon extrêmement kitch) qui a l'intérêt d'être situé sur un point culminant d'où on a une vue superbe (sans intérêt particulier — juste sur de la forêt — mais qui porte vraiment loin). La mare aux Évées (ici) est une mare (artificielle) entourée d'un système de rigoles assez curieux (cherchez dans Google Images). La table du Grand-Maître (ici) et la table du Roi (ici) sont d'énormes tables de pierre datant du XVIIe siècle. La tour Denecourt (ici), juchée sur une colline, est un point d'observation datant du XIXe siècle. Le chêne du Rocher Canon (ici) est un chêne qui pousse directement sur un rocher. La forêt est par ailleurs traversée par les aqueducs de la Vanne et du Loing (alimentant en eau une bonne partie de Paris), et ils prennent ici et là la forme de ponts-siphons assez intéressants à voir, par exemple ici (visible ici sur Google Street View) ; il y a d'ailleurs une importante station technique ici dans la forêt. (J'aime bien jouer au petit jeu de dénicher les endroits où on voit dans le paysage les traces du passage, souterrain ou aérien, de l'eau de Paris.)

La ville de Fontainebleau est évidemment accessible en transports en commun (gare de Fontainebleau–Avon, sur la ligne R du Transilien) ; mais la forêt à sa propre halte un peu secrète (ici), même pas mentionnée sur les plans de la ligne : elle est desservie uniquement dans le sens Paris→Fontainebleau, par seulement deux trains de la ligne R, le matin des week-ends et jours fériés. (Enfin, elle eut été un peu secrète avant l'époque d'Internet : maintenant elle a sa page Wikipédia donc c'est un peu mort pour le secret.)

À côté de la forêt de Fontainebleau (ou peut-être à considérer comme en faisant partie), il ne faut pas oublier le massif des Trois Pignons (à l'ouest, vers Arbonne-la-Forêt, par ici mais je ne sais pas où est la limite), qui a à peu près le même caractère quoique peut-être avec plus de relief et plus de pins, mais aussi la forêt de la Commanderie (au sud, vers Villiers-sous-Grez et Larchant, par ici), qui a un caractère assez différent entre sa frange nord-ouest où il y a du relief, des pins et des rochers, et sa grosse moitié sud-est que je n'ai pas trouvée agréable du tout (soit c'est des alignements réguliers d'arbres pas très intéressants, soit c'est un taillis impénétrable, et en tout cas les sentiers sont mal marqués), peut-être même un peu oppressante. Je ne peux pas parler du marais de Larchant (ici), parce que je ne l'ai pas visité, mais je parlerai plus bas d'autres marais analogues.

Si on se promène à moto dans le coin, les routes dans la forêt sont généralement agréables, mais la plus intéressante, à la fois pour le paysage et les virages, est sans doute la D64 entre Arbonne-la-Forêt et Achères-la-Forêt (par ici, cf. ici sur Google Street View). Celle entre Courances et Arbonne-la-Forêt (par ici) est aussi très jolie, mais attention aux nids de poule parfois énormes. Je suppose que ces remarques s'appliquent aussi à vélo.

Mais Fontainebleau n'est pas seulement pittoresque pour sa forêt : il y a aussi un certain nombre de villages en bordure de forêt qui ont leur charme particulier : le plus connu est certainement Barbizon (ici), qui est un peu un piège à touristes (comme Giverny, de l'autre côté de Paris), et noir de monde un week-end de beau temps, mais qui reste quand même intéressant à voir pour ses maisons remarquables. Dans un autre genre, il y a Moret-sur-Loing (au confluent du Loing et de la Seine, ici) qui a gardé un reste de centre-ville médiéval (voyez ici sur Google Street View). Dans un genre encore différent, il y a Samois, entre la forêt et la Seine (ici) où ce qui est le plus intéressant est sans doute la partie qui longe la Seine avec ses demeures de la belle époque. Je peux aussi mentionner Montigny-sur-Loing (ici, cf. par exemple ici sur Google Street View) comme village de caractère, et peut-être Bourron-Marlotte à côté. Et si on passe par Larchant, on pourra jeter un œil à la basilique Saint-Mathurin (ici), qui est bizarrement à moitié, mais seulement à moitié, en ruine (quelques photos ici sur Twitter). Enfin, à Milly-la-Forêt il y a une jolie halle en bois (ici) qui date du XVe siècle, et un conservatoire national des plantes (que je n'ai pas encore eu l'occasion de visiter) ; mais peut-être que j'ai tort de ranger Milly-la-Forêt dans les environs de Fontainebleau, parce qu'elle est en Essonne.

Je n'ai pas eu l'occasion de bien visiter la partie de l'Île-de-France située au sud de Moret-sur-Loing (en gros la rive droite du Loing et gauche de la Seine/Yonne), mais au moins en la traversant à moto (de Sens à Moret-sur-Loing par Chéroy) j'ai trouvé ça très joli. J'ai un peu plus vu, en revanche, la vallée et les coteaux du Loing : il y a des villages très mignons comme Château-Landon (d'où on a une vue magnifique sur les alentours, notamment ici), mais surtout un très intéressant système de canaux, d'étangs et de marais (ainsi que de réserves ornithologiques). Le marais d'Épisy (ici), par exemple, mérite vraiment un tour (quelques photos ici sur Twitter). Globalement, la D40 est vraiment très pittoresque (j'avais par exemple trouvé très mignonne l'église Saint-Martin de la Genevraye, visible ici sur Google Street View et qui a un peu l'air de surgir comme une île au milieu des champs).

L'Essonne et ses vallées

[Wagonnet de carrière abandonné devant un paysage verdoyant]

Image : Paysage typique de l'Essonne (photo prise ici le )

Je me déplace maintenant vers l'ouest pour parler de l'Essonne (le département, mais aussi la rivière éponyme). La partie de la région parisienne dont je veux parler maintenant a des limites un peu floues qui ne sont ni vraiment celles du département de l'Essonne (limites ici sur OpenStreetMap) ni celles de la région historique du Gâtinais (limites approximatives ici sur OpenStreetMap) ni non plus celles du parc naturel régional du Gâtinais français (limites ici sur OpenStreetMap) mais un peu un mélange de tout ça. Disons grosso modo que je parle du bassin des rivières de l'École (ici), l'Essonne (ici), la Juine (ici) et peut-être aussi l'Orge (ici) au moins jusqu'à Arpajon, et la Rémarde (ici) comme terminus ad quem, qui sont divers affluents ou sous-affluents de la Seine.

Si je mentionne ces rivières (et il y en a d'autres, plus petites), c'est que ce sont elles qui sont responsables du caractère spécifique des paysages essonniens : alors que la Beauce et la Brie sont très plates, le Gâtinais (que je prolonge un peu abusivement vers l'ouest), lui, est vallonné par les cours d'eau que je viens de mentionner. Cela donne un terrain assez différent de ce qu'on trouve ailleurs en Île-de-France : pas de grande forêt comme Fontainebleau, mais plutôt plein de petits bois souvent situés sur les coteaux des rivières qui séparent des étendues agricoles. Leur végétation se compose plus d'arbustes variés que les fagacées des grandes forêts. En certain endroits les rivières s'étalent en formant des marais un peu à la manière de ceux du Loing dont j'ai parlé plus haut. La géologie n'est pas en reste et plusieurs endroits de la vallée de la Juine (parfois d'anciennes carrières) sont regroupées en réserve naturelle nationale des sites géologiques de l'Essonne. Quant à l'habitat, il prend notamment la forme de villages souvent pittoresques dans les petites rivières (mais bien sûr aussi beaucoup de maisons franciliennes interchangeables dans des quartiers résidentiels interchangeables — je ne prétends pas que tout est forcément pittoresque).

Bref, les paysages de l'Essonne ont un caractère singulier, auquel je trouve beaucoup de charme. Pour autant, c'est difficile de recommander un endroit précis : ce qui est intéressant, c'est justement le contraste entre les plateaux agricoles et les vallées boisées, parfois à la manière d'un bocage. Alors je peux par exemple recommander de prendre à moto la D837 entre Milly-la-Forêt et Étampes pour avoir un aperçu des paysages relativement typiques de l'Essonne (tels que celui-ci sur Google Street View), ou peut-être la D105 jusqu'à Boutigny-sur-Essonne (ici sur Google Street View), ou peut-être encore la D191 vers Boissy-le-Cutté (ici sur Google Street View), mais il n'y a pas un endroit particulier dont je puisse dire qu'il soit spécialement remarquable, c'est juste une impression d'ensemble. (J'avoue aussi que je mélange un certain nombre d'endroits où je suis passé : j'ai des souvenirs de coins particulièrement jolis vus à moto ou en voiture, mais je ne sais pas forcément les replacer sur la carte à partir d'images un peu confuses dans ma mémoire.)

L'Essonne n'a pas vraiment de grande forêt comme celles de Fontainebleau et de Rambouillet : il y a bien des bois ouverts au public (je vais en signaler deux-trois ci-dessous), mais ce n'est pas toujours évident à savoir. Je renvoie de nouveau à cette carte des espaces verts d'Île-de-France que j'ai déjà liée dans les généralités, mais il me semble qu'elle n'est pas bien complète : par exemple, je me suis déjà baladé dans la forêt à côté de Ballancourt-sur-Essonne (par ici) et je suis sûr qu'elle était ouverte au public (il y a même des panneaux explicatifs sur les roches du Père la Musique), mais elle n'est pas marquée sur cette carte. Malheureusement, il ne semble pas y avoir de vrai bon moyen sûr de savoir si une forêt est accessible au public à part d'aller voir (et d'être préparé à l'idée de tomber à n'importe quel endroit sur une clôture infranchissable).

Signalons maintenant quand même aussi quelques endroits d'intérêt particulier.

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

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

(vendredi)

Guide du tourisme en Île-de-France : partie 1 (généralités et petite couronne)

Introduction

[Carte de l'Île-de-France montrant des points où des photos ont été prises][Carte de l'Île-de-France montrant des traces GPS]Comme je l'ai déjà raconté dans un certain nombre de billets de ce blog (par exemple celui-ci et celui-là), le poussinet et moi aimons faire du tourisme en Île-de-France. (Par Île-de-France je n'entends pas forcément l'Île-de-France au sens administratif strict mais, disons, les endroits où on peut facilement se rendre sur la journée, en gros parce que je n'aime pas dormir ailleurs que chez moi. Donc ça va peut-être en gros jusqu'à Compiègne, Château-Thierry, les Andelys, Chartres, mais pas jusque Tours.) Même si j'aimais déjà me balader avant (et j'ai beaucoup marché dans Paris dans les années 2000–2010), c'est surtout après que j'ai passé le permis (et que le poussinet a acheté une voiture) que j'ai eu la possibilité d'explorer différents coins de la région.

Nous avons fait, et continuons de faire, différentes sortes de visites : découverte de parcs et jardins remarquables, recherche de points de vue, marches urbaines, randonnées en forêt ; et je fais aussi de mon côté des virées à moto, même si j'en fais beaucoup moins qu'à l'été 2020.

Les deux cartes ci-contre (cliquer pour les ouvrir en grand format) montrent, à la même échelle : pour celle d'en haut, les géolocalisations de toutes les photos que j'ai prises depuis mi-2016, et, pour celle du bas, les traces GPS des balades à pied que j'ai enregistrées depuis fin 2019 (que j'ai étiquetées — parfois un peu arbitrairement ou abusivement — comme des balades en forêt), et donnent une idée des endroits que nous avons tendance à visiter, parfois de façon régulière.

Il y a une attirance évidente vers le sud-ouest de Paris parce que nous habitons au sud de Paris avec un accès facile à l'autoroute A6, et aussi parce que je travaille à Palaiseau et que ma mère habite Orsay (où j'ai, du coup, grandi au sein de la vallée de Chevreuse), mais aussi simplement parce que c'est l'endroit où on a le plus facilement un accès à des endroits jolis sans aller trop loin (et ce n'est pas un hasard que ce soit corrélé aux coins les plus riches de la région — et en fait du pays). Mais ça ne nous a pas empêchés de quand même visiter régulièrement pas mal d'autres bouts de l'Île-de-France et au-delà.

On m'a souvent suggéré d'écrire une sorte de guide touristique. Le problème (outre que ça prend du temps, mais à la limite, je tape vite) c'est que je ne sais pas comment organiser ça : par direction/département ? par style de chose à visiter (jolis villages, forêts…) ? et d'ailleurs, dans les deux cas, il y a des gros biais presonnels : c'est compliqué de faire un guide pour tout le monde, ce qui va plaire à quelqu'un qui se déplace en transports en commun et quelqu'un qui cherche à faire une balade à moto sont très différents.

Néanmoins, voici une tentative, pas très cohérente et plutôt bordélique, pour dumper certaines des choses que je peux conseiller à voir ou faire en Île-de-France. Entendons-nous biens : non seulement c'est un choix personnel et pas du tout représentatif d'autre chose que mes propres goûts (et possibilités de déplacement), mais en plus je ne parle ici que des activités « en extérieur », donc je ne vais pas parler des musées, châteaux (sauf pour ce qui est de leurs jardins éventuels), etc. Et même comme ça j'aurai forcément oublié plein de choses (que je vais peut-être ajouter ultérieurement en éditant ce billet).

En fait, j'avais commencé ce billet avec l'idée d'écrire des généralités puis de traiter les départements de l'Île-de-France successivement (en réunissant la petite couronne en un seul, donc : 75+92+93+94, puis 91, 78, 95 et 77). Sauf que les sections sur les généralités et la petite couronne m'ont semblé suffisamment longues pour que je préfère publier tout ça comme « première partie » et remettre la suite à plus tard. (Contrairement à mes billets interminables sur des sujets techniques où c'est quand même bien d'essayer de tout garder ensemble pour la cohérence d'ensemble quand je relis, ici je pense que je peux couper en morceaux sans dommage. Donc pour l'instant il n'y a que des généralités et une liste de choses à voir en petite couronne.) ❧ Mise à jour : la deuxième partie est publiée.

Table des matières

Sources d'information

✱ Cartes : La première chose avant de se balader où que ce soit, c'est de savoir où trouver des cartes.

Évidemment je vais citer OpenStreetMap en premier, donc voici le lien général (centré, d'ailleurs, sur le barycentre de l'Île-de-France que j'ai calculé avec PostGIS), mais je vais en faire plein d'autres dans la suite pour montrer les emplacements des endroits d'où je parle (il faudra éventuellement dézoomer pour voir le marqueur ou zoomer pour le situer plus précisément). Quand on se balade, il est bien d'avoir une carte utilisable même si le téléphone ne capte pas le réseau : pour ça je recommande l'application OsmAnd pour Android, et plus précisément la variante OsmAnd~ qu'on trouve sur F-Droid (c'est un logiciel libre) : on peut télécharger une carte de chaque région française, et même si l'application est un peu compliquée à prendre en main initialement, ça vaut vraiment la peine.

S'agissant de la France, et de l'Île-de-France en particulier, on peut aussi trouver des cartes sur Géoportail : voici le lien pour l'Île-de-France, l'avantage de Géoportail par rapport à OpenStreetMap étant qu'ils ont des cartes variées, notamment la carte topographique « Top25 » (c'est vraiment une image de la version papier au 1 : 25 000, donc il faut zoomer mon lien pour y voir quoi que ce soit) qui, bien qu'elle ne soit pas toujours aussi à jour que les autres, est souvent très utile. Pour Géoportail aussi il y a une application Android : elle n'est pas terrible (je ne sais pas pourquoi elle a moins de cartes et de possibilités que le site Web, ce qui est quand même con, et elle ne fonctionne pas hors ligne), mais elle est quand même utile à avoir en complément de OsmAnd.

✱ L'Institut Paris-Région : Anciennement nommé Institut d'aménagement et d'urbanisme de la région Île-de-France, l'Institut Paris-Région est une association à but non lucratif, dont sont membres et financeurs différentes collectivités territoriales, pouvoirs publics et organismes essentiellement publics de la région (la Région elle-même, l'État, les départements et intercommunalités, mais aussi l'IGN, la RATP, l'INSEE, etc.), et qui agit comme agence régionale d'urbanisme pour l'Île-de-France. Ce qui m'intéresse ici est qu'ils publient un certain nombre de cartes thématiques ou autres sources d'informations sur les territoires de la région. Ce n'est pas forcément évident de retrouver des choses dans leurs publications, mais voici par exemple une carte des bois et forêts (et une des espaces verts ouverts au public), une carte des villes et campagnes, une carte des randonnées pédestres et une carte de l'occupation des sols (avec une version interactivement zoomable), sans oublier cette carte des « unités paysagères » (intéressante pour savoir où on verra quel type de paysages). C'est également une carte de l'Institut Paris-Région qui m'avait inspiré ce parcours à la recherche des belvédères. Ils ont aussi par exemple publié un livre Pays & paysages d'Île-de-France (qui a l'air extrêmement difficile à trouver au format papier, mais qui est téléchargeable en PDF au lien que je viens de donner).

✱ Le label « jardin remarquable » : Décerné par le Ministère de la Culture depuis 2004, le label « jardin remarquable » est un moyen de trouver des jardins dignes d'un intérêt particulier. J'ai visité presque tous ceux de l'Île-de-France et un certain nombre au-delà (j'utilise cette section de ce vieux billet pour tenir la liste de ceux que j'ai vus et à quelle date, parfois avec un lien vers un billet de blog ou un fil Twitter ; mais comme il y a eu des ajouts au label, il n'est pas certain que ma liste soit à jour). Si on préfère avoir cette liste sous forme papier, le Centre des Monuments Nationaux édite un Guide des jardins remarquables en Île-de-France (il y en a un par région) — bon, la valeur ajoutée de l'ouvrage n'est pas considérable par rapport à ce qu'on trouvera par quelques recherches en ligne, mais comme mes beaux-parents l'avaient acheté, je leur ai piqué.

✱ L'Office National des Forêts : L'ONF (et spécifiquement pour l'Île-de-France ses agences interdépartementales de Fontainebleau et de Versailles) gère les forêts domaniales (c'est-à-dire : appartenant à l'État). Elle avait une page Web appelée En forêt, un peu vieillot mais néanmoins intéressant (qui eut été à l'adresse http://www1.onf.fr/enforet/@@index.html — maintenant cassée, et pas complètement archivée par l'Internet Archive vers lequel je fais néanmoins pointer mon lien) avec des petites pages descriptives pour chaque forêt domaniale qui donnait quelques photos et, par exemple, la répartition des essences d'arbres dans le massif. Leur site Web semble avoir été refondu et ce truc a disparu (insérer ici mon rant habituel contre les gens qui cassent les liens).

Je peux aussi mentionner Île-de-France Nature, qui est en quelque sorte l'équivalent pour la Région Île-de-France (i.e., pour les forêts régionales) de ce qu'est l'ONF pour l'État.

Remarques générales sur les balades en forêt

Si je prends l'approche de lister les choses à voir géographiquement, il est difficile de savoir quoi faire des forêts. Il y a rarement un endroit précis dont je puisse dire cet endroit-là mérite qu'on y aille (même s'il y a des promenades qui m'ont beaucoup plu, cf. par exemple ici, c'est plus un sentiment qui se dégage de l'ensemble de l'itinéraire, voire de mon humeur du jour ; d'ailleurs, l'impression de charme que produit un endroit en forêt dépend fortement de la saison, et nous cherchons plutôt à éviter de repasser par les endroits où nous sommes déjà allés), tandis que les remarques générales sur tout un massif sont forcément un peu vagues.

Je veux dire, certes, toutes les forêts d'Île-de-France ne se ressemblent pas, mais les différences ne sont pas entre « la forêt de Rambouillet » et « la forêt de Fontainebleau » dans leur masse mais plutôt entre tel type d'endroits et tel autre type d'endroits (forêt de feuillus vs. forêt de conifères, plateaux vs. vallées, lande de bruyère, rochers, grandes routes forestières toutes droites vs. petits chemins tortueux, ce genre de choses). Je ne connais malheureusement pas de carte détaillée des forêts qui montrerait le type de paysage (par exemple les essences d'arbre, et leur âge) qu'on trouve endroit par endroit : on peut parfois deviner par les photos aériennes disponibles sur Google Maps ou Géoportail, mais c'est très imparfait. J'aimerais que l'ONF rende publiques ses informations sur la composition des parcelles (j'imagine qu'ils ont ça en interne).

À défaut de pouvoir faire des remarques par endroit, je peux faire quelques remarques générales sur la typologie.

✱ Les types administratifs de forêts : Quand une forêt est marquée sur la carte (disons OpenStreetMap), même s'il y a des sentiers tracés dedans, ça ne signifie pas pour autant qu'on puisse y accéder, ou que ce soit une bonne idée de le faire. Déjà, on peut distinguer diverses sortes de forêt en fonction du propriétaire. Essentiellement, il y a des forêts domaniales (appartenant à l'État), régionales (appartenant à la Région), départementales et communales (vous aurez deviné) et privées. Cette typologie n'est pas parfaite, par exemple, de ce que je comprends, la forêt de Chantilly (dans l'Oise) appartient à l'Institut de France sous le régime du droit privé (c'est un legs du duc d'Aumale), mais elle est quand même gérée par l'ONF comme une forêt domaniale. Ça reste un bon point de départ.

En règle générale, les forêts domaniales, régionales, départementales et communales sont ouvertes au public, même si certaines parties comme les réserves biologiques, peuvent en être fermées (parfois c'est juste par des pancartes qui vous demandent de ne pas y aller, parfois il y a des grillages). La principale raison de s'intéresser à la distinction entre forêts domaniales, régionales, départementales et communales, est juste que la source d'information les concernant va être différente. La liste des forêts domaniales est raisonnablement facile à trouver ; celle des forêts régionales doit se trouver quelque part aussi ; mais quand on commence à entrer dans les forêts départementales ou communales, ça devient vraiment difficile de connaître le statut, les limites, et de savoir si on va avoir le droit d'aller se balader ici ou là. C'est un peu malheureux que la France ne soit pas capable de coordonner ses collectivités territoriales pour créer une base de donnée claire et lisible des status des forêts publiques. Faute de quoi je ne trouve pas mieux que la carte des espaces verts ouverts au public créée par l'Institut Paris-Région que j'ai déjà liée plus haut.

Les forêts privées peuvent être de toutes sortes ; le plus souvent ce sont des réserves de chasse (je ne crois pas avoir rencontré de forêt d'exploitation du bois privée en Île-de-France, mais il y en a probablement aussi, d'ailleurs c'est sans doute combiné avec une réserve de chasse). Une forêt privée ne signifie pas qu'on n'ait pas le droit d'y accéder : beaucoup de chemins bénéficient, je pense, d'une forme de droit de passage ou de servitude, en tout cas, dans la pratique, on peut souvent y passer. Mais on ne pourra faire que passer : généralement ce sera en suivant un chemin mal entretenu, parfois évanescent, entre deux parties grillagées ou gardées tous les quelques mètres par un panneau annonçant propriété privée : défense d'entrée ; et le risque de tomber sur un cul-de-sac (car souvent ces passages servent simplement à permettre l'accès à une autre propriété, tout aussi grillagée) est élevé, donc je ne recommande pas.

La chasse : Comme je mentionne les réserves de chasse, il faudrait sans doute que je dise un mot sur les chasseurs. Mais en fait je n'ai rien à en dire. Je n'aime pas la chasse et les chasseurs, mais je ne peux pas honnêtement dire qu'ils nous gênent des masses lors de nos balades en forêt. Je suppose que c'est parce que nous nous tenons essentiellement aux forêts publiques (domaniales, régionales, etc.) et que la chasse dans ces forêts est strictement encadrée, et n'a normalement pas lieu le week-end. Toujours est-il que nous n'avons entendu que des bruits au loin.

Les golfs : En se baladant en forêt en Île-de-France, on acquiert rapidement l'impression qu'il y a des golfs partout, et c'est extrêmement agaçant, parce qu'ils sont fermés, ils coupent complètement le terrain en vous obligeant à les contourner, et parfois morcellent véritablement la forêt (par exemple celle de Marly qui, entre les golfs de Noisy-le-Roi Fourqueux et Joyenval, l'autoroute A13 et le tram T13 est un peu réduite à des confettis mal reliés).

Le morcellement de certaines forêts est un vrai problème, et il n'y a pas que les golfs qui en sont responsables : souvent elles sont coupées en deux par des routes qui peuvent être difficiles à traverser (voire quasi impossible comme dans le cas d'une autoroute ou de la N118). Pour le coup c'est très clair sur la carte, mais il faut penser à vérifier à l'avance, parce qu'on peut avoir la fausse impression qu'une forêt est très grande quand, en fait, elle est la réunion de petits bouts presque déconnectés les uns des autres.

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

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

(dimanche)

La réalisabilité propositionnelle, et ce qu'elle nous apprend sur les algorithmes

Je veux ici de nouveau parler d'informatique théorique, dans son intersection avec les maths (logique, calculabilité, typage), et plus précisément d'un sujet appelé la réalisabilité propositionnelle. Je reconnais qu'il a un petit côté « opération de pub » de ma part : il s'agit d'un sujet qu'on peut qualifier d'obscur, voire ésotérique (largement confiné à une poignée de publications soviétiques des années 1960–1990, dont certaines n'ont même pas été traduites du russe en quoi que ce soit d'autre[#], ce qui le dessert cruellement), et pourtant il me semble que d'une part il a des choses à nous apprendre sur l'informatique, sur ce que peut ou ne peut pas faire un algorithme, et sur le rapport entre ça et le typage, et d'autre part il n'est techniquement pas très compliqué à exposer (j'en ai dit un mot — bien moins que ce qui va suivre, certes — dans mon cours à Télécom qui s'est récemment fini, et je ne crois pas avoir largué tout le monde). Donc je trouve qu'il mérite plus d'attention.

[#] Bon, le fait que ce soit en russe ne devrait pas être un obstacle sérieux, surtout maintenant qu'on a des OCR et des traducteurs automatiques, il n'y a vraiment plus de raison. Le problème, c'est que souvent, et en plus d'être en russe, l'article a le défaut d'être super mal écrit : extrêmement concis et pas toujours super rigoureux comme les mathématiciens soviétiques avaient tendance à l'être, références vagues, et fautes de frappe à foison. (Voyez par exemple cette question que j'ai posée sur MathOverflow en essayant de comprendre l'argument de Ânkov sur la non-réalisabilité de l'axiome de Scott que j'expose plus bas ici de façon, j'espère, nettement plus clair que le texte original : mon russe est enfoui au fond des oubliettes, mais ce n'est vraiment ce qui était le plus problématique en l'occurrence par rapport aux fautes de frappe et au style de rédaction vraiment minimaliste.)

Je ne sais pas si l'entrée de blog qui va suivre peut aider à convaincre qui que ce soit de s'y réintéresser, mais en tout cas, si on lit ce qui suit on pourra se dire qu'on sait une proportion significative de tout le savoir de l'Humanité sur la réalisabilité propositionnelle (i.e., pas grand-chose !), et il n'y a pas beaucoup de sujets techniques pour lesquels on puisse en dire autant.

Ajout () : Pour les gens qui veulent savoir de quoi ce billet cause mais qui n'ont pas la patience de lire ce pavé (ni même l'introduction), j'ai écrit un résumé en seulement 13 tweets, ici sur Twitter et ici sur BlueSky [on peut lire le fil BlueSky sans avoir de compte dessus].

Table des matières

Résumé et publicité préalable

Avant de rentrer dans le cœur du sujet, j'essaie d'expliquer informellement[#2] (et de manière — j'espère — assez peu technique) de quoi il s'agit, et pourquoi je pense que c'est assez intéressant pour prendre le temps de déchiffrer des articles à moitié oubliés dans des journaux soviétiques et de pondre un pavé de 1729 pages dans ce blog pour réexpliquer le tout aux enfants. (Si on veut passer directement à la définition, c'est possible, mais je pense que c'est intéressant de donner d'abord une idée grossière de ce dont je vais parler, au risque de prendre un peu un ton introduction de manuscrit de thèse. Je remercie d'ailleurs mes peluches pour leur soutien et leur patience tout au long de l'écriture de cette entrée.)

[#2] Autrement dit, comme le corps de cette entrée est très long, je commence par une introduction très longue pour essayer de motiver cette longueur. Je n'ai fait celle-ci plus longue que parce que je n'ai pas eu le loisir de la faire plus courte. (Blaise Pascal)

Introduction : de quoi s'agit-il ? Cadre et motivations

La calculabilité s'intéresse à décrire de façon générale ce que peut ou ne peut pas faire un algorithme informatique. La réalisabilité propositionnelle s'intéresse (du moins selon le point de vue que j'adopte ici) spécifiquement à certaines sortes de manipulations que je pourrais être qualifier de manipulations de données génériques (ou abusivement, fonctions polymorphes). On va décrire ces manipulations génériques par des formules logiques, du style ABBA (logiquement, celle-ci se lit : si A et B alors B et A). La formule représente une sorte de « contrat » qui stipule la manipulation censément effectuée : par exemple, la formule ABBA représente le contrat je prends une donnée de type A et une donnée de type B et je renvoie une donnée de type B et une donnée de type A (et on peut faire ça algorithmiquement, de façon à peu près évidente, en échangeant les deux données qu'on a reçues). Lorsqu'il y a un algorithme qui remplit le contrat, on dira qu'il réalise la formule, ou que celle-ci est réalisable.

Je donnerai une définition précise plus bas de comment lire la formule comme un contrat et ce que ça signifie de la réaliser, mais je peux tout de suite donner un aperçu informel : on s'intéresse à des formules écrites avec les connecteurs binaires ‘∧’, ‘∨’ et ‘⇒’, ainsi que les constantes ‘⊤’ et ‘⊥’ (et ‘¬’ qui est juste une abréviation de X⇒⊥). Les variables (A,B dans l'exemple que je viens de donner) représentent des types de données quelconques et non spécifiés, et les connecteurs logiques représentent des façons de mettre ces données ensemble : grosso modo,

  • AB (le « et » logique) représente la donnée d'une donnée de type A et d'une de type B,
  • AB (le « ou » logique) représente la donnée d'une donnée de type A ou d'une de type B (mais avec l'information de laquelle on a),
  • AB (l'implication) représente une fonction (au sens informatique) qui prend une donnée de type A et en renvoie une de type B,
  • ⊤ (le « vrai ») représente une donnée triviale, et ⊥ (le « faux ») représente une donnée impossible (inexistante ou inobtenable),
  • ¬A (la négation) représente une promesse qu'il n'y a pas de A.

Ainsi, par exemple, pour faire une manipulation représentée par la formule (« contrat ») ABBA, on prend une donnée de type A et une donnée de type B et on les renvoie dans l'ordre contraire, c'est-à-dire la donnée de type B et la donnée de type A, et on pourra dire que la formule ABBA est réalisable (et que ce programme la réalise, i.e., il « remplit le contrat »).

J'ai utilisé le terme type ci-dessus, mais il n'est peut-être pas vraiment approprié, parce que justement, la réalisabilité ce n'est pas pareil que le typage, même si ça y ressemble beaucoup (et c'est la différence qui est très intéressante). Je m'explique un peu plus.

Il y a un formalisme appelé correspondance de Curry-Howard (j'en ai parlé dans un billet précédent, dont il est peut être intéressant de lire au moins l'introduction même si ce n'est pas strictement nécessaire pour la suite) qui transforme une démonstration d'une formule dans un certain système logique (le calcul propositionnel intuitionniste) en un programme qui fait la manipulation décrite par cette formule. Et le fait que ce programme fasse bien cette manipulation est attesté par ce qu'on appelle un système de typage, en l'occurrence le λ-calcul simplement typé enrichi de types produits et sommes, 1 et 0 mais peu importe : si on se limite aux programmes conformes à ce système de typage, alors la correspondance est exacte — je veux dire, bijective : on peut vraiment identifier les preuves de tel système logique avec les programmes conformes à tel système de typage. D'ailleurs, la correspondance n'est pas bien compliquée et fait vraiment correspondre de façon assez simple les différentes règles de la logique avec les différentes constructions admises par le système de typage.

Le système de typage (disons ce fameux λ-calcul simplement typé enrichi de types produits et sommes, 1 et 0), il contraint les programmes a priori : il les contraint dans toutes les étapes de leur construction, il exige que toutes les opérations qu'ils font soient conformes au typage. Et au bout du compte, les formules obtenues décrivant les manipulations qu'on peut faire, ce sont justement leurs types (à la notation près), et ce sont exactement les formules démontrables dans le système logique (c'est ça que dit la correspondance de Curry-Howard).

Mais ce n'est pas de ça que je veux parler. Ça c'est ce dont j'ai déjà parlé (dans la première partie du billet sur Curry-Howard).

La réalisabilité[#3], elle ne contraint pas les programmes a priori comme le fait le typage. Elle correspond à la philosophie suivante : le programme a le droit de faire ce qu'il veut comme manips (il faut juste que ce soit un algorithme au sens usuel de la calculabilité, celle de Church-Turing, l'idéalisation standard de ce que c'est qu'un ordinateur) et réaliser une formule ça signifie qu'il remplit un certain contrat. Peut-être qu'entre temps, au sein de leurs manips, les programmes violent toutes les règles du typage, mais au final, on demande juste qu'ils remplissent le contrat représenté par la formule : c'est le résultat qui compte, et seul le résultat qui compte. (Peut-être aussi qu'il est impossible de prouver que le programme remplit bien son contrat, mais ce qui importe c'est que mathématiquement il le fait : là aussi, c'est juste le résultat qui compte.)

[#3] Enfin, la réalisabilité propositionnelle que j'évoque ici, et qu'on peut qualifier de réalisabilité propositionnelle non typée pour insister, parce qu'il y a 1001 variantes de la notion (ce qui a causé un certain dialogue de sourds entre Andrej Bauer et moi dans cette question MathOverflow — sa réponse est très intéressante mais elle ne répond pas vraiment à la question que je voulais poser, quoiqu'elle réponde peut-être à la question que j'ai posée).

Par exemple, ABBA c'est le contrat tu vas recevoir deux données, la première de type A et la seconde de type B (et, précision importante, tu n'auras ni accès ni information sur ce que sont A et B), tu dois terminer en temps fini et renvoyer une donnée de type B et une donnée de type A, et effectivement on peut se convaincre que la seule façon de faire ça c'est d'échanger l'ordre des coordonnées.

Quand la formule est démontrable (en calcul propositionnel intuitionniste) ou, ce qui revient au même par Curry-Howard, quand on peut faire un programme typé correspondant à la formule, alors certainement ce programme remplit le contrat représenté par la formule, donc elle est réalisable.

Mais la grande surprise (en tout cas pour moi quand j'ai appris ça, mais aussi, de ce que je comprends, pour Kleene qui contrairement à moi n'était pas un idiot), c'est que la réciproque n'est pas vraie : il y a des contrats qu'on peut remplir — des formules qu'on peut réaliser — sans que la formule soit prouvable, ou, ce qui revient au même, sans qu'on puisse le faire dans le système de typage naturel dans cette situation (le λ-calcul simplement typé enrichi gnagnagna). Un des buts de ce billet est de donner des exemples de telles formules (jetez un coup d'œil plus bas si vous voulez voir à quoi ça ressemble).

Ces formules réalisables mais non démontrables illustrent donc, si on veut, des choses que peut faire un algorithme, remplissant un contrat de manipulation qui ressemble à du typage, mais qui ne sont pas faisables dans le cadre du typage — en tout cas du typage le plus naturel dans cette situation — ou, si on veut, ces choses sont faisables, mais la vérification que le contrat est bien rempli est plus compliquée qu'une vérification locale telle que fournie par le typage.

Bien sûr, il n'y avait aucun doute que les algorithmes généraux sont plus généraux que les algorithmes typés : notamment, les systèmes de typage que j'évoque dans cette introduction ne permettent pas de faire de boucle infinie, donc il est évident qu'ils limitent structuralement les algorithmes. Mais ce qui est surprenant dans l'histoire, c'est que l'algorithme va quand même remplir un contrat qui se lit exactement comme un type, i.e., ils font des manipulations de données génériques potentiellement utiles, pas quelque chose comme une boucle infinie ni même une fonction sur un type spécifique comme les entiers.

Je précise pour dissiper un possible malentendu que ce que je dis là n'est pas destiné à être une attaque contre le typage ou son utilité, juste un signe que les choses sont plus délicates que ce qu'on pourrait imaginer naïvement : certes Curry-Howard nous dit que les formules logiques qui correspondent à des programmes typés sont exactement les formules démontrables, mais il y a des contrats qu'on peut remplir de façon plus subtile que le typage.

Et du coup, il me semble que c'est un problème très naturel pour l'informatique et la calculabilité que d'étudier cette réalisabilité propositionnelle, parce que ça a directement trait à ce qu'un algorithme peut ou ne peut pas faire. (Notons que c'est là l'approche que je donne à la question dans ce billet, tout le monde ne sera pas forcément d'accord que c'est la bonne motivation.)

Organisation de ce billet

Dans la suite, je commence par définir de façon précise ce que c'est que la réalisabilité propositionnelle, et je donne des exemples très simples d'une formule réalisable (AB ⇒ BA) et d'une formule qui ne l'est pas (A ∨ ¬A) pour montrer comment on manie la notion. Ensuite je dois faire un certain nombre de remarques générales (plusieurs desquelles sont en petits caractères pour montrer qu'on peut les ignorer et passer à la suite).

Puis je me tourne vers des exemples de formules réalisables mais non démontrables, parce que c'est quand même ça la grosse surprise, que de telles formules existent : pour chacune, j'ai essayé de donner non seulement un algorithme qui la réalise (et comment il fonctionne) mais aussi des explications informelles à son sujet. En revanche, je ne détaille pas l'argument expliquant que la formule n'est pas démontrable (en calcul propositionnel intuitionniste) : il n'y a que la première pour laquelle j'ai fait cet effort, et encore succinctement et en petits caractères, parce que ce n'est pas vraiment mon sujet.

Je commence par la formule qui me semble la plus simple à comprendre intuitivement, celle de Ceitin, puis j'en passe en revue un certain nombre d'autres. On peut traiter ça comme autant d'énigmes : une fois qu'on a compris le principe, c'est un petit jeu de regarder chaque formule comme un contrat à remplir et de se demander comment je vais faire une telle chose avec un algorithme ? (en tout cas, c'est comme ça que j'ai approché le problème : je n'ai pas lu les preuves de réalisabilité qu'on trouve dans la littérature, c'était bien plus instructif de les retrouver moi-même).

Ensuite, je passe à des exemples de formules non réalisables mais intéressantes et notamment « presque » réalisables, à travers deux exemples importants : la formule de Kreisel-Putnam et celle de Scott. Donc cette fois il faut à la fois montrer qu'elles ne sont pas réalisables et que, pourtant, on ne passe pas loin de l'être (et j'explique en quoi elles sont « presque » réalisables, même si je n'ai pas réussi à avoir le recul pour comprendre si on peut définir cette notion proprement).

Enfin je finis par des généralités et spéculations peut-être vaseuses et certainement mal écrites, qui font un peu le pendant de l'introduction ci-dessus.

Pourquoi j'estime que c'est intéressant et important

Bien sûr, comme je l'explique ci-dessus, on peut traiter chacune des formules que je vais lister ci-dessous (aussi bien celles qui sont réalisables que celles qui ne le sont pas) comme un exercice de calculabilité : voici une formule représentant un certain contrat, trouver une façon de le remplir [= réaliser la formule] ou montrer que ce n'est pas possible ; ou même comme une sorte d'énigme (à la manière dont je l'ai fait ici et ). Les outils de base utilisés par ces algorithmes sont toujours un peu les mêmes, et ce sont les techniques fondamentales de la calculabilité : lancer deux tâches en parallèle (sachant qu'au moins une des deux terminera), exécuter un programme pour un certain nombre d'étapes pour voir s'il termine, parcourir tous les entiers naturels en sachant qu'on finira par en trouver un qui remplit une certaine condition — ce genre de choses qui sont les bases de la calculabilité de Church-Turing. Donc déjà c'est au moins intéressant parce que c'est instructif à ce niveau-là.

Mais je pense que ça va plus loin que ça. Comme je le dis plus haut, la réalisabilité propositionnelle est une façon d'aborder le problème, qui me semble central en informatique, de ce qu'un algorithme peut ou ne peut pas faire, et en l'occurrence il est important de comprendre ce que le typage laisse ou ne laisse pas passer, et comme le typage est un outil lui aussi central, comprendre ce qu'il ne laisse pas passer est justement une question cruciale, et même si on peut trouver que la réalisabilité propositionnelle est un prisme un peu étroit pour étudier cette question (j'en conviens), je pense qu'elle a des choses à dire, et je n'ai pas l'impression qu'on les comprenne bien dans l'état actuel de l'art (d'où le fait que les exemples de formules réalisables soient un peu… hétéroclites), mais ça vaut certainement la peine de méditer un peu sur chacune de ces formules certes disparates et de ce qu'elle signifie et ce qu'elle représente. En tout cas, ce n'est certainement pas un hasard si la réalisabilité de ces différentes formules fait appel à ce que je viens d'appeler les techniques fondamentales de la calculabilité.

En outre, ça nous apprend aussi — il me semble — des choses sur la richesse de la logique intuitionniste, même au niveau simplement propositionnel (en nous forçant à nous demander ce que disent logiquement certaines de ces formules qu'on n'aurait sans doute pas pensé à considérer sinon). Ma motivation à moi était justement de me familiariser mieux à la fois avec la calculabilité en général et avec les techniques à l'interface entre logique, calculabilité et typage : en réexpliquant chacune de ces preuves, je m'assure que je les ai bien comprises. (Et il y a plein de choses que j'ai été obligé de revoir en écrivant ce billet.)

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

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

(dimanche)

Pourquoi trois personnes dans les conjugaisons et pas plus ?

Je précise d'emblée que ce billet n'est pas à prendre très au sérieux. C'est juste une idée qui me revient en repensant à ce que j'ai écrit récemment sur les conjugaisons.

En français et dans un certain nombre d'autres langues qui conjuguent les verbes, l'un des traits grammaticaux qui déterminent l'inflexion du verbe est la personne du sujet, et elle distingue trois possibilités, à savoir si la personne qui accomplit est :

  1. la personne (ou plus rarement, chose) qui s'exprime, ou un groupe qui la contient,
  2. la personne (ou plus rarement, chose) à qui on s'adresse, ou un groupe qui la contient, ou enfin
  3. n'importe quelle autre personne ou chose ou groupe de telles.

Ces cas de figures s'appellent respectivement la première personne, la deuxième personne et la troisième personne (la numérotation, bien sûr, est une pure convention et il y a des langues où on fait plutôt l'ordre inverse, mais ça ce n'est pas une caractéristique intrinsèque de la langue, juste un choix des grammairiens qui l'étudient ; par contre le fait qu'il y ait ces trois cas est assez nettement une caractéristique de la langue).

La grande majorité des langues indo-européennes qui font varier le verbe selon le sujet utilisent cette typologie en trois personnes (j'écris la grande majorité parce que je ne veux pas me mouiller trop et si j'écrivais toutes il y aurait certainement quelqu'un qui viendrait m'expliquer que dans le dialecte bordurien du vieux syldave il n'y a que deux personnes au singulier et quatre au pluriel, mais disons que je ne connais pas de contre-exemple[#], même s'il y a des exemples de langues indo-européennes qui ne font pas du tout varier le verbe selon la personne, ou seulement selon le genre et nombre du sujet comme le passé en russe qui est visiblement une sorte de participe accordé avec le sujet).

[#] Bon, on peut ergoter que les formes de politesse cassent un peu ce modèle. Par exemple, le pronom Sie de l'allemand se présente inflexionnellement comme un pronom de la troisième personne du pluriel mais fonctionne sémantiquement comme un pronom de la deuxième personne (singulier ou pluriel) en forme de politesse. De même, la multiplicité des pronoms de la deuxième personne en néerlandais (du, gij, jij et u) ne se laisse pas si facilement analyser. Il me semble que ce ne sont pas des objections très sérieuses même si ça doit nous rappeler que les choses en linguistiques sont toujours un peu floues.

Par ailleurs, ces langues indo-européennes font aussi varier le verbe selon le nombre du sujet en même temps que la personne ; et à ce propos, pour autant que je sache, la « clusivité » au pluriel est très majoritairement définie par les règles suivantes : dès que la personne qui s'exprime fait partie du groupe, c'est la première personne du pluriel (indépendamment du fait que telle ou telle autre personne soit dedans : i.e., nous peut vouloir dire moi et toi (= « nous inclusif ») comme moi et lui (= « nous exclusif »)) ; sinon, dès que la personne à qui on s'adresse fait partie du groupe, c'est la deuxième personne du pluriel ; sinon c'est la troisième personne du pluriel.

J'ai l'impression que ces règles sont extrêmement spécifiques.

Ce que je trouve assez fascinant, c'est qu'il y a des langues non indo-européennes qui semblent les suivre aussi au moins partiellement : disons que sur une description superficielle de leur grammaire (je n'ai pas une connaissance assez correcte de ces langues pour vraiment juger), les conjugaisons de l'arabe, du turc, du hongrois et du finnois, qui représentent au moins deux-trois familles de langues indépendantes et indépendantes des langues indo-européennes, ont l'air de se conformer à peu près à cette distinction tripartite sur la personne (à laquelle on peut ajouter la distinction singulier/pluriel sur le nombre). C'est moins clair de ce que je lis des grammaires du swahili et du basque, pour prendre des exemples au pif de langues encore indépendantes de tout ça, mais j'y vois quand même des références à la première et la deuxième personne.

Évidemment, il y a aussi des langues où ça ne veut pas dire grand-chose : par exemple si les verbes sont complètement invariables et qu'on a plein de pronoms pour plein de situations différentes, on peut toujours décider d'en appeler certains pronoms de la première, deuxième et troisième personne, mais ce sera juste plaquer une typologie artificielle sur une langue qui s'en fout. (Bien sûr aussi, toute langue a forcément une façon de dire je mange, tu manges et il mange, mais cette distinction n'a aucune raison d'être obligatoire, et inversement elle peut être plus précise, peut-être que je mange se dit différemment selon qu'on est un homme jeune, une femme âgée, une personne qui a les cheveux longs, l'Empereur, ou je ne sais quoi encore.)

Pour y voir plus clair, il faudrait une grande base de données ouvertes des langues avec une description unifiée de leurs caractéristiques, sur laquelle on puisse rechercher ce genre de choses. Il y a un livre, depuis devenu un site Web, le World Atlas of Language Structures, qui est censé répondre précisément à ce type d'interrogation (et devrait éviter de consulter des grammaires de qualité douteuse du turc et du basque pour essayer de deviner s'il y a un concept de première / deuxième / troisième personne dans ces langues), mais à chaque fois que j'ai essayé de trouver quelque chose dedans, j'ai été épaté par la pauvreté des caractéristiques répertoriées, et ce cas ne fait pas exception : je ne trouve rien dans leur inventaire qui essaie de répertorier si une langue a des notions[#2] de première, deuxième et troisième personne.

[#2] Bien sûr on peut objecter que cette question n'a pas de sens, parce que ce n'est pas clair ce que ça veut dire qu'une langue ait la notion : mais c'est le cas de quasiment toutes les caractéristiques évoquées dans le WALS (je ne vais quand même pas refaire encore un lien vers mon billet sur les frontières floues, si ?). En tout cas je ne trouve rien qui ressemble même à mon interrogation.

Le fait qu'on retrouve quand même une typologie étonnamment semblable (à mes yeux) dans des familles langues qui sont censées être indépendantes m'amène à me demander quelle en est l'explication : je peux imaginer plusieurs hypothèses, ni exclusives ni exhaustives (et certainement pas forcément la même d'un cas à l'autre) :

  • c'est un hasard ;
  • c'est « naturel », ça fait partie du fonctionnement du cerveau humain de penser en trois personnes (moi, toi et lui) ;
  • c'est le signe d'une parenté entre les langues en question (pas forcément un signe de l'existence d'une langue ancestrale universelle, mais au moins la trace d'une super-famille) ;
  • c'est le résultat d'une évolution grammaticale convergente par échanges horizontaux entre familles distinctes (Sprachbund) ;
  • c'est le résultat d'une fausse perspective apportée par la manière dont les grammairiens (majoritairement natifs de langues indo-européennes) analysent les langues en question, en plaquant des concepts venus, disons, de la grammaire latin, sur des langues pour lesquelles ces concepts sont inadaptés.

(J'avais déjà évoqué des possibilités analogues dans mon billet sur les conlangs.)

Je ne sais pas bien quoi croire entre tout ça (et, je répète, rien ne dit que la ou les explications concernant l'arabe soient les mêmes que concernant le turc).

Néanmoins, je voudrais expliquer un peu, en réponse à l'hypothèse que ce serait « naturel » de distinguer la personne qui s'exprime et la personne à qui elle s'adresse de toutes les autres personnes, quel serait l'intérêt possible d'avoir une langue distinguant quatre personnes (au moins une des langues construites que j'avais imaginées quand j'étais ado fonctionnait comme ça).

Quelles seraient ces quatre personnes ? Je pense principalement à la distinction quadruple suivante :

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

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

(vendredi)

Mélanges probabilistes et superpositions quantiques

Précisions d'emblée que le but de ce billet, qui évoque le rapport entre (pour prendre un exemple célèbre) un chat vivant avec probabilité ½ et mort avec probabilité ½ (« mélange probabiliste ») et un chat dans un état quantique qui combine vivant et mort (« superposition quantique ») n'est pas vraiment de faire de la vulgarisation, encore moins de la physique. Je m'en sers, comme je fais parfois, surtout pour gribouiller rapidement ce que j'ai (moi matheux) réussi à comprendre de textes que je trouve souvent obscurs, et pour noter des questions que je (me) pose si je veux y réfléchir plus attentivement Un Jour™, mais ça ne signifie pas que d'autres trouveront mes explications plus claires que ce qu'on peut trouver ailleurs. Il s'agit essentiellement de choses très classiques, mais que je trouve généralement très mal expliquées (notamment par le fait qu'on prend rarement le soin d'essayer de décrire le parallèle entre mélanges probabilistes et superpositions quantiques séparément avant de dire comment ces deux choses se combinent), quoique certaines des questions que je soulève au passage n'ont pas l'air d'être beaucoup discutées, et c'est dommage.

Quoi qu'il en soit, ce qui suit s'adresse à des lecteurs qui savent au moins un peu d'algèbre linéaire (en gros, pour qui les mots espace de Hilbert ont un sens — je ne parlerai que de la dimension finie donc on peut préférer espace hermitien), et sont globalement familiers avec le fait qu'une matrice hermitienne est diagonalisable. Et encore une fois, mon point de vue va être celui d'un matheux, pas d'un physicien (témoin le fait que je vais à peine évoquer de lois de la physique) : la question est celle de la représentation mathématique d'états d'un système physique. (Et j'en profite pour pointer du doigts certains faits géométriques sur cette représentation.) Mais au passage, ça soulève des questions, qui me semblent intéressantes, sur la philosophie de la physique (notamment que signifient les probabilités, et dans quelle mesure elles font partie de la réalité du monde).

Je dois aussi préciser que j'ai changé plein de fois d'avis sur ce que je voulais raconter ici, que j'ai fait mon plan a posteriori et que j'ai réécrit plein de fois des passages sans vérifier la cohérence avec ce qui était déjà ailleurs, ce qui explique sans doute des virages un peu bizarres, des redites ou incohérences de propos et des digressions inutiles (comme d'habitude, j'essaie de rédiger de manière à ce qu'on puisse les sauter, mais je ne sais pas dans quelle mesure j'y arrive). Par ailleurs, comme ça m'arrive souvent, j'ai écrit ce texte jusqu'au point où j'en ai eu marre de l'écrire, ce qui explique qu'après être parti dans toutes les directions il s'arrête un peu brutalement et sans vraie conclusion — mais je pense que mes lecteurs (enfin, ceux qui sont assez patients pour lire mes billets jusqu'au bout) ont l'habitude de ça.

Plan

Mélanges probabilistes et superpositions quantiques séparément

Comme promis, je commence comme un matheux. Supposons que A soit un ensemble, que je vais prendre fini pour simplifier et que j'imagine comme les états basiques que peut prendre un système physique.

Mon but est dans un premier temps de définir deux types de constructions[#] qu'on peut faire sur cet ensemble A, que je vais ensuite comparer et contraster, et que je vais appeler mélanges probabilistes et superpositions quantiques ; puis, dans la suite, je discuterai comment on peut les combiner.

[#] Techniquement, j'imagine qu'on doit pouvoir faire de chacune de ces constructions une monade, mais je ne veux pas tomber dans ce trou de lapin-là.

Mélanges probabilistes

Si je ne sais pas exactement dans quel état se trouve mon système, je peux représenter mon ignorance sous la forme d'une distribution de probabilités sur A : concrètement, ça va prendre la forme d'une fonction de A vers les réels positifs (donnant la probabilité de chaque état) dont la somme totale est 1. De façon équivalente, si je note [a], lorsque aA la fonction qui vaut 1 en a et 0 ailleurs (i.e., la distribution de probabilités concentrée en a), une distribution de probabilités p quelconque sur A s'écrit comme une combinaison convexe des [a], c'est-à-dire une combinaison linéaire à coefficients positifs de somme 1 (les coefficients étant justement la probabilité p(a) de chaque a, i.e., on a p = ∑aA p(a) · [a], avec, je répète, p(a)≥0 pour chaque a, et ∑aA p(a) = 1). Je parlerai aussi de mélange probabiliste des éléments de a pour une telle combinaison convexe.

À titre d'exemple, si A = {vivant, mort} désigne les deux états possibles de vie d'un chat, le mélange probabiliste ½([vivant] + [mort]) désigne un chat qui a 50% de chances d'etre vivant et 50% de chances d'être mort.

Géométriquement, il faut penser à cet ensemble de distributions de probabilités / combinaisons convexes / mélanges probabilistes (selon le terme qu'on préfère) comme un simplexe dont les sommets sont les éléments de A (i.e., lorsque A a 2 éléments, c'est un segment les reliant, quand il en a 3 c'est un triangle ayant ces sommets, quand il en a 4 c'est un tétraèdre, etc.) ; et les coordonnées barycentriques dans le simplexe sont les valeurs p(a) de la distribution de probabilités p considérée.

Je n'ai rien dit d'intelligent, ou même d'intéressant dans tout ça : c'est complètement standard, c'est juste différents points de vue un tout petit peu différents sur la même chose.

Superpositions quantiques

Maintenant, quand on fait de la mécanique quantique, il y a autre chose qui intervient, et qu'il faut bien distinguer de ce qui précède : ce sont les superpositions quantiques. Cette fois, je vais considérer un espace vectoriel complexe[#2], et même hilbertien (= hermitien), dont une base orthonormée est formée de vecteurs notés |a⟩ où aA, et je m'intéresse aux vecteurs de norme 1 dans cet espace (éventuellement : modulo la phase, c'est-à-dire modulo multiplication par les complexes de module 1, ce qui en fait un « espace projectif » complexe, cf. ici). Autrement dit, les éléments de l'espace sont les ∑aA u(a) · |a⟩ avec u(a) des nombres complexes et ∑aA |u(a)|² = 1 ; le produit scalaire hermitien de deux tels éléments |u⟩ := ∑aA u(a) · |a⟩ et |v⟩ := ∑aA v(a) · |a⟩ est donné par ⟨u|v⟩ := ∑aA u(a)* · v(a) où z* désigne ici le conjugué d'un nombre complexe (normalement noté avec une barre au-dessus, mais c'est pénible à faire en HTML) (j'ai pris ici la convention des physiciens selon laquelle le produit scalaire hermitien est antilinéaire dans sa première variable et linéaire dans la seconde). La notation suggère de définir ⟨a| comme la forme linéaire valant 1 en |a⟩ et 0 sur tous les autres |b⟩, si bien que le produit scalaire par ∑aA u(a) · |a⟩ à gauche s'écrit comme la forme linéaire ∑aA u(a)* · ⟨a|. Bon, là je n'ai rien dit d'intelligent.

[#2] Le fait qu'on ait apparemment nécessairement affaire à des coefficients complexes, quel que soit le système physique décrit, me laisse un peu perplexe, et apparemment je ne suis pas le seul.

Pour reprendre l'exemple précédent, si A = {vivant, mort} désigne les deux états possibles de vie d'un chat, alors (|vivant⟩ + |mort⟩)/√2 désigne un chat dans un état quantique qui superpose ces deux états. Mais on notera que (|vivant⟩ − |mort⟩)/√2 est aussi un tel état, qui semble très analogue, mais qui est orthogonal au précédent comme on le voit en calculant le produit hermitien (et on peut légitimement se demander ce que tout ça veut dire). Et de même, (|vivant⟩ + i·|mort⟩)/√2 et (|vivant⟩ − i·|mort⟩)/√2 devraient avoir un sens et être orthogonaux l'un à l'autre (quoique pas aux précédents). Ceci étant dit, autant c'est rigolo de donner mes exemples avec des chats vivants ou morts ou en superposition quantique entre les deux, ce n'est peut-être pas un très bon exemple[#3][#3b], en fait, justement à cause de la difficulté de donner un sens à ces états que je viens d'écrire, donc dans la suite je vais passer à un exemple plus abstrait du genre A = {0,1}, c'est-à-dire les états basiques de ce qu'on appelle un qubit : vous pouvez imaginer ‘0’ et ‘1’ comme signifiant qu'un chat est vivant et mort si vous voulez, mais si vous voulez des exemples physiquement plus plausibles, l'article Wikipédia que je viens de lier a divers exemples, et je vais juste dire un mot de deux d'entre eux dans les paragraphes suivants.

[#3] Je ne sais plus qui me faisait le reproche je ne sais où d'utiliser le chat de Schrödinger comme exemple de superposition quantique, alors que c'est justement un exemple censé illustrer le doute qu'on peut avoir sur l'existence ou le sens de superpositions quantiques sur des objets macroscopiques. Si on croit la mécanique quantique jusqu'au bout, et notamment si on croit sa linéarité exacte, alors oui, on peut faire des superpositions quantiques macroscopiques, et même c'est ce qui arrive à l'Univers tout entier dès qu'on fait une « mesure », et il y a toutes sortes de tentatives d'explications, ou de bouts d'explications (décohérence, interprétation « multi-mondes » d'Everett-DeWitt) sur pourquoi on ces superpositions ne se manifestent pas de façon visible dans notre expérience quotidienne. Mais mon but ici n'est pas vraiment de parler de ces choses-là (même si je ne peux pas faire l'économie d'au moins une mention au passage — dont acte ; cf. aussi la note #8 plus bas).

[#3b] Ajout () : Bien sûr, le problème avec le chat, ce n'est pas juste qu'il est macroscropique, c'est qu'il a bien plus d'états que {vivant, mort} : il y a peut-être quelque chose comme 101027 états qualifiables de vivant et de mort. En quoi ceci est vraiment pertinent pour toute la discussion n'est pas clair pour moi, ni si on choisit de les regrouper en deux paquets (i.e., de fabriquer deux sous-espaces de grande dimension) ni si on décide d'en choisir un très particulier dans chaque paquet (mais je note quand même que, par un phénomène de concentration de la mesure, si on choisit un état vivant au hasard et un état mort au hasard, ils seront essentiellement orthogonaux — donc au moins ça justifie de travailler avec comme des états basiques).

À titre d'exemple de qubit, il y a la polarisation d'un photon : si |↺⟩ représente un photon polarisé circulairement d'hélicité droite[#4] et |↻⟩ un photon polarisé circulairement d'hélicité gauche, alors (|↺⟩ + |↻⟩)/√2 et (|↺⟩ − |↻⟩)/√2 peuvent représenter des photons respectivement polarisés horizontalement et verticalement[#5][#6], tandis que (|↺⟩ + i·|↻⟩)/√2 et (|↺⟩ − i·|↻⟩)/√2 peuvent en représenter de polarisations diagonales.

[#4] Comme bien expliqué sur Wikipédia, il y a deux conventions opposées sur ce qu'une polarisation circulaire horaire ou anti-horaire signifie, selon qu'on prend le point de vue de la source qui voit l'onde partir ou de la cible qui voit l'onde arriver. Par contre, l'hélicité, il me semble que ça devrait être inambigu : on met le pouce (droit ou gauche, selon qu'on parle d'hélicité droite ou gauche) dans le sens de propagation de l'onde et en courbant les autres doigts ils indiquent dans quel sens l'onde tourne autour de son sens de propagation. Donc pour moi, hélicité droite = sens anti-horaire (= trigonométrique) vu par la cible = sens horaire (= rétrograde) vu par la source, tandis que hélicité gauche = sens horaire (= rétrograde) vu par la cible = sens anti-horaire (= trigonométrique) vu par la source. (Et les petits dessins ‘↺’ et ‘↻’ que j'utilise évoquent ce que voit la cible.) Mais apparemment, toujours si j'en crois Wikipédia, des gens ont aussi réussi à mélanger les conventions gauche/droite, et là je ne comprends pas comment ils ont pu faire un truc pareil. Enfin bon, tout ça n'a aucune importance pour ce que je veux raconter ici.

[#5] Là aussi, on trouve des conventions contradictoires, bien sûr, mais la convention moderne semble être de dire qu'une onde se propageant horizontalement a une polarisation horizontale par référence à la direction du champ électrique oscillant : le champ magnétique, lui, oscille dans une direction perpendiculaire au champ électrique et au vecteur de propagation de l'onde, donc verticalement pour une onde de polarisation horizontale.

[#6] Mathématiquement, imaginez que |↺⟩ est la fonction exp(2iπν·t) où ν est la fréquence du photon et t est le temps retardé par la distance depuis la source, et le composantes réelle et complexe sont, disons, les composantes horizontale et verticale du champ électrique ou quelque chose comme ça, tandis que |↻⟩ est exp(−2iπν·t) ; alors (|↺⟩ + |↻⟩)/√2 et (|↺⟩ − |↻⟩)/√2 décrivent les fonctions cos(2πν·t) et i·sin(2πν·t) respectivement.

La raison pour laquelle je précise l'exemple du paragraphe précédent est pour souligner que ces états en superposition quantique sont parfaitement valables (je vais dire ci-dessous que, contrairement à la situation probabiliste, il n'y a rien d'objectif qui distingue les états basiques que j'ai choisis des autres états fabriqués par combinaisons linéaires de ceux-ci : le fait qu'un état soit « superposé » n'a pas de sens en soi), et ça se voit bien sur cet exemple-là : les polarisations circulaires n'ont rien de plus naturel que les polarisations horizontales/verticales ou diagonales. Par ailleurs, on se dit que ce sont des choses qui ont un vrai sens physique, pas des expressions de notre ignorance.

J'ai évoqué les photons ci-dessus pas juste pour le plaisir d'utiliser les caractères ‘↺’ et ‘↻’, mais aussi parce que je pense que c'est raisonnablement simple à comprendre — modulo les prises de tête sur les conventions contradictoires quant au sens de la polarisation — mais on peut aussi dire un mot du qubit décrivant le spin de l'électron au repos. Là les deux états basiques pourraient être |↑⟩ et |↓⟩ représentant un électron avec un spin dirigé vers le haut ou vers le bas respectivement : alors (|↑⟩ + |↓⟩)/√2 et (|↑⟩ − |↓⟩)/√2 peuvent représenter un électron avec un spin dirigé vers la droite et la gauche respectivement, tandis que (|↑⟩ + i·|↓⟩)/√2 et (|↑⟩ − i·|↓⟩)/√2 peuvent en représenter un avec un spin dirigé vers l'avant et l'arrière respectivement[#7].

[#7] Le lecteur astucieux me demandera mais ça dépend très hautement du fait que l'espace est de dimension 3, ça : que se passe-t-il en d'autres dimensions ? — et, en effet, c'est une particularité de la dimension 3 que l'état de spin d'une particule de spin ½ soit représenté par un qubit. En général, en dimension d le spin d'une telle particule devrait avoir 2d/2⌋ états basiques (c'est la dimension de la représentation spinorielle du groupe Spind ; je ne sais d'ailleurs pas comment Wikipédia réussit à cacher cette information aussi efficacement dans la page que je viens de lier), c'est-à-dire l'équivalent de ⌊d/2⌋ qubits. Donc, oui, c'est particulier à la dimension 3 qu'on puisse décrire ça aussi simplement que vers le haut et vers le bas. Pour la polarisation du photon, il me semble que c'est d−1 états basiques (donc, en grande dimension, il y a beaucoup moins d'information dans le spin d'un photon que d'un électron, vous interprétez ça comme vous voulez).

Ressemblances et différences entre les deux

Il y a des ressemblances entre mélange probabiliste et superposition quantique, et j'ai fait exprès de choisir une description analogue avec des combinaisons linéaires pour faire ressortir ces ressemblances (et je regrette que toute description de la mécanique quantique ne commence pas par une telle discussion). Il y a aussi des différences cruciales, à la fois physiques et mathématiques.

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

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

(dimanche)

Combien y a-t-il de continents ? — et l'apprentissage du recul face aux conventions

Si on demande à une personne ayant grandi en France combien il y a de continents, et de les lister, je pense que la réponse sera généralement cinq, avec comme liste l'Europe, l'Asie, l'Amérique, l'Afrique et l'Océanie (dans un certain ordre). Il me semble que ceci est la liste « traditionnelle » des continents vus par la France, ou par la culture française, et probablement enseignée dans le système éducatif français. En tout cas c'est la liste retenue par (le Français) Pierre de Coubertin quand il s'est agi de fixer la symbolique du drapeau d'une certaine compétition sportive[#]. Je n'ai pas de souvenir très précis de ce que j'ai pu moi-même apprendre à l'école comme liste des continents, mais je suis certain que l'Europe était considérée comme distincte de l'Asie (la limite étant placée au niveau de l'Oural) et je crois bien que l'Amérique était considérée comme un seul continent et que j'étais moi-même un peu scandalisé par l'arbitraire de cette différence de traitement. Je crois aussi que l'Antarctique était mentionné comme devant logiquement être un continent mais on l'a oublié mais comme personne n'y habite ce n'est pas grave.

[#] Dont je n'ai probablement pas le droit d'écrire le nom ici, surtout si je le mets à proximité du nom de la ville où j'habite et de l'année en cours, sans payer les organisateurs de la dite compétition sportive, sous peine de voir débarquer chez moi la police de la propriété intellectuelle, parce que cette compétition défend sa marque avec une vigueur qui démontre à elle seule que leur but n'est pas de faire du sport mais de faire du fric. Oups, pardon, j'ai digressé.

Ajout () : On me fait remarquer qu'il y a sur le parvis du musée d'Orsay, créées pour le palais du Trocadéro de l'Exposition universelle de 1878, des sculptures représentant six continents (l'Amérique du Nord étant distincte de l'Amérique du Sud), ce qui vient mettre en doute le fait qu'il y ait une liste française traditionnelle unique.

Je n'ai pas réussi à trouver s'il y a actuellement une liste officielle à enseigner dans les écoles françaises (un document qui dirait que, pour les besoins de l'enseignement en France, l'Amérique du Nord et l'Amérique du Sud ne sont pas deux continents distincts, par exemple : je suis tombé sur cette page sur le socle commun de connaissances, de compétences et de culture qui a l'air pertinent, mais aucune des pages liées ne semble plus précise que nommer et localiser les grands repères géographiques du monde (continents, [etc.])). Si quelqu'un a des enfants qui sont récemment passés dans les écoles françaises (ou est un enfant récemment passé dans les écoles françaises, après tout ne faisons pas d'hypothèse hasardeuse, on a le droit de lire mon blog à 12 ans), je veux bien qu'on me dise ce qu'on y apprend.

La France n'est évidemment pas la seule à enseigner cette liste précise de cinq continents, mais d'autres pays font des choix différents (et bien sûr, ce n'est pas comme si tout le monde était forcément d'accord au sein d'un même pays). Les points de désaccord principaux semblent être : ① si l'Amérique est un contient ou deux, ② si l'Europe et l'Asie sont un continent ou deux, ③ si l'Océanie est un continent (c'est un peu un oxymore, le continent d'Océanie !) et, si ce n'est pas le cas, comment on classe l'Australie, et ④ ce qu'on doit faire de l'Antarctique. (Après ça, bien sûr, il y a des désaccords plus secondaires sur le tracé précis des frontières intercontinentales, ou sur le statut des îles.) Le seul vrai point de consensus a l'air d'être que l'Afrique est un continent (mais même là, je n'oserai pas demander si le Sinaï est en Afrique ou en Asie). Cette vidéo de la chaîne YouTube Map Men, en plus d'être assez hilarante comme tout ce qu'ils font, résume très bien la difficulté de définir ce qu'est un continent, certaines approches possibles choisies par telle ou telle culture. Cette page Wikipédia est plus précise (quoique moins rigolote), mais finalement ne nous apprend pas grand-chose de plus.

Je dis telle ou telle culture, mais j'imagine qu'il y a un certain nombre d'endroits où une définition officielle d'un continent est nécessaire. Je pense à des organisations internationales qui ont une convention officielle ou semi-officielle que leur chef, ou le lieu des réunions, effectue une rotation entre les continents (divulgâchis : ces organisations ne considèrent sans doute pas l'Antarctique comme un continent !).

Je suis sûr qu'il y aurait moyen d'écrire un livre fort intéressant sur l'histoire des cinq continents, depuis les anciennes cartes en TO montrant l'Asie en haut, l'Europe en bas à gauche et l'Afrique en bas à droite, d'un œcoumène ayant la forme symbolique d'un T inscrit dans un O, jusqu'à la découverte de la tectonique des plaques[#2] et après. Comment l'Éducation nationale française (si c'est bien le cas) s'est-elle retrouvée[#3] à enseigner que l'Oural précisément[#4] marque la distinction entre l'Europe et l'Asie (quelle est la genèse de cette idée ?) et que l'Amérique du Nord et l'Amérique du Sud sont un seul et même continent (qui a décidé ça et quand et pourquoi ?), voilà toutes sortes de questions fascinantes, auxquelles je n'ai pas la réponse. Si un tel livre existait, je le lirais volontiers[#5].

[#2] En passant par le fait que Martin Waldseemüller ait été apparemment le premier, vers 1507, à publier une carte donnant un nom au Nouveau-Monde, choisi en l'honneur d'Amerigo Vespucci, l'adoubant de fait en nouveau continent.

[#3] Apparemment un des responsables dans l'histoire est Philip Johan von Strahlenberg vers 1730, et sa ligne de séparation Europe-Asie aurait été adoptée officiellement par la tsarine Anne. Voilà des bribes d'information que je trouve un peu au hasard d'Internet, mais qu'un tel livre pourrait expliquer de façon précise avec des sources fiables.

[#4] Au moins au nord. Parce que je me rappelle parfaitement qu'on m'a dit à l'école primaire que la plus haute montagne d'Europe était en France parce que c'est le Mont Blanc, cocorico🇫🇷, mais c'est un double mensonge parce que d'abord la France a volé le sommet du Mont Blanc en rectifiant unilatéralement des cartes pour que ce ne soit plus le point de passage de la frontière avec l'Italie, mais c'est une autre histoire, et d'autre part parce qu'il semble quand même (maintenant ?) assez universellement admis que le mont Elbrouz (en Russie, dans le Caucase) est en Europe.

[#5] Comme lecture connexe, mais qui existe vraiment, je peux mentionner le livre La Terre plate : Généalogie d'une idée fausse de Sylvie Nony et Violaine Giacomotto-Charra, que j'ai lu il n'y a pas longtemps, et qui raconte l'histoire du mythe non pas que la Terre est plate (pour ça je recommande les documentaires Behind the Curve et In Search of a Flat Earth) mais celui que que au Moyen-Âge, les gens croyaient que la terre était plate (ce qui est tout aussi faux, pour autant qu'on interprète les gens comme l'essentiel des lettrés et pas une poignée d'illuminés). Ce livre mentionne au passage des questions sur la forme de l'œcoumène (et le fait que la forme de l'œcoumène n'est pas forcément la même chose que la forme de la Terre, d'où la confusion !) et la possibilité de l'existence d'autres régions habitées de la Terre. Mais je digresse.

Mais mon but ici n'est pas seulement de parler des cinq continents ou de l'histoire de cette idée, parce que je n'ai pas de lumière particulière à apporter là-dessus. Je pense que tous les lecteurs de mon blog (qui ont notamment lu ce billet que je référence maintenant quasiment à chaque nouvelle entrée) ont le recul nécessaire pour bien comprendre (ce que la vidéo de Map Men explique très bien) que :

Les frontières entre les continents sont largement arbitraires et conventionnelles. Il peut y avoir des raisons géographiques (géophysiques, démographiques, géopolitiques, culturelles, que sais-je) ou historiques pour penser qu'il est préférable de séparer ou réunir tel ou tel bouts de terre, de placer la limite à tel ou tel endroit, mais in fine il n'y a pas plus d'autorité qu'une sorte de tradition arbitraire et même pas bien définie pour décider que la bonne liste des continents est ceci plutôt que cela.

Maintenant voici une question qui me semble plus intéressante : quand et comment doit-on enseigner ça à l'école ? (par ça je veux dire, le paragraphe que je viens de mettre en exergue).

Et je ne parle évidemment pas que du cas des cinq continents qui n'est là que pour servir d'illustration à une idée plus générale.

On apprend plein de choses à l'école. Certaines sont des vérités objectives[#6] sur le monde (qui peuvent elles-mêmes être établies avec plus ou moins de certitude). D'autres sont des conventions. Parmi ces conventions, certaines sont simplement là pour des raisons historiques, culturelles ou traditionnelles. D'autres sont plus ou moins justifiées, par exemple pour la commodité, pour le besoin d'avoir une typologie utile dans tel ou tel but (auquel cas elles sont discutables dans leur adéquation à ce but ; mais il peut y avoir toutes sortes de compromis qui président au choix de la convention ; et bien sûr le fait de se mettre d'accord sur un terme commun, même s'il est imparfait, peut avoir une valeur supérieure à trouver la typologie idéale dans chaque situation).

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

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

(jeudi)

Sur la notion d'« étendue » en optique et en géométrie

Je voudrais essayer de parler ici d'un concept de géométrie (euclidienne), notamment important pour son application en optique, que je trouve à la fois joli pourtant trop peu connu[#] : celui d'« étendue ». En gros, l'étendue est une façon de mesurer la taille d'un ensemble de droites (disons, dans l'espace) de la même manière que le volume est une façon de mesurer la taille d'un ensemble de points. Mais pour commencer, et pour expliquer une façon dont cette notion apparaît, je veux parler des unités et grandeurs lumineuses que sont le lumen, le lux, la candela et la candela par mètre carré, et le lien entre ces unités, et ce qu'elles nous disent. Parce que même le grand public commence à avoir entendu parler des lumens (c'est écrit sur toutes les boîtes d'ampoules, de nos jours), et peut-être de lux (pour le niveau d'éclairement d'une pièce), mais ne sait pas forcément la différence entre les deux (divulgâchis : un lux, c'est un lumen par mètre carré).

[#] À titre d'exemple, je n'en vois pas de trace dans les programmes de classes préparatoires scientifiques françaises, ce que je trouve un peu surprenant. Et ce n'est pas une évolution récente parce que je ne crois pas qu'on m'en ait parlé quand j'étais moi-même en prépa.

La difficulté de l'exercice, c'est que comme je veux parler de divers concepts (l'étendue en géométrie euclidienne, l'étendue en optique géométrique, les unités de mesure photométriques, et quelques conséquences de tout ça) et ce à différents niveaux de vulgarisation, je mais certainement faire de la bouillie. En plus de ça, je suis infoutu de faire le moindre dessin, ce qui n'aide pas pour expliquer un concept éminemment géométrique.

Mais voilà, essayons quand même (bear with me), parce cette histoire de conservation de l'étendue est quelque chose qui me semble important pour comprendre les bases de l'optique, et c'est aussi un concept mathématique pas compliqué mais néanmoins digne d'être noté. Et j'en ai marre de toujours oublier ces choses, alors ce billet de blog est surtout un aide-mémoire pour moi-même.

*

☞ La « luminosité » décroît-elle avec la distance ? (Oui et non.)

Pour commencer, une observation toute simple qui me fascine depuis que je suis petit, qui n'est pas difficile à comprendre, et qui renferme l'essence de cette notion de conservation de l'étendue.

Considérez le Soleil, vu depuis la Terre, en plein jour (et par beau temps). Ne le regardez surtout pas directement, c'est très dangereux pour vos yeux (Newton a failli se rendre aveugle comme ça). Oui mais pourquoi est-ce si dangereux, au juste ? Parce que le Soleil est très brillant, bien sûr. Certes, mais il est aussi très loin : est-ce que la luminosité ne s'atténue pas avec la distance ? Après tout, l'étoile Sirius (enfin, Sirius A), qui est 23 fois plus lumineux que le Soleil mais 540 000 fois plus loin de nous, ne nous aveugle pas quand nous la regardons directement. Alors, oui et non : ça dépend surtout de ce qu'on appelle luminosité.

D'abord, il y a une absorption de la lumière par l'atmosphère terrestre, qui atténue surtout le bleu et l'ultra-violet. C'est important pour rendre le Soleil moins dangereux pour nous, mais ce n'est pas de ça que je veux parler, donc faisons comme si elle n'existait pas. Ensuite, il y a effectivement une décroissance de la luminosité avec la distance (quadratique : si on est 2 fois plus loin d'une étoile, elle apparaît 4 fois moins lumineuse), mais cette décroissance correspond précisément à une décroissance de la taille apparente (ou « angle solide ») de l'étoile : si on va 2 fois plus loin du Soleil, il apparaîtra 2 fois plus petit dans chaque direction, donc 4 fois plus petit en surface apparente (« angle solide »), et sa luminosité sera 4 fois plus faible juste pour cette raison, c'est-à-dire que la luminosité par unité d'angle solide (ou luminance) sera la même.

Quand l'objet qu'on regarde est suffisamment petit pour qu'il n'en reste qu'un seul point (on dit qu'il n'est pas « résolu optiquement »), on ne voit plus l'angle solide, et tout ce qui compte est la luminosité totale qu'on en reçoit[#2] (dont je vais dire qu'elle s'appelle correctement éclairement et se mesure en lux) ; mais si l'objet est de taille visible, ce qui est le cas du Soleil, alors ce qui compte est cette luminosité par angle solide (appelée luminance, et mesurée en lux par stéradian, ou ce qui revient au même, en candelas par mètre carré), et elle ne change pas avec la distance.

[#2] Je ne sais pas si je l'ai déjà raconté ici, mais depuis que je suis petit, quand je suis passager dans une voiture la nuit, j'aime parfois jouer à retirer mes lunettes. Comme je suis très très myope, chaque feu de véhicule devient alors une grosse tache (en gros l'image de mon cristallin qui, vu que c'est la nuit, est bien ouvert) : c'est très joli et assez poétique, ça fait une sorte de ballet hypnotisant de taches de couleurs rouges, orange et blanches. Ce qui est perturbant, c'est que la taille de ces taches ne change pas quand le véhicule s'éloigne, puisqu'elle est avant tout due à l'imperfection optique de mon œil : l'éloignement se manifeste non pas par une diminution de la taille mais par une diminution de la luminosité de la tache. C'est ce que j'appelle une situation non résolue optiquement. C'est pareil pour n'importe qui quand on regarde une étoile, mais dans mon cas les taches sont vraiment très grosses (d'ailleurs, du coup, sans mes lunettes, je ne peux absolument pas voir la moindre étoile).

En bref, si vous étiez deux fois plus loin du Soleil, ce serait tout aussi dangereux pour vos yeux de le regarder directement et fixement : la surface de la rétine qui se ferait endommager serait plus petite, mais la surface qui serait endommagée le serait tout autant. (Bon, il y a plein de petits caractères à ajouter là : par exemple pour rappeler que je parle de regarder fixement pendant une certaine durée, parce que les yeux bougent toujours un peu tout le temps, ce qui aide justement à nous protéger contre le soleil.)

Inversement, en principe, même si vous étiez à cent mètres de la surface du Soleil, cette surface vous apparaîtrait aussi brillante (absorption atmosphérique mise à part) que ce que vous en voyez depuis la Terre — c'est juste que ça occuperait la moitié de votre champ visuel au lieu d'être un tout petit truc (de 68 microstéradians) dans le ciel. (Bon, bien sûr, à 100m du Soleil vous auriez plein de problèmes, et je déconseille très fortement d'y aller.)

Et ça, quand j'étais petit, ça me fascinait profondément, de me dire que nous voyons le Soleil vraiment lumineux comme il est, juste plus petit.

*

☞ Flux lumineux, éclairement, intensité lumineuse, et luminance

Bon, mais dans tout ça j'ai utilisé le terme de luminosité de façon très vague. Essayons d'être plus clair, en distinguant quatre notions, et en expliquant comment elles se relient et quelles sont les unités qui les mesurent (si vous trouvez ça trop verbeux, j'ai mis un résumé à la fin) :

  • La première, c'est la notion de flux lumineux, qui est mesuré en lumens (symbole : lm) dans le Système International. C'est analogue à la puissance lumineuse, c'est-à-dire la quantité d'énergie par unité de temps : donc c'est analogue à des watts (symbole : W).

    Je dis analogue, parce qu'un lumen n'est pas un watt : le lumen reflète le fait que notre œil est plus ou moins sensible à différentes parties du spectre électromagnétique, donc qu'on ne voit pas 1W dans le vert autant que 1W dans le rouge ou le bleu, et si c'est 1W dans l'ultraviolet ou l'infrarouge on ne le voit pas du tout : donc le lumen tient compte de cette différence de sensibilité en pondérant la puissance des différentes longueurs d'onde en fonction de la sensibilité de l'œil humain (mais à cette pondération près, c'est comme des watts).

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

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

(lundi)

Méditation la complexité des conjugaisons françaises et inflexions linguistiques en général

Avertissement préliminaire : je vais faire référence dans ce billet à plein de langues (français, latin, grec, mais aussi allemand, russe, sanskrit, arabe). Ces langues ne servent qu'à illustrer mon propos général sur la complexité des inflexions, et il va de soi que je ne suppose pas qu'on les connaît (moi-même, je n'y connais pas grand-chose), et je ne vais généralement même pas m'embêter à donner le sens des mots que j'utilise comme exemples parce que ça n'a aucune pertinence pour ce que je raconte. De même, il faut considérer les noms des traits grammaticaux comme des mots dénués de sens : peu importe ce qu'est que l'aoriste à part que c'est un temps de la conjugaison des verbes grecs. (Prenez ça comme un mot à la fois technique et poétique : cf. d'ailleurs ce vieux fragment littéraire que je ne peux pas ne pas référencer ici.) J'ai aussi fait quantité de digressions marquées par des notes en petits caractères : on peut les sauter, ou au contraire ne lire que ça, de toute façon tout ceci est un rant un peu décousu, ce n'est pas comme s'il y avait un plan ou des dépendances entre les parties.

Comme le terme linguistique de paradigme inflexionnel n'est pas forcément clair pour tout le monde (je ne suis même pas sûr que ce soit le bon), ce dont je parle est l'ensemble des formes que peut prendre un même mot (ou plus exactement un même lexème) à travers l'application de différents traits grammaticaux. Comme cette définition n'est elle-même pas forcément claire pour tout le monde, un exemple familier pour tous les francophones est celui des tableaux de conjugaison, par lesquels un même verbe (lexème verbal), représenté par sa forme de dictionnaire qui, s'agissant du français, est l'infinitif, prend des formes (inflexions) diverses selon des traits grammaticaux appelés mode, temps et personne (ou nombre+personne). Les conjugaisons latines et grecques sont aussi des paradigmes inflexionnels, avec à peu près les mêmes traits que pour le français (la liste des modes et temps change, et le grec classique a un nombre duel, mais l'idée est la même ; une autre différence est que pour ces langues la forme du dictionnaire, c'est-à-dire la manière dont on va ranger le verbe dans un dictionnaire, est la première personne du singulier de l'indicatif présent au lieu d'être l'infinitif, mais c'est un détail). Un autre exemple est celui des tableaux de déclinaisons latines ou grecques[#], qui pour un même nom (lexème nominal, dont la forme de dictionnaire est le nominatif singulier) donnent des formes variées en fonction de deux traits appelés nombre et cas, ou, s'agissant des adjectifs, trois traits appelés genre, nombre et cas.

[#] Ou bien sûr de plein d'autres langues. Mais attention, une langue peut avoir des cas sans pour autant avoir vraiment de déclinaisons. En allemand, par exemple, les déclinaisons portées par les noms sont quasiment vestigiales (à part la marque du pluriel, pour la plupart des mots il ne subsiste qu'un -n au datif pluriel et, s'agissant des féminins et neutres, un -s au génitif singulier ; ou pour les noms dits faibles, la déclinaison est essentiellement juste marquée par un -n partout). La marque des cas en allemand est essentiellement sur les articles ou adjectifs (avec des règles un peu tordues sur ces derniers), et comme je ne crois pas qu'il existe d'adjectif irrégulier, ce n'est pas vraiment le genre d'inflexion dont je parle dans ce billet.

Conjugaison des verbes et déclinaison des noms et adjectifs sont les paradigmes inflexionnels les plus familiers aux personnes qui auront appris des langues comme le français, le latin, le grec classique, le sanskrit ou l'arabe. Mais il peut évidemment y avoir plein d'autres choses : on peut tout à fait imaginer une langue où les adverbes varient (par exemple qu'ils s'« accordent » avec le verbe comme les adjectifs s'accordent avec les noms dans les langues que je viens de lister) ; en japonais, on peut dire que les adjectifs (enfin, certaines sortes de mots qu'on pourrait qualifier d'adjectifs) varient avec le temps ; et la division des mots en verbes, noms, adjectifs, etc., est valable pour les langues indo-européennes et sémitiques mais pas forcément transportable partout. Bref, j'utilise le terme paradigme inflexionnel pour être plus large que tableaux de conjugaison et de déclinaison, mais comme je n'ai pas de bon exemple à proposer au-delà de la conjugaison et de la déclinaison, imaginez les conjugaisons et les déclinaisons si vous êtes familiers avec ça (ou d'ailleurs, juste les conjugaisons parce que je vais surtout parler de ça).

Toutes les langues n'ont pas de mécanisme inflexionnel. Si le grec classique, le russe et l'arabe en ont de fort complexes, le chinois n'en a aucun[#2] (tous les mots chinois sont invariables), et ceux de l'anglais sont considérablement plus simples que ceux du français. Les langues scandinaves font varier le verbe avec le temps/mode mais pas avec la personne, ce qui fait déjà moins de traits que le français ou l'allemand.

[#2] Bon, quand on parle de linguistique, il faut toujours ajouter des on peut considérer que ou des en première approximation partout. Je suis sûr que si je ne mettais pas cette note il y aurait un gros malin pour me dire que well, actually, on peut considérer que <…> est un mécanisme inflexionnel en chinois : donc je mets cette note pour cette fois-ci, mais n'hésitez pas à l'insérer dans la suite à chaque fois que quelqu'un risque de dire well, actually.

Bien sûr, ce n'est pas toujours parfaitement clair ce qui constitue exactement les inflexions d'un même lexème (pourquoi dirait-on que le passage du singulier possible au pluriel possibles est une inflexion alors que le passage de possible à impossible est une dérivation lexicale ? c'est un chouïa arbitraire[#3][#4]), mais comme d'hab' je vais rappeler que ce n'est pas parce que ce n'est pas totalement clair que ça n'a pas de sens.

[#3] Un exemple d'arbitraire est celui des aspects du verbe russe : un verbe russe (comme dans l'essentiel des autres langues slaves, mais le russe est le seul que je connais un petit peu) vient par paires avec une forme, ou aspect, appelée perfectif et une autre appelée imperfectif. Certains temps peuvent être utilisés sur l'un ou l'autre aspect, avec une différence de sens (le perfectif envisage l'action accomplie, ou son résultat, tandis que l'imperfectif envisage l'action en train d'être accomplie, c'est-à-dire son déroulement) ; certains temps sont formellement le même aux deux aspects mais donnent des temps différents (la forme qui donne le présent de l'aspect imperfectif devient un futur pour l'aspect perfectif) ; certains temps n'existent que pour un des deux aspects. Doit-on considérer que le perfectif et l'imperfectif sont deux formes d'un même verbe, comme le singulier et le futur d'un nom ? Ou doit-on au contraire considérer que ce sont deux verbes différents, qui se complètent ? Je suppose que des grammairiens du russe ont passé des pages et des pages à expliquer que l'un ou l'autre de ces points de vue est meilleur que l'autre, et je ne suis pas compétent pour trancher, comme pour le sexe des anges. Pour que je veux raconter ici, il vaut sans doute mieux considérer pragmatiquement que le perfectif et l'imperfectif sont deux verbes distincts, parce qu'essayer de deviner le perfectif à partir de l'imperfectif ou vice versa semble essentiellement impossible (d'ailleurs, pour les verbes « simples » c'est plutôt le perfectif qui dérive de l'imperfectif alors que pour les verbes à préfixe c'est plutôt le contraire). Mais en tout cas, ça montre une difficulté à définir exactement ce qu'on appelle un paradigme inflexionnel.

[#4] Un autre exemple d'incertitude sur ce que c'est qu'un « lexème » et un « paradigme » est celui des formes dérivées des verbes arabes. Un verbe arabe est normalement une racine à trois consonnes, et cette racine, connue sous le nom de forme I, peut directement donner un tableau de conjugaison, qui est d'une taille relativement raisonnable (il y a moins de temps et modes qu'en français ou en latin, pour ne rien dire du grec, mais en contrepartie il y a plus de personnes parce que la distinction masculin/féminin est faite en plus de celle de nombre à la 2e et 3e personnes). La complication, c'est que chaque racine peut donner une douzaine ou une quinzaine de formes dérivées (formes II à XV, parfois on en ajoute encore d'autres, même si en vrai les formes I–X et peut-être XII sont les seules vaguement courantes) : le sens de ces formes dérivés est variable et elles n'existent pas toutes, mais leur fabrication à partir de la racine est assez systématique, et ensuite chacune d'entre elles est un verbe qui a son propre tableau de conjugaison. Faut-il considérer qu'un paradigme flexionnel de verbe arabe est l'ensemble de toutes les conjugaisons de toutes les formes dérivées (auquel cas ils sont très volumineux) ? Ou seulement d'une seule d'entre elles (auquel cas ils sont plus raisonnables, mais il y a une multiplication des types de conjugaisons) ? C'est un peu le problème dual du russe évoqué à la note précédente : le perfectif/imperfectif des verbes russes ont un sens fixe mais une formation qui dépend de chaque verbe, alors que les formes dérivées des verbes arabes ont une formation claire mais un sens qui varie.

Quand je parle de complexité, ce qui compte n'est pas tellement le nombre de traits grammaticaux qu'on peut ajouter. Une langue qui aurait des déclinaisons avec 50 cas bien réguliers serait toujours plus simple à apprendre qu'une langue qui a seulement 3 cas mais avec des centaines de paradigmes différents pour les former, des exceptions de partout, etc. C'est essentiellement de cette complexité que je veux parler ici. (Je proposerai à la fin une piste pour essayer de la définir de façon un peu objective et pas juste par l'impression subjective de la difficulté à apprendre la langue ou à mémoriser ces tableaux, mais je commence par des remarques un peu éparses.)

Je ne m'intéresse pas du tout au sens des traits grammaticaux. Comme je l'ai écrit dans l'avertissement liminaire, pour ce que je raconte ici, peu importe ce que c'est qu'un cas, ou ce que signifient le nominatif, l'accusatif, le génitif ou le trucbidulatif, peu importent que les temps du verbe s'appellent présent, passé et futur ou des choses plus bizarres comme aoriste ou prétérit, peu importe que parfait et inchoatif soient des temps ou des aspects, tout ça est hors de propos ici : ce sont juste des étiquettes arbitraires que la grammaire utilise pour décrire des façons de modifier un lexème. Je parle juste de la complexité de répondre à des questions du genre[#5] :

  • En français, quelle est la 3e personne du singulier de l'indicatif présent des verbes coudre et résoudre ? (Réponses : il coud et il résout.)
  • En latin, quel est l'ablatif singulier du nom animal ? (Réponse : animali.)
  • En grec classique, quelle est la 1re personne du pluriel de l'optatif futur moyen du verbe βάλλω ? (Réponse : βαλοίμεθα.)
  • En russe, quel est l'instrumental du nombre со́рок [sórok] ? (Réponse : сорока́ [soroká].)
  • En irlandais, quel est le génitif singulier du nom féminin an talamh ? (Réponse : na talún.)
  • En sanskrit classique, quelle est la 2e personne du singulier de l'impératif (présent) actif du verbe द्विष् [dviṣ] ? (Réponse : द्विड्ढि [dviḍḍhi].)
  • En arabe classique, quelle est la 3e personne du singulier masculin de l'inaccompli actif du verbe وَفَى [wafá] ? (Réponse : يَفِي [yafī].)

[#5] À part l'arabe, toutes mes langues sont indo-européennes : c'est essentiellement juste un biais de ma part, même s'il semble quand meme plausible que les langues indo-européennes aient tendance à avoir une complexité inflexionnelle plutôt plus importante que la moyenne (si tant est que « la moyenne » ait un sens). Encore une fois, ça ne veut pas forcément dire qu'elles aient beaucoup de formes, plutôt beaucoup d'irrégularités : les inflexions du turc, de ce que je comprends, sont globalement très régulières, donc plutôt plus simples que celles des langues indo-européennes typiques. Bien sûr, quand je dis plutôt plus complexes que la moyenne, ça ne veut pas dire que ce soit le maximum, loin de là : les gens ayant tenté d'apprendre le géorgien doivent certainement rigoler que je décrive les conjugaisons du grec ancien comme compliquées.

Pas sûr que mes réponses ci-dessus soient correctes, mais ça fait justement partie de ce dont je veux parler : quelles sources consulter pour trouver les bonnes réponses ?

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

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

(dimanche)

Réflexions à 2 femtozorkmids sur l'informatique en tant que science

Les quelques derniers billets de ce blog qui avaient un contenu scientifique (notamment celui-ci et celui-ci) tournaient autour de l'informatique théorique. (Et je compte en écrire encore plusieurs.) Je ne sais pas si le lecteur non spécialiste aura vu la différence avec des maths. Je ne sais pas si je vois une différence avec des maths. Après tout, j'ai rangé ces billets dans la catégorique « maths » (pas que le mécanisme de catégories sur ce blog serve à quoi que ce soit, et c'est peut-être surtout que j'avais la flemme de créer une nouvelle catégorie, mais quand même, c'est une info) ; alors que par le passé, j'ai écrit des entrées sur la physique théorique (comme celle-ci ou celle-là) et je les ai rangées dans une catégorie différente. Peut-être même qu'avec assez de mauvaise foi on pourrait prétendre que la correspondance de Curry-Howard affirme qu'il n'y a pas de différence entre maths et info (mais soyons clairs, ça demande une bonne dose de mauvaise foi, justement).

Ce n'est pas la première fois que je médite sur cette question à laquelle je n'ai pas vraiment de réponse : qu'est-ce que c'est que l'informatique ? — et secondairement, quelle position a-t-elle par rapport aux maths ? et cette position est-elle analogue à celle de la physique ?

(Je précise que ce billet, qui est une méditation décousue et sans véritable point d'arrivée, se veut non-technique, i.e., lisible par tout le monde, mais que fatalement je vais être amené à faire des remarques techniques çà et là : si on ne sait pas de quoi je parle, on peut juste ignorer ces passages, ils ne sont là que pour appuyer ou illustrer mes propos, ils n'en sont pas le cœur. Si vous n'avez vraiment pas le temps de lire, regardez au moins le dernier paragraphe pour un résumé de ce que j'essaie de dire.)

☞ Science informatique et génie informatique

Mettons-nous d'accord sur le fait que je parle de l'informatique en tant que science : computer science en anglais, par opposition à computer engineering, ce dernier étant le génie informatique (lui-même au sens d'ingénierie, pas au sens du fait d'être génial…), comme on peut parler de la physique comme science par opposition au génie mécanique / électrique / électronique / etc. Mais la frontière entre la science et le génie n'est pas super claire non plus, et peut-être que ça fait aussi partie de la question : en première approximation, une science est une discipline qui cherche à élargir nos connaissances tandis que le génie cherche à appliquer des connaissances pour résoudre des problèmes, mais évidemment ce n'est pas toujours net, et il y a des sciences appliquées (que je range quand même parmi les sciences) qui montrent que la limite est assez floue.

Néanmoins, j'aime bien souligner que ce n'est pas parce qu'une limite est floue qu'elle n'existe pas : entre l'étude des modèles du λ-calcul et l'optimisation d'un jeu vidéo il y a bien une différence d'approche, ce qui se mesure ne serait-ce qu'empiriquement au modèle économique qui paye les gens qui font l'une et l'autre activité, et il me semble que cette différence est assez analogue à celle entre, pour ce qui est de la physique, l'étude de la théorie des solutions exactes de l'équation d'Einstein et l'optimisation d'un moteur de moto. (Et je devance l'accusation qu'il y aurait là un jugement de valeur de ma part : d'une part je mets ma vie entre les mains des gens de chez Yamaha qui conçoivent des moteurs de moto, d'autre part j'avoue platement que programmer un jeu vidéo ou concevoir un moteur de moto est quelque chose qui me semble complètement hors de mes capacités à la différence de l'étude des solutions exactes des équations d'Einstein ou des modèles du λ-calcul, que j'ai au moins pratiquées de loin.)

Alors maintenant, si la physique est l'étude du monde matériel, ou quelque chose qui y ressemble, l'informatique, c'est quoi ?

☞ L'informatique n'est pas la science des ordinateurs

La réponse la plus évidente serait que c'est la science des ordinateurs. À ça il faut répondre par une citation souvent attribuée à Dijkstra, mais comme toutes les meilleures citations sont apocryphes, elle n'est probablement pas de lui :

Computer science is no more about computers than astronomy is about telescopes.

Les ordinateurs ne sont que le moyen d'étude de l'informatique, en même temps que son application : ils ne sont pas son objet.

Le grand public a peut-être dans l'idée qu'un chercheur en informatique cherche à rendre les ordinateurs plus rapides. (Bon, à vrai dire, le grand public a peut-être dans l'idée qu'un chercheur en informatique est un pro en Excel ou sait réparer une imprimante qui dysfonctionne, et ce sont des idées à ranger avec celle du mathématicien comme quelqu'un qui passe ses journées à faire des calculs immensément compliqués : juste naïves, mais révélatrices d'un triste manque d'information sur le fonctionnement de la science.) Ce n'est pas complètement faux, bien sûr, il y a des informaticiens qui cherchent effectivement à rendre les ordinateurs plus rapides. D'autres qui cherchent à les rendre plus sûrs. Mais ce sont un peu les arbres qui cachent la forêt.

Bon, mais alors c'est quoi, l'objet de l'informatique, si ce n'est pas les ordinateurs ?

À vrai dire je ne sais pas bien quoi répondre. Ma première approximation de la réponse (peut-être désespérément vague) serait : l'informatique est la science de l'information, des données, de la communication, de l'automatisation et du calcul.

☞ La physique et l'informatique vis-à-vis des maths

L'ennui, si on dit ça, c'est que ça ressemble beaucoup à des maths. Bon, à ce stade, il faut peut-être aussi que je tente de définir les maths, et je suis tout autant embarrassé : c'est essentiellement aussi naïf de s'imaginer que les maths sont la science des nombres que que l'informatique est celle des ordinateurs, mais là aussi, on est en droit de se demander de quoi elles sont l'étude, alors. Je dirais bien l'étude des structures abstraites, mais on m'objectera que ça ressemble trop à la philosophie, ça. En tout cas, l'information, les données, la communication, l'automatisation et le calcul, ça ressemble beaucoup à des notions abstraites que les maths pourraient étudier. Et de fait, il y a une intersection énorme entre les maths et l'informatique théorique ; mais intersection ne signifie pas inclusion c'est un peu le cœur de mon propos.

Peut-être parce qu'elle est née plus récemment que la physique, l'informatique semble avoir une crise identitaire vis-à-vis des mathématiques un peu plus compliquée que celle de la physique. Crise identitaire qui peut signifier qu'elle tarde à prendre son indépendance, ou au contraire prendre la forme d'une volonté excessive de « tuer le père ».

Je pense qu'informatique et physique occupent une place relativement analogue (voire, symétrique) par rapport aux mathématiques. Les deux sont à la fois une inspiration pour les mathématiques et un domaine d'application de celles-ci, et, dans leur partie la plus théorique, elles intersectent largement les maths. (Elles ont aussi, dans leur incarnation moderne, émergé des mathématiques : Turing était mathématicien au moins autant qu'informaticien, comme Newton était mathématicien au moins autant que physicien.) Les maths qui intéressent l'informatique (par exemple la logique et l'algèbre discrète) et les maths qui intéressent la physique (par exemple la géométrie différentielle et la théorie des groupes continus) sont généralement distinctes, mais il y a de grands domaines qui intéressent les deux (comme l'analyse de Fourier ou les probabilités).

☞ Une digression sur mon papa physicien

Je devrais peut-être faire une digression à ce sujet pour parler de mon papa, qui était physicien théoricien, et faisait de la physique qui pourrait franchement être considérée comme des maths (genre, ça), mais qui avait une relation difficile avec les maths et les mathématiciens (il aimait bien citer Feynman qui comparait la rigueur mathématique à la rigor mortis ; il faudrait que je vérifie si elle n'est pas apocryphe aussi celle-là, mais en tout cas ça montre que si son sujet d'étude était très mathématique, son approche n'était pas vraiment celle d'un mathématicien).

Mon papa était en outre persuadé que la physique était la source d'inspiration des maths, et que toutes les idées mathématiques naissaient soient de la recherche d'applications à la physique soit de généralisations assez évidentes de ça. J'aurais dû lui rétorquer plein de choses quand il me disait ça (par exemple, parmi les choses qu'il aurait dû bien savoir en tant que relativiste, que la géométrie riemannienne était là bien avant qu'Einstein n'en ait besoin pour décrire un espace-temps courbe), mais je pense qu'il reflétait là surtout son propre biais d'intérêt dans les domaines qu'il connaissait des mathématiques (à chaque fois que je lui ai parlé de corps de caractéristique p>0, par exemple, il haussait les yeux au ciel comme si c'était vraiment une lubie saugrenue d'étudier des choses aussi déconnectées du monde réel dans lesquelles en ajoutant p fois le nombre 1 on retombe sur 0). C'est intéressant, donc, parce que mon père ne semblait pas du tout avoir considéré cette possibilité que l'informatique soit, de façon analogue à la physique, elle aussi une source féconde d'inspiration en même temps que de débouchés pour les maths. Mais c'est aussi intéressant parce que sa relation compliquée avec les maths, qui dans son cas était plutôt idiosyncratique, est quelque chose que je crois retrouver de façon collective dans des tentatives de trouver un démarquage entre les maths et l'info pour des disciplines qui sont à cheval entre les deux.

☞ L'enseignement de l'informatique comme science

Il me faut sans doute d'abord dire un mot de l'enseignement. Ne sachant pas comment ça se passe ailleurs, je vais évoquer le cas de la France.

Malgré N timides tentatives par le passé, n'ayant jamais vraiment abouti, ce n'est que tout récemment (~2018, peut-être ?) que l'enseignement secondaire français s'est doté, sous le nom de numérique et sciences informatiques (NSI), d'un véritable enseignement (optionnel…) de l'informatique. (Cela me semble impossiblement tardif, mais je crois qu'il vaut mieux que je ne regarde pas à quel moment historique on a commencé à enseigner la physique dans les lycées français, parce que j'ai peur de faire une attaque.) N'ayant pas de contact direct avec le monde de l'enseignement secondaire, je ne peux juger que par les programmes, qui sont un peu bizarres (p.ex., l'enseignement du SQL me semble vraiment bizarrement précis à côté de généralités très vagues sur d'autres plans) mais néanmoins intéressants par certains côtés. Donc je ne vais pas en dire plus.

☞ La génération Z et l'informatique

Même si ce n'est que tangentiel à mon propos, comme c'est quelque chose qui revient régulièrement si on évoque la nécessité de l'enseignement de l'informatique au lycée, il faut que je dénonce un lieu commun, qui dit quelque chose comme ceci :

❝Les jeunes, de nos jours, ils n'ont pas besoin qu'on leur enseigne l'informatique, parce qu'ils ont grandi avec les ordinateurs. D'ailleurs, ils en savent certainement plus que leurs profs de lycée.❞

Il y a tellement de choses fausses là-dedans que je ne sais pas bien par où commencer. Par le fait que l'informatique n'est pas la science des ordinateurs ? Je l'ai déjà signalé. Mais je pourrais aussi remarquer le ridicule de l'idée analogue que parce qu'on a tous grandi avec les voitures thermiques on saurait expliquer comment fonctionne un moteur à explosion[#].

[#] Je serais d'ailleurs sincèrement curieux de savoir quelle proportion de la population prise au hasard dans la rue serait capable d'expliquer approximativement le principe d'un moteur à explosion (disons par exemple, de nommer les quatre phases du cycle d'un moteur à quatre temps). Mais j'ai déjà souligné l'incongruité du fait que ce genre de connaissances ne soient pas considérées comme faisant partie de la culture générale.

Un autre problème avec ce cliché est que, en fait, la génération qui a grandi avec les ordinateurs, c'est plutôt la mienne et la suivante ; la génération de ceux nés au XXIe siècle, ils ont grandi avec des smartphones (et autres interfaces graphiques complètes), et c'est bien différent. Or les interfaces graphiques comme celles des smartphones, comme leur but était de mettre l'outil entre les mains de tout le monde en évitant que Monsieur Toutlemonde ait à connaître quoi que ce soit du fonctionnement interne de la machine, elles ont tout fait pour cacher (dans des skeuomorphes plus ou moins heureux) la moindre chose qui ressemble à de la programmation. En même temps que le monde informatique derrière est devenu de plus en plus compliqué par l'empilement de couches séparant l'utilisateur du matériel (et ceci vaut aussi pour les vrais PC, pas seulement pour les smartphones), l'accès de l'utilisateur à ces couches et devenu de plus en plus compliqué.

Donc je ne pense pas du tout qu'un jeune né en 2000–2010 soit automatiquement doué pour la programmation, encore moins pour comprendre la notion abstraite de machine de Turing, pas plus que quelqu'un qui a grandi avec les voitures modernes — par opposition à la Ford modèle T — est automatiquement doué pour la mécanique auto, encore moins pour expliquer la thermodynamique du cycle d'Otto.

(Loin de moi l'idée de faire mon vieux con en mode c'était mieux âââvant, hein ! Je n'ai rien contre les interfaces graphiques pas plus que je n'en ai contre les voitures modernes. Si on n'est pas obligé de taper mkdir pour créer un répertoire, c'est très bien. Le problème c'est plutôt quand on ne peut même pas taper mkdir pour créer un répertoire. Je ne suis pas non plus en train de reprocher à la génération Z de ne rien savoir faire en-dehors de se servir de leur smartphone — autre cliché à la con que je déteste : je dis juste qu'il ne faut pas automatiquement supposer que grandir avec un smartphone rend ipso facto compétent pour se servir d'un ordinateur, encore moins pour comprendre le fonctionnement d'un ordinateur ou la théorie derrière.)

☞ L'informatique en prépa et à l'agreg

S'agissant de la formation des futurs ingénieurs (i.e., post-baccalauréat), les classes préparatoires scientifiques françaises ont tout récemment (à la rentrée 2022) vu la création d'une filière MPI (pour maths, physique, informatique), qui ouvre un véritablement enseignement de l'informatique en tant que science en classes prépa, à côté des filières MP (maths-physique) et PC (physique-chimie). Un de mes collègues a d'ailleurs participé à l'écriture des programmes de cette filière (du coup, la partie sur les automates finis est fortement inspirée d'un cours que je donnais sur ce sujet à Télécom[#2] et dans lequel ce collègue intervenait). Je suis certainement favorable à cette évolution, et au fait que l'informatique soit traitée comme une vraie manière autonome et pas une sorte d'excroissance des maths ni une distraction proposée en marge des cours et visant uniquement les applications dans d'autres domaines. Pour autant, je pense qu'il faut aussi se méfier de la fausse impression que cela pourrait causer dans l'esprit des préparationnaires qui risquent de croire faussement que parce que c'est de l'informatique ce n'est pas des maths (cf. ce que je dis plus bas sur la grande intersection entre ces domaines) : ils risquent du coup de se construire une image mentale trop exiguë des mathématiques (limitée en gros à l'algèbre linéaire et à l'analyse classique, ce qu'on leur enseigner en cours de maths), alors qu'en fait de grands pans de ce programme informatique auraient très bien pu être enseignés dans un cours de maths.

[#2] Cours dont voici les notes et ici une vidéo des séances de 2020–2021. À ce sujet, en avril 2021 on m'a demandé d'assurer un cours sur le sujet destiné aux profs de prépa (et qui va donc un peu au-delà du programme). Mes slides sont ici, et les vidéos de l'exposé lui-même sont ici pour les 2h du matin et ici pour les 2h de l'après-midi.

Cette création d'une filière MPI en prépa scientifique fait suite de peu à la création d'une agrégation d'informatique (premier concours à l'été 2022). Auparavant, il y avait eu une option informatique à l'agreg de maths (option proposée à l'écrit entre ~1990 et ~1997 je crois, puis à l'oral entre ~2006 et 2022 ; entre les deux il n'y avait rien). Il y a certainement lieu de s'interroger sur la question de savoir s'il était idéal d'avoir une agreg complètement différente plutôt qu'une option, ou une solution intermédiaire (une question analogue se pose certainement aussi sur le rapport entre physique et chimie, ou entre biologie et géologie), ou d'ailleurs s'il était évident que la création d'une agreg d'informatique dût entraîner la suppression de l'option informatique de l'agreg de maths. (Bizarrement, en prépa, il continue à exister une option info en filière MP, qui est distincte de la filière MPI : c'est confusant, pas forcément super cohérent, et un peu compliqué à gérer en aval dans l'enseignement, mais je suis tenté de croire que cette multiplicité des choix a des vertus.)

Sans vouloir suggérer que c'est un mauvais choix scientifique ou pédagogique (au contraire), je pense que ces décisions relèvent largement d'une décision d'affirmer l'indépendance de l'informatique comme discipline scientifique à part entière, et de ne pas laisser l'idée que c'est une sorte d'appendice des mathématiques.

☞ Le problème des limites entre sciences

Au-delà de l'enseignement, parlons un peu de la science pour la science.

Les frontières entre disciplines sont, évidemment, un peu arbitraires. D'abord, je crois fermement à l'unité fondamentale de tous les domaines du savoir humain, c'est-à-dire au moins que je suis sûr qu'on peut passer de proche en proche de la théorie des cordes à la philologie grecque, ou de la biochimie à la musicologie, sans jamais rencontrer de barrière nette. Si cela peut paraître farfelue, je rappelle au passage qu'un concept très important de l'informatique théorique (à l'intersection avec les maths), la notion de grammaire hors contexte a été inventé par un linguiste[#3] (d'ailleurs peut-être plus connu pour son activisme politique), Noam Chomsky.

[#3] Je sais que l'importance de cette notion en linguistique (ou de façon générale toute la linguistique chomskienne, et la notion de grammaire universelle) est assez controversée. Je m'abstiens explicitement de me prononcer sur ces questions sur lesquelles je suis incompétent. Mais quoi qu'on en pense dans le cadre de la linguistique, en informatique théorique c'est une notion fondamentale.

Mais je ne veux pas tomber dans le sophisme des sorites que je ne cesse de dénoncer : ce n'est pas parce que la frontière est floue et/ou largement arbitraire qu'elle n'existe pas, ou qu'on n'a pas le droit de discuter le meilleur endroit où la faire passer.

Les limites administratives entre sciences causent toutes sortes de maux de tête, par exemple pour les candidats à un poste académique dont la spécialité est proche d'une de ces frontières arbitraires : a priori on pourrait imaginer que cela tourne à leur avantage (par exemple, quelqu'un qui fait quelque chose à cheval entre les maths et l'info pourrait candidater aussi bien en maths qu'en info), mais dans la réalité c'est presque toujours un handicap (il y aura toujours quelqu'un pour vous reprocher de faire des choses trop informatiques quand vous candidatez en maths et de faire des choses trop mathématiques quand vous candidatez en info, avec le prétexte que vous auriez dû candidater dans l'autre domaine ; je pense que ceci vaut à chaque fois qu'il y a une interface de ce genre : sur le papier tout le monde dit du bien de la transdisciplinarité, mais dans la réalité ça a tendance à nuire aux candidats de ne pas rentrer dans les bonnes petites cases). Mais ce n'est pas tellement de ça que je veux parler.

Donc, l'informatique fait-elle partie des mathématiques ? Une partie de l'informatique fait-elle partie des mathématiques ? Où est le meilleur endroit pour tracer la limite ?

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

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

(lundi)

J'essaie d'ajouter la possibilité de régler la taille du texte sur ce site

Un des principes complètement stupides et insupportables du Web (j'en parlais notamment dans ce billet il y a quelques mois) est que c'est l'auteur d'une page (ou site) Web qui choisit tous les détails de l'apparence de celle-ci. L'habitude qu'on a de ce principe peut faire oublier son absurdité, mais je ne sais vraiment pas quel sens ça peut avoir que ce soit moi, auteur de ce blog, qui décide la couleur de fond de la page, ou la police de caractère avec laquelle vous lisez ces mots : ces choix stylistiques m'ont surtout valu des critiques pour mes goûts de merde, mais c'est tout le principe qui est idiot — si on va critiquer ces choix, autant que ce soit le lecteur lui-même qui les fasse. Ce n'est pas à moi de décider quelle police vous semble la plus agréable pour lire du texte, ni la couleur qui offre le meilleur contraste, ni la taille qui convient le mieux à vos yeux peut-être myopes ou presbytes ou que sais-je encore : indépendamment du fait que j'ai (paraît-il) mauvais goût, je n'ai tout simplement pas les informations nécessaires pour prendre ces décisions.

Alors certes il y a des éléments d'apparence qu'il est normal que l'auteur du site choisisse. Par exemple si j'écris un texte sur les foobars et que j'avertis pour aider le lecteur à s'y retrouver, je vais indiquer les noms des foobars en les soulignant deux fois, en bleu pour les foobars bleutés et en rouge pour les foobars orangés, il faut que je puisse souligner deux fois et choisir la couleur. On comprend que ça puisse poser des problèmes d'interaction si le lecteur peut faire des choix d'apparence et que l'auteur peut en faire d'autres, et qu'il faut donc gérer des conflits éventuels ou des dépendances (du style : si le lecteur a choisi un thème sombre je vais plutôt utiliser un bleu et un rouge sombres, tandis que si le lecteur a choisi un thème clair je vais prendre des couleurs vives).

Reste que la situation actuelle, malgré de bonnes intentions de divers bouts des standards Web (comme CSS) laisse fort peu de pouvoirs entre les mains de l'utilisateur. (Enfin, en principe il a tous les pouvoirs : il peut ouvrir l'outil « inspecteur » de son navigateur et s'en servir pour modifier comme il veut la page qu'il consulte, ajouter des éléments de style, changer les tailles, les polices, etc., et d'ailleurs même le texte lui-même si ça lui chante. Mais en pratique, l'utilisateur moyen ne sait pas se servir de l'inspecteur de son navigateur, et même l'utilisateur expérimenté trouvera pénible de refaire ça à chaque visite, ou de devoir écrire un script Greasemonkey pour le faire automatiquement.)

La seule chose que les navigateurs Web ont fini par se décider à proposer de façon vraiment accessible, c'est un moyen de changer la taille en zoomant (ça se fait typiquement avec les touches contrôle-plus et contrôle-moins) ; Firefox propose même deux types de zoom : un zoom qui change texte et images, et un zoom qui ne change que le texte (mais comme le second — qui me semble préférable a priori — est peu utilisé donc mal testé, il souffre de divers problèmes et bugs, par exemple ça casse les capture d'écran). Pour une raison que je ne comprends pas du tout[#], cette fonction de zoom n'est pas proposée sous Firefox mobile (on peut certes zoomer par gestures sur l'écran, mais c'est un zoom qui ne réajuste pas la longueur des lignes à la taille de l'écran/fenêtre comme sur fixe ; tout est compliqué parce qu'il y a au moins trois types de zoom différents qu'on peut vouloir : cf. ce commentaire pour une explication plutôt correcte). Quoi qu'il en soit, ces mécanismes de zoom sont complètement spéciaux, c'est-à-dire qu'ils ne passent pas par le contrôle normal des déclarations de style CSS (ou alors ils interagissent bizarrement avec elles).

[#] Il faut dire aussi que je ne comprends pas grand-chose à la manière dont interagissent les différentes tailles dans un navigateur mobile : voir ce billet passé à ce sujet, à propos de l'ajout de la déclaration <meta content="width=device-width, initial-scale=1" name="viewport" /> à mon HTML dont j'avoue que je ne comprends pas vraiment ce qu'elle fait.

Il commence aussi à y avoir des mécanismes de sélection de thèmes sombre/clair, parce que beaucoup de gens veulent ça pour leur webapplications. Mais ça passe par un mécanisme ad hoc qui ne permet que de choisir un « thème » (voire un thème parmi deux) et certainement pas plein de propriétés orthogonales (police, taille du texte, longueur des lignes, couleurs). Donc un deuxième mécanisme de personnalisation différent, extrêmement limité dans sa portée.

Pour n'importe quoi d'autre que le zoom spécial proposé par le navigateur et la sélection d'un thème sombre/clair, le site Web doit proposer son propre mécanisme de personnalisation, et évidemment rien n'est standardisé pour aider à ce que l'utilisateur s'y retrouve facilement entre les sites ou puisse facilement faire les mêmes choix partout (ou au moins, soit sûr de ce que ces choix recouvrent). Il n'y a même pas de « pratiques recommandées » sur la manière de nommer les préférences, de les présenter à l'utilisateur, de les ordonner, ce genre de choses.

Bref, c'est le bordel.

Ces râleries générales étant dites, on m'a demandé (dans un commentaire posté sur le tout premier billet de ce blog, ce qui est raisonnable vu que je n'offre pas de moyen de faire un commentaire sur l'ensemble du site) de proposer un moyen de régler la taille du texte.

J'ai donc essayé (en m'inspirant du code qu'on m'a proposé, et en l'empirant à ma sauce) de faire quelque chose de ce genre. Forcément, ça passe par du JavaScript, mais comme ça ne rend pas le site inutilisable sans JavaScript (on ne verra juste pas cette fonction et tout marchera comme avant) ça me semble un usage parfaitement légitime de JavaScript. Pour les >99.9% d'utilisateurs qui ont JavaScript activé dans leur navigateur, vous devriez donc voir en bas de la page, juste au-dessus de la signature finale, des boutons permettant choisir la taille du texte que vous préférez. [Modification () : Pour éviter de trop encombrer l'espace, il faut d'abord cliquer sur le bouton ‘⚙’ pour faire apparaître les autres boutons.] Ce réglage est censé être persistant et s'appliquer à l'ensemble des pages de ce site (enfin, sauf quelques pages antédiluviennes qui sont dans un style complètement différent).

Reste que je ne suis pas très content de ce que j'ai fait, pour diverses raisons. Certaines raisons de mon mécontentement sont de la faute de mon incompétence, d'autres sont de la faute de choix (possiblement malheureux) que j'ai faits par le passé, d'autres sont la faute des technologies du Web, et encore d'autres je ne sais pas bien.

Les technologies Web c'est toujours le même truc : tous les chemins sont jonchés de petites crottes de ragondin, et à chaque fois qu'on veut faire un truc on n'arrête pas de marcher dessus. Il y a toujours plein de choses qui font presque ou à peu près ce qu'on veut, mais à chaque fois on découvre des limitations à la con qui empêchent de s'en servir comme on voudrait.

D'abord, il y a une question toute bête d'interface utilisateur ; sous quelle forme proposer à l'utilisateur de changer la taille du texte ? J'ai choisi de mettre ça en bas de la page, avec des boutons à cliquer pour choisir diverses tailles entre 8 pixels et 20 pixels (enfin, j'écris pixels mais il faut considérer que c'est une unité un peu arbitraire, notamment sur mobile, donc je montre un échantillon de chaque taille après le bouton). Je ne sais pas si cette interface est terrible : peut-être qu'un menu déroulant aurait été mieux ? Peut-être vaudrait-il mieux mettre ça en tête de page ? (Je n'aime pas trop l'idée de mettre en tête de page quelque chose qu'on ne va pas toucher souvent, mais d'un autre côté si on veut essayer plusieurs tailles et que c'est en fin de page, on risque de devoir rescroller jusqu'à la fin.) Bref, concevoir des interfaces utilisateurs est un métier, ce n'est pas le mien, je suis profondément incompétent là-dessus, et ça devrait faire partie des standards du Web, pas quelque chose qu'on me demande d'improviser.

D'ailleurs est-ce que j'aurais dû proposer une liste de tailles espacées logarithmiquement plutôt que linéairement ? Je n'en sais rien. Mais bon, ça je pense que ça n'a vraiment pas d'importance.

Question interface, il y a aussi le choix de la langue : j'ai mis le texte invitant à changer la taille (change site font size) en anglais, par simplicité, mais si j'avais été motivé au point de l'écrire en plusieurs langues, je ne sais pas très bien comment j'aurais dû choisir la langue (en fonction de la langue préférée du navigateur ? en fonction de la langue de la page où le choix s'insère ?).

Ensuite, il y a un problème de ce que signifie la taille par défaut : parce que avant de rajouter ce réglage, j'avais déjà fait un choix par défaut, à savoir une taille de 12px si la largeur de fenêtre est ≤640px, 14px si elle est ≤720px, et 16px au-delà (cf. ce billet passé). En fait, je ne sais même pas bien ce que la taille de fenêtre signifie exactement ici, mais ce choix par défaut est le résultat d'un compromis laborieux. (Si on met une seule taille, il est juste impossible d'avoir un truc utilisable à la fois sur un navigateur mobile et sur un fixe.) Du coup, si la taille par défaut dépend de la largeur, ce n'est pas clair comment je dois présenter à l'utilisateur le choix de revenir à la taille par défaut ! Ce n'est même pas très clair pour moi comment je peux, en JavaScript, lire la taille par défaut[#2]. Bon, bref, j'ai mis un bouton pour revenir au défaut (c'est-à-dire à la taille choisie en fonction de fenêtre), mais ça peut sembler confus d'avoir un bouton reset en plus du bouton de la même taille.

[#2] Oui, rien que lire la taille par défaut n'est pas évident : si j'ai du CSS qui dit quelque chose comme @media (max-width: 640px) { body { font-size: 12px; } } @media (min-width: 641px) and (max-width: 780px) { body { font-size: 14px; } } @media (min-width: 781px) { body { font-size: 16px; } et que je veux récupérer la valeur de font-size de l'élément body, ben… ça n'a pas l'air facile. L'idée naturelle serait d'appeler getComputedStyle(), mais il s'avère que quand Firefox est en mode zoom où il ne zoome que le texte (et pas les images), la valeur de font-size renvoyée par getComputedStyle() tient compte de ce zoom (alors que si on cherche à modifier la propriété, ben le zoom s'applique dessus, donc si on lit et qu'on réécrit ce n'est pas idempotent !). C'est vraiment l'exemple de petite crotte de ragondin qui parsème n'importe quelle tentative de faire n'importe quoi avec CSS et JavaScript.

Encore un autre problème est de savoir comment stocker la préférence de l'utilisateur. Il y a la possibilité de positionner un cookie pour ça : je n'aime pas trop les cookies, parce que d'abord c'est plein de bizarreries incompréhensibles (notamment qu'on reçoit la chaîne de tous les cookies positionnés et qu'il faut ensuite analyser soi-même), et puis il n'y a pas de raison que la préférence soit communiquée à mon serveur dans la requête HTTP (je n'ai pas à savoir quelles tailles mes utilisateurs ont choisies), ce qui serait le cas avec un cookie. Donc j'ai plutôt opté pour une variable en local storage, ce qui est plus propre et plus moderne, mais je ne sais pas si j'ai bien fait (ça peut passer pour un cookie « sous le radar », et des gens n'aiment pas).

Il y a un point sur lequel je me suis moi-même un peu tiré une balle dans le pied, c'est que le JavaScript de ce site (comme le CSS) n'est pas inclus par référence, depuis un fichier JavaScript qui serait chargé en plus du HTML, il est incorporé directement dans le HTML. (Ma motivation était que j'aime que les fichiers HTML soient autonomes : on peut prendre le HTML d'un billet de mon blog et, tant qu'il n'y a pas d'images dedans, le sauvegarder dans un fichier et le lire tel quel sans avoir à ajouter un machin point js et un bidule point css à côté[#3].) J'ai une infrastructure Java sur le serveur qui inclut un fichier JavaScript commun dans chaque HTML du site (soit généré statiquement pour la plupart des pages, soit généré dynamiquement par Tomcat pour les entrées individuelles du blog). Comme je viens de le dire, ça peut présenter un intérêt ; mais pour tester du JavaScript et le modifier, ça devient vite un calvaire, parce que ça demande de régénérer la page pour chaque essai.

[#3] Raison principale pour laquelle je refuse d'utiliser des trucs comme jQuery ou analogue : ça me semble indispensable qu'on puisse sauvegarder un fichier HTML comme un simple fichier et le lire ensuite n'importe où avec une adresse en file:/// si besoin. Ce qui interdit l'appel à n'importe quel truc JavaScript externe, et notamment jQuery (lequel est beaucoup trop gros pour qu'il soit sérieusement envisageable de l'incorporer directement). C'est là encore une des crottes de ragondin — enfin, plutôt une merde de mammouth pour le coup — qui pollue le Web, qu'il n'y a aucun moyen simple, fiable et robuste de sauvegarder une page Web, avec toutes ses dépendances, et pouvoir la relire ensuite localement.

Mais il y a surtout une chose qui m'est insupportable, c'est si le changement de taille de texte n'est pas transparent mais apparaît après que la page a chargé ; autrement dit, si on voit d'abord la page s'afficher à la taille par défaut, pour ensuite changer et prendre celle qui a été choisie comme préférence. Non seulement c'est visuellement horripilant et très déstabilisant à la lecture, mais en plus ça risque de casser complètement les liens internes (si le navigateur positionne la vue d'après l'ancre qu'on lui a donnée puis change la taille du texte, on risque de voir un autre bout du texte que celui que pointait le lien qu'on a suivi).

J'ai cherché à éviter ce problème en réglant la taille de la police par une fonction JavaScript exécutée dès que l'élément <body> est créé (en gros j'appelle une fonction JavaScript onEarly() depuis le HTML immédiatement après avoir ouvert l'élément <body> de manière à pouvoir régler document.body.style.fontSize dedans, et cette fonction ne fait quasiment que ça pour ne pas retarder le chargement de la page). Cette solution semble marcher sous Firefox mais pas sous Chrome (enfin, sous le Chromium que j'ai pour tester). Je ne sais pas pourquoi : sous Firefox tout marche comme je voudrais, mais sous Chrome je vois d'abord la page s'afficher à la taille par défaut et ensuite changer de taille sous mes yeux — précisément ce que je voulais éviter. À vrai dire je ne comprends pas vraiment (← ceci est un euphémisme pour pas du tout) le synchronisme du JavaScript : à quel moment le code est exécuté, à quel moment on a accès au DOM, à quel moment on peut ajouter du CSS, etc. Donc je ne sais pas à quel moment il faut se positionner pour pouvoir exécuter du JavaScript qui puisse modifier le style de l'élément <body> en ayant la garantie que rien n'a encore été affiché à l'écran : si quelqu'un comprend ce qui se passe avec Chrome et pourquoi il ne se comporte pas comme Firefox à cet égard, qu'il me le dise. Correction : Juste après avoir écrit ça, je reteste et je m'aperçois que ça semble marcher comme je veux, aussi bien sous Chrome que sous Firefox ; je ne sais pas ce qui s'est passé, j'ai dû brièvement passer dans un univers parallèle, ou peut-être que je me suis fait avoir par un mécanisme de cache quelconque.

Toujours est-il que j'ai fait un truc. Je ne suis pas très content de ce truc, mais il marchouille. Si vous avez des suggestions pour le rendre plus élégant, plus robuste, plus intuitif, je suis preneur, mais comme je commence à en avoir sacrément marre à ce stade, toute modification qui requiert des efforts de ma part au-delà du simple copier-coller d'un code qu'on me donnerait va sans doute juste être ignorée.

Ajout : Puisque la longueur des lignes est aussi une râlerie fréquente concernant le style de ce site, j'ai aussi ajouté un jeu de boutons permettant de le régler (entre 50 et 150 caractères par ligne).

Nouvel ajout () : Pour éviter de trop encombrer l'espace visuel, j'ai caché les boutons de réglage de la taille du texte et de la longueur des lignes derrière un bouton ‘⚙’ qui fait apparaître les autres réglages. J'ai aussi ajouté des scrollIntoView() pour que les boutons restent en vue quand on les utilise.

Néanmoins, si mon truc donne grosso modo satisfaction, je verrai si je peux le mettre aussi sur les pages de commentaires du blog (qui sont gérées de façon complètement différentes, par un script Perl antédiluvien auquel je préfère toucher le moins possible, donc j'attends d'être sûr d'avoir le bon JavaScript avant de le recopier).

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

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

(dimanche)

Une autre énigme de calculabilité

Méta : J'ai proposé une petite énigme la semaine dernière, qui m'était venue en réfléchissant à des questions autour de la logique et de la calculabilité (j'ai ajouté successivement un indice et la réponse, donc si vous aviez lu l'énigme et l'aviez trouvée intéressante mais sans aller jusqu'à la réponse, vous pouvez y jeter un nouveau coup d'œil). Avec toutes mes excuses aux >99.9% de mes lecteurs qui ne sont pas amusés par ce genre de choses, je vais finir l'année en en proposant une autre, un peu dans le même esprit mais néanmoins bien différente, qui m'est aussi venue en réfléchissant à des questions adjacentes. Je ne sais vraiment pas si elle est difficile (plus que la première ? moins ?), parce que pendant que j'y réfléchissais, je n'arrêtais pas de me tromper sur l'énoncé, de m'embrouiller sur ce que je voulais demander, et finalement de ne plus savoir du tout où j'en étais ; j'ai régulièrement cru me persuader que « non, ce n'est pas possible du tout, ce truc », et finalement la réponse m'a semblé étonnamment bête, du genre « mais comment je n'ai pas vu ça ? », peut-être parce qu'il faut penser out of the box comme on dit, ou peut-être que je m'obstinais un peu trop à réfléchir dans les mêmes lignes que l'énigme précédente. Bon, cette fois je ne vais pas trop essayer de faire semblant de m'adresser au grand public, donc même si je vais écrire un scénario tarabiscoté pour rendre l'énigme formellement indépendante, je suppose en fait qu'on connaît les bases de calculabilité et qu'on sait ce qu'est un ensemble décidable, un algorithme, ce genre de choses. (La version formulée mathématiquement, que je donne à la fin, est beaucoup plus simple que l'énigme précédente, et certainement plus simple que mon scénario tarabiscoté.)

L'énigme

Le cruel Docteur No (connu pour ses méfaits précédemment racontés ici, , , et encore — et j'en ai peut-être oublié au passage) est à la recherche d'inspiration pour une nouvelle torture pour mathématiciens. Ayant construit un Ordinateur Infini[#], il s'apprête à choisir une question, pour chaque entier n, dont la réponse est soit oui, soit non, de manière à ce qu'il soit impossible de calculer algorithmiquement la réponse en fonction de n : ces pauvres mathématiciens, qui ne disposent que de vulgaires ordinateurs (i.e., machines de Turing) seront donc incapables de répondre à la question, et le Docteur No jubile de l'impossibilité devant laquelle il va les placer.

Mais voilà que son code de l'honneur de grand méchant se rappelle à lui : ses énigmes doivent avoir une solution ! Il doit toujours y avoir un moyen de s'en sortir. Demander de calculer une fonction non-calculable n'est pas du jeu.

Le mathématicien capturé aura donc le droit de faire calculer par l'Ordinateur Infini une indication pour chaque question, sous forme d'un entier naturel h(n), qui lui sera donnée avec la question. Bon, mais comme ça ce serait vraiment trop facile. Donc en fait le Docteur No va mettre deux limitations sur cette indication : d'abord, il n'y aura une indication choisie par le mathématicien que quand la réponse à la question est oui ; quand la réponse est non, le mathématicien se verra donnée une fausse indication, choisie par le Docteur No (et évidemment, aucune façon de savoir si on a affaire à une vraie ou fausse indication). Ensuite, l'indication sera donnée non pas comme l'entier h(n) mais comme un programme q (ne prenant pas d'entrée, et choisi par Docteur No en même temps que n) qui calcule h(n) : en cas de fausse indication (i.e., si la réponse attendue est non), le programme pourrait ne jamais terminer du tout, ou pourrait terminer et renvoyer n'importe quoi (ou même ne pas être un programme du tout, mais ça ce n'est pas intéressant parce que c'est trop facile à tester) ; en revanche, en cas de vraie indication (i.e., si la réponse attendue est oui), le programme fourni terminera en temps fini et renverra h(n) (mais sans aucune autre garantie que ça). Avec ces données n (la question) et q (le programme calculant — peut-être — l'indication), le mathématicien doit (algorithmiquement !) calculer la réponse attendue, sachant que l'énigme doit faire que ce ne soit pas possible sans q.

Comment le Docteur No va-t-il choisir son énigme pour que le problème soit faisable, et comment le mathématicien capturé va-t-il choisir les indications ?

[#] Ce peut calculer l'Ordinateur Infini n'est pas très pertinent ici. Disons par exemple qu'il peut calculer n'importe quoi dont on peut démontrer l'existence. Mais si on veut par exemple imaginer que c'est une machine hyperarithmétique, on peut.

Comme mon scénario est assez tarabiscoté (franchement, si vous trouvez une meilleure façon de raconter l'histoire, dites-le moi !), voici une version mathématiquement précise de ce que je demande de prouver :

Montrer qu'il existe une fonction d:ℕ→{0,1} non calculable (ce sont les réponses attendues, avec ‘0’ pour non et ‘1’ pour oui) et une fonction h:ℕ→ℕ (nécessairement non calculable ; ce sont les indications ; la valeur de h(n) n'aura d'importance que si d(n)=1 donc on peut se limiter définir h sur d−1({1})) telles qu'il existe un algorithme p qui, donné un n∈ℕ et un q comme on va le dire, termine toujours en temps fini et calcule d(n). La garantie sur q est que si d(n)=1 alors q est un programme sans entrée[#2] qui termine en temps fini et renvoie h(n) (en revanche, si d(n)=0 alors il n'y a aucune sorte de garantie sur q, c'est une donnée finie arbitraire).

[#2] Pour qu'il n'y ait pas de confusion possible : q ne prend pas n en entrée : il (q) est donné en même temps que n, et la garantie est que si d(n)=1 alors pour ce n-là, le programme q (qui ne prend pas d'entrée du tout) termine et renvoie h(n).

Je ne sais pas si j'ai vraiment d'indication à donner, cette fois-ci : je vois mal comment en donner une sans donner directement la solution : je sais juste qu'on peut partir dans la mauvaise direction et avoir l'impression que cette énigme est complètement insoluble, ou bien se dire qu'en fait c'est juste idiot. Sans que ce soit une indication (et je ne me prononce pas sur le fait que ça aide au problème général), on peut éventuellement commencer par réfléchir à la version plus simple où q est directement la valeur de h(n) dans le cas où d(n)=1, au lieu d'être un programme qui la calcule.

Une fois de plus, j'écrirai la réponse dans quelques jours en éditant ce billet. En attendant, à défaut de trouver la solution, vous pouvez aussi proposer une façon plus claire que moi de présenter l'énigme ! (Vous pouvez aussi vous plaindre si les termes de l'énigme ne sont pas clairs.)

La réponse

[Section ajoutée .]

Voici la solution que je propose (j'ai peur qu'elle soit complètement incompréhensible si on n'a pas un minimum d'habitude de la calculabilité, mais j'ai quand même fait des efforts minimaux pour rappeler quelques conventions du domaine).

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

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

(mardi)

Il faut qu'on parle des pubs en ligne et du financement du Web

Ce qui motive ce billet (qui traîne depuis un moment dans mes cartons) est que j'entends de plus en plus de gens dire que YouTube s'est mis à bloquer leur bloqueur de pub. Le mien (Adblock Plus, à ne pas confondre avec AdBlock, ils n'ont pas plus de rapport qu'un lointain ancêtre commun, oui, c'est très confusant) continue à marcher, ou peut-être que YouTube a décidé de ne pas me servir de pub ou peut-être que je ne fais pas (encore ?) partie de la population sur laquelle il teste le bloqueur de bloqueur de pub, mais j'imagine que je vais tomber sur le problème tôt ou tard, et devoir soit me passer de YouTube soit perdre du temps pour trouver comment bloquer le bloqueur de bloqueur de pub, temps qui aurait été bien plus agréablement perdu à regarder YouTube. En tout cas je n'imagine pas du tout de regarder leurs pubs, et leur abonnement Premium coûte un prix complètement déraisonnable (eu égard à une estimation raisonnable à la fois du coût marginal que je leur fais subir et de ce que je pourrais leur rapporter en pubs) donc je ne l'envisage pas non plus.

Mais laissant de côté le cas particulier de YouTube, il faut dire clairement que le financement d'Internet est un problème fondamental auquel personne n'a de réponse satisfaisante. Je n'ai pas de lumière particulière à apporter, mais je peux au moins décortiquer le problème par le menu comme c'est la spécialité de ce blog.

☞ Le modèle de financement du Web est pourri

Je faisais remarquer il y a quelques mois dans cette entrée sur la préservation de l'information que pour rendre une information disponible sur le Web, il faut payer, et payer en permanence (si bien que quand un individu décède ou une compagnie fait faillite, les informations disparaissent) : c'est une conséquence structurale de la manière dont le Web fonctionne (voir cette autre entrée pour de la vulgarisation à ce sujet), à savoir que des serveurs doivent tourner en permanence pour être prêts à répondre aux requêtes des navigateurs. Par exemple, s'agissant de ce blog, il est hébergé sur un serveur que je loue avec de l'argent qui sort de ma poche : j'ai des raisons diverses de vouloir faire ça (allant de la vanité de disséminer mes idées à la commodité de pouvoir moi-même relire à tout endroit sur mon téléphone un truc qui me sert largement de bloc-notes) ; mais même si je voulais demander à mes lecteurs de participer au financement de son hébergement, ce ne serait pas du tout évident.

C'est complètement différent du modèle d'un livre où non seulement l'objet ne disparaît pas quand son auteur décède (je parle ici des vrais livres sur papier, pas les e-books qui disparaissent quand la compagnie qui vous l'a loué en faisant semblant de vous le vendre décide de vous retirer son bon vouloir), mais aussi, même si quelqu'un doit payer des frais d'édition initiaux, le lecteur contribue assez naturellement à les rembourser, même pour un livre pour lequel aucune propriété intellectuelle ne s'applique (i.e., le prix concerne le processus d'édition et pas la rémunération de l'auteur).

Il me semble que c'est un problème fondamental, dont les conséquences expliquent beaucoup des problèmes du Web à travers les moyens tous pourris qu'on a de contourner de problème. Hélas, je n'ai pas de meilleur système à proposer (les choses comme IPFS ont peut-être du potentiel, mais il faut reconnaître que ça ne marche pas pour l'équivalent d'un site Web, et en plus ce type de modèle est maintenant teinté par la culture toxique des cryptomonnaies).

☞ Les quatre modes de financement principaux

Les modes de financement du Web qu'on a trouvés pour contourner ce problème fondamental du il faut payer pour héberger et pas pour lire semblent se limiter aux suivants :

  • Baisser les bras, i.e., accepter la réalité du fait qu'il faut payer pour héberger. Cela peut s'expliquer si, par exemple, l'hébergeur est une institution qui a dans ses missions de communiquer (on comprend par exemple ainsi le fait que la Bibliothèque Nationale de France paye pour mettre en ligne énormément de livres qu'elle a scannés) ou si cette communication sert à sa mission ou lui est autrement profitable (le plus évident étant une entreprise commerciale qui a besoin d'exister en ligne pour que ses clients la trouvent). De tels sites Web sont donc gratuits et sans pub ni abonnement (ou éventuellement ils sont intégralement de la pub pour leur auteur ; je suppose qu'on peut aussi ranger dans cette catégorie tous les sites marchands où le site est gratuit parce que les produits qu'on y achète sont payants).

  • Faire appel à la bonne volonté des visiteurs, i.e, leur demander de contribuer au financement du site sans pour autant en faire une condition sine quā non de son utilisation, soit en payant directement, soit en achetant des goodies (genre tee-shirts ou autocollants) dont on comprend bien qu'ils n'ont pas d'autre intérêt que de matérialiser une contribution financière. Wikipédia utilise ce modèle, ce qui prouve qu'il peut fonctionner à grande échelle ; mais il reste qu'il est très compliqué en pratique de payer une petite somme d'argent à plein de sites qu'on trouve un petit peu utiles (on ne sait pas faire fonctionner de système pratique de micropaiements), et c'est aussi assez horripilant d'être constamment bombardé de messages du type ce site est payé par vos contributions : s'il vous plaît, pensez à visiter la page de dons.

  • Fonctionner sur un système d'abonnements, i.e., le site n'est accessible qu'aux gens qui payent.

  • Ou enfin, bien sûr, mettre des pubs.

Toutes sortes de compromis sont possibles entre ces systèmes : par exemple, il est fréquent que le site soit payant mais que quelques parties soient quand même gratuites histoire d'allécher le client potentiel (les journaux en ligne payant mettent souvent une poignée d'articles en accès libre ainsi que le début de tous leurs articles, ou quelque chose come ça) ; ou inversement, le site est gratuit, mais pour inciter à donner on réserve quelques fonctionnalités supplémentaires aux donateurs/abonnés ; ou encore, le site est gratuit mais chargé de pubs et on peut payer pour avoir une version sans pubs.

☞ Ce qui ne va pas avec eux

Soyons bien clairs : tous ces systèmes sont pourris. Si je dois absolument choisir mon poison, le système le site est gratuit mais quelques fonctionnalités supplémentaires sont payantes ou le site est gratuit, mais les abonnés ont accès aux informations en avance me semble le moins mauvais, mais aucun des quatre grands systèmes que j'ai décrits ne fait plus que répartir la merde d'un problème fondamental. Il n'est pas normal qu'un site utile soit payé par ses auteurs, mais il n'est pas non plus normal qu'on ait à supplier les lecteurs (et donc les emmerder) ou les culpabiliser pour obtenir une petite obole ; les sites fonctionnant sur abonnement sont coupés du Web et cassent son modèle de partage de l'information ; et les pubs sont une calamité parce qu'elles transforment le lecteur en ennemi qu'il s'agit de duper, ce qui ne peut qu'aboutir à une guerre. Bref, ces quatre modèles sont complètement pourris : différemment pourris, mais complètement pourris quand même.

Pour détailler un petit peu, le premier problème avec les sites fonctionnant sur abonnement, c'est qu'ils empêchent de partager les informations par un lien. Si je m'abonne à un journal en ligne, je vais avoir accès aux articles de ce journal, mais ce qui m'intéresse n'est pas juste de pouvoir les lire mais aussi de les montrer à mes amis, de pouvoir les citer sur mon blog, ce genre de choses : le partage de l'information est le principe même du Web, et si je ne peux pas faire toutes ces choses, je préfère ne pas avoir accès à l'information du tout. Et symétriquement, de temps en temps je vois passer des liens sur les réseaux sociaux pointant vers des articles auxquels je n'ai pas accès : qu'est-ce que vous voulez que je fasse de choses comme ça ? Je ne vais pas m'abonner pour lire un unique article (encore une fois : les micropaiements ne marchent pas et c'est un drame), donc ce genre de liens ne font que m'irriter à la fois contre la personne qui me nargue avec un lien auquel je n'ai pas le droit d'accéder comme si elle me montrait une photo de l'intérieur de son club exclusif, et contre l'auteur du contenu.

Un système un peu plus malin est celui où chaque abonné, en plus du droit d'accéder à l'ensemble des contenus couverts par son abonnement, a le droit d'en partager un certain nombre, c'est-à-dire de créer des liens qui seront accessibles aussi par les non-abonnés. Mais ces systèmes ont forcément des limites, parce que les auteurs du site ont peur qu'un petit nombre de lecteurs se regroupent pour partager tous les articles et créent ainsi une version gratuite du site : probablement, chaque lien de partage ne marchera qu'un nombre donné de fois ou autre limitation à la con.

Plus fondamentalement, le problème avec les sites sur abonnement, c'est qu'ils ne font pas vraiment partie du Web, c'est-à-dire du Web ouvert, public, recherchable et (certes imparfaitement mais néanmoins un peu) archivé. Les problèmes déjà pénibles d'accès et de préservation de l'information sur le Web sont donc encore empirés sur ce non-Web. Si je m'abonne à un site payant, je vais devoir mettre en place un mécanisme pour sauvegarder tout ce que je consulte dessus, parce que je risque de perdre l'accès si mon abonnement expire et parce que l'Internet Archive ne l'archivera pas pour moi : ça va me prendre plus de temps et d'efforts que l'abonnement n'en vaut, donc je préfère laisser tomber.

Reste la solution des pubs.

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

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

(dimanche)

Une énigme avec un dragon et de la calculabilité

Allez, en cadeau de Noël, un deuxième billet à deux jours d'intervalle, ce qui est devenu très rare sur ce blog : je vous propose une devinette dont je posterai la solution ultérieurement. Je la trouve très jolie et surprenante et je pense qu'elle aurait beaucoup plu à Raymond Smullyan.

Méta : Elle m'est venue en réfléchissant à des questions de maths (autour de la réalisabilité propositionnelle). La formulation est de moi, mais c'est en fait une réécriture d'un théorème (de Plisko, je donnerai la référence précise en même temps que la solution) dont j'ai lu l'énoncé et que j'ai reformulé comme une énigme pour y réfléchir parce que je ne voulais pas lire la preuve mais la retrouver moi-même. J'ai eu énormément de mal à la résoudre, donc je pense qu'elle est vraiment dure (d'un autre côté, je n'étais pas sûr d'avoir trouver la bonne formulation, donc je réfléchissais à la fois à la question et à la réponse), mais quand je l'ai présentée sur Twitter, au moins une personne a trouvé la solution, donc elle n'est certainement pas insoluble. Même si elle a un rapport distant avec mon très long billet tout récent sur Curry-Howard (et je compte écrire une autre entrée qui fait référence aux deux, et qui explique l'intérêt mathématique de cette énigme), il n'est pas nécessaire, ni même spécialement utile, d'avoir lu ce billet (ni aucun autre) pour réfléchir à cette énigme. En revanche, il est certainement pertinent d'avoir des notions de calculabilité pour espérer y arriver (même si je vais présenter l'énoncé pour qu'il soit compréhensible sans ça). J'éditerai ce billet d'ici quelques jours pour présenter la réponse ainsi que quelques commentaires : pour l'instant je me contente de l'énoncé de l'énigme, suivi de quelques commentaires.

L'énigme

Vous êtes un aventurier dans un donjon. Devant vous se trouvent trois portes, identiques à part leur étiquette : A, B et C. Derrière une de ces portes se trouve un dragon, qui vous dévorera si vous ouvrez la porte, mais vous ne savez pas laquelle. Votre but est d'ouvrir une des portes « sûres », c'est-à-dire sans dragon (et qui conduisent à la sortie et, soyons généreux, à un trésor pour vous récompenser d'avoir résolu l'énigme). Peu importe quelle porte sûre vous ouvrez, la seule chose qui importe est de ne pas ouvrir la porte au dragon.

Pour vous aider à trouver une porte sûre, il y a un indice apposé sur chaque porte. Mais comme ceci est un donjon très moderne, pas ces trucs poussiéreux des magiciens d'il y a quelques siècles, chaque indice prend la forme d'un programme informatique. Ça tombe bien, vous avez un ordinateur capable de faire tourner ces programmes (ou pour en examiner le contenu si vous le voulez).

L'idée générale est que le programme apposé sur chaque porte devrait, quand vous l'exécutez, vous indiquer une des deux autres portes qui soit sûre. Mais ce n'est pas si simple ! Car le programme demande quelque chose en entrée, et ne fonctionnera correctement que si on lui a fourni le bon quelque chose. Et ce quelque chose est aussi un programme (qui, lui, ne prend rien en entrée).

Les règles précises sont les suivantes :

  • Le programme apposé sur la porte au dragon, quoi qu'on lui passe en entrée, va terminer quoi qu'il arrive et produire comme résultat l'étiquette d'une des deux autres portes. (Comme il n'y a qu'un dragon, les deux autres portes sont sûres, donc ce sera de toute façon une porte sûre. Son choix peut dépendre de ce que vous avez donné en entrée, mais il doit produire un résultat dans tous les cas, même si le programme qu'on lui a fourni en entrée n'a pas de sens ou ne termine pas ou quoi que ce soit du genre.)

  • Le programme apposé sur une porte « sûre » va terminer et produire comme résultat l'étiquette de l'autre porte sûre (il n'y en a qu'une autre), mais à condition qu'on lui ait fourni comme entrée un autre programme qui lui-même (exécuté sans entrée) produit comme résultat l'étiquette de l'autre porte sûre. Si cette condition n'est pas remplie, le comportement du programme n'est pas précisé (il pourrait ne pas terminer, produire une mauvaise porte, ou afficher 42 ou n'importe quoi d'autre ; mais il ne va pas vous tuer, quand même : c'est un programme, pas un dragon, et votre ordinateur peut le faire tourner sans risque).

Je redis ça pour être bien sûr d'avoir été clair. Appelons X la porte au dragon, et Y,Z les deux autres portes. Appelons pX,pY,pZ les programmes apposés aux portes X,Y,Z respectivement, et q un programme qu'on décide de passer en entrée à un de pX,pY,pZ. Les garanties sont : d'abord, concernant la porte au dragon, pX(q) termine quoi que soit q et produit comme résultat soit Y soit Z ; ensuite, concernant les deux autres portes : si q termine et produit Z comme résultat alors pY(q) termine et produit lui aussi Z comme résultat, et de même, si q termine et produit Y comme résultat alors pZ(q) termine et produit Y comme résultat.

Vous avez bien sûr le droit de lancer les programmes plusieurs fois (séquentiellement ou en parallèle) avec des entrées différentes. Vous avez le droit de créer vos propres programmes (par exemple écrire un programme qui produit toujours la sortie B, et fournir ça au programme de la porte C est légitime ; ou même faire un programme qui exécute le programme de la porte C sur le programme qui produit toujours B en sortie, et fournir ça au programme de la porte A : tout ça est légitime). Vous avez aussi tout le temps nécessaire, mais il faut quand même arriver à un résultat de façon certaine au bout d'un temps fini (donc on a le droit d'attendre longtemps la sortie d'un programme, mais s'il ne termine jamais c'est un échec).

En fait, votre réponse sera elle-même algorithmique. C'est-à-dire que techniquement, ce que je demande c'est d'écrire un programme qui prend en entrée les programmes pX,pY,pZ apposés aux trois portes et qui, quelle que soit la porte au dragon et quels que soient pX,pY,pZ vérifiant les contraintes, termine et produit en sortie l'étiquette d'une porte qui n'a pas de dragon.

Voilà, c'est un peu long, mais j'espère que c'est parfaitement clair. S'il y a quelque chose qui ne l'est pas, dites-le moi en commentaire et j'essaierai de préciser les règles.

Résumé : Il y a une seule porte avec un dragon et on ne sait pas laquelle, les deux autres sont sûres et le but est de trouver une porte sûre. Chaque porte a un programme apposé comme indice. Ce programme termine et produit comme résultat l'étiquette d'une des deux autres portes qui soit sûre ; mais, s'agissant du programme apposé sur une porte sûre, ceci n'est garanti que sous condition qu'on lui passe comme entrée un programme (sans entrée) qui lui-même termine et produise comme résultat l'étiquette de l'autre autre porte qui soit sûre.

Comment vous tirez-vous (de façon certaine) de cette fâcheuse situation ?

Pourquoi elle semble insoluble

J'ai fini l'énoncé de l'énigme et on peut s'arrêter de lire là si on veut y réfléchir ; mais je vais quand même faire un commentaire qui, sans vraiment constituer un indice, attire l'attention sur ce qui est difficile dans cette énigme.

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

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

(vendredi)

Une introduction à la correspondance de Curry-Howard

Méta : Le présent billet, quoique indépendant, est une sorte de suite de celui-ci où j'exposais quelques points d'informatique théorique que j'ai appris, ou mieux/enfin compris, en enseignant un cours que je crée cette année à Télécom. En fait, j'étais parti pour écrire quelque chose sur un sujet plus spéculatif, mais je me suis dit que pour commencer il fallait que j'explique proprement la correspondance de Curry-Howard, et comme c'est justement une des choses que j'enseigne et que je trouve généralement très mal expliqué, autant en faire aussi une entrée de blog ; puis comme j'étais trop débordé par l'écriture des transparents du cours lui-même, j'ai laissé ça de côté. J'ai de nouveau un petit peu de temps avec les vacances, donc je publie et complète séparément ce bout sur Curry-Howard comme un texte autonome, dans l'espoir de faire ensuite un autre billet sur les questions qui, au-delà de mon enseignement du moment, m'avaient initialement motivé à en parler. Mais comme je tombe dans un trou de lapin dès que je me mets à écrire sur un sujet, j'ai quand même élargi le sujet à des questions connexes.

Table des matières

Introduction

[Sean Connery dans le rôle de Guillaume de Baskerville dans le film “Le Nom de la Rose”] Preuves mathématiques
(contemplatives ?)

[Sean Connery dans le rôle de Zed dans le film “Zardoz”] Programmes informatiques
(dynamiques ?)

Bref, mon but est d'exposer (avec des prérequis aussi limités que possible) la correspondance de Curry-Howard entre preuves et programmes.

De quoi s'agit-il ? On résume parfois la correspondance de Curry-Howard en disant que, comme un bon acteur capable de prendre des rôles très différents, les preuves mathématiques et les programmes informatiques sont, en fait, fondamentalement la même chose (et d'ailleurs je suis très content de l'illustration ci-contre).

À vrai dire, ce raccourci, qui a le mérite d'être mémorable, est un peu… raccourci. Ce ne sont pas n'importe quelles preuves et surtout, ce ne sont pas n'importe quels programmes. Côté preuves, il s'agit a priori de preuves en logique intuitionniste (c'est-à-dire sans le tiers exclu ; je vais définir les choses précisément ci-dessous), et même si on peut étendre Curry-Howard à la logique classique grâce à la fonction call/cc, la correspondance obtenue n'est peut-être pas aussi satisfaisante. Côté programmes, il s'agit de programmes écrits dans des langages fortement typés dans lesquels la terminaison de tout programme est garanti : donc ce ne sont pas du tout les langages de programmation habituels, lesquels permettent des boucles infinies et/ou des appels récursifs illimités[#] ; il n'y a rien non plus qui corresponde à des effets de bord (modification de valeurs, entrées-sorties, rien de tel). Parmi les limites de Curry-Howard, il y a aussi des différences subtiles dans la signification de la quantification existentielle (‘∃’) en logique par rapport aux types sommes (‘Σ’) qui vont faire l'objet de mon « addendum 1 » plus bas.

Toujours est-il que, malgré ces limitations, Curry-Howard établit une correspondance entre, côté logique propositions et preuves de ces propositions, et, côté informatique, types dans un langage informatique fortement typé et termes (i.e., programmes) de ces types. À un certain niveau c'est même une trivialité (observer qu'on exactement les mêmes règles de formation des deux côtés : c'est juste deux façons de voir le même acteur, cet acteur étant une sorte de λ-calcul qui peut servir soit à désigner des preuves soit à coder des programmes) ; mais quand même, cette correspondance permet d'interpréter une preuve comme quelque chose qui va s'exécuter, prendre des données en entrée et renvoyer des résultats à la sortie, et c'est assez frappant, et c'est l'essence de ce qui permet d'extraire d'une preuve constructive un programme réalisant le calcul qu'elle prétend construire (j'agite un peu les mains ici). À titre d'exemple, le programme qui correspond à la preuve « évidente » de AB ⇒ BA (si A et B sont vrais, alors B et A sont vrais) est le programme qui prend en entrée un couple et échange les deux coordonnées de ce couple (lesquelles peuvent être de types arbitraires).

[#] Comme je l'ai déjà signalé ici, autoriser ces appels récursifs revient très précisément, au niveau preuves, à autoriser les raisonnements du style suivant : Je veux démontrer que les poules ont des dents. Je tiens l'affirmation suivante : Si j'ai raison, alors les poules ont des dents. Clairement, si j'ai raison (c'est-à-dire, si cette affirmation est vraie), alors les poules ont des dents. Mais c'était justement mon affirmation : donc j'ai raison. Donc, par ce qui vient d'être démontré, les poules ont des dents. Il est peut-être intéressant de s'intéresser à des logiques paraconsistantes dans lesquelles une telle démonstration serait permise (et du coup, tout est démontrable, de même que dans un langage de programmation usuel on peut fabriquer un programme de n'importe quel type — même le type vide, c'est juste que le programme ne terminera pas), mais ce n'est pas ce qu'on appelle usuellement une « démonstration » mathématique.

De façon un petit peu plus détaillée, la correspondance de Curry-Howard met en regard (je vais essayer d'expliquer ces différents points dans la suite, donc ceci est un divulgâchis qui a pour but d'aider à se retrouver dans la masse de mes explications si on décide de la lire en diagonale) :

  • propositions avec types ;
  • preuves avec termes (= programmes) ;
  • implication logique (PQ) avec types fonctions (στ, qui correspond aux fonctions prenant une valeur de type σ et renvoyant une valeur de type τ) ;
  • modus ponens (application d'une implication : si PQ et P alors Q) avec application d'une fonction (une fonction στ s'applique à un type σ pour donner un type τ) ;
  • ouverture d'une hypothèse (pour démontrer une implication) avec λ-abstraction (= définition d'une fonction à partir d'un argument) ;
  • hypothèses actuellement ouvertes avec variables libres (en contexte) dans le programme ;
  • hypothèses déchargées avec variables liées dans le programme ;
  • conjonction (et logique : PQ) avec types produits (σ×τ, qui correspond aux données d'un couple d'une valeur de type σ et d'une valeur de type τ) ;
  • disjonction (ou logique : PQ) avec types produits (σ+τ, qui correspond aux données soit d'une valeur de type σ soit d'une valeur de type τ, avec un sélecteur qui indique dans quel cas on se trouve) ;
  • le vrai (noté ‘⊤’, affirmation tautologiquement vraie) avec le type unité (ayant une seule valeur, triviale) ;
  • le faux (noté ‘⊥’, affirmation tautologiquement fausse) avec le type vide (n'ayant aucune valeur) ;
  • quantification universelle ∀(v:U).P(v) (qui est une sorte de « conjonction en famille » ⋀v:U P(v) sur tous les v de type U) avec types produits en famille ∏v:U σ(v) (type des fonctions prenant un v de type U et renvoyant une valeur de type σ(v)) ;
  • quantification existentielle ∃(v:U).P(v) (qui est une sorte de « disjonction en famille » ⋁v:U P(v) sur les v de type U) avec types sommes en famille ∑v:U σ(v) (type des données d'un v₀ de type U et d'une valeur de type σ(v₀)).

La correspondance est surtout satisfaisante dans le sens des preuves vers les programmes, i.e., donnée une démonstration, arriver à construire un programme. C'est cette direction que je vais essayer d'exposer ci-après, en laissant globalement de côté la question de si on obtient tous les programmes de cette façon (ce qui demanderait d'expliquer précisément ce que sont « tous les programmes », et j'ai peur qu'on ne puisse avoir qu'une réponse un peu triviale en prenant la définition de programme qui fait rend Curry-Howard bijectif, c'est-à-dire de prendre pile-poil ceux qu'on peut fabriquer de la sorte : c'est en quelque sorte tout l'objet du typage que de limiter les programmes écrivibles à ceux que la correspondance de Curry-Howard atteint).

Bref, mon but dans la suite est d'exposer ça plus précisément, d'abord dans le cas purement propositionnel, c'est-à-dire sans quantificateurs (c'est nettement plus simple et si ça peut sembler ennuyeux je pense qu'il a déjà énormément à nous apprendre), et ensuite dire des choses plus vagues sur les quantificateurs (les quantificateurs posent toutes sortes de difficultés pénibles sur ce qu'on a le droit de quantifier exactement), en regardant d'un peu plus près la logique du premier ordre (qui est la forme de quantification la plus simple) ; je finis par parler de deux points indépendants (et que je ne comprends que de façon très imparfaite, donc je serai encore plus vague et à la limite de l'agitage de mains) : la question du sens du ‘∃’ d'une part, et l'imprédicativité de l'autre.

L'exposition que je vais faire ici suit pour le début la même idée que mon cours, pour laquelle on peut se référer à ce jeu de transparents pour la partie propositionnelle, mais je vais plutôt partir du côté preuves et ne pas entrer dans une description précise de ce qu'est le λ-calcul simplement typé. En revanche, la fin de ce billet va nettement au-delà de ce que je compte exposer dans mon cours (la partie de mon cours sur les quantificateurs est encore à l'état d'ébauche au moment où j'écris ce paragraphe, mais de toute façon je ne vais pas dire grand-chose).

Puisque ce sera le côté « preuves », je commence par des explications sur la logique intuitionniste (propositionnelle pour commencer) et sur ses règles de démonstration : on peut aussi se référer à ce billet passé pour le contexte général (y compris historique) sur les maths constructives, et cet autre billet (assez mal écrit) pour une description un peu différente des règles de la logique (en style « calcul des séquents »).

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

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

(dimanche)

Les Indes fourbes d'Ayroles et Guarnido

On dit souvent jamais deux sans trois, mais il me semble que c'est une pure coïncidence que, moi qui ne lis pas beaucoup de bédés (et, à vrai dire, pas beaucoup tout court), me retrouve à évoquer trois albums coup sur coup dans ce blog : après celle-ci dans le style « jeu de personnages » et celle-ci de sociologie, disons un mot des Indes fourbes (pas si récent que ça, et dont j'ai entendu parler au hasard d'une mention sur Twitter).

Mais, à vrai dire, je ne veux pas en dire grand-chose, parce que je ne veux pas divulgâcher : j'ai moi-même ouvert l'album en ne sachant essentiellement rien de ce qu'il y avait dedans, et je pense que c'est le meilleur état d'esprit pour l'apprécier.

Disons juste que le scénario est écrit par Alain Ayroles (notamment connu pour la très drôle série De Cape et de Crocs) et que les dessins sont de Juanjo Guarnido (notamment connu pour le style très léché de Blacksad) : cette combinaison d'auteurs peut déjà donner envie de lire cet album.

Disons aussi, pour les gens qui comme moi pensent que cette information a une importance, qu'il s'agit d'un album unique (pas un élément d'un cycle), et d'une histoire qui se tient à elle seule, et qui a une vraie fin. Ceci peut prêter à confusion, vu que la couverture porte le sous-titre :

Une seconde partie de l'Histoire de la vie de l'aventurier nommé don Pablos de Ségovie, vagabond extraordinaire et miroir des filous ; inspirée de la première, telle qu'en son temps la narra don Francisco Gómez de Quevedo y Villegas, chevalier de l'ordre de Saint Jacques et seigneur de Juan Abad

Ce sous-titre (ou faut-il parler d'une épigraphe ?) signifie que la bédé est une suite imaginée du roman El Buscón (Historia de la vida del Buscón, llamado don Pablos; ejemplo de vagamundos y espejo de tacaños) de Francisco Gómez de Quevedo, roman picaresque, satirique et humoristique, espagnol paru en 1626 : à la fin de ce(t unique) roman de Quevedo, l'aventurier éponyme embarque pour l'Amérique pour tenter sa chance là-bas, promettant une suite que Quevedo n'a jamais écrite : c'est donc cette suite qu'Ayroles et Guarnido imaginent. La première page de la bédé est d'ailleurs composée d'une manière qui imite le frontispice du roman de Quevedo.

Mais il n'est pas nécessaire d'avoir lu ce dernier (et d'ailleurs je m'avoue dans ce cas) : les quelques éléments de situation sont rappelés dans la bédé, et l'histoire est de toute façon complètement différente. Cependant, il peut être bon de savoir que le thème principal du roman de Quevedo est celui des efforts et fourberies que fait son héros (un gueux, fils d'une prostituée et d'un homme qui finit pendu) pour essayer de s'élever au-dessus de sa condition : dans le roman, ces efforts sont toujours des échecs, et la morale est que, gueux il est et gueux il restera. Dans la bédé… ah ben, je ne vais pas en dire plus.

Bref, c'est l'histoire de ce Pablos, qui part pour les Indes occidentales, et qui raconte sa recherche de l'El Dorado — qu'il a peut-être fini par trouver, ou peut-être pas, là non plus je ne vais pas vous en dire plus.

C'est à la fois une histoire d'aventures picaresques (au sens original du terme), qu'on peut également rapprocher du film de casse, parce qu'il est bien question d'un casse (et même d'un très gros casse), et aussi une satire sociale, un tableau (artistique, et pas historique) de l'Espagne et de ses colonies au Siècle d'or, spécifiquement sous le règne de Philippe IV… mais c'est surtout très drôle. Pas drôle à la manière d'une bouffonnerie qui ne se prend jamais au sérieux, mais plutôt d'une histoire qui fait semblant de se prendre au sérieux, mais dont on se demande régulièrement où est le lard et où est le cochon. (Je suis un peu tenté de comparer le style à Ruy Blas de Hugo, qui se passe à peu près à la même époque, et qui réussit à être un drame immensément drôle, dont il a d'ailleurs été tiré une adaptation cinématographique un peu dans le même esprit que la bédé que j'évoque ici. On peut aussi comparer, dans une moindre mesure, à Cyrano de Bergerac : même si le panache de Cyrano est diamétralement opposé à la fourberie de Pablos, il y a un style d'humour commun.)

Et j'aime aussi beaucoup le dessin : non seulement il est très soigné mais aussi, signe d'une bonne bédé, il ne fait pas qu'accompagner l'histoire mais la pousse en avant : il y a des pages entières des aventures que raconte Pablos qui sont entièrement en images, sans un seul mot : c'est tout à fait à dessein (ha, ha), et le style en est très fort. Les personnages sont absolument truculents dans leur représentation graphique : le héros lui-même, mais aussi l'alguazil auquel il raconte son histoire, le corregidor qui vient récupérer l'argent des mines, le vice-roi de Nouvelle-Espagne, le comte-duc d'Olivares et le roi Philippe IV lui-même.

Le livre est par ailleurs truffé de références et de clins d'œil : y compris à lui-même, certainement au roman dont il prétend être une suite, et à toutes sortes d'autres choses (il est difficile, par exemple, de ne pas reconnaître une allusion visuelle au plus célèbre tableau de Velázquez — allusion qui n'est, d'ailleurs, pas gratuite — ainsi qu'à d'autres du même).

Bref, j'ai adoré ce livre, et je le recommande à ceux qui aiment les histoires d'aventures picaresques, drôles et pleines de rebondissements et de fourberies, et qui ne se prennent pas trop au sérieux.

Les Indes fourbes d'Alain Ayroles et Juanjo Guarnido, 160 pages, éditions Delcourt.

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

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

(vendredi)

Où j'apprends aussi l'informatique en l'enseignant

Ce que j'aime surtout dans le fait d'enseigner, c'est qu'on apprend souvent soi-même plein de choses sur le sujet qu'on enseigne, surtout la première fois, et surtout si on crée soi-même le programme du cours : on croyait bien savoir les choses de loin, mais être obligé de les regarder de près pour les enseigner oblige souvent à se rendre compte qu'il y avait une subtilité là où on ne le savait pas (ou qu'on avait oubliée) ; ça peut éventuellement conduire à une panique zut, l'approche que je croyais avoir tracée pour ce cours ne marche pas ! comment est-ce que je vais m'en sortir ?, mais souvent on en ressort bien plus compétent qu'avant : même si la subtilité qu'on a découverte, finalement, n'est pas enseignée, l'enseignant sera quand même meilleur (ceci étant, les personnes à qui on enseigne la première fois risquent de moins goûter l'expérience, et il faut parfois quelques années pour que la découverte de surprises se tarisse et que l'enseignant soit rôdé).

Pour prendre un exemple passé précis, en enseignant mon cours de théories des jeux (notez le pluriel à théories !) à Télécom — dont les notes sont ici si ça intéresse quelqu'un — je me suis rendu compte d'une subtilité importante dont je n'avais pas du tout pris conscience avant : quand on parle de stratégie dans un jeu (à information parfaite), on peut soit s'intéresser aux stratégies qui, pour prescrire un coup à jouer, dépendent seulement de la configuration actuelle du jeu (appelons-les stratégies positionnelles), soit de celles, plus générales, qui dépendent de tout l'historique de la confrontation jusqu'à ce point (appelons-les stratégies historiques) ; or, même si la règle du jeu ne dépend que de la configuration actuelle et pas de l'historique qui a mené à cette configuration, ce n'est pas du tout évident a priori qu'une stratégie gagnante dans le sens plus général (historique) soit forcément traduisible en une stratégie gagnante dans le sens plus restreint (positionnel) ; et j'avais un peu paniqué, parce que j'avais construit mon cours autour de la démonstration de l'existence d'une stratégie gagnante dans un sens via la théorie des jeux de Gale-Stewart (qui sont intrinsèquement « historiques »), alors que j'en avais besoin ensuite au sens plus fort (« positionnel ») pour la théorie de Sprague-Grundy. J'ai réussi à m'en sortir (j'ai écrit des notes expliquant correctement le lien, voir la section 3.5 du PDF lié ci-dessus), en cours je demande aux élèves d'admettre ce point en les renvoyant au poly s'ils ne veulent pas l'admettre, donc finalement je n'enseigne pas vraiment cette subtilité, mais j'ai été content d'en prendre conscience, et je suis étonné qu'il soit si peu évoqué, ou si mal expliqué, dans la littérature scientifique sur le sujet.

Même en donnant un cours d'analyse (dont je n'étais, cette fois, pas le responsable ni le créateur, mais simple intervenant) j'ai appris un certain nombre de choses sur le sujet, voyez par exemple ce billet passé pour quelque chose que j'ai appris au détour d'un exercice. Et en donnant un cours d'initiation à la géométrie algébrique, je me rends surtout compte… que c'est très difficile d'enseigner la géométrie algébrique et que je ne sais même pas produire une définition d'un morphisme entre variétés quasiprojectives (l'objet fondamental du domaine, quoi) qui ne soit pas abominable dans sa complication.

Bref. Cette année, comme je l'ai raconté ici et , j'inaugure un cours intitulé Logique et Fondements de l'Informatique où je dois parler de calculabilité, λ-calcul, logique, typage, isomorphisme de Curry-Howard, ce genre de choses (un programme à vrai dire assez ambitieux, mais on m'a donné comme consigne de profiter de la création de la filière MPI en prépa pour viser quelque chose d'assez sérieux). Des choses, à cheval entre mathématiques et informatique théorique, qui me plaisent beaucoup (sur la calculabilité voyez par exemple ce long billet) et sur lesquelles je pensais ne pas avoir grand-chose à apprendre… Famous last words!

(La suite de ce billet est essentiellement un brain dump de quelques unes des choses que j'ai apprises, réapprises, ou mieux comprises en préparant ce cours jusqu'à présent. Noter que ça ne veut pas dire que je vais les enseigner ! Ou du moins pas forcément sous cette forme. Comme les petits bouts de ce billet, de longueur très inégales, sont assez indépendants, je les ai séparés par des fleurons : si on n'aime pas ce que je raconte à un endroit donné, on peut sauter jusqu'au fleuron suivant.)

Il y a des choses que j'ai apprises en marge de la préparation de ce cours, sans que ça ait vraiment d'impact dessus. Par exemple, comment on fabrique des modèles du lambda-calcul non typé (pour ceux qui veulent en savoir plus là-dessus, j'ai bien aimé l'article From computation to foundations via functions and application: The λ-calculus and its webbed models de Chantal Berline, et notamment la partie sur les K-modèles, qui m'ont semblé les plus parlants de tout cette histoire : de façon très sommaire, on représente un terme par l'ensemble de tous les types qu'on peut lui attribuer dans un certain système de typage dont les types ne sont pas disjoints ; en plus ça semble avoir un rapport avec la réalisabilité, ce qui n'est pas déplaisant) : ce n'est pas spécialement une difficulté que j'ai rencontrée, juste quelque chose que j'ai appris au passage.

Il y a aussi des choses que je pensais savoir sans vraiment y avoir suffisamment réfléchi. Notamment, comment fonctionne au juste le combinateur de point fixe Y de Curry. J'avais déjà appris il y a longtemps que dans un langage fonctionnel non typé on peut faire des appels récursifs sans faire d'appels récursifs, par exemple (en Scheme) :

(define proto-fibonacci
  (lambda (self)
    (lambda (n) 
      (if (<= n 1) n
	  (+ ((self self) (- n 1)) ((self self) (- n 2)))))))
(define fibonacci (proto-fibonacci proto-fibonacci))

— code la fonction définie récursivement[#] par F(n)=n si n≤1 et F(n) = F(n−1) + F(n−2) sinon, sans jamais que la fonction fasse appel à elle-même dans sa définition (c'est, en fait, l'astuce de Quine — qui n'est pas due à Quine, c'est Hofstadter qui lui a donné ce nom-là, mais à Cantor, Gödel, Turing et Kleene — et sur laquelle j'avais écrit une page alors que mes élèves actuels n'étaient même pas nés). L'astuce (de Quine qui n'est pas de Quine), donc, c'est qu'on passe la fonction proto-fibonacci en argument à la fonction proto-fibonacci, et quand elle a besoin de faire appel à elle-même, elle applique son argument (self) en prenant bien soin de lui passer une copie de lui-même, d'où le self self dans ce code.

[#] Oui, je sais que la suite de Fibonacci est un très mauvais exemple de récursion parce qu'en vrai il ne faut pas la coder de façon récursive, c'est épouvantable pour la complexité ; mais c'est un exemple facile à lire, donc je le reprends avec cet avertissement qu'il ne faut pas faire comme ça pour autre chose que pour illustrer les appels récursifs.

Vous noterez bien, donc, qu'il n'y a pas d'appels récursifs dans ce code. La même astuce de Quine permet de faire un programme qui s'écrit lui-même même si le langage ne permet pas de faire référence à lui-même (voyez ma vieille page liée ci-dessus pour tous les détails), à Gödel de fabriquer un énoncé qui dit je suis indémontrable, etc. Ici ça sert à ce qu'une fonction s'appelle elle-même même si le langage ne permettait pas les appels récursifs comme construction spéciale (par exemple en λ-calcul, il n'y a pas de construction récursive).

Ici on est dans un langage fonctionnel donc on peut juste appeler une fonction passé en argument, mais dans un langage non fonctionnel capable d'écrire un interpréteur de lui-même, on pourrait quand même simuler les appels récursifs en lançant l'interpréteur (sur une représentation du code de la fonction !) à chaque fois qu'il est écrit self self dans le code ci-dessus, ce qui est la façon la plus mind-blowing de faire de la récursion, et je ne m'étais pas rendu compte de ça avant de commencer à préparer ce cours.

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

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

(lundi)

La Distinction de Tiphaine Rivière

Digression préliminaire : Je suis pas mal sous l'eau en ce moment : le problème principal étant que je rédige le cours d'informatique que je donne en ce moment à Télécom moins vite que le cours n'avance : pour l'instant j'ai encore un peu d'avance, mais je ne suis pas convaincu par l'argument de Monsieur Zénon qui m'assure qu'Achille ne peut pas rattraper la Tortue ; surtout qu'en plus de ça, la Tortue se laisse distraire en chemin, c'est-à-dire que j'ai eu le malheur de commencer à réfléchir à des questions comme ça qui n'ont rien, ou très peu, à voir avec ce que je suis censé enseigner, mais qui font partie de réflexions sur lesquelles je reviens périodiquement. En plus, j'ai déjà un billet de blog en cours d'écriture et que j'ai arrêté pour ne pas perdre trop de temps avec. Néanmoins, comme j'ai beaucoup aimé le livre dont je veux parler ici, je vais quand même prendre le temps d'écrire quelque chose, en essayant d'être un peu bref (et vue la longueur de ce paragraphe, ce n'est pas bien parti).

Je connaissais déjà l'autrice/dessinatrice Tiphaine Rivière à travers sa bédé Carnets de Thèse, laquelle raconte le parcours partiellement autobiographique d'une doctorante en lettres qui part avec l'enthousiasme de quelqu'un qui se dit qu'elle va découvrir le monde de la recherche et qui connaît rapidement la désillusion entre les années de thèse qui s'accumulent sans qu'on n'en voie le bout, l'absence de financement qui l'oblige à enseigner en parallèle jusqu'à l'épuisement, le directeur de thèse qui a plein de doctorants et ne s'occupe pas du tout d'elle, la famille qui ne comprend rien à ce qu'elle fait, le copain avec qui elle finit par rompre, etc. On pourra se dire qu'elle force le trait, mais j'ai connu assez de doctorants en lettres et sciences humaines pour savoir que tous ces clichés sont parfois — trop souvent — vrais. J'avais beaucoup aimé ce livre aigre-doux, et je le recommande ne serait-ce que comme avertissement préalable à toutes les personnes qui envisagent de se lancer dans un doctorat (surtout dans une discipline littéraire, mais même en sciences : au minimum il faut retenir l'avertissement de bien se renseigner auprès d'anciens thésards sur l'ambiance du labo, la manière dont l'encadrant de thèse traite ses doctorants et leur consacre son attention, etc.).

Bref, quand j'ai vu que Tiphaine Rivière avait sorti une autre bédé où je pouvais penser que son talent d'observation des situations humaines et sociales serait bien employé, j'ai sauté dessus.

Il s'agit de La Distinction, sous-titré Librement inspiré du livre de Pierre Bourdieu, et c'est à la fois une histoire (ou plutôt un tas de petites histoires ou saynètes, cf. mes réflexions à ce sujet ici concernant une autre bédé), et de la vulgarisation sociologique.

Je dois préciser d'emblée que je n'ai pas lu l'ouvrage source, La Distinction : Critique sociale du jugement (même si maintenant j'ai envie de le faire) : j'ai bien sûr[#] été exposé à un certain nombre des idées de Bourdieu (à commencer par la notion de capital culturel) à travers d'autres gens qui ont repris ses idées, à travers des discussions politiques, à travers des résumés ou compte-rendus divers et variés, donc ce n'est pas comme si je découvrais. Mais je suis également loin d'en avoir une connaissance approfondie, ou même une idée bien précise. Donc je ne peux pas juger si Tiphaine Rivière reproduit fidèlement les idées de Bourdieu (à part les passages qu'elle cite textuellement), ou si elle ajoute des idées de fond d'elle-même, combien elle transpose pour s'ajuster aux quelques décennies qui se sont écoulées depuis 1979. Mais ça ne me semble pas terriblement important.

[#] Le bien sûr ici est lui-même marqueur du capital culturel de la classe sociale à laquelle j'appartiens ; cf. aussi ce que j'écrivais ici sur la culture générale (et où d'ailleurs je mentionne Bourdieu au passage).

Ce qui est intéressant, et que je trouve très réussi, c'est qu'elle mélange assez habilement une exposition des thèses de Bourdieu et une illustration de celles-ci à travers des anecdotes qu'elle représente, ce qui rend les thèses à la fois plus compréhensibles (si j'en juge par les passages cités qui ne sont pas toujours franchement limpides), plus parlantes et plus convaincantes.

Et la bédé a un petit côté méta (j'ai déjà dit que j'aimais le méta ? ah oui) : car le point de départ en est un (nouveau) professeur de sciences économiques et sociales dans un lycée plutôt défavorisé, qui décide d'essayer d'enseigner à ses élèves les idées de Bourdieu. Évidemment, ça ne marche pas facilement (comme je l'ai dit plus haut à propos de Carnets de Thèse, Tiphaine Rivière est bien consciente que l'enseignement n'est pas toujours facile). Donc on a une sorte de double lecture : la bédé montre en même temps le prof qui essaye de démontrer et faire comprendre à ses élèves que, par exemple, le capital économique (l'argent !) n'est pas la seule distinction entre classes sociales[#2], et des situations qui illustrent ces idées, et les deux se rejoignent souvent. C'est assez délicieusement fait (par exemple j'ai beaucoup aimé les passages où une des élèves de la classe lit des passages du livre à ses parents en leur disant ah tiens, c'est marrant, vous faites exactement comme Bourdieu explique à propos des petits bourgeois, et les énerve parce que personne n'aime se trouver renvoyé aux clichés de sa classe sociale).

[#2] Par exemple quelque chose comme ceci (c'est moi qui paraphrase) : Est-ce que vous êtes déjà allés à l'opéra ?Non !Et pourquoi pas ?Parce que c'est trop cher !D'accord. Mais si vous aviez tout d'un coup plein d'argent, est-ce que vous vous mettriez à aller à l'opéra ?Ben non.

Les personnages sont assez nombreux, et assez variés, illustrant par exemple assez bien le fait que le patrimoine culturel n'est pas forcément parfaitement corrélé au patrimoine économique, qu'il y a cinquante nuances de bourgeois, etc. Mais ça ne tourne pas non plus à l'inventaire sans intérêt, et ces personnages sont au moins indirectement raccordés à l'histoire.

Il n'y a pas vraiment un arc narratif clair ni de conclusion savamment construite, mais je ne trouve pas que ce soit un défaut (il y a quand même une histoire, et une situation qui évolue, mais ce n'est pas le plus important). Le dessin (je veux dire, le dessin graphique) est moins détaillé que dans Carnets de Thèse (c'est en noir et blanc, et il n'y a pas ce que Boulet appelle les petits traits), mais j'ai eu l'impression que la peinture sociologique était tout à fait précise. En tout cas, à moi qui ne suis pas sociologue (mais quand même, j'espère, un peu observateur de la société et des comportements des gens) les portraits des personnages et des situations sonnent juste, et souvent juste dans le sens c'est un cliché, mais malheureusement ce cliché est vrai. Pas que je ne croyais pas à (disons) la réalité des distinctions sociales dans le domaine des goûts, mais je n'y pense pas trop, ou peut-être que j'essaie de ne pas y penser, et la représentation en bédé oblige à y penser, de manière à la fois éclairante et dérangeante.

Parce que c'est peut-être ce qui nous met le plus mal à l'aise avec la sociologie, c'est combien cette idée de déterminisme social, en nous renvoyant aux clichés auxquels nous nous conformons malgré nous, vient gifler notre désir (dans une certaine mesure illusoire) de liberté et d'individualité en nous rappelant combien nos goûts sont socialement construits et largement le fruit de notre classe sociale. Y compris, et ça fait encore plus mal, la rébellion contre le déterminisme social qui est elle-même le propre d'une certaine catégorie sociologique. Tout ça est profondément déprimant (je trouve), un peu comme la prédestination dans une tragédie grecque ; et la bédé dont je parle a donc, comme Carnets de Thèse, un côté décidément aigre-doux, triste en même temps qu'il est souvent drôle. (On se doute bien, par exemple, que la relation qu'essaient d'avoir deux ados de classes sociales très différentes, risque de ne pas durer longtemps, et d'ailleurs le père de la jeune bourgeoise qui fréquente un garçon des cités hausse les épaules en disant en substance ça ne durera pas, ça lui passera.)

Mais c'est précisément parce que cette gifle fait du bien qu'il faut lire ce livre !

La Distinction (Librement inspiré du livre de Pierre Bourdieu) de Tiphaine Rivière, 287 pages, éditions La Découverte Delcourt.

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

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

(dimanche)

Étude critique de vulgarisation mathématique : une petite vidéo d'Arte

La chaîne de télé Arte produit une série de petites vidéos de vulgarisation scientifique (à destination du grand public) sur les mathématiques appelée Voyages au pays des maths (on les trouve ici sur le site web d'Arte ou ici sur YouTube) : je n'en ai regardé qu'une partie (via leur site Web : je ne suis pas tombé dessus à l'antenne, mais c'est juste parce que je n'allume jamais la télé), mais celles que j'ai vues me semblent globalement correctes : il y a parfois des affirmations douteuses ou qui peuvent induire des idées fausses mais je n'ai rien entendu dans celles que j'ai regardées qui me fasse bondir au plafond ; la présentation est plutôt pas mal au sens où j'ai l'impression que tout le monde peut accrocher au moins un peu, et comme chacune dure 10 minutes, même si on n'aime pas, on n'a pas le temps de s'endormir et je pense que ça peut convaincre des gens d'essayer au moins de s'intéresser un minimum au genre de choses sur lesquelles les maths se penchent. (Je peux éventuellement reprocher au choix des sujets, même s'il est agréablement éclectique, de mélanger des choses qui sont des problèmes profonds et difficiles avec des petites curiosités qui ne font pas l'objet de recherches ; ce n'est pas grave en soi, mais il faudrait peut-être mieux expliquer au public ce qui tombe dans chaque catégorie.)

Comme je l'avais raconté dans cette entrée passée de ce blog, je suis moi-même intéressé par la vulgarisation mathématique, pas pour le contenu de ce que ça raconte, mais pour apprendre à améliorer ma propre présentation des choses, qu'il s'agisse de vulgarisation, d'enseignement (ou même d'exposition à des pairs), et à tous les niveaux (du grand public aux chercheurs).

Or il se trouve justement que dans cette série Voyages au pays des maths est paru un épisode intitulé L'Entscheidungsproblem ou la fin des mathématiques ? (visible ici sur le site web d'Arte ou ici sur YouTube) qui porte sur le même sujet — la calculabilité — sur lequel j'ai récemment publié les transparents d'un cours que j'inaugure cette année à Télécom Paris (et aussi un billet qui se veut grand public sur un thème apparenté).

Du coup je suis curieux de savoir comment ce genre de vulgarisation est jugé par le grand public : j'apprécierais si des personnes qui lisent mon blog, surtout celles qui ne sont pas mathématiciennes, idéalement même pas scientifiques, pouvaient regarder cette vidéo de 10 minutes et me dire ce qu'elles en pensent : ce qu'elles en retiennent, si elles ont l'impression de comprendre les enjeux évoqués, quels passages sont clairs, lesquels ne le sont pas, ce genre de choses, et si elles sont d'accord avec mes critiques qui vont suivre.

(Si possible, merci de regarder la vidéo avant de lire la suite pour ne pas se laisser influencer par mes propres remarques qui vont suivre ; et aussi tout bêtement parce qu'elles sont sans doute difficiles à lire si on n'a pas vu la vidéo avant.)

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

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

(jeudi)

Le curieux cas du mot intension

Au sujet des notes de cours signalées dans le billet précédent, on me fait remarquer en commentaire, d'ailleurs pas très agréablement, que j'ai écrit intention (dans le contexte d'un contraste avec extension) là où je voulais sans doute écrire intension. Alors, est-ce une erreur, ou quelle écriture est-elle préférable ? À vrai dire je m'y perds assez.

Bon, déjà en général je déteste ces mots en -/sjɔ̃/ dont on je sait jamais si on doit les écrire -tion ou -sion (sans parler des différences gratuites entre l'anglais et le français, comme le fait que contorsion, distorsion et extorsion et parfois distension mais pas torsion s'écrivent, en anglais, avec -tion là où le français met -sion : comment voulez-vous retenir quelque chose de pareil[#0] ?). Donc déjà le fait qu'on ait extension avec -sion mais intention avec -tion, tandis que distension hésite, est vraiment pénible. Mais peut-être justement qu'il y a deux mots distincts, intention et intension ? C'est là que ça devient hautement confus.

[#0] Digression () : Comme on me le signale en commentaire, j'oubliais aussi l'hésitation entre -ction et -xion : annexion mais exaction, complexion mais élection. Bon, encore, ceux-là on peut les retenir au fait qu'il y a des mots annexe et complexe. Mais parfois le français et l'anglais font des choix différents, ou bien l'anglais hésite : connexion, inflexion, réflexion, génuflexion et peut-être parfois même flexion lui-même s'écrivent, en anglais, avec -ction, au moins en anglais américain parce que l'anglais britannique hésite plus, alors que le français met -xion. (Le fait que connexion s'écrive -xion en français et -ction en anglais peut se retenir au fait que connexe en français se dit connected en anglais, mais reflex existe bien en anglais sans que ça empêche d'écrire reflection. Soupir.)

Indubitablement, certains dictionnaires contiennent bien un mot intension (qui n'est pas le même que intention). Ou peut-être même qu'il y a plusieurs mots intension différents ? La 5e édition (1798) du Dictionnaire de l'Académie française donne : INTENSION. sub. fém. Terme de Physique. Force, véhémence, ardeur. L'intension de la fièvre. — ce qui ne m'aide pas et ce qui n'est clairement pas le sens que je veux, et de toute façon ce mot semble avoir mystérieusement disparu des éditions ultérieures. Au moment où j'écris, le TLF en ligne semble en rade, donc je ne peux pas vérifier s'il a le mot intension et avec quel sens[#]. Mais dans Wiktionary en français, on trouve intension \ɛ̃.tɑ̃.sjɔ̃\ féminin 1. (Logique) Désignation d’un ensemble d’éléments par un prédicat qu’ils vérifient. En anglais, le American Heritage Dictionary of the English Language me dit : in·ten·sion (ĭn-tĕnʹshən) n. 1. The state or quality of being intense; intensity. 2. The act of becoming intense or more intense; intensification. 3. Logic. The sum of the attributes contained in a term. [Latin intēnsiō, intēnsiōn-, from intēnsus, stretched. See intense.] — in·tenʹsion·al adj. Et dans Wiktionary en anglais, je lis : intension (plural intensions) […] 2. (logic, semantics) Any property or quality connoted by a word, phrase or other symbol, contrasted with actual instances in the real world to which the term applies.

[#] Voici : INTENSION, subst. fém. A. - Vx. Force, ardeur. L'intension de la fièvre (Ac. 1798). B. - LOG., LING., vieilli. Synon. de compréhension (d'un concept, d'un terme). Anton. extension. Plus l'intension d'un terme (le nombre de traits) est grande, plus l'extension (la classe des objets dénotés) est restreinte. Il faut plus de traits pour définir hêtre que pour définir arbre, mais il y a dans l'univers observé plus d'arbres que de hêtres (MOUNIN 1974).

Voilà qui ne m'aide pas des masses, et honnêtement je ne comprends pas vraiment ces définitions.

L'étymologie n'est pas d'un grand secours non plus. En latin, intēnsiō et intēntiō existent tous les deux, mais ils ont l'air vaguement interchangeables. Le Gaffiot donne : intensĭo, ōnis, f. (intendo), action de tendre, tension — et il donne un plus grand nombre de sens pour intentĭo, mais le premier est le même. (À ce sujet, le Gaffiot a aussi les deux mots extensĭo et extentĭo, mais là l'un renvoie simplement à l'autre ; ça suggère en tout cas qu'il n'y a pas vraiment de raison étymologique forte au fait d'écrire extension avec -sion et intention avec -tion.)

Bon alors qu'est-ce que c'est que cette histoire du mot intension et quel est son sens en logique ?

Je ne suis pas sûr de comprendre le sens général.

Le sens dans lequel je l'utilisais (avec l'orthographe en -tion, mais peut-être que je vais changer) dans mes notes est le suivant : si on a un programme/algorithme qui calcule une fonction, alors ce programme/algorithme est l'intention (ou peut-être justement plutôt l'intension, donc… bon, écrivons intenſion comme une sorte de compromis) tandis que la fonction calculée est l'extension. C'est important de faire la distinction parce qu'une même fonction peut être calculée par toutes sortes d'algorithmes différents. (Et le théorème de Rice nous dit essentiellement qu'on ne peut rien dire de non-trivial — calculablement et à coup sûr — sur l'extension rien qu'en regardant l'intenſion.)

En théorie des ensembles, l'extension d'un ensemble, c'est justement l'ensemble de ses éléments. Et l'axiome d'extensionalité nous dit que deux ensembles ayant les mêmes éléments sont égaux (dans l'autre sens ça fait partie de la définition même de l'égalité). L'intenſion, si je me base sur la définition donnée par Wiktionary, ce serait une propriété définissant l'ensemble implicitement : par exemple {0,1,2} serait un ensemble défini en extension alors que {n∈ℕ : n≤2} serait le même ensemble définit en intenſion.

Déjà, je ne suis pas franchement convaincu que les deux sens décrits aux deux paragraphes précédents soient exactement le même, ni quel serait le sens général. Mais l'idée approximative est que l'extension est une description explicite (d'une fonction par ses valeurs, d'un ensemble par ses éléments) de l'objet désigné, alors que l'intenſion est une description par une caractérisation du sens, ou quelque chose comme ça.

Du coup, je peux très bien rapprocher ça du mot intention au sens de volonté de faire quelque chose : en décrivant un algorithme pour une fonction, je veux fabriquer cette fonction, donc l'algorithme est l'intention qui produit la fonction. Ceci justifierait d'écrire le mot en -tion et de l'identifier avec le mot usuel intention (but, volonté).

[Ajout  :] Ce qui est bizarre, c'est qu'il y a une distinction que je comprends bien, c'est celle entre extensif et intensif : extensif fait référence à quelque chose qui tend à s'étendre, i.e., tendu vers l'extérieur, alors qu'intensif fait référence à quelque chose qui tend à s'intensifier (← oui, OK, c'est une lapalissade), i.e., tendu vers l'intérieur. Je comprends par exemple bien la différence entre agriculture extensive (qui utilise de l'espace) et agriculture intensive (qui maximise ses rendements à surface donnée) ou, en physique, entre une grandeur extensive (qui double quand on double la quantité de choses considérées, p.ex. la masse ou le volume) et une grandeur intensive (qui reste la même quand on double la quantité de choses considérées, p.ex. la température ou la pression). Mais cette distinction extensif/intensif (pour laquelle je n'ai aucun doute sur l'orthographe en -s-) semble avoir assez peu de rapport avec la distinction extension/intenſion dont je parle ici (en tout cas je ne vois pas pourquoi l'un correspondrait à tendre vers l'extérieur et l'autre vers l'intérieur).

Une explication plus détaillée, mais dont honnêtement je ne comprends las bien les subtilités, sur la distinction entre extensionnel et intenſionnel en logique ou en philosophie est sur cette page de la Stanford Encyclopedia of Philosophy et celle-ci sur Wikipedia (voir aussi cet autre passage sur Wikipédia s'agissant précisément des théories des types intuitionnistes ; je sais que Martin-Löf en a inventé plusieurs qu'on désigne justement en en qualifiant certaines d'extensionnelles et d'autres d'itenſionnelles). Mais je trouve que tout ça est plus confus qu'éclairant (disons que j'ai l'impression confuse qu'on mélange plusieurs distinctions qui ne sont pas la même, notamment le fait de décrire un objet par son identité ou par une caractérisation, et le fait de s'intéresser à des égalités contingentes ou nécessaires, ce qui sont deux questions qui me semblent sans rapport).

Un exemple qu'on donne souvent, mais là aussi je ne suis pas sûr de pouvoir le relier clairement aux usages évoqués ci-dessus, est quelque chose comme le syllogisme fallacieux suivant (attention, divulgâchis concernant le film Star Wars) :

Luke Skywalker veut devenir comme son père.

Darth Vader est le père de Luke Skywalker.

Donc : Luke Skywalker veut devenir comme Darth Vader.

Si on veut expliquer l'erreur en parlant d'extension et d'intenſion, l'idée est que bien que Darth Vader soit le père de Luke Skywalker en extension (ce sont la même personne), l'intenſion, au moins dans la tête de Luke, est différente, puisqu'il n'a pas cette information (ou même quand il l'a, il y pense différemment). Donc on ne peut pas substituer une égalité extensionnelle dans un énoncé qui dépend des intenſions.

(Mais à vrai dire, moi, j'aurais plutôt tendance à analyser ça en termes de logique modale et mondes possibles : le fait que dans un monde donné on ait x=y, n'est pas la même chose que de dire que x et y sont nécessairement égaux, c'est-à-dire égaux dans tous les mondes possibles, et notamment dans le monde que Luke a dans sa tête. Ce n'est pas clair pour moi si cette analyse en termes de logique modale et mondes possibles soit compatible avec l'analyse en terme d'extension/intenſion que je viens de donner.)

Là aussi, je n'ai pas trop de mal à identifier le mot que je persiste à écrire intenſion pour signifier mon doute sur l'orthographe, avec le mot intention tout à fait habituel et qu'on écrit -tion de façon standard : on parle justement des intentions de Luke. Pourquoi une orthographe différente ?

Du coup je ne sais toujours pas si intension est une variante orthographique du mot intention qui s'est spécialisée dans ce sens bizarre en philo / logique / linguistique, ou si c'est un mot distinct (même si, in fine, ils viennent quand même de la même origine latine).

C'est peut-être comme mise en abyme, qui est juste une variante graphique de abîme, mais c'est quand même le même mot. (En l'occurrence, il semble que ce soit André Gide qui ait popularisé cette expression dans son sens figuré, avec cette orthographe particulière : ça vient de l'héraldique mais il n'y a pas spécialement de raison de préférer l'orthographe en ‘y’. Ceci étant, maintenant qu'elle s'est imposée, on peut trouver que ce n'est pas plus mal d'avoir cette spécialisation.)

Maintenant, comme il y a indubitablement des gens qui utilisent scrupuleusement l'orthographe intension pour les différents sens que je n'ai pas réussi à rendre très clairs ci-dessus, peut-être que c'est une bonne idée de se rallier à cette convention comme on peut choisir d'écrire mise en abyme avec ‘y’ même s'il n'y a pas de raison étymologique à le faire.

Ceci étant, on peut se demander comment est apparue cette écriture intension avec ce sens (je veux dire, celui de la philo / logique, pas celui donné par l'édition de 1798 du Dictionnaire de l'Académie), indépendamment du fait que ce soit ou non un mot distinct de intention. L'article de la Stanford Encyclopedia of Philosophy cité ci-dessus semble dire que c'est Carnap le coupable. (The Port-Royal Logic used terminology that translates as “comprehension” and “denotation” for this. John Stuart Mill used “connotation” and “denotation.” Frege famously used “Sinn” and “Bedeutung,” often left untranslated, but when translated, these usually become “sense” and “reference.” Carnap settled on “intension” and “extension.” However expressed, and with variation from author to author, the essential dichotomy is that between what a term means, and what it denotes.) Mais la Wikipédia en allemand évoque aussi Leibniz, qui aurait alors certainement l'antériorité sur Carnap.

Évidemment, si l'inventeur du terme (qu'il s'agisse de Carnap ou Leibniz) écrivait en allemand, langue dans laquelle intention se dit Absicht (même si Intention se trouve aussi), le fait d'avoir choisi l'écriture Intension comme pendant à Extension n'est pas aussi significatif qu'en français ou en anglais.

Quoi qu'il en soit, je reste assez dubitatif sur la question de si on doit considérer que intension est un mot distinct de intention, comme sur celle de savoir si on doit se tenir à cette orthographe (cette fantaisie de Carnap comme abyme en est une de Gide ?), et, en fait, sur la signification (ou peut-être la significasion ?) générale de cette histoire d'intenſionalité.

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

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

(mercredi)

Transparents de cours de calculabilité

Comme je le disais il y a un mois, je me suis engagé à organiser à Télécom Paris(PlusÀParis) un cours de Logique et Fondements de l'Informatique où je dois parler de calculabilité, logique et typage. Je suis évidemment complètement à la bourre sur la préparation de ce cours, qui commence , mais bon, j'ai au moins provisoirement fini d'écrire des transparents pour la partie « calculabilité » qui devrait occuper, je pense, bien 6h de cours (sur 22h au total pour le cours magistral ; il y a des TD/TP à côté). Autant que je rende ça public dès maintenant, des fois que des gens voudraient m'aider à corriger les fautes. Donc :

Ces transparents sont en ligne ici

(Je compte concaténer ceux de la suite du cours quand il seront écrits. Je ne sais pas encore comment je veux diviser ça donc ce n'est pas évident de choisir des adresses intelligemment.)

J'ai à peine commencé à les relire, donc c'est certainement bourré de typos et de fautes plus ou moins graves. J'espère quand même qu'il n'y a pas d'erreur tellement grave qu'elle m'obligerait à tout restructurer.

Si vous faites des commentaires, pensez à me donner l'identifiant Git (en bas du premier transparent) auxquels ils se rapportent. (Au moment où j'écris ce billet, c'est 31080ea Wed Nov 1 11:06:40 2023 +0100 ; l'arbre Git avec le source est ici.)

Il faut préciser que ça s'adresse à des élèves ayant déjà fait de l'informatique en prépa (filière MPI ou filière MP option info, plus quelques uns venus de licences d'info ; les programmes des classes prépa sont ici), donc d'une part ce n'est pas comme s'ils découvraient tout, d'autre part on peut les espérer motivés par le sujet.

Dans cette partie calculabilité, je présente les fonctions primitives récursives et surtout générales récursives, les machines de Turing et le λ-calcul non typé, l'esquisse de l'équivalence entre les trois présentations de la calculabilité (fonctions générales récursives, machines de Turing et λ-calcul non typé), ainsi que divers résultats classiques fondamentaux : théorème s-m-n, théorème de récursion de Kleene, existence d'une machine universelle, résultats élémentaires sur les ensembles décidables (= calculables) et semi-décidables (= calculablement énumérables), et bien sûr l'indécidabilité du problème de l'arrêt (et aussi l'incalculabilité de la fonction « castor affairé »). Dans la suite du cours, il est prévu de parler de λ-calcul simplement typé en lien avec le calcul propositionnel intuitionniste, puis de diverses extensions (logique classique, logique du premier ordre, et évoquer divers bouts du cube de Barendregt). Le fil conducteur du cours est censé être quelque chose comme ceci : L'indécidabilité du problème de l'arrêt signifie que tout langage informatique qui garantit la terminaison des programmes est nécessairement limité ; des systèmes de typage de plus en plus puissants cherchent à rendre cette limitation aussi faible que possible.

J'ai renoncé à parler, même allusivement, de machines avec oracle ou de degrés de Turing ; mais les gens qui veulent en savoir plus sur ce sujet peuvent se référer à ce billet interminable pour lequel les notes ci-dessus suffisent largement en matière de prérequis.

Ajout () : Suivant ce qu'on m'a fait remarquer en commentaire, j'ai ajouté (Git 1cdc719 Thu Nov 2 17:08:48 2023 +0100) des choses sur le théorème de Rice et les réductions (many-to-one et de Turing). Il est cependant vraisemblable que j'en saute au moins une partie.

Le fait de me replonger dans le λ-calcul non typé, et de vouloir en savoir plus que le minimum que j'enseigne, m'a obligé à réapprendre plein de choses à son sujet[#], que j'avais complètement oublié ou jamais sues, et redécouvrir toutes les petites crottes de ragondin qui polluent un sujet qui a superficiellement l'air simple et élégant (comme : la différence entre β-réduction et βη-réduction, la différence entre termes normalisables et fortement normalisables, la différence entre stratégie de réduction extérieure gauche et intérieure gauche, la différence entre forme normale, forme normale de tête et forme normale de tête faible, etc.) ; le livre de Barendregt (The Lambda Calculus: Its Syntax and Semantics) est assez abominable en matière de dissection de crottes de ragondin, et celui de Krivine (Lambda-calcul : types et modèles — disponible en ligne en traduction anglaise) ne l'est pas moins. Un des problèmes est sans doute qu'on n'a pas vraiment idée de ce que sont les termes du λ-calcul non typé (prima facie, ce sont des fonctions qui prennent en entrée une autre fonction de même sorte et renvoient une autre fonction de même sorte : ce n'est pas du tout clair qu'on puisse fabriquer un objet qui soit aussi l'objet des morphismes de lui-même dans lui-même !) : divers gens (en commençant par Dana Scott à la fin des années 1960) ont réussi à en donner des modèles, ce qui éclaircit un peu la sémantique, mais là aussi on se perd entre les différentes manières de fabriquer des modèles du λ-calcul et les zillions de relations d'équivalence entre types que fournissent ces façons de fabriquer des modèles. (J'ai commencé à lire plein de choses sur le sujet, et surtout à me noyer dans les notations pourries. J'espère que l'article From computation to foundations via functions and application: The λ-calculus and its webbed models de Chantal Berline m'aidera à y voir plus clair.)

Je suis assez étonné, en revanche, de ne pas trouver d'implémentation (libre, flexible et largement disponible) du λ-calcul non typé, qui permettrait de tester un peu les choses (transformer les notations, réécrire les termes à la main ou de façon automatisée, comparer les stratégies de réduction, etc.). Est-ce que j'en ai raté une évidente ?

[#] La première fois que j'ai appris des choses sur le λ-calcul, ça devait être vers 1990 quand on m'a offert le livre de vulgarisation scientifique The Emperor's New Mind de Roger Penrose (j'en ai parlé dans une section d'une entrée récente), qui décrit un peu le λ-calcul et les entiers de Church, et ça m'a complètement fasciné que des règles typographiques aussi simples et élégantes (← mais bon, en fait, une bonne quantité de poussière avait été glissée sous le tapis) puissent donner quelque chose d'aussi puisant.

Ajout () : Par pure coïncidence, la chaîne de télé Arte vient de produire, dans le cadre de sa série Voyages au pays des maths, un mini-documentaire de vulgarisation (10 minutes) intitulé L'Entscheidungsproblem ou la fin des mathématiques ? (ici sur YouTube, ici sur le site web d'Arte) et qui porte justement sur le sujet dont je parle ici. Je ne suis pas d'accord avec tous les choix de présentation, mais ça donne au moins une idée de ce dont il est question (et notamment, tenter de vulgariser l'équivalence entre fonctions générales récursives, machines de Turing et λ-calcul était un défi pas du tout évident, et je trouve qu'il s'en sort pas mal). Surajout : voir ce nouveau billet où je décortique un peu plus cette vidéo.

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

Only the 20 most recent entries were included above. Continue to older entries.

Seules les 20 plus récentes entrées ont été incluses ici. Continuer à lire les entrées plus anciennes.


Entries by month / Entrées par mois:

2024 Jan 2024 Feb 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]