MATLAB: Miglior fitness vs fitness medio, range iniziale

0
  1. Basato sull'esempio della funzione di Rastrigin. Con la funzione plot, se si sceglie "best fitness", sullo stesso grafico verrà anche tracciato "fitness". Comprendo bene la "miglior forma fisica" per cui rappresenta il miglior valore di funzione in ogni generazione rispetto al numero di iterazione. Raggiunge il valore zero dopo alcune volte.

    Non capisco su 'media fitness' nel grafico tracciato. Cosa significano questi valori di "valore medio"? In che modo il grafico della 'media fitness' aiuta a capire la funzione di Rastrigin?

  2. Quali sono il significato del termine popolazione iniziale, punteggio iniziale e intervallo iniziale? Vorrei avere una migliore comprensione di questi termini.

  3. Il valore predefinito per l'intervallo iniziale è [0,1] . Significa che 0 è il limite inferiore ( lb ) e 1 è il limite superiore ( ub )? Questi valori interferiscono con i valori di lb e ub che ho impostato nei vincoli?

  4. Cerco di capire meglio lb e ub . Se il mio lb è 0 e ub è 5 , vuol dire che i miei valori punti finali saranno compresi tra 0 e 5?

  5. Se so che lb e ub per il mio problema è tra 0 e 5 , devo semplicemente impostare l'intervallo iniziale come [0,5] in ogni momento e posso supporre che questo è l'opzione migliore per il range iniziale e non ho bisogno di provarlo con altri valori?

posta Sa Ta 28.11.2012 - 09:27
fonte

1 risposta

1

Gli algoritmi genetici sono metodi di ottimizzazione basati sulla popolazione. Quindi hai una popolazione di soluzioni candidate in un dato momento.

Supponiamo che tu stia cercando di risolvere il problema one-max - un semplice problema in cui l'obiettivo è di massimizzare il numero di 1 bit in una stringa binaria di lunghezza L. Con L = 8, ogni soluzione candidata assomiglia

00101101  ==> fitness = 4

Per risolvere questo problema con un GA, è necessario creare una popolazione di tali individui a caso. Sia N = 10 la dimensione della popolazione. Quindi potresti ottenere i seguenti 10 individui (valori di fitness in [] dopo le stringhe di bit).

11011001 [5]
00100110 [3]
11010110 [5]
10010110 [4]
01010110 [4]
11101100 [5]
01001001 [3]
11001011 [4]
10111101 [6]
01001010 [3]

Questa è la "popolazione iniziale". La GA selezionerà quindi i genitori da questa popolazione, li allevierà, eventualmente muterà la prole, e produrrà una nuova popolazione dalla prole, eventualmente includendo anche la popolazione madre esistente. Questo processo viene quindi iterato fino a quando non si decide di interrompere l'algoritmo, in genere al numero massimo di valutazioni della funzione obiettivo o dopo un numero massimo di generazioni.

La miglior forma fisica si riferisce sia all'idoneità del miglior individuo della tua attuale popolazione sia all'idoneità del miglior individuo che hai trovato finora durante la corsa. A seconda del tipo di GA che stai utilizzando, questi potrebbero o meno essere la stessa cosa. Ad esempio, la miglior forma fisica per la mia popolazione di esempio sopra è di 6. Tuttavia, se la migliore prole che creo ha 5 fitness e non permetto ai genitori di sopravvivere più di una generazione, allora la migliore forma fisica nella prossima generazione potrebbe essere 5 o 6, a seconda di come interpretiamo la "miglior forma fisica". Non ho molta familiarità con gli strumenti GA di MATLAB per essere in grado di dirti quale dei due significa, ma suppongo che sia la miglior forma fisica che l'algoritmo abbia mai incontrato durante l'esecuzione in qualsiasi momento.

L'idoneità media è semplicemente la media dei valori di fitness in tutta la popolazione. Ogni generazione, la popolazione cambia e si ottiene una nuova idoneità media della popolazione. In generale, ti interessa di più la migliore forma fisica, poiché hai solo bisogno di una soluzione e ovviamente sceglierai la migliore. L'idoneità media tuttavia è utile per mostrare ciò che l'algoritmo sta facendo. Se la forma fisica media raggiunge la migliore forma fisica, probabilmente significa che la popolazione contiene N copie del miglior individuo e un'ulteriore ricerca potrebbe essere uno sforzo inutile senza un riavvio o un'operazione di mutazione su larga scala.

Quindi quello che vedi generalmente è che la miglior forma fisica tende a migliorare nel tempo, in un primo momento rapidamente, e poi a rallentare man mano che l'algoritmo trova soluzioni migliori e migliori che sono sempre più difficili da migliorare. La forma fisica media non sarà sempre migliore della migliore forma fisica, ed è in genere un po 'peggio, con la differenza tra i due che di solito diminuiscono nel tempo fino a quando l'algoritmo non converge completamente (la popolazione è uniforme, contenente N copie dello stesso " migliore "individuo).

Le domande [ub, lb] a cui non riesco veramente a rispondere. Immagino che sia l'intervallo consentito per le variabili di input, ma dovrai consultare la documentazione della toolbox che stai utilizzando per sapere con certezza cosa significano questi parametri.

    
risposta data 28.11.2012 - 15:36
fonte

Leggi altre domande sui tag