Лексикографический порядок - Lexicographic order

В математика, то лексикографический или же лексикографический порядок (также известен как лексический порядок, порядок словаря, Алфавитный порядок или же лексикографическое (al) произведение) является обобщением Алфавитный порядок из словари к последовательности упорядоченных символов или, в более общем смысле, элементов полностью заказанный набор.

Существует несколько вариантов и обобщений лексикографической упорядоченности. Один вариант применяется к последовательностям разной длины путем сравнения длин последовательностей перед рассмотрением их элементов.

Другой вариант, широко используемый в комбинаторика, заказы подмножества данного конечный набор путем присвоения общего порядка конечному набору и преобразования подмножеств в возрастающие последовательности, к которому применяется лексикографический порядок.

Обобщение определяет порядок на Декартово произведение из частично упорядоченные наборы; этот порядок является полным, если и только если все факторы декартового произведения полностью упорядочены.

Мотивация и определение

Слова в лексикон (набор слов, используемых в каком-либо языке) имеют обычный порядок, используемый в словари и энциклопедии, который зависит от основного упорядочения алфавита символов, используемых для построения слов. Лексикографический порядок - это один из способов формализации порядка слов с учетом порядка лежащих в основе символов.

Формальное понятие начинается с конечный набор А, часто называемый алфавит, который полностью заказанный. То есть для любых двух символов а и б в А это не тот же символ, либо а < б или же б < а.

В слова из А - конечные последовательности символов из А, включая слова длины 1, содержащие один символ, слова длины 2 с 2 символами и т. д., даже включая пустую последовательность без каких-либо символов. Лексикографический порядок на множестве всех этих конечных слов упорядочивает слова следующим образом:

  1. Учитывая два разных слова одинаковой длины, скажем а = а1а2...аk и б = б1б2...бk, порядок двух слов зависит в первую очередь от алфавитного порядка символов я где два слова различаются (считая от начала слов): а < б если и только если ая < бя в основном порядке алфавита А.
  2. Если два слова имеют разную длину, обычный лексикографический порядок дополняет более короткое «пробелами» (специальный символ, который рассматривается как меньший, чем каждый элемент А) в конце, пока слова не станут одинаковой длины, а затем слова сравниваются, как в предыдущем случае.

Однако в комбинаторика, во втором случае часто используется другое соглашение, согласно которому более короткая последовательность всегда меньше, чем более длинная последовательность. Этот вариант лексикографического порядка иногда называют заказ шортлекс.

В лексикографическом порядке слово «Томас» появляется перед «Томпсон», потому что они сначала различаются по пятой букве («а» и «р»), а буква «а» стоит перед буквой «р» в алфавите. Поскольку это первое различие, в данном случае пятая буква является «наиболее существенным различием» для алфавитного порядка.

Важным свойством лексикографического порядка является то, что для каждого п, набор слов длины п является хорошо организованный в лексикографическом порядке (при условии, что алфавит конечный); то есть каждая убывающая последовательность слов длины п конечно (или, что эквивалентно, каждое непустое подмножество имеет наименьший элемент).[1][2] Неправда, что набор все конечные слова хорошо упорядочены; например, набор { 1, 01, 001, 0001, ... } не имеет наименьшего элемента.

Системы счисления и даты

Лексикографический порядок используется не только в словарях, но также обычно для чисел и дат.

Один из недостатков Римская система счисления в том, что не всегда сразу видно, какое из двух чисел меньше. С другой стороны, с позиционная запись из Индусско-арабская система счисления, сравнивать числа легко, потому что естественный порядок на неотрицательные целые числа такой же, как вариант шортлекс лексикографического порядка. Фактически, с позиционным обозначением неотрицательное целое число представляется последовательностью числовые цифры, и целое число больше другого, если оно имеет больше цифр (без учета ведущих нулей) или количество цифр одинаковое, а первая (наиболее значимая) цифра, которая отличается, больше.

За действительные числа написано в десятичная запись используется несколько иной вариант лексикографического порядка: части слева от десятичной точки сравниваются, как и раньше; если они равны, части справа от десятичной точки сравниваются в лексикографическом порядке. Пустое заполнение в этом контексте представляет собой завершающую цифру «0».

Когда также рассматриваются отрицательные числа, необходимо изменить порядок сравнения отрицательных чисел. Обычно это не проблема для людей, но может быть компьютеры (проверка знака занимает некоторое время). Это одна из причин для принятия два дополнения представительство для представления целые числа со знаком в компьютерах.

