Case Based Reasoning [email protected]. Un pò di storia Approccio formalizzato da Janet...

24
Case Based Reasoning [email protected]

Transcript of Case Based Reasoning [email protected]. Un pò di storia Approccio formalizzato da Janet...

Page 1: Case Based Reasoning sartori@disco.unimib.it. Un pò di storia Approccio formalizzato da Janet Kolodner Pittosto recente Algoritmo per la risoluzione di.

Case Based Reasoning

[email protected]

Page 2: Case Based Reasoning sartori@disco.unimib.it. Un pò di storia Approccio formalizzato da Janet Kolodner Pittosto recente Algoritmo per la risoluzione di.

Un pò di storia

• Approccio formalizzato da Janet Kolodner

• Pittosto recente

• Algoritmo per la risoluzione di problemi basato sul ragionamento per analogia

Page 3: Case Based Reasoning sartori@disco.unimib.it. Un pò di storia Approccio formalizzato da Janet Kolodner Pittosto recente Algoritmo per la risoluzione di.

Filosofia

Il principio guida dell’approccio CBR è il seguente:

Problemi simili hanno soluzioni simili

Quindi, soluzioni adottate in passato possono essere recuperate per risolvere nuove situazioni critiche

Page 4: Case Based Reasoning sartori@disco.unimib.it. Un pò di storia Approccio formalizzato da Janet Kolodner Pittosto recente Algoritmo per la risoluzione di.

CBR e Ingegneria della Conoscenza

• Il CBR nasce come problem solving method• Particolarmente utile quando non si riesce a

costruire un modello di conoscenza completo e preciso– Dominio difficile– Conoscenza eterogenea– Poco tempo a disposizione

• Negli ultimi anni si sta imponendo come metodologia efficace ed efficiente per la realizzazione di Knowledge Management Systems

Page 5: Case Based Reasoning sartori@disco.unimib.it. Un pò di storia Approccio formalizzato da Janet Kolodner Pittosto recente Algoritmo per la risoluzione di.

Il Ciclo CBR: le 4 R

Page 6: Case Based Reasoning sartori@disco.unimib.it. Un pò di storia Approccio formalizzato da Janet Kolodner Pittosto recente Algoritmo per la risoluzione di.

CBR e Problemi

Il CBR permette di affrontare e risolvere due categorie di problemi:

Retrieve Classificazione

Revise Costruzione

Page 7: Case Based Reasoning sartori@disco.unimib.it. Un pò di storia Approccio formalizzato da Janet Kolodner Pittosto recente Algoritmo per la risoluzione di.

Il Caso: struttura

Page 8: Case Based Reasoning sartori@disco.unimib.it. Un pò di storia Approccio formalizzato da Janet Kolodner Pittosto recente Algoritmo per la risoluzione di.

Rappresentazione di un caso

• Flat

• Gerarchica

• A grafo

Page 9: Case Based Reasoning sartori@disco.unimib.it. Un pò di storia Approccio formalizzato da Janet Kolodner Pittosto recente Algoritmo per la risoluzione di.

Retrieve = Classificare ?

Problema Problema

Sono simili ?

Stessa categoria Stessa categoria

Sì No

Page 10: Case Based Reasoning sartori@disco.unimib.it. Un pò di storia Approccio formalizzato da Janet Kolodner Pittosto recente Algoritmo per la risoluzione di.

Come recuperare casi

• Utilizzo di funzioni di similarità:SIM : CxC [0, 1]

• Input: la descrizione del problema

• Output: un numero reale compreso fra zero e uno (% di similarità)

• Uno dei due casi in ingresso è non risolto e si indica con Cc

• L’altro è risolto e si indica con Cr

Page 11: Case Based Reasoning sartori@disco.unimib.it. Un pò di storia Approccio formalizzato da Janet Kolodner Pittosto recente Algoritmo per la risoluzione di.

Algoritmi di Retrieval

Cc Cr

Stesso valore?

Stesso valore?

Page 12: Case Based Reasoning sartori@disco.unimib.it. Un pò di storia Approccio formalizzato da Janet Kolodner Pittosto recente Algoritmo per la risoluzione di.

K-Nearest Neighbour

Il valore di similarità è una media pesata della funzione SIM applicata ai valori di tutti gli attributi della descrizione del caso:

n

ffsimwCrCcSIM

n

i

rci ii 1

