辞書式順序

出典: フリー百科事典『ウィキペディア(Wikipedia)』

これはこのページの過去の版です。219.96.254.43 (会話) による 2011年2月18日 (金) 10:46個人設定で未設定ならUTC)時点の版 (→‎概要)であり、現在の版とは大きく異なる場合があります。

数学における辞書式順序(じしょしきじゅんじょ、lexicographical / lexicographic / dictionary order)とはいくつかの順序集合直積集合上に順序を定める方法の一つである。順序集合 AB が与えられた際の直積集合 A × B 上の辞書式順序は

{(a, b) ≤ (a' , b' )|(a < a' )∪(a = a' bb' ) }

として定められる。辞書式順序という名前は、この順序の定め方が辞書における項目の並べ方を一般化したものと見なせることからきている。つまり、単語(文字の並び)a1a2...ak が別の単語 b1b2...bk の前に現れるのは aibi と異なるような最初の i について、文字の順番の中で aibi より前に現れるときである。このとき二つの単語は同じ長さ(文字数)であるものと仮定されているが、実際の辞書では普通短い単語の方を後ろにどんな文字よりも先の順番にある空白を付け加えることで単語の長さがそろっているものとして考える、という操作が行われる。

概要

整列順序の入った添字集合 I で添字づけられた全順序集合 (Ai)iI が与えられたとする。このとき、直積集合iI Ai 上に以下のようにして定められる順序は ∏iI Ai 上の辞書式順序とよばれる:

(ai)i < (bi)iaj < bj ( j = min { iI | aibi } )

上の定義は I が特に有限集合 { 1, ... , n } の場合にも適用でき。その場合には次のように言いかえることができる。すなわち A1, ... , An を全順序集合とするとき、直積集合 A1 × … × An 上の辞書式順序とは次のようになる:a = (a1, ... , an) と b = (b1, ... , bn) を A1 × … × An の元とする。「先頭の文字」a1b1 が異なり、a1 < b1 ならば a < b、反対に a1 > b1 ならば a > b とし、a1 = b1 だったならば a2b2 を同様に比べるという操作を繰り返して ab の間の大小関係が決定される。

辞書式順序の重要な性質に整列性を保つというものがある。つまり、順序集合 AB が整列順序集合ならば辞書式順序をいれた直積集合も整列順序集合になる。

辞書式順序の応用

単項式に対する順序

多変数の多項式の集合の中での単項式の集合は各変数に関する単項式集合たちの直積集合と見なすことができる。したがってこの単項式の集合上にそれぞれの変数の単項式に関する順序をもとにした辞書式順序を考えることができる。

社会での応用

辞書式順序の実社会における応用として日付の書式に関するISO 8601規格が挙げられる。この規格では日付は YYYY-MM-DDという書式によって表され、単純に文字の並びとして並び替えるだけの整列アルゴリズムで時系列順の並び替えが得られる。ここで、このアルゴリズムが機能するためには年は4つの数字で表され、月や日は2つの数字で表されていなければならないので、たとえば数字1つの日付には零を付け足して '01' などと表すことになる。