Esempio in cui l'equivalenza è semplice ma è difficile trovare un rappresentante di classe


25

Supponiamo di avere una classe di oggetti (diciamo grafici, stringhe) e una relazione di equivalenza su questi oggetti. Per i grafici questo potrebbe essere isomorfismo grafico. Per le stringhe, potremmo dichiarare equivalenti due stringhe se sono anagrammi l'una dell'altra.

Sono interessato a calcolare un rappresentante per una classe di equivalenza. Cioè, voglio una funzione f () tale che per due oggetti qualsiasi x, y, f (x) = f (y) se f xey sono equivalenti. (*)

Per l'esempio degli anagrammi, f (s) potrebbe ordinare le lettere nella stringa, ad es. f ('cabac') = 'aabcc'. Per l'isomorfismo grafico, potremmo prendere f (G) come un grafico G 'che è isomorfo a G ed è il primo grafo lessicofico ad avere questa proprietà.

Ora la domanda: esiste un esempio in cui il problema di determinare se due elementi sono equivalenti è "facile" (polimerizzabile in tempo di tempo), mentre trovare un rappresentante è difficile (cioè non esiste un algoritmo di tempo in poli per calcolare f () che soddisfi ( *)).


La domanda potrebbe essere troppo generica, in quanto consente molte costruzioni "strane": accetta un problema NP-completo e lascia che ogni istanza formi la propria classe di equivalenza. Per un esempio NO- , insieme . Per un sì istanza , definire come il certificato lessicografico più piccolo. sf(s)=0ss
Gamow,

2
@Gamow Nel tuo esempio potresti semplicemente lasciare . Penso che l'OP voglia un esempio in cui non esiste una facile . f(s)=sf
Bjørn Kjos-Hanssen

4
Le parole chiave per la ricerca sono "canonizzazione" o "etichettatura canonica".
Emil Jeřábek sostiene Monica il

Per quelli confusi come me, a quanto pare questa domanda è stata ripubblicata nel 2018, e questo è stato successivamente notato e le risposte si sono fuse qui.
usul

Risposte:


25

Ok, che ne dite: i numeri e sono equivalenti se sia , o entrambi e hanno fattorizzazioni e dove , , e sono tutti Prime e . Cioè: i prodotti di due numeri primi sono equivalenti quando condividono il loro fattore primo più piccolo; altri numeri equivalgono solo a se stessi.xyx=yxyx=pqy=prpqrp<min(q,r)

È facile verificare se due numeri diversi sono equivalenti: calcolare il loro gcd, verificare se non è banale, verificare se il gcd è inferiore ai cofattori e verificare se il gcd e i suoi cofattori sono tutti primi.

Ma non è ovvio come calcolare una funzione rappresentativa in tempo polinomiale e se si aggiunge il requisito che deve essere equivalente a qualsiasi funzione rappresentativa ci consentirebbe di fattorizzare la maggior parte dei prodotti di due numeri primi (ognuno che non è proprio rappresentante).f ( x ) xff(x)x


Ri: "Non è ovvio come calcolare una funzione rappresentativa f ": Probabilmente ti sto fraintendendo, ma: se x è il prodotto di due numeri primi distinti, allora: sia p il minore di questi numeri primi; cerchiamo s essere il meno primo dopo p ; scegli f ( x ) = ps . Se x non è il prodotto di due numeri primi distinti, scegliere f ( x ) = x . (Tutto ciò è un modo per dire rotonda: scegli f ( x ) = il minimo elemento della classe di equivalenza di x .) No?
Ruakh,

2
@ruakh "Lascia che sia il minore di questi numeri primi" presume che tu possa fattorizzare (per trovare ), ma questo è comunemente considerato difficile. x ppxp
Aaron Roth,

@AaronRoth: Ah, capisco. Con "non è ovvio come calcolare una funzione rappresentativa ", deve aver significato qualcosa del tipo "non è ovvio come calcolare facilmente una funzione rappresentativa ", quindi. Che si adatta alla domanda del PO. Questo ha senso, grazie. :-)fff
ruakh

Sì, scusa, questo è ciò che intendevo.
David Eppstein,

21

Due numeri interi mod sono equivalenti se mod . Se si potesse facilmente calcolare un rappresentante di classe per questa funzione, il factoring può essere eseguito in tempi polinomiali probabilistici.n x 2y 2 nx,ynx2y2n

