HOME | ドキュメント |  ブログ  |  BBS  |  瓦版  | 将棋プロジェクト |  物置小屋   

ドキュメント 象歩 Web瓦版
 BBSボード RDF
こんにちは (23)
おためし板 (321)
質問箱 (94)
テスト (30)
You散歩 (4)
建築 DIY (6)
MTB (32)
(9)
節電対策 (2)
このサイトに関する話 (186)
Linux (396)
PC用ハードウェア (6)
Vine Linux 野良系 (64)
PC 工作 (31)
ドローン (0)
自家製GAFA (0)
BBS の改良 (105)
Vine Seed (520)
Zope とプロダクト (95)
Web の利用技術 (131)
DB とファイルシステム (63)
Python と C/C++ と... (29)
Zopeプロダクト開発メモ (3)
UTF-8 化 (42)
Mail 環境 (8)
COREBlog (109)
Zope3 (51)
Windows 64bit (19)
Mac (2)
Squeak スクイーク (67)
Django ぶらり一人旅 (3)
64bits (52)
Mono 思いにふける (10)
Mint Linux (8)
CentOS (2)
ディスクトップ (4)
象歩将棋 (478)
将棋よもやま (210)
サイトのデザイン (31)
心配な話 (66)
うそ (21)
うそ総集編 (0)
昔のゲストブック (20)
ボート部 (23)
Web 日記 (199)
 スパム
逮捕しる (20)
スパムお溜り (47)
ごみ箱 (6)
 リンク
kiyoさんのサイト
ペンタ郎の漫漕ブログ
端艇部員日記
TIT漕艇部の練習動画 @YouTube
墨堤の雄 @FaceBook
ペンタ(五大学ミドル) @FaceBook
Facebook
Vine Seed パッケージビルド状況
Vine Linux パッケージ情報
VineLinux バグトラッキングセンタ
VineSeed 開発用 Trac
VineSeed Specs
RPMパッケージの作成方法
Linux Standard Base
Planet Vine
Vine Linux ユーザーフォーラム
Vine Users ML アーカイブ
VineSeed ML アーカイブ
twitter#VineLinux
勝手に将棋トピックス
詰将棋おもちゃ箱

象歩将棋

Webと将棋で何か具体的なもの作って行こうとしてます。


このまま記事を入力し[投稿する]ボタンを押せば当サイトに送信されます。 以下の文章は注意書きです。

名前はかならず記入してください。ハンドルネームでも構いません。 またパスワードを入力することをお勧めします。 その場合他人による *なりすまし* と区別出来るかもしれません。 さらにブラウザでクッキーを有効に設定してある場合あなたの記事は後で修正可能になります。

コメントスパム防止のため記事の内容を機械的にモデレート (スパムである確率を計算) する処理を通します。 どのような投稿であれ、たまたま計算誤差によりスパムとみなされ 秘密の場所 に収納される可能性があります。 その場合、管理人が手作業で正規の場所に移動しますのでお待ちください。

名前  パスワード(任意)

全476件 - 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

390  shu  2007/10/06 22:59 id: 3BVR6NRi4pQ  prob: 0.1%

駒移動の静的ルールクラス完了
コアな部分のコードは 1099 行

全移動リストは取得できるけどそのまま使うとは限らない。
全打駒リストはとりあえず作らないつもり。
*ある条件のもと*での手の抽出を考えないといけない。
やはり詰将棋を題材に考えるのが楽かな。

処理を 100 万回繰り替えして 0.8 秒くらい。改良の余地はあるけど今はこれで良し。
図をクリックすると実行出力みられます (図は村山隆治氏の流鏑馬100番の1)
389  pon  2007/09/22 19:04 id: ou/hhkgTDac  prob: 0.3%
>駒クラスは廃止
1度目のリファクタリングのとき抽象化でどの位すっきりするか試してみましたが、
結局思ったほどの成果がなく、2度目の構想を考えていました。
(実際、詰め将棋のところで汚いコードを書くはめに)
仕事と遊びに頭を占有されしばらく保留・・・とほほ

修チャンの構想をヒントに、また少しその気になってきました。
前回は将棋をチェス、チャイナ将棋、タイ将棋のように少しずつルールが異なる場合の
抽象化をやってしまったことに気が付きました。

