Ein Beispiel, bei dem die Äquivalenz einfach ist, es jedoch schwierig ist, einen Klassenvertreter zu finden


25

Angenommen, wir haben eine Klasse von Objekten (z. B. Graphen, Zeichenfolgen) und eine Äquivalenzbeziehung für diese Objekte. Bei Diagrammen kann dies ein Isomorphismus sein. Für Zeichenfolgen können zwei Zeichenfolgen als äquivalent deklariert werden, wenn sie Anagramme voneinander sind.

Ich interessiere mich für die Berechnung eines Vertreters für eine Äquivalenzklasse. Das heißt, ich möchte eine Funktion f (), so dass für zwei beliebige Objekte x, y, f (x) = f (y) gilt, wenn f x und y äquivalent sind. (*)

Für das Beispiel von Anagrammen könnten f (s) Buchstaben in der Zeichenfolge sortieren, d. H. f ('cabac') = 'aabcc'. Für den Graphisomorphismus können wir f (G) als einen Graph G 'annehmen, der isomorph zu G ist und der lexikoraphisch der erste Graph ist, der diese Eigenschaft aufweist.

Nun die Frage: Gibt es ein Beispiel, bei dem das Problem der Bestimmung, ob zwei Elemente äquivalent sind, "einfach" (polyzeitlösbar) ist, während es schwierig ist, einen Repräsentanten zu finden (dh es gibt keinen polyzeitalgorithmus zur Berechnung von f (), der erfüllt ( *)).


Die Frage könnte zu allgemein sein, da sie viele "seltsame" Konstruktionen zulässt: Nehmen Sie ein NP-vollständiges Problem und lassen Sie jede Instanz ihre eigene Äquivalenzklasse bilden. Setzen Sie für eine NO-Instanz . Definieren Sie für eine JA-Instanz als das lexikografisch kleinste Zertifikat. f ( s ) = 0 s ssf(s)=0ss
Gamow

2
@Gamow In deinem Beispiel könntest du einfach . Ich denke, das OP möchte ein Beispiel, in dem es kein einfaches gibt. ff(s)=sf
Bjørn Kjos-Hanssen

4
Die Schlüsselwörter für die Suche sind "Kanonisierung" oder "kanonische Kennzeichnung".
Emil Jeřábek unterstützt Monica

Für diejenigen, die wie ich verwirrt sind, wurde diese Frage anscheinend 2018 erneut gestellt, und dies wurde später bemerkt und die Antworten hierher zurückgeführt.
USUL

Antworten:


25

Ok, wie wäre es mit: Zahlen und sind äquivalent, wenn entweder oder beide und Faktorisierungen und wobei , und alle Primzahlen sind und . Das heißt: Produkte zweier Primzahlen sind äquivalent, wenn sie den kleinsten Primfaktor gemeinsam haben; andere Zahlen entsprechen nur sich selbst.y x = y x yxyx=yxyx=pqy=prpqrp<min(q,r)

Es ist einfach zu testen, ob zwei verschiedene Zahlen äquivalent sind: Berechnen Sie ihren GCD, testen Sie, ob er nicht trivial ist, testen Sie, ob der GCD kleiner als die Cofaktoren ist, und testen Sie, ob der GCD und seine Cofaktoren alle Primzahlen sind.

Aber es ist nicht klar , wie eine repräsentative Funktion berechnen in Polynomialzeit, und wenn Sie die Anforderung hinzufügen , dass muss gleichwertig sein dann jede repräsentative Funktion würde uns erlauben , zu Faktor der meisten Produkte von zwei Primzahlen (jeden, der isn 't seinen eigenen Vertreter).f ( x ) xff(x)x


Betreff: "Es ist nicht offensichtlich, wie man eine repräsentative Funktion f berechnet ": Wahrscheinlich verstehe ich Sie falsch, aber: wenn x das Produkt zweier unterschiedlicher Primzahlen ist, dann: sei p die kleinere dieser Primzahlen; lassen Sie s die kleinste Primzahl nach seinem p ; wähle f ( x ) = ps . Wenn x ist nicht das Produkt von zwei verschiedenen Primzahlen, dann wählen f ( x ) = x . (All dies ist ein Umweg, um zu sagen: wähle f ( x ) = das kleinste Element der Äquivalenzklasse von x .) Nein?
Ruakh

2
@ruakh "Sei die kleinere dieser Primzahlen" setzt voraus, dass Sie faktorisieren können (um zu finden ), aber dies wird allgemein als schwierig angenommen. x ppxp
Aaron Roth

@ AaronRoth: Ah, ich verstehe. Mit "es ist nicht offensichtlich, wie man eine repräsentative Funktion berechnet " muss er etwas gemeint haben wie "es ist nicht offensichtlich, wie man eine repräsentative Funktion einfach berechnet ". Das passt zur Frage des OP. Das macht Sinn, danke. :-)fff
Ruakh