In generale, un tale esempio implicherebbe che . Supponiamo che sia una relazione di equivalenza che è decidibile in tempo polinomiale. Quindi, mediante la ricerca lessicografica utilizzando un oracolo , è possibile trovare l'elemento lessicograficamente minimo nella classe di equivalenza di qualsiasi stringa. Se , questo diventa tempo polinomiale, quindi puoi usare la stringa lessicograficamente meno equivalente come rappresentante di classe. Questa osservazione è originariamente dovuta a Blass e Gurevich [1].R N P P = N PPNPRNPP=NP

Un tale esempio implicherebbe anche (e quindi, in particolare, ).UPBQPPUP

La domanda che hai posto è esattamente ciò che abbiamo indicato nel nostro documento con Lance Fortnow [2]. Quel documento include anche i risultati che ho dichiarato qui, così come l'esempio delle funzioni di hash sottolineato da Peter Shor, alcuni altri possibili esempi e i relativi risultati e domande.PEq=?Ker(FP)

[1] Blass, A. e Gurevich, Y. Relazioni di equivalenza, invarianti e forme normali . SIAM J. Comput. 13 (4): 682-689, 1984.

[2] Fortnow, L. e Grochow, JA Classi di complessità dei problemi di equivalenza rivisitate . Far sapere. e comput. 209 (4): 748-763, 2011. Disponibile anche su arxiv .


15

Il "rappresentante" deve essere nella classe di equivalenza?

Se lo fa, poi prendere qualsiasi crittograficamente forte funzione con la resistenza di collisione.f

Let se . È facile verificare se due cose sono equivalenti, ma se, dato , potresti trovare una pre-immagine canonica di , allora potresti trovare due stringhe e tali che . Questo dovrebbe essere difficile (questo è ciò che significa resistenza alla collisione).xyf(x)=f(y)f(x)=hhxyf(x)=f(y)

Ovviamente, gli informatici non possono dimostrare l'esistenza di funzioni hash crittograficamente forti con resistenza alle collisioni, ma hanno un certo numero di candidati.


7

