Campionato di ottimizzazione degli algoritmi. - pagina 11

 
Yury Kulikov:
Strano campionato, forse dovresti prima confrontare i tuoi algoritmi con quelli già implementati, per esempio con ALGLIB. E poi...

Vieni al campionato con questo algoritmo. Probabilmente uno molto buono. Poiché ci sono solo sviluppatori dilettanti, sarà più interessante competere con i professionisti.
 

Qualcuno può davvero farsi avanti con una libreria ALGLIB?

 

Ciao a tutti.

Ho formato alcune domande sui dettagli tecnici.

1. in che forma sarà implementato il FF? - EA, script, libreria?

2. Presumo che il FF sarà implementato come un EA (cioè sarà dentro l'EA), e da lì chiamerà la libreria dei membri con l'algoritmo di ottimizzazione.

Se sì, il numero di chiamate all'algoritmo è limitato?

3. Se il punto 2 è corretto, allora il FF chiamerà l'algoritmo, che a sua volta chiamerà il FF. Supponiamo che il numero di chiamate all'algoritmo del partecipante da parte della FF sia limitato.

Il numero di richiami al FF dalla parte dell'algoritmo è limitato (altrimenti ci sarebbe un ciclo chiuso e infinito di chiamate tra il FF e l'algoritmo del partecipante)?

4. Chi scriverà la funzione che crea l'area di valore FF? Ovviamente, non deve essere fatto dal partecipante. Come possiamo essere sicuri della sua neutralità?

5) Dove saranno memorizzati i valori di picco della FF (i massimi che stiamo cercando)? Nell'array del FF stesso? Come possiamo allora controllare la precisione della coincidenza tra i massimi del FF e i valori calcolati dall'algoritmo del concorrente?

6. Dove saranno registrati e conservati i risultati dell'algoritmo del partecipante?

 
Реter Konow:

Ciao a tutti.

Ho formato alcune domande sui dettagli tecnici.

1. in che forma sarà implementato il FF? - EA, script, libreria?

2. Presumo che il FF sarà implementato come un EA (cioè sarà dentro l'EA), e da lì chiamerà la libreria dei membri con l'algoritmo di ottimizzazione.

Se sì, il numero di chiamate all'algoritmo è limitato?

3. Se il punto 2 è corretto, allora il FF chiamerà l'algoritmo, che a sua volta chiamerà il FF. Supponiamo che il numero di chiamate all'algoritmo del partecipante da parte della FF sia limitato.

Il numero di richiami al FF dalla parte dell'algoritmo è limitato (altrimenti ci sarebbe un ciclo chiuso e infinito di chiamate tra il FF e l'algoritmo del partecipante)?

4. Chi scriverà la funzione che crea l'area di valore FF? Ovviamente, non deve essere fatto dal partecipante. Come possiamo essere sicuri della sua neutralità?

5) Dove saranno memorizzati i valori di picco della FF (i massimi che stiamo cercando)? Nell'array del FF stesso? Come possiamo allora controllare la precisione della coincidenza tra i massimi del FF e i valori calcolati dall'algoritmo del concorrente?

6. Dove saranno registrati e conservati i risultati dell'algoritmo del partecipante?

Ciao.

1. libreria *.ex5.

2. Vedi punto 1.

3. Sopra nella discussione abbiamo discusso che ci saranno due tipi di chiamata alla libreria FF (a scelta del partecipante) - dallo script in esecuzione o dalla libreria del partecipante con AO.

4. precedentemente discusso. Già dopo le biblioteche dei partecipanti al campionato ci sarà una discussione e la formazione delle FF. In modo che la FF fosse controllata da uno dei partecipanti non funzionerà, non preoccupatevi.

5. Non saranno conservati da nessuna parte. Il FF è una funzione analitica sotto forma di formule, i valori del max globale saranno noti solo dopo la "discussione e la formazione del FF".

