If you are looking for an answer to the question What is Artificial Intelligence? and you only have a minute, then here's the definition the Association for the Advancement of Artificial Intelligence offers on its home page: "the scientific understanding of the mechanisms underlying thought and intelligent behavior and their embodiment in machines."
However, if you are fortunate enough to have more than a minute, then please get ready to embark upon an exciting journey exploring AI (but beware, it could last a lifetime) …
Blocks are relevant pieces of a solution that can be assembled together, through crossover, in order to generate problem solutions. Goldberg argues in favor of the hypothesis of building block processing by looking also for arguments in nature: "...simple life forms gave way to more complex life forms, with the building blocks learned at earlier times used and reused to good effect along the way. If we require similar building block processing, perhaps we should take a page out of nature's play book, testing simple building blocks early in a run and using these to assemble more complex structures as the simulation progresses". However, recent GA experimental work disputes the usefulness of crossover as a means of communication of building blocks between the individuals of a population [Jones, 1995]. The class of problems and problem representations for which block processing is useful remains an open research topic.
Under NASA's new Earth Observing System (EOS), satellite imagery is expected to arrive back on Earth at rates of gigabytes/day. Techniques for the extraction of useful information from such massive data streams must be efficient and scalable in order to survive in petabyte archive situations, and they must overcome the opacity inherent in the data by classifying or estimating pixels according to user-specified categories such as crop-type or forest health. We are in the process of applying GP to several related satellite remote sensing (RS) classification and estimation problems in such a way as to surmount the usual obstacles to large-scale exploitation of imagery. The fitness functions used for training are based on how well the discovered programs perform on a set of cases from Landsat Thematic Mapper (TM) imagery. Programs are rated on how well they perform on out-of-training-set samples of cases from the same imagery.
Introduction The central theme of experimental science can be viewed as discovering the functions which best describe a set of observations. When these functions are simple, either because of the real simplicity of the system being studied, or because of ingenious experimental design, traditional tools usually suffice. However, as the systems being studied are known to be more complex (for example, with the benefit of more accurate measurementechniques), so progressively more time and effort has to be devoted to the analysis rather than the winning of the data. As a consequence, the traditional fields of statistics and data analysis have developed in new ways, reflected by a new vocabulary. Laboratories echo less to terms such as'linear regression' and'analysis of variance', and more to the new genres of'data visualisation' and'data mining'.
The goal of automatic programming is to create, in an automated way, a computer program that enables a computer to solve a problem. Ideally, an automatic programming system should require that the user pre-specify as little as possible about the problem environment. In particular, it is desirable that the user not be required to prespecify the architecture of the ultimate solution to his problem. The question of how to automatically create the architecture of the overall program in an evolutionary approach to automatic programming, such as genetic programming, has a parallel in the biological world: how new structures and behaviors are created in living things. This corresponds to the question of how new DNA that encodes for a new protein is created in more complex organisms.
Automated methods of machine learning may prove to be useful in discovering biologically meaningful information hidden in the rapidly growing databases of DNA sequences and protein sequences. Genetic programming is an extension of the genetic algorithm in which a population of computer programs is bred, over a series of generations, in order to solve a problem. Genetic programming is capable of evolving complicated problem-solving expressions of unspecified size and shape. Moreover, when automatically defined functions are added to genetic programming, genetic programming becomes capable of efficiently capturing and exploiting recurring sub-patterns. This chapter describes how genetic programming with automatically defined functions successfully evolved motifs for detecting the DE-AD box family of proteins and for detecting the manganese superoxide dismutase family. Both motifs were evolved without prespecifying their length. Both evolved motifs employed automatically defined functions to capture the repeated use of common subexpressions. When tested against the SWISS-PROT database of proteins, the two genetically evolved consensus motifs detect the two families either as well, or slightly better than, the comparable human-written motifs found in the PROSITE database.
One of the original ideas for the Connection Machine (), "as that it could simulate other parallel architectures. Indeed, in the extreme, each processor on a SIMD architecture can simulate a universal Turing machine (TM). With different turing machine specifications stored in each local memory, each processor would simply have its own tape, tape head, state table and state pointer, and the simulation would be performed by repeating the basic TM operations sinmltaneously. Of course, such a simulation would be very inefficient, and difficult to program, but would have the advantage of being really MIMD, where no SIMD processor would be in idle state, until its simulated machine halts. Now let us consider an alternative idea, that each SIMD processor would simulate an individual stored program computer using a simple instruction set.
We introduce a cooperative co-evolutionary system to facilitate the development of teams of agents. Specifically, we deal with the credit assignment problem of how to fairly split the fitness of a team to all of its participants. We believe that k different strategies for controlling the actions of a group of k agents can combine to form a cooperation strategy which efficiently results in attaining a global goal. A concern is the amount of time needed to either evolve a good team or reach convergence. We present several crossover mechanisms to reduce this time.