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

 
Andrey Dik:
すごいですねぇ。型破りなアプローチは、成功の鍵とは言わないまでも、少なくともその土台となるものです。では、選手権では仲間と競い合うことになるのでしょうか?
提案された問題を解決することに興味があったのです。
幼稚園はだいぶ前に卒業しました :)
 
Andrey Dik:

"信じられない!"(с)

もちろん、DahlやOzhegovの辞書をアルゴリズムに貼り付けて、既知の単語と比較することもできますが、問題のテキストに意味のある単語がない場合(たとえば、ランダムな文字の集合)、アルゴリズムは確実に「おかしくなる」でしょう。

根拠のない発言はしない。

この文字列の場合、私のアルゴリズムでは、FFに904回アクセスする必要があります。

同じ文字列の長さ(49文字)でも、他のテキスト(全く無意味なランダムな文字セットでも)だと、FFコールの量は微妙に違ってくるのです。

つまり、文字そのものが正確なアクセス数を決定しているのです。

文字組によって、約(±40)コールのばらつきがあります。

弦の長さを変えると、ヒット数は増えますが、比率は変わりません。つまり、1キャラクターに対して、平均15〜20回のFFへの呼び出しが発生します。

したがって、100文字の文字列に対して、約2000回の呼び出しが必要だと推定される。などなど・・・。

文字列の精度は常に100パーセントになる。

これが私のアルゴリズムの仕組みです。

 
Event:
提案された問題を解決することに興味があったのです。
格闘中 - 幼稚園はとっくに卒業しました :)
を確認することができます。

//+------------------------------------------------------------------+
//|                                                  OptimFFtext.mq5 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict

// тестовая фитнес функция чемпионата, не известна участникам
#import "FFtext.ex5"
int    GetParamCount();
void   GetParamProperties(double &min,double &max,double &step);
double FF(double &array[]);
int    GetCountRunsFF();
void   PrintCodeToFile(double &param[]);
#import

const int TextLen= 49;
const double EPS = 1 e-6;
double param[];
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnStart()
  {
   int Nparam=GetParamCount();
   ArrayResize(param,Nparam);
   ArrayInitialize(param,0.0);
   double temp[];
   ArrayResize(temp,Nparam);
   for(int n=0; n<Nparam;++n)
     {
      ArrayCopy(temp,param);
      double ffParam=FF(param);
      for(int k=1; k<TextLen;++k)
        {
         temp[n]=(double)k;
         double ffTemp=FF(temp);
         if(ffTemp<ffParam-EPS)
           {
            break;
           }
         if(ffTemp>ffParam+EPS)
           {
            ArrayCopy(param,temp);
            break;
           }
        }
     }
   Print("Количество вызовов FF = "+IntegerToString(GetCountRunsFF()));
   PrintCodeToFile(param);
  }
 
Event:
確認することができます。

確認しました。あなたのアルゴリズムは、49文字の時点で私より数コール先行していますが、文字数を増やすと、明らかに私の方が数百文字先行しています。

これを入れてみてください。"学術論文では、この2つのタイプが組み合わされることは稀です。"あなたは1113コール、私は891コールを取得します。

セリフの文字数をどんどん増やしていけば、その差は広がっていく一方だと思います。

明日、確認します。

 
Реter Konow:

確認しました。あなたのアルゴリズムは、49文字の時点で私より数コール先行していますが、文字数を増やすと、明らかに私の方が数百文字先行しています。

これを入れてみてください。"学術論文では、この2つのタイプが組み合わされることは稀です。"あなたは1113コール、私は891コールを取得します。

さらに文字列の文字数を増やせば、その差は広がる一方だと思います。

明日、確認します。

私の方が優れているとは言っていませんよ ))(おめでとうございます
 
Реter Konow:
イベント

お二人とも、最適化問題のFFの知識を使っていますね。つまり、問題を「真正面から」解決しているのです。

しかし、選手権の目的は、未知のFFを最適化することです。問題がステップ0であることがわかったり、範囲が整数線上にあることがわかったりした場合、アルゴリズムはどうなるのでしょうか?あるいは、FF値のパラメータ依存性が非線形である場合は?

FFコール1回あたりの平均時間を知っていれば、このような場合に問題を解くのにどれくらいの時間がかかるかを正確に計算でき、それは宇宙の存在時間よりも長くかかるかもしれません。

あなたのアルゴリズムは、普遍的で特定のタスクにチューニングされたものではありません。それなりに優れていますが、ニューラルネットワークや 人工知能に関するTSはもちろん、単純なExpert Advisorの最適化にも不向きです。

普遍性を考え、テキストでタスクの内容を知らなければどうするかを考え、そうでなければ7月11日のタスクはあなたのアルゴリズムにとってあまりにも難しいナットになってしまうでしょう。

ZZYイベント、確かに調べてみると、「aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa」のようにキーの頭文字で構成されているテキストだと、FFの呼び出し回数がとんでもなく少なく、その理由はよくわかります。

ZZZY.レタッチ、イベント、とにかくうまいな~、工夫が感じられる。

 
Andrey Dik:

お二人とも、最適化問題のFFの知識を使っているのですね。つまり、問題を「真正面から」解決しているのです。

しかし、この問題の目的は、未知のFFを最適化することである。問題がステップ0であることがわかったり、範囲が整数線上にあることがわかったりした場合、アルゴリズムはどうなるのでしょうか?あるいは、FF値のパラメータ依存性が非線形である場合は?

FFコール1回あたりの平均時間を知っていれば、このような場合に問題を解くのにどれくらいの時間がかかるかを正確に計算でき、それは宇宙の存在時間よりも長くかかるかもしれません。

あなたのアルゴリズムは、普遍的で特定のタスクにチューニングされたものではありません。それなりに優れていますが、ニューラルネットワークや人工知能に関するTSはもちろん、単純なExpert Advisorの最適化にも不向きです。

普遍性を考え、テキストでタスクの内容を知らなければどうするかを考え、そうでなければ7月11日のタスクはあなたのアルゴリズムにとってあまりにも難しいナットになってしまうでしょう。

ZSイベント、確かに調べてみると、「aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa」のようにキーの頭文字で構成されているテキストだと、FFの呼び出し回数がとんでもなく少なく、その理由は十分理解できますね。

私を煽ったり、当たり前だと思わないでください。私はあなたのゲームに関与していません。
私のバージョンをアルゴリズムと呼ぶのは憚られるほどです。ほんの数行ですが :)

PS あと、そんなに見下すような見下し方はしないでください。涙も流してしまいました;)
 
Andrey Dik:

お二人とも、最適化問題のFFの知識を使っているのですね。つまり、問題を「真正面から」解決しているのです。


そこで私は、問題を正面から解決しつつ、アルゴリズム開発の可能性を残すことにしたのです。似たような文章問題を解く基礎はできているので、さらに改善できると思う。

7月11日までに、より複雑な類似の文章問題の最終版を用意する予定だ。

 
Event:
煽って乗せようとしないでください。私はあなたのゲームには参加しません。
アルゴリズムと呼ぶのもはばかられるほどです。ほんの数行ですが :)

PS あと、そんなに見下すような見下し方はしないでください。涙も流してしまいました;)

さあ、どうすればいいんだ?どちらでもない。

私は見下しているわけではなく、(少なくともこの特別なケースでは)公平であり、その上、無礼で野暮ったい。やりたくなければ参加しなければいい、誰の耳も引っ張らない!?

;)

ZS. 僕は、2〜3kg以内のものなら何でも曲げられるし、逆立ちもできるんですが、サーカスで披露したら、演者から、さっきと同じようなことを言われそうですね(笑)。

 
Реter Konow:

確かに真正面から問題を解決しましたが、アルゴリズムを発展させる可能性を残しています。このような文章問題を解くための基礎はできていると思うので、さらに改善することができます。

7月11日までに、より複雑な類似の文章問題の解答の最終版を用意する予定です。

そして、優勝争いの準備に取り掛かろう。すでに「優秀」で「ウォーミングアップ」をしている。