Prerequisites: CS 302, MATH 330

Syllabus

CS 457: Computational Intelligence

Winter 2009

Meeting Times

Lect: 1:00 - 1:50 MWF, HB 106

Labs: 1:00 - 1:50 Tuesday, HB 203

Instructor

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

TA

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 (LVQ)

Self-Organizing Feature Maps

Radial Basis Function Neural Networks

Support Vector Machines

Genetic Algorithms

Fuzzy Sets and Fuzzy Logic

Fuzzy Neural Networks

Fuzzy ARTMAP

Swarm Intelligence and Ant Colony Optimization

Feature Selection

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

2008/09

Integrating  the neuro-genetic CWU Chess engine  in the ARENA GUI – Kyle Littlefield

Society and Civilization: Simulation of Human Behavior – Martin Olevnik

Expert system Asteroids - Kasey Loomis

A GA approach for adaptive radiation - Wenbin Mei

Sudoku solution via evolutionary computation Eugen Roseberry

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

CIlib (Computational Intelligence Library) is a Java framework for developing Computational Intelligence software (University of Pretoria, South Africa).

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).

ARTMAP software (Boston University)

LIBSVM -- A Library for Support Vector Machines

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

1/7

Introduction

 

Syllabus, Ch. 1

1/9

Preliminaries in CI and NN

 

Ch.  2 & 5

1/12

The Artificial Neuron

 

Ch. 5

1/13

Lab

 

1/14

Learning in NN

 

Ch. 5

1/16

Learning in NN

 

Ch. 5

1/19

No School, M. L. King

1/20

Learning in NN

HW1 (The Perceptron Learning Rule)

 

Ch. 5

1/21

Learning in NN

 

Ch. 5

1/23

Mathematical Complements

HW1 due

 

1/26

Mathematical Complements

 

 

1/27

Genetic Algorithms

HW2 (Function minimization)

 

Ch.  3 & 4

1/28

Genetic Algorithms

 

Ch.  3 & 4

1/30

The Perceptron Convergence Theorem

HW3 (Character Recognition)

HW2 due

Ch. 5

2/2

Generalized Delta Learning Rule and Backpropagation

 

Ch.  5 & 6

2/3

Function Approximation and Kolmogorov`s Theorem

HW3 due

 

2/4

Hopfield Neural Networks

HW4 (GA and NN)

Project Preliminary Report

Ch.  5 & 6

2/6

Hopfield Neural Networks

 

Ch.  5 & 6

2/9

Associative Memories

HW4 due

Ch.  5 & 6

2/10

Self-Organizing NN and LVQ

 

Ch.  5 & 6

2/11

Self-Organizing Maps (SOM)

 

Ch.  5 & 6

2/13

Radial Basis Function Networks (RBF)

Progress Report

Ch.  5 & 6

2/16

No School, Presidents Day

2/17

Support Vector Machine (SVM)

 

 The SVM Guide

2/18

Fuzzy Rules and Expert Systems

 

Ch.  7 & 8,

Fuzzy Logic Tutorial

2/20

Fuzzy Sets and Fuzzy Logic

 

Ch.  7 & 8

2/23

Fuzzy Neural Networks

 

Ch.  7 & 8,

Cai & Kwan`s papers

2/24

Fuzzy ARTMAP

Progress Report

Carpenter`s paper

2/25

Swarm Intelligence

2/27

Ant Colony Optimization

 

Dorigo`s paper

3/2

Validation

3/3

Feature Selection

3/4

The Computational Complexity of Computational Intelligence Models

3/6

Lab

 

 

3/9

Lab

3/10

Lab

3/11

Lab

3/13

Lab

 

 

3/18

Project Presentations, 12:00-2:00

 

 

ADA Statement

Students with disabilities who wish to set up academic adjustment in this class should give me a copy of their "Confirmation of Eligibility for Academic Adjustment" from the Disability Support Services Office as soon as possible so we can discuss how the approved adjustment will be implemented in this class. Students without this form should contact the Disability Support Services Office, Buillon 205 or dssrecept@cwu.edu or 963-2171.

Caveat

The schedule and procedures for this course are subject to change. It is the student's responsibility to learn of and adjust to changes.