BSc: Nature Inspired Computing

From IU
(Redirected from BSc:NatureInspiredComputing)
Jump to navigation Jump to search

Nature Inspired Computing

  • Course name: Nature Inspired Computing
  • Code discipline: CSE340
  • Subject area:

Short Description

This course covers the following concepts: .

Prerequisites

Prerequisite subjects

Prerequisite topics

Course Topics

Course Sections and Topics
Section Topics within the section
Basic concepts of Nature Inspired Computing
  1. Course Introduction
  2. Approximation algorithms vs heuristics
  3. Characteristics of Natural Systems/Algorithms
  4. Cellular Automata
  5. Evolutionary Algorithms
  6. Dynamic Environments
  7. Genetic Programming
  8. Symbolic Regression
Computational complexity, ANN
  1. Turing machines, computational complexity
  2. NP-hardness
  3. Reductions
  4. Learning Classifier Systems
  5. Co-evolutionary Algorithms
  6. Fitness Landscape Analysis
  7. Immunocomputing
  8. Swarms/Flocking
  9. Feedforward and Recurrent Networks, Backpropagation
  10. Spiking Neural Networks
  11. Self Organizing Maps
  12. Deep Learning
Optimization, PSO
  1. Ant Colony Optimization
  2. Ant Clustering Algorithm
  3. Particle Swarm Optimization
  4. Multiobjectiveness
  5. Foraging Algorithms
  6. Harmony Search
  7. Hebbian Learning, Boltzmann Machines

Intended Learning Outcomes (ILOs)

What is the main 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.

ILOs defined at three levels

Level 1: What concepts should a student know/remember/explain?

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

Level 2: What basic practical skills should a student be able to perform?

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

Level 3: What complex comprehensive skills should a student be able to apply in real-life scenarios?

By the end of the course, the students should be able to ...

  • Reductions
  • Empirical Algorithms
  • Evolutionary Algorithms
  • Co-evolutionary Algorithms
  • Genetic Programming

Grading

Course grading range

Grade Range Description of performance
A. Excellent 90-100 -
B. Good 75-89 -
C. Satisfactory 60-74 -
D. Poor 0-59 -

Course activities and grading breakdown

Activity Type Percentage of the overall course grade
Labs/seminar classes 20
Interim performance assessment (class participation) 30
Exams 50

Recommendations for students on how to succeed in the course

Resources, literature and reference materials

Open access resources

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

Closed access resources

Software and tools used within the course

Teaching Methodology: Methods, techniques, & activities

Activities and Teaching Methods

Activities within each section
Learning Activities Section 1 Section 2 Section 3
Development of individual parts of software product code 1 1 1
Homework and group projects 1 1 1
Midterm evaluation 1 1 1
Testing (written or computer based) 1 1 1
Discussions 1 1 1

Formative Assessment and Course Activities

Ongoing performance assessment

Section 1

Activity Type Content Is Graded?
Question What is an approximation? 1
Question What is a heuristics? 1
Question What are the main Characteristics of Natural Systems/Algorithms? 1
Question What are Cellular Automata? 1
Question Give examples of Evolutionary Algorithms 1
Question Provide an example of approximation? 0
Question What is the difference between Approximation algorithms and heuristics 0
Question Write an Evolutionary Algorithm as a pseudocode 0
Question Write a Genetic Algorithm as a pseudocode 0
Question What are the characteristics of Genetic Algorithms 0

Section 2

Activity Type Content Is Graded?
Question What are Turing machines? 1
Question What is computational complexity? 1
Question What are artificial neural networks? 1
Question What are Recurrent ANN? 1
Question What is deep learning? 1
Question Give examples of algorithms of different computational complexities 0
Question Give example of how one computes computational complexity 0
Question What is a basic structure of an ANN? 0
Question What is a fully connected ANN? 0
Question Draw structure of LSTM RNN 0

Section 3

Activity Type Content Is Graded?
Question What is a Foraging Algorithm 1
Question What is PSO? 1
Question What is a multi-objective optimization? 1
Question What is Ant Colony Optimization? 1
Question Write PSO as a diagram 0
Question Give example of a problem that can be solved using PSO 0
Question Write a code implementing PSO for a problem with two variables 0
Question How does the number of particles influence PSO performance? 0
Question How do local minima influence PSO performance? 0

Final assessment

Section 1

  1. Genetic Algorithms can be used for:
    • Optimization (correct)
    • Feedback Control
    • Automatic Differentiation
    • Numeric Geometry
  2. Applications of evolutionary algorithms do not include
    • Robotics
    • Design
    • Optimization
    • Measurements (correct)
  3. Which of the following algorithms suffers from local minima of the objective function
    • Genetic algorithm
    • Evolutionary algorithm
    • Gradient descent (correct)
    • All three of the above

Section 2

  1. Which of the following are neural networks architectures?
    • ANN, RNN, CNN
    • RNN, CNN, LSTM
    • RNN, CNN, fully connected (correct)
    • 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?
    • Reinforcement learning, evolutionary algorithms (correct)
    • YOLO
    • Cauterization
    • Supervised learning
  3. What distinguishes deep learning?
    • The number of layers of the network, and the methods of gradient propagation aiming at lowering the effects of the vanishing gradients (correct)
    • Fully-connected layers
    • LSTM cells
    • Auto-encoding layers

Section 3

  1. Which of the following can be used to solve optimization problems?
    • PSO, Genetic algorithm (correct)
    • CNN, PSO
    • CNN
    • RNN, PSO
  2. Which of the following can be used to find acceptable parameters of a process, given inequality constraints?
    • PSO, Genetic algorithm (correct)
    • CNN, PSO
    • CNN
    • RNN, PSO

The retake exam

Section 1

Section 2

Section 3