PART xi
"Glossary"
Algorithm
A sequence of well-defined rules and instructions describing a procedure
to solve a particular problem. A computer program expresses one or more algorithms in a
manner understandable by a computer.
Analog
Pertaining to data measurable and representable through continuously
variable physical quantities. An analog computer manipulates physical variables that are
analogs of (physically analogous to) the quantities being computed.
Android
A robot similar to a human being in physical appearance.
Artificial Intelligence
Broadly, the study of intelligence as a collection of
information-processing tasks. Some other definitions are the following: (1) The field of
research concerned with making machines do things that people consider to require
intelligence. (2) The primary goal of AI is to make machines smarter; the secondary goals
are to understand what intelligence is. (3) The study of the computational connection
between action and perception.
Artificial Life
A sequence of outputs produced from a computer program that are
presented with an initial configuration of points (the "organism") and a set of
rules (the "genetic code") to generate subsequent generations of the organism.
Artificial life is modeled on evolution by natural selection. Certain initial
configurations and rules can produce visually pleasing images. This is thus one technique
for generating computer art.
ASIC (application-specific integrated circuit)
A chip that, unlike a normal computer microprocessor, is designed to
execute a specialized function or procedure. ASICs may be viewed as chip implementations
of programs.
ASR (automatic speech recognition)
Refers to the ability of a machine to recognize high-level patterns in
human speech. In general, the goal of ASR is to identify the words spoken.
Backward chaining
A technique of "reasoning" for an expert system in which the
system tries to verify a hypothesis by verifying all statements that imply (or lead to)
that hypothesis.
Binary Code
A representation (or encoding) of data that makes use of exactly two
distinct characters (say 0 and 1). An encoding is a set of rules that specifies a
correspondence between one set of symbols and another.
Bit
Binary digit. In a binary code, one of the two possible characters,
usually 0 and 1. In information theory, the fundamental unit of information.
Byte
A sequence of eight adjacent bits operated on as a unit for the sake of
convenience and frequently used as a measure of memory or information. A byte may
correspond, for example, to a letter of the English alphabet.
CAD (computer-assisted design)
Computer technology used in many aspects of the design of a product.
Users enter design criteria and create partial designs. The computer then suggests, tests,
and modifies the design in keeping with industry standards and regulations.
CAI (computer-assisted instruction)
Education that uses computers to present tutorials and subsequently to
test and monitor the user's learning.
CAT (computer-assisted translation)
Automation of all or part of the difficult task of accurately
translating text from one natural language to another.
CCD (charge-coupled device)
A device that stores information by representing it as packets of minute
electrical charges. Also used as sensors for scanning visual images.
Chip
A (possibly large) collection of related circuits designed to work
together on a set of tasks. These circuits reside on a wafer of semiconductor material
(typically silicon).
COBOL (Common Business Oriented Language)
A data processing computer language, the de facto standard for business
programming. It makes use of statements very similar to business English and was first
used in 1960.
Combinatorial explosion
The rapid (exponential) growth in the number of possible ways of
choosing distinct combinations of elements from a set as the number of elements in that
set grows. Specifically, in artificial intelligence, the rapid growth in the number of
alternatives to be explored while performing a search for a solution to a problem.
Compiler
A program that produces a machine code from a source code originally
written in a high-level problem-oriented language.
Complexity Theory
The mathematical study of the difficulty of solving any well-stated
problem in terms of resources (time and space) consumed. Complexity theory is used
primarily to determine the effect of an increase in the size of a problem.
Computer language
A set of rules and specifications to describe a process on a computer.
Connection Machine
A parallel-processing computer that makes use of a large number of
well-connected low-computation-power processors (currently up to 65,536).
Connectionism
An approach to studying intelligence based on storing problem-solving
knowledge as a pattern of connections among a very large number of simple processing units
operating in parallel. Connectionism is often contrasted with the manipulation of the
large symbolic structures traditionally used to represent knowledge in artificial
intelligence. It was inspired by the structure of synapses (connections) and neurons
(processing units) in the human brain.
Constrained search
A search on possible alternatives carried out after discarding those
alternatives that seem unlikely to lead up to a solution.
CPU (central processing unit)
The principal operating part of a computer, encompassing the electronic
circuits that control the interpretation and execution of instructions. It includes the
arithmetic and logic unit, the control unit, and possibly the primary memory.
Cybernetics
The comparative study of information handling mechanisms (control and
communication) in animals and machines. Cybernetics is based on the theory that
intelligent living beings adapt to their environments and accomplish objectives primarily
by reacting to feedback from their surroundings.
Demon
A support mechanism that performs simple decision making and low-level
information gathering to aid the main (intelligent) program execute its larger tasks. In
an expert system, rules that watch out for exceptions, special conditions, and dangerous
situations and suggest precautionary action.
Data base
An organized store of data made accessible to a computer, ordinarily
designed in connection with an information-retrieval system. A database management system
(DBMS) allows monitoring, updating, and interacting with the database.
Debugging
Discovery and rectification of errors (features leading to unwanted
results) in a computer program.
Decision tree
A set of rules written in the form of a tree. At each node (branch
point) a rule is examined, and a decision is made to take a particular branch, which in
turn leads to the next node or to the end result.
DENDRAL
The first expert system. It was designed to determine structures of
organic compounds using data from mass spectrometers and magnetic-resonance imaging (MRI).
Digital
Pertaining to the use of combinations of bits to represent all
quantities that occur in a problem or computation. Compare with analog.
Domain specific
Applicable only to a particular domain of knowledge and expertise.
Chemistry is a very large domain, but organic structure analysis is narrow enough to be
handled by DENDRAL, a domain-specific expert system.
Dynamic Programming
A procedure that works backward to solve a multistage decision problem
by making an optimal decision at each stage on the assumption that an optimal decision has
been made in the previous stage. The solution for the final stage thus gives the solution
for the entire problem.
ENIAC (Electronic Numerical Integrator and Computer)
Completed in 1946 at the University of Pennsylvania, ENIAC was the first
general-purpose programmable electronic digital computer. It was originally designed to
produce ballistic tables for use in the Second World War.
Entropy
In thermodynamics, a measure of chaos and unavailable energy in a
physical system. In other contexts (even in the social sciences), a term used by analogy
to describe the extent of randomness and disorder of a system and consequent lack of
knowledge or information about it.
Expert system
A computer program, based on various artificial intelligence techniques,
performing a specialized difficult task at the level of a human expert. An expert system
is frequently partitioned into a knowledge base, an inference engine, and (possibly) an
explanation mechanism.
Floating-point number
A number expressed as a product of a bounded number and a scale factor
(consisting of an integer power of a number base), for example, 2.3 x 10².
Floppy disk
A secondary data-storage device consisting of a thin flexible magnetic
disk covered by a semirigid protective jacket.
Fractal geometry
A nascent branch of mathematics named with a Latin word meaning
irregular. Fractal geometry explores a world of crinkly convoluted shapes far removed from
the straight lines and smooth curves of traditional Euclidean geometry. Fractal curves,
produced by computer algorithms, bear striking resemblance to naturally occurring shapes
(coastlines, clouds, etc.) and hence are extensively used to produce realistic computer
graphics. The term "fractal" is also an abbreviation for "fractional
dimension": the dimensions of fractal curves are not limited to integers. These
curves are used to model chaotic phenomena appearing in such diverse fields as music,
financial markets, and natural topology.
Fuzzy logic
A branch of logic designed specifically to support human reasoning by
allowing such linguistic labels as "fairly" and "very" so that
statements may be made with varying degrees of certainty and precision. In traditional
logic a statement may have one of only two values (true or false). Fuzzy-logic labels and
operators allow statements to have multiple values.
Gaussian filtering
A process by which each pixel is replaced by one whose intensity
(brightness) is the weighted sum of the intensities of adjacent pixels. The weight for a
pixel is chosen according to the Gaussian normal function (the bell-shaped curve) of its
distance from the central pixel. This is often a preliminary step to recognizing the edges
of a picture.
General Problem Solver (GPS)
A procedure and program developed by Allen Newell, J.C. Shaw and Herbert
Simon that attains an objective by using rules to generate many alternatives at any
current state and pursuing the alternatives that appear to be the closest to the
objective. It has failed on some classes of problems due to the lack of sufficient rules
and an adequate measure of closeness.
Goal-driven reasoning
Reasoning that focuses attention only on those pieces of knowledge that
seem likely to lead to a goal. A generalization of backward chaining.
GOTO statement
An instruction in a computer program used to explicitly redirect the
computer's current operation to another line of the same program.
Hard disk
A rigid plate with magnetic coating. A hard disk can handle greater
amounts of data at a higher speed than a floppy disk.
Heuristic
A rule of thumb or a technique based on experience and for which our
knowledge is incomplete. A heuristic rule works with useful regularity but not necessarily
all the time. More generally, a heuristic is any knowledge that reduces the amount of
search.
Heuristic programming
The programming of problem-solving systems to reason and search for
solutions by means of organized collections of heuristics.
Holograph
An interface pattern, often using photographic media, that is encoded by
laser beams and read by means of low-power laser beams. This interference pattern can
reconstruct a three-dimensional image.
Holy Grail
Any objective of a long and difficult quest. In medieval lore, the Grail
refers to the plate used by Christ at the Last Supper. It subsequently became the object
of knights' quests.
Hypertext
An approach to information management in which data is stored in a
network of nodes connected by links. The nodes, which may contain text and even audio or
video elements, are meant to be viewed interactively. Links provide pathways to other
nodes for exploring further relevant information.
Idiot savant
A system or person that is highly skilled in a small task area but
impaired in other areas of functioning. The term is taken from psychiatry, where it refers
to a person who exhibits brilliance in one very limited domain but is underdeveloped in
common sense, knowledge, and competence. Idiot savants have been known, for example, to be
capable of multiplying very large numbers in their heads, although they are otherwise
mentally disabled.
Image processing
Performing computations on sets of visual signals to recognize and
interpret high-level patterns and to resolve the image into meaningful components.
Image scanner
A device that converts a visual image into sets of electronic signals
that may be subjected to image processing.
Josephson junction
An oxide barrier between two metals across which electrons may be forced
to tunnel. When immersed in liquid helium, a circuit containing such a junction is able to
switch at very high speeds with low power dissipation. It thus avoids the heat-transfer
problems that arise from silicon VLSI devices and is one way to attain superconductivity.
Knowledge engineering
The art of designing and building expert systems, in particular,
collecting knowledge and heuristics from human experts in their area of specialty and
assembling them into a knowledge base or expert system.
Knowledge principle
A "principle" that emphasizes the important role played by
sheer knowledge (as opposed to general reasoning mechanisms) in many forms of intelligent
activity. It states that a system exhibits intelligence primarily because of the specific
knowledge that it contains about its domain of knowledge.
Knowledge representation
A scheme for organizing human knowledge into a manipulable data
structure flexible enough to allow one to express facts, rules, relationships, and common
sense.
LISP (list processing)
An interpretive computer language developed for manipulating symbolic
strings of instructions and data. The principal data structure is the list, a finite
ordered sequence of symbols. Because the programs themselves are expressed as lists, LISP
lends itself to sophisticated recursion, symbol manipulation, and self-modifying code. It
is widely used for AI programming.
Logic gate
A device implementing any of the elementary logic (or Boolean) functions
(for example, AND, OR, NOT, NOR, XOR). A logic gate is characterized by the relationship
between its inputs and outputs and not by its internal mechanisms.
Luddite
One of a group of early nineteenth-century English workmen that
destroyed labor-saving machinery in protest. Today the Luddites are a symbol of opposition
to technology.
Machine language
The written representation of machine code, which is the operation code
understood directly by a computer. More generally, it is the language used by a computer
for communicating internally with its own subsystems.
Mainframe computer
An expensive, sophisticated, general-purpose computer that can be
simultaneously accessed by many users and that usually has a wide range of peripherals.
Mainframes are distinguished from minicomputers and microcomputers primarily by their
computational power.
Microcomputer
A small computer designed for a single user, ordinarily used in homes
and by individual business users. A microcomputer usually uses a single-chip
microprocessor.
Microprocessor
The entire CPU (central processing unit) of a computer in the form of a
large-scale integrated circuit built on a single chip.
MIDI (Musical Instrument Digital Interface)
Technology that allows communication of digital data (representing
musical notes and other information) between musical instruments and thus allows different
electronic musical instruments to control and interact with each other.
Mind-body problem
The philosophical question of how a nonphysical entity such as the mind
may interact with and exert control over a physical thing such as the body.
Minicomputer
A computer similar to a mainframe computer in that it supports multiple
users, but not as powerful.
Minimax procedure or theorem
A basic technique used in game-playing programs. An organized
enumeration of possible moves, together with corresponding possible moves from the
opponent, is constructed in the form of a tree. An evaluation of the final position of the
tree's leaves that always chooses the minimum value on the opponent's levels and the
maximum value on the player's levels is then passed back down the tree.
MIPS (millions of instructions per second)
A conventional measure of the speed of a computer in terms of the number
of the steps it can perform per second.
Molecular computers
Computers based on logic gates that are constructed on principles of
molecular mechanics (as opposed to principles of electronics) by appropriate arrangements
of molecules. Since the size of each logic gate is only a few times that of a molecule,
the resultant computer could be microscopic in size. Limitations on molecular computers
arise only from the physics of atoms. Thus, molecular computers are theoretically the
fastest possible computers.
Multiple experts
A group of intelligent programs, each highly skilled in its own area of
specialization, organized together to achieve a broader and higher level of generality in
performance in the hope that at least one will rise to a problem solution.
Music-notation processor
A program or system working on music notation in the functionally
equivalent way that word processors work on text.
MYCIN
A successful expert system developed at Stanford University in the mid
1970s and designed to aid medical practitioners in prescribing an appropriate antibiotic
by determining the exact identity of a blood infection.
Natural language
Ordinarily spoken or written language (e.g., English), governed by sets
of rules and conventions sufficiently complex and subtle for there to be frequent
ambiguity in syntax and meaning.
Neural networks
Machinery implementing the ideas of connectionism and consisting of
processing units and their interconnections patterned after the structure of the human
brain.
90-10 rule
Generally, with a given set of resources and objectives, solving 90
percent of a problem will consume only 10 percent of the resources, and solving the
remaining 10 percent of the problem will consume the remaining 90 percent of the
resources.
NOR gate
A logic gate whose output is logical 1 (true) only when all its inputs
are logical 0 (false) and is logical 1 otherwise. It is a universal gate, since any
logical or Boolean function can be realized with circuits consisting only of NOR gates.
Object code
The machine-code output of a compiler after translation of the source
code. See compiler.
OCR (optical character recognition)
A process in which a machine scans, recognizes, and encodes printed (and
possibly handwritten) characters into digital form for input into a computer.
Operating system
A large, complex body of programs that control and administer all other
programs of a computer.
Optical computers
Computers processing information encoded in patterns of light beams,
unlike today's conventional computers, in which information is represented in electronic
circuitry or encoded on magnetic surfaces. Optical computers present the potential of
computing at higher speeds and with a massive level of parallel processing.
Optical disks
A disk, typically of plastic, on whose surface information is etched as
a sequence of pits, which are read by a low-power laser beam. Optical disks can
potentially store large amounts of information (a billion bytes or more).
Organic circuits
Circuitry consisting of processing units that, under favorable
conditions, are self-replicating and self-organizing.
Orthogonal invariances
The distribution of strengths of two expert systems in a way that the
chance of solving a particular problem is greater when using both experts than when using
either expert alone. The reason for the success of multiple experts is that the chance is
high that at least one of the experts will rise to a problem solution.
Pandemonium selection
An election like decision-making procedure in which a decision is made
according to the level of excitation or response generated from a group of sensory or
information-gathering units (or demons) when presented with each possible solution.
Parallel processing
Simultaneous operation (rather than sequential operation) of two or more
devices to perform independent tasks within an overall job. More than one particular
process is active at any instant. Compare with serial computer.
Parser
A program resolving a string of characters (representing, for example,
an English sentence or a computer-language statement) into its elemental parts (or parts
of speech) as determined by the particular language.
Pattern recognition
Recognition of patterns with the goal of identifying, classifying, or
categorizing inputs.
Perceptron
An early model for the processing units that may be used in neural
networks. Perceptrons are noted for the simplicity of the function they perform on input.
Pixel
An abbreviation for picture element. One of the elements in a large
array holding information that represents a picture. Pixels contain data giving brightness
and possibly color at particular points in the picture.
Predicate logic
A system of logical inference based on set theory. Variants are used in
artificial intelligence in the representation of knowledge.
Primal sketch
A representation of images that gives explicit information about
brightness changes, textures, and orientations of surfaces.
Program
A sequence of written statements that conform to the specifications of a
computer language, for use by a computer (or any intelligence system).
PROLOG
A nonprocedural programming language used in artificial intelligence. A
PROLOG program contains descriptions of relevant relationships between entities in the
problem and of the rules governing the solution of a problem but not of the procedures
that are to be used to find those solutions.
Prospector
An expert system designed to aid geologists in interpreting mineral data
and predicting locations of mineral deposits. It is famous for correctly pointing to a
previously unknown extension of a molybdenum deposit.
Punch card
A rectangular card that typically records up to 80 characters of data in
a binary coded format as a pattern of holes punched in it.
Pushdown stack
A list of information in which insertions, and removals of data are made
at one end of the stack (the top), also called a LIFO stack for "last in, first
out." Stacks are convenient structures in computer science because they facilitate
recursive computations.
RAM (random-access memory)
A type of temporary internal memory in which all locations of data can
be accessed with equal speed.
Recursion
The process of defining or expressing a function or procedure in terms
of itself. Each level of a recursive-solution procedure produces a simpler (or possibly
smaller) version of the problem than originally posed. This process continues until a
subproblem whose answer is already known is obtained. A surprisingly large number of
symbolic and numerical problems lend themselves to recursive formulations.
Reverse Polish notation
A notation for arithmetic operations on numbers, where each operator
follows its operands. For example, 7+5 is expressed as 7 5 and 1+(2x3) is expressed as 2 3
x 1 +. The order of evaluation is uniquely defined, and such expressions are readily
evaluated on a pushdown stack.
Robot
A programmable device consisting of machinery for sensory activity and
mechanical manipulation and connected to (or including) a computer. Typically, these
machines automatically perform some task normally done by human beings.
ROM (read only memory)
A permanent internal memory whose contents are built into the device
during manufacture. ROM contains data or instructions that can be read quickly but cannot
be altered.
Sea-of-logic machine
A machine model proposed in this book constructed only of NOR gates. The
mechanisms that account for intelligent behavior can in theory be constructed as a
sea-of-logic machine.
Search
A procedure in which an automatic problem solver seeks a solution by
iteratively selecting from various possible alternatives as intermediate steps toward a
solution.
Segmentation
Generally, the broad problem of separating a problem into parts. For
example, a string of speech may be analyzed at many levels: in terms of phonemes, in terms
of words, or in terms of complete sentences.
Self-modifying code
A program that causes changes in portions of the program itself.
Self-modifying code can thus selectively store, destroy, and transform information within
itself (for example, it can replace problems with simpler subproblems). This ability is
the crux of intelligent adaptive behavior.
Semantic networks
A type of knowledge representation that uses nodes to denote concepts
and labeled links to indicate the relationships among these concepts.
Semiconductors
A material commonly based on silicon or germanium with a conductivity
midway between that of a good conductor and an insulator. Semiconductors are used to
manufacture transistors, which are used to construct logic gates.
Serial computer
A computer that performs two or more computations one after another, not
simultaneously (even if the computations are independent). Opposed to a parallel
processing computer.
SHRDLU
A landmark natural-language program, completed in 1970, that integrates
the previously independent functions of reasoning, syntax, and semantics. It performed
remarkably well in its own small domain of children's books.
Silicon compiler
A system producing a description of a given procedure or algorithm at
the level of logic gates so that this low-level detail may be used to specify the design
of a chip to be fabricated.
Simulator
A special-purpose computer or program designed to imitate the behavior
of some existing or intended system in order to study the performance and effects of that
system. Simulators are often used to study complex natural systems, such as chemical
interaction or fluid flow. Another common example is the flight simulator used to train
pilots.
Smart weapons
Attack systems that exhibit intelligence and skill in identifying,
locating, tracking, and destroying targets.
Society of mind
A theory of the mind proposed by Marvin Minsky in which intelligence is
seen to be the result of proper organization of a very large number of simple mechanisms,
each of which is by itself unintelligent.
Sombrero filter
A process whereby each pixel is replaced by one whose intensity id the
weighted sum of the intensities of adjacent pixels. The weights are chosen according to a
function of the distance of the adjacent pixel from the center pixel. The function is the
Laplacian of a Gaussian convolver and has the shape of a Mexican sombrero hat.
Speaker independence
Refers to the fact that some features of a speech string are not
independent on who the speaker is. "Speaker independence" also refers to the
ability of a system for automatic speech recognition to understand any speaker,
irrespective of whether or not the system has previously sampled that speaker's speech.
Subroutine
A program or block of programs organizationally distinct from the main
body of the program.
Supercomputer
The fastest and most powerful computers available at any given time.
Supercomputers are used for computations demanding high speed and storage (e.g., analyzing
weather data).
Superconductivity
The physical phenomenon whereby some materials exhibit zero electrical
resistance at low temperatures. Superconductivity points to the possibility of great
computational power with little or no heat dissipation (a limiting factor today).
SUR (Speech-Understanding Research) Project
A project funded by DARPA in the early 1970s with the goal of producing
an automatic speech recognition system with the capacity to understand 90 percent of
continuous speech (as opposed to isolated words) about some limited subject matter and
making use of a vocabulary of at least one thousand words.
Synthesizer
An electronic device (typically for musicians) for the production of a
wide range of sounds, allowing significant control over the nature of these sounds.
Stored program
Refers to a computer in which the program is stored in memory along with
the data to be operated on. A stored-program capacity is an important capability for
systems of artificial intelligence in that recursion and self-modifying code are not
possible without it.
Template matching
Comparing stored prototype image patterns with shapes derived from
digitized input images.
Toy world
An artificially simplified system used for studying and testing of ideas
and devoid of the complexities and constraints that are ordinarily present in real
circumstances.
Turing test
A criterion proposed by Alan Turing that maintains that a system is
intelligent if it can deceive a human interrogator into believing that it is human.
2½ -D sketch
A representation of a visual scene that shows the depth and orientation
of all visible surfaces.
UNIX
A multiprogramming operating system developed at Bell Laboratories and
favored by computer scientists. One of the goals of UNIX is to provide a uniform
environment in which a relatively small number of users may collaborate on a single system
with a considerable degree of cooperation.
Vacuum tube
A device with electrodes in an evacuated glass tube for the control of
current flows in an electric circuit. Used for the construction of early logic gates.
VLSI (very large scale integration)
Fabrication technology that allows tens of thousands (and possibly up to
millions) of logic gates to reside on a single chip.
Von Neumann architecture
The design of conventional computers, based on stored programs and
serial processing.
Word processor
A program for creating, altering, viewing, storing, and printing text
with maximum flexibility. The term was coined by IBM in the late 1960s.
XCON
An expert system developed to specify how all the components of a
computer should be placed and connected. Developed by Carnegie-Mellon University and
Digital Equipment Corporation (DEC) for use in configuring DEC's VAX series of computers.
Z-series machines
A series of machines designed and constructed by Konrad Zuse in Germany:
Z-1 (nonprogrammable, mechanical), Z-2 (nonprogrammable, electromechanical), Z-3
(programmable, electromechanical), and Z-4 (an improved version of Z-3). The Z-3 was the
first programmable computer.