jueves, 22 de noviembre de 2012

Anexos: El test de Turing


Muchas veces, cuando en las noticias se habla de inteligencia artificial, se menciona sin ahondar mucho en detalles sobre el test de Turing. La inmensa mayoría no tiene ni idea de lo que es, y los que hemos leído este blog podemos deducir que se trata de una experimento ideado por Alan Turing y poco más.

Por eso creo necesario ahondar en el tema. Hoy explicaremos qué es el Test de Turing y cómo funciona.

Primero, este test es sólo para máquinas. Ninguna persona podría realizalo, porque sirve para medir la "inteligencia" de una máquina.

Fue creado, como hemos deducido antes, por Alan Turing en 1950, y se trata de lo siguiente: un desafío. Se coloca un juez situado en una habitación, una máquina y un ser humano en otras. El juez debe descubrir cuál es el ser humano y cuál es la máquina, y los dos tienen permitido mentir al contestar por escrito las preguntas que el juez les hiciera. La tesis de Turing es que si ambos jugadores eran suficientemente hábiles, el juez no podría distinguir quién era el ser humano y quién la máquina.

El premio Loebner que se realiza cada año entre programas de ordenador aplica esta prueba. Un juez humano lee  pantallas de ordenador, una de ellas bajo el control de un ordenador, y la otra manejada por  humano. El premio está dotado con 100.000 dólares estadounidenses para el programa que pase el test, y un premio de consolación para el mejor programa anual.

Solo una máquina fue confundida con un humano, en 2010, el robot Suzette de Bruce Wilcox, aunque se considera que ninguna máquina ha superado la prueba. De todas formas, se predice que para el 2029 algun ordenador superará la prueba, gracias al concepto de singularidad tecnológica. 

Etapa 0: los precursores.

Al principio del blog hablamos brevemente del ábaco como precursor de los ordenadores actuales, pero de allí saltamos al siglo XVII, dejándonos siglos de historia en el tintero. Pues bien, en este anexo hablaremos de lo que vino antes de Pascal, Babbage y los primeros ordenadores.

Previamente mencionamos el ábaco, en la primera etapa. Hoy ahondaremos más en ello, además de comentar todo lo relacionado con la informática hasta el año 1962 y la pascalina. Así que empezaremos por el principio:

El ábaco es un artefacto que sirve para efectuar operaciones aritméticas sencillas (sumas, restas y multiplicaciones). Fue inventado en Asia Menor, y muy utilizado por la mayoría de civilizaciones antiguas, como la Griega, la Romana y la Fenicia.

El siguiente avance importante ocurrió durante la Edad Media, cuando el matemático e ingeniero persa Musa al-Juarismi (780-850), inventó el algoritmo, o sea, la resolución de problemas de álgebra y cálculo numérico mediante una lista ordenada y finita de operaciones a fin de hallar la solución al problema que se plantea.

En 1617 John Napier (inventor de los logaritmos) desarrolla los  "Huesos de Napier", tabla quue utiliza barras para realizar operaciones.

En 1623 se crea la primera calculadora mecánica en Alemania, por Wilhelm Schickard. Kepler, el famoso matemático, encargó uno de ellos, pero fue destruida en el fuego antes de que fuera acabada.

 En 1624: La primera regla deslizante fue inventada por el matemático inglés William Oughtred. La regla deslizante era un juego de discos rotatorios que se calibraron con los logaritmos de Napier. Se usó como uno de los primeros aparatos de la informática analógica. 

Como veréis, hubo pocos avances y muy espaciados en el tiempo, comparado con los cambios que ocurren hoy en día, tan vertiginosos y repentinos. Pero aun así, sin nada de lo que los hombres arriba mencionados hicieron, la informática nunca habría llegado a ser lo que es hoy en día.



martes, 20 de noviembre de 2012

Tercera etapa: de la miniaturización a los ordenadores actuales

