A History of Computer Science at the RAND Corporation

RAND Corporation johnniac2
Written by Larry Press

The RAND Corporation had a critical influence on computer science. Larry Press details the greatest achievements of the company’s bright history.

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.

RAND Corporation Satellite Arthur C Clarke's Vision

Arthur C. Clarke’s vision (left) and RAND’s design

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.

rand corporation implex

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).

RAND Corporation T shirt

T-shirt — Entities, Attributes and Sets

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.

RAND Corporation JOHNNIAC

JOHNNIAC

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.

RAND Corporation JOSS terminal

Programmer at a JOSS terminal

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!

RAND Corporation distributed network 600

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.

RAND Corporation The AN/FSQ-32 supported research on man-machine systems

The AN/FSQ-32 supported research on man-machine systems

For aNewDomain, I’m Larry Press.