Другой пример использования лексикографического порядка вне словаря появляется в ISO 8601 стандарт для дат, который выражает дату как ГГГГ-ММ-ДД. Эта схема форматирования имеет то преимущество, что лексикографический порядок последовательностей символов, представляющих даты, совпадает с хронологический порядок: более ранняя дата в лексикографическом порядке меньше, чем более поздняя дата. Этот заказ даты делает компьютеризированная сортировка дат проще, так как не требуется отдельный алгоритм сортировки.

Моноид слов

В моноид слов над алфавитом А это свободный моноид над А. То есть элементами моноида являются конечные последовательности (слова) элементов А (включая пустую последовательность длины 0), а операция (умножение) - это конкатенация слов. Слово ты это префикс (или "усечение") другого слова v если есть слово ш такой, что v = уф. По этому определению пустое слово () является префиксом каждого слова, а каждое слово является префиксом самого себя (с ш ); Необходимо соблюдать осторожность, чтобы исключить эти случаи.

С помощью этой терминологии приведенное выше определение лексикографического порядка становится более кратким: Учитывая частично или же полностью заказанный набор А, и два слова а и б над А такой, что б непусто, то а < б в лексикографическом порядке, если выполняется хотя бы одно из следующих условий:

  • а является префиксом б
  • есть слова ты, v, ш (возможно, пустой) и элементы Икс и у из А такой, что
Икс < у
а = uxv
б = ууу

Обратите внимание, что из-за условия префикса в этом определении, , куда это пустое слово.

Если <- это общий заказ на А, то таков лексикографический порядок слов А. Однако в целом это не в порядке, даже если алфавит А упорядочен. Например, если А = {а, б}, то язык {апб | п ≥ 0, б > ε} не имеет наименьшего элемента в лексикографическом порядке: ... < ааб < ab < б.

Поскольку многие приложения требуют порядков скважин, часто используется вариант лексикографических порядков. Этот порядок, иногда называемый шортлекс или же квазилексикографический порядок, состоит в рассмотрении сначала длины слов (если длина(а) <длина (б), тогда а < б), и, если длины равны, в лексикографическом порядке. Если заказ на А это хороший заказ, то же самое верно и для шортлекса.[2][3]

Декартовы произведения

Лексикографический порядок определяет порядок на Декартово произведение упорядоченных наборов, что является общим порядком, когда все эти наборы сами полностью упорядочены. Элемент декартова произведения E1× ... ×Eп последовательность, у которой яth элемент принадлежит Eя для каждого я. Поскольку при оценке лексикографического порядка последовательностей сравниваются только элементы, которые имеют одинаковый ранг в последовательностях, лексикографический порядок распространяется на декартовы произведения упорядоченных множеств.

В частности, учитывая два частично упорядоченные наборы А и B, лексикографический порядок декартова произведения А × B определяется как

