martes, 24 de abril de 2012

Maquina de Turing


Una Máquina de Turing (MT) es un modelo computacional que realiza una lectura/escritura de manera automática sobre una entrada llamada cinta, generando una salida en esta misma.
Este modelo está formado por un alfabeto de entrada y uno de salida, un símbolo especial llamado blanco, un conjunto de estados finitos y un conjunto de transiciones entre dichos estados. Su funcionamiento se basa en una función de transición, que recibe un estado inicial y una cadena de caracteres (la cinta, la cual puede ser infinita) pertenecientes al alfabeto de entrada. La máquina va leyendo una celda de la cinta en cada paso, borrando el símbolo en el que se encuentra posicionado su cabezal y escribiendo un nuevo símbolo perteneciente al alfabeto de salida, para luego desplazar el cabezal a la izquierda o a la derecha (solo una celda a la vez). Esto se repite según se indique en la función de transición, para finalmente detenerse en un estado final o de aceptación, representando así la salida.

La máquina de Turing 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:
Mover el cabezal lector/escritor hacia la derecha o izquierda.
El cómputo se determina a partir de una tabla de estados de la forma:
(Estado, valor) \rightarrow (Nuevo estado, nuevo valor, dirección)

Esta tabla toma como parámetros el estado actual de la máquina y el carácter leído de la cinta, dando la dirección para mover el cabezal, el nuevo estado de la máquina y el valor a escribir en la cinta.
La memoria es la cinta de la máquina que se divide en espacios de trabajo denominados celdas, donde se pueden escribir y leer símbolos. Inicialmente todas las celdas contienen un símbolo especial denominado "blanco". Las instrucciones que determinan el funcionamiento de la máquina tienen la forma, "si estamos en el estado x leyendo la posición y, donde hay escrito el símbolo z, entonces este símbolo debe ser reemplazado por este otro símbolo (x), y pasar a leer la celda siguiente, bien a la izquierda o bien a la derecha".


La máquina de Turing puede considerarse como un autómata capaz de reconocer lenguajes formales. En ese sentido, es capaz de reconocer los lenguajes recursivamente enumerables, de acuerdo a la jerarquía de Chomsky. Su potencia es, por tanto, superior a otros tipos de autómatas, como el autómata finito, o el autómata con pila, o igual a otros modelos con la misma potencia computacional.

La Millonaria


La Millonaria de Otto Stiger:

En 1892, el suizo Otto Steiger construyó la primera calculadora que tuvo éxito comercial, basada en la técnica de otros dos inventores: su nombre fue la Millonaria. Fue creada para realizar rápidamente las cuatro operaciones fundamentales, siendo un acontecimiento en el cálculo mecánico. Poseía una asombrosa velocidad al realizar multiplicaciones y divisiones frente a otras calculadoras de la época, ya que no las realiza mediante sumas sucesivas y restas sucesivas, cada dígito del multiplicador o del cociente se procesa mediante una sola vuelta de manivela que traslada automáticamente un espacio al mecanismo resultante.
Se utilizó para los grandes negocios y en algunas aplicaciones de cálculo científico.
Esta máquina fue producida en serie entre 1895 y 1935 por el ingeniero suizo Hans W. Egli. Algunos modelos de esta máquina llegaron a pesar hasta 55 kg, y se estima que se vendieron en total unas 4.700 unidades.

Maquina Tabuladora


La Maquina Tabuladora de Herman Hollerith, ingeniero neoyorquino de origen alemán, consiguió por vez primera automatizar el procesamiento de grandes cantidades de información con la ayuda de un aparato de propia creación: la máquina censadora o tabuladora. 
Hollerith se inspiró en los sistemas anteriores que usaban tarjetas perforadas, y los aplicó con fines estadísticos: en su máquina, cada hoja era como una tabla, en donde había varios campos, y varias columnas para cada campo. Por ejemplo, en el campo sexo, había una columna para hombre y otra para mujer. Si una casilla estaba perforada, indicaba un valor "cierto"; por tanto, la información guardada era booleana. Este sistema facilitaba hacer de forma mecánica operaciones como seleccionar y ordenar tarjetas, o contar las de un determinado tipo.

Cada tarjeta era del tamaño de un billete de dólar de la época (un 20% más grandes que los de ahora) y estaba divida en zonas. Por ejemplo: 



  Cada tarjeta se sitúa sobre varios recipientes abiertos y llenos de mercurio. Por encima de la tarjeta hay una serie de cables en forma de muelle; un cable para cada posible agujero en la tarjeta. Cuando este conjunto de cables se presionan contra la tarjeta, algunos de ellos (los que han quedado encima de un agujero) pueden llegar a entrar dentro de los botes de mercurio, y así cerrar el circuito eléctrico.

