AOT Lab Dipartimento di Ingegneria dellInformazione Università degli Studi di Parma Intelligenza Artificiale Rappresentazione della Conoscenza e Ragionamento.

Slides:



Advertisements
Presentazioni simili
Il raffinamento dello schema e la normalizzazione nei database relazionali Eugenio Di Sciascio.
Advertisements

Strutture dati per insiemi disgiunti
Linguaggi di programmazione
Metodologie di Programmazione = decomposizione basata su astrazioni
La Rappresentazione della Conoscenza
1 Il punto di vista Un sistema è una parte del mondo che una persona o un gruppo di persone, durante un certo intervallo di tempo, sceglie di considerare.
Alberi binari di ricerca
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Reaching Definitions. Tino CortesiTecniche di Analisi di Programmi 2 Reaching definitions Dato un punto del programma, quali sono i comandi di assegnamento.
Intelligenza Artificiale 2 Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Gestione dei dati e della conoscenza (agenti intelligenti) M.T. PAZIENZA a.a
Intelligenza Artificiale 2 Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Metodi di ricerca informata Prof. M.T. PAZIENZA a.a
Iterazione enumerativa (for)
Sistemi basati su conoscenza Basi di conoscenza: rappresentazione e ragionamento (2 - Reti semantiche, Frames) Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Basi di conoscenza: rappresentazione e ragionamento (2 - Reti semantiche, Frames) Prof. M.T. PAZIENZA a.a
Identificazione delle attività
U V U V (a) |cfc|=2 prima e dopo (b) |cfc|=2 prima e |cfc|=1 dopo
Algoritmo di Ford-Fulkerson
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Corso di Informatica (Programmazione)
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Problemi e algoritmi Anno Accademico 2009/2010.
Seminario su clustering dei dati – Parte II
CORSO DI MODELLI DI SISTEMI BIOLOGICI LAUREA IN INGEGNERIA CLINICA E BIOMEDICA.
Modelli simulativi per le Scienze Cognitive
Algoritmi e Strutture Dati
Algoritmi.
Unità Didattica 2 I Linguaggi di Programmazione
Strutture di controllo in C -- Flow Chart --
Notazioni Asintotiche e Ordini di Grandezza delle funzioni
Fondamenti di Informatica Algoritmi
Intelligenza Artificiale
Modello E-R Generalizzazioni
Intelligenza Artificiale
Intelligenza Artificiale
Progettazione di una base di dati
Modello E-R Generalizzazioni
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
LINGUAGGI DI PROGRAMMAZIONE
Intelligenza Artificiale - AA 2001/2002 Logica formale (Parte 2) - 1 Intelligenza Artificiale Breve introduzione alla logica classica (Parte 2) Marco Piastra.
Sistemi a Regole Ettore Colombo 13 Dicembre 2006 Ingegneria della Conoscenza e Sistemi Esperti.
1 Programmazione = decomposizione basata su astrazioni (con riferimento a Java)
Elementi di Informatica di base
INFORMATICA MATTEO CRISTANI.
Lezione 1 Linguaggi di programmazione – Algoritmi –Istruzioni
Capitolo 3 Strutture dati elementari Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
1 AUTOMATIZZAIAUTOMATIZZAIAUTOMATIZZAIAUTOMATIZZAI S.I. SISTEMASISTEMA INFORMATIVO INFORMATIVO PROCESSOPROCESSO DECISIONALE DECISIONALE DECISIONEDECISIONE.
IO E LA MATEMATICA PROCEDURALE
Informatica e Algoritmi
PERCEZIONE Processo psicologico di creazione di un’immagine interna del mondo esterno.
Programmazione ad oggetti
Implementazione di dizionari Problema del dizionario dinamico Scegliere una struttura dati in cui memorizzare dei record con un campo key e alcuni altri.
Dati e DBMS DBMS relazionali SQL Progettazione di un DBMS Normalizzazione Programma del Corso di Basi di Dati.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
1 Interpretazione astratta: un approccio sistematico all’analisi statica.
Progettazione di una base di dati Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi.
Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Rappresentazione della Conoscenza e Ragionamento.
Sistemi basati su conoscenza Metodi di ricerca informata Prof. M.T. PAZIENZA a.a
Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Risoluzione dei Problemi (parte 2) Agostino Poggi.
Algoritmi.
Il Problema del Commesso Viaggiatore. Traveling Salesman’s Problem (TSP) Un commesso viaggiatore deve visitare un certo numero di città Conosce la distanza.
Intelligenza Artificiale Risoluzione di Problemi
AOT Lab Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Rappresentazione della Conoscenza e Ragionamento.
1 Metodologie di Programmazione = decomposizione basata su astrazioni.
Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Risoluzione dei Problemi Agostino Poggi Stefano Cagnoni.
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Intelligenza Artificiale Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Transcript della presentazione:

AOT Lab Dipartimento di Ingegneria dellInformazione Università degli Studi di Parma Intelligenza Artificiale Rappresentazione della Conoscenza e Ragionamento (parte 2) Agostino Poggi Stefano Cagnoni

Rappresentazione della Conoscenza e Ragionamento 2 Sistemi di Produzione I sistemi di produzione sono uno strumento ideale per la costruzione di sistemi basati sulla conoscenza. Infatti, permettono di implementare algoritmi di ricerca guidata dai dati (forward chaining) e algoritmi di ricerca guidata dagli obiettivi (backward chaining). Permettono di realizzare sistemi di ragionamento deduttivo e anche sistemi di ragionamento plausibile e incerto. OPS5 (Brownston, et al., 1985) è sicuramente il sistema di produzioni più conosciuto.

Rappresentazione della Conoscenza e Ragionamento 3 Regole di Produzione I sistemi di produzione rappresentano la conoscenza attraverso regole di produzione. Una regola di produzione è composta da una coppia condizione/azione ed ha la forma: IF THEN Le azioni possono essere di due tipi distinti: Azioni sul mondo esterno. Azioni sulla conoscenza del sistema. Le regole di produzione modellano sia conoscenza procedurale che conoscenza dichiarativa.

Rappresentazione della Conoscenza e Ragionamento 4 Architettura dei Sistemi di Produzione Un sistema di produzione è composto da tre parti: La base delle regole. La memoria di lavoro. Linterprete delle regole. La base delle regole contiene la conoscenza del sistema espressa in regole di produzione. La memoria di lavoro contiene le informazioni sullo stato di avanzamento del processo computazionale. Linterprete controlla il sistema applicando le regole alle informazioni nella memoria di lavoro.

Rappresentazione della Conoscenza e Ragionamento 5 Funzionamento dei Sistemi di Produzione Dopo aver inserito nella memoria di lavoro le informazioni relative al problema che si vuole risolvere, il funzionamento di un sistema di produzione si basa sulla ripetizione di tre passi: Confronto. Risoluzione conflitti. Esecuzione. Nella fase di confronto vengono individuate le regole la cui parte sinistra è soddisfatta dal contenuto della memoria di lavoro.

Rappresentazione della Conoscenza e Ragionamento 6 Funzionamento dei Sistemi di Produzione Nel caso in cui più di una regola può essere eseguita, nella fase di risoluzione dei conflitti viene scelta una regola in base a una serie di criteri prestabiliti. Scelta la regola, essa viene eseguita, compiendo azioni sul mondo e aggiornando la memoria di lavoro. La terminazione dellattività del sistema può avvenire in diversi modi. I più comuni sono: Linsieme dei conflitti è vuoto. Una regola ha come azione una istruzione di halt.

Rappresentazione della Conoscenza e Ragionamento 7 Criteri per Risolvere i Conflitti Esistono vari criteri per risolvere i conflitti: Criterio di ordinamento (rule ordering o fire first): le regole sono ordinate in ordine di importanza; Criterio di refrattarietà (refractoriness): una regola può essere attivata sugli stessi dati una sola volta. Di questo criterio esistono due versioni: Il criterio ha validità su tutti i cicli precedenti. Il criterio ha validità sul ciclo precedente. Criterio di recenza (recency): gli elementi della memoria di lavoro vengono etichettati in base al ciclo in cui sono stati inseriti, le regole che utilizzano dati più recenti sono favorite rispetto a quelle che usano dati che si trovano in memoria da più tempo.

