En matemáticas , el orden lexicográfico o lexicográfico (también conocido como orden léxico , u orden de diccionario ) es una generalización del orden alfabético de los diccionarios a secuencias de símbolos ordenados o, más generalmente, de elementos de un conjunto totalmente ordenado .
Existen varias variantes y generalizaciones del ordenamiento lexicográfico. Una variante se aplica a secuencias de diferentes longitudes comparando las longitudes de las secuencias antes de considerar sus elementos.
Otra variante, muy utilizada en combinatoria , ordena subconjuntos de un conjunto finito dado asignando un orden total al conjunto finito, y convirtiendo los subconjuntos en secuencias crecientes , a las que se les aplica el orden lexicográfico.
Una generalización define un orden en un producto cartesiano n -ario de conjuntos parcialmente ordenados ; este orden es un orden total si y sólo si todos los factores del producto cartesiano están totalmente ordenados.
Las palabras de un léxico (el conjunto de palabras utilizadas en algún idioma) tienen un ordenamiento convencional, utilizado en diccionarios y enciclopedias , que depende del ordenamiento subyacente del alfabeto de símbolos utilizados para construir las palabras. El orden lexicográfico es una forma de formalizar el orden de las palabras dado el orden de los símbolos subyacentes.
La noción formal comienza con un conjunto finito A , a menudo llamado alfabeto , que está totalmente ordenado . Es decir, para dos símbolos cualesquiera a y b en A que no sean el mismo símbolo, a < b o b < a .
Las palabras de A son secuencias finitas de símbolos de A , incluidas palabras de longitud 1 que contienen un solo símbolo, palabras de longitud 2 con 2 símbolos, y así sucesivamente, incluso incluyendo la secuencia vacía sin ningún símbolo. El orden lexicográfico del conjunto de todas estas palabras finitas ordena las palabras de la siguiente manera:
Sin embargo, en combinatoria , se utiliza frecuentemente otra convención para el segundo caso, según la cual una secuencia más corta siempre es más pequeña que una secuencia más larga. Esta variante del orden lexicográfico a veces se denomina orden shortlex .
En orden lexicográfico, la palabra "Thomas" aparece antes de "Thompson" porque primero se diferencian en la quinta letra ('a' y 'p'), y la letra 'a' viene antes de la letra 'p' en el alfabeto. Debido a que es la primera diferencia, en este caso la quinta letra es la "diferencia más significativa" para el orden alfabético.
Una propiedad importante del orden lexicográfico es que para cada n , el conjunto de palabras de longitud n está bien ordenado por el orden lexicográfico (siempre que el alfabeto sea finito); es decir, cada secuencia decreciente de palabras de longitud n es finita (o de manera equivalente, cada subconjunto no vacío tiene un elemento mínimo). [1] [2] No es cierto que el conjunto de todas las palabras finitas esté bien ordenado; por ejemplo, el conjunto infinito de palabras {b, ab, aab, aaab, ...} no tiene ningún elemento lexicográficamente más antiguo.
El orden lexicográfico se utiliza no sólo en los diccionarios, sino también comúnmente para números y fechas.
Uno de los inconvenientes del sistema de numeración romana es que no siempre es inmediatamente obvio cuál de dos números es el menor. Por otro lado, con la notación posicional del sistema de numeración hindú-árabe , comparar números es fácil, porque el orden natural de los números naturales es el mismo que la variante shortlex del orden lexicográfico. De hecho, con la notación posicional, un número natural se representa mediante una secuencia de dígitos numéricos , y un número natural es mayor que otro si tiene más dígitos (ignorando los ceros iniciales) o si el número de dígitos es el mismo y el primero El dígito (más significativo) que difiere es mayor.
Para los números reales escritos en notación decimal , se utiliza una variante ligeramente diferente del orden lexicográfico: las partes a la izquierda del punto decimal se comparan como antes; si son iguales, se comparan las partes a la derecha del punto decimal con el orden lexicográfico. El relleno 'en blanco' en este contexto es un dígito "0" al final.
Cuando también se consideran números negativos, hay que invertir el orden para comparar números negativos. Esto no suele ser un problema para los humanos, pero puede serlo para las computadoras (probar la señal lleva algún tiempo). Ésta es una de las razones para adoptar la representación en complemento a dos para representar enteros con signo en las computadoras.
Otro ejemplo de uso del orden lexicográfico fuera del diccionario aparece en la norma ISO 8601 para fechas, que expresa una fecha como AAAA-MM-DD. Este esquema de formato tiene la ventaja de que el orden lexicográfico de las secuencias de caracteres que representan fechas coincide con el orden cronológico : una fecha CE anterior es más pequeña en el orden lexicográfico que una fecha posterior hasta el año 9999. Este orden de fechas permite realizar una clasificación computarizada de las fechas. más fácil al evitar la necesidad de un algoritmo de clasificación separado.
El monoide de las palabras sobre un alfabeto A es el monoide libre sobre A. Es decir, los elementos del monoide son las secuencias finitas (palabras) de elementos de A (incluida la secuencia vacía, de longitud 0), y la operación (multiplicación) es la concatenación de palabras. Una palabra u es un prefijo (o 'truncamiento') de otra palabra v si existe una palabra w tal que v = uw . Según esta definición, la palabra vacía ( ) es un prefijo de cada palabra, y cada palabra es un prefijo de sí misma (con w ); Se debe tener cuidado si se quieren excluir estos casos.
Con esta terminología, la definición anterior del orden lexicográfico se vuelve más concisa: dado un conjunto A parcial o totalmente ordenado , y dos palabras a y b sobre A tales que b no está vacío, entonces se tiene a < b bajo orden lexicográfico, si se cumple al menos una de las siguientes condiciones:
Observe que, debido a la condición del prefijo en esta definición, dónde está la palabra vacía.
Si hay un orden total, también lo es el orden lexicográfico de las palabras de. Sin embargo, en general, este no es un buen orden , incluso si el alfabeto está bien ordenado. Por ejemplo, si A = { a , b } , el idioma { a n b | n ≥ 0, b > ε } no tiene el menor elemento en el orden lexicográfico: ... < aab < ab < b .
Dado que muchas aplicaciones requieren buenos órdenes, a menudo se utiliza una variante de los órdenes lexicográficos. Este buen orden, a veces llamado shortlex u orden cuasi-lexicográfico , consiste en considerar primero las longitudes de las palabras (si longitud( a ) < longitud( b ) , entonces ) y, si las longitudes son iguales, utilizar el orden lexicográfico. . Si el orden en A es un orden bueno, lo mismo ocurre con el orden shortlex. [2] [3]
El orden lexicográfico define un orden en un producto cartesiano n -ario de conjuntos ordenados, que es un orden total cuando todos estos conjuntos están totalmente ordenados. Un elemento de un producto cartesiano es una secuencia cuyo ésimo elemento pertenece a cada. Como al evaluar el orden lexicográfico de las secuencias se comparan sólo los elementos que tienen el mismo rango en las secuencias, el orden lexicográfico se extiende a los productos cartesianos de conjuntos ordenados.
Específicamente, dados dos conjuntos parcialmente ordenados y elEl orden lexicográfico del producto cartesiano se define como
El resultado es un orden parcial. Si y están totalmente ordenados , entonces el resultado también es un orden total. El orden lexicográfico de dos conjuntos totalmente ordenados es, por tanto, una extensión lineal de su orden de producto .
Se puede definir de manera similar el orden lexicográfico sobre el producto cartesiano de una familia infinita de conjuntos ordenados, si la familia está indexada por los números naturales o, más generalmente, por un conjunto bien ordenado. Este orden lexicográfico generalizado es un orden total si cada conjunto de factores está totalmente ordenado.
A diferencia del caso finito, un producto infinito de buenos órdenes no está necesariamente bien ordenado por el orden lexicográfico. Por ejemplo, el conjunto de secuencias binarias infinitas contables (por definición, el conjunto de funciones desde los números naturales hasta el también conocido como espacio de Cantor ) no está bien ordenado; el subconjunto de secuencias que tienen precisamente uno (es decir, { 100000..., 010000..., 001000..., ... } ) no tiene un elemento mínimo bajo el orden lexicográfico inducido por porque 100000... > 010000... > 001000... > ... es una cadena descendente infinita . [1] De manera similar, el producto lexicográfico infinito tampoco es noetheriano porque 011111... < 101111... < 110111... <... es una cadena ascendente infinita.
Las funciones de un conjunto bien ordenado a un conjunto totalmente ordenado pueden identificarse con secuencias indexadas por elementos de. Por lo tanto, pueden ordenarse por el orden lexicográfico, y para dos de esas funciones , el orden lexicográfico está determinado por sus valores para el más pequeño tal que
Si también está bien ordenado y es finito, entonces el orden resultante es un buen orden. Como se muestra arriba, si es infinito, este no es el caso.
En combinatoria , a menudo hay que enumerar y, por lo tanto, ordenar los subconjuntos finitos de un conjunto dado. Para ello, normalmente se elige un orden en Entonces, ordenar un subconjunto de es equivalente a convertirlo en una secuencia creciente. El orden lexicográfico de las secuencias resultantes induce así un orden de los subconjuntos, que también se denomina orden lexicográfico .
En este contexto, generalmente se prefiere ordenar primero los subconjuntos por cardinalidad , como en el orden shortlex . Por lo tanto, a continuación consideraremos sólo órdenes sobre subconjuntos de cardinales fijos.
Por ejemplo, utilizando el orden natural de los números enteros, el orden lexicográfico de los subconjuntos de tres elementos de es
Para ordenar subconjuntos finitos de una cardinalidad dada de los números naturales , el orden colexicográfico (ver más abajo) suele ser más conveniente, porque todos los segmentos iniciales son finitos y, por lo tanto, el orden colexicográfico define un isomorfismo de orden entre los números naturales y el conjunto de conjuntos. de números naturales. Este no es el caso del orden lexicográfico, ya que, con el orden lexicográfico, tenemos, por ejemplo, para cada
Sea el grupo abeliano libre de rango cuyos elementos son secuencias de números enteros, y la operación es la suma . Un orden de grupo es un orden total , que es compatible con la suma, es decir
El orden lexicográfico es un orden grupal en
El orden lexicográfico también puede usarse para caracterizar todos los órdenes de grupos en [4] [5] De hecho, las formas lineales con coeficientes reales definen un mapa desde dentro que es inyectivo si las formas son linealmente independientes (también puede ser inyectivo si el los formularios son dependientes, ver más abajo). El orden lexicográfico en la imagen de este mapa induce un orden de grupo según el teorema de Robbiano: todo orden de grupo puede obtenerse de esta manera.
Más precisamente, dado un orden de grupo, existen formas enteras y lineales con coeficientes reales, de modo que el mapa inducido desde dentro tiene las siguientes propiedades;
El orden colexicográfico o colex es una variante del orden lexicográfico que se obtiene leyendo secuencias finitas de derecha a izquierda en lugar de leerlas de izquierda a derecha. Más precisamente, mientras que el orden lexicográfico entre dos secuencias está definido por
el orden colexicográfico está definido por
En general, la diferencia entre el orden colexicográfico y el orden lexicográfico no es muy significativa. Sin embargo, cuando se consideran secuencias crecientes, normalmente para codificar subconjuntos, los dos órdenes difieren significativamente.
Por ejemplo, para ordenar las secuencias crecientes (o conjuntos) de dos números enteros naturales, el orden lexicográfico comienza por
y el orden colexicográfico comienza por
La principal propiedad del orden colexicográfico para secuencias crecientes de una longitud determinada es que cada segmento inicial es finito. En otras palabras, el orden colexicográfico para secuencias crecientes de una longitud determinada induce un isomorfismo de orden con los números naturales y permite enumerar estas secuencias. Esto se utiliza con frecuencia en combinatoria , por ejemplo en la demostración del teorema de Kruskal-Katona .
Al considerar polinomios , el orden de los términos no importa en general, pues la suma es conmutativa. Sin embargo, algunos algoritmos , como la división larga de polinomios , requieren que los términos estén en un orden específico. Muchos de los principales algoritmos para polinomios multivariados están relacionados con las bases de Gröbner , concepto que requiere la elección de un orden monomio , es decir un orden total , que sea compatible con la estructura monoide de los monomios . Aquí "compatible" significa que si la operación monoide se denota multiplicativamente. Esta compatibilidad implica que el producto de un polinomio por un monomio no cambia el orden de los términos. Para las bases de Gröbner se debe cumplir una condición adicional: que todo monomio no constante sea mayor que el monomio 1 . Sin embargo, esta condición no es necesaria para otros algoritmos relacionados, como los algoritmos para el cálculo del cono tangente .
Como las bases de Gröbner se definen para polinomios en un número fijo de variables, es común identificar monomios (por ejemplo ) con sus vectores exponentes (aquí [1, 3, 0, 1, 2] ). Si n es el número de variables, cada orden monomial es, por tanto, la restricción de un orden monomial de (ver arriba § Órdenes grupales de para una clasificación).
Uno de estos órdenes admisibles es el orden lexicográfico. Históricamente, es el primero que se utilizó para definir las bases de Gröbner y, a veces, se le llama orden lexicográfico puro para distinguirlo de otros órdenes que también están relacionados con un orden lexicográfico.
Otra consiste en comparar primero el total de grados , y luego resolver los conflictos utilizando el orden lexicográfico. Este orden no se utiliza mucho, ya que el orden lexicográfico o el orden lexicográfico inverso en grados tienen generalmente mejores propiedades.
El orden lexicográfico inverso de grados consiste también en comparar primero el total de grados y, en caso de igualdad de los grados totales, utilizar el orden lexicográfico inverso. Es decir, dados dos vectores exponentes, se tiene
Para este ordenamiento, los monomios de grado uno tienen el mismo orden que los indeterminados correspondientes (este no sería el caso si se utilizara el orden lexicográfico inverso). Para comparar monomios en dos variables del mismo grado total, este orden es el mismo que el orden lexicográfico. Este no es el caso con más variables. Por ejemplo, para vectores exponentes de monomios de grado dos en tres variables, se tiene para el grado orden lexicográfico inverso:
Para el orden lexicográfico, los mismos vectores exponentes se ordenan como
Una propiedad útil del orden lexicográfico de grado inverso es que un polinomio homogéneo es múltiplo del menos indeterminado si y sólo si su monomio principal (su monomio mayor) es un múltiplo de este menos indeterminado.