Вы находитесь на странице: 1из 6

Instituto Tecnolgico De la Costa Grande

PRESENTA

CESAR RESENDIZ LOPEZ

MATERIA TEORIA DE LA COMPUATCION

ASESOR

ING. DANIEL HERRERA

ZIHUATANEJO GUERRERO, MXICO

JUNIO, 2011

TABLA DE CONTENIDO

1.1 AUTOMATAS... 1 1.1.2FUNCIONAMIENTO. 1 1.2 COMPUTABILIDAD. 1 1.3 COMPLEJIDAD 2 1.3.1 CLASES DE COMPLEJIDAD.... 2 1.3.2 INTRATABILIDAD 3

1.1Autmatas

Es un modelo matemtico que realiza cmputos en forma automtica sobre una entrada para producir una salida. Un autmata es un sistema secuencial, puede definirse como un equipo electrnico programable en lenguaje no informtico y diseado para controlar, en tiempo real y en ambiente industrial, procesos secuenciales. Sin embargo, la rpida evolucin de los autmatas hace que esta definicin no est cerrada. Este modelo est conformado por un alfabeto, un conjunto de estados y un conjunto de transiciones entre dichos estados. Su funcionamiento se basa en una funcin de transicin, que recibe a partir de un estado inicial una cadena de caracteres pertenecientes al alfabeto (la entrada), y que va leyendo dicha cadena a medida que el autmata se desplaza de un estado a otro, para finalmente detenerse en un estado final o de aceptacin, que representa la salida. 1.1.2 Funcionamiento En el comienzo del proceso de reconocimiento de una cadena de entrada, el autmata se encuentra en el estado inicial y a medida que procesa cada smbolo de la cadena va cambiando de estado de acuerdo a lo determinado por la funcin de transicin. Cuando se ha procesado el ltimo de los smbolos de la cadena de entrada, el autmata se detiene en el estado final del proceso. Si el estado final en el que se detuvo es un estado de aceptacin, entonces la cadena pertenece al lenguaje reconocido por el autmata; en caso contrario, la cadena no pertenece a dicho lenguaje. Se describen tres tipos de autmatas que reconocen tipos diferentes de lenguajes: los autmatas finitos, los autmatas a pila y las mquinas de Turing. 1.2 Computabilidad Es conveniente suponer que un sistema computacional es fijo (abstracto), con la finalidad de eliminar las variaciones de un sistema a otro. Brookshear elimina estas variaciones de anlisis en sistemas diferentes y evala la complejidad de clculo suponiendo un sistema fijo basado en una mquina de Turing, ya que supone que a partir de ella puede trasladar sus resultados a otros sistemas y mantener la complejidad. Un lenguaje de programacin (el preferido por usted) tiene un poder expresivo ya que permite escribir cualquier algoritmo (una idea) en ese lenguaje. Sin embargo, suponemos que existen algunos algoritmos que no pueden representarse haciendo uso de ese lenguaje. Surge la interrogante de si esto se debe a una limitacin del lenguaje o es una limitacin de los procesos algortmicos en general (no existe algoritmo). Nos preguntamos, si el lenguaje no permite escribir un algoritmo o es que no existe un algoritmo que pudiera calcular dicha funcin. Consideremos una clase que contiene todas las funciones computables. Una funcin es computable si existe un algoritmo para ella, sin importar como pueda implantarse o expresarse ese algoritmo. Puede construirse un conjunto que contenga todas las funciones computables, para ello se utiliza un mtodo muy usado por los matemticos, el mtodo recursivo generacional. Este mtodo permite que a partir de un conjunto bsico de 1

funciones computables, consideradas como funcionesiniciales, puedan construirse las dems combinndolas en forma recursiva y as obtener el conjunto mayor de todas las funciones computables. Puede demostrarse, aunque no es el objetivo de este artculo, que una funcin de esta clase puede calcularse por medio de una mquina de Turing. La Teora de la Complejidad Computacional se basa en un enfoque no funcional, en donde interesa como se lleva el clculo y su complejidad en funcin de los recursos que utiliza. La Teora de la Computabilidad se interesa en hallar una solucin a un problema, mas no se interesa por los mtodos especficos de expresar una solucin algortmica en un sistema computacional; es decir, no interesa cmo se pueda implantar. 1.3 Complejidad La teora de la complejidad computacional es la rama de la teora de la computacin que estudia, de manera terica, la complejidad inherente a la resolucin de un problema computable. Los recursos comnmente estudiados son el tiempo (mediante una aproximacin al nmero y tipo de pasos de ejecucin de un algoritmo para resolver un problema) y el espacio (mediante una aproximacin a la cantidad de memoria utilizada para resolver un problema). Se pueden estudiar igualmente otros parmetros, tales como el nmero de procesadores necesarios para resolver el problema en paralelo. La teora de la complejidad difiere de la teora de la computabilidad en que sta se ocupa de la factibilidad de expresar problemas como algoritmos efectivos sin tomar en cuenta los recursos necesarios para ello. Los problemas que tienen una solucin con orden de complejidad lineal son los problemas que se resuelven en un tiempo que se relaciona linealmente con su tamao. Hoy en da las computadoras resuelven problemas mediante algoritmos que tienen como mximo una complejidad o coste computacional polinmico, es decir, la relacin entre el tamao del problema y su tiempo de ejecucin es polinmica. stos son problemas agrupados en la clase P. Los problemas que no pueden ser resueltos por nuestras computadoras (las cuales son Mquinas Determinsticas), que en general poseen costes factorial o combinatorio pero que podran ser procesados por una mquina no-determinista, estn agrupados en la clase NP. Estos problemas no tienen una solucin prctica, es decir, una mquina determinstica (como una computadora actual) no puede resolverlos en un tiempo razonable. 1.3.1 Clases de complejidad Los problemas de decisin se clasifican en conjuntos de complejidad comparable llamados clases de complejidad. La clase de complejidad P es el conjunto de los problemas de decisin que pueden ser resueltos en una mquina determinista en tiempo polinmico, lo

que corresponde intuitivamente a problemas que pueden ser resueltos an en el peor de sus casos. La clase de complejidad NP es el conjunto de los problemas de decisin que pueden ser resueltos por una mquina no determinista en tiempo polinmico. Esta clase contiene muchos problemas que se desean resolver en la prctica, incluyendo el problema de satisfacibilidad booleana y el problema del viajante, un camino Hamiltoniano para recorrer todos los vrtices una sola vez. Todos los problemas de esta clase tienen la propiedad de que su solucin puede ser verificada efectivamente. 2 1.3.2 Intratabilidad Los problemas que pueden ser resueltos en teora, pero no en prctica, se llaman intratables. Qu se puede y qu no en la prctica es un tema debatible, pero en general slo los problemas que tienen soluciones de tiempos polinomiales son solubles para ms que unos cuantos valores. Entre los problemas intratables se incluyen los de EXPTIME-completo. Si NP no es igual a P, entonces todos los problemas de NP-completo son tambin intratables. Para ver por qu las soluciones de tiempo exponencial no son tiles en la prctica, se puede considerar un problema que requiera 2n operaciones para su resolucin (n es el tamao de la fuente de informacin). Para una fuente de informacin relativamente pequea, n=100, y asumiendo que una computadora puede llevar a cabo 1010 (10 giga) operaciones por segundo, una solucin llevara cerca de 4*1012 aos para completarse, mucho ms tiempo que la actual edad del universo.

CITAS DE INTERNET 3 http://www.mitecnologico.com/Main/Automatas http://es.wikipedia.org/wiki/Aut%C3%B3mata_finito http://sisbib.unmsm.edu.pe/bibvirtualdata/publicaciones/risi/n1_2004/a14.pdf http://es.wikipedia.org/wiki/Teor%C3%ADa_de_la_complejidad_computacional

Вам также может понравиться