Há casos em que as simetrias de um problema (parecem) caracterizam sua complexidade. Um exemplo muito interessante são os problemas de satisfação com restrições (CSPs).
Definição de CSP
vocêΓkvocêk{ 0 , 1 }VΓϕ : V→ U
Γvocê{ 0 , 1 }Γkvocê{ 0 , 1 }
Polimorfismos
ϕ1, … , Φtf: Ut→ Uϕϕ ( v ) = f( ϕ1( v ) , … , ϕt( v ) )ft
Um polimorfismo para sistemas de equações lineares, por exemplo, é . Observe que . Um que satisfaça essa propriedade é conhecido como operação de Maltsev. CSPs que possuem um polimorfismo de Maltsev são solucionáveis por eliminação gaussiana.f ( x , x , y ) = f ( y , x , x ) = y ff( x , y, z) = x + y+ z( mod2 )f( x , x , y) = f( y, x , x ) = yf
Por outro lado, as disjunções de 3 literais só têm ditadores como polimorfismos, ou seja, funções do tipo .f( x , y) = x
Polimorfismos e Complexidade (a conjectura da dicotomia)
De fato, os polimorfismos têm implicações computacionais: se um CSP admite todos os polimorfismos de , é redutível em tempo polinomial para . Essa é uma maneira de dizer formalmente que um CSP "menos simétrico" que outro CSP é de fato mais difícil.Γ 2 Γ 1 Γ 2 Γ 2 Γ 1Γ1Γ2Γ1Γ2Γ2Γ1
Um grande problema em aberto na teoria da complexidade é caracterizar a dureza dos CSPs. A conjectura de dicotomia de Feder e Vardi afirma que qualquer CSP está em P ou NP completo. A conjectura pode ser reduzida a uma afirmação sobre polimorfismos: um CSP é NP-difícil se e somente se os únicos polimorfismos que admite são "ditadores" (caso contrário, é em P). Ou seja, um CSP é difícil apenas se não houver uma maneira local de formar novas soluções genuínas a partir de soluções antigas. A parte if (dureza) é conhecida, mas a única parte if (projetando um algoritmo polytime) está aberta.
No entanto, um caso importante em que temos uma dicotomia são os CSPs booleanos (onde ). De acordo com o teorema de Schaefer , um CSP booleano está em P se admitir um dos 6 polimorfismos, caso contrário, é NP completo. Os seis polimorfismos são basicamente o que você precisa para resolver o problema por eliminação gaussiana ou por propagação (como você faz com horn-sat, por exemplo), ou para resolvê-lo por uma atribuição trivial.U={0,1}
Para ler mais sobre polimorfismos, álgebra universal e a conjectura de dicotomia, você pode ver a pesquisa de Bulatov .
Polimorfismos e aproximabilidade
Eu também recomendo uma palestra do IAS de Prasad Raghavendra onde ele coloca seu resultadofornecendo uma ótima aproximação de qualquer CSP, assumindo a conjectura de jogos exclusivos em uma estrutura semelhante. Em um nível alto, se todos os polimorfismos (que precisam ser generalizados para lidar com problemas de aproximação) de um CSP estão próximos dos ditadores, pode-se usar o CSP para projetar uma maneira de testar se uma função é um ditador, e isso resulta em seja tudo o que você precisa para reduzir a dureza da aproximação em jogos únicos. Isso fornece a direção da dureza de seu resultado; a direção algorítmica é que quando um CSP tem um polimorfismo que está longe de ser um ditador, pode-se usar um princípio de invariância (generalização de teoremas de limite central) para argumentar que um algoritmo de arredondamento SDP fornece uma boa aproximação. Uma intuição realmente superficial para a parte algorítmica: um polimorfismo que está longe de ser um ditador não não importa se é dado como argumentos (uma distribuição sobre) atribuições de variáveis ou variáveis aleatórias gaussianas que aproximam localmente uma distribuição sobre atribuições de variáveis. É da mesma maneira que uma função de soma "não se importa" se receber variáveis aleatórias discretas com pequena variação ou RV gaussianos com a mesma variação, pelo teorema do limite central. As variáveis aleatórias gaussianas de que precisamos podem ser calculadas a partir de um relaxamento do problema de CSP no SDP. Então, encontramos um polimorfismo que está longe de ser um ditador, alimentamos as amostras gaussianas e obtemos uma boa solução de volta. se receber variáveis aleatórias discretas com pequena variância ou RV gaussianos com a mesma variância, pelo teorema do limite central. As variáveis aleatórias gaussianas de que precisamos podem ser calculadas a partir de um relaxamento do problema de CSP no SDP. Então, encontramos um polimorfismo que está longe de ser um ditador, alimentamos as amostras gaussianas e obtemos uma boa solução de volta. se receber variáveis aleatórias discretas com pequena variância ou RV gaussianos com a mesma variância, pelo teorema do limite central. As variáveis aleatórias gaussianas de que precisamos podem ser calculadas a partir de um relaxamento do problema de CSP no SDP. Então, encontramos um polimorfismo que está longe de ser um ditador, alimentamos as amostras gaussianas e obtemos uma boa solução de volta.