John Von Neumann's Contributions to Computer Science

Jake Sippy


John von Neumann is mostly remembered for his contributions to mathematics and physics among numerous other domains. He was the first to provide a mathematical foundation for quantum mechanics and his work at the Los Alamos Laboratory on the Manhattan Project directly led to the creation of the atomic bombs used during World War II (Damerow). On top of these contributions his work was also fundamental figure in the history of computing.

Before he became involved in computing, he was credited with the creation of the field of game theory. In 1928 he published a paper titled “On the Theory of Games of Strategy” containing his proof for the Minimax Theorem which showed that “for any zero-sum two-person game in a normalized form ... [there exists a unique numerical value representing a gain for one player and a loss for the other” (Kuhn 101). This proof is regarded as the first mathematical formalization of the field and it has wide-ranging implications in computer science. Today minimax has uses ranging from artificial intelligence where it is used to model rational agents, to distributed systems where it used to model the complex actions taken by systems and maximize resource utilization.

He began working with computers during his time at the the Manhattan project which required a great deal of computation. It was because of this exposure to early computers that he began work on the ENIAC project. He made numerous advances in the field during this time, including the creation of the merge sort algorithm, but perhaps his most well-known contribution at this time was the first description of what is now known as “the Von Neumann architecture”. In his 1945 report on EDVAC (a successor to ENIAC) he laid out this new architecture, which was unique from other computers at the time in how it stored the program instructions. Other systems of the time were usually programmed with switches and cables which routed data to different logical units. In a sense, the programs in these systems were read-only since they had to be physically modified by programmers. The Von Neumann architecture changed this by treating and storing the program instructions in memory alongside all other data. This is the architecture used by the “vast majority of modern computers” (Damerow) and, among many things, has guided the development of programming languages, compilers, and enabled more possibilities for human-computer interfaces by allowing for programs that can modify the instructions of other programs.

Later in his life he worked extensively on artificial life and developed the concept of cellular automata. He was interested by the self-replicative properties of life and wondered if these could be applied to computers. He formalized the first cellular automata, an “infinite, two-dimensional array of square cells [where] each cell assumes of of a number of internal states” (Aspray 194). These states would change according to a set of translations based around the cell’s neighbor’s states. These discrete systems have been shown to be able to result in highly complex behavior including self-replication.

John von Neumann passed away from cancer in 1957 at only 53 years old. Despite being considered firstmost as a mathematician, in his short life he made groundbreaking contributions to the field of computing. Perhaps his most extraordinary feat was the sheer number of computer science fields he has had a legacy on including “architecture, hardware construction, programming, numerical analysis, scientific computation, and the theory of computing” (Aspray 195). He truly was a pioneering figure of the field.

References

  • Aspray, William. ”John von Neumann’s Contributions to Computing and Computer Science,” in Annals of the History of Computing, vol. 11, no. 3, pp. 189-195, July-Sept. 1989.
  • Damerow, Julia, ”John von Neumann (1903-1957)”. Embryo Project Encyclopedia (2010-06-22). ISSN: 1940-5030.
  • Kuhn, Harold W., and Albert W. Tucker. ”John von Neumann’s work in the theory of games and mathematical economics.” Bulletin of the American Mathematical Society 64.3 (1958): 100-122.