Tuesday, December 31, 2019

Maurice V. Wilkes . Premio Turing ACM 1967

Maurice V. Wilkes ACM Turing Award 1967:
Traducción del texto de presentación del Premio Turing 
https://amturing.acm.org/award_winners/wilkes_1001395.cfm

(Dió el curso en Cambridge al que asistió EW Dijkstra en el verano de 1951) 




CITACIÓN
     El profesor Wilkes es mejor conocido como el constructor y diseñador de EDSAC, la primera computadora con un programa almacenado internamente. Construido en 1949, el EDSAC utilizó una memoria de línea de retardo de mercurio. También es conocido como el autor, con Wheeler y Gill, de un volumen sobre "Preparación de programas para computadoras digitales electrónicas" en 1951, en el que se introdujeron efectivamente las bibliotecas de programas.





 
     Maurice Vincent Wilkes nació el 26 de junio de 1913 en Dudley, en el condado de Staffordshire, en las Midlands inglesas. Su padre era un oficial financiero de la herencia del conde de Dudley, que tenía amplios intereses mineros. Su madre era ama de casa. Fue educado en la King Edward VI Grammar School, Stourbridge. En su adolescencia, construyó conjuntos de cristal, leyó Wireless World y, finalmente, obtuvo una licencia de radioaficionado, una experiencia que resultó útil cuando se trataba de construir computadoras electrónicas dos décadas después. Ingresó en St Johns College, Universidad de Cambridge, en 1931, donde era lector de matemáticas.
 
      En octubre de 1935 se convirtió en estudiante de investigación en el Laboratorio Cavendish, Universidad de Cambridge, trabajando en la propagación de ondas de radio largas. La primavera siguiente, asistió a una conferencia de Douglas Hartree, experto en informática y profesor de física matemática en la Universidad de Manchester. Hartree describió el "analizador diferencial" inventado por Vannevar Bush en el MIT. Esta era una máquina de computación analógica para la integración de ecuaciones diferenciales. Hartree había construido un analizador diferencial modelo de Meccano (un juguete de construcción británico similar al American Erector Set), que resultó sorprendentemente útil. Una copia de esta máquina fue construida en Cambridge bajo la dirección de John Lennard-Jones, profesor de química teórica, y Wilkes se convirtió en un usuario entusiasta. A principios de 1937, la Universidad estableció un Laboratorio de Computación bajo la dirección de Lennard-Jones, y Wilkes fue nombrado director asistente desde octubre de 1937.



 Maurice Wilkes (a la derecha) con el Meccano differential analyser 
en el Laboratorio de Matemáticas de la Universidad de Cambridge, 1937.


     Al estallar la guerra, el Laboratorio de Computación fue tomado por los militares. Wilkes se unió al esfuerzo de guerra científica y trabajó en investigaciones de radar y operaciones. Esto le dio una base ideal y una red de contactos para construir computadoras después de la guerra.

     En octubre de 1945, Wilkes regresó a Cambridge para hacerse cargo de lo que ahora se llamaba el Laboratorio de Matemáticas. En mayo de 1946, fue visitado por LJ Comrie, un pionero en computación mecánica, quien trajo consigo una copia del primer borrador de un informe sobre el EDVAC escrito por John von Neumann, que resume las deliberaciones del grupo de computadoras en la Escuela Moore de Ingeniería Eléctrica, Universidad de Pennsylvania. La Escuela Moore acababa de completar el ENIAC, la primera computadora electrónica del mundo para cálculos de defensa, y el EDVAC fue el diseño de una máquina de seguimiento. Wilkes nunca antes había visto el informe y se quedó despierto hasta altas horas de la noche leyéndolo. Lo reconoció de inmediato como "lo real" y decidió que el laboratorio tenía que tener uno. 

     Más tarde, en 1946, Wilkes fue invitado a asistir a una escuela de verano en diseño de computadoras organizada por la Moore School. Debido a las dificultades para obtener un pasaje transatlántico, no llegó al curso hasta mediados de agosto, momento en el que había perdido más de la mitad. Rara vez con poca confianza, Wilkes decidió que no había perdido mucha importancia. Navegando a casa en el Queen Mary, comenzó el diseño de una máquina que llamó la Calculadora automática de almacenamiento electrónico de retardo - EDSAC para abreviar, un acrónimo elegido conscientemente como un tributo al EDVAC.

     El trabajo comenzó a construir el EDSAC a principios de 1947. Casi todo tenía que hacerse desde cero: tecnología de memoria, aritmética y lógica electrónica, y circuitos de control. La Universidad de Cambridge estaba en el centro de la informática del Reino Unido en este momento, en parte debido a los coloquios quincenales que Wilkes estableció, a los que asistieron miembros de casi todos los proyectos informáticos del país.

     El EDSAC nació el 6 de mayo de 1949, la primera computadora electrónica de programas almacenados práctica del mundo. La Universidad de Manchester llegó allí por primera vez en junio de 1948 con una máquina experimental, pero el EDSAC fue el primero capaz de ejecutar programas realistas. A principios de 1950, el Laboratorio estaba ofreciendo un servicio informático regular.




