![]() |
![]() |
![]() |
![]() |
![]() |
|
Alan M. TuringRecopilado por Yanin Castelazo Luna
Fue matemático, científico de la computación, criptógrafo y filósofo. Se le considera uno de los padres de la Ingeniería informática siendo el precursor de la Ciencia de la computación moderna. Proporcionó una influyente formalización de los conceptos de algoritmo y computación: la máquina de Turing. Formuló su propia versión de la hoy ampliamente aceptada Tesis de Church-Turing, la cual postula que cualquier modelo computacional existente tiene las mismas capacidades algorítmicas, o un subconjunto, de las que tiene una máquina de Turing. Durante la Segunda Guerra Mundial, trabajó en romper los códigos nazis, particularmente los de la máquina Enigma; durante un tiempo fue el director de la sección Naval Enigma del Bletchley Park. Tras la guerra diseñó uno de los primeros computadores electrónicos programables digitales en el Laboratorio Nacional de Física del Reino Unido y poco tiempo después construyó otra de las primeras máquinas en la Universidad de Manchester. Entre otras muchas cosas, también contribuyó de forma particular e incluso provocativa a la cuestión de si las máquinas pueden pensar.
Inicio de su vida
Alan Mathison Turing nació en Paddington, Inglaterra, el 23 de junio de 1912. Se cuenta que aprendió a leer por sí solo en tres semanas y que desde el principió mostró un gran interés por los números y los rompecabezas. La Universidad y la computabilidad
Este artículo da respuesta (negativa) al problema de la decisión formulada por Hilbert en 1900, probando que existen problemas sin solución algorítmica y es uno de los cimientos más importantes de la teoría de la computación. Probó que no había ninguna solución para el Entscheidungsproblem, demostrando primero que el problema de la parada para las máquinas de Turing es irresoluble: no es posible decidir algorítmicamente si una máquina de Turing dada llegará a pararse o no. También fue pionero con su concepto de "Máquina Universal (de Turing)", con la tesis de que dicha máquina podría realizar las mismas tareas que cualquier otro tipo de máquina. Su estudio también introduce el concepto de números definibles. Demostró que para cualquier sistema de sus máquinas que sea necesario para efectuar algoritmos cada vez más complicados existe una máquina de Turing capaz de hacerlo todo ella sola, y su existencia teórica pone de manifiesto que el concepto de máquina de Turing es de una versatilidad sin fin, al permitir que cualquier incremento de la complejidad del algoritmo pueda ser aceptado por una lista más larga de especificaciones… Los ordenadores actuales son realizaciones de las ideas de John von Newmann y de Alan Turing.
Expresó el análisis en términos de una máquina teórica que sería capaz de transformar con precisión operaciones elementales previamente definidas en símbolos en una cinta de papel. Con este análisis básico, Turing definió lo que hoy en día conocemos como un método definido o algoritmo. Criptografía en la guerraEn el año 1938 conoció a un joven ingeniero polaco llamado Robert Lewinsky, que había trabajo con los alemanes en el diseño de un sistema electromecánico de encriptación de comunicaciones. Lewinsky -que era judío- fue depurado por los nazis y entró en contacto con el servicio secreto británico, quien encomendó a Alan Turing la formación de un grupo de científicos e ingenieros dedicados a estudiar y descifrar este sistema de comunicaciones denominado Enigma. Durante la Segunda Guerra Mundial fue uno de los principales artífices de los trabajos del Bletchley Park para descifrar los códigos nazis. Sus observaciones matemáticas contribuyeron a romper los códigos de la máquina Enigma y de los codificadores de teletipos FISH (máquinas de teletipos codificados que fabricaron conjuntamente Lorenz Electric y Siemens&Halske). Sus estudios del sistema Fish ayudarían al desarrollo posterior de la primera computadora programable electrónica digital llamada Colossus, la cual fue diseñada por Max Newman y su equipo, y construida en la Estación de Investigaciones Postales de Dollis Hill por un equipo dirigido por Thomas Flowers en 1943. Dicha computadora se utilizó para descifrar los códigos Fish (en concreto las transmisiones de la máquina Lorenz). Especializado en el descifrado de mensajes, de gran éxito, y de alguna manera fue precursor del ENIAC construido en la universidad de Pennsylvania dos años más tarde.
Para romper los códigos de la máquina Enigma, Turing diseñó la bombe, una máquina electromecánica - llamada así en reconocimiento de la diseñada por los polacos bomba kryptologiczna - que se utilizaba para eliminar una gran cantidad de llaves enigma candidatas. Para cada combinación posible se implementaba eléctricamente una cadena de deducciones lógicas. Era posible detectar cuándo ocurría una contradicción y desechar la combinación. La bombe de Turing, con una mejora añadida que sugirió el matemático Gordon Welchman, era la herramienta principal que usaban los criptógrafos aliados para leer las transmisiones Enigma. La prueba de Turing
Turing propuso un método llamado el test de Turing con la intención de definir una prueba estándar por el que una máquina podría catalogarse como "sensible" o "sentiente". Se basa en la idea siguiente: si una persona se comunica sólo a través de un terminal con otras dos partes, que están escondidas, y no se puede discriminar a través de preguntas cuál de ambas partes es una persona y cuál es un ordenador, entonces no se puede negar que la máquina 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 creía firmemente que máquinas que piensen llegarían a existir y predijo que hacia el año 2000 una máquina jugaría al 'juego de imitación', como él llamó al test, de manera que un interrogador medio no tendría más del 70 por 100 de posibilidades de efectuar la identificación correcta tras cinco minutos de preguntas." En 1952 Turing escribió un programa de ajedrez. A falta de una computadora lo suficientemente potente como para ejecutarlo, él simulaba el funcionamiento de la computadora, tardando más de hora y media en efectuar un movimiento. Una de las partidas llegó a registrarse; el programa perdió frente a un colega de Turing. Trabajó junto a Norbert Weiner en el desarrollo de la cibernética. Esta rama de estudios se genera a partir de la demanda de sistemas de control que exige el progresivo desarrollo de las técnicas de producción a partir del siglo XX. La cibernética pretende establecer un sistema de comunicación entre el hombre y la máquina como premisa fundamental para administrar los sistemas de control. Sus estudios profundizaron en esta relación estableciendo el concepto de interfaz y cuestionando los límites de simulación del razonamiento humano. En 1951, es nombrado miembro de la Sociedad Real de Londres por sus contribuciones científicas. Y en su honor, la Association for Computing Machinery llama Turing Award a su premio más importante, el cual se otorga desde 1966 a los expertos que han realizado las mayores contribuciones al avance de la computación. Renovó asimismo su interés en las carreras, llegando incluso a preparar su participación en los juegos olímpicos, aunque una lesión de cadera le impidió hacer los progresos que necesitaba.
Turing trabajó desde 1952 hasta que falleció en 1954 en la biología matemática, concretamente en la morfogénesis. Publicó un trabajo sobre esta materia titulado "Fundamentos Químicos de la Morfogénesis" en 1952. Su principal interés era comprender la filotaxis de Fibonacci, es decir, la existencia de los números de Fibonacci en las estructuras vegetales. Utilizó ecuaciones de reacción-difusión que actualmente son cruciales en el campo de la formación de patrones. Sus trabajos posteriores no se publicaron hasta 1992 en el libro "Obras Completas de A. M. Turing". Su condena y muerte
Hacia los años 50 la carrera profesional de Turing se vio truncada cuando lo procesaron por su homosexualidad. Sin embargo la vida personal de Turing se fue deteriorando a medida que los escándalos de sus relaciones homosexuales iban saliendo a la luz pública. Como consecuencia de un affaire escandaloso con un joven que se encontraba sin empleo, fue juzgado y condenado, aunque en lugar de ser recluido en prisión, fue sometido a tratamiento de hormonas femeninas -estrógenos- con el fin de atenuar su impulso sexual. Este tratamiento le produjo importantes alteraciones físicas y le convirtió en impotente.
Dos años después del juicio, en 1954, Turing se suicidó comiendo una manzana envenenada con cianuro. A pesar de que su madre intentó negar la causa de su muerte, atribuyéndola a razones naturales, su vida terminó amargamente y envuelta en una nube de misterio. Para mas detallesPrueba de TuringSe llama Prueba o Test de Turing al procedimiento desarrollado por Alan Turing para identificar la existencia de inteligencia en una máquina.
Expuesto en 1950 en un artículo (Computing Machinery and Inteligence) para la revista Mind, sigue siendo hoy día una de las cabezas de lanza de los defensores de la Inteligencia Artificial. La prueba consiste en un desafío. La máquina ha de hacerse pasar por humana en una conversación con un hombre a través de una comunicación de texto estilo chat. Al sujeto no se le avisa si está hablando con una máquina o una persona. Si el sujeto es incapaz de determinar si la otra parte de la comunicación es humana o máquina, entonces se considera que la máquina ha alcanzado un determinado nivel de madurez: es inteligente. Todavía ninguna maquina puede pasar este examen en una experiencia con método científico. Existe una versión modificada, propuesta por John Searle y popularizada por Roger Penrose: la sala china. En esencia es igual, pero la ejecución del algoritmo la realizan personas encerradas en una habitación, se requiere que las personas de la habitación no conozcan el idioma en que se realiza la conversación. Pese a la brillantez de Penrose, esta modificación no aporta nada al problema, puesto que si los operadores consiguen comprender la conversación, lo harían gracias a su propia inteligencia, por otra parte, pese a lo aparentemente absurdo de la proposición, la sala podría pasar la prueba de turing sin que los operadores hubieran comprendido nada de la conversación.
Una de las aplicaciones de la prueba de Turing es el control de spam. Dado el gran volumen de correos electrónicos enviados, el spam es, por lo general, enviado automáticamente por una máquina. Así la prueba de Turing puede usarse para distinguir si el correo electrónico fue enviado por un remitente humano o por una máquina (por ejemplo por la prueba Captcha). Máquina de TuringLa máquina de Turing es un modelo computacional creado por Alan Turing con el cual él afirmaba que se podía realizar cualquier cómputo. La máquina de Turing, como modelo matemático, consta de un cabezal lector/escritor y una cinta infinita en la que el cabezal lee el contenido, borra el contenido anterior y escribe un nuevo valor. Las operaciones que se pueden realizar en esta máquina se limitan a:
El cómputo es determinado a partir de una tabla de estados de la forma:
(estado,valor)
Esta tabla toma como parámetros el estado actual de la máquina y el caracter leído de la cinta, dando la dirección para mover el cabezal, el nuevo estado de la máquina y el valor a ser escrito en la cinta. Mediante este modelo teórico y el análisis de complejidad de algoritmos, fue posible la categorización de problemas computacionales de acuerdo a su comportamiento, apareciendo así, el conjunto de problemas denominados P y NP, cuyas soluciones en tiempo polinómico son encontradas según el determinismo y no determinismo respectivamente de la máquina de Turing.
De hecho, se puede probar matemáticamente que para cualquier programa de computadora es posible crear una máquina de Turing equivalente. Esta prueba resulta de la Tesis de Church-Turing, formulada por Alan Turing y Alonzo Church, de forma independiente a mediados del siglo XX. Máquina de Turing probabilística
En Teoría de la complejidad computacional, se utilizan Máquinas de Turing probabilísticas para definir diferentes clases de complejidad. Una Máquina de Turing probabilística es una Máquina de Turing no determinista que selecciona aleatoriamente entre las transiciones disponibles en cada punto con idéntica probabilidad para cada alternativa. Alternativamente, se pude definir también como una máquina de Turing determinista con una instrucción adicional "escribir" donde el valor de la escritura está uniformemente distribuido en el alfabeto de la máquina. Como consecuencia, una máquina de Turing probabilística puede (a diferencia de una máquina de Turing) tener un resultado estocástico: Dada una entrada y un programa para la máquina, puede ejecutar el programa en tiempos variables de ejecución o puede no parar; más aún, puede aceptar una entrada en una ejecución y no aceptarla en la siguiente.
Se desprende que la aceptación de una cadena de entrada en una máquina de Turing probabilística puede ser definida de varias formas. Y a esas formas de terminar corresponden diferentes clases de complejidad que incluyen RP, Co-RP. BPP y ZPP. Al restringirse la máquina a sólo usar espacio logarítmico en lugar de tiempo polinómico, se definen las clases análogas RL, Co-RL, BPL, y ZPL. Al incluir ambas restricciones se obtienen las clases RLP, Co-RPL, BPLP y ZPLP.
Referencias:http://es.wikipedia.org/wiki/Alan_Turing Recomendaciones de los compañeroshttp://www.turing.org.uk/turing
|
Búsqueda![]() Conversaciónmichael: JS, en efecto, yo saqué al tema a la familia Toledo, y ya recordé querías poner tus chips en cajas de zucaritas hahaha
js: La idea de los chips era vender Zylog-z80s en bolsitas tipo papas sabritas. La familia Toledo nunca fue mencionada por mi parte (ideas de Mr. M). Otra idea era inventar y vender lambda-cola (puramente funcional); Oscar proponía cervezas en botellas tipo matraz Erlenmeyer. A chambearle y a lo mejor el ThinkGeek mexicano sale de Ceuami, sirve que apoya al presupuesto.
michael: una vez bromeando con JS, que andaba pensando en hacer unos chips o algo así, le dije que le iba a bajar el changarro a la familia Toledo y me contestó "aunque no lo creas"... desde ese momento le temo a JS jejejeje
michael: pues desde hace unos 6 años que sé de la existencia de esa familia y que uno de ellos ganó un concurso de porgramación ofuscada? ... pero si tienen la última tecnología, si sus computadoras prenden en 6 segundos por qué no las presumen? por qué no las muestran al público?... quién sabe qué onda con esa familia.
michael: geeking!! está genial el video que pusiste!! lo único que no me laten son los golpesitos.
alan: @js: la liga que nos sugieres es genial; gracias!
marufos: Interesantes opiniones tiene cada quién, yo en un inicio pensaba en que saul y no recuerdo el otro se sentaran a programar, en otras palabras se viera quien pateaba a quien a manera de concurso callejero. Seria bueno la implementación de ambos concursos, el que yo propongo quiza para satisfacer nuestro ego de quien realmente es mejor y el de sistemas completos seria bueno como para ofrecer un premio, del cual se requiere de patrocinio pero que al final seria un buen exhibidor de talentos.
carlos: En lugar de un concurso de programación yo propongo proyectos completos, es decir por ejemplo una pagina web con base de datos y envio de correos con su respectivo validador de correo, se haria una seleccion con las propuestas de proyectos que son los que entrarian en el concurso, los lenguajes de programación serian a elección, puede ser participación individual o en equipo, se fijaria un fecha para entrega del proyecto, los demas participantes evaluarian la funcionalidad, seguridad y demas puntos a conciderar por las reglas previstas. El ganador o ganadores obtendrian un premio. Creo que este seria algo mas enriquecedor por todo lo que involucra.
Jona: Es lo malo.
No pido un validador "Común". Un validador con envió de email de confirmación y que la url de confirmación este codificada ademas de que la url codificada tenga caducidad .Y no se vale decir que de estos ya hay muchos colgados en la red o que java ya lo hace. Si no diriamos que para que nos dejan programas de c de matrices,arboles y demas si ya hay muchos en la red. Se trata de hacer una implementación personal para analizarla. js: No pensaba decir nada, pero no puedo permitir que los lectores corran el riesgo de permanecer en un error tan horripilante. Las expresiones regulares NO son la mejor forma de validar direcciones de correo según RFC822 (clicky nicky).
gatsu: ¿un validador de email?
Eso se hace distinto según el lenguaje de programación que estemos usando. En Java hasta con una expresion regular se hace (para saber más de expresiones regulares los remito al curso de compiladores). En otros lenguajes ya hay funciones que dan esa funcionalidad. Yo propongo que se pongan problemas tipo ACM, esos si estan bien duros. jona: Pero pongan problemas reales como validadores de email, no problemas de
que si tengo un conjunto en Z y si lo componen puros números modulo 3 encuentre cuales son también congruentes con modulo 13 o cosas de esas. Papá CEUAMI dice:: Entonces, no se diga mas... ¡¡Se hará un concurso de programación!! y que gane el mejor progrUAMIto.
Ademas, creo que ayudará en mi difusión como capitulo, no lo creen hijos?? alan: Me encanta la idea de marufos: Un concurso de programación. ¿Cómo ves, papá CEUAMI? :P
humito: Saludos mis amigos. Concuerdo con _at_diacus en sus planteamientos. Tambien creo que los argumentos vertidos al inicio de la discusión y que indignaron a _at_saúl dan muestra clara de otro problema clave para explicar la situación como sociedad, esto es, la mentalidad paternalista con la que han formado a muchos individuos, la expongo. Si no es papá biologico, es papá gobierno, o papá CEUAMI (je je, es solo una alusión), o mamá UAM, de quien tengo que recibir lo que ellos ofrecen pero sin dar nada a cambio, sin embargo (el que este libre de piedras, que lance el primer pecado) al menor error estos individuos se yerguen indignados e iracundos haciendo ver los errores, pero sin proponer algo en concreto, me late que se hagan este tipo de discusiones porque son un retrato fiel, como lo comenta nuestro querido _at_diacus de la coyuntura espacio-tiempo por la que atravesamos.
Invitamos a toda la comunidad como siempre a que se acerquen y participen con el CEUAMI. :) edwmx: Mmm, creo que son buenas ideas, aunque la invitacion para apoyar a CEUAMI siempre ha estado en pie, pero quiza tener un concurso de programacion con todo lo que involucra esto: bases, reglas y por supuesto un premio por parte del capitulo, seria algo muy interesante en varios aspectos.
marufos: Esto me hace pensar en que existen cuestiones escondidas y que piden a gritos ser sacadas.
Creo que todos por aqui tenemos muchas energia y a veces no sabemos como canalizarla, y por lo tanto yo propongo los siguientes puntos: 1. Para aquellos que suelen enfrentarse a palabras tratando de mostrar que unos son mejores que los otros sería bueno un enfrentamiento directo, es decir una pelea de programación, diseño, etc, con sus respectivos líneamientos asi como su referí. Quiza algo bueno pueda surgir con esto, al menos sacar su energía. 2. Para quienes tienen propuestas sobre el contenido de la página, invitarlos a reuniones donde se puedan mostrar las innovaciones de los demás compañeros(Quizá invitarlos a administrar el sitio). Saludos!!. geeking: Clic en mi nick
edwmx: En mi opinion personal, responder a un comentario como el primero que inicio la discusion es brindarle demasiada importancia a alguien que obviamente no sabe lo que dice.
Keep alive!! |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||