AOT Lab Dipartimento di Ingegneria dellInformazione Università degli Studi di Parma Intelligenza...

28
AOT Lab Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Rappresentazione della Conoscenza e Ragionamento Agostino Poggi Stefano Cagnoni

Transcript of AOT Lab Dipartimento di Ingegneria dellInformazione Università degli Studi di Parma Intelligenza...

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

AOT LabDipartimento di Ingegneria dell’Informazione

Università degli Studi di Parma

Intelligenza Artificiale

Rappresentazione della Conoscenza

e Ragionamento

Agostino Poggi

Stefano Cagnoni

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

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).

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

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.

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

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

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

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.

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

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).

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

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)

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

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».

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

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».

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

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

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

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.

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

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.

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

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)

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

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)

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

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

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

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.

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

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.

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

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.

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

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.

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

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.

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

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.

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

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.

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

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.

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

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.

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

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.

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

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.

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

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.

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

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.