Después de leer cada tarjeta, la máquina hace varias otras cosas: incrementa un contador, hace sonar una campana para avisar al operario de que ya la ha leído, y abre un cajón concreto en el que almacenar la tarjeta. El cajón elegido depende de lainformación leída de la tarjeta.
El censo de 1880 había tardado 7 años en completarse (a mano). Con la máquina tabuladora de Hollerith, el de 1890 se hizo en sólo 2 años, y en 1893 ya estaba revisado. La nueva tecnología permitió, además, reducir los gastos en concepto de confección del censo en 5 millones de dolares.



Este éxito hizo evidentes las ventajas de esta herramienta para las tareas de contabilidad e inventarios. Con la fundación de la Tabulating Machine Company en 1896, Hollerith empieza a tener distintos clientes, sobre todo oficinas de censo de todo el mundo, y compañías de seguros. Éstos alquilaban sus máquinas tabuladoras y compraban sus tarjetas, así como los aparatos necesarios para perforarlas. Por ejemplo, hizo una especie de máquina de escribir que perforaba las tarjetas automáticamente al pulsar teclados, lo que permetía ahorra mucho tiempo y hacer unas 200-300 tarjetas por hora.

Sus siguientes tabuladoras hacían más cosas aparte de contar y catalogar: se mecanizó el sistema de entrada de tarjetas, y se hizo que pudiera hacer alguna operación sencilla, como sumas y ordenación de tarjetas.

Una de sus ocurrencias fue la de usar diferentes modelos de tarjeta perforada, una para cada cliente. La tabuladora del censo de 1890 estaba fabricada para funcionar exclusivamente con tarjetas del censo de 1890, y no podía hacer otro trabajo.

Con el tiempo, llegó a hacer un sistema que permitía reconfigurar la función de la máquina tocando algunos cables. Esto se podía hacer en su Tabuladora Tipo I del 1906, y puede considerarse como una de las primeras formas de programación.

Maquina analítica



La máquina analítica  
es el diseño de un computador moderno de uso general realizado por el profesor británico de matemáticas Charles Babbage, que representó un paso importante en la historia de la computación. Fue inicialmente descrita en 1816, aunque Babbage continuó refinando el diseño hasta su muerte en 1872. La máquina no pudo ser construida debido a razones de índole político, hubo detractores por un posible uso de la máquina para fines bélicos. Computadores que fueran lógicamente comparables a la máquina analítica sólo pudieron ser construidos 100 años más tarde.
Algunos piensan que las limitaciones tecnológicas de la época eran un obstáculo que hubiera impedido su construcción; otros piensan que la tecnología de la época alcanzaba para construir la máquina de haberse obtenido financiamiento y apoyo político al proyecto.
El primer intento de Charles Babbage para diseñar una máquina fue la máquina diferencial, que fue un computador diseñado específicamente para construir tablas de logaritmos y de funciones trigonométricas evaluando polinomios por aproximación. Si bien este proyecto no vio la luz por razones económicas y personales, Babbage comprendió que parte de su trabajo podía ser aprovechado en el diseño de un computador de propósito general, de manera que inició el diseño de la máquina analítica.
La máquina analítica debía funcionar con un motor a vapor y hubiera tenido 30 metros de largo por 10 de ancho. Para la entrada de datos y programas había pensado utilizar tarjetas perforadas. La salida debía producirse por una impresora, un equipo de dibujo y una campana. La máquina debía también perforar tarjetas que podrían ser leídas posteriormente. La máquina analítica trabajaba con una aritmética de coma fija en base 10, poseía una memoria capaz de almacenar 1.000 números de 50 dígitos cada uno. Una unidad aritmética estaría encargada de realizar las operaciones aritméticas.
 Se utilizaban tres tipos diferentes de tarjetas perforadas: una para operaciones aritméticas, una para constantes numéricas y otra para operaciones de almacenamiento y recuperación de datos de la memoria, y la transferencia de datos entre la unidad aritmética y la memoria. Se disponía de tres lectores diferentes para los tres tipos de tarjetas.
La maquina conto con diversos problemas a la hora de su construcción, y por lo tanto nunca llego a ser construida. Aunque los planos eran probablemente correctos, las disputas con el artesano que construyó las partes, y el fin de los fondos por parte del gobierno, la hicieron imposible de fabricar.
Principalmente, el problema era debido a los engranajes, que en esa época aún no aguantaban mucho esfuerzo, y con el calor se deformaban. Además, en 1878, un comité de la Asociación británica para el avance de la ciencia recomendó no construir la máquina analítica, por lo que Babbage no tuvo acceso a fondos del gobierno. Sin en embargo 1910, el hijo de Babbage, Henry P. Babbage informó que una parte del dispositivo de cálculo y el equipo de impresión habían sido construidos y utilizados para calcular una lista de múltiplos de Pi (con errores). Esto sólo era una pequeña parte de la máquina analítica.
La máquina analítica fue prácticamente olvidada salvo por tres inventores: Percy Ludgate, Leonardo Torres y Quevedo y Vannevar Bush que independientemente propusieron, a principios del siglo XX, diseños de máquinas analíticas basados en la de Babbage.
Los trabajos de George Stibitz en Nueva York justo antes de la Segunda Guerra Mundial y de Howard Aiken en laUniversidad de Harvard, durante y justo después de la guerra están estrechamente relacionado con el trabajo de Babbage sobre la máquina analítica. Ambos construyeron computadores estrechamente relacionados con la máquina analítica, si bien ninguno de estos equipos puede ser considerado como un computador programable moderno.

