Editorial CrÃtica, 2003. 328 páginas.
Tit. Or. Feynman lectures on computation. Trad. Ignacio Zúñiga.
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
«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
¡Hombre! Es que si no se cumple el principio de conservación de la energÃa puede pasar cualquier cosa 🙂
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.
Impagables los enlaces a sus libros.
Gracias