La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Fuzzy Logic in Protein Structure Prediction Introduzione alla fuzzy logic FANS: un’euristica fuzzy per la ricerca locale Applicare FANS alla predizione.

Presentazioni simili


Presentazione sul tema: "Fuzzy Logic in Protein Structure Prediction Introduzione alla fuzzy logic FANS: un’euristica fuzzy per la ricerca locale Applicare FANS alla predizione."— Transcript della presentazione:

1 Fuzzy Logic in Protein Structure Prediction Introduzione alla fuzzy logic FANS: un’euristica fuzzy per la ricerca locale Applicare FANS alla predizione di strutture proteiche

2 Introduzione La scienza tende ad essere precisa. La realtà è invece pervasa da incertezza e imprecisione. Necessità di una logica diversa dalla classica logica dicotomica per rappresentare le proprietà polivalenti degli oggetti. Necessità di risolvere certi problemi reali, considerati difficili, in un tempo umanamente accettabile. Fuzzy Logic & Soft Computing

3 Soft Computing Neurocomputing Evolutionary computation Fuzzy logic Probability reasoning “Strumenti in grado di trattare con l‘imprecisione e l’incertezza dei problemi reali, in grado di individuare soluzioni robuste ed a basso costo.” (fonte: Soft Computing and Fuzzy Logic, Zadeh 1994)

4 Soft Computing euristicaUn’euristica è una tecnica per risolvere problemi difficili, la cui bontà della soluzione è valutata secondo parametri basati sulle necessità dell’utilizzatore. Queste necessità non sono solo legate alla logica simbolica ma anche ad ambiti non formali come il linguaggio naturale.

5 Logica Fuzzy fuzzy logic“La fuzzy logic o logica sfumata è una logica polivalente e pertanto un'estensione della logica booleana in cui si può attribuire a ciascuna proposizione un grado di verità compreso tra 0 e 1. […] Quando parliamo di grado di appartenenza, per dirla con un'esemplificazione, intendiamo che una proprietà può essere oltre che vera (= a valore 1) o falsa (= a valore 0) come nella logica classica, anche di valori intermedi.” (fonte: Wikipedia)

6 Logica Fuzzy: esempio Logica dicotomica Bambino AdolescenteAdolescente Giovane Mezza etàSu d’etàAnziano 1 0 anni Sopra media

7 Logica Fuzzy: esempio Logica fuzzy BambinoAdolescenteGiovane Mezza etàSu d’etàAnziano μ 13 anni: μ(bambino) = 0.20 μ(adolescente) = 0.55 μ(giovane) = 0.0 μ(mezza età) = 0.0 μ(su d’età) = 0.0 μ(anziano) = 0.0 μ(sopra media) = 0.0 Sopra media anni

8 Logica Fuzzy: esempio variabile linguisticaUna variabile linguistica (nell’esempio precedente, l’età) rappresenta una variabile il cui dominio è stato quantizzato in maniera fuzzy (granulation process). E’ descritta da insiemi fuzzy (nell’esempio precedente bambino, giovane, adolescente, etc.) definiti univocamente ed in parte sovrapposti. “Un insieme F è fuzzy se l’appartenenza di un elemento x (che rappresenta una certa variabile) ad esso può essere espressa da un numero reale compreso tra 0 e 1. La funzione μ(x) che esprime tale grado di appartenenza è appunto detta funzione di appartenenza.” (fonte: Logica Fuzzy, Veronesi e Visioli, ed. FrancoAngeli)

9 Logica fuzzy Quali problemi traggono beneficio da una implementazione fuzzy? Problemi la cui descrizione matematica non è presente o è di difficile definizione. Problemi la cui descrizione matematica è ben definita ma: - necessità di una logica polivalente; - il costo computazionale dell’implementazione del modello è molto elevato; - si lavora con un consistente rumore di fondo o con strumenti scarsamente precisi.

