• Non ci sono risultati.

SINTESI E USO DI MODELLI ASTRATTI NELLA DIAGNOSI MODEL-BASED

N/A
N/A
Protected

Academic year: 2021

Condividi "SINTESI E USO DI MODELLI ASTRATTI NELLA DIAGNOSI MODEL-BASED"

Copied!
19
0
0

Testo completo

(1)

SINTESI E USO DI MODELLI ASTRATTI NELLA DIAGNOSI MODEL-BASED

Gianluca Torta Dipartimento di Informatica

Università di Torino

Outline

¾ Model Based Diagnosis

¾ astrazione di modelli

¾ astrazione nella MBD o uso dei modelli astratti

o proprietà dei modelli astratti

¾ astrazione automatica

¾ problemi aperti

(2)

Model Based Diagnosis (I)

Nella MBD il modello del sistema sotto diagnosi (System Description) è rappresentato da una tripla:

SD = <A, P = <I,S,O>, ∆>

dove:

• A è un set di variabili discrete dette assumables; ogni variabile C ∈ A rappresenta un componente del sistema e DOM(C) elenca i behavioral mode del componente (OK e uno o più modi di fault)

• P è il set di variabili discrete dette non-assumables e si partiziona in I (input), S (stati interni) e O (output)

•∆ è la Domain Theory ovvero il mapping da I ∪ A ad S ∪ O che rappresenta il behavior (formule logiche, relazioni, Reti Bayesiane ecc.)

Model Based Diagnosis (II)

Un problema diagnostico è dato da:

DP = <SD, I, OBS>

dove:

• SD è il modello del sistema

• I è una istanziazione dell’insieme di variabili I

• OBS è una istanziazione dell’insieme di variabili OBS ⊆ S ∪ O dette osservabili

Una soluzione consistente di un problema diagnostico (diagnosi consistency based) è una istanziazione D delle variabili A tale che:

(3)

Model Based Diagnosis (III)

Esempio:

V out

in

cmd

A = {V}

P = {in, cmd, out}

DOM(V) = {OK, SO, SC}

DOM(in) = DOM(out) = {f, nf}

DOM(cmd) = {open, close}

in(f) & cmd(open) & V(OK) ⇒ out(f) in(f) & cmd(open) & V(SO) ⇒ out(f) in(f) & cmd(open) & V(SC) ⇒ out(nf) in(f) & cmd(close) & V(OK) ⇒ out(nf) in(f) & cmd(close) & V(SO) ⇒ out(f) in(f) & cmd(close) & V(SO) ⇒ out(nf) in(nf) & cmd(*) & V(*) ⇒ out(nf)

∆ =

Definizione di Astrazione

La astrazione di un modello SDD = <A, P, ∆> è costituita da due elementi:

• un modello (astratto) SDA = <A’, P’, ∆’>

• un mapping AM che mappa A in A’, P in P’ e ∆ in ∆’

(4)

Tipi di Astrazione (I)

Astrazione strutturale:

Livello 0 Livello 1 Livello 2

Tipi di Astrazione (II)

Astrazione funzionale/causale:

Livello 0 Livello 1

(5)

Tipi di Astrazione (III)

Astrazione is-a:

Astrazione di Valori

Per ogni variabile x in SDD c’è una variabile X in SDA

I valori di DOM(x) sono mappati molti-a-uno sui valori di DOM(X)

Esempio

DOM(VALVE-x) = {OK, LEAK, STUCK}

DOM(VALVE-X) = {OK, STUCK}

con:

AM(VALVE-x(OK)) = AM(VALVE-x(LEAK)) = VALVE-X(OK) AM(VALVE-x(STUCK)) = VALVE-X(STUCK)

(6)

Astrazione di Variabili

Le variabili x1…xk in SDD sono mappate sulla variabile X in SDA I valori di DOM(x1) × … × DOM(xk) sono mappati molti-a-uno su valori di DOM(X)

Esempio

AM(PIPE-x1) = AM(PIPE-x2) = PIPE-X con:

AM(PIPE-x1(OK), PIPE-x2(OK)) = PIPE-X(OK)

AM(PIPE-x1(OK), PIPE-x2(BROKEN)) = PIPE-X(BROKEN) AM(PIPE-x1(BROKEN), PIPE-x2(OK)) = PIPE-X(BROKEN) AM(PIPE-x1(BROKEN), PIPE-x2(BROKEN)) = PIPE-X(BROKEN)

Astrazione di Modelli e MBD

