Intelligenza Artificiale Probabilità Slides Intelligenza Artificiale, Vincenzo Cutello 1 Outline Incertezza Probabilità Sintassi Semantica Regole di inferenza Slides Intelligenza Artificiale, Vincenzo Cutello 2 Incertezza Sia l’azione At = partire per l’aeroporto t minuti prima del volo At mi farà arrivare in tempo ? Problemi: 1. 2. 3. 4. parziale osservabilità (strada, piani degli altri guidatori, ecc.) sensori rumorosi (rapporti sul traffico) Incertezza sul risultato dell’azione Enorme complessità di modellizzazione e predizione del traffico Usando un approccio puramente logico o ”risk falsehood”: “A25 mi farà arrivare in tempo”, oppure Giungere a conclusioni che sono troppo deboli per prendere decisioni:”A25 mi farà arrivare in tempo se non ci sono incidenti sul ponte e non piove, ecc. ecc.” (A1440 mi farebbe ragionevolmente arrivare in tempo ma dovrei stare tutta la notte in aeroporto) Slides Intelligenza Artificiale, Vincenzo Cutello 3 Metodi per gestire l’incertezza Logica non-monotona: Assumiamo che la mia macchina non abbia le gomme lisce Assumiamo che A25 è corretta a meno che non sia contraddetta dall’evidenza Esito: – Quali assunzioni sono ragionevoli ? – Come gestire le contraddizioni ? Probabilità: Date le prove disponibili, A25 mi farà arrivare in tempo con probabilità 0.8, ossia su cento volte che sono partito per l’aereoporto 25 minuti prima, 80 volte sono arrivato in orario Logica fuzzy: Data la mia esperienza e conoscenza, Acirca 25 mi farà arrivare in orario Slides Intelligenza Artificiale, Vincenzo Cutello 4 Probabilità Le asserzioni probabilistiche riassumono gli effetti di: pigrizia: mancanza di enumerazione delle eccezioni, etc. ignoranza: mancanza di fatti rilevanti, condizioni iniziali, ecc. Probabilità soggettiva o bayesiana: Le probabilità legano le proposizioni allo stato di conoscenza – es., P(A25|non si sono verificati incidenti) = 0.06 Le probabilità delle proposizioni cambiano con nuove prove: – es., P(A25|non si sono verificati incidenti, 5 a.m.)=0.15 Slides Intelligenza Artificiale, Vincenzo Cutello 5 Prendere decisioni sotto incertezza Supponiamo che io creda nelle seguenti: – – – – P(A25 mi fa arrivare in orario|…) = 0.04 P(A90 mi fa arrivare in orario|…) = 0.70 P(A120 mi fa arrivare in orario|…) = 0.95 P(A1440 mi fa arrivare in orario|…) = 0.9999 Quale azione scegliere ? Dipende dalle mie preferenze tra perdere il volo e attendere all’aeroporto, ecc. La teoria dell’utilità è usata per rappresentare e inferire preferenze Teoria delle decisioni = teoria dell’utilità + teoria delle probabilità Teoria dei giochi = teoria delle decisioni in presenza di avversari che a loro volta prendono decisioni che possono andare contro la nostra utilità Slides Intelligenza Artificiale, Vincenzo Cutello 6 Struttura di un agente-DT function AGENTE-DT(percezione) returns un’azione static: un insieme di credenze probabilistiche circa lo stato del mondo – calcola le probabilità aggiornate per lo stato corrente basate sulle prove disponibili comprendenti l’azione corrente e precedente – calcola il valore delle probabilità per le azioni, data la descrizione dell’azione e le probabilità degli stati correnti – seleziona l’azione con la più alta utilità attesa dati i valori delle probabilità per i vari esiti e l’utilità dell’informazione return azione Slides Intelligenza Artificiale, Vincenzo Cutello 7 Assiomi di probabilità Siano A e B due eventi qualsiasi 1. 0 ≤ P(A) ≤ 1 2. P(True) = 1 e P(False) = 0 3. P(A B) = P(A) + P(B) –P(A B) De Finetti (1931): un agente che scommette in accordo con le probabilità che violano questi assiomi può essere forzato a perdere soldi indipendentemente dall’esito della scommessa Slides Intelligenza Artificiale, Vincenzo Cutello 8 Sintassi Simile alla logica proposizionale: possibili mondi definiti dall’ assegnamento di valori a variabili random. Variabili random Booleane o Proposizionali – es., Carie (hai una carie ?) Include le espressioni della logica proposizionale Variabili random multivalore – es., Il tempo meteorologico assume uno tra <soleggiato, pioggia, nuvoloso, neve> – I valori devono essere esaustivi e mutuamente esclusivi Proposizione costruita dall’assegnamento di un valore: – es., tempo = soleggiato; Carie = vero Slides Intelligenza Artificiale, Vincenzo Cutello 9 Sintassi (cont.) Probabilità non condizionate o a priori di proposizioni, es., P(Carie) = 0.1 e P(Tempo = soleggiato) = 0.72 corrispondono alla credenza a priori all’arrivo di una qualsiasi (nuova) prova La distribuzione di probabilità è normalizzata, cioè, la somma è 1 e sono noti i valori per tutti i possibili assegnamenti: P(Tempo) = <0.72, 0.1, 0.08, 0.1> Distribuzione di probabilità congiunta per un insieme di variabili fornisce i valori per ogni possibile assegnamento a tutte le variabili P(Tempo, Carie) = una matrice 4*2 di valori: Tempo = soleggiato pioggia nuvoloso neve Carie = true Carie = false Slides Intelligenza Artificiale, Vincenzo Cutello 10 Sintassi (cont.) Probabilità condizionata o a posteriori – es., P(Carie|Mal_di_denti) = 0.8 – cioe’, dato che il mal di denti è tutto quello che io conosco Notazione per distribuzioni condizionali: – P(Tempo|Primavera)= un vettore di 2 elementi di vettori di 4 elementi – Se noi conosciamo di più, es., la carie è data, allora avremo P(Carie|Mal_di_denti,Carie) = 1 Nota: la credenza meno specifica rimane valida dopo l’arrivo di nuovi fatti, ma non è sempre utile Nuovi fatti possono essere irrilevanti, permettendo semplificazioni, P(Carie|Mal_di_denti,lunedì) = P(Carie|Mal_di_denti) = 0.8 Questo genere di inferenza, sanzionato dal dominio di conoscenza, è cruciale Slides Intelligenza Artificiale, Vincenzo Cutello 11 Probabilità condizionata Definizione di probabilità condizionata: P(A B) P(A | B) if P(B) 0 P(B) La regola del prodotto fornisce una formulazione alternativa: P( A B) P( A | B) P( B) P( B | A) P( A) Una versiona generale è mantenuta per le intere distribuzioni, es., – P(Tempo,Carie) = P(Tempo|Carie)P(Carie) – (Vedila come un insieme 4*2 di equazioni, non matrice multipla) La regola a catena è derivata da successive applicazioni della regola del prodotto: P( X 1 ,..., X n ) P( X 1 ,..., X n 1 )P( X n | X 1 ,..., X n 1 ) P( X 1 ,..., X n 2 )P( X n 1 | X 1 ,..., X n 2 )P( X n | X 1 ,..., X n 1 ) ... in1 P( X i | X 1 ,..., X i 1 ) Slides Intelligenza Artificiale, Vincenzo Cutello 12 Bayes’ Rule Regola del prodotto P( A B) P( A | B) P( B) P( B | A) P( A) Bayes' rule P( A | B) P( B | A) P( A) P( B) Perché è utile ? Per assegnare le probabilità diagnostiche dalla conoscenza di quelle causali: P( Effetto| Causa) P(Causa) P(Causa | Effetto) P( Effetto) Es., sia M la meningite, S il torcicollo: P( S | M ) P( M ) 0.8 0.0001 P( M | S ) 0.0008 P( S ) 0.1 Nota: la probabilità a posteriori della meningite è ancora molto bassa ! Slides Intelligenza Artificiale, Vincenzo Cutello 13 Normalizzazione Supponiamo di voler calcolare una distribuzi one a posteriori su A dato B b, e supponiamo che A possa assumere i seguenti valori a1 ,..., am Possiamo applicare la regola di Bayes per ogni valore di A : P ( A a1 | B b) P ( B b | A a1 ) P ( A a1 )/P( B b) ... P ( A am | B b ) P ( B b | A am ) P ( A am ) / P ( B b) Aggiungend o quest' ultime e notando che iP( A ai | B b) 1 : 1 / P ( B b) 1 / i P ( B b | A ai ) P ( A ai ) Questo è il fattore di normalizza zione, denotato con P( A | B b) P( B b | A)P( A) Tipicament e si calcola una distribuzi one non normalizza ta e la si normalizza alla fine, es., supponiamo P( B b | A)P( A) 0.4,0.2,0.2 P( A | B b) 0.4,0.2,0.2 allora 0.4,0.2,0.2 0.5,0.25,0.25 0.4 0.2 0.2 Slides Intelligenza Artificiale, Vincenzo Cutello 14 Condizionamento Introducendo una variabile come una condizione extra: P ( X | Y ) z P ( X | Y , Z z ) P ( Z z | Y ) Intuizione: più facile “assess” ogni specifica circostanza. Quando Y è assente, avremo una marginalizzazione: P ( X ) z P ( X | Z z ) P ( Z z ) z P ( X , Z z ) In generale, data una distribuzione congiunta su un insieme di variabili, la distribuzione su un qualsiasi sottoinsieme (chiamata distribuzione marginale per ragioni storiche) può essere calcolata “summing out” le altre variabili. Slides Intelligenza Artificiale, Vincenzo Cutello 15 Distribuzioni totalmente congiunte Un modello di probabilità completa specifica ogni caso nella distribuzione congiunta per tutte le variabili X = X1,…,Xn Cioè, una probabilità per ogni possibile mondo X1 = x1,…,Xn = xn (Cf. Le teorie complete in logica) Es., supponiamo che Mal_di_denti e Carie siano variabili random: Mal_di_denti = true Mal_di_denti = false Carie = true 0.04 0.06 Carie = flase 0.01 0.89 I possibili mondi sono mutuamente esclusivi P( w1 w2 ) 0 I possibili mondi sono esaustivi w1 ... wn è Vera quindi Slides Intelligenza Artificiale, Vincenzo Cutello P( w ) 1 i i 16 Distribuzioni totalmente congiunte 1) Per una qualsiasi proposizio ne definita su variabi li random ( wi ) è vera o falsa 2) è equivalent e alla disgiunzio ne di delle wi dove ( wi ) è vera Quindi P ( ) w : ( w ) P ( wi ) i i Cioè, la probabilit à non condiziona ta di una qualsiasi proposizio ne è calcolabil e come la somma delle varie casistiche delle distribuzi one totalment e congiunta Le probabilit à condiziona te possono essere calcolate nella stessa maniera come rapporto : P ( | ) P ( ) P ( ) Es., P (Carie | Mal _ di _ denti) P (Carie Mal _ di _ denti) 0.04 0.08 P ( Mal _ di _ denti) 0.04 0.01 Slides Intelligenza Artificiale, Vincenzo Cutello 17 Inferenza dalle distribuzioni congiunte Tipicamente, siamo interessati alla distribuzione congiunta a posteriori della variabile domanda Y dati specifici valori e per le variabili di prova E Siamo H = X – Y – E le variabili nascoste Allora la sommatoria richiesta dei casi congiunti è fatta sommando le variabili nascoste: P(Y | E e) P(Y, E e) h P(Y, E e, H h) I termini nella sommatoria sono i casi congiunti perché Y, E, e H ricoprono l’insieme delle variabili random Problemi evidenti: 1) Complessità temporale nel caso peggiore di O(dn) dove d è la più grande arietà 2) Complessità spaziale di O(dn) per memorizzare la distribuzione congiunta 3) Come trovare i numeri per O(dn) casi ??? Slides Intelligenza Artificiale, Vincenzo Cutello 18 Indipendenza Due variabili random A, B sono (assolutamente) indipendenti se e solo se P(A | B) P(A) P(A,B) P(A | B)P(B) P(A)P(B) o es., A e B sono due monete Se n variabili Booleane sono indipendenti, la giunzione P( X 1 ,..., X n ) i P( X i ) totale è quindi può essere specificata da solo n numeri L’indipendenza assoluta è un requisito molto forte, raramente incontrato Slides Intelligenza Artificiale, Vincenzo Cutello 19 Indipendenza: esempio Consideriamo un problema di azioni con tre variabili random: A+ (azione sale), SF (stato finanziario società), D=l (giorno della settimana è lunedì) La probabilità che l’azione salga A+, dipende dallo stato finanziario buono SF della società ma non dal giorno della settimana: – P(A+ | SF, D=l) = P(A+|SF) cioè, A+ è condizionatamente indipendente dal D data la SF La stessa indipendenza si mantiene anche se non è lunedì: – P(A+ | SF, NOT D=l ) = P(A+ | SF) Slides Intelligenza Artificiale, Vincenzo Cutello 20 Indipendenza: esempio 2 Consideriamo tre variabili random: Caldo (temp > 25), Maggio, Dentro_casa Se siamo in Maggio, la probabilità che faccia caldo non dipende dall’essere in casa o fuori casa (non ci sono riscaldamenti): P(Caldo | Maggio,Dentro_casa) = P(Caldo|Maggio) cioè, Caldo è condizionatamente indipendente da Dentro_casa dato Maggio La stessa indipendenza si mantiene anche se non sono Dentro_casa: P(Caldo | Maggio, ┐Dentro_casa) = P(Caldo | ┐Maggio) Slides Intelligenza Artificiale, Vincenzo Cutello 21 Reti di credenza Rappresentano una semplice notazione grafica per le asserzioni di indipendenza condizionale e quindi per una specifica compatta delle distribuzioni congiunte totali Sintassi: – – – un insieme di nodi, uno per ogni variabile un grafo diretto e aciclico (gli archi rappresentano le influenze dirette) una distribuzione condizionata per ogni nodo dati i suoi genitori: P(Xi | Genitori(Xi)) Nel caso più semplice, distribuzione condizionata rappresentata come una tabella di probabilità condizionate (CPT) Slides Intelligenza Artificiale, Vincenzo Cutello 22 Esempio Sono a lavoro, il mio vicino di casa John mi chiama per dirmi che l’allarme sta suonando, ma la mia vicina Mary non chiama. Qualche volta è attivato da un lieve terremoto. C’è un intruso ? Variabili: Intruso, Terremoto, Allarme, J, M La topologia della rete riflette la conoscenza causale: Terremoto Intruso Allarme J M Nota: Genitori ≤ k O(dkn) numeri rispetto a O(dn) Slides Intelligenza Artificiale, Vincenzo Cutello 23 Semantica Le semantiche “globali” definiscono la distribuzione congiunta totale come il prodotto delle distribuzioni condizionate locali P( X 1 ,..., X n ) i 1 P( X i | Genitori( X i )) n es., P( J M A I T ) P(I ) P(T ) P( A | I T ) P( J | A) P( M | A) Semantiche “locali”: ogni nodo è condizionatamente indipendente dai suoi non discendenti dati i suoi genitori Teorema: Semantiche locali se e solo se Semantiche globali Slides Intelligenza Artificiale, Vincenzo Cutello 24 Markov blanket Ogni nodo è condizionatamente indipendente da tutti gli altri Markov blanket: genitori+figli+altri genitori dei figli Slides Intelligenza Artificiale, Vincenzo Cutello 25 Costruzione delle reti di credenza Abbiamo bisogno di un metodo tale che una serie di asserzioni localmente verificabili di indipendenze condizionali garantisca le semantiche globali richieste 1.Scegliere un ordine delle variabile X 1 ,..., X n 2.Per i 1 fino a n aggiungi X i alla rete seleziona i genitori da X 1 ,..., X i-1 tali che P( X i | Genitori( X i )) P( X i | X 1 ,..., X i 1 ) Questa scelta dei genitori garantisce le semantiche globali : P( X 1 ,..., X n ) i 1 P( X i | X 1 ,..., X i 1 ) (regola della concatenaz ione) n i 1 P( X i | Genitori( X i )) per costruzion e n Slides Intelligenza Artificiale, Vincenzo Cutello 26 Esempio Supponiamo di scegliere l’ordine M, J, A, I, T M J Allarme Intruso Terremoto P(J | M) = P(J) ? No P(A | J, M) = P(A | J) ? P(A | J,M) = P(A) ? No P(I | A, J, M) = P(I | A) ? Si P(I | A, J, M) = P(I) ? No No P(T | I, A, J, M) = P(T | A) ? Si P(T | I, A, J, M) = P(T | A, I) ? Slides Intelligenza Artificiale, Vincenzo Cutello 27 Esempio: dal meccanico Problema: il motore non parte Variabili: Batteria, Radio, Iniezione, Gasolio, Accensione B I G R A Slides Intelligenza Artificiale, Vincenzo Cutello 28