29
A7 KB in FOL Paolo Salvaneschi 1 A7_5 V1.3 Basi di conoscenza nella logica del primo ordine Intelligenza Artificiale Paolo Salvaneschi Università di Bergamo Facoltà di Ingegneria Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio personale e per supporto a lezioni universitarie. Ogni altro uso è riservato, e deve essere preventivamente autorizzato dall’ autore. Sono graditi commenti o suggerimenti per il miglioramento del materiale Nota: è utilizzato in parte il materiale didattico associato al testo di Stuart J. Russell, Peter Norvig

Basi di conoscenza nella logica del primo ordine - unibg.it · A7 KB in FOL Paolo Salvaneschi 1 A7_5 V1.3 Basi di conoscenza nella logica del primo ordine Intelligenza Artificiale

Embed Size (px)

Citation preview

A7 KB in FOL Paolo Salvaneschi 1

A7_5 V1.3

Basi di conoscenzanella logica del primo ordine

Intelligenza Artificiale

Paolo Salvaneschi

Università di BergamoFacoltà di Ingegneria

Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio personale e per supporto a lezioni universitarie.Ogni altro uso è riservato, e deve essere preventivamente autorizzato dall’ autore.

Sono graditi commenti o suggerimenti per il miglioramento del materialeNota: è utilizzato in parte il materiale didattico associato al testo di Stuart J. Russell, Peter Norvig

A7 KB in FOL Paolo Salvaneschi 2A7 KB in FOL Paolo Salvaneschi 2

• Basi di conoscenza nella logica del primo ordine

• Esempio 1- famiglia• Esempio 2- circuiti• Processo di sviluppo

INDICE

A7 KB in FOL Paolo Salvaneschi 3A7 KB in FOL Paolo Salvaneschi 3

• Esprimere e utilizzare basi di conoscenza scritte nella logica del primo ordine

Basi di conoscenza nella logica del primo ordine

KBTELL (KB, King(John))TELL (KB, ∀ x King(x) ⇒ Person(x))

Aggiungo delle asserzioni alla base di conoscenza

ASK (KB, King(John)) true

Pongo una domanda ( Query , Goal ) alla base di conoscenza

A7 KB in FOL Paolo Salvaneschi 4A7 KB in FOL Paolo Salvaneschi 4

Basi di conoscenza nella logica del primo ordine

ASK (KB, Person(John)) true

KBKing(John)

∀ x King(x) ⇒ Person(x)

ASK (KB, ∃ x Person(x))Query quantificata

trueRisposta standard:lista di sostituzioni

{x / John}

Sai che ora è ? Si

A7 KB in FOL Paolo Salvaneschi 5A7 KB in FOL Paolo Salvaneschi 5

• Esempio: il dominio della famiglia(assiomi, teoremi, fatti,….)– Oggetti: persone– Predicati unari

– Relazioni (predicati binari)

– Funzioni

Esempio 1- famiglia

A7 KB in FOL Paolo Salvaneschi 6A7 KB in FOL Paolo Salvaneschi 6

• Base di conoscenza a proposito della famiglia

Esempio 1- famiglia

A7 KB in FOL Paolo Salvaneschi 7A7 KB in FOL Paolo Salvaneschi 7

• Assiomi – Le frasi di prima sono assiomi: fatti di base da cui

possono essere derivate conclusioni• L’insieme degli assiomi è costruito per strati

successivi– Gli assiomi sono costruiti a partire da un insieme di

predicati di base(si potrebbero considerare altri insiemi di predicati di base)

Esempio 1- famiglia

A7 KB in FOL Paolo Salvaneschi 8A7 KB in FOL Paolo Salvaneschi 8

Esempio 1- famiglia

A7 KB in FOL Paolo Salvaneschi 9A7 KB in FOL Paolo Salvaneschi 9

• Teoremi• Non tutte le frasi relative al dominio sono

assiomi– Es.

