Vous êtes sur la page 1sur 6

Teora de la Complejidad Computacional

Universidad Nacional Experimental del Tchira Decanato de Postgrado Maestra de Informtica San Cristbal, Venezuela Miguel Useche Nixon Patio migueluseche@gmail.com nixonp@gamil.com......-....

Abstract
La Teora de la Complejidad Computacional es una rama de la teora de la computacin encargada de clasificar los problemas computacionales segn su dificultad inherente y su respectiva clase de complejidad. Durante el clculo para resolver un problema. este resulta complejo si es difcil de realizar. La complejidad del clculo se define como la cantidad de recursos necesarios para efectuar el mismo, As, un clculo requerir mayores recursos que uno de menor dificultad. Los recursos comnmente estudiados son el tiempo considerado como el nmero de pasos de ejecucin de un algoritmo para resolver el problema y el espacio o cantidad de memoria utilizada para solucionar el problema. Es de poca utilidad un algoritmo que para resolver un problema tarde mucho en hacerlo, el tiempo y la cantidad de memoria utilizada indican la complejidad del algoritmo, conocindose estas como complejidad temporal y espacial 1. Introduccin

Esta investigacin comprende una breve resea con respecto a la Complejidad Computacional, La ciencia de la computacin es un cuerpo sistematizado del conocimiento concerniente al clculo, el cual se sustenta en dos reas principales, La Teora de la Computabilidad, est basada en las ideas y los modelos fundamentales subyacentes al Clculo, y las tcnicas de la ingeniera para el diseo de algoritmos. Esta investigacin abarca una breve resea de los teoremas de Aceleracin Lineal, Comprensin de Cinta, y reduccin del nmero de cintas de las mquinas de Turing, as como del Teorema de Jerarquas Espacial y Temporal En otras palabras, as como la teora de la computacin nos permite conocer si un problema es posible resolverlo mediante poder computacional (procedimientos matemticos, fundamentos mecnicos, qunticos e inteligencia artificial), la teora de la complejidad computacional nos permite determinar cunta cantidad de tiempo, espacio y recursos se necesitan para reconocer un lenguaje en una mquina de cmputo universal, junto a la medida del tamao del mismo (muchas veces conocido como n).

2. Desarrollo 2.1. Aceleracin lineal Dada una funcin f (n), la expresin supn f (n) se define como el lmite cuando n de la menor cota superior de f (n), f (n + 1), f (n + 2), . . . De manera similar, infnf (n) es el lmite cuando n de la mayor cota inferior de f (n), f (n + 1), f (n + 2), . . . . Si f (n) converge a un lmite cuando n , entonces ese lmite es igual tanto al inf nf (n) como al sup n f (n). Ejemplo Una MT M2 puede ser construida de manera que simule M1 de la siguiente manera. Primero, M2 copia la entrada en una cinta de almacenamiento, codificando m smbolos en uno. A partir de este punto, M2 utiliza su cinta de almacenamiento como la cinta de lectura, y utiliza la cinta de lectura anterior como cinta de almacenamiento. M2 codificar los contenidos de las cintas de almacenamiento de M1 combinando m smbolos en uno. Durante el desarrollo de la simulacin, M2 simula un mayor nmero de movimientos de M1 en un paso bsico que consiste de ocho movimientos de M2. Se nombran a las celdas que estn siendo ledas por cada una de las cabezas de M2 celdas hogar. El control finito de M2 graba, para cada cinta, cul de los m smbolos de M1 representados por cada celda hogar est siendo ledo por la correspondiente cabeza de M2. Para comenzar el paso bsico, M2 mueve cada cabeza a la izquierda una vez, a la derecha dos veces y a la izquierda una, grabando los smbolos de la izquierda y la derecha de las celdas hogar en su control finito. Se requieren cuatro movimientos de M2, despus de los cuales M2 regresa a sus celdas hogar. Luego, M2 determina los contenidos de todas las celdas de las cintas de M1 representadas por las celdas hogar y sus vecinos a izquierda y derecha al momento en el que alguna cabeza de M1 abandona de primero la regin representada por la celda hogar y sus vecinos a izquierda y derecha (note que este clculo no toma tiempo en M2. Se construye en las reglas de transicin de M2). Si M1 acepta antes de que alguna cabeza abandone la regin representada, M2 acepta. Si M1 se detiene, M2 se detiene. Si no ocurriera eso, entonces M2 visita, en cada cinta, los dos vecinos de la celda hogar, cambiando estos smbolos y el de la celda hogar si fuera necesario. M2 coloca cada una de sus cabezas en la celda que representa el smbolo que la cabeza correspondiente de M1 est leyendo al final de los movimientos simulados. A lo sumo se necesitan cuatro movimientos de M2. Se necesitan por lo menos m movimientos de M1 para mover la cabeza fuera de la regin representada por una celda hogar y sus vecinos. As, en 8 movimientos, M2 ha simulado por lo menos m movimientos de M1. Se escoge m de tal manera que cm 16. Si M1 realiza T(n) movimientos, entonces M2 los simula en a lo sumo 8T(n)/m movimientos. Tambin, M2 debe copiar y codificar su entrada (m celdas en una), luego regresar la cabeza de la cinta de entrada simulada al extremo izquierdo. Esto toma n + n/m movimientos, para un total de n + n/m + 8T(n)/m Movimientos. Como x < x + 1 para cualquier x , (12.1) est acotada superiormente por n + n/m + 8T(n)/m + 2

