Prerequisites: CS 302, MATH 330

Syllabus

CS 457: Computational Intelligence

Winter 2008

Meeting Times

Lect: 12:00 - 12:50 MWF, HB 112

Labs: 12:00 - 12:50 Tuesday, HB 204

Instructor

Dr. Razvan Andonie, HB 219-B, Office hours

TA

Lukas Magill, MagillL@gwmail.cwu.edu

Texts

Russell C.E., Yuhui S. Computational Intelligence Concepts to Implementations, Elsevier, 2007.

 

Objectives

Introducing concepts, models, algorithms, and tools for development of intelligent systems. Example topics include artificial neural networks, genetic algorithms, fuzzy systems, swarm intelligence, ant colony optimization, artificial life, and hybridizations of the above techniques. This domain is called Computational Intelligence, and it is a numerical interpretation of biological intelligence.

Topics:

Mimicking Nature for Problem Solving: The Basic Concepts

Single-Layer and Multi-Layer Feedforward Neural Networks

Feedback Neural Networks

Associative Memories

Learning Vector Quantizer

Self-Organizing Feature Maps

Radial Basis Function Neural Networks

Genetic Algorithms

Fuzzy Sets and Fuzzy Logic

Fuzzy Neural Networks

Fuzzy ARTMAP

Swarm Intelligence and Ant Colony Optimization

Artificial Life

The Power and Computational Complexity of Computational Intelligence Models

Student Learning Outcomes

On completion of this course, the student will have:

An understanding of the fundamental Computational Intelligence models
Implemented neural networks, genetic algorithms, fuzzy neural networks, and ant colony optimization algorithms.
Applied Computational Intelligence techniques to classification, pattern recognition, prediction, rule extraction, and optimization problems.

Grading

The will be no exams. Grading will be based only on attendance, assignments, in-class presentations, and the Final Project:

10% Class Participation
40% Assignments and Presentations
50% Final Project

The final project is to be completed in groups of two, or individually. It should be submitted as a report and presented in class. A project progress report (1/2 page) should be submitted periodically (see Course Schedule). The project should contain the problem description, the code, the benchmarking, and a discussion. For a good presentation, read Quinn's effective presentation techniques guidelines.

 

Grade Distribution:

 

95 - 100   A

90 - 94     A-

87 - 89     B+

83 - 86     B

80 - 82     B-

77 - 79     C+

73 - 76     C

70 - 72     C-

67 - 69     D+

63 - 66     D

60 - 62     D-

0  - 59      F

Current Final Projects

NOTE: The projects may be continued: CS496 Individual Study (up to 4 credits) or CS458 AI Project (2 credits).

 

Final Projects From Previous Years

2007/08

Ant Colony Optimization for Graph Coloring - Brandon Wysocki, Benjamin Sisson

Ordered Fuzzy ARTMAP for Predicting HIV-1 Protease Inhibitors - Christopher B. Abdul-Wahid, Grant I.  Barker

Genetic algorithms in investment decision making  modeling - Michael Wilson, Steven Curtis

Attack detection in computer networks using a neural network approach - Hsun-Hung Chien

A Genetic Approach for Crowd Simulation - Kevin Venables, Jason White

2006/07

Data Clustering with Particle Swarms - Jarrett Sauby

SexualGA: Gender-Specific Selection for Genetic Algorithms - Robb Berry

User Authentication using Backpropagation - Ted Steffen

Computational Intelligence Techniques for Solving Rubik’s Cube - Joel Giese, Berk Erkul

Modeling Civil Violence: An Evolutionary Multi-Agent Approach  - Charles Stahl, Abe Dybvig

A Neural Network Application for Attack Detection in Computer Networks - Toby Lewandoski

A Self-Organizing Map Approach for Clustering of XML Documents - Sorin Bucse

2005/06

Web Data Mining - Jessica and Aaron Berglund

Fuzzy ARTMAP Function Learning for Chess - Luke Magill

Ant Colony Optimization Applied to the Seega Game - Andrew Szydlowski, Andrew Howell

CWU Monsters Game - Luke Arntson, Loren Harris

Code Breaking - Chris Lee

Language Processor - Blaire Sherman

Password Authentication using Backpropagation - Jonathan Widger

2004/05

Computational Chemistry - Sarah Abdul-Wahid, Catharine Collar

Voice Recognition - Virgil Mednick

Email Data Mining - Robert Mitchell

Swarm Theory and Enemy Armor - Eric Newhouse

Optimization of Buffer Sizes in Asynchronous Assembly  - Yu-chih Hsiao

2003/04

Music Notation Convertor: Andreas Stefik

