Come indicato nel quinto capitolo del libro “Algoritmi per l’intelligenza artificiale”, gli algoritmi genetici costituiscono una tecnica meta-euristica naturale che si basa sull’analogia con i meccanismi di selezione naturale in campo genetico. Il metodo è stato sviluppato a partire da una ricerca il cui obiettivo era quello di astrarre e spiegare i processi di adattamento dei sistemi naturali alle diverse condizioni ambientali e di progettare, quindi, sistemi software che ricalcassero i meccanismi di evoluzione di questi sistemi. L’idea di base consiste nel considerare una popolazione di soluzioni che evolve in accordo con un meccanismo di selezione in modo da produrre soluzioni con buoni valori della funzione obiettivo.
Le applicazioni sono tante, grazie alla loro natura adattivi e flessibili, e allo stesso tempo robusti. Riguardano soprattutto il tentare di risolvere problemi di ottimizzazione per i quali non si conoscono altri algoritmi efficienti di complessità lineare o polinomiale.
Nel citato capitolo 5 viene impiegata la libreria DEAP per realizzare alcuni semplici sperimentazioni, per approfondire le sue potenzialità e trovare altro codice da provare si possono leggere le pagine seguenti:
– Simple Genetic Algorithm via Python, DEAP riguardante l’ottimizzare un problema aziendale di base
– Genetic Algorithm from scratch via Python riguardante l’ottimizzare X² = 64 con 5 bit
– Genetic Algorithms in Python using the DEAP library spiega la libreria DEAP e fornisce un esempio sull’ottimizzare la scelta dei cibi nel pasto
– Intro to Evolutionary Computation Using DEAP approfondimenti sul calcolo evolutivo con DEAP
– Algoritmi genetici e machine learning nella digital forensics: applicazioni pratiche applicazioni anche nel campo della digital forensics con esempi in Python.