Welcome to CSCI 340 — Fall 2024
Evolutionary computation is a family of powerful optimization algorithms often used to find solutions to computationally intractable problems. The study of these algorithms and their application to problems is a large research area within computer science. Course topics include combinatorial optimization, genetic algorithms, particle swarm optimization, search space analysis, multi-objective optimization, and neuroevolution. Research practices and technical writing will be emphasized for course assignments/projects.
The content used to generate the course can be found on GitHub
Professors
Dr. James Hughes
jhughes at stfx.ca
Annex 20B
Lecture
Tue 8:30 - 9:25 (K1), MULH 4024
Wed 10:30 - 11:25 (K2), MULH 4024
Fri 9:30 - 10:25 (K3), MULH 4024
Office Hours
Tue, 12:30 – 13:30
Wed, 12:30 – 13:30
Thr, 13:30 – 14:30
Fri, 13:30 – 14:00
YouTube
- 1. Introduction
- 2. Implementing a Genetic Algorithm
- 3. Experimenting with a Genetic Algorithm
- 4. Problems
- 5. Origin
- 6. Overview
- 7. Representation
- 8. \(n\) Queens Genetic Algorithm
- 9. Experimenting with the \(n\) Queens Genetic Algorithm
- 10. Genetic Operators
- 11. Selection and Population Management
- 12. Genetic Programming
- 13. Symbolic Regression with Genetic Programming
- 14. Experimenting with Symbolic Regression
- 15. Tuning Hyperparameters
- 16. What Comparing Distributions Means
- 17. Multi-Objective Problems
- 18. Particle Swarm Optimization
- 19. Implementing PSO