nounai.output(spaghetiThinking);

趣味と実益を兼ねて将棋プログラム(研究ツールなど)を作ってみたいと思う私の試行錯誤とか勉強したことを綴ってゆく予定です。 主目的はプログラミングの経験値稼ぎですが、コンピュータ将棋の製作も目指してみたいとも考えています。

棋譜解析

CSAのインタプリタ的なものを作ってみた

所要時間は3時間ほど。コードを書いては没書いては没という作業を繰り返して今に至ります。没コードを合わせると1週間くらいはゆうに費やしているような気がします。

インタプリタっぽいもののα版完成&内部形式について

一応、棋譜のメタ情報(プレイヤ名のみ)と棋譜本体部分を抽出することには成功しました。動いたことによって駒を取ったのか?王手か?みたいな部分は全くなのですが、一応棋譜学習を行う上での必要最低限にはかなり近づいたんじゃないかと思います。αを名乗…

棋譜インタプリタっぽいものについて、その後の考察

前回の続き的なこと。もうちょい実装にしても設計にしてもいい形があるように思うので。

【DesignPattern】【Interpreter?】棋譜のインタプリタに使えそうっぽいものを書いてみた【State】

なんかデザインパターンぽいことをしつつインタプリタを書こうと思ったので。正直自分でもあまり理解できてない気がする。書いたコードのメリットもいまいち掴みきれてない。Stateパターン、あとメソッドチェーンのテクニックを(適切かどうかは置いといて)使…

棋譜フォーマットについて[JSON]

このような棋譜フォーマットに関する提案を見つけました。基本的に知恵袋はあまり好きではないんですが、これに関しては非常に面白かったので取り上げてみます。

csaファイルの読み込み - 改行コードとか前段階的な処理とか

改行コードの判別+各行のふるい分け(バージョン/開始局面など)を簡易的に実装してみた。 OS標準の改行コードと、棋譜データ内で使用される改行コードは必ずしも同一ではない、ってことがちょっとやっかいですね。私がコード書いてる環境はLinux(改行=LF)…

【棋譜解析ねた】Interpreter pattern

少なくともcsaの読み込みで需要かありそう、とうことでWikipediaのInterpreterパターンのコード例をためしに実装してみた。 なんか、感想としては(逆ポーランドのおかげなのかもしれんけど、)こんなにあっさりインタプリタ実装できちゃっていいの?と言う…

棋譜アーカイブの月別分類

floodgateで入手できる棋譜はアーカイブされてて非常に利用しやすいです。日付ごと、対局者ごとにまとめられているのがありますが、リンクを1個1個クリックしていくのがあまりにめんどいので、ひとまず2012年、2011年分の1年区切りのアーカイブを落としてみ…