Перейти до вмісту

Лінійна програма

Матеріал з Вікіпедії — вільної енциклопедії.

В інформатиці лінійна програма — неформально, програма, яка не містить жодного циклу чи будь-яких перевірок та складається з послідовності кроків, на яких кожна операція виконується над попередньо обчисленими значеннями.

У цій статті розглянуто випадок, коли дозволеними операціями є операції групи, тобто множення та інверсія. Конкретніше, лінійна програма (ЛП) для скінченної групи  — це скінченна послідовність елементів , така що кожен елемент або належить , є оберненим до попереднього елемента або є добутком двох попередніх елементів. Кажуть, що ЛП обчислює груповий елемент якщо , де закодовано словом із та оберненими до нього.

Інтуїтивно зрозуміло, що лінійне обчислення деякого  — ефективний спосіб збереження як слова групи над ; зауважте, що якщо побудовано за кроків, довжина слова може бути експоненційною за , але довжина відповідної ЛП є лінійною за . Це має важливе застосування в теорії обчислювальних груп, у вигляді використання ЛП для ефективного кодування елементів групи як слів над даною твірною множиною.

Лінійні програми представили 1984 року Бабай та Семереді[1] як засіб для вивчення обчислювальної складності певних властивостей матричних груп. Вони довели, що кожен елемент скінченної групи має ЛП довжини в кожній твірній множині.

Ефективне розв'язання конструктивної задачі належності має вирішальне значення для багатьох теоретико-групових алгоритмів. З погляду ЛП це можна викласти так. Дано скінченну групу і , потрібно знайти ЛП, що обчислює над . Конструктивну задачу належності часто вивчають у групі чорної скриньки. Елементи кодують бітовими рядками фіксованої довжини. Для теоретико-групових функцій множення, інверсії та перевірки рівності з тотожністю надаються три оракули. Алгоритм чорної скриньки використовує лише ці оракули. Отже, лінійні програми для груп чорної скриньки є алгоритмами чорної скриньки.

Явні лінійні програми для багатьох скінченних простих груп подано в онлайновому АТЛАСІ скінченних груп[en] .

Визначення

[ред. | ред. код]

Неформальне визначення

[ред. | ред. код]

Нехай  — скінченна група і  — підмножина . Послідовність елементів є лінійною програмою над , якщо кожне можна отримати за одним із таких трьох правил:

  1. для деяких
  2. для деякого .

Лінійна вартість елемента  — це довжина найкоротшої лінійної програми над , що обчислює . Вартість нескінченна, якщо не входить до підгрупи, породженої .

Лінійна програма схожа на виведення в логіці предикатів. Елементи відповідають аксіомам, а групові операції — правилам виведення.

Формальне визначення

[ред. | ред. код]

Нехай  — скінченна група і  — підмножина . Лінійна програма довжини над , яка обчислює деяке , це послідовність виразів , де для кожного є символом деякого елемента , або для деякого , або для деякого , така, що набуває значення при оціненні в в очевидний спосіб.

Оригінальне визначення, наведене в[2], вимагає, щоб . Наведене вище визначення є його узагальненням.

З погляду обчислень, формальне визначення лінійної програми має деякі переваги. По-перше, послідовність абстрактних виразів потребує менше пам'яті, ніж терми твірної множини[прояснити: ком.]. По-друге, це дозволяє будувати лінійні програми в одному представленні і обчислювати в іншому. Це важлива особливість деяких алгоритмів[2].

Приклади

[ред. | ред. код]

Діедрична група є групою симетрій шестикутника. Її можна створити поворотом ρ на 60 градусів і одним відбиттям λ. Крайній лівий стовпець наведеного нижче є лінійною програмою для λρ3:

 

У групі перестановок із шести літер твірними можна взяти α=(1 2 3 4 5 6) і β=(1 2). Крайній лівий стовпець тут є прикладом лінійної програми для обчислень (1 2 3)(4 5 6):

Застосування

[ред. | ред. код]

Короткі описи скінченних груп. Лінійні програми можна використовувати для вивчення стиснення скінченних груп за допомогою логіки першого порядку. Вони надають засіб для побудови «коротких» речень, що описують (тобто значно коротших, ніж ). Детальніш, ЛП використовують, щоб довести, що кожна скінченна проста група має опис першого порядку довжини , а кожна скінченна група має опис першого порядку довжини [3].

Лінійні програми обчислення твірних для максимальних підгруп скінченних простих груп. Онлайновий АТЛАС представлень скінченних груп[4] містить абстрактні лінійні програми для обчислення твірних наборів максимальних підгруп для багатьох скінченних простих груп.

Приклад: група , що належить до нескінченної сім'ї груп Сузукі[en], має ранг 2 через твірні і , де має порядок 2, має порядок 4, має порядок 5, має порядок 25 і має порядок 25. Нижче наведено лінійну програму, яка обчислює твірний набір для максимальної підгрупи . Цю лінійну програму можна знайти в онлайновому АТЛАСІ представлень скінченних груп.

Теорема про досяжність

[ред. | ред. код]

Теорема про досяжність стверджує, що для скінченної групи , породженої , кожна має максимальну вартість . Це можна розуміти як обмеження того, наскільки складно згенерувати елемент групи з генераторів.

Тут функція  — це цілочисельна версія функції логарифма: нехай для .

Ідея доведення полягає в тому, щоб побудувати множину , яка працюватиме як нова твірна множина ( буде визначено в процесі). Зазвичай вона більша за , але будь-який елемент можна виразити як слово довжини щонайбільше над . Множина будується індуктивним визначенням зростальної послідовності множин .

Нехай , де  — елемент групи, доданий до на -му кроці. Нехай позначає довжину найкоротшої лінійної програми, яка містить . Нехай і . Ми визначаємо множину рекурсивно:

  • Якщо , оголосимо рівним , і зупинимося.
  • В іншому випадку виберемо деяке (яка непорожня), яке мінімізує «збільшення вартості» .

За допомогою цього процесу визначається так, що будь-яке можна записати як елемент , що фактично полегшує генерування із .

Тепер, щоб переконатися, що процес завершується протягом кроків, потрібно перевірити таке твердження:

Твердження 1. Якщо , то = .

 

Наступне твердження використовують, щоб показати, що вартість кожного елемента групи міститься в необхідних межах.

Твердження 2. .

Для створення потрібно щонайбільше кроків. Немає сенсу генерувати елемент максимальної довжини, оскільки це тотожність. Отже, достатньо кроків. Для створення достатньо кроків.

Тепер закінчуємо теорему. Оскільки , будь-яке можна записати у вигляді , де . Згідно з наслідком 2, нам потрібно щонайбільше кроків, щоб згенерувати , і не більше кроків, щоб згенерувати із .

Тому .

Примітки

[ред. | ред. код]
  1. Babai, László, and Endre Szemerédi. «On the complexity of matrix group problems I.» Foundations of Computer Science, 1984. 25th Annual Symposium on Foundations of Computer Science. IEEE, 1984
  2. а б Ákos Seress. (2003). Permutation Group Algorithms. [Online]. Cambridge Tracts in Mathematics. (No. 152). Cambridge: Cambridge University Press.
  3. Nies, André; Tent, Katrin (2017). Describing finite groups by short first-order sentences. Israel Journal of Mathematics. 221: 85—115. arXiv:1409.8390. doi:10.1007/s11856-017-1563-2.
  4. ATLAS of Finite Group Representations - V3.