Exemple où l'équivalence est facile mais où trouver un représentant de classe est difficile

25

Supposons que nous ayons une classe d'objets (par exemple des graphiques, des chaînes) et une relation d'équivalence sur ces objets. Pour les graphiques, cela pourrait être un isomorphisme de graphique. Pour les chaînes, nous pourrions déclarer deux chaînes équivalentes si elles sont des anagrammes l'une de l'autre.

Je souhaite calculer un représentant pour une classe d'équivalence. Autrement dit, je veux une fonction f () telle que pour deux objets quelconques x, y, f (x) = f (y) ssi x et y sont équivalents. (*)

Pour l'exemple d'anagrammes, f (s) pourrait trier les lettres dans la chaîne, c'est-à-dire. f ('cabac') = 'aabcc'. Pour l'isomorphisme de graphe, nous pourrions prendre f (G) pour être un graphe G 'qui est isomorphe à G et est le premier graphe lexicoraphiquement à avoir cette propriété.

Maintenant, la question est: y a-t-il un exemple où le problème de déterminer si deux éléments sont équivalents est "facile" (poly temps résoluble), alors que trouver un représentant est difficile (c'est-à-dire qu'il n'y a pas d'algorithme poly temps pour calculer f () qui satisfait ( *)).

Martin Pál
la source
La question pourrait être trop générale, car elle autorise de nombreuses constructions "étranges": prenez un problème NP-complet et laissez chaque instance former sa propre classe d'équivalence. Pour un exemple NO- , ensemble . Pour un OUI instance , définir comme le plus petit certificat lexicographique. sf(s)=0ss
Gamow
2
@Gamow Dans votre exemple, vous pouvez simplement laisser . Je pense que l'OP veut un exemple où il n'y a pas de facile . f(s)=sf
Bjørn Kjos-Hanssen
4
Les mots-clés de recherche sont "canonisation" ou "étiquetage canonique".
Emil Jeřábek soutient Monica le
Pour ceux qui sont confus comme moi, cette question a apparemment été republiée en 2018, et cela a ensuite été remarqué et les réponses ont fusionné ici.
usul

Réponses:

25

xyx=yxyx=pqy=prpqrp<min(q,r)

Il est facile de tester si deux nombres différents sont équivalents: calculer leur pgcd, tester s'il n'est pas trivial, tester si le pgcd est inférieur aux cofacteurs et tester si le pgcd et ses cofacteurs sont tous premiers.

Mais il n'est pas évident de calculer une fonction représentative en temps polynomial, et si vous ajoutez l'exigence que doit être équivalent à alors n'importe quelle fonction représentative nous permettrait de factoriser la plupart des produits de deux nombres premiers (chacun qui n'est pas 't son propre représentant).ff(x)x

David Eppstein
la source
Re: "il n'est pas évident de calculer une fonction représentative f ": Je vous comprends probablement mal, mais: si x est le produit de deux nombres premiers distincts, alors: soit p le plus petit de ces nombres premiers; soit s le moins premier après p ; choisissez f ( x ) = ps . Si x n'est pas le produit de deux nombres premiers distincts, choisissez f ( x ) = x . (Tout cela est une façon détournée de dire: choisissez f ( x ) = le moindre élément de la classe d'équivalence de x .) Non?
ruakh
2
@ruakh "Soit le plus petit de ces nombres premiers" suppose que vous pouvez factoriser (pour trouver ), mais cela est généralement supposé difficile. pxp
Aaron Roth
@AaronRoth: Ah, je vois. Par "ce n'est pas évident de savoir comment calculer une fonction représentative f ", il doit avoir voulu dire quelque chose comme "ce n'est pas évident comment calculer facilement une fonction représentative f ", alors. Ce qui correspond à la question du PO. Cela a du sens, merci. :-)
ruakh
Oui, désolé, c'est ce que je voulais dire.
David Eppstein
21

Deux entiers mod n sont équivalents si x 2y 2 mod n . Si l'on pouvait facilement calculer un représentant de classe pour cette fonction, alors l'affacturage peut se faire en temps polynomial probabiliste.x,ynx2y2n

