next up previous
Next: Definizioni e terminologia Up: Ricerca degli angoli Previous: Ricerca degli angoli

Introduzione agli algoritmi genetici

Tipicamente l'approccio alla soluzione di un problema complesso è quello proposto dall'analisi matematica: dato il problema da risolvere, si costruisce un modello con le opportune semplificazioni o idealizzazioni, si risolve analiticamente il problema sul modello e alla fine si valutano i limiti di validità delle soluzioni trovate, traendo le conclusioni sul problema reale e sulle sue soluzioni.

Già dagli anni sessanta si è imposto un nuovo approccio alla soluzione di problemi complessi. Il punto di partenza di questo nuovo approccio è l'evidenza che tutto ciò che ci circonda, la natura, gli esseri viventi, hanno raggiunto un elevatissimo grado di specializzazione a vivere e riprodursi ciascuno nel proprio ambiente. In un certo senso ogni essere vivente è la migliore soluzione possibile a un problema, quello di vivere.

La scienza nella sua indagine ha rivelato l'esitenza di un numero enorme di processi e meccanismi altamente sofisticati, che formalizzati matematicamente hanno portato a strategie in grado di risolvere efficacemente svariate classi di problemi.

Da questo nuovo approccio nasce il concetto di rete neurale, che rifacendosi al modello delle cellule nervose e al loro modo di interagire, permette di sviluppare soluzioni nell'ambito del riconoscimento automatico di oggetti, o di sistemi di autoapprendimento. La logica fuzzy, prendendo atto della capacità umana di controllare processi che per la loro complessità e grado di articolazione non dispongono di un modello matematico, risolve invece problemi legati alle regole del linguaggio, o del controllo di sistemi.

Gli algoritmi genetici nascono invece dall'evidenza che in un ambiente fortemente competitivo, solamente i soggetti più adatti sopravvivono. Pertanto l'incrocio di soggetti geneticamente più resistenti può trasferire il loro patrimonio genetico a generazioni che possono risultare ancora più adatte.

Le poche e semplici regole della selezione naturale possono pertanto essere applicate ad ampie classi di problemi, portando alla soluzione di svariati generi di problemi di ricerca, di ottimizzazione o di previsione.

L'approccio gentico tuttavia si presta bene ad essere applicato a problemi che richiedono di pervenire a una soluzione ottima o sub ottima in tempi ragionevoli, e non richiedono strettamente la soluzione ottima. Sono adatti inoltre a risolvere problemi in cui il dominio di soluzioni è molto ampio, e in cui si vogliano mantenere sotto controllo molti parametri contemporaneamente [11].



Subsections
next up previous
Next: Definizioni e terminologia Up: Ricerca degli angoli Previous: Ricerca degli angoli
Leonardo Sabaini 2003-08-16