"La preparación de programas para una computadora digital electrónica - 1951 "
(Posiblemente el primer libro de ciencias de la computación)
     
Wilkes decidió que el Laboratorio se especializaría en programación en lugar de construir computadoras. Quizás fue la primera persona en reconocer que lo que ahora llamamos software (un término que no se usó hasta alrededor de 1960) demostraría ser una búsqueda académica valiosa. Asignó el diseño del sistema de programación EDSAC a un estudiante de investigación David Wheeler (más tarde profesor de informática en Cambridge). El sistema que Wheeler creó fue un tour de force que fue admirado en todo el mundo. En 1951, Wilkes publicó las técnicas como el primer libro de texto sobre programación La preparación de programas para una computadora digital electrónica, aunque el libro era conocido generalmente por sus tres autores como "Wilkes, Wheeler and Gill" o WWG para abreviar. El tercer autor, Stanley Gill, fue otro joven investigador que más tarde se convirtió en una figura importante en la informática británica hasta su prematura muerte en 1975.




 Maurice Wilkes and Bill Renwick frente al EDSAC



     EDSAC pronto se cargó a su máxima capacidad, y se trazaron planes para un sucesor, EDSAC 2. A Wilkes se le ocurrió un nuevo principio de diseño, al que llamó microprogramación, que simplificó enormemente el diseño lógico de la nueva computadora. La microprogramación fue la contribución científica más importante de Wilkes a la informática, y si no hubiera hecho nada más, sería famoso por eso . A principios de la década de 1960, IBM basó sus computadoras System / 360 en todo el mundo en torno a la idea, y sigue siendo una piedra angular de la arquitectura de la computadora.

     Wilkes fue nombrado profesor de tecnología informática en Cambridge en 1965. Siguió siendo director del Laboratorio de Computación (el nombre fue cambiado del Laboratorio de Matemáticas en 1970) hasta que alcanzó la edad legal de jubilación de 67 años en 1980. Su mandato había visto evolucionar las computadoras a partir de instrumentos científicos para máquinas de procesamiento de información que fueron la base de una industria mundial. El Laboratorio se mantuvo al día con las tendencias cambiantes, principalmente en ingeniería informática, desarrollando sistemas de tiempo compartido en la década de 1960 y redes de computadoras en la década de 1970. Wilkes era muy bueno para mantenerse al día con las tendencias tecnológicas y para evitar que tanto él como el laboratorio quedaran atrapados en modas de investigación.

     La prominencia de Cambridge y la confianza de Wilkes llevaron a un flujo constante de invitaciones para dar conferencias y participar en comités internacionales. Jugó un papel influyente en la promoción de la informática en Gran Bretaña, fue elegido miembro de la Royal Society en 1956, se convirtió en presidente inaugural de la British Computer Society en 1957 y se desempeñó como representante británico de la Federación Internacional de Sociedades de Procesamiento de Información.

     Wilkes recibió muchos premios y honores académicos. Además del Premio ACM Turing en 1967, recibió el Premio Harry H. Goode Memorial del IEEE en 1968, el Premio McDowell de la IEEE Computer Society en 1981 y la Medalla Faraday de la Institución de Ingenieros Eléctricos también en 1981. En 1992 fue el primer ganador del Premio de Kyoto. Recibió doctorados honorarios de varias universidades, incluida su alma mater, la Universidad de Cambridge. Fue nombrado caballero en 2000.

     Después de su retiro de la Universidad de Cambridge en 1980, asumió el cargo de ingeniero consultor en la Digital Equipment Corporation en Maynard, Massachusetts. En 1986 regresó a Cambridge, donde se convirtió en miembro de la junta de los Laboratorios de Investigación Olivetti-AT & T. Como profesor emérito, mantuvo una estrecha asociación con el Laboratorio de Computación hasta los últimos meses de esta vida. Wilkes estaba profundamente interesado en la historia de su tema. Hizo un estudio de Charles Babbage y escribió varios artículos importantes sobre el pionero de la informática y su entorno.

Wilkes murió en Cambridge, el 29 de noviembre de 2010. Se casó con Nina Tyman en 1948, que murió antes que él. Tenían un hijo y dos hijas.




 Maurice Wilkes inspeccionando
la delay line de mercurio del
EDSAC en construcción



 Author: Martin Campbell-Kelly


Monday, December 30, 2019

Llenguatges de Programació per nens: del LOGO al SCRATCH

Llenguatges de Programació per nens: del LOGO al SCRATCH
De Seymour Papert a Mitchel Resnick 

Per Maurici Carbó:

     Quan Seymour Papert era un nen i anava a l'escola eren els voltants dels anys 40 i li agradaven molt els cotxes i sobretot la seva mecànica i tots els engranatges, i especialment el complicat engranatge anomenat diferencial.

      Quan va estudiar matemàtiques a l'escola, al jove Seymour la seva afició el va ajudar a entendre les matemàtiques: les imaginava com a engranatges i com a relacions entre ells. I va estar molt content tota la vida de la seva interpretació personal de les matemàtiques.

      El Diferencial es l'engranatge que transmet la força del motor a les rodes i que permet que a les corbes la roda de fora faci un recorregut més llarg que la de dins. Agafant el mecanisme al revés, podriem imaginar el Diferencial com una màquina de sumar les voltes de cada roda a l'eix principal del vehicle. Una volta sencera de les dues rodes podria resultar en dues voltes de l'eix principal. Una volta d'una roda en un sentit i de l'altra en sentit contrari podria resultar en un eix principal que no dona cap volta. 

 
