Прямолинейная программа - Straight-line program

В математика, более конкретно в вычислительная алгебра, а прямолинейная программа (SLP) для конечной группы грамм = ⟨S⟩ - конечная последовательность L элементов грамм так что каждый элемент L либо принадлежит S, является обратным предыдущему элементу или произведению двух предыдущих элементов. SLP L говорят вычислить групповой элемент грамм ∈ грамм если грамм ∈ L, куда грамм закодировано словом в S и его обратные.

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

Прямолинейные программы были введены Бабаем и Семереди в 1984 году.[1] как инструмент для изучения вычислительной сложности некоторых свойств групп матриц. Бабай и Семереди доказывают, что каждый элемент конечной группы грамм имеет SLP длины О(бревно2|грамм|) в каждой генераторной установке.

Эффективное решение проблема конструктивного членства имеет решающее значение для многих теоретико-групповых алгоритмов. В терминах SLP это можно сформулировать следующим образом. Для конечной группы грамм = ⟨S⟩ и грамм ∈ грамм, найдите прямолинейную программу вычисления грамм надS. Проблема конструктивного членства часто изучается в контексте группы черного ящика. Элементы кодируются битовыми строками фиксированной длины. Три оракулы предусмотрены для теоретико-групповых функций умножения, обращения и проверки на равенство с тождеством. А алгоритм черного ящика тот, который использует только эти оракулы. Следовательно, прямые программы для групп черного ящика являются алгоритмами черного ящика.

Явные прямые программы даны для множества конечных простых групп в онлайн Атлас конечных групп.

Определение

Неформальное определение

Позволять грамм конечная группа и пусть S быть подмножеством грамм. Последовательность L = (грамм1,…,граммм) элементов грамм это прямолинейная программа над S если каждый граммя можно получить по одному из следующих трех правил:

  1. граммяS
  2. граммя = граммj граммk для некоторых j,k < я
  3. граммя = грамм−1
    j
    для некоторых j < я.

Прямая Стоимость c(грамм|S) элемента граммграмм длина кратчайшей прямой программы по S вычисление грамм. Стоимость бесконечна, если грамм не входит в подгруппу, порожденную S.

Прямолинейная программа похожа на вывод в логике предикатов. Элементы S соответствуют аксиомам, а групповые операции соответствуют правилам вывода.

Формальное определение

Позволять грамм конечная группа и пусть S быть подмножеством грамм. А прямолинейная программа длины м над S вычисляя некоторые граммграмм представляет собой последовательность выражений (ш1,…,шм) такой, что для каждого я, шя является символом некоторого элемента S, или же шя = (шj, -1) для некоторых j < я, или же шя = (шj,шk) для некоторых j,k < я, так что шм принимает значение грамм при оценке в грамм очевидным образом.

Исходное определение, появляющееся в [2] требует, чтобы грамм =⟨S⟩. Приведенное выше определение является общим обобщением этого.

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

Примеры

В группа диэдра D12 группа симметрий шестиугольника. Оно может быть создано поворотом ρ на 60 градусов и одним отражением λ. В крайнем левом столбце ниже приводится прямая программа для λρ3:

В S6, группу перестановок из шести букв, мы можем взять α = (1 2 3 4 5 6) и β = (1 2) в качестве образующих. В крайнем левом столбце приведен пример прямой программы для вычисления (1 2 3) (4 5 6):

Приложения

Краткие описания конечных групп. Прямые программы могут быть использованы для изучения сжатия конечных групп с помощью логика первого порядка. Они предоставляют инструмент для построения "коротких" предложений, описывающих грамм (т.е. намного короче, чем |грамм|). Более подробно, SLP используются для доказательства того, что каждая конечная простая группа имеет описание первого порядка длины О(журнал |грамм|), и каждая конечная группа грамм имеет описание длины первого порядка О(бревно3|грамм|).[3]

Прямолинейные программы, вычисляющие порождающие для максимальных подгрупп конечных простых групп. Онлайн-атлас представлений конечных групп[4] предоставляет абстрактные линейные программы для вычисления производящих наборов максимальных подгрупп для многих конечных простых групп.

Пример: Группа Sz (32), принадлежащая бесконечному семейству Группы Suzuki, имеет ранг 2 по образующим а и б, куда а имеет порядок 2, б имеет порядок 4, ab имеет порядок 5, ab2 имеет порядок 25 и Abab2ab3 имеет порядок 25. Ниже приводится прямолинейная программа, которая вычисляет набор порождающих для максимальной подгруппы E32E32C31. Эту прямолинейную программу можно найти в онлайн-АТЛАСЕ представительств конечных групп.

