Campeonato de optimización de algoritmos. - página 122

 

El campeonato está diseñado para participantes entrenados, para aquellos que tienen algoritmos preparados. Os recuerdo que si queréis leer previamente la bibliografía del perfil, el enlace está en mi perfil y aquí.

Cuando tengamos suficientes participantes capacitados con algoritmos listos, entonces tendremos algo de qué hablar. Por ahora, ¡adiós y hasta pronto!

 

Dediqué mucha energía y nervio al campeonato, pero un moderador puede arruinar todo con uno de sus mensajes. Ejemplos de códigos y algoritmo de trabajo, referencias a la literatura, interfaces de conexión - todo esto lo di, pero resulta que, como dijo el moderador, todo esto no está ahí, ¡debo haberlo imaginado!

Si quieres comprobar la solidez de tus algoritmos, no dudes en ponerte en contacto conmigo en el área personal, y responderé a tus preguntas.

No esperes más actividad pública por mi parte, entiéndeme bien.

 

Con tu permiso, Andrew, te propongo evaluarlo así, de nuevo, no insisto.

Problema: Encontrar un extremo F(x1,x2, xn) de una función desconocida para el algoritmo.

Reglas:

El ganador se determinará mediante la suma de 2 criterios

Exactitud T=Fmin_mejor/Fmin_y - (mínimo del mejor/ mínimo del participante) en caso de encontrar el mínimo

T=Fmax_y/Fmax_best en caso de búsqueda del máximo

2. Número de llamadas a la función K=Kbest/Ky (número mínimo de llamadas de todos los participantes)

Puntuación total Os=T+K.

El algoritmo del participante pasa el array doble X[x1,x2, xn] y obtiene el valor de la función, luego opera según su lógica y calcula el extremo y el número de llamadas (número de pasadas del array).

El rango de búsqueda se declara por separado.

Podemos tomar la función F(x1,x2,x3)=exp(x1+x2+x3)/(x1*x2*x2*x3*x3) para el entrenamiento;

Mi algoritmo obtuvo estos resultados

Tengo estos resultados.

El error de búsqueda especificado - 0,01 Parámetros iniciales (primera llamada) x1=x2=x3=0,5; El rango de búsqueda 0-100

Número de veces que se llama a la función - Ky=51

Mínimo 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 tu permiso, Andrew, te propongo evaluarlo así, de nuevo, no insisto.

Problema: Encontrar un extremo F(x1,x2, xn) de una función desconocida para el algoritmo.

Reglas:

El ganador se determinará mediante la suma de 2 criterios

Exactitud T=Fmin_mejor/Fmin_y - (mínimo del mejor/ mínimo del participante) en caso de encontrar el mínimo

T=Fmax_y/Fmax_best en caso de búsqueda del máximo

2. Número de llamadas a la función K=Kbest/Ky (número mínimo de llamadas de todos los participantes)

Puntuación total Os=T+K.

El algoritmo del participante pasa el array doble X[x1,x2, xn] y obtiene el valor de la función, luego opera según su lógica y calcula el extremo y el número de llamadas (número de pasadas del array).

El rango de búsqueda se declara por separado.

Podemos tomar la función F(x1,x2,x3)=exp(x1+x2+x3)/(x1*x2*x2*x3*x3) para el entrenamiento;

Mi algoritmo obtuvo estos resultados

Tengo estos resultados.

El error de búsqueda especificado - 0,01 Parámetros iniciales (primera llamada) x1=x2=x3=0,5; El rango de búsqueda 0-100

Número de veces que se llama a la función - Ky=51

Mínimo Fmin_y=3,76210

x1=1,1; x2=2,1; x3=3,1;

Aquí te he mostrado cómo se calculan las plazas. La única aclaración no es el tiempo, sino el número de llamadas a la FF:

Andrey Dik:
Precisión, máx. 1,0MaxMinCriterioCriterio*3Tiempo, s.MaxMinCriterioCriterio generalLugar
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
Progreso0,650,890,210,651,94521,00800,00221,000,482,425
Lenon0,450,890,210,351,06800,00800,00221,000,001,066
Cercas0,210,890,210,000,00221,00800,00221,001,001,007
Abamov0,300,890,210,130,40721,00800,00221,000,140,538

He aquí un ejemplo del cálculo del puesto en el campeonato para los competidores. La tabla ya está ordenada por la columna "Criterio general".

Observemos la tabla con atención. Petrov obtuvo una puntuación de 0,89 en el criterio "Exactitud", en el que el valor máximo de FF escala a 1,0 y el mínimo a 0,0. Por lo tanto, es el mejor valor de todos. Zaborov obtuvo la puntuación más baja en este criterio, sólo consiguió 0,21 y ya parecía que Zaborov se quedaría en la valla de la clasificación....