Rappresentazione della Conoscenza e Ragionamento 8 Criteri per Risolvere i Conflitti Criterio di specificità (specificity), si favoriscono le regole più specifiche, cioè quelle con la condizione più dettagliata qualora le condizioni di queste regole siano un sovra-insieme delle altre regole contenute nellinsieme di conflitti. Criterio di ordinamento in base ai dati (data ordering): si assegnano delle priorità diverse alle varie condizioni e si esegue la regola che ha le condizioni a priorità più alta. Criterio di ordinamento in base ai pesi (weight ordering): si assegnano alle regole dei pesi che tengono conto del numero di volte che una regola è stata attivata. Criterio di ordinamento in base alla grandezza, vengono favorite le regole con il maggior numero di condizioni.

Rappresentazione della Conoscenza e Ragionamento 9 Gestione dei Cicli In certi casi un sistema di produzioni può cadere in un ciclo di attivazioni ripetute che non ha termine. Esistono due modi per implementare dei meccanismi per eliminare dei cicli di attivazioni ripetuti: Cablare nellinterprete un meccanismo che evita lattivazione di regole che cercano di aggiungere alla memoria di lavoro informazioni già presenti. Definire le regole di produzione in modo che inseriscano delle clausole che ne inibiscano lattivazione successiva.

Rappresentazione della Conoscenza e Ragionamento 10 Conoscenza di Controllo Alcuni sistemi di produzione permettono la definizione di meta-regole per sfruttare della conoscenza euristica sul problema da risolvere per velocizzare e facilitare la sua soluzione. Questa conoscenza può riferirsi a: Quali regole applicare in certe situazioni. In quale ordine soddisfare i sotto-obiettivi. Quali sequenze di regole sono utili da applicare.

Rappresentazione della Conoscenza e Ragionamento 11 Lalgoritmo RETE Il punto debole dei sistemi di produzione è il grande dispendio di risorse della fase di confronto. Un algoritmo di confronto molto efficiente è lalgoritmo RETE (Forgy, 1982). Esso si basa su: Una struttura dati detta rete di discriminazione che utilizza due tipi di nodi: Nodi test che corrispondono ai nodi intermedi della rete e rappresentano dei test sui dati nella memoria di lavoro. Nodi terminali che rappresentano le singole regole di produzione. Ad ogni ciclo aggiorna linsieme dei conflitti: Se un dato viene aggiunto, cerca le regole che sono attivabili da quel dato. Se un dato viene tolto, cerca le regole che erano attivate da quel dato.

Rappresentazione della Conoscenza e Ragionamento 12 Vantaggi e Limiti dei Sistemi di Produzione I principali vantaggi dei sistemi di produzione sono: La semantica di una regola di produzione è facilmente intuibile. I meccanismi di controllo sono programmabili. I principali limiti dei sistemi di produzione sono: Laggiunta di una regola può comportare la modifica di regole preesistenti. I meccanismi di controllo sono globali e difficili da regolare.

Rappresentazione della Conoscenza e Ragionamento 13 Reti Semantiche Le reti semantiche rappresentano la conoscenza attraverso una struttura a grafo (detta rete): I nodi rappresentano dei concetti. Gli archi rappresentano relazioni tra concetti o proprietà dei concetti stessi. Mammifero Cervello Pee-Wee-ReeseBluBrooklyn-Dodgers isa magliasquadra esemplare-di Uomo appartiene

Rappresentazione della Conoscenza e Ragionamento 14 Reti Semantiche Le reti semantiche sono un modo naturale per rappresentare relazioni binarie. Una relazione di cardinalità maggiore di due può essere rappresentata da una rete semantica a più archi. G 23Partita Brooklyn-Dodgers punteggio Cubs squadra-ospite isa squadra-di-casa

Rappresentazione della Conoscenza e Ragionamento 15 Reti Semantiche Un modo per cercare le relazioni tra i concetti di una rete è quello di vedere dove le attivazioni si incontrano (ricerca dellintersezione). Mammifero Pee-Wee-Reese isa esemplare-di Uomo Cane Buck isa esemplare-di

Rappresentazione della Conoscenza e Ragionamento 16 Le reti semantiche rappresentano un formalismo adatto per modellare conoscenze gerarchiche. Che differenza cè tra le due reti? Gestione delle Gerarchie Animali Mammiferi Elefanti isa Animali Mammiferi Elefanti isa

