Insegnamento KNOWLEDGE REPRESENTATION AND AUTOMATED REASONING

Corso
Informatica
Codice insegnamento
A002080
Curriculum
Artificial intelligence
Docente
Stefano Bistarelli
Docenti
  • Stefano Bistarelli
Ore
  • 42 ore - Stefano Bistarelli
CFU
6
Regolamento
Coorte 2022
Erogato
2023/24
Attività
Caratterizzante
Ambito
Discipline informatiche
Settore
INF/01
Tipo insegnamento
Obbligatorio (Required)
Tipo attività
Attività formativa monodisciplinare
Lingua insegnamento
ITALIANO
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).
Acquisire capacità di realizzare un progetto usando Java e drools;
Avere la capacità di analizzare un problema di vincoli con le tecniche descritte a lezione.
Prerequisiti
Conoscenza del linguaggio Jaa e dell'ambiente di programmazione Eclipse (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
Frequenza è fortemente consigliata.
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.
Su richiesta dello studente l'esame puo' essere sostenuto anche in lingua Inglese.

Per informazioni sui servizi di supporto agli studenti con disabilità e/o DSA visita la pagina http://www.unipg.it/disabilita-e-dsa
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)
Condividi su