Розглянемо наступну проблему тестування належності абелевих підгруп .
Вхідні дані:
Кінцева абелева група з довільно великими .
Виробляє-безліч підгрупи .
Елемент .
Вихід: "так", якщо і "ні" в іншому місці ".
Питання: Чи можна цю проблему ефективно вирішити на класичному комп’ютері? Я вважаю , алгоритм ефективної , якщо вона використовує час і ресурси пам'яті в звичайному сенсі класичних машин Тьюринга. Зверніть увагу , що ми можемо вважати для будь-якої підгрупи . Розмір вхідної проблеми цієї проблеми - .
Трохи мотивації . Інтуїтивно виглядає, що проблема може бути вирішена алгоритмами для вирішення лінійних систем конгруенцій або лінійних діофантинових рівнянь (читайте нижче). Однак видається, що існують різні поняття обчислювальної ефективності, що використовуються в контексті обчислень з цілими числами, такі як: сильно проти слабко поліноміального часу, алгебраїчна проти бітової складності. Я не є експертом з цих визначень і не можу знайти посилання, яке чітко вирішує це питання.
Оновлення: відповідь на проблему - «так».
У пізній відповіді я запропонував метод, заснований на нормальних формах Сміта, який є ефективним для будь-якої групи з встановленою формою.
Відповідь на Blondin показує , що в окремому випадку , коли всі маю вигляд д я = Н е я я і Н я , е я є «маленькими» цілими числами , то проблема полягає в NC - ⊂ P . Крихітні цілі числа експоненціально малі з розміром входу: O ( журнал журналу | A | ) .
У своїй відповіді я використовував "ортогональні підгрупи" для вирішення цієї проблеми, але я вважаю, що це не потрібно. Я спробую надати більш пряму відповідь у майбутньому на основі методу Ешелон форм, який я читаю.
Деякі можливі підходи
Проблема тісно пов'язана з вирішенням лінійної системи конгруенцій та / або лінійних діофантинових рівнянь. Я коротко підсумовую цей зв'язок заради завершення.
Візьмемо за матрицю, стовпці якої є елементами генеруючої множини { h 1 , … , h n } . Наступна система рівнянь
має рішення тоді і тільки тоді , коли .
Якщо всі циклічні фактори мають однаковий вимір існує алгоритм, заснований на нормальних формах Сміта, який вирішує задачу в поліноміальний час. У цьому випадку ефективний алгоритм з [1] знаходить нормальну форму Сміта : він повертає діагональну матрицю і дві неперевернуті матриці і таким чином, що . Це зводило проблему до вирішення еквівалентної системної системи з діагоналлюМи можемо ефективно вирішити, чи є в системі рішення за допомогою алгоритму Евкліда. A D U V D = U A V D Y = U bD
Наведений вище приклад дозволяє припустити, що проблему можна ефективно вирішити, використовуючи подібні методи в загальному випадку. Ми можемо спробувати вирішити систему, виконуючи модульні операції, або перетворивши систему на більшу систему лінійних діофантинових рівнянь. Деякі можливі методи вирішення проблеми, про яку я можу подумати, є:
- Обчислення Сміта нормальних форм .
- Обчислення рядки Echelon форми .
- Ціла Гауссова ліквідація.