Este documento describe la historia del desarrollo del concepto de información y su aplicación en el campo de la computación. Comienza con el origen del término "información" y continúa describiendo el desarrollo del telégrafo, el código binario, la teoría de la información de Claude Shannon y más. En particular, destaca la contribución de pioneros como Morse, Baudot, Leibniz, Boole y Shannon en sentar las bases conceptuales y técnicas de la informática moderna.
1. Historia del software en computación aplicado a la informática educativa. 15
1. El nacimiento de
la noción de
información.
Como hemos visto en la introducción, la palabra informática es de origen
francés y está formada por la contracción de Información y Automática. En este punto
veremos de dónde viene la noción de información.
El origen de la noción moderna de información puede buscarse en tres direcciones. En
primer lugar, en el movimiento de ideas para distinguir entre la forma y el sentido; en
segundo lugar, en las técnicas surgidas de las necesidades del transporte de mensajes;
en tercer lugar, en una tradición de búsqueda de las condiciones de verdad de los
enunciados.
Todas las investigaciones relacionadas con la noción de información desean poder
separar entre el sentido y la forma, por ejemplo de un mensaje. La distinción entre
forma y sentido supone una ruptura mental en la percepción que el hombre tiene de lo
que le rodea.
La palabra "información" tiene un origen relacionado con la idea de forma. Informatio
quiere decir en latín "acción de formar", "dar forma", y procede de forma, ae que sirve
para designar la forma exterior de un objeto. Informar, en latín, es también educar,
formar. La palabra tiene varios sentidos, pero todos se dirigen a la idea de
construcción, elaboración.
El término información sirve para designar la información en el sentido periodístico y
también en el sentido técnico. Esto provoca una confusión, ya que la información que
nos proporciona la prensa está cargada de sentido mientras que la tratada por las
técnicas está privada de sentido.
En el siglo XX se hace una segunda distinción en la que la forma de un mensaje se
podrá descomponer en símbolos y señales. Según Joseph Fourier, una variación
cualquiera de un elemento puede representarse por una suma de funciones
matemáticas, expresables en términos de señales eléctricas.
Daniel Merchán López. 2013
2. 16 Historia del software en computación aplicado a la informática educativa.
1.1. El paso de mensajes. [4][5][6]
La preocupación por la comunicación a distancia es relativamente tardía a
pesar de los intentos de los seres humanos por transmitir mensajes durante toda la
historia. Las señales de humo de los Amazonas o el uso del tambor por tribus Africanas
son dos formas antiguas de comunicarse.
No es hasta el siglo XVIII cuando se organiza una red sistemática de comunicación a
distancia. Hasta ese momento en la cultura occidental se utilizaba el mensajero a pie, a
caballo o en carroza.
Uno de los inventos que mejoró el paso de mensajes es el telégrafo. La invención del
telégrafo electromagnético no puede atribuirse sólo a una persona sino a un conjunto
de científicos, técnicos o inventores.
Un ingeniero francés, Claude Chappe (1763-1805) ideó un sistema visual que estaba
compuesto por brazos móviles montados sobre unas torres. Este sistema era fiable en
mensajes breves o para transmitir órdenes. El control de la electricidad y su utilización
para transmitir señales variadas permitió rápidamente pensar en una comunicación a
distancia quasi instantánea.
Un Español, Francisco Salvá Campillo (1751-1828), en 1804 telegrafió un parte por
medio de las descargas de un condensador. Utilizó varios conductores para
representar todas las letras latinas y números.
En 1809, Samuel Soemmering basándose en el diseño de Francisco Salvá inventó un
nuevo telégrafo. Utilizó 35 cables con electrodos de oro en agua. La comunicación
terminaba a una distancia de 610 metros, y era detectada por la cantidad de gas
generado por la electrólisis. El principal inconveniente del sistema era su coste, debido
a la fabricación de múltiples circuitos de hilo conductor que empleaba, a diferencia del
cable con un solo conductor y retorno a tierra, utilizado por los telégrafos posteriores.
El matemático, astrónomo y físico alemán Johann Carl Friedrich Gauss (1777-1855) y
su amigo, el profesor Wilhelm Eduard Weber(1804-1891) instalaron entre el
Observatorio de Góttingen y la Universidad un telégrafo eléctrico cuyo indicador
consistía en una aguja magnética que se inclinaba alternativamente hacia la derecha y
hacia la izquierda, según el sentido en el que se enviaba la corriente eléctrica. Para
cambiar el sentido de la corriente utilizó un interruptor de su propia invención. Gauss
propuso la idea de que con solo dos signos se podía telegrafiar.
Daniel Merchán López. 2013
3. Historia del software en computación aplicado a la informática educativa. 17
Fig. 1. Código Morse.
Samuel F.B. Morse (1791-1872), pintor de profesión, construyó un telégrafo
verdaderamente práctico y un alfabeto para enviar los mensajes. El alfabeto estaba
compuesto por rayas y puntos. Morse demostró que las señales podían ser trasmitidas
por cable, para ello utilizó pulsos de corriente para desviar un electroimán el cual
movía un marcador para producir códigos escritos en una tira de papel. Es el llamado
código Morse (Fig. 1). Siete años después de su invención se empezó a utilizar al
instalarse la primera línea telegráfica experimental, de unos 64 kilómetros, entre
Washington y Baltimore. El telégrafo de Morse contaba con un aparato transmisor,
otro receptor y una línea que los unía, constituida por un solo hilo conductor, pues el
retorno de la corriente para cerrar el circuito se realizaba por tierra.
El código Morse original se imprimía en una cinta y para separar las palabras dejaba
espacios. Sin embargo, en EEUU se desarrolló la operación en clave de oído. Un
operador capacitado podía transmitir entre 40 y 50 palabras por minuto. La
transmisión automática, que se introdujo en 1914, manejaba más del doble de esa
cifra.
La palabra "informática" escrita en Morse quedaría así:
.. -. ..-. --- .-. -- .- - ..
En 1874, Thomas Edison (1847-1931) perfeccionó el telégrafo al descubrir que dos
mensajes podían transitar simultáneamente por un mismo circuito eléctrico gracias a
una codificación propia de las señales. El francés Émile Baudot (1845-1903) realizó un
nuevo sistema telegráfico que, a diferencia del sistema de Morse, funcionaba con una
base binaria.
Otro gran invento para el paso de mensajes es el <<oído artificial>>, el teléfono. El
físico americano de origen inglés, Alexandre Graham Bell (1847-1922), lo inventó en
Daniel Merchán López. 2013
4. 18 Historia del software en computación aplicado a la informática educativa.
1.875. Las señales se transmitían gracias a corrientes eléctricas, cuya intensidad
abarcaba una gran gama de amplitudes, que circulaban a mayor velocidad qué las
señales telegráficas.
1.2. El nacimiento del código
binario. [6][7][8]
El inventor del código binario fue el filósofo inglés Francis Bacon (1561-1626).
Intentaba transmitir el pensamiento a distancia por cualquier medio que no presentara
más de dos estados diferentes. Descubrió el interés del código binario al codificar
mensajes diplomáticos secretos. Por aquel entonces, la codificación se basaba en dos
operaciones. Una de ellas es la transformación de cada letra del alfabeto en una
combinación de dos símbolos, la otra operación hacia que un texto correspondiera a
cada símbolo, a o b, una tipografía diferente.
Fig. 2. Telar de Jacquard.
Una de las primeras veces que se utilizó este código en una máquina fue en el telar
del ingeniero francés Joseph Marie Jacquard (1752-1834). Es una innovación
importante y en principio ajena a la informática. Tuvo lugar a principios del siglo XIX.
Joseph Jacquard presenta en 1801 un telar automático controlado por tarjetas
perforadas (Fig. 2). Un conjunto de tarjetas constituían un programa, el cual creaba
diseños textiles. Solo con cambiar la secuencia de tarjetas se podía diseñar cualquier
Daniel Merchán López. 2013
5. Historia del software en computación aplicado a la informática educativa. 19
dibujo. Aunque su propósito no era realizar cálculos, contribuyó en gran medida al
desarrollo de las computadoras. Su funcionamiento era el siguiente; el telar
entrecruzaba los hilos para formar el tejido de manera que, tras introducir el tipo de
ligamento que se quería obtener a través de una tarjeta perforada, iba situando los
hilos de forma automática. Se pueden considerar a las tarjetas perforadas como el
primer sistema de control programado, en el que se basaría años después el método e
programación de los primeros ordenadores.
1.3. La Teoría de la
información.[9][6][10][11][12][13]
El matemático y filosofo alemán Gottfried W. Leibniz (1646-1716) estableció las
bases de lo que hoy conocemos como lógica matemática. En 1702, Leibniz expuso en
su artículo <<Explicación de la aritmética binaria con notas sobre su utilidad y como da
sentido a las antiguas figuras chinas de Fou-Hi>> el sistema de numeración binario, un
sistema en el que solo necesitaríamos dos cifras: el cero y el uno. A Leibniz le vino la
inspiración para hacer esto de China. La creencia China en dos principios básicos como
el Yin y el Yang les había llevado a un sistema de numeración binario. En los dos siglos
siguiente este sistema de numeración no se utilizó porque no se le encontró utilidad.
El matemático inglés George Boole (1815-1864) dio forma a los axiomas que proponía
Leibniz en su tesis y creó los fundamentos de la lógica matemática mediante el álgebra
simbólica, o también conocida como álgebra de Boole. En 1847 publicó su libro
<<Análisis matemático de la lógica>> en el que intenta utilizar técnicas algebraicas
para tratar expresiones de la lógica de orden uno o proposicional. Los descubrimientos
de Boole no tuvieron mucho reconocimiento en su época, pues le pasaba lo mismo
que a Leibniz, sus contemporáneos no le encontraron mucha utilidad. Hasta el siglo XX
y con la aparición de la electrónica no se comprende su importancia dentro del campo
de la informática y de forma más generalizada en el diseño electrónico.
Ya en el siglo XX Claude Shannon (1916-2001) continuó el trabajo de George Boole.
Shannon, ingeniero y matemático, nació en un distrito rural, en el medio oeste
americano. Es considerado el padre de la Teoría de la información. Conoció el trabajo
de Boole en las clases de filosofía de la Universidad de Michigan y en 1937 hizo el
doctorado en el Instituto Tecnológico de Massachusetts, el célebre MIT.
Daniel Merchán López. 2013
6. 20 Historia del software en computación aplicado a la informática educativa.
Shannon ha contribuido en abundancia a la ciencia de la informática y las
telecomunicaciones. Una de estas contribuciones es el bit. La palabra bit surge del
resultado de contraer Binary digit. El bit es la unidad de medida que nos dice la
cantidad de información contenida en la opción elemental entre dos posibilidades
igualmente probables; como por ejemplo cuando lanzamos una moneda para obtener
cara o cruz. Shannon también publicó un artículo en 1949 que trataba de la
automatización del juego del ajedrez, que posteriormente será la base de todos los
jugadores computarizados, incluyendo el célebre Deep Blue. La Deep Blue fue una
supercomputadora desarrollada por el fabricante estadounidense IBM para jugar al
ajedrez. Fue la primera que venció a un campeón del mundo vigente, que en esos
momentos era Gary Kaspárov (Fig. 3).
Fig. 3. Partida entre el supercomputador Deep Blue y Gary Kaspárov.
Su mayor contribución ha sido lo que hemos citado anteriormente, la Teoría de la
información. En su tesis dio solución a los problemas con los que se encontraban los
creadores de los ordenadores, pues intentaban crear circuitos electrónicos que
pudiesen realizar funciones útiles, como la suma o resta de dos números, pero no
había un sustento teórico. Sin la teoría el problema resultaba complicado, sin embargo
no se daban cuenta que el problema ya casi estaba resuelto. Shannon estudió las leyes
de pensamiento de Boole cuando trabajaba en las clases de filosofía. En ese trabajo
encontró la solución a sus problemas. Consideró que falso, o cero, era lo mismo que
estar apagado y verdadero, o uno, lo mismo que estar encendido.
Daniel Merchán López. 2013
7. Historia del software en computación aplicado a la informática educativa. 21
Fig. 4. Tablas de verdad, siendo V verdadero y F falso.
A partir de esta consideración y para realizar circuitos, utilizaba las operaciones
lógicas del algebra de Boole, AND (conjunción),OR (disyunción) y NOT (negación). Estas
operaciones de pueden definir mediante las llamadas tablas de verdad (Fig. 4)y aparte
de las citadas anteriormente hay otras propiedades y operaciones más complejas. El
álgebra de Boole se axiomatiza mediante propiedades, o lo que es lo mismo, estas
propiedades son necesarias para construir la tabla de verdad.
En la época de Shannon éstas operaciones se implementaban mediante válvulas de
vacío, hoy en día y por la evolución de la tecnología, se utilizan transistores y los
llamados circuitos integrados. En un microprocesador actual pueden tener lugar varios
centenares de millones de estas operaciones.
La teoría de Shannon proviene del estudio de las comunicaciones eléctricas, pero
aborda los problemas de la información de una forma a la vez matemática, es decir,
precisa y exacta, y en términos más amplios de los necesarios para resolver el
problema del transporte de la electricidad. En términos de la termodinámica, la
información es una medida de la entropía, es decir, de la degradación de una señal en
presencia de ruido. El objetivo de la Teoría de la información es comprender esta
teoría para luchar contra ella de forma eficiente. En este sentido, el campo de la
información está constituido por las relaciones entre los símbolos, las señales y los
ruidos. Paralelamente a este sentido, se utiliza el término información para designar
un símbolo numérico (0 o 1) que se codifica de forma binaria. Información es así una
noción que designa a la vez una medida y un símbolo. Posteriormente la informática
utilizará el segundo sentido (símbolo numérico binario).
Daniel Merchán López. 2013
8. 22 Historia del software en computación aplicado a la informática educativa.
Los elementos principales de la teoría de la información son los siguientes: fuente,
mensaje, código e información. Una fuente es cualquier cosa que emita mensajes,
como por ejemplo un ordenador o un dispositivo de transmisión de datos. El mensaje
es un archivo o un paquete de datos que viaja por la red en representación binaria. El
código es el conjunto de ceros y unos utilizado para representar un mensaje siempre y
cuando se sigan unas reglas establecidas. Y, por último, la información que es el
conjunto de bits que se requieren para representar el mensaje.
1.4. La máquina de Turing.[14][15][12][16]
El concepto de algoritmo es una noción bastante antigua, como veremos
posteriormente fue el matemático árabe Al-Khwarizmi el que introdujo el término,
pero es el matemático inglés Alan Turing (1912-1954), el que le dio la forma.
Podríamos definir algoritmo como el conjunto completo de reglas que permiten la
resolución de un problema dado [6].
Para resolver los algoritmos, Turing describió una máquina de tipo conceptual, pues la
intención de Turing era precisar qué se
entiende por procedimiento mecánico para
resolver los problemas. La máquina (Fig. 5)
estaría compuesta por una banda de papel
ilimitada y un listero que tendría la capacidad
de leer, escribir o borrar diferentes símbolos,
desplazar la banda hacia la izquierda o hacia
la derecha, marcar una de las casillas
seleccionadas del papel o detenerse. Tendría
una serie de reglas que se pudiesen aplicar
secuencialmente a unos datos de entrada,
estos datos y tras una serie finita de pasos, se
convertirían en unos datos de salida que
quedarían registrados de alguna forma.
Fig. 5. Forma hipotética de la máquina de Turing.
La máquina de Turing demostró algunos límites de la lógica y probó la potencia de
diferentes algoritmos. En teoría todos los problemas que se podían describir tenían
solución empleando esta máquina.
Daniel Merchán López. 2013
9. Historia del software en computación aplicado a la informática educativa. 23
Turing diseñó una máquina que por sí sola se puede considerar una caja negra. La
máquina estará en cada momento en unos de sus n posible estados q1,q2, ... donde q
es el estado. Se da por hecho que hay un indicador externo que nos informa
continuamente del estado en el que se encuentra, dicha información la escribirá en la
cinta de papel infinita que solo disponía en un primer momento los caracteres 1, 0 o X,
siendo la X una marca de separación. Esta máquina no utilizaba el sistema binario, sino
que representaba los números mediante un sistema aditivo, es decir, para representar
un cuatro escribía cuatro unos, uno a continuación del otro en cada una de las casillas
del papel.
Matemáticamente la máquina de Turing con una sola cinta se puede definir mediante
una 7ª tupla.
M=(Q, ∑, ɼ, s, b, F, Δ) donde;
Q es un conjunto finito de estados.
∑ es un conjunto finito de símbolos distinto del espacio en blanco, también
denominado como alfabeto de entrada o de máquina.
ɼ es un conjunto finito de símbolos de cinta, denominado alfabeto de cinta.
∑ϵ ɼ
S ϵ Q es el estado inicial.
b ϵ r es un símbolo denominado blanco, y es el único símbolo que se puede repetir un
número infinito de veces.
F <= Q es el conjunto de estados finales de aceptación.
Δ : Q X ɼ → P(Q x ɼ x {L , R})
Es una función parcial denominada función de transición, donde L es un movimiento a
la izquierda y R es el movimiento a la derecha.
Turing se encontró con una serie de problemas que según Turing no tenían solución.
El primero de ellos es el problema de la parada, es el primer problema concreto de la
historia en el que se demostró su indecidibilidad. A través de éste problema, muchos
siguieron el mismo camino. Para demostrar que un problema nuevo es indecidible, se
comienza suponiendo lo contrario, que es decidible. Otro de los problemas
indecidibles es la descripción formal de lenguajes. La gramática describe el conjunto de
frases válidas para el lenguaje; para determinar si esa gramática es válida o no existe
un algoritmo llamado reconocedor que determina su validez. En primer lugar, el
Daniel Merchán López. 2013
10. 24 Historia del software en computación aplicado a la informática educativa.
compilador del lenguaje de programación realiza un análisis sintáctico. Después el
reconocedor, en caso de que no haya ningún fallo, suministra la estructura de la frase.
El gran problema del reconocedor es que una misma frase puede tener dos estructuras
distintas, este hecho en los lenguajes naturales es frecuente. La gramática también
tiene otro problema pues no se puede saber si dos gramáticas diferentes generan o no
el mismo lenguaje.
Un problema práctico sería la eliminación de errores de los programas. Otros
problemas estarían relacionados con la lógica, como la demostración automática de
teoremas o la demostración de propiedades satisfechas por los programas.
Daniel Merchán López. 2013