11月≪ 2014年12月 ≫01月

12345678910111213141516171819202122232425262728293031
2014.12/25(Thu)

棋譜の管理

結局、膨大な棋譜ファイルをファイラーでコピーや移動をさせようとすると反応しなくなったり、
大変なことになることがわかった。

最終的に利用できたのはDOS窓でのCOPYやMOVEコマンド。こんな時代になって昔の
知識が役立つとは・・・。

CSAファイルは可読性は劣るが、日本語が使えない環境でも使えるので世界的な標準
形式としてはよいかもしれない。KIFファイルやKI2ファイルは普段見慣れている棋譜の
表記に近いので可読性には優れている。ただ、ファイル形式が公開されているという
わけではないらしい。

今の問題は「棋譜の管理」を使うと1つのデータベースになるので人間の棋譜と
Floodgateの棋譜を別個にできないこと。やはり、人間の棋譜とコンピュータの棋譜は
別なデータベースにしたい。

スポンサーサイト
01:05  |  将棋  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
2014.12/23(Tue)

棋譜変換プログラムKKCでエラー

Floodgateの棋譜の戦型問題が解決したように昨日書いたが、まだ解決していなかった。

棋譜変換プログラムKKCでCSAをKI2に変換しようとしたら、エラーが出てしまう。
9万局の棋譜を変換しようとしても7225ケースで打ち切られてしまう。

エラーメッセージは以下の通り。
-------------
アプリケーションのコンポーネントで、ハンドルされていない例外が発生しました。
[続行]をクリックすると、アプリケーションはこのエラーを無視し、続行しようとします。[終了]をクリックすると、アプリケーションは直ちに終了します。
インデックスが配列の境界外です。
-------------

詳細をみるとこんな感じ。
-------------
Just-In-Time (JIT) デバッグを呼び出すための詳細については、
ダイアログ ボックスではなく、このメッセージの最後を参照してください。

************** 例外テキスト **************
System.IndexOutOfRangeException: インデックスが配列の境界外です。
場所 KKC.Kifu.getFromList(Int32 koma, Int32 tosuji, Int32 todan, Int32[,] ban, Int32[] fromsuji, Int32[] fromdan)
場所 KKC.Kifu.KI2MoveDir(move_t move, Int32[,] ban)
場所 KKC.Kifu.Kifu2KI2(kifu_t kifu)
場所 KKC.KKC.Run(Int32 nfiles)
場所 KKC.KKC.btnRun_Click(Object sender, EventArgs e)
場所 System.Windows.Forms.Control.OnClick(EventArgs e)
場所 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
場所 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
場所 System.Windows.Forms.Control.WndProc(Message& m)
場所 System.Windows.Forms.ButtonBase.WndProc(Message& m)
場所 System.Windows.Forms.Button.WndProc(Message& m)
場所 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
場所 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** 読み込まれたアセンブリ **************
mscorlib
アセンブリ バージョン: 2.0.0.0
Win32 バージョン: 2.0.50727.5485 (Win7SP1GDR.050727-5400)
コードベース: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
----------------------------------------
KKC
アセンブリ バージョン: 1.1.0.0
Win32 バージョン: 1.1.0.0
コードベース: file:///C:/DOC/将棋24/棋譜変換KKC/KKC/KKC.exe
----------------------------------------
System.Windows.Forms
アセンブリ バージョン: 2.0.0.0
Win32 バージョン: 2.0.50727.5483 (Win7SP1GDR.050727-5400)
コードベース: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
アセンブリ バージョン: 2.0.0.0
Win32 バージョン: 2.0.50727.5485 (Win7SP1GDR.050727-5400)
コードベース: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
アセンブリ バージョン: 2.0.0.0
Win32 バージョン: 2.0.50727.5483 (Win7SP1GDR.050727-5400)
コードベース: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
mscorlib.resources
アセンブリ バージョン: 2.0.0.0
Win32 バージョン: 2.0.50727.5485 (Win7SP1GDR.050727-5400)
コードベース: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
----------------------------------------
System.Windows.Forms.resources
アセンブリ バージョン: 2.0.0.0
Win32 バージョン: 2.0.50727.5420 (Win7SP1.050727-5400)
コードベース: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_ja_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------

************** JIT デバッグ **************
Just-In-Time (JIT) デバッグを有効にするには、このアプリケーション、
またはコンピュータ (machine.config) の構成ファイルの jitDebugging
値を system.windows.forms セクションで設定しなければなりません。
アプリケーションはまた、デバッグを有効にしてコンパイルされなければ
なりません。

JIT デバッグが有効なときは、このダイアログ ボックスで処理するよりも、
ハンドルされていない例外はすべてコンピュータに登録された
JIT デバッガに設定されなければなりません。
-----------------------

たぶん、用意された配列が十分な大きさではないのだろう。何十万局も変換するとは
想定されていないのかもしれない。といっても、作者への連絡先もわからないので
どうにもならない。自分でプログラムできれば一番よいのだろうが。
01:56  |  将棋  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
2014.12/22(Mon)

Floodgate棋譜の戦型について