Ahora se asume que infnT(n)/n = , por lo que para cualquier constante d existe un nd tal que para toda n nd , T(n)/n d, o expresado de otra manera, n T(n)/d. As, siempre que n 2 (lo que implica que n + 2 2n) y n nd , (12.2) est acotada superiormente por T(n) [8/m+2/d+1/md] 2.1.1 Compresin de cintas Es un teorema aplicado a las Mquinas de Turing, en donde dado cualquier nmero real c > 0 y cualquier mquina de Turing que resuelva el problema en un tiempo f(n), existir otra mquina con capacidad de resolver el mismo problema en un tiempo de al menos cf(n) + n + 2.

Para demostrar este principio, imaginemos cintas pegadas en donde cada celda consiste en una pila vertical de k celdas. Para indicar la posicin de la cabecera lectora en una celda, se escribe un smbolo como *. La cabecera est ubicada en la primera celda para las primeras cintas y en la segunda celda para la tercera cinta. Entonces si agregamos un nuevo alfabeto en la Mquina de Turing donde cada smbolo codificar una tupla de k smbolos, entonces si tiene s smbolos, tendr (2s)k smbolos adicionales. Para emular un paso de la cinta k, la nueva Mquina de Turing har lo siguiente: buscar todas las posiciones con valores para determinar donde las posiciones de la cabeceras estn y hacia dnde van a un estado determinado, volver a escanear para cambiar los valores en las celdas y las posiciones de los cabezales de acuerdo al estado anterior. Debido a que el mximo nmero de celdas en uso es el tiempo-acotado de la primera Mquina de Turing, el tiempo mximo de la nueva mquina es el doble (2Tm). Entonces el tiempo total sera el tiempo de la mquina de turing original ms los cambios realizados en la nueva mquina. 2.2 Reduccin de nmeros de cinta As como en el ejemplo anterior se creo una nueva cinta, donde cada posicin de la misma representa la combinacin de las otras cintas, es posible reducir la k cantidad de cintas a una sola. Pues con la informacin almacenada en cada posicin es posible obtener la informacin para cada celda del resto de las cintas. Para expresar esto de manera formal, el teorema dice que si un lenguaje es aceptado por una Mquina de Turing espacio-acotada S(n) con k cintas de almacenamiento es posible que sea aceptada por una Mquina de Turing con una nica cinta de almacenamiento.

2.3 Definicin del espacio

En ejemplo anterior podemos ver una mquina de Turing (M) con 3 cintas de almacenamiento, la cinta de entrada es limitada por dos marcadores (c y $ respectivamente). Entonces si M lee a lo sumo n cantidad de celdas en la cinta de entrada para una palabra de tamao n, se dice que es una Mquina de Turing espacio-acotada S(n) pues dependiendo del tamao de su entrada se requerir un tamao mnimo para las cintas. En caso de que la cinta de entrada se utilice, el tamao de la misma no debe ser menor a lo requerido por el problema, obligando a incluir esta restriccin en el acotamiento del estado. 2.4 Complejidad en el tiempo

