Da Wikipedia, l'enciclopedia libera
L'edizione 2006 della
NASA ST5 antenna veicoli spaziali.
Questa forma complicato è stato trovato da un programma
di computer design evolutivo per creare il miglior
modello di radiazione.
Questa forma complicato è stato trovato da un programma
Nel informatica campo della intelligenza artificiale , un algoritmo genetico (GA) è una ricerca euristica che imita il processo della selezione naturale . Questa euristica (a volte chiamato anche un metaeuristica ) viene normalmente utilizzato per generare soluzioni utili per l'ottimizzazione e la ricerca dei problemi . [ 1 ] Gli algoritmi genetici appartengono alla classe più ampia dialgoritmi evolutivi (EA), che generano soluzioni per l'ottimizzazione dei problemi utilizzando tecniche ispirate naturale evoluzione, come eredità , mutazione , selezione , e di crossover .
Gli algoritmi genetici trovano applicazione in bioinformatica , filogenesi , scienza computazionale , ingegneria , economia , chimica , la produzione , la matematica , la fisica , pharmacometricse altri campi.
Contenuto
·
6 Storia
In un algoritmo genetico, una popolazione di soluzioni candidate (detti individui, creature, o fenotipi ) ad un problema
di ottimizzazione è evoluta verso soluzioni migliori. Ogni soluzione
candidato ha una serie di proprietà (suoi cromosomio genotipo ) che possono
essere mutato e alterato;. tradizionalmente, soluzioni sono rappresentati in
binario come stringhe di 0 e 1, ma altre codifiche sono possibili anche [ 2 ]
L'evoluzione di solito parte da una popolazione di
individui generati casualmente, ed è un processo iterativo , con la
popolazione in ogni iterazione chiamato generazione . In
ogni generazione, l' idoneità di ogni individuo
nella popolazione viene valutata l'idoneità è di solito il valore della
funzione obiettivo del problema di ottimizzazione dall'essere risolto. Gli
individui più adatti sono stocasticamente selezionati dalla
popolazione corrente e genoma di ogni individuo viene modificata ( ricombinato e possibilmente mutato a caso) per
formare una nuova generazione. La nuova generazione di soluzioni candidate
viene quindi utilizzato nella successiva iterazione del algoritmo . Comunemente,
l'algoritmo termina quando è stato prodotto un numero massimo di generazioni, o
un livello di fitness soddisfacente è stato raggiunto per la popolazione.
Un algoritmo genetico tipico richiede:
Una rappresentazione standard di ogni soluzione
candidata è come matrice di bit . [ 2 ] Matrici di altri
tipi e strutture possono essere utilizzate essenzialmente nello stesso
modo. La proprietà principale che rende queste rappresentazioni genetiche
conveniente è che le loro parti sono facilmente allineate a causa della loro
dimensione fissa, che facilita semplici di crossover operazioni. Rappresentazioni
lunghezza variabile possono anche essere utilizzati, ma attuazione crossover è più
complessa in questo caso. Rappresentazione ad albero sono esplorati
in programmazione genetica e grafico-forma rappresentazioni
sono esplorati in programmazione evolutiva , un mix di entrambi i cromosomi
lineari e alberi è esplorato in programmazione genica .
Una volta che la rappresentazione genetica e la
funzione di fitness sono definite, un GA procede per inizializzare una
popolazione di soluzioni e poi migliorarlo attraverso l'applicazione ripetitiva
degli operatori di mutazione, di crossover, inversione e di selezione.
Inizialmente molte soluzioni individuali sono (di
solito) generati casualmente per formare una popolazione iniziale. La
dimensione della popolazione dipende dalla natura del problema, ma tipicamente
contiene diverse centinaia o migliaia di possibili
soluzioni. Tradizionalmente, la popolazione viene generata casualmente,
consentendo l'intera gamma delle possibili soluzioni (la spazio di
ricerca ). Di tanto in tanto, le soluzioni possono essere
"seminate" in aree in cui sono in grado di trovare soluzioni
ottimali.
Durante ogni generazione successiva, una parte della
popolazione esistente viene selezionato per allevare una nuova
generazione. Soluzioni individuali vengono selezionati attraverso
una base di forma- processo, dove montatoresoluzioni (come misurato
da una funzione di fitness ) sono in genere maggiori
probabilità di essere selezionato. Alcuni metodi di selezione valutano
l'idoneità di ogni soluzione e preferenzialmente selezionare le migliori
soluzioni. Altri metodi frequenza soltanto un campione casuale della
popolazione, in quanto il primo processo può essere molto tempo.
La funzione di fitness è definita sulla
rappresentazione genetica e misura la qualità della soluzione
rappresentata. La funzione di fitness è sempre un problema
dipendente. Per esempio, nel problema dello zaino si vuole massimizzare il valore
totale di oggetti che possono essere messi in una sacca di alcune capacità
fissa. Una rappresentazione di una soluzione potrebbe essere una matrice
di bit, in cui ogni bit rappresenta un oggetto diverso, e il valore del bit (0
o 1) rappresenta se l'oggetto è nello zaino. Non ogni tale
rappresentazione è valida, come le dimensioni degli oggetti può superare la
capacità dello zaino. L' idoneità della soluzione è la
somma dei valori di tutti gli oggetti nello zaino se la rappresentazione è
valido, altrimenti 0.
In alcuni problemi, è difficile o addirittura
impossibile definire l'espressione fitness, in questi casi, una simulazione può essere utilizzata per determinare il valore della funzione di
fitness di un fenotipo (es. fluidodinamica computazionaleviene utilizzato per
determinare la resistenza dell'aria di un veicolo la cui forma è codificato
come il fenotipo), o anche algoritmi genetici interattivi vengono
utilizzati.
Il passo successivo è quello di generare una
popolazione seconda generazione di soluzioni da quelli selezionati
attraverso operatori genetici : attraversamento (chiamato anche ricombinazione), e /
o mutazione .
Per ogni nuova soluzione per essere prodotto, una
coppia di soluzioni "madri" è selezionato per la riproduzione dal
pool selezionato in precedenza. Producendo una soluzione
"bambino" con i metodi di cui sopra di incrocio e mutazione, una
nuova soluzione viene creato che condivide tipicamente molte delle
caratteristiche dei suoi "genitori". I nuovi genitori sono
selezionati per ogni nuovo figlio, e il processo continua fino a quando viene
generata una nuova popolazione di soluzioni di dimensioni adeguate. Sebbene
metodi di riproduzione che si basano sull'impiego di due genitori sono più
"biologia ispirato", alcune ricerche [ 3 ] [ 4 ] suggerisce che più
di due "genitori" generano cromosomi di qualità superiore.
Questi processi definitiva producono popolazione
prossima generazione di cromosomi che è differente dalla generazione
iniziale. Generalmente il benessere medio sarà aumentato di questa
procedura per la popolazione, dato che solo i migliori organismi della prima
generazione sono selezionati per la riproduzione, con una piccola percentuale di
soluzioni meno adatti. Queste soluzioni meno adatte assicurano la
diversità genetica all'interno del pool genetico dei genitori e quindi
garantire la diversità genetica della successiva generazione di bambini.
L'opinione è divisa sull'importanza di attraversamento
rispetto mutazione. Ci sono molti riferimenti a Fogel (2006) che
sostengono l'importanza della ricerca basata mutazione.
Sebbene di crossover e mutazione sono noti come i principali
operatori genetici, è possibile utilizzare altri operatori come raggruppamento,
colonizzazione estinzione o migrazione in algoritmi genetici. [ 5 ]
Si tratta di parametri di regolazione vale la pena,
come la mutazione probabilità di crossover probabilità e dimensioni della
popolazione per trovare le impostazioni ragionevoli per la classe problema in
lavorazione. Una piccola aliquota mutazione può portare a deriva genetica (che è non- ergodico in
natura). Un tasso di ricombinazione che è troppo alto può portare a
convergenza prematura dell'algoritmo genetico. Un tasso di mutazione che è
troppo alto può portare alla perdita di buone soluzioni meno che non vi è la
selezione elitaria. Ci sono limiti superiori e inferiori teoriche ma non
ancora pratico di questi parametri che possono aiutare la selezione
manuale [ citazione necessaria ] attraverso
esperimenti (vedi tutorial ).
Questo processo generazionale viene ripetuto finché è
stata raggiunta una condizione di terminazione. Condizioni
comuni di terminazione sono:
·
Una soluzione è trovato che soddisfa i criteri minimi
·
Numero fisso di generazioni
raggiunto
·
Bilancio stanziato (tempo di calcolo / denaro) raggiunto
·
Idoneità del più alto ranking soluzione sta raggiungendo o ha raggiunto un
plateau tale che iterazioni successive non producono più risultati migliori
·
L'ispezione manuale
·
Combinazioni di cui sopra
Gli algoritmi genetici sono semplici da implementare,
ma il loro comportamento è difficile da capire. In particolare è difficile
capire perché questi algoritmi spesso riescono a generare soluzioni di elevata
idoneità quando applicata a problemi pratici. L'ipotesi
building block (BBH) è costituito da:
1. Una descrizione di una
euristica che esegue l'adattamento identificando e ricombinando "building
blocks", cioè ordine basso, bassa definizione lunghezza schemi con il fitness sopra la media.
2. Una ipotesi che un
algoritmo genetico esegue l'adattamento implicitamente ed efficiente attuazione
di questa euristica.
Goldberg descrive l'euristica come segue:
"Short, ordine basso, e molto in forma schemi
vengono campionati, ricombinati [attraversato], e resampled a
formare stringhe di potenzialmente più elevato fitness. In un certo senso,
lavorando con questi particolari schemi [i mattoni], abbiamo ridotto la
complessità del nostro problema, invece di costruire stringhe ad alte
prestazioni provando tutte le combinazioni possibili e immaginabili, costruiamo
sempre migliori stringhe delle migliori soluzioni parziali dei campionamenti
passati.
"Perché schemi altamente attacco di bassa
lunghezza definire e bassa dell'ordine svolgono un ruolo importante nell'azione
di algoritmi genetici, abbiamo già dato loro un nome speciale:. Blocchi di
costruzione Proprio come un bambino crea magnifiche fortezze attraverso
l'organizzazione di blocchi semplici legno, quindi non un algoritmo genetico
cercano prestazioni quasi ottimali attraverso la giustapposizione di blocchi a
breve, di ordine inferiore, ad alte prestazioni schemi, o di costruzione
". [ 6 ]
Ci sono limiti dell'uso di un algoritmo genetico
rispetto agli algoritmi di ottimizzazione alternative:
·
Ripetute funzione di fitness di valutazione per problemi
complessi è spesso il segmento più proibitivo e limitando di algoritmi
evolutivi artificiali. Trovare la soluzione ottimale per complessi alti
dimensionali, problemi multimodali richiede spesso molto costosi funzione di fitness valutazioni. In
problemi del mondo reale come problemi di ottimizzazione strutturale, una
valutazione unica funzione può richiedere diverse ore a diversi giorni di
simulazione completa.Metodi di ottimizzazione tipici non possono trattare tali
tipi di problemi. In questo caso, potrebbe essere necessario rinunciare
una valutazione esatta e usare una forma approssimativa che è computazionalmente
efficiente. E 'evidente che la fusione di modelli approssimati può essere uno degli approcci più
promettenti di utilizzare al convincente GA per risolvere i complessi problemi
della vita reale.
·
Gli algoritmi genetici non scala bene con la complessità. Cioè, se il
numero di elementi che sono esposti a mutazione è grande vi è spesso un aumento
esponenziale della dimensione dello spazio di ricerca. Questo rende
estremamente difficile utilizzare la tecnica su problemi quali la progettazione
di un motore, una casa o aereo. Al fine di rendere tali problemi
trattabili alla ricerca evolutiva, essi devono essere suddivisi in
rappresentazione più semplice possibile. Quindi noi di solito vediamo i
disegni di codifica algoritmi evolutivi per pale del ventilatore invece di
motori, forme edilizie invece di piani di costruzione dettagliati, profili
alari invece di disegni interi aeromobili. Il secondo problema di
complessità è la questione di come proteggere le parti che si sono evolute per
rappresentare buone soluzioni da ulteriore mutazione distruttiva, soprattutto
quando la loro valutazione di idoneità richiede loro di combinare bene con le
altre parti. E 'stato suggerito da alcuni [ citazione necessaria ] nella comunità che
un approccio di sviluppo di soluzioni evolute poteva superare alcuni dei
problemi di protezione, ma questa rimane una questione di ricerca aperto.
·
La soluzione "migliore" è solo rispetto ad altre
soluzioni. Come risultato, il criterio di arresto non è chiaro in ogni
problema.
·
In molti problemi, gas può avere la tendenza a convergere verso ottimi locali o anche punti
arbitrari piuttosto che l' ottimo globale del
problema. Ciò significa che non "sa" per sacrificare il fitness
a breve termine per ottenere il fitness a lungo termine. La probabilità
che ciò si verifichi dipende dalla forma del paesaggio di fitness : alcuni problemi
possono fornire un facile salita verso un ottimo globale, altri possono
facilitare la funzione per trovare la optima locale.Questo problema può essere
alleviato mediante una funzione di fitness diversa, aumentando il tasso di mutazione,
o utilizzando tecniche di selezione che mantengono una popolazione
diversificata di soluzioni, [ 7 ] , anche se
il No Free Lunch teorema [ 8 ] si dimostra [ citazione necessaria ] che ci esiste una
soluzione generale a questo problema. Una tecnica comune per mantenere la
diversità è di imporre una "sanzione di nicchia", in cui, qualsiasi
gruppo di individui di somiglianza sufficiente (raggio di nicchia) hanno una
penalità aggiunto, che ridurrà la rappresentazione di quel gruppo nelle
generazioni successive, permettendo altro (meno simile ) gli individui ad
essere mantenuti nella popolazione. Questo trucco, però, non può essere
efficace, dipende dal paesaggio del problema. Un'altra possibile tecnica
sarebbe quello di sostituire semplicemente parte della popolazione con
individui generati casualmente, quando la maggior parte della popolazione è
troppo simili tra loro. La diversità è importante in algoritmi genetici
(e programmazione genetica ), perché attraversando una
popolazione omogenea non produce nuove soluzioni. Nelstrategie di evoluzione e programmazione evolutiva , la diversità non è essenziale a
causa di un maggiore ricorso a mutazione.
·
Operando su insiemi di dati dinamici è difficile, come genomi cominciano a
convergere presto verso soluzioni che potrebbero non essere più valide per i
dati successivi. Diversi metodi sono stati proposti per porre rimedio a
questa crescente diversità genetica in qualche modo e prevenire convergenza
precocemente, aumentando la probabilità di mutazione quando la qualità della
soluzione scende (chiamato hypermutation attivato ), o
occasionalmente introducendo completamente nuovi, elementi generati casualmente
nel patrimonio genetico (chiamato immigrati casuali ). Ancora
una volta, le strategie di evoluzione e programmazione evolutiva possono essere implementati con un
cosiddetto "strategia virgola" in cui i genitori non vengono
mantenute e nuovi genitori siano selezionate solo dalla progenie. Questo
può essere più efficace sui problemi dinamici.
·
Il gas non può risolvere efficacemente i problemi in cui l'unica misura di
fitness è una misura di giusto / sbagliato singolo (come problemi di decisione ), in quanto non
vi è alcun modo per convergere sulla soluzione (senza collina a
salire). In questi casi, una ricerca casuale può trovare una soluzione più
rapidamente un GA. Tuttavia, se la situazione consente la sperimentazione
successo / insuccesso da ripetere dando (possibilmente) risultati diversi,
allora il rapporto di successi a guasti fornisce una misura di fitness adatto.
·
Per problemi di ottimizzazione e istanze del problema specifico, altri
algoritmi di ottimizzazione possono trovare soluzioni migliori di algoritmi
genetici (data la stessa quantità di tempo di calcolo). Algoritmi
alternativi e complementari comprendono strategie evolutive , la programmazione evolutiva , ricottura simulata , adattamento gaussiano , in salita , e swarm intelligence (es.: ottimizzazione colonia di formiche , particella ottimizzazione sciame ) e metodi basati
sulla programmazione lineare intera . La domanda
di cui eventuali problemi sono adatti ad algoritmi genetici (nel senso che
questi algoritmi sono migliori di altri) è aperta e controversa.
L'algoritmo più semplice rappresenta ogni cromosoma
come una stringa
di bit . Tipicamente i parametri numerici possono essere rappresentati
da numeri interi , anche se è possibile utilizzare virgola mobile rappresentazioni. La
rappresentazione in virgola mobile è naturale per le strategie di evoluzione e programmazione evolutiva . La nozione di algoritmi
genetici a valori reali è stato offerto, ma è in realtà un termine improprio
perché in realtà non rappresenta la teoria blocco di costruzione che è stato
proposto da John Henry Holland nel 1970. Questa teoria non è
però senza sostegno, sulla base dei risultati teorici e sperimentali (vedi
sotto). L'algoritmo di base esegue di crossover e la mutazione a livello
di bit. Altre varianti trattano il cromosoma come una lista di numeri che
sono gli indici in una tabella di istruzioni, i nodi in una lista collegata , hash , oggetti , o qualsiasi altra immaginabile struttura dati . Crossover e
mutazione sono realizzate in modo da rispettare i limiti dell'elemento
dati. Per la maggior parte dei tipi di dati, specifici operatori
variazione possono essere progettati. Diversi tipi di dati cromosomica
sembrano funzionare meglio o peggio per diversi domini problematiche
specifiche.
Quando si utilizzano rappresentazioni di stringa di
bit di numeri interi, codifica Grigio è spesso impiegato. In
questo modo, piccole variazioni del numero intero possono essere facilmente
effettuati tramite mutazioni o crossover. Questo è stato trovato per
aiutare a prevenire convergenza prematura in cosiddette pareti Hamming ,
in cui troppe mutazioni simultanee (o eventi di crossover) deve avvenire in
modo da cambiare il cromosoma di una soluzione migliore.
Altri approcci comportano l'uso di matrici di numeri
reali a valori invece di stringhe di bit per rappresentare i cromosomi. I
risultati della teoria di schemi indicano che, in generale, più piccolo
l'alfabeto, migliori sono le prestazioni, ma era inizialmente sorprendente per
i ricercatori che i buoni risultati sono stati ottenuti da usare cromosomi a
valori reali. Questo è stato spiegato come l'insieme dei valori reali in
una popolazione finita di cromosomi di formare un alfabeto virtuale (ove
selezione e ricombinazione sono dominanti) con una cardinalità molto inferiore
a quanto previsto dalla rappresentazione in virgola mobile. [ 9 ] [ 10 ]
Un grande successo (leggera) variante del processo
generale di costruzione di una nuova popolazione è consentire alcuni dei
migliori organismi della generazione corrente di riportare al successivo,
inalterato. Questa strategia è nota come selezione elitista .
Implementazioni parallele di algoritmi genetici sono
di due tipi. Algoritmi genetici paralleli grana grossa assumono una
popolazione su ciascuno dei nodi informatici e migrazione di individui tra i
nodi. Algoritmi genetici paralleli a grana fine assumono un individuo su
ciascun nodo processore che agisce con le persone vicine per la selezione e la
riproduzione. Altre varianti, come algoritmi genetici per problemi di
ottimizzazione on line, introducono tempo-dipendenza o rumore in funzione di
fitness.
Gli algoritmi genetici con parametri adattivi
(algoritmi genetici adattivi, Agas) è un'altra variante importante e
promettente di algoritmi genetici. Le probabilità di attraversamento (pc)
e mutazione (pm) determinano notevolmente il grado di accuratezza della
soluzione e la velocità di convergenza che gli algoritmi genetici possono
ottenere. Invece di utilizzare valori fissi di pc e pm, AGAs utilizzare le
informazioni di popolazione in ogni generazione e adattivo regolare il pc e pm
per mantenere la diversità popolazione e per sostenere la capacità di
convergenza. In AGA (algoritmo genetico adattivo), [ 11 ] l'adeguamento dei
pc e pm dipende dai valori di idoneità delle soluzioni. In CAGA (algoritmo
genetico adattivo basato clustering), [ 12 ] attraverso
l'utilizzo di analisi di clustering per giudicare gli stati di ottimizzazione
della popolazione, l'adeguamento dei pc e pm dipende da questi stati di ottimizzazione. Può
essere molto efficace per combinare GA con altri metodi di
ottimizzazione. GA tende ad essere abbastanza bravo a trovare generalmente
buone soluzioni globali, ma piuttosto inefficiente a trovare gli ultimi
mutazioni per trovare il migliore in assoluto. Altre tecniche (come
semplice hill climbing) sono abbastanza efficienti nel trovare ottimale
assoluto in una regione limitata. Alternando GA e in salita può migliorare
l'efficienza di GA superando la mancanza di robustezza di salita.
Ciò significa che le regole della variazione genetica
possono avere un significato diverso nel caso naturale. Per esempio - a
condizione che i passi sono memorizzati in ordine consecutivo - attraversando
può sommare una serie di passi da DNA materno aggiunta di una serie di passi da
DNA paterno e così via. Questo è come aggiungere i vettori che più
probabilmente possono seguire un crinale nel paesaggio
fenotipica. Pertanto, l'efficienza del processo può essere aumentata di
molti ordini di grandezza. Inoltre, l' operatore di inversione ha la possibilità di inserire
passaggi in ordine consecutivo o qualsiasi altro ordine idoneo a favore della
sopravvivenza o di efficienza. (Si veda ad esempio [ 13 ] o esempio
nel problema del commesso viaggiatore , in particolare
l'uso di un operatore ricombinazione bordo .)
Una variante, dove la popolazione nel suo complesso è
evoluto anziché singoli membri, è noto come piscina ricombinazione genica.
Un certo numero di varianti sono stati sviluppati per
tentare di migliorare le prestazioni di gas per problemi con un elevato grado
di epistasi fitness, cioè dove l'idoneità di una soluzione costituita da interagire
sottoinsiemi delle sue variabili. Tali algoritmi mirano a imparare (prima
di sfruttare) queste interazioni fenotipiche benefiche. Come tali, essi
sono allineati con la Building Block ipotesi nella riduzione adattativo
ricombinazione dirompente. Esempi importanti di questo approccio includono
la SMG, [ 14 ] GEMGA [ 15 ] e LLGA. [ 16 ]
Problemi che sembrano essere particolarmente
appropriato per soluzione mediante algoritmi genetici sono di calendario e di pianificazione problemi, e molti pacchetti software di
programmazione si basano sul gas [ citazione necessaria ] .Gas sono stati
applicati anche per l'ingegneria . Gli
algoritmi genetici sono spesso applicati come un approccio per risolvere ottimizzazione globale dei problemi.
Come regola generale degli algoritmi genetici pollice
potrebbe essere utile in domini di problema che hanno un complesso paesaggio di fitness miscelazione,
cioè, mutazione in combinazione con incrocio , è progettato per muoversi
popolazione distanti ottimi locali che un
tradizionale hill climbing algoritmo potrebbe bloccarsi dentro Osservare
che gli operatori di crossover di uso comune non può cambiare qualsiasi
popolazione uniforme. Sola mutazione può fornire ergodicità del processo
complessivo algoritmo genetico (visto come una catena di Markov).
Esempi di problemi risolti da algoritmi genetici
includono: specchi progettati per incanalare la luce solare per un collettore
solare, [ 17 ] antenne progettato
per raccogliere i segnali radio nello spazio, [ citazione necessaria ] . ei metodi per
figure di computer cammina [ citazione necessaria ] Molti di loro Le
soluzioni sono state molto efficaci, a differenza di tutto ciò che un ingegnere
umano avrebbe potuto produrre, e imperscrutabile di come sono arrivati a
questa soluzione.[ citazione necessaria ]
Le simulazioni al computer di evoluzione iniziato già
nel 1954 con il lavoro di Nils Aall Barricelli , che stava usando il computer
presso l' Institute for Advanced Study di Princeton, New Jersey . [ 18 ] [ 19 ] La sua
pubblicazione 1954 non è stato ampiamente notato. A partire dal
1957, [ 20 ] il genetista
quantitativa australiano Alex Fraser ha pubblicato una serie di documenti sulla simulazione di selezione artificiale di organismi con più loci che
controllano una caratteristica misurabile. Da questi inizi, simulazione al
computer di evoluzione dai biologi è diventato più comune nel 1960, e le
modalità sono state descritte nei libri da Fraser e Burnell (1970) [ 21 ] e Crosby
(1973). [ 22 ] Le simulazioni di
Fraser incluse tutte le elementi essenziali degli algoritmi genetici
moderni. Inoltre, Hans-Joachim Bremermann pubblicato una serie di documenti
nel 1960, che ha inoltre adottato una popolazione di soluzione ai problemi di
ottimizzazione, in fase di ricombinazione, mutazione e selezione. La
ricerca di Bremermann comprendeva anche gli elementi di algoritmi genetici
moderni. [ 23 ] Altri pionieri
degni di nota includono Richard Friedberg, George Friedman, e Michael
Conrad.Molti dei primi documenti sono ristampati da Fogel (1998). [ 24 ]
Sebbene Barricelli, in opera ha riferito nel 1963,
aveva simulato l'evoluzione della capacità di giocare un gioco semplice, [ 25 ] evoluzione artificiale è diventato un metodo di
ottimizzazione ampiamente riconosciuto come un risultato del lavoro di Ingo Rechenberg e Hans-Paul Schwefel nel 1960 e primi anni 1970 - il
gruppo di Rechenberg stato in grado di risolvere problemi di ingegneria
complessi attraverso strategie di evoluzione . [ 26 ] [ 27 ] [ 28 ] [ 29 ] Un altro approccio
è stata la tecnica di programmazione evolutiva di Lawrence J. Fogel , che è stato
proposto per la generazione di intelligenza artificiale. programmazione evolutiva originariamente utilizzato macchine
a stati finiti per prevedere gli ambienti, ed utilizzato variazione e selezione
per ottimizzare le logiche predittive. Gli algoritmi genetici, in
particolare, è diventato popolare grazie al lavoro di John Holland nei primi anni 1970, e in particolare il suo
libro Adattamento in naturale e sistemi artificiali (1975). Il
suo lavoro nasce con studi di automi cellulari , condotti
da Holland ed i suoi studenti presso l' Università del Michigan . Holland ha introdotto un
quadro formalizzato per predire la qualità della prossima generazione, noto
come Schema Teorema di Holland . La ricerca
nel settore del gas è rimasto in larga misura teorica fino alla metà degli anni
1980, quando la prima Conferenza Internazionale sulla Algoritmi Genetici si è
tenuta aPittsburgh, in Pennsylvania .
Come interesse accademico è cresciuto, il drammatico
aumento della potenza di calcolo del desktop consentito per l'applicazione
pratica della nuova tecnica. Alla fine del 1980, General Electric ha
iniziato a vendere il primo prodotto algoritmo genetico del mondo, un toolkit
basato su mainframe progettato per i processi industriali. Nel 1989, Axcelis,
Inc. ha rilasciato Evolver , primo prodotto GA commerciale del mondo per i computer
desktop. The New York Timestecnologia
scrittore John
Markoff ha scritto [ 30 ] su Evolver nel
1990, e rimase l'unico algoritmo genetico commerciale interattiva fino al
1995. [ 31 ] Evolver è stata
venduta a Palisade nel 1997, tradotto in diverse lingue, ed è attualmente alla
sua sesta versione. [ 32 ]
Gli algoritmi genetici sono un sottocampo di:
Questa
sezione deve citazioni supplementari per la verifica . prega
di contribuire a migliorare questo articolo da aggiungendo
citazioni da fonti affidabili . Senza fonte materiale
può essere contestato e rimosso. (Maggio 2011)
|
·
Strategie Evolution (ES, vedi Rechenberg, 1994) si
evolvono individui per mezzo di mutazione e ricombinazione intermedio o
discreta. Algoritmi ES sono progettati particolarmente per risolvere i
problemi nel dominio reale valore.Usano autoadattamento per regolare i
parametri di controllo della ricerca. De-randomizzazione di
auto-adattamento ha portato alla contemporanea covarianza Matrix Adaptation
Strategy Evolution ( CMA-ES ).
·
Programmazione evolutiva (EP) coinvolge popolazioni di
soluzioni con in primo luogo la mutazione e la selezione e rappresentazioni
arbitrarie. Usano l'auto-adattamento per regolare i parametri, e possono
includere altre operazioni di variazione come combinare informazioni
provenienti da più genitori.
·
Programmazione di espressione genica (GEP) utilizza
anche le popolazioni di programmi per computer. Questi programmi
informatici complessi sono codificati in semplici cromosomi lineari di
lunghezza fissa, che vengono poi espresse come alberi di
espressione. Alberi di espressione o programmi informatici evolvono perché
i cromosomi subiscono mutazione e ricombinazione in un modo simile al canonico
GA. Ma grazie alla speciale organizzazione dei cromosomi GEP, queste
modifiche genetiche risultano sempre i programmi informatici validi. [ 33 ]
·
Programmazione genetica (GP) è una tecnica correlata
popolare da John
Koza in cui i programmi per computer, piuttosto che parametri di funzione,
sono ottimizzati. Programmazione genetica utilizza spesso basati su alberi internestrutture dati per rappresentare
i programmi per computer per l'adattamento al posto delle lista strutture tipiche
degli algoritmi genetici.
·
Raggruppamento algoritmo genetico (GGA) è
un'evoluzione del GA in cui l'attenzione si sposta dalle singole voci, come in
Classical Gas, a gruppi o sottoinsieme di elementi. [ 34 ] L'idea alla base
di questa evoluzione GA proposto da Emanuel Falkenauer è che risolvere
alcuni problemi complessi, alias di clustering o partizionamento problemi
in cui un insieme di elementi deve essere diviso in gruppo disgiunta di
elementi in modo ottimale, sarebbe meglio essere raggiunti facendo
caratteristiche dei gruppi di voci equivalenti ai geni. Questo tipo di
problemi includono bin imballaggio , il bilanciamento di linea, il clustering rispetto ad una
misura di distanza, pari pali, ecc, in cui il gas classico dimostrato di scarso
rendimento. Fare geni equivalente ai gruppi implica cromosomi che sono in
generale di lunghezza variabile, e operatori genetici speciali che manipolano
interi gruppi di articoli. Per bin imballaggio, in particolare, un GGA
ibridato con il criterio della posizione dominante di Martello e Toth, è
probabilmente la tecnica migliore per data.
·
Algoritmi evolutivi interattive sono algoritmi
evolutivi che utilizzano valutazione umana. Di solito sono applicati a
domini in cui è difficile progettare una funzione di fitness di calcolo, per
esempio, in evoluzione immagini, musica, disegni artistici e forme per
adattarsi preferenza estetica degli utenti.
·
Ottimizzazione colonia di formiche (ACO) utilizza
molte formiche (o agenti) per attraversare lo spazio delle soluzioni e trovare
aree localmente produttive. Mentre di solito inferiore agli algoritmi
genetici e altre forme di ricerca locale, è in grado di produrre risultati in
problemi in cui nessuna prospettiva globale o up-to-date può essere ottenuta, e
quindi gli altri metodi non può essere applicato. [ citazione
necessaria ]
·
Ottimizzazione sciame di particelle (PSO) è un metodo
di calcolo per l'ottimizzazione multi-parametro che utilizza anche l'approccio
basato sulla popolazione. Una popolazione (sciame) di soluzioni candidate
(particelle) si muove nello spazio di ricerca, e il movimento delle particelle
è influenzato sia dalla propria posizione più noto e posizione più noto globale
di sciame. Come algoritmi genetici, il metodo PSO dipende condivisione
delle informazioni tra i membri della popolazione. In alcuni problemi il
PSO è spesso più computazionalmente efficiente del gas, soprattutto in problemi
non vincolati con variabili continue. [ 35 ]
·
Gocce d'acqua intelligenti o l'algoritmo IWD [ 36 ] è un algoritmo di
ottimizzazione ispirati alla natura ispirata da gocce d'acqua naturali che
cambiano il loro ambiente per trovare il percorso ottimale o ottimale vicino
alla loro destinazione. La memoria è il letto del fiume e ciò che viene
modificato dalle gocce d'acqua è la quantità di terreno sul letto del fiume.
·
Ricerca Harmony (HS) è un algoritmo
imitando il comportamento dei musicisti nel processo di improvvisazione.
·
Algoritmo memetica (MA), spesso
chiamato algoritmo genetico ibrido tra gli altri, è un metodo
basato sulla popolazione, in cui sono anche soggette a fasi di miglioramento
locali soluzioni. L'idea di algoritmi memetici viene da memi, che a differenza di
geni, può adattarsi. In alcune aree problematiche che sono indicati per
essere più efficiente di algoritmi evolutivi tradizionali.
·
Algoritmi batteriologici (BA) ispira ecologia evolutiva e, più in particolare, l'adattamento
batteriologica. Ecologia evolutiva è lo studio degli organismi viventi nel
contesto del loro ambiente, con l'obiettivo di scoprire come si
adattano. Il suo concetto di base è che in un ambiente eterogeneo, non è
possibile trovare un individuo che si adatta tutto l'ambiente. Quindi, è
necessario ragionare a livello di popolazione. E 'anche BAs creduto
potesse essere applicato con successo a problemi complessi di posizionamento
(antenne per telefoni cellulari, pianificazione urbana, e così via) o di data
mining. [ 37 ]
·
Algoritmo culturale (CA) comprende la componente
popolazione quasi identica a quella dell'algoritmo genetico e, in aggiunta, un
componente di conoscenza chiamato spazio credenza.
·
Adattamento gaussiana (normale o naturale adattamento,
abbreviato NA per evitare confusione con GA) è destinato per la massimizzazione
del rendimento produzione di sistemi di elaborazione dei segnali. Può
essere utilizzato anche per l'ottimizzazione parametrica ordinaria. Essa
si basa su un certo teorema valido per tutte le regioni di accettabilità e di
tutte le distribuzioni di Gauss. L'efficienza di NA si basa sulla teoria
dell'informazione e un certo teorema di efficienza. La sua efficacia è
definita come informazioni diviso per il lavoro necessario per ottenere le
informazioni. [ 39 ] Perché NA
massimizza il fitness piuttosto che l'idoneità dei singoli media, il paesaggio
viene livellato in modo tale che le valli tra i picchi possono
scomparire. Quindi ha una certa "ambizione" per evitare picchi
locali nel paesaggio fitness. NA è anche bravo a arrampicata creste
affilate per adattamento della matrice momento, perché NA può massimizzare il
disturbo ( informazioni media ) della gaussiana contemporaneamente
mantenendo la forma fisica media costante.
·
Ricottura simulata (SA) è una tecnica di ottimizzazione
globale correlato che attraversa lo spazio di ricerca testando mutazioni
casuali su una soluzione individuale. Una mutazione che aumenta la fitness
è sempre accettata. Una mutazione che riduce fitness è accettata probabilisticamente
basato sulla differenza di fitness e un parametro temperatura
decrescente. In SA gergo, si parla di cercare la più bassa energia invece
del massimo fitness. SA può essere utilizzato anche all'interno di un
algoritmo standard GA iniziando con un tasso relativamente elevato di mutazione
e decrescente nel tempo lungo un determinato programma.
·
Ricerca Tabu (TS) è simile a
ricottura simulata dal fatto che sia attraversare lo spazio soluzione testando
mutazioni di una soluzione individuale. Mentre annealing simulato genera
una sola soluzione mutato, tabu search genera molte soluzioni mutato e si
sposta verso la soluzione con la più bassa energia di quelli generati. Per
evitare bicicletta e favorire una maggiore movimento attraverso lo spazio delle
soluzioni, una lista tabu viene mantenuta di soluzioni parziali o
complete. E 'vietato passare a una soluzione che contiene elementi della
lista tabu, che viene aggiornato come la soluzione attraversa lo spazio delle
soluzioni.
·
Ottimizzazione estremale (EO) a differenza del gas, che
funzionano con una popolazione di soluzioni candidate, EO si evolve una
soluzione unica e rende locali, modifiche ai componenti
peggiori. Ciò richiede che una rappresentanza adeguata selezionata che
permette di singoli componenti della soluzione deve essere assegnato un
provvedimento di qualità ("fitness"). Il principio di base
dietro questo algoritmo è quello di emergente miglioramento
attraverso rimuovere selettivamente componenti di bassa qualità e la loro
sostituzione con un componente selezionato in modo casuale. Questo è
decisamente in contrasto con un GA che seleziona buone soluzioni nel tentativo
di rendere le soluzioni migliori.
·
Il metodo di cross-entropia (CE) genera soluzioni candidati mediante
una distribuzione di probabilità parametri. I parametri vengono aggiornati
mediante minimizzazione cross-entropia, in modo da generare campioni migliori
nella successiva iterazione.
·
Reattiva ottimizzazione di ricerca (RSO) sostiene
l'integrazione di tecniche di apprendimento automatico sub-simbolici in
euristiche di ricerca per risolvere problemi di ottimizzazione
complessi. La parola accenni reattive ad una pronta risposta agli eventi
durante la ricerca attraverso un ciclo di feedback on-line interno per
l'auto-tuning dei parametri critici. Metodologie di interesse per Reactive
Search includono machine learning e statistica, in particolare l'apprendimento
per rinforzo, apprendimento attivo o query, reti neurali e meta-euristiche.
3. Saltate^ Eiben, AE et al
(1994). "Gli algoritmi genetici con ricombinazione
multi-genitore". PPSN III: Atti della Conferenza Internazionale sulla
Evolutionary Computation. La terza conferenza sul Problem Solving Parallel
dalla Natura:. 78-87 ISBN 3-540-58484-6 .
4. Saltate^ Ting, Chuan-Kang
(2005). "Sul medio Convergenza Time of Multi-genitore Algoritmi
Genetici senza selezione". Advances in
Artificial Life:. 403-412 ISBN 978-3-540-28848-0 .
5. Saltate^ Akbari, Ziarati
(2010). "Un algoritmo evolutivo multilivello per ottimizzare le
funzioni numeriche" IJIEC 2 (2011): 419-430 [1]
7. Saltate^ Taherdangkoo,
Mohammad, Paziresh, Mahsa, Yazdi, Mehran, Bagheri, Mohammad Hadi (19 novembre
2012). "Un algoritmo efficiente per l'ottimizzazione funzione: algoritmo di cellule
staminali modificato". Central European
Journal of Engineering 3 (1):
36-50. doi : 10.2478/s13531-012-0047-8 .
8. Saltate^ Wolpert, DH,
Macready, WG, 1995. Nessun Teoremi Lunch gratuiti per l'ottimizzazione. Santa Fe
Institute, SFI-TR-05-010, Santa Fe.
9. Saltate^ Goldberg, David E. (1991). "La teoria di alfabeti
virtuali" . Problem Solving Parallel dalla Natura, Lecture Notes in
Computer Science 496 : 13-22. DOI : 10.1007/BFb0029726 . Estratto 2 luglio
2013 .
10. Saltate^ Janikow, CZ, Z.
Michalewicz (1991). «Un confronto sperimentale
di binari e Floating Point rappresentanze negli algoritmi genetici" . Atti
della Quarta Conferenza Internazionale sulla Algoritmi Genetici :
31-36 .Estratto 2 luglio 2013 .
11. Saltate^ Srinivas. M e
Patnaik. L "probabilità adattivi di incrocio e di mutazione in
algoritmi genetici," IEEE Transactions on di sistema, l'uomo e
Cibernetica, Vol.24, n.4, pp.656-667, 1994.
12. Saltate^ ZHANG. J, Chung. H
e Lo. W. L, "Clustering-Based Adaptive Crossover e Mutazione
probabilità di algoritmi genetici", IEEE Transactions on Evolutionary
Computation vol.11, n.3, pp 326-335, 2007.
14. Saltate^ DE Goldberg, B. Korb, e K.
Deb. "algoritmi genetici Messy: motivazione, analisi e primi
risultati". Sistemi Complessi, 5 (3) :493-530, ottobre 1989.
16. Saltate^ G. Harik. Imparare linkage
per risolvere efficacemente i problemi di difficoltà limitata utilizzando
algoritmi genetici. Tesi di dottorato, Dipartimento di Informatica,
Università del Michigan, Ann Arbour, 1997
17. Saltate^ Gross, Bill. "Un sistema di energia solare
che segue il sole" . TED .Estratto
20 Novembre 2013 .
18. Saltate^ Barricelli, Nils Aall (1954). . "Esempi numerici
di Processi di Evoluzione"Methodos : 45-68.
19. Saltate^ Barricelli, Nils Aall (1957). . "processi
evolutivi Symbiogenetic realizzati con metodi artificiali" Methodos :
143-182.
20. Saltate^ Fraser, Alex (1957). "Simulazione di sistemi
genetici dai computer digitali automatici. I.
Introduzione". Aust. J. Biol. Sci. 10 :
484-491.
21. Saltate^ Fraser, Alex ;. Donald Burnell (1970) Computer
Modelli in Genetics . New York:.
McGraw-Hill ISBN 0-07-021904-4 .
22. Saltate^ Crosby, Jack L. (1973). simulazione
al computer in Genetics . London: John Wiley
& Sons. ISBN 0-471-18880-8 .
23. Saltate^ 02.27.96 - UC Berkeley Hans
Bremermann, professore emerito e pioniere nella biologia matematica, è morto a
69
24. Saltate^ Fogel, David B. (a cura di)
(1998). calcolo evolutivo: la documentazione fossile . New
York:. IEEE Press ISBN 0-7803-3481-7 .
25.
Saltate^ Barricelli, Nils Aall
(1963). "Sperimentazione numerica delle teorie evolutive Parte II
test preliminari di prestazioni, Symbiogenesis e l Algoritmo
genetico
26. Da Wikipedia,
l'enciclopedia libera
29. L'edizione 2006 della
NASA ST5 antenna veicoli
spaziali. Questa forma complicato è stato trovato da un programma di
computer design evolutivo per creare il miglior modello di radiazione.
30. Nel informatica campo della intelligenza
artificiale , un algoritmo genetico (GA) è una ricerca euristica che imita il
processo della selezione
naturale . Questa euristica (a volte chiamato anche un metaeuristica ) viene
normalmente utilizzato per generare soluzioni utili per l'ottimizzazione e la ricerca dei problemi . [ 1 ] Gli algoritmi
genetici appartengono alla classe più ampia dialgoritmi
evolutivi (EA), che generano soluzioni per l'ottimizzazione dei problemi
utilizzando tecniche ispirate naturale evoluzione, come eredità , mutazione , selezione , e di crossover .
31. Gli algoritmi genetici
trovano applicazione in bioinformatica , filogenesi , scienza
computazionale , ingegneria , economia , chimica , la produzione , la matematica , la fisica , pharmacometricse altri campi.
32. Contenuto
33. [ hide ]
34. 1 Metodologia
36. 1.2 Selezione
38. 1.4 Terminazione
40. 3 Limitazioni
41. 4 Varianti
43. 4.2 elitarismo
45. 4.4 GA
Adaptive
47. 6 Storia
56. 8 Vedi
anche
57. 9 Riferimenti
58. 10 Bibliografia
60. 11.1 Risorse
61. 11.2 Tutorial
62. Metodologia [ modifica ]
63. In un algoritmo
genetico, una popolazione di soluzioni
candidate (detti individui, creature, o fenotipi ) ad un problema di ottimizzazione è
evoluta verso soluzioni migliori. Ogni soluzione candidato ha una serie di
proprietà (suoi cromosomio genotipo ) che possono essere mutato e
alterato;. tradizionalmente, soluzioni sono rappresentati in binario come
stringhe di 0 e 1, ma altre codifiche sono possibili anche [ 2 ]
64. L'evoluzione di solito
parte da una popolazione di individui generati casualmente, ed è un processo iterativo , con la
popolazione in ogni iterazione chiamato generazione . In
ogni generazione, l' idoneità di ogni individuo
nella popolazione viene valutata l'idoneità è di solito il valore della
funzione obiettivo del problema di ottimizzazione dall'essere risolto. Gli
individui più adatti sono stocasticamente selezionati dalla
popolazione corrente e genoma di ogni individuo viene modificata ( ricombinato e possibilmente mutato a caso) per formare una nuova generazione. La
nuova generazione di soluzioni candidate viene quindi utilizzato nella
successiva iterazione del algoritmo . Comunemente, l'algoritmo
termina quando è stato prodotto un numero massimo di generazioni, o un livello
di fitness soddisfacente è stato raggiunto per la popolazione.
65. Un algoritmo genetico
tipico richiede:
68. Una rappresentazione
standard di ogni soluzione candidata è come matrice di bit . [ 2 ] Matrici di altri
tipi e strutture possono essere utilizzate essenzialmente nello stesso
modo. La proprietà principale che rende queste rappresentazioni genetiche
conveniente è che le loro parti sono facilmente allineate a causa della loro
dimensione fissa, che facilita semplici di crossover operazioni. Rappresentazioni lunghezza
variabile possono anche essere utilizzati, ma attuazione crossover è più
complessa in questo caso. Rappresentazione ad albero sono esplorati
in programmazione
genetica e grafico-forma rappresentazioni sono esplorati in programmazione
evolutiva , un mix di entrambi i cromosomi lineari e alberi è esplorato
in programmazione genica .
69. Una volta che la
rappresentazione genetica e la funzione di fitness sono definite, un GA procede
per inizializzare una popolazione di soluzioni e poi migliorarlo attraverso
l'applicazione ripetitiva degli operatori di mutazione, di crossover,
inversione e di selezione.
71. Inizialmente molte
soluzioni individuali sono (di solito) generati casualmente per formare una
popolazione iniziale. La dimensione della popolazione dipende dalla natura
del problema, ma tipicamente contiene diverse centinaia o migliaia di possibili
soluzioni. Tradizionalmente, la popolazione viene generata casualmente,
consentendo l'intera gamma delle possibili soluzioni (la spazio di
ricerca ). Di tanto in tanto, le soluzioni possono essere
"seminate" in aree in cui sono in grado di trovare soluzioni
ottimali.
74. Durante ogni generazione
successiva, una parte della popolazione esistente viene selezionato per allevare una nuova generazione. Soluzioni individuali
vengono selezionati attraverso una base di forma- processo,
dove montatoresoluzioni (come misurato
da una funzione
di fitness ) sono in genere maggiori probabilità di essere
selezionato. Alcuni metodi di selezione valutano l'idoneità di ogni
soluzione e preferenzialmente selezionare le migliori soluzioni. Altri
metodi frequenza soltanto un campione casuale della popolazione, in quanto il
primo processo può essere molto tempo.
75. La funzione di fitness è
definita sulla rappresentazione genetica e misura la qualità della
soluzione rappresentata. La funzione di fitness è sempre un problema
dipendente. Per esempio, nel problema
dello zaino si vuole massimizzare il valore totale di oggetti che possono essere
messi in una sacca di alcune capacità fissa. Una rappresentazione di una
soluzione potrebbe essere una matrice di bit, in cui ogni bit rappresenta un
oggetto diverso, e il valore del bit (0 o 1) rappresenta se l'oggetto è nello
zaino. Non ogni tale rappresentazione è valida, come le dimensioni degli oggetti
può superare la capacità dello zaino. L' idoneità della
soluzione è la somma dei valori di tutti gli oggetti nello zaino se la
rappresentazione è valido, altrimenti 0.
76. In alcuni problemi, è
difficile o addirittura impossibile definire l'espressione fitness, in questi
casi, una simulazione può essere
utilizzata per determinare il valore della funzione di fitness di un fenotipo
(es. fluidodinamica computazionaleviene utilizzato per determinare la
resistenza dell'aria di un veicolo la cui forma è codificato come il fenotipo),
o anche algoritmi genetici interattivi vengono utilizzati.
79. Il passo successivo è
quello di generare una popolazione seconda generazione di soluzioni da quelli
selezionati attraverso operatori genetici : attraversamento (chiamato anche ricombinazione), e / o mutazione .
80. Per ogni nuova soluzione
per essere prodotto, una coppia di soluzioni "madri" è selezionato
per la riproduzione dal pool selezionato in precedenza. Producendo una
soluzione "bambino" con i metodi di cui sopra di incrocio e mutazione,
una nuova soluzione viene creato che condivide tipicamente molte delle
caratteristiche dei suoi "genitori". I nuovi genitori sono
selezionati per ogni nuovo figlio, e il processo continua fino a quando viene
generata una nuova popolazione di soluzioni di dimensioni adeguate. Sebbene
metodi di riproduzione che si basano sull'impiego di due genitori sono più
"biologia ispirato", alcune ricerche [ 3 ] [ 4 ] suggerisce che più
di due "genitori" generano cromosomi di qualità superiore.
81. Questi processi
definitiva producono popolazione prossima generazione di cromosomi che è differente
dalla generazione iniziale. Generalmente il benessere medio sarà aumentato
di questa procedura per la popolazione, dato che solo i migliori organismi
della prima generazione sono selezionati per la riproduzione, con una piccola
percentuale di soluzioni meno adatti. Queste soluzioni meno adatte
assicurano la diversità genetica all'interno del pool genetico dei genitori e
quindi garantire la diversità genetica della successiva generazione di bambini.
82. L'opinione è divisa
sull'importanza di attraversamento rispetto mutazione. Ci sono molti
riferimenti a Fogel (2006) che
sostengono l'importanza della ricerca basata mutazione.
83. Sebbene di crossover e
mutazione sono noti come i principali operatori genetici, è possibile
utilizzare altri operatori come raggruppamento, colonizzazione estinzione o
migrazione in algoritmi genetici. [ 5 ]
84. Si tratta di parametri
di regolazione vale la pena, come la mutazione probabilità di crossover probabilità e dimensioni della popolazione per
trovare le impostazioni ragionevoli per la classe problema in
lavorazione. Una piccola aliquota mutazione può portare a deriva genetica (che è non- ergodico in
natura). Un tasso di ricombinazione che è troppo alto può portare a
convergenza prematura dell'algoritmo genetico. Un tasso di mutazione che è
troppo alto può portare alla perdita di buone soluzioni meno che non vi è la
selezione elitaria. Ci sono limiti superiori e inferiori teoriche ma non
ancora pratico di questi parametri che possono aiutare la selezione
manuale [ citazione necessaria ] attraverso
esperimenti (vedi tutorial ).
86. Questo processo
generazionale viene ripetuto finché è stata raggiunta una condizione di
terminazione. Condizioni comuni di terminazione
sono:
87. Una soluzione è trovato
che soddisfa i criteri minimi
88. Numero
fisso di generazioni raggiunto
89. Bilancio stanziato
(tempo di calcolo / denaro) raggiunto
90. Idoneità del più alto
ranking soluzione sta raggiungendo o ha raggiunto un plateau tale che
iterazioni successive non producono più risultati migliori
91. L'ispezione
manuale
92. Combinazioni
di cui sopra
93. Il
building block ipotesi [ modifica ]
94. Gli algoritmi genetici
sono semplici da implementare, ma il loro comportamento è difficile da
capire. In particolare è difficile capire perché questi algoritmi spesso
riescono a generare soluzioni di elevata idoneità quando applicata a problemi
pratici. L'ipotesi building block (BBH) è costituito da:
95. Una descrizione di una
euristica che esegue l'adattamento identificando e ricombinando "building
blocks", cioè ordine basso, bassa definizione lunghezza schemi con il fitness sopra la media.
96. Una ipotesi che un
algoritmo genetico esegue l'adattamento implicitamente ed efficiente attuazione
di questa euristica.
97. Goldberg descrive
l'euristica come segue:
98. "Short, ordine
basso, e molto in forma schemi vengono campionati, ricombinati [attraversato], e resampled a formare stringhe di potenzialmente più
elevato fitness. In un certo senso, lavorando con questi particolari schemi [i
mattoni], abbiamo ridotto la complessità del nostro problema, invece di
costruire stringhe ad alte prestazioni provando tutte le combinazioni possibili
e immaginabili, costruiamo sempre migliori stringhe delle migliori soluzioni
parziali dei campionamenti passati.
99. "Perché schemi
altamente attacco di bassa lunghezza definire e bassa dell'ordine svolgono un
ruolo importante nell'azione di algoritmi genetici, abbiamo già dato loro un
nome speciale:. Blocchi di costruzione Proprio come un bambino crea magnifiche
fortezze attraverso l'organizzazione di blocchi semplici legno, quindi non un
algoritmo genetico cercano prestazioni quasi ottimali attraverso la
giustapposizione di blocchi a breve, di ordine inferiore, ad alte prestazioni
schemi, o di costruzione ". [ 6 ]
100.Limitazioni [ modifica ]
101.Ci sono limiti dell'uso
di un algoritmo genetico rispetto agli algoritmi di ottimizzazione alternative:
102.Ripetute funzione di fitness di valutazione per
problemi complessi è spesso il segmento più proibitivo e limitando di algoritmi
evolutivi artificiali. Trovare la soluzione ottimale per complessi alti
dimensionali, problemi multimodali richiede spesso molto costosi funzione di fitness valutazioni. In
problemi del mondo reale come problemi di ottimizzazione strutturale, una
valutazione unica funzione può richiedere diverse ore a diversi giorni di
simulazione completa.Metodi di ottimizzazione tipici non possono trattare tali
tipi di problemi. In questo caso, potrebbe essere necessario rinunciare
una valutazione esatta e usare una forma
approssimativa che è computazionalmente efficiente. E 'evidente che la fusione
di modelli
approssimati può essere uno degli approcci più promettenti di utilizzare al
convincente GA per risolvere i complessi problemi della vita reale.
103.Gli algoritmi genetici
non scala bene con la complessità. Cioè, se il numero di elementi che sono
esposti a mutazione è grande vi è spesso un aumento esponenziale della
dimensione dello spazio di ricerca. Questo rende estremamente difficile
utilizzare la tecnica su problemi quali la progettazione di un motore, una casa
o aereo. Al fine di rendere tali problemi trattabili alla ricerca
evolutiva, essi devono essere suddivisi in rappresentazione più semplice
possibile. Quindi noi di solito vediamo i disegni di codifica algoritmi
evolutivi per pale del ventilatore invece di motori, forme edilizie invece di
piani di costruzione dettagliati, profili alari invece di disegni interi
aeromobili. Il secondo problema di complessità è la questione di come
proteggere le parti che si sono evolute per rappresentare buone soluzioni da
ulteriore mutazione distruttiva, soprattutto quando la loro valutazione di
idoneità richiede loro di combinare bene con le altre parti. E 'stato
suggerito da alcuni [ citazione necessaria ] nella comunità che
un approccio di sviluppo di soluzioni evolute poteva superare alcuni dei
problemi di protezione, ma questa rimane una questione di ricerca aperto.
104.La soluzione
"migliore" è solo rispetto ad altre soluzioni. Come risultato,
il criterio di arresto non è chiaro in ogni problema.
105.In molti problemi, gas
può avere la tendenza a convergere verso ottimi locali o anche punti
arbitrari piuttosto che l' ottimo globale del
problema. Ciò significa che non "sa" per sacrificare il fitness
a breve termine per ottenere il fitness a lungo termine. La probabilità
che ciò si verifichi dipende dalla forma del paesaggio di fitness : alcuni problemi
possono fornire un facile salita verso un ottimo globale, altri possono
facilitare la funzione per trovare la optima locale.Questo problema può essere
alleviato mediante una funzione di fitness diversa, aumentando il tasso di mutazione,
o utilizzando tecniche di selezione che mantengono una popolazione
diversificata di soluzioni, [ 7 ] , anche se
il No Free Lunch teorema [ 8 ] si dimostra [ citazione necessaria ] che ci esiste una
soluzione generale a questo problema. Una tecnica comune per mantenere la
diversità è di imporre una "sanzione di nicchia", in cui, qualsiasi
gruppo di individui di somiglianza sufficiente (raggio di nicchia) hanno una
penalità aggiunto, che ridurrà la rappresentazione di quel gruppo nelle
generazioni successive, permettendo altro (meno simile ) gli individui ad
essere mantenuti nella popolazione. Questo trucco, però, non può essere
efficace, dipende dal paesaggio del problema. Un'altra possibile tecnica
sarebbe quello di sostituire semplicemente parte della popolazione con
individui generati casualmente, quando la maggior parte della popolazione è
troppo simili tra loro. La diversità è importante in algoritmi genetici
(e programmazione
genetica ), perché attraversando una popolazione omogenea non produce nuove
soluzioni. Nelstrategie
di evoluzione e programmazione
evolutiva , la diversità non è essenziale a causa di un maggiore ricorso a
mutazione.
106.Operando su insiemi di
dati dinamici è difficile, come genomi cominciano a convergere presto verso
soluzioni che potrebbero non essere più valide per i dati
successivi. Diversi metodi sono stati proposti per porre rimedio a questa
crescente diversità genetica in qualche modo e prevenire convergenza
precocemente, aumentando la probabilità di mutazione quando la qualità della
soluzione scende (chiamato hypermutation attivato ), o
occasionalmente introducendo completamente nuovi, elementi generati casualmente
nel patrimonio genetico (chiamato immigrati casuali ). Ancora
una volta, le
strategie di evoluzione e programmazione
evolutiva possono essere implementati con un cosiddetto "strategia
virgola" in cui i genitori non vengono mantenute e nuovi genitori siano
selezionate solo dalla progenie. Questo può essere più
efficace sui problemi dinamici.
107.Il gas non può risolvere
efficacemente i problemi in cui l'unica misura di fitness è una misura di
giusto / sbagliato singolo (come problemi di decisione ), in quanto non
vi è alcun modo per convergere sulla soluzione (senza collina a
salire). In questi casi, una ricerca casuale può trovare una soluzione più
rapidamente un GA. Tuttavia, se la situazione consente la sperimentazione
successo / insuccesso da ripetere dando (possibilmente) risultati diversi,
allora il rapporto di successi a guasti fornisce una misura di fitness adatto.
108.Per problemi di
ottimizzazione e istanze del problema specifico, altri algoritmi di
ottimizzazione possono trovare soluzioni migliori di algoritmi genetici (data
la stessa quantità di tempo di calcolo). Algoritmi alternativi e
complementari comprendono strategie
evolutive , la
programmazione evolutiva , ricottura
simulata , adattamento
gaussiano , in salita , e swarm
intelligence (es.: ottimizzazione colonia di formiche , particella ottimizzazione sciame ) e metodi basati sulla programmazione lineare intera . La domanda di cui eventuali
problemi sono adatti ad algoritmi genetici (nel senso che questi algoritmi sono
migliori di altri) è aperta e controversa.
109.Varianti [ modifica ]
111.L'algoritmo più semplice
rappresenta ogni cromosoma come una stringa di bit . Tipicamente
i parametri numerici possono essere rappresentati da numeri interi , anche se è
possibile utilizzare virgola mobile rappresentazioni. La
rappresentazione in virgola mobile è naturale per le
strategie di evoluzione e programmazione
evolutiva . La nozione di algoritmi genetici a valori reali è stato
offerto, ma è in realtà un termine improprio perché in realtà non rappresenta
la teoria blocco di costruzione che è stato proposto da John
Henry Holland nel 1970. Questa teoria non è però senza sostegno, sulla base
dei risultati teorici e sperimentali (vedi sotto). L'algoritmo di base
esegue di crossover e la mutazione a livello di bit. Altre varianti
trattano il cromosoma come una lista di numeri che sono gli indici in una
tabella di istruzioni, i nodi in una lista collegata , hash , oggetti , o qualsiasi
altra immaginabile struttura dati . Crossover e
mutazione sono realizzate in modo da rispettare i limiti dell'elemento
dati. Per la maggior parte dei tipi di dati, specifici operatori
variazione possono essere progettati. Diversi tipi di dati cromosomica
sembrano funzionare meglio o peggio per diversi domini problematiche
specifiche.
112.Quando si utilizzano
rappresentazioni di stringa di bit di numeri interi, codifica Grigio è spesso impiegato. In
questo modo, piccole variazioni del numero intero possono essere facilmente
effettuati tramite mutazioni o crossover. Questo è stato trovato per
aiutare a prevenire convergenza prematura in cosiddette pareti Hamming ,
in cui troppe mutazioni simultanee (o eventi di crossover) deve avvenire in
modo da cambiare il cromosoma di una soluzione migliore.
113.Altri approcci
comportano l'uso di matrici di numeri reali a valori invece di stringhe di bit
per rappresentare i cromosomi. I risultati della teoria di schemi indicano
che, in generale, più piccolo l'alfabeto, migliori sono le prestazioni, ma era
inizialmente sorprendente per i ricercatori che i buoni risultati sono stati
ottenuti da usare cromosomi a valori reali. Questo è stato spiegato come l'insieme
dei valori reali in una popolazione finita di cromosomi di formare un alfabeto
virtuale (ove selezione e ricombinazione sono dominanti) con una
cardinalità molto inferiore a quanto previsto dalla rappresentazione in virgola
mobile. [ 9 ] [ 10 ]
115.Un grande successo
(leggera) variante del processo generale di costruzione di una nuova
popolazione è consentire alcuni dei migliori organismi della generazione
corrente di riportare al successivo, inalterato. Questa
strategia è nota come selezione elitista .
117.Implementazioni
parallele di algoritmi genetici sono di due tipi. Algoritmi genetici
paralleli grana grossa assumono una popolazione su ciascuno dei nodi
informatici e migrazione di individui tra i nodi. Algoritmi genetici
paralleli a grana fine assumono un individuo su ciascun nodo processore che
agisce con le persone vicine per la selezione e la riproduzione. Altre
varianti, come algoritmi genetici per problemi di ottimizzazione on line,
introducono tempo-dipendenza o rumore in funzione di fitness.
119.Gli algoritmi genetici
con parametri adattivi (algoritmi genetici adattivi, Agas) è un'altra variante
importante e promettente di algoritmi genetici. Le probabilità di
attraversamento (pc) e mutazione (pm) determinano notevolmente il grado di
accuratezza della soluzione e la velocità di convergenza che gli algoritmi
genetici possono ottenere. Invece di utilizzare valori fissi di pc e pm,
AGAs utilizzare le informazioni di popolazione in ogni generazione e adattivo
regolare il pc e pm per mantenere la diversità popolazione e per sostenere la
capacità di convergenza. In AGA (algoritmo genetico adattivo), [ 11 ] l'adeguamento dei
pc e pm dipende dai valori di idoneità delle soluzioni. In CAGA (algoritmo
genetico adattivo basato clustering), [ 12 ] attraverso
l'utilizzo di analisi di clustering per giudicare gli stati di ottimizzazione
della popolazione, l'adeguamento dei pc e pm dipende da questi stati di ottimizzazione. Può
essere molto efficace per combinare GA con altri metodi di
ottimizzazione. GA tende ad essere abbastanza bravo a trovare generalmente
buone soluzioni globali, ma piuttosto inefficiente a trovare gli ultimi
mutazioni per trovare il migliore in assoluto. Altre tecniche (come
semplice hill climbing) sono abbastanza efficienti nel trovare ottimale
assoluto in una regione limitata. Alternando GA e in salita può migliorare
l'efficienza di GA superando la mancanza di robustezza di salita.
120.Ciò significa che le
regole della variazione genetica possono avere un significato diverso nel caso
naturale. Per esempio - a condizione che i passi sono memorizzati in
ordine consecutivo - attraversando può sommare una serie di passi da DNA
materno aggiunta di una serie di passi da DNA paterno e così via. Questo è
come aggiungere i vettori che più probabilmente possono seguire un crinale nel
paesaggio fenotipica. Pertanto, l'efficienza del processo può essere
aumentata di molti ordini di grandezza. Inoltre, l' operatore
di inversione ha la possibilità di inserire passaggi in ordine consecutivo o
qualsiasi altro ordine idoneo a favore della sopravvivenza o di
efficienza. (Si veda ad esempio [ 13 ] o esempio
nel problema del commesso viaggiatore , in particolare l'uso di un operatore ricombinazione bordo .)
121.Una variante, dove la
popolazione nel suo complesso è evoluto anziché singoli membri, è noto come
piscina ricombinazione genica.
122.Un certo numero di
varianti sono stati sviluppati per tentare di migliorare le prestazioni di gas
per problemi con un elevato grado di epistasi fitness, cioè dove l'idoneità di
una soluzione costituita da interagire sottoinsiemi delle sue
variabili. Tali algoritmi mirano a imparare (prima di sfruttare) queste
interazioni fenotipiche benefiche. Come tali, essi sono allineati con la
Building Block ipotesi nella riduzione adattativo ricombinazione dirompente. Esempi
importanti di questo approccio includono la SMG, [ 14 ] GEMGA [ 15 ] e LLGA. [ 16 ]
123.Domini
di problema [ modifica ]
124.Problemi che sembrano
essere particolarmente appropriato per soluzione mediante algoritmi genetici
sono di calendario e di
pianificazione problemi, e molti pacchetti software di programmazione si basano sul
gas [ citazione necessaria ] .Gas sono stati
applicati anche per l'ingegneria . Gli
algoritmi genetici sono spesso applicati come un approccio per risolvere ottimizzazione
globale dei problemi.
125.Come regola generale
degli algoritmi genetici pollice potrebbe essere utile in domini di problema
che hanno un complesso paesaggio di fitness miscelazione,
cioè, mutazione in combinazione con incrocio , è progettato per muoversi popolazione distanti ottimi locali che un
tradizionale hill climbing algoritmo potrebbe
bloccarsi dentro Osservare che gli operatori di crossover di uso comune non può
cambiare qualsiasi popolazione uniforme. Sola mutazione può fornire
ergodicità del processo complessivo algoritmo genetico (visto come una catena
di Markov).
126.Esempi di problemi
risolti da algoritmi genetici includono: specchi progettati per incanalare la
luce solare per un collettore solare, [ 17 ] antenne progettato
per raccogliere i segnali radio nello spazio, [ citazione necessaria ] . ei metodi per
figure di computer cammina [ citazione necessaria ] Molti di loro Le
soluzioni sono state molto efficaci, a differenza di tutto ciò che un ingegnere
umano avrebbe potuto produrre, e imperscrutabile di come sono arrivati a
questa soluzione.[ citazione necessaria ]
127.Storia [ modifica ]
128.Le simulazioni al
computer di evoluzione iniziato già nel 1954 con il lavoro di Nils
Aall Barricelli , che stava usando il computer presso l' Institute for Advanced Study di Princeton,
New Jersey . [ 18 ] [ 19 ] La sua
pubblicazione 1954 non è stato ampiamente notato. A partire dal
1957, [ 20 ] il genetista
quantitativa australiano Alex
Fraser ha pubblicato una serie di documenti sulla simulazione di selezione
artificiale di organismi con più loci che controllano una caratteristica
misurabile. Da questi inizi, simulazione al computer di evoluzione dai
biologi è diventato più comune nel 1960, e le modalità sono state descritte nei
libri da Fraser e Burnell (1970) [ 21 ] e Crosby
(1973). [ 22 ] Le simulazioni di
Fraser incluse tutte le elementi essenziali degli algoritmi genetici
moderni. Inoltre, Hans-Joachim
Bremermann pubblicato una serie di documenti nel 1960, che ha inoltre adottato
una popolazione di soluzione ai problemi di ottimizzazione, in fase di
ricombinazione, mutazione e selezione. La ricerca di Bremermann
comprendeva anche gli elementi di algoritmi genetici moderni. [ 23 ] Altri pionieri
degni di nota includono Richard Friedberg, George Friedman, e Michael
Conrad.Molti dei primi documenti sono ristampati da Fogel (1998). [ 24 ]
129.Sebbene Barricelli, in
opera ha riferito nel 1963, aveva simulato l'evoluzione della capacità di
giocare un gioco semplice, [ 25 ] evoluzione
artificiale è diventato un metodo di ottimizzazione ampiamente riconosciuto come
un risultato del lavoro di Ingo Rechenberg e Hans-Paul
Schwefel nel 1960 e primi anni 1970 - il gruppo di Rechenberg stato in grado
di risolvere problemi di ingegneria complessi attraverso strategie
di evoluzione . [ 26 ] [ 27 ] [ 28 ] [ 29 ] Un altro approccio
è stata la tecnica di programmazione evolutiva di Lawrence J. Fogel , che è stato
proposto per la generazione di intelligenza artificiale. programmazione
evolutiva originariamente utilizzato macchine a stati finiti per prevedere gli
ambienti, ed utilizzato variazione e selezione per ottimizzare le logiche
predittive. Gli algoritmi genetici, in particolare, è diventato popolare
grazie al lavoro di John
Holland nei primi anni 1970, e in particolare il suo libro Adattamento
in naturale e sistemi artificiali (1975). Il suo lavoro nasce con
studi di automi cellulari , condotti
da Holland ed i suoi studenti
presso l' Università
del Michigan . Holland ha introdotto un quadro formalizzato per predire la
qualità della prossima generazione, noto come Schema
Teorema di Holland . La ricerca nel settore del gas è rimasto
in larga misura teorica fino alla metà degli anni 1980, quando la prima
Conferenza Internazionale sulla Algoritmi Genetici si è tenuta aPittsburgh,
in Pennsylvania .
130.Come interesse
accademico è cresciuto, il drammatico aumento della potenza di calcolo del
desktop consentito per l'applicazione pratica della nuova tecnica. Alla
fine del 1980, General Electric ha iniziato a vendere il primo prodotto
algoritmo genetico del mondo, un toolkit basato su mainframe progettato per i
processi industriali. Nel 1989, Axcelis, Inc. ha rilasciato Evolver , primo prodotto
GA commerciale del mondo per i computer desktop. The New York Timestecnologia
scrittore John Markoff ha scritto [ 30 ] su Evolver nel
1990, e rimase l'unico algoritmo genetico commerciale interattiva fino al
1995. [ 31 ] Evolver è stata
venduta a Palisade nel 1997, tradotto in diverse lingue, ed è attualmente alla
sua sesta versione. [ 32 ]
131.Tecniche
correlate [ modifica ]
134.Gli algoritmi genetici
sono un sottocampo di:
137.Metaeuristiche
139.Ottimizzazione
143.Questa sezione deve
citazioni supplementari per la verifica . prega di
contribuire a migliorare
questo articolo da aggiungendo citazioni da fonti
affidabili . Senza fonte materiale può essere contestato e
rimosso. (Maggio 2011)
|
145.Strategie
Evolution (ES, vedi Rechenberg, 1994) si evolvono individui per mezzo di
mutazione e ricombinazione intermedio o discreta. Algoritmi ES sono
progettati particolarmente per risolvere i problemi nel dominio reale
valore.Usano autoadattamento per regolare i parametri di controllo della
ricerca. De-randomizzazione di auto-adattamento ha portato alla
contemporanea covarianza Matrix Adaptation Strategy Evolution ( CMA-ES ).
146.Programmazione
evolutiva (EP) coinvolge popolazioni di soluzioni con in primo luogo la
mutazione e la selezione e rappresentazioni arbitrarie. Usano
l'auto-adattamento per regolare i parametri, e possono includere altre
operazioni di variazione come combinare informazioni provenienti da più
genitori.
147.Programmazione di espressione genica (GEP) utilizza
anche le popolazioni di programmi per computer. Questi programmi
informatici complessi sono codificati in semplici cromosomi lineari di
lunghezza fissa, che vengono poi espresse come alberi di
espressione. Alberi di espressione o programmi informatici evolvono perché
i cromosomi subiscono mutazione e ricombinazione in un modo simile al canonico
GA. Ma grazie alla speciale organizzazione dei cromosomi GEP, queste
modifiche genetiche risultano sempre i programmi informatici validi. [ 33 ]
148.Programmazione
genetica (GP) è una tecnica correlata popolare da John Koza in cui i programmi per computer,
piuttosto che parametri di funzione, sono ottimizzati. Programmazione
genetica utilizza spesso basati su alberi internestrutture dati per rappresentare
i programmi per computer per l'adattamento al posto delle lista strutture tipiche
degli algoritmi genetici.
149.Raggruppamento algoritmo genetico (GGA) è
un'evoluzione del GA in cui l'attenzione si sposta dalle singole voci, come in
Classical Gas, a gruppi o sottoinsieme di elementi. [ 34 ] L'idea alla base
di questa evoluzione GA proposto da Emanuel Falkenauer è che risolvere alcuni problemi
complessi, alias di clustering o partizionamento problemi
in cui un insieme di elementi deve essere diviso in gruppo disgiunta di
elementi in modo ottimale, sarebbe meglio essere raggiunti facendo
caratteristiche dei gruppi di voci equivalenti ai geni. Questo tipo di
problemi includono bin imballaggio , il bilanciamento di linea, il clustering rispetto ad una
misura di distanza, pari pali, ecc, in cui il gas classico dimostrato di scarso
rendimento. Fare geni equivalente ai gruppi implica cromosomi che sono in
generale di lunghezza variabile, e operatori genetici speciali che manipolano
interi gruppi di articoli. Per bin imballaggio, in particolare, un GGA
ibridato con il criterio della posizione dominante di Martello e Toth, è
probabilmente la tecnica migliore per data.
150.Algoritmi evolutivi interattive sono algoritmi evolutivi che
utilizzano valutazione umana. Di solito sono applicati a domini in cui è
difficile progettare una funzione di fitness di calcolo, per esempio, in
evoluzione immagini, musica, disegni artistici e forme per adattarsi preferenza
estetica degli utenti.
153.Ottimizzazione colonia di formiche (ACO) utilizza molte formiche (o
agenti) per attraversare lo spazio delle soluzioni e trovare aree localmente produttive. Mentre
di solito inferiore agli algoritmi genetici e altre forme di ricerca locale, è
in grado di produrre risultati in problemi in cui nessuna prospettiva globale o
up-to-date può essere ottenuta, e quindi gli altri metodi non può essere applicato. [ citazione necessaria ]
154.Ottimizzazione sciame di particelle (PSO) è un metodo
di calcolo per l'ottimizzazione multi-parametro che utilizza anche l'approccio
basato sulla popolazione. Una popolazione (sciame) di soluzioni candidate
(particelle) si muove nello spazio di ricerca, e il movimento delle particelle
è influenzato sia dalla propria posizione più noto e posizione più noto globale
di sciame. Come algoritmi genetici, il metodo PSO dipende condivisione
delle informazioni tra i membri della popolazione. In alcuni problemi il
PSO è spesso più computazionalmente efficiente del gas, soprattutto in problemi
non vincolati con variabili continue. [ 35 ]
155.Gocce
d'acqua intelligenti o l'algoritmo IWD [ 36 ] è un algoritmo di
ottimizzazione ispirati alla natura ispirata da gocce d'acqua naturali che
cambiano il loro ambiente per trovare il percorso ottimale o ottimale vicino
alla loro destinazione. La memoria è il letto del fiume e ciò che viene
modificato dalle gocce d'acqua è la quantità di terreno sul letto del fiume.
158.Ricerca Harmony (HS) è un algoritmo
imitando il comportamento dei musicisti nel processo di improvvisazione.
159.Algoritmo memetica (MA), spesso
chiamato algoritmo genetico ibrido tra gli altri, è un metodo
basato sulla popolazione, in cui sono anche soggette a fasi di miglioramento
locali soluzioni. L'idea di algoritmi memetici viene da memi, che a differenza di geni, può
adattarsi. In alcune aree problematiche che sono indicati per essere più
efficiente di algoritmi evolutivi tradizionali.
160.Algoritmi batteriologici (BA) ispira ecologia
evolutiva e, più in particolare, l'adattamento batteriologica. Ecologia
evolutiva è lo studio degli organismi viventi nel contesto del loro ambiente,
con l'obiettivo di scoprire come si adattano. Il suo concetto di base è
che in un ambiente eterogeneo, non è possibile trovare un individuo che si
adatta tutto l'ambiente. Quindi, è necessario ragionare a livello di
popolazione. E 'anche BAs creduto potesse essere applicato con successo a
problemi complessi di posizionamento (antenne per telefoni cellulari,
pianificazione urbana, e così via) o di data mining. [ 37 ]
161.Algoritmo
culturale (CA) comprende la componente popolazione quasi identica a quella
dell'algoritmo genetico e, in aggiunta, un componente di conoscenza chiamato
spazio credenza.
163.Adattamento
gaussiana (normale o naturale adattamento, abbreviato NA per evitare confusione
con GA) è destinato per la massimizzazione del rendimento produzione di sistemi
di elaborazione dei segnali. Può essere utilizzato anche per
l'ottimizzazione parametrica ordinaria. Essa si basa su un certo teorema
valido per tutte le regioni di accettabilità e di tutte le distribuzioni di
Gauss. L'efficienza di NA si basa sulla teoria dell'informazione e un
certo teorema di efficienza. La sua efficacia è definita come informazioni
diviso per il lavoro necessario per ottenere le informazioni. [ 39 ] Perché NA
massimizza il fitness piuttosto che l'idoneità dei singoli media, il paesaggio
viene livellato in modo tale che le valli tra i picchi possono
scomparire. Quindi ha una certa "ambizione" per evitare picchi
locali nel paesaggio fitness. NA è anche bravo a arrampicata creste
affilate per adattamento della matrice momento, perché NA può massimizzare il
disturbo ( informazioni
media ) della gaussiana contemporaneamente mantenendo la forma fisica media costante.
166.Ricottura
simulata (SA) è una tecnica di ottimizzazione globale correlato che attraversa
lo spazio di ricerca testando mutazioni casuali su una soluzione
individuale. Una mutazione che aumenta la fitness è sempre
accettata. Una mutazione che riduce fitness è accettata probabilisticamente
basato sulla differenza di fitness e un parametro temperatura
decrescente. In SA gergo, si parla di cercare la più bassa energia invece
del massimo fitness. SA può essere utilizzato anche all'interno di un
algoritmo standard GA iniziando con un tasso relativamente elevato di mutazione
e decrescente nel tempo lungo un determinato programma.
167.Ricerca Tabu (TS) è simile a
ricottura simulata dal fatto che sia attraversare lo spazio soluzione testando
mutazioni di una soluzione individuale. Mentre annealing simulato genera
una sola soluzione mutato, tabu search genera molte soluzioni mutato e si
sposta verso la soluzione con la più bassa energia di quelli generati. Per
evitare bicicletta e favorire una maggiore movimento attraverso lo spazio delle
soluzioni, una lista tabu viene mantenuta di soluzioni parziali o
complete. E 'vietato passare a una soluzione che contiene elementi della
lista tabu, che viene aggiornato come la soluzione attraversa lo spazio delle
soluzioni.
168.Ottimizzazione
estremale (EO) a differenza del gas, che funzionano con una popolazione di
soluzioni candidate, EO si evolve una soluzione unica e rende locali, modifiche ai componenti peggiori. Ciò richiede che una
rappresentanza adeguata selezionata che permette di singoli componenti della
soluzione deve essere assegnato un provvedimento di qualità
("fitness"). Il principio di base dietro questo algoritmo è
quello di emergente miglioramento attraverso rimuovere
selettivamente componenti di bassa qualità e la loro sostituzione con un
componente selezionato in modo casuale. Questo è decisamente in contrasto
con un GA che seleziona buone soluzioni nel tentativo di rendere le soluzioni
migliori.
170.Il metodo
di cross-entropia (CE) genera soluzioni candidati mediante
una distribuzione di probabilità parametri. I parametri vengono aggiornati
mediante minimizzazione cross-entropia, in modo da generare campioni migliori
nella successiva iterazione.
171.Reattiva ottimizzazione di ricerca (RSO) sostiene l'integrazione di
tecniche di apprendimento automatico sub-simbolici in euristiche di ricerca per
risolvere problemi di ottimizzazione complessi. La parola accenni reattive
ad una pronta risposta agli eventi durante la ricerca attraverso un ciclo di
feedback on-line interno per l'auto-tuning dei parametri
critici. Metodologie di interesse per Reactive Search includono machine
learning e statistica, in particolare l'apprendimento per rinforzo,
apprendimento attivo o query, reti neurali e meta-euristiche.
172.Vedi
anche [ modifica ]
176.Metaeuristiche
177.Riferimenti [ modifica ]
180.Saltate^ Eiben, AE et al
(1994). "Gli algoritmi genetici con ricombinazione
multi-genitore". PPSN III: Atti della Conferenza Internazionale sulla
Evolutionary Computation. La terza conferenza sul Problem Solving Parallel
dalla Natura:. 78-87 ISBN 3-540-58484-6 .
181.Saltate^ Ting, Chuan-Kang
(2005). "Sul medio Convergenza Time of Multi-genitore Algoritmi
Genetici senza selezione". Advances in
Artificial Life:. 403-412 ISBN
978-3-540-28848-0 .
182.Saltate^ Akbari, Ziarati
(2010). "Un algoritmo evolutivo multilivello per ottimizzare le
funzioni numeriche" IJIEC 2 (2011): 419-430 [1]
184.Saltate^ Taherdangkoo,
Mohammad, Paziresh, Mahsa, Yazdi, Mehran, Bagheri, Mohammad Hadi (19 novembre
2012). "Un algoritmo efficiente per l'ottimizzazione funzione: algoritmo di cellule
staminali modificato". Central European
Journal of Engineering 3 (1):
36-50. doi : 10.2478/s13531-012-0047-8 .
185.Saltate^ Wolpert,
DH, Macready, WG, 1995. Nessun Teoremi Lunch gratuiti per
l'ottimizzazione. Santa Fe Institute, SFI-TR-05-010, Santa Fe.
186.Saltate^ Goldberg, David E.
(1991). "La teoria di alfabeti virtuali" . Problem
Solving Parallel dalla Natura, Lecture Notes in Computer Science 496 :
13-22. DOI : 10.1007/BFb0029726 . Estratto 2 luglio 2013 .
187.Saltate^ Janikow,
CZ, Z. Michalewicz (1991). «Un confronto sperimentale di binari e
Floating Point rappresentanze negli algoritmi genetici" . Atti
della Quarta Conferenza Internazionale sulla Algoritmi Genetici :
31-36 .Estratto 2 luglio 2013 .
188.Saltate^ Srinivas. M e Patnaik. L
"probabilità adattivi di incrocio e di mutazione in algoritmi genetici,"
IEEE Transactions on di sistema, l'uomo e Cibernetica, Vol.24, n.4, pp.656-667,
1994.
189.Saltate^ ZHANG. J, Chung. H e Lo. W.
L, "Clustering-Based Adaptive Crossover e Mutazione probabilità di
algoritmi genetici", IEEE Transactions on Evolutionary Computation vol.11,
n.3, pp 326-335, 2007.
191.Saltate^ DE Goldberg, B. Korb, e K.
Deb. "algoritmi genetici Messy: motivazione, analisi e primi
risultati". Sistemi Complessi, 5 (3) :493-530, ottobre 1989.
193.Saltate^ G. Harik. Imparare linkage per risolvere
efficacemente i problemi di difficoltà limitata utilizzando algoritmi
genetici. Tesi di dottorato, Dipartimento di Informatica, Università del
Michigan, Ann Arbour, 1997
194.Saltate^ Gross, Bill. "Un sistema di energia solare che segue il
sole" . TED .Estratto
20 Novembre 2013 .
195.Saltate^ Barricelli,
Nils Aall (1954). . "Esempi numerici di Processi di Evoluzione"Methodos :
45-68.
196.Saltate^ Barricelli,
Nils Aall (1957). . "processi evolutivi Symbiogenetic realizzati con
metodi artificiali" Methodos : 143-182.
197.Saltate^ Fraser,
Alex (1957). "Simulazione di sistemi genetici dai computer
digitali automatici. I. Introduzione". Aust. J.
Biol. Sci. 10 : 484-491.
198.Saltate^ Fraser,
Alex ;. Donald Burnell (1970) Computer Modelli in Genetics . New
York:. McGraw-Hill ISBN 0-07-021904-4 .
199.Saltate^ Crosby, Jack L.
(1973). simulazione al computer in Genetics . London:
John Wiley & Sons. ISBN 0-471-18880-8 .
200.Saltate^ 02.27.96 - UC Berkeley Hans Bremermann,
professore emerito e pioniere nella biologia matematica, è morto a 69
201.Saltate^ Fogel, David B. (a
cura di) (1998). calcolo evolutivo: la documentazione fossile . New
York:. IEEE Press ISBN 0-7803-3481-7 .
202.Saltate^ Barricelli, Nils
Aall (1963). "Sperimentazione numerica delle teorie evolutive Parte
II test preliminari di prestazioni, Symbiogenesis e la vita
terrestre..." Acta Biotheoretica (16):
99-126.
203.Saltate^ Rechenberg, Ingo
(1973). Evolutionsstrategie . Stoccarda:. Holzmann-Froboog ISBN 3-7728-0373-3 .
204.Saltate^ Schwefel,
Hans-Paul (1974). Numerische Optimierung von Computer-Modellen (tesi di
dottorato) .
205.Saltate^ Schwefel,
Hans-Paul (1977). Numerische Optimierung von Computor-Modellen mittels
der Evolutionsstrategie: mit einer vergleichenden Einführung in die
Hill-Climbing-und Zufallsstrategie . Basilea; Stoccarda:
Birkhäuser. ISBN 3-7643-0876-1 .
206.Saltate^ Schwefel,
Hans-Paul (1981). ottimizzazione numerica di modelli informatici
(Traduzione del 1977 Numerische Optimierung von Computor-Modellen mittels der
Evolutionsstrategie Chichester, New York:.. WileyISBN 0-471-09988-0 .
207.Saltate^ Markoff, John (29
agosto 1990). "Qual è la risposta migliore? E
'sopravvivenza del più adatto" . New York Times . Estratto
2009-08-09 .
208.Saltate^ Ruggiero, Murray
A.. (2009-08-01) Quindici anni e il conteggio .Futuresmag.com. Estratto
su 2013/08/07.
209.Saltate^ Evolver: Ottimizzazione sofisticati per Spreadsheets . Palisade.Estratto
su 2013/08/07.
210.Saltate^ Ferreira, C. "Gene Expression programmazione: un
nuovo algoritmo adattivo per risolvere i problemi" . Sistemi
Complessi, vol. 13, numero 2: 87-129.
211.Saltate^ Falkenauer, Emanuel (1997). algoritmi genetici e
Raggruppamento problemi . Chichester,
Inghilterra: John Wiley & Sons Ltd. ISBN 978-0-471-97150-4 .
212.Saltate^ Rania Hassan,
Babak Cohanim, Olivier de Weck, Gerhard Vente r (2005)Un confronto di ottimizzazione sciame di
particelle e l'algoritmo genetico
213.Vai up^ Hamed
Shah-Hosseini, L'acqua cade intelligente algoritmo: un algoritmo ispirato alla
natura basata sciame-ottimizzazione, International Journal of Bio-Inspired
calcolo (IJBIC), vol. 1, n. ½ 2009, [2][ collegamento guasto ]
214.Saltate^ Baudry, Benoit,
Franck Fleurey, Jean-Marc
Jézéquel , e Yves Le Traon (marzo / aprile 2005). "Case
Automatic Test Optimization: un algoritmo batteriologica" .
(PDF) IEEE Software (IEEE Computer Society) 22 (2
):. 76-82 doi : 10.1109/MS.2005.30 . Estratto
2009-08-09 .
215.Saltate^ Civicioglu, P.
(2012). . "Transforming geocentrica coordinate cartesiane a
coordinate geodetiche mediante differenziale algoritmo di ricerca"Computers
& Geosciences 46 : 229-247. DOI :10.1016/j.cageo.2011.12.011 .
216.Saltate^ Kjellström, G.
(Dicembre 1991). "Sulla efficacia della gaussiana
adattamento". Journal of
Optimization Theory and Applications 71 (3):.
589-597 doi : 10.1007/BF00941405 .
217.Bibliografia [ modifica ]
218.. Banzhaf, Wolfgang,
Nordin, Pietro, Keller, Robert, Francone, Frank (1998) Programmazione
Genetica - Introduzione . San Francisco, CA.
Morgan Kaufmann ISBN 978-1558605107 .
219.Bies,
Robert R, Muldoon, Matteo C, Pollock, Bruce G; Manuck, Steven, Smith, Gwenn e
Sale, Mark E (2006). "A Genetic Algorithm-Based, Hybrid Machine Learning Approach alla
selezione del modello". Journal of farmacocinetica e
farmacodinamica (Paesi Bassi: Springer): 196-221.
220.Cha,
Sung-Hyuk, Tappert, Charles C (2009). "un algoritmo genetico per la costruzione di
binari compatti Decision Trees" . Journal of Pattern Recognition
Research 4 (1): 1-13.
221.Fraser, Alex S.
(1957). ". Simulazione di sistemi genetici da Automatic Computer
Digital I. Introduzione." Australian Journal of
Biological Sciences 10 :
484-491.
222.Goldberg, David
(1989). Algoritmi genetici in ricerca, ottimizzazione e Machine
Learning . Reading, MA:.
Addison-Wesley Professional ISBN 978-0201157673 .
223.Goldberg, David
(2002). The Design of Innovation: Lezioni da e per la competente
Algoritmi Genetici . Norwell, MA:. Kluwer
Academic Publishers ISBN 978-1402070983 .
224.Fogel, David. Evolutionary
Computation: Verso una nuova filosofia di Machine Intelligence (3a
ed.). Piscataway, NJ:. IEEE Press ISBN 978-0471669517 .
225.Holland, John
(1992). Adattamento in naturale e sistemi artificiali . Cambridge,
MA:. MIT Press, ISBN 978-0262581110 .
226.Koza, John (1992). Programmazione
Genetica: dalla programmazione dei computer per mezzo della selezione naturale . Cambridge,
MA:. MIT Press, ISBN 978-0262111706 .
227.Michalewicz, Zbigniew
(1996). Algoritmi genetici + Strutture Dati = Programmi Evolution . Springer-Verlag. ISBN 978-3540606765 .
228.Mitchell,
Melanie (1996). An Introduction to Genetic Algorithms . Cambridge,
MA:. MIT Press ISBN 9780585030944 .
229.Poli,
R., Langdon, WB, McPhee, NF (2008). A Field Guide to Programmazione Genetica . Lulu.com,
disponibile gratuitamente da internet. ISBN 978-1-4092-0073-4 .
230.Rechenberg,
Ingo (1994): Evolutionsstrategie '94, Stoccarda: Fromman-Holzboog.
231.Schmitt,
Lothar M; Nehaniv, Chrystopher L; Fujii, Robert H (1998), l'analisi
lineare degli algoritmi genetici , Theoretical Computer Science 208:
111-148
232.Schmitt, Lothar M
(2001), Teoria di algoritmi genetici , Theoretical Computer
Science 259: 1-61
233.Schmitt, Lothar M
(2004), Teoria della Algoritmi Genetici II: modelli per operatori
genetici oltre la rappresentazione di stringa-tensore delle popolazioni e la
convergenza verso optima globale per la funzione di fitness arbitrario con
scala , Theoretical Computer Science 310: 181-231
234.Schwefel, Hans-Paul
(1974): Numerische Optimierung von Computer-Modellen (tesi di dottorato). Ristampato
da Birkhäuser (1977).
235.Vose, Michael
(1999). The Simple Genetic Algorithm: Fondamenti e teoria . Cambridge,
MA:. MIT Press, ISBN 978-0262220583 .
236.Whitley, Darrell
(1994). "Un algoritmo esercitazione genetica". Statistica
e informatica 4 (2):. 65-85 doi : 10.1007/BF00175354 .
237.Hingston,
Filippo, Barone, Luigi, Michalewicz, Zbigniew (2008). Design by
Evolution: Advances in Evolutionary design . Springer. ISBN 978-3540741091 .
238.Eiben,
Agoston,. Smith, James (2003), Introduzione alla Evolutionary Computing . Springer. ISBN 978-3540401841 .
239.Collegamenti
esterni [ modifica ]
243.Algoritmi Genetici Computer "evolversi"
in modi che ricordano la selezione naturale in grado di risolvere problemi
complessi, anche i loro creatori non comprendere appieno Un'ottima
introduzione alla GA da John Holland e con una domanda di dilemma del
prigioniero
244.Un tutorial online interattivo GA per un lettore
di praticare o imparare come funziona un GA : Imparare passo
dopo passo o guardare convergenza globale in batch, cambiare la dimensione
della popolazione, i tassi di crossover / limiti, tassi di mutazione / limiti e
meccanismi di selezione e aggiungere vincoli.
245.A Genetic Algorithm Tutorial Darrell Whitley
Informatica Dipartimento di Colorado State University Un'esercitazione
eccellente con un sacco di teoria
248.a vita
terrestre..." Acta Biotheoretica (16): 99-126.
249.Saltate^ Rechenberg, Ingo (1973). Evolutionsstrategie . Stoccarda:.
Holzmann-Froboog ISBN 3-7728-0373-3 .
250.Saltate^ Schwefel, Hans-Paul (1974). Numerische
Optimierung von Computer-Modellen (tesi di dottorato) .
251.Saltate^ Schwefel,
Hans-Paul (1977). Numerische Optimierung von Computor-Modellen mittels
der Evolutionsstrategie: mit einer vergleichenden Einführung in die
Hill-Climbing-und Zufallsstrategie . Basilea; Stoccarda:
Birkhäuser. ISBN 3-7643-0876-1 .
252.Saltate^ Schwefel, Hans-Paul (1981). ottimizzazione
numerica di modelli informatici (Traduzione del 1977 Numerische Optimierung von
Computor-Modellen mittels der Evolutionsstrategie Chichester, New
York:.. WileyISBN 0-471-09988-0 .
253.Saltate^ Markoff, John (29 agosto
1990). "Qual è la risposta
migliore? E 'sopravvivenza del più
adatto" . New York Times . Estratto
2009-08-09 .
254.Saltate^ Ruggiero, Murray
A.. (2009-08-01) Quindici anni e il conteggio .Futuresmag.com. Estratto
su 2013/08/07.
255.Saltate^ Evolver: Ottimizzazione sofisticati per Spreadsheets . Palisade.Estratto
su 2013/08/07.
256.Saltate^ Ferreira, C. "Gene Expression
programmazione: un nuovo algoritmo adattivo per risolvere i problemi" . Sistemi
Complessi, vol. 13, numero 2: 87-129.
257.Saltate^ Falkenauer, Emanuel (1997). algoritmi
genetici e Raggruppamento problemi . Chichester,
Inghilterra: John Wiley & Sons Ltd. ISBN 978-0-471-97150-4 .
258.Saltate^ Rania Hassan, Babak Cohanim, Olivier
de Weck, Gerhard Vente r (2005)Un confronto di
ottimizzazione sciame di particelle e l'algoritmo genetico
259.Vai up^ Hamed Shah-Hosseini, L'acqua cade
intelligente algoritmo: un algoritmo ispirato alla natura basata
sciame-ottimizzazione, International Journal of Bio-Inspired calcolo (IJBIC),
vol. 1, n. ½ 2009, [2][ collegamento guasto ]
260.Saltate^ Baudry, Benoit, Franck
Fleurey, Jean-Marc Jézéquel , e Yves Le Traon (marzo / aprile
2005). "Case Automatic Test Optimization: un algoritmo
batteriologica" . (PDF) IEEE Software (IEEE
Computer Society) 22 (2 ):. 76-82 doi : 10.1109/MS.2005.30 . Estratto
2009-08-09 .
261.Saltate^ Civicioglu, P. (2012). .
"Transforming geocentrica coordinate cartesiane a coordinate geodetiche
mediante differenziale algoritmo di ricerca"Computers &
Geosciences 46 : 229-247. DOI :10.1016/j.cageo.2011.12.011 .
262.Saltate^ Kjellström, G. (Dicembre
1991). "Sulla efficacia della gaussiana adattamento". Journal
of Optimization Theory and Applications 71 (3):.
589-597 doi : 10.1007/BF00941405 .
·
. Banzhaf, Wolfgang, Nordin, Pietro, Keller, Robert, Francone, Frank
(1998) Programmazione Genetica - Introduzione . San
Francisco, CA. Morgan Kaufmann ISBN 978-1558605107 .
·
Bies, Robert R, Muldoon, Matteo
C, Pollock, Bruce G; Manuck, Steven, Smith, Gwenn e Sale, Mark E (2006). "A Genetic Algorithm-Based,
Hybrid Machine Learning Approach alla selezione del modello". Journal
of farmacocinetica e farmacodinamica (Paesi Bassi: Springer): 196-221.
·
Cha, Sung-Hyuk, Tappert, Charles
C (2009). "un algoritmo genetico
per la costruzione di binari compatti Decision Trees" . Journal
of Pattern Recognition Research 4 (1):
1-13.
·
Fraser, Alex S. (1957). ". Simulazione di sistemi genetici da
Automatic Computer Digital I. Introduzione." Australian
Journal of Biological Sciences 10 :
484-491.
·
Goldberg, David (1989). Algoritmi genetici in ricerca,
ottimizzazione e Machine Learning . Reading,
MA:. Addison-Wesley Professional ISBN 978-0201157673 .
·
Goldberg, David (2002). The Design of Innovation: Lezioni da e per
la competente Algoritmi Genetici . Norwell,
MA:. Kluwer Academic Publishers ISBN 978-1402070983 .
·
Fogel, David. Evolutionary Computation: Verso una nuova filosofia
di Machine Intelligence (3a ed.). Piscataway,
NJ:. IEEE Press ISBN 978-0471669517 .
·
Holland, John (1992). Adattamento in naturale e sistemi artificiali . Cambridge,
MA:. MIT Press, ISBN 978-0262581110 .
·
Koza, John (1992). Programmazione Genetica: dalla programmazione
dei computer per mezzo della selezione naturale . Cambridge,
MA:. MIT Press, ISBN 978-0262111706 .
·
Michalewicz, Zbigniew (1996). Algoritmi genetici + Strutture Dati =
Programmi Evolution . Springer-Verlag. ISBN 978-3540606765 .
·
Mitchell, Melanie (1996). An
Introduction to Genetic Algorithms . Cambridge, MA:. MIT
Press ISBN 9780585030944 .
·
Poli, R., Langdon, WB, McPhee, NF
(2008). A Field Guide to Programmazione Genetica . Lulu.com, disponibile
gratuitamente da internet. ISBN 978-1-4092-0073-4 .
·
Rechenberg, Ingo (1994):
Evolutionsstrategie '94, Stoccarda: Fromman-Holzboog.
·
Schmitt, Lothar M; Nehaniv,
Chrystopher L; Fujii, Robert H (1998), l'analisi lineare degli
algoritmi genetici , Theoretical Computer Science 208: 111-148
·
Schmitt, Lothar M (2001), Teoria di algoritmi genetici ,
Theoretical Computer Science 259: 1-61
·
Schmitt, Lothar M (2004), Teoria della Algoritmi Genetici II:
modelli per operatori genetici oltre la rappresentazione di stringa-tensore
delle popolazioni e la convergenza verso optima globale per la funzione di
fitness arbitrario con scala , Theoretical Computer Science 310:
181-231
·
Schwefel, Hans-Paul (1974): Numerische Optimierung von Computer-Modellen
(tesi di dottorato). Ristampato da
Birkhäuser (1977).
·
Vose, Michael (1999). The Simple Genetic Algorithm: Fondamenti e
teoria . Cambridge, MA:. MIT Press, ISBN 978-0262220583 .
·
Whitley, Darrell (1994). "Un algoritmo esercitazione
genetica". Statistica e informatica 4 (2):.
65-85 doi : 10.1007/BF00175354 .
·
Hingston, Filippo, Barone, Luigi,
Michalewicz, Zbigniew (2008). Design by Evolution: Advances in
Evolutionary design . Springer. ISBN 978-3540741091 .
·
Eiben, Agoston,. Smith, James
(2003), Introduzione alla Evolutionary Computing . Springer. ISBN 978-3540401841 .
·
Algoritmi Genetici Computer
"evolversi" in modi che ricordano la selezione naturale in grado di
risolvere problemi complessi, anche i loro creatori non comprendere appieno Un'ottima
introduzione alla GA da John Holland e con una domanda di dilemma del
prigioniero
·
Un tutorial online interattivo GA
per un lettore di praticare o imparare come funziona un GA : Imparare passo
dopo passo o guardare convergenza globale in batch, cambiare la dimensione
della popolazione, i tassi di crossover / limiti, tassi di mutazione / limiti e
meccanismi di selezione e aggiungere vincoli.
·
A Genetic Algorithm Tutorial Darrell
Whitley Informatica Dipartimento di Colorado State University Un'esercitazione
eccellente con un sacco di teoria