fbpx
Wikipedia

Teoría de la computación

La teoría de la computación o teoría de la informática es un conjunto de conocimientos racionales y sistematizados que se centran en el estudio de la abstracción de los procesos, con el fin de reproducirlos con ayuda de sistemas formales; es decir, a través de símbolos y reglas lógicas. La teoría de la computación permite modelar procesos dentro de las limitaciones de dispositivos que procesan información y que efectúan cálculos; como, por ejemplo, el ordenador. Para ello, se apoya en la teoría de autómatas, a fin de simular y estandarizar dichos procesos, así como para formalizar los problemas y darles solución.[1]

Principales subramas

Teoría de autómatas

Esta teoría provee modelos matemáticos 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 computación, incluyendo procesamiento de texto, compiladores, diseño de hardware e inteligencia artificial.

Existen muchos otros tipos de autómatas como las máquinas de acceso aleatorio, autómatas celulares, máquinas ábaco y las máquinas de estado abstracto; sin embargo en todos los casos se ha mostrado que estos modelos no son más generales que la máquina de Turing, pues la máquina de Turing tiene la capacidad de simular cada uno de estos autómatas. Esto da lugar a que se piense en la máquina de Turing como el modelo universal de computadora.

Teoría de la computabilidad

Esta teoría explora los límites de la posibilidad de solucionar problemas mediante algoritmos. Gran parte de las ciencias computacionales están dedicadas a resolver problemas de forma algorítmica, de manera que el descubrimiento de problemas imposibles es una gran sorpresa. La teoría de la computabilidad es útil para no tratar de resolver algorítmicamente estos problemas, ahorrando así tiempo y esfuerzo.

Los problemas se clasifican en esta teoría 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 solución y además es capaz de distinguir los casos que no la tienen. También se les conoce como decidibles, resolubles o recursivos.
  • Los semicomputables son aquellos para los cuales hay un algoritmo que es capaz de encontrar una solución si es que existe, pero ningún algoritmo que determine cuando la solución no existe (en cuyo caso el algoritmo para encontrar la solución entraría a un bucle infinito). El ejemplo clásico por excelencia es el problema de la parada. A estos problemas también 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 solución.
  • Los incomputables son aquellos para los cuales no hay ningún algoritmo que los pueda resolver, no importando que tengan o no solución. El ejemplo clásico por excelencia es el problema de la implicación lógica, que consiste en determinar cuándo una proposición lógica es un teorema; para este problema no hay ningún algoritmo que en todos los casos pueda distinguir si una proposición o su negación es un teorema.

Hay una versión más general de esta clasificación, donde los problemas incomputables se subdividen a su vez en problemas más difíciles que otros. La herramienta principal para lograr estas clasificaciones es el concepto de reducibilidad: Un problema   se reduce al problema   si bajo la suposición de que se sabe resolver el problema   es posible resolver al problema  ; esto se denota por  , e informalmente significa que el problema   no es más difícil de resolver que el problema  . Por ejemplo, bajo la suposición de que una persona sabe sumar, es muy fácil enseñarle a multiplicar haciendo sumas repetidas, de manera que multiplicar se reduce a sumar.

Teoría de la complejidad computacional

Aun cuando un problema sea computable, puede que no sea posible resolverlo en la práctica si se requiere mucha memoria o tiempo de ejecución. La teoría 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 más difíciles de resolver que otros. Uno de los mayores logros de esta rama es la clasificación de problemas, similar a la tabla periódica, de acuerdo a su dificultad. En esta clasificación los problemas se separan por clases de complejidad.

Esta teoría tiene aplicación en casi todas las áreas de conocimiento donde se desee resolver un problema computacionalmente, porque los investigadores no solo desean utilizar un método para resolver un problema, sino utilizar el más rápido. La teoría de la complejidad computacional también tiene aplicaciones en áreas como la criptografía, donde se espera que descifrar un código secreto sea un problema muy difícil a menos que se tenga la contraseña, en cuyo caso el problema se vuelve fácil.

Otras subramas

  • Modelos de cómputo Estudia abstracciones de hacer un cómputo. Aquí se incluyen los clásicos modelos de la teoría de autómatas además de otros modelos como funciones recursivas, cálculo lambda e inclusive lenguajes de programación.
  • Teoría algorítmica de la información Centra su atención en la complejidad para describir algorítmicamente una secuencia de datos (cadena); aquí la complejidad está medida por la longitud de su descripción más pequeña.
  • Especificación y verificación formal Busca metodologías para garantizar que un problema esté correctamente modelado y sistemas formales para validar la corrección de la solución algorítmica.
  • La Teoría del aprendizaje computacional busca algoritmos que hagan que las computadoras modifiquen sus comportamientos de manera autónoma con base en datos empíricos, y concretamente en ejemplos y contraejemplos. A este tipo de aprendizaje se le llama aprendizaje supervisado. De forma análoga a la teoría de la complejidad computacional, en esta teoría las funciones se clasifican por su grado de dificultad de ser aprendidas.
  • Teoría de tipos Busca la clasificación de enunciados de acuerdo a los tipos de valores que calculan utilizando herramientas de teoría de lenguajes formales.

Historia

La teoría de la computación comienza propiamente a principios del siglo XX, poco antes que las computadoras electrónicas fuesen inventadas. En esta época varios matemáticos se preguntaban si existía un método universal para resolver todos los problemas matemáticos. Para ello debían desarrollar la noción precisa de método para resolver problemas, es decir, la definición formal de algoritmo.