En général, un tel exemple impliquerait que . Supposons que R est une relation d'équivalence décidable en temps polynomial. Ensuite, par recherche lexicographique en utilisant un oracle N P , on peut trouver l'élément lexicographiquement le moins dans la classe d'équivalence de n'importe quelle chaîne. Si P = N P , cela devient le temps polynomial, vous pouvez donc utiliser la chaîne lexicographiquement la moins équivalente comme représentant de classe. Cette observation est à l'origine due à Blass et Gurevich [1].PNPRNPP=NP

Un tel exemple impliquerait également (et donc, en particulier, ).UPBQPPUP

La question que vous avez posée est exactement ce que nous avons noté dans notre article avec Lance Fortnow [2]. Ce document comprend également les résultats que j'ai énoncés ici, ainsi que l'exemple des fonctions de hachage souligné par Peter Shor, quelques autres exemples possibles, et les résultats et questions connexes.PEq=?Ker(FP)

[1] Blass, A. et Gurevich, Y. Relations d'équivalence, invariants et formes normales . SIAM J. Comput. 13 (4): 682-689, 1984.

[2] Fortnow, L. et Grochow, JA Les classes de complexité des problèmes d'équivalence revisitées . Informer. et Comput. 209 (4): 748-763, 2011. Également disponible sur l' arxiv .

Joshua Grochow
la source
15

Le "représentant" doit-il être dans la classe d'équivalence?

Dans le cas contraire, prenez une hachage cryptographiquement forte fonction avec la résistance à la collision.f

Soit si f ( x ) = f ( y )xyf(x)=f(y). Il est facile de tester si deux choses sont équivalentes, mais si, étant donné , vous pouvez trouver une préimage canonique de h , alors vous pouvez trouver deux chaînes x et y telles que f ( x ) = f ( y )f(x)=hhxyf(x)=f(y). C'est censé être difficile (c'est ce que signifie la résistance aux collisions).

Bien sûr, les informaticiens ne peuvent pas prouver qu'il existe des fonctions de hachage cryptographiquement solides avec une résistance aux collisions, mais ils ont un certain nombre de candidats.

Peter Shor
la source
7

Tout d'abord, ce que vous demandez vraiment est généralement appelé un invariant complet. Une forme canonique ou normale requiert également que f(x) soit équivalent à x pour tout x . (Demander un «représentant» est un peu ambigu, car certains auteurs pourraient vouloir dire que cela inclut la condition de forme canonique.)

Deuxièmement, veuillez pardonner l'autopromotion sans vergogne, mais c'est exactement l'une des questions sur lesquelles Fortnow et moi avons travaillé [1]. Nous avons montré que si chaque relation d'équivalence qui peut être décidée dans P aussi un invariant complet dans FP , alors de mauvaises choses se produisent. Il serait en particulier, impliquer UPBQP . Si une version promesse de cette affirmation est (voir théorème 4.6) puis NPBQPSZK et PH=AM .

