Intelligenza Artificiale Lezione 11 Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 0 Sommario ♦ La rappresentazione della conoscenza ♦ Proprietà di una buona rappresentazione ♦ Logica come formalismo di rappresentazione ♦ Sistemi di rappresentazione della conoscenza Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 1 Sviluppo della rappresentazione della conoscenza ♦ ipotesi del sistema simbolico ♦ logica sı̀, logica no ♦ teoria della conoscenza ♦ ingegneria della conoscenza ♦ Base di conoscenza ↔ Motore inferenziale Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 2 Ipotesi del sistema simbolico Il calcolatore fa parte di una importante classe di sistemi artificiali, quella dei ”sistemi simbolici”... Un sistema simbolico consiste di entità, detti simboli. Questi possono comparire come componenti di strutture. . . . Nel caso dei calcolatori, un sistema di simboli possiede anche un insieme di semplici processi che elaborano (creano, modificano, copiano,. . . ) simboli H. Simon, The Sciences of the Artificial, 1969, 1994 Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 3 Proprietà di una buona rappresentazione ♦ I tre criteri di adeguatezza proposti da McCarthy & Hayes Adeguatezza metafisica Adeguatezza epistemologica Adeguatezza euristica ♦ identificazione del linguaggio ♦ identificazione del livello di astrazione ♦ principi di buona progettazione Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 4 Logica e rappresentazione della conoscenza Logica si: chiara sintassi – semantica – apparati deduttivi ♦ Dichiarativa vs Procedurale Logica no: mancanza di principi di strutturazione inadeguata a cogliere tutti gli aspetti di interesse dell’AI Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 5 Base di conoscenza Una base di conoscenza è una rappresentazione delle conoscenze sul mondo (problema). • conoscenza intensionale esprime delle leggi generali sul dominio di interesse (regole) • conoscenza estensionale esprime la conoscenza sul particolare caso (situazione) in esame (fatti) La costruzione della base di sonoscenza si effettua tramite l’asserzione delle frasi che tappresentano la conoscenza intensionale ed estensionale (Tell). Il linguaggio usato per esprimere la conoscenza si chiama linguaggio di rappresentazione della conoscenza. Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 6 Motore inferenziale Le implicazioni (conseguenze) della base della conoscenza vengono calcolate da un meccanismo di inferenza (motore inferenziale). Ask è l’operatore usato per caratterizzare le inferenze (risposte) ottenibili da un base di conoscenze. La caratterizzazione di un sistema di rappresentazione della conoscenza tramite Tell&Ask si definisce dichiarativa: non occorre conoscere il meccanismo di inferenza per sapere cosa è implicato dalla base di conoscenza. Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 7 Sistemi di rappresentazione della conoscenza formule algoritmo formule BASE DI CONOSCENZA MOTORE ZIALE che manipola INFEREN- Esempio: rappresentazione della conoscenza in logica proposizionale • linguaggio: formule proposizionali • inferenza: |= • Ask: metodi deduttivi per il calcolo proposizionale Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 8 Un esempio BASE DI CONOSCENZA Piove Tiravento Se Piove allora Prendoombrello Se Tiravento allora Mettogiaccaavento Se Piove e Senzaombrello allora Mibagno Dalla base di conoscenza posso derivare(tramite MP): Piove?? Tiravento?? Prendoombrello?? Mettogiaccaavento?? Nebbia?? Mibagno?? Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 9 Sistemi di rappresentazione della conoscenza ♦ Basi di dati deduttive ♦ Programmazione logica (espressività limitata, inferenza efficiente, dichiarativa?) ♦ Dimostratori di teoremi (espressività della logica del primo ordine, ma deduzione non efficiente) ♦ Regole di produzione ♦ Reti semantiche ♦ Frames ♦ Logiche descrittive Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 10 Basi di dati deduttive • linguaggio: clausole senza simboli di funzione (+ negazione come fallimento) • inferenza: |= • Ask: metodi deduttivi per il calcolo proposizionale e metodi deduttivi ad hoc (computazione punto fisso etc.) Con l’ipotesi di dominio finito e costituito dai simboli di costante che compa diono nella base di conoscenza le basi di dati deduttive corrispondono a teorie proposizionali. Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 11 Basi di dati Horn Basi di dati Horn (HDB) o vivide, solo clausole Horn: 1. > → A(x) 2. A1(x) ∧ . . . ∧ An(x) → B(x) 3. A1(x) ∧ . . . ∧ An(x) → ⊥ 1. Fatti 2. Regole 3. Interrogazioni 3. possono anche essere letti come vincoli di integrità Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 12 Inferenza nelle basi di dati Horn MP è una regola di inferenza corretta e completa per HDB Per HDB vale la proprietà dell’intersezione di modelli: quindi HDB hanno un modello minimo. Per un HDB è facile costruire la chiusura deduttiva: applicando MP in tutti i modi possibili e aggiungendo le conclusioni, se non ci sono già Quindi HDB con MP è un sistema formale con deduzione corretta e completa rispetto alla semantica Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 13 Complessità della deduzione in HDB n×d Quanto costa?? Se non ci sono simboli di funzioni dove n è il numero massimo di premesse delle regole e d è la dimensione del HDB HDB è un esempio di come, restringendo il linguaggio si abbatte la complessità della deduzione. HDB senza funzioni è DATALOG Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 14 Basi di dati disgiuntive (DDB) Non tutte le formule della logica del primo ordine possono essere messe in forma di clausole Horn, e.g. piove → (ombrello ∨ giaccavento) Basi di dati disgiuntive (DDB): A(x) A1(x) ∧ . . . ∧ An(x) → B1(x) ∨ . . . ∨ Bn(x) Tutte le formule della logica del primo ordine possono essere messe in questa forma Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 15 Programmazione Logica • linguaggio: clausole di Horn con simboli di funzione (+ negazione come fallimento) • inferenza: |= • Ask: modello operazionale del PROLOG (non dichiarativo per la dipendenza dall’ordine di scrittura delle clausole e degli atomi nel corpo delle clausole) Sono state realizzate diverse estensioni del PROLOG ... • programmazione logica con vincoli (CLP), dove l’unificazione viene fatta in presenza di vincoli più deboli dell’uguaglianza • extended logic programs clausole non-horn e negazione “vera” Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 16 Controllo dell’inferenza “Qual è il reddito della moglie del presidente degli Stati Uniti?” Reddito(s, i) ∧ Sposati(s, p) ∧ Lavoro(p, P residenteStatiU niti) • metaragionamento per decidere quale ordine degli atomi è più vantaggioso • backtracking guidato dalle dipendenze invece del backtracking cronologico • intelligent backtracking che ricorda le derivazionni già fatte evitando di ripeterle Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 17 Dimostratori di teoremi ♦ si basano su metodi deduttivi della logica del primo ordine (risoluzione e tableau) ♦ considerano il significato delle formule (indipendentemente dal modo in cui sono scritte) Applicazioni: • dimostrazione di teoremi matematici • sintesi automatica di programmi • verifica e sintesi di circuiti Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 18 REGOLE KB ha una rappresentazione del tipo: A(x) IF A1(x) ∧ . . . ∧ An(x) T HEN B(x) cioè un sistema a regole è ≈ un HDB. Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 19 REGOLE di produzione Ma nei sistemi a regole di produzione (esempio più famoso OPS5, sviluppato a CMU per applicazioni Digital) - ricerca di soluzione forward (data driven) - decisione se regola applicabile: semiunificazione, cioè pattern matching su memoria di lavoro - decisione su quale regola applicare: algoritmo di scheduling delle regole Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 20 OPS5 per sommi capi Struttura: ♦ Data Base di Regole ♦ Memoria di lavoro ♦ Ciclo: Riconosci-Seleziona-Agisci Memoria di lavoro: memorizza stato iniziale, risultati parziali, conclusione Riconosci: pattern matching tra parte sinistra regole e memoria di lavoro, creazione dell’ “insieme dei conflitti” Insieme dei conflitti: lista di regole applicabili, con relativi legami per le variabili Agisci: side effect nella memoria di lavoro, o sul mondo esterno Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 21 Rappresentazione RETE Opppure, si usa l’approccio RETE (Forgy ‘83). Le regole vengono compilate in una “rete”, cioè una struttura ad albero in cui condividono quanto più possibile della parte sinistra: if f elino ∧ carnivoro ∧ maculato then giaguaro if f elino ∧ carnivoro ∧ rigato then tigre Poi, le regole cambiano la working memory di poco: Se una regola non applicava in un ciclo, è ragionevole che non applichi nel successivo. RETE non fa un matching completo su tutte le regole, ma mantiene una rete di condizioni e fa un matching completo solo sulle regole le cui condizioni sono state influenzate dagli ultimi cambiamenti Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 22 Vantaggi dei sistemi a regole ♦ PATTERN DIRECTED PROCEDURE INVOCATION il controllo passa dal programmatore all’algoritmo di scheduling, quindi programmazione più dichiarativa, più incrementale ♦ Spiegabilità delle conclusioni e delle linee di ragionamento seguite SVANTAGGI: ♦ inefficienza ♦ si possono costruire DB di regole errate, contraddittorie ... e.g. sia KB: if piovuto then pratobagnato if pratobagnato then impiantoirrigazioneacceso piovuto Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 23 Reti semantiche RETI • associative (modello psicologico: più ad alto livello, ma idea analoga a reti neurali) • causali (reti bayesiane) • tassonomie (logiche descrittive) • semantiche (Quinlan ‘68) tassonomie: economia cognitiva, ereditarietà aiuto per retrieval: indicizzazione sul primo argomento P (a, b) il retrieval fatto su a. è un O-O limitato Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 24 Reti semantiche reti semantiche: grafi: nodi = oggetti o classi archi: relazioni (in particolare is − a, istance − of , part − of ) Una sottoinsieme particolare: Reti di ereditarietà Gatti Sottinsieme M ammif eri −→ embro Gatti P allino M−→ Gatti ⊆ M ammif eri Gatti is − a M ammif eri ∀ x Gatto(x) ⇒ M ammif ero(x) Gatto(P allino) Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 25 Reti semantiche: inferenza pallino ∈ Gatti Gatti ⊆ M ammif eri M ammif eri ⊆ Esseriviventi pallino istance − of Gatti Gatti is − a M ammif eri M ammif eri is − a Esseriviventi dalla rete inferisco che: pallino è un mammifero, pallino è un essere vivente. Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 26 Relazioni nelle reti semantiche Tipo di legame Semantica Esempio A Sottinsieme B −→ embro B A M−→ R B A −→ A⊂B A∈B R(A, B) Gatti ⊂ M ammif eri Bill ∈ Gatti Età 12 Bill −→ R B A −→ R A −→ B ∀x x∈A ⇒ R(x, B) ∀x ∃y x∈A ⇒ y ∈ B ∧ R(x, y) Intelligenza Artificiale – Daniele Nardi, 2003 U ccelli Zampe −→ 2 U ccelli Genitore −→ U ccelli Lezione 11 27 Problemi “semantici” delle reti semantiche ♦ limiti di espressività: No disgiunzione, No negazione, Solo predicati binari ♦ “What is in a link?” ♦ Inferenza descritta in modo procedurale ♦ Gestione delle eccezioni Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 28 Animali Vivo: Vola: T F e Sot iem toin siem e s toin Sot Mammiferi Uccelli 2 Vola: T Zampe: Sottoinsieme Pinguini Rel(Vola,Uccelli,T) Rel(Zampe,Uccelli,2) Rel(Zampe,Mammiferi,4) So tto in sie m Zampe: Vola: Membro Opus 2 T Bill Nome: Amico: Pat Bill (a) Una base di conoscenza basata su frame Pinguini Uccelli Gatti Mammiferi Pipistrelli Mammiferi Rel(Vola,Pinguini,F) Rel(Zampe,Pipistrelli,2) Rel(Vola,Pipistrelli,T) Opus Pinguini Bill Gatti Pat Pipistrelli Membro F Opus e Pipistrelli Gatti Membro Vola: Uccelli Animali Mammiferi Animali 4 Sottoinsieme Zampe: Nome: Amico: Rel(Vivo,Animali,T) Rel(Vola,Animali,F) Nome: Pat Nome(Opus,"Opus") Nome(Bill,"Bill") Amico(Opus,Bill) Amico(Bill,Opus) Nome(Pat,"Pat") (b) Traduzione in logica del primo ordine Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 29 Frame Minsky 75: Tutto quello che è rilevante relativamente ad un concetto sta in un “frame”. Un frame è un prototipo degli elementi della classe, ma poiché i frame sono sono collegati in rete, un insieme di frame risulta molto simile ad una rete semantica con nodi strutturati. • KEE • KRSS Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 30 Definizione di frame F −→ SuperClasses : H1, . . . , Hh MemberSlot : S1 ValueClass : E1 Cardinality.Min : nat Cardinality.Max : nat ... Sui valori degli slot si possono specificare dei vincoli E, E1, E2 −→ H | (IN T ERSECT ION E1 E2) | (U N ION E1 E2) | (N OT E) Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 31 Esempio Frame: Course in KB University Subclasses: AdvCourse, BasCourse Memberslot: ENROLLS ValueClass: Student Cardinality.Min: 2 Cardinality.Max: 30 Memberslot: TAUGHTBY ValueClass: (UNION Graduate Professor) Cardinality.Min: 1 Cardinality.Max: 1 Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 32 Ereditarietà - Proprietà del nodo (own) - Proprietà che vengono ereditate. - Ereditarietà multipla - Valori di Default - Ereditarietà non monotona - Esempio del diamante di Nixon Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 33 Description Logics Una famiglia di formalismi che derivano dalla formalizzazione in logica di frames e reti semantiche. ♦ Definiscono una semantica precisa delle relazioni rappresentate dai link ♦ Caratterizzano l’espressività del linguaggio ♦ Quantificano l’efficienza delle inferenze usando la complessità computazionale ♦ KL-ONE ♦ Classic, Loom ♦ FACT Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 34 Esempio Female v/r Person has-child *Z H Y } BM HH Z Z H B H Z H B Z H B H Z B B B : B B B B Woman Mother Parent (1,nil) Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 35 Costruzione di concetti ♦ operatori insiemistici: C u D, C t D, ¬C person u ¬female and female t male. ♦ restrizioni sui ruoli: ∀R.C, ∃R.C ∃haschild.person u ∀haschild.person. ♦ restrizioni numeriche: (>3haschild) u (62hasfemalerelative) Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 36 Base di conoscenza TBox: . woman = person u female ABox: female u person(anna) Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 37 Servizi deduttivi ♦ Sussunzione: C w D ♦ Soddisfacibilità di concetti ♦ Classificazione ♦ Consistenza della base di conoscenza ♦ Verifica di appartenenza ♦ Realizzazione ♦ Ricerca degli individui Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 38 Applicazioni delle logiche descrittive ♦ sistemi esperti in configurazione, ingegneria del software, medicina, accesso alle informazioni nel Web, pianificazione, ♦ analisi del linguaggio naturale, ♦ costruzione di ontologie, ♦ basi di dati: linguaggi di modellazione, riscrittura di interrogazioni Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 39 Ulteriori aspetti della RC ♦ le ipotesi per il completamento della conoscenza (non monotonicità) ♦ la revisione delle conoscenze ♦ metodi specifici per trattare il tempo, l’incertezza, la conoscenza ... ♦ la gestione del cambiamento (situazioni, eventi) Intelligenza Artificiale – Daniele Nardi, 2003 Lezione 11 40