softcomputing. definizione: –insieme di tecniche computazionali tolleranti allimprecisione,...

28
SOFTCOMPUTING

Upload: pietronella-vitale

Post on 01-May-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SOFTCOMPUTING. Definizione: –Insieme di tecniche computazionali tolleranti allimprecisione, allincertezza, allapprossimazione –In contrapposizione allo

SOFTCOMPUTING

Page 2: SOFTCOMPUTING. Definizione: –Insieme di tecniche computazionali tolleranti allimprecisione, allincertezza, allapprossimazione –In contrapposizione allo

SOFTCOMPUTING

• Definizione:– Insieme di tecniche computazionali

tolleranti all’imprecisione, all’incertezza, all’approssimazione

– In contrapposizione allo hard computing, che raggiunge risultati precisi a partire da dati precisi

Page 3: SOFTCOMPUTING. Definizione: –Insieme di tecniche computazionali tolleranti allimprecisione, allincertezza, allapprossimazione –In contrapposizione allo

SOFTCOMPUTING– I principali costituenti:

• Fuzzy systems• Neural networks• Algoritmi evolutivi• Machine learning• Probabilistic Reasoning• Integrazione sinergica fra queste

tecniche

Page 4: SOFTCOMPUTING. Definizione: –Insieme di tecniche computazionali tolleranti allimprecisione, allincertezza, allapprossimazione –In contrapposizione allo

FUZZY SYSTEMS– La Fuzzy logic è stata introdotta da L.

Zadeh negli anni 60 per trattare l’incertezza nel linguaggio naturale

– La “fuzzificazione” è il metodo per generalizzare qualsiasi teoria da una forma precisa e discreta ad una imprecisa e continua.

Page 5: SOFTCOMPUTING. Definizione: –Insieme di tecniche computazionali tolleranti allimprecisione, allincertezza, allapprossimazione –In contrapposizione allo

FUZZY SYSTEMS– Un sottoinsieme fuzzy F di un insieme S si

può definire come un insieme di coppie ordinate, ciascuna con il primo elemento preso da S, e il secondo preso dall’intervallo {0,1}.

– Il valore 0 rappresenta la non appartenneza, il valore 1 l’appartenenza completa, I valori intermedi rappresentano il “grado di appartenenza”.

Page 6: SOFTCOMPUTING. Definizione: –Insieme di tecniche computazionali tolleranti allimprecisione, allincertezza, allapprossimazione –In contrapposizione allo

FUZZY SYSTEMS– La mappa che viene descritta fra gli elementi di

S e quelli di {0,1} è una funzione detta “funzione di appartenenza” del sottoinsieme fuzzy F.

– Il grado in cui la proposizione “x è in F” è vera è determinato dalla coppia ordinata il cui primo elemento è x. Il “grado di verità” della proposizione è il secondo elemento della coppia.

Page 7: SOFTCOMPUTING. Definizione: –Insieme di tecniche computazionali tolleranti allimprecisione, allincertezza, allapprossimazione –In contrapposizione allo

FUZZY SYSTEMS• Esempio:

– Sia S l’insieme delle persone.– Definiamo un sottoinsieme fuzzy OLD che

risponde alla domanda: “ In quale grado la persona x è VECCHIA ?”

old(x) = { 0 if age(x)> 18

age(x) - 18/42 if 18<=age(x)<=60

1 if age(x) > 60 }

Page 8: SOFTCOMPUTING. Definizione: –Insieme di tecniche computazionali tolleranti allimprecisione, allincertezza, allapprossimazione –In contrapposizione allo

FUZZY SYSTEMS–Si possono anche interpretare

proposizioni come–X è giovane AND Y è VECCHIO OR

(NOT Z è MEDIO)

secondo il criterio:–truth (not x) = 1.0 - truth (x)–truth ( x AND y) = minimum (truth (x),

truth(y))–truth x OR y = maximum

(truth(x),truth(y))

Page 9: SOFTCOMPUTING. Definizione: –Insieme di tecniche computazionali tolleranti allimprecisione, allincertezza, allapprossimazione –In contrapposizione allo

FUZZY SYSTEMS–Se si pongono in queste definizioni I

valori 0 ed 1 si ottengono le tavole di verità della logica booleana convenzionale.

0

1

18 60

Page 10: SOFTCOMPUTING. Definizione: –Insieme di tecniche computazionali tolleranti allimprecisione, allincertezza, allapprossimazione –In contrapposizione allo

ALGORITMI EVOLUTIVI.

– Comprendono varie tecniche che simulano l’evoluzione di strutture di individui attraverso selezione, mutazione, riproduzione.

–Esistono una popolazione di strutture ed altri operatori di ricerca (o operatori genetici) .

–Gli algoritmi genetici sono solo una delle possibili forme di algoritmo evolutivo.

Page 11: SOFTCOMPUTING. Definizione: –Insieme di tecniche computazionali tolleranti allimprecisione, allincertezza, allapprossimazione –In contrapposizione allo

ALGORITMI GENETICI

–Si tratta di una tecnica di ricerca iterativa alla ricerca di massimi locali

–Può offrire significativi vantaggi rispetto ad altre tecniche (euristica, progrtammazione lineare, depth-first, ecc.)

Page 12: SOFTCOMPUTING. Definizione: –Insieme di tecniche computazionali tolleranti allimprecisione, allincertezza, allapprossimazione –In contrapposizione allo

ALGORITMI GENETICI

–Le componenti di un GA sono:–Una condizione goal–Un gruppo di strutture candidate–Una funzione di valutazione di quanto

nbene I candidati soddisfino il goal–Una funzione di riproduzione.

Page 13: SOFTCOMPUTING. Definizione: –Insieme di tecniche computazionali tolleranti allimprecisione, allincertezza, allapprossimazione –In contrapposizione allo

ALGORITMI GENETICI

–Il loop è il seguente:»valuta I candidati correnti»sviluppa nuovi candidati via

riproduzione con una modifica che sostituiscono I peggiori candidati del ciclo precedente

»cicla fino a soddisfare il goal.

Page 14: SOFTCOMPUTING. Definizione: –Insieme di tecniche computazionali tolleranti allimprecisione, allincertezza, allapprossimazione –In contrapposizione allo

ALGORITMI GENETICI

–Algoritmo genetico è un modello di apprendimento derivato dalla metafora del processo evolutivo naturale.

–Si parte da una popolazione di individui (come I cromosomi) rappresentati da stringhe.

Page 15: SOFTCOMPUTING. Definizione: –Insieme di tecniche computazionali tolleranti allimprecisione, allincertezza, allapprossimazione –In contrapposizione allo

ALGORITMI GENETICI

– In natura il genoma viene riprodotto nelle discendenze attraverso riproduzione.

–A livello molecolare una coppia di cromosomi scambia delle sequenze secondo l’operazione di ricombinazione chiamata CROSSOVER

– Il crossover viene valutato attraverso una funzione di FITNESS.

Page 16: SOFTCOMPUTING. Definizione: –Insieme di tecniche computazionali tolleranti allimprecisione, allincertezza, allapprossimazione –In contrapposizione allo

ALGORITMI GENETICI

–Un altra importante funzione è la MUTAZIONE, che introduce elementi di diversificazione per migliorare la selezione.

–L’utilità della mutazione è tuttavia dibattuta.

–Un GA usa processi stocastici, ma perviene a risultati non-random.

Page 17: SOFTCOMPUTING. Definizione: –Insieme di tecniche computazionali tolleranti allimprecisione, allincertezza, allapprossimazione –In contrapposizione allo

ALGORITMI GENETICI

–Ogni GA è basato su un ciclo che valuta la fitness degli individui nella popolazione.

–Gli individui peggiori vengono scartati

–Ogni iterazione crea una diversa GENERAZIONE

Page 18: SOFTCOMPUTING. Definizione: –Insieme di tecniche computazionali tolleranti allimprecisione, allincertezza, allapprossimazione –In contrapposizione allo

ALGORITMI GENETICI

.

Applicazione tipica dei GA è l’ottimizzazione multidimensionale, in cui le stringhe dei cromosomi possono essere usate per codificare I valori dei differenti parametri da ottimizzare.

Page 19: SOFTCOMPUTING. Definizione: –Insieme di tecniche computazionali tolleranti allimprecisione, allincertezza, allapprossimazione –In contrapposizione allo

Pattern Recognition

MACHINE LEARNING

Cognitive sciences Computer Science

Statistics

MACHINE LEARNING

Page 20: SOFTCOMPUTING. Definizione: –Insieme di tecniche computazionali tolleranti allimprecisione, allincertezza, allapprossimazione –In contrapposizione allo

MACHINE LEARNING–Metodi computazionali per automatizzare l’acquisizione di conoscenza dall’esperienza

–Gli input sono esempi–Il problema viene ridotto ad una classificazione–Sono spesso interattivi per l’interazione con esperti

Page 21: SOFTCOMPUTING. Definizione: –Insieme di tecniche computazionali tolleranti allimprecisione, allincertezza, allapprossimazione –In contrapposizione allo

MACHINE LEARNING–Esempi:

–Classificazione/predizione in:

»diagnosi»visione»linguaggio»controllo

Page 22: SOFTCOMPUTING. Definizione: –Insieme di tecniche computazionali tolleranti allimprecisione, allincertezza, allapprossimazione –In contrapposizione allo

MACHINE LEARNING–Fornisce metodi per:

»acquisizione di concetti»clustering»predizione»scoperta di regolarità nei dati e quindi di conoscenza su:»equazioni»relazioni»analisi»intuizioni

Page 23: SOFTCOMPUTING. Definizione: –Insieme di tecniche computazionali tolleranti allimprecisione, allincertezza, allapprossimazione –In contrapposizione allo

MACHINE LEARNING–Metodi:

–Decision trees–Rule induction–reti bayesiane–case-based reasoning–inductive logic programming–….

Page 24: SOFTCOMPUTING. Definizione: –Insieme di tecniche computazionali tolleranti allimprecisione, allincertezza, allapprossimazione –In contrapposizione allo

MACHINE LEARNING–DECISION TREES:

–Separa I dati ricorsivamente in sottopopolazioni –Predice attraversando l’albero con criteri di pruning–Gli alberi possono essere monotetici ( 1 attributo per nodo) o politetici (più attributi per nodo)

Page 25: SOFTCOMPUTING. Definizione: –Insieme di tecniche computazionali tolleranti allimprecisione, allincertezza, allapprossimazione –In contrapposizione allo

MACHINE LEARNING–RULE INDUCTION:

–Induce regole direttamente dai dati–Ogni regola copre un sottoinsieme dell’input–Una regola è una disgiunzione di condizioni congiunte

–Il training induce iterativamente regole secondo una ricerca divide et impera da generale a specifico

Page 26: SOFTCOMPUTING. Definizione: –Insieme di tecniche computazionali tolleranti allimprecisione, allincertezza, allapprossimazione –In contrapposizione allo

MACHINE LEARNING–INDUCTIVE LOGIC PROGRAMMING:

–Rappresentazione formale in logica del primo ordine di ipotesi e regole

–Molti approcci

–Vengono dati vincoli alla ricerca riducendo lo spazio delle ipotesi o delle variabili

Page 27: SOFTCOMPUTING. Definizione: –Insieme di tecniche computazionali tolleranti allimprecisione, allincertezza, allapprossimazione –In contrapposizione allo

MACHINE LEARNING–RETI BAYESIANE

–Reti probabilistiche tramite le quali si rappresenta il problema in esame

–Si attribuiscono valori probabilistici ai nodi e si scandisce l’albero attraverso metodi matematici

Page 28: SOFTCOMPUTING. Definizione: –Insieme di tecniche computazionali tolleranti allimprecisione, allincertezza, allapprossimazione –In contrapposizione allo

MACHINE LEARNING

–CASE-BASED REASONING:

PROBLEMA

CASE BASE inserisce

OUTPUTCerca casi Cerca soluzioni INPUT