アルゴリズム最適化選手権。 - ページ 40

 
Andrey Dik:
ありがとうございます。
私が対応できないようなので、代わりに参加させてあげてください。
 
Реter Konow:
私ができないようなので、代わりに参加させてあげてください。
あなたよりチャンスがあるとは思えません。本気です。それに、参加者が多ければ多いほど、より多くの視点が得られます。
 
Andrey Dik:
あなたよりもチャンスがあるとは思えません。本気です。それに、参加者が多ければ多いほど、より多くの視点が得られます。
先ほどご自身でもおっしゃっていましたが、私の方がスケーラー症がひどいんです。そして、問題の本質を把握するための想像力が足りないのです。頭の中でまとまらない...。自分の力を過大評価していたようだ。
 
Andrey Dik:

決定済み -親の どちらかの方向で。そして、親に改善が見られない時間が長ければ長いほど、子孫は早く横に散っていかなければならない。

改良が行われた場合 - 反対に、子孫は親に近い、すなわち方向 -親に向かって 表示されます。

親からと親に向かってという 2つの方向が必ずあります。FF値の変化のダイナミックスに応じて、どちらかの方向を選択する必要があります。

しかし、ビデオの作者にとっては、種は常に親から遠くないところに「たむろ」していて、未踏の領域は未検証のままなのです。

このアルゴリズムは、連続関数では非常に速く収束し、鋭いピークを持つ複雑な離散関数では失敗する可能性が高い。また、表面でも、映像のアルゴリズムで判断するのは難しいです。

もし、気軽に世間話ができる程度に英語ができる人がいたら、著者に連絡し、チャンプに招待してください。

ところで、なぜ、空間の具体的な方向ではなく、「から」「へ」という言葉を使ったのか、どなたか教えてください。

また、パラメータ数の増加よりも早く探索空間が複雑化することとは、具体的にどのような関係があるのでしょうか。

もし誰かがこれらの質問に正しく答えるならば、多次元空間での操作の必要性が明らかになり、数学のどの特定のセクション(正直、このセクションにおいて私は泳いでいる、実質的に無知である)が多変数の関数の研究において非常に強く重宝されるであろう。しかし、私の個人的なアルゴリズムでは、これらのチップは適用されません。

 

ピクチャーメーカーを自作。

最大値を見つけるのはかなり早いですが、その後は念のため変異させるだけです。

一部の機能については、問題点が明らかになった。というか、そうなのだが、何の関係者なのかが明らかになったのである。良いもの同士だけを掛け合わせることで、進化の始まりにあった最高の個体に退化させる。最大値への動きもありますが、十分ではありません。このアニメではありません、下になります。

 

これです。非常に早く見つかりますが、オフセットがあります。その後、少しづつセンターに近づいていきますが、ずっとはいきません。

 
Dmitry Fedoseev:

これです。すぐに見つかりましたが、オフセットがあり、その後、少しづつ中心に近づいていきますが、ずっとはいきません。

いいね!なぜ、すべてが黄色なのか?- 風景が見えない。

ここでは、風景の高さに応じて各ピクセルに色を付けてください。

//——————————————————————————————————————————————————————————————————————————————
// The translation of numerical value from range in color value of range of RGB
string GetCLRfromDouble (double in,       // input value
                         double min,      // minimum of input value
                         double max,      // maximum of input value
                         int    startCLR, // minimum of a color scale 0... 100
                         int    endCLR)   // maximum of a color scale 0... 100
{ 
  int sCLR = 0; 
  int eCLR = 0; 
  
  if(startCLR > endCLR) 
  {
    sCLR = endCLR; 
    eCLR = startCLR;
  }
  else 
  {
    sCLR = startCLR; 
    eCLR = endCLR;
  }
  
  if(sCLR < 0) 
    sCLR = 0; 
  
  if(eCLR > 100) 
    eCLR = 0; 
  
  if(in < min) 
    in = min; 
  if(in > max) 
    in = max; 
  
  string clr = ""; 
  double tempCLR = Scale (in, min, max, sCLR, eCLR, false); 
  
  //255,0,0 -> 255,255,0
  if(0.0 <= tempCLR && tempCLR <= 20.0) 
  {
    clr = (string)255 + ","; 
    clr += string ((int)Scale (tempCLR, 0.0, 20.0, 0.0, 255, false)) + ","; 
    clr += string (0); 
    return (clr);
  }
  
  //255,255,0 -> 0,255,0
  if(20.0 < tempCLR && tempCLR <= 40.0) 
  {
    clr = string ((int)Scale (tempCLR, 20.0, 40.0, 0.0, 255, true)) + ","; 
    clr += string (255) + ","; 
    clr += string (0); 
    return (clr);
  }
  
  //0,255,0 -> 0,255,255
  if(40.0 < tempCLR && tempCLR <= 60.0) 
  {
    clr = string (0) + ","; 
    clr += string (255) + ","; 
    clr += string ((int)Scale (tempCLR, 40.0, 60.0, 0.0, 255, false)); 
    return (clr);
  }
  
  //0,255,255 -> 0,0,255
  if(60.0 < tempCLR && tempCLR <= 80.0) 
  {
    clr = string (0) + ","; 
    clr += string ((int)Scale (tempCLR, 60.0, 80.0, 0.0, 255, true)) + ","; 
    clr += string (255); 
    return (clr);
  }
  
  //0,0,255 -> 255,0,255
  if(80.0 < tempCLR && tempCLR <= 100.0) 
  {
    clr = string ((int)Scale (tempCLR, 80.0, 100.0, 0.0, 255, false)) + ","; 
    clr += string (0) + ","; 
    clr += string (255); 
    return (clr);
  }
  
  return ("0,0,0");
}
//——————————————————————————————————————————————————————————————————————————————

//——————————————————————————————————————————————————————————————————————————————
double Scale (double In, double InMIN, double InMAX, double OutMIN, double OutMAX, bool Revers = false) 
{ 
  if(OutMIN == OutMAX) 
    return (OutMIN); 
  if(InMIN == InMAX) 
    return ((OutMIN + OutMAX) / 2.0); 
  else 
  {
    if(Revers) 
    {
      if(In < InMIN) 
        return (OutMAX); 
      if(In > InMAX) 
        return (OutMIN); 
      return (((InMAX - In) * (OutMAX - OutMIN) / (InMAX - InMIN)) + OutMIN);
    }
    else 
    {
      if(In < InMIN) 
        return (OutMIN); 
      if(In > InMAX) 
        return (OutMAX); 
      return (((In - InMIN) * (OutMAX - OutMIN) / (InMAX - InMIN)) + OutMIN);
    }
  }
}
//——————————————————————————————————————————————————————————————————————————————
 
Andrey Dik:
おお、素晴らしい!なぜ、すべてが黄色なのか?- 風景が見えない。
怠けていたんです。せいぜい数セント。
 
Dmitry Fedoseev:
怠けすぎました。セントが最大になった。

逆パラボラでしょうか?

z=-(x^2+y^2)

 
Andrey Dik:

逆パラボラでしょうか?

z=-(x^2+y^2)

最初のケースで2つ目のケースに何が入っているかは覚えていない)