1. astrazione da modello quantitativo a modello qualitativo (discretizzazione, mapping): dato un modello numerico del sistema sintetizzare un modello qualitativo corrispondente che permetta di usare la MBD (Console & al DX 03, Struss DX 03)

2. astrazione da modello qualitativo a modello qualitativo

(7)

Astrazione Qualitativo-Qualitativo

Vantaggi:

1. la complessità del reasoning diagnostico dipende in modo esponenziale dalla dimensione del sistema

2. il numero massimo di diagnosi dipende in modo esponenziale dalla dimensione del sistema

3. un numero troppo elevato di diagnosi dettagliate alternative puo’ rendere difficile per un supervisore umano e/o

automatico la loro interpretazione (e il conseguente decision- making in base ad esse)

Modelli Astratti e Processo Diagnostico (I)

MD MA’

MA’’

MA’’’

modelli separati

(8)

MD MA’

MA’’

MA’’’

modello unico +

+

+

Modelli Astratti e Processo Diagnostico (II)

Proprietà della Astrazione (I)

CORRETTEZZA

se una istanziazione DD non è una diagnosi a livello dettagliato allora DA = AM(DD) non è una diagnosi a livello astratto

COMPLETEZZA

se una istanziazione DD è una diagnosi a livello dettagliato allora DA = AM(DD) è una diagnosi a livello astratto ID = CORRETTEZZA + COMPLETEZZA

(9)

Proprietà della Astrazione (II)

corretta completa

Proprietà della Astrazione (III)

ID

(10)

Astrazione e Diagnosticabilità (I)

indiscriminabilità (Travè-Massuyès et al. IJCAI 01)

Due fault C1(F1) e C2(F2) sono discriminabili sse esiste un DP dove F1 appare in una diagnosi (minimale) ma non F2 e viceversa

grado di diagnosticabilità (Travè-Massuyès et al. IJCAI 01) Il grado di diagnosticabilità di SD è dato dal rapporto tra il numero di classi di indiscriminabilità e il numero di possibili fault

diagnosticabilità forte (Console at el., DX 00) Grado di diagnosticabilità uguale a 1

Astrazione e Diagnosticabilità (II)

Nella astrazione di valori, se C1(F1) e C1(F2) sono

indiscriminabili si puo’ pensare di astrarli in un fault C1(AF) Nella astrazione di variabili, per astrarre C1 e C2 in AC occorre mappare tutte le coppie in DOM(C1) × DOM(C2) in valori di DOM(AC)

indiscriminabilità tra coppie (Torta & Torasso IJCAI 03) Data la coppia {C1(F1), C2(F2)} essa è indiscriminabile da {C1(F1’), C2(F2’)} sse per ogni DP, se la prima appartiene a una diagnosi anche la seconda appartiene a una diagnosi e viceversa

Data una partizione di DOM(C1) × DOM(C2) in classi di indiscriminabilità è possibile pensare di astrarre C1, C2 in un

(11)

Discriminabilità e Osservabilità

La (in)discriminabilità è legata alla osservabilità del sistema.

F1 F2

X Y

Z

F1 F2

X ?

discriminabili indiscriminabili

Astrazione Automatica (I)

Astrazione automatica per:

• produrre velocemente modelli astratti a diversi livelli anche per grandi sistemi

• produrre modelli astratti che soddisfano proprietà formali

• produrre modelli astratti “ottimali”

(12)

Astrazione Automatica (II)

1. input: osservabilità, discriminabilità desiderata, informazioni domain-dependent, tipo di modello 2. prodotto: nuovo modello, modello aumentato 3. scope: di valori e/o di variabili

4. proprietà formali richieste: correttezza, completezza, ID 5. qualità richieste: efficienza, compattezza e intuitività del

modello/diagnosi astratti e del mapping di astrazione 6. proprietà dell’algoritmo di astrazione automatica:

ottimalità, efficienza

Astrazione di Variabili

(Torta & Torasso, IJCAI, 2003) 1. input: osservabilità τOBS; modello in logica proposizionale

multi-valore

2. prodotto: nuovo modello 3. scope: di valori e di variabili 4. proprietà formali richieste: ID

5. qualità richieste: maggiore efficienza, maggiore compattezza del modello e delle diagnosi astratti, compattezza e intuitività del mapping

6. proprietà dell’algoritmo di astrazione automatica:

efficienza garantita da tecnica greedy e da reasoning ogni volta localizzato a una parte del modello

(13)

Function Abstract(SD, CLk i) While (Oracle(SD) = <Ci, Cj>)

LocalDT = CutDT(DT, Ci, Cj)