Maintenant, si vous voulez réellement une forme canonique (un représentant de chaque classe d'équivalence qui est également dans la classe d'équivalence), nous montrons que les choses se produisent encore pire. Autrement dit, si chaque relation d'équivalence décidable en temps polynomial a une forme canonique poly-temps, alors:

  • Les nombres entiers peuvent être pris en compte dans le temps poly probabiliste
  • Les fonctions de hachage sans collision qui peuvent être évaluées dans FP n'existent pas.
  • NP=UP=RP (d'oùPH=BPP )

Il y a aussi des oracles qui vont dans les deux sens pour la plupart de ces déclarations sur les relations d'équivalence, dues à nous et à Blass et Gurevich [2].

Si au lieu de "n'importe quel" représentant, vous demandez l'élément lexicographiquement le moins dans une classe d'équivalence, trouver le plus petit élément lexicographiquement dans une classe d'équivalence peut être NP -hard (en fait, PNP -hard) - même si la relation a une forme canonique en temps polynomial [2].

[1] Lance Fortnow et Joshua A. Grochow. Les classes de complexité des problèmes d'équivalence revisitées . Informer. et Comput. 209: 4 (2011), 748 à 763. Également disponible en arXiv: 0907.4775v2 .

[2] Andreas Blass et Yuri Gurevich. Relations d'équivalence, invariants et formes normales . SIAM J. Comput. 13: 4 (1984), 24-42.

Joshua Grochow
la source
Il s'est avéré que la version de cette question publiée en 2018 était une rediffusion par un utilisateur de spam d'une question de 2012. Peut-être fusionner vos deux réponses? Ils mentionnent tous les deux UP et BQP mais de façon négative ... vous perdriez un représentant mais j'atténuerais partiellement cela en votant pour votre ancienne réponse :)
Bjørn Kjos-Hanssen
5

Voici une tentative d'une autre réponse, où nous relâchons l'exigence sur le «représentant»; il ne doit pas nécessairement être membre de la classe d'équivalence, mais simplement une fonction identifiant la classe d'équivalence.

Supposons que vous ayez un groupe dans lequel vous pouvez effectuer des tests d'appartenance à un sous-groupe. Autrement dit, étant donné , vous pouvez vérifier si h est dans le sous-groupe généré par g 1 , , g k .g1,g2,,gkhg1,,gk

Prenez vos classes d'équivalence comme des ensembles d'éléments qui génèrent le même sous-groupe. Il est facile de vérifier si deux ensembles génèrent le même sous-groupe. Cependant, on ne sait pas du tout comment trouver un identifiant unique pour chaque sous-groupe. Je soupçonne que c'est vraiment un exemple si vous supposez des groupes de boîtes noires avec des tests d'appartenance à des sous-groupes. Cependant, je ne sais pas s'il existe un groupe non-oracle où ce problème semble être difficile.g1,g2,,gk

Peter Shor
la source
4

Voici un exemple artificiel. Les objets sont des paires (H,X)H est une formule SAT et X est une affectation proposée aux variables. Dites (H,X)(H,X) si H=H et soit (a) X et X sont tous deux des affectations satisfaisantes, soit (b) X et X sont pas tous deux des affectations satisfaisantes. C'est réflexif, symétrique et transitif. Chaque insatisfiableH a une classe d'équivalence composée de tous(H,X) . ChaqueH satisfiablea une classe de tous(H,X)X est une affectation satisfaisante, et une autre classe avec les non satisfaisantes.

Vérifier si (H,X)(H,X) est facile puisque nous vérifions que si H=H , alors si X satisfait H , alors si X satisfait H . Mais pour calculer un membre canonique d'une classe donnée (H,X) avec H satisfait par Xsemble trop dur (je ne sais pas comment prouver au mieux la dureté). Nous pouvons facilement planter une solution supplémentaire aux instances SAT, donc connaître une solution ne nous aidera généralement pas à trouver une autre solution, et encore moins à en choisir une canonique. (Edit: ce que je veux dire, c'est que je ne m'attends à aucun algorithme efficace pour trouver des solutions supplémentaires étant donné une première solution. Parce que nous pourrions l'utiliser pour résoudre des problèmes SAT en "plantant" d'abord une solution supplémentaire dans le problème, puis en la nourrissant à l'algorithme. Voir les commentaires.)

usul
la source
Par "plante", voulez-vous dire quelque chose comme: étant donné une instance SAT dans CNF, ajoutons une nouvelle variable p n'apparaissant pas dans H , et laissons K = i ( φ ip ) ? H=iφipHK=i(φip)
Bjørn Kjos-Hanssen
@ BjørnKjos-Hanssen, oui, quelque chose comme ça. Idéalement, nous créerions exactement une solution supplémentaire. Je pense donc que cela fonctionne (pas en CNF cependant): étant donné une formule SAT générique , soit K = ( H ¬ p ) ( p x 1x n ){ x i } sont les variables d'origine. Donc, juste pour clarifier, si nous avions un algorithme pour rechercher / trouver une deuxième solution aux instances SAT, alors étant donné tout H, nous construirions KHK=(H¬p)(px1xn){xi}HKet le nourrir à cet algorithme avec l'affectation tout-vrai et il résoudrait l'instance d'origine. Si je n'ai rien raté.
usul
Bien que le mot «représentatif» puisse impliquer que le domaine codé de devrait être son domaine, la levée de cette restriction en fait un non-exemple. f
jix
1
(1) Trouver une deuxième affectation satisfaisante est toujours difficile pour NP. (2) Trouver un membre canonique de la classe donnée (H, X) en temps polynomial est équivalent à , ce qui effondre PH (Hemaspaandra-Naik-Ogihara-Selman). Cependant, notez que la question ne demande pas réellement un membre canonique de la classe, car elle ne nécessite pas que x soit équivalent à f (x), elle ne demande vraiment qu'un invariant complet. NPMVcNPSV
Joshua Grochow du
4

