A primeira chamada para o FF deve consistir de uma matriz formada pelo RNG normal da MT com uma distribuição uniforme? É impossível usar seu próprio RMS com uma distribuição normal? Que assim seja, eu não insisto. Sobre os critérios de avaliação. Você está sugerindo contar o tempo de execução do código da máquina. Mas, desculpe-me, isso é outra coisa. Uma coisa é afinar o código para a busca eficiente de extrema e outra é levar em conta o tempo de máquina necessário para executar os componentes do programa, que além do mais depende do estado do hardware no momento. Seria mais apropriado contar o número de chamadas para ftp. Mas aqui eu não insisto. Não quero me atolar novamente em questões processuais, uma vez que não importaria meu algoritmo. Tenho uma pergunta agora. A regra de que o número de chamadas para o FF é fixo e o mesmo para todos é relevante?
Yuri Evseenkov: 1. Первое обращение к фф должно состоять иэ массива сформированного штатным ГСЧ МТ с равномерным распределением? Свой ГСЧ с нормальным распределением использовать нельзя?
2. Sobre os critérios de avaliação. Você se propõe a contar o tempo de execução do código da máquina.
1. Sobre a primeira inicialização não insisto, apenas recomendo - para o FF desconhecido (e é o FF desconhecido que estará no campeonato) quaisquer parâmetros iniciais são igualmente bons, porque o FF é desconhecido. É por isso que é melhor usar qualquer RNG (seja o que for, mas de preferência com o maior número possível de variações). Ainda mais, para resultados estatisticamente confiáveis serão feitas pelo menos 20 execuções do algoritmo, e é simplesmente impraticável inicializar o algoritmo com os mesmos números.
2. Já decidido, existem 2 critérios de avaliação, precisão e número de execuções de FF. Mas o elo que dei como exemplo de cálculo, foi há muito tempo atrás, lá ao invés do número de corridas é o tempo. É por isso que deixei claro em meu posto: precisão e número de lançamentos de FF são dois critérios de avaliação, sendo a precisão 3 vezes preferível.
De acordo com este cálculo de lugares na tabela, meu algoritmo ocuparia o primeiro lugar de acordo com os resultados de sua tarefa. Vamos calcular: a precisão é maior, então o critério de precisão é 3, e o número de execuções FF é maior, então 0. O total é 3+0=3, e seu algoritmo receberá 0+1=1, ou seja, menos pontos. Mas isto não significa que eu ganhe seu problema, pois várias condições não são cumpridas. E se o FF máximo for conhecido antecipadamente, a tabela é calculada de forma um pouco diferente, o primeiro lugar "virtual" é colocado o valor máximo, e nossos lugares já são calculados com base nisso (o número de pontos obtidos será diferente).
Os critérios para a determinação do vencedor são inventados à medida que eles vão avançando.
Em 15 páginas, teremos que introduzir um parâmetro para estimar o vencedor.
É uma pressa, não é bem pensada.
Mas a realidade é mais complicada do que os sonhos. :)
É este o seu Pensamento de hoje? Ou Pensamento do Ano?
Os critérios foram aprovados há uma dúzia de páginas, mas os princípios e fórmulas de cálculo ainda antes. Há muitos floodbusters, o que complica a compreensão do material pelo público - agora você tem o crédito por isso, parabéns a você mesmo.
Fui perguntado e respondi. Se me perguntarem amanhã, eu lhes responderei novamente. Mas amanhã, amanhã, amanhã Vasya Vyazaperelezayko virá e mais uma vez comentará profundamente: "O Campeonato é uma merda, as regras estão sendo inventadas na mosca" ..........
Alexander Laur: Então responda à pergunta: Por que a precisão é 3 vezes mais valiosa do que o número de chamadas FF!
Eu decidi assim, o organizador porque. Há outras razões, também.
Você já escreveu seu próprio algoritmo de otimização? Você consegue imaginar como é encontrar o 1 certo entre 2E16 e usar apenas 50 tentativas? É mais difícil do que encontrar uma agulha entre bilhões de palheiros. E isto só se houver apenas um parâmetro, e se houver 500? 1000? 1000000?
Alexander Laur: São as "outras" razões que são de interesse, ou seja, argumentos a favor do número 3 em vez do número 10, por exemplo.
A relação empírica. Estou disposto a esperar 3 minutos e obter 3 vezes mais resultados precisos, do que em um minuto e resultados muito piores. Outras proporções não são práticas.
Alexander Laur: E você o considera como um argumento digno de se determinar um vencedor?
E você acha que eu não? - Você não deveria pensar assim.
Responda minha pergunta:
Andrey Dik:
Você já escreveu seu próprio algoritmo de otimização? Você pode imaginar, por exemplo, o que significa encontrar o correto entre 2E16 valores e usar apenas 50 tentativas? É mais difícil do que encontrar uma agulha entre bilhões de palheiros. E isto só se houver apenas um parâmetro, e se houver 500? 1000? 1000000?
Alexander Laur: Eu não estou contando nada, estou perguntando e esperando por uma resposta. Por que devo especular quando posso perguntar e obter uma resposta da fonte?
Essa é a resposta. Uma relação empírica. Você não encontrará uma resposta cientificamente fundamentada em nenhum lugar.
Tentei encontrar a dependência da precisão da solução no número de acertos com uma determinada probabilidade de acerto junto com Matemat, não tivemos sucesso. Talvez tenha algo a ver com a regra dos 3 sigma, mas não necessariamente.
...uma pergunta simples: um algoritmo que não consegue encontrar um extremo com um determinado erro, embora não exatamente, deveria ser permitido participar do Campeonato?
Então eu me sento e reflito... Responder diretamente ou não. Eu decidi - eu tenho que responder!)
Por que você perguntou sobre o significado do critério "precisão" excedendo "manuseio" por um fator de 3? Se houver um critério de "exatidão", é preciso assumir que os participantes não terão 100% de exatidão... É para isso que serve o critério de "exatidão", para classificar por exatidão. Portanto, concluímos - pode!, mas não deve (não deve), porque por que alguém iria competir se seu algoritmo sempre dá uma resposta 100% precisa, e isso significa simultaneamente que para um número aceitável de chamadas FF, desde que a resposta do algoritmo uma vez recebida. Portanto, sem ambigüidade, não deve ser assim! - Além disso, tal algoritmo deve ser escondido e não mostrado a ninguém.
E sim... Há um ponto muito importante. Se o algoritmo não "sabe" onde está o máximo absoluto - e não o sabe, caso contrário, por que o procuraria? Somos nós "de fora" que só podemos julgar o grau de precisão do algoritmo realizando experimentos sobre ele, mas não podemos definir o parâmetro "pesquisar com esta precisão", por razões que espero que já estejam claras.
1. Se um algoritmo CANNOT encontra um extremo com uma determinada precisão, ele não tem lugar no Campeonato;
2. Considerando o ponto 1, somente algoritmos que PESQUISAM um extremo com uma determinada precisão participarão na determinação do vencedor;
3. Nenhuma classificação em termos de precisão. A exatidão é dada por uma gama;
4. Determinar um vencedor de acordo com o número de vezes que o FF é invocado.
Partirei neste momento, são 2h da manhã.
Entendido.
Mas não se pode fazer isso dessa maneira.
Primeiro de tudo: não há razão objetiva para definir a precisão. para alguém, um desvio de 1% não vai gostar, e para alguém, 20% ficará feliz. depende em grande parte do tipo de tarefa e do tipo de algoritmo. Estabelecer uma "precisão de passe" em um campeonato significaria selecionar diferentes soluções algorítmicas interessantes.
Segundo: a precisão depende dos acessos FF e não-linearmente. Para diferentes tipos de algoritmos, esta dependência será diferente e você não pode simplesmente dizer "este algoritmo é bom, e este é ruim" - é por isso que usamos dois critérios para avaliar os algoritmos da maneira mais objetiva possível. Havia um terceiro critério - tempo de execução do algoritmo (não FF) - mas ele é muito subjetivo, porque os algoritmos OCL que o utilizam voam em alguns computadores e diminuem a velocidade em outros. Portanto, restam apenas dois critérios: precisão e referências ao FF.
Yuri Evseenkov:
1. Первое обращение к фф должно состоять иэ массива сформированного штатным ГСЧ МТ с равномерным распределением? Свой ГСЧ с нормальным распределением использовать нельзя?
2. Sobre os critérios de avaliação. Você se propõe a contar o tempo de execução do código da máquina.
1. Sobre a primeira inicialização não insisto, apenas recomendo - para o FF desconhecido (e é o FF desconhecido que estará no campeonato) quaisquer parâmetros iniciais são igualmente bons, porque o FF é desconhecido. É por isso que é melhor usar qualquer RNG (seja o que for, mas de preferência com o maior número possível de variações). Ainda mais, para resultados estatisticamente confiáveis serão feitas pelo menos 20 execuções do algoritmo, e é simplesmente impraticável inicializar o algoritmo com os mesmos números.
2. Já decidido, existem 2 critérios de avaliação, precisão e número de execuções de FF. Mas o elo que dei como exemplo de cálculo, foi há muito tempo atrás, lá ao invés do número de corridas é o tempo. É por isso que deixei claro em meu posto: precisão e número de lançamentos de FF são dois critérios de avaliação, sendo a precisão 3 vezes preferível.
De acordo com este cálculo de lugares na tabela, meu algoritmo ocuparia o primeiro lugar de acordo com os resultados de sua tarefa. Vamos calcular: a precisão é maior, então o critério de precisão é 3, e o número de execuções FF é maior, então 0. O total é 3+0=3, e seu algoritmo receberá 0+1=1, ou seja, menos pontos. Mas isto não significa que eu ganhe seu problema, pois várias condições não são cumpridas. E se o FF máximo for conhecido antecipadamente, a tabela é calculada de forma um pouco diferente, o primeiro lugar "virtual" é colocado o valor máximo, e nossos lugares já são calculados com base nisso (o número de pontos obtidos será diferente).
A regra é que o número de acessos é fixo e o mesmo para todos?
Não, nunca existiu tal regra. Há apenas um máximo admissível. Quanto menos acertos, melhor, que é o segundo critério mais importante após a precisão.
Pessoalmente, não vou me preocupar com isso, vou usar todo o limite de acessos, em outras palavras - aposto na precisão.
Em resumo, é um absurdo, não um campeonato.
Os critérios para a determinação do vencedor são inventados à medida que eles vão avançando.
Em 15 páginas, teremos que introduzir um parâmetro para estimar o vencedor.
É uma pressa, não é bem pensada.
Mas a realidade é mais complicada do que os sonhos. :)
É este o seu Pensamento de hoje? Ou Pensamento do Ano?
Os critérios foram aprovados há uma dúzia de páginas, mas os princípios e fórmulas de cálculo ainda antes. Há muitos floodbusters, o que complica a compreensão do material pelo público - agora você tem o crédito por isso, parabéns a você mesmo.
Fui perguntado e respondi. Se me perguntarem amanhã, eu lhes responderei novamente. Mas amanhã, amanhã, amanhã Vasya Vyazaperelezayko virá e mais uma vez comentará profundamente: "O Campeonato é uma merda, as regras estão sendo inventadas na mosca" ..........
Então responda à pergunta: Por que a precisão é 3 vezes mais valiosa do que o número de chamadas FF!
Eu decidi assim, o organizador porque. Há outras razões, também.
Você já escreveu seu próprio algoritmo de otimização? Você consegue imaginar como é encontrar o 1 certo entre 2E16 e usar apenas 50 tentativas? É mais difícil do que encontrar uma agulha entre bilhões de palheiros. E isto só se houver apenas um parâmetro, e se houver 500? 1000? 1000000?
São as "outras" razões que são de interesse, ou seja, argumentos a favor do número 3 em vez do número 10, por exemplo.
E você o considera como um argumento digno de se determinar um vencedor?
E você acha que eu não? - Você não deveria pensar assim.
Responda minha pergunta:
Você já escreveu seu próprio algoritmo de otimização? Você pode imaginar, por exemplo, o que significa encontrar o correto entre 2E16 valores e usar apenas 50 tentativas? É mais difícil do que encontrar uma agulha entre bilhões de palheiros. E isto só se houver apenas um parâmetro, e se houver 500? 1000? 1000000?
Eu não estou contando nada, estou perguntando e esperando por uma resposta. Por que devo especular quando posso perguntar e obter uma resposta da fonte?
Essa é a resposta. Uma relação empírica. Você não encontrará uma resposta cientificamente fundamentada em nenhum lugar.
Tentei encontrar a dependência da precisão da solução no número de acertos com uma determinada probabilidade de acerto junto com Matemat, não tivemos sucesso. Talvez tenha algo a ver com a regra dos 3 sigma, mas não necessariamente.
...uma pergunta simples: um algoritmo que não consegue encontrar um extremo com um determinado erro, embora não exatamente, deveria ser permitido participar do Campeonato?
Então eu me sento e reflito... Responder diretamente ou não. Eu decidi - eu tenho que responder!)
Por que você perguntou sobre o significado do critério "precisão" excedendo "manuseio" por um fator de 3? Se houver um critério de "exatidão", é preciso assumir que os participantes não terão 100% de exatidão... É para isso que serve o critério de "exatidão", para classificar por exatidão. Portanto, concluímos - pode!, mas não deve (não deve), porque por que alguém iria competir se seu algoritmo sempre dá uma resposta 100% precisa, e isso significa simultaneamente que para um número aceitável de chamadas FF, desde que a resposta do algoritmo uma vez recebida. Portanto, sem ambigüidade, não deve ser assim! - Além disso, tal algoritmo deve ser escondido e não mostrado a ninguém.
E sim... Há um ponto muito importante. Se o algoritmo não "sabe" onde está o máximo absoluto - e não o sabe, caso contrário, por que o procuraria? Somos nós "de fora" que só podemos julgar o grau de precisão do algoritmo realizando experimentos sobre ele, mas não podemos definir o parâmetro "pesquisar com esta precisão", por razões que espero que já estejam claras.
A resposta é simples:
1. Se um algoritmo CANNOT encontra um extremo com uma determinada precisão, ele não tem lugar no Campeonato;
2. Considerando o ponto 1, somente algoritmos que PESQUISAM um extremo com uma determinada precisão participarão na determinação do vencedor;
3. Nenhuma classificação em termos de precisão. A exatidão é dada por uma gama;
4. Determinar um vencedor de acordo com o número de vezes que o FF é invocado.
Partirei neste momento, são 2h da manhã.
Entendido.
Mas não se pode fazer isso dessa maneira.
Primeiro de tudo: não há razão objetiva para definir a precisão. para alguém, um desvio de 1% não vai gostar, e para alguém, 20% ficará feliz. depende em grande parte do tipo de tarefa e do tipo de algoritmo. Estabelecer uma "precisão de passe" em um campeonato significaria selecionar diferentes soluções algorítmicas interessantes.
Segundo: a precisão depende dos acessos FF e não-linearmente. Para diferentes tipos de algoritmos, esta dependência será diferente e você não pode simplesmente dizer "este algoritmo é bom, e este é ruim" - é por isso que usamos dois critérios para avaliar os algoritmos da maneira mais objetiva possível. Havia um terceiro critério - tempo de execução do algoritmo (não FF) - mas ele é muito subjetivo, porque os algoritmos OCL que o utilizam voam em alguns computadores e diminuem a velocidade em outros. Portanto, restam apenas dois critérios: precisão e referências ao FF.