前回、positionクラスについて解説しましたが、position.cppのほうにSEE(Static Exchange Evaluation)の実装があります。
SEEは、局面を評価するときに、駒の取り合いが終わっている静かな局面で評価するために考えられた手法で、ある地点での駒の取り合いを指し手生成などをせずに調べます。
育毛剤最新比較極
ミュゼ 口コミ 特徴 まとめ
今回は盤面構造体であるpositionクラスについて解説します。このpositionクラス、本当によく出来ていて、将棋ソフトに応用する場合でも、よくよく考えていくとこれと同じ構造に辿り着くと思います。
そういう意味では、将棋ソフトを作る場合でも独自に実装するより先に、このpositionクラスのソースコードを読んだほうがいいと思います。
電王戦×TOYOTAリアル車将棋
http://ex.nicovideo.jp/denou/kurumashogi/
リアルタイムでは見逃したのでタイムシフトで視聴してたんですけど、そのとき、一緒に観てたIさんが一言。
直前まで出るつもりでいたのですが、新規事業の立ち上げで時間が十分に取れないため、出ないことにしました。
嗚呼。世の中には星の数ほどのオモローがあるというのに、何故私の物理的身体は一つしかないのか…。
コンピューター将棋同士で自己対戦させていると長手数の勝ち手順や鮮やかな寄せが見られることがあります。
今回はスレッド周りです。
探索を並列化するために並列数だけスレッドの生成が必要です。あと思考時間を監視して、時間になったときに思考を打ち切る判定をするためのスレッドも必要です。
GitHubのC++11用のコードだとスレッド生成はstd::threadを使って実装されています。なお、ここで紹介しているのはC++11用のブランチです。
やっとつよインフルが治りまして、今日から平常運転です。
CODE VS 4.0のほうは、 あのあとcommitしなおしたら、47点(前回44点)と、3点伸ばしたものの、順位を見ると60位。また、現在、上位9位までが満点。extra modeとは何だったのか…。