01URROV, 01URRSM

A.A. 2022/23

Course Language

Inglese

Course degree

Master of science-level of the Bologna process in Ingegneria Informatica (Computer Engineering) - Torino

Master of science-level of the Bologna process in Data Science And Engineering - Torino

Course structure

Teaching | Hours |
---|---|

Lezioni | 42 |

Esercitazioni in laboratorio | 18 |

Teachers

Teacher | Status | SSD | h.Les | h.Ex | h.Lab | h.Tut | Years teaching |
---|---|---|---|---|---|---|---|

Squillero Giovanni | Professore Associato | ING-INF/05 | 42 | 0 | 3 | 0 | 2 |

Teaching assistant

Context

SSD | CFU | Activities | Area context |
---|---|---|---|

ING-INF/05 | 6 | B - Caratterizzanti | Ingegneria informatica |

2022/23

The course introduces the basic principles of various computational methods of data processing that are commonly grouped under the umbrella term “computational intelligence”. Students will acquire both theoretical and practical knowledge on methods that exploit bottom-up approaches and (meta)heuristics, where solutions are searched or built through trial-and-error. They will understand the principles of local search, evolutionary computation, multi-agent systems, and policy learning. At the same time, the course surveys how the different types of information should be encoded and handled by the different algorithms, allowing students to effectively tackle problems involving highly-structured, uncertain (possible), and imprecise (fuzzy) information.

The course introduces the basic principles of various computational methods of data processing that are commonly grouped under the umbrella term “computational intelligence”. Students will acquire both theoretical and practical knowledge on methods that exploit bottom-up approaches and (meta)heuristics, where solutions are searched or built through trial-and-error. They will understand the principles of local search, evolutionary computation, multi-agent systems, and policy learning. At the same time, the course surveys how the different types of information should be encoded and handled by the different algorithms, allowing students to effectively tackle problems involving highly-structured, uncertain (possible), and imprecise (fuzzy) information.

The knowledge and skills required to design and implement effective and efficient computational-intelligence solutions to problems for which a direct solution is impractical or unknown.
• Implement from scratch single-state and simple population-based methods when required
• Tweak and exploit existing libraries for evolutionary optimization
• Choose/evaluate pros and cons of alternatives knowledge representations
• Design multi-agent systems

The knowledge and skills required to design and implement effective and efficient *computational-intelligence* solutions to problems for which a direct solution is impractical or unknown. In more details:
Knowledge and understanding:
----------------------------
- Explain basic concepts of CI
- Account for the historical development, current situation, and future prospects for some sub-area of CI
- Compare advantages and disadvantages of basic CI algorithms
- Choose/evaluate pros and cons of alternatives knowledge representations
Skills and abilities:
---------------------
- Choose appropriate algorithms for solving given problems in a memory- and time-efficient manner
- Implement from scratch single-state and simple population-based methods in Python
- Tweak and exploit existing libraries
- Design multi-agent systems
Judgement and approach:
-----------------------
- Summarize and constructively criticize scientific texts.

• Experience with Python 3
• Suggested: Algorithms and Programming
• Not required: mathematics and statistics
• Not required: knowledge of specific toolkits (e.g., Jenetics, scikit-learn, Open BEAGLE, PyTorch, Keras/TensorFlow)

- Good experience with Python 3
- Suggested: Algorithms and Programming
- Not required: mathematics and statistics
- Not required: knowledge of specific toolkits (e.g., *Jenetics*, *scikit-learn*, *Open BEAGLE, PyTorch, Keras/TensorFlow*)

• Introduction
• What is "Computational Intelligence"? (and what is “Artificial Intelligence”? Weak AI vs. Strong AI, the Turing Test)
• Metaheuristics (exact vs. approximate, ad-hoc heuristics)
• Solving problems by searching; trial n’ error vs. learning vs. evolution
• Evolutionary Computation (bio-inspired methodologies, natural selection)
• Single-State Methods
• Hill-climbing, simulated annealing, iterated local search, variable neighborhood search
• Simple Evolution Strategies: (1+1), (1+λ) and (1,λ)
• Population Methods
• Unified approach to Evolutionary Algorithms
• Parameter optimization (Evolution Strategies, Differential Evolution)
• Symbolic regression (Genetic Programming)
• Swarm intelligence (Ant Colony Optimization, Particle Swarm Optimization)
• Memetic Algorithms (hybridization)
• Model fitting (Estimation of Distribution Algorithm)
• Multi-objective optimization
• Representation problems; genotype space and operators
• Knowledge representation
• Trivial (bit strings, integer, real numbers); Permutations; Graphs
• Fuzzification
• Policy optimization
• Evolutionary programming
• Reinforcement learning, Q-Learning
• Multi agent systems
• Artificial Immune System and Learning Classifier Systems
• Simple agents
• Learning agents
• Games (Adversarial Search)

