Está en la página 1de 4

Teora de la computacin

La teora de la computacin es una rama de la matemtica y la computacin que centra su inters en las limitaciones y capacidades fundamentales de las computadoras. Especficamente esta teora busca modelos matemticos que formalizan el concepto de hacer un cmputo (cuenta o clculo) y la clasificacin de problemas.
ndice
[ocultar]

1 Principales subramas

o o o

1.1 Teora de autmatas 1.2 Teora de la computabilidad 1.3 Teora de la complejidad computacional

2 Otras subramas 3 Historia 4 Referencias

Principales subramas

Teora de autmatas
Artculo principal: Teora de autmatas.

Esta teora provee modelos matemticos que formalizan el concepto de computadora o algoritmo de manera suficientemente simplificada y general para que se puedan analizar sus capacidades y limitaciones. Algunos de estos modelos juegan un papel central en varias aplicaciones de las ciencias de la computacin, incluyendo procesamiento de texto, compiladores, diseo de hardware e inteligencia artificial. Los tres principales modelos son los autmatas finitos, autmatas con pila y mquinas de Turing, cada uno con sus variantes deterministas y no deterministas. Los autmatas finitos son buenos modelos de computadoras que tienen una cantidad limitada de memoria, los autmatas con pila modelan los que tienen gran cantidad de memoria pero que solo pueden manipularla a manera de pila (el ltimo dato almacenado es el siguiente ledo), y las mquinas de Turing modelan las computadoras que tienen una gran cantidad de memoria almacenada en una cinta. Estos autmatas estn estrechamente relacionados con la teora de lenguajes formales; cada autmata es equivalente a una gramtica formal, lo que permite reinterpretar la jerarqua de Chomsky en trminos de autmatas. Existen muchos otros tipos de autmatas como las mquinas de acceso aleatorio, autmatas celulares, mquinas baco y las mquinas de estado abstracto; sin embargo en todos los casos se ha mostrado que estos modelos no son ms generales que la mquina de Turing, pues la mquina

de Turing tiene la capacidad de simular cada uno de estos autmatas. Esto da lugar a que se piense en la mquina de Turing como el modelo universal de computadora.

Teora de la computabilidad
Teora de la computabilidad. Esta teora explora los lmites de la posibilidad de solucionar problemas mediante algoritmos. Gran parte de las ciencias computacionales estn dedicadas a resolver problemas de forma algortmica, de manera que el descubrimiento de problemas imposibles es una gran sorpresa. La teora de la computabilidad es til para no tratar de resolver algoritmicamente estos problemas, ahorrando as tiempo y esfuerzo. Los problemas se clasifican en esta teora de acuerdo a su grado de imposibilidad: Los computables son aquellos para los cuales s existe un algoritmo que siempre los resuelve cuando hay una solucin y adems es capaz de distinguir los casos que no la tienen. Tambin se les conoce como decidibles, resolubles o recursivos. Los semicomputables son aquellos para los cuales hay un algoritmo que es capaz encontrar una solucin si es que existe, pero ningn algoritmo que determine cuando la solucin no existe (en cuyo caso el algoritmo para encontrar la solucin entrara a un bucle infinito). El ejemplo clsico por excelencia es el problema de la parada. A estos problemas tambin se les conoce como listables, recursivamente enumerables o reconocibles, porque si se enlistan todos los casos posibles del problema, es posible reconocer a aquellos que s tienen solucin. Los incomputables son aquellos para los cuales no hay ningn algoritmo que los pueda resolver, no importando que tengan o no solucin. El ejemplo clsico por excelencia es el problema de la implicacin lgica, que consiste en determinar cundo una proposicin lgica es un teorema; para este problema no hay ningn algoritmo que en todos los casos pueda distinguir si una proposicin o su negacin es un teorema.

Hay una versin ms general de esta clasificacin, donde los problemas incomputables se subdividen a su vez en problemas ms difciles que otros. La herramienta principal para lograr estas clasificaciones es el concepto de reducibilidad: Un problema se reduce al problema si bajo la suposicin de que se sabe resolver el problema es posible resolver al problema ; esto se denota por , e informalmente significa que el problema no es ms difcil de resolver que el problema . Por ejemplo, bajo la suposicin de que una persona sabe sumar, es muy fcil ensearle a multiplicar haciendo sumas repetidas, de manera que multiplicar se reduce a sumar.

