Exemplo em que a equivalência é fácil, mas é difícil encontrar o representante da classe

25

Suponha que tenhamos uma classe de objetos (digamos gráficos, seqüências de caracteres) e uma relação de equivalência nesses objetos. Para gráficos, isso pode ser isomorfismo gráfico. Para strings, poderíamos declarar duas strings equivalentes se forem anagramas uma da outra.

Estou interessado em calcular um representante para uma classe de equivalência. Ou seja, eu quero uma função f () tal que para quaisquer dois objetos x, y, f (x) = f (y) se x e y forem equivalentes. (*)

Para o exemplo de anagramas, f (s) pode classificar letras na string, ie. f ('cabac') = 'aabcc'. Para o isomorfismo do gráfico, poderíamos considerar f (G) como um gráfico G 'isomórfico para G e é o primeiro gráfico lexicoraphically a ter essa propriedade.

Agora, a pergunta: existe um exemplo em que o problema de determinar se dois elementos são equivalentes é "fácil" (solucionável em tempos poligonais), enquanto é difícil encontrar um representante (por exemplo, não há algoritmo de tempo polimétrico para calcular f () que satisfaça ( *)).

Martin Pál
fonte
A pergunta pode ser muito geral, pois permite muitas construções "estranhas": pegue um problema de NP-completo e deixe cada instância formar sua própria classe de equivalência. Para uma instância NO , defina . Para uma instância YES , defina como o certificado lexicograficamente menor. sf(s)=0ss
Gamow
2
@ Gamow No seu exemplo, você pode simplesmente deixar . Eu acho que o OP quer um exemplo onde não existe fácil . f(s)=sf
Bjørn Kjos-Hanssen
4
As palavras-chave para pesquisa são "canonização" ou "identificação canônica".
Emil Jeřábek apoia Monica
Para aqueles confusos como eu, aparentemente essa pergunta foi reeditada em 2018, e isso foi percebido mais tarde e as respostas se fundiram aqui.
usul

Respostas:

25

Ok, como cerca de: números e são equivalentes se quer , ou ambos e têm fatorações e onde , , e são todos nobre e . Ou seja: produtos de dois primos são equivalentes quando compartilham seu menor fator primo; outros números são equivalentes apenas a si mesmos.y x = y x y x = p q y = p r p q r p < min ( q , r )xyx=yxyx=pqy=prpqrp<min(q,r)

É fácil testar se dois números diferentes são equivalentes: calcular seu gcd, testar se não é trivial, testar se o gcd é menor que os cofatores e testar se o gcd e seus cofatores são primos.

Mas não é óbvio como calcular uma função representativa em tempo polinomial, e se você adicionar o requisito de que deve ser equivalente a , qualquer função representativa nos permitirá fatorar a maioria dos produtos de dois primos (cada um que é n representante próprio).f ( x ) xff(x)x

David Eppstein
fonte
Re: "não é óbvio como calcular uma função representativa f ": Provavelmente estou entendendo mal você, mas: se x é o produto de dois primos distintos, então: seja p o menor desses primos; deixe s ser o menos primo depois de p ; escolha f ( x ) = ps . Se x não for o produto de dois primos distintos, escolha f ( x ) = x . (Tudo isso é uma maneira indireta de dizer: escolha f ( x ) = o menor elemento da classe de equivalência de x .) Não?
Ruakh 14/03
2
@ruakh "Seja o menor desses números primos" pressupõe que você pode fatorar (para encontrar ), mas isso geralmente é considerado difícil. x ppxp
Aaron Roth
@AaronRoth: Ah, entendo. Por "não é óbvio como calcular uma função representativa ", ele deve ter entendido algo como "não é óbvio como calcular facilmente uma função representativa ", então. O que se encaixa na pergunta do OP. Isso faz sentido, obrigado. :-)fff
ruakh 14/03
Sim, desculpe, foi isso que eu quis dizer.
David Eppstein
21

Dois inteiros mod são equivalentes se mod . Se alguém puder calcular facilmente um representante de classe para esta função, o fatoramento pode ser feito em tempo polinomial probabilístico.x,ynx2y2n

Em geral, esse exemplo implicaria que . Suponha quePNPR seja uma relação de equivalência decidível em tempo polinomial. Então por pesquisa lexicográfica utilizando uma oráculo, pode-se encontrar o lexicographically menos elemento na classe de equivalência de qualquer string. Se P = N P , isso se torna tempo polinomial, para que você possa usar a cadeia lexicograficamente menos equivalente como representante de classe. Esta observação é originalmente devida a Blass e Gurevich [1].NPP=NP

