Computazione Evolutiva

La computazione evolutiva è un sottocampo dell'intelligenza artificiale che consiste principalmente nell'ottimizzazione iterativa continua e combinatoria della soluzione di un problema.

È nata durante gli anni sessanta guidata dall'idea di automatizzare la risoluzione di problemi.

La computazione evolutiva utilizza una progressione iterativa, ad esempio la crescita o lo sviluppo di una popolazione. La popolazione viene successivamente selezionata con una ricerca casuale guidata sfruttando processi paralleli per raggiungere l'obiettivo. Tali processi sono spesso ispirati ai meccanismi dell'evoluzione proposti da Charles Darwin. L'evoluzione può produrre processi altamente ottimizzati, ha dunque numerose applicazioni nell'ambito dell'informatica.

Storia

L'uso dei principi darwiniani per risolvere problemi in modo automatico risale agli anni Cinquanta. Prima degli anni Sessanta, questa idea era stata sviluppata in tre luoghi diversi in maniera non correlata.

La programmazione evolutiva fu introdotta da Lawrence J. Fogel negli Stati Uniti, mentre John Henry Holland definì il suo metodo un Algoritmo genetico. In Germania Ingo Rechenberg e Hans-Paul Schwefel introdussero le strategie evolutive. Queste aree si svilupparono in modo separato per circa quindici anni. All'inizio degli anni Novanta furono unificati, essendo considerati diversi rappresentanti di un'unica tecnologia, detta computazione evolutiva. Sempre all'inizio degli anni Novanta emerse una nuova corrente, che seguiva l'idea in generale: la programmazione genetica. Sin dagli anni Novanta, la computazione evolutiva è diventata essenzialmente computazione swarm-based, e gli algoritmi ispirati alla natura stanno diventando sempre più importanti.

Questi termini mostrano che il campo generale è definito con il termine computazione evolutiva, mentre la programmazione evolutiva, le strategie evolutive, gli algoritmi genetici e la programmazione genetica sono delle sotto aree.

Simulazioni di evoluzione utilizzando degli algoritmi evolutivi e la vita artificiale cominciarono con il lavoro di Nils Aall Barricelli negli anni Sessanta, sviluppato ed esteso poi da Alex Fraser, che pubblicò una serie di ricerche scientifiche sulla simulazione della selezione artificiale. L'evoluzione artificiale divenne un metodo di ottimizzazione riconosciuto grazie al lavoro di Ingo Rechenberg, che tra gli anni Sessanta e Settanta usò le strategie evolutive per risolvere problemi di natura ingegneristica molto complessi. Gli algoritmi genetici divennero popolari grazie agli scritti di John Henry Holland. Il crescente interesse accademico e il considerevole aumento del potere computazionale dei calcolatori portò allo sviluppo di applicazioni pratiche, tra cui l'evoluzione automatica dei programmi sui calcolatori. Gli algoritmi evolutivi sono ora usati per risolvere problemi multidimensionale in maniera più efficiente dei software prodotti da progettisti umani, e permettono anche di ottimizzare la progettazione di tali sistemi.

Tecniche

Le tecniche di computazione evolutiva impiegano soprattutto degli algoritmi meta-euristici di ottimizzazione matematica. In generale, il campo include:

Algoritmi evolutivi

Computazione Evolutiva  Lo stesso argomento in dettaglio: Algoritmo evolutivo.

Gli algoritmi evolutivi sono un sottoinsieme della computazione evolutiva, poiché in genere impiegano solo tecniche che sfruttano meccanismi ispirati dall'evoluzione biologica, come la riproduzione, le mutazioni, la ricombinazione, la selezione naturale e la sopravvivenza del più forte. Le soluzioni candidate per l'ottimizzazione del problema rappresentano gli individui della popolazione, e la funzione di fitness determina l'ambiente in cui la soluzione "vive". L'evoluzione della popolazione si ottiene ripetendo in maniera iterata le operazioni descritte sopra.

Alla base del processo vi sono due elementi chiave: la ricombinazione e la mutazione, le quali creano la diversità necessaria e l'introduzione di nuovi elementi, mentre la selezione agisce come un fattore per migliorare la qualità degli individui in una popolazione.

Molti aspetti di tale processo evolutivo sono stocastici. Le informazioni modificate tramite ricombinazione e mutazione sono scelti raramente. Dall'altro lato, gli operatori di selezione possono essere sia stocastici che deterministici. Nel primo caso, gli individui con una funzione di fitness più elevata hanno maggiori possibilità di essere selezionati rispetto agli individui con una funzione di fitness più bassa, ma di solito anche gli individui più deboli hanno qualche possibilità di riprodursi e sopravvivere.

Nomi illustri nel campo della computazione evolutiva

  • Thomas Baeck
  • Wolfgang Banzhaf
  • Kalyanmoy Deb
  • Francesco Cadini
  • Kenneth A De Jong
  • Gusz Eiben
  • Peter J. Fleming
  • David E. Goldberg
  • Emma Hart
  • John Henry Holland
  • John Koza
  • Zbigniew Michalewicz
  • Peter Nordin
  • Riccardo Poli (professore)
  • Ingo Rechenberg
  • Marc Schoenauer
  • Hans-Paul Schwefel
  • Jim Smith
  • Xin Yao

Note

Bibliografia

Voci correlate

Altri progetti

Collegamenti esterni

Controllo di autoritàLCCN (ENsh95003989 · J9U (ENHE987007546715505171
Computazione Evolutiva  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica

Tags:

Computazione Evolutiva StoriaComputazione Evolutiva TecnicheComputazione Evolutiva Algoritmi evolutiviComputazione Evolutiva Nomi illustri nel campo della computazione evolutivaComputazione Evolutiva NoteComputazione Evolutiva BibliografiaComputazione Evolutiva Voci correlateComputazione Evolutiva Altri progettiComputazione Evolutiva Collegamenti esterniComputazione EvolutivaIntelligenza artificiale

🔥 Trending searches on Wiki Italiano:

Giorgio MoroderGermaniaUcrainaAffari tuoiLo chiamavano Jeeg RobotAntonio ScuratiSiciliaYacine AdliAtalanta Bergamasca CalcioPechino ExpressComuni d'Italia per popolazioneTerence HillNicolò Barella1970Pirati dei CaraibiAlessandro MagnoFabbricante di lacrime (film)Marco GialliniOne PieceWikipediaElisabetta di BavieraAlessandra MussoliniColin FirthSerie C 2023-2024Baby Gang (rapper)The Big Bang TheoryRoberto SavianoPanico nello stadioRyan GoslingBrigate RosseLa furia di un uomo - Wrath of ManTaylor SwiftMiriam LeoneFrancesco TottiDiabolik - Ginko all'attacco!Paolo MaldiniCarlomanno (figlio di Carlo Martello)Breaking BadClub 27Paulo DybalaValentino RossiErin MoriartyAndrea Kimi AntonelliGuido CrosettoFestival di Sanremo 2024Tavola periodica degli elementiFuga da Los AngelesAntonia Dell'AtteAl PacinoElio e le Storie TeseMaria Sole Ferrieri CaputiFrancesca ChillemiDomenico TedescoAngela e Luciana GiussaniTimothée ChalametGabriele D'AnnunzioRivoluzione dei garofaniLa donna che visse due volteAlbo d'oro della UEFA Champions LeagueMichele AlboretoJosh HartnettDongfeng MotorEccidio di Sant'Anna di StazzemaGeppi CucciariSabina GuzzantiLago di GardaRocco SiffrediJ. Robert OppenheimerAntonella ClericiMariano NavoneRaffaella CarràGiorgia MeloniElly SchleinSerie A 2020-2021Emily BluntBryan CristanteSionismoAndrea Pirlo🡆 More