El siguiente gran paso fue la miniaturización: es decir, una vez asentadas las bases, los componentes se hicieron cada vez mas pequeños.
En 1950 J.Kilby creó el primer circuito integrado, una oblea de germanio en la que incluyó los componentes electrónicos principales de todo circuito. Después el germanio se sustituyó por silicio (más barato) y cada vez se integran más y más componentes electrónicos en un mismo chip.
La integración a media escala (MSI) y la integración a gran escala (LSI) elevaron el numero de componentes que se podían colocar en un mismo chip a cientos de miles. Hoy en día se utiliza la muy alta escala de integración (VLSI) con la que se puede incluir varios millones de componentes electrónicos en un chip del tamaño de una uña.
En 1963 se crea el codigo ASCII, que ya hemos mencionado
Con los componentes semiconductores vino el microprocesador: en 1970: Marcian E.Hoff combinó los elementos de la computadora en un chip de silicio minúsculo. Este microprocesador, y los que le siguieron, son el cerebro de los ordenadores actuales.
A mediados de los años 70, con los microchips y microprocesadores fabricados en serie se había reducido drásticamente el precio de los componentes, y por tanto de las computadoras.




La primera computadora accesible para la gente de a pie se llamó Altair 8800 y se vendió en 1974. En 1977 Tandy Corporation se convirtió en la primera firma en añadir monitor y teclado. Además se podían guardar programas en una grabadora. Poco después, la recién creada Apple Computer desarrolló una computadora superior.

La empresa más exitosa hasta el momento ha sido IBM. Ellos introdujeron el ordenador personal (PC) en 1981. Tan exitoso fue que muchos fabricantes lo copiaron, y vendieron los suyos como "compatibles PC" a un precio más barato. Como resultado de la competencia, los precios bajaron mucho a la vez que sus prestaciones y velocidad aumentaron.
En 1981 también se crea el primer ordenador portátil (que no portable) por Adam Osbourne
En 1983 ARPANET se separa de la red militar, lo que se considera la creación de Internet. 1984 es la fecha en la que se crean los primeros CD-ROM.
Windows 1 se lanzó en 1985, y 6 años más tarde se comienza a desarrollar Linux. En 2001 se crea Wikipedia, en 2005 Youtube y en 2008 se lanza al mercado el ordenador más ligero del mundo, el Macbook Air.

El ordenador de hoy es, en cifras,  200 veces más rápido que la ENIAC, 3000 veces más ligero y cientos de millones más barato. Su tamaño también se ha reducido drásticamente.
La investigación continúa avanzando, y con la espectacular llegada de Internet se está llegando a un mundo más globalizado, creando un puente entre la informática y la comunicación.
Se está intentando crear una computadora que imite los procesos y pensamientos humanos (inteligencia artificial). La pregunta es: ¿se conseguirá?


martes, 13 de noviembre de 2012

Segunda etapa: las calculadoras numéricas electrónicas

SEGUNDA ETAPA: LAS CALCULADORAS NUMÉRICAS ELECTRÓNICAS

Las partes móviles de las calculadoras mecánicas las limitaban terriblemente en cuanto a velocidad o fiabilidad, por lo que los científicos e ingenieros de su tiempo se afanaron en mejorarlo, y para ello introdujeron elementos electromecánicos, como los relés, o electrónicos, como válvulas y tubos de vacío.
De esta manera se crearon las calculadoras electrónicas y los primeros ordenadores.

En 1906 se crea el tubo de vacío.

En 1936 Alan Turing (al que mencionaremos más adelante) crea  la máquina de Turing, que formaliza el algoritmo.

En 1939, John V. Atanassoff y Clfford Berry construyeron el prototipo de la primera calculadora basada en el sistema binario. Atanassoff creía (y tenía razón) que era mejor utilizar la base de numeración binaria (que ya hemos comentado en  primeros conceptos) que los numeros decimales para realizar cálculos.  La razón es que es más fácil construir dispositivos físicos que funcionen según esta ley, creada por George Boole. El 1 y el 0 pueden representarse con facilidad en un elemento eléctrico, representando encendido y apagado. Este paso fue decisivo para su desarrollo.

El ordenador se desarrolló, como muchos otros inventos, con la presión de la guerra, en este caso la Segunda Guerra Mundial. Dedicaremos a ello mención aparte en otro anexo.
En el bando alemán, el inventor Konrad Zuse desarrolló, en 1941 una calculadora operacional (la llamada Z3) que se utilizó para diseñar aviones y misiles. El gobierno no ayudó con dicha máquina y por eso nunca alcanzó su máxima potencia.

En el otro bando es indispensable mencionar a Alan Turing, que en 1943 y utilizando los principios de Babbage construyó la primera computadora completamente electrónica, que utilizaba tubos de vacío en lugar de relés. La llamo "Colossus" y fue decisiva en el desenlace de la guerra porque fue utilizada por los criptógrafos para descifrar los códigos secretos militares de los alemanes. Fue guardado tan en secreto que su existencia no se reveló hasta décadas despues.

