problem solving methods sartori@disco.unimib.it. problem solving method (psm) algoritmo che...

Post on 02-May-2015

221 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Problem Solving Methods

sartori@disco.unimib.it

Problem solving method (psm)

Algoritmo che determina come la conoscenza specifica del dominio (csd) è usata per risolvere i problemi.

Oss. il psm e la rappresentazione della conoscenza sono due facce della stessa medaglia, poiché i psmnrichiedono una particolare rappresentazione della conoscenza, e la rappresentazione dellaconoscenza è significativa solo guardando l’esecuzione delle procedure.

La specificazione di un psm deve anche includere informazioni circa la rappresentazione della conoscenza

La csd consiste di: - caratteristiche dei problemi; - soluzione di problemi; - oggetti ausiliari; - conoscenza relazionare.

psm deboli (base)Aperti a grandi varietà di rappresentazione della conoscenza e/o funzioni.

Hanno molte applicazioni ma per questa ragione non sono di grande aiuto nell’acquisizione della conoscenza.

Esempi di psm di base:

1- rappresentazione della conoscenza base con le sue corrispondenti strategie di inferenza:

- regole (forward o backward chaining) - frames (eredità) - vincoli (propagazione locale)

2- procedure generali come i differenti metodi del planning o le strategie hipotesize-and-test (in cui si possono combinare diversi tipi di conoscenza).

psm fortiLa rappresentazione della csd è più o meno fissata.

I psm forti sono meno flessibili ma offrono assistenza nella acquisizione di conoscenza.

Possono essere visti come specializzazioni, restrizioni dei metodi deboli.

I più importanti tipi di restrizione sono:

- restrizione dell’uso di variabili; - definizione di tipi di oggetto per determinare gli attributi della loro struttura; - determinazione del percorso di comunicazione tra gli oggetti attraverso la rappresentazione delle regole come procedure allegate degli oggetti - controllo globale - input alla conoscenza principalmente istanziando gli oggetti dati e specificando le relazioni

Principali tipi di psm

- classificazione: soluzione selezionata da un insieme di alternative date;

- costruzione: soluzione assemblata da componenti primitive date

- simulazione: è determinato come un dato modello di sistema reagisce a certi input

I tre raggruppamenti non hanno lo stesso peso.

Nel gruppo classificazione la suddivisione è meglio elaborata e i metodi sono più forti.Per il gruppo costruzione sono dati solo i psm per la costruzione euristica.Il gruppo simulazione ha una suddivisione molto frammentaria.

classificazione

Classificazione euristica

Classificazione statistica

Classificazione model-based

Classificazione set-covering

Classificazione case-based

Tabelle di decisione

Classificazione funzionale

Classificazione certa

Alberi di decisione

costruzione

Skeletal Construction

Strategia least-commitment

Strategia propose-and-revise

Costruzione case-based

Costruzione model-based

Strategia propose-and-exchange

Costruzione euristica

Simulazioni numeriche multiple-step

Simulazioni qualitative multiple-step

Simulazione multiple-step

Simulazione one-step

simulazione

Parte IV

Classificazione

Sguardo generale al tipo di problem-solving classificazione

Il termine classificazione è dato a procedure che risolvono problemi con le seguenti proprietà:

1- Il dominio è costituito da 2 insiemi finiti e disgiunti (osservazioni O e soluzioni S). La relazione tra i due insiemi è incerta e complessa.

2- il problema è definito da un dato sotto insieme di osservazioni.

3- Il risultato della classificazione è la selezione di una o più soluzioni del problema.

4- Se la qualità della soluzione può essere migliorata, il compito della classificazione è di determinare quali osservazioni aggiuntive sono necessarie.

Domini

Per testare se un dominio di un problema appartiene alla classificazione i due insiemi (osservazioni e soluzioni) devono essere dati esplicitamente.

Questo sembra complicato ma l’esperienza ha dimostrato che una volta che un dominio è ben capito si trovano delle soluzioni stereotipate spesso ricorrenti, il problem solving quindi si riduce al loro riconoscimento.

Applicazioni tecniche

- controllo della qualità (diagnostica dei motori e degli ingranaggi)

- diagnostica dei processi di produzione (di circuiti, di processi diagnostici nella verniciatura di automobili)

