Ordre lexicographiqueEn mathématiques, un ordre lexicographique est un ordre que l'on définit sur les suites finies d'éléments d'un ensemble ordonné (ou, de façon équivalente, les mots construits sur un ensemble ordonné). Sa définition est une généralisation de l'ordre du dictionnaire : l'ensemble ordonné est l'alphabet, les mots sont bien des suites finies de lettres de l'alphabet. La principale propriété de l'ordre lexicographique est de conserver la totalité de l'ordre initial. On peut définir de façon analogue un ordre lexicographique sur des produits cartésiens d'ensembles ordonnés, dont les éléments sont donc des n-uplets, c’est-à-dire, en d'autres termes, des suites finies de longueur fixée. Ordre lexicographique sur un produit cartésienBien que l'ordre du dictionnaire soit manipulé dès l'école primaire, on va commencer la formalisation par un cas simple, celui du produit cartésien binaire. C’est-à-dire que les mots de notre dictionnaire ne seront composés tout d'abord que de deux lettres. Les ensembles (A, ≤) et (B, ≤) sont tous deux ordonnés, l'ordre étant noté de la même façon pour les deux ensembles, une liberté qui ne devrait troubler personne. L'ordre lexicographique sur A × B, que l'on note encore ≤, est défini de la façon suivante, pour (a,b) et (a’,b’) deux couples de A × B :
et on en déduit facilement la propriété analogue pour l'ordre lexicographique strict :
Il s'agit bien de l'ordre du dictionnaire, par exemple :
Le choix de la première composante pour commencer la comparaison est purement arbitraire, mais, comme illustré par l'exemple alphabétique qui précède, si l'on commence la comparaison par la seconde composante, on obtient un ordre différent. Exemples
Propriétés
Généralisation aux produits cartésiens finisSi l'on considère qu'un produit cartésien fini A1 × … × Ak, est défini à l'aide du produit cartésien binaire par :
(ou si on l'a défini autrement, qu'il y a une bijection canonique entre ces deux ensembles), on généralise naturellement, par récurrence, l'ordre lexicographique aux produits finis d'ensembles ordonnés. Supposons que nous ayons défini l'ordre lexicographique pour les produits cartésiens de k ensembles ordonnés. Alors pour définir l'ordre lexicographique pour le produit de k+1 ensembles ordonnés, soient A1, A2, … , Ak × Ak+1, on ordonne lexicographiquement le produit cartésien binaire de A1, et du produit cartésien de k ensembles A2 × … × Ak × Ak+1, ce dernier étant lui-même ordonné lexicographiquement. C’est-à-dire que l'ordre lexicographique sur le produit d'ensembles ordonnés A1 × A2 × … × Ak+1 est défini ainsi à partir de l'ordre lexicographique sur A2 × … × Ak+1 (on définit l'ordre strict qui est noté < pour tous les ensembles en jeu) :
En décomposant le produit cartésien « en commençant par la fin », on obtient le même ordre, c’est-à-dire qu'en conservant les mêmes notations on a :
En « développant » la définition par récurrence de l’ordre lexicographique sur A1 × A2 × … × Ak, chacun de ces ensembles étant ordonné, on obtient :
ExemplesSi on ordonne lexicographiquement N × N × N, chacun étant ordonné usuellement, on obtient un bon ordre dénombrable correspondant à l'ordinal ω3, qui n'est égal ni à ω, ni à ω2. PropriétésLes propriétés énoncées pour les produits cartésiens binaires se généralisent immédiatement par récurrence : l'ordre lexicographique défini sur un produit cartésien fini d'ensembles totalement ordonnés est un ordre total, l'ordre lexicographique défini sur un produit cartésien fini d'ensembles bien ordonnés est un bon ordre. Ordre lexicographique sur des suites finiesC'est celui qui a pour cas particulier l'ordre employé pour les dictionnaires. Contrairement aux cas précédents on veut pouvoir comparer des suites finies de longueur arbitraire. Par exemple, dans le cas du dictionnaire « maison » est avant « maman » car "ma" = "ma" et "i" < "m". Cependant « maison » a 6 lettres et « maman » 5. Ces mots ne peuvent être considérés comme éléments d'un même produit cartésien fini, à moins d'ajouter une lettre à l'alphabet, par laquelle on complète arbitrairement le mot le plus court. Ce n'est pas complètement inenvisageable pour le dictionnaire, puisque les mots d'une langue ont, en pratique, une longueur maximale (tout du moins ceux qui apparaissent dans le dictionnaire …), mais serait très artificiel. Il est donc naturel de définir l'ordre lexicographique sur des suites finies de longueur arbitraire. Soit donc (E, ≤) un ensemble ordonné. On pose E*=, la réunion de tous les produits cartésiens finis construits sur E (E0 contient uniquement la suite vide). On définit l'ordre lexicographique sur E* de la façon suivante. Soient a=(a1, … , ap) et b=(b1, … , bq) deux éléments quelconques de E*, et soit m le plus petit des deux entiers p et q. Alors a < b si et seulement si :
PropriétésOn montre facilement que, si l'ordre initial sur E est total, l'ordre lexicographique sur E*, l'ensemble des suites finies d'éléments de E, est également total. Par contre la propriété de bon ordre n'est pas conservée (sauf bien sûr si E est un singleton). Par exemple {0, 1} est bien ordonné, mais {0, 1}* ne l'est pas, comme le montre la suite infinie décroissante :
Il faut donc envisager d'autres méthodes pour bien ordonner les suites finies d'un ensemble bien ordonné, par exemple comparer d'abord les longueurs des suites. Définition en prenant en compte les longueurs des suitesBaader et Nipkow[1] définissent l'ordre lexicographique comme suit. Si (E, >) est un ordre strict, alors l'ordre lexicographique >*lex sur E* est défini par : u >*lex v si, et seulement si (|u| > |v| ou (|u| = |v| et u >|u| lex v)) où |w| est la longueur du mot w, et >|u|lex est l'ordre lexicographique sur E|u|. Si > est un ordre strict, alors >*lex est aussi un ordre strict. Si > termine, alors >*lex termine. Notes et références
Voir aussi |