1937. Howard Aiken inició en Harvard (con el apoyo de IBM) el desarrollo de la computadora conocida más adelante como Mark I. Utilizó 3 304 relés electromecánicos como interruptores de encendido-apagado. Terminada en 1944, una de sus primeras funciones fue crear las tablas balísticas para la artillería de la Marina. También se denomina "el sueño de Babbage hecho realidad"

John Von Neumann propuso en 1944 la idea de un "programa interno" y desarrolló su planteamiento teórico. Es lo que utilizamos hoy en día.

De cualquier manera, la Colossus fue diseñada para un sólo proyecto, así que la primera computadora electrónica es la ENIAC (Electronic Numerical Integrator and Calculator) que fue diseñada por W.Mauchly y J.Presper Eckert y entró en servicio en 1946. Supuso una enorme hazaña en la ingeniería de su época.

La ENIAC pesaba 30 toneladas. Estaba formada por 18 000 tubos de vacío, 70 000 resistores y 10 000 condensadores conectados por 800 km de cableado. Consumía 150 kW y realizaba 100 000 operaciones por segundo.

Eran tan grandes que, a modo de broma, se las llamaba ferreterías (Hardware) el cual se ha conservado. Los programas reciben, por el contrario, el nombre de Software.

El transistor (1948) revolucionó por completo el desarrollo de los ordenadores. Fue inventado por W. Shockey, J. Bardeen y W. Brattain, mientras trabajaban para la compañía Bell y por ello recibieron el Nobel de Física. Los tubos de vacío se estropeaban con facilidad y eran enormemente grandes. En el transistor, los elementos semiconductores (el Silicio y el Germanio) sustituyen los filamentos y electrodos, con lo que se reduce su tamaño y se aumenta su fiabilidad, reduciendo también el calor emitido.

En 1950 se crea la Prueba de Turing, que sirve para medir el nivel de inteligencia artificial de una máquina y aún hoy ningún ordenador ha logrado superar. En 1956 se crea el concepto de "inteligencia artificial".


jueves, 8 de noviembre de 2012

Primera etapa: Las calculadoras y los ordenadores mecánicos




PRIMERA ETAPA: LAS CALCULADORAS Y LOS ORDENADORES MECÁNICOS

El ordenador, no es un invento de alguien en particular, sino el resultado evolutivo de ideas y realizaciones de muchas personas relacionadas con áreas tales como la electrónica, la mecánica, los materiales semiconductores, la lógica, el álgebra y la programación.De todas formas, se pueden diferenciar tres etapas: La primera con el desarrollo de las calculadoras y los ordenadores mecánicos, la segunda con la definición de los conceptos fundamentales y las calculadoras electrónicas y la tercera con el nacimiento de los ordenadores modernos.

La primera calculadora mecánica conocida se llama "ábaco" y fue inventada en Babilonia hace unos 5000 años. Consiste en un sistema de barras y bolas móviles que permitía (y permite, pues aún hoy se utiliza) reaqlizar operacioones matemáticas rápidamente. También cabe destacar los nombres del matemático persa Musa Al-Juarismi (inventor del algoritmo) y John Napier (inventor del logaritmo). Hablaremos de ellos con más profundidad en uno de los anexos, titulado "Etapa 0: Los precursores"

De cualquier manera, hasta 1642 no se desarrolló ningún aparato mas complejo que el ábaco. Este no era otro que la pascalina, invento estrella de Blaise Pascal que, con solo 19 años creó esta calculadora mecánica. Explicaremos su funcionamiento:

 La pascalina es un mecanismo de dientes de engranaje interconectados en el que uno de los dientes, tras haber girado diez veces, mueve una posición el diente más próximo (decenas), el cual tras haber girado diez veces mueve una posición del de las centenas, y así sucesivamente. Su primer nombre fue "Máquina de Aritmética", después "La Rueda Pascalina" y finalmente "Pascalina". Sumaba y restaba números con total exactitud pero, desgraciadamente, fue un fracaso económico.

En 1604 Gottfried Liebniz perfecciona la calculadora de forma que pueda multiplicar y dividir, por lo que se le considera el padre de la calculadora de uso general. Mención especial merece la "rueda de Liebniz" que sustituyó a los engranajes. De cualquier manera, no se popularizó debido a su infiablilidad.

