2.4 Teoria de Grupos e Permutações
2.4.5 Problemas Computacionais em Grupos Simétricos
Nessa seção definimos vários problemas computacionais relacionados à teoria de grupos simétricos a partir de [Luk93, AD08]. Além disso apresentamos algumas reduções polinomiais entre esses problemas. Antes, porém, baseados nas definições de [Luk93], indicamos o que significa tempo polinomial para esses problemas. Os grupos que servem de entrada para os problemas são dados através de conjuntos geradores, comoScomS ⊆Sn. É razoável imaginar que o tamanho de um conjunto gerador não seja muito grande (a ponto de se tornar comparável com o tamanho deSn, que é n!), e que seja limitado por um polinômio como por exemplo n2 [Luk93]. Dessa maneira consideramos de tempo polinomial qualquer algoritmo que execute em tempopoli(n)no pior caso5.
O primeiro problema que apresentamos, na Definição 2.4.46, possui algoritmo polino-mial [Luk93] no caso de grupos simétricos.
Definição 2.4.46. Pertinência em Grupo Simétrico (PGM dePermutation Group Membership) tem como entrada(g, S), ondeS ⊆Sneg ∈Sn, e queremos saber seg ∈ S. Mais formalmente, Pertinência em Grupo Simétrico é o problema de promessa PGM= (PGMS,PGMN), onde
PGMS ={(g, S)|g ∈Sn∧S ⊂Sn∧g ∈ S} PGMN ={(g, S)|g ∈Sn∧S ⊂Sn∧g /∈ S}.
Agora apresentamos na Definição 2.4.47 um problema para o qual ainda não foi encontrado algoritmo polinomial [Luk93].
Definição 2.4.47. Intersecção de Coclasses de Grupo Simétrico (PCI dePermutation Coset Intersection) tem como entrada(g, S1, S2), ondeS1, S2 ⊆ Sn eg ∈ Sn, e queremos saber se há intersecção entre a coclassegS1e o subgrupoS2. Mais formalmente, Intersecção de Coclasses de Grupo Simétrico é o problema de promessa PCI= (PCIS,PCIN), onde
PCIS ={(g, S1, S2)|g ∈Sn∧S1, S2 ⊂Sn∧gS1 ∩ S2 =∅}
PCIN ={(g, S1, S2)|g ∈Sn∧S1, S2 ⊂Sn∧gS1 ∩ S2=∅}.
5Perceba que essa definição implica que procedimentos que envolvem a enumeração de todos os elementos de Snão são polinomiais, pois temos|S|= Ω(n!)no pior caso.
Para exemplificar o processo de redução em problemas envolvendo grupos simétricos, mostramos uma redução simples no Teorema 2.4.48.
Teorema 2.4.48. PGM≤p PCI.
Demonstração. A partir de uma instância(g, S)de PGM, construímos a instância(g,{1n}, S) de PCI. Analisamos a redução: percebe-se queg1n={g}, e nesse caso{g} ∩ S =∅se e somente seg ∈ S.
Apresentamos nas Definições 2.4.49 e 2.4.50 mais dois problemas para os quais ainda não existe algoritmo polinomial, além de provavelmente não seremNP-completos [Luk93].
Definição 2.4.49. Pertinência em Coclasse Dupla de Grupo Simétrico (PDCM de Permuta-tion Double Coset Membership) tem como entrada(g, h, S1, S2), ondeS1, S2 ⊆Sneg, h∈Sn, e queremos saber seg ∈ S1hS2, ou seja, se existems∈ S1, t∈ S2tal queg =sht. Mais formalmente, Pertinência em Coclasse Dupla de Grupo Simétrico é o problema de promessa PDCM= (PDCMS,PDCMN), onde
PDCMS ={(g, h, S1, S2)|g, h∈Sn∧S1, S2 ⊂Sn∧g ∈ S1hS2} PDCMN ={(g, h, S1, S2)|g, h∈Sn∧S1, S2 ⊂Sn∧g /∈ S1hS2}.
Definição 2.4.50. Conjugação de Grupos Simétricos (PGC dePermutation Group Conjugacy) tem como entrada(G, S1, S2), ondeG, S1, S2 ⊆Sn, e queremos saber se existeg ∈ Gtal que gS1g−1 = S2 Mais formalmente, Conjugação de Grupos Simétricos é o problema de promessa PGC= (PGCS,PGCN), onde
PGCS =
(T, S1, S2)|G, S1, S2 ⊂Sn∧ ∃g∈TgS1g−1 =S2 PGCN =
(T, S1, S2)|G, S1, S2 ⊂Sn∧ ∀g∈TgS1g−1 =S2 .
Apresentamos agora na Definição 2.4.51 um problema genérico, denotado PGE, que captura todos os problemas definidos anteriormente nesta seção [AD08].
Definição 2.4.51. O problema Equivalência de Grupos Simétricos (PGE dePermutation Group Equivalence) tem como entrada(x, y, T, τ), tal queT ⊂Sn,τ :G×S →Sé uma ação de grupo computável em tempo polinomial do grupoG=TemS, para algumS ⊆ {0,1}m, ondem = poli(n). Mais precisamente, dadosg ∈Ges∈ S, o valor degsé computável em tempo polinomial. Por último,x, y ∈S. Definimos formalmente o problema omitindo essas promessas para não carregar a notação. Equivalência de Grupos Simétricos é o problema de promessa PGE= (PGES,PGEN), onde:
PGES =
(x, y, T, τ)| ∃g∈T, gx=y PGEN =
(x, y, T, τ)| ∀g∈T, gx=y .
O problema PGE, em sua essência, pergunta se os elementosx ey estão na mesma órbitaOrb(x)(ouOrb(y)) da ação de grupoτ. Mostraremos, como um exemplo, uma redução de PGC para esse problema, antes, porém, apresentamos dois resultados que serão úteis nos Lemas 2.4.52 e 2.4.53.
Lema 2.4.52. [AK06] Podemos obter o menor elemento em ordem lexicográfica de uma coclasse xHondex∈SneH ≤Snem tempo polinomial.
Lema 2.4.53. [AD08] Dado S ⊂ Sn, existe um algoritmo polinomial A que computa um conjunto gerador canônico (ou base canônica)B deG = S. A saída de Aé canônica no sentido de queAtem como saídaBpara qualquerS tal queS=G.
Demonstração. O algoritmoAcomputa um conjunto gerador forte paraGatravés do algoritmo de Schreier-Sims. Então usamos o Lema 2.4.52 para substituir cada representante de coclasse do conjunto obtido pelo menor em ordem lexicográfica. Esse conjunto é canônico como indicado por construção.
Agora podemos enunciar e provar a redução no Teorema 2.4.54.
Teorema 2.4.54. [AD08] PGC≤p PGE.
Demonstração. Seja(T, S1, S2)uma instância de PGC eG= T. Mapeamos essa instância para(X, Y, T, τ)ondeX eY são strings que representam os conjuntos geradores canônicos de S1eS2obtidos através do lema anterior. Além disso, o conjuntoSda definição de PGE é o conjunto de strings que representam conjuntos geradores canônicos para todos os subgrupos de Sn.
A ação de grupo τ : G ×S → S é a função resultante da aplicação do seguinte algoritmo aB ∈Seg ∈G: construa o conjuntoB ={gxg−1 |x∈B}e use o algoritmoAdo lema anterior para obter um conjunto gerador canônico paraB.
Vamos primeiro mostrar que, da forma comoτ foi definida, essa é uma ação de grupo.
para todoB ∈S(lembrando queBé a base canônica de um subgrupo deSn),τ(1)(B) = (1)B resulta no conjunto gerador canônico deB = {(1)x(1)−1 | x ∈B} =B, logo τ(1)(B) = B.
Por outro lado, temos para todosg, h∈ GeB ∈S, queτg(τh(B)) =τg({hxh−1 |x∈B}) = {ghxh−1g−1 |x∈B}=τgh(B).
Agora analisamos a redução. Se(G, S1, S2)for uma instância sim de PGC, sabemos que existeg ∈ Gtal quegS1g−1 = {gsg−1 | s ∈ S1} =S2. Pela redução temos que a órbita deX sob a açãoτ é dada pelos conjunto de bases geradoras de{gxg−1 |x ∈X}para todog ∈G, mas pela hipótese, deve haver a base geradora deS2nesse conjunto, ou então o conjuntoY, assim, temosOrb(X) = Orb(Y). Um argumento semelhante mostra que quando lidamos com uma instância não, temosOrb(X)= Orb(Y), como desejado.
Apresentamos nas Definições 2.4.55 e 2.4.56 ainda outros dois problemas em grupos simétricos considerados em [Luk93]. No caso específico de grupos simétricos, temos que esses problemas são equivalentes e redutíveis a PGE [AD08].
Definição 2.4.55. Intersecção de Grupos Simétricos (PGIP dePermutation Group Intersection Problem) tem como entrada(S1, S2), ondeS1, S2 ⊆Sn, e queremos saber seS1∩S2={(1)}, ou seja, se a intersecção dos subgrupos S1 e S2 é trivial ou não. Mais formalmente, Intersecção de Grupos Simétricos é o problema de promessa PGIP= (PGIPS,PGIPN), onde
PGIPS ={(S1, S2)| S1 ∩ S2={(1)}}
PGIPN ={(S1, S2)| S1 ∩ S2 ={(1)}}.
Definição 2.4.56. O problema Estabilizador de Grupo Simétrico (PGS dePermutation Group Stabilizer) tem como entrada(x, T, τ), tal queT ⊂Sn,τ :G×S →S é uma ação de grupo computável em tempo polinomial do grupoG = T em S, para algum S ⊆ {0,1}m, onde m= poli(n). Mais precisamente, dadosg ∈Ges∈S, o valor degsé computável em tempo polinomial. Por último,x∈S. Definimos formalmente o problema omitindo essas promessas para não carregar a notação. Estabilizador de Grupo Simétrico é o problema de promessa PGS= (PGSS,PGSN), onde:
PGSS ={(x, T, τ)|Stab(x) = {(1)}}
PGSN ={(x, T, τ)|Stab(x)={(1)}}.