Mostrando entradas con la etiqueta autómata. Mostrar todas las entradas
Mostrando entradas con la etiqueta autómata. Mostrar todas las entradas

jueves, 10 de marzo de 2011

¿Cualquier problema se puede resolver con computadora?

Al tener una computadora pensamos que cualquier problema puede ser resulto con ella, pero la realidad es que hay algunos problemas complejos que no se pueden resolver, para esto se debe estudia la teoría de la computación y teoría de la computabilidad antes de intentar resolver algo que a fin de cuentas no se puede con un algoritmo (serie de pasos que ayudan a la resolución de un problema).


La teoría de la computación es una rama de la matemática y la computación que centra su interés en las limitaciones y capacidades fundamentales de las computadoras. Específicamente esta teoría busca modelos matemáticos que formalizan el concepto de hacer un cómputo (cuenta o cálculo) y la clasificación de problemas

En los modelos matemáticos se tiene la 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. Ejemplo de capacidades son: procesamiento de texto, compiladores, diseño de hardware e inteligencia artificial.
Los tres principales modelos son:

Autómatas finitos.- Son buenos modelos de computadoras que tienen una cantidad limitada de memoria.

Autómatas 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 leído).

Máquinas de Turing.- Modelan las computadoras que tienen una gran cantidad de memoria almacenada en una cinta. Estos autómatas están estrechamente relacionados con la teoría de lenguajes formales.

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 en la teoría de la computabilidad se clasifican en:
-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.

-Los semicomputables.- son aquellos para los cuales hay un algoritmo que es capaz encontrar una solución si es que existe, pero ningún algoritmo que determine cuando la solución no existe.

-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.