Insegnamento KNOWLEDGE REPRESENTATION AND AUTOMATED REASONING

Nome del corso di laurea Informatica
Codice insegnamento A002080
Curriculum Cybersecurity
Docente responsabile Stefano Bistarelli
Docenti
  • Stefano Bistarelli
  • Carlo Taticchi (Codocenza)
Ore
  • 35 Ore - Stefano Bistarelli
  • 7 Ore (Codocenza) - Carlo Taticchi
CFU 6
Regolamento Coorte 2025
Erogato Erogato nel 2026/27
Erogato altro regolamento
Attività Affine/integrativa
Ambito Attività formative affini o integrative
Settore INF/01
Anno 2
Periodo Primo Semestre
Tipo insegnamento Opzionale (Optional)
Tipo attività Attività formativa monodisciplinare
Lingua insegnamento INGLESE
Contenuti Introduzione all'area della rappresentazione della conoscenza con approfondimenti nel campo della programmazione con vincoli, dell'argomentation e della rule based programming (drools).
Testi di riferimento dispense docente e libri di testo consigliati a lezione
Obiettivi formativi Conoscere e capire le nozioni fondamentali della constraint programming, dell'argumentation e della rule based programming (drools o CLIPS).
Prerequisiti Conoscenza del linguaggio Java, dell'ambiente di programmazione Eclipse e del linguaggio C o GO (indispensabile)
Conoscenza del linguaggio Javascript e dell'ambiente Node.Js (importante)
Conoscenza di HTML e CSS (utile)
Metodi didattici lezioni frontali e laboratorio
Altre informazioni face-to-face and Practical training
Modalità di verifica dell'apprendimento L'esame si sostiene discutendo un progetto pratico avente oggetto una parte del programma, e con un colloquio orale (a stimolo aperto con risposta aperta) della durata media di 20 minuti su argomenti della restante parte del programma. Lo scopo dell'esame è di evidenziare le capacità espositive dello studente, le sue capacità d'utilizzo appropriato di tecniche e nozioni fondamentali e l'approfondimento dello studio.
Programma esteso 1. Introduzione al corso, inquadramento dell'area di rappresentazione della conoscenza all'interno dell'Intelligenza Aretificiale.
2. Introduzione al concetto di Sistemi con Vincoli anche tramite esempi.
Nozioni di base della programmazione con vincoli.
Alcuni risolutori completi.
Nozioni di consistenza locale.
Alcuni risolutori incompleti.
Algoritmi di propagazione di vincoli.
Metodi di ricerca nello spazio delle soluzioni.
Argomenti avanzati di programmazione con vincoli:
- vincoli soft
- vincoli bipolari
3. argumentation frameworks
4. rule based programming(drools or CLIPS)