P U PUPBQPPUP

A pergunta que você fez é exatamente o que denotamos em nosso artigo com Lance Fortnow [2]. Esse documento também inclui os resultados que afirmei aqui, bem como o exemplo de funções de hash apontadas por Peter Shor, alguns outros exemplos possíveis e resultados e perguntas relacionadas.PEq=?Ker(FP)

[1] Blass, A. e Gurevich, Y. Relações de equivalência, invariantes e formas normais . SIAM J. Comput. 13 (4): 682-689, 1984.

[2] Fortnow, L. e Grochow, JA Classes de complexidade de problemas de equivalência revisitadas . Informar. e Comput. 209 (4): 748-763, 2011. Também disponível no arxiv .

Joshua Grochow
fonte
15

O "representante" precisa estar na classe de equivalência?

Se isso acontecer, então tomar qualquer hash criptograficamente forte função com a resistência à colisão.f

Seja se ,. É fácil testar se duas coisas são equivalentes, mas se, dado , você puder encontrar uma pré-imagem canônica de , poderá encontrar duas cadeias e modo que ,. Isso deveria ser difícil (é isso que significa resistência à colisão).f ( x ) = f ( y )xyf(x)=f(y)h x y f ( x ) = f ( y )f(x)=hhxyf(x)=f(y)

Obviamente, os cientistas da computação não podem provar que existem funções hash criptograficamente fortes com resistência à colisão, mas eles têm vários candidatos.

Peter Shor
fonte
7

Primeiro, o que você realmente está pedindo é normalmente chamado de invariante completo. Uma forma canônica ou normal também requer que seja equivalente a para todos os . (Pedir um "representante" é um pouco ambíguo, pois alguns autores podem significar que isso inclui a condição de forma canônica.)f(x)xx

Segundo, por favor, perdoe a autopromoção desavergonhada, mas essa é exatamente uma das perguntas em que Fortnow e eu trabalhamos [1]. Mostramos que se toda relação de equivalência que pode ser decidida em também tiver um invariante completo em , coisas ruins acontecem. Em particular, isso implicaria . Se uma versão promissora desta declaração for válida (consulte o Teorema 4.6), então e .PFPUPBQPNPBQPSZKPH=AM

Agora, se você realmente deseja uma forma canônica (um representante de cada classe de equivalência que também está na classe de equivalência), mostramos coisas ainda piores. Ou seja, se todas as relações de equivalência decidíveis no tempo polinomial tiverem uma forma canônica no tempo polinominal, então:

  • Inteiros podem ser fatorados em tempo poli probabilístico
  • Funções hash sem colisão que podem ser avaliadas em não existem.FP
  • NP=UP=RP (daí )PH=BPP

Também existem oráculos nos dois sentidos para a maioria dessas afirmações sobre relações de equivalência, devido a nós e a Blass e Gurevich [2].

Se, em vez de "qualquer" representante, você solicitar o elemento lexicograficamente menos em uma classe de equivalência, encontrar o elemento lexicograficamente menor em uma classe de equivalência pode ser -hard (na verdade, -hard) - mesmo se o o relacionamento tem uma forma canônica em tempo polinomial [2].NPPNP

[1] 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 .

[2] Andreas Blass e Yuri Gurevich. Relações de equivalência, invariantes e formas normais . SIAM J. Comput. 13: 4 (1984), 24-42.

Joshua Grochow
fonte
Aconteceu que a versão desta pergunta postada em 2018 foi reeditada por um usuário de spam de uma pergunta de 2012. Talvez mescle suas duas respostas? Ambos menção UP e BQP mas de maneiras negados ... você perder algum rep mas eu mitigar parcialmente que por upvoting sua resposta velho :)
Bjørn Kjos-Hanssen
5

Aqui está uma tentativa de outra resposta, onde afrouxamos o requisito do "representante"; na verdade, ele não precisa ser um membro da classe de equivalência, mas apenas uma função que identifica a classe de equivalência.

Suponha que você tenha um grupo em que possa realizar testes de associação de subgrupos. Ou seja, dado , é possível verificar se h está no subgrupo gerado por g 1 , , g k .g1,g2,,gkhg1,,gk