è un teorema (è implicato logicamente dagli assiomi)

• Da un punto di vista puramente logico una KB necessita solo di assiomi (i teoremi si deducono)

• In pratica i teoremi in KB riducono il costo di derivare nuove frasi (evita di utilizzare KB che si riferiscono sempre ai “principi primi”)

Esempio 1- famiglia

A7 KB in FOL Paolo Salvaneschi 10A7 KB in FOL Paolo Salvaneschi 10

Per poter usare il predicato Person non è necessario averne una completa definizioneSi possono scrivere specifiche parziali di proprietà di ogni personae proprietà che rendono un oggetto una persona

• Gli assiomi della KB precedente sono anche definizioni

• Non necessariamente i predicati hanno una completa definizione

Esempio 1- famiglia

Definizione di Mother a partire dai predicati Female e Parent(Gli assiomi non sono necessariamente definizioni)

A7 KB in FOL Paolo Salvaneschi 11A7 KB in FOL Paolo Salvaneschi 11

• Gli assiomi possono anche essere semplici fatti (specifiche istanze del problema)

Esempio 1- famiglia

Male(Jim) Spouse(Jim,Laura)

A7 KB in FOL Paolo Salvaneschi 12A7 KB in FOL Paolo Salvaneschi 12

• Esempio: il dominio dei circuiti

Esempio 2 - circuiti

One bit full adderPrimo e secondo bitda sommare

Carry bitCarry bit

Bit somma

XOR AND OR

A7 KB in FOL Paolo Salvaneschi 13A7 KB in FOL Paolo Salvaneschi 13

Esempio 2 - circuiti

• Problema:• Costruire un simulatore del circuito

– Il circuito somma correttamente?– Data una configurazione di input, quale è la configurazione

di output?– ….

• Rispondere a domande relative alla struttura del circuito– Quali sono le porte connesse al primo terminale di input?– Il circuito contiene anelli di retroazione?– …..

A7 KB in FOL Paolo Salvaneschi 14A7 KB in FOL Paolo Salvaneschi 14

Esempio 2 - circuiti

• Rappresentare:– La struttura del circuito– Il comportamento del circuito

• Creare una base di conoscenza che permetta di– Descrivere struttura e comportamento di una classe

di circuiti– Istanziare e studiare specifici circuiti della classe

A7 KB in FOL Paolo Salvaneschi 15A7 KB in FOL Paolo Salvaneschi 15

Esempio 2 - circuiti

• Di che cosa parliamo?

Terminali di ingresso e uscita

Circuito

A7 KB in FOL Paolo Salvaneschi 16A7 KB in FOL Paolo Salvaneschi 16

Esempio 2 - circuiti

• Di che cosa parliamo?Porte(di tipi diversi)

Terminali di ingresso e uscita(per il circuito e per le porte)

Connettività tra porte: Relazione di connessione tra terminali

Segnali

A7 KB in FOL Paolo Salvaneschi 17A7 KB in FOL Paolo Salvaneschi 17

Esempio 2 - circuiti

• Di che cosa non parliamo?• Costruire un sistema di diagnosi del circuito

– Considerare le piste di connessione come oggetti (es. con attributo interrotto / non interrotto)

• Costruire un simulatore che permetta di studiare il comportamento termico del circuito– Considerare gli aspetti fisici dei componenti e non

solo l’astrazione funzionale (porta AND)

A7 KB in FOL Paolo Salvaneschi 18A7 KB in FOL Paolo Salvaneschi 18

Esempio 2 - circuiti

• Ontologia– Teoria sulla natura dell’essere– Gli esseri specifici del dominio di interesse

A7 KB in FOL Paolo Salvaneschi 19A7 KB in FOL Paolo Salvaneschi 19

Esempio 2 - circuiti

• Circuito costante C1

• Porte costanti X1, X2,…

