aNewDomain — What does the word Rand make you think of? Rand Paul? Ayn Rand? Those are some famous ones, sure, but the RAND Corporation is what comes to my mind. RAND (research and development) began as Air Force Project RAND, initially housed at Douglas Aircraft in Santa Monica, CA just after World War II. In 1948, RAND became an independent, nonprofit organization. You could argue that RAND was the first legitimate “think tank.” In 1957 its development work spun off to become the System Development Corporation (SDC).
The ranking of research institutions is not a commonly practiced endeavor, but if one did rank all the research you’d have to include RAND. It’s in the league of greats, like IBM Research and Bell Labs in the early days and, more recently, Microsoft and Google. Below is a list of some of the advances in computer science that RAND researchers and consultants have produced.
Communication Satellites
Science fiction writer Arthur C. Clark wrote an article envisioning a communication satellite that was published in October, 1945. In it he details the idea of satellites as we now know them — essentially geostationary communication devices. Fast forward five months, James Lipp and Frank Collbohm of RAND utilize Clarke’s theories and release an engineering study called “Preliminary Design of an Experimental World-Circling Spaceship,” a thorough account of how satellites might actually work.
Artificial Intelligence
Allen Newell, Cliff Shaw and Herbert Simon worked on the early stages of artificial intelligence for RAND and Carnegie Tech. They asked people to talk out loud while proving theorems and noted that their strategy was to apply operations that reduced the differences between the current state of the proof and the theorem they were trying to prove. Their programs, Logic Theorist and General Problem Solver, did the same — and so does this pigeon:
A pigeon solves Wolfgang Kohler’s box-and-banana problem by applying the Box Move operator
Operations Research
George Dantzig and Richard Bellman invented mathematical techniques for finding optimal or near-optimal solutions to complex, but well-defined problems. This work has applications in network design and you use Dantzig’s simplex algorithm whenever you build an Excel spreadsheet to solve a linear programming problem.
SIMSCRIPT
Harry Markowitz and Bernard Hausner invented the SIMSCRIPT programming language for simulating systems like customers moving through checkout stands at a market. SIMSCRIPT was an early object-oriented language in that it modeled the world as sets of entities and their attributes. Entities could be created and destroyed and their attribute values and set memberships changed when events in simulated time occurred. (SIMSCRIPT is close to my heart because it was the subject of the first class I ever taught. Unfortunately, my wife threw out my SIMSCRIPT t-shirt years ago).
An early research computer
Early computers were built as research projects at universities. You can recognize them by their names ending in “AC” for automatic calculator. RAND’s JOHNNIAC (named in honor of mathematician and computer architect John von Neumann) was a stored program computer. It was used for applications including the early artificial intelligence research and operations research mentioned above.
Timesharing
Terminals and drum storage were added to the JOHNNIAC, enabling Cliff Shaw to create JOSS (JOHNNIAC Open Shop System), one of the first interactive time-sharing systems. JOSS was “open shop” in that users interacted directly with the computer rather than dropping off jobs to be run at a later time by a computer operator. I was fortunate to see demonstrations of both JOSS and QUICKTRAN, an interactive FORTRAN interpreter built by John Morrisey of IBM. The advantage of these systems over batch processing was immediately and strikingly apparent. This led me to SDC (mentioned above), which by then had a more advanced time-sharing system that I used for my dissertation research on man-machine data analysis.
The RAND tablet
The RAND Tablet, the great-grandfather of the iPad, was built by Tom Ellis and his colleagues. Their GRAIL (graphical input language) software featured object-oriented drawing and character recognition. Their publications are some of the earliest work on human-computer interaction — GRAIL was the great-grandfather of Macdraw. (The following video clip is narrated by Alan Kay of Dynabook fame).
Object-oriented drawing and character recognition on the RAND tablet
Large, packet-switching networks
I’ve saved the best (at RAND) for last. Paul Baran published a series of 11 reports on Distributed Communications Networks in 1964. In Volume 2, he described the network architecture:
Traffic to be transmitted is first chopped into small blocks, called Message Blocks or simply messages. These messages are then relayed from station to station through the network with each station acting as a small ‘post office’ connected to adjacent ‘post offices.'”
After simulating this system and considering the technology of the day, Baran concluded in Volume 11 that
It appears theoretically possible to build large networks able to withstand heavy damage whether caused by unreliability of components or by enemy attack.”
And … He was right!
Paul Baran’s distributed network architecture
In the following video, Baran reviews RAND’s work on distributed networks and packet switching — from early concern over the possibility of a nuclear attack disrupting military communications through skepticism about packet switching and the creation of the ARPANet. (Since the ARPANet was just a research project, it did not need to bother with security and encryption).
Paul Baran on distributed networks and packet switching
Two of the people cited here went on to win Nobel prizes. Harry Markowitz received the Nobel Prize in economics for his work on portfolio theory — perhaps not tied to his work on digital simulation.
Herbert Simon also received the Nobel Prize in economics for his work on decision making. He noted that we do not make optimal decisions when choosing among alternatives because information about outcomes is incomplete, gathering more information has a cost and outcomes are multidimensional. In real life we make satisfactory decisions. This realization no doubt guided his studies of the thought processes of chess players and theorem provers and therefore his work on artificial intelligence.
(A personal note: I took a class from Professor Simon as an undergrad. All I recall was that I liked him a lot and he told us about the chess game his “computer” — whatever that was — was playing with a computer in Arizona. I also met him much later, and he was modest and helpful — told me he stored most of what he knew in his friend’s heads).
You can learn more about any of this work on Wikipedia or using Google, but — better yet — download the historic reports by these researchers from the RAND Website.
The System Development Corporation
As noted above, RAND spun off its development work in 1957 when SDC was set up to build the SAGE (Semi-Automatic Ground Environment) air defense system, designed to defend the U.S. against nuclear attack.
SAGE was the first computer network and the project trained most of the computer programmers in the US at the time. The project also produced many innovations in programming and programming project management.
After SAGE, SDC built an advanced general purpose time-sharing and software development system on an AN/FSQ-32 (Army Navy Fixed Special eQuipment) computer built by IBM. The Q-32 was used for ARPA-sponsored research projects in man-machine interaction — including my dissertation project. More on SDC in a forthcoming post.
For aNewDomain, I’m Larry Press.