Рассмотрим следующую задачу проверки принадлежности к абелевой подгруппе .
Входы:
Конечная абелева группа с произвольно большим .
Производящая-набор подгруппы .
Элемент .
Вывод: «да», если и «нет» в другом месте.
Вопрос: Можно ли эффективно решить эту проблему на классическом компьютере? Я считаю алгоритм эффективным, если он использует ресурсы времени и памяти в обычном смысле классических машин Тьюринга. Обратите внимание , что мы можем считать для любой подгруппы . Входной размер этой проблемы .
Немного мотивации . Интуитивно кажется, что проблема может быть решена с помощью алгоритмов для решения линейных систем сравнений или линейных диофантовых уравнений (см. Ниже). Тем не менее, кажется, что существуют различные понятия эффективности вычислений, используемые в контексте вычислений с целыми числами, такие как: строго по сравнению со слабо полиномиальным временем, по алгебраической или по битовой сложности. Я не эксперт по этим определениям, и я не могу найти ссылку, которая четко решает этот вопрос.
Обновление: ответом на проблему является «да».
В последнем ответе я предложил метод, основанный на нормальных формах Смита, который эффективен для любой группы с установленной формой.
Ответ Блондина показывает, что в конкретном случае, когда все имеют вид и - «крошечные целые числа», тогда проблема принадлежит . Крошечные целые числа экспоненциально малы с входным размером: .d i = N e i i N i , e i NC 3 ⊂ P O ( log log | A | )
В своем ответе я использовал «ортогональные подгруппы» для решения этой проблемы, но я считаю, что в этом нет необходимости. Я постараюсь дать более прямой ответ в будущем, основываясь на методе строчных форм Echelon, который я читаю.
Некоторые возможные подходы
Задача тесно связана с решением линейной системы сравнений и / или линейных диофантовых уравнений. Я кратко суммирую эти связи ради завершения.
Возьмем в качестве матрицы, столбцы которой являются элементами порождающего множества . Следующая система уравнений{ h 1 , …
имеет решение тогда и только тогда , когда .
Если все циклические факторы имеют одинаковую размерность существует алгоритм, основанный на нормальных формах Смита, который решает проблему за полиномиальное время. В этом случае эффективный алгоритм из [1] находит нормальную форму Смита : он возвращает диагональную матрицу и две обратимые матрицы и такие что . Это сводило задачу к решению системы эквивалентных систем с диагональюМы можем эффективно решить, если система имеет решение, используя евклидов алгоритм. A D U V D = U A V DD
Приведенный выше пример предполагает, что проблема может быть эффективно решена с использованием аналогичных методов в общем случае. Мы можем попытаться решить систему, выполнив модульные операции или превратив систему в большую систему линейных диофантовых уравнений. Вот некоторые возможные методы решения этой проблемы:
- Вычисление Смита нормальных форм .
- Вычисление строки Echelon формы .
- Целочисленное гауссово исключение.