Bonanza 4.1.3で何が変わったのか。

Bonanza 4.1.3が公開されました。


bonanza.txtには次のように書いてあります。私の指摘したバグが2つ修正されたようです。

Version 4.1.3

  • The owner of 'LS3600 Blog Webpage' pointed out that there were two

serious bugs. Thank you very much! According to his indication,
is_hand_eq_supe() in 'utility.c' and read_CSA_line() in 'csa.c' are
revised.

  • In MPV code in 'searchr.c', a test of 'root_abort' flag had been

forgotten. Now the flag is tested after every call of search().

  • 'lan.txt' is added to 'src/bonanza/' directory. This is an example

of an input sequence to connect to CSA Shogi server.

  • 'book.bin' now has smaller moves and positions than previous one.

Also, 'book_anti.csa' is added to 'src/bonanza/' directory. This is
an example of bad moves which apear in records of human
exparts.

  • 'Legal Notices' in this document is corrected.

上の最後に書いてある修正ですが、「without a warrantee.」と書いてあったところを「without any warranty.」と修正されています。この指摘は2chのコンピュータ将棋スレにありました。保木さんも2chを見たりするんですかね。少し意外です。


単語の綴りのミスと言えば、上の引用部の 「apear in records of human expart」は、「ap"p"ear in records of human exp"e"rt」の間違いだと思います。


それで、Bonanza 4.1.3と4.1.2とを比較してみました。


・fv.bin → identical(バイナリレベルで同一)
・定跡ファイル → 若干サイズが増えている。
・utility.c の手駒の優劣比較の部分のコードの修正。(私が指摘したバグ)
・csa.c → csaファイルの対局者名読み込み部分のバグ修正。(私が指摘したバグ)
・bitop.h → 削除(使ってなかったため)
・main.c →

#if defined(CSASHOGI)
FreeConsole();
」のところ、「&& defined(_WIN32)」を書き忘れてあったのを修正。
・searchr.c

	      if ( root_abort )
		{
		  UnMakeMove( turn, MOVE_CURR, 1 );
		  return 0;
		}
	      if ( bound < value )
		{
		  new_depth = depth + extension;
		  value = -search( ptree, -beta, -bound, Flip(turn), new_depth,
				   2, state_node_new );
		}
   }

	      if ( ! root_abort && bound < value )
		{
		  new_depth = depth + extension;
		  value = -search( ptree, -beta, -bound, Flip(turn), new_depth,
				   2, state_node_new );
		}
	      if ( root_abort )
		{
		  UnMakeMove( turn, MOVE_CURR, 1 );
		  return 0;
		}
	    }

・src/bonanza/lan.txt 追加。
これは、 CSA Shogi serverに接続したときの入力シーケンスの例のようです。


・src/bonanza/book_anti.csa 追加。
これはプロの棋譜に出てくる悪い指し手を記述するサンプルのようです。この機能自体は、Bonanza 4.1.2のときからあった機能なのですが、隠し(?)機能になっていて、使い方が知られていなかったので、そのサンプルファイルを書いたということなのだと思います。


■ まとめ


Bonanza 4.1.3は、4.1.2のbug fixがほとんどです。強さに影響するとしたら定跡データが若干変更されていることぐらいで、思考ルーチンとしてはほぼ変わらないと言えます。


もしかすると、強くなるような修正をしたものは大会用に温存しておいて、公開しているBonanzaシリーズはbug fixのみに留めておくということなのでしょうか・・。