Ciao, ragazzi. Il concetto dell'evoluzione e adattamento sono ubiqui nei sistemi complessi. Come vedremo nell'unità corrente, i meccanismi darwiniani della selezione naturale sono rilevanti non solo per organismi biologici, ma si trova che sono centrali anche per i sistemi sociali e tecnologici. Gli informatici si sono interessati alla simulazione della biologia da quando esistono i computer. In questa unità, tratterò il calcolo ispirato dalla biologia che si chiamano algoritmi genetici. Questi algoritmi furono sviluppati inizialmente come un modo per modellare l'evoluzione e l'adattamento in varie discipline, ma si è scoperto che hanno molto successo nei metodi dell'intelligenza artificiale. un modo per programmi di evoluzione e altri oggetti di calcolo, che non devono essere programmati. A volte, i risultati di questi algoritmi sono molto sorprendenti Trovano cose che nessun umano avrebbe pensato. E a volte le soluzioni che trovano hanno più successo di quelle progettate dagli umani. In questa unità, parlerò di come lavorano gli algoritmi genetici, e come sono stati usati nel mondo reale. Fatemi iniziare evidenziando le basi dell'evoluzione per selezione naturale. Primo, gli organismi ereditano le caratteristiche dai loro genitori. Le caratteristiche sono ereditate con alcune variazioni, per mezzo di mutazioni, ricombinazioni sessuali, e altri meccanismi che generano variazioni. Ma a causa della competizione per risorse limitate, gli organismi che si adattano meglio all'ambiente tendono a produrre più prole. Questa fu l'intuizione di Darwin dell'idea di selezione naturale, La selezione è causata dalla competizione. In questo modo, le caratteristiche che producono individui che si adattano si diffondono nella popolazione. All'inizio, gli informatici ispirati dalla biologia, videro che questo poteva succedere non solo in natura ma anche nei computer, dove gli organismi dei computer, come i programmi, potrebbero giocare il ruolo di organismi biologici, e potrebbero evolversi per mezzo della evoluzione darwiniana. Uno dei primi a sviluppare questa idea in dettaglio, fu un informatico, John Holland, all'Università del Michigan, che negli anni '60 e '70 sviluppo l'idea degli algoritmi genetici, conosciuti anche come GA. Holland presentò il concetto di GA in questo libro, "Adattamento nei sistemi naturali e artificiali" pubblicato nel 1975. Questo libro presentò un framework matematico per capire l'adattamento in un modo molto generale, un modo che andò oltre l'adattamento biologico e abbracciò l'adattamento sociale, tecnologico e artificiale nei computer. L'ultima parte porta allo sviluppo di algoritmi genetici e alla loro conseguente applicazione in molti problemi del mondo reale. Ecco alcuni esempi di utilizzo degli algoritmi genetici nel mondo reale. Questo è solo per darvi un idea della varietà di applicazioni i GA sono stati utilizzati per progettare parti degli aerei dalla GE e dalla Boeing. Anche dalla NASA per progettare le antenne delle astronavi. John Deere e altri hanno utilizzato gli algoritmi genetici èer ottimizzare i tempi nelle linee di assemblaggio. Sono stati usati da tante aziende per aiutare la scoperta di medicinali. I GA sono stati utilizzati per imparare a scoprire le frodi nelle transasioni finanziarie e nel mercato finanziario. Sono state utilizzate per sviluppare programmi per l'analisi automatizzata di immagini satellitari a Los Alamos. E sono state utilizzate per generare animazioni computerizzate realistiche in parecchi film, compreso "Il signore degli anelli" e "Troy".