In primo luogo, ciò che si sta veramente chiedendo è in genere chiamato un invariante completo. Una forma canonica o normale richiede anche che sia equivalente a per tutte le . (Chiedere un "rappresentante" è un po 'ambiguo, poiché alcuni autori potrebbero voler dire che questo include la condizione della forma canonica.)f(x)xx

In secondo luogo, ti prego di perdonare l'autopromozione spudorata, ma questa è esattamente una delle domande su cui Fortnow e io abbiamo lavorato [1]. Abbiamo dimostrato che se ogni relazione di equivalenza che può essere decisa in ha anche un invariante completo in , allora accadono cose brutte. In particolare, implicherebbe . Se una versione promessa di questa affermazione è valida (vedi Teorema 4.6), allora e .PFPUPBQPNPBQPSZKPH=AM

Ora, se in realtà vuoi una forma canonica (un rappresentante di ogni classe di equivalenza che è anche nella classe di equivalenza), mostriamo che accadono cose anche peggiori. Cioè, se ogni relazione di equivalenza decidibile nel tempo polinomiale ha una forma canonica poli-tempo, allora:

  • I numeri interi possono essere presi in considerazione in tempi polifunzionali probabilistici
  • Le funzioni hash senza collisioni che possono essere valutate in non esistono.FP
  • NP=UP=RP (da qui )PH=BPP

Ci sono anche oracoli che vanno in entrambe le direzioni per la maggior parte di queste affermazioni sulle relazioni di equivalenza, dovute a noi ea Blass e Gurevich [2].

Se invece di "qualsiasi" rappresentante, chiedi l'elemento lessicograficamente minimo in una classe di equivalenza, trovare l'elemento lessicograficamente più piccolo in una classe di equivalenza può essere -hard (in realtà, -hard) - anche se il la relazione ha una forma canonica polinomiale-temporale [2].NPPNP

[1] Lance Fortnow e Joshua A. Grochow. Classi di complessità dei problemi di equivalenza rivisitate . Far sapere. e comput. 209: 4 (2011), 748-763. Disponibile anche come arXiv: 0907.4775v2 .

[2] Andreas Blass e Yuri Gurevich. Relazioni di equivalenza, invarianti e forme normali . SIAM J. Comput. 13: 4 (1984), 24-42.


Si è scoperto che la versione di questa domanda pubblicata nel 2018 è stata ripubblicata da un utente di spam di una domanda del 2012. Forse unire le tue due risposte? Entrambi menzionano UP e BQP ma in modi negati ... perderesti un po 'di rappresentante ma lo mitigherei parzialmente votando la tua vecchia risposta :)
Bjørn Kjos-Hanssen

5

Ecco un tentativo di un'altra risposta, in cui allentiamo il requisito sul "rappresentante"; in realtà non deve essere un membro della classe di equivalenza, ma solo una funzione che identifica la classe di equivalenza.

Supponiamo di avere un gruppo in cui è possibile eseguire test di appartenenza ai sottogruppi. Cioè, dato , puoi verificare se trova nel sottogruppo generato da .g1,g2,,gkhg1,,gk

Prendi le tue classi di equivalenza come insiemi di elementi che generano lo stesso sottogruppo. È facile verificare se due set generano lo stesso sottogruppo. Tuttavia, non è affatto chiaro come sia possibile trovare un identificatore univoco per ogni sottogruppo. Ho il sospetto che questo sia davvero un esempio se si assumono gruppi di caselle nere con test di appartenenza ai sottogruppi. Tuttavia, non so se esiste un gruppo non oracolo in cui questo problema sembra essere difficile.g1,g2,,gk


4

Ecco un esempio inventato. Gli oggetti sono coppie cui è una formula SAT e è un'assegnazione proposta alle variabili. Di ' se e (a) e sono entrambi compiti soddisfacenti, oppure (b) e sono entrambi compiti soddisfacenti. Questo è riflessivo, simmetrico e transitivo. Ogni insoddisfacente ha una classe di equivalenza composta da tutte . Ogni soddisfacente ha una classe di tutte dove(H,X)HX(H,X)(H,X)H=HXXXXH(H,X)H(H,X)X è un compito soddisfacente, e un'altra classe con quelli non soddisfacenti.

Verificare se è facile, poiché abbiamo appena controlliamo se , quindi se soddisfa , allora se soddisfa . Ma per calcolare un membro canonico di una classe data con soddisfatto da(H,X)(H,X)H=HXHXH(H,X)HXsembra troppo difficile (non sono sicuro del modo migliore per dimostrare la durezza). Possiamo facilmente piantare una soluzione aggiuntiva alle istanze SAT, quindi conoscere una soluzione in genere non ci aiuterà a trovare qualsiasi altra soluzione, e tanto meno sceglierne una canonica. (Modifica: voglio dire che non mi aspetto alcun algoritmo efficiente per trovare soluzioni aggiuntive data una prima soluzione. Perché potremmo usarlo per risolvere i problemi di SAT "piantando" prima una soluzione aggiuntiva nel problema, quindi alimentandola l'algoritmo. Vedi commenti.)


Per "pianta", intendi qualcosa del genere: data un'istanza SAT in CNF, aggiungiamo una nuova variabile non presente in e lasciamo ? H=iφipHK=i(φip)
Bjørn Kjos-Hanssen

@ BjørnKjos-Hanssen, sì, qualcosa del genere. Idealmente, creeremmo esattamente una soluzione aggiuntiva. Quindi penso che (non in CNF però): data una formula SAT generica , lascia dove sono le variabili originali. Quindi, solo per chiarire, se avessimo un algoritmo per verificare / trovare una seconda soluzione alle istanze SAT, quindi, dato qualsiasi , costruiremmo e lo alimenteremmo con quell'algoritmo insieme all'assegnazione all-true e risolverebbe l'istanza originale . Se non mi sono perso nulla. HK=(H¬p)(px1xn){xi}HK
usul

Mentre la parola "rappresentante" potrebbe implicare che il codice di dovrebbe essere il suo dominio, l'eliminazione di questa restrizione lo rende un non esempio. f
jix,

1
(1) Trovare un secondo incarico soddisfacente è ancora NP-difficile. (2) Trovare un membro canonico della classe data (H, X) in tempo polinomiale equivale a , che collassa PH (Hemaspaandra-Naik-Ogihara-Selman). Tuttavia, nota che la domanda in realtà non richiede un membro canonico della classe, poiché non richiede che x sia equivalente a f (x), in realtà sta solo chiedendo un invariante completo. NPMVcNPSV
Joshua Grochow,

4

Questa è una domanda aperta, almeno per i grafici. Credo che gli ultimi progressi siano

Babai e Kucera, "Etichettatura canonica dei grafici nel tempo medio lineare", FOCS, 1979

che fornisce un algoritmo del tempo lineare (atteso) per un grafico canonico che è corretto con probabilità112O(n)

Puoi leggere di più su Wikipedia . Si noti che una versione derandomizzata dell'algoritmo di Babai significherebbe che non esiste un esempio del genere per i grafici.


2
Anche di interesse: per le forme canoniche nel caso peggiore anziché nel caso medio, il recente documento di Schweitzer-Wiebking ( arxiv.org/abs/1806.07466 ) fornisce una tecnica che dà buone forme canoniche per molte relazioni di equivalenza correlate (equivalenza di codice, permutazione coniugazione di gruppo, iso ipergrafo), e nella loro sezione finale suggeriscono che le loro tecniche potrebbero applicarsi anche al risultato di Babai, dando una forma canonica quasi-poli-tempo per IG.
Joshua Grochow,

@JoshuaGrochow Non ne ho sentito parlare, ma è molto eccitante. Salvare per leggere più tardi.
Stella Biderman,

2

Verifica se due circuiti di dimensioni circuiti sono equivalenti.N

Per determinare se devi solo valutare nei punti di input. Per determinare un rappresentante di classe, si dovrebbe probabilmente testare tutti i possibili circuiti . Per sufficientemente grande, ciò è esponenzialmente più difficile del test dell'equivalenza del circuito.C1C22n2Ω(NlogN)N


Ecco una funzione che mappa ogni circuito su un oggetto rappresentativo (non un circuito) con la stessa rapidità del test di equivalenza: associa ogni circuito al vettore di uscite per ogni possibile ingresso. Probabilmente non sarebbe difficile trasformarlo in un circuito esplicito in stile crossbar. f2n
David Eppstein,

Ho insistito sul fatto che i circuiti avevano limitato le dimensioni al fine di impedire una facile mappatura da uscite al circuito. Tuttavia, avevo ipotizzato che la funzione avesse bisogno di mappare un rappresentante di classe invece di una stringa arbitraria. 2nf
David Harris,

1

Un famoso esempio della teoria degli insiemi descrittivi:

Definiamo una relazione di equivalenza on di R

rsrsQ.

Questa è una relazione di equivalenza piuttosto "facile", in particolare è misurabile.

Ma trovare rappresentanti equivale a trovare un set Vitali , che richiede l'Assioma della scelta e non può essere misurabile.


0

Lascia che gli oggetti nel tuo universo siano le triple ( cui è un problema di soddisfazione, sulle variabili , è 0 o 1, e è un stringa di bit di lunghezza , dove . Cioè, è un'assegnazione a che soddisfa se è 1 o non soddisfa se è 0. Φ,b,i)Φx0,,xk1bikΦ(i)=bix0,,xkΦbΦb

Due oggetti sono equivalenti se hanno lo stesso . Facile da controllareΦ

Lascia che l'oggetto rappresentativo sia il più grande lessicograficamente tra tutti nella classe di equivalenza.

Il rappresentante è NP-completo da trovare: risolverebbe SAT, poiché se il lessicograficamente maggiore ha , allora non è soddisfacente; se ha , è soddisfacente.b=0Φb=1

Sembra che la maggior parte dei problemi NP-completi possano essere posti in questo modo; si tratta di inserire il certificato di appartenenza nella codifica dell'elemento.

Ho pensato che forse questo fosse un problema di compiti a casa, motivo per cui non ho pubblicato la soluzione prima. Dovrei aver finito; Avrei potuto usare quei punti ottenuti da @ david-eppstien. Dio lo sa, non ne ha bisogno.


1
Ah, ma in questo caso c'è una scelta semplice di rappresentante: basta prendere per essere qualsiasi cosa per essere . ibΦ(i)
Bjørn Kjos-Hanssen

-3

Suppongo che tu possa facilmente ottenerlo praticamente per qualsiasi problema del tipo che descrivi.

Esempio di valutazione: supponiamo che gli oggetti siano stringhe e qualsiasi equivale solo a se stessa. Determinare se due elementi sono equivalenti è sempre facile (è semplicemente uguaglianza). Tuttavia, è possibile definire come funzione rigida iniettiva preferita.xf()


3
Ma nel caso che descrivi, c'è una diversa che è facile da calcolare: la funzione identità. f
David Eppstein,

Dalla domanda, non è chiaro se la durezza sia richiesta da tutte le , piuttosto che da alcune . fff
MCH

3
@MCH Penso che sia perfettamente chiaro, poiché altrimenti non ci sarebbero dubbi e la domanda sarebbe sciocca.
Casuale 832
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.