Otros personajes influjentes en la evolución de las calculadoras mecánicas merecen W.T Odhner, Dorr E.Felt, Franks S. Baldwin y Jay R.Monroe.

Charles Bahon inventó el "demostrador lógico" que resolvía silogismos y problemas de probabilidad.

Sea como fuere, el concepto de ordenador moderno no se creó hasta 1833 con Charles Babbage.  Por aquella época trabajaba en una máquina capaz de emplear el "método de las diferencias" para realizar cálculos logarítmicos. Intentó inventar un artefacto capaz de almacenar los resultados, y cuando lo consiguió la llamó "motor analítico".

Basada en los telares automáticos, constaba de todas las partes de un ordenador moderno:

* Dispositivos de entrada de información: tarjetas perforadas
* Almacén: memoria
* Motor: unidad de cálculo
* Unidad de control
* Dispositivos de salida.

Fue muy avanzado para su época, aunque no pudo finalizarse por por la inmensa cantidad de piezas que necesitava. Es considerado uno de los precursores del ordenador.

En 1889 Hermann Hollerith desarrolla una máquina que permitía almacenar, contar y comparar información almacenada en tarjetas perforadas. Esta máquina fue muy útil en 1890 en el censo de Nueva York

Ante aquél éxito, Hollerith fundó una empresa para producir máquinas de similares características. Tras diversas fusiones, la empresa se denominó (a partir de 1924 y hasta hoy en día) International Business Macine Corporation, o IBM, que es como la conocemos la mayoría de nosotros. Hizo de la maquinaria de tarjetas un negocio dominante, poseyendo casi el monopolio, hasta que una nueva generación las dejó obsoletas y la compañía tuvo que adaptarse a los nuevos tiempos.

Leonardo Torres Quevedo es también digno de mención. Este ingeniero de caminos español creó el primer esbozo de una máquina que jugaba al ajedrez. Estaba programada con las reglas del ajedrez, para resolver cualquier final de partida con torre y rey blancos contra rey negro. Torres construyó dos: una en 1912 y otra en 1920. Es una de las primeras manifestaciones de inteligencia artificial mediante la introcducción de un programa en una máquina.


martes, 6 de noviembre de 2012

Primeros conceptos



 PRIMEROS CONCEPTOS

Antes de comenzar con la evolución del hardware y software, antes de comenzar el desarrollo de la informática desde los primeros tiempos, los precursores de los aparatos que hoy conocemos (el ábaco griego como antepasado de las calculadoras modernas, etc) es vital que definamos qué es un ordenador, qué es la informática y sus componentes principales, para que más tarde cuando utilicemos estos términos no nos perdamos y podamos centrarnos en lo importante.
Vayamos, pues, con una ronda de definiciones:

Informática: Aquella disciplina encargada del estudio de métodos, procesos, técnicas, desarrollos y su utilización en ordenadores, con el fin de almacenar, procesar y transmitir información y datos.

Su origen proviene del francés, y es el acrónimo de las palabras INFORmation autoMATIQUE, es decir, información automática.

Otra manera de definirlo es la disciplina o ciencia que se encarga del tratamiento lógico de la información.

Ordenador: Máquina electrónica que recibe y procesa datos para convertirlos en información útil. Proviene del francés ordinateur, y este del latín ordinator. Es la principal herramienta de la informática.

Información: Conjunto de símbolos que representan hechos, objetos o ideas.

Hardware: Conjunto de dispositivos físicos que integran el ordenador
Software: Soporte lógico que permite utilizar el hardware.

Sistema binario: Sistema de numeración que tiene por base el 2 utilizando dos guarismos (0 y 1) para representar la información.

Bit: Unidad más pequeña de información representable. 0 o 1
Byte: Conjunto de 8 bits.
KiloByte: 1024 bits
MegaByte: 1024 KiloBytes
GigaByte: 1024 MegaBytes
TeraByte: 1024 GigaBytes.


Codigo ASCII: American Standard Code for Information Interchange. Código de caracteres basado en el alfabeto latino, tal como se usa en inglés moderno y en otras lenguas occidentales.


Una vez definidos estos conceptos básicos, podemos iniciar nuestro viaje en el tiempo a lo largo de la historia para ver cómo hemos logrado tener lo que tenemos, y un pequeño vistazo al futuro para imaginar lo que tendremos.