Campionato di ottimizzazione degli algoritmi. - pagina 122

 

Il campionato è pensato per partecipanti allenati, per coloro che hanno algoritmi pronti. Vi ricordo che se volete leggere prima la letteratura del profilo, il link è nel mio profilo e qui.

Quando avremo abbastanza partecipanti addestrati con algoritmi pronti, allora avremo qualcosa di cui parlare. Per ora, arrivederci e a presto!

 

Ho dedicato molta energia e nervi al campionato, ma un moderatore può rovinare tutto con uno dei suoi post. Esempi di codici e algoritmi di lavoro, riferimenti alla letteratura, interfacce di connessione - tutto questo ho dato, ma si scopre, come ha detto il moderatore, tutto questo non c'è, devo averlo immaginato!

Se vuoi controllare la forza dei tuoi algoritmi, sentiti libero di contattarmi nell'area personale, e risponderò alle tue domande.

Non aspettatevi altre attività pubbliche da parte mia, vi prego di capirmi bene.

 

Con il tuo permesso, Andrew, propongo di valutarlo in questo modo, di nuovo, non insisto.

Problema: trovare un estremo F(x1,x2, xn) di una funzione sconosciuta all'algoritmo.

Regole:

Il vincitore sarà determinato sulla somma di 2 criteri

Accuratezza T=Fmin_best/Fmin_y - (minimo del migliore/ minimo del partecipante) in caso di trovare il minimo

T=Fmax_y/Fmax_best in caso di ricerca del massimo

2. Numero di chiamate alla funzione K=Kbest/Ky (numero minimo di chiamate di tutti i partecipanti)

Punteggio totale Os=T+K.

L'algoritmo del partecipante passa l'array doppio X[x1,x2, xn] e ottiene il valore della funzione, poi opera secondo la sua logica e calcola l'estremo e il numero di chiamate (numero di passaggi dell'array).

L'intervallo di ricerca è dichiarato separatamente.

Possiamo prendere la funzione F(x1,x2,x3)=exp(x1+x2+x3)/(x1*x2*x2*x3*x3) per la formazione;

Il mio algoritmo ha ottenuto questi risultati

Ho ottenuto questi risultati.

L'errore di ricerca specificato - 0.01 Parametri iniziali (prima chiamata) x1=x2=x3=0.5; La gamma di ricerca 0-100

Numero di volte che la funzione viene chiamata Ky=51

Minimo Fmin_y=3.76210

x1=1.1; x2=2.1; x3=3.1;

F=(exp(X[1]+X[2]+X[3]))/(X[1]*X[2]*X[2]*X[3]*X[3]*X[3]);
 
Yuri Evseenkov:

Con il tuo permesso, Andrew, propongo di valutarlo in questo modo, di nuovo, non insisto.

Problema: trovare un estremo F(x1,x2, xn) di una funzione sconosciuta all'algoritmo.

Regole:

Il vincitore sarà determinato sulla somma di 2 criteri

Accuratezza T=Fmin_best/Fmin_y - (minimo del migliore/ minimo del partecipante) in caso di trovare il minimo

T=Fmax_y/Fmax_best in caso di ricerca del massimo

2. Numero di chiamate alla funzione K=Kbest/Ky (numero minimo di chiamate di tutti i partecipanti)

Punteggio totale Os=T+K.

L'algoritmo del partecipante passa l'array doppio X[x1,x2, xn] e ottiene il valore della funzione, poi opera secondo la sua logica e calcola l'estremo e il numero di chiamate (numero di passaggi dell'array).

L'intervallo di ricerca è dichiarato separatamente.

Possiamo prendere la funzione F(x1,x2,x3)=exp(x1+x2+x3)/(x1*x2*x2*x3*x3) per la formazione;

Il mio algoritmo ha ottenuto questi risultati

Ho ottenuto questi risultati.

L'errore di ricerca specificato - 0.01 Parametri iniziali (prima chiamata) x1=x2=x3=0.5; La gamma di ricerca 0-100

Numero di volte che la funzione viene chiamata Ky=51

Minimo Fmin_y=3.76210

x1=1.1; x2=2.1; x3=3.1;

Qui vi ho mostrato come si calcolano i posti. L'unico chiarimento non è il tempo, ma il numero di chiamate alle FF:

Andrey Dik:
Precisione, max 1,0MaxMinCriterioCriterio*3Tempo, s.MaxMinCriterioCriterio generalePosto
Petrov0,890,890,211,003,00800,00800,00221,000,003,001
Lemonov0,740,890,210,782,34456,00800,00221,000,592,932
Sidorov0,760,890,210,812,43589,00800,00221,000,362,793
Uhin0,610,890,210,591,76387,00800,00221,000,712,484
Progresso0,650,890,210,651,94521,00800,00221,000,482,425
Lenon0,450,890,210,351,06800,00800,00221,000,001,066
Recinzioni0,210,890,210,000,00221,00800,00221,001,001,007
Abamov0,300,890,210,130,40721,00800,00221,000,140,538

Ecco un esempio del calcolo del posto in campionato per i concorrenti. La tabella è già ordinata per la colonna "Criterio generale".