Máquina de diferencias de Babbage


Máquina de diferencias de Babbage

Una máquina diferencial es una calculadora mecánica de propósito especial, diseñada para tabular funciones polinómicas. Puesto que las funciones logarítmicas y trigonométricas pueden ser aproximadas por polinomios, esta máquina es más general de lo que parece al principio.
Es un dispositivo de naturaleza mecánica para calcular e imprimir tablas de funciones. Más concretamente, calcula el valor numérico de una función polinómica sobre una progresión aritmética obteniendo una tabla de valores que se aproxima a la función real (basado en que cualquier función puede ser aproximada por polinomios).
Esta máquina fue ideada por J. H. Mueller y redescubierta por Charles Babbage, quien no llegó a construirla.
Una reconstrucción de la Máquina Diferencial No.2 ha estado operativa desde 1991 en el Museo de Ciencia de Londres. Trabaja como Babbage la diseñó y demuestra que éste estaba acertado en su teoría, además de que era capaz de fabricar partes con la precisión requerida. Babbage falló quizá a causa de que sus diseños fueron demasiado ambiciosos.

Telar de Jacquard


Telar de Jacquard

El telar de Jacquard es un telar mecánico inventado por Joseph Marie Jacquard en 1801. El artilugio utilizaba tarjetas perforadas para conseguir tejer patrones en la tela, permitiendo que hasta los usuarios más inexpertos pudieran elaborar complejos diseños.

Aunque siempre se ha denominado telar de Jacquard, el telar en sí es la máquina inferior que intersecciona los hilos para producir la tela, mientras que lo que verdaderamente inventó Jacquard es la máquina que produce el movimiento independiente de los hilos de urdimbre para conseguir el dibujo solicitado a través de las armuras o ligamentos insertados en las diferentes zonas del tejido.

Cada tarjeta perforada correspondía a una línea del diseño, y su colocación junto con otras tarjetas determinaba el patrón (ligamento/armura) con el que el telar tejería. Cada agujero de la tarjeta correspondía con un gancho "Bolus", que tenía dos posiciones, pudiendo estar arriba o abajo. De esta manera, dependiendo de qué posición tuviera, el arnés (montura) que lleva y guía la urdimbre haría que la trama se desplazara hacia arriba o hacia abajo. De esta manera, la secuencia de subidas y bajadas del hilo termina por crear un patrón (ligamento/armura) sobre el tejido. Los ganchos o pestañas podían ser conectados a través del arnés con un determinado número de hilos, permitiendo que el patrón (camino) se repitiera más de una vez.
Un telar con 400 ganchos podía tener conectados hasta cuatro hilos por gancho, produciendo así una tela con una anchura de 1600 hilos, y con un patrón compuesto por la combinación de las repeticiones de cuatro bandas

Calculadora universal de Leibniz


Calculadora universal de Leibniz





Gottfried Wilhelm Leibniz se propuso la tarea de mejorar las máquinas de cálculo construidas hasta entonces: la de Blaise Pascal y la de Samuel Morland. El proceso fue ciertamente largo (el primer prototipo data de 1671 y el modelo definitivo es de 1694), pero el resultado fue espectacular, puesto que la Calculadora Universal de Leibniz no sólo sumaba y restaba, sino que también podía multiplicar y dividir.
Para conseguir multiplicaciones y divisiones, Leibniz ideó un dispositivo capaz de realizar múltiples sumas y restas: un contador de pasos, consistente en una rueda dentada cilíndrica con nueve dientes o varillas de longitud variable. Esta rueda dentada, en forma de tambor cilíndrico, impulsaba la maquinaria de los cálculos por medio de otra rueda menor, también dentada, que se desplazaba a lo largo de su eje por medio de un dial que marcaba el numero por el que se quería multiplicar o dividir. Así, la máquina repetía la suma o la resta el número establecido de veces, hasta conseguir la multiplicación o la división deseada. Este original dispositivo recibe el nombre de rueda escalada de Leibniz:

 El tambor cilíndrico (A) hace las veces de rueda multiplicadora. Dispone de nueve dientes o varillas de distinta longitud. La rueda dentada menor (B) se desplaza sobre su eje y sufre las revoluciones que le imprime el tambor multiplicador, según sea la posición elegida.