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ímbolosTiene una cinta de entrada estándar que contiene ceros, excepto una cadena de entrada.denota una cadena compuesta deunos. Es decir, es la representación unaria de. Dejarsea la representación binaria .
Una funciónSe dice que es construible en el tiempo si existe una máquina de Turing.de tal manera que el cálculoparadas enpasos con valor.
Esta definición puede utilizarseen cambio, dado que los dos pueden interconvertirse enpasos. [ 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ónSe dice que es totalmente construible en el tiempo si existe una máquina de Turing., de tal manera que para todos excepto un número finito de,se detiene exactamentepasos. [ 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 Sies una función tal que existede tal manera que, para todos excepto un número finito de personas,(es decir, si), entonceses construible en el tiempo si y solo si es completamente construible en el tiempo.
Construible en el espacio
Una funciónSe dice que es construible en el espacio si existe una máquina de Turing.de tal manera queparadas con valor(o equivalentemente), mientras usaespacio. [ 1 ]
De forma equivalente,Se dice que es construible en el espacio si existe una máquina de Turing., de tal manera que para todos excepto un número finito de, el cálculose detiene en una configuración en la que exactamenteLas 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 (como) son construibles en el tiempo y el espacio, siempre y cuandoLa construcción es sencilla. Por ejemplo,se construye mediante un bucle for anidado, mientras quese construye mediante dos bucles for anidados, etc.
SiSi es construible en el tiempo, entonces eventualmente será constante, ya que de lo contrario no hay tiempo suficiente para leer toda la entrada.
es construible en el espacio aunque.
Para cada función computable, existe una función computableeso es construible en el tiempo y. [ 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 2 3 Goldreich, Oded (2008). Complejidad computacional: una perspectiva conceptual . Cambridge University Press. págs. 130, 139. ISBN 978-0-521-88473-0.
- ↑ Homer, Steven; Selman, Alan L. (2011). Computabilidad y teoría de la complejidad (Segunda edición). Springer. ISBN 978-1-4614-0681-5.
- 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.
- Teoría de la complejidad computacional
- Tipos de funciones