Mondo della computazione Mondo della Vita Parlare del mondo Macchina Linguaggi di programmazione Modelli computazionali Linguaggio naturale Mondo percezioni Modelli mentali conoscenza Rappresentazione del mondo Ragionamento Mondo della computazione Mondo della Vita Programmazione classica ALGORITMO Struttura dati DATI Parlare del mondo Macchina Turing Linguaggi di programmazione Modelli computazionali Strumenti per scrivere algoritmi Linguaggio naturale Mondo percezioni Modelli mentali conoscenza Rappresentazione del mondo Ragionamento Mondo della computazione Programmazione classica procedurale ALGORITMO Mondo della Vita I dati strutturati sono saldati agli algoritmi Struttura dati DATI Parlare del mondo Macchina Turing Linguaggi di programmazione Modelli computazionali Linguaggio naturale Mondo percezioni Modelli mentali conoscenza Rappresentazione del mondo Ragionamento Mondo della computazione Mondo della Vita Parlare del mondo Macchina Linguaggi di programmazione Modelli computazionali Linguaggio naturale Mondo percezioni Modelli mentali conoscenza Linguaggi formali Rappresentazione della conoscenza Modelli concettuali Metodi inferenziali Rappresentazione del mondo Ragionamento Mondo della computazione Mondo della Vita Parlare del mondo Macchina Turing Linguaggi di programmazione Modelli computazionali Linguaggio naturale Mondo percezioni Modelli mentali conoscenza PROBLEM SOLVING METHOD CONOSCENZA DATI Programmazione AI Linguaggi formali Rappresentazione della conoscenza Modelli concettuali Metodi inferenziali Rappresentazione del mondo Ragionamento Mondo della computazione Mondo della Vita Parlare del mondo Macchina Turing Linguaggi di programmazione Modelli computazionali Linguaggio naturale Strumenti per scrivere algoritmi Mondo percezioni Modelli mentali conoscenza PROBLEM SOLVING METHOD CONOSCENZA DATI Programmazione AI dichiarativo La conoscenza è separata dagli algoritmi Linguaggi formali Rappresentazione della conoscenza Modelli concettuali Metodi inferenziali Rappresentazione del mondo Ragionamento Mondo della computazione Programmazione classica Mondo della Vita I dati strutturati sono saldati agli algoritmi procedurale ALGORITMO Struttura dati DATI Parlare del mondo Macchina Turing Linguaggi di programmazione Modelli computazionali Linguaggio naturale Strumenti per scrivere algoritmi Mondo percezioni Modelli mentali conoscenza PROBLEM SOLVING METHOD CONOSCENZA DATI Programmazione AI dichiarativo La conoscenza è separata dagli algoritmi Linguaggi formali Rappresentazione della conoscenza Modelli concettuali Metodi inferenziali Rappresentazione del mondo Ragionamento L’implementazione delle rappresentazioni Linguaggio naturale e rappresentazioni visive Linguaggi formali e di programmazione La conoscenza e i suoi modelli IL MODELLO CLASSICO Teleologia, la forma della perfezione In un’accezione larga, i modelli sono spesso usati nella vita quotidiana. Ad esempio, quando diciamo che una persona o un animale è di un certo tipo esprimiamo un modello del comportamento che è nella nostra mente e che consente di prevedere il comportamento di una persona in una certa situazione. Un altro esempio di modello è un modello verbale, nel quale il comportamento di un sistema in differenti condizioni è descritto a parole; ad esempio un modello verbale descrittivo del comportamento elettorale di un sistema democratico è: se il governo esprime una politica dannosa per i cittadini allora aumentano i voti per i partiti di opposizione. Vi sono anche i modelli fisici. Esempi sono i modelli in scala ridotta di un’opera artistica o architettonica, oppure i prototipi che sono realizzati per effettuare dei test di resistenza meccanica o aerodinamica. IL MODELLO MATEMATICO Un modello di un sistema esprime la conoscenza di un fenomeno e come tale consente di rispondere a domande sul sistema senza la necessità di compiere un esperimento. Esso costituisce quindi un potente mezzo di previsione e descrizione del comportamento di un sistema. Tipicamente il modello matematico di un sistema consiste in un’equazione differenziale che stabilisce una relazione tra le variabili d’ingresso e le variabili d’uscita di un sistema. La descrizione di un sistema in termini di ingressi ed uscite è detta descrizione ingresso uscita. Il legame matematico consente di determinare le uscite a partire dagli ingressi e quindi di studiare la dinamica o il comportamento di un sistema in un certo ambiente. Esempio: Modello matematico di un sistema idraulico Il serbatoio in figura è caratterizzato dalla portata d’ingresso qi e dall’altezza del battente idrico h che rappresenta la variabile d’uscita. Assumendo un serbatoio di sezione costante A, il volume di liquido risulta: V=Ah. qi(t) h Per la legge di conservazione della massa (legge di continuità) si ha che qi dV dh A dt dt Procedurale e Dichiarativo I dati strutturati sono saldati agli algoritmi Procedure Rappresentazione della conoscenza Prendi due numeri AeB Sostituisci A con B e B con C La conoscenza è separata dagli algoritmi Dividi A per B E memorizza il resto C Aspetto modellistico R. il Mondo R. La conoscenza sul Mondo Come è il mondo Cosa so del mondo C è zero? Aspetto inferenziale: il Calcolo logico Ragionamento Come fare quello che si deve fare (sulla base di ciò che so essere vero nel mondo) Reti semantiche Grafi concettuali Ferma il calcolo e Stampa la risposta Problem solving Conoscenza Logica Rappresentazione della conoscenza Le reti semantiche costituiscono una classe di sistemi di rappresentazione tipici dell’IA, basati sull’idea generale di utilizzare come strumento di rappresentazione un grafo, in cui ad ogni nodo è associata un’entità concettuale di qualche tipo ( ad esempio concetto, il significato di un enunciato, o il significato di un elemento lessicale) Le relazioni di tipo logico o associativo fra entità concettuali diverse sono rappresentate mediante gli archi che connettono i nodi I tipi di nodi e di archi che è possibile utilizzare, la loro interpretazione, le regole sintattiche che permettono di comporli in una rete, ed i meccanismi di inferenza che sono definiti sulle reti variano notevolemente nei molteplici sistemi di rappresentazione che sono stati via via elaborati Evoluzione degli alberi Le Reti semantiche • Nascono dentro lo studio per il trattamento formale del linguaggio naturale • Possono essere viste come evoluzione ‘orizzontale’ di alberi • L’idea di fondo è che il significato di un concetto derivi dalle relazioni che lo collegano ad altri concetti Rappresentare enti e relazioni • Il "significato" di un concetto e' l'insieme di tutti i nodi che possono essere raggiunti a partire dal nodo che la rappresenta • La rete semantica asserisce il fatto intuitivo che la definizione di un oggetto non può fare a meno della definizione degli oggetti con cui e' in relazione e, in ultima analisi, del contesto in cui l'oggetto e' situato Tavoli, tovaglie e posate Apparecchiare proceduralmente Scrivere un insieme di istruzioni definite sugli oggetti del dominio, e da eseguire per realizzare l’obiettivo di apparecchiare • Prendi il piatto piano e spostalo in quella certa posizione del tavolo • Prendi il bicchiere e mettilo in certe coordinate del tavolo • Fai… •… • END Apparecchiare dichiarativamente Prima questione: Questione ontologica Come è fatto il mondo in cui si apparecchiano tavoli? Rappresentare il mondo Una tavola imbandita si compone di vari oggetti... QUALI??? Apparecchiare dichiarativamente Tavoli, tovaglie e posate Il mondo formalizzato in una rete semantica Apparecchiare dichiarativamente Tavoli, tovaglie e posate Il mondo formalizzato in una rete semantica Apparecchiare dichiarativamente Tavoli, tovaglie e posate Il mondo formalizzato in una rete semantica Il problema: Apparecchiare Quali sono le conoscenze indispensabili per poter apparecchiare? Le conoscenze per risolvere il problema Il modello in linguaggio naturale La tovaglia è appoggiata (z) sul tavolo Le posate sono appoggiate (z) sulla tovaglia Il piatto piano è appoggiato (z) sul piatto fondo La forchetta normale è alla sinistra (x) del piatto La forchetta da pesce è alla sinistra (x) del piatto Il coltello normale è alla destra (x) del piatto Il coltello da pesce è alla destra (x) del coltello normale Il cucchiaio normale è alla destra (x) del coltello da pesce Il tovagliolo è alla destra (x) del cucchiaio normale Il piattino per il pane è sopra (y) la forchetta normale La forchetta da dolce è alla destra (x) del piattino per il pane ed è sopra (y) il piatto Il cucchiaio da dolce è sopra (y) la forchetta da dolce Il bicchiere da acqua è alla destra (x) della forchetta da dolce ed è sopra (y) il coltello normale Il bicchiere da vino rosso è alla destra (x) del bicchiere da acqua Il bicchiere da vino bianco è alla destra (x) del bicchiere da vino rosso Le relazioni tra gli enti rappresentati nella rete semantica Le relazioni tra gli enti rappresentati nella rete semantica Le relazioni tra gli enti rappresentati nella rete semantica Grafi concettuali: uno strumento per parlare del mondo rappresentato in una rete semantica Grafi concettuali Informalmente, un grafo concettuale è una struttura di concetti e di relazioni tra concetti, dove ogni arco collega alcune relazioni concettuali r a qualche concetto c. In un grafo concettuale, le scatole sono chiamate concetti, e i circoli sono chiamati relazioni concettuali A B [A](B) [C]. C Definizione Un grafo concettuale g è un grafo bipartito caratterizzato da due tipi di nodi chiamati rispettivamente, concetti e relazioni concettuali. • Ogni arco a di g deve collegare una relazione concettuale r in g ad un concetto c in g. L’arco a è detto appartenente alla relazione r e attaccato al concetto c. Ma l’arco a non appartiene a c. • Il grafo concettuale g può avere concetti non collegati ad alcuna relazione concettuale; ma ogni arco che appartiene a ciascuna relazione concettuale in g deve essere collegato ad uno e solo un concetto in g. g r a c Campo del Tipo e campo del Referente Ogni concetto è caratterizzato da un tipo t e da un referente r Il tipo è normalmente scritto sul lato sinistro di un concetto, mentre il referente sul lato destro, ed i due campi sono separati da ‘due punti’. Consideriamo il seguente grafo concettuale, che rappresenta l’enunciato John sta andando a Boston [Persona: John] (Agente) [andare] (dest) [Città: Boston] Quali enti quali relazioni [Persona: John] (Agente) [andare] (dest) [Città: Boston] Questo grafo contiene tre concetti: • [Person: John], [andare] e [Città: Boston] Due relazioni concettuali: • (Agente) collega [andare] all’agente John, e (dest) collega [andare] alla destinazione Boston. • Ogni arco del grafo concettuale collega un concetto ed una relazione concettuale; non sono possibili archi che colleghino concetti a concetti o relazioni a relazioni. Quali enti quali relazioni “Un gatto è seduto sullo zerbino” “Il gatto è seduto sullo zerbino” Quali enti quali relazioni “Una scimmia sta mangiando una noce con un cucchiaio ricavato dal guscio della noce” Quali enti quali relazioni “Una scimmia sta mangiando una noce con un cucchiaio ricavato dal guscio della noce” Grafi e ontologia Grafi concettuali: formalizzare il modello La tovaglia è appoggiata (z) sul tavolo Le posate sono appoggiate (z) sulla tovaglia Il piatto piano è appoggiato (z) sul piatto fondo La forchetta normale è alla sinistra (x) del piatto La forchetta da pesce è alla sinistra (x) del piatto Il coltello normale è alla destra (x) del piatto Il coltello da pesce è alla destra (x) del coltello normale Il cucchiaio normale è alla destra (x) del coltello da pesce Il tovagliolo è alla destra (x) del cucchiaio normale Il piattino per il pane è sopra (y) la forchetta normale La forchetta da dolce è alla destra (x) del piattino per il pane ed è sopra (y) il piatto Il cucchiaio da dolce è sopra (y) la forchetta da dolce Il bicchiere da acqua è alla destra (x) della forchetta da dolce ed è sopra (y) il coltello normale Il bicchiere da vino rosso è alla destra (x) del bicchiere da acqua Il bicchiere da vino bianco è alla destra (x) del bicchiere da vino rosso Esempio di tema d’esame • Usando appropriate relazioni concettuali e facendo attenzione a tipizzare solo quando necessario, tradurre in un grafo concettuale la seguente frase: • “Matteo, ragazzo vivace, correndo in corridoio, inciampa nello skate regalatogli dal fratello Giovanni e da lui stesso lì abbandonato. La madre di Matteo e Giovanni si chiama Maria.”