Algoritmo evolutivo – Spiegazione delle selezioni

Algoritmo evolutivo - Spiegazione delle selezioni

Comprendere cosa accade, con la visualizzazione e il codice

Immagine creata da DALL·E 3 basata sulla richiesta 'Disegna un'immagine a tema fantascientifico che rappresenti la selezione dei genitori nell'algoritmo evolutivo.'

Il Problema del Commesso Viaggiatore (TSP) è un noto problema np-hard, che presenta evidenti applicazioni pratiche nella vita reale. Ad esempio, è utile se si sta pianificando un viaggio in Europa e si stimano i tempi di viaggio da punto a punto tra i siti.

Con soli 30 città, ci sarebbero oltre 1⁰³⁰ possibili permutazioni. Risolvere il TSP con 30 città mediante la forza bruta non è fattibile (il numero di grani di sabbia sulla Terra è ‘solo’ 1⁰¹⁹).

Alla fine di questo articolo, risolvere problemi simili con l’Algoritmo Evolutivo (EA) sarà facile per te. Sarai in grado di ottenere il seguente risultato da solo.

Inoltre, capirai cosa accade esattamente dietro le quinte e come ciascun componente (in particolare i vari tipi di mutazioni) contribuisce alla soluzione.

1. Proposta di Valore

Molte guide utilizzano erroneamente le parole Algoritmo Genetico (GA) e Algoritmo Evolutivo (EA) in modo interscambiabile.

GA, nella sua forma canonica, prevede i seguenti elementi [1]:1. Rappresentazione – stringhe di bit2a. Selezione dei genitori – proporzionale alla fitness2b. Ricombinazione – crossover a un punto3. Mutazione – inversione dei bit4. Selezione della sopravvivenza – generazione successiva

GA è un sottogruppo di EA.

In questa guida, affrontiamo gli aspetti di EA che non vengono discussi in GA. In particolare, ci concentreremo sugli aspetti relativi alla rappresentazione delle permutazioni, spiegando con visualizzazioni intuitive e codice.

2. Definizioni

Prima di procedere ulteriormente, è necessario essere chiari sull’uso dei termini [2].

Fenotipi

Le soluzioni all’interno del contesto originale del problema. Queste devono essere interpretate ‘così come sono’…