If (MergeComps(LocalDT, Ci, Cj) = <AC, defAC>) Comps = Comps \ {Ci, Cj} ∪ {AC}

DT = ReviseDT(<AC, defAC>, Ci, Cj) EndIf

EndWhile Return SD EndFunction

Algoritmo di Astrazione

out’’P2 out in P1 out’ V1

cmd

Esempio (I)

out’’ e out osservabili

(14)

Esempio (II)

P1 in

out’ cmd V1

out’’

P2

out

Rete Causale

Esempio (III)

P1 in

out’ cmd V1

out’’

P2

out

P2 e V1 sono vicini, ma tra loro c’è il nodo out’’ osservabile

Oracle()

(15)

Esempio (IV)

P1 in

out’ cmd V1

out’’

P2

out

P1 e V1 sono vicini e tra loro non ci sono nodi osservabili

Oracle()

Esempio (V)

P1 in

out’ cmd V1

out’’

Porzione della Causal Net rilevante

CutDT()

(16)

Esempio (VI)

C1: {<V1(ok),P1(ok)>} defABM1=V1(ok) & P1(ok) C2: {<V1(ok),P1(lk)>, defABM2= V1(ok) & P1(lk) |

<V1(lk),P1(ok)>, V1(lk) & P1(ok) |

<V1(lk),P1(lk)>} V1(lk) & P1(lk) C3: {<V1(ok),P1(sc)>, defABM3=V1(sc) | P1(sc)

<V1(lk),P1(sc)>,

<V1(hb),P1(sc)>,

<V1(so),P1(sc)>,

<V1(sc),P1(ok)>,

<V1(sc),P1(lk)>,

<V1(sc),P1(sc)>}

C5: {<V1(so),P1(ok)>} defABM5=V1(so) & P1(ok) C4: {<V1(hb),P1(ok)>, defABM4= V1(hb) & P1(ok) |

<V1(hb),P1(lk)>, V1(hb) & P1(lk) |

<V1(so),P1(lk)>} V1(so) & P1(lk)

Esempio (VII)

in cmd AV1

out’’

P2

out

Rete Causale dopo astrazione

(17)

out’’P2 out

in AV1

cmd

Esempio (VIII)

Sistema dopo astrazione

Astrazione di Valori

(Sachenbacher & Struss, QR, 2001) 1. input: osservabilità τOBS, discriminabilità desiderata τTARG;

modello relazionale 2. prodotto: nuovo modello 3. scope: di valori

4. proprietà formali richieste: ID

5. qualità richieste: maggiore efficienza e compattezza del modello e delle diagnosi astratti

6. proprietà dell’algoritmo di astrazione automatica:

garantisce che l’astrazione trovata τIND contiene tute e sole le distinzioni sufficienti a soddisfare τTARGdato τOBS

Efficienza garantita da tecniche di tree-clustering per modelli relazionali con topologia ciclica

(18)

Problemi Aperti (I)

qualità della astrazione

definizione di una misura della qualità della astrazione compattezza del mapping (tecniche di inductive learning?) euristiche per ottenere un mapping di buona qualità globale

diagnosi automatica flessibile

computazione del modello astratto on-line costosa riutilizzo di informazione calcolata off-line?

Problemi Aperti (II)

astrazioni non-ID

richiedere solo completezza bontà modello astratto come guida

bontà modello astratto come approssimazione

diagnosi temporale

modelli cambiano (automi, QDE...) concetto di discriminabilità cambia

diversi livelli di astrazione in diversi istanti di tempo?

(19)

END

Riferimenti

Documenti correlati

[r]

Dati Astratti &amp; Variabili Strutturate - Prof..

In particolare, se W `e un sottoinsieme infinito di uno spazio metrico com- patto, vedremo che la derivata W 0 non pu `o essere vuoto.. Ma la definizione `e fatta in termini

Se A `e finito, qualche valore a n 1 sar`a repetito ad infinitum nella successione dando origine ad una sottosuccessione costante e quindi convergente.. Possiamo supporre che A non

poter gestire in modo uguale (hanno lo stesso comportamento) qualsiasi oggetto attraverso l’uso della sua classe base o interfaccia mantenendo le peculiarità delle

//campi di esemplare della classe esterna private double campoEsterno;. //definizione di

// Bisogna cercare il penultimo nodo partendo dal primo // e andando avanti finche’ non si arriva alla fine ListNode temp = head;. while (temp.getNext() != tail)

Le riprese di malattia si sono verificate con un’incidenza maggiore nei pazienti allo stadio I posti in sorveglianza; i SGCT hanno presentato una ripresa di