En este ejemplo se tienen 3 cintas incluyendo la de entrada, con capacidad de escribir y moverse en ambas direcciones. Entonces si por cada palabra de entrada de tamao n a lo sumo las cintas se deben mover T(n) posiciones antes de detenerse, se dice que la mquina de Turing es tiempo-acotada. 2.5 Teorema de la jerarqua temporal Es un teorema aprobado por Richard Stearns y Juris Hartmanis sobre el cmputo de tiempo acotado en las mquinas de Turing, el teorema expresa que a mayor tiempo, la mquina puede resolver mayor cantidad de problemas. Dada cualquier cota en tiempo (cota en espacio) totalmente recursiva T(n), existe un lenguaje recursivo L que no est en DTIME(T(n)) (o en DSPACE(T(n)) respectivamente).

El argumento para el espacio es anlogo. El argumento es bsicamente una diagonalizacin. Debido a que T(n) es totalmente recursiva, existe una MT M para T(n) que siempre se detiene. Se construye M para que acepte un lenguaje L (0 + 1) que es recursivo pero no est en DTIME(T(n)). Sea xi la i -sima cadena en el orden cannico de (0+1) De manera similar se pueden ordenar MTs multicinta con alfabetos de cintas arbitrarios reemplazando sus funciones de transicin por cadenas binarias. El nico punto substancial es que los nombres de los smbolos de las cintas, as como aquellos de los estados, no importan, as que se puede asumir que todas las MT cuyo alfabeto de entrada es {0, 1} tienen alfabetos de cintas 0, 1, B, X4, X5, . . . , Xm, as se codifica 0, 1 y B por 0, 00 y 000, y se codifica Xi por 0i , i 4. Tambin se permite un nmero arbitrario de unos en frente del cdigo para M que represente tambin a M, as que M tiene codificaciones arbitrariamente largas. As se puede hablar libremente de Mi , la i -sima MT multicinta. Ahora se define L = {xi |Mi no acepta a xi dentro de T(|xi |) movimientos}. Se afirma que L es recursivo. Para reconocer a L se puede ejecutar el siguiente algoritmo, el cual puede ser implementado en una MT. Dada la entrada w de longitud n, se simula n en M para computar T(n). Entonces se determina i tal que w = xi . El entero i escrito en binario es la funcin de transicin de alguna MT multicinta Mi (si i en binario es una forma impropia para una funcin de transicin, entonces Mi no tiene movimientos). Se simula w en Mi para T(n) movimientos, aceptando tanto si Mi se detiene sin aceptarlo o si Mi se ejecuta por ms de T(n) movimientos sin haber aceptado. Para observar que L no est en DTIME(T(n)), supngase que L = L(Mi ), y Mi es acotado en tiempo T(n). Est xi en L? Si es as, Mi acepta a xi dentro de T(n) movimientos, donde n = |xi |. As, por definicin de L, xi no est en L, lo cual es una contradiccin. Si xi no est en L, entonces Mi no acepta a xi , as que por la definicin de L, xi est en L, lo cual es nuevamente una contradiccin. Ambas suposiciones conllevan a contradicciones, as que la suposicin de que Mi es acotada en tiempo T(n) debe ser falsa. Si T(n) T(n) para todo n, se sigue de manera inmediata de la definicin de una clase de complejidad en tiempo que DTIME(T(n)) DTIME(T(n)). Si T(n) es una funcin totalmente recursiva, el teorema 12.7 implica que existe un conjunto recursivo L que no est en DTIME(T(n)). Sea T (n) el tiempo de corrida de alguna MT que acepta a L y sea T(n)=max{T(n), T (n)}. Entonces DTIME(T(n)) ( DTIME(T(n)), puesto que L est en el ltimo pero no en el primero de ellos. As se sabe que existe una jerarqua infinita de clases de complejidad en tiempo determinsticas. Un resultado similar se aplica para las clases de complejidad en espacio determinsticas y para las clases en tiempo y espacio no determinsticas.

3.. Bibliografa. http://acme.math.cinvestav.mx/ basico/beamer/cap12a.pdf http://campusvirtual.unex.es/ebooks/files/file/TeoriaAutomatas.pdf http://www.matematicas.unam.mx/fhq/Cursos/TC/2013-1/tc-mt-ho.pdf http://www.monografias.com/trabajos27/complejidad-algoritmica.shtml

Vous aimerez peut-être aussi