Introduction (10h)
------------------
- What is "Computational Intelligence"? (and what is “Artificial Intelligence”? Weak AI vs. Strong AI, the Turing Test)
- A 10,000m view of Machine Learning and Neural Networks
- Metaheuristics (exact vs. approximate, ad-hoc heuristics)
- Solving problems by searching; trial n’ error vs. learning vs. evolution
- Evolutionary Computation (bio-inspired methodologies, natural selection)
Single-State Methods (10h)
--------------------------
- Hill-climbing, simulated annealing, iterated local search, variable neighborhood search
- Simple Evolution Strategies: (1+1), (1+λ) and (1,λ)
Population Methods (15h)
------------------------
- Unified approach to Evolutionary Algorithms
- Parameter optimization (Evolution Strategies, Differential Evolution)
- Symbolic regression (Genetic Programming)
- Swarm intelligence (Ant Colony Optimization, Particle Swarm Optimization)
- Memetic Algorithms (hybridization)
- Model fitting (Estimation of Distribution Algorithm)
- Multi-objective optimization
Representation problems; genotype space and operators (5h)
----------------------------------------------------------
- Knowledge representation
- Trivial (bit strings, integer, real numbers); Permutations; Graphs
- Fuzzification
Policy optimization (10h)
-------------------------
- In evolutionary programming (Learning Classifier Systems)
- Reinforcement learning, Q-Learning
Multi agent systems (10h)
-------------------------
- Artificial Immune System and Learning Classifier System
- Simple agents
- Learning agents
- Games (Adversarial Search)

None

None

• 42 hours lectures
• 18 hours labs

- 42 hours lectures
- 18 hours labs (6x3)

Recommended Books
• A. E. Eiben, J. E. Smith; Introduction to Evolutionary Computing (2nd edition)
• S. Luke; Essentials of Metaheuristics (2nd edition)
• S. Russell, P. Norvig; Artificial Intelligence: A Modern Approach (4th edition)
• B. Slatkin; Effective Python: 90 Specific Ways to Write Better Python (2nd edition)

Textbook
--------
- None
Recommended Books
-----------------
- A. E. Eiben, J. E. Smith; *Introduction to Evolutionary Computing* (2\ :sup:`nd` edition)
- S. Luke; *Essentials of Metaheuristics* (2\ :sup:`nd` edition)
- S. Russell, P. Norvig; *Artificial Intelligence: A Modern Approach* (4\ :sup:`th` edition)
- B. Slatkin; *Effective Python: 90 Specific Ways to Write Better Python* (2\ :sup:`nd` edition)

...
Students need to complete a research project tackling a specific problem; they will need to skim the scientific literature and then implement an appropriate methodology or develop a new one. Students are free to propose their own topics and are encouraged to work in teams, but for the exam each one will be individually responsible for the whole assignment. A repository on Github containing code, documentation and report must be available 1 week before the day of the exam.
The oral exam consists in a discussion starting from the research project and covering all topics of the course.

Gli studenti e le studentesse con disabilità o con Disturbi Specifici di Apprendimento (DSA), oltre alla segnalazione tramite procedura informatizzata, sono invitati a comunicare anche direttamente al/la docente titolare dell'insegnamento, con un preavviso non inferiore ad una settimana dall'avvio della sessione d'esame, gli strumenti compensativi concordati con l'Unità Special Needs, al fine di permettere al/la docente la declinazione più idonea in riferimento alla specifica tipologia di esame.

Students need to complete a research project tackling a specific problem; they will need to skim the scientific literature and then implement an appropriate methodology or develop a new one. Students are free to propose their own topics and are encouraged to work in teams, but for the exam each one will be individually responsible for the whole assignment. A repository on Github containing code, documentation and report must be available 1 week before the day of the exam.
The oral exam consists in a discussion starting from the research project and covering all topics of the course.

In addition to the message sent by the online system, students with disabilities or Specific Learning Disorders (SLD) are invited to directly inform the professor in charge of the course about the special arrangements for the exam that have been agreed with the Special Needs Unit. The professor has to be informed at least one week before the beginning of the examination session in order to provide students with the most suitable arrangements for each specific type of exam.

© Politecnico di Torino

Corso Duca degli Abruzzi, 24 - 10129 Torino, ITALY

Corso Duca degli Abruzzi, 24 - 10129 Torino, ITALY