目指せ、第27回世界コンピュータ将棋選手権☆ ポナンザ・チェイナーを倒そうぜ☆(^~^)<その2>

2017-04-18 20:09

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「ゲーム盤をヨコに1マス伸ばしたんだが、

指し手の符号パーサーが エラーを起こすんだぜ☆」

OKAZAKI_Yumemi_80x80x8_01_Damaru

「どういうエラーなの?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「SFEN で ゲーム盤の空きマスの数を 1 とか 2 とか入れる書き方があるんだが、

そこに k と入っているんだぜ☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「kって何なの?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「2プレイヤーの きりん だぜ☆」

OKAZAKI_Yumemi_80x80x8_01_Damaru

「それは 空きマス じゃなくて きりん じゃないの?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「調べてみるぜ☆(^~^)」


20:20

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「きりん だったぜ☆

数字のパーサーかと思って9マスに拡張していたら、数字と駒のパーサーだったんだぜ☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「で、4×4盤の定跡が ファイルに書き込まれているんだが、

その定跡が 何×何盤か 指定がないので、

プログラムの受け取り側も 配列のサイズを用意していないんだぜ☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「定跡、二駒学習の書き込みは 3×4盤 でだけ行い、

それ以外の盤では 読書き しないようにしましょう」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「よし……☆」

_auto_joseki_Honshogi(P1).txt

_auto_joseki_Honshogi(P2).txt

_auto_nikoma_Honshogi.txt

_auto_seiseki_Honshogi(P1).txt

_auto_seiseki_Honshogi(P2).txt

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「定跡、二駒、成績 のファイルを 巻き戻すぜ☆」


20:40

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「読書きをしている水際を押さえようぜ☆ Util_Machine.cs にまとまっているはず☆」

Load_Joseki

Flush_Joseki

Load_Nikoma

Flush_Nikoma

Load_Seiseki

Flush_Seiseki

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「この6つを、盤サイズが3×4のときだけ機能するように if文で振り分けるぜ☆」

/// <summary>
/// 定跡、二駒、成績ファイルが 3×4の盤サイズしか対応していないので、
/// 振り分けるんだぜ☆(^~^)
/// </summary>
/// <returns></returns>
static bool IsEnableBoardSize()
{
return Option_Application.Optionlist.BanTateHaba == 4 &&
Option_Application.Optionlist.BanYokoHaba == 3;
}

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「こんな感じで☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「これでよし☆」


20:48

KITASHIRAKAWA_Chiyuri_80x100x8_03_Ahee

「あっ☆!」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「升は A1~C4 しかない前提で列挙型を作ってしまっているぜ☆」

OKAZAKI_Yumemi_80x80x8_01_Damaru

「可変盤じゃあ、升を列挙型で指定するのは 廃止なんじゃない?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「そうなる……☆」

KIFUWARABE_80x100x8_01_Futu

「ばーんっと改造しようぜ、ばーんっと☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「盤をな☆」

OKAZAKI_Yumemi_80x80x8_03_Zzz

「wwwwwww」


21:22

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「うっ、むず……☆

盤の 上端、右端、下端、左端 も定数で持っていたのかだぜ☆

これも拡張しないと……☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「盤を広げると、新しくできた升に 先手らいおん が埋まるんだが、なぜだぜ☆?」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「駒の 0番 が 先手らいおん なんじゃないの?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「そうか……☆ 駒配列は 空白で埋めないとな☆」

KIFUWARABE_80x100x8_01_Futu

「おや☆? ビットボードじゃないのかだぜ☆?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「全部をビットボードにはできていないぜ☆」

kifuwarabe_80x100x8_09_umm

「じゃあ 配列と ビットボードの二度手間か☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「ビットボードが いけそう なら移行するぜ☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「あっ、局面ハッシュ もエラーを吐いた☆

盤サイズを変えたら 局面ハッシュも入れなおさないとな☆」

OKAZAKI_Yumemi_80x80x8_01_Damaru

「トランス・ポジション・テーブルも クリアーしましょう」

 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「なんか 駒の利き でアサートに引っかかったぜ☆ 調べるか……☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「盤上の利きも作り直すか☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「駒の種類別の利き、駒全部合わせた利き、升の利きの数、

と3つもあるのか、タイヘンだぜ……☆」

KIFUWARABE_80x100x8_01_Futu

「駒の動き方を 変更してから、 駒の利いている升を 変更したか☆?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「今やった☆」


22:50

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「FENパーサーが いろんなクラスに飛び散らかっていて 更新がつらい……☆

1つのクラスに集めるか……☆?」


23:46

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「横幅4升までは 伸ばせたぜ☆」

KIFUWARABE_80x100x8_01_Futu

「次は 9升 だな☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「数字を4から9に 単純に増やすとどうなるかだぜ……☆(^~^)」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「ヨコには伸びるが……☆ すこし らいおん で 動き回ってみるかだぜ☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「あれ……☆? ぞうのくせに 斜め上に進めないのかだぜ☆?」


00:56

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「A1 とか、B1 とか列挙型で埋め込んでいる個所が多いぜ☆

これ全部 置き換えていくぜ☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「トライルールで使ってるだけか……☆

ビットボードに置き換えられないかななんだぜ☆」


01:23

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「段が変わると、改造FEN の kkk/kkk/kkk/kkk みたいなやつが増えて、

可変長の段に パーサーが対応しないといけないんだが……☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「じっくり対応させましょう」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「パーサーのコードは変えておいたぜ☆ あとでテストしよう☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「D列とE列の間に見えない壁があって、右に行けないんだが☆」

OKAZAKI_Yumemi_80x80x8_01_Damaru

「D列で縛っていないか 探しましょう!」


02:11

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「別件だが、駒の動きに 飛び地があるぜ☆

見えない壁も 目星がつかないし、飛び地を調べるぜ☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「やっちゃいましょう!」


03:27

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「はー☆

Sasite っていう、ストックフィッシュでいうところの Move なんだが、

このビットフィールドが 可変幅の将棋盤に対応してないぜ☆」

OKAZAKI_Yumemi_80x80x8_01_Damaru

「9×9 に拡張しましょう」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「大きな改造になるので、また今度な☆」

KIFUWARABE_80x100x8_01_Futu

「明日だな☆」

 

はてなブックマーク - 目指せ、第27回世界コンピュータ将棋選手権☆ ポナンザ・チェイナーを倒そうぜ☆(^~^)<その2>
Bookmark this on Yahoo Bookmark
Buzz This
Bookmark this on Google Bookmarks
Bookmark this on Digg
Share on Facebook
Share on reddit
Share on LinkedIn
Share on StumbleUpon
Share on GREE
email this
LINEで送る
Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です