Aperçu de la structure

Du logarithme à l’algorithme : la science cachée des anagrammes

Mots, permutations et pensée informatique : compter, vérifier et inventer des anagrammes sans perdre une seule lettre.

Section: Logique Mis à jour:
Articles /anagrammes-logarithme-algorithme-mathematiques-informatique
Du logarithme à l’algorithme : la science cachée des anagrammes

14 min

Déplaçons quelques lettres : LOGARITHME devient ALGORITHME. Cette coïncidence amusante ouvre une rencontre entre langue, mathématiques, informatique et créativité.

Illustration de la section Logique
Section : Logique

Partons d’une question simple : que doit-on conserver lorsqu’on déplace les lettres ? Elle conduit à compter les possibilités, choisir un algorithme efficace et comprendre pourquoi une phrase brillante n’est pas forcément une anagramme exacte.

LOGARITHME ⇄ ALGORITHME

1. Les lettres changent de place, pas d’identité

Une anagramme réordonne toutes les lettres d’un mot ou d’une expression sans en ajouter ni en supprimer. Retrouver les mêmes sortes de lettres ne suffit pas : leurs nombres d’occurrences doivent aussi coïncider. En mathématiques, c’est un multiensemble, où les répétitions comptent.

Ici, nous ignorons espaces, apostrophes, ponctuation et différences entre majuscules et minuscules. Nous conservons les accents et les lettres comme ñ : on ne les efface pas pour arranger un exemple. Pour un traitement numérique, la normalisation Unicode NFC évite de confondre des codages équivalents d’une même lettre accentuée avec des caractères différents.

L’exactitude des lettres est une contrainte objective. Le sens, l’humour et le naturel forment un second niveau : une bonne anagramme littéraire doit réussir les deux épreuves.

Normalisation Unicode : référence technique

2. Quand les mots racontent une histoire

Le CHIEN trouve sa NICHE ; PIRATE se réorganise en PARTIE ou PATRIE. Le plaisir apparaît lorsque les mêmes lettres produisent un sens nouveau, parfois lié au premier. Les exemples sont des jeux de langue, sans attribution ici à un inventeur particulier.

DépartAnagrammeLien de sens
CHIENNICHEL’animal et son abri.
PIRATEPATRIELes mêmes lettres portent deux idées différentes.
PIRATEPARTIEUn autre membre de la même famille.
GARERAGEUn lieu devient une émotion.
ANGENAGEUn nom et une forme du verbe nager.

Un piège instructif: ANGE → ANGES

Ce n’est pas une anagramme : ANGES ajoute un S. Une relation de sens ne compense pas une lettre supplémentaire.

3. Un jeu qui ne se traduit pas littéralement

Traduire le sens ne conserve pas les lettres. LISTEN et SILENT sont une anagramme anglaise ; « écouter » et « silencieux » expliquent leur sens, mais ne constituent pas une anagramme française. Les quatre versions utilisent donc des exemples locaux plutôt qu’une traduction mécanique.

La paire initiale est une heureuse exception : LOGARITHME/ALGORITHME en français, LOGARITMI/ALGORITMI en italien, LOGARITHM/ALGORITHM en anglais et LOGARITMO/ALGORITMO en espagnol fonctionnent chacun dans leur langue. Leurs longueurs et répétitions diffèrent pourtant : les dénombrements ne sont pas tous identiques.

Les trois exemples anglais suivants restent dans leur langue d’origine. Le commentaire français explique le rapprochement, sans prétendre être lui-même une anagramme.

DépartAnagrammeLien de sens
ASTRONOMERMOON STARERAstronome / personne qui contemple la Lune.
DORMITORYDIRTY ROOMDortoir / chambre sale.
ELEVEN PLUS TWOTWELVE PLUS ONEOnze plus deux / douze plus un : les deux sommes valent 13.

4. Combien de dispositions peut-on construire ?

Avec quatre lettres différentes, nous avons quatre choix pour la première position, puis trois pour la deuxième, deux pour la troisième et un pour la dernière. Nous multiplions les possibilités car il s’agit d’étapes successives d’une construction.

n! se lit « factorielle de n » : c’est le produit des entiers de 1 à n ; par convention 0! = 1. Le total inclut le mot de départ. Si on exclut sa disposition initiale, on retranche un.

