Versión multiplicativa de 3-SUM

22

¿Qué se sabe sobre la complejidad temporal del siguiente problema, que llamamos 3-MUL?

Dado un conjunto de n enteros, ¿hay elementos a, b, c \ en S tales que ab = c ?n a , b , c S a b = cSna,b,cSab=c

Este problema es similar al problema 3-SUM, que pregunta si hay tres elementos modo que (o equivalente ). Se conjetura que 3-SUMA requiere un tiempo aproximadamente cuadrático en . ¿Hay una conjetura similar para 3-MUL? Específicamente, ¿se sabe que 3-MUL es difícil de 3-SUM?a + b + c = 0 a + b = c na,b,cSa+b+c=0a+b=cn

Tenga en cuenta que la complejidad del tiempo debe aplicarse en un modelo de cálculo "razonable". Por ejemplo, podríamos reducir de 3-SUM en un conjunto a 3-MUL en el conjunto , donde . Entonces , existe una solución para 3-MUL, , si y solo si . Sin embargo, este aumento exponencial de los números se escala muy mal con varios modelos, como el modelo RAM, por ejemplo.S S = { 2 xx S } 2 a2 b = 2 c a + b = cSSS={2xxS}2a2b=2ca+b=c

Markus Jalsenius
fuente
Su reducción muestra que 3-MULT es 3-SUM difícil si los números de entrada pueden expresarse usando notación exponencial (también conocida como científica).
Warren Schudy
44
Cualquier algoritmo para 3-SUM que se base únicamente en el hecho de que la suma es un grupo puede traducirse en un algoritmo para 3-MULT, y viceversa. Por lo tanto, cualquier algoritmo que separe a los dos debería hacer algo inusual con los números.
Warren Schudy
1
para ser terriblemente pedantes, solo podríamos necesitar un semigrupo.
Suresh Venkat

Respuestas:

11

Su reducción de SUM a 3 MUL funciona con una modificación estándar menor. Suponga que sus enteros originales estaban en { 1 , ... , M }. Después de la transformación x 2 x, los nuevos enteros están en { 2 , ... , 2 M }. Reduciremos el alcance.331,,Mx2x2,,2M

Considere cualquier triple de enteros en el nuevo conjunto S ' . El número de divisores primos de cualquier distinto de cero un b - c es < 2 M . El número de tales triples es n 3 . Por lo tanto el número de primos q que divide al menos una de la una b - c no nulos números es como máximo de 2 M n 3 .a,b,cSabc<2Mn3qabc2Mn3

Sea el conjunto de los primeros 2 M n 4 primos. El primo más grande es de tamaño como máximo O ( M n 4 log M n ) . Escoja un primer aleatorio p P . Con alta probabilidad, p no dividirá ninguno de los no a cero a b - c , por lo que podemos representar a cada a S por su residuo, mod p , y si 3 MUL encuentra algo a b = c en SP2Mn4O(Mn4logMn)pPpabcaSp3ab=c , Con alta probabilidad será correcta para lainstanciaoriginal de 3 SUM. Hemos reducido el rango de los números a { 0 , ... , O ( M n 4 log M n ) }.S30,,O(Mn4logMn)

(Esta es una reducción de tamaño estándar Usted puede ser capaz de hacerlo mejor, considerando el hecho de que los. son siempre las diferencias de dos potencias de 2 ).abc2

virgi
fuente
1
¿No has reducido a 3MUL mod un prime en lugar de 3MUL? Puede ser que pero a b c . ab=c(mod()p)abc
Warren Schudy
1
Sí, como es, esta es una reducción a 3MUL mod p. Buen punto.
virgi
Este es un enfoque muy interesante. Sin embargo, estamos particularmente interesados ​​en una reducción determinista de 3-SUM a 3-MUL. ¿Sería posible desrandomizar la técnica de reducción de tamaño?
Markus Jalsenius
3

¿Has probado la reducción donde M = max S - min S ? Los resultados son números reales, por lo que tendría que redondear a una cierta cantidad de dígitos. Para garantizar que los números se sumen correctamente a pesar del redondeo, es posible que deba agregar un poco de ruido aleatorio.S={2x/M|xS}M=maxSminS

Warren Schudy
fuente
Vaya, el ruido aleatorio no parece suficiente para corregir el error de redondeo. Sin embargo, estas ideas parecen prometedoras para reducir la otra forma de mostrar 3-MULT no es más difícil que 3-SUM, ya que, por ejemplo, . (x+1)+y=x+y+1
Warren Schudy
1
La ecuación no parece correcta (prueba x e y = 2.1). ¿Podrías aclarar a qué te referías?
Raphael