在大厅的帮助下) - 页 3

 

这个问题是可以解决的。所有必要的工具都在CodeBase 中。

你只需要写一个解释器,将基因的值(连续空间)转换成问题所需的离散空间。

该问题被简化为ff=MathAbs(f-H)的最小化。

其中f=a+b+c+....

 
vitali_yv:

在mql5上的计算可能需要TC的一生)


实际上,我只是说,你可以而且应该不使用if,还有一点关于mql4仍然比vb6快,而且快得多的事实。

表达式的长度为6,一个变量的变体数量为30,mql4的表达式在493秒(8分钟)内得到解决。因此,长度为7的表达式将需要4个小时来解决。8是120小时))。

如果条件是恒定的(相同的数字),并且表达式的长度是有限的,你可以努力工作,创建一个有现成解决方案的数组,然后通过索引在空中检索值。

 
Integer:



表达式的长度是6,一个变量的变体数量是30,在mql4中,它在493秒(8分钟)内得到解决。因此,表达式长度7将在4小时内得到解决。8是120小时)。


而总和是17 )
 
vitali_yv:
和是17 )


那么tspp也没有帮助。

在mt5的6个变量中,30个数字在90秒内解决(虽然在不同的电脑上)。

 
Integer:


那么tspp也没有帮助。

在mt5中,有6个变量,30个数字在90秒内解决了(但在不同的电脑上)。

你们在做什么?你从哪里得到这么可怕的数字?我的网络在几分钟内就训练出了成千上万的鳞片,这里....。
 
joo:
你们在做什么?这些可怕的数字是怎么来的?我的网络在几分钟内就训练出了成千上万的鳞片,这里....。


试试吧。

int start()
  {
//----
   int c[]={10, 12, 14, 17, 21, 25, 30, 36, 43, 52, 62, 74, 89, 107, 128, 154, 185, 222, 266, 319, 383, 460, 552, 662, 795, 954, 1145, 1374, 1648, 1978};
   int Find=-1;
   

         int start=TimeLocal();
            for(int i1=0;i1<ArraySize(c);i1++){
            for(int i2=0;i2<ArraySize(c);i2++){
            for(int i3=0;i3<ArraySize(c);i3++){
               Comment(i1," ",i2," ",i3);
            for(int i4=0;i4<ArraySize(c);i4++){
            for(int i5=0;i5<ArraySize(c);i5++){
            for(int i6=0;i6<ArraySize(c);i6++){
               int s=c[i1]+c[i2]+c[i3]+c[i3]+c[i4]+c[i5]+c[i6];   
            } 
            }
            }
            }
            }
            }
      

   
   Alert("! "+(TimeLocal()-start));
//----
   return(0);
  }
 
Integer:


试试吧。

不,我不像那样玩。:(

我甚至不会去尝试。我为什么要这样做?当有更多文明的方法来寻找解决方案,而不是愚蠢的蛮力。

 
joo:

不,我不像那样玩。:(

我甚至不会去尝试它们。为了什么?当有更多文明的方法来寻找解决方案,而不是愚蠢的蛮力。

唉,对于许多任务,仍然没有文明的方法来解决它们。

 
Integer:

唉,仍有许多问题缺乏文明的解决方法。

他们存在。只是往往我们不知道他们的情况。

好的。检查我是否正确理解了问题的条件。

如果a*x+b*x+c*x.....=H,求出x,a,b,c可以取值(10,12,14,17,21,25,30,36,43,52,62,74,89,107,128,154,185,222,266,319,383,460,552,662,795,954,1145,1374,1648,1978)。


问题仍然不清楚--问题中有多少个a、b、c....?


我就像个孩子一样,被 "弱?"所吸引。:)

在我看来,这个问题似乎没有实际意义,我可能是错的。如果我得到了问题的完整条件--我将给出一个 "文明 "的解决方案。而我将使用我谈到的那个工具包。

 

这不是当前的任务。

遗传算法将无济于事。接近(最小化)一个函数并不意味着向正确的方向移动,你可以站在它旁边,但输入是在另一边。这里不可能是'只对一点点'。