La programmazione genetica è un metodo automatizzato per creare
un programma software funzionante a partire dall'enunciazione di alto livello
di un problema. O meglio essa è un metodo per rendere un computer in grado di
risolvere automaticamente un problema dicendogli 'cosa deve essere fatto' invece
di 'come farlo'. Con la programmazione genetica: il computer impara a programmarsi.
A partire dal 'brodo primordiale' (fase di generazione) costituito da migliaia
di programmi software creati casualmente, una popolazione di programmi si è
progressivamente evoluta in una serie di generazioni (fase di selezione). La
ricerca evolutiva usa il principio darwiniano della sopravvivenza del più adatto
ed è riprodotto secondo il naturale succedersi delle funzioni, incluso l'incrocio
o scambio (ricombinazione sessuale, crossover), mutazioni, duplicazione genetica,
degenerazione dei geni e certi aspetti del processo di sviluppo secondo cui
gli embrioni diventano degli organismi sviluppati ( valutazione, reiterazione
). La programmazione genetica si sta impegnando nella ricerca e nello sviluppo,
attività queste finalizzate a produrre risultati competitivi con quelli umani.
Come esempi di settori nei quali si sta applicando la programmazione genetica
citiamo:
la sintesi automatizzata di circuiti elettrici;
la sintesi automatizzata
di controlli; i problemi nella biologia molecolare, includendo i processi metabolici
e il codice genetico;
altri problemi di vario tipo che riguardano gli automatismi cellulari ed altre
altre aree di progettazione.
S i utilizza la programmazione genetica come una 'macchina inventrice' automatizzata
per creare nuove invenzioni brevettabili. I metodi evolutivi, come la programmazione
genetica, hanno il vantaggio di non essere gravati da preconcetti che limitano
la risoluzione dei problemi umani con metodologie già usate. Un risvolto interessante
della ricerca logica e psicologica sulla natura dei processi conoscitivi risiede
nella possibilità di individuare degli elementi utili alla realizzazione di
procedure informatiche "intelligenti", in grado cioè di apprendere direttamente
dall'esperienza le categorie e le regole necessarie alla rappresentazione della
conoscenza. Di seguito un riassunto del ciclo esecutivo:
Generazione di una popolazione.
Selezione: dalla popolazione si scelgono dei 'ceppi' della popolazione col valore adattativo maggiore, quelli che danno luogo al margine di errore più ridotto.
Crossover: si troncano ceppi così selezionati ognuno in un punto casuale e se ne ricombinano gli elementi, il materiale dell'uno va a sostituire il materiale dell'altro e viceversa.
Nuova valutazione e rimpiazzamento: ottenuti in questo modo nuovi individui se ne registra il valore adattivo.
Reiterazione: Il ciclo viene ripetuto a partire dalla selezione sino al raggiungimento di una soglia accettabile di precisione nell'approssimazione della 'funzione' che si intende realizzare.
Tutto quanto riportato in questa pagina è a puro scopo informativo personale. Se non ti trovi in accordo con quanto riportato nella pagina, vuoi fare delle precisazioni, vuoi fare delle aggiunte o hai delle proposte e dei consigli da dare, puoi farlo mandando un email. Ogni indicazione è fondamentale per la continua crescita del sito.