PORTALE DELLA DIDATTICA

PORTALE DELLA DIDATTICA

PORTALE DELLA DIDATTICA

Elenco notifiche



Computational intelligence

01URROV, 01URRSM

A.A. 2024/25

Course Language

Inglese

Degree programme(s)

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 aula 18
Lecturers
Teacher Status SSD h.Les h.Ex h.Lab h.Tut Years teaching
Squillero Giovanni Professore Ordinario IINF-05/A 42 18 0 0 4
Co-lectures
Espandi

Context
SSD CFU Activities Area context
ING-INF/05 6 C - Affini o integrative Attività formative affini o integrative
2024/25
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 a variety of computational and data processing methods that can reasonably be called "artificial intelligence". More specifically, students will: gain expertise in top-down and bottom-up methods where solutions are found or constructed through trial and error; acquire knowledge of approximate optimization techniques and exploit the relationship between optimization and learning; understand the concepts of path, local, and policy search; learn how to tackle problems involving highly structured, uncertain (possible), and imprecise (fuzzy) information. The course also covers general multi-agent systems and a number of algorithms inspired by natural systems, such as genetic algorithms, genetic programming, and swarm optimization. Lectures cover theoretical foundations, algorithm design, implementation, and applications to real-world problems.
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 in Python "intelligent", effective, and efficient solutions to problems for which a direct solution is either 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)
* Some programming experience with Python 3 (a crash course on advanced topics is included) * Minimal experience with GitHub (e.g., communicating through issues and pull requests) * 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 * What is "Computational Intelligence"? (included: what is "Artificial Intelligence"? Weak AI vs. Strong AI; the Turing Test; ...) * Symbolic vs. Sub-symbolic intelligence * Solving problems by searching; trial n'error vs. learning vs. evolution * Metaheuristics (exact vs. approximate, ad-hoc heuristics) * Evolutionary Computation (bio-inspired methodologies, natural selection) Single-State Methods and Population Methods * Hill-climbing, simulated annealing, iterated local search, variable neighborhood search * Simple Evolution Strategies: (1+1), (1+λ) and (1,λ) * 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 Policy optimization * Reinforcement learning, Q-Learning (not included: Deep Q-Learning) * Rule-based systems and Learning Classifier Systems * Games (Adversarial Search) Representation problems; genotype space and operators * Knowledge representation * Trivial (bit strings, integer, real numbers); Permutations; Graphs * Fuzzification
None
In order to meet coursework deadlines, students that cannot attend in presence are required to partecipate online or to watch the recorded lecture within 24h. The lectures will include a crash course on Python programming
• 42 hours lectures • 18 hours labs
* 42 hours lectures * 18 hours labs
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 (lectures and on-line material will be sufficient) Recommended Books * A. E. Eiben, J. E. Smith; "Introduction to Evolutionary Computing" (2nd edition) * S. Luke; "Essentials of Metaheuristics" (2nd edition) * M. Mitchell; "Artificial Intelligence: A Guide for Thinking Humans" * S. Russell, P. Norvig; "Artificial Intelligence: A Modern Approach" (4th edition) * B. Slatkin; "Effective Python: 90 Specific Ways to Write Better Python" (2nd edition)
Slides; Esercitazioni di laboratorio; Video lezioni dell’anno corrente;
Lecture slides; Lab exercises; Video lectures (current year);
Modalità di esame: Prova orale facoltativa; Elaborato progettuale individuale; Prova scritta in aula tramite PC con l'utilizzo della piattaforma di ateneo;
Exam: Optional oral exam; Individual project; Computer-based written test in class using POLITO platform;
... 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.
Exam: Optional oral exam; Individual project; Computer-based written test in class using POLITO platform;
Timely participation in course activities is required and will be evaluated up to 6 points. Students must complete a project addressing a specific problem; they will be required to review the scientific literature and then implement an appropriate methodology or develop a new one. Students are encouraged to work in teams, but for the purposes of the exam, each student will be individually responsible for the entire assignment. The project work is evaluated up to 12 points. The written exam consists of open-ended questions covering all topics of the course and the project work. It is evaluated up to 14 points. Students are not allowed to use books or notes during the exam. An oral exam may be required by the instructor (NOT the student). Failure to attend will result in failure of the entire exam. Any result above 31.9 will be considered 30L. Students must submit a report detailing their activities and provide access to a repository on Github containing the code at least 1 week (168h) before the official exam date. Failure to do so will result in ineligibility to take the exam.
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.
Esporta Word