Diamo un'occhiata più da vicino alla tabella. Petrov ha ottenuto un punteggio di 0,89 per il criterio "Accuratezza", dove il valore massimo di FF scala a 1,0 e il minimo a 0,0. È quindi il miglior valore di tutti. Zaborov ha avuto il punteggio più basso su questo criterio, è riuscito a segnare solo 0,21 e sembrava già che Zaborov sarebbe stato seduto sul recinto della classifica....

Ma secondo il criterio del "Tempo", Zaborov è il leader - è l'algoritmo più veloce e ha completato il compito in 221 secondi (ma non il più inesatto allo stesso tempo).

Ora calcoliamo il criterio generale. E cosa vediamo? Chi l'avrebbe mai detto, ma Abamov è all'ultimo posto, perché il suo criterio generale è il più basso, ha potuto segnare solo 0,53.

ZS. Nel criterio della precisione, il valore più alto è migliore; nel criterio del tempo, il valore più basso è migliore. Tutte le coincidenze dei nomi sono casuali, per me è stata una grande sorpresa vedere Abamov ottenere l'ultimo posto, beh, dovrai essere più preciso... e più veloce.

ZZZI. Per calcolare il criterio "Precisione" si applica la formula(In - InMIN) / (InMAX - InMIN); e per calcolare il criterio "Tempo"(InMIN - In) / (InMAX - InMIN);

PS. Quanti test fate nel vostro compito? Perché inizializzare con un valore fisso di 0,5? Quanti accessi ottenete se inizializzate con un numero di 10.0?

PPS..... eventuali domande, si prega di inviarle nella sezione personale.

 
Andrey Dik:

Qui ho mostrato come vengono calcolati i posti dei partecipanti. L'unico chiarimento non è il tempo, ma il numero di riferimenti alle FF:

PS. Quante prove stai facendo nel tuo compito? Perché inizializzare con un valore fisso di 0,5? Quanti accessi ottenete se inizializzate con il numero 10.0?

G Quando si inizializza 10.0 si ottiene un numero di colpi di 2028 almeno 3.73722. Non ho ancora controllato all'inizializzazione di RSCh.

Capite che non sto affatto affermando che il mio algoritmo è migliore del vostro, sto ancora lavorando sul mio. Volevo solo sapere come sarà formato il punteggio totale. Come affinare l'algoritmo.

Hai ragione, sono l'unico che dice di avere qualcosa di pronto. Altri partecipanti sono pubblicamente in silenzio. È ragionevole rimandare il campionato all'autunno e allenarsi nel frattempo.

 
Yuri Evseenkov:

G Quando si inizializza il 10.0 il numero di colpi è 2028 almeno 3,73722. Non ho ancora controllato l'inizializzazione dell'RNG.

Capite che non pretendo che il mio algoritmo sia migliore del vostro, sto ancora lavorando sul mio. Volevo solo sapere come si forma il punteggio totale. Come affinare l'algoritmo.

ZS. Hai ragione, sembra che solo io dica che ho qualcosa di pronto. Altri partecipanti sono pubblicamente in silenzio. È ragionevole rimandare il campionato all'autunno, e nel frattempo allenarsi.

Beh, è quello che ho pensato.

Questo è il punto. Non devi modificarlo per adattarlo a qualsiasi cosa. L'algoritmo dovrebbe essere in grado di lavorare con qualsiasi funzione non conosciuta, e qualsiasi inizializzazione è equivalente, ed è necessario fare diversi test, almeno 20.

Metti la comunicazione nel privato.

 
Alexander Laur:
Mio nonno mi diceva: "La differenza tra un uomo saggio e uno sciocco è che ottiene le cose fatte.
Tuo nonno non ti diceva "stai fuori dalle cose che non conosci!" e "non interferire con quelli che stanno facendo il lavoro!"?
Per non essere d'intralcio - il lavoro e la preparazione dei partecipanti è ora in privato.
 
Andrey Dik:
Tuo nonno non ti ha detto... "non interferire con l'impiccione"?

Sei occupato?

Anche se sei un classico del genere - come parlare di campionato per due mesi, riunire i partecipanti, ottenere il sostegno di MC sotto forma di 3000 dollari di premio, ma poi spifferare tutto e non ottenere nulla.

La vecchia signora di Pushkin con un abbeveratoio che perdeva è stata più fortunata alla fine - almeno ha riavuto il suo abbeveratoio.

 
Andrey F. Zelinsky:

Sei occupato?

Anche se sei un classico del genere - come parlare di campionato per due mesi, riunire i partecipanti, ottenere il sostegno di MC sotto forma di 3000 dollari di premio, e poi solo parlare e non ottenere nulla.

La vecchia signora di Pushkin con un abbeveratoio che perdeva è stata più fortunata alla fine - almeno ha riavuto il suo abbeveratoio.

Lei è confuso... Un giorno ho raccolto i partecipanti, il giorno dopo no... I premi non erano destinati a me, ma ai partecipanti, e ora nessuno riceverà nulla - dovreste essere felici.
Il denaro non era l'obiettivo per me nel campionato, e gli obiettivi sono stati raggiunti, vedi il primo post nel messaggio, le persone sono interessate, hanno iniziato a scrivere e sviluppare i loro algoritmi e questa è la cosa principale.
 
Quindi non capisco. Sono passati due mesi ed è ancora lì. Quando si svolgerà il campionato?
Motivazione: