Articulo de referencia

Función construible

En teoría de la complejidad , una función construible en tiempo es una función f de números naturales a números naturales con la propiedad de que f ( n ) puede ser construida a ...

En teoría de la complejidad , una función construible en tiempo es una función f de números naturales a números naturales con la propiedad de que f ( n ) puede ser construida a partir de n por una máquina de Turing en un tiempo de orden f ( n ). El propósito de esta definición es excluir funciones que no proporcionan una cota superior para el tiempo de ejecución de alguna máquina de Turing. [ 1 ]

Construible en el tiempo

Sea la máquina de Turing definida de la manera estándar, con un alfabeto que incluya los símbolos0,1{\displaystyle 0,1}Tiene una cinta de entrada estándar que contiene ceros, excepto una cadena de entrada.1norte{\displaystyle 1^{n}}denota una cadena compuesta denorte{\displaystyle n}unos. Es decir, es la representación unaria denorte{\displaystyle n}. Dejar|norte|{\displaystyle |n|}sea ​​la representación binaria .

Una funciónF{\displaystyle f}Se dice que es construible en el tiempo si existe una máquina de Turing.METRO{\displaystyle M}de tal manera que el cálculoMETRO(1norte){\displaystyle M(1^{n})}paradas enO(F(norte)){\displaystyle O(f(n))}pasos con valor|F(norte)|{\displaystyle |f(n)|}.

Esta definición puede utilizarseMETRO(1norte)=1F(norte){\displaystyle M(1^{n})=1^{f(n)}}en cambio, dado que los dos pueden interconvertirse enO(F(norte)){\displaystyle O(f(n))}pasos. [ 1 ]

Completamente construible en función del tiempo

También existe la noción de una función totalmente construible en el tiempo .

Una funciónF{\displaystyle f}Se dice que es totalmente construible en el tiempo si existe una máquina de Turing.METRO{\displaystyle M}, de tal manera que para todos excepto un número finito denorte{\displaystyle n},METRO(1norte){\displaystyle M(1^{n})}se detiene exactamenteF(norte){\displaystyle f(n)}pasos. [ 2 ] Esta definición es ligeramente menos general que la primera, pero para la mayoría de las aplicaciones, se puede usar cualquiera de las dos. [ 3 ] El siguiente teorema de equivalencia muestra que estos dos conceptos son equivalentes para la mayoría de las funciones utilizadas en la práctica:

Teorema. [ 3 ] : Teorema 2.6 SiF{\displaystyle f}es una función tal que existeϵ>0{\displaystyle \epsilon >0}de tal manera que, para todos excepto un número finito de personasnorte{\displaystyle n},F(norte)(1+ϵ)norte{\displaystyle f(n)\geq (1+\epsilon )n}(es decir, siF(norte)norte=Ω(norte){\displaystyle f(n)-n=\Omega (n)}), entoncesF{\displaystyle f}es construible en el tiempo si y solo si es completamente construible en el tiempo.

Construible en el espacio

Una funciónF{\displaystyle f}Se dice que es construible en el espacio si existe una máquina de Turing.METRO{\displaystyle M}de tal manera queMETRO(1norte){\displaystyle M(1^{n})}paradas con valor|F(norte)|{\displaystyle |f(n)|}(o equivalentemente1F(norte){\displaystyle 1^{f(n)}}), mientras usaO(F(norte)){\displaystyle O(f(n))}espacio. [ 1 ]

De forma equivalente,F{\displaystyle f}Se dice que es construible en el espacio si existe una máquina de Turing.METRO{\displaystyle M}, de tal manera que para todos excepto un número finito denorte{\displaystyle n}, el cálculoMETRO(1norte){\displaystyle M(1^{n})}se detiene en una configuración en la que exactamenteF(norte){\displaystyle f(n)}Las celdas no están vacías y no se ha escrito en ninguna otra celda durante su operación. [ 3 ] : Definición 2.4 A esto a veces se le llama "completamente construible en espacio". Sin embargo, las dos definiciones son equivalentes. [ 3 ] : Teorema 2.7

Propiedades

Todas las funciones de uso común (comonorte,norte2,2norte,norte¡{\displaystyle n,n^{2},2^{n},n!}) son construibles en el tiempo y el espacio, siempre y cuandoF(norte)=Ω(norte){\displaystyle f(n)=\Omega (n)}La construcción es sencilla. Por ejemplo,norte2{\displaystyle n^{2}}se construye mediante un bucle for anidado, mientras quenorte3{\displaystyle n^{3}}se construye mediante dos bucles for anidados, etc.

SiF(norte)=o(norte){\displaystyle f(n)=o(n)}Si es construible en el tiempo, entonces eventualmente será constante, ya que de lo contrario no hay tiempo suficiente para leer toda la entrada.

lnnorte{\displaystyle \ln n}es construible en el espacio aunquelnnorte=o(norte){\displaystyle \ln n=o(n)}.

Para cada función computableF{\displaystyle f}, existe una función computablegramo{\displaystyle g}eso es construible en el tiempo ynorte,gramo(norte)>F(norte){\displaystyle \forall n,g(n)>f(n)}. [ 3 ] : Lema 2.3

Aplicaciones

Las funciones construibles en el tiempo se utilizan en resultados de la teoría de la complejidad, como el teorema de la jerarquía temporal . Son importantes porque este teorema se basa en máquinas de Turing que deben determinar en tiempo O ( f ( n )) si un algoritmo ha dado más de f ( n ) pasos. Esto, por supuesto, es imposible sin poder calcular f ( n ) en ese tiempo. Estos resultados suelen ser válidos para todas las funciones naturales f, pero no necesariamente para las funciones construidas artificialmente . Para formularlos con precisión, es necesario tener una definición precisa de una función natural f para la cual el teorema sea verdadero. Las funciones construibles en el tiempo se utilizan a menudo para proporcionar dicha definición.

Las funciones construibles en el espacio se utilizan de forma similar, por ejemplo, en el teorema de la jerarquía espacial .

Referencias

Este artículo incorpora material de constructible en PlanetMath , que está bajo la licencia Creative Commons Attribution/Share-Alike License .

  1. 1 2 3 Goldreich, Oded (2008). Complejidad computacional: una perspectiva conceptual . Cambridge University Press. págs.  130, 139. ISBN 978-0-521-88473-0.
  2. Homer, Steven; Selman, Alan L. (2011). Computabilidad y teoría de la complejidad (Segunda edición). Springer. ISBN  978-1-4614-0681-5.
  3. 1 2 3 4 5 Balcázar, José Luis; Díaz, Josep; Gabarró, Joaquim (1988). Complejidad Estructural I. Springer-Verlag. ISBN 3-540-18622-0.