Considere suas classes de equivalência como conjuntos de elementos que geram o mesmo subgrupo. É fácil verificar se dois conjuntos geram o mesmo subgrupo. No entanto, não está claro como você pode encontrar um identificador exclusivo para cada subgrupo. Suspeito que esse seja realmente um exemplo se você assumir grupos de caixas negras com teste de associação a subgrupos. No entanto, não sei se existe algum grupo não oráculo em que esse problema pareça difícil.g1,g2,,gk

Peter Shor
fonte
4

Aqui está um exemplo artificial. Os objetos são pares (H,X) que H é uma fórmula SAT e X é uma atribuição proposta para as variáveis. Diga (H,X)(H,X) se H=H e (a) X e X são tarefas satisfatórias, ou (b) X e X não são tarefas satisfatórias. Isso é reflexivo, simétrico e transitivo. Cada insatisfatórioH tem uma classe de equivalência composta por todos(H,X) . CadaH satisfatóriotem uma classe de todos(H,X) ondeX é uma tarefa satisfatória, e outra classe com as não satisfatórias.

Verificar se (H,X)(H,X) é fácil, uma vez que apenas verificar se H=H , em seguida, se X satisfaz H , em seguida, se X satisfaz H . Mas para calcular um membro canônico de uma classe dada (H,X) com H satisfeito por Xparece muito difícil (não sei qual a melhor forma de provar a dureza). Podemos facilmente plantar uma solução extra para instâncias do SAT, portanto, conhecer uma solução geralmente não nos ajuda a encontrar outra solução, muito menos escolher uma solução canônica. (Edit: O que quero dizer é que não espero nenhum algoritmo eficiente para encontrar soluções adicionais, dada uma primeira solução. Porque poderíamos usá-lo para resolver problemas de SAT, primeiro "plantando" uma solução extra no problema e alimentando-o para o algoritmo. Ver comentários.)

usul
fonte
H=iφipHK=i(φip)
HK=(H¬p)(px1xn){xi}HKe alimentá-lo com esse algoritmo junto com a atribuição totalmente verdadeira e resolveria a instância original. Se eu não perdi nada.
usul
f
1
NPMVcNPSV
4

Esta é uma pergunta em aberto, pelo menos para gráficos. Eu acredito que o progresso mais recente é

Babai e Kucera, "Rotulagem canônica de gráficos em tempo médio linear", FOCS, 1979

112O(n)

Você pode ler mais na Wikipedia . Observe que uma versão derandomizada do algoritmo de Babai significaria que não existe exemplo para gráficos.

Stella Biderman
fonte
2
Também é interessante: para as formas canônicas de pior caso, em vez de média, o artigo recente de Schweitzer-Wiebking ( arxiv.org/abs/1806.07466 ) fornece uma técnica que fornece boas formas canônicas para muitas relações de equivalência relacionadas (equivalência de código, permutação conjugação de grupo, hipergrafo iso) e, na seção final, sugerem que suas técnicas também se apliquem ao resultado de Babai, fornecendo uma forma canônica quase-poli-tempo para o GI.
Joshua Grochow 29/09
@ JoshuaGrochow Eu não ouvi sobre isso, mas isso é muito emocionante. Salvando para ler mais tarde.
Stella Biderman
2

N

C1C22n2Ω(NlogN)N

David Harris
fonte
f2n
2nf
1

Um exemplo famoso da teoria descritiva dos conjuntos:

R

rsrsQ.

Esta é uma relação de equivalência bastante "fácil", em particular é mensurável.

Mas encontrar representantes equivale a encontrar um conjunto Vitali , que requer o Axioma da Escolha e não pode ser mensurável.

Bjørn Kjos-Hanssen
fonte
0

Φ,b,i)Φx0,,xk1bikΦ(i)=bix0,,xkΦbΦb

Φ

Seja o objeto representativo o maior lexicograficamente entre todos na classe de equivalência.

b=0Φb=1

Parece que a maioria dos problemas de NP-completos pode ser colocada dessa maneira; é uma questão de colocar o certificado de associação na codificação do elemento.

Achei que talvez fosse um problema de lição de casa, e é por isso que não publiquei a solução anteriormente. Eu deveria ter feito; Eu poderia ter usado aqueles pontos que @ david-eppstien conseguiu. Deus sabe, ele não precisa deles.

Gara Pruesse
fonte
1
ibΦ(i)
-3

Suponho que você consiga isso facilmente para praticamente qualquer problema do tipo que você descreve.

xf()

MCH
fonte
3
f
ff
3
@MCH Eu acho que é perfeitamente claro, pois caso contrário não haveria dúvida alguma e a pergunta seria tola.
Random832