BSc: Nature Inspired Computing
Nature Inspired Computing
- Course name: Nature Inspired Computing
- Course number: CSE340
Course characteristics
Key concepts of the class
- Turing machines, computational complexity
- Approximation algorithms vs heuristics
- Evolutionary Algorithms
- Classification
- Optimization
What is the purpose of this course?
The main purpose of this is to introduce methods and algorithms inspired by naturally occurring phenomena and applying them to optimization, design and learning problems. The course focuses on learning implementation and analysis of such algorithms. These include evolutionary computation, swarm intelligence and neural networks.
Course Objectives Based on Bloom’s Taxonomy
What should a student remember at the end of the course?
By the end of the course, the students should be able to
- Basic concepts in Swarm intelligence concepts
- Basic concepts in Global optimization
- Basic concepts in Classification methods
What should a student be able to understand at the end of the course?
By the end of the course, the students should be able to
- Computational complexity
- Methods of computing computational complexity
- Methods of optimization in swarm intelligence
What should a student be able to apply at the end of the course?
By the end of the course, the students should be able to apply:
- Reductions
- Empirical Algorithms
- Evolutionary Algorithms
- Co-evolutionary Algorithms
- Genetic Programming
Course evaluation
The course has two major forms of evaluations:
Component | Points |
---|---|
Labs/seminar classes | 20 |
Interim performance assessment (class participation) | 30 |
Exams | 50 |
Grades range
A. Excellent | 90-100 |
B. Good | 75-89 |
C. Satisfactory | 60-74 |
D. Poor | 0-55 |
Resources and reference material
- Textbook: Bio-Inspired Artificial Intelligence: Theories, Methods, and Technologies, D. Floreano and C. Mattiussi (2008), MIT Press.
- Textbook: Siddique, N. and Adeli, H., 2015. Nature inspired computing: an overview and some future directions. Cognitive computation, 7(6), pp.706-714.
- Textbook: Coello, C.C., Dhaenens, C. and Jourdan, L. eds., 2009. Advances in multi-objective nature inspired computing (Vol. 272). Springer.
- Textbook: Khosravy, M., Gupta, N., Patel, N. and Senjyu, T. eds., 2020. Frontier applications of nature inspired computation. Springer Nature.
Course Sections
The main sections of the course and approximate hour distribution between them is as follows:
Section | Section Title | Teaching Hours |
---|---|---|
1 | basic concepts of Nature Inspired Computing | 12 |
2 | Computational complexity, ANN | 14 |
3 | Optimization, PSO | 10 |
Section 1
Section title
Basic concepts of Nature Inspired Computing
Topics covered in this section
- Course Introduction
- Approximation algorithms vs heuristics
- Characteristics of Natural Systems/Algorithms
- Cellular Automata
- Evolutionary Algorithms
- Dynamic Environments
- Genetic Programming
- Symbolic Regression
What forms of evaluation were used to test students’ performance in this section?
Yes/No | |
---|---|
Development of individual parts of software product code | 1 |
Homework and group projects | 1 |
Midterm evaluation | 1 |
Testing (written or computer based) | 1 |
Reports | 0 |
Essays | 0 |
Oral polls | 0 |
Discussions | 1 |
Typical questions for ongoing performance evaluation within this section
- What is an approximation?
- What is a heuristics?
- What are the main Characteristics of Natural Systems/Algorithms?
- What are Cellular Automata?
- Give examples of Evolutionary Algorithms
Typical questions for seminar classes (labs) within this section
- Provide an example of approximation?
- What is the difference between Approximation algorithms and heuristics
- Write an Evolutionary Algorithm as a pseudocode
- Write a Genetic Algorithm as a pseudocode
- What are the characteristics of Genetic Algorithms
Test questions for final assessment in this section
- Genetic Algorithms can be used for:
- a. Optimization (correct)
- b. Feedback Control
- c. Automatic Differentiation
- d. Numeric Geometry
- Applications of evolutionary algorithms do not include
- a. Robotics
- b. Design
- c. Optimization
- d. Measurements (correct)
- Which of the following algorithms suffers from local minima of the objective function
- a. Genetic algorithm
- b. Evolutionary algorithm
- c. Gradient descent (correct)
- d. All three of the above
Section 2
Section title
Computational complexity, ANN
Topics covered in this section
- Turing machines, computational complexity
- NP-hardness
- Reductions
- Learning Classifier Systems
- Co-evolutionary Algorithms
- Fitness Landscape Analysis
- Immunocomputing
- Swarms/Flocking
- Feedforward and Recurrent Networks, Backpropagation
- Spiking Neural Networks
- Self Organizing Maps
- Deep Learning
What forms of evaluation were used to test students’ performance in this section?
Yes/No | |
---|---|
Development of individual parts of software product code | 1 |
Homework and group projects | 1 |
Midterm evaluation | 1 |
Testing (written or computer based) | 1 |
Reports | 0 |
Essays | 0 |
Oral polls | 0 |
Discussions | 1 |
Typical questions for ongoing performance evaluation within this section
- What are Turing machines?
- What is computational complexity?
- What are artificial neural networks?
- What are Recurrent ANN?
- What is deep learning?
Typical questions for seminar classes (labs) within this section
- Give examples of algorithms of different computational complexities
- Give example of how one computes computational complexity
- What is a basic structure of an ANN?
- What is a fully connected ANN?
- Draw structure of LSTM RNN
Test questions for final assessment in this section
- Which of the following are neural networks architectures?
- a. ANN, RNN, CNN
- b. RNN, CNN, LSTM
- c. RNN, CNN, fully connected (correct)
- d. Reinforcement learning, Supervised learning
- Which types of machine learning can be used to learn policies for agents acting in dynamic environments, where marked datasets are not available?
- a. Reinforcement learning, evolutionary algorithms (correct)
- b. YOLO
- c. Cauterization
- d. Supervised learning
- What distinguishes deep learning?
- a. The number of layers of the network, and the methods of gradient propagation aiming at lowering the effects of the vanishing gradients (correct)
- b. Fully-connected layers
- c. LSTM cells
- d. Auto-encoding layers
Section 3
Section title
Optimization, PSO
Topics covered in this section
- Ant Colony Optimization
- Ant Clustering Algorithm
- Particle Swarm Optimization
- Multiobjectiveness
- Foraging Algorithms
- Harmony Search
- Hebbian Learning, Boltzmann Machines
What forms of evaluation were used to test students’ performance in this section?
Yes/No | |
---|---|
Development of individual parts of software product code | 1 |
Homework and group projects | 1 |
Midterm evaluation | 1 |
Testing (written or computer based) | 1 |
Reports | 0 |
Essays | 0 |
Oral polls | 0 |
Discussions | 1 |
Typical questions for ongoing performance evaluation within this section
- What is a Foraging Algorithm
- What is PSO?
- What is a multi-objective optimization?
- What is Ant Colony Optimization?
Typical questions for seminar classes (labs) within this section
- Write PSO as a diagram
- Give example of a problem that can be solved using PSO
- Write a code implementing PSO for a problem with two variables
- How does the number of particles influence PSO performance?
- How do local minima influence PSO performance?
Test questions for final assessment in this section
- Which of the following can be used to solve optimization problems?
- a. PSO, Genetic algorithm (correct)
- b. CNN, PSO
- c. CNN
- d. RNN, PSO
- Which of the following can be used to find acceptable parameters of a process, given inequality constraints?
- a. PSO, Genetic algorithm (correct)
- b. CNN, PSO
- c. CNN
- d. RNN, PSO