Articulo de referencia

problema de distinción de elementos

En la teoría de la complejidad computacional , el problema de la distinción de elementos o el problema de la unicidad de elementos consiste en determinar si todos los elementos ...

En la teoría de la complejidad computacional , el problema de la distinción de elementos o el problema de la unicidad de elementos consiste en determinar si todos los elementos de una lista son distintos.

Es un problema ampliamente estudiado en diversos modelos de computación. Puede resolverse ordenando la lista y comprobando si existen elementos consecutivos iguales; también puede resolverse en tiempo lineal esperado mediante un algoritmo aleatorio que inserta cada elemento en una tabla hash y compara únicamente aquellos elementos ubicados en la misma celda de la tabla hash. [ 1 ]

Se demuestran varios límites inferiores en la complejidad computacional reduciendo el problema de distinción de elementos al problema en cuestión, es decir, demostrando que la solución del problema de unicidad de elementos se puede encontrar rápidamente después de resolver el problema en cuestión.

Complejidad del árbol de decisión

El número de comparaciones necesarias para resolver el problema del tamañonorte{\displaystyle n}, en un modelo de computación basado en comparaciones, como un árbol de decisión o un árbol de decisión algebraico , esΘ(norteregistronorte){\displaystyle \Theta (n\log n)}. Aquí,Θ{\displaystyle \Theta }invoca la notación big theta , lo que significa que el problema se puede resolver en una cantidad de comparaciones proporcional anorteregistronorte{\displaystyle n\log n}(una función linealítmica ) y que todas las soluciones requieren esta cantidad de comparaciones. [ 2 ] En estos modelos de computación, los números de entrada pueden no usarse para indexar la memoria de la computadora (como en la solución de tabla hash), sino que solo se puede acceder a ellos calculando y comparando funciones algebraicas simples de sus valores. Para estos modelos, un algoritmo basado en la ordenación por comparación resuelve el problema dentro de un factor constante del mejor número posible de comparaciones. El mismo límite inferior se aplica también al número esperado de comparaciones en el modelo de árbol de decisión algebraico aleatorio . [ 3 ] [ 4 ]

Complejidad de RAM real

Si los elementos del problema son números reales , la cota inferior del árbol de decisión se extiende al modelo de máquina de acceso aleatorio real con un conjunto de instrucciones que incluye suma, resta y multiplicación de números reales, así como comparación y división o resto ("floor"). [ 5 ] De ello se deduce que la complejidad del problema en este modelo también esΘ(norteregistronorte){\displaystyle \Theta (n\log n)}Este modelo RAM abarca más algoritmos que el modelo de árbol de decisión algebraico, ya que incluye algoritmos que utilizan la indexación de tablas. Sin embargo, en este modelo se contabilizan todos los pasos del programa, no solo las decisiones.

Complejidad de la máquina de Turing

Una máquina de Turing determinista de una sola cinta puede resolver el problema, para n elementos de m log n bits cada uno, en un tiempo O ( n 2 m ( m +2–log n )) , mientras que en una máquina no determinista la complejidad temporal es O ( nm ( n + log m )) . [ 6 ]

Complejidad cuántica

Los algoritmos cuánticos pueden resolver este problema más rápido, enΘ(norte2/3){\textstyle \Theta (n^{2/3})}consultas. El algoritmo óptimo es de Andris Ambainis . [ 7 ] Yaoyun Shi demostró por primera vez una cota inferior ajustada cuando el tamaño del rango es suficientemente grande. [ 8 ] Ambainis [ 9 ] y Kutin [ 10 ] de forma independiente (y mediante diferentes demostraciones) extendieron su trabajo para obtener la cota inferior para todas las funciones.

Generalización: Encontrar elementos repetidos

Elementos que ocurren más denorte/k{\displaystyle n/k}veces en un multiconjunto de tamañonorte{\displaystyle n}puede encontrarse mediante un algoritmo basado en comparaciones, el algoritmo de los grandes éxitos de Misra-Gries , en el tiempoO(norteregistrok){\displaystyle O(n\log k)}. El problema de la distinción de elementos es un caso especial de este problema dondek=norte{\displaystyle k=n}. Este tiempo es óptimo bajo el modelo de cálculo de árbol de decisión . [ 11 ]

Véase también

Referencias

  1. Gil, J.; Meyer auf der Heide, F.; Wigderson, A. (1990), "No todas las claves se pueden hashear en tiempo constante", Actas del 22.º Simposio ACM sobre Teoría de la Computación , págs. 244–253 , doi : 10.1145/100216.100247 , S2CID 11943779  .
  2. Ben-Or, Michael (1983), "Límites inferiores para árboles de computación algebraica", Actas del 15.º Simposio ACM sobre Teoría de la Computación , págs. 80–86 , doi : 10.1145/800061.808735 .
  3. Grigóriev, Dima ; Karpinski, Marek ; Heide, Friedhelm Meyer; Smolensky, Roman (1996), "Un límite inferior para árboles de decisión algebraicos aleatorios", Computational Complexity , 6 (4): 357, doi : 10.1007/BF01270387 , S2CID 1462184 .
  4. Grigoriev, Dima (1999), "Límites inferiores de complejidad para árboles de computación aleatorios sobre campos de característica cero", Computational Complexity , 8 (4): 316–329 , doi : 10.1007/s000370050002 , S2CID 10641238 .
  5. Ben-Amram, Amir M.; Galil, Zvi (2001), "Topological Lower Bounds on Algebraic Random Access Machines", SIAM Journal on Computing , 31 (3): 722– 761, doi : 10.1137/S0097539797329397.
  6. Ben-Amram, Amir M.; Berkman, Omer; Petersen, Holger (2003), "Distinción de elementos en máquinas de Turing de una cinta: una solución completa.", Acta Informatica , 40 (2): 81–94 , doi : 10.1007/s00236-003-0125-8 , S2CID 24821585 
  7. Ambainis, Andris (2007), "Algoritmo de paseo cuántico para la distinción de elementos", SIAM Journal on Computing , 37 (1): 210–239 , arXiv : quant-ph/0311001 , doi : 10.1137/S0097539705447311
  8. Shi, Y. (2002). Límites inferiores cuánticos para los problemas de colisión y distinción de elementos . Actas del 43.er Simposio sobre Fundamentos de la Informática . págs. 513–519 . arXiv : quant-ph/0112086 . doi : 10.1109/SFCS.2002.1181975 . 
  9. Ambainis, A. (2005). "Grado polinomial y cotas inferiores en la complejidad cuántica: colisión y distinción de elementos con rango pequeño" . Theory of Computing . 1 (1): 37– 46. doi : 10.4086/toc.2005.v001a003 .
  10. Kutin, S. (2005). "Límite inferior cuántico para el problema de colisión con rango pequeño" . Theory of Computing . 1 (1): 29– 36. doi : 10.4086/toc.2005.v001a002 .
  11. Misra, J.; Gries, D. (1982), "Finding repeated elements", Science of Computer Programming , 2 (2): 143– 152, doi : 10.1016/0167-6423(82)90012-0 , hdl : 1813/6345.