算法优化锦标赛。 - 页 117

 
对FF的第一次调用必须包括一个由MT的正态RNG形成的数组,具有均匀分布?不可能用你自己的RMS与正态分布?就这样吧,我不坚持。关于评价标准。你是在建议计算代码执行的机器时间。但是,我很抱歉,这是另一件事。对代码进行微调以有效搜索极值 是一回事,考虑到执行程序组件所需的机器时间又是另一回事,而机器时间又取决于当时的硬件状态。计算对ftp的调用次数会更合适。但在这里我并不坚持。我不想再纠结于程序性问题,因为这对我的算法并不重要。我现在有一个问题。呼叫FF的次数是固定的,对所有人都是一样的,这个规则与此有关吗?
 

Yuri Evseenkov:
1. Первое обращение к фф должно состоять иэ массива сформированного штатным ГСЧ МТ с равномерным распределением? Свой ГСЧ с нормальным распределением использовать нельзя?

2.关于评价标准。你提出要计算代码执行的机器时间。

1.关于第一次初始化,我并不坚持,我只是建议--对于未知的FF(而且是将在冠军赛中出现的未知FF),任何初始参数都同样好,因为FF是未知的。这就是为什么最好使用任何RNG(无论什么,但最好是有尽可能多的数字变化)。更何况,统计学上可靠的结果至少要对算法进行20次运行,而用相同的数字来初始化算法是根本不现实的。

2.已经决定,有2个评价标准,准确性和FF运行的数量。但我给的链接是一个计算的例子,那是很久以前的事了,那里代替了运行次数的是时间。这就是为什么我在帖子中明确指出:准确度和FF发射次数是两个评价标准,准确度是3倍,最好是。

根据这个表格中的位置计算,我的算法将根据你的任务结果占据第一位。我们来计算一下:精度更高,所以精度标准是3,FF运行次数更多,所以是0。总的来说是3+0=3,你的算法会得到0+1=1,即分数更少。但这并不意味着我赢得了你的问题,因为有几个条件没有得到满足。而如果事先知道FF的最大值,那么表格的计算方式就会有些不同,第一个 "虚拟 "的地方会放上最大值,而我们的位置已经根据这个计算出来了(获得的点数会不同)。

 
Yuri Evseenkov:
命中率是固定的,对所有人都是一样的,这个规则与此有关吗?

不,从来没有这样的规定。只有一个允许的最大限度。命中率越低越好,这是仅次于准确性的第二重要标准。

就我个人而言,我不打算担心这个问题,我将使用整个访问限制,换句话说--我赌的是准确性。

 
Alexander Laur:

简而言之,这是无稽之谈,不是冠军。

确定获胜者的标准是边做边说的。

在15页中,我们将不得不引入一个参数来估计赢家。

这是个匆忙的过程,没有经过深思熟虑。

但现实比梦想更复杂。:)

这是你的 "今天的想法 "吗?还是年度思想?

标准是在十几页前批准的,但计算原则和公式甚至更早。有很多洪水猛兽,这使观众对材料的理解变得复杂--现在你有了功劳,祝贺你自己。

有人问我,我也回答了。如果他们明天问我,我将再次回答他们。但明天,明天,明天瓦西亚-维亚扎佩雷扎伊科会来,并再次深刻地指出:"锦标赛是狗屎,规则是临时发明的!"..........

 
Alexander Laur:
然后回答这个问题:为什么精确性比FF电话的数量更有价值3倍!?

我这样决定,组织者因为。也有其他原因。

你有没有写过你自己的优化算法?你能想象在2E16中找到正确的1,并且只用50次尝试是什么感觉吗?这比在数十亿的干草堆中找到一根针还要难。而这只是在只有一个参数的情况下,如果有500个参数呢?1000?1000000?

 
Alexander Laur:
值得关注的是 "其他 "原因,即赞成第3条而不是第10条的论据,比如说。
经验上的关系。我已经准备好等待3分钟,得到3倍于1分钟的准确结果,而不是1分钟和更差的结果。其他比例是不实际的。
 
Alexander Laur:
而你认为这是一个值得决定胜负的论点?

而你认为我不知道?- 你不应该这样想。

回答我的问题。

安德烈-迪克

你有没有写过你自己的优化算法?例如,你能想象,在2E16个值中找到正确的值,并且只用了50次尝试,这意味着什么?这比在数十亿的干草堆中找到一根针还要难。而这只是在只有一个参数的情况下,如果有500个参数呢?1000?1000000?

 
Alexander Laur:
我不是在算计什么,我是在询问并等待答案。我为什么要猜测,因为我可以问并从来源处得到答案。

这就是答案,一种经验性的关系。你不会在任何地方找到一个有科学依据的答案。

我试着和Matemat一起寻找在给定的命中概率下,解的准确性对命中数的依赖性,我们没有成功。也许这与3西格玛规则有关,但不一定。

 
Alexander Laur:

......一个直接的问题:一个不能以给定的误差找到极值的算法,尽管不是很精确,是否 应该被允许参加锦标赛?

所以我坐下来思考...直接回答或不回答。我已经决定了--我必须要回答!)

你为什么要问 "准确性 "的标准超过 "处理 "3倍的意义?如果有一个 "准确性 "的标准,你必须假设参与者不会有100%的准确性...这就是 "准确性 "标准的作用,按准确性进行排名。因此,我们的结论是--可以!但一定不能(不应该),因为如果他的算法总是给出一个100%的准确响应,为什么会有人竞争,它同时意味着,对于一个可接受的FF呼叫数量,因为一旦收到算法的答案。因此,毫不含糊的说,它不应该!- 此外,这种算法应该被隐藏起来,不向任何人展示。

而且是的...有一个非常重要的问题。如果算法不 "知道 "绝对最大值的位置--它也不知道,否则它为什么要寻找它?是我们 "外面的人 "只能通过对其进行实验来判断算法的准确程度,但我们不能设置算法参数 "用这个精度搜索",原因我希望已经很清楚了。

 
Alexander Laur:

答案很简单。

1.如果一个算法不能以给定的精度找到一个极值,那么它在锦标赛中就没有地位。

2.考虑到第1点,只有以一定的精度搜索极值的算法才能参与决定胜负。

3.在准确性方面没有排名。准确度是由一个范围给出的。

4.根据FF被调用的次数来确定赢家。

我这就走,现在是凌晨2点。

明白了。

但你不能这样做。

首先:没有客观的理由来设定准确度。 对于某人来说,1%的偏差会不喜欢,而对于某人来说,20%的偏差会很高兴。这主要取决于任务类型和算法类型。在锦标赛中设置一个 "通过准确度",将意味着筛选出不同的有趣的算法解决方案。

第二:准确性取决于FF的访问量,而且是非线性的。对于不同类型的算法,这种依赖性会有所不同,你不能只说 "这个算法好,这个算法坏"--这就是为什么我们使用两个标准来尽可能客观地评估算法。还有第三个标准--算法的运行时间(不是FF)--但这是非常主观的,因为使用它的OCL算法在一些计算机上会飞起来,而在另一些计算机上会慢下来。因此,只剩下两个标准:准确性和对FF的参考。