Title: Fuzzy Logic in Protein Structure Prediction
1Fuzzy Logic in Protein Structure Prediction
- Introduzione alla fuzzy logic
- FANS uneuristica fuzzy per la ricerca locale
- Applicare FANS alla predizione di strutture
proteiche
2Introduzione
- 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
3Soft Computing
- Neurocomputing
- Evolutionary computation
- Fuzzy logic
- Probability reasoning
- Strumenti in grado di trattare con
limprecisione e lincertezza dei problemi reali,
in grado di individuare soluzioni robuste ed a
basso costo.(fonte Soft Computing and Fuzzy
Logic, Zadeh 1994)
4Soft Computing
- Uneuristica è una tecnica per risolvere problemi
difficili, la cui bontà della soluzione è
valutata secondo parametri basati sulle necessitÃ
dellutilizzatore. - Queste necessità non sono solo legate alla logica
simbolica ma anche ad ambiti non formali come il
linguaggio naturale.
5Logica Fuzzy
- 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)
6Logica Fuzzy esempio
1
Adolescente
Sopra media
Mezza etÃ
Su detÃ
Anziano
Bambino
Giovane
0
10 20 30 40
50 60 70
80 90
anni
7Logica Fuzzy esempio
13 anni µ(bambino) 0.20 µ(adolescente)
0.55 µ(giovane) 0.0 µ(mezza età ) 0.0 µ(su
detà ) 0.0 µ(anziano) 0.0 µ(sopra media)
0.0
µ
1
Mezza etÃ
Su detÃ
Anziano
Sopra media
Bambino
Adolescente
Giovane
0
10 20 30 40
50 60 70
80 90
anni
8Logica Fuzzy esempio
- Una variabile linguistica (nellesempio
precedente, letà ) rappresenta una variabile il
cui dominio è stato quantizzato in maniera fuzzy
(granulation process). E descritta da insiemi
fuzzy (nellesempio precedente bambino, giovane,
adolescente, etc.) definiti univocamente ed in
parte sovrapposti. - Un insieme F è fuzzy se lappartenenza 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)
9Logica 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
dellimplementazione del modello è molto
elevato- si lavora con un consistente rumore di
fondo o con strumenti scarsamente precisi.
10Logica 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.
11Sistemi fuzzy
problema iniziale
modellizzazione
definizione superficie di controllo
definizione delle regole
defuzzificazione
è un buon modello?
no
sì
Applicazioni pratiche
12Sistemi fuzzy
problema iniziale
- Definizione iniziale delle caratteristiche
funzionali del sistema e delle operazioni che
possono essere compiute su di esso.
modellizzazione
definizione superficie di controllo
definizione delle regole
defuzzificazione
è un buon modello?
no
sì
Applicazioni pratiche
13Sistemi fuzzy
problema iniziale
- Ogni variabile in input o in output al sistema
deve essere decomposta in in una serie di insiemi
fuzzy.
modellizzazione
definizione superficie di controllo
definizione delle regole
Input vars
defuzzificazione
è un buon modello?
no
sì
Output vars
Applicazioni pratiche
14Sistemi fuzzy
problema iniziale
- Il comportamento della superficie di controllo
deve essere definito da regole in grado di
correlare linput con loutput del sistema. - IF ltfuzzy prepositiongt THEN ltfuzzy prepositiongt
modellizzazione
definizione superficie di controllo
definizione delle regole
defuzzificazione
è un buon modello?
no
sì
Applicazioni pratiche
15Sistemi fuzzy
IF temperature is Cool AND pression IS Low THEN
throttle action is PM
problema iniziale
modellizzazione
definizione superficie di controllo
definizione delle regole
defuzzificazione
IF temperature is Cool AND pression is OK THEN
throttle action is ZR
è un buon modello?
Come viene generato loutput?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 a-cut delle
funzioni di appartenenza dopo il THEN.
no
sì
Applicazioni pratiche
16Sistemi fuzzy
problema iniziale
- Il passo finale consiste nella scelta del metodo
di defuzzificazione, attraverso il quale
estrarre un valore deterministico dallinferenza
fuzzy. - Esistono vari metodi- media dei massimi-
media pesata dei centri- metodo del
baricentro- centro delle somme.
modellizzazione
definizione superficie di controllo
definizione delle regole
defuzzificazione
è un buon modello?
no
sì
Applicazioni pratiche
17Sistemi fuzzy
problema iniziale
modellizzazione
definizione superficie di controllo
definizione delle regole
defuzzificazione
150
è un buon modello?
no
sì
Applicazioni pratiche
18FANS 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).
19Ricerca 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.
20FANS introduzione
- Perché Fuzzy le soluzioni vengono valutate in
termini di appartenenza a un insieme fuzzy, oltre
che con una classica funzione obiettivo. - Perché Adattativo il comportamento di FANS viene
adattato nel corso delle iterazioni. - Meccanismo di escape da minimi locali che non
richiede il riavvio dellintera procedura di
ricerca.
21FANS 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.
22FANS componenti
- Modification Operator (O) genera nuove soluzioni
si 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 lappartenenza di ogni soluzione
allinsieme fuzzy costituito dalle soluzioni si
dellintorno 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
lintorno della soluzione in input servendosi di
µ.
23FANS Modification Operator
O2a
O1a
s
s1a,ß
s2a
O1ß
O2ß
s2ß
24FANS procedura
Begin InitVariables() While (not-end) Do
NS-gtRun(O, µ(), Scur, Snew, ok) If (ok) then
Scur Snew adaptFuzzyVal(µ(), Scur)
Else OS-gtRun() Fi If
(TrappedSituation()) then doEscape() Fi
Od return(Scur) End.
- Creazione di una soluzione iniziale
- inizializzazione delle condizioni di fine ciclio.
25FANS procedura
Begin InitVariables() While (not-end) Do
NS-gtRun(O, µ(), Scur, Snew, ok) If (ok) then
Scur Snew adaptFuzzyVal(µ(), Scur)
Else OS-gtRun() Fi If
(TrappedSituation()) then doEscape() Fi
Od return(Scur) End.
- Il ciclo esegue un numero di iterazioni variabile
in base a- numero di iterazioni predefinito-
la funzione obiettivo raggiunge un certo valore.
26FANS procedura
Begin InitVariables() While (not-end) Do
NS-gtRun(O, µ(), Scur, Snew, ok) If (ok) then
Scur Snew adaptFuzzyVal(µ(), Scur)
Else OS-gtRun() Fi If
(TrappedSituation()) then doEscape() Fi
Od return(Scur) End.
- Il Neighborhood Scheduler (NS) è costituito da
due procedure- generatrice- selezionatrice. - Definizione operazionale di intorno (vicinato di
s) - Definizione semantica di intorno (vicinato di
s)
27FANS procedura
Begin InitVariables() While (not-end) Do
NS-gtRun(O, µ(), Scur, Snew, ok) If (ok) then
Scur Snew adaptFuzzyVal(µ(), Scur)
Else OS-gtRun() Fi If
(TrappedSituation()) then doEscape() Fi
Od return(Scur) End.
- Se è stata trovata una soluzione migliore di
quella corrente- prende quella nuova come
corrente- i parametri di µ() vengono adattati
al nuovo contesto.
28FANS procedura
Begin InitVariables() While (not-end) Do
NS-gtRun(O, µ(), Scur, Snew, ok) If (ok) then
Scur Snew adaptFuzzyVal(µ(), Scur)
Else OS-gtRun() Fi If
(TrappedSituation()) then doEscape() Fi
Od return(Scur) End.
- Se NON è stata trovata una soluzione più adatta
di quella corrente, viene lanciato lOperator
Scheduler (OS), che ritorna una versione
modificata di O. - Permette di uscire da un minimo locale.
29FANS procedura
Begin InitVariables() While (not-end) Do
NS-gtRun(O, µ(), Scur, Snew, ok) If (ok) then
Scur Snew adaptFuzzyVal(µ(), Scur)
Else OS-gtRun() Fi If
(TrappedSituation()) then doEscape() Fi
Od return(Scur) End.
- 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 dellintera procedura.
30FANS knapsack problem
- Il 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.
31FANS 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 delleuristica FANS può
essere attribuito alluso di un sistema fuzzy di
valutazione delle soluzioni.
32FANS Protein Structure Prediction
- Oltre che sui classici problemi di ottimizzazione
combinatoriale, FANS è stato testato su problemi
di tipo biologico. - Protein structure prediction (PSP) di prototipi
proteici altamente semplificati (lattici) secondo
il modello di interazioni idrofobiche-idrofiliche
di Dill (HP model).
33Lattici
- 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 lenergia delle
interazioni tra gli aminoacidi.
34HP model
- La proteina è ridotta ad un pattern di
idrofobicità ogni aminoacido viene visto come un
oggetto caratterizzato da ununica proprietÃ
(lidrofobicità ) 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
lenergia della proteina (0 per la struttura
lineare). - PSP viene risolto massimizzando il numero di
contatti idrofobici, ovvero minimizzando
lenergia della proteina.
35HP model esempio
min(Eprotein)max(n contatti H)
n contatti idrofobici 0Eproteina 0
n contatti idrofobici 1Eproteina -1
36Lattici rappresentazione
- Coordinate interne- assolute (s Up, Down,
Left, Right) sLatticeQuadrato
RURDRDLLDLU - relative (s Forward,
TurnRight, TurnLeft) sLatticeQuadrato
FLRRLRRFLRR.
37FANS Protein Structure Prediction
Fans(NS, O, OS, µ(), Pars, (cond1, action1))
- Loperatore 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 FLRRFLLR
LRR - reflection FLRRLRRFLRR
FLRRFRRLLRR - flip mode modifica k
posizioni selezionate casualmente.
38FANS Protein Structure Prediction
Fans(NS, O, OS, µ(), Pars, (cond1, action1))
f funzione obiettivo s soluzione corrente q una
soluzione dallintorno operazionale di
s ß f(s)(1-?) ? 0..1, in questo caso 0.2
µ
1
0
ß
f(s)
0.0 if f(q) lt ß (f(q) ß)/(f(s) ß) if ß lt
f(q) lt f(s) 1.0 if f(q) gt f(s)
µ(q,s,ß)
39FANS Protein Structure Prediction
Fans(NS, O, OS, µ(), Pars, (cond1, action1))
- Loperator scheduler adatta loperatore di
modifica attraverso cambiamenti del parametro k - k inizializzato a n/4
- Ad ogni chiamata kt1 kt 1.
40FANS Protein Structure Prediction
Fans(NS, O, OS, µ(), Pars, (cond1, action1))
- E 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) gt ?. - In questa implementazione il numero massimo di
soluzioni valutate in una chiamata di NS è
fissato a 50.
41FANS Protein Structure Prediction
Fans(NS, O, OS, µ(), Pars, (cond1, action1))
- Parametri di O, (k, ).
- Parametri di µ(), (?, ).
- Informazioni condivise tra le componenti.
42FANS Protein Structure Prediction
Fans(NS, O, OS, µ(), Pars, (cond1, action1))
- (k 0, doEscape()).
- (nessun miglioramento in N chiamate di NS,
doEscape()).
43FANS 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 allaltro. - Condizione di terminazione105 chiamate della
funzione di valutazione fuzzy.
Risultati per lattici quadrati
Risultati per lattici triangolari
Risultati per lattici cubici
44FANS 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 105 chiamate della
funzione di valutazione fuzzy.
45FANS vs GA
46FANS conclusioni riguardo PSP
- I risultati di FANS si allineano o superano
quelli ottenibili con algoritmi genetici. - Codifica 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.
47FANS 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
lottimizzazione 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).
48Ulteriori 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
1999. - Dill KA. Theory for the folding and stability of
globular proteins. Biochemistry, 1985. - 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.