• Tipi di portecostanti XOR, OR,AND,NOT funzione Type(X1)= XOR--- o equivalentemente Type (XOR, X1) ----(devono essere distinte poiché cambia il comportamento di ogni tipo di porta)(utilizzando la funzione Type si garantisce anche che ogni porta può avere un solo tipo)

-----S----- Modello della Struttura-----C----- Modello del Comportamento

S

Assegno i simboli di costanti,funzioni e predicati

A7 KB in FOL Paolo Salvaneschi 20A7 KB in FOL Paolo Salvaneschi 20

Esempio 2 - circuiti

• Terminali (del circuito e della porta)funzioni: In(1, X1) primo terminale di input per la porta X1

Out(1, X1) primo terminale di output per la porta X1

Out(2, C1) secondo terminale di output per il circuito C1

• Connessionipredicato Connected ( Out(1,X1), In(1, X2) )

• Segnalicostanti: valori dei segnali 0 , 1funzione che denota il valore di un segnale per un terminale Signal(t) = 1Es. Signal(Out(1,X1)) = 1

S

C

A7 KB in FOL Paolo Salvaneschi 21A7 KB in FOL Paolo Salvaneschi 21

Esempio 2 - circuiti

• Conoscenza generale del dominio (classe di circuiti)

S

C

C

C

A7 KB in FOL Paolo Salvaneschi 22A7 KB in FOL Paolo Salvaneschi 22

Esempio 2 - circuiti

C

A7 KB in FOL Paolo Salvaneschi 23A7 KB in FOL Paolo Salvaneschi 23

Esempio 2 - circuiti

• Specifica istanza della classe di circuiti

Porte

A7 KB in FOL Paolo Salvaneschi 24A7 KB in FOL Paolo Salvaneschi 24

Esempio 2 - circuiti

• Specifica istanza della classe di circuitiConnessioni interne al circuito

Connessioni ai terminalidel circuito

A7 KB in FOL Paolo Salvaneschi 25A7 KB in FOL Paolo Salvaneschi 25

Esempio 2 - circuiti

• Query per la base di conoscenza– Quale combinazione di ingressi produce il seguente

output del circuito C1 ?• Il primo output (bit somma) a 0• Il secondo output (bit riporto) a 1

Query quantificata. Le seguenti sostituzioni delle variabiligenerano frasi implicate logicamente da KB

A7 KB in FOL Paolo Salvaneschi 26A7 KB in FOL Paolo Salvaneschi 26

Esempio 2 - circuiti

• Query per la base di conoscenza– Quali sono tutti i possibili insiemi di valori per tutti

i terminali del circuito C1?

Restituisce la tavola di input / output del circuitoPuò essere utilizzata per verificare che il circuitosommi correttamente (Verifica del circuito)

A7 KB in FOL Paolo Salvaneschi 27A7 KB in FOL Paolo Salvaneschi 27

Esempio 2 - circuiti

• Costruzione incrementale della base di conoscenza– Riutilizzo dell’ontologia– Riutilizzo della conoscenza generale del dominio– Composizione di istanze

A7 KB in FOL Paolo Salvaneschi 28A7 KB in FOL Paolo Salvaneschi 28

Processo di sviluppo

• Processo di sviluppo– Definizione dei possibili utilizzi della base di

conoscenza (simulazione, diagnosi, spiegazione,…)– Definizione dei tipi di conoscenza richiesti

– Funzione, struttura, comportamento– Livello di astrazione– Classi di processi: es. relazioni logiche tra porte di un

circuito, difettosità, caratteristiche dei materiali,…

– Acquisizione della conoscenza

A7 KB in FOL Paolo Salvaneschi 29A7 KB in FOL Paolo Salvaneschi 29

Processo di sviluppo

– Sviluppo di un’ontologia– Vocabolario di predicati, funzioni e costanti

– Sviluppo delle conoscenze generali– Gli assiomi per i termini del vocabolario

– Sviluppo di specifiche istanze