Evolutionary Computation

Evolutionary Computation (EC) is a computational technique insipred by Darwin's theory of evolution. Nature provides the best examples for computational modeling. Living organisms exhbit complex and sophisticated behavours from low to high levels - cells, organs, individuals, and the population. Many biological speices manage to solve problems that can be charactirized as being intractable by classic optimization methods. The evolutionary process can be applied to these problems, following the principle of "survival of the fittest". Because EC's simplicity, flexibility, and practical advantages for solving difficult optimization problems, it has received increasing attention from researchers across many fields.

Machine Learning

Machine learning is a very active and important area of Artificial Intelligence research. Ability to learn is considered fundamental to human's intelligent behaviour. From a biological point of view, we want to understand more about ourselves. Much of the machine learning research have been devoted to building computational models that mimic some part of the human brain. One significant motivating factor is that we want to get machines to perform tasks that serve us in some way. For example, we are interested in recognizing customers' purchasing patterns so that we can market better our products to certain types of customers; or replicating a driver's behavour so that we can have a self-driving vehicle on a highway; or learning in a two-player game to adapt to our opponent and subsequently outperform it. The list goes on. In nature, species which have evolved over millions of years, have developed an amazing ability to learn and adapt to complex and dynamic environments. For us to develop sophisticated computational learning models matching that of nature, there is still a long way to go.

Swarm Intelligence

Swarm Intelligence (SI), a discipline dealing with artificial and natural systems studying the collective behaviours of social insects or animals. SI represents a new concept of Artificial Intelligence and is becoming increasingly popular in recent years. Nature provides many inspirations for the development of SI techniques. These SI techniques have shown remarkable capabilities on solving problems that are often difficult to handle by conventional computational techniques. In an SI system, although there is a lack of centralized control, the system at the swarm level exhibits complex and self-organizing behaviours. This is often the result of local interactions among individuals in the swarm as well as individuals with the environment, based on very simple interaction rules. Particle Swarm Optimization (PSO) is a popular Swarm Intelligence optimization method, inspired by the social interactions of animals or insects. Majority of PSO applications have been solving continuous problems, but very few on combinatorial (ie., binary or discrete) problems. Kennedy and Eberhart (1997) proposed a simple binary PSO, which optimize binary-valued parameters. Here particle position vectors are binary vectors, and the velocity vectors are still floating-point vectors. However, velocities are used to determine the probability that an element of the position vector is bit 0 or bit 1. Much research need to be done in this area.

Multiobjective Optimization

Multiobjective optimization (MO) problems represent an important class of real-world problems. Typically such problems involve trade-offs. For example, a car manufacturer may wish to maximize A multiobjective optimization algorithm is required to locate solutions as closely as possible to the Pareto front, and at the same time maintaining a good spread of these solutions along the Pareto front. its profit, but meanwhile also to minimize its production cost. These objectives are typically conflicting to each other. For example, a higher profit could increase the production cost. Generally speaking, there is no single optimal solution. Often the manufacturer needs to consider many possible trade-off solutions before choosing the one that suits its need. For a good introduction on this topic, please read Prof. Kalyanmoy Deb's book "Multi-Objective Optimization using Evolutionary Algorithms".

Optimization in Dynamic Enviroments

Many real-world optimization problems are dynamic and require optimization algorithms capable of adapting to the changing optima over time. For example, traffic conditions in a city change dynamically and continuously. What might be regarded as an optimal route at one time might not be optimal the next minute. In contrast to optimization towards a static optimum, in a dynamic environment the goal is to track as closely as possible the dynamically changing optima. In recent years, there have been increasing interests in using decentralized and spatially distributed evolutionary algorithms to handle an optimization task that changes its optima over time. We could take advantage of the parallel and distributed structure of a parallel evolutionary algorithm to deal with this kind of task. Meta-heuristic methods such as evolutionary algorithms, particle swarm optimization, and differential evolution, particularly those algorithms exhibiting self-adaptive behaviours, can be investigated for their effectiveness for such tasks.