Upload
demetrio-manzoni
View
226
Download
3
Embed Size (px)
Citation preview
AOT LabDipartimento di Ingegneria dell’Informazione
Università degli Studi di Parma
Intelligenza Artificiale
Rappresentazione della Conoscenza
e Ragionamento
Agostino Poggi
Stefano Cagnoni
Rappresentazione della Conoscenza e Ragionamento 2
Rappresentazionedella conoscenza
Per risolvere qualsiasi tipo di problema di IA dobbiamo:
Definire la conoscenza riguardante il problema.
Definire dei metodi per manipolarla.
Per definire la conoscenza bisogna:
Definire i fatti che vogliamo rappresentare (livello della conoscenza).
Rappresentare questi fatti attraverso i cosiddetti metodi per la rappresentazione della conoscenza (livello simbolico).
Rappresentazione della Conoscenza e Ragionamento 3
Rappresentazionedella Conoscenza
Proprietà di un metodo per la rappresentazione della conoscenza: Adeguatezza di rappresentazione, cioè la capacità di rappresentare
tutti i tipi di conoscenza necessari per ragionare su un certo dominio. Adeguatezza inferenziale, cioè la capacità di manipolare la conoscenza
del sistema per ottenere nuova conoscenza. Efficienza inferenziale, cioè la capacità di fornire delle informazioni
per guidare il meccanismo inferenziale nelle direzioni più promettenti. Efficienza di acquisizione, cioè la capacità di acquisire facilmente
nuova conoscenza.
Rappresentazione della Conoscenza e Ragionamento 4
Rappresentazionedella Conoscenza
Esistono due classi principali di strumenti per la rappresentazione della conoscenza: Rappresentazione basata sulle azioni (logica e sistemi a regole)
Descrizioni primitive di concetti: fatti Manipolazione dei concetti attraverso metodi di ragionamento
– Inferenza
– Ragionamento in avanti/indietro
Rappresentazione basata sugli oggetti (reti semantiche e frame) Descrizioni primitive e complesse di concetti Manipolazione dei concetti attraverso
– ‘Navigazione’ delle relazioni tra i diversi concetti
– Esecuzione di procedure associate ai diversi concetti
Rappresentazione della Conoscenza e Ragionamento 5
Logica
La logica è la scienza che fornisce all'uomo gli strumenti indispensabili per verificare con sicurezza la correttezza dei ragionamenti.
La logica fornisce strumenti formali per: Esprimere le inferenze in termini di operazioni su espressioni
simboliche. Dedurre conseguenze da certe premesse. Studiare la verità o falsità di certe proposizioni data la verità o falsità
di altre proposizioni. Stabilire la consistenza e la validità di una data teoria.
Rappresentazione della Conoscenza e Ragionamento 6
Logica dei Predicati
Il linguaggio standard della logica è il cosiddetto calcolo dei predicati del primo ordine indicato anche con il nome di logica dei predicati.
La logica dei predicati si basa su forme atomiche dette predicati che possono avere un certo numero di argomenti: p, q(11), r(X, 25, a, s(a)).
Le espressioni che possono essere argomenti sono dette termini e possono essere: costanti: 11, a; variabili: X, Var; (normalmente indicate con la lettera maiuscola) funzioni: s(a), t(11, X).
Rappresentazione della Conoscenza e Ragionamento 7
Logica dei Predicati
Le formule atomiche possono essere combinate per formare delle altre formule: Congiunzione:A & B Disgiunzione: A B Implicazione: A B Negazione: A
Le formule con variabili possono essere interpretate tramite i quantificatori: Universali: X p(X) Esistenziali: X p(X)
Rappresentazione della Conoscenza e Ragionamento 8
Logica dei Predicati
Il modo per inferire nuova conoscenza in logica è basato sul ragionamento deduttivo.
Il ragionamento deduttivo è un ragionamento che, condotto correttamente, mantiene la veridicità delle premesse.
Nel ragionamento deduttivo, se le conoscenze da cui partiamo (le premesse) sono vere, allora anche le nuove conoscenze che otteniamo in base a queste (le conclusioni) sono vere.
Il sillogismo è un esempio tipico di ragionamento deduttivo: «Gli uomini sono mortali, Socrate è un uomo, allora Socrate è mortale».
Rappresentazione della Conoscenza e Ragionamento 9
Logica dei Predicati
In logica la conoscenza iniziale viene indicata con il nome di assiomi. Le nuove conoscenze dedotte dagli assiomi sono dette teoremi.
Per dedurre nuovi teoremi si usano le regole di inferenza.Ogni regola di inferenza è composta da due parti: Un insieme di premesse separate da virgole. Le conclusioni.
Queste due parti sono divise dal simbolo che si legge: «è possibili derivare».
Rappresentazione della Conoscenza e Ragionamento 10
Logica dei Predicati
Alcune tra le più note regole di inferenza sono le seguenti:
Modus Ponens: A B, A B Istanziazione universale: X p(X) p(a) Modus Tollens: A B, B A Introduzione congiunzione: A, B A & B Eliminazione congiunzione: A & B A
A & B B Introduzione disgiunzione: A A B B A B Eliminazione disgiunzione: A B, A B A B, B A
Rappresentazione della Conoscenza e Ragionamento 11
Forma a Clausole
La difficoltà di ottenere nuovi teoremi sta nel scegliere, di volta in volta, la regola di inferenza da applicare.
Le formule della logica dei predicati possono essere trasformate in una forma equivalente a clausole.
Una clausola è una formula priva di quantificatori ed è formata da una disgiunzione di termini.
Con la rappresentazione a clausole è possibile utilizzare un’unica regola di inferenza detta regola di risoluzione.
Rappresentazione della Conoscenza e Ragionamento 12
Forma a Clausole
Regola di risoluzione: da AB,BC deduci AC Il metodo di risoluzione permette di dimostrare un teorema
mediante il metodo della refutazione, cioè si dimostra che la negazione del teorema è falsa: Assumiamo che la negazione del teorema sia vera. Mostriamo che gli assiomi più la negazione del teorema sono fra loro
inconsistenti. Dato che gli assiomi sono per definizione veri, allora la responsabile
della contraddizione è la negazione del teorema. Quindi il teorema è vero.
Si ottiene una contraddizione quando si arriva a dedurre la clausola vuota.
Rappresentazione della Conoscenza e Ragionamento 13
Forma a Clausole
Abbiamo le seguenti clausole:[A1] lavora(piero) prepara(piero,esame[A2] ha(piero,tempo) ha(piero,soldi) va(piero, partita)
[A3] ha(piero,tempo)
lavora(piero)compera(piero,calcolatore) ha(piero,soldi)
[A5] compera(piero,calcolatore)
[A6] prepara(piero esame)
Vogliamo dimostrare il teorema:[T] va(piero,partita)
Per risolvere il teorema aggiungiamo il teorema negato agli assiomi:[~T] va(piero,partita)
Rappresentazione della Conoscenza e Ragionamento 14
Forma a Clausole
Risolviamo ~T con A2 :[~T] va(piero,partita)
[A2] ha(piero,tempo) ha(piero,soldi) va(piero, partita)
Otteniamo il lemma L1 che risolviamo con A3:[L1] ha(piero,tempo) ha(piero,soldi)
[A3] ha(piero,tempo)
Otteniamo il lemma L2 che risolviamo con A4:[L2] ha(piero,soldi)
lavora(piero)compera(piero,calcolatore) ha(piero,soldi)
Rappresentazione della Conoscenza e Ragionamento 15
Forma a Clausole
Otteniamo il lemma L3 che risolviamo con A5:[L3] lavora(piero)compera(piero,calcolatore)
[A5] compera(piero,calcolatore)
Otteniamo il lemma L4 che risolviamo con A1:[L4] lavora(piero)
[A1] lavora(piero) prepara(piero,esame Otteniamo il lemma L5 che risolviamo con A6:
[L5] prepara(piero,esame[A6] prepara(piero esame)
A1 (assioma!) è stato negato => contraddizione => ~T è falso
Rappresentazione della Conoscenza e Ragionamento 16
Vantaggi della Logica
I vantaggi principali della logica sono:
Precisione, la logica ha una semantica chiara e definita per la quale esistono metodi standardizzati per determinare il significato di una espressione.
Flessibilità, la logica rappresenta la conoscenza in modo dichiarativo, quindi in modo indipendente dal suo uso.
Modularità, le asserzioni della logica possono entrare in una base di conoscenza in modo indipendente le une dalle altre.
Rappresentazione della Conoscenza e Ragionamento 17
Limiti della Logica
I limiti principali della logica sono:
Inadeguatezza espressiva, non può rappresentare mondi dinamici, non può rappresentare conoscenze probabilistiche.
Monotonicità, l’aggiunta di un teorema non provoca la cancellazione di nessun teorema precedente.
Inefficienza, la dimostrazione automatica basata esclusivamente sulla logica si fonda su processi di ricerca, la ricerca è inerentemente esponenziale ed eventuali euristiche non ne cambiano la natura combinatoria.
Rappresentazione della Conoscenza e Ragionamento 18
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 19
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 <insieme condizioni> THEN <insieme azioni>
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 20
Architettura deiSistemi di Produzione
Un sistema di produzione è composto da tre parti: La base delle regole. La memoria di lavoro. L’interprete 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.
L’interprete controlla il sistema applicando le regole alle informazioni nella memoria di lavoro.
Rappresentazione della Conoscenza e Ragionamento 21
Funzionamento deiSistemi 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 22
Funzionamento deiSistemi 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 dell’attività del sistema può avvenire in diversi modi. I più comuni sono: L’insieme dei conflitti è vuoto. Una regola ha come azione una istruzione di halt.
Rappresentazione della Conoscenza e Ragionamento 23
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 24
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 nell’insieme 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 25
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 nell’interprete un meccanismo che evita l’attivazione 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 l’attivazione successiva.
Rappresentazione della Conoscenza e Ragionamento 26
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 27
L’algoritmo RETE
Il punto debole dei sistemi di produzione è il grande dispendio di risorse della fase di confronto.
Un algoritmo di confronto molto efficiente è l’algoritmo 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 l’insieme 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 28
Vantaggi e Limiti deiSistemi 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:
L’aggiunta di una regola può comportare la modifica di regole preesistenti.
I meccanismi di controllo sono globali e difficili da regolare.