Rappresentazione della Conoscenza e Ragionamento 17 La rappresentazione di conoscenze valide per default, mentre costituisce un problema difficile per i formalismi logici, è un problema facilmente risolvibile con le reti semantiche. La gestione delle eccezioni è semplice e consiste nel memorizzarle nei nodi a cui si riferiscono e nel fermare la ricerca appena si trova un valore. Gestione dei Valori per Default Mammiferi Elefanti isa Ornitorinco isa ovipara vivipara riproduzione

Rappresentazione della Conoscenza e Ragionamento 18 La gestione diventa difficile con leredità multipla. Secondo il metodo precedente Nixon è allo stesso tempo pacifista e non pacifista. Esistono altri metodi: ricerca in profondità avvantaggia i primi percorsi; ricerca in ampiezza avvantaggia i percorsi più corti. Gestione dellEredità Multipla Nixon isa repubblicano quacchero isa pacifista non_pacifistafalco isaconvinzione_politica

Rappresentazione della Conoscenza e Ragionamento 19 Vantaggi delle Reti Semantiche I principali vantaggi delle reti semantiche sono: Risultano relativamente facili da comprendere per le persone. Sono piuttosto efficienti da elaborare per i calcolatori. Sono sufficientemente potenti per poter rappresentare idee e concetti anche complessi. Possono essere estese per rappresentare concetti modali e temporali che non possono essere rappresentati con una logica standard.

Rappresentazione della Conoscenza e Ragionamento 20 Limiti delle Reti Semantiche I principali limiti delle reti semantiche sono: Sono poco espressive, quindi occorrono delle reti semantiche di una certa grandezza e complessità spesso anche per rappresentare concetti abbastanza semplici. Non hanno una semantica formale, cioè non esiste un insieme di convenzioni universalmente accettato su ciò che una rete rappresenta. Tuttavia, le reti semantiche sono state estese ottenendo dei modelli e linguaggi, ad esempio, KL-ONE (Brachman, 1985), con una precisa semantica formale.

Rappresentazione della Conoscenza e Ragionamento 21 Frame Lidea del frame (Minsky, 1975) trae lorigine dallosservazione che le persone usano un insieme strutturato di conoscenze derivate da esperienze precedenti per interpretare le diverse situazioni che si trovano a dover affrontare. Di fronte ad una nuova situazione, una persona non parte da zero. Al contrario, questa recupera dalla memoria una rappresentazione generale che si può adattare alla situazione e la raffina e modifica per render conto dei dettagli della situazione corrente.

Rappresentazione della Conoscenza e Ragionamento 22 Frame Un frame è una collezione di attributi (i cosiddetti slot) e di valori loro associati che descrivono una qualche entità del mondo. I frame come le reti semantiche si basano sulleredità e sui valori di default. I frame sono delle strutture dichiarative che però possono inglobare una parte procedurale per gestire i valori associati ai propri attributi.

Rappresentazione della Conoscenza e Ragionamento 23 Frame Uno slot può essere: un member slot: viene usato quando il frame è una classe e descrive una proprietà che vale per tutti gli elementi della classe. un own slot descrive una proprietà del frame specifico. Ogni slot viene descritto per mezzo di un insieme prefissato di "sfaccettature" (facet). Ereditarietà, indica se il valore è ereditato e come Valore Default, valore di default If-needed, metodo per calcolare il valore dello slot (è alternativo a Valore) …

Rappresentazione della Conoscenza e Ragionamento 24 Frame isa if-needed età = anni(Anno nascita) Default: italiana

Rappresentazione della Conoscenza e Ragionamento 25 Vantaggi e Limiti dei Frame I principali vantaggi dei frame sono: Permettono delle rappresentazioni compatte anche per concetti complessi. Sono piuttosto efficienti da elaborare per i calcolatori. I principali limiti dei frame sono: Non hanno una semantica formale, cioè non esiste un insieme di convenzioni universalmente accettato su ciò che un frame rappresenta. Tuttavia, combinando i frame con la logica si sono ottenuti dei sistemi ibridi, ad esempio, FRAIL (Charniak, 1983) e KRYPTON (Brachman et al., 1993), che coniugano lespressività di un linguaggio ad alto livello con il rigore della logica.