Utente:Grasso Luigi/sandbox4/Ordine lessicografico

L'ordine lessicografico è un criterio di ordinamento di stringhe costituite da una sequenza di simboli per cui è già presente un ordine interno. La regola di ordinamento corrisponde a quella utilizzata nei dizionari, da cui deriva il nome, anche se è estesa ad un qualunque insieme di simboli.

Definizione

modifica

Un alfabeto finito totalmente ordinato di simboli è un insieme  , dotato di un ordine totale  .

Date due sequenze di simboli

 
 ,

si dice che   se esiste un numero   per cui   e vale una delle seguenti relazioni:

 
 .

Algoritmo di confronto

modifica

La regola data sopra è equivalente al seguente algoritmo di confronto:

  • si pone  
  • si confrontano i simboli nella posizione n-esima della stringa:
    • se una delle due stringhe non possiede l'elemento n-esimo, allora è minore dell'altra e l'algoritmo termina
    • se entrambe le stringhe non possiedono l'elemento n-esimo, allora sono uguali e l'algoritmo termina
    • se i simboli sono uguali, si passa alla posizione successiva della stringa ( )
    • se questi sono diversi, il loro ordine è l'ordine delle stringhe

L'ordine lessicografico sull'insieme prodotto

modifica

Data una famiglia di insiemi  , con i rispettivi ordini totali  , l'ordine lessicografico dell'insieme prodotto

 

è dato da

 .

Con questa regola ogni posizione della stringa può corrispondere a simboli e criteri di ordinamento diversi; per  , con lo stesso ordine totale, si ottiene la definizione precedentemente data.

Proprietà

modifica

La relazione tra stringhe definita dall'insieme lessicografico è di ordine parziale stretto e gode pertanto della proprietà transitiva e asimmetrica.

Ordine colessicografico

modifica
 
Orderings of the 24 permutations of {1,...,4} that are pari. The inversion vectors (in red) of permutations in colex order are in revcolex order, and vice versa.

The colexicographic or colex order is a variant of the lexicographical order that is obtained by reading finite sequences from the right to the left instead of reading them from the left to the right. More precisely, whereas the lexicographical order between two sequences is defined by

Template:Math if Template:Math for the first Template:Math where Template:Math and Template:Math differ, the colexicographical order is defined by
Template:Math if Template:Math for the last Template:Math where Template:Math and Template:Math differ

In general, the difference between the colexicographical order and the lexicographical order is not very significant. However, when considering increasing sequences, typically for coding subsets, the two orders differ significantly.

For example, for ordering the increasing sequences (or the sets) of two natural integers, the lexicographical order begins by

Template:Math,

and the colexicographic order begins by

Template:Math.

The main property of the colexicographical order for increasing sequences of a given length is that every initial segment is finite. In other words, the colexicographical order for increasing sequences of a given length induces an order isomorphism with the natural numbers, and allows enumerating these sequences. This is frequently used in combinatorics, for example in the proof of the Kruskal–Katona theorem.

In algebra, e particolarmente in algebra computazionale è fondamentale avere un ordinamento sui termini di un polinomio, ovvero un ordine monomiale; questo problema può essere risolto con una variante dell'ordine lessicografico. In pratica, dato un alfabeto ordinato di variabili   si possono ordinare tutti i monomi considerando dapprima l'esponente di  , quindi l'esponente di   e così via, finché non si trova una differenza tra gli esponenti. A questo punto si considera minore il monomio per cui l'esponente è minore.

In simboli, se   e  , con  , sono due monomi, e   è il minimo valore per cui  , allora  , e  .

Voci correlate

modifica

Collegamenti esterni

modifica
  Portale Matematica: accedi alle voci di Wikipedia che trattano di matematica