Algoritmo genetico: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Avanzo (discussione | contributi)
Rendendola sintatticamente più efficace
Etichette: Modifica da mobile Modifica da web per mobile
Avanzo (discussione | contributi)
Nessun oggetto della modifica
Etichette: Modifica da mobile Modifica da web per mobile
Riga 2:
Un '''algoritmo genetico''' è un [[algoritmo]] [[euristico]] utilizzato per tentare di risolvere problemi di [[ottimizzazione]] per i quali non si conoscono altri algoritmi efficienti di [[Teoria della complessità computazionale|complessità]] lineare o polinomiale. L'aggettivo "genetico", ispirato al principio della [[selezione naturale]] ed [[evoluzione]] biologica teorizzato nel 1859 da [[Charles Darwin]], deriva dal fatto che, al pari del modello evolutivo darwiniano che trova spiegazioni nella branca della [[biologia]] detta [[genetica]], gli algoritmi genetici attuano dei meccanismi concettualmente simili a quelli dei processi [[biochimica|biochimici]] scoperti da questa scienza.
 
In sintesi gli algoritmi genetici consistono in algoritmi che permettono di valutare diverse soluzioni di partenza (come se fossero diversi individui biologici) e che ricombinandole (analogamente alla riproduzione biologica sessuata),ed introducendo elementi di disordine (analogamente alle mutazioni genetiche casuali) producono nuove soluzioni (nuovi individui) che vengono valutate scegliendo le migliori (selezione ambientale) nel tentativo di convergere verso soluzioni "ottime". Ognuna di queste fasi di ricombinazione e selezione si può chiamare generazione come quelle degli esseri viventi. Nonostante questo utilizzo nell'ambito dell'ottimizzazione, data la natura intrinsecaintrinsecamente casuale dell'algoritmo genetico, non vi è modo di sapere a priori se sarà effettivamente in grado di trovare una soluzione accettabile al problema considerato. Se si otterrà un soddisfacente risultato non è detto che si capisca perché funzionato in quanto non è stato progettato da nessuno ma da una procedura casuale.
 
Gli algoritmi genetici rientrano nello studio dell'[[intelligenza artificiale]] e più in particolare nella branca della ''[[computazione evolutiva]]'', vengono studiati e sviluppati all'interno del campo dell'intelligenza artificiale e delle tecniche di [[soft computing]], ma trovano applicazione in un'ampia varietà di problemi afferenti a diversi contesti quali l'[[elettronica]]<ref>{{en}}[http://www.informatik.uni-osnabrueck.de/papers_pdf/xplorer_report_volker.pdf Progettazione di disposizioni LVSI attraverso algoritmi genetici. Studio di Volker Schnecke ed Oliver Vornberger dell'Università di Osnabruck]</ref>, la biologia<ref>{{en}}[http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2143927/ Presentazione di un algoritmo per lo studio del ripiegamento proteico di M.J. Bayley, J. Jones, G. William e M.P. Williamson, NCBI USA]</ref> e l'[[economia]]<ref>{{en}}[http://static.wingedleopard.net/lucas/projects/urchine/paper.pdf Gli algoritmi genetici nell'economia di J.L. Reddinger, Montana State University] {{webarchive|url=https://web.archive.org/web/20160305091654/http://static.wingedleopard.net/lucas/projects/urchine/paper.pdf |data=5 marzo 2016 }}</ref>.