Richard P. Feynman. Conferencias sobre Computación.

junio 10, 2009

Editorial Crítica, 2003. 328 páginas.
Tit. Or. Feynman lectures on computation. Trad. Ignacio Zúñiga.

Richard P. Feynman, Conferencias sobre Computación
Maestro

Soy poco dado a la mitomanía, pero admiro mucho a Richard P. Feynman. Por su contribución a la física y por su persona, retratada admirablemente en los libros ¿Está usted de broma, Sr. Feynman? y su continuación ¿Qué te importa lo que piensen los demás?. No hace mucho pude ver la obra QED en el versus y se me puso la piel de gallina.

Por eso empecé este libro con aprensión. Muchas veces los expertos en un tema patinan cuando escriben sobre cosas que no son su especialidad. Fallo mío. Debería haber confiado más. El método de Feynman para enfrentarse a un problema del que no sabe nada es ir a lo básico y aprender todo de nuevo hasta que entiende el concepto. En este caso se nota que lo ha hecho, y bien.

A través de siete capítulos y un epílogo el autor nos hace una descripción exacta de los fundamentos de la computación. Desde cual es el funcionamiento físico de los circuitos hasta las bases de un computador cuántico, pasando por las máquinas de Turing y la teoría de la información. Todo lo que hace falta saber para entender el funcionamiento profundo de estas máquinas.

Datos que no han envejecido. Aunque en la informática la evolución es muy rápida, hay cosas que nunca cambian. El ordenador que está utilizando para leer esto usa la misma arquitectura Von Neumann que las primeras máquinas construídas. Los límites de lo computable se conocen aún antes de que se hubiera construído una computadora como hoy la conocemos, y las leyes de la física no van a cambiar en un futuro próximo.

El único defecto es que se extiende más en los apartados físicos entre los que se cuentan la construcción de circuitos con métodos que ya están obsoletos. Aún así es el mejor libro que he leído sobre el tema. Ojalá lo hubiera tenido cuando yo empecé la carrera, ya que me hubiera facilitado el entendimiento de muchos conceptos.

Imprescindible para informáticos en ciernes.

Descarga otros libros del autor (en inglés):

Feynmann – Feynman Lectures On Physics, Complete Volumes.pdf
Richard Feynmann – Surely you’re joking, Mr.Feynmann.pdf


Extracto:[-]

Seamos un poco abstractos por un momento y preguntémonos-¿cómo se conectan qué conjunto de elementos para que hagan la mayor parte de las cosas? Ésta es una pregunta profunda cuya respuesta es, de nuevo, que hasta cierto punto no importa. Una vez que se tiene un computador que puede hacer unas cuantas cosas —estrictamente hablando, uno que tiene un «conjunto suficiente» de procedimientos básicos—ese computador puede hacer básicamente lo mismo que cualquier otro. Esto es vagamente la base del gran principio de «universalidad». «¡Ah! —gritas—. ¡Mi calculadora de bolsillo no puede simular las manchas rojas de Júpiter como un conjunto de supercomputadores Cray!» Pues sí, sí puede: habría que modificar algunos circuitos, tendríamos que añadirle memoria y sería terriblemente lento, pero si se espera lo suficiente podría reproducir cualquier cosa que los Crays puedan hacer. En general, supongamos que tenemos dos computadores, A y B. y que sabemos todo acerca de A, la forma en que trabaja, sus «reglas de transición entre estados» y cosas así. Supongamos que el computador B es capaz simplemente de describir el estado de A. Entonces podemos utilizar B para simular el proceso de A describiendo sus transiciones sucesivas; en otras palabras, B imitará a A. Podrá tardar una eternidad si B es muy elemental y A muy sofisticado, pero al final podrá hacer todo lo que haga A. Más adelante en el curso demostraremos esta afirmación diseñando tal computador B, conocido como la máquina de Turing.

Veamos la universalidad de otra forma. El lenguaje nos proporciona una útil fuente de analogías. Dejadme que os pregunte esto: ¿cuál es el mejor lenguaje para describir algo? Digamos, un vehículo de gasolina de cuatro ruedas. Desde luego, la mayoría de las lenguas, al menos en Occidente, tienen una palabra sencilla para ello: nosotros decimos «automóvil», en inglés se dice «car», en francés «voiture», y así sucesivamente-Sin embargo, habrá algunos idiomas en los que no se haya creado una palabra para el «automóvil», y los que hablen en ese idioma tendrán que recurrir a una descripción seguramente larga y complicada utilizando elementos lingüísticos básicos. Ninguna de estas dos descripciones es intrínsecamente «mejor» que la otra, porque ambas cumplen su cometido v sólo se distinguen por su eficiencia. No tenemos por qué introducir la democracia al nivel de las palabras; podemos bajar a ras de los alfabetos. Cuál es, por ejemplo, el mejor alfabeto para la lengua inglesa? Es decir, • por qué tenemos que quedarnos con las 26 letras usuales? Todo lo que Se puede hacer con éstas, se puede hacer sólo con tres símbolos —punto, raya y espacio del código Morse; o dos— un cifrador baconiano que representa desde la A hasta la Z con números binarios de cinco dígitos. Vemos, pues, que podemos elegir nuestro conjunto básico de elementos con mucha libertad y nuestra elección realmente afecta a la eficiencia de nuestro lenguaje y, por lo tanto, al tamaño de nuestros libros: no existe el «mejor» lenguaje o alfabeto —cada uno es lógicamente universal y cada uno puede imitar a los demás—. Volviendo a la computación, la universalidad establece, de hecho, que el conjunto de tareas complicadas que se pueden realizar utilizando un conjunto «suficiente» de procedimientos básicos es independiente de la estructura específica y detallada del conjunto básico.

Para que los computadores actuales realicen una tarea compleja necesitamos una descripción precisa y completa de cómo realizar esa tarea en términos de una secuencia de procedimientos básicos sencillos —el software— y necesitamos una máquina para que realice esos procedimientos en un orden específico —esto es, el «hardware»—. Estas instrucciones tienen que ser exactas y sin ambigüedad. Las personas no tienen que decirse unas a otras exactamente lo que quieren expresar; no es necesario porque el contexto, el lenguaje corporal, la familiaridad con el interlocutor y demás recursos nos permiten «llenar los huecos» y resolver cualquier ambigüedad en lo que queremos decir. Los computadores, sin embargo, aún no son capaces de «seguir» lo que se está diciendo de la torma que lo hace una persona. A éstos hay que decirles escrupulosamente todos los detalles de lo que tienen que hacer. Quizá algún día las maquinas sean capaces de entender descripciones aproximadas de tarcas, Pero mientras tanto tenemos que ser muy quisquillosos acerca de cómo le decimos a los computadores que hagan las cosas.

4 comentarios

  • MeZKaL junio 10, 2009en4:48 pm

    «y las leyes de la física no van a cambiar en un futuro próximo»

    Nunca se sabe… cualquier día alguien falsea las leyes de la termodinámica y empezamos a ver fantasmas por ahí XD

  • Palimp junio 10, 2009en6:53 pm

    ¡Hombre! Es que si no se cumple el principio de conservación de la energía puede pasar cualquier cosa 🙂

  • Mithdraug junio 11, 2009en9:38 pm

    Sus «Seis piezas fáciles» me encantaron, así que tomo buena nota del libro, que imagino que será divertido para informáticos no tan en ciernes 😉

    Gracias por la recomendación.

  • panta junio 15, 2009en5:09 pm

    Impagables los enlaces a sus libros.
    Gracias

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.