version 1.4.67b
authorH.G. Muller <h.g.muller@hccnet.nl>
Thu, 9 Jun 2011 08:20:16 +0000 (10:20 +0200)
committerH.G. Muller <h.g.muller@hccnet.nl>
Thu, 9 Jun 2011 08:20:16 +0000 (10:20 +0200)
13 files changed:
ChangeLog
README
book.c
config.h
configure
configure.ac
debian/changelog
debian/files
main.c
polyglot.man
polyglot.pod
polyglot.spec
xboard2uci.c

index 7f1d962..41baf84 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,5 @@
+========1.4.67b=================
+- Disable "book learning". Polyglot saves learning information but does not use it itself, probably for a reason. I believe the booklearning concept of Polyglot is fundamentally broken. Learning information is engine specific so it should not be saved in the opening book (it might be saved elsewhere). There are other issues as well, such as copyright and the possibility of the proliferation of polluted books. Opening books can be improved with information from games by using the merge command. This is a form of off line learning which is probably much more effective since one has strict control over what kind of information is added to the book.
 ========1.4.66b=================
 - Fix a printf 32 vs 64 bit format (crash) bug which manifested itself on windows.
 ========1.4.65b=================
diff --git a/README b/README
index 9370479..339c1f4 100644 (file)
--- a/README
+++ b/README
@@ -32,7 +32,8 @@ SYNOPSIS
        polyglot perft [-fen fen] [-max-depth depth]
 
 DESCRIPTION
-   PolyGlot as adapter and book engine
+       PolyGlot as adapter and book engine
+
        PolyGlot is a "UCI adapter".  It connects a GUI interface (such as
        XBoard, Winboard, Arena or Chessbase) to a UCI chess engine.
 
@@ -63,7 +64,8 @@ DESCRIPTION
        NOTE: Not all options are exported, only those that make sense in the
        given mode.
 
-   Book making utilities
+       Book making utilities
+
        PolyGlot supports the "PolyGlot opening book format". This is the
        defacto standard non-proprietary opening book format. It is fully
        documented here
@@ -109,12 +111,14 @@ DESCRIPTION
        Due to the possibility of transpositions this is not a fool proof
        method.
 
-   Epd test mode
+       Epd test mode
+
        In epd test mode, PolyGlot will search positions in an epd file and
        record the number of times the right best move was found.  The
        arguments specify when to stop the search in any given position.
 
-   Perft counts
+       Perft counts
+
        A perft count is the number of legal move sequence in a given position
        up to a given depth. PolyGlot can perform such perft counts. It is
        however much slower than other more dedicated programs.
@@ -155,7 +159,8 @@ OPTIONS
 
        When invoked as
 
-   polyglot make-book
+       polyglot make-book
+
        PolyGlot supports the following options
 
        -pgn (default: "book.pgn")
@@ -188,7 +193,8 @@ OPTIONS
 
        When invoked as
 
-   polyglot merge-book
+       polyglot merge-book
+
        PolyGlot supports the following options
 
        -in1
@@ -206,7 +212,8 @@ OPTIONS
 
        When invoked as
 
-   polyglot dump-book
+       polyglot dump-book
+
        PolyGlot supports the following options
 
        -bin (default: book.bin)
@@ -220,7 +227,8 @@ OPTIONS
 
        When invoked as
 
-   polyglot info-book
+       polyglot info-book
+
        PolyGlot supports the following options
 
        -bin (default: book.bin)
@@ -232,7 +240,8 @@ OPTIONS
 
        When invoked as
 
-   polyglot epd-test
+       polyglot epd-test
+
        (possibly with a config file as first argument) PolyGlot supports
        besides the generic options described above the following additional
        options.
@@ -258,7 +267,8 @@ OPTIONS
 
        When invoked as
 
-   polyglot perft
+       polyglot perft
+
        PolyGlot supports the following options
 
        -fen (default: starting position)
@@ -287,7 +297,8 @@ CONFIG FILE FORMAT
        "Quoting" other characters in this way has no effect. In particular the
        use of '\' as a path separator in windows should normally not affected.
 
-   [PolyGlot] section
+       [PolyGlot] section
+
        This section is used by PolyGlot only.  The engine is unaware of these
        options.  The list of available options is detailed below.
 
@@ -399,8 +410,7 @@ CONFIG FILE FORMAT
            move with the highest weight is selected.
 
        BookLearn (default: false)
-           Store learning information in the book (which must be writable).
-           Currently no engine actually uses this information.
+           This is a noop.
 
        BookDepth (default: 256)
            Stop using the book after this number of moves.
@@ -435,7 +445,8 @@ CONFIG FILE FORMAT
            If true then PolyGlot restricts the options it sends to those that
            are potentially useful for WinBoard.
 
-   Work arounds
+       Work arounds
+
        Work arounds are identical to options except that they should be used
        only when necessary.  Their purpose is to try to hide problems with
        various software (not just engines).
@@ -478,7 +489,8 @@ CONFIG FILE FORMAT
            to the way kibitzing is implemented, KibitzMove is disabled in that
            case.
 
-   [Engine] section
+       [Engine] section
+
        This section contains engine UCI options.  PolyGlot does not understand
        them, but sends the information to the engine at startup (converted to
        UCI form).  You can add any UCI option that makes sense to the engine
@@ -556,4 +568,4 @@ SEE ALSO
 
 
 
-                                  2010-12-31                       POLYGLOT(6)
+                                  2011-06-01                       POLYGLOT(6)
diff --git a/book.c b/book.c
index 49c0962..9c7e04f 100644 (file)
--- a/book.c
+++ b/book.c
@@ -60,7 +60,7 @@ bool book_is_open(){
 void book_open(const char file_name[]) {
 
    ASSERT(file_name!=NULL);
-   if(option_get_bool(Option,"BookLearn")){
+   if(FALSE && option_get_bool(Option,"BookLearn")){
        BookFile = fopen(file_name,"rb+");
    }else{
        BookFile = fopen(file_name,"rb");
index 79415ab..c18275c 100644 (file)
--- a/config.h
+++ b/config.h
 #define PACKAGE_NAME "polyglot"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "polyglot 1.4.65b"
+#define PACKAGE_STRING "polyglot 1.4.67b"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "polyglot"
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "1.4.65b"
+#define PACKAGE_VERSION "1.4.67b"
 
 /* Define to 1 if the C compiler supports function prototypes. */
 #define PROTOTYPES 1
 #define TIME_WITH_SYS_TIME 1
 
 /* Version number of package */
-#define VERSION "1.4.65b"
+#define VERSION "1.4.67b"
 
 /* Define like PROTOTYPES; this can be used by system headers. */
 #define __PROTOTYPES 1
index 814d7c8..e3b7cf4 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for polyglot 1.4.66b.
+# Generated by GNU Autoconf 2.61 for polyglot 1.4.67b.
 #
 # Report bugs to <michel.vandenbergh@uhasselt.be>.
 #
@@ -574,8 +574,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
 # Identity of this package.
 PACKAGE_NAME='polyglot'
 PACKAGE_TARNAME='polyglot'
-PACKAGE_VERSION='1.4.66b'
-PACKAGE_STRING='polyglot 1.4.66b'
+PACKAGE_VERSION='1.4.67b'
+PACKAGE_STRING='polyglot 1.4.67b'
 PACKAGE_BUGREPORT='michel.vandenbergh@uhasselt.be'
 
 ac_unique_file="mainloop.c"
@@ -1207,7 +1207,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures polyglot 1.4.66b to adapt to many kinds of systems.
+\`configure' configures polyglot 1.4.67b to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1273,7 +1273,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of polyglot 1.4.66b:";;
+     short | recursive ) echo "Configuration of polyglot 1.4.67b:";;
    esac
   cat <<\_ACEOF
 
@@ -1357,7 +1357,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-polyglot configure 1.4.66b
+polyglot configure 1.4.67b
 generated by GNU Autoconf 2.61
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1371,7 +1371,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by polyglot $as_me 1.4.66b, which was
+It was created by polyglot $as_me 1.4.67b, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   $ $0 $@
@@ -2061,7 +2061,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='polyglot'
- VERSION='1.4.66b'
+ VERSION='1.4.67b'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -6848,7 +6848,7 @@ exec 6>&1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by polyglot $as_me 1.4.66b, which was
+This file was extended by polyglot $as_me 1.4.67b, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -6901,7 +6901,7 @@ Report bugs to <bug-autoconf@gnu.org>."
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-polyglot config.status 1.4.66b
+polyglot config.status 1.4.67b
 configured by $0, generated by GNU Autoconf 2.61,
   with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
index 4c0a867..2d61a3e 100644 (file)
@@ -2,7 +2,7 @@
 # Process this file with autoconf to produce a configure script.
 
 AC_PREREQ(2.61)
-AC_INIT([polyglot], [1.4.66b], [michel.vandenbergh@uhasselt.be])
+AC_INIT([polyglot], [1.4.67b], [michel.vandenbergh@uhasselt.be])
 AM_INIT_AUTOMAKE
 AC_CONFIG_SRCDIR([mainloop.c])
 AC_CONFIG_HEADER([config.h])
index 3b06a44..a7e2a69 100644 (file)
@@ -1,3 +1,72 @@
+polyglot (1.4.67b) unstable; urgency=low
+       
+  *   Disable "book learning". Polyglot saves learning information but does not use it itself, probably for a reason. I believe the booklearning concept of Polyglot is fundamentally broken. Learning information is engine specific so it should not be saved in the opening book (it might be saved elsewhere). There are other issues as well, such as copyright and the possibility of the proliferation of polluted books. Opening books can be improved with information from games by using the merge command. This is a form of off line learning which is probably much more effective since one has strict control over what kind of information is added to the book.
+       
+       
+ -- Michel Van den Bergh <michel.vandenbergh@uhasselt.be>  Fri, 8 Apr 2011 21:00:00 +0100      
+
+polyglot (1.4.66b) unstable; urgency=low
+       
+  *   Fix a printf 32 vs 64 bit format (crash) bug which manifested itself on windows.
+       
+ -- Michel Van den Bergh <michel.vandenbergh@uhasselt.be>  Fri, 8 Apr 2011 21:00:00 +0100      
+
+polyglot (1.4.65b) unstable; urgency=low
+       
+  *   Bugfix: dump-book with -color black generated the file book_white.txt.
+       
+ -- Michel Van den Bergh <michel.vandenbergh@uhasselt.be>  Fri, 1 Apr 2011 21:00:00 +0100      
+
+polyglot (1.4.64b) unstable; urgency=low
+       
+  *   Reduce movetime in the implementation of the fixed time per move command (st), to account for differences in the wording of the protocols. 
+       
+ -- Michel Van den Bergh <michel.vandenbergh@uhasselt.be>  Fri, 31 Dec 2010 21:00:00 +0100     
+
+polyglot (1.4.63b) unstable; urgency=low
+       
+  *  Give ponder move as hint.
+  *  Support for egtpath "gaviota" (this is a bit hacky now).
+       
+ -- Michel Van den Bergh <michel.vandenbergh@uhasselt.be>  Sat, 4 Dec 2010 21:00:00 +0100      
+
+polyglot (1.4.62b) unstable; urgency=low
+       
+  *  StringSize was not everywhere the same in Polyglot. This could lead to a buffer overflow in case of very long PV's. 
+       
+ -- Michel Van den Bergh <michel.vandenbergh@uhasselt.be>  Sat, 20 Nov 2010 21:00:00 +0100     
+
+polyglot (1.4.61b) unstable; urgency=low
+       
+  * uci_isready replaced by uci_isready_sync. Polyglot should not send commands to the engine while it is syncing.
+       
+ -- Michel Van den Bergh <michel.vandenbergh@uhasselt.be>  Sat, 2 Oct 2010 21:00:00 +0100      
+
+polyglot (1.4.60b) unstable; urgency=low
+
+  * The result string after an illegal move now shows the actual attempted move.
+
+ -- Michel Van den Bergh <michel.vandenbergh@uhasselt.be>  Fri, 1 Oct 2010 21:00:00 +0100      
+
+polyglot (1.4.59b) unstable; urgency=low
+
+  * Bugfix: the changes in 1.4.57b created a regression where the input buffer of polyglot could overflow with engines producing lots of output very fast. 
+
+ -- Michel Van den Bergh <michel.vandenbergh@uhasselt.be>  Wed, 29 Sep 2010 21:00:00 +0100
+       
+polyglot (1.4.58b) unstable; urgency=low
+
+  * Implementation of BookDepth in UCI mode.
+  * Small corrections to the manpage. 
+       
+ -- Michel Van den Bergh <michel.vandenbergh@uhasselt.be>  Wed, 25 Apr 2010 21:00:00 +0100
+
+polyglot (1.4.57b) unstable; urgency=low
+
+  * First attempt at killing engines that do not react to "quit". 
+       
+ -- Michel Van den Bergh <michel.vandenbergh@uhasselt.be>  Wed, 25 Apr 2010 21:00:00 +0100
+
 polyglot (1.4.56b) unstable; urgency=low
 
   * Better handling of non-existing engine command.
index ddf3988..da3af81 100644 (file)
@@ -1 +1 @@
-polyglot_1.4.56b_i386.deb games extra
+polyglot_1.4.65b_amd64.deb games extra
diff --git a/main.c b/main.c
index ae88cb0..b73c630 100644 (file)
--- a/main.c
+++ b/main.c
@@ -39,7 +39,7 @@
 // constants
 
 
-static const char * const Version = "1.4.66b";
+static const char * const Version = "1.4.67b";
 static const char * const HelpMessage = "\
 SYNTAX\n\
 * polyglot [configfile] [-noini] [-ec engine] [-ed enginedirectory] [-en enginename] [-log true/false] [-lf logfile] [-pg <name>=<value>]* [-uci <name>=<value>]*\n\
index 32022f1..14ce289 100644 (file)
@@ -1,7 +1,15 @@
-.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -45,7 +53,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "POLYGLOT 6"
-.TH POLYGLOT 6 "2010-12-31" "" ""
+.TH POLYGLOT 6 "2011-06-01" "" ""
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -152,7 +160,7 @@ polyglot [configfile] epd-test [engineoptions] [\-epd inputfile] [\-min\-depth d
 polyglot perft [\-fen fen] [\-max\-depth depth]
 .SH "DESCRIPTION"
 .IX Header "DESCRIPTION"
-.SS "PolyGlot as adapter and book engine"
+.Sh "PolyGlot as adapter and book engine"
 .IX Subsection "PolyGlot as adapter and book engine"
 PolyGlot is a \*(L"\s-1UCI\s0 adapter\*(R".  It connects a \s-1GUI\s0 interface (such as
 XBoard, Winboard, Arena or Chessbase) to a \s-1UCI\s0 chess engine.
@@ -183,7 +191,7 @@ by \*(L"Polyglot\*(R". This makes it easy to filter them in the \s-1GUI\s0.
 .PP
 \&\s-1NOTE:\s0 Not all options are exported, only those that make sense in the
 given mode.
-.SS "Book making utilities"
+.Sh "Book making utilities"
 .IX Subsection "Book making utilities"
 PolyGlot supports the \*(L"PolyGlot opening book format\*(R". This is the
 defacto standard non-proprietary opening book format. It is fully documented
@@ -228,12 +236,12 @@ it is difficult to identify the latter. If invoked with \*(L"\-exact\*(R" the
 utility info-book will attempt to count the isolated positions which
 require a player to make a non-book move when a book move is available.
 Due to the possibility of transpositions this is not a fool proof method.
-.SS "Epd test mode"
+.Sh "Epd test mode"
 .IX Subsection "Epd test mode"
 In epd test mode, PolyGlot will search positions in an epd file and
 record the number of times the right best move was found.  The
 arguments specify when to stop the search in any given position.
-.SS "Perft counts"
+.Sh "Perft counts"
 .IX Subsection "Perft counts"
 A perft count is the number of legal move sequence in a given position
 up to a given depth. PolyGlot can perform such perft counts. It
@@ -280,7 +288,7 @@ This is an alias for \-pg \*(L"LogFile=<value>\*(R".
 This is an alias for \-pg \*(L"OnlyWbOptions=<value>\*(R".
 .PP
 When invoked as
-.SS "polyglot make-book"
+.Sh "polyglot make-book"
 .IX Subsection "polyglot make-book"
 PolyGlot supports the following options
 .ie n .IP "\fB\-pgn\fR (default: ""book.pgn"")" 4
@@ -315,7 +323,7 @@ equal probability.
 .PP
 When invoked
 as
-.SS "polyglot merge-book"
+.Sh "polyglot merge-book"
 .IX Subsection "polyglot merge-book"
 PolyGlot supports the following options
 .IP "\fB\-in1\fR" 4
@@ -334,7 +342,7 @@ moves and weights from \*(L"in1\*(R" will be retained in \*(L"out\*(R".
 .PP
 When invoked
 as
-.SS "polyglot dump-book"
+.Sh "polyglot dump-book"
 .IX Subsection "polyglot dump-book"
 PolyGlot supports the following options
 .IP "\fB\-bin\fR (default: book.bin)" 4
@@ -349,7 +357,7 @@ The name of the output file.
 .PP
 When invoked
 as
-.SS "polyglot info-book"
+.Sh "polyglot info-book"
 .IX Subsection "polyglot info-book"
 PolyGlot supports the following options
 .IP "\fB\-bin\fR (default: book.bin)" 4
@@ -361,7 +369,7 @@ Attempt to count the provably unreachable positions among the isolated ones.
 Note that this takes a very long time.
 .PP
 When invoked as
-.SS "polyglot epd-test"
+.Sh "polyglot epd-test"
 .IX Subsection "polyglot epd-test"
 (possibly with a config file as first argument) PolyGlot supports
 besides the generic options described above the following additional
@@ -386,7 +394,7 @@ Minimal search depth when the search is stopped using \*(L"\-depth\-delta\*(R".
 Minimal search time when the search is stopped using \*(L"\-depth\-delta\*(R".
 .PP
 When invoked as
-.SS "polyglot perft"
+.Sh "polyglot perft"
 .IX Subsection "polyglot perft"
 PolyGlot supports the following
 options
@@ -419,7 +427,7 @@ PolyGlot (these are ';#[]=\e') you should quote them by preceding them
 with '\e'. \*(L"Quoting\*(R" other characters in this way has no effect. In
 particular the use of '\e' as a path separator in windows should
 normally not affected.
-.SS "[PolyGlot] section"
+.Sh "[PolyGlot] section"
 .IX Subsection "[PolyGlot] section"
 This section is used by PolyGlot only.  The engine is unaware of these
 options.  The list of available options is detailed below.
@@ -533,8 +541,7 @@ Select moves according to their weights in the book. If false the move
 with the highest weight is selected.
 .IP "\fBBookLearn\fR (default: false)" 4
 .IX Item "BookLearn (default: false)"
-Store learning information in the book (which must be writable). Currently
-no engine actually uses this information.
+This is a noop.
 .IP "\fBBookDepth\fR (default: 256)" 4
 .IX Item "BookDepth (default: 256)"
 Stop using the book after this number of moves.
@@ -566,7 +573,7 @@ st command is only an upperbound.
 .IX Item "OnlyWbOptions (default: true)"
 If true then PolyGlot restricts the options it sends to those that
 are potentially useful for WinBoard.
-.SS "Work arounds"
+.Sh "Work arounds"
 .IX Subsection "Work arounds"
 Work arounds are identical to options except that they should be used
 only when necessary.  Their purpose is to try to hide problems with
@@ -607,7 +614,7 @@ however do not send a new pv string just before sending the move.
 In that case the output of PolyGlot would be inconsistent. 
 When RepeatPV is false PolyGlot does not repeat the last pv string.
 Due to the way kibitzing is implemented, KibitzMove is disabled in that case.
-.SS "[Engine] section"
+.Sh "[Engine] section"
 .IX Subsection "[Engine] section"
 This section contains engine \s-1UCI\s0 options.  PolyGlot does not
 understand them, but sends the information to the engine at startup
index ee37df6..9ebf8bf 100644 (file)
@@ -493,8 +493,7 @@ with the highest weight is selected.
 
 =item B<BookLearn> (default: false)
 
-Store learning information in the book (which must be writable). Currently
-no engine actually uses this information. 
+This is a noop.
 
 =item B<BookDepth> (default: 256)
 
index 5d4f0b7..83980fc 100644 (file)
@@ -1,6 +1,6 @@
 Summary: A Winboard protocol to UCI protocol adapter
 Name: polyglot
-Version: 1.4.66b
+Version: 1.4.67b
 Release: 1
 License: GPL
 Group: Amusement/Games
index d5dd746..762f1c8 100644 (file)
@@ -443,7 +443,7 @@ void xboard2uci_gui_step(char string[]) {
 
                                // book learning
 
-                               if (option_get_bool(Option,"Book") &&
+                               if (FALSE && option_get_bool(Option,"Book") &&
                     option_get_bool(Option,"BookLearn")) {
 
                                        if (FALSE) {