Plotting

Adaptation in Natural and Artificial Systems

Classics

 John Holland's pioneering book Adaptation in Natural and Artificial Systems [1975, 2nd ed. 1992] showed how the evolutionary process can be applied to solve a wide variety of problems using a highly parallel technique that is now called the genetic algorithm. The genetic algorithm transforms a population of individual objects, each with an associated fitness value, into a new generation of the population using the Darwinian principle of reproduction and survival of the fittest and naturally occurring genetic operations such as crossover (recombination) and mutation. Each individual in the population represents a possible solution to a given problem. The genetic algorithm attempts to find a very good or best solution to the problem by genetically breeding the population of individuals. In preparing to use the conventional genetic algorithm operating on fixed-length character strings to solve a problem, the user must 1. determine the representation scheme, Ann Arbor: The University of Michigan Press








Beyond Regression: New Tools for Prediction and Analysis in the Behavioral Sciences

Classics

See also Werbos, Paul J. (1994). The Roots of Backpropagation. From Ordered Derivatives to Neural Networks and Political Forecasting. New York, NY: John Wiley & Sons, Inc. Rumelhart, David E.; Hinton, Geoffrey E., Williams, Ronald J. (8 October 1986). "Learning representations by back-propagating errors". Nature323 (6088): 533–536. doi:10.1038/323533a0.Ph.D. thesis, Harvard University.



New Programming Languages for Artificial Intelligence Research

Classics

"New directions in Artificial Intelligence research have led to the need for certain novel features to be embedded in programming languages. This paper gives an overview of the nature of these features, and their implementation in four principal families of AI languages: SAIL; PLANNER/CONNIVER; QLISP/INTERLISP; and POPLER/POP-2. The programming featurcs described include: new data types and accessing mechanisms for stored expressions; more flexible control structures, including multiple processes and backtracking; pattern matching to allow comparison of data item with a template, and extraction of labeled subexpressions; and deductive mechanisms which allow the programming system to carry out certain activities including modifying the data base and deciding which subroutines to run next using only constraints and guidelines set up by the programmer." ACM Computing Surveys, Vol. 6, No. 3, September 1974, pp. 155 174.