----------------------------------------------------------------------
         Bonanza Feliz 0.0 - The Optimistic Ensemble Approach
  Kunihito Hoki, Takuya Obata, Takuya Sugiyama, Takeshi Ito, Apr 2010
----------------------------------------------------------------------


1. Introduction
----------------

Optimistic Ensemble Approach is a cluster computing method which
selects a single move with the highest evaluation value [1]. In spite
of its simple way, this approach improves the performance of Bonanza
Feliz. By using six or more computers together, the winning rate
increases from 50% to 60% or even higher.

The cluster computing may not interest ordinary users. In fact, the
entire system should consist of a few or more computers with TCP/IP
connections. Furthermore, the performance of computers on which
clients run should be high and almost on the same level, otherwise the
composed cluster player becomes weaker than a single player which runs
on a high-performance computer. Note that the server program does not
require a high-performance computer.

The client program for this server can be built from codes in
src/executable with MNJ_LAN defined in Makefile.  The Server program
is designed to connect to a CSA Shogi server to play Shogi. The
program is distributed without GUI to play games, but you can find a
GUI which supports the CSA Shogi protocol.

[1] T. Sugiyama, T. Obata, H. Saito, K. Hoki, T. Ito, "Consultation
    Algorithm in Brain Game -A Move Decision Based on the Positional
    Evaluation Value of Each Player-", Game Programming Workshop,
    Hakone, Japan 2009.


2. Legal Notices
-----------------

This program is protected by copyrights. Without a specific 
permission, any means of commercial applications are prohibited.
Furthermore, this program is distributed without any warranty.
Within these limits, you can use, redistribute, and/or modify it.


3. Change Logs
---------------

Feliz 0.0
- The server for cluster computing is released.


4. Files
---------

Here is a list of files you can find in this directory.

- council_server.pl   the server program written in Perl.
- client1.txt         an example of input sequence to a client. Note
                      that a different initial seed should be specified to
                      all clients in the input. Also, our
                      recommendation for the standard deviation is 50.

5. How to run council server
-----------------------------

The server is tested on 5.8 and higher version of Perl, and it may not
run on Perl 4.


Options:

--client_port        A port number to clients. The default is 4082.

--client_num         A number of clients. The default is 2.

--csa_host           An Internet address of a CSA Shogi server.

--csa_port           A port number of the CSA Shogi server.

--csa_id             Specify your ID to the CSA Shogi server.

--csa_pw             Specify your password to the CSA Shogi server.

--sec_limit          Time control in seconds.

--sec_limit_up       Specify 'Byoyomi' time in seconds.

--time_response      Indicate a margin to control time in seconds. This
                     margin saves the council server from running out
                     of time due to TCP/IP communication to a server
                     program, sudden disc access, or imperfection of
                     time control of the server. The default is 0.2.

--resign_threshold   This option specifies the threshold to
                     resign by a negative integer. The default is
                     -1500.

