Lexikografické uspořádání

Lexikografické uspořádání neboli slovníkové řazení je matematický pojem z oboru teorie uspořádání, který formalizuje vlastnosti uspořádání „podle abecedy“ pro potřeby práce s lineárně uspořádanými množinami.

Je-li množina lineárně uspořádaná relací , pak lze na množině všech konečných posloupností prvků z zavést lineární uspořádání zvané lexikografické , které dvě posloupnosti porovná podle prvního prvku, v němž se liší.

Například budiž X množina 26 symbolů , uspořádaná vztahem . Konečné posloupnosti symbolů se nazývají slova. Pak slovo předchází slovu , protože první odlišný znak je na třetí pozici a předchází . Je-li shodná část stejná (tj. jedno slovo je počátečním úsekem druhého), pak kratší slovo předchází delšímu: i předchází slovům a .

Lexikografické uspořádání je tedy přesně to abecední třídění, které lidé běžně používají ve slovnících, rejstřících apod.

Lineární uspořádání je abstraktní struktura, tj. lze uspořádat množiny jakýchkoli objektů: čísel, funkcí, symbolů apod. X může být jakákoli neprázdná množina (i nekonečná, dokonce sebevětší mohutnosti) s lineárním uspořádáním. Např. je-li množina prvních 26 přirozených čísel, lze s ní pracovat obdobně, jako s množinou symbolů: Posloupnost předchází posloupnosti přesně tak, jako slovo předcházelo , a předchází i posloupnosti .

Vlastnosti

editovat

Lexikografické uspořádání není přes svou nepřehlednou definici nic záhadného - odpovídá přesně tomu, čemu rozumíme pod pojmem „uspořádání podle abecedy“.
Pokud vezmeme jako množinu X seznam znaků nějaké abecedy a jako R uspořádání těchto znaků v abecedě, pak není lexikografické uspořádání nic jiného, než určení pořadí všech slov s nějakou určitou délkou. Pokud bychom navíc definovali způsob, jak porovnat dvě různě dlouhé uspořádané n-tice, můžeme rovnou začít řadit telefonní seznam.

Definice lexikografického uspořádání se ale neomezuje pouze na lineárně uspořádané podkladové množiny. Relace R může být v této definici jakékoliv uspořádání.
Uvažujme na chvilku o množině   a jejím uspořádání  .
Relace R je uspořádání, takže k ní můžeme definovat lexikografické uspořádání množiny všech uspořádaných trojic z   .
Protože prvky 1 a 2 nejsou porovnatelné podle  , dostáváme následující vztahy:

  •  
  • trojice   a   nejsou v lexikografickém uspořádání podle   porovnatelné - stačí si dosadit do definice a vidíme, že není splněna ani jedna řádka, které podmiňují porovnatelnost v lexikografickém uspořádání.

Použití

editovat

Při řešení mnoha matematických problémů se ukazuje jako potřebné „přenést“ uspořádání nějaké množiny i na uspořádané dvojice (nebo obecně n-tice) prvků z této množiny. Lexikografické uspořádání je jednou z možností (i když zdaleka ne vždy tou nejlepší), jak něco takového provést - dobrým příkladem je definice ordinálního součtu a ordinálního součinu.

Maximo-lexikografické uspořádání

editovat

Lexikografické uspořádání je sice lineární, ale není dobrým uspořádáním. Tj. nelze je izomorfně zobrazit na žádné ordinální číslo.

Proto v něm existují slova, kterým předchází nekonečně mnoho jiných slov. To může být problém v řadě počítačových algoritmů, jak teoretických (teorie vyčíslitelnosti), tak i v praxi: Pokud program prochází slova v lexikografickém pořadí (a nějak je testuje, např. na podobnost se zadaným řetězcem při nějakém druhu vyhledávání), pak po prázdném slovu otestuje slovo  , pak   a nikdy se nedostane ke slovu   ani mnoha dalším.

Tento problém řeší maximo-lexikografické uspořádání, které porovnává slova především podle délky a teprve mezi slovy stejné délky rozhoduje lexikograficky. Takové uspořádání nad konečnou abecedou je nejen dobrým uspořádáním, ale navíc každému slovu předchází slov jen konečně mnoho, takže zmíněný program postupně projde slova všechna, počínaje nejkratšími.