Теорема о достижимости

Теорема о достижимости утверждает, что для конечной группы грамм создано S, каждый граммграмм имеет максимальную стоимость (1 + LG |грамм|)2. Это можно понимать как ограничение сложности создания группового элемента из генераторов.

Здесь функция lg (Икс) является целочисленной версией функции логарифмирования: для k≥1 пусть lg (k) = max {р : 2рk}.

Идея доказательства состоит в построении множества Z = {z1,…,zs} который будет работать как новая генераторная установка (s будут определены в процессе). Обычно он больше, чем S, но любой элемент грамм можно выразить как слово длиной не более 2|Z| над Z. Набор Z строится путем индуктивного определения возрастающей последовательности множеств K(я).

Позволять K(я) = {z1α1·z2α2·…·zяαя : αj ∈ {0,1}}, где zя добавлен ли элемент группы в Z на я-й шаг. Позволять c(я) обозначают длину кратчайшей прямой программы, содержащей Z(я) = {z1,…,zя}. Позволять K(0) = {1грамм} и c(0) = 0. Определим множество Z рекурсивно:

  • Если K(я)−1K(я) = граммобъявить s принять ценность я и остановись.
  • В противном случае выберите несколько zя+1грамм\K(я)−1K(я) (который не является пустым), что минимизирует «увеличение стоимости» c(я+1) − c(я).

Таким образом, Z определен таким образом, что любой граммграмм можно записать как элемент K(я)−1K(я), что существенно упрощает создание из Z.

Теперь нам нужно проверить следующее утверждение, чтобы гарантировать, что процесс завершится в пределах lg (|грамм|) много шагов:

Утверждение 1 — Если я < s тогда |K(я+1)| = 2|K(я)|.

Доказательство —

Немедленно, что |K(я+1)| ≤ 2|K(я)|. Теперь предположим от противоречия, что |K(я+1)| < 2|K(я)|. По принципу ячейки есть k1,k2K(я+1) с k1 = z1α1·z2α2·…·zя+1αя+1 = z1β1·z2β2·…·zя+1βя+1 = k2 для некоторых αj,βj ∈ {0,1}. Позволять р - наибольшее целое число такое, что αрβр. Предположим, что WLOG αр = 1. Отсюда следует, что zр = zпαп·zп-1αп-1·…·z1α1·z1β1·z2β2·…·zqβq, с п,q < р. Следовательно zрK(р−1)−1K(р - 1); противоречие.

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

Утверждение 2 —  c(я) ≤ я 2 − я.

Доказательство —

С c(0) = 0 достаточно показать, что c(я+1) - c(я) ≤ 2я. В Граф Кэли из грамм связано и если я < s, K(я)−1K(я) ≠ грамм, то есть элемент вида грамм1·грамм2грамм \ K(я)−1K(я) с грамм1K(я)−1K(я) и грамм2S.

Требуется не более 2я шаги для создания грамм1K(я)−1K(я). Нет смысла генерировать элемент максимальной длины, так как он тождественный. Следовательно 2я −1 шагов хватит. Чтобы генерировать грамм1·грамм2грамм\K(я)−1K(я), 2я шагов достаточно.

Завершим теорему. С K(s)−1K(s) = грамм, любой граммграмм можно записать в виде k−1
1
·k2 с k−1
1
,k2K(s). По следствию 2 нам понадобится не более s2 − s шаги для создания Z(s) = Z, и не более 2s − 1 шаги для создания грамм из Z(s).

Следовательно c(грамм|S) ≤ s2 +  s - 1 ≤ lg2|грамм| + LG |грамм| - 1 ≤ (1 + lg |грамм|)2.

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

  1. ^ Бабай, Ласло и Эндре Семереди. «О сложности матричных групповых задач I.» Основы компьютерных наук, 1984. 25-й ежегодный симпозиум по основам компьютерных наук. IEEE, 1984 г.
  2. ^ а б Ákos Seress. (2003). Алгоритмы группы перестановок. [В сети]. Кембриджские трактаты по математике. (№ 152). Кембридж: Издательство Кембриджского университета.
  3. ^ Nies, A., & Tent, K. (2016). Описание конечных групп короткими предложениями первого порядка. Исраэль Дж. Математика, чтобы появиться. https://arxiv.org/abs/1409.8390
  4. ^ http://brauer.maths.qmul.ac.uk/Atlas/v3/