- diagnostica per la riparazione (dell’automobile o dell’hardware de computer...)

- monitoraggio (delle turbine dei macchinari e delle power stations)

- diagnostica delle reti (di computer, elettriche, del telefono....)

- applicazione di altre tecnologie (selezione di strumenti, modifica di data base)

Applicazioni in medicina e ecologia

- diagnosi medica in senso stretto (di sclerosi multipla, medicina interna..)

- scelta di terapie in medicina (determinare la terapia antibiotica...)

- interpretazione dei dati di laboratorio - sorveglianza di pazienti

- diagnosi di malattie di animali o piante

- diagnosi di danni ambientali

Applicazione ai servizi

- bancarie (prestiti, controllo crediti)

- in campo legale

- selezione di cataloghi (scelta di un data base, di un libro...)

- product marketing

Riconoscimento di immagini e oggetti

- identificazione di piante (funghi...)

- riconoscimento di oggetti su un nastro trasportatore

- riconoscimento di particolari aspetti nel processo di immagini

Altre applicazioni

- riconoscimento di formazioni geologiche (ricerca di depositi minerari)

- selezione di oggetti adatti a luoghi dati (selezione della stanza dove mettere le piante)

- diagnosi di una sfilata di moda

Tipi di problemiEsempi per ogni tipo di problema dal punto di vista dell’utente.

- ricerca degli errori statici (indipendenti dal tempo):

O: sintomi e misurazioni osservate

S: cause di errore e possibili suggerimenti per correggerli

- ricerca degli errori dinamici (dipendenti dal tempo):

O: sintomi e misurazioni oggettive, dove in entrambi i casi i valori sono determinati in diversi tempi

S: componenti difettose e/o possibili correzioni di influenze esterne

- valutazioni:

O: proprietà di un oggetto o di un processo

S: in principio solo due categorie di decisione “positivo” o “negativo”, le decisioni sono prese sulle basi di criteri individuali

- valutazioni multiple: O: proprietà di un oggetto o di un processo

S: definizioni di diversi criterio di valutazioni

- selezioni di precedenze:

O: desideri dell’utente

S: prodotti disponibili

Analisi delle caratteristiche dei problemi

Il più semplice psm per la classificazione è una diretta corrispondenza tra osservazioni e soluzioni, ma potrebbero sussistere i seguenti problemi:

- conoscenza incerta- osservazioni inattendibili - osservazioni incerte - osservazioni soggettive - osservazioni false- osservazioni dipendenti dal tempo- osservazioni incomplete - controllo del dialogo - revisione delle supposizioni- astrazione di osservazioni a soluzioni attraverso passi intermedi- parametrizzazione di osservazioni e soluzioni- soluzioni multiple- raccomandazioni combinate per diverse soluzioni

psmSi hanno i seguenti metodi base:

- forward chaining (strategia di inferenza)

- backward chaining (strategia di inferenza)

- strategie establish-refine (strategia di inferenza molto generale)

- strategie hypothesize-and-test (più specifico, flessibile)

la strategia hypothesize-and-test, grazie alle sue caratteristiche, può essere usata per simulare le altre, è il metodo standard per la classificazione con conoscenza incerta

Classificazione semplice

Intendiamo la valutazione di conoscenza certa e dati certi.

I due tipi principali di rappresentazione della conoscenza sono:

- alberi di decisione

- tabelle di decisione

Alberi di decisione

- rappresentazione della conoscenza

La più semplice rappresentazione sono le istruzioni if-then-else annidate di un normale linguaggio di programmazione.Una forma di rappresentazione strutturate ha oggetti e regole.

- manipolazione della conoscenza Un albero di decisione è processato ponendo domande e valutando le regole per determinare le successive domande alternativamente.

Domanda 1

Damanda 4Domanda 2

Diagnosi 1

Diagnosi 2

domanda3Altro albero di decisione

...

si no

si no

si no

no si

- acquisizione della conoscenza

Una forma semplice di acquisizione della conoscenza è di inserire le domande come oggetti (con nome, testo domanda...).

N.B. L’albero di decisione rappresenta la conoscenza in una forma molto concisa, e ha lo svantaggio di essere complesso da modificare.

Tabelle di decisione

