Certificate Course
Neural Networks, Genetic Algorithm, Gene Expression Programming and Optimization
Text Book
The Nonlinear Workbook
Chaos, Fractals, Cellular Automata, Neural Networks,
Genetic Algorithms, Gene Expression Programming, Wavelets, Fuzzy Logic
with C++, Java and SymbolicC++ Programs, second edition
by
Willi-Hans Steeb
World Scientific, Singapore 2008
ISBN 981 281 852 9
Classical and Quantum Computing
with C++ and Java simulations
by
Yorick Hardy and Willi-Hans Steeb
Birkhauser, Basel 2002
ISBN 3764366109
The course can be done in self-study.
Artificial neural networks model the functioning of biological
neural networks like the brain. They are currently extensively used for
pattern recognition (e.g. signature identification on cheques), financial
forecasting, control and medical diagnosis. Neural networks are simple models
for computing using massive parallelism.
This course gives a thorough background on supervised
and unsupervised learning in neural networks.
Genetic algorithms are derived from our current understanding of genetic evolution
in nature. They are widely used for finding
the global minimum of a cost or objective function (especially when
many local minima are present). Genetic algorithms can even be used
to write computer programs. The algorithms are generally simple and find
near optimimum solutions very quickly.
This course is ideally suited for engineers (especially from the fields
pattern recognition and control), people interested in stock-market forecasting,
medical professionals and computer scientists.
Prerequisites
- First-year level calculus.
- Background in object-oriented programming in C++ (preferably successful completion
of the certificate course Object_Oriented Programming in C++).
Neural Networks
- Introduction
- Why neural networks ?
- Typical neural network problems
- Biological background
- Modeling neurons
- Supervised learning in feed-forward neural networks
- Single layer perceptron
- The Backpropagation algorithm
- Improvements to the Backpropagation algorithm
- C++ program examples
- Supervised learning in recurrent neural networks
- Dynamic learning in recurrent neural networks
- Unfolding a recurrent neural network as a feed-forward neural network
- Unsupervised learning
- Hopfield neural networks
- Principle components networks
- Competitive learning and Kohonen networks
Genetic Algorithms
- The sequential genetic algorithm.
- Encoding your problem space on a chromosome.
- Operators for genetic evolution.
- Markov chain analysis of certain genetic algorithms.
- Bit sets in C++ and Java.
- Problems with constraints (Traveling salesman problem, Knapsack problem, Four colour problem)
- Deterministic alternatives: Discrete global optimization
- A C++ class library for genetic algorithms (with example programs)
- Example applications
Genetic Programming
- Writing computer programs using genetic algorithm techniques.
- Symbolic approximation of functions.
Gene Expression Programming
- Writing computer programs using genetic algorithm techniques.
- Overcome the complexities and difficulties of genetic programming.
- Symbolic approximation of functions.
Timetable and Enrollment Forms.
For further information contact Prof. W.-H. Steeb