今回の(リファクタリング)テーマは性能と疎結合化です。
日本将棋に絞り無駄な抽象化いっさいやりません。
ルールは静的に、ただし、ルールのロジックは要素(プレーヤ、盤、駒台、駒、・・・)
の構造に左右されない疎結合化を計ります。
また1から作り直しです。;;
388  shu  2007/09/21 23:12 id: 3BVR6NRi4pQ  prob: 1.9%
平手の開始局面で指せる手は 30 通り
一手見つけるのに 0.026 秒 / 1,000,000
局面のコピーは 0.33 秒 / 1,000,000
局面の評価は、いったいどのくらいの時間が必要となるだろうか

某ソフトは普通の PC で一秒に三十万局面読むそうな。気になる。
http://www.geocities.jp/bonanza_shogi/
387  shu  2007/09/21 00:14 id: 3BVR6NRi4pQ  prob: 0.9%
>383 駒クラス CPiece は後々コピーして使用するので
駒クラスは廃止
駒の特性を突き詰めると種類だけなので 3bit 相当のデータでしかない。
先手/後手や成りは場の属性と考えることにした。

たとえば駒のオブジェクトを 40 個用意してポインタを張ろうとか考えてたけど、
持ち駒になった場合には区別が無い。駒のインスタンス化は本質じゃ無い気がする。
やはり重要なのは場のコピー、インデクス変換、...の方だ
386  shu  2007/09/19 23:10 id: 3BVR6NRi4pQ  prob: 1.7%
竜王戦の挑戦者は佐藤。
http://live.shogi.or.jp/ryuoh/kifu/070919.kif
棋譜ブラウザもよろしく;;
http://owa.as.wakwak.ne.jp/zope/coreblog/196
385  shu  2007/09/16 00:23 id: 3BVR6NRi4pQ  prob: 0.0%
その通りです。流石、話が早い^^
辿り来て今だ山麓ですが、ライブラリ(ツール)として使えるものを目指してます。
モデルとしては別のアイディアもありそうですが、その場合の検証ツールとしても使えますので。
とりあえず書籍や他人のコードは見ないで作って升。

本当に面白いところは大局観をコード?で表現するところですので、そこで愉しみましょう。
やはり「着眼大局、着手小局」の言葉は有効な指針だと思います。

ポンちゃんはもう基本ライブラリの作成は済んでることと思いますので、
こちらが公開したら、いろいろ指摘してくれると有難く思います。
オープンソースな将棋ライブラリサイトを作っても良いかと思っています。
と思ったら既にありますね
http://www.google.co.jp/search?hl=ja&q=%E5%B0%86%E6%A3%8B%E3...
384  pon  2007/09/15 23:16 id: ou/hhkgTDac  prob: 0.2%
>月並みですが CMovesRule というクラス名
移動に関する低レベルロジックを静的なクラスにすべて入れ込む訳ですね。
そして駒や盤、駒台はモデル(データのみ)のオブジェクトにする。
また、次の一手などの高級な思考ロジックも静的なクラスにする。
ただし、思考クラスでは永続化されたデータソースをバインドすることに
より、思考が成長することを可能にする。
結局はこの形になるのでしょうか?
383  shu  2007/09/13 23:36 id: 3BVR6NRi4pQ  prob: 0.2%
1) 機能通りに移動 - の基本クラスを作成中
テストとして駒数 4 個で総可能手 17 通り程のデータで時間を計測してみました。
1,000,000 回繰返して約 0.75 秒。オプティマイズ (gcc -O3) かけても 0.2 秒くらい。
果たしてこれで "300,000局面/秒" 以上読めるソフトができるのでしょうか...?

駒クラス CPiece は後々コピーして使用するのでなるべく小さく作ろうとしています。
データは駒の種類と位置だけなので現状のインスタンスサイズは 2 バイトだけど。
試しにこれを仮想クラスにしてみると、それだけで 16 バイトになってしまう。スゲー;;

C だと多分テーブルや #define の嵐になります。一方 C++ は便利だけどリソースを浪費しがち。
なんやかんや、やっぱり C/C++ は面白い^^
382  shu  2007/09/12 15:23 id: 3BVR6NRi4pQ  prob: 0.1%
月並みですが CMovesRule というクラス名になっております^^
とりあえず条件 1)2)3)4) を実装する予定です。
彼の方は先ほど辞意を表明なされたようですが、
私は続けるつもりですのでご心配なさらずに居てください(笑

ロジックのみだと 1000 行くらいで済むと思うので、
ソースは完成したらご覧頂ければ幸いです。may be comming soon (;-p
381  pon  2007/09/12 13:00 id: ou/hhkgTDac  prob: 7.3%
getMoves:: を実装するクラスを教えてください^^