Possono essere viste come una forma de-sequenzializzata degli alberi.

Le loro regole sono indipendenti l’una dall’altra e perciò non danno un controllo del dialogo.

La rappresentazione e la manipolazione della conoscenza corrispondono a quelle di un interprete di regole commutativo, dove le regole rappresentano le implicazioni

Classificazione euristica

La classificazione euristica è adatta a problemi di classificazione in cui è noto dall’esperienza che osservazioni, o combinazioni di osservazione, indicano soluzioni intermedie o finali.

Differisce dalla classificazione semplice nell’uso di conoscenza incerta e da quella statistica dal fatto che i fattori di certezza sono stimati dall’esperto e non calcolati.

I fattori di certezza sono anche chiamati evidenze.

Se la derivazione di una classe di soluzioni è incerta si deve considerare come si propaga questa incertezza.

Nei domini in cui tutte le osservazioni sono date inizialmente il forward chained è una strategia di valutazione sufficientemente buona.

Se esiste la possibilità di richiedere altri dati, lo scopo deve essere di ottenere massima certezza con meno domande.

Le più importanti strategie di questioning sono:

- backward chaining: sono valutate tutte le regole che possono contribuire a raggiungere il goal globale

- establish-refine: in una stretta gerarchia di soluzioni una categoria di soluzioni è prima stabilita tramite il backward chaining e poi raffinata, tale operazione è iterata.

- hypothesize-and-test: dalle osservazioni date sono generate le ipotesi con il forward chaining e successivamente testate con il backward chaining, il ciclo è ripetuto finché in un caso tipico un’ipotesi non è stabilita.

N.B. queste strategie differiscono nel modo di scegliere la successiva soluzione da testare. Una volta che un’ipotesi è scelta è testata completamente in tutti i casi

- rappresentazione della conoscenza

Gli elementi centrali sono: - le osservazioni (domande); - i dati astratti; - le classi di soluzioni; - soluzioni e test per combinare insieme osservazioni e regole associate.

- manipolazione della conoscenza

Aggiungiamo due strutture: - una agenda di soluzioni; - una agenda di test, dove compaiono i rispettivi oggetti con i loro valori attuali.Eseguiamo il seguente algoritmo:- L’utente comincia un dialogo indicando i test rilevanti rispondendo poi alle domande.- Le risposte vengono spedite alle regole - che reagiscono controllando se le precondizioni sono soddisfatte- se è così viene spedito un messaggio all’oggetto specificato nell’azione- se questo è una domanda “follow-up” è posta nel dialogo- se è un dato astratto, una soluzione o una categoria di domande il suo valore è aggiornato. -.....…

Classificazione euristica: meccanismi addizionali

trattamento dei dati incerti e delle classi di soluzione

- Dati incerti un metodo di manipolazione di incertezza potrebbe essere quello di porre delle domande all’utente riguardo la sua certezza, le risposte potrebbero essere: - molto certo - certo - incerto ..…

Se però questa incertezza fosse frequente il numero di domande aggiuntive sarebbe proibitivamente alto. In alternativa si potrebbero fornire dei dati come standard nella base di conoscenza dando a ogni osservazione un valore di default.

- propagazione dell’incertezza di classi di soluzioni

Questo problema è trattato in modo analogo ma differisce dal punto di vista semantico Trattamento delle osservazioni soggettive Le osservazioni soggettive rappresentano le preferenze dell’utente. Il problema non consiste solo nel dire se una soluzione soddisfa tutti i desideri o nessuno. Se non c’è soluzione l’utente vuole che gli venga detto se ne esistono alcune che si avvicinano.

Per questo scopo possono essere eseguite due valutazioni: - se tutti i desideri sono soddisfatti e quanto è attraente la soluzione.

La prima è categorica, ma per la seconda le preferenze soddisfatte e non devono essere pesate.

Se nessuna soluzione soddisfa tutti i desideri si può chiedere all’utente quali desideri abbandonare. La classificazione case-comparing è adatta a questa selezione di precedenza.

Riconoscimento di osservazioni false

Consiste nella determinazione degli errori.In generale possono essere ricercati verificando la ridondanza dei dati in input.

Le priorità devono essere settate al momento della costruzione della base di conoscenza.

Trattamento dei dati dipendenti dal tempo

