Difference between revisions of "BSc: Nature Inspired Computing"
Jump to navigation
Jump to search
R.sirgalina (talk | contribs) |
|||
(3 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
+ | |||
= Nature Inspired Computing = |
= Nature Inspired Computing = |
||
+ | * '''Course name''': Nature Inspired Computing |
||
+ | * '''Code discipline''': CSE340 |
||
+ | * '''Subject area''': |
||
+ | == Short Description == |
||
− | * <span>'''Course name:'''</span> Nature Inspired Computing |
||
+ | This course covers the following concepts: . |
||
− | * <span>'''Course number:'''</span> CSE340 |
||
− | == |
+ | == Prerequisites == |
− | === |
+ | === Prerequisite subjects === |
− | * Turing machines, computational complexity |
||
− | * Approximation algorithms vs heuristics |
||
− | * Evolutionary Algorithms |
||
− | * Classification |
||
− | * Optimization |
||
+ | === Prerequisite topics === |
||
− | === What is the purpose of this course? === |
||
+ | == Course Topics == |
||
+ | {| class="wikitable" |
||
+ | |+ Course Sections and Topics |
||
+ | |- |
||
+ | ! Section !! Topics within the section |
||
+ | |- |
||
+ | | Basic concepts of Nature Inspired Computing || |
||
+ | # Course Introduction |
||
+ | # Approximation algorithms vs heuristics |
||
+ | # Characteristics of Natural Systems/Algorithms |
||
+ | # Cellular Automata |
||
+ | # Evolutionary Algorithms |
||
+ | # Dynamic Environments |
||
+ | # Genetic Programming |
||
+ | # Symbolic Regression |
||
+ | |- |
||
+ | | Computational complexity, ANN || |
||
+ | # 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 |
||
+ | |- |
||
+ | | Optimization, PSO || |
||
+ | # Ant Colony Optimization |
||
+ | # Ant Clustering Algorithm |
||
+ | # Particle Swarm Optimization |
||
+ | # Multiobjectiveness |
||
+ | # Foraging Algorithms |
||
+ | # Harmony Search |
||
+ | # 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. |
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 === |
||
− | == 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 |
||
+ | ==== 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 Swarm intelligence concepts |
||
* Basic concepts in Global optimization |
* Basic concepts in Global optimization |
||
* Basic concepts in Classification methods |
* Basic concepts in Classification methods |
||
− | ==== What should a student be able to |
+ | ==== 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 ... |
||
− | |||
− | By the end of the course, the students should be able to |
||
− | |||
* Computational complexity |
* Computational complexity |
||
* Methods of computing computational complexity |
* Methods of computing computational complexity |
||
* Methods of optimization in swarm intelligence |
* Methods of optimization in swarm intelligence |
||
− | ==== What should a student be able to apply |
+ | ==== 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 ... |
||
− | |||
− | By the end of the course, the students should be able to apply: |
||
− | |||
* Reductions |
* Reductions |
||
* Empirical Algorithms |
* Empirical Algorithms |
||
* Evolutionary Algorithms |
* Evolutionary Algorithms |
||
* Co-evolutionary Algorithms |
* Co-evolutionary Algorithms |
||
− | * Genetic Programming |
+ | * Genetic Programming |
+ | == Grading == |
||
− | === Course |
+ | === Course grading range === |
+ | {| class="wikitable" |
||
− | |||
+ | |+ |
||
− | The course has two major forms of evaluations: |
||
+ | |- |
||
− | |||
+ | ! Grade !! Range !! Description of performance |
||
− | <div id="tab:OSCourseGrading"> |
||
+ | |- |
||
− | |||
+ | | A. Excellent || 90-100 || - |
||
− | {| style="border-spacing: 2px; border: 1px solid darkgray;" |
||
− | |+ '''Course grade breakdown''' |
||
− | !align="center"| '''Component''' |
||
− | ! '''Points''' |
||
|- |
|- |
||
+ | | B. Good || 75-89 || - |
||
− | | Labs/seminar classes |
||
− | |align="center"| 20 |
||
|- |
|- |
||
+ | | C. Satisfactory || 60-74 || - |
||
− | | Interim performance assessment (class participation) |
||
− | |align="center"| 30 |
||
|- |
|- |
||
+ | | D. Poor || 0-59 || - |
||
− | | Exams |
||
− | |align="center"| 50 |
||
|} |
|} |
||
− | </div> |
||
+ | === Course activities and grading breakdown === |
||
− | === Grades range === |
||
+ | {| class="wikitable" |
||
− | |||
+ | |+ |
||
− | <div id="tab:OSCourseGradingRange"> |
||
− | |||
− | {| style="border-spacing: 2px; border: 1px solid darkgray;" |
||
− | |+ Course grading range |
||
|- |
|- |
||
+ | ! Activity Type !! Percentage of the overall course grade |
||
− | | A. Excellent |
||
− | |align="center"| 90-100 |
||
|- |
|- |
||
+ | | Labs/seminar classes || 20 |
||
− | | B. Good |
||
− | |align="center"| 75-89 |
||
|- |
|- |
||
+ | | Interim performance assessment (class participation) || 30 |
||
− | | C. Satisfactory |
||
− | |align="center"| 60-74 |
||
|- |
|- |
||
− | | |
+ | | Exams || 50 |
− | |align="center"| 0-55 |
||
|} |
|} |
||
− | </div> |
||
+ | === Recommendations for students on how to succeed in the course === |
||
− | === 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. |
||
+ | == Resources, literature and reference materials == |
||
− | == Course Sections == |
||
+ | === Open access resources === |
||
− | The main sections of the course and approximate hour distribution between them is |
||
+ | * Textbook: Bio-Inspired Artificial Intelligence: Theories, Methods, and Technologies, D. Floreano and C. Mattiussi (2008), MIT Press. |
||
− | as follows: |
||
+ | * 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 === |
||
− | <div id="tab:OSCourseSections"> |
||
+ | |||
− | {| style="border-spacing: 2px; border: 1px solid darkgray;" |
||
+ | === Software and tools used within the course === |
||
− | |+ Course Sections |
||
+ | |||
− | !align="center"| '''Section''' |
||
+ | = Teaching Methodology: Methods, techniques, & activities = |
||
− | ! '''Section Title''' |
||
+ | |||
− | !align="center"| '''Teaching Hours''' |
||
+ | == Activities and Teaching Methods == |
||
+ | {| class="wikitable" |
||
+ | |+ Activities within each section |
||
|- |
|- |
||
+ | ! Learning Activities !! Section 1 !! Section 2 !! Section 3 |
||
− | |align="center"| 1 |
||
− | | basic concepts of Nature Inspired Computing |
||
− | |align="center"| 12 |
||
|- |
|- |
||
+ | | Development of individual parts of software product code || 1 || 1 || 1 |
||
− | |align="center"| 2 |
||
− | | Computational complexity, ANN |
||
− | |align="center"| 14 |
||
|- |
|- |
||
+ | | Homework and group projects || 1 || 1 || 1 |
||
− | |align="center"| 3 |
||
+ | |- |
||
− | | Optimization, PSO |
||
+ | | Midterm evaluation || 1 || 1 || 1 |
||
− | |align="center"| 10 |
||
− | | |
+ | |- |
+ | | Testing (written or computer based) || 1 || 1 || 1 |
||
− | |||
+ | |- |
||
− | |||
+ | | Discussions || 1 || 1 || 1 |
||
− | </div> |
||
+ | |} |
||
− | === Section 1 === |
||
+ | == Formative Assessment and Course Activities == |
||
− | |||
− | ==== 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? ==== |
||
+ | === Ongoing performance assessment === |
||
− | <div id="tab:OSSectionEval1"> |
||
+ | ==== Section 1 ==== |
||
− | {| style="border-spacing: 2px; border: 1px solid darkgray;" |
||
+ | {| class="wikitable" |
||
− | |''' ''' |
||
+ | |+ |
||
− | ! '''Yes/No''' |
||
|- |
|- |
||
+ | ! Activity Type !! Content !! Is Graded? |
||
− | | Development of individual parts of software product code |
||
− | |align="center"| 1 |
||
|- |
|- |
||
+ | | Question || What is an approximation? || 1 |
||
− | | Homework and group projects |
||
− | |align="center"| 1 |
||
|- |
|- |
||
+ | | Question || What is a heuristics? || 1 |
||
− | | Midterm evaluation |
||
− | |align="center"| 1 |
||
|- |
|- |
||
+ | | Question || What are the main Characteristics of Natural Systems/Algorithms? || 1 |
||
− | | Testing (written or computer based) |
||
− | |align="center"| 1 |
||
|- |
|- |
||
+ | | Question || What are Cellular Automata? || 1 |
||
− | | Reports |
||
− | |align="center"| 0 |
||
|- |
|- |
||
+ | | Question || Give examples of Evolutionary Algorithms || 1 |
||
− | | Essays |
||
− | |align="center"| 0 |
||
|- |
|- |
||
+ | | Question || Provide an example of approximation? || 0 |
||
− | | Oral polls |
||
− | |align="center"| 0 |
||
|- |
|- |
||
+ | | Question || What is the difference between Approximation algorithms and heuristics || 0 |
||
− | | Discussions |
||
− | |align="center"| 1 |
||
− | |} |
||
− | |||
− | |||
− | </div> |
||
− | |||
− | ==== 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? ==== |
||
− | |||
− | <div id="tab:OSSectionEval2"> |
||
− | |||
− | {| style="border-spacing: 2px; border: 1px solid darkgray;" |
||
− | |''' ''' |
||
− | ! '''Yes/No''' |
||
|- |
|- |
||
+ | | Question || Write an Evolutionary Algorithm as a pseudocode || 0 |
||
− | | Development of individual parts of software product code |
||
− | |align="center"| 1 |
||
|- |
|- |
||
+ | | Question || Write a Genetic Algorithm as a pseudocode || 0 |
||
− | | Homework and group projects |
||
− | |align="center"| 1 |
||
|- |
|- |
||
+ | | Question || What are the characteristics of Genetic Algorithms || 0 |
||
− | | Midterm evaluation |
||
+ | |} |
||
− | |align="center"| 1 |
||
+ | ==== Section 2 ==== |
||
+ | {| class="wikitable" |
||
+ | |+ |
||
|- |
|- |
||
+ | ! Activity Type !! Content !! Is Graded? |
||
− | | Testing (written or computer based) |
||
− | |align="center"| 1 |
||
|- |
|- |
||
+ | | Question || What are Turing machines? || 1 |
||
− | | Reports |
||
− | |align="center"| 0 |
||
|- |
|- |
||
+ | | Question || What is computational complexity? || 1 |
||
− | | Essays |
||
− | |align="center"| 0 |
||
|- |
|- |
||
+ | | Question || What are artificial neural networks? || 1 |
||
− | | Oral polls |
||
− | |align="center"| 0 |
||
|- |
|- |
||
+ | | Question || What are Recurrent ANN? || 1 |
||
− | | Discussions |
||
− | |align="center"| 1 |
||
− | |} |
||
− | |||
− | |||
− | </div> |
||
− | |||
− | |||
− | ==== 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? ==== |
||
− | |||
− | <div id="tab:OSSectionEval2"> |
||
− | |||
− | {| style="border-spacing: 2px; border: 1px solid darkgray;" |
||
− | |''' ''' |
||
− | ! '''Yes/No''' |
||
|- |
|- |
||
+ | | Question || What is deep learning? || 1 |
||
− | | Development of individual parts of software product code |
||
− | |align="center"| 1 |
||
|- |
|- |
||
+ | | Question || Give examples of algorithms of different computational complexities || 0 |
||
− | | Homework and group projects |
||
− | |align="center"| 1 |
||
|- |
|- |
||
+ | | Question || Give example of how one computes computational complexity || 0 |
||
− | | Midterm evaluation |
||
− | |align="center"| 1 |
||
|- |
|- |
||
+ | | Question || What is a basic structure of an ANN? || 0 |
||
− | | Testing (written or computer based) |
||
− | |align="center"| 1 |
||
|- |
|- |
||
+ | | Question || What is a fully connected ANN? || 0 |
||
− | | Reports |
||
− | |align="center"| 0 |
||
|- |
|- |
||
+ | | Question || Draw structure of LSTM RNN || 0 |
||
− | | Essays |
||
+ | |} |
||
− | |align="center"| 0 |
||
+ | ==== Section 3 ==== |
||
+ | {| class="wikitable" |
||
+ | |+ |
||
|- |
|- |
||
+ | ! Activity Type !! Content !! Is Graded? |
||
− | | Oral polls |
||
− | |align="center"| 0 |
||
|- |
|- |
||
+ | | Question || What is a Foraging Algorithm || 1 |
||
− | | Discussions |
||
+ | |- |
||
− | |align="center"| 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''' |
||
+ | # Genetic Algorithms can be used for: |
||
+ | #:* Optimization (correct) |
||
+ | #:* Feedback Control |
||
+ | #:* Automatic Differentiation |
||
+ | #:* Numeric Geometry |
||
+ | # Applications of evolutionary algorithms do not include |
||
+ | #:* Robotics |
||
+ | #:* Design |
||
+ | #:* Optimization |
||
+ | #:* Measurements (correct) |
||
+ | # 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''' |
||
+ | # Which of the following are neural networks architectures? |
||
+ | #:* ANN, RNN, CNN |
||
+ | #:* RNN, CNN, LSTM |
||
+ | #:* RNN, CNN, fully connected (correct) |
||
+ | #:* 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? |
||
+ | #:* Reinforcement learning, evolutionary algorithms (correct) |
||
+ | #:* YOLO |
||
+ | #:* Cauterization |
||
+ | #:* Supervised learning |
||
+ | # 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''' |
||
− | </div> |
||
+ | # Which of the following can be used to solve optimization problems? |
||
− | |||
+ | #:* PSO, Genetic algorithm (correct) |
||
− | |||
+ | #:* CNN, PSO |
||
− | ==== Typical questions for ongoing performance evaluation within this section ==== |
||
+ | #:* CNN |
||
− | |||
+ | #:* RNN, PSO |
||
− | # What is a Foraging Algorithm |
||
+ | # Which of the following can be used to find acceptable parameters of a process, given inequality constraints? |
||
− | # What is PSO? |
||
+ | #:* PSO, Genetic algorithm (correct) |
||
− | # What is a multi-objective optimization? |
||
+ | #:* CNN, PSO |
||
− | # What is Ant Colony Optimization? |
||
+ | #:* CNN |
||
− | |||
+ | #:* RNN, PSO |
||
− | |||
− | |||
− | ==== 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? |
||
− | |||
+ | === The retake exam === |
||
+ | '''Section 1''' |
||
+ | '''Section 2''' |
||
− | ==== Test questions for final assessment in this section ==== |
||
+ | '''Section 3''' |
||
− | # 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 |
Latest revision as of 11:39, 13 December 2022
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
Section | Topics within the section |
---|---|
Basic concepts of Nature Inspired Computing |
|
Computational complexity, ANN |
|
Optimization, PSO |
|
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
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
- Genetic Algorithms can be used for:
- Optimization (correct)
- Feedback Control
- Automatic Differentiation
- Numeric Geometry
- Applications of evolutionary algorithms do not include
- Robotics
- Design
- Optimization
- Measurements (correct)
- 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
- Which of the following are neural networks architectures?
- ANN, RNN, CNN
- RNN, CNN, LSTM
- RNN, CNN, fully connected (correct)
- 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?
- Reinforcement learning, evolutionary algorithms (correct)
- YOLO
- Cauterization
- Supervised learning
- 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
- Which of the following can be used to solve optimization problems?
- PSO, Genetic algorithm (correct)
- CNN, PSO
- CNN
- RNN, PSO
- 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