先日書いたFloodgateの棋譜に戦型をつけられないかという問題を解決できたかもしれない。

やり方はまず、Floodgateの棋譜は拡張子がCSAファイルなので棋譜変換プログラムのKKCを使って
拡張子K2ファイルに変換する。

次にプログラム「棋譜の管理」を立ち上げて、ファイルメニューから「フォルダの棋譜をデータベースに
追加」を選べば、自動的に戦型を判別して登録してくれる。

もともと棋譜の管理に戦型を自動判別する機能があった。
03:39  |  将棋  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
2014.12/22(Mon)

棋譜変換プログラムKKC

棋譜形式の相互変換ソフトをみつけた。KKCという。

http://www.geocities.jp/shogi_depot/#10

03:28  |  将棋  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
2014.12/20(Sat)

Floodgate棋譜

Floodgateの棋譜をKifubaseに取り込もうとしたものの、棋譜数が多すぎるので分割するしかない。
結局、2008-2010年、2011-2012年、2013-2014年という3つに分けた。

次に差し手数が0の棋譜を除き、さらに50手以下の棋譜も削除。まあ、超急戦で50手以下で
勝負がつくこともあるだろうけど、大抵は棋力に大きな差があるプログラム同士の対戦か、
一方が定跡無視の棒玉戦法とかのケースが多いと判断した。

それから結果が先手・後手勝ちがないのを削除。千日手とかはとりあえず除く意味。

次に差し手が多すぎるものを削除。

人間のプロ対戦では最長手数は390手ということだが、Floodgateの棋譜には
差し手数が1000を超えるものもある。しかし、千日手にならないパターンで
同じような動きを繰り返している棋譜もあるようなので長すぎるのは除いても問題ないと
判断。

それから対局者がinaniwaの棋譜を削除。稲庭将棋は対人戦では使うことがない
ので人間の棋力向上には参考にならないと判断した。

これだけでも結構な数を減らすことができた。

膨大な棋譜数なので、検索も大変。そうなるとそれぞれの棋譜の戦型情報がほしくなる。
いまは、ここでつまずいている状況。

Floodgateの棋譜はCSAなのでテキストの棋譜情報はちょっと直感的にわかりにくい。
かりに戦型の自動判別プログラムができたとしても、KifuBaseに一括で戦型を取り込む
機能がないとあまり意味がない。どうしたものか。
02:51  |  将棋  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
2014.12/19(Fri)

詰将棋の国の王女様

スマホなどでできる無料Adroidアプリ。簡単にクリアできるが、初心者向けにはストーリー仕立てでいい。こんな工夫があれば、初心者に薦められる。
02:14  |  将棋  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
2014.12/18(Thu)

棋譜の管理ソフト

少し前の将棋世界で観戦記者が使っている棋譜データベースには9万局以上が収められていると書いていた。
たぶん、将棋連盟の棋士たちも同じデータベースを使用しているのだろう。

手元にある2ちゃんねるの棋譜では6万局を少し切っている。プロが使っているのよりは3万局ほど少ないということだ。

棋譜の管理には「棋譜の管理」という非常に便利なフリーソフトがあるのだが、残念ながら局面検索はできない。

局面検索ができるのは棋泉 for WinとKifuBase。前者は開発終了かと思っていたら、昨年バージョンアップして
Windows7,8にも対応した。非常に高機能なのだが、棋譜登録数上限が5万局ほどだったはず。

というわけで局面検索にはKifuBaseを使っている。フリー版は1000局が上限なのでつかえないが、シェアウェア版
なら30万局まで登録できる。

手持ちの棋譜が6万局以下なので上限の30万局には全然余裕と思っていたが、最近考えが変わった。
上限100万局くらいはほしい。

というのはFloodgateのコンピュータ同士の棋譜を登録させると簡単に30万局を超えてしまうからだ。
とはいえ、データが増えると当然局面検索にも時間がかかるようになるので難しいところだ。
03:07  |  将棋  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
2014.12/13(Sat)

「囲碁&将棋プラン」のある温泉宿

リゾートホテル マホロバ・マインズ三浦
15:17  |  将棋  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
2014.12/11(Thu)

Excel2013でタイトル行固定

Excel2013で1行目だけを固定表示しようとして、右端のあたりをマウスで探っても何もおきない。
Excel2010ならできたはずが、どうなっているのかと試行錯誤。

答えはメニューの「表示」から「ウインドウ枠の固定」「先頭行の固定」を選ぶこと。

従来より面倒になっているというのはどうなのだろうか。
17:18  |  コンピュータ  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
2014.12/01(Mon)

外付けUSBのHDDがあると起動しない

外付けHDDをつけていたのだが、OSをXPからWindows7に変更してから、HDDがつながっていると起動しなくなってしまった。

外付けHDDを外すと起動する。

ネット検索をするとやはり同じような悩みが挙がっている。

解決策はPC起動時にBIOS設定(DELキー押しなど)に入って
メニューから「Legacy USB」を探して「Disable」(無効)に設定すること。
21:03  |  コンピュータ  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
 | BLOGTOP |