I dati dipendenti dal tempo devono essere trattati estendendo la rappresentazione della conoscenza in modo che possano essere memorizzati; devono essere fornite delle regole per valutarli.

Revisione delle credenze (belief revision)

Lo scopo di tutte le tecniche di revisione è quello di produrre lo stato che si dovrebbe avere se il cambio fosse stato considerato dall’inizio.

Una tecnica efficiente è quella di mandare un messaggio alle regole degli oggetti in questione in modo che controllino il loro stato.

Trattamento dei dati e delle soluzioni parametrizzate.

Una condizione necessaria nella classificazione è che gli insiemi di osservazioni e di soluzioni siano finiti.

Perciò ogni proposizione quantificata universalmente può essere espressa come un insieme di proprietà non quantificate circa oggetti individuali.

La necessità di regole quantificate nella classificazione si ha quando ci sono molte osservazioni simili e/o soluzioni. In questo caso si parla di osservazioni e soluzioni parametrizzate.Sembra una buona idea usare meccanismi di inferenza orientati agli oggetti.

Trattamento delle soluzioni multiple

Le soluzioni multiple compaiono nella ricerca di errori poiché molte cause indipendenti fra loro possono verificarsi contemporaneamente.

Poiché le differenti cause evocano differenti sintomi dalle quali possono essere riconosciute, la detenzione di soluzioni multiple non appare problematica.

Le difficoltà derivano dal fatto che quando un errore ha una sola causa potrebbero esserci molte ipotesi probabili.

Se viene sempre selezionata l’ipotesi migliore allora la soluzione multipla potrebbe non essere mai trovata. Il problema può essere evitato se non tutte le soluzioni vengono viste come concorrenti fra cui scegliere la migliore, ma solo quelle i cui sintomi sono relativamente simili.

Al livello di acquisizione della conoscenza le similitudini possono essere derivate attraverso il confronto delle loro regole o potrebbero essere date direttamente dagli esperti.

raccomandazioni combinate per soluzioni multiple

Normalmente una soluzione contiene una raccomandazione per un’azione, che è indicata all’utente o eseguita dal sistema esperto quando la soluzione è stabilita.

Comunque, se sono considerate molte soluzioni, spesso si preferisce avere una soluzione con una raccomandazione che considera tutte le possibilità piuttosto che tanti pezzi indipendenti.

Questo può essere ottenuto con un algoritmo speciale o con una tecnica di configurazione che è chiamata dopo aver compiuto la classificazione e combina le possibili soluzioni, le loro probabilità e i costi di esecuzione delle rispettive raccomandazioni.

Classificazione set-covering

Adatta per problemi di classificazioni in cui le soluzioni (cause) evocano particolari sintomi (effetti), possibilmente attraverso stati intermedi con realizzabilità relativamente alta.

rappresentazione della conoscenzaUna rappresentazione semplice ha un solo tipo d’oggetto con gli attributi “causa” e “effetto”.

Partendo dagli stati finali osservati, viene cercato un insieme di stati iniziali che spieghi gli stati finali attraverso i loro effetti.Una rappresentazione più complessa è ottenuta se le relazioni includono anche combinazioni di stati.

In più, può essere considerata l’incertezza per esprimere il fatto che uno stato potrebbe avere un effetto solito, ma non sempre realizzato.E’ necessario distinguere tra “effetto” potenziale di uno stato e quelli che realmente si verificano.La rappresentazione deve essere estesa includendo gli attributi “fattore di certezza” e “effetto attuale” e le procedure allegate “significato” e “derivazione” che contengono le regole connesse allo stato.

manipolazione della conoscenza

I modelli causali possono essere utilizzati in tre modi differenti:

- modo simulazione: gli stati iniziali sono dati e si devono ricercare gli stati finali risultanti da essi;

- modo consistenza: sono dati sia gli stati iniziali che finali e si deve determinare se gli ultimi sono causati dai primi

- modo diagnostico: sono dati gli stati finali e si devono trovare gli stati iniziali che li spiegano.

acquisizione della conoscenza

Le procedure per l’acquisizione della conoscenza sono simili a quelle della classificazione euristica.

Esempi di applicazione

I SE ABEL, MORE. Uno strumento è FEMO.

