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 5
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 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 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.
* 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"? (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
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
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)
Lecture slides; Lab exercises; Video lectures (current year);
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