(а,б) ≤ (а′,б′) если и только если а < а или же (а = а' и бб′).

Результат - частичный заказ. Если А и B каждый полностью заказанный, то результат тоже будет общим порядком. Таким образом, лексикографический порядок двух полностью упорядоченных множеств линейное расширение от их заказ продукта.

Аналогичным образом можно определить лексикографический порядок на декартовом произведении бесконечного семейства упорядоченных множеств, если семейство проиндексировано неотрицательные целые числа, или, в более общем смысле, хорошо упорядоченным набором. Этот обобщенный лексикографический порядок является полным, если каждый набор факторов полностью упорядочен.

В отличие от конечного случая, бесконечное произведение хороших порядков не обязательно хорошо упорядочено лексикографическим порядком. Например, набор счетно бесконечный двоичные последовательности (по определению, набор функций от неотрицательных целых чисел до {0, 1}, также известный как Канторовское пространство {0, 1}ω) неупорядочен; подмножество последовательностей, которые имеют ровно одну 1 (т.е. { 100000..., 010000..., 001000..., ... }) не имеет наименьшего элемента в лексикографическом порядке, индуцированном 0 < 1, потому что 100000... > 010000... > 001000... > ... является бесконечная нисходящая цепочка.[1] Точно так же бесконечный лексикографический продукт не Нётерян либо потому что 011111... < 101111... < 110111 ... < ... представляет собой бесконечную восходящую цепочку.

Функции над упорядоченным набором

Функции из упорядоченный набор Икс к полностью заказанный набор Y могут быть идентифицированы последовательностями, индексированными Икс элементов Y. Таким образом, их можно упорядочить в лексикографическом порядке, и для двух таких функций ж и грамм, лексикографический порядок, таким образом, определяется их значениями для наименьших Икс такой, что ж(Икс) ≠ грамм(Икс).

Если Y также хорошо упорядочен и Икс конечно, то полученный порядок является исправным. Как показано выше, если Икс бесконечно, это не так.

Конечные подмножества

Заказы 3-подмножества из {1, ..., 6}, представленных в виде наборов красных квадратов, возрастающих последовательностей (синего цвета) или их индикаторные функции, преобразовано в десятичная запись (серым цветом). Серые числа также являются рангом подмножеств во всех подмножествах {1, ..., 6}, пронумерованных в колексикографическом порядке, начиная с 0. Лексикографический (lex) и колексикографический (colex) порядки находятся наверху и соответствующие обратные заказы (rev) внизу
Один переходят от порядка к его обратному порядку, либо читая снизу вверх, а не снизу вверх, либо меняя красный и белый цвета.

В комбинаторика, приходится часто перечислять, а потому и упорядочивать конечные подмножества данного набора S. Для этого обычно выбирают заказ на S. Потом, сортировка подмножество S эквивалентно преобразованию его в возрастающую последовательность. Таким образом, лексикографический порядок результирующих последовательностей индуцирует порядок на подмножествах, который также называется лексикографический порядок.

В этом контексте обычно предпочитают сначала отсортировать подмножества по мощность, например, в заказ шортлекс. Поэтому в дальнейшем мы будем рассматривать только порядки на подмножествах фиксированного кардинала.

Например, используя естественный порядок целых чисел, лексикографический порядок на подмножествах трех элементов S = {1, 2, 3, 4, 5, 6} является

123 < 124 < 125 < 126 < 134 < 135 < 136 < 145 < 146 < 156 <
234 < 235 < 236 < 245 < 246 < 256 < 345 < 346 < 356 < 456.

Для упорядочивания конечных подмножеств заданной мощности натуральные числа, то колексикографический порядок (см. ниже) часто бывает удобнее, потому что все начальные сегменты конечны, и, таким образом, колексикографический порядок определяет изоморфизм порядка между натуральными числами и множеством наборов п натуральные числа. Это не относится к лексикографическому порядку, поскольку с лексикографическим порядком мы имеем, например, 12п < 134 для каждого п > 2.

Групповые заказы

Позволять быть свободная абелева группа ранга п, элементы которого являются последовательностями п целые числа, а операция - это добавление. А групповой заказ на это общий заказ, который совместим с сложением, то есть

Лексикографический порядок - это групповой порядок на

Лексикографический порядок может также использоваться для характеристики всех групповых порядков на [4][5] Фактически, п линейные формы с настоящий коэффициентов, определите карту из в что является инъективным, если формы линейно независимый (он также может быть инъективным, если формы зависимы, см. ниже). Лексикографический порядок на изображении этой карты индуцирует групповой порядок на Теорема Роббиано состоит в том, что таким способом может быть получен любой групповой порядок.

Точнее, учитывая групповой порядок на существует целое число sп и s линейные формы с действительными коэффициентами, такие, что индуцированное отображение из в обладает следующими свойствами;

  • инъективен;
  • полученный изоморфизм из к образу является изоморфизмом порядка, когда изображение снабжено лексикографическим порядком на

Колексикографический порядок

Порядок 24 перестановок {1, ..., 5}, которые 5 циклов (в синем). В векторы инверсии (красным) перестановок в колекс порядок находятся в ревколекс порядок, и наоборот.

В колексикографический или же заказ Colex это вариант лексикографического порядка, который получается при чтении конечных последовательностей справа налево, а не слева направо. Точнее, в то время как лексикографический порядок между двумя последовательностями определяется

а1а2...аk <lex б1б2 ... бk если ая < бя во-первых я куда ая и бя отличаться,

колексикографический порядок определяется

а1а2...аk <колекс б1б2...бk если ая < бя за последние я куда ая и бя отличаться

В общем, разница между колексикографическим порядком и лексикографическим порядком не очень значительна. Однако при рассмотрении возрастающих последовательностей, обычно для кодирования подмножеств, два порядка существенно различаются.

Например, для упорядочивания возрастающих последовательностей (или наборов) двух натуральных чисел лексикографический порядок начинается с

12 < 13 < 14 < 15 < ... < 23 < 24 < 25 < ... < 34 < 35 < ... < 45 < ...,

и колексикографический порядок начинается с

12 < 13 < 23 < 14 < 24 < 34 < 15 < 25 < 35 < 45 < ....

Основное свойство колексикографического порядка для возрастающих последовательностей заданной длины состоит в том, что каждый начальный сегмент конечно. Другими словами, колексикографический порядок увеличения последовательностей заданной длины индуцирует изоморфизм порядка с натуральными числами, и позволяет перечислить эти последовательности. Это часто используется в комбинаторика, например, в доказательстве Теорема Крускала-Катоны.

Мономы

При рассмотрении многочлены, порядок членов в общем случае не имеет значения, поскольку сложение является коммутативным. Однако некоторые алгоритмы, Такие как полиномиальное деление в столбик, требуют, чтобы термины были в определенном порядке. Многие из основных алгоритмов для многомерные полиномы связаны с Базы Грёбнера, концепция, требующая выбора мономиальный порядок, это общий заказ, который совместим с моноид структура мономы. Здесь «совместимый» означает, что , если операцию моноида обозначить мультипликативно. Эта совместимость означает, что произведение многочлена на одночлен не меняет порядок членов. Для базисов Грёбнера должно быть выполнено еще одно условие, а именно, что каждый непостоянный моном больше монома 1. Однако это условие не требуется для других связанных алгоритмов, таких как алгоритмы для вычисления касательный конус.

Поскольку базисы Грёбнера определены для многочленов от фиксированного числа переменных, мономы обычно идентифицируют (например, ) с их векторами показателей (здесь [1, 3, 0, 1, 2]). Если п - количество переменных, каждый мономиальный порядок, таким образом, является ограничением на мономиального порядка (см. выше § Групповые заказы , для классификации).

Одним из таких допустимых порядков является лексикографический порядок. Исторически он был первым, который использовался для определения баз Гребнера, и его иногда называют чистый лексикографический порядок для отличия от других порядков, которые также относятся к лексикографическому порядку.

Другой заключается в сравнении сначала общие степени, а затем разрешить конфликты с помощью лексикографического порядка. Этот порядок широко не используется, так как лексикографический порядок или обратный лексикографический порядок степеней обычно имеют лучшие свойства.

В степень в обратном лексикографическом порядке состоит также в сравнении сначала общих степеней и, в случае равенства общих степеней, с использованием обратной колексикографической последовательности. То есть, учитывая два вектора экспоненты, один имеет

если либо

или же

Для этого порядка мономы первой степени имеют тот же порядок, что и соответствующие неопределенные (этого не было бы, если бы использовался обратный лексикографический порядок). Для сравнения одночленов от двух переменных одинаковой общей степени этот порядок совпадает с лексикографическим порядком. С большим количеством переменных дело обстоит иначе. Например, для экспонент векторов одночленов степени два от трех переменных один имеет обратный лексикографический порядок степени:

Для лексикографического порядка те же векторы экспоненты упорядочены как

Полезное свойство обратного лексикографического порядка степеней состоит в том, что однородный многочлен является кратным наименьшему неопределенному тогда и только тогда, когда его старший моном (его старший моном) кратен этому наименее неопределенному.

Смотрите также

Рекомендации

  1. ^ а б Эгберт Харцхейм (2006). Заказанные наборы. Springer. С. 88–89. ISBN  978-0-387-24222-4.
  2. ^ а б Франц Баадер; Тобиас Нипков (1999). Перезапись терминов и все такое. Издательство Кембриджского университета. С. 18–19. ISBN  978-0-521-77920-3.
  3. ^ Калуд, Кристиан (1994). Информация и случайность. Алгоритмическая перспектива. Монографии EATCS по теоретической информатике. Springer-Verlag. п.1. ISBN  3-540-57456-5. Zbl  0922.68073.
  4. ^ Роббиано, Л. (1985). Упорядочение терминов на кольце многочленов. В Европейская конференция по компьютерной алгебре (стр. 513-517). Springer Berlin Heidelberg.
  5. ^ Вайспфеннинг, Фолькер (май 1987 г.), «Допустимые порядки и линейные формы», Бюллетень SIGSAM, Нью-Йорк, Нью-Йорк, США: ACM, 21 (2): 16–18, Дои:10.1145/24554.24557.

внешняя ссылка