Ja, tut mir leid, das habe ich gemeint.
David Eppstein

21

Zwei ganze Zahlen mod sind äquivalent, wenn mod . Wenn man leicht eine Klasse berechnen könnte, die für diese Funktion repräsentativ ist, dann kann Factoring in probabilistischer Polynomzeit durchgeführt werden.n x 2y 2 nx,ynx2y2n

Im Allgemeinen würde ein solches Beispiel bedeuten, dass . Angenommen, ist eine Äquivalenzrelation, die in Polynomzeit entscheidbar ist. Dann kann man durch lexikografische Suche mit einem Orakel das lexikografisch kleinste Element in der Äquivalenzklasse einer beliebigen Zeichenfolge finden. Wenn , wird dies zur Polynomzeit, sodass Sie die lexikographisch am wenigsten äquivalente Zeichenfolge als Klassenrepräsentant verwenden können. Diese Beobachtung stammt ursprünglich von Blass und Gurevich [1].R N P P = N PPNPRNPP=NP

Ein solches Beispiel würde auch implizieren (und daher insbesondere ).P U PUPBQPPUP

Die Frage, die Sie gestellt haben, ist genau das, was wir als in unserer Arbeit mit Lance Fortnow [2]. Dieses Papier enthält auch die Ergebnisse, die ich hier angegeben habe, sowie das Beispiel von Hash-Funktionen, auf das Peter Shor hingewiesen hat, einige andere mögliche Beispiele und verwandte Ergebnisse und Fragen.PEq=?Ker(FP)

[1] Blass, A. und Gurevich, Y. Äquivalenzbeziehungen, Invarianten und Normalformen . SIAM J. Comput. 13 (4): 682 & ndash; 689, 1984.

[2] Fortnow, L. und Grochow, JA Überarbeitung der Komplexitätsklassen von Äquivalenzproblemen . Informieren. und Comput. 209 (4): 748-763, 2011. Auch im arxiv erhältlich .


15

Muss der "Vertreter" in der Äquivalenzklasse sein?

Wenn dies der Fall ist, nehmen Sie eine kryptografisch starke Hash- Funktion mit Kollisionsresistenz.f

Let wenn . Es ist einfach zu testen, ob zwei Dinge äquivalent sind. Wenn Sie jedoch , könnten Sie ein kanonisches Vorbild von , dann könnten Sie zwei Zeichenfolgen und so dass ,. Das soll hart sein (das ist Kollisionssicherheit).f ( x ) = f ( y )xyf(x)=f(y)h x y f ( x ) = f ( y )f(x)=hhxyf(x)=f(y)

Informatiker können natürlich nicht nachweisen, dass kryptografisch starke Hash-Funktionen mit Kollisionsresistenz existieren, aber sie haben eine Reihe von Kandidaten.


7

Erstens wird das, wonach Sie wirklich fragen, in der Regel als vollständige Invariante bezeichnet. Eine kanonische oder Normalform erfordert auch , dass äquivalent ist für alle . (Die Frage nach einem "Repräsentanten" ist etwas mehrdeutig, da einige Autoren meinen, dass dies die Bedingung der kanonischen Form einschließt.)f(x)xx

Zweitens, bitte verzeihen Sie die schamlose Eigenwerbung, aber dies ist genau eine der Fragen, an denen Fortnow und ich gearbeitet haben [1]. Wir haben gezeigt, dass, wenn jede Äquivalenzbeziehung, die in entschieden werden kann, auch eine vollständige Invariante in , schlimme Dinge passieren. Insbesondere würde dies . Wenn eine Versprechensversion dieser Aussage gilt (siehe Satz 4.6), dann und .PFPUPBQPNPBQPSZKPH=AM

