学習データ

学習にはrecords.csaというcsa形式のデータが必要です。これを準備します。
ボナンザはプロ棋譜3万+将棋クラブ3万(24万局のデータは6000円くらいで売っている模様)
のデータを学習させたらしいけど、手元にないので、2chkifu.csaというもので学習させています。
江戸時代からのプロ棋譜が5万局くらい入っている。
ただし、2chkifu.csaをボナンザに入れてもうまく読み込めなかったので
以下の適当なコードで変換しました。

2chkifu.csaは1局が1行・差手が6文字ずつならんでいるので、それを切り出して
recoards.csaに保存する。このコードではとりあえず、4万局切り出します。

#include <stdio.h>
#include <stdlib.h>

void main()
{
	FILE *fp   = fopen("./2chkifu.csa", "r");

	if(fp)
	{
		FILE *fp_o = fopen("./records.csa", "w");
		char buf[10000];
		char pm[] = {'+','-'};
		int i, n, l, p;
		for(i = 0;i < 40000;i++)
		{
			fgets(buf, 10000, fp);
			fgets(buf, 10000, fp);
			l = strlen(buf) - 6;
			if(i>0)
			fprintf(fp_o, "/\n");
			fprintf(fp_o, "PI\n+\n");
			p = 0;
			for(n = 0;n < l;n += 6)
			{
				fprintf(fp_o, "%c%c%c%c%c%c%c\n", pm[p], buf[n + 0], buf[n + 1], buf[n + 2], buf[n + 3], buf[n + 4], buf[n + 5]);
				p = 1 - p;
			}
			fprintf(fp_o, "%%TORYO\n");
		}
		fclose(fp);
		fclose(fp_o);
	}
}