忍者ブログ
コンピュータ将棋など…。
[34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

コンピュータオリンピアードに向けてシャンチーの見込みを考えています。
まずはWikipediaでルールを確認していて、盤のサイズの理解でもうつまずいたw

縦横9本と書いてあるのに、盤はどう見てもそうは見えないので河は太い一本なんだろうか、と思ったら縦方向には10段あるというのが正解のように思える。
こんな基本的なところで違っているWikipediaを信用していいのか、ちょっと不安が残りますが…。

炮・砲の利きがトリッキーなので利きの更新でちょっと苦労しそうかな。
利きは常に持っていないで必要なときに計算するようにしたほうがいいかもしれない。

成る駒はなく、河を渡ったときに兵・卒が少し強くなる。くらい。
盤のサイズは9×10なのと兵・卒の動きから、64bit×2 の bitboard にして、河の上と下で分けようか…。

といった感じで、どういうデータ構造にしたらいいかという感じで考慮中。

ところでボナメソ適用のための良質な大量の棋譜って入手可能なのかな??

※宣伝:
職場や事務所などでコピー機、複合機、レーザープリンタ等を使われていて、そろそろリース更新や買い替えを検討されている方がいらっしゃいましたら一報をお願いします。私が製品開発にかかわった複合機などの紹介をさせてください(営業担当が伺います)。
よろしくお願いします。
PR

C++0x にある程度対応している gcc-4.5.0 をインストールしてみました。
環境は Windows 上の cygwin です。
まず、gcc-4 を setup.exe からインストールして、gcc-4.5.0 のソースを展開したディレクトリで以下のように実行(configure の引数は gcc -v で出てくるものを参考)。

$ ./configure --prefix=/usr --enable-bootstrap --enable-version-specific-runtime-libs
--enable-static --enable-shared --enable-shared-libgcc --disable-__cxa_atexit
--with-gnu-ld --with-gnu-as --with-dwarf2 --disable-sjlj-exceptions --enable-languages=c,c++
--disable-symvers --program-suffix=-4 --enable-libgomp --enable-libssp
--enable-threads=posix CC=gcc-4 CXX=g++-4 CC_FOR_TARGET=gcc-4
CXX_FOR_TARGET=g++-4 GNATMAKE_FOR_TARGET=gnatmake
GNATBIND_FOR_TARGET=gnatbind

$ make BOOT_CFLAGS='-O2' -j 2 bootstrap
$ make install

これで、gcc-4.5.0 がインストールされ、ラムダ式を含む簡単なプログラムをコンパイル&実行できました。

$ g++ -std=c++0x -o sample sample.cpp

最初、普通にコンパイルしようとして「ラムダ式は -std=c++0x か -std=gnu++0x をつけたときだけ有効」と怒られてしまいましたw

ラムダ式を関数の引数で受けるときは std::function を使うか、従来のfunctorと同じく template を使うらしい。
うーん、C++ むずかしす…。

※宣伝:
職場や事務所などでコピー機、複合機、レーザープリンタ等を使われていて、そろそろリース更新や買い替えを検討されている方がいらっしゃいましたら一報をお願いします。私が製品開発にかかわった複合機などの紹介をさせてください(営業担当が伺います)。
よろしくお願いします。

今までの C++ でもアルゴリズムの for_each がありましたが、次世代 C++ の C++0x では Range-based for (いわゆる foreach)が言語仕様に含まれているそうですが、現存する C++ 処理系の VC++ 2010 も GCC4.5 も非対応らしい…。
残念っ。

でも、どちらもラムダ式などほかのいくつかの仕様は取り込んでいるので、Ponanza 読みながらいろいろ試していきたい。
便利すぎて元の世界に戻れなくなるかも?!

※宣伝:
職場や事務所などでコピー機、複合機、レーザープリンタ等を使われていて、そろそろリース更新や買い替えを検討されている方がいらっしゃいましたら一報をお願いします。私が製品開発にかかわった複合機などの紹介をさせてください(営業担当が伺います)。
よろしくお願いします。

「魔法少女、はじめました」みたいなノリ…だとどっぷり嵌まり込んでしまうので、「冷やし中華はじめました」みたいなノリでwww

まずは Visual C# 2010 Express のインストールから。
そしていっせいさんお勧めの「[完全版] 究極のC#プログラミング」を注文しました。
会社に届くので、受け取りは来週になるかと思いますが…。

目標は「ponanza」を理解する!!
さて、どうなることやら。。。



ぜんぜん関係ないですが、一時期プレミア価格だった、フェイトちゃんの制服Ver.の figma が通常価格以下に落ちていたので買ってしまいました。次の選手権はこちらを飾ったりして?!


※宣伝:
職場や事務所などでコピー機、複合機、レーザープリンタ等を使われていて、そろそろリース更新や買い替えを検討されている方がいらっしゃいましたら一報をお願いします。私が製品開発にかかわった複合機などの紹介をさせてください(営業担当が伺います)。
よろしくお願いします。
詰めろは手を抜いたら詰みがある状態ですよね?
こんな感じ:
foreach(合法手) {
 1手指す
 if (王手でない) 手番そのままで詰み探索⇒詰んだら詰めろ
}
ためしに実装してみたら、すごく重い…。
詰み探索を反復深化の最大深さ7くらいにしても数100msから局面によっては1秒以上かかりました。
詰み探索をWPNS(df-pn)で1000ノードまでとかにしたほうがいいのかしらん?
どちらも短時間だと漏れがありますが…。

というか全合法手に対して検索するのは実戦では使えそうもないということがわかりました。
謎電さんの必死ルーチンはいったいどうやってるんだろう??

※宣伝:
職場や事務所などでコピー機、複合機、レーザープリンタ等を使われていて、そろそろリース更新や買い替えを検討されている方がいらっしゃいましたら一報をお願いします。私が製品開発にかかわった複合機などの紹介をさせてください(営業担当が伺います)。
よろしくお願いします。


忍者ブログ [PR]
カレンダー
10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
フリーエリア
なのはの応援をしていただき、かつ協力いただける方は、アマゾンでの買い物は下のリンクからお願いします
最新CM
[04/27 とおりすがり]
[10/21 おてだま]
[10/20 おてだま]
[01/24 なのはminiふぁん]
[01/08 sakura]
最新TB
プロフィール
HN:
かず
性別:
非公開
バーコード
ブログ内検索
最古記事
カウンター
アクセス解析