"新神经 "是MetaTrader 5平台的一个开源神经网络引擎项目。 - 页 44 1...373839404142434445464748495051...100 新评论 Serj 2011.11.06 22:57 #431 Urain。一个指定范围内的PRNG类。优点:有可能有几个不同初始化的随机数。均匀分布的任何范围的值,直到10lm(不幸的是,阵列不够大)。 对于10万次的调用,Rand()比标准的rand多出50微秒(rnd.Rand()=344时间rand()=391)。 缺点:Srand()需要很长的时间来初始化,标准范围是32768(766µs),10万几乎是2分钟。我没有检查过10万的限制,但它一定是难以置信的长,因为时间是逐步增长的。健康的批评是可以接受的。你能详细说明一下吗?为了什么目的,你可能需要这些功能? uint control(){return(gcnt-1);};// получить значение счётчика при последнем автоматическом запросе Rand uint Rand(uint i){return(res[i]);};// запрос Rand по указанному i (счётчик не изменяется)或者是一个如何使用它们的小例子。标准的有什么问题? Mykola Demko 2011.11.06 23:08 #432 her.human: 你能详细说明一下吗?为了什么目的可能需要这些功能? uint control(){return(gcnt-1);};// получить значение счётчика при последнем автоматическом запросе Rand uint Rand(uint i){return(res[i]);};// запрос Rand по указанному i (счётчик не изменяется)或一个如何使用它们的小例子。标准的有什么问题?可能需要这些函数来简单地复制一个随机序列的一部分或全部,或者获得在对Rand()的某些调用中发出的值。Rand()在很多方面都不尽人意。1)如果你想得到从0到100的均匀分布 的序列,你不能直接从标准中得到(你必须修改算法)。2)不可能同时使用两个序列,初始化srand,使其无法使用之前的初始化。3)标准rand的范围只允许32768个零件,其他的都不允许。我甚至没有说要用100000来分割,但你甚至不能用10的任何倍数来分割它。例如:你有一个范围[-1;1],你需要把它分成几步,直到第三位数,把类初始化为范围2000,然后Rand()/1000.-1.并从[-1;1]范围内获得PRNG,步长为0.001。你不能用标准的那个做这个。 Mykola Demko 2011.11.06 23:27 #433 谁? 什么? 告诉我,还有没有其他方法来优化任务? Serj 2011.11.06 23:32 #434 Urain。可能需要这些函数来简单地复制一个随机序列的一部分或全部,或者检索在对Rand()的某些调用中发出的值。该标准在许多方面都不能令人满意。1)如果你想得到从0到100的均匀分布的序列,你不能直接从标准中得到(你必须修改算法)。2)不可能同时使用两个序列,srand的初始化,使得不可能使用以前的初始化。3)标准rand的范围只允许你把除法分成32768份,没有其他方式。我甚至不说把它拆成100000,但你将无法把它拆成10的任何倍数。例如:你有一个范围[-1;1],你需要把它分成几步,直到第三位数,所以你需要把类初始化为范围2000。 并从[-1;1]范围内获得PRNG,步长为0.001你不能用标准的那个做这个。1) 同意。2)不清楚?你可能需要它的什么目的? 3)我没有过多地研究代码,它似乎指的是1)。这就是为什么我有一个关于这(上述)两个功能的问题。你肯定需要这样一个类(功能)。但没有人需要不必要的制动。 Mykola Demko 2011.11.06 23:41 #435 如果你难以理解第2步,也许你应该首先决定为什么你需要一个PRNG。然后就会明白为什么需要同时拥有两个不相关的PRNG序列。 Serj 2011.11.06 23:57 #436 Urain。如果你难以理解第2步,也许你应该首先决定为什么你需要一个PRNG。然后就会明白为什么同时有两个不相关的PRNG序列。听起来很奇怪--不相关的PRNG序列。我不明白神经网络的作用是什么? TheXpert 2011.11.07 00:05 #437 人。我搞不清楚这些神经网络是干什么用的?没有理由,现在只是一个花哨的东西......Urain。优点:有可能有几个不同初始化的随机数。所以每个对象都会导致不同的序列?缺点:Srand()需要很长的时间来初始化,标准范围是32768(766µs),1个羊羔几乎是2分钟。这就是它真正的、非常可怕的、不现实的地方。它不应该是这样的。 我看看什么时候能有哪怕一点点的机会。 Mykola Demko 2011.11.07 00:10 #438 她.人。听起来很奇怪--不相关的PRNG序列。我不明白神经网络是用来做什么的?让我提醒你,如果你忘记了,在32768次调用rand之后(如果你不重新初始化它),序列会重复出现。相应地,如果我们用一个初始化来生成两个时间上平行的序列,有些部分之间可能有关联(这不是强制性的,但有可能)。网络有不同的算法,如Montecarlo,或GA,同样,每个网络与任何算法都需要初始的权重值。 Mykola Demko 2011.11.07 00:14 #439 TheXpert: 没有什么,只是这些天的一个花哨的东西...1)所以每个对象都会导致不同的序列?2)这就是它真正的、非常可怕的、不现实的地方。它不应该是。 等到有了哪怕一点点的差距,我就知道了。1 是的,每个对象都在srand()处记忆一个序列,然后它就像标准的rand()一样循环往复。2 我已经尽可能地优化了它;它更糟糕。简而言之,为了使问题更容易解决,我将描述我在那里做了什么。在准备之后,我们写一个临时数组增加序列(计数器值),然后生成器从renge范围内给出一个值(这个索引在从temp分配到res时被要求),只要值在产生的缓冲区中,在一个临时的,在这个地方我们把renge(生成器不能给出的值)。值通过检查传递给res缓冲区,如果temp有一个renge,那么我们已经将这个值分配给res,然后我们做快速排序(将所有renge带到数组的末端),并通过未触及的序列的其余部分截断范围。然后继续下去,直到所有的Res都被填满。 Serj 2011.11.07 00:54 #440 Urain。如果你忘记了,在32768次调用rand之后(如果你不重新初始化它的话),序列会重复出现。相应地,如果我们用一个初始化来生成两个时间上平行的序列,某些部分可能有相关性(这不是必须的,但这种可能性仍然存在)。网络有不同的算法,如Montecarlo,或GA,同样,每个网络与任何算法都需要初始化权重。所有这些都是猜测。没有任何证据证明这一点。我用GA做了很多实验,对PRNG的循环(重复)有这样的怀疑。事实证明,这不是关于卷轴...(这是关于我的)。一句话:PRNG对GA运行没有影响。关于初始化。有这样一个愿望,即有可能在一个选择上进行初始化--通过零、PRNG、从一个文件中。 1...373839404142434445464748495051...100 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
一个指定范围内的PRNG类。
优点:有可能有几个不同初始化的随机数。
均匀分布的任何范围的值,直到10lm(不幸的是,阵列不够大)。
对于10万次的调用,Rand()比标准的rand多出50微秒(rnd.Rand()=344时间rand()=391)。
缺点:Srand()需要很长的时间来初始化,标准范围是32768(766µs),10万几乎是2分钟。
我没有检查过10万的限制,但它一定是难以置信的长,因为时间是逐步增长的。
健康的批评是可以接受的。
你能详细说明一下吗?
为了什么目的,你可能需要这些功能?
uint control(){return(gcnt-1);};// получить значение счётчика при последнем автоматическом запросе Rand
uint Rand(uint i){return(res[i]);};// запрос Rand по указанному i (счётчик не изменяется)
或者是一个如何使用它们的小例子。
标准的有什么问题?
你能详细说明一下吗?
为了什么目的可能需要这些功能?
uint control(){return(gcnt-1);};// получить значение счётчика при последнем автоматическом запросе Rand
uint Rand(uint i){return(res[i]);};// запрос Rand по указанному i (счётчик не изменяется)
或一个如何使用它们的小例子。
标准的有什么问题?
可能需要这些函数来简单地复制一个随机序列的一部分或全部,或者获得在对Rand()的某些调用中发出的值。
Rand()在很多方面都不尽人意。
1)如果你想得到从0到100的均匀分布 的序列,你不能直接从标准中得到(你必须修改算法)。
2)不可能同时使用两个序列,初始化srand,使其无法使用之前的初始化。
3)标准rand的范围只允许32768个零件,其他的都不允许。我甚至没有说要用100000来分割,但你甚至不能用10的任何倍数来分割它。例如:你有一个范围[-1;1],你需要把它分成几步,直到第三位数,把类初始化为范围2000,然后
并从[-1;1]范围内获得PRNG,步长为0.001。
你不能用标准的那个做这个。
可能需要这些函数来简单地复制一个随机序列的一部分或全部,或者检索在对Rand()的某些调用中发出的值。
该标准在许多方面都不能令人满意。
1)如果你想得到从0到100的均匀分布的序列,你不能直接从标准中得到(你必须修改算法)。
2)不可能同时使用两个序列,srand的初始化,使得不可能使用以前的初始化。
3)标准rand的范围只允许你把除法分成32768份,没有其他方式。我甚至不说把它拆成100000,但你将无法把它拆成10的任何倍数。例如:你有一个范围[-1;1],你需要把它分成几步,直到第三位数,所以你需要把类初始化为范围2000。
并从[-1;1]范围内获得PRNG,步长为0.001
你不能用标准的那个做这个。
1) 同意。
2)不清楚?你可能需要它的什么目的?
3)我没有过多地研究代码,它似乎指的是1)。
这就是为什么我有一个关于这(上述)两个功能的问题。
你肯定需要这样一个类(功能)。但没有人需要不必要的制动。
如果你难以理解第2步,也许你应该首先决定为什么你需要一个PRNG。
然后就会明白为什么需要同时拥有两个不相关的PRNG序列。
如果你难以理解第2步,也许你应该首先决定为什么你需要一个PRNG。
然后就会明白为什么同时有两个不相关的PRNG序列。
听起来很奇怪--不相关的PRNG序列。
我不明白神经网络的作用是什么?
我搞不清楚这些神经网络是干什么用的?
没有理由,现在只是一个花哨的东西......
优点:有可能有几个不同初始化的随机数。
所以每个对象都会导致不同的序列?
缺点:Srand()需要很长的时间来初始化,标准范围是32768(766µs),1个羊羔几乎是2分钟。
这就是它真正的、非常可怕的、不现实的地方。它不应该是这样的。
我看看什么时候能有哪怕一点点的机会。听起来很奇怪--不相关的PRNG序列。
我不明白神经网络是用来做什么的?
让我提醒你,如果你忘记了,在32768次调用rand之后(如果你不重新初始化它),序列会重复出现。
相应地,如果我们用一个初始化来生成两个时间上平行的序列,有些部分之间可能有关联(这不是强制性的,但有可能)。
网络有不同的算法,如Montecarlo,或GA,同样,每个网络与任何算法都需要初始的权重值。
没有什么,只是这些天的一个花哨的东西...
1)所以每个对象都会导致不同的序列?
2)这就是它真正的、非常可怕的、不现实的地方。它不应该是。
等到有了哪怕一点点的差距,我就知道了。1 是的,每个对象都在srand()处记忆一个序列,然后它就像标准的rand()一样循环往复。
2 我已经尽可能地优化了它;它更糟糕。
简而言之,为了使问题更容易解决,我将描述我在那里做了什么。
在准备之后,我们写一个临时数组增加序列(计数器值),然后生成器从renge范围内给出一个值(这个索引在从temp分配到res时被要求),只要值在产生的缓冲区中,在一个临时的,在这个地方我们把renge(生成器不能给出的值)。值通过检查传递给res缓冲区,如果temp有一个renge,那么我们已经将这个值分配给res,然后我们做快速排序(将所有renge带到数组的末端),并通过未触及的序列的其余部分截断范围。然后继续下去,直到所有的Res都被填满。
如果你忘记了,在32768次调用rand之后(如果你不重新初始化它的话),序列会重复出现。
相应地,如果我们用一个初始化来生成两个时间上平行的序列,某些部分可能有相关性(这不是必须的,但这种可能性仍然存在)。
网络有不同的算法,如Montecarlo,或GA,同样,每个网络与任何算法都需要初始化权重。
所有这些都是猜测。没有任何证据证明这一点。
我用GA做了很多实验,对PRNG的循环(重复)有这样的怀疑。事实证明,这不是关于卷轴...(这是关于我的)。
一句话:PRNG对GA运行没有影响。
关于初始化。
有这样一个愿望,即有可能在一个选择上进行初始化--通过零、PRNG、从一个文件中。