忍者ブログ

ぐれーすけーるブログ

ゲームプログラミングを独習中なんだぜ☆

↑同人活動☆w
ホームページ☆
『きふわらべ』のダウンロード
は、ホームページへ飛ぶ↑☆

ぐれーすけーる は、ゲーム86パーセントでお送りするんだぜ☆↑押すと最新記事に飛ぶぜ☆



第25回世界コンピュータ将棋選手権1日目に
初出場した『きふわらべ』の記事はこちら↑☆
↑東方二次創作音楽
CD78サークル分買った
No image
(↑終了)
秋葉原裏通りの潰れそうなオリジナル同人
ソフト店『さんげっと』の記事はこちら☆

[PR]

×

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

【将棋】めざせ電王戦(36) 駒を取ったときの棋譜に不具合が出ているので調べるぜ☆




2筋の歩を ただ突き合っているんだが、
駒を取ったときに 棋譜が -1x-1x と出ているので、これが不具合の原因かも
しれないんだぜ☆





3手目の途中で、9手目とカウントされていたような気がするぜ☆

 [0手]0
 [1手]01
 [2手]012
 [3手]0123

初期配置にセットするときに リストをクリアーしてないんじゃないだろうか☆



2014-10-24 21:13



□は、外字なので表示されていないが、後手の駒だぜ☆

後手 2四の歩を 2五 に運ぼうとしているのだが、
突いた2四の歩が 突いていないことになっているな☆ さてなぜなのか☆w



2014-10-24 21:55

内部データをログ出力してみるんだぜ☆





2データ目と、3データ目の間で 2四の歩が戻っているんだぜ☆


器用なバグなんだぜ☆
2データ目までは 順当にデータが更新されていて、

3データ目は、2データ目に更新していることを忘れて
1データ目を元に更新して上書きしてしまったのだろう☆
なぜなんだぜ☆ww



拍手[0回]

PR

【将棋】めざせ電王戦(35) 将棋会館の大盤解説を見てきたぜ☆ww

豊ぴーと羽生四冠の王座戦ということで 将棋会館に初めて行ってみたぜ☆

一人で建物に入るのは怖かったんだが 他の人も ぱらぱらと歩いていたので
付いていったんだぜ☆ww

生のナベ二冠の解説が面白かったんだぜ☆
途中で 豊島さんのファンと 羽生さんのファンのどちらが多いのか
アンケートがあったんだが 羽生さんファンがずらーっと手を挙げてワロタ☆wwwwwwww



今日は 将棋エンジンの進捗はないぜ☆ww

自分用にメモを書くぜ☆


  棋譜は、KifuLarabe / Kifu_Old # SetKomaDoors( kifuD, movedKoma, dst )
  で書き換える☆

  このメソッドは 5箇所 にある☆

  (1) Kifusasi52_WhenKifuRead( ... ) メソッドの中☆
      後手が 先手の駒を 取ったとき☆ 取られた駒は駒台へ移動する☆

  (2) Kifusasi52_WhenKifuRead( ... ) メソッドの中☆
      先手が 後手の駒を 取ったとき☆ 取られた駒は駒台へ移動する☆

  (3) Kifusasi52_WhenKifuRead( ... ) メソッドの中☆
      取った駒を 駒台に置くとき☆ 成っていた駒は 不成に戻す☆

  (4) 
Kifusasi52_WhenKifuRead( ... ) メソッドの中☆
      将棋盤上で☆ 指した駒から指を放したとき☆

  (5) 
Kifusasi52_WhenKifuRead( ... ) メソッドの中☆
      [戻る]ボタンを押したときで、
      駒台の上にある取った駒を、将棋盤の上に戻したとき☆


  細かいタイミングで 駒の置き場所を変えているな☆

  この SetKomaDoors メソッドは、リストの最後の要素を更新する☆
  つまり、150手まで指していれば、150手目とされる局面を編集する☆

  
  次の手の局面を リストの最後に追加するには、
  Kifu_Old.cs Kifu_Old # AddOldNode_BeforeCountUpTeme( KifuD )
  メソッドを使う☆

  例えば、10手目に このメソッドを使うと、
  10手目と同じ局面を リストの最後尾に追加する☆
  つまり 11手目は 10手目のコピーとして まずは用意される☆

  このメソッドは KifuIO # Kifusasi25 (...) の中で呼び出される☆
  

  
