Upload
vuongdang
View
219
Download
0
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 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 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