Pero según el criterio "Tiempo", Zaborov es el líder: es el algoritmo más rápido y completó la tarea en 221 segundos (pero no el más inexacto al mismo tiempo).

Ahora vamos a calcular el criterio general. ¿Y qué vemos? Quién lo iba a decir, pero Abamov está en el último lugar, ya que su criterio general es el más bajo, sólo pudo obtener 0,53.

ZS. En el criterio de precisión, el valor más alto es mejor; en el criterio de tiempo, el valor más bajo es mejor. Todas las coincidencias de los nombres son accidentales, para mí mismo fue una gran sorpresa encontrar el último lugar con Abamov, bueno, tendrás que ser más preciso... y más rápido.

ZZZI. Para calcular el criterio "Precisión" se aplica la fórmula(In - InMIN) / (InMAX - InMIN); y para calcular el criterio "Tiempo"(InMIN - In) / (InMAX - InMIN);

PS. ¿Cuántas pruebas realiza en su tarea? ¿Por qué inicializar con un valor fijo de 0,5? ¿Cuántos accesos se obtienen si se inicializa con un número de 10,0?

PPS..... cualquier pregunta, por favor envíela a la sección personal.

 
Andrey Dik:

Aquí mostré cómo se calculan los puestos de los participantes. La única aclaración no es el tiempo, sino el número de referencias a la FF:

PS. ¿Cuántas pruebas está haciendo en su tarea? ¿Por qué inicializar con un valor fijo de 0,5? ¿Cuántos accesos se obtienen si se inicializa con el número 10.0?

G Al inicializar 10.0 se obtiene un número de aciertos de 2028 al menos 3.73722. Todavía no he comprobado en la inicialización de RSCh.

Entiende que no estoy afirmando en absoluto que mi algoritmo sea mejor que el tuyo, todavía estoy trabajando en el mío. Sólo quería saber cómo se formará la puntuación total. Cómo afinar el algoritmo.

Tienes razón, soy el único que dice tener algo preparado. Otros participantes guardan silencio públicamente. Es razonable posponer el campeonato hasta el otoño y entrenar mientras tanto.

 
Yuri Evseenkov:

G Al inicializar 10.0 el número de aciertos es 2028 al menos 3.73722. Todavía no he comprobado la inicialización del RNG.

Entienda que no pretendo que mi algoritmo sea mejor que el suyo, todavía estoy trabajando en el mío. Sólo quería saber cómo se formará la puntuación total. Cómo afinar el algoritmo.

ZS. Tienes razón, parece que sólo yo digo que tengo algo preparado. Otros participantes guardan silencio públicamente. Es razonable posponer el campeonato al otoño, y mientras tanto entrenar.

Bueno, eso es lo que pensé.

Esa es la cuestión. No hay que retocarlo para que se adapte a nada. El algoritmo debe ser capaz de trabajar con cualquier función que no conozca, y cualquier inicialización es equivalente, y hay que hacer varias pruebas, al menos 20.

Poner la comunicación en lo privado.

 
Alexander Laur:
Mi abuelo solía decirme: "La diferencia entre un hombre sabio y un tonto es que éste consigue hacer las cosas.
¿No te dijo tu abuelo "¡no te metas en lo que no sabes!" y "¡no te metas con los que hacen el trabajo!"?
Para no estorbar, el trabajo y la preparación de los participantes es ahora en privado.
 
Andrey Dik:
¿No te dijo tu abuelo... ¿"No te metas con el entrometido"?

¿Está ocupado?

Aunque, eres un clásico del género - como hablar de campeonato durante dos meses, reunir a los participantes, conseguir el apoyo de MC en forma de 3000 dólares de premio, pero luego lo sueltas y no consigues nada.

La anciana de Pushkin con el abrevadero agujereado tuvo más suerte al final: al menos recuperó su abrevadero.

 
Andrey F. Zelinsky:

¿Está ocupado?

Aunque, eres un clásico del género - como hablar de campeonato durante dos meses, reunir a los participantes, conseguir el apoyo de MC en forma de 3000 dólares de premio, pero luego lo sueltas y no consigues nada.

La anciana de Pushkin con el abrevadero agujereado tuvo más suerte al final: al menos recuperó su abrevadero.

Estás confundido... Un día reunía a los participantes, al día siguiente no... Los premios no eran para mí, sino para los participantes, y ahora nadie se llevará nada, deberíais estar contentos.
El dinero no era el objetivo para mí en el campeonato, y los objetivos se han logrado, ver el primer post en el mensaje, la gente está interesada, comenzó a escribir y desarrollar sus algoritmos y eso es lo principal.
 
Así que no lo entiendo. Ya han pasado dos meses y sigue ahí. ¿Cuándo se celebrará el campeonato?
Razón de la queja: