Saturday, July 09, 2005

Mr. Think Different, in his own words

kw: book reviews, scientists, letters, correspondence

I worked at Cal Tech in 1974 and 1975—as a machinist. I made parts for a new design of microwave telescope. One day, walking across campus, I caught sight of Dick Feynman striding across my path. I had no chance to greet him, and it was the only time I saw him. I wish I'd been bold enough to give chase and at least meet him.

I've been fascinated by Dr. Feynman (hereafter RPF, as he often signed his letters) most of my adult life. While in graduate school, I had a friend who owned a set of his Lectures on Physics. I read quite a number of the articles over a year or so. I recall that first one, though, on the Uncertainty Principle of Heisenberg. When I finished it, I had a visceral understanding of the principle. I have a set I bought, many years later, and this summer, my son is required to read through at least Volume 1.

My son was born late in 1988, just eight months after RPF died. That was nearly twenty years after I learned to use Feynman Diagrams to understand subatomic interactions. Now, sixteen years after he said, "I'd hate to die twice. It's so boring," his daughter Michelle Feynman has edited a wonderful collection of his letters: Perfectly Reasonable Deviations from the Beaten Track published by Basic Books. The material is arranged roughly in chronological order, one or a few years per chapter, and topically within chapters.

RPF is seen to be a master of both the long, witty, discursive essay-in-letter genre and the short, punchy note. Here is a piece of the former (To Dr. R. B. Leighton, my boss when I worked there):

"...There is one direction of computer science that has particular personal appeal to me. (It is called by the unfortunate name of 'artificial intelligence,' unfortunate because in the past several obviously naïve ideas went under that name.) Virtually all computer programs today simply follow step by step instructions—they do exactly what you tell them...The programmer does a great deal of work to write a program of instructions for a computer to do what you wish. To what degree can we use machines to help in this programmers work—ultimately to make machines which program themselves with little more information than we now give the progammer who at present makes the program?"

In succeeding paragraphs, he discusses language learning ("We are far from learning how it is done"), time-sharing computer systems and how they might compare with a person doing several things at once, and image processing; all in the context of discussing an offer to be made to a visiting professor.

My favorite among the latter form (to Dr. George Beadle, who'd offered him an honorary doctorate):

"Dear George,

Yours is the first honorary degree that I have been offered, and I thank you for considering me for such an honor.

However, I remember the work I did to get a real degree at Princeton and the guys on the same platform receiving honorary degrees without work—and I felt an "honorary degree" was a debasement of the idea of a "degree which confirms certain work has been accomplished." It is like giving an "honorary electricians license." I swore then that if by chance I was ever offered one I would not accept it.

Now at last (twenty-five years later) you have given me a chance to carry out my vow.

So thank you, but I do not wish to accept the honorary degree you offered."

I learned something I'd been only peripherally aware of. RPF gave much effort to evaluating textbook, particularly math texts. The title of the book is from his discussion—lament, really—of the "one way to do things" approach in nearly every text. Mathematics, in particular, must be done by any and all means, and every 'problem' has at least half a dozen methods of solution. Only one or a few may be considered, "elegant", but all will work. As a matter of fact, "checking your work" is really a way of saying, "OK, do this problem a different way to see if you get the same result," or ,"Now do it backwards, to see if you get back to the beginning."

Well, I may rant more on this later. I'd like to give one example though, of something nearly all of us learned one way, but can be done different ways: Multiplication.

Long Multiplication: This is the way we learned it. The only variation is the way carries are handled. Some above the middle section, some below, some digits, some more cryptic marks. Other than that the method is uniform. Yet it is not the only way to carry out multiplication.

Russian Multiplication may be apocryphal, but it is a method I remember seeing once or twice as a boy. Here is how it works:

Put the smaller number on the left, and leave room for a wide column on the right with the larger number.

Divide the smaller number by two repeatedly, discarding any remainder, until you reach one.

Double the larger number to match each entry on the left.

Cross out any line that has an even number in the left-hand column.

Then add the numbers in the right hand column, that are not crossed out.

The wonderful thing about this method is that it matches very closely the way computers add numbers. The doubling and halving correspond to the way computers keep numbers: in binary, so that 19 is 10011 and 23 is 10111. To double a binary number, shift it to the left and append a zero. To divide it by two, shift it to the right and discard any bits (1 or 0 digits) that fall off the end. The computer puts both numbers into Shift Registers, and shifts one to the left, the other to the right, adding the number in the first Shift Register to a third Sum Register every time a 1 bit drops off the second Shift Register. When all the shifting and adding is done, the result is in the Add Register.

Pascal's Multiplication method is a different way of arranging the digits, to carry out Long Multiplication. This works with numbers of any size, though it gets cumbersome with larger numbers; so does Long Multiplication, but it has the virtue of taking the smallest amount of paper. To use Pascal's method, first make a box, divided as shown, with diagonals from every corner, and leave plenty of room for a carry digit.

Multiply the digit above each box's column with the digit to the far right of its row, creating a 2-digit number that you split across the diagonal line as shown (2x1 = 02; 3x9 = 27. See how they are shown in the figure).

Once all the boxes are filled, add the numbers in each diagonal section, down and to the left. Put any carry digit near the border of the main box.

The digits at the bottom left of each diagonal section make up the result.

Why do I go into this discursion? To show that even in something we think of as a very standard math method, there are several ways of getting the same result. RPF made this point again and again in his reviews—complaints, really—of math textbooks.

I love the book.

No comments: