MT版アーカイブ。 - ページ 6

 
Alexey Viktorov:

しかし、このコードの断片によると

この関数から返される値は、何らかの方法で処理する必要があります。マイナス何ナイン」を返しても、それに対する反応が他のコードになければ、何の意味もないでしょう。

マイナス大の値を返すと、このパスは結果の最下部に配置される。もしテストが全くなかったら(私の場合、最初のバーのオープニングでテストが停止された)、計算するものがない、計算するデータがないのです。そのため、tester_stopが設定されると、大きな負数が返されます。

また、この結果はコードのどこにも使っていません。もしかしたら使えるかもしれませんが、どのように使うのか、今のところわかりませんし、必要ありません。

 
Сергей Таболин:

大きな値をマイナスして返すと、このパスは結果の最下位に位置する。原則的にテストがなかった(私の場合、最初のバーのオープニングでテストが中止された)場合は、計算するデータがありません。そのため、tester_stopが設定されると、大きな負数が返されます。

また、この結果は私のコードのどこにも使用していません。おそらく使用できるのでしょうが、方法がわかりませんし、今のところ必要 ではありません。

これは、一般的なタスクの解決、特にプログラミングのタスクの解決には非常に悪いアプローチです。

私はなぜかテストというものを一般的に信用しておらず、最適化についてはなおさら信用していません。そういうわけで、アルゴリズムのアレンジについて具体的なアドバイスはできませんが、結果を順序立てて処理するアルゴリズムが壊れているのはわかりますね。

TesterStop()を呼び出す 前に、少なくとも1つのパスが必要ですので、この1つのパスを提供してください。何が問題なのでしょうか?私は知らないし、知る必要もないこと?それはおかしい。

 
Сергей Таболин:

すべてを理解し、松葉杖も必要ない。そして、私はここで何のために読む 松葉杖を探さなければなりませんでした。

可能なんです。でも、誰も文句を言わなかったと記憶しています。

あなたの希望は、ずる賢い無駄なコードを使わずに、もっとシンプルにアレンジすることができます。

INIT_PARAMETERS_INCORRECTの代わりに、いくつかのグローバル変数、例えばExtTesterStop=trueを計量してください。

OnTickの1行目にチェックを入れる。

void OnTick()
  {
   if(ExtTesterStop)
     {
      TesterStop();
      return;
     }
...
 
Alexey Viktorov:

これは、一般的な問題解決、特にプログラミングの問題に対して非常に悪いアプローチです。

私はなぜかテストというものをあまり信用しておらず、最適化というものはなおさら信用していません。ですから、アルゴリズムの構成について具体的なアドバイスはできませんが、結果の順序と処理のアルゴリズムが崩れているのはわかります。

TesterStop()を呼び出す前に少なくとも1つのパスが必要な場合、この1つのパスを提供します。何が問題なのでしょうか?知らないし、必要ないということ?それはおかしい。

アレクセイ、悪気はないんだけど、私がなぜTesterStop()を使ったのか、完全に理解できていないようだね。しかも、それをやろうともしなかった。何に使ったか読んでないようなので、簡単に説明します。

無駄なテストのパスをふるい落とし、最適化をスピードアップ するために使っています。特に遺伝的最適化。だから、この状況ではパスは1枚も全く必要ないんです!」。これは、INIT_PARAMETERS_INCORRECTを 置き換えたもので、OnInit()内でその量が多い場合、geneticsのクラッシュにつながるからです。

信じるか信じないか、最適化を使うか使わないかは、あなた自身の問題であり、この問題の解決とは関係ない ))))

スラバ

あなたの希望を、無駄なコードを使わず、よりシンプルにアレンジすることができます。同じレーキでも違う意味で納得してもらえるはずです)))

INIT_PARAMETERS_INCORRECTの代わりに、いくつかのグローバル変数、例えばExtTesterStop=trueを計量してください。

OnTickの1行目にチェックを入れる。

コードがもう少しシンプルに見えるようになるのは納得です

この問題は、今も変わっていません。初期化段階でのパスのキャンセルは起こりません。OnInit()とOnTick()には、同じコードが入ります。何を得るか?

TesterStop()はまだしかめっ面をしています。

TesterStop() called on 0% of testing interval

で、このバージョンのMTでは、制御はとにかくOnTester()に渡されます。同じ問題を抱えながら、違う形で納得していただけると思います )))

例えば、TesterStopImmediately()のような代替関数があれば最高です。テストをすぐに停止させたい場合は、OnTester()ではなく、OnDeinit(const int reason)に直接制御を渡します...。

でも、私たちが生きているうちには、おそらく見られないでしょう...。

 
Сергей Таболин:

Alexey、悪気はないのですが、あなたは私がTesterStop()を何のために使ったのか完全に理解できていませんね。しかも、それをやろうともしなかった。何に使ったか読んでないようなので、簡単に説明します。

無駄なテストのパスをふるい落とし、最適化をスピードアップ するために使っています。特に遺伝的最適化。だから、この状況ではパスは1枚も全く必要 ないんです!」。これは、INIT_PARAMETERS_INCORRECTを 置き換えたもので、OnInit()内でその量が多い場合、geneticsのクラッシュにつながるからです。

信じるか信じないか、最適化を使うか使わないか、それはあなた自身の問題であり、この問題とは関係ない)))

私の表現が的確でなかったので、完全に誤解されていますね。しかし、そんなことはどうでもいいのです。

 
Alexey Viktorov:

私の表現が的確でなかったので、完全に誤解されていますね。しかし、そんなことはどうでもいいのです。

重要です。私は、一般的な問題はすべて誤解の結果だと考えています。しかし、人間は話すために言葉を持って生まれてきた、交渉するために ))))当然、誰もが自分が正しいと思っている。しかし、この問題で頑固になるのは、...の愚かさ。では、どういうことなのか、ご説明ください。個人的には、学ぶ準備はできています)))

 
Сергей Таболин:

重要です。私は、一般的な問題はすべて誤解の結果だと考えています。しかし、人間は話すために言葉を持って生まれてきた、交渉するために ))))当然、誰もが自分が正しいと思っている。しかし、この問題で頑固になるのは、...の愚かさ。では、どういうことなのか、ご説明ください。個人的には、学ぶ準備はできています ))))

不手際を見せる人間から何を学ぶか。それとも自分のことを言ってるのか?頑固なのは、自分が何をしたいのかを理解しようとするために、最低限のコードを書こうとしないあなたなのです。まあ、私は最適化に携わっていないため、テスター関連のイベントを利用したことがないことは既に述べたとおりです。私の提言は、あくまでも狭い分野に向けたものでした。スラバは私の推薦を繰り返した。もしかしたら、期待したものが出てこないので、違う意味で使っているのかもしれません。あくまで、情報不足からの推測に過ぎないが。

 
Alexey Viktorov:

知性に欠ける兆候がある人から何を学ぶことができるのか?それとも自分のことを言ってるのか?引き延ばしてるのは、自分が何をしたいのか考えようとする最低限のコードもやらない人でしょう。まあ、私は最適化に携わっているわけではないので、テスターに関連するイベントを使ったことがないのは、すでに述べたとおりです。私の提言は、あくまでも狭い分野に向けたものでした。スラバは私の推薦を繰り返した。もしかしたら、期待したものが出てこないので、違う意味で使っているのかもしれません。あくまで、情報不足からの推測に過ぎないが。

私があなたに書いたものを読んでもいないの?

"アレクセイ、悪気はないんだけど、私がTesterStop()を何のために使ったのか、完全に 理解し損ねているね。しかも、それをやろうともしなかった。何に使ったか読んでないようなので、簡単に説明します。

無駄なテストのパスをふるい落とし、最適化をスピードアップ するために使っています。特に遺伝的最適化。だから、この状況ではパスは1枚も全く必要ないんです!」。INIT_PARAMETERS_INCORRECTの置き換えで、OnInit()内でその量が多い場合、geneticsのクラッシュにつながるからです..."

これのどこが理解できないんだ?

追伸:ところで、スラバはあなたと違って、私たちが何を言っているのかよく分かっていますね。))
 
Сергей Таболин:

私があなたに書いたものを読んでもいないの?

"アレクセイ、悪気はないんだけど、私がTesterStop()を何のために使ったのか、完全に 理解し損ねているね。しかも、それをやろうともしなかった。何に使ったか読んでないようなので、簡単に説明します。

無駄なテストのパスをふるい落とし、最適化をスピードアップ するために使っています。特に遺伝的最適化。だから、この状況ではパスは1枚も全く必要ないんです!」。これは、INIT_PARAMETERS_INCORRECTを置き換えたもので、OnInit()内でその量が多いと、Geneticsがクラ ッシュしてしまうからです..."

どの辺がわからないのでしょうか?

追伸:ところで、スラバはあなたと違って、私たちが何を言っているのかよく分かっていますね。))

Sergei,TesterStop()は、テストを途中で止めるために 使います。この場合、何を出力すべきかは、プログラマーの仕事である。私はあなたが得なければならないものを知る必要はありません、主なものは、テストを停止することです。それ以外はすべて、演算アルゴリズムに記されている。

もし、得られた値の中間的なバリエーションに満足できない場合は、テストを中止し、バックグラウンドからインベントリ結果を返します。もしできないのであれば、どこかでアルゴリズムが正しく構築されていないということです。結局のところ、何度も言われるテストの止め方。

 
Alexey Viktorov:

Sergei,TesterStop()は、テストを途中で止めるために 使います。そして、この場合に得なければならないのは、プログラマーの仕事である。私はあなたが得なければならないものを知る必要はありません、主なものは、テストを停止することです。それ以外はすべて、計算アルゴリズムに記されています。

もし、得られた値の中間的なバリエーションに満足できない場合は、テストを中止し、インベントリ結果を返します。もしできないのであれば、どこかで間違ったアルゴリズムを構築してしまったということです。結局のところ、何度も言われるテストの止め方。

私がバケツ一杯の釘を買うと言ったら、それをどこから調達していくらで買うか、絶対に興味を持たない人はまずいないでしょう。だから、あなたの答えは、いやだ、いらない、まあいいや、など何でもいいのです。あなたと私が理解できるようになることがメインです。そんな時の私の答えは、「松明から結果を作り上げた」というもので、個人的には絶対的に理解できます。

今回の調査で明らかになったのは、TesterStop()とExpertRemove()は、新ビルド前はOnDeinit()にすぐに制御を渡していましたが、新ビルドではOnTester()(存在する場合)にすぐに制御を渡していることです。そして、最初のケースでテスト結果が NULLだった 場合、今度は onTester() で、これらのイベントで出力が可能だったかどうかをチェックし (もちろん、このチェックは整理されていなければなりません)、独自の出力を作成する必要があります。また、この場合、どのような結果を指定するか(0か-999999か)、それは好みの問題である。