Mecanisme Diferencial d'un vehicle.


      Aquesta enginyosa combinació d'engranatges va arribar a ser la base dels primers ordinadors mecànics del món. Des de la màquina de Charles Babbage i Ada Lovelace, fins a la màquina diferencial de Vannevar Bush.
Seymour Papert va estudiar filosofia i matemàtiques i es va doctorar en matemàtiques. Els anys 58-63 va treballar amb Jean Piaget, un psicòleg especialitzat en el desenvolupament de l'aprenentatge dels nens.

      En aquell moment, ja s'havia treballat molt en el desenvolupament d'eines informàtiques per a l'ensenyament de les matemátiques. Pero totes aquestes eines només insistien en aspectes del currículum de les escoles, i automatizar els llibres d'exercicis i problemes i pretendre substituir el professor i la correcció d'exercicis.


MarvinL. Minsky – Seymour Papert


      Un cop als Estats Units, va entrar al MIT, on juntament amb d'altres i amb l'amistat de Marvin Minsky, va desenvolupar el llenguatge d'ordinador per a nens anomenat LOGO, i va explicar totes les seves idees i suggeriments sobre l'aprenentatge i el paper del nou llenguatge al llibre “Mindstorms”.

      Papert entenia els nous ordinadors com a màquines matemàtiques, que podrien ser una bona eina per evitar el que ja aleshores se'n deia la “matemafòbia”, aquesta mena de reacció que fa que molta gent es senti exclosa per tota la vida de les matemàtiques a partir d'un punt en l'aprenentatge. Però no va pensar que el seu nou llenguatge servis per a millorar els exercicis que s'acostumen a fer a l'escola.

      Seymour Papert va pensar en un llenguatge que servís per a controlar els moviments d'un punt, en forma de tortuga. Com si es teledirigís els moviments de traslació i girs d'una tortuga imaginària a base d'ordres. I sempre pensant en les teories d'aprenentatge de Piaget, i la idea de que l'aprenentatge no és una cosa absolutament lògica i ben estructurada sinó un recorregut en el que de mica en mica anem corregint i contrastant amb la realitat moltes idees preconcebudes o intuïtives que no són prou acurades. 

 

      La idea central del LOGO, no és només fer moure una tortuga amb ordres precises. Té a veure en com es poden estructurar aquests moviments, i anar agafant conceptes com la velocitat o l'acceleració afegint capes i més capes als raonaments més elementals.

      A la vegada van pensar que segurament el millor lloc on es podria ensenyar els nens a programar en LOGO, no és l'escola. Si no fora d'ella. I es va inspirar en les escoles de Samba del Brasil. Amb uns mestres presents però que només intervenen quan se li pregunten coses. En un ambient de col·laboració. I semblant a la estructura de les organitzacions de cultura popular amb uns mestres que actuen més com a antropòlegs que com a mestres.



 Claude Shannon: Juggling

      I a més de l'exemple de la Samba, Papert posa l'exemple de l'aprenentatge del malabarisme. Un tema que també interessava molt a Claude Shannon, una de les persones importants en el desenvolupament de la informàtica. Tots ells intuïen que les habilitats necessaries per a programar ordinadors constutuïen un repte d'alguna manera semblant a la de transmetre els coneixements per a fer malabarismes.


Juggling: 3-Ball Cascade
Per més detalls, mirar: 


       El el mecanisme del malabarisme que consisteix en mantenir 3 boles en constant canvi de mans, es podria resumir en:
“Quan la bola que vola cau cap a la dreta, llençar cap amunt la bola de la ma dreta, i quan la bola cau cap a l'esquerra, llençar cap amunt la bola de l'esquerra”. 


  

     Seguint la mateixa filosofia de Seymour Papert, i despres d'alguns altres intents com el 'Squeak' i veient la dificultat que té l'us d'eines con el Flash per a fer animacions, i amb l'afegit dels objectes informàtics de la Programació Orientada a Objectes, el Scratch dirigit per Mitchel Resnick va ser una combinació molt més sofisticada que el Logo, però intentant rebaixar el nivell d'entrada per aconseguir que el màxim nombre de nens es puguin fer el màxim de coses amb la nova eina.

Mitchel Resnick 

Com s'ha arribat fins a la Programació Orientada a Objectes?

Com s'ha arribat fins a la Programació Orientada a Objectes?
Per. Maurici Carbó



       Estem rodejats d'ordinadors, telèfons i tauletes. Aquests aparells realment són petits computadors que també n'hi diem maquinari (hardware en anglès) i funcionen dirigits per un programari (software en anglès) i ho considerem una cosa de la vida de cada dia.

      Però tot això és molt nou. Els fets més importants han passat els darrers anys: a partir de 1970, no s'ha inventat a casa nostra, i gairebé no ens n'hem assabentat de res, ni tampoc sabem com hem arribat fins aquí. Això és el que voldria explicar aquí.

      Tot ve de la necessitat de l'ésser humà des dels temps més antics de preveure què passarà, i quan passarà en el futur. Tan per a poder situar-se al món com per construir calendaris precisos.

      Els antics Grecs ja van construir les primeres màquines amb engranatges per a preveure la situació previsible del sol, la lluna els planetes i les estrelles al cel en una data concreta. L'exemple més conegut i sorprenent per la seva antiguitat és l'Anticitera.

