The Substance of Symbolism
Discovering the Mathematics of Intelligence
I had the great privilege of attending the Franklin Institute Awards Ceremony in April 2003 as a representative of Scientific Computing & Instrumentation magazine and dining with honoree Dr. John McCarthy, Professor Emeritus of Computer Science at Stanford University. The Franklin Institute (www.fi.edu) was founded in 1824 in honor of America’s first scientist, Benjamin Franklin, in Philadelphia, then the largest city in the United States and also a major manufacturing center. The Institute arranged a series of annual exhibitions of manufactured goods including the presentation of certificates for achievement in science and technology that evolved into endowed medals. The Institute’s Committee on Science and the Arts selected recipients, established in 1824 as the Committee on Inventions, and laureates are still selected by this 75-member, all-volunteer Committee today.
Benjamin Franklin Medals are awarded annually to leaders in the fields of Chemistry, Computer and Cognitive Science, Earth Science, Engineering, Life Science, and Physics with recipients including the likes of Alexander Graham Bell, Thomas Edison, Albert Einstein, and the Wright brothers. Over the years, numerous other medals have been established including the Henry Bower Award for Business Leadership that includes a gold medallion and a cash prize of $250,000, resulting in many considering the Franklin Institute Awards to be the American Nobel Prize. Indeed, of the nearly 2000 Franklin Institute Award medalists to date, 100 have also been honored with 102 Nobel Prizes.
The 2003 Benjamin Franklin Medal in Computer and Cognitive Science was awarded to Dr. John McCarthy, Professor Emeritus of Computer Science at Stanford University. Professor McCarthy was one of the first to propose and implement time-sharing on mainframe computer systems and he also pioneered the application of mathematical logic to prove the correctness of computer programs. But perhaps he is most known as one of the fathers of “artificial intelligence” or “AI,” a phrase he coined to denote the field of research into the mathematical and logical description of human intelligence such that computational machines can be made to simulate it. Although his contributions to AI are renowned, the real intelligence behind his work was the development of the computer language LISP in the late 1950s.
At a time when FORTRAN was the only available language higher in functionality than machine language, Professor McCarthy approached the problem of artificial intelligence from the viewpoint of a mathematician in search of logical proofs using lists of symbols, rather than an electrical engineer attempting to animate a collection of transistors. As described by programmer and author, Paul Graham, LISP introduced nine revolutionary programming concepts including the ubiquitous conditional “if-then-else” statement. Imagine getting very far in any programming language without it.
McCarthy also introduced programmatic recursion, the ability of a function to call itself. For example, the mathematical factorial function (!) is recursive as 4! is evaluated to 4! = (4 x 3!) = (4 x 3 x 2!), and so on. LISP was the first to treat functions as a data type so they can be stored and passed as arguments to other functions; it handles all variables as pointers rather than values; and it introduced the concept of garbage collection for memory management. Utilizing only seven prime LISP operators, a function can be written in LISP that evaluates LISP expressions, resulting in the creation of an interpreter that can be used to define additional functions. Modern LISP macros can be written that extend the language dynamically, producing a computer language that creates computer languages. In much the same way that humans develop technology as they increase in intelligence, LISP is a natural and powerful choice for AI practitioners.
Although Professor McCarthy developed LISP over 50 years ago, modern languages including Java, Python, and XML are just discovering the utility of the mathematical axioms discovered for LISP. However, this is not to suggest that LISP, the world’s second-oldest high-level programming language, is not used today. While its utility in the AI community may give it a fanciful aura, ANSI Common LISP is steadily gaining favor as a language for rapid prototyping and is extremely agile for bottom-up program development.
Over the 1990s, Prof. McCarthy drafted a proposal for a new programming language called “Elephant 2000” that parses natural language syntax and is targeted for use in transaction processing and electronic data interchange. Let’s hope that it does not take another 50 years to recognize the intelligence of his proposal.
This post originally appeared as a Contributed Editorial in Scientific Computing and Instrumentation 20:08 July 2003, pg. 14.