Vous êtes sur la page 1sur 15

INTRODUCCIN Para la siguiente investigacin realizaremos un breve recorrido por la vida del matemtico Alan Turing, quien fue

el precursor de la computacin moderna, dando como su gran aporte la maquina terica que lleva su nombre, con la que se basan la mayora de los sistemas computacionales actuales, resaltaremos el funcionamientos de la misma, los algoritmos utilizados en esta, as como tambin hablaremos del ambiente histrico donde se desarrollo, para as dar a conocer como Alan Turing rompi con los paradigmas matemticos de su poca para dar a conocer las bases de lo que se conocer como la computacin actual, Por otra mencionaremos el funcionamiento y la utilidad de los conjuntos NP completos, que son y para que sirven.

Historia

"El ingls Alan Turing (1912-1954) puede ser considerado el padre de la Inteligencia Artificial (IA), aunque este nombre no se usase hasta despus de 1956. Turing estudi lgica matemtica en la Universidad de Cambridge y en 1937 estuvo en el Institute for Advanced Studies de Princeton, donde estaban Gdel y Von Newman, entre otros destacados lgicos y matemticos, adems de Albert Einstein Durante la segunda guerra mundial trabaj para su pas en los servicios de informacin; en 1949 en la Universidad de Manchester y en el programa MADAM (Manchester Authomatic Digital Machine) que result ser el equipo de computacin de mayor memoria construido hasta entonces. Condenado a causa de su homosexualidad a un tratamiento, o tortura, mdico-farmacutica equivalente a la castracin, Turing se suicid por envenenamiento en 1954." (Enric Trillas50-51) "Durante los aos de la segunda guerra mundial, Turing colabor en el diseo de una mquina llamada la Bomba que exploraba las combinaciones posibles generadas por la mquina codificadora alemana Enigma. Tal Bomba fue una mquina de propsito especial, el de descifrar cdigos, construida electromecnicamente con rels. Asimismo, trabaj en el desarrollo de la Colossus (que algunos consideran como el primer ordenador electrnico) que ya funcionaba con vlvulas (tubos de vaco) en lugar de rels; gracias a ella los britnicos pudieron mantener alejados de los submarinos alemanes a los barcos de suministro que cruzaban el Atlntico Turing no recibi en vida reconocimiento alguno de la sociedad a la que tanto ayud en los momentos ms difciles." (Enric Trillas51)

"Ms sorprendente todava es que Turing demostr que para cualquier sistema de sus mquinas que sea necesario para efectuar algoritmos cada vez ms complicados existe una mquina de Turing capaz de hacerlo todo ella sola. Tal mquina hipottica recibe el nombre de mquina de Turing universal, y su existencia terica pone de manifiesto que el concepto de mquina de Turing es de una versatilidad sin fin, al
2

permitir que cualquier incremento de la complejidad del algoritmo pueda ser aceptado por una lista ms larga de especificaciones Los ordenadores actuales son realizaciones de las ideas de John von Newmann y de Alan Turing." (Enric Trillas53)

Turing "en 1950 propuso una prueba que se conoce como el test de Turing, el cual se basa en la idea siguiente: si una persona se comunica slo a travs de un terminal con otras dos partes, que estn escondidas,, y no se puede discriminar a travs de preguntas cul de ambas partes es una persona y cul es un ordenador, entonces no se puede negar que la mquina muestra la cualidad que, en las personas, se llama inteligencia. Tal procedimiento tiene la ventaja de no tener que definir lo que es la inteligencia. Turing crea firmemente que mquinas que piensen llegaran a existir y predijo que hacia el ao 2000 una mquina jugara al juego de imitacin, como l llam al test, de manera que un interrogador medio no tendra ms del 70 por 100 de posibilidades de efectuar la identificacin correcta tras cinco minutos de preguntas." (Enric Trillas55)

En el desarrollo de la computadora, la teora antecedi a la prctica. El manifiesto del nuevo orden electrnico de cosas fue un trabajo ("On Computable Numbers" -

Sobre nmeros calculables-) publicado en 1936, por el matemtico y lgico A.M.Turing, el cual determin la naturaleza y las limitaciones tericas de las mquinas lgicas antes de que se construyera siquiera una sencilla computadora por completo programable.(Bolter17)

Turing... en 1950 public "Computing Machinery and Intelligence"... expres su conviccin de que las computadoras eran capaces de imitar perfectamente la inteligencia humana y que tal hazaa la realizaran hacia el ao 2000. Al prometer (o al amenazar) sustituir al hombre, la computadora nos ofrece una nueva definicin de hombre, como "procesador de informacin", y de naturaleza, como "informacin que debe ser procesada".(Bolter18)

"En 1936 Turing concibi su propio autmata imaginario. La mquina de Turing, como se le lleg a conocer, no hizo intento alguno para unirse a la sociedad de las criaturas vivas. Podra visualizarse ms como un tocacintas muy sofisticado con una cinta arbitrariamente infinita. "Siendo una Mquina de Estados Finitos, se podra concebir como un autmata finito".(Lvy 22-23)

Maquina de Turing Usando la "codificacin de Gdel", se demostr que era posible construir una mquina de propsito general (conocida como Mquina de Turing Universal), es decir, capaz de resolver cualquier problema que se pudiese resolver mediante un algoritmo. La mquina de Turing fue descrita por Alan Turing en 1936 como respuesta al ensayo del matemtico alemn David Hilbert On Computable Numbers, with an Application to the Entscheidungsproblem donde demostr que algunas de estas mquinas de Turing seran capaces de realizar cualquier clculo matemtico concebible si fuera representable con un algoritmo. Tambin prob que no existe solucin al Entscheidungsproblem (problema de decisin) ya que demuestra que no es posible decidir, en general, algortmicamente si una mquina de Turing se encuentra en parada. Este modelo computacional puede ser adaptado para simular la lgica de cualquier algoritmo y es particularmente til en la labor de explicar el funcionamiento de una CPU. Turing defini que es posible desarrollar una nica mquina que pueda ser usada para computar cualquier secuencia computable. Si esta mquina U es suministrada con una cinta que en su comienzo est escrita con tuplas quntuples separadas por punto y coma provenientes de una mquina M,

entonces U computar las mismas secuencias que M.

Otros trabajos y estudios de relevancia de Turing fueron su trabajo durante la II Guerra Mundial en Bletchley Park para la Escuela Estatal de Cdigos y Cifras. Su trabajo ms notable durante esta poca fue el criptoanlisis de los cdigos de la mquina "Enigma" alemana. Dise una mquina que resolvi con xito tal problema: la "bomba de Turing". En 1950 public su trabajo sobre "Mquinas que Computan e Inteligencia", proponiendo el famoso "test de Turing" para discernir si un computador puede llegar a ser inteligente.

Una mquina de Turing consta de las siguientes partes:

Una cinta que est dividida en celdas una al lado de la otra. Cada celda contiene un smbolo en algn alfabeto finito. Dicho alfabeto contiene un smbolo especial en blanco (blank symbol escrito como B) y uno o ms smbolos adicionales. La cinta se supone infinita.

Una cabeza que puede leer y escribir smbolos en la cinta y mover la cinta a la izquierda o a la derecha una posicin.

Una tabla de reglas finita de instrucciones, usualmente tuplas de cinco elementos que dado el estado (qi) en el que se encuentra actualmente la mquina y el smbolo (aj) que est siendo ledo desde la cinta, indica a la mquina que realice la siguiente secuencia de acciones:

Escribe o borra un smbolo

Mueve la cabeza (a la izquierda o la derecha) Asume el mismo o un nuevo estado segn lo prescrito Un registro de estados donde se guarda el estado de la mquina de Turing.

De manera formal, una mquina de Turing (TM de sus siglas en ingls Turing Machine) se representa por: M=(Q, , , , q0, B, F) (en donde: Q es un conjunto finito de estados. es el conjunto finito de smbolos de cinta admisibles. B smbolo de , es el espacio en blanco. subconjunto de que no incluye a B, es el conjunto de los smbolos de entrada. es la funcin de movimientos siguiente, una transformacin de Q x a Q x x {L, R} ( puede sin embargo, permanecer indefinida por algunos argumentos). q0 en Q es el estado inicial. F Q es el conjunto de estados finales.

En esta definicin se supone que el valor inicial de todas las celdas de la cinta es el smbolo B. La definicin requiere que B . Generalmente permitimos que {B}. La funcin de transicin transforma pares (q, ) formados por el estado actual y los smbolos de la cinta en ternas de la forma (p, t, x), donde p es el estado siguiente, t es el smbolo escrito en la cinta y x es un movimiento de lectura/escritura de la cabeza, que puede ser L o R, segn que el movimiento sea hacia la izquierda o hacia la derecha (nos imaginamos que la cinta se extiende de izquierda a derecha).

Funciones de la Maquina de Turing La mquina de Turing puede considerarse como una computadora de funciones, figura 3, que van de los enteros a los enteros. El planteamiento tradicional consiste en representar a los enteros como nmeros unitarios; el entero i0 se representa mediante la cadena 0i. Si una funcin tiene k argumentos, i1, i2, ..., ik, entonces estos enteros se colocan inicialmente en la cinta separados por 1s: 0i1 10i2... 10ik. Si la TM se detiene (est o no en un estado de aceptacin) con una cinta que consiste en 0m para alguna m, entonces decimos que (i1,i2,...,ik)=m, en donde es la funcin de k argumentos calculada por esta mquina de Turing. Advirtase que una TM puede calcular una funcin de un argumento, una funcin diferente de dos argumentos y as sucesivamente. Si la TM calcula la funcin de k argumentos, entonces no necesariamente tiene un valor para cada conjunto diferente de k tuplas de enteros i1,...,ik. Si (i1,...,ik) se define para toda i1,...,ik, entonces decimos que es una funcin totalmente recursiva. La funcin (i1,...,ik) calculada por una mquina de Turing se conoce como funcin parcialmente recursiva. Las funciones parcialmente recursivas

pueden detenerse o no en una entrada dada. Las funciones totalmente recursivas corresponden a los lenguajes recursivos, ya que son calculadas por TMs que siempre se detienen. Todas las funciones aritmticas corrientes sobre los enteros, como la multiplicacin, n!, [log2n]n y 22n, son funciones totalmente recursivas. Lenguajes Aceptados por la Maquina de Turing Una mquina de Turing se puede comportar como un aceptador de un lenguaje. Si colocamos una cadena w en la cinta, situamos la cabeza de lectura/escritura sobre el smbolo del extremo izquierdo de la cadena w y ponemos en marcha la mquina a partir de su estado inicial. Entonces w es aceptada si, despus de una secuencia de movimientos, la mquina de Turing llega a un estado final y para. Por tanto w es aceptada. Si qw * w1pw2 para algn estado final p y unas cadenas w1 y w2. Entonces, se obtiene la siguiente definicin: Sea M = (Q, , , q0=q1, B, F, ) una mquina de Turing. Entonces el lenguaje aceptado por M es: L(M) = {w *q1w * w1pw2 para p F y wi *}. Puesto que las mquinas de Turing pueden leer y escribir sobre su cinta pueden convertir la entrada en salida. La transformacin de la entrada en salida es el primer propsito de las computadoras digitales; por tanto, una mquina de Turing se considera como un modelo abstracto de una computadora. Se supone que la entrada para la mquina de Turing est formada por todos los smbolos de la cinta que no son blancos. La salida est formada por cualquiera de los smbolos que queden en la cinta cuando la computacin termina.

Extensiones de las Maquinas de Turing "Hay otras definiciones de las mquinas de Turing que son equivalentes. Algunos de esos modelos alternativos son mucho ms complicados aunque todos tienen la misma potencia computacional (o de clculo). Muchas de ellas dotan de mayor flexibilidad al diseo de una mquina de Turing que resuelva un problema en particular." Ejemplos: Mquina de Turing con Directiva de Permanecer "Recurdese que la mquina de Turing sencilla sita la cabeza de lectura/escritura sobre el primer B que haya a la izquierda de la posicin actual. Para hacerlo, busca fuera de la celda actual y retrocede. Esto es debido a la definicin original que requiere que por cada transicin se mueva la cabeza de la cinta. La funcin de transicin estaba definida como: : Q x Q x x {R, L} y puede ser modificada como: : Q x Q x x {R, L, S} donde S significa "permanecer", es decir no mover la cabeza de lectura/escritura. Por tanto (q, )=(p, , S) significa que se pasa del estado q al p, se escribe en la celda actual y la cabeza se queda sobre la celda actual." Mquina de Turing Multicinta "La mquina de Turing multicinta tiene varias cintas, cada una de las cuales tiene su propia cabeza de lectura/escritura. Las cabezas de lectura/escritura se controlan independientemente (es decir, al mismo tiempo, no tienen que moverse en la misma direccin, ni realizar el mismo nmero de movimientos, ni incluso, hacer nada a la vez). En un solo movimiento, esta mquina de Turing 1. Cambia de estado dependiendo del estado actual y del contenido de las celdas de todas las cintas, que estn analizando actualmente las cabezas de lectura/escritura.

2. Escriben un nuevo smbolo en cada una de las celdas barridas por sus cabezas de lectura/escritura. 3. Mueve cada una de sus cabezas hacia la izquierda o hacia la derecha (de forma independiente al resto de las cabezas). Por tanto, la funcin de transicin para una mquina de Turing con n cintas, es de la forma : Q x n Q x n x {R, L} n donde una transicin de la forma (q, (1, 2,, n)) = (p,(1, 2, , n), (X1, X2, , Xn)) significa que cambia del estado q a p, reemplaza i por i en la cinta i y mueve la cabeza de la cinta i en la direccin Xi."

Mquina de Turing Muldimensional "La mquina de Turing multidimensional es aquella que permite que la cinta tenga muchas dimensiones. Por ejemplo, una cinta de dos dimensiones que se extienda hacia abajo y hacia arriba, al igual que hacia la derecha y hacia la izquierda. Dependiendo del estado actual de la mquina de Turing y del smbolo analizado, cambia de estado, escribe un smbolo en la celda actual y se mueve a la izquierda, al derecha, hacia arriaba o hacia abajo. Por tanto, la funcin de transicin para esta mquina de Turing ser de la forma:

: Q x Q x x {R, L, U, D}

Una mquina de Turing multidimensional simula una mquina de Turing estndar. Simplemente realizando todas sus computaciones en una nica dimensin. Una mquina de Turing estndar tambin puede simular una mquina de Turing multidimensional y, por tanto, la complejidad y la flexibilidad adicional que se debe a la mltiple dimensin, no es una capacidad real. Para simular una mquina de Turing de dos dimensiones mediante una mquina de Turing estndar, primero se asociara una direccin a todas las celdas de la cinta. Una forma de hacerlo es fijar, de forma

10

arbitraria, un lugar en la cinta a partir del cual se asignarn las coordenadas a las celdas de la misma forma que se realiza en un plano de coordenadas. Entonces, se usara una cinta de dos pistas para simular la mquina de Turing. Una pista se encargar de almacenar el contenido de las celdas y la otra las coordenadas, utilizando un smbolo (*) para separar los valores de las coordenadas. Para simular un movimiento de una mquina de Turing de dos dimensiones, est mquina calcula la direccin de la celda a la que se mover la mquina de Turing dos dimensiones. Entonces, localiza la pista inferior la celda con dicha direccin y cambia el contenido de la celda en la pista superior." Mquina de Turing No determinista "La mquina de Turing No determinista es aquella que para un estado actual y el smbolo actual de la cinta, puede haber un nmero finito de movimientos a elegir. Por lo tanto, la regla de transicin de dicha mquina, satisface (q, ) Q x x {R, L}. Por ejemplo, si la mquina de Turing tiene una transicin (q1, a) = {(q1, b, R), (q2, a, L)} entonces los movimientos abbq1ab abbbq1b y abbq1ab abq2bab son posibles. Ya que cualquier mquina de Turing determinista es tambin no determinista, es lgico que una mquina de Turing determinista se puede simular mediante una no determinista. Tambin una mquina de Turing determinista puede simular una no determinista. Por tanto, no se gana ninguna potencia adicional a causa del no determinismo."

Conjuntos NP-completos En teora de la complejidad computacional, la clase de complejidad NPcompleto es el subconjunto de los problemas de decisin en NP tal que todo problema en NP se puede reducir en cada uno de los problemas de NP-completo. Se puede decir que los problemas de NP-completo son los problemas ms difciles de

11

NP y muy probablemente no formen parte de la clase de complejidad P. La razn es que de tenerse una solucin polinmica para un problema NP-completo, todos los problemas de NP tendran tambin una solucin en tiempo polinmico. Si se demostrase que un problema NP-completo, llammoslo A, no se pudiese resolver en tiempo polinmico, el resto de los problemas NP-completos tampoco se podran resolver en tiempo polinmico. Esto se debe a que si uno de los problemas NPcompletos distintos de A, digamos X, se pudiese resolver en tiempo polinmico, entonces A se podra resolver en tiempo polinmico, por definicin de NP-completo. Ahora, pueden existir problemas en NP y que no sean NP-completos para los cuales exista solucin polinmica an no existiendo solucin para A. Como ejemplo de un problema NP-completo encontramos el problema de la suma de subconjuntos que se puede enunciar como sigue: dado un conjunto S de enteros, existe un subconjunto no vaco de S cuyos elementos sumen cero? Es fcil verificar si una respuesta es correcta, pero no se conoce mejor solucin que explorar todos los 2n-1 subconjuntos posibles hasta encontrar uno que cumpla con la condicin. Problemas en NP Sea una relacin R _ A__A_ R se dice decidible polinomial si y solo si existe una mquina de Turing determinstica M que decide en tiempo polinomial el lenguaje: f(x;y) : R(x;y)g Se dice que R est equilibrada polinomialmente si y solo si existe un k _ 1 tal que si R(x;y) entonces jyj _ jxkj. Teorema: Si L _ A_, entonces L 2NP si y solo si existe una relacin decidible polinomial y equilibrada polinomialmente talque L = fx : 9y 2 A_;R(x;y)g.

12

Tcnicas de Reduccin Del libro de Garey-Johnson: Restriccin. Demostrando que un problema NP-completo es un subproblema del que estamos considerando. Reemplazamiento Local. Haciendo una transformacin de un problema NP-completo elemento a elemento. Reemplazamiento Local con Refuerzo. Haciendo una transformacin de un problema NP-completo elemento a elemento, pero aadiendo algunos elementos adicionales para forzar la equivalencia de los problemas. Diseo de Componentes. Distintos elementos del problema original se transforman en distintos tipos de estructura que se conectan con otros elementos.

13

CONCLUSIN Bsicamente la mquina de Turing resulta ser un autmata que se mueve sobre una secuencia de datos. Se dice que la mquina de Turing es ms un modelo matemtico que un dispositivo fsico o mecnico, el hecho que se le denomine "mquina" se debe a que su funcionamiento puede ser descrito en trminos de operaciones individuales muy sencillas que sugieren la implementacin real de un dispositivo, lo que ha motivado que existan muchas versiones prcticas del mismo modelo. Por ello se sabe muy bien que es un fundamento terico de los sistemas computacionales actuales, donde estos viejos algoritmos son la base y fundamento de la computacin hoy en da, diferencindoles de la prctica del procesamiento paralelo que se implementa actualmente, pero el fundamento de usar una segmentacin tipo cinta o tipo tnel lgicamente no ha cambiado mucho, con respecto a los conjuntos NP completos, sencillamente son parte de los problemas complejos que se pueden resolver implementando las Maquinas de Turing.

14

REFERENCIAS BIBLIOGRFICAS

Alan Turing(2011) Alan Turing [Pgina en lnea] Disponible: http://www.imagia.com.mx/hmm/va/Turing.htm [Consulta: 2012, noviembre, 27] Scribd(2010) Maquina de Turing [Pgina en lnea] Disponible: http://es.scribd.com/doc/36136427/Maquina-de-TURING [Consulta: 2012, noviembre, 27] Epistemowikia(2012)Maquina de Turing[Pgina en lnea] http://campusvirtual.unex.es/cala/epistemowikia/index.php?title=Modelos_de_C omputaci%C3%B3n/M%C3%A1quina_de_Turing [Consulta: 2012, noviembre, 27] Wikipedia (2012) Conjuntos NP Completos [Pgina en lnea] Disponible: http://es.wikipedia.org/wiki/NP-completo [Consulta: 2012, noviembre, 27] Disfruta las Matematicass (2012) Conjuntos NP Completos [Pgina en lnea]Disponible:http://www.disfrutalasmatematicas.com/conjuntos/npcompleto. html[Consulta: 2012, noviembre, 27]

15

Vous aimerez peut-être aussi