Anticitera (de l'any 100 aC):



Reconstrucció dels mecanismes de l'Anticitera

      I al llarg de la Història es van anar fent màquines cada cop més complicades per a poder preveure fets cada cop més detallats: Per exemple, per preveure les marees. Són les màquines d'anàl·lisi harmònic. 
 Màquina d'Anal·lisi Harmònic
Tide Predicting Machine nº2:



En la màquina anterior a aquesta, s'entraven les dades amb unes targetes perforades que eren les mateixes que usaven els telers Jacquard.


  Charles Babbage


Ada Lovelace



 

Per això una de les frases més famoses de Ada Lovelace és:
La Màquina Analítica teixeix patrons algebraics de la mateixa manera que el teler Jacquard teixeix flors i fulles”. (Ada Lovelace)


Teler Jacquard: Teixit i fitxes perforades.

Carta d'agraïment de Charles Babbage a Ada Lovelace 
per la feina que havia fet amb la màquina analítica.  Ell li diu a ella: 
Forget this world and all its troubles and if possible 
its multitudinous Charlatans—every thing 
in short but the Enchantress of Number ” 
(Encantadora de números)




     La màquina més famosa que es conserva encara de tot aquets temps és la “Màquina Diferencial” de Charles Babbage i Ada Lovelace. I aquí per primer cop es va veure que per a fer anar aquestes màquines es necessitaven dos oficis diferents: Construir la màquina, que va ser el que va fer Charles Babbage, i fer-la funcionar, que va ser la feina que va fer Ada Lovelace. El producte del treball dels dos va ser la impressió de llibres de llistats logaritmes que en aquella època eren imprescindibles per a calcular-ho tot.
I al Segle XX, a la Segona Guerra Mundial va sorgir un nou repte: saber què farien els exèrcits enemics espiant i decodificant els seus missatges secrets encriptats amb una màquina (la màquina Enigma). Treballant inicialment a mà, Alan Turing i tot l'equip de Bletchley Park (a Buckingamshire UK), van construir una màquina anomenada “Bombe” que va aconseguir desxifrar els missatges secrets de l'Enemic. Però tot i amb aquest èxit, el més important que va fer Alan Turing va ser entendre que algun dia hi podria haver una màquina que podés fer qualsevol càlcul sense haver-la de fer a mida per a cada problema. Això el converteix en el fundador del la Ciència de les Computadores.



 Code Breakers” de Bletchley Park





      Totes les màquines que s'havien fet fins aleshores eren dedicades a fer una feina concreta que començava i s'acabava. Però al pensar en màquines generals, el que ara se'n diuen “Màquines de Turing” el primer que va preocupar a Turing va ser saber abans de començar si per a fer un càlcul qualsevol, la màquina s'acabaria parant i donant un resultat, o no: Va deduïr que una màquina de les seves no podria saber mai això abans.



Funcionament d'una màquina de Turing.
(amb el programa anomenat: el Castor ocupat)

      Una màquina de Turing és l'equivalent a qualsevol computador que es pugui construir. Però és només un experiment mental que dona la imatge més senzilla possible d'una computadora. I que a la vegada ben programada seria capaç de fer el que faci qualsevol d'elles. És només una cinta infinita en la que un capçal pot anar escrivint i esborrant uns i zeros seguint unes regles preestablertes: Un programa.
Un cop establert el que havia de ser una computadora equivalent a la de Turing, als anys 1950 es van construir moltes màquines d'aquestes arreu del Món. Però els primers èxits que van tenir ressò es van aconseguir a Holanda, on es va construir la màquina ARMAC (1956) i Electrologica X1 amb l'assessorament de EW Dijkstra que va poder fer una demostració en públic del seu algorisme per a Trobar el camí més curt entre dues ciutats de les 64 més importants d'Holanda fet amb el llenguatge per a computadores anomenat ALGOL que Dijkstra va ajudar a crear (publicat el 1959). 



 Edsger Dijkstra (a l'esquerra) 1953 a Amsterdam


     I aleshores es va entrar en la primera explosió de la informàtica. Una batalla impossible per a controlar unes màquines cada cop més grans poderoses i ràpides, i que de vegades paraven sense avisar i els seus programadors amb les mateixes eines que al principi, clamant per assolir una major abstracció: La dificultat del desenvolupament de programes creixia amb la dimensió dels programes i de les màquines.

(Desenvolupant els Objectes per a SIMULA language)


      Cap al 1968 dos noruecs Dahl i Nygaard van inventar els Objectes, quan desenvolupaven un llenguatge de Computadora que es va dir 'SIMULA' pensat per a fer simulacions de física. 




     El 1972 es va publicar el llibre "Structured Programming" escrit per EW Dijkstra Ole-Johan Dahl i C.A.R Hoare.
 
      Finalment, als Estats Units i sota el marc de la investigació en Intel·ligència Artificial al MIT dirigit per Minsky, va produïr els primers processadors de text i es van fer els darrer passos: El Principi de Substitució de Liskov, Que va funcionar per primer cop el 1978 al llenguatge CLU. en referència a la seva autora: Barbara Liskov, autora que posteriorment va fonamentar també la computació distribuïda com a diàleg entre objectes.

 
BarbaraLiskov (Autora de: The Liskov Substitution Principle) 
 
      La combinació dels primers llenguatges d'Ordinador estructurats, amb els Objectes dels noruecs que van desenvolupar el SIMULA, i el Principi de Substitució de Liskov i el diàleg entre objectes de la Computació distribuida van ser el fonament de les abstraccions necessaries per a arribar al que son ara els llenguatges de programació de computadores (Java, C++, C# etc.) i van fer possible tota la complexitat que ha arribat a tenir l'internet actualment. És el que s'anomena Programació Orientada a Objectes.

Sunday, December 29, 2019

Pensamiento Creativo. por Claude Shannon 1952

“Creative Thinking” by Claude Shannon 
https://jamesclear.com/great-speeches/creative-thinking-by-claude-shannon  
http://www1.ece.neu.edu/~naderi/Claude%20Shannon.html

Claude Shannon at Bell Lab. March 20, 1952


Pensamiento Creativo
Por Claude Shannon 

Introducción:

La mayoría de la gente nunca ha oído nunca su nombre, pero Claude Shannon fue uno de los pensadores más influyentes del siglo XX. Esta charla se pronunció el 20 de marzo de 1952 en las oficinas de Bell Labs como parte de una serie de conferencias internas.


Conferencia de Claude Shannon:

Un porcentaje muy pequeño de la población produce la mayor proporción de las ideas importantes. Esto es similar a una idea presentada por un matemático inglés, Turing, dijo que el cerebro humano es algo así como un trozo de uranio. El cerebro humano, si está por debajo de la masa crítica y le disparas un neutrón, se producirán más por impacto. Pero esto conduce a un problema extremadamente explosivo, al aumentar la cantidad de uranio. Turing dice que esto es algo así como ideas en el cerebro humano. Hay algunas personas a las que si les disparas una idea al cerebro, y obtendrás media idea. Hay otras personas que están más allá de este punto en el que producen dos ideas para cada idea enviada. Esas son las personas más allá de la curva. No quiero parecer egoísta aquí, no creo que yo esté más allá de esta curva y no conozco a nadie que lo esté. Conozco algunas personas que lo fueron. Creo, por ejemplo, que cualquiera estará de acuerdo en que Isaac Newton estaría bien en la cima de esta curva. Cuando piensas que a la edad de 25 años había producido suficiente ciencia, física y matemáticas para hacer famosos a 10 o 20 hombres, produjo teorema binomial, cálculo diferencial e integral, leyes de gravitación, leyes de movimiento, descomposición de la luz blanca y pronto. Ahora, ¿qué es lo que dispara uno a esta parte de la curva? ¿Cuáles son los requisitos básicos? Creo que podríamos establecer tres cosas que son bastante necesarias para la investigación científica o para cualquier tipo de invención, matemática, física o cualquier otra cosa en ese sentido. No creo que una persona pueda llegar muy lejos sin ninguno de estas tres.

La primera es obvia: capacitación y experiencia. No esperes que un abogado, por brillante que sea, te dé una nueva teoría de la física o de matemáticas o de ingeniería.

La segunda es una cierta cantidad de inteligencia o talento. En otras palabras, debe tener un coeficiente intelectual bastante alto para realizar un buen trabajo de investigación. No creo que haya ningún buen ingeniero o científico que pueda llevarse bien con una inteligencia escasa. En otras palabras, debe tener inteligencia suficiente. Todos en esta sala de Bell Labs están considerablemente por encima de eso. Esto, podríamos decir, es una cuestión de medio ambiente.  [[1] NT texto ligeramente modificado del original]


Esas dos no creo que sean suficientes. Creo que hay un tercer componente aquí, un tercer componente que es el que hace un Einstein o un Isaac Newton. A falta de una palabra mejor, lo llamaremos motivación. En otras palabras, debe tener algún tipo de impulso, algún tipo de deseo de encontrar la respuesta, un deseo de averiguar qué hace que las cosas funcionen. Si no tiene eso, puede tener toda la capacitación e inteligencia del mundo, pero no tiene preguntas y no encontrará respuestas. Esto es algo difícil de identificar. Es una cuestión de temperamento probablemente; es decir, una cuestión de probablemente entrenamiento temprano, experiencias de la primera infancia, que motivarán en la dirección de la investigación científica. Creo que en un nivel superficial, es un uso combinado de varias cosas. Este no es un intento de análisis profundo, pero creo que un buen científico tiene mucho de lo que podemos llamar curiosidad. No profundizaré más en eso. Quiere saber las respuestas. Simplemente siente curiosidad por cómo funcionan las cosas y quiere saber las respuestas a las preguntas; y si ve, piensa, quiere hacer preguntas y quiere saber las respuestas a esas preguntas.

Luego está la idea de insatisfacción. Con esto no me refiero a una insatisfacción pesimista del mundo, no nos gusta cómo son las cosas, me refiero a una insatisfacción constructiva. La idea podría expresarse en las palabras: "Esto está bien, pero creo que las cosas podrían hacerse mejor. Creo que hay una forma más ordenada de hacer esto. Creo que las cosas podrían mejorarse un poco ". En otras palabras, continuamente hay una ligera irritación cuando las cosas no se ven del todo bien; y creo que la insatisfacción en los días actuales es una fuerza impulsora clave en los buenos científicos.

Y otra cosa que pondría aquí es el placer de ver resultados netos o métodos para llegar a los resultados necesarios, diseños de ingenieros, equipos, etc. Obtengo uha gran recompensa al proporcionar un teorema. Si he estado tratando de probar un teorema matemático durante una semana más o menos y finalmente encuentro la solución, obtengo una gran explosión. Y me encanta ver una forma inteligente de resolver un problema de ingeniería, un diseño inteligente para un circuito que utiliza una cantidad muy pequeña de equipo y aparentemente obtiene un gran resultado. Creo que, en lo que respecta a la motivación, es tal vez un poco como Fats Waller dijo sobre la música swing: "o lo entendiste o no". Si no lo tienes, probablemente no deberías investigar si no quieres saber ese tipo de respuesta. Aunque las personas sin este tipo de motivación podrían tener mucho éxito en otros campos, el investigador probablemente debería tener un impulso extremadamente fuerte para querer encontrar las respuestas, un impulso tan fuerte que no le importa si son las cinco en punto. Está dispuesto a trabajar toda la noche para encontrar las respuestas y todo el fin de semana si es necesario. Bueno, ahora todo está bien, pero suponiendo que una persona tenga estas tres propiedades en un grado suficiente para ser útil, ¿hay algún truco, algún truco que pueda aplicar al pensamiento que realmente ayude en el trabajo creativo, para obtener el respuestas en el trabajo de investigación, en general, en la búsqueda de respuestas a problemas? Creo que hay, y creo que pueden catalogarse hasta cierto punto. Puedo hacer una lista de ellos y creo que serían muy útiles si uno lo hiciera, así que voy a dar algunos de ellos que he pensado o que la gente me ha sugerido. Y creo que si uno aplicara esto conscientemente a varios problemas que tuviera que resolver, en muchos casos encontraría soluciones más rápido de lo que normalmente lo haría o en casos en los que no pudiera encontrarlo. Creo que los buenos investigadores aplican estas cosas inconscientemente; es decir, hacen estas cosas automáticamente y si surgieran en el pensamiento consciente de que aquí hay una situación en la que probaría este método de enfoque que probablemente llegaría más rápido, aunque no puedo documentar esta declaración. 

Lo primero de lo que podría hablar es de la idea de la simplificación. Supongamos que tiene un problema que resolver, no me importa qué tipo de problema: una máquina para diseñar, una teoría física para desarrollar, o un teorema matemático para demostrar, o algo por el estilo, probablemente un muy poderoso enfoque para esto es intentar eliminar todo del problema, excepto lo esencial; es decir, cortarlo a medida. Casi todos los problemas con los que uno se encuentra están confundidos con todo tipo de datos extraños de un tipo u otro; y si puede reducir este problema a los problemas principales, puede ver con mayor claridad lo que está tratando de hacer y tal vez encontrar una solución. Ahora, al hacerlo, es posible que haya eliminado el problema que busca. Es posible que lo haya simplificado hasta el punto de que ni siquiera se parece al problema con el que comenzó; pero muy a menudo si puede resolver este problema simple, puede agregar mejoras a la solución de este hasta que vuelva a la solución con la que comenzó.

Un dispositivo muy similar busca problemas conocidos similares. Creo que podría ilustrar esto esquemáticamente de esta manera. Tiene un problema P aquí y hay una solución S que aún no conoce, tal vez por aquí. Si tiene experiencia en el campo representado, en el que está trabajando, tal vez conozca un problema similar, llámelo P ', que ya se ha resuelto y que tiene una solución, S', todo lo que necesita hacer - todo lo que tiene que hacer es encontrar la analogía de P' a P y la misma analogía de S' a S para volver a la solución del problema dado. Esta es la razón por la cual la experiencia en un campo es tan importante que si tiene experiencia en él, sabrá miles de problemas que se han resuelto. Su matriz mental se llenará con P' y S' sin conectar aquí y puede encontrar una que sea tolerablemente cercana a la P que está tratando de resolver y pasar a la S 'correspondiente para volver a la S que está buscando . Parece ser mucho más fácil hacer dos saltos pequeños que el gran salto en cualquier tipo de pensamiento mental. 

Otro enfoque para un problema dado es tratar de reformularlo en tantas formas diferentes como sea posible. Cambiar las palabras. Cambiar el punto de vista. Mírarlo desde todos los ángulos posibles. Una vez que se haya hecho eso, puede tratar de verlo desde varios ángulos al mismo tiempo y tal vez pueda obtener una idea de los problemas básicos reales del problema, para que pueda correlacionar los factores importantes y salir con la solución. Realmente es difícil hacer esto, pero es importante hacerlo. Si no se hace, es muy fácil entrar en rutinas de pensamiento mental. Empiezas con un problema aquí y rodeas un círculo aquí y si solo pudieras llegar a este punto, tal vez verías tu camino despejado; pero no puedes liberarte de ciertos bloqueos mentales que te retienen en ciertas formas de ver un problema. Esa es la razón por la cual, con frecuencia, alguien que está bastante verde ante un problema a veces entra y lo mira y encuentra la solución de esa forma, mientras otro que ha estado trabajando durante meses está estancado. Aquí el otro se ha metido en algunas rutinas de pensamiento mental y alguien más entra y lo ve todo desde un nuevo punto de vista. 

Otro truco mental para ayudar en el trabajo de investigación, creo, es la idea de la generalización. Esto es muy poderoso en la investigación matemática. La típica teoría matemática se desarrolló de la siguiente manera para probar un resultado muy aislado, especial, un teorema particular: siempre aparece alguien y comienza a generalizarlo. Lo dejará donde estaba en dos dimensiones antes de hacerlo en N dimensiones; o si fue en algún tipo de álgebra, trabajará en un campo algebraico general; si estaba en el campo de los números reales, lo cambiará a un campo algebraico general o algo por el estilo. En realidad, esto es bastante fácil de hacer si te acuerdas de hacerlo. Si en el momento en que encuentra una respuesta a algo, lo siguiente que debe hacer es preguntarse si puede generalizar esto más: ¿puedo hacer lo mismo, hacer una declaración más amplia que incluya más? Creo que, en términos de ingeniería, lo mismo debe tenerse en cuenta. Como puede ver, si alguien viene con una forma inteligente de hacer algo, uno debería preguntarse: “¿Puedo aplicar el mismo principio de manera más general? ¿Puedo usar esta misma idea inteligente representada aquí para resolver una clase más grande de problemas? ¿Hay algún otro lugar donde pueda usar esta cosa en particular?

El siguiente que podría mencionar es la idea del análisis estructural de un problema. Supongamos que tiene su problema aquí y una solución aquí. Es posible que tenga dos grandes saltos para dar. Lo que puede intentar hacer es romper ese salto en una gran cantidad de saltos pequeños. Si esto fuera un conjunto de axiomas matemáticos y este fuera un teorema o conclusión que se intentaba probar, podría ser demasiado para mí intentar probar esto de una sola vez. Pero tal vez pueda visualizar una serie de teoremas o proposiciones subsidiarias de modo que si pudiera probarlos, a su vez, finalmente se llegaría a esta solución. En otras palabras, establecer algún camino a través de este dominio con un conjunto de soluciones subsidiarias, 1, 2, 3, 4, etc., e intentar probar esto sobre esta base y luego esta es la base que probé hasta que finalmente llegué al camino de S. Muchas pruebas en matemáticas han sido encontradas por procesos extremadamente indirectos. Alguien empieza a probar este teorema y descubre que deambula por todo el mapa. Comienza y demuestra muchos resultados que no parecen llevar a ningún lado y finalmente termina por la puerta trasera en la solución del problema dado; y muy a menudo, cuando haya terminado, cuando ha encontrado su solución, puede ser muy fácil simplificar; es decir, para ver la etapa que podría haber atajado y puede ver que podría haber atajado por allá. Lo mismo es cierto en el trabajo de diseño. Si puede diseñar una forma de hacer algo que sea obviamente torpe y engorroso, use equipo en exceso; pero después de tener algo que puede controlar, algo a lo que puede aferrarse, puede comenzar a cortar componentes y ver que algunas partes son realmente superfluas. Realmente no eran necesarios en primer lugar.
Pienso que lo mismo puede suceder en el trabajo de diseño. A veces he tenido la experiencia de diseñar máquinas informáticas de varios tipos en las que quería calcular ciertos números a partir de ciertas cantidades dadas. Resultó ser una máquina que jugaba al juego de nim y  parecía bastante difícil. Se necesitaron bastantes relés para hacer este cálculo en particular, aunque podría hacerse. Pero entonces tuve la idea de que si hubiera invertído el problema, habría sido muy fácil de hacer, si los resultados dados y requeridos hubieran sido intercambiados; y esa idea condujo a una forma de hacerlo que era mucho más simple que el primer diseño. La forma de hacerlo era hacerlo por retroalimentación; es decir, comienza con el resultado requerido y lo ejecuta de nuevo hasta que lo ejecute a través de su valor hasta que coincida con la entrada dada. Entonces, la máquina en sí misma se trabajó hacia atrás poniendo el rango S sobre los números hasta que tuvo el número que realmente tenía y, en ese punto, hasta que alcanzó el número tal que P le muestra la forma correcta. Bueno, ahora la solución para esta filosofía, que probablemente sea muy aburrida para la mayoría de ustedes. Ahora me gustaría mostrarles esta máquina que traje y abordar uno o dos de los problemas relacionados con el diseño de eso porque creo que ilustran algunas de estas cosas de las que he estado hablando. Para ver esto, tendrán que dar la vuelta; entonces, me pregunto si todos ustedes quieren venir alrededor de la mesa conmigo ahora:
 
Claude Shannon:  Nim Machine





[1] Original text considered harmful: 
"The second thing is a certain amount of intelligence or talent. In other words, you have to have an IQ that is fairly high to do good research work. I don’t think that there is any good engineer or scientist that can get along on an IQ of 100, which is the average for human beings. In other words, he has to have an IQ higher than that. Everyone in this room is considerably above that. This, we might say, is a matter of environment; intelligence is a matter of heredity".

Saturday, December 28, 2019

Juggling: Ancient Egyptians, Claude Shannon and Seymour Papert in Mindstorms


Juggling

Old Egyptians, Claude Shannon & Seymour Papert





 
From Wikipedia:
This ancient wall painting appears to depict jugglers. 
It was found in the 15th tomb of the Karyssa I area, Egypt. 
According to Dr. Bianchi, associate curator of the Brooklyn Museum
"In tomb 15, the prince is looking on to things he enjoyed in life that he wishes to take to the next world. The fact that jugglers are represented in a tomb suggests religious significance. There is an analogy between balls and circular mirrors, as round things were used to represent solar objects, birth and death."

From: http://www.juggling.org/jw/86/2/egypt.html
By Billy Gillen


More:

Claude Shannon: Mathematician, Engineer, Genius…and Juggler
https://www.juggle.org/claude-shannon-mathematician-engineer-genius-juggler/
By Rob Goodman and Jimmy Soni

"Until Shannon arrived on the scene, no papers had explored the math of juggling".






"Scientific aspects of juggling"  C. E. Shannon
https://www.jonglage.net/theorie/notation/ladder/refs/Claude%20Shannon%20-%20Scientific%20Aspects%20of%20Juggling.pdf

And:
"The Science of Juggling"
https://cs.stanford.edu/people/eroberts/courses/soco/projects/1999-00/information-theory/juggling.html 

http://www.juggling.org/papers/science-1/


The right-hand parts of these diagrams show how the juggled objects progress from hand to hand with time.

Fig. 2a shows the simplest three-ball cascade where jugglers can vary the height of the throw, the width of the hands and evenreverse the direction of motion.

Fig. 2b is the simplest case i.e. two balls and two hands, where a choice can be made at each toss whether to interchange the balls orkeep them in the same hands.

Fig. 2c (The three-ball shower in) is similar to the three-ball cascade but with different timing - the left to right throw going almost horizontally so that the whole pattern looks more like balls rotatingin a circle.

Fig. 2d shows the fountain way of juggling four balls which are usually done in one of the two ways:

    Where the two hands are out of synchronism. Thus, the two balls ineach of the two hands never interchange.
    Synchronous movement where the balls can be interchanged or not at each toss.

Fig. 2e shows the pattern for a normal five-ball cascade, a naturalgeneralization of the three-ball



Shannon's Juggling Theorem:


Stated:


(F + D) H = (V + D) B
 

F = how long a ball stays in the air  (Flight time)
D = how long a ball is held in a hand  (Dwell time)
H = number of hands (Number of hands)
V = how long a hand is empty (Vacant time)
B = number of balls being juggled  (Number of balls)

Theorem 1:
(F + D) / (V + D) = B / H

Corollary:
In a uniform juggle with a fixed flight time, the range of possible periods is B/(B-H)

Theorem 2:
If B and H are relatively prime then there is essentially a unique uniform juggle, such that each ball progresses through the hands in cyclical sequence and each hand catches the balls in cyclical sequence. 

Theorem 3:
If B and H are not relatively prime with B=np and H=nq (p and q relatively prime).
Then there are as many types of juggles as ways of partitioning n into a sum of integers.

In the common case of two jugglers (H= 4), each with 3 clubs (B = 6), we have n= 2, which can be written as a sum of positive integers in two ways: 2 or 1+ 1.

The case of 2 corresponds to the jugglers starting simultaneously.
Thus, at each toss there is a choice of two possibilities: a self-throw or a throw to a partner.

The case of 1 + 1, corresponds to two jugglers out of synchronism.There is no way to pass clubs from one pair of hands to the otherwithout violating the uniform juggle condition





Example: 3 balls 2 hands:
36/24 = 3/2 
(Three Ball Cascade)


 100/40 = 5/2
Example: 5 balls, 2 hands:
(Five Ball Cascade)


"Juggling Clowns"
(Heinz Nixdorf - Museums Forum)
In 1982 Shannon built his very own no-drop juggling diorama. 
The display features three animated clowns, representing the three great jugglers Ignatov, Rastelli and Virgoaga, juggling the record numbers of props. "Ignatov" juggles 11 rings, "Rastelli" ten balls and "Virgoaga" seven clubs. 
The clowns move as if they are actually juggling.



"Jugglometer"
(Heinz Nixdorf - Museums Forum)



Claude Shannon: Juggling



More:
The Science of Juggling:
By: Peter J. Beek & Arhtur Lewbel
https://www2.bc.edu/arthur-lewbel/jugweb/sciamjug.pdf





Seymour Papert:
Mindstorms:
Fragment about Juggling:












Animations from Wikipedia:


      3 ball cascade


5 ball cascade