Зафиксируем конечную группу . Меня интересует следующая проблема решения: входными данными являются некоторые элементы группы с частичным порядком на них, и вопрос заключается в том, существует ли перестановка элементов, которая удовлетворяет порядку и такова, что композиция элементов в этом порядок дает нейтральный элемент группы .G e
Формально задача теста заключается в следующем, где группа фиксирована:
- Входные данные : конечное частично упорядоченное множество с функцией маркировки от до .μ P G
- Вывод: существует ли линейное расширение (т. Е. Полный порядок такой, что для всех , подразумевает ), такой, что, записывая элементы( P , < ′ ) x , y ∈ P x < y следуя полному порядку при x 1 , … , x n , имеем μ ( x 1 ) ⋅ ⋯ ⋅ μ ( x n ) = e .
Для любой группы , то G -TEST проблема явно в НП. Мой вопрос: существует ли группа G такая, что задача G- теста является NP-трудной?
Несколько замечаний об эквивалентных постановках задач:
- Язык множеств и линейных расширений можно эквивалентно заменить языком DAG и топологическими порядками. То есть, если вы предпочитаете, вы можете думать о входных данных как о группе обеспечения доступности баз данных с вершинами, помеченными элементами группы, и как о выходных данных, спрашивая, достигает ли некоторый топологический вид входной группы обеспечения доступности баз данных .
- Вместо этого можно было бы рассмотреть более сложную задачу, в которой нам дано множество и g ∈ G , и спросить, можно ли реализовать g (а не e ). Фактически, более сильная проблема сводится к вышесказанному: мы можем спросить, можно ли реализовать e с помощью ( P ′ , < ) , где P ′ - P, но с элементом, помеченным как g - 1, который меньше всех остальных. Отсюда естественный выбор e в приведенном выше определении.
Теперь о моих попытках решить проблему:
- Конечно, если группа коммутативна, проблема G- теста явно в PTIME, поскольку все линейные расширения достигают одного и того же элемента группы, поэтому мы можем просто выбрать любое из них по топологической сортировке и проверить, является ли оно e или нет. Так что интересный случай некоммутативен G . В более общем случае, если G имеет гомоморфизм некоторой нетривиальной коммутативной группе (например, сигнатуре для перестановок), необходимым, но недостаточным условием является рассмотрение проблемы через гомоморфизм и проверка ее в PTIME коммутативным образом. , Я не понимаю, может ли это быть обобщением для схемы разложения для всех конечных групп.
- Если отношение порядка пусто (т. Е. Нам дан мультимножество элементов в и мы можем использовать любую перестановку), проблему можно решить с помощью динамического программирования, где состояния - это число вхождений каждого элемента в G , которые все еще не используется (помните , что G фиксирована, так что число состояний , то многочлен на входе).
- Для входных данных, которые представляют собой множества постоянной ширины, мы можем использовать динамический алгоритм, следующий за разложением цепочки. Поэтому, если твердость сохраняется, она должна использовать входные множества, которые являются произвольно широкими. Обратите внимание, что для широких полетов число возможных «состояний» в подходе динамического программирования было бы числом сбоев в наборе, которое в целом является экспоненциальным, а не полиномиальным, так что этот подход не работает напрямую.
- Та же проблема может быть изучена для моноидов, а не групп, но для моноидов я уже знаю, что это трудно, по достаточно запутанному аргументу, который включает переходный моноид автомата и сводится к варианту предыдущего вопроса теории CS . Полное доказательство этого содержится в этом препринте , приложениях D.1.3 и D.1.4, хотя терминология сильно отличается. Следовательно, когда тестирование является PTIME, оно должно использовать обратимость групповых элементов.
- Если мы спросим, все ли линейные расширения реализуют (а не то, что делают некоторые ), то я знаю, что проблема в PTIME (см. Приложение D.2 того же препринта), хотя я также знаю, что эта другая проблема будет coNP- трудно для моноидов, а не групп (D.1.3 и D.1.4).
Если -test трудно для некоторого G , конечно, естественный вопрос , имеет ли какое - то раздвоение, и какие критерии будут отличать послушный G и не-послушное G . На самом деле этот вопрос можно задать более широко, когда мы используем конечные автоматы вместо групп. (Формально: зафиксируем конечный алфавит Σ и конечный детерминированный конечный автомат (DFA) A на Σ , и рассмотрим задачу A -test, заданную набором, помеченным элементами из Σ , проверки того, образует ли некоторое линейное расширение слово, принятое A. ) Конечно, я понятия не имею об этих более сложных вопросах.