Supongamos que tenemos una clase de objetos (por ejemplo, gráficos, cadenas) y una relación de equivalencia en estos objetos. Para los gráficos esto podría ser isomorfismo gráfico. Para las cadenas, podríamos declarar dos cadenas equivalentes si son anagramas entre sí.
Estoy interesado en calcular un representante para una clase de equivalencia. Es decir, quiero una función f () tal que para dos objetos cualquiera x, y, f (x) = f (y) si f x e y son equivalentes. (*)
Para el ejemplo de anagramas, f (s) podría ordenar letras en la cadena, es decir. f ('cabac') = 'aabcc'. Para el isomorfismo gráfico, podríamos tomar f (G) como un gráfico G 'que es isomorfo a G y es el primer gráfico lexicoraphically en tener esta propiedad.
Ahora la pregunta: ¿Hay un ejemplo en el que el problema de determinar si dos elementos son equivalentes es "fácil" (tiempo polisoluble), mientras que encontrar un representante es difícil (es decir, no hay un algoritmo de tiempo polivinílico para calcular f () que satisfaga ( *)).
fuente
Respuestas:
Ok, ¿qué tal: los números e son equivalentes si , o ambos e tienen factorizaciones e donde , , y son primos y . Es decir: los productos de dos primos son equivalentes cuando comparten su factor primo más pequeño; otros números solo son equivalentes a ellos mismos.X y x = y X y x = p q y= p r pags q r p < min ( q, R )
Es fácil probar si dos números diferentes son equivalentes: calcule su mcd, pruebe si no es trivial, pruebe si el mcd es menor que los cofactores, y pruebe si el mcd y sus cofactores son primos.
Pero no es obvio cómo calcular una función representativa en tiempo polinómico, y si agrega el requisito de que debe ser equivalente a entonces cualquier función representativa nos permitiría factorizar la mayoría de los productos de dos primos (cada uno que no sea es su propio representante).f ( x ) xF F( x ) X
fuente
Dos enteros mod son equivalentes si mod . Si uno pudiera calcular fácilmente un representante de clase para esta función, entonces se puede factorizar en tiempo polinómico probabilístico.n x 2 ≡ y 2 nx,y n x2≡y2 n
En general, tal ejemplo implicaría que . Supongamos que es una relación de equivalencia que es decidible en el tiempo polinómico. Luego, mediante la búsqueda lexicográfica utilizando un oráculo , se puede encontrar el elemento menos lexicográfico en la clase de equivalencia de cualquier cadena. Si , esto se convierte en tiempo polinómico, por lo que puede usar la cadena lexicográficamente menos equivalente como un representante de clase. Esta observación se debe originalmente a Blass y Gurevich [1].R N P P = N PP≠NP R NP P=NP
Tal ejemplo también implicaría (y por lo tanto, en particular, ).P ≠ U PUP⊈BQP P≠UP
La pregunta que ha hecho es exactamente lo que denotamos en nuestro artículo con Lance Fortnow [2]. Ese documento también incluye los resultados que he establecido aquí, así como el ejemplo de las funciones hash señaladas por Peter Shor, algunos otros ejemplos posibles y los resultados y preguntas relacionados.PEq=?Ker(FP)
[1] Blass, A. y Gurevich, Y. Relaciones de equivalencia, invariantes y formas normales . SIAM J. Comput. 13 (4): 682-689, 1984.
[2] Fortnow, L. y Grochow, JA Clases de complejidad de problemas de equivalencia revisitados . Informar. y Comput. 209 (4): 748-763, 2011. También disponible en arxiv .
fuente
¿El "representante" tiene que estar en la clase de equivalencia?
Si lo hace, entonces tome cualquier función hash criptográficamente fuerte con resistencia a la colisión.f
Deje si . Es fácil probar si dos cosas son equivalentes, pero si, dada , pudieras encontrar una preimagen canónica de , entonces podrías encontrar dos cadenas e tales que . Se supone que esto es difícil (eso es lo que significa resistencia a la colisión).f ( x ) = f ( y )x≃y f(x)=f(y) h x y f ( x ) = f ( y )f(x)=h h x y f(x)=f(y)
Por supuesto, los informáticos no pueden demostrar que existen funciones hash criptográficamente fuertes con resistencia a colisiones, pero tienen varios candidatos.
fuente
Primero, lo que realmente está pidiendo generalmente se llama invariante completo. Una forma canónica o normal también requiere que sea equivalente a para todas las . (Pedir un "representante" es un poco ambiguo, ya que algunos autores pueden querer decir que esto incluye la condición de forma canónica).f(x) x x
Segundo, perdona la descarada autopromoción, pero esta es exactamente una de las preguntas en las que Fortnow y yo trabajamos [1]. Mostramos que si cada relación de equivalencia que se puede decidir en también tiene una invariante completa en , entonces suceden cosas malas. En particular, implicaría . Si se cumple una versión prometedora de esta declaración (vea el Teorema 4.6), entonces y .P FP UP⊆BQP NP⊆BQP∩SZK PH=AM
Ahora, si realmente quieres una forma canónica (un representante de cada clase de equivalencia que también está en la clase de equivalencia), mostramos que suceden cosas aún peores. Es decir, si cada relación de equivalencia que se puede decidir en tiempo polinómico tiene una forma canónica de tiempo múltiple, entonces:
También hay oráculos en ambos sentidos para la mayoría de estas afirmaciones sobre relaciones de equivalencia, debido a nosotros y a Blass y Gurevich [2].
Si en lugar de "cualquier" representante, solicita el elemento lexicográficamente menos en una clase de equivalencia, encontrar el elemento lexicográficamente más pequeño en una clase de equivalencia puede ser duro (de hecho, -duro), incluso si el relación tiene una forma canónica de tiempo polinomial [2].NP PNP
[1] Lance Fortnow y Joshua A. Grochow. Clases de complejidad de problemas de equivalencia revisitados . Informar. y Comput. 209: 4 (2011), 748-763. También disponible como arXiv: 0907.4775v2 .
[2] Andreas Blass y Yuri Gurevich. Relaciones de equivalencia, invariantes y formas normales . SIAM J. Comput. 13: 4 (1984), 24-42.
fuente
Aquí hay un intento de otra respuesta, donde aflojamos el requisito del "representante"; en realidad no tiene que ser miembro de la clase de equivalencia, sino solo una función que identifica la clase de equivalencia.
Supongamos que tiene un grupo donde puede hacer pruebas de membresía de subgrupo. Es decir, dado , puede verificar si está en el subgrupo generado por . h g 1 , ... , g kg1,g2,…,gk h g1,…,gk
Tome sus clases de equivalencia como conjuntos de elementos que generan el mismo subgrupo. Es fácil verificar si dos conjuntos generan el mismo subgrupo. Sin embargo, no está nada claro cómo podría encontrar un identificador único para cada subgrupo. Sospecho que esto realmente es un ejemplo si asume grupos de caja negra con pruebas de membresía de subgrupos. Sin embargo, no sé si hay algún grupo no oráculo donde este problema parece ser difícil.g1,g2,…,gk
fuente
Aquí hay un ejemplo artificial. Los objetos son pares donde es una fórmula SAT y es una asignación propuesta a las variables. Digamos si y (a) y son tareas satisfactorias, o (b) y son tareas satisfactorias. Esto es reflexivo, simétrico y transitivo. Cada insatisfactorio tiene una clase de equivalencia que consiste en todos . Cada satisfactoria tiene una clase de todos donde(H,X) H X (H,X)∼(H′,X′) H=H′ X X′ X X′ H (H,X) H (H,X) X es una tarea satisfactoria, y otra clase con las no satisfactorias.
Comprobar si es fácil ya que acabamos de comprobar si , entonces si satisface , entonces si satisface . Pero para calcular un miembro canónico de una clase dada con satisfecho por(H,X)∼(H′,X′) H=H′ X H X′ H (H,X) H X parece demasiado difícil (no estoy seguro de cómo probar mejor la dureza). Podemos plantar fácilmente una solución adicional para las instancias de SAT, por lo que conocer una solución generalmente no nos ayudará a encontrar otra solución, y mucho menos elegir una canónica. (Editar: lo que quiero decir es que no espero ningún algoritmo eficiente para encontrar soluciones adicionales dada una primera solución. Porque podríamos usarlo para resolver problemas de SAT al "plantar" primero una solución adicional en el problema, luego alimentarlo a el algoritmo. Ver comentarios.)
fuente
Esta es una pregunta abierta, al menos para gráficos. Creo que el último progreso es
que proporciona un algoritmo de tiempo lineal (esperado) para un gráfico canónico que es correcto con probabilidad1−12O(n)
Puedes leer más en Wikipedia . Tenga en cuenta que una versión desaleatorizada del algoritmo de Babai significaría que no existe tal ejemplo para los gráficos.
fuente
Prueba de si dos circuitos de tamaño circuitos son equivalentes.≤N
Para determinar si solo necesita evaluar en los puntos de entrada. Para determinar un representante de clase, uno probablemente tendría que probar todos los circuitos posibles . Para suficientemente grande, esto es exponencialmente más difícil que probar la equivalencia del circuito.C1∼C2 2n 2Ω(NlogN) N
fuente
Un famoso ejemplo de la teoría de conjuntos descriptiva:
Definamos una relación de equivalencia en por∼ R r∼s⟺r−s∈Q.
Esta es una relación de equivalencia bastante "fácil", en particular es medible.
Pero encontrar representantes equivale a encontrar un conjunto Vitali , que requiere el Axioma de Elección y no puede ser medible.
fuente
Deje que los objetos en su universo sean los triples ( donde sea un problema de Satisfacción, en las variables , es 0 o 1, e es un cadena de bits de longitud , donde . Es decir, es una asignación a que satisface si es 1 o no satisface si es 0.Φ,b,i) Φ x0,…,xk−1 b i k Φ(i)=b i x0,…,xk Φ b Φ b
Dos objetos son equivalentes si tienen la misma . Fácil de verificar.Φ
Deje que el objeto representativo sea el más lexicográfico entre todos en la clase de equivalencia.
El representante es NP-complete para encontrar: resolvería SAT, ya que si el mayor lexicográficamente tiene , entonces es insatisfactorio; si tiene , es satisfactoria.b=0 Φ b=1
Parece que la mayoría de los problemas con NP completo se pueden plantear de esta manera; se trata de colocar el certificado de membresía en la codificación del elemento.
Pensé que tal vez era un problema de tarea, por eso no publiqué la solución antes. Yo debí haber hecho; Podría haber usado esos puntos que recibió @ david-eppstien. Dios sabe que no los necesita.
fuente
Supongo que puede lograrlo fácilmente para prácticamente cualquier problema del tipo que describe.
Ejemplo trivial: supongamos que los objetos son cadenas, y cualquier es equivalente solo a sí misma. Determinar si dos elementos son equivalentes siempre es fácil (es simplemente igualdad). Sin embargo, puede definir como su función dura inyectiva favorita.f ( )x f()
fuente