Bio-Inspired Artificial Intelligence

The field of artificial intelligence (AI) is concerned with reproducing the abilities of human intelligence in computers. In recent years, exciting new approaches to AI have been developed, inspired by a wide variety of biological structures and processes that are capable of self-organization, adaptation, and learning. Examples of these new approaches include evolutionary computation, artificial neural networks, autonomous robots, and swarm intelligence. This course will provide a hands-on introduction to the algorithms and techniques of biologically-inspired AI, focusing primarily on evolutionary systems, neural networks, and robotics from both a theoretical and practical standpoint. Topics to be covered include genetic algorithms, genetic programming, supervised and unsupervised neural network learning, reinforcement learning, reactive- and behavior-based robot control, evolutionary robotics, and developmental robotics. Throughout the course, we will use the Python programming language to implement and experiment with these techniques in detail and to test them on both real and simulated robots. Students will have many opportunities for extended exploration through open-ended lab exercises and conference work. No previous knowledge of Python or robot hardware is needed, but students should be comfortable programming in a high-level, object-oriented language such as Java or C++.