KifuIO # Kifusasi25 (...) も、Kifusasi52_WhenKifuRead( ... )  も、
  KifuIO # Ittesasi( ... ) という1つだけの入り口のメソッドの中にある☆


  そして、 
KifuIO # Ittesasi( ... ) は、SFEN書式の棋譜の moves 以降の
  7g7f といった符号1つ1つに反応して実行される☆

  ところが

  棋譜並べなら 問題ないのだが、
  将棋エンジンでは 問題を抱えるんだぜ☆


  棋譜並べは 次のように、問題のない順番なんだぜ☆

      初期局面 → 1手目 → 2手目 → 3手目。


  将棋エンジンは 例えば後手の場合、次のような問題を抱えた順番なんだぜ☆

      初期局面 → 1手目 → 初期局面 → 1手目 →
      2手目 → 3手目

  相手が一手指すたびに 初期局面にリセットしてから、今までの本譜を繰り返している☆
  そしてこのとき、

  1手目 = 初期局面 + 1手目
  3手目 = 初期局面 + 3手目

  のような 間を飛ばした指し方をしようとして、そんな指し方はできないと
  バグが出ている☆ww


拍手[0回]

【将棋】めざせ電王戦(34) 自作ロガーを修正したんだぜ☆ 銀を真下に引く不具合も修正した☆ww

2014-10-22 19:17


プログラムが動いた足跡を テキストファイルに記録しておくものを『ロガー』という☆


 log_将棋エンジン.txt
 log_将棋エンジン_棋譜読取.txt
 log_将棋GUI.txt

といった具合に、「誰が(どれが)」「どんな仕事のとき」にとった記録なのかを
ファイル名で分かるように 改造しようと思うんだぜ☆



まだ 何か もやっ っとしているな☆ww




2014-10-22 22:57

将棋エンジンが、銀を真下に引いてしまう不具合を修正したんだぜ☆





むずでょ@『きふわらべ』将棋電王T出場@muzudho1
なぜわたしの銀は真下に引くのだろうか、と思って プログラムを見たら 真下に引くこともできるように書いてあったんだぜ☆ 対人用に作っていたのでいままで見つからなかったんだぜ☆ コンピューターに動かさせてみると まだまだバグとか出てきそうなんだぜ☆ #電王戦
16分前
 
むずでょ@『きふわらべ』将棋電王T出場@muzudho1
あと残っている主な不具合は ①王さまが逃げない ②飛車が歩を飛び越えて前に進む ③将棋GUIが嘘の一手を画面上に表示させて私を混乱させる ……の3点だぜ☆ 嘘情報系を先に片付けないと、真実が見えない☆ww 遅かろうが、まず③から手を付けるぜ☆ww #電王戦



↓ (^▽^)このログファイルの中で、バグを特定した☆w



説明すると、1手目は ▲5六歩 で、これは合っているんだぜ☆
2手目は ▽9四歩 なんだが、初期状態にリセットされてから
初期状態→▽9四歩 になっているな☆

つまり、 リスト構造から ツリー構造に最近変えたのだが、
1つ1つの局面を連続させるのを忘れていたんだぜ☆w
現在局面が、前の局面とつながってなかったんだぜ☆

明日の自分が このバグを直してくれるだろう☆ww
微速微進、遅々前進だぜ☆!ww


拍手[0回]

【将棋】めざせ電王戦(33) 佐竹ケンイチくん状態なんだぜ☆ww

2014-10-21 05:42

↓これは悪い例なんだぜ☆ww




コンビニの便所掃除チェックのように
いつ、誰が、何をした という記録付けを ログ と呼ぶ☆
ログとは丸太、つまり いかだで海を渡った時代の 航海日誌 が語源だぜ☆


で、これは 棋譜パーサー たちの

  いつ 誰が 何した、

の記録なんだが、こんな汚い書き方では 読めない☆wwwwwwwwwwww
ログ出力も 美の力学☆ 知性か☆wwwwwwww



2014-10-21 06:36



調べていくうちに、 将棋GUI と、 将棋エンジン の2つが
1つのファイルに書き込み合い 混線状態になっていることが分かったので

パーサーを2つに分けたんだぜ☆
……なぜか3つに分かれているがミスだろう☆時間がない☆www このまま進める☆ww



2014-10-21 19:59



ちょっと、どころではなく 見やすく改造したログなんだぜ☆wwwwwwwwwwwwww

バグが分かったんだぜ☆
1手指すごとに 1手目、2手目、3手目と数えるのが普通なんだが、
わたしのプログラムは 改造したところにバグがあって

1手目、3手目、5手目…

と 1つ飛ばしで数えてしまっているようなんだぜ☆

なぜなのか☆ どこで1回多くカウントしているのか☆ww
バグの原因を探す旅路が始まる☆www



ここは 判断のしどころなんだが、
思い切って 「1手進ませるたびにログを吐く」 ことにするか☆ww
当てずっぽうで当てるより 早いかもしれない☆ww
(焼酎+↑↑wwwなう☆wwww)



2014-10-21 22:16



2時間ほど ソースを追いかけ、ロガーを改造し、ロガーがバグり、ロガーを修正したあと、
それでも ログは 1手、3手、5手と 1手飛ばしで局面を出力してくるんだぜ☆

そして わたしは気づいた。


むずでょ@『きふわらべ』将棋電王T出場@muzudho1
わたしは将棋エンジンが 1手目、3手目、5手目と 1手飛ばしに局面をログに吐き出してくるので、バグなんだぜ☆!と思って飛び上がってバグ探しをしていたんだが、将棋エンジンは今は後手、わたしの1手目、3手目、5手目だけを再現していることに なんのバグもないことが分かった今☆ #電王戦
4分前





正常に動いていたバージョンのプログラムと、
バグが出ているプログラムのログを見比べてみると、

USI通信の bestmove コマンドで、△1六歩 を送ってきているのが間違いだと分かる☆
正しくは ▲1四歩 なんだぜ☆

ということは、USI通信で送信する側のプログラムに 改造の影響が出てきたのか☆?





バグの場所を特定しておいたので、明日の自分が直してくれることを期待するぜ☆ww

棋譜は、 ①将棋エンジン ②将棋GUI の両方で持っているのだが、
①の棋譜は、後手のはずのCOMが先手になって指すという 先後 逆になっているようだし、
それ以前に配列で何かエラーが出ている☆


直さなくてはならないんだぜ☆
微速微進、遅々前進だぜ☆

拍手[0回]

【将棋】めざせ電王戦(32) floodgateデビューの結果は、反則負けなんだぜ……☆

2014-10-18 23:00

▲KifuWarabe vs △GreatDream



王手を回避しなかったことによる、『きふわらべ』の反則負けなんだぜ☆

説明しよう☆

きふわらべは 王手されていることは分かっているんだが、
次の手をランダムに選んでいるので 王さまが逃げない手を指そうとしたんだぜ☆

分かっているんだぜ、これから作るんだぜ☆ww



2014-10-19 01:02



23:00、24:00、01:00 と、キリのいい 毎時 0 分に対局が付くみたいだな☆

なんだかわからないが 『きふわらべ』 が反則手を指しているので、
ログを取るように工夫したんだぜ☆



2014-10-19 12:07

4つの不具合が目撃されている☆ww

 ・後手の銀が真後ろに引く
 ・飛車が歩を飛び越えて前に進む
 ・SFEN書式で棋譜入力してコマ送りしていたときに 後手 2三歩打 で強制終了
 ・王さまが逃げない


分かってるんだったら直せよ、というところなのだが
今 魚の小骨を取り除くかのように 精査している☆ww



2014-10-19 13:19

  SFEN書式で P*2c と書けば、後手の歩を2三に打つ という意味になるんだぜ☆

  ここで不具合が起こっている理由なんだが、
  駒台の上にある どの歩を打つのか、というのは 決まっていない。

  そこでわたしのプログラムの新旧を比較してみるんだぜ☆

    ・旧型: どの歩でも構わない
    ・新型: どの歩か指定して欲しい

  新型の方が きっちり しているんだぜ☆ そこでエラーが起こっている。

    M201Util.cs M201Util#SujiDanToMasu メモメモ……

  これはあとで直そう☆


2014-10-19 14:26

  ↑ 13:19のコードは直したんだが、まだ P*2c でエラーが出ているんだぜ☆
  もっと精査だぜ☆

2014-10-19 15:42

  ↑ 後手2三歩打 P*2c バグは直したんだぜ☆ まずバグ1つ潰した☆w

  わたしのプログラムでは マスに番号を振っていて それを使っているので、
  筋、段 で駒を指定するのは無くしていくのが 方針なんだぜ☆
  手法が混在していることによる、見落としバグなんだぜ☆
  
  TuginoItte_Sfen.cs TuginoItte_Sfen#GetData_FromTextSub に修正。

  残りのバグは

   ・後手の銀が真後ろに引く
   ・飛車が歩を飛び越えて前に進む
   ・王さまが逃げない

  なんだぜ☆



2014-10-19 21:18

  棋譜読取時は、戻るボタンで 取った駒も元の場所に戻っていたのだが、
  マウス操作時は、戻るボタンで 取った駒が元の場所に戻っていなかった☆
  バグなので直したんだぜ☆



2014-10-19 21:48

  ソースコードを改造したときは、
  改造後と、改造前のログを照らし合わせて 不具合が増えていないか
  確認しているんだが、

  棋譜の読込は、
  タイムスタンプ以外に違いはないので 改造は うまくいっているようなんだぜ☆



  ただ、戻るボタンを押したり、将棋エンジンを起動すると
  まだ不具合が起きているので まだまだ調査だぜ☆



2014-10-19 21:58



  どうも、「何手目」の数字が ずれている感じなんだぜ☆

  さっきの 天野宗歩第5局も、160手で石本検校の勝ちなのだが、
  最終局面の1個手前になっているな☆

  まずは ずれ を直すんだぜ☆



2014-10-19 23:28



平手局面を 0手目、 一手目を 1手目とカウントするように調整したぜ☆


この改造を入れたので、0手目は平手局面になったんだぜ☆
棋譜を読むとき、0手目は無視する必要があるぜ☆





SFEN で棋譜が送られてくるときは position から始まるんだが、
読み取る方の私のプログラムが 待つフェーズを外しているのか
ずれが発生しているんだぜ☆

明日直そう☆

メモメモ。 KifuLarabe Kifu_Old.cs NEW_VERSIONフラグ falseで旧、trueで新☆


拍手[0回]

ブログ内検索

PR



絶版・品切れ本を皆さまからの投票で復刊させる読者参加型のリクエストサイト
復刊ドットコム

ネイフィールウォーター

応援フリーエリア

デジゲー博
むずでょは、第1回から毎年 出展しているんだぜ☆

ウサギのように新品入荷☆
カメのようにまだ置いてある既刊☆

同人ソフト一押し店 さんげっと
むずでょは、さんげっと を応援しているんだぜ☆

TVアニメ「Charlotte(シャーロット)」公式サイト
ニコ生の Angel Beats! 一挙放送が 面白かったので次のも応援するぜ☆ww

プロフィール

HN:
むずでょ
性別:
非公開

最新コメント

[01/02 Free Tax Marlboro Gold Regular Cigarettes Coupons 3 Cartons]
[12/30 Hot Selling Newport Regular Cigarettes Outlet 160 Cartons]
[12/29 http://www.patersonlabs.com/Marlboro/41.html]
[12/29 http://xz84.com/Marlboro/16.html]
[12/29 http://www.paragoninks.co.uk/Marlboro/93.html]

P R