Algunos de estos modelos formales fueron propuestos por precursores como Alonzo Church (cálculo Lambda), Kurt Gödel (funciones recursivas) y Alan Turing (máquina 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 cómputo más recientes se encuentran los lenguajes de programación, que también 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 máquina de Turing, o equivalentemente, usando funciones recursivas. En 2007 Nachum Dershowitz y Yuri Gurevich publicaron una demostración de esta conjetura basándose en cierta axiomatización de algoritmos.[2]

Uno de los primeros resultados de esta teoría fue la existencia de problemas imposibles de resolver algorítmicamente, siendo el problema de la parada el más famoso de ellos. Para estos problemas no existe ni existirá ningún 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 teoría eran imposibles en la práctica, puesto que dichas soluciones necesitaban cantidades irrealistas de tiempo o memoria para poderse encontrar.

Referencias

  1. Sipser, M. (2013). Introduction to the Theory of Computation (3ra edición). Cengage Learning. ISBN 9781133187790. 
  2. Nachum Dershowitz & Yuri Gurevich (2008). «A natural axiomatization of computability and proof of Church's Thesis». Bulletin of Symbolic Logic 14 (3): 299-350. ISSN 1079-8986. 

Bibliografía

  • American Mathematical Society. «2010 Mathematics Subject Classification». Consultado el 7 de marzo de 2010. 
  • Boolos, George; Burgess, John; & Jefrey, Richard (2007). Computability and Logic. Cambridge. ISBN 978-0-521-70146-4. 
  • Cooper, S. Barry (2004). Computability Theory. Chapman & Hall/CRC. ISBN 1-58488-237-9. 
  • Kelley, Dean (1995). Teoría de autómatas y lenguajes formales. Prentice Hall. ISBN 978-0-691-13382-9. 
  • Sipser, Michael (2005). Introduction to the Theory of Computation (2 edición). Course Technology. ISBN 978-0534950972. 
  •   Datos: Q844718
  •   Multimedia: Theory of computation

teoría, computación, este, artículo, sección, necesita, wikificado, favor, edítalo, para, cumpla, convenciones, estilo, este, aviso, puesto, abril, 2014, teoría, computación, teoría, informática, conjunto, conocimientos, racionales, sistematizados, centran, es. Este articulo o seccion necesita ser wikificado por favor editalo para que cumpla con las convenciones de estilo Este aviso fue puesto el 30 de abril de 2014 La teoria de la computacion o teoria de la informatica es un conjunto de conocimientos racionales y sistematizados que se centran en el estudio de la abstraccion de los procesos con el fin de reproducirlos con ayuda de sistemas formales es decir a traves de simbolos y reglas logicas La teoria de la computacion permite modelar procesos dentro de las limitaciones de dispositivos que procesan informacion y que efectuan calculos como por ejemplo el ordenador Para ello se apoya en la teoria de automatas a fin de simular y estandarizar dichos procesos asi como para formalizar los problemas y darles solucion 1 Indice 1 Principales subramas 1 1 Teoria de automatas 1 2 Teoria de la computabilidad 1 3 Teoria de la complejidad computacional 2 Otras subramas 3 Historia 4 Referencias 5 BibliografiaPrincipales subramas EditarTeoria de automatas Editar Articulo principal Teoria de automatas Esta teoria provee modelos matematicos 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 computacion incluyendo procesamiento de texto compiladores diseno de hardware e inteligencia artificial Existen muchos otros tipos de automatas como las maquinas de acceso aleatorio automatas celulares maquinas abaco y las maquinas de estado abstracto sin embargo en todos los casos se ha mostrado que estos modelos no son mas generales que la maquina de Turing pues la maquina de Turing tiene la capacidad de simular cada uno de estos automatas Esto da lugar a que se piense en la maquina de Turing como el modelo universal de computadora Teoria de la computabilidad Editar Articulo principal Teoria de la computabilidad Vease tambien Indecidibilidad Esta teoria explora los limites de la posibilidad de solucionar problemas mediante algoritmos Gran parte de las ciencias computacionales estan dedicadas a resolver problemas de forma algoritmica de manera que el descubrimiento de problemas imposibles es una gran sorpresa La teoria de la computabilidad es util para no tratar de resolver algoritmicamente estos problemas ahorrando asi tiempo y esfuerzo Los problemas se clasifican en esta teoria de acuerdo a su grado de imposibilidad Los computables son aquellos para los cuales si existe un algoritmo que siempre los resuelve cuando hay una solucion y ademas es capaz de distinguir los casos que no la tienen Tambien se les conoce como decidibles resolubles o recursivos Los semicomputables son aquellos para los cuales hay un algoritmo que es capaz de encontrar una solucion si es que existe pero ningun algoritmo que determine cuando la solucion no existe en cuyo caso el algoritmo para encontrar la solucion entraria a un bucle infinito El ejemplo clasico por excelencia es el problema de la parada A estos problemas tambien 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 si tienen solucion Los incomputables son aquellos para los cuales no hay ningun algoritmo que los pueda resolver no importando que tengan o no solucion El ejemplo clasico por excelencia es el problema de la implicacion logica que consiste en determinar cuando una proposicion logica es un teorema para este problema no hay ningun algoritmo que en todos los casos pueda distinguir si una proposicion o su negacion es un teorema Hay una version mas general de esta clasificacion donde los problemas incomputables se subdividen a su vez en problemas mas dificiles que otros La herramienta principal para lograr estas clasificaciones es el concepto de reducibilidad Un problema A displaystyle A se reduce al problema B displaystyle B si bajo la suposicion de que se sabe resolver el problema B displaystyle B es posible resolver al problema A displaystyle A esto se denota por A t B displaystyle A leq t B e informalmente significa que el problema A displaystyle A no es mas dificil de resolver que el problema B displaystyle B Por ejemplo bajo la suposicion de que una persona sabe sumar es muy facil ensenarle a multiplicar haciendo sumas repetidas de manera que multiplicar se reduce a sumar Teoria de la complejidad computacional Editar Articulo principal Complejidad computacional Vease tambien Clase de complejidad Aun cuando un problema sea computable puede que no sea posible resolverlo en la practica si se requiere mucha memoria o tiempo de ejecucion La teoria de la complejidad computacional estudia las necesidades de memoria tiempo y otros recursos computacionales para resolver problemas de esta manera es posible explicar por que unos problemas son mas dificiles de resolver que otros Uno de los mayores logros de esta rama es la clasificacion de problemas similar a la tabla periodica de acuerdo a su dificultad En esta clasificacion los problemas se separan por clases de complejidad Esta teoria tiene aplicacion en casi todas las areas de conocimiento donde se desee resolver un problema computacionalmente porque los investigadores no solo desean utilizar un metodo para resolver un problema sino utilizar el mas rapido La teoria de la complejidad computacional tambien tiene aplicaciones en areas como la criptografia donde se espera que descifrar un codigo secreto sea un problema muy dificil a menos que se tenga la contrasena en cuyo caso el problema se vuelve facil Otras subramas EditarModelos de computo Estudia abstracciones de hacer un computo Aqui se incluyen los clasicos modelos de la teoria de automatas ademas de otros modelos como funciones recursivas calculo lambda e inclusive lenguajes de programacion Teoria algoritmica de la informacion Centra su atencion en la complejidad para describir algoritmicamente una secuencia de datos cadena aqui la complejidad esta medida por la longitud de su descripcion mas pequena Especificacion y verificacion formal Busca metodologias para garantizar que un problema este correctamente modelado y sistemas formales para validar la correccion de la solucion algoritmica La Teoria del aprendizaje computacional busca algoritmos que hagan que las computadoras modifiquen sus comportamientos de manera autonoma con base en datos empiricos y concretamente en ejemplos y contraejemplos A este tipo de aprendizaje se le llama aprendizaje supervisado De forma analoga a la teoria de la complejidad computacional en esta teoria las funciones se clasifican por su grado de dificultad de ser aprendidas Teoria de tipos Busca la clasificacion de enunciados de acuerdo a los tipos de valores que calculan utilizando herramientas de teoria de lenguajes formales Historia EditarVeanse tambien Entscheidungsproblemy Tesis de Church Turing La teoria de la computacion comienza propiamente a principios del siglo XX poco antes que las computadoras electronicas fuesen inventadas En esta epoca varios matematicos se preguntaban si existia un metodo universal para resolver todos los problemas matematicos Para ello debian desarrollar la nocion precisa de metodo para resolver problemas es decir la definicion formal de algoritmo Algunos de estos modelos formales fueron propuestos por precursores como Alonzo Church calculo Lambda Kurt Godel funciones recursivas y Alan Turing maquina 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 computo mas recientes se encuentran los lenguajes de programacion que tambien 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 maquina de Turing o equivalentemente usando funciones recursivas En 2007 Nachum Dershowitz y Yuri Gurevich publicaron una demostracion de esta conjetura basandose en cierta axiomatizacion de algoritmos 2 Uno de los primeros resultados de esta teoria fue la existencia de problemas imposibles de resolver algoritmicamente siendo el problema de la parada el mas famoso de ellos Para estos problemas no existe ni existira ningun 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 constato que algunos problemas resolubles en teoria eran imposibles en la practica puesto que dichas soluciones necesitaban cantidades irrealistas de tiempo o memoria para poderse encontrar Referencias Editar Sipser M 2013 Introduction to the Theory of Computation 3ra edicion Cengage Learning ISBN 9781133187790 Nachum Dershowitz amp Yuri Gurevich 2008 A natural axiomatization of computability and proof of Church s Thesis Bulletin of Symbolic Logic 14 3 299 350 ISSN 1079 8986 Bibliografia EditarAmerican Mathematical Society 2010 Mathematics Subject Classification Consultado el 7 de marzo de 2010 Boolos George Burgess John amp Jefrey Richard 2007 Computability and Logic Cambridge ISBN 978 0 521 70146 4 Cooper S Barry 2004 Computability Theory Chapman amp Hall CRC ISBN 1 58488 237 9 Kelley Dean 1995 Teoria de automatas y lenguajes formales Prentice Hall ISBN 978 0 691 13382 9 Sipser Michael 2005 Introduction to the Theory of Computation 2 edicion Course Technology ISBN 978 0534950972 Datos Q844718 Multimedia Theory of computation Obtenido de https es wikipedia org w index php title Teoria de la computacion amp oldid 135818872, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos