14

Da quello che ho letto finora sembrano molto simili. L'evoluzione differenziale utilizza invece numeri in virgola mobile e le soluzioni sono chiamate vettori? Non sono abbastanza sicuro di cosa significhi. Se qualcuno potrebbe fornire una panoramica con un po 'sui vantaggi e gli svantaggi di entrambi.Qual è l'evoluzione differenziale e come si confronta con un algoritmo genetico?

+0

Il numero in virgola mobile non è la differenza. Tutte le strategie evolutive usano numeri in virgola mobile. Gli algoritmi di EC non sono più divisi in tipi dalla loro rappresentazione. – user

risposta

15

Bene, sia gli algoritmi genetici che l'evoluzione differenziale sono esempi di computazione evolutiva.

Gli algoritmi genetici si avvicinano molto alla metafora della riproduzione genetica. Anche il linguaggio è per lo più lo stesso - entrambi parlano di cromosomi, entrambi parlano di geni, i geni sono alfabeti distinti, entrambi parlano di crossover, e il crossover è abbastanza vicino ad una comprensione di basso livello della riproduzione genetica, ecc.

L'evoluzione differenziale è nello stesso stile, ma le corrispondenze non sono così precise. Il primo grande cambiamento è che DE sta usando numeri reali reali (nel senso strettamente matematico - sono implementati come float, o double, o qualsiasi altra cosa, ma in teoria stanno andando oltre il campo dei real.) Come risultato , le idee di mutazione e crossover sono sostanzialmente diverse. L'operatore di mutazione è stato modificato fino a questo punto che è difficile per me persino vedere perché si chiama mutazione, in quanto tale, tranne che serve allo stesso scopo di rompere le cose dai minimi locali.

Sul lato positivo, ci sono una manciata di risultati che mostrano che i DE sono spesso più efficaci e/o più efficienti degli algoritmi genetici. E quando si lavora nell'ottimizzazione numerica, è bello essere in grado di rappresentare le cose come numeri reali reali invece di dover lavorare su un tipo di rappresentazione cromosomica, prima di tutto. (Nota: ho letto su di loro, ma non ho incasinato molto con loro quindi non posso commentare dalla conoscenza di prima mano.)

Sul lato negativo, non penso ci sia stata alcuna prova di convergenza per DEs, ancora.

+2

Giusto per aggiungere a questo, niente su Algoritmi Genetici preclude le codifiche a valori reali. Esistono operatori crossover come SBX (crossover binario simulato) e varie idee per "fondere" i genitori in modi diversi. La mutazione dei cromosomi a valori reali ha diverse implementazioni ovvie, dossi gaussiani ai parametri, ecc. – deong

+2

Vero, ma più ci si allontana dalle nozioni originali, più diventa tesa la metafora.Non sto esprimendo aspersioni, penso che siano tutti affascinanti e utili, e tutti possono ragionevolmente essere definiti algoritmi genetici. È solo una sentenza/chiamata estetica. – Novak

8

evoluzione differenziale è in realtà uno specifico sottoinsieme dello spazio più ampio degli algoritmi genetici, con le seguenti limitazioni:

  • Il genotipo è una qualche forma di valori reali vettore operazioni
  • La mutazione/di crossover fanno uso della differenza tra due o più vettori nella popolazione per creare un nuovo vettore (in genere aggiungendo qualche porzione casuale della differenza a uno dei vettori esistenti, più una piccola quantità di rumore casuale)

DE funziona bene per determinate situazioni perché i vettori possono essere considerati come una "nuvola" che esplora le aree di alto valore dello spazio della soluzione in modo abbastanza efficace. È strettamente correlato all'ottimizzazione degli sciami di particelle in alcuni sensi.

Ha ancora il solito problema di GA di rimanere bloccato nei minimi locali.

+0

hai un riferimento in cui GA è incline a rimanere bloccato nei minimi locali? –