Quali sono alcune applicazioni del mondo reale per algoritmi genetici?


13

Quali sono alcuni problemi del mondo reale che sono stati risolti usando un algoritmo genetico? Qual è il problema? Qual è il fitness test utilizzato per risolvere questo problema?


1
Questo dovrebbe essere wiki della comunità (supponendo che sia in argomento).
Shane,

4
Non sono sicuro che gli algoritmi genetici rientrino nell'ambito. Dovremmo discuterne qui: meta.cstheory.stackexchange.com/questions/73/…
Suresh Venkat

7
Questo è fuori tema.
Marcos Villagra,

5
Potrebbe essere stata una domanda interessante: ci sono scenari che ammettono garanzie dimostrabili per GA.
Suresh Venkat,

2
Ma non si tratta di un'applicazione della teoria. Si tratta di un'applicazione della pratica.
Jeffε,

Risposte:


11

L'ottimizzatore nei database relazionali. Esempi sono PostgreSQL e H2 ; altri database molto probabilmente usano anche un algoritmo genetico. Il problema è: selezionare il miglior piano di query (quello con il minor costo stimato) è NP-difficile. Il fitness test è il costo stimato.


8

L' algoritmo genetico di Lamarckian è utilizzato in chemioinformatica per lo screening di potenziali nuovi composti farmacologici che possono legarsi con un particolare recettore.

Il problema computazionale è quello di cercare in un database chimico candidati che possano orientarsi correttamente (scrivendo i possibili orientamenti della molecola contenente il recettore) e di combinarlo con una ricerca conformazionale (cioè, quella che considera le possibili torsioni rotanti della molecola , che può influenzare fortemente la reazione ).

In precedenza, era possibile eseguire una ricerca di orientamento o una ricerca di conformazione, ma non entrambe. LGA sfrutta la velocità del computer e combina la ricerca globale di un algoritmo genetico con una ricerca locale.


6

La NASA ha creato un algoritmo genetico per la progettazione di antenne .

Il fitness test è il seguente:

La funzione di fitness utilizzata per valutare le antenne è una funzione del rapporto di onda stazionaria di tensione (VSWR) e guadagna valori sulle frequenze di trasmissione e ricezione. VSWR è un modo per quantificare l'interferenza delle onde riflesse e quindi la quantità di disadattamento dell'impedenza alla giunzione. VSWR è il rapporto tra la tensione più alta e la tensione più bassa nell'inviluppo del segnale lungo una linea di trasmissione.



6

Ho usato GA per risolvere problemi di pianificazione nella produzione e nell'istruzione. La funzione di fitness nel primo caso era la quantità di articoli richiesti fabbricati in un determinato intervallo di tempo, mentre nel secondo caso il fitness si basava su programmi penali con conflitti.

Se sei interessato alle applicazioni, ecco un link a 20K + articoli su citeseerx



4

Il design dell'antenna è già stato menzionato ed è un dominio estremamente ricco. (È, molto direttamente, ciò che ha iniziato il mio movimento dall'ingegneria elettrica all'informatica (alla fine degli anni '90) e più specificamente al calcolo bio-ispirato e all'intelligenza artificiale (negli ultimi cinque anni circa).)

Allo stesso modo, aggiungerò l' ottimizzazione dell'array di antenne , in particolare per l'ottimizzazione dell'array a fasi, che è tutto il mal di testa del design dell'antenna e altro ancora. Ci sono opportunità nell'intero campo della progettazione di dispositivi elettromagnetici, in realtà: antenne, array di antenne, filtri a microonde, reticoli ottici, progettazione di dispositivi metamateriali, tutto al di sopra della mia testa. Un sondaggio datato è l' ottimizzazione elettromagnetica degli algoritmi genetici , e un sondaggio più recente è gli algoritmi genetici in elettromagnetismo . (Dovrei davvero comprare quel secondo.

Ho visto molti buoni articoli anche sulla progettazione di circuiti non elettromagnetici: GA che escono con op-amp competitivi o altri progetti di circuiti integrati, GA che "imparano" a trarre vantaggio dalle imperfezioni analogiche negli FPGA per implementare funzioni analogiche come orologi, ecc. Anche qualcosa di semplice come il design discreto e discreto del filtro degli elementi può essere un obiettivo per i GA: ne ho visto uno che tiene conto di fattori q, tolleranze, valori discreti e modelli parassiti di saldatura per ottenere buoni filtri fabbricabili dal parti che hai a portata di mano.

Questi spesso implicano alcune rappresentazioni circuitali (per me, comunque) nuove per far sì che gli operatori genetici si adattino al paradigma, così come i cromosomi di dimensioni variabili.


Sì, è stato dimostrato che l'esempio di progettazione del circuito riscopre o addirittura supera i progetti brevettati. ecco un primo documento lungo questa linea, ricerche molto più tardi. Progetto di un amplificatore operazionale ad alto guadagno e altri circuiti secondo la programmazione genetica di Koza et al 1997
vzn,

3

recentemente è stata posta una domanda sull'utilizzo di GA per evolvere i progetti di pale di turbine eoliche utilizzando simulazioni fluidodinamiche della potenza fisica generata come funzione di fitness. [1]

Questo video mostra l'uso di un algoritmo genetico per sviluppare pale di turbine eoliche VAWT. Una delle lame risultanti è piuttosto diversa e sembra simulare bene. Il software di riproduzione è stato scritto in Perl, il software di visualizzazione Java e il software CFD era OpenFoam. Più di 672 ore di CPU sono andate alla realizzazione di questo video. Nota: da allora ho scoperto di aver usato la viscosità sbagliata per l'aria in questo esperimento, quindi i risultati non sono validi per l'uso sulla terra. (Forse Giove.)

[1] "Evoluzione delle pale delle turbine eoliche" su YouTube di "sjh7132". citato da / dalla domanda TCS.se: in che misura è possibile utilizzare algoritmi genetici per rendere più efficienti le pale delle turbine eoliche?


3

ci sono alcune ricerche sull'uso di GA per la classificazione del vino. classifica accuratamente la varietà di vino e il luogo di produzione ("denominazione di origine"). [1] questo è un sottoinsieme dell'uso di GA nei sistemi agricoli di cui esistono molte applicazioni. [2]

[1] Algoritmi di selezione delle caratteristiche che utilizzano i cromatogrammi di vino cileni come esempi di NHBeltran et al

[2] Stato dell'arte negli algoritmi genetici per sistemi agricoli di Bolboaca et al


1

ci sono molti documenti sull'uso di GA per il controllo del volo nel campo aerospaziale. molti di questi sono pubblicati o ricercabili da IEEE explorer . la funzione di fitness generalmente misura quanto bene / efficacemente l'algoritmo controlla il volo.

[1] Progettazione e ottimizzazione del sistema di controllo di volo con un algoritmo genetico di Fantinutto et al

[2] Applicazione di algoritmi genetici al controllo di volo ipersonico. Austin, Jacobs.

[3] Implementazione multi-core del sistema di controllo di superficie di volo F-16 utilizzando l'algoritmo di controllo adattivo basato sull'algoritmo genetico, Xiaoru Wang

[4] Controllo della logica fuzzy basato su algoritmo genetico al controllo di volo integrato per veicoli ipersonici. di Wang Jian


1

un uso notevole, persino straordinario o in cambio di paradigma di GA, molto citato in successive indagini, è stato lanciato da Koza per risolvere un "problema" del videogioco - vale a dire Pac Man per una prova di principio, ma il concetto può essere probabilmente applicato a quasi qualsiasi videogioco, e i risultati sono decisamente lontani dall'essere banali o "giocattolo".

cioè, ha sviluppato algoritmi che implementano il comportamento reale per vincere giocando per lunghi periodi di tempo. i risultati sono a livello di prestazioni dei giocatori umani dilettanti o persino avanzati . una funzione di fitness può essere punti segnati dall'algoritmo o durata del tempo giocato (il successivo presumibilmente evolverà algoritmi che sopravvivono senza punti punteggio, come un classico caso di "caccia" di astronavi nel gioco Asteroids). il comportamento è implementato con "primitivi" (ad esempio, rilevando mostri / atti girando ecc.) e alberi che rappresentano le combinazioni di strategie primitive.

[1] Evolve diverse sig.re Pac-Man che interpretano agenti usando la programmazione genetica di Atif M. Alhejali e Simon M. Lucas

[2] Imparare a giocare a Pac-Man: un approccio evolutivo e basato sulle regole di Gallagher e Ryan

[3] Imparare a giocare usando politiche basate su regole a bassa complessità: illustrazioni attraverso la signora Pac-Man di István Szita András L ~ orincz


Per essere molto esigente, farei una distinzione tra programmazione genetica e algoritmi genetici. Certamente sono strettamente correlati, però.
Novak,

@novak ha concordato e grazie per aver messo in evidenza la distinzione che era sfocata qui. approssimativamente, GP è l'uso di GA per scoprire algoritmi, vero? sì, il comportamento trovato / costruito è sostanzialmente equivalente a un algoritmo .. e ovviamente la tecnica è probabilmente ampiamente applicabile al di fuori dei videogiochi anche se finora non è a conoscenza di molti esempi .. il suo uso molto avanzato .. (anche se mi viene in mente un altro esempio di koza che usa ancora gli alberi in modo intelligente! è necessario pubblicarlo).
vzn,

1

La conferenza annuale GECCO (praticamente la sede principale della ricerca computazionale evolutiva) ha una traccia di "Real World Applications".

Vedi anche questa recente presentazione:

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.