Classificazione funzionale

Adatta per ricerche di errori in sistemi le cui strutture normali o difettose possono essere descritte con materiali e componenti e i cui comportamenti normali o abnormi possono essere derivati dalle descrizioni del comportamento delle componenti

rappresentazione della conoscenza

I modelli funzionali possono essere rappresentati con una rete di componenti e materiali, dove i materiali costituiscono le connessioni tra le componenti.

Le componenti contengono principalmente regole per maneggiare i materiali.

Se è richiesta la funzione d’errore delle componenti sono dati gli stati che hanno i loro propri insiemi di regole.

I materiali sono caratterizzati da un insieme di attributi che sono rappresentati da parametri

manipolazione della conoscenzaUn modello funzionale può essere utilizzato per vari scopi:

- generazione di ipotesi;- test su ipotesi;- spiegazioni.

acquisizione della conoscenza

Non è richiesta conoscenza euristica. il normale funzionamento del sistema è modellato e normalmente è conosciuto in dettaglio nel caso di sistemi tecnici.

Esempi di applicazione

I SE HTE e GDE.Uno strumento è SIMUL.

Classificazione statisticaAdatta per problemi di classificazione per cui esiste un’ampia collezione rappresentativa di casi risolti.

rappresentazione della conoscenza

Nel caso più semplice ha la forma di una tabella, in cui le colonne sono etichettate con le soluzioni, la prima riga contiene le probabilità a priori e le rimanenti sono etichettate con le osservazioni

manipolazione della conoscenza

Consiste di un semplice calcolo in accordo con una variante del teorema di Bayes usando le osservazioni come input.

La formula dà le relative probabilità delle soluzioni alternative dalle loro probabilità a priori P(S) e da quelle condizionali P(O/S).

Se è richiesto di tener conto anche della mancanza di osservazioni, la formula può essere facilmente modificata cambiando il fattore P(O/S) con (1-P(O/S)).

Pr(Si/O1&...&Om)= P(Si)*P(O1/Si)*...*P(Om/Si)_ j=1P(Sj)*P(O1/Sj)*...*P(Om/Sj)

acquisizione della conoscenzaL’acquisizione della conoscenza implica la costruzione e la valutazione di un grande data base.Ogni caso nel data base contiene un insieme di osservazioni e di soluzioni corrette.Le probabilità richieste sono calcolate come segue:

la prob. a priori di una soluzione è data da

P(S) = (frequency of the solution) (numero totale dei casi)

la prob. condizionale è data da

P(O/S) = (frequency of the obs.-sol. pair) (frequency of solution)

Classificazione per confronto di casi (case comparison)

Adatta a problemi di classificazione per cui esiste una grande collezione di casi generici o immaginari con le corrette soluzioni e conoscenza aggiuntiva.Un nuovo caso è risolto prima cercando il caso nel data base le cui caratteristiche (osservazioni) maggiormente concordano con quelle del nuovo caso

rappresentazione della conoscenzaPer la forma più semplice del case comparison senza conoscenza addizionale è sufficiente rappresentare le osservazioni e le soluzioni con gli attributi “nome” e “valore” corrente.

In più richiediamo i tipi di oggetti “caso” con gli attributi “osservazioni” e “soluzioni”.

La conoscenza aggiuntiva può essere riassunta così:

- livello di astrazione; - pesi;- dati simili.

manipolazione della conoscenza

Se i casi memorizzati contengono solo raw data e non data abstractions, gli ultimi devono essere calcolati per tutti i casi memorizzati se sono richiesti per i confronti

acquisizione della conoscenza

La parte principale dell’acquisizione della conoscenza è la collezione dei casi e delle loro soluzioni corrette.

Potrebbe essere utile specificare un insieme di casi tipici, in modo da assicurare una esecuzione minima.La classificazione per paragone di casi è più robusta di quella statistica poiché i risultati possono essere falsati da probabilità nulle. Comunque è necessaria una conoscenza aggiuntiva per una maggior efficienza.

Poiché questa conoscenza è principalmente di natura euristica, deve provenire dagli esperti.Gli assegnamenti agli attributi delle osservazioni possono essere fatti con tabelle.In fine, la conoscenza per pre-processare le osservazioni deve essere specificata

top related