Difference between revisions of "BSc: Nature Inspired Computing"

From IU
Jump to navigation Jump to search
Line 127: Line 127:
 
=== Section 1 ===
 
=== Section 1 ===
   
==== Section title: basic concepts of Nature Inspired Computing ====
+
==== Section title ====
  +
Basic concepts of Nature Inspired Computing
 
   
 
==== Topics covered in this section ====
 
==== Topics covered in this section ====
Line 140: Line 140:
 
*Genetic Programming
 
*Genetic Programming
 
*Symbolic Regression
 
*Symbolic Regression
 
 
   
 
==== What forms of evaluation were used to test students’ performance in this section? ====
 
==== What forms of evaluation were used to test students’ performance in this section? ====
Line 186: Line 184:
 
# What are Cellular Automata?
 
# What are Cellular Automata?
 
# Give examples of Evolutionary Algorithms
 
# Give examples of Evolutionary Algorithms
 
   
 
==== Typical questions for seminar classes (labs) within this section ====
 
==== Typical questions for seminar classes (labs) within this section ====
Line 194: Line 191:
 
# Write a Genetic Algorithm as a pseudocode
 
# Write a Genetic Algorithm as a pseudocode
 
# What are the characteristics of Genetic Algorithms
 
# What are the characteristics of Genetic Algorithms
 
   
 
==== Test questions for final assessment in this section ====
 
==== Test questions for final assessment in this section ====
Line 213: Line 209:
 
#:c. Gradient descent (correct)
 
#:c. Gradient descent (correct)
 
#:d. All three of the above
 
#:d. All three of the above
 
   
 
=== Section 2 ===
 
=== Section 2 ===
   
==== Section title: Computational complexity, ANN ====
+
==== Section title ====
  +
Computational complexity, ANN
 
   
 
==== Topics covered in this section ====
 
==== Topics covered in this section ====
Line 234: Line 229:
 
* Self Organizing Maps
 
* Self Organizing Maps
 
* Deep Learning
 
* Deep Learning
 
 
   
 
==== What forms of evaluation were used to test students’ performance in this section? ====
 
==== What forms of evaluation were used to test students’ performance in this section? ====
Line 281: Line 274:
 
# What are Recurrent ANN?
 
# What are Recurrent ANN?
 
# What is deep learning?
 
# What is deep learning?
 
   
 
==== Typical questions for seminar classes (labs) within this section ====
 
==== Typical questions for seminar classes (labs) within this section ====
Line 289: Line 281:
 
# What is a fully connected ANN?
 
# What is a fully connected ANN?
 
# Draw structure of LSTM RNN
 
# Draw structure of LSTM RNN
 
   
 
==== Test questions for final assessment in this section ====
 
==== Test questions for final assessment in this section ====
Line 308: Line 299:
 
#:c. LSTM cells
 
#:c. LSTM cells
 
#:d. Auto-encoding layers
 
#:d. Auto-encoding layers
 
   
 
=== Section 3 ===
 
=== Section 3 ===
   
==== Section title: Optimization, PSO ====
+
==== Section title ====
  +
Optimization, PSO
 
   
 
==== Topics covered in this section ====
 
==== Topics covered in this section ====
Line 324: Line 314:
 
* Harmony Search
 
* Harmony Search
 
* Hebbian Learning, Boltzmann Machines
 
* Hebbian Learning, Boltzmann Machines
 
 
 
   
 
==== What forms of evaluation were used to test students’ performance in this section? ====
 
==== What forms of evaluation were used to test students’ performance in this section? ====
Line 371: Line 358:
 
# What is a multi-objective optimization?
 
# What is a multi-objective optimization?
 
# What is Ant Colony Optimization?
 
# What is Ant Colony Optimization?
 
 
   
 
==== Typical questions for seminar classes (labs) within this section ====
 
==== Typical questions for seminar classes (labs) within this section ====
Line 380: Line 365:
 
# How does the number of particles influence PSO performance?
 
# How does the number of particles influence PSO performance?
 
# How do local minima influence PSO performance?
 
# How do local minima influence PSO performance?
 
 
   
 
==== Test questions for final assessment in this section ====
 
==== Test questions for final assessment in this section ====

Revision as of 13:20, 11 July 2022

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:

Course grade breakdown
Component Points
Labs/seminar classes 20
Interim performance assessment (class participation) 30
Exams 50

Grades range

Course grading 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:

Course Sections
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

  1. What is an approximation?
  2. What is a heuristics?
  3. What are the main Characteristics of Natural Systems/Algorithms?
  4. What are Cellular Automata?
  5. Give examples of Evolutionary Algorithms

Typical questions for seminar classes (labs) within this section

  1. Provide an example of approximation?
  2. What is the difference between Approximation algorithms and heuristics
  3. Write an Evolutionary Algorithm as a pseudocode
  4. Write a Genetic Algorithm as a pseudocode
  5. What are the characteristics of Genetic Algorithms

Test questions for final assessment in this section

  1. Genetic Algorithms can be used for:
    a. Optimization (correct)
    b. Feedback Control
    c. Automatic Differentiation
    d. Numeric Geometry
  2. Applications of evolutionary algorithms do not include
    a. Robotics
    b. Design
    c. Optimization
    d. Measurements (correct)
  3. 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

  1. What are Turing machines?
  2. What is computational complexity?
  3. What are artificial neural networks?
  4. What are Recurrent ANN?
  5. What is deep learning?

Typical questions for seminar classes (labs) within this section

  1. Give examples of algorithms of different computational complexities
  2. Give example of how one computes computational complexity
  3. What is a basic structure of an ANN?
  4. What is a fully connected ANN?
  5. Draw structure of LSTM RNN

Test questions for final assessment in this section

  1. 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
  2. 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
  3. 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

  1. What is a Foraging Algorithm
  2. What is PSO?
  3. What is a multi-objective optimization?
  4. What is Ant Colony Optimization?

Typical questions for seminar classes (labs) within this section

  1. Write PSO as a diagram
  2. Give example of a problem that can be solved using PSO
  3. Write a code implementing PSO for a problem with two variables
  4. How does the number of particles influence PSO performance?
  5. How do local minima influence PSO performance?

Test questions for final assessment in this section

  1. Which of the following can be used to solve optimization problems?
    a. PSO, Genetic algorithm (correct)
    b. CNN, PSO
    c. CNN
    d. RNN, PSO
  2. 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