Articulo de referencia

Teorema de la brecha

Véase también Teorema de la brecha (desambiguación) para otros teoremas de brecha en matemáticas . En la teoría de la complejidad computacional , el teorema de la brecha, tambié...

Véase también Teorema de la brecha (desambiguación) para otros teoremas de brecha en matemáticas .

En la teoría de la complejidad computacional , el teorema de la brecha, también conocido como el teorema de la brecha de Borodin-Trakhtenbrot, es un teorema importante sobre la complejidad de las funciones computables . [ 1 ]

En esencia, establece que existen brechas computables arbitrariamente grandes en la jerarquía de clases de complejidad . Para cualquier función computable que represente un aumento en los recursos computacionales , se puede encontrar un límite de recursos tal que el conjunto de funciones computables dentro del límite de recursos ampliado sea el mismo que el conjunto computable dentro del límite original.

El teorema fue demostrado independientemente por Boris Trakhtenbrot [ 2 ] y Allan Borodin . [ 3 ] [ 4 ] Aunque la derivación de Trakhtenbrot precedió a la de Borodin por varios años, no fue conocida ni reconocida en Occidente hasta después de que se publicara el trabajo de Borodin.

Declaración

Como ejemplo introductorio, supongamos que estamos considerando la complejidad temporal de un modelo específico de máquina de Turing . El conjuntoTIEMPO(norte2){\displaystyle \operatorname {TIEMPO} (n^{2})}es el conjunto de funciones computables totales, de modo que existe alguna implementación de la función que la calcula en tiemponorte2{\displaystyle \leq n^{2}}dado un tamaño de entrada denorte{\displaystyle n}.

En general, cualquier función computable totalt{\displaystyle t}define algunosTIEMPO(t(norte)){\displaystyle \operatorname {TIEMPO} (t(n))}clase de complejidad temporal, y esperamos que sit(norte){\displaystyle t'(n)}es mucho más grande quet(norte){\displaystyle t(n)}, para todosnorte{\displaystyle n}, entoncesTIEMPO(t(norte)){\displaystyle \operatorname {TIEMPO} (t'(n))}debería ser más grande queTIEMPO(t(norte)){\displaystyle \operatorname {TIEMPO} (t(n))}El teorema de la brecha establece que esto no es necesariamente así. De hecho, para cualquier total computablegramo{\displaystyle g}de tal manera quegramo(norte)>norte{\displaystyle g(n)>n}a pesar denorte{\displaystyle n}, existe alguna función computable totalt{\displaystyle t}, de tal manera queTIEMPO(t(norte))=TIEMPO(gramo(t(norte))){\displaystyle \operatorname {TIEMPO} (t(n))=\operatorname {TIEMPO} (g(t(n)))}Intuitivamente, aumentar el tiempo de cómputo podría no permitirnos calcular más funciones.

De forma más general, supongamos que Φ es una medida de complejidad abstracta (Blum) , entonces para cualquier función computable total g para la cualgramo(incógnita)incógnita{\displaystyle g(x)\geq x}para cada x , existe una función computable total t tal que con respecto a Φ , las clases de complejidad con funciones límite t ygramot{\displaystyle g\circ t}son idénticos.

Trascendencia

Para el caso especial de complejidad temporal, esto se puede expresar de forma más sencilla como:

para cualquier función computable totalgramo:ωω{\displaystyle g:\,\omega \,\to \,\omega }de tal manera quegramo(incógnita)incógnita{\displaystyle g(x)\geq x}Para todo x , existe un límite de tiempo.T(norte){\displaystyle T(n)}de tal manera queDTIMETROmi(gramo(T(norte)))=DTIMETROmi(T(norte)){\displaystyle {\mathsf {DTIME}}(g(T(n)))={\mathsf {DTIME}}(T(n))}.

De forma similar para el caso especial de complejidad espacial .

Porque el límiteT(norte){\displaystyle T(n)} puede ser muy grande (y a menudo será no construible ) el teorema de la brecha no implica nada interesante para clases de complejidad como P o NP , [ 5 ] y no contradice el teorema de jerarquía temporal ni el teorema de jerarquía espacial . [ 6 ]

Véase también

Referencias

  1. Fortnow, Lance ; Homer, Steve (junio de 2003). "Una breve historia de la complejidad computacional" (PDF) . Boletín de la Asociación Europea de Ciencias de la Computación Teórica (80): 95–133 . Archivado del original (PDF) el 29 de diciembre de 2005.
  2. Trakhtenbrot, Boris A. (1967). La complejidad de los algoritmos y los cálculos (apuntes de clase) . Universidad de Novosibirsk.
  3. Borodin, Allan (1969). «Clases de complejidad de funciones recursivas y la existencia de brechas de complejidad». En Fischer, Patrick C.; Ginsburg, Seymour; Harrison, Michael A. (eds.). Actas del 1.er Simposio Anual de la ACM sobre Teoría de la Computación , 5-7 de mayo de 1969, Marina del Rey, CA, EE. UU . Association for Computing Machinery. págs. 67-78 . 
  4. Borodin, Allan (enero de 1972). "Complejidad computacional y la existencia de brechas de complejidad" . Journal of the ACM . 19 (1): 158– 174. doi : 10.1145/321679.321691 . hdl : 1813/5899 .
  5. Allender, Eric W .; Loui, Michael C.; Regan, Kenneth W. (2014). «Capítulo 7: Teoría de la complejidad». En Gonzalez, Teofilo ; Diaz-Herrera, Jorge; Tucker, Allen (eds.). Computing Handbook, Third Edition: Computer Science and Software Engineering . CRC Press. págs. 7-9 . ISBN  9781439898529Afortunadamente , el fenómeno de la brecha no puede ocurrir durante períodos de tiempo que a alguien le interesen..
  6. Zimand, Marius (2004). Complejidad computacional: una perspectiva cuantitativa . North-Holland Mathematics Studies. Vol. 196. Elsevier. p. 42. ISBN   9780080476667..