Прямолинейная программа - 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 если каждый граммя можно получить по одному из следующих трех правил:
- граммя ∈ S
- граммя = граммj граммk для некоторых j,k < я
- граммя = грамм−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,k2 ∈ K(я+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(я) с грамм1 ∈ K(я)−1K(я) и грамм2 ∈ S.
Требуется не более 2я шаги для создания грамм1 ∈ K(я)−1K(я). Нет смысла генерировать элемент максимальной длины, так как он тождественный. Следовательно 2я −1 шагов хватит. Чтобы генерировать грамм1·грамм2 ∈ грамм\K(я)−1K(я), 2я шагов достаточно.
Завершим теорему. С K(s)−1K(s) = грамм, любой грамм ∈ грамм можно записать в виде k−1
1·k2 с k−1
1,k2 ∈ K(s). По следствию 2 нам понадобится не более s2 − s шаги для создания Z(s) = Z, и не более 2s − 1 шаги для создания грамм из Z(s).
Следовательно c(грамм|S) ≤ s2 + s - 1 ≤ lg2|грамм| + LG |грамм| - 1 ≤ (1 + lg |грамм|)2.
Рекомендации
- ^ Бабай, Ласло и Эндре Семереди. «О сложности матричных групповых задач I.» Основы компьютерных наук, 1984. 25-й ежегодный симпозиум по основам компьютерных наук. IEEE, 1984 г.
- ^ а б Ákos Seress. (2003). Алгоритмы группы перестановок. [В сети]. Кембриджские трактаты по математике. (№ 152). Кембридж: Издательство Кембриджского университета.
- ^ Nies, A., & Tent, K. (2016). Описание конечных групп короткими предложениями первого порядка. Исраэль Дж. Математика, чтобы появиться. https://arxiv.org/abs/1409.8390
- ^ http://brauer.maths.qmul.ac.uk/Atlas/v3/