Wenn Sie nun tatsächlich eine kanonische Form wünschen (ein Vertreter jeder Äquivalenzklasse, die auch in der Äquivalenzklasse enthalten ist), zeigen wir, dass noch schlimmere Dinge passieren. Das heißt, wenn jede in Polynomzeit entscheidbare Äquivalenzrelation eine kanonische Polyzeitform hat, dann gilt:

  • Ganze Zahlen können in probabilistischer Polyzeit berücksichtigt werden
  • Kollisionsfreie Hash-Funktionen, die in ausgewertet werden können, gibt es nicht.FP
  • NP=UP=RP (daher )PH=BPP

Für die meisten dieser Aussagen über Äquivalenzbeziehungen gibt es auch Orakel in beide Richtungen, sowohl für uns als auch für Blass und Gurevich [2].

Wenn Sie anstelle eines "beliebigen" Vertreters nach dem lexikografisch kleinsten Element in einer Äquivalenzklasse fragen, kann das lexikografisch kleinste Element in einer Äquivalenzklasse hart sein (in der Tat -hard) - auch wenn das Die Beziehung hat eine polynomzeitkanonische Form [2].NPPNP

[1] Lance Fortnow und Joshua A. Grochow. Komplexitätsklassen von Äquivalenzproblemen überarbeitet . Informieren. und Comput. 209: 4 (2011), 748 & ndash; 763. Auch als arXiv erhältlich: 0907.4775v2 .

[2] Andreas Blass und Yuri Gurevich. Äquivalenzbeziehungen, Invarianten und Normalformen . SIAM J. Comput. 13: 4 (1984), 24 & ndash; 42.


Es stellte sich heraus, dass die Version dieser Frage, die 2018 veröffentlicht wurde, ein Repost eines Spam-Benutzers einer Frage aus dem Jahr 2012 war. Führen Sie möglicherweise Ihre beiden Antworten zusammen? Beide erwähnen UP und BQP, aber auf negierte Art und Weise ... Sie würden einige Wiederholungen verlieren, aber ich würde das teilweise abmildern, indem ich Ihre alte Antwort hochziehe :)
Bjørn Kjos-Hanssen

5

Hier ist ein Versuch einer anderen Antwort, bei der die Anforderung an den "Vertreter" gelockert wird. Es muss eigentlich kein Mitglied der Äquivalenzklasse sein, sondern nur eine Funktion, die die Äquivalenzklasse identifiziert.

Angenommen, Sie haben eine Gruppe, in der Sie Mitgliedschaftstests für Untergruppen durchführen können. Das heißt, mit können Sie prüfen, ob in der von generierten Untergruppe enthalten ist . h g 1 , , g kg1,g2,,gkhg1,,gk

Nehmen Sie Ihre Äquivalenzklassen als Mengen von Elementen , die dieselbe Untergruppe erzeugen. Es ist einfach zu überprüfen, ob zwei Sätze dieselbe Untergruppe erzeugen. Es ist jedoch überhaupt nicht klar, wie Sie eine eindeutige Kennung für jede Untergruppe finden können. Ich vermute, dass dies wirklich ein Beispiel ist, wenn Sie Black-Box-Gruppen mit Subgruppenmitgliedschaftstests annehmen. Ich weiß jedoch nicht, ob es eine Nicht-Orakel-Gruppe gibt, bei der dieses Problem schwer zu sein scheint.g1,g2,,gk


4

Hier ist ein ausgedachtes Beispiel. Die Objekte sind Paare wobei eine SAT-Formel und eine vorgeschlagene Zuordnung zu den Variablen ist. Sagen Sie wenn und entweder (a) und beide Aufgaben erfüllen oder (b) und beide Aufgaben nicht erfüllen. Dies ist reflexiv, symmetrisch und transitiv. Jedes unbefriedigende hat eine Äquivalenzklasse, die aus allen . Jedes erfüllbare hat eine Klasse von allen mit(H,X)HX(H,X)(H,X)H=HXXXXH(H,X)H(H,X)X ist eine befriedigende Aufgabe, und eine andere Klasse mit den nicht befriedigenden.

