Dado um grupo agindo em um conjunto X com uma ordem total ≤ e x ∈ X , qual é o algoritmo mais eficiente para decidir se x é ou não o menor elemento em sua órbita, ou seja, decidir se m i n ( G x ) = x ?
Minha motivação vem da solução SMT, onde houve algum interesse em quebrar automaticamente as simetrias. A adição de predicados de quebra de simetria geralmente resulta em um grande conjunto de cláusulas, portanto, estou interessado na possibilidade de lidar com isso como uma propagação da teoria preguiçosa.
A descrição acima é talvez muito geral e, como observado por sid , NP-hard. Uma possível tarefa mais simples é, dado um grupo de permutações de cadeias de comprimento codificadas como um conjunto de geradores e uma cadeia x de comprimento n . Qual é o algoritmo mais eficiente para decidir se essa string é a menor lexicograficamente em sua órbita?
fonte
Respostas:
Para as relações de equivalência geral, não aquelas que resultam de ações do grupo de permutação, mesmo encontrar lexicograficamente menos ainda é "muito" geral. Encontrando-se o lexicograficamente menor elemento em uma classe de equivalência pode ser -Hard (na verdade, P N P -Hard) - mesmo que a relação tem uma forma canónica de tempo polinomial [1].NP PNP
No entanto, para os problemas órbita grupo permutação como descrever, decidir se os dois pontos estão no mesmo órbita não é provável que seja -Hard: é em N P ∩ c o Uma M , e, portanto, não N P -Hard a menos que o a hierarquia polinomial cai para o segundo nível.NP NPA c o A M NP
Uma forma canônica para isomorfismo de gráfico também é um caso especial do segundo problema que você declara. A forma canônica mais conhecida para isomorfismo gráfico é executada no tempo [2].2O~( n√)
Como você disse nos comentários que qualquer forma canônica serve, você também pode estar interessado no meu artigo com Lance Fortnow [3]: em sua atual generalidade, acho que sua pergunta está relacionada aos nossos resultados. Mostramos que, se cada equivalência relação decidable em tem uma forma canônica em P , em seguida, "maus" consequências resultar, como N P = U P = R P , que, em particular, implica que a hierarquia polinomial cai para baixo para B P P . Por outro lado, as relações de equivalência em que você está interessado podem não estar em PP P NP= UP= R P B PP P , mas esse resultado sugere que, mesmo que se encontre em uma classe de maior complexidade, outros problemas difíceis ainda podem ficar no seu caminho.
Então, eu acho que se você quer melhores limites superiores, realmente precisa que o problema seja mais específico.
[1] Andreas Blass e Yuri Gurevich. Relações de equivalência, invariantes e formas normais . SIAM J. Comput. 13: 4 (1984), 24-42.
[2] László Babai e Eugene M. Luks. Rotulagem canônica de gráficos . STOC 1983, 171-183.
[3] Lance Fortnow e Joshua A. Grochow. Classes de complexidade dos problemas de equivalência revisitados . Informar. e Comput. 209: 4 (2011), 748-763. Também disponível como arXiv: 0907.4775v2 .
fonte