Petr Baudis [Sun, 12 Aug 2012 14:56:28 +0000 (12 16:56 +0200)]
Change default time settings from -t =80000 to -t 15
This loses a semi-nice property that Pachi will by default have
the same strength on any computer, but on the other hand it will
make Pachi adjust its strength based on the computer without playing
needlessly fast or taking way too long time per move. This should be
more user friendly. Suggested by Jean-Loup.
Petr Baudis [Sun, 12 Aug 2012 14:12:32 +0000 (12 16:12 +0200)]
UCT pondering: Enable by default
Petr Baudis [Sun, 12 Aug 2012 12:24:52 +0000 (12 14:24 +0200)]
UCT max_maintime_ratio: Raise back to 2.0
Based on empirical observation during a 9x9 tournament.
2.0 is still dramatic decrease from the previous default 3.0 and should
avoid most troublesome situations, but my gut feeling is that Pachi is
just playing way too fast now. It's not based on hard data, but neither
was the reduction to 1.5, IIRC.
Petr Baudis [Sun, 12 Aug 2012 12:19:17 +0000 (12 14:19 +0200)]
UCT virtual_loss: Revert default change
It seems all our virtual_loss tuning was bogus due to a mistake
in the option setting code - all tests were in fact done with
virtual_loss zero.
High virtual_loss has catastrophic effect on gameplay - it transforms
the tree to long narrow corridors with high difference between black
and white node values. I'm not 100% sure about the cause even though
I spent quite long time trying to debug this, but I think it's because
the noise introduced by updates lost due to conflicts is just too high.
Moreover, with virtual_loss raising with number of threads, both the
noise rate and noise magnitude goes up, amplifying the effect.
Petr Baudis [Sun, 12 Aug 2012 12:18:41 +0000 (12 14:18 +0200)]
UCT virtual_loss: Allow setting virtual_loss to arbitrary values
Petr Baudis [Sun, 12 Aug 2012 12:18:15 +0000 (12 14:18 +0200)]
uct_leaf_node(): Fix node value debug print
Petr Baudis [Sun, 12 Aug 2012 10:37:24 +0000 (12 12:37 +0200)]
fbook_init(): Remove bogus comment
Jean-loup Gailly [Sun, 12 Aug 2012 00:21:25 +0000 (12 02:21 +0200)]
New parameter defaults, obtained by tuning on large configurations
Kept default debug_level=3 and pondering=0 but for optimal results
use: -d 0 pondering=1
Petr Baudis [Thu, 9 Aug 2012 22:09:42 +0000 (10 00:09 +0200)]
chat_init(): Fix problematic ptrdiff_t format string handling
Introduced in commit
2e8729f.
Neil Mclean [Wed, 8 Aug 2012 19:32:09 +0000 (8 21:32 +0200)]
Ammend to static inline, for no gcc warning.
Neil Mclean [Wed, 8 Aug 2012 19:31:52 +0000 (8 21:31 +0200)]
GCC: -Wextra warning: ‘static’ is not at beginning of declaration.
Neil Mclean [Wed, 8 Aug 2012 19:31:10 +0000 (8 21:31 +0200)]
Change type of mercymin to 'int' to avoid gcc sign-compare warning.
Neil Mclean [Wed, 18 Jul 2012 00:06:29 +0000 (18 01:06 +0100)]
Win32 gcc compiler warning fix. Added util.h prototype for stpcpy().
Petr Baudis [Mon, 6 Aug 2012 00:32:43 +0000 (6 02:32 +0200)]
Fix stack overflows and crashes when reading very long ladders
Petr Baudis [Sun, 5 Aug 2012 16:24:04 +0000 (5 18:24 +0200)]
UCT initial_extra_komi: Way to seed adaptive dynkomi, also preserve it across state resets
This means that unexpected opponent move (promotion failure) will not reset the dynamic komi. This is fairly important esp. for the maximize_score option.
Petr Baudis [Wed, 1 Aug 2012 20:56:03 +0000 (1 22:56 +0200)]
UCT spawn_thread_manager(): Make sure each thread gets 1M stack
Petr Baudis [Wed, 1 Aug 2012 20:55:13 +0000 (1 22:55 +0200)]
middle_ladder_walk(): Use alloca() for board copy allocation
This should somewhat reduce stack usage which seems to give us some trouble with deep ladders.
Petr Baudis [Wed, 1 Aug 2012 16:40:20 +0000 (1 18:40 +0200)]
README: Mention large-scale board patterns
Petr Baudis [Wed, 1 Aug 2012 16:37:50 +0000 (1 18:37 +0200)]
README: Update strength estimates
Petr Baudis [Wed, 1 Aug 2012 15:22:16 +0000 (1 17:22 +0200)]
README Greedy Pachi: Mention xkomi/extra komi messages
Petr Baudis [Wed, 1 Aug 2012 15:21:27 +0000 (1 17:21 +0200)]
uct_progress_text(): komi -> xkomi
Petr Baudis [Tue, 31 Jul 2012 07:41:51 +0000 (31 09:41 +0200)]
UCT adaptive dynkomi: Less verbose
Petr Baudis [Mon, 30 Jul 2012 20:52:51 +0000 (30 22:52 +0200)]
UCT: Introduce 'maximize_score' preset that turns on adaptive dynkomi, val_scale and allow_losing_pass.
Petr Baudis [Mon, 30 Jul 2012 20:37:10 +0000 (30 22:37 +0200)]
RULES_PASS_STONES -> RULES_SIMING, also count handicap stones as points
Petr Baudis [Mon, 30 Jul 2012 20:04:53 +0000 (30 22:04 +0200)]
RULES_PASS_STONES: Correctly support undo
Petr Baudis [Mon, 30 Jul 2012 20:03:38 +0000 (30 22:03 +0200)]
Preserve rules over board_clear()
Petr Baudis [Mon, 30 Jul 2012 12:27:13 +0000 (30 14:27 +0200)]
Add support for RULES_PASS_STONES - player hands a stone to the opponent on pass
Requested by Robert Jasiek for the 13x13 EGC2012 tournament.
Petr Baudis [Mon, 30 Jul 2012 12:14:36 +0000 (30 14:14 +0200)]
./pachi -r RULESET to set rules from commandline
Petr Baudis [Mon, 30 Jul 2012 12:11:13 +0000 (30 14:11 +0200)]
board_set_rules(): Offloaded name->ruleset conversion from gtp.c:kgs-rules
Petr Baudis [Sun, 29 Jul 2012 16:51:59 +0000 (29 18:51 +0200)]
UCT allow_losing_pass: Fix significant[] array access
Petr Baudis [Sun, 29 Jul 2012 08:24:47 +0000 (29 10:24 +0200)]
UCT dynkomi no_komi_at_game_end: Setting that allows applying dynkomi for the _whole_ game
...if set to false. Default is true and current behavior, semi-complete games turn off dynkomi before the end for safety.
Petr Baudis [Sun, 29 Jul 2012 08:23:27 +0000 (29 10:23 +0200)]
UCT allow_losing_pass: Pachi will pass even if losing if all points have clear status
Petr Baudis [Sat, 28 Jul 2012 23:04:52 +0000 (29 01:04 +0200)]
Support for value scaling with variable coefficient: val_bytemp, val_bytemp_min
Petr Baudis [Sat, 28 Jul 2012 21:30:25 +0000 (28 23:30 +0200)]
UCT val_byavg: Support for value-score scaling anchored at average score
Petr Baudis [Sat, 28 Jul 2012 21:27:05 +0000 (28 23:27 +0200)]
.gitignore: -test (whatever that is?), +tags (ctags) and patterns.{prob,spat}
Petr Baudis [Fri, 27 Jul 2012 19:21:04 +0000 (27 21:21 +0200)]
tools/sgflib/.gitignore: Ignore *.pyc
Neil Mclean [Mon, 16 Jul 2012 23:00:54 +0000 (17 00:00 +0100)]
Resolving compiler warnings on gcc 4.7
Const and casting type fixes.
1lib.c - function capturable_group() was'nt declared inline
util.h - Changed WIN32 function prototype to match that in MinGW winbase.h
Neil Mclean [Sun, 15 Jul 2012 22:44:16 +0000 (15 23:44 +0100)]
Win32 MinGW compilation changes, chat.c requires regex parsing library.
string.h function 'index()' is Posix deprecated, equivalent to 'strchr()'
Petr Baudis [Fri, 18 May 2012 14:49:48 +0000 (18 16:49 +0200)]
fast_frandom() always returns float, not floating_t
Noticed by Michael Williams.
Petr Baudis [Fri, 18 May 2012 14:45:22 +0000 (18 16:45 +0200)]
JSON reporting: Report finally picked move
The 'move' line now includes a 'choice' field with the coordinate (or
'pass' or 'resign') instead of a 'best' field which was rather
misleading in this case.
Prompted by Jonathan Chetwynd.
Petr Baudis [Fri, 18 May 2012 14:23:42 +0000 (18 16:23 +0200)]
Revert "uct_genmove(): In case of json reporting, print a JSON final_decision message"
This reverts commit
de9b9974efe249918544e971d2d5a8c6791525a4.
Jonathan convinced me that final_decision is a rather ugly hack,
and maybe we can report this in JSON differently without too much
invasiveness.
Petr Baudis [Fri, 27 Apr 2012 00:09:30 +0000 (27 02:09 +0200)]
Merge branch 'master' of ssh://repo.or.cz/srv/git/pachi
Petr Baudis [Fri, 27 Apr 2012 00:09:22 +0000 (27 02:09 +0200)]
uct_genmove(): In case of json reporting, print a JSON final_decision message
Jean-loup Gailly [Sun, 22 Apr 2012 14:34:55 +0000 (22 16:34 +0200)]
Add option -c chat_file to support fancy replies to kgs-chat
Jean-loup Gailly [Sat, 21 Apr 2012 15:01:26 +0000 (21 17:01 +0200)]
Merge branch 'master' into derm10
Petr Baudis [Sat, 21 Apr 2012 13:29:50 +0000 (21 15:29 +0200)]
UCT setup_state(): Allow first move to be white, just emit a warning
Jean-loup Gailly [Fri, 20 Apr 2012 14:31:25 +0000 (20 16:31 +0200)]
Distributed engine: exclude random moves with very few playouts
This might fix http://files.gokgs.com/games/2012/3/31/pachi2-tuke.sgf
where pachi resigned while winning by 1.5.
Jean-loup Gailly [Fri, 30 Mar 2012 21:55:56 +0000 (30 23:55 +0200)]
board_effective_handicap: use first_move_value for h1 games
In http://files.gokgs.com/games/2012/3/30/pachi2-bathory.sgf pachi thought
it was leading up to the end even though first_move_value was 1.
Jean-loup Gailly [Fri, 23 Mar 2012 15:28:17 +0000 (23 16:28 +0100)]
uctp_generic_choose: fix determination of the second best move
In t-regress/games/2012-03-21-pachi2-Hujisawa-3.sgf pass was the best
move and nbest2 was never set.
Jean-loup Gailly [Fri, 23 Mar 2012 15:18:30 +0000 (23 16:18 +0100)]
uct_pass_is_safe: only require us to capture dead opponents
We can deadlock if we also require the opponent to capture our dead stones.
See example t-regress/games/2012-03-21-pachi2-Hujisawa-3.sgf
Several bugs are exposed by this example, this is the first of several fixes.
Jean-loup Gailly [Thu, 22 Mar 2012 08:48:23 +0000 (22 09:48 +0100)]
Fix compilation error from
16d9c54
Jean-loup Gailly [Thu, 22 Mar 2012 08:26:05 +0000 (22 09:26 +0100)]
MAX_PATTERN_DIST: 6 -> 7
This does not make a measureable difference against Fuego but
could be helpful against humans.
Petr Baudis [Wed, 21 Mar 2012 22:18:17 +0000 (21 23:18 +0100)]
[FEAT_CAPTURE] payloads: Include countstones payloads only in feature_payloads() and if enabled
Petr Baudis [Wed, 21 Mar 2012 22:15:30 +0000 (21 23:15 +0100)]
feature_payloads(): Take pattern_setup inst. of pattern_config as first parameter
Petr Baudis [Wed, 21 Mar 2012 22:13:14 +0000 (21 23:13 +0100)]
pattern.c: Introduce CAPTURE_COUNTSTONES_MAX
Joe Moudrik [Wed, 21 Mar 2012 19:41:16 +0000 (21 20:41 +0100)]
tools/sgf2gtp.py: Extended description, minor commandline option rename.
Joe Moudrik [Wed, 21 Mar 2012 12:34:26 +0000 (21 13:34 +0100)]
tools/sgf2gtp.py: alternative implementation of SGF to GTP converter
which takes SGF variants into consideration. Only the main variant is
played.
Joe Moudrik [Wed, 21 Mar 2012 06:57:30 +0000 (21 07:57 +0100)]
Merge branch 'master' into jmhack
Petr Baudis [Wed, 21 Mar 2012 02:56:57 +0000 (21 03:56 +0100)]
patternscan: Fix crash when only a single game (or small) is fed in
The pattern for the first move in first game is not added, causing an assertion failure.
Joe Moudrik [Tue, 20 Mar 2012 14:14:28 +0000 (20 15:14 +0100)]
Merge branch 'master' into jmhack
Joe Moudrik [Tue, 20 Mar 2012 14:06:46 +0000 (20 15:06 +0100)]
pattern.[ch]: Added CAPTURE feature counting number of stones.
Petr Baudis [Tue, 20 Mar 2012 13:09:00 +0000 (20 14:09 +0100)]
tools/pattern_byplayer.sh: Fix indentation
Petr Baudis [Tue, 20 Mar 2012 13:08:25 +0000 (20 14:08 +0100)]
Merge remote-tracking branch 'origin/jmhack'
Joe Moudrik [Mon, 19 Mar 2012 11:38:53 +0000 (19 12:38 +0100)]
tools/pattern_byplayer.sh: Minor bugfix, enclose var in "".
Petr Baudis [Sun, 18 Mar 2012 10:37:05 +0000 (18 11:37 +0100)]
Merge branch 'ladders'
Petr Baudis [Sun, 18 Mar 2012 10:30:35 +0000 (18 11:30 +0100)]
MAX_PATTERN_DIST: 14 -> 6
Performance should be similar and we dramatically reduce number of
collisions and somewhat lower memory usage. The next step is to
regenerate spatial dictionary and main pattern file, which will be
slightly laborous and I will first solve collisions in a more reasonable
way.
Petr Baudis [Sat, 17 Mar 2012 22:35:49 +0000 (17 23:35 +0100)]
t-regress: Add 2012-03-15-pachi2-Leech.sgf
Petr Baudis [Sat, 17 Mar 2012 18:22:07 +0000 (17 19:22 +0100)]
Ladders: Set new defaults that fix most testcases and do not slow down Pachi
Petr Baudis [Sat, 17 Mar 2012 17:39:44 +0000 (17 18:39 +0100)]
t-regress: Add 2012-03-16-IMC-pachi2.sgf
Petr Baudis [Sun, 11 Mar 2012 18:35:28 +0000 (11 19:35 +0100)]
Merge remote branch 'origin/master' into ladders
Jean-loup Gailly [Sun, 11 Mar 2012 18:02:52 +0000 (11 19:02 +0100)]
t-regress: Add 2011-06-09-jinen-pachi30s-2.sgf
Jean-loup Gailly [Sun, 11 Mar 2012 11:49:41 +0000 (11 12:49 +0100)]
Avoid rave bonus for all ko threats not just the first one.
Jean-loup Gailly [Sat, 10 Mar 2012 23:26:15 +0000 (11 00:26 +0100)]
Give 0 or negative rave bonus to ko threats before taking the ko.
Joe Moudrik [Wed, 7 Mar 2012 12:13:47 +0000 (7 13:13 +0100)]
tools/pattern_byplayer.sh: Fixed attribute parsing when multiple atributes on one line.
Petr Baudis [Fri, 24 Feb 2012 19:52:12 +0000 (24 20:52 +0100)]
Merge remote branch 'origin/master' into ladders
Petr Baudis [Fri, 24 Feb 2012 18:18:08 +0000 (24 19:18 +0100)]
Merge branch 'master' of ssh://repo.or.cz/srv/git/pachi
Petr Baudis [Fri, 24 Feb 2012 16:27:47 +0000 (24 17:27 +0100)]
uct_search_result(): Verbose debug print in case pass is considered unsafe
Sometimes, Pachi mysteriously refuses to pass and it is not a reproducible bug; maybe this will help shed some light on it?
Petr Baudis [Thu, 23 Feb 2012 15:55:05 +0000 (23 16:55 +0100)]
tools/pattern_getdrops.pl: Tool for learning patterns for unexpected moves
Petr Baudis [Thu, 23 Feb 2012 15:48:36 +0000 (23 16:48 +0100)]
tools/kgslog2gtp.pl: Tool for converting kgsGtp log to extended GTP stream
Petr Baudis [Thu, 23 Feb 2012 15:45:36 +0000 (23 16:45 +0100)]
tools/pattern_bayes_gen.sh: Allow pattern harvesting from stdin
Petr Baudis [Sun, 19 Feb 2012 01:31:36 +0000 (19 02:31 +0100)]
Patternscan play: If aux. argument is 0, do not generate pattern match on this play
Petr Baudis [Sun, 19 Feb 2012 01:31:11 +0000 (19 02:31 +0100)]
GTP play: Add support for a trailing engine-specific argument
Petr Baudis [Fri, 10 Feb 2012 22:05:50 +0000 (10 23:05 +0100)]
Merge branch 'master' of ssh://repo.or.cz/srv/git/pachi
Petr Baudis [Fri, 10 Feb 2012 22:01:27 +0000 (10 23:01 +0100)]
Spatial: Deal gracefully with databases of spatials with too large radius
This will allow easy experiments with finding the optimal MAX_PATTERN_DIST.
Petr Baudis [Fri, 10 Feb 2012 18:18:27 +0000 (10 19:18 +0100)]
pattern_pdict_init() sphcachehit: Use calloc2(), we need initialized memory
Petr Baudis [Fri, 10 Feb 2012 18:17:37 +0000 (10 19:17 +0100)]
Patterns: Use unsigned where appropriate
Petr Baudis [Thu, 9 Feb 2012 23:46:39 +0000 (10 00:46 +0100)]
Spatial: Accurate analysis of hashing function performance
Petr Baudis [Sun, 22 Jan 2012 23:02:34 +0000 (23 00:02 +0100)]
strcasestr(): Custom implementation for WIN32
Pointed out by linfk.
Petr Baudis [Sun, 22 Jan 2012 22:46:47 +0000 (22 23:46 +0100)]
UCT Plugins: Act dummy on WIN32
Petr Baudis [Sun, 22 Jan 2012 22:41:21 +0000 (22 23:41 +0100)]
Makefile: Special WIN section
Petr Baudis [Sun, 22 Jan 2012 19:09:22 +0000 (22 20:09 +0100)]
Use appropriate socket includes on WIN32
Patch by linfk.
Petr Baudis [Sun, 22 Jan 2012 19:07:57 +0000 (22 20:07 +0100)]
logline(): Use inet_ntoa() instead of inet_ntop() on WIN32
Pointed out by linfk.
Petr Baudis [Sun, 22 Jan 2012 19:06:50 +0000 (22 20:06 +0100)]
time_sleep(): WIN32-specific implementation without nanosleep()
Patch by linfk.
Petr Baudis [Sun, 22 Jan 2012 19:05:18 +0000 (22 20:05 +0100)]
util.h: Include WIN32 compatibility wrappers for sleep() and __sync_fetch_and...()
Pointed out by linfk.
Petr Baudis [Sun, 22 Jan 2012 18:56:17 +0000 (22 19:56 +0100)]
Get rid of alloca() usage - non-portable
Pointed out by linfk.
Petr Baudis [Thu, 19 Jan 2012 01:07:30 +0000 (19 02:07 +0100)]
Merge branch 'master' into ladders
Petr Baudis [Thu, 19 Jan 2012 01:01:48 +0000 (19 02:01 +0100)]
is_middle_ladder(): Also test for initial escape by counter-capturing
Petr Baudis [Thu, 19 Jan 2012 01:01:16 +0000 (19 02:01 +0100)]
middle_ladder_walk(): Take next escape move as a parameter
Petr Baudis [Thu, 19 Jan 2012 01:00:25 +0000 (19 02:00 +0100)]
is_border_ladder(): Fix shortage of libs test
Petr Baudis [Thu, 19 Jan 2012 00:59:47 +0000 (19 01:59 +0100)]
UCT prior prune_ladders: Do not prune during ko fights