Les 24 dispositions de RAME ne sont pas 24 mots français. RAME, ARME, MARE et AMER sont reconnaissables ; d’autres suites n’ont aucun sens. La formule dénombre des dispositions de lettres, non les entrées d’un dictionnaire.

RAME: 4 × 3 × 2 × 1 = 4! = 24

5. Lettres répétées : pourquoi faut-il diviser ?

Étiquetons temporairement les trois A et les deux N d’ANANAS. Nous aurions 6! dispositions de six jetons distincts. Mais permuter les trois A ne change pas le mot visible, pas plus que permuter les deux N : chaque résultat est compté 3! × 2! fois.

Si n lettres possèdent des multiplicités n₁, n₂, …, nₖ dont la somme vaut n, il faut diviser par la factorielle de chaque multiplicité. On ne divise pas par le nombre de lettres répétées, mais par le nombre de permutations invisibles au sein de chaque groupe.

P = n! / (n₁! × n₂! × … × nₖ!)

ANANAS: 6! / (3! × 2!) = 60
LOGARITHME: 10! = 3628800

6. Explosion combinatoire et lien avec les algorithmes

Les factorielles croissent bien plus vite que ne le suggèrent leurs premières valeurs. Ajouter une lettre distincte multiplie le total par le nouveau nombre de positions. Générer toutes les dispositions pour vérifier une seule proposition est donc disproportionné.

LOGARITHME et ALGORITHME offrent aussi un lien conceptuel : la recherche dichotomique divise par deux un espace ordonné de candidats ; le nombre de divisions croît comme log₂ n. Dix divisions ramènent 1024 possibilités à une. Ce rapprochement conceptuel ne démontre pas une parenté étymologique entre les mots.

Lettres toutes distinctesDispositions
424
6720
840 320
103 628 800
12479 001 600
151 307 674 368 000

7. Comment un ordinateur vérifie une anagramme

Une méthode trie les lettres de chaque expression puis compare les suites obtenues. La suite triée constitue une signature : si elle coïncide, les lettres et leurs multiplicités coïncident aussi.

Une autre méthode compte : incrémenter les compteurs pour le premier mot et les décrémenter pour le second. À la fin, ils doivent tous être nuls. Additionner les codes des lettres n’est pas une signature fiable : A+D et B+C ont la même somme en ASCII, mais pas les mêmes lettres.

Dans les coûts comparés, n est la longueur normalisée totale et k la taille de l’alphabet choisi. Le comptage demande O(n+k), soit O(n) pour un alphabet fixé. Pour des écritures plus complexes, il faut définir précisément la notion de lettre ; normaliser n’autorise pas à supprimer des distinctions linguistiques.

CHIEN → CEHIN
NICHE → CEHIN
LettrePremier motDeuxième mot
C11
E11
H11
I11
N11
MéthodeTravail demandéPourquoi
Générer toutes les dispositionsFactoriel pour des lettres distinctesExplore beaucoup de candidats inutiles pour vérifier une seule paire.
Trier et comparerO(n log n) avec un tri par comparaisons efficacePlace les lettres identiques aux mêmes positions.
Comparer les fréquencesO(n+k), soit O(n) pour un alphabet fixéParcourt les lettres et compare k compteurs.
VÉRIFIER(s, t)
  s ← PRÉPARER(s); t ← PRÉPARER(t)
  si longueur(s) ≠ longueur(t) : retourner FAUX
  compteurs ← zéros pour chaque lettre autorisée
  pour chaque lettre c de s : compteurs[c] += 1
  pour chaque lettre c de t : compteurs[c] -= 1
  retourner TOUS_NULS(compteurs)

Pour approfondir le comptage des fréquences: Princeton · Count.java

Vérifier une proposition consiste à tester une contrainte précise. Inventer une phrase demande aussi d’explorer un vocabulaire, combiner des mots et apprécier leur sens. Il n’est toutefois pas nécessaire d’énumérer aveuglément toutes les permutations.

Un dictionnaire peut être indexé par signature, réunissant les mots de mêmes fréquences. Pour composer une phrase, choisir un mot compatible, soustraire ses lettres du stock et continuer. Abandonner immédiatement une branche qui réclame une lettre absente, c’est l’élagage. Revenir à un choix antérieur pour essayer une autre option, c’est le retour sur trace, ou backtracking.