Prüfen, ob einfach ist, da wir nur prüfen, ob , dann, wenn erfüllt , dann, wenn erfüllt . Aber um ein kanonisches Mitglied einer gegebenen Klasse mit zu berechnen erfüllt durch(H,X)(H,X)H=HXHXH(H,X)HXscheint zu hart (ich bin mir nicht sicher, wie ich die Härte am besten beweisen kann). Wir können SAT-Instanzen problemlos mit einer zusätzlichen Lösung ausstatten, sodass wir in der Regel keine andere Lösung finden, geschweige denn eine kanonische auswählen können. (Bearbeiten: Was ich meine ist, dass ich keinen effizienten Algorithmus zum Finden zusätzlicher Lösungen für eine erste Lösung erwarte. Wir könnten ihn verwenden, um SAT-Probleme zu lösen, indem wir zuerst eine zusätzliche Lösung in das Problem "einpflanzen" und es dann zuführen den Algorithmus (siehe Kommentare)


Mit "Pflanze" meinen Sie etwas wie: Wenn Sie eine SAT-Instanz in CNF haben, fügen Sie eine neue Variable nicht in , und lassen Sie ? p H K = i ( φ ip )H=iφipHK=i(φip)
Bjørn Kjos-Hanssen

@ BjørnKjos-Hanssen, ja, so ähnlich. Im Idealfall würden wir genau eine zusätzliche Lösung erstellen. Also denke ich, dass dies funktioniert (nicht in CNF): Wenn eine generische SAT-Formel , lassen Sie wo sind die ursprünglichen Variablen. Wenn wir also einen Algorithmus hätten, um nach einer zweiten Lösung für SAT-Instanzen zu suchen / diese zu finden, würden wir mit einem beliebigen konstruieren und zusammen mit der All-True-Zuweisung an diesen Algorithmus weiterleiten, um die ursprüngliche Instanz zu lösen . Wenn ich nichts verpasst habe. K = ( H ¬ p ) ( p x 1x n ) { x i } H KHK=(H¬p)(px1xn){xi}HK
USUL

Während das Wort "repräsentativ" bedeuten könnte, dass die Codomäne von ihre Domäne sein sollte, macht die Aufhebung dieser Einschränkung dies zu einem Nichtbeispiel. f
Jix

1
(1) Das Finden einer zweiten zufriedenstellenden Aufgabe ist immer noch NP-schwer. (2) Das Auffinden eines kanonischen Mitglieds der angegebenen Klasse (H, X) in Polynomzeit ist äquivalent zu , was PH (Hemaspaandra-Naik-Ogihara-Selman) kollabiert. Beachten Sie jedoch, dass die Frage nicht für ein kanonisches Mitglied der Klasse gilt, da x nicht mit f (x) äquivalent sein muss, sondern nur für eine vollständige Invariante. NPMVcNPSV
Joshua Grochow

4

Dies ist zumindest für Grafiken eine offene Frage. Ich glaube, dass der neueste Fortschritt ist

Babai und Kucera, "Kanonische Kennzeichnung von Graphen in linearer Durchschnittszeit", FOCS, 1979

Dies ergibt einen (erwarteten) linearen Zeitalgorithmus für einen kanonischen Graphen, der mit der Wahrscheinlichkeit korrekt ist.112O(n)

Sie können mehr auf Wikipedia lesen . Beachten Sie, dass eine derandomisierte Version von Babais Algorithmus bedeuten würde, dass es für Diagramme kein solches Beispiel gibt.


2
Ebenfalls von Interesse: Für kanonische Formen im ungünstigsten Fall anstelle von kanonischen Formen im durchschnittlichen Fall bietet der kürzlich erschienene Aufsatz von Schweitzer-Wiebking ( arxiv.org/abs/1806.07466 ) eine Technik, die gute kanonische Formen für viele verwandte Äquivalenzrelationen (Codeäquivalenz, Permutation) liefert Gruppenkonjugation, Hypergraph-Iso), und im letzten Abschnitt schlagen sie vor, dass ihre Techniken auch auf Babais Ergebnis anwendbar sein könnten, was eine quasi-polyzeitliche kanonische Form für GI ergibt.
Joshua Grochow

@JoshuaGrochow Ich habe nichts davon gehört, aber das ist sehr aufregend. Speichern, um später zu lesen.
Stella Biderman