Swarm Intelligence in Checker: Kelly McBride, Tye Wick

Neural Networks in Chess: Ashur Odah, Joe Lemley, Phil Leder, Pushpinder Heer

Spam Filtering using Computational Intelligence Techniques: Aaron St. John, Cory Stuart, Michael West

Japanese Kanji Character Recognition: Andrew Pickard, Benjamin Rooney

Customer Satisfaction Measuring using Neural Networks: Logan Riggs, Tom Rockey, Michael Pankiewcz

Lectures

The slides for lectures and additional material can be found in the shared directory on Neve.

Software

The source code of the textbook is written in C and C++ and is shareware. It can be downloaded from http://www.computelligence.org/issue/CICI/CICI.html. You are welcome to use it for classroom or personal learning. Here is the list of the software modules:

Genetic algorithm
Particle swarm optimization
Back-propagation neural network
Learning vector quantization neural network
Self-organizing feature map neural network
Evolutionary back-propagation neural network
Fuzzy rule system
Evolutionary fuzzy rule system
Fuzzy evolutionary fuzzy rule system
Neural network explanation facility

Free software can be also found at:

Stuttgart Neural Network Simulator

The Java Object Oriented Neural Network (JOONE) is an open source project that offers a highly adaptable neural network for Java programmers. The source code is freely available. JOONE can allow you to create neural networks easily from a Java program. JOONE supports many features, such as multithreading and distributed processing. This means that JOONE can take advantage of multiprocessor computers and multiple computers to distribute the processing load.

ECG 11: A Java-based Evolutionary Computation and  Genetic Programming Research System (George Mason University).

Additional Reading

Zurada, J. Introduction to Artificial Neural Systems. West Publishing Company, St. Paul, 1992. I have used this textbook for several years in Brasov (Romania).

Haykin, S. Neural Networks - A Comprehensive Foundation. Macmillan College Publishing Company, New York, 1999 (second edition). It is generally considered as one of the best.

de Castro, L.N. Fundamentals of Natural Computing. Chapman & Hall/CRC, 2006. Presents a wide-ranging survey of techniques of nature-inspired computing.

Engelbrecht, A.P. Fundamentals of Computational Swarm Intelligence, Wiley, 2005. A good overview of evolutionary computation, particle swarm optimization (PSO), and ant algorithms, with their connections to optimization theory.

Engelbrecht, A.P. Computational Intelligence: An Introduction, Wiley, NY, 2007, second edition. Arguably, the best compendium on computational intelligence, but not a good textbook.

Jones, M. T. AI Application Programming, second edition, Charles River Media, Hingham, Massachusetts, 2005. It has some useful implementations.

Links

Gurney's Notes help you to learn about the basic concepts and ideas in artificial neural networks.

DSI Neural Networks Group is a complete source of electronic information

Genetic Algorithm Tutorial -  this site gives a short introduction to genetic algorithms.

Machine Learning Datasets is a very good source of benchmarks for testing your neural implementations.

Ant Colony Optimization is a source of tutorials.

SwarmWiki, hosted by the Center for the Study of Complex Systems at the University of Michigan.

Particle swarm optimization (PSO) is a population based stochastic optimization technique developed by Dr. Eberhart and Dr. Kennedy in 1995, inspired by social behavior of bird flocking or fish schooling.

A Brief History of Connectionism by D. A. Medler, Neural Computing Surveys, 1, 1999, 61-101.

IEEE Computational Intelligence Society

Neural Computing Research Programs Worldwide

Fuzzy Sets and Systems, a nice collection of resources from Robert Fuller.

Neural Java: Neural Networks Tutorial with Java Applets is a series of exercises and demos. Each exercise consists of a short introduction, a small demonstration program written in Java (Java Applet), and a series of questions which are intended as an invitation to play with the programs and explore the possibilities of different algorithms. You can download the source code of the applets.

Multiagents, contains many links on intelligent agents.

Course Schedule

Date

Topic

Item due

Readings

01/04

Introduction

 

Syllabus, Ch. 1

01/07

Preliminaries in CI and NN

 

Ch.  2 & 5

01/08

Lab

 

 

01/09

The Artificial Neuron

 

Ch. 5

01/11

Learning in NN

 

Ch. 5

01/14

Learning in NN

HW1 (The Perceptron Learning Rule)

 

Ch. 5

01/15

Learning in NN

 

Ch. 5

01/16

Mathematical Complements

HW1 due

 

01/18

Mathematical Complements

 

 

01/21

No School, M. L. King

 

 

01/22

Genetic Algorithms

HW2 (Function minimization)

 

Ch.  3 & 4

01/23

Genetic Algorithms