6. Tutti i risultati intermedi o un risultato finale (il fatto dell'uno o dell'altro sarà preso in considerazione nella valutazione finale dell'algoritmo) l'algoritmo del partecipante dovrebbe salvare in un file *.csv. Sulla base di questi dati del file, l'algoritmo sarà valutato secondo il criterio della "precisione". Naturalmente, gli algoritmi non conosceranno il vero massimo globale, vedi punto 5.

Esempi di codici e spiegazioni della connessione saranno forniti il 20 giugno, ha detto prima. Per quel momento dovreste avere pronto un algoritmo funzionante, che dovrebbe essere preparato secondo le interfacce vocali del programma di test dal 20 giugnoall'11 luglio.

 
Andrey Dik:

Ciao.

1. libreria *.ex5.

2. Vedi punto 1.

3. Sopra nella discussione abbiamo discusso che ci saranno due tipi di chiamata alla libreria FF (a scelta del partecipante) - dallo script in esecuzione o dalla libreria del partecipante con AO.

4. precedentemente discusso. Già dopo le biblioteche dei partecipanti al campionato ci sarà una discussione e la formazione delle FF. In modo che la FF fosse controllata da uno dei partecipanti non funzionerà, non preoccupatevi.

5. Non saranno conservati da nessuna parte. Il FF è una funzione analitica sotto forma di formule, i valori del max globale saranno noti solo dopo la "discussione e la formazione del FF".

6. Tutti i risultati intermedi o un risultato finale (il fatto dell'uno o dell'altro sarà preso in considerazione nella valutazione finale dell'algoritmo) l'algoritmo del partecipante dovrebbe salvare in un file *.csv. Sulla base di questi dati del file, l'algoritmo sarà valutato secondo il criterio della "precisione". Naturalmente, gli algoritmi non conosceranno il vero massimo globale, vedi punto 5.

Esempi di codici e spiegazioni della connessione saranno forniti il 20 giugno, ha detto prima. Per quel momento, dovreste avere un algoritmo di lavoro pronto, che dovrebbe essere preparato secondo le interfacce vocali al programma di test dal 20 giugnoall'11 luglio.

3. Se i tipi di chiamata del FF sono già stipulati, ora devo decidere, devo scrivere il mio algoritmo in uno script o in una libreria? (Se scrivo il mio algoritmo in una libreria, e il FF stesso è anche una libreria, come si chiameranno le due librerie? Non capisco).

4. Se la formazione della FF avverrà dopo che i partecipanti hanno finito di scrivere i loro algoritmi, allora significa che l'algoritmo non dovrebbe dipendere da una particolare FF ed essere universale?

L'algoritmo del partecipante dovrebbe essere pronto prima che vengano forniti gli esempi di connessione?

Poi la discussione e la scrittura della FF dovrebbe essere dopo aver fatto un collegamento con essa.

E subito dopo aver stabilito una connessione alla libreria FF, il partecipante deve perdere l'accesso al suo algoritmo. Dopo di che, il FF può essere composto. (altrimenti, conoscendo la FF, il partecipante può cambiare il suo algoritmo).

Ho capito bene?

 

Questa è la percezione che è emersa:

Il mio algoritmo trasmette alcuni valori al FF, e in risposta riceve alcuni valori dal FF.

Poi il mio algoritmo analizza i valori ricevuti dal FF e cerca i massimi "globali" del FF stesso, basandosi sulla logica dei valori ricevuti da esso.

Così, il mio algoritmo calcola circa 100 o 500 massimi di FF, e salva i risultati in un file.

Più accurata è la coincidenza dei risultati dei calcoli del mio AO con i valori di picco della FF, e meno riferimenti alla FF fa, più alto sarà il suo posto nei risultati del campionato.

????

 
Реter Konow:

3. se i tipi di chiamata del FF sono già stipulati, ora devo decidere, devo scrivere il mio algoritmo in uno script o in una libreria? (Se scrivo il mio algoritmo in una libreria, e il FF stesso è anche una libreria, come si chiameranno le due librerie? Non capisco).

4. Se la formazione della FF avverrà dopo che i partecipanti hanno finito di scrivere i loro algoritmi, significa che l'algoritmo non dovrebbe dipendere da una particolare FF ed essere universale?

L'algoritmo del partecipante dovrebbe essere pronto prima che vengano forniti gli esempi di connessione?

Poi la discussione e la scrittura della FF dovrebbe essere dopo aver fatto un collegamento con essa.

E subito dopo aver stabilito una connessione alla libreria FF, il partecipante deve perdere l'accesso al suo algoritmo. Dopo di che, il FF può essere composto. (Altrimenti, conoscendo la FF, il partecipante può cambiare il suo algoritmo).

Ho capito bene?

3. Sì, chiamate la biblioteca dalla biblioteca se scegliete di fare il secondo tipo di connessione.

4. Abbastanza giusto. L'idea, il requisito dell'universalità, l'indipendenza dalla FF che cerco di far passare da molto tempo. Questo è quello che dovrebbe essere, hmm.... sorprendente capacità dell'algoritmo di lavorare con qualsiasi FF.

Tag Konow:

Questa è l'idea:

5. Il mio algoritmo passa alcuni valori al FF e riceve alcuni valori dal FF in risposta.

6. Poi, il mio algoritmo analizza i valori che riceve dal FF e cerca i massimi "globali" del FF stesso, basandosi sulla logica dei valori che riceve da esso.

7. Così, il mio algoritmo calcola approssimativamente 100 o 500 massimi della FF e salva i risultati in un file.

8. Più accurata è la coincidenza dei risultati del calcolo del mio AO con i picchi di FF, e meno appelli al FF fa, più alto sarà il suo posto nei risultati del campionato.

????

5. Sì.

6. Sì.

7. Sì.

8. Sì.

Ho l'impressione che tu non abbia ancora un algoritmo. Sbrigatevi, non rimane molto tempo. Per prima cosa, scrivete un algoritmo, o prendetene uno pronto, e poi, secondo i requisiti del campionato, impostate una connessione allo script di prova dopo il 20 giugno.

 
Capito. Ci penso io. Grazie.
 
Gli organizzatori avranno un benchmark, qualcosa con cui confrontare la qualità dell'algoritmo? Altrimenti, tutti i tentativi saranno peggiori dell'algoritmo genetico integrato in MT.
 
Alexey Burnakov:
Gli organizzatori avranno un benchmark, qualcosa con cui confrontare la qualità dell'algoritmo? Altrimenti, tutti i tentativi saranno peggiori dell'algoritmo genetico MT incorporato.
Quindi l'algoritmo integrato di MT sarà il migliore e prenderà il 1° posto. Il test per l'ottimizzatore MT sarà, naturalmente, se MQ non dispiace.