An artificial chemistry is, in a broad sense, a man-made system which is similar to a chemical system. More precisely -- but not covering every type -- an artificial chemistry can be defined by a set of objects and a set of reaction rules which specify how the objects interact. The tutorial focuses on abstract artificial chemistries where there is no direct one-to-one relationship between artificial and real chemistry on the molecular/object and reaction/interaction level. In the first part the tutorial gives an introduction to the concept of artificial chemistries discussing two examples: a non-constructive and a constructive artificial chemistry. In the second part the tutorial will review current research activities along the following three application domains: modeling, information processing and optimization.
Technical advances in sequencing technology and the emergence of large-scale, collaborative biology projects have suddenly put into the hands of biologists enormous amounts of genetic sequence data that they are ill-equipped to handle. The tutorial will review the principles of information storage and retrieval in living organisms, and give an overview of the current genome sequencing projects. It will then present the challenges facing the biological research community in the analysis of the data emerging from these projects, and a few of the current problems and approaches in bioinformatics. Particular emphasis will be put on the extraction of biologically relevant information from large, low-quality data sets, and on the analysis of whole genomes.
One of the central models used in the field of artificial life is that of cellular automata (CAs). CAs are dynamical systems in which space and time are discrete. A cellular automaton consists of an array of cells, each of which can be in one of a finite number of possible states, updated synchronously in discrete time steps, according to a local, identical interaction rule. The first part of this tutorial will introduce the CA model, and delineate some of its applications in artificial life. The second part of the tutorial will consider the issue of artificial self-replication, involving the study and conception of machines that can produce copies of themselves. We shall consider both CA-based approaches as well as others.
Evolutionary Robotics is a technique for the automatic creation of autonomous robots. Inspired upon the Darwinian principle of selective reproduction of the best individuals and the principles of genetics, Evolutionary Robotics looks at robots as autonomous artificial organisms that develop their skills in close interaction with the environment without human intervention. Heavily drawing from natural sciences like biology, cognitive science and ethology, Evolutionary Robotics resorts to bio-inspired engineering techniques such as neural networks, genetic algorithms, dynamic systems, and bio-morphic engineering. An interesting part of this methodology, which is often employed in Artificial Life, consists in lifting the constraints of the fitness function, leaving thus more space to the emergence of autonomous behaviors.
Ant colonies, and more generally social insect societies, are distributed systems that in spite of the simplicity of their component individuals present a highly structured social organization. As a result of this organization, ant colonies can accomplish astonishingly complex tasks that could never be performed by a single ant. The study of ant colonies behavior and of their self-organizing capacities is interesting for computer scientists because it provides models of distributed organization which are useful to solve difficult optimization and distributed control problems. This is particularly true in application environments in which rapid and autonomous adaptation to environmental changes, as well as robustness to system failures, are important features. In this tutorial I will present some models derived from the observation of real ants, and explain how these models can be used to design multi-agent systems for the solution of problems like distributed and adaptive routing in Internet-like networks, combinatorial optimization, optimal allocation of resources, and distributed task allocation in a fleet of autonomous robots.
This tutorial first presents the concept of autonomous virtual actors and the main techniques to create and animate them. It presents the general concept of behavioral animation and autonomous actors reacting to their environment and taking decisions based on perception systems, memory and reasoning. The concept of virtual sensors (virtual vision, audition, and tactile) will be explained with examples of sensor-based navigation and games. Then, the interaction between virtual humans will be discussed with examples in social behavior, group behavior, and crowd behavior. Behaviors generated using genetic algorithms will be also presented. Finally, the interaction between real humans and autonomous virtual humans inside the virtual space will be presented with applications in telecooperative work.