[ Start | Links | Resources | Glossary | Help | About ]

PROJECT AI
[ Java | No Java | Text Only ]

Introductions

Thoughts on Thought
Language
Brain & Computer
Pattern-Recognition
AI Components
Applications
To Be Human
The Future
FAQs
 

AI Components: Software

[ The Development of Programming Languages | Languages of AI ]

H.gif (1007 bytes)aving the hardware necessary to develop AI is merely half of the required components.   It is the instructions called software that tells the hardware what to do besides being a very expensive paperweight.  The early years of AI used general-purpose programming languages like C++ to write programs that allowed computers to think intelligently, but developers soon realized that it took specialized languages to write the kinds of programs that would make a computer artificially intelligent.

The Development of Programming Languages

Programming languages are software that allow programmers to write more software.   It is called a language because it has its own vocabulary and syntax like spoken language.  The early history of computing forced programmers to first write programs in machine code--i.e. the language of the computer in binary notation.  To simplify this tedious and difficult method of programming, assembly language was designed to represent often used binary instructions into words.  For example, "010111000" may instruct the computer to add two numbers, so assembly language would represent the same command with the word "ADD." Assembly language did not make conceiving a program any easier but to actually do the programming with words instead of numbers was an improvement.

The next step in programming language development was creating higher-level languages.   In this kind of language, the basic words used in assembly programming are further developed and refined so that the code used to describe the program are more symbolic and English-like.  A program in the language Pascal that tells the computer to add the values store in variables "a" and "b" and store the value into the variable "c" would be: "c:=b+a;".  Either through an interpreter or a compiler, the words are translated into machine language so that the computer can understand it.  Other high-level languages include [list] (Gödel, Escher, Bach 290-292)

[ Top ]

Languages of AI

While there are hundreds of programming languages in existence, the unique problems presented in AI require specialized languages that operated on the basis of logic.   The main languages used today in AI programming are LISP and PROLOG.

LISPLISt Processing is a programming language created by John McCarthy in 1958 at MIT.  As one of the major advancements to develop AI, LISP was one of the first high-level languages used English-like words to control the computer.  Not only did this language make computers easier to program, LISP gave more abilities for the computer to do symbolic manipulation in the list format--an algorithm that treated symbols like beads strung together.  More importantly, LISP allowed programs to modify itself.  Thus, if the program was not running in the proper way, it could rewrite the code that define how it ran in a certain instance to make it behave differently.  It is because LISP could modify itself that it could not compile its high-level language into machine code, making it an interpreted language.  Besides facilitating the creation of language processors, some notable AI programs written in LISP are the expert systems Dendral and Automated Mathematician.  LISP is a language that enjoys a great deal of popularity in the United States, but most European countries and Japan use the other popular programming language, PROLOG.

[ Top ]

PROLOG. PROgrammation en LOGique was the name Phillippe Roussel's wife dubbed the new programming language in 1972.  Both Roussel and his colleague, Alain Colmerauer, were Frenchmen who wanted to make a computer parse a sentence and hopefully understand it.  In September of 1970, Colmerauer had written a paper describing a way to represent sentences through a tree structure in which simple rules could interpret the tree and thus parse the sentence and even generate new ones on its own.  Such logical structures was greater improved in 1974 by including the Horn clause format which essentially eliminated the "or" clause and forced the use of "and" clauses in an "If... Then" statement in programming and thus made every decision a computer made through this kind of program definite instead of semi-definite.  For example, suppose an expert system was  written in PROLOG to determine whether a person was Santa Claus from the description it received.  So, somewhere in the decision tree, the computer would check "If it has a white beard and a booming laugh and a red suit."  If all the requirements are met, then the decision that the person is Santa would be a definite identification.  This kind of definite determination when searching through a decision tree allowed PROLOG to make faster and more conclusive decisions that prevented a computer from being lost in a decision path that led to no where because one of the previous decisions was wrong.   It is from this kind of decision-making process PROLOG allowed made the programming language highly logical and usable in the field of AI.(Crevier 59-62,194-195)

 

[ Goto Top ]

Current Mode: [ Text OnlyOptional Modes: [ Java | No Java

LCARS Online