Discussione sull’articolo "Algoritmi di ottimizzazione della popolazione: Ottimizzazione del Foraggiamento Batterico (Bacterial Foraging Optimization - BFO)"
Sarebbe opportuno testare tutti questi algoritmi di ottimizzazione su dati più reali, dove i parametri sono cinque o più e il numero di combinazioni è elevato.
Sarebbe opportuno testare tutti questi algoritmi di ottimizzazione su dati più reali, dove i parametri sono cinque o più e il numero di combinazioni è elevato.
Nei test vengono utilizzati tre tipi di funzioni di prova (liscia, liscia con estremo "ad ago" e discreta); ciascuna di queste funzioni viene testata con 10, 50 e 1000 parametri (9 test in totale). inoltre, i test vengono eseguiti con passo 0!
passo 0 significa che la precisione alla sedicesima cifra è doppia, significa che il passo è 0,0000000000000001 per 1000 parametri, quindi, contate quante combinazioni ottenete.
Ok, faccio i conti. molto approssimativamente, è 10e10^1000, cioè circa 10e16000. è più di quante molecole ci siano nell'universo visibile.
È il numero di parametri:
input int Test1FuncRuns_P = 5; //1) Numero di funzioni nel test input int Test2FuncRuns_P = 25; //2) Numero di funzioni nel test input int Test3FuncRuns_P = 500; //3) Numero di funzioni nel test
È la dimensione della popolazione:
input int BatsNumber_P = 50; /Numero di pipistrelli
Viene calcolato il numero di epoche:
int epochCount = NumbTestFuncRuns_P / BatsNumber_P; Ho capito tutto bene dal codice?
1- È il numero di parametri:
2. È la dimensione della popolazione:
3. Si stima il numero di epoche:
Ho capito tutto bene dal codice?
1. No. Le funzioni di test sono bidimensionali, ovvero, ad esempio:
input int Test1FuncRuns_P = 5; //1) Numero di funzioni nel testsignifica in russo 5 funzioni di test, quindi moltiplicare per 2 - 10 parametri ottimizzati
25 - 50 parametri ottimizzati
500 - 1000 parametri ottimizzati
2. Sì.
3. Sì, è vero, il numero stimato di epoche è stato fatto in modo che il numero totale di corse FF sia lo stesso e non dipenda dalla scelta della dimensione della popolazione negli algoritmi, cioè in modo che il test degli algoritmi sia equo con diversi parametri di dimensione della popolazione nei diversi algoritmi.
Ok, grazie.
Tutti questi algoritmi, della serie di articoli, sono paralellizzabili, non ho guardato gli altri? Penso che potrei usarlo, è utile, solo che la funzione da ottimizzare è più complessa, ha un numero dinamico di parametri, sia reali che interi, e con intervalli diversi, bisogna risolvere il problema a posteriori.
Capisco, grazie.
Tutti questi algoritmi, della serie di articoli, sono paralellizzabili, non hai guardato gli altri? Penso che potrei usarlo, è utile, solo che la funzione da ottimizzare è più complessa, ha un numero dinamico di parametri, sia reali che interi, e con intervalli diversi, bisogna risolvere il problema dopo.
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Accetti la politica del sito e le condizioni d’uso
Il nuovo articolo Algoritmi di ottimizzazione della popolazione: Ottimizzazione del Foraggiamento Batterico (Bacterial Foraging Optimization - BFO) è stato pubblicato:
La strategia di foraggiamento del batterio E. coli ha ispirato gli scienziati a creare l'algoritmo di ottimizzazione BFO. L'algoritmo contiene idee originali e approcci promettenti all'ottimizzazione e merita ulteriori studi.
L'algoritmo di Ottimizzazione del Foraggiamento Batterico (BFO) è un'affascinante tecnica di ottimizzazione che può essere utilizzata per trovare soluzioni approssimate a problemi di massimizzazione/minimizzazione di funzioni numeriche estremamente complesse o impossibili. L'algoritmo è ampiamente riconosciuto come un algoritmo di ottimizzazione globale per l'ottimizzazione e il controllo distribuito. BFO si ispira al comportamento sociale di foraggiamento dell'Escherichia coli. Il BFO ha già attirato l'attenzione dei ricercatori per la sua efficacia nella risoluzione di problemi di ottimizzazione del mondo reale che sorgono in diverse aree applicative. La biologia alla base della strategia di foraggiamento di E. coli viene emulata in modo originale e utilizzata come semplice algoritmo di ottimizzazione.
I batteri, come l'E. coli o la salmonella, sono tra gli organismi di maggior successo del pianeta. Questi agili batteri sono dotati di appendici semirigide chiamate flagelli, con le quali si spingono con un movimento rotatorio. Quando tutti i flagelli ruotano in senso antiorario, si crea un effetto elica e il batterio si muove in direzione più o meno rettilinea. In questo caso, il batterio compie un movimento chiamato nuoto. Tutti i flagelli ruotano nella stessa direzione.
Fig. 1. Riproduzione: divisione in batteri originali (conservazione del vettore di movimento) e clonati (modifica del vettore di movimento).
Rotolamento - un cambiamento nel vettore del movimento del batterio
Autore: Andrey Dik