Les résultats dépendent du dictionnaire et des règles : noms propres, formes fléchies et mots rares peuvent être admis ou exclus. Ne rien trouver dans une liste donnée ne prouve pas qu’aucune phrase n’existe dans la langue.

9. Humain, ordinateur et intelligence artificielle

La pensée informatique intervient lorsqu’on sépare préparation, comptage, vérification et jugement du sens. Humain et machine n’ont pas besoin d’accomplir la même tâche.

Une IA peut suggérer des thèmes et formulations, mais une phrase convaincante peut discrètement ajouter une lettre. La proposition doit subir un contrôle déterministe des fréquences. Créativité et vérification se renforcent ; aucune ne remplace l’autre.

ProblèmeApport humainApport de l’ordinateur
Définir les règlesChoisit langue, accents et mots autorisés.Applique une préparation identique à tous les textes.
Vérifier une paireExplique pourquoi le test répond à la question.Compare chaque fréquence sans se fier au sens.
Trouver des candidatsPropose thèmes, humour et rapprochements.Explore le dictionnaire et élague les branches impossibles.
Évaluer une phraseJuge naturel, contexte et pertinence.Fournit suggestions et contrôles sans remplacer le jugement éditorial.

10. Galilée : cacher une découverte dans des lettres

En 1610, Galilée communiqua une observation de Saturne par anagramme, en réservant son contenu tout en revendiquant la priorité. La phrase dévoilée décrivait la planète sous une forme triple : sa lunette ne distinguait pas clairement ses anneaux.

Cet usage historique ne constitue pas une protection moderne des données : réordonner les lettres laisse leur inventaire apparent et ne garantit pas une interprétation unique.

Pour le contexte historique: Mario Biagioli · From ciphers to confidentiality; Museo Galileo · Saturno.

11. Six défis : chercher avant de révéler

Les solutions sont d’abord masquées. Avant de les ouvrir, notez ce qui reste inchangé et quelle formule ou quel algorithme répond véritablement à la question.

1. Vérifiez CHIEN / NICHE : quelles signature triée et fréquences obtenez-vous ?

Afficher la solution et le raisonnement
CHIEN → CEHIN
NICHE → CEHIN

La signature coïncide car chaque lettre apparaît le même nombre de fois.

2. Combien de dispositions distinctes possède RAME ? Sont-elles toutes des mots ?

Afficher la solution et le raisonnement
RAME: 4! = 24

Le total inclut la disposition initiale et les suites sans sens ; le dictionnaire est un filtre ultérieur.

3. Combien de dispositions distinctes possède ANANAS ? Pourquoi n! est-il trop grand ?

Afficher la solution et le raisonnement
ANANAS: 6! / (3! × 2!) = 60

Échanger des copies identiques ne produit pas une nouvelle disposition visible : on divise donc par les factorielles des multiplicités.

4. AAB et ABB ont les mêmes sortes de lettres : sont-ils des anagrammes ?

Afficher la solution et le raisonnement
AAB: A=2, B=1
ABB: A=1, B=2

Non. AAB contient deux A et un B ; ABB un A et deux B. Même longueur et mêmes types de lettres ne suffisent pas.

5. Combien de dispositions de RAME commencent par R ?

Afficher la solution et le raisonnement
3! = 3 × 2 × 1 = 6

Une fois la première lettre fixée, il reste trois lettres distinctes : 3! = 6.

6. Une IA propose une phrase brillante : comment vérifier que l’anagramme est exacte ?

Afficher la solution et le raisonnement

Définissez les règles, normalisez les deux textes et comparez longueurs et fréquences. Si elles coïncident, vérifiez grammaire et sens. Sinon corrigez la phrase, même si elle est spirituelle.

12. Une idée à retenir

L’anagramme enseigne plus qu’un jeu : changer de représentation peut simplifier un problème apparemment énorme. Inutile de produire des millions de phrases pour comparer deux inventaires, ou de confondre une disposition possible avec un mot sensé.

Les mathématiques comptent, l’informatique organise, la langue donne du sens et la créativité découvre des liens. La vérification finale reste une question petite et précise : avons-nous utilisé exactement les mêmes lettres ?

Poursuivre le parcours