C'est une question ouverte, au moins pour les graphiques. Je crois que les derniers progrès sont

Babai et Kucera, "Étiquetage canonique des graphiques en temps moyen linéaire", FOCS, 1979

qui donne un algorithme de temps linéaire (attendu) pour un graphe canonique qui est correct avec la probabilité 112O(n)

Vous pouvez en savoir plus sur Wikipedia . Notez qu'une version dérandomisée de l'algorithme de Babai signifierait qu'il n'existe aucun exemple de ce type pour les graphiques.

Stella Biderman
la source
2
Également intéressant: pour les pires cas au lieu des cas canoniques moyens, le récent article de Schweitzer-Wiebking ( arxiv.org/abs/1806.07466 ) donne une technique qui donne de bonnes formes canoniques pour de nombreuses relations d'équivalence liées (équivalence de code, permutation conjugaison de groupe, hypergraphe iso), et dans leur dernière section, ils suggèrent que leurs techniques pourraient également s'appliquer au résultat de Babai, donnant une forme canonique quasi-poly-temps pour l'IG.
Joshua Grochow
@JoshuaGrochow Je n'ai pas entendu parler de cela, mais c'est très excitant. Sauvegarder pour lire plus tard.
Stella Biderman
2

Vérifier si deux circuits de taille circuits sont équivalents.N

Pour déterminer si vous suffit d'évaluer aux 2 n points d'entrée. Pour déterminer un représentant de classe, il faudrait probablement tester tous les circuits possibles de 2 Ω ( N log N ) . Pour N suffisamment grand, cela est exponentiellement plus difficile que de tester l'équivalence du circuit.C1C22n2Ω(NlogN)N

David Harris
la source
Here's a function f that maps each circuit to a representative object (not a circuit) as quickly as equivalence testing: map each circuit to the vector of 2n outputs for each possible input. Probably it would be not difficult to turn this into an explicit crossbar-style circuit.
David Eppstein
I insisted that the circuits had bounded size in order to prevent an easy mapping from 2n outputs to circuit. However, I had assumed that the function f needed to map to a class representative as opposed to an arbitrary string.
David Harris
1

A famous example from descriptive set theory:

Let us define an equivalence relation on R by

rsrsQ.

This is a rather "easy" equivalence relation, in particular it's measurable.

But finding representatives amounts to finding a Vitali set, which requires the Axiom of Choice and cannot be measurable.

Bjørn Kjos-Hanssen
la source
0

Let the objects in your universe be the triples (Φ,b,i) where Φ be a Satisfiability problem, on variables x0,,xk1, b is either 0 or 1, and i is a bitstring of length k, where Φ(i)=b. That is, i is an assignment to x0,,xk that satisfies Φ if b is 1 or does not satisfy Φ if b is 0.

Two objects are equivalent if they have the same Φ. Easy to check.

Let the representative object be the lexicographically greatest among all in the equivalence class.

The representative is NP-complete to find: it would solve SAT, since if the lexicographically greatest has b=0, then Φ is unsatisfiable; if it has b=1, it is satisfiable.

Seems that most NP-complete problems can be posed this way; it's a matter of placing the certificate of membership into the encoding of the element.

I thought maybe this was a homework problem, which is why I didn't post the solution earlier. I should have done; I could have used those points that @david-eppstien got. Goodness knows, he doesn't need them.

Gara Pruesse
la source
1
Ah but in this case there is an easy choice of representative: just take i to be anything and b to be Φ(i).
Bjørn Kjos-Hanssen
-3

I suppose you can easily achieve that for virtually any problem of the type you describe.

Trivial example: Suppose objects are strings, and any x is equivalent to only itself. Determining whether two elements are equivalent is always easy (it is simply equality). However, you can define f() as your favorite injective hard function.

MCH
la source
3
But in the case you describe, there is a different f that is easy to compute: the identity function.
David Eppstein
From the question, it's not clear whether the hardness is required from all f, rather than some f.
MCH
3
@MCH I think it's perfectly clear, since otherwise there would be no doubt at all and the question would be silly.
Random832