* ),(),(

Page 13: Case Based Reasoning sartori@disco.unimib.it. Un pò di storia Approccio formalizzato da Janet Kolodner Pittosto recente Algoritmo per la risoluzione di.

Revise = Costruzione ?

ProblemaSoluzione

Recuperata

La soluzione va

bene?

Ho “costruito” la soluzione

Uso la soluzione come punto di

partenza

Sì No

ConoscenzaSpecifica dominio

Page 14: Case Based Reasoning sartori@disco.unimib.it. Un pò di storia Approccio formalizzato da Janet Kolodner Pittosto recente Algoritmo per la risoluzione di.

Algoritmi di Revise

Soluzioner Soluzionec

Mofica valore?

Modifica valore?

Page 15: Case Based Reasoning sartori@disco.unimib.it. Un pò di storia Approccio formalizzato da Janet Kolodner Pittosto recente Algoritmo per la risoluzione di.

Algoritmi di Revise

• Difficili da implementare

• Spesso si lascia all’utente/esperto il compito di modifcare la soluzione recuperata

• Gli algoritmi più diffusi si basano sul concetto di substitutional adaptation

Page 16: Case Based Reasoning sartori@disco.unimib.it. Un pò di storia Approccio formalizzato da Janet Kolodner Pittosto recente Algoritmo per la risoluzione di.

Substitutional Adaptation• Dato che il caso corrente e quello recuperato sono diversi, la basa dei casi

potrebbe contenere altre coppie di casi con le stesse (o simili) differenze

• Questi casi agiscono da rappresentanti del caso corrente (Ccr) e di quello recuperato (Rcr)

• La differenza tra le soluzioni dei rappresentanti (vettore vi) dà un’indicazione di come modificare la soluzione del caso recuperato Rc per risolvere il caso corrente Cc (vettore v’)

• v’ è un’aggregazione delle differenze v1, ..., vn,, tra le soluzione associate a Ccr e Rcr

Page 17: Case Based Reasoning sartori@disco.unimib.it. Un pò di storia Approccio formalizzato da Janet Kolodner Pittosto recente Algoritmo per la risoluzione di.

PROGETTO P-RACE

Un approccio basato sulla conoscenza per supportare il processo decisionale del

Race Engineer

L.Int.ArL.Int.ArDipartimento di Informatica, Sistemistica e ComunicazioneDipartimento di Informatica, Sistemistica e Comunicazione

Università di Milano - BicoccaUniversità di Milano - Bicocca

Page 18: Case Based Reasoning sartori@disco.unimib.it. Un pò di storia Approccio formalizzato da Janet Kolodner Pittosto recente Algoritmo per la risoluzione di.

OBIETTIVO DEL PROGETTO

Sviluppare un sistema di supporto alle decisioni riguardanti la progettazione e l’utilizzo della mescola giusta per partecipare ad una gara (e vincere)

Page 19: Case Based Reasoning sartori@disco.unimib.it. Un pò di storia Approccio formalizzato da Janet Kolodner Pittosto recente Algoritmo per la risoluzione di.

CONCORRENTI

punti deboli e di

forza

FONDO

STRADALE

CIRCUITI

DISEGNO

BATTISTRADA

CONDIZIONI

AMBIENTALI

DATI

TELEMETRICI

ASSETTO VETTURA

DATI STORICI

Page 20: Case Based Reasoning sartori@disco.unimib.it. Un pò di storia Approccio formalizzato da Janet Kolodner Pittosto recente Algoritmo per la risoluzione di.

ASSOCIAZIONI

MESCOLA/PERFORMANCE

CHIMICA DEI

MATERIALI

RELAZIONE TRA MODIFICHE, PROPRIETÀ

CHIMICO-FISICHE E PERFORMANCE

RUOLO,

INFLUENZE E

RELAZIONI TRA

INGREDIENTI

Page 21: Case Based Reasoning sartori@disco.unimib.it. Un pò di storia Approccio formalizzato da Janet Kolodner Pittosto recente Algoritmo per la risoluzione di.

ACQUISIZIONE KNOWLEDGE ENGINEERING

CONOSCENZA EPISODICA

Compound Designer

Race Engineer

CASO PASSATO

NUOVO CASO

Riutilizzo

Innovazione

Creazione

Page 22: Case Based Reasoning sartori@disco.unimib.it. Un pò di storia Approccio formalizzato da Janet Kolodner Pittosto recente Algoritmo per la risoluzione di.

UTILIZZOARCHITETTURA

Modulo fuzzy

Base dei casi

Recupero dei casi

Nuova soluzion

e

Motore CBR

Motore inferenziale

Abstract Compound Model

Page 23: Case Based Reasoning sartori@disco.unimib.it. Un pò di storia Approccio formalizzato da Janet Kolodner Pittosto recente Algoritmo per la risoluzione di.

UTILIZZOINTERFACCIA del RACE ENGINEER

Page 24: Case Based Reasoning sartori@disco.unimib.it. Un pò di storia Approccio formalizzato da Janet Kolodner Pittosto recente Algoritmo per la risoluzione di.

Similarity ComputationSimilarity Computation

ffc c = (f= (f11cc,...,,..., ffnn

cc): case representation): case representationfft t = (f= (f11

tt,...,,..., ffnntt)) : target problem: target problem

Two step processTwo step process Initial MatchInitial Match: selects a subset of the Case Memory: selects a subset of the Case MemoryIM(CM, fIM(CM, ftt) = set of cases C) = set of cases Cii such that such that

sev_index(Csev_index(Cii)=sev_index(f)=sev_index(ftt))

Similarity FunctionSimilarity Function: computes similarity between cases: computes similarity between cases

sim(fsim(ftt, f, fcc) = ) = i=1..ni=1..n[[wwii * SIM(f * SIM(fiitt, f, fii

cc))]/]/i=1..ni=1..nwwii withwithwwi i = match_weight = match_weight if SIM(fif SIM(fii

tt, f, fiicc)<Threshold)<Threshold

wwi i = no_match_weight = no_match_weight if SIM(fif SIM(fiitt, f, fii

cc)>Threshold)>Thresholdwwi i = no_value_weight = no_value_weight if fif fii

tt or f or fiicc is unknown is unknown

SIM(fSIM(fiitt, x): gaussian curve with mean value f, x): gaussian curve with mean value fii

tt and given standard and given standard deviation deviation