2

Testen, ob zwei Kreise der Größe Kreise äquivalent sind.N

Um festzustellen, ob Sie nur an den Eingabepunkten auswerten . Um einen Klassenrepräsentanten zu bestimmen, müsste man wahrscheinlich alle möglichen Schaltkreise testen . Für ausreichend groß ist, ist dies exponentiell schwieriger als das Testen der Schaltungsäquivalenz.2 n 2 Ω ( N log N ) NC1C22n2Ω(NlogN)N


Hier ist eine Funktion , die jede Schaltung einem repräsentativen Objekt (nicht einer Schaltung) so schnell wie ein Äquivalenztest zuordnet: Ordne jede Schaltung dem Vektor von Ausgängen für jeden möglichen Eingang zu. Wahrscheinlich wäre es nicht schwierig, daraus eine explizite Schaltung im Crossbar-Stil zu machen. 2 nf2n
David Eppstein

Ich bestand darauf, dass die Schaltkreise eine begrenzte Größe hatten, um eine einfache Zuordnung von Ausgängen zu Schaltkreis zu verhindern. Ich hatte jedoch angenommen, dass die Funktion einem Klassenrepräsentanten und nicht einer beliebigen Zeichenfolge zugeordnet werden muss. f2nf
David Harris

1

Ein berühmtes Beispiel aus der deskriptiven Mengenlehre:

Definieren wir eine Äquivalenzrelation auf durch R

rsrsQ.

Dies ist eine eher "einfache" Äquivalenzbeziehung, die insbesondere messbar ist.

Aber Repräsentanten zu finden, bedeutet, ein Vitali-Set zu finden , das das Axiom of Choice erfordert und nicht messbar ist.


0

Lassen Sie die Objekte in Ihrem Universum die Tripel sein ( wobei ein Erfüllbarkeitsproblem für die Variablen , entweder 0 oder 1 ist und ist Bitfolge der Länge , wobei . Das heißt, ist eine Zuweisung zu , die erfüllt, wenn 1 ist, oder nicht erfüllt, wenn 0 ist. Φ,b,i)Φx0,,xk1bikΦ(i)=bix0,,xkΦbΦb

Zwei Objekte sind äquivalent, wenn sie dasselbe . Einfach zu überprüfen.Φ

Das repräsentative Objekt sei das lexikographisch größte unter allen in der Äquivalenzklasse.

Der Repräsentant ist NP-vollständig zu finden: Es würde SAT lösen, da wenn der lexikographisch größte , dann ist unbefriedigend; wenn es , ist es erfüllbar.b=0Φb=1

Scheint, dass die meisten NP-vollständigen Probleme auf diese Weise gestellt werden können; Es geht darum, den Mitgliedsschein in die Kodierung des Elements einzufügen.

Ich dachte, dies sei vielleicht ein Problem mit den Hausaufgaben, weshalb ich die Lösung nicht früher gepostet habe. Ich sollte gemacht haben; Ich hätte die Punkte verwenden können, die @ david-eppstien bekommen hat. Meine Güte, er braucht sie nicht.


1
Ah, aber in diesem Fall gibt es eine einfache Wahl des Repräsentanten: nimm einfach als irgendetwas und als . b Φ ( i )ibΦ(i)
Bjørn Kjos-Hanssen

-3

Ich nehme an, Sie können das für praktisch jedes Problem der Art, die Sie beschreiben, leicht erreichen.

Triviales Beispiel: Angenommen, Objekte sind Zeichenfolgen und jedes entspricht nur sich selbst. Es ist immer einfach zu bestimmen, ob zwei Elemente äquivalent sind (es ist einfach Gleichheit). Sie können jedoch als Ihre bevorzugte injizierende harte Funktion definieren.f ( )xf()


3
In dem von Ihnen beschriebenen Fall gibt es jedoch ein anderes , das leicht zu berechnen ist: die Identitätsfunktion. f
David Eppstein

Aus der Frage ist nicht klar, ob die Härte für alle und nicht für einige erforderlich ist . fff
MCH

3
@MCH Ich denke es ist vollkommen klar, da sonst überhaupt kein Zweifel bestehen würde und die Frage albern wäre.
Random832
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.