Вы пытаетесь определить, существует ли подгруппа H группы G такая, что {g 1 , ..., g n } является трансверсальной смежных классов H. т.е. множество представителей разбиения G смежными классами H.
Во-первых, по теореме Лагранжа , | G | = | G: H | * | G |, где | G: H | = | G | / | H | является индексом подгруппы H группы G. Если {g 1 , ..., g n } действительно является трансверсалью, то | G: H | = | {g 1 , ..., g n } |, поэтому первый тест в вашем алгоритме должен заключаться в том, делит ли n | G |.
Более того, поскольку g i и g j находятся в одном и том же правом классе, только если g i g j -1 находится в H, затем вы можете проверить подгруппы с индексом n, чтобы увидеть, избегают ли они g i g j -1 . Также обратите внимание, что (г i г j -1 ) (г j г k -1 ) = g i g k -1 , поэтому вы можете выбрать любую пару из g i s.
Этого должно быть достаточно, если n мало по сравнению с | G |.
Другой подход состоит в том, чтобы начать с H, являющегося тривиальной группой, и добавить элементы множества H * = {h в G: h k ! = G i g j -1 , для всех i, j, k; i! = j} к генераторам H, пока вы не можете больше добавлять (то есть, пока он больше не является подгруппой). Тогда H максимальная подгруппа группы G такая, что H является подмножеством H *. Если вы можете получить все такие H (и иметь их достаточно большими), то подгруппа, которую вы ищете, должна быть одной из них.
Этот подход будет лучше работать для больших n.
В любом случае неэкспоненциальный подход не очевиден.
РЕДАКТИРОВАТЬ: Я только что нашел обсуждение этой самой темы здесь: http://en.wikipedia.org/wiki/Wikipedia:Reference_desk/Archives/Mathematics/2009_April_18#Is_a_given_set_of_group_elements_a_set_of_coset_representatives.3F