- masashinakata
- 2347
- 1
- 0
- 0
@kaede20203 時間いっぱいまでまわせば ビームサーチなら深さ Chokudaiサーチなら本数 が自動決定になるため、 残り1変数のみを自分で調整する。 1変数なら単純に同条件で変数が異なるAI同士の勝率で決められる
2022-05-17 18:54:39@kaede20203 あまりにもいろいろ方法はあるけどとりあえず無意味なディープコピーをしてる箇所がないか確認する
2022-05-17 18:55:26@kaede20203 時間いっぱいまわすやつはサンプルを用意してる github.com/thun-c/GameSea…
2022-05-17 18:59:40文中で紹介されてる TopCoder Marathon Match 136 が5/19から始まります! twitter.com/square10011/st…
2022-05-17 19:23:58「直感でわかる、ヒューリスティックの羅針盤 ~貪欲法から山登り法まで~」という記事を執筆しました 最近 AtCoder Heuristic Contest などで話題のヒューリスティック問題にどうやって取り組むのかを、貪欲法や山登り法をまじえて解説しています。ぜひお読みください! qiita.com/square1001/ite…
2022-05-17 19:00:05TopCoder MM、 ・開催期間が一週間くらいあるので4時間で当たり解法を引けなくてもなんとかなる。 ・実行時間制限が10秒もあるのでたっぷり検索出来る。 ・問題文に面倒くさい数式は滅多ににない。 ので、オススメです! (ただし運営はグダグダなことがある)
2022-05-17 19:32:24@thun_c thunderさん、ありがとうございます! >1変数なら単純に同条件で変数が異なるAI同士の勝率で決められる ↑自分が知りたかったのはこの部分です! ただ、勝率をどうやって求めたらよいかがわからず... 今は過去の自分のAIと数戦、対戦させています (thunderさんの時間いっぱいまわすのは使用中です)
2022-05-17 20:15:51@thun_c constを外してたけど、constがあると速くなるのかーとか、idだけ持つと良いのかー、などと調べていたところです (「無意味なディープコピー」が何を指すのかがわからないでいます…)
2022-05-17 20:18:49@thun_c 自分の考えている方向が合っていないのかなと思いました。 「勝率」ということなのですね、きっと。 山登りみたいに、時間をかければ点数が良くなるといった、どうすれば良くなっていることを確認できるか、その方法を探していました。
2022-05-17 20:21:53@kaede20203 constがあることで速くはならないです。constexprならわずかによくなる場合もあると思いますが本質的ではないです。 State a=State(); State b=a; 値コピーが走る。遅い。 State& c=a; 参照するだけ。上と同じ用途で使えない場合もあるが速い。 ディープコピーうんぬんはこういうのです。
2022-05-17 20:57:46@kaede20203 山登りかビームかに関係なくスコアが伸びてることを確認するならスコアを表示すればわかると思います。勝率は勝率で有意義ですがそれもやっぱり山登りかビームかに関係ないです。
2022-05-17 20:59:28@thun_c なるほど、了解です。 ローカル環境の必要性がわかりました! (...誰か、お願いします。ん、ツイートで見た気がするので、やりたいことリストに追加します。今は無理そう…)
2022-05-17 21:05:30@thun_c constで早くならないのですね。 アロー演算子を使ってないところがあるのですが、その部分もこの話に該当すると思って良いですか?
2022-05-17 21:11:29@kaede20203 constをつけてるとバグりにくくなるだけです。 アロー演算子は本来関係なさそうですが、書き方次第では遅くなってそうです。重要なのは参照になってるか否かです。
2022-05-17 21:17:42@kaede20203 「すぐに見直せそう」は逆に不安なんですが、 単純に State b=a; という書き方をしてるものを State& b=a; に書き換えるだけの作業をしたら現状のコードと異なる出力になる可能性は理解していますか?
2022-05-17 21:27:02@thun_c @kaede20203 constで速くなることも一応あります。基本的にはあんまり変わらないと思いますが ja.cppreference.com/w/c/language/c…
2022-05-17 21:38:49@thun_c 本当に見てきただけです クラスの呼び出しには&があったのですが、main関数にはありませんでした State state; の形でした 気がつかなかった… (気がつかないくらいなので、理解していません)
2022-05-17 21:38:59@kaede20203 &や*をつけるとどういう動作になるか理解しないと高速化以前に単にバグって動かなくなると思います。
2022-05-17 21:43:50