Teora de la complejidad computacional


Aun cuando un problema sea computable, puede que no sea posible resolverlo en la prctica si se requiere mucha memoria o tiempo de ejecucin. La teora de la complejidad computacional estudia las necesidades de memoria, tiempo y otros recursos computacionales para resolver problemas; de esta manera es posible explicar por qu unos problemas son ms difciles de resolver que otros.

Uno de los mayores logros de esta rama es la clasificacin de problemas, similar a la tabla peridica, de acuerdo a su dificultad. En esta clasificacin los problemas se separan por clases de complejidad. Esta teora tiene aplicacin en casi todas las reas de conocimiento donde se desee resolver un problema computacionalmente, porque los investigadores no solo desean utilizar un mtodo para resolver un problema, sino utilizar el ms rpido. La teora de la complejidad computacional tambin tiene aplicaciones en reas como la criptografa, donde se espera que descifrar un cdigo secreto sea un problema muy difcil a menos que se tenga la contrasea, en cuyo caso el problema se vuelve fcil.

Otras subramas
Modelos de cmputo Estudia abstracciones de hacer un cmputo. Aqu se incluyen los clsicos modelos de la teora de autmatas adems de otros modelos como funciones recursivas,clculo lambda e inclusive lenguajes de programacin.

Teora algortmica de la informacin Centra su atencin en la complejidad para describir algoritmicamente una secuencia de datos (cadena); aqu la complejidad est medida por la longitud de su descripcin ms pequea. Especificacin y verificacin formal Busca metodologas para garantizar que un problema est correctamente modelado y sistemas formales para validar la correccin de la solucin algortmica. La Teora del aprendizaje computacional busca algoritmos que hagan que las computadoras modifiquen sus comportamientos de manera autnoma con base en datos empricos, y concretamente en ejemplos y contraejemplos. A este tipo de aprendizaje se le llama aprendizaje supervisado. De forma anloga a la teora de la complejidad computacional, en esta teora las funciones se clasifican por su grado de dificultad de ser aprendidas. Teora de tipos Busca la clasificacin de enunciados de acuerdo a los tipos de valores que calculan utilizando herramientas de teora de lenguajes formales.

Historia

Vanse tambin: Entscheidungsproblem y Tesis de Church-Turing.

La teora de la computacin comienza propiamente a principios del siglo XX, poco antes que las computadoras electrnicas fuesen inventadas. En esta poca varios matemticos se preguntaban si exista un mtodo universal para resolver todos los problemas matemticos. Para ello deban desarrollar la nocin precisa de mtodo para resolver problemas, es decir, la definicin formal de algoritmo.

Algunos de estos modelos formales fueron propuestos por precursores como Alonzo Church (clculo Lambda), Kurt Gdel (funciones recursivas) y Alan Turing (mquina de Turing). Se ha mostrado que estos modelos son equivalentes en el sentido de que pueden simular los mismos algoritmos, aunque lo hagan de maneras diferentes. Entre los modelos de cmputo ms recientes se encuentran los lenguajes de programacin, que tambin han mostrado ser equivalentes a los modelos anteriores; esto es una fuerte evidencia de la conjetura de Church-Turing, de que todo algoritmo habido y por haber se puede simular en una mquina de Turing, o equivalentemente, usando funciones recursivas. En 2007 Nachum Dershowitz y Yuri Gurevich publicaron una 1 demostracin de esta conjetura basndose en cierta axiomatizacin de algoritmos. Uno de los primeros resultados de esta teora fue la existencia de problemas imposibles de resolver algoritmicamente, siendo el problema de la parada el ms famoso de ellos. Para estos problemas no existe ni existir ningn algoritmo que los pueda resolver, no importando la cantidad de tiempo o memoria se disponga en una computadora. Asimismo, con la llegada de las computadoras modernas se constat que algunos problemas resolubles en teora eran imposibles en la prctica, puesto que dichas soluciones necesitaban cantidades irrealistas de tiempo o memoria para poderse encontrar.....

También podría gustarte