10 Logica fuzzy Vantaggi: - maggiore aderenza del modello al comportamento reale; - riduzione costi (tempo e risorse di computazione). Svantaggi: - necessità di persone che conoscano molto bene il sistema in concreto e che siano in grado di scriverne le regole sottostanti; - difficoltà nella rappresentazione degli insiemi fuzzy che descrivono le variabili del sistema.

11 Sistemi fuzzy definizione superficie di controllo definizione delle regole defuzzificazione modellizzazione è un buon modello? problema iniziale Applicazioni pratiche sì no

12 Sistemi fuzzy Definizione iniziale delle caratteristiche funzionali del sistema e delle operazioni che possono essere compiute su di esso. definizione superficie di controllo definizione delle regole defuzzificazione modellizzazione è un buon modello? problema iniziale Applicazioni pratiche sì no

13 Sistemi fuzzy Ogni variabile in input o in output al sistema deve essere decomposta in in una serie di insiemi fuzzy. definizione superficie di controllo definizione delle regole defuzzificazione modellizzazione è un buon modello? problema iniziale Applicazioni pratiche sì no Input vars Output vars

14 Sistemi fuzzy Il comportamento della superficie di controllo deve essere definito da regole in grado di correlare l’input con l’output del sistema. IF THEN definizione superficie di controllo definizione delle regole defuzzificazione modellizzazione è un buon modello? problema iniziale Applicazioni pratiche sì no

15 Sistemi fuzzy definizione superficie di controllo definizione delle regole defuzzificazione modellizzazione è un buon modello? problema iniziale Applicazioni pratiche sì no IF temperature is Cool AND pression is OK THEN throttle action is ZR IF temperature is Cool AND pression IS Low THEN throttle action is PM Come viene generato l’output? Le premesse (IF) vengono combinate scegliendo il grado di appertenenza più basso dei due valori (intersezione, AND). Il valore di output è ottenuto come unione (OR) degli α-cut delle funzioni di appartenenza dopo il THEN.

16 Sistemi fuzzy Il passo finale consiste nella scelta del metodo di “defuzzificazione”, attraverso il quale estrarre un valore deterministico dall’inferenza fuzzy. Esistono vari metodi: - media dei massimi; - media pesata dei centri; - metodo del baricentro; - centro delle somme. definizione superficie di controllo definizione delle regole defuzzificazione modellizzazione è un buon modello? problema iniziale Applicazioni pratiche sì no

17 Sistemi fuzzy definizione superficie di controllo definizione delle regole defuzzificazione modellizzazione è un buon modello? problema iniziale Applicazioni pratiche sì no +150

18 FANS: Fuzzy Adaptive Neighborhood Search A Fuzzy Valuation-Based Local Search Framework for Combinatorial Problems Applying a Fuzzy Sets-based Heuristic to the Protein Structure Prediction Problem (Armando Blanco, David A. Pelta, Jos´ e-L. Verdegay, 2002).

19 Ricerca locale Metodo euristico stocastico iterativo Semplice ma potente nel trattare problemi di tipo combinatoriale Trova minimi locali Begin s = initial_solution(); While (improve(s) = TRUE) Do s = improve(s); Od return(s); End.

20 FANS: introduzione FuzzyPerché Fuzzy: le soluzioni vengono valutate in termini di appartenenza a un insieme fuzzy, oltre che con una classica funzione obiettivo. AdattativoPerché Adattativo: il comportamento di FANS viene adattato nel corso delle iterazioni. Meccanismo di escape da minimi locali che non richiede il riavvio dell’intera procedura di ricerca.

21 FANS: fuzzy valuation A seconda di una diversa calibrazione delle funzioni di appartenenza che definiscono la valutazione fuzzy delle soluzioni, FANS può essere adattato per comportarsi in modi diversi: - random search; - random walk; - hill climbing; - simulated annealing; - tabu search.

22 FANS: componenti Modification Operator (O): genera nuove soluzioni s i a partire da s. E’ costituito da una componente fissa, una random ed una parametrica; Fuzzy Valuation (µ): ad ogni iterazione, in base al valore restituito dalla funzione obiettivo, valuta l’appartenenza di ogni soluzione all’insieme fuzzy costituito dalle soluzioni s i dell’intorno di s (una sorta di “Accettabilità” della soluzione); Operator Scheduler (OS): varia il comportamento di O; Neighborhood Scheduler (NS): dopo aver generato un intorno di soluzioni servendosi di O, ne seleziona una tra quelle che costituiscono l’intorno della soluzione in input servendosi di µ.

23 FANS: Modification Operator ss1α,βs1α,β s2βs2β O1αO1α O2βO2β s2αs2α O2αO2α O1βO1β

24 FANS: procedura Creazione di una soluzione iniziale; inizializzazione delle condizioni di fine ciclio. Begin InitVariables(); While (not-end) Do NS->Run(O, µ(), S cur, S new, ok); If (ok) then S cur = S new ; adaptFuzzyVal(µ(), S cur ) Else OS->Run(); Fi If (TrappedSituation()) then doEscape(); Fi Od return(S cur ); End.

25 FANS: procedura Il ciclo esegue un numero di iterazioni variabile in base a: - numero di iterazioni predefinito; - la funzione obiettivo raggiunge un certo valore. Begin InitVariables(); While (not-end) Do NS->Run(O, µ(), S cur, S new, ok); If (ok) then S cur = S new ; adaptFuzzyVal(µ(), S cur ) Else OS->Run(); Fi If (TrappedSituation()) then doEscape(); Fi Od return(S cur ); End.

26 FANS: procedura Il Neighborhood Scheduler (NS) è costituito da due procedure: - generatrice; - selezionatrice. Definizione operazionale di intorno (“vicinato di s”): Definizione semantica di intorno (“vicinato di s”): Begin InitVariables(); While (not-end) Do NS->Run(O, µ(), S cur, S new, ok); If (ok) then S cur = S new ; adaptFuzzyVal(µ(), S cur ) Else OS->Run(); Fi If (TrappedSituation()) then doEscape(); Fi Od return(S cur ); End.

27 FANS: procedura Se è stata trovata una soluzione migliore di quella corrente: - prende quella nuova come corrente; - i parametri di µ() vengono adattati al nuovo contesto. Begin InitVariables(); While (not-end) Do NS->Run(O, µ(), S cur, S new, ok); If (ok) then S cur = S new ; adaptFuzzyVal(µ(), S cur ) Else OS->Run(); Fi If (TrappedSituation()) then doEscape(); Fi Od return(S cur ); End.

28 FANS: procedura Se NON è stata trovata una soluzione “più adatta” di quella corrente, viene lanciato l’Operator Scheduler (OS), che ritorna una versione modificata di O. Permette di uscire da un minimo locale. Begin InitVariables(); While (not-end) Do NS->Run(O, µ(), S cur, S new, ok); If (ok) then S cur = S new ; adaptFuzzyVal(µ(), S cur ) Else OS->Run(); Fi If (TrappedSituation()) then doEscape(); Fi Od return(S cur ); End.

29 FANS: procedura Qualora la ricerca con cambio di operatore fallisca ripetutamente (tante volte quante il numero di operatori disponibili), è molto probabile che ci si trovi intrappolati in un minimo locale da cui è impossibile uscire. In questa situazione viene lanciata la procedura doEscape(), la cui implementazione classica è il riavvio dell’intera procedura. Begin InitVariables(); While (not-end) Do NS->Run(O, µ(), S cur, S new, ok); If (ok) then S cur = S new ; adaptFuzzyVal(µ(), S cur ) Else OS->Run(); Fi If (TrappedSituation()) then doEscape(); Fi Od return(S cur ); End.

30 FANS: knapsack problem Problema dello zainoIl Problema dello zaino (Knapsack problem), è un problema di ottimizzazione combinatoria. Si ha uno zaino che può supportare un determinato peso. Si ha a propria disposizione una serie di N oggetti. Ognuno degli oggetti ha un peso e fornisce un'utilità (ovvero un guadagno). Il problema si propone di trovare quali oggetti mettere all'interno dello zaino ottenendo la maggiore utilità, ma non eccedendo nel peso sostenibile dallo zaino stesso.

31 FANS: knapsack problem Media e deviazione standard dello scarto tra il risultato ottenuto dalle euristiche e il risultato esatto ottenuto con un algoritmo pseudo-polinomiale. (SA, simulated annealing; GAop, genetic algorithm one point crossover; GAux, genetic algorithm uniform crossover). Buona parte del successo dell’euristica FANS può essere attribuito all’uso di un sistema fuzzy di valutazione delle soluzioni.

32 FANS: Protein Structure Prediction Oltre che sui classici problemi di ottimizzazione combinatoriale, FANS è stato testato su problemi di tipo biologico. PSPProtein structure prediction (PSP) di prototipi proteici altamente semplificati (lattici) secondo il modello di interazioni idrofobiche- idrofiliche di Dill (HP model).

33 Lattici La complessità delle proteine reali non permette di simulare più di pochi microsecondi del loro comportamento. Necessità di modelli proteici computerizzati altamente semplificati, che possano foldare in un tempo sufficientemente piccolo da poter essere simulato. Gli aminoacidi sono ridotti a sfere dal comportamento semplificato, con gradi di libertà molto ristretti. Gli aminoacidi sono divisi in tipi, ogni tipo con un diverso comportamento (possibili interazioni). Come nella realtà, la struttura nativa può essere individuata minimizzando l’energia delle interazioni tra gli aminoacidi.

34 HP model La proteina è ridotta ad un pattern di idrofobicità; ogni aminoacido viene visto come un oggetto caratterizzato da un’unica proprietà (l’idrofobicità) che può assumere valore H o P. Con contatto idrofobico si intende una coppia di H adiacenti nella struttura impaccata che non siano adiacenti nella sequenza. Ogni contatto idrofobico diminuisce di 1 l’energia della proteina (0 per la struttura lineare). PSP viene risolto massimizzando il numero di contatti idrofobici, ovvero minimizzando l’energia della proteina.

35 HP model: esempio PHHHHP P HH H P H n contatti idrofobici = 0 E proteina = 0 n contatti idrofobici = 1 E proteina = -1 min(E protein ) max(n contatti H)

36 Lattici: rappresentazione Coordinate interne: - assolute (s = {Up, Down, Left, Right}): s LatticeQuadrato = RURDRDLLDLU; - relative (s = {Forward, TurnRight, TurnLeft}): s LatticeQuadrato = FLRRLRRFLRR.

37 FANS: Protein Structure Prediction operatore di modificaL’operatore di modifica si serve di un parametro k che rappresenta il numero di posizioni da cambiare ad ogni iterazione. Due categorie di operazioni possibili: - segment mode: modifica k posizioni consecutive: - shuffling: {FLRRLRRFLRR}{FLRRFLLRLRR} - reflection: {FLRRLRRFLRR} {FLRRFRRLLRR} - flip mode: modifica k posizioni selezionate casualmente. Fans(NS, O, OS, μ(), Pars, (cond1, action1))

38 FANS: Protein Structure Prediction valutazione fuzzyLa valutazione fuzzy Fans(NS, O, OS, μ(), Pars, (cond1, action1)) β 1 0 f(s) µ µ(q,s,β) = 0.0if f(q) < β (f(q) – β)/(f(s) – β)if β < f(q) =< f(s) 1.0if f(q) > f(s) ffunzione obiettivo ssoluzione corrente quna soluzione dall’intorno operazionale di s βf(s)*(1-γ) γ[0..1], in questo caso 0.2

39 FANS: Protein Structure Prediction operator schedulerL’operator scheduler adatta l’operatore di modifica attraverso cambiamenti del parametro k; k inizializzato a n/4; Ad ogni chiamata: k t+1 = k t – 1. Fans(NS, O, OS, μ(), Pars, (cond1, action1))

40 FANS: Protein Structure Prediction neighborhood schedulerE’ implementata una versione semplice del neighborhood scheduler. - Generatore: chiama O secondo le modalità e i parametri passati da OS; - Selezionatore: ritorna la prima soluzione trovata con µ(q) > λ. In questa implementazione il numero massimo di soluzioni valutate in una chiamata di NS è fissato a 50. Fans(NS, O, OS, μ(), Pars, (cond1, action1))

41 FANS: Protein Structure Prediction Parametri di O, (k, …). Parametri di μ(), (λ, …). Informazioni condivise tra le componenti. Fans(NS, O, OS, μ(), Pars, (cond1, action1))

42 FANS: Protein Structure Prediction (k = 0, doEscape()). (“nessun miglioramento in N chiamate di NS”, doEscape()). Fans(NS, O, OS, μ(), Pars, (cond1, action1))

43 FANS: relative encoding vs absolute encoding Per ogni lattice valutato, FANS è stato lanciato 180 volte (30 corse * 3 λ * 2 encoding). Le tabelle mostrano, per ogni coppia (lattice, λ) quale dei due metodi di codifica delle coordinate sia risultato significativamente migliore (t-test) rispetto all’altro. Condizione di terminazione: 10 5 chiamate della funzione di valutazione fuzzy. Risultati per lattici quadrati Risultati per lattici triangolari Risultati per lattici cubici

44 FANS vs GA Parametri di FANS adattati e implementati in GA; lattici quadrati; relative encoding; λ = 0.9; 30 corse per ogni istanza ed algoritmo; condizione di terminazione: 10 5 chiamate della funzione di valutazione fuzzy.

45 FANS vs GA

46 FANS: conclusioni riguardo PSP I risultati di FANS si allineano o superano quelli ottenibili con algoritmi genetici. conferma i risultati precedentemente ottenuti utilizzando algoritmi geneticiCodifica relativa delle coordinate migliore nei lattici quadrati, codifica assoluta migliore nei lattici triangolari, comportamento intermedio per i lattici cubici. Questo risultato conferma i risultati precedentemente ottenuti utilizzando algoritmi genetici.

47 FANS: conclusioni Si può ottenere un diverso comportamento di FANS calibrando la componente fuzzy. (A Fuzzy Valuation-Based Local Search Framework for Combinatorial Problems, Armando Blanco, David A. Pelta, Jos´ e-L. Verdegay, 2002). Sono stati ottenuti risultati soddisfacenti applicandolo a problemi generici quali l’ottimizzazione di funzioni. (A Fuzzy Adaptive Neighborhood Search for Function Optimization, Armando Blanco, David A. Pelta, Jos´ e-L. Verdegay, 2002). FANS dà buoni risultati anche come euristica applicata a problemi pratici di ottimizzazione (PSP). (Applying a Fuzzy Sets-based Heuristic to the Protein Structure Prediction Problem, Armando Blanco, David A. Pelta, Jos´ e-L. Verdegay, 2002).

48 Ulteriori risorse Krasnogor N, HartW, Smith J, Pelta D. Protein structure prediction with evolutionary algorithms. In: BanzhafW, Daida J, Jakaiela M, Smith R, editors. GECCO-99. Morgan Kauffman; Dill KA. Theory for the folding and stability of globular proteins. Biochemistry, David Pelta, Natalio Krasnogor, Carlos Bousono-Calzon, José L. Verdegay, J. Hirst, Edmund Burke. A fuzzy sets based generalization of contact maps for the overlap of protein structures, 2004.


Scaricare ppt "Fuzzy Logic in Protein Structure Prediction Introduzione alla fuzzy logic FANS: un’euristica fuzzy per la ricerca locale Applicare FANS alla predizione."

Presentazioni simili


Annunci Google