サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
都知事選
komorinfo.com
c++のexplicit指定子(explicit specifier)の使い方をググってもいい感じの情報にはたどり着けなかったのでメモ。 c++03まで #クラスのコンストラクタの宣言で explicit をつけると、次の2つの制限が適用される。 コピー初期化ができない暗黙の型変換ができないそれぞれコードで示すと以下のようになる。 class Test { public: explicit Test(int) {} }; void hoge(Test test) {} ina main() { // <コピー初期化> Test test1(0); // OK Test test2 = 0; // NG: intでコピー初期化はできない Test test3 = Test(0); // OK // </コピー初期化> // <暗黙の型変換> hoge(Test(0)); // OK hoge
テトリスAIのCold Clearの探索方法が気になったので一通り読んでまとめた。 以下の内容は2021-09-30時点の最新版(7b4abc931948d69f6f0b4eb7d401167c1cdedb03)に基づいて記載している。 概要 #Cold ClearはRustで開発されているオープンソースのテトリスAIである。テトリスAIの強豪ソフトの一つとして広く知られており、安定して高い火力を送る技術に定評がある。 Cold Clearのソースコードは以下のリポジトリから取得することができる。
概要 #詰め将棋において、各局面の平均着手可能数は5.8手程度と言われている1。単純にこれを全探索することを考えると、\(n\) 手詰を解くためには \(5.8^n\) 局面を調べることになる。例えば、現時点で最長の詰将棋であるミクロコスモス(1525手詰)を解くためにはざっくり \(10^{1164}\) 局面を調べることになってしまう。このように、愚直な全探索では長手数の詰将棋を現実的な時間内で解くことはできないことが分かる。 しかし、ある局面が詰むことを示すだけならここまで膨大な探索は必要ない。例えば以下の局面を考える。 この局面の合法手は63金打、53金打など全部で9通りあるが、この局面が詰みであることを示すためには次の手順だけ探索できていればよい。 この探索結果より、玉方がどのように逃げても3手で詰むことが示せている。このような、ある局面が詰み(または不詰)だと証明するための局面
このページを最初にブックマークしてみませんか?
『komorinfo.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く