Está en la página 1de 6

ACTIVIDAD INICIAL

Fase 0

PRESENTADO POR:

PAULO ANDRES GIRALDO

PRESENTADO AL TUTOR:

LUIS ERNESTO BONILLA

GRUPO: 53

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA. UNAD

Agosto del 2017


Abstract

En este documento se presenta el resultado de la exploracin del material


propuesto para el desarrollo de las unidades 1 y 2 del curso de Autmatas y
Lenguajes Formales, as como la identificacin de los hitos que marcan la historia
de los lenguajes formales, un resumen sobre Alan Turing y la mquina Enigma y
los conceptos adicionales a los que se manejaran durante el curso.
Captulo 2

Alan Turing y la Mquina Enigma

La Segunda Guerra Mundial, de 1939 a 1945, fue el catalizador que potenci el


avance y aparicin de las industrias que marcaron los siguientes siglos. Muchas
personas se distinguieron por sus aportes a los esfuerzos por derrotar al eje. Entre
ellos, el matemtico ingls Alan Mathison Turing se destac por sus aportes a la
teora de la computacin, matemticas y en el esfuerzo por descifrar la mquina
Enigma. Nacido en Londres en 1912 de Julius Mathison Turing e Ethel Sara
Stoney. Turing demostr gran habilidad por las matemticas desde una edad
temprana y fue condecorado con honores durante sus estudios en la universidad
Kings College. Ya como egresado publica su artculo On Computable Numbers
en 1936 donde propone dispositivos abstractos ahora conocidos como Mquinas
Turing y comprueba que estos dispositivos seran capaces de realizar cualquier
tipo de clculo que se le presentara como un algoritmo.

All mismo, estudia el problema de la detencin, llegando a la conclusin de que


no es posible decidir de forma algortmica si un algoritmo escrito para las
Mquinas Turing se va a detener. En 1936, cuando inicia la Segunda Guerra
Mundial, los alemanes desarrollan diversas mquinas para cifrar sus mensajes y
enviar rdenes a campo. Los britnicos inmediatamente comenzaron sus
esfuerzos para romper el cifrado en el ahora famoso Bletchley Park.

Turing comienza su trabajo en Bletchley Park el 4 de septiembre de 1939, un da


despus de la declaracin de guerra de Inglaterra. Su ms importante asignacin
fue crear la especificacin de la mquina electromecnica Bombe utilizada para
descifrar las comunicaciones alemanas cifradas por la mquina Enigma. La
Enigma, era una mquina electro-mecnica de rotores desarrollada en Alemania
en 1920. La posicin especfica de los rotores permite realizar un cifrado de
substitucin para cifrar y descifrar un mensaje. De esta forma, los alemanes
podan enviar mensajes usando dos mquinas Enigma siempre que ambas partes
conocieran la posicin inicial correcta de los rotores. La mquina Enigma provee
unas impresionantes 100,391,791,500 posiciones iniciales de los rotores y un huso
con seis posiciones adicionales y conectores para cifrar los mensajes de forma
que no pudieran ser atacados con las tcnicas conocidas hasta el momento que
eran fuerza bruta y anlisis de frecuencia de letras.

Turing se vali de algunas vulnerabilidades de la mquina Enigma para desarrollar


la Bombe permitiendo que la Inteligencia Britnica pudiera interceptar y descifrar
las rdenes a tropas y submarinos dando una ventaja enorme a los aliados.
Durante su vida, Turing se vio afectado por la intolerancia hacia la
homosexualidad ya que en esa poca los actos homosexuales se consideraban
ofensas criminales al punto que fue condenado en 1952 a un tratamiento hormonal
para reducir su lvido y la consecuente prohibicin de trabajar en criptoanlisis
para el gobierno. Dos aos despus, en 1954, Turing comete suicidio por
envenenamiento con cianuro. Con los aos, sus aportes a la ciencia siguen
vigentes y hacen parte de los fundamentos de la informtica ya que todos los
computadores actuales se consideran

mquinas de Turing y gracias en parte a mltiples biografas y una pelcula


reciente, se han dado a conocer al pblico general. En el ao 2009 el Gobierno
Britnico ofreci disculpas por el tratamiento que Turing haba recibido, pero no
fue sino hasta el ao 2012 que se tramit la ley en la que se lo perdonaba de los
cargos por los cuales haba sido juzgado. Mltiples universidades, entre ellas su
alma mater Kings College, han dedicado edificios y aulas a su nombre y fue
nombrado uno de las 100 personas ms importantes del siglo 20 por la revista
Time. La ACM entrega el Premio Turing desde 1966 por contribuciones tcnicas o
tericas al campo de la computacin y se considera con un prestigio equivalente al
Premio Nobel.

Captulo 3

Palabras adicionales al Glosario Se proponen las siguientes palabras para


adicionar al glosario propuesto para la materia.
Transpilador:

Tambin conocido como compilador de fuente a fuente, es un tipo de compilador


que convierte el cdigo fuente recibido a otro cdigo fuente, usualmente de un
lenguaje diferente. En la actualidad son muy populares los transpiladores que
convierten cdigo de lenguajes tradicionales a JavaScript ya que esto permite que
lenguajes como C++, Python, Java o C# se ejecuten en los navegadores de
Internet. Encontramos ejemplos como Emscripten para C++. De acuerdo con
(Illyushin & Namiot, 2016) el primer transpilador conocido apareci en 1981 y
traduca de cdigo assembler para el procesador Intel 8080 al cdigo assembler
para el procesador Intel 8086.

Reduccin:

En el contexto de los lenguajes de programacin, el trmino Reduccin (Lowering)


corresponde a la tcnica aplicada por algunos compiladores para simplificar el
proceso de compilacin pasando de una sintaxis ms abstracta a una sintaxis
concreta de forma que el compilador no necesite implementar la conversin a
cdigo de mquina de la sintaxis ms abstracta. Por ejemplo, lenguajes como C#
(Warren, 2017) convierten las palabras claves async/await y yield return a
mquinas de estados que slo usan condicionales y ciclos de forma que no tenga
que soportar la generacin de cdigo IL de estas palabras claves. Esto reduce el
tamao y complejidad del compilador

Clausura:

Una Clausura (Closure en ingls) es una funcin que tiene acceso a una o ms
variables declaradas en el entorno (scope) de otra funcin. Su utilizacin es se
identifica principalmente con lenguajes funcionales, sin embargo, cada vez ms
lenguajes soportan esta caracterstica al declarar funciones annimas o Lambdas.
Por ejemplo, podemos citar el lenguaje C++ que en su versin C++11
(cppreference.com, 2017) ya soporta clausuras para funciones Lambda.
REFERENCIA BIBLIOGRAFICOS

cppreference.com. (23 de Julio de 2017). Lambda expressions (since C++11).


Obtenido de cppreference.com:
http://en.cppreference.com/w/cpp/language/lambda

Illyushin, E., & Namiot, D. (10 de Abril de 2016). On ource-to-source compilers.


International Journal of Open Information Technologies, pg. 48.

Time Magazine. (1999). Time 100: The Most Important People of the Century. New
York: Time Inc. Turing, A. M. (1937). On Computable Numbers, with an Application
to the Entscheidungsproblem. Londres

Tyldum, M. (Direccin). (2014). The Imitation Game [Pelcula]. Universidad de


Huelva. (2016). Teora de Autmatas y Lenguajes Formales. Huelva: Universidad
de Huelva. Warren, M. (25 de Mayo de 2017).

Lowering in the C# Compiler (and what happens when you misuse it). Obtenido de
Performance is a Feature!: http://mattwarren.org/2017/05/25/Lowering-in-the-C-
Compiler/

También podría gustarte