[Pachi] [ANNOUNCE] Pachi 10.00 "Satsugen"

Petr Baudis pasky at ucw.cz
Mon Aug 13 12:28:37 CEST 2012


On Mon, Aug 13, 2012 at 09:43:30AM +0100, jonathan chetwynd wrote:
> congratulations on this major upgrade,
> I am keen to use, but:
> where is documentation on changes?

  In the announcement. :-) I might also include a list of all commits
since the last release:

Jean-loup Gailly (16):
      Revert "is_bad_selfatari(): There are no self-atari when playing a ko threat"     This reverts commit 1e5a12dc7421f1b6cd68d1f6b32c1abfeb3b188e.     It was a 45 elo drop on high end hardware.
      Reduce EXPECTED_FINAL_EMPTY_PERCENT from 25 to 20 to avoid losing because of time.
      Do not advertise internal pachi-genmoves command
      Give 0 or negative rave bonus to ko threats before taking the ko.
      Avoid rave bonus for all ko threats not just the first one.
      t-regress: Add 2011-06-09-jinen-pachi30s-2.sgf
      MAX_PATTERN_DIST: 6 -> 7
      Fix compilation error from 16d9c54
      uct_pass_is_safe: only require us to capture dead opponents
      uctp_generic_choose: fix determination of the second best move
      board_effective_handicap: use first_move_value for h1 games
      Distributed engine: exclude random moves with very few playouts
      Merge branch 'master' into derm10
      Add option -c chat_file to support fancy replies to kgs-chat
      New parameter defaults, obtained by tuning on large configurations
      Distributed mode: no time limit by default on slaves, control on master only

Joe Moudrik (7):
      tools/pattern_byplayer.sh: Fixed attribute parsing when multiple atributes on one line.
      tools/pattern_byplayer.sh: Minor bugfix, enclose var in "".
      pattern.[ch]: Added CAPTURE feature counting number of stones.
      Merge branch 'master' into jmhack
      Merge branch 'master' into jmhack
      tools/sgf2gtp.py: alternative implementation of SGF to GTP converter     which takes SGF variants into consideration. Only the main variant is     played.
      tools/sgf2gtp.py: Extended description, minor commandline option rename.

Neil Mclean (6):
      Win32 MinGW compilation changes, chat.c requires regex parsing library.     string.h function 'index()' is Posix deprecated, equivalent to 'strchr()'
      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
      Win32 gcc compiler warning fix. Added util.h prototype for stpcpy().
      Change type of mercymin to 'int' to avoid gcc sign-compare warning.
      GCC: -Wextra warning: ‘static’ is not at beginning of declaration.
      Ammend to static inline, for no gcc warning.

Petr Baudis (255):
      uct_progress_status(): Add parameter final
      UCT reporting: Introduce new option, factor out uct_progress_text()
      UCT reporting=json: Preliminary implementation
      uct_progress_json(): Tweak the prefix string to final,interm
      board_ownermap_judge_group() -> board_ownermap_judge_groups()
      UCT reporting=jsonbig: Like json, plus ownership, chain status information
      uct_progress_json(): ownage -> territstatus
      uct_progress_json(): Remove the /**/ leader (per Jonathan's request)
      uct_progress_json(): Rename frame types back (per Jonathan's request)
      uct_progress_json(): Condense territstatus data (per Jonathan's request)
      uct_progress_json(): Merge back territstatus, chainstatus to boards.territory (per Jonathan's request)
      Merge branch 'master' into json
      uct_progress_json(): Fix territory point condition
      UCT reportfreq: Implement
      t-regress/TODO: List of candidates for regression testing
      t-regress/TODO: Consistent formatting
      t-regress/TODO: Add some categories of games
      Pachi Satsugen-devel 9.99
      UCT dynkomi linear_permove(): Always recompute extra_komi from scratch
      Merge commit '4e2bd8155d199c421cb00957d41ab00a03c2e440'
      Merge branch 'master' of ssh://repo.or.cz/srv/git/pachi
      UCT local_tree_rootgoal -> local_tree_eval = {root,each}
      UCT local_tree_eval=total: Introduce
      t-regress/README: Introdce description and SGF syntax
      t-regress: Add 2011-06-07-fidibus-pachi30s.sgf
      .gitignore: Include book.dat (we do not ship our own but Pachi can load one)
      t-regress/TODO: tsumego0->falseeye, tag few more games
      sgf2gtp.pl: Add tagline and usage
      sgf2gtp.pl -n MOVENUM: Add support for move number limiting
      sgf2gtp.pl -g: Add support for automatic genmove output
      t-regress/test-game.sh: Very crude testcase check script
      t-regress: Change syntax to allow multiple moves per testcase
      t-regress/test-game: Tweak for interactive use
      t-regress/README: Add an example
      t-regress/TODO: Fix zero-padding in the download snippet
      t-regress/TODO: Fix category processing in the download snippet
      record_local_sequence(): Cut off local sequence at pass moves
      tree_node_criticality(): const qualifiers for arguments
      board_local_value(): Fix computational for occupied points (i.e. most of them)
      Makefile: Call ld with -l library parameters listed last
      Autobook: Simple framework for automated opening book building
      Autobook: Tweak parameters
      Autobook: Verbose output
      Autobook Walk: Fix color flipping
      Autobook Walk: Start simulation by the opponent's move
      autobook2fbook.sh: Implement
      Moggy eyefillrate: Implement, based on Aja's suggestion long ago
      README: Mention the opening book
      book.dat.extra: Additional 9x9 lines for Pachi
      book.dat*: Tweak based on 9x9 computer olympiad
      UCT Linear Adaptive Dynkomi: Actually update previous value
      UCT Linear Adaptive Dynkomi: Reduce verbosity
      Revert suprious change of network.c
      is_bad_selfatari(): There are no self-atari when playing a ko threat
      board_play_in_eye(): Fix ko detection
      Merge branch 'master' of ssh://repo.or.cz/srv/git/pachi
      Restore the General Pattern Matcher
      patternscan spat_threshold: Remove obsolete 3x3 exception
      Pattern feature.payload: Enlarge to allow for >65536 spatials
      patternscan debug: Allow showing progress during scanning
      Merge branch 'patterns' of ssh://repo.or.cz/srv/git/pachi into patterns
      Pattern config spat_largest: Produce only a single spatial feature per pattern
      patternscan: Remove mm output support
      Patternscan process_pattern(): Enlarge allocation step 1024 -> 1048576
      Patternscan: Avoid overranking occurences of ko-take spatials
      Patten spat_largest: Fix handling of no spatial matches
      Pattern spatial_hash_bits 24 -> 26: Enlarges hash table size from 64mib to 256mib
      spatial_dict_load(): Print dictionary stats after loading
      PatternSP: Lower amount of collisions somewhat, retuning parameters
      pattern_spatial_gen.sh: Change default SPATMIN 650 -> 4
      pattern_bayes_gen.sh: New pattern processing script
      sgf-analyse.pl: Fix sgf2gtp usage
      tools/sgf-ratemove.sh: New tool to do what was just described in README up to now
      Merge branch 'master' into patterns
      str2pattern(): Introduce
      pattern_bayes_gen.sh: Sort patterns by occurence count by default
      pattern_eq(): Introduce
      Pattern Probability Table: Introduce basic infrastructure
      Spatial, probability pattern dictionary: Cache previously loaded database
      GTP: Rename Pachi extension commands to use the pachi- prefix
      uct_evaluate -> engine.evaluate method
      engine.evaluate: Evaluate all moves at once; moves move loop from GTP to evaluate function
      Merge remote-tracking branch 'origin/master' into patterns
      Patternplay: New engine playing and evaluating according to pattern database
      sgf-ratemove.sh: Sort moves from best to worst, not vice versa
      patternscan_play(): Be more tolerant to broken game records
      struct pattern: FEATURES 32 -> 8
      Evaluate: Print only moves with non-zero rating
      pthashes_init(): Fix board overflow of the largest patterns
      spatial_dict_read(): Test against spatial reindexing
      Probability pattern ditionary: Expect patterns ordered from least used to most used
      Probability pattern ditionary: Hash spatials only when adding their patterns
      Merge branch 'patterns' of repo.or.cz:/srv/git/pachi into patterns
      struct feature: Pack down; 24 bits is enough for payload
      Patternscan: Change output format, clearly identify winner and witnesses
      Patternscan: Introduce spat_split_sizes to generate data for spatials of all sizes
      tools/pattern_spatial_show.pl: Improve output legibility
      Patternplay rate_moves -> patternprob pattern_rate_moves()
      patternplay_evaluate(): Skip normalization; more useful values for debugging
      uct_prior_init(): Take struct uct * as a parameter
      UCT pattern prior: Implement exceedingly naive pattern-based prior
      pattern_pdict_init(): Refresh pc when returning cached instance
      uct_prior_pattern(): Debugging support
      Pattern FEAT_CONTIGUITY: Turn off by default
      pattern_bayes_gen.sh: Prune patterns with just a single occurence
      gtp_parse(): Fix memory corruption in case of boardsize w/o clear_board
      Merge branch 'master' into patterns
      Merge branch 'patterns' of ssh://repo.or.cz/srv/git/pachi into patterns
      uct_pattern -> pattern_setup, introduce patterns_init()
      Patternplay: Use patterns_init(); pattern_rate_moves() uses pattern_setup
      Patternscan: Use patterns_init()
      patterns_init(): New parameter pdict_file (for testing various pdicts)
      UCT patterns parameter: Introduce; allows e.g. pdict customization for priors
      Patternscan: Fix game counting in case of handicap games
      Patternscan color_mask: New parameter, mainly for handi games
      tools/pattern_bayes_merge.sh: New tool for merging multiple prob tables
      Eschew Surplusage: e->name -Engine
      UCT, Distributed banners: More useful message
      GTP version: Wish a nice game
      Dynkomi linear_permove(): Nicer progress messages
      Dynkomi linear_permove(): Work around assertion failure
      Merge remote-tracking branch 'origin/master' into patterns
      selfatari_cousin(): Prefer filling libs of opponent groups
      selfatari_cousin(): Check for filling eyes explicitly
      selfatari_cousin(): Truly randomized cousin choice
      Moggy eyefill test: Handle 2-lib falsifying groups as well
      UCT prior: Make pattern default at 10*eqex (200 for 19x19)
      test-game.sh: Show testcase description too
      test-game.sh: Fix handling of one-line GCs
      test-game.sh: Support ./pachi customization using $PACHIARGS
      t-regress: Add 2011-06-06-tyzef-pachi30s.sgf
      GTP: Adjust debug levels for messages to be more user-friendly
      UCT: Cut down verbosity on play commands
      t-regress: Add 2011-06-05-Zen19-pachi2.sgf
      t-regress: Introduce classification prefixes + and /
      t-regress: Introduce tagging by classification postfixes
      t-regress: Two new classifications 'must' and 'alive'
      t-regress: Add 2011-06-05-tazaki-pachi30s.sgf
      t-regress categories/tags: Switch from [] to {}, [] is troublesome in SGF
      t-regress: Add 2011-01-11-llopl-pachi2.sgf
      t-regress: Add 2010-12-05-pachi-CzechBot.sgf
      t-regress: Another new classification 'dead'
      t-regress: Add 2011-01-15-pachi2-rollingon.sgf
      t-regress: Add 2011-06-09-botkiller2-pachi30s.sgf
      t-regress 2011-06-05-Zen19-pachi2.sgf: Add extra test for falseeye
      t-regress: Add 2011-06-10-pachi30s-samba-2.sgf
      t-regress: Add 2011-06-13-pachi30s-Jep.sgf
      t-regress: Add 2011-08-12-xiaosugi-pachi2.sgf
      t-regress: Add 2011-09-04-pachi2-stv.sgf
      t-regress: Add 2011-08-24-StoneGrid-pachi2.sgf
      test-game.sh: Ignore GC lines not beginning with a number
      t-regress: Add 2011-07-28-pachi2-Novicer.sgf
      t-regress: Add 2011-06-18-dorabon-pachi2-4.sgf
      t-regress: Add 2011-08-09-somrak-pachi2-2.sgf
      t-regress: Add 2011-08-08-Dallas-pachi2-2.sgf
      t-regress: Add 2011-08-09-pachi2-BlueSpark.sgf
      t-regress: Add 2011-07-28-pachi2-pkunzip-2.sgf
      Merge branch 'master' of ssh://repo.or.cz/srv/git/pachi
      Merge branch 'master' into falseeye
      Our falseeye branch fixes falseeye misevaluations
      UCT pattern prior: -1000 -> -400 based on Jean-loup's tuning
      README: Refer to http://pachi.or.cz/pat/ wrt. patterns
      Merge branch 'patterns'
      middle_ladder_walk(): Allow alternative near-edge termination of ladders
      middle_ladder_walk(): Add extra debug prints
      t-regress by-ladders: Mark correctly detected ladders as intermittent
      Moggy middle_ladder: Support for turning off middle ladder reading
      is_middle_ladder(), wouldbe_ladder(): Pass group information
      Moggy middle_ladder: Fix interaction of priors and test_pattern3_here()
      New middle ladder reader, using temporary boards
      t-regress: Add 2012-01-17-pachi2-Soromon-3.sgf
      Moggy: New side pattern for making eyes
      group_atari_check(): Save 1pt ko if it protects an eye
      Merge remote branch 'origin/ladders'
      UCT prior prune_ladders: New setting for completely removing ladder moves from the tree
      Merge branch 'json'
      UCT avg_score: Track avg score of last move search explicitly in the tree
      UCT jsonbig: Include information about the board coloring
      UCT json: Include PVs for all cans instead of single seq record
      UCT prior prune_ladders: Do not prune during ko fights
      is_border_ladder(): Fix shortage of libs test
      middle_ladder_walk(): Take next escape move as a parameter
      is_middle_ladder(): Also test for initial escape by counter-capturing
      Merge branch 'master' into ladders
      Get rid of alloca() usage - non-portable
      util.h: Include WIN32 compatibility wrappers for sleep() and __sync_fetch_and...()
      time_sleep(): WIN32-specific implementation without nanosleep()
      logline(): Use inet_ntoa() instead of inet_ntop() on WIN32
      Use appropriate socket includes on WIN32
      Makefile: Special WIN section
      UCT Plugins: Act dummy on WIN32
      strcasestr(): Custom implementation for WIN32
      Spatial: Accurate analysis of hashing function performance
      Patterns: Use unsigned where appropriate
      pattern_pdict_init() sphcachehit: Use calloc2(), we need initialized memory
      Spatial: Deal gracefully with databases of spatials with too large radius
      Merge branch 'master' of ssh://repo.or.cz/srv/git/pachi
      GTP play: Add support for a trailing engine-specific argument
      Patternscan play: If aux. argument is 0, do not generate pattern match on this play
      tools/pattern_bayes_gen.sh: Allow pattern harvesting from stdin
      tools/kgslog2gtp.pl: Tool for converting kgsGtp log to extended GTP stream
      tools/pattern_getdrops.pl: Tool for learning patterns for unexpected moves
      uct_search_result(): Verbose debug print in case pass is considered unsafe
      Merge branch 'master' of ssh://repo.or.cz/srv/git/pachi
      Merge remote branch 'origin/master' into ladders
      Merge remote branch 'origin/master' into ladders
      t-regress: Add 2012-03-16-IMC-pachi2.sgf
      Ladders: Set new defaults that fix most testcases and do not slow down Pachi
      t-regress: Add 2012-03-15-pachi2-Leech.sgf
      MAX_PATTERN_DIST: 14 -> 6
      Merge branch 'ladders'
      Merge remote-tracking branch 'origin/jmhack'
      tools/pattern_byplayer.sh: Fix indentation
      patternscan: Fix crash when only a single game (or small) is fed in
      pattern.c: Introduce CAPTURE_COUNTSTONES_MAX
      feature_payloads(): Take pattern_setup inst. of pattern_config as first parameter
      [FEAT_CAPTURE] payloads: Include countstones payloads only in feature_payloads() and if enabled
      UCT setup_state(): Allow first move to be white, just emit a warning
      uct_genmove(): In case of json reporting, print a JSON final_decision message
      Merge branch 'master' of ssh://repo.or.cz/srv/git/pachi
      Revert "uct_genmove(): In case of json reporting, print a JSON final_decision message"
      JSON reporting: Report finally picked move
      fast_frandom() always returns float, not floating_t
      tools/sgflib/.gitignore: Ignore *.pyc
      .gitignore: -test (whatever that is?), +tags (ctags) and patterns.{prob,spat}
      UCT val_byavg: Support for value-score scaling anchored at average score
      Support for value scaling with variable coefficient: val_bytemp, val_bytemp_min
      UCT allow_losing_pass: Pachi will pass even if losing if all points have clear status
      UCT dynkomi no_komi_at_game_end: Setting that allows applying dynkomi for the _whole_ game
      UCT allow_losing_pass: Fix significant[] array access
      board_set_rules(): Offloaded name->ruleset conversion from gtp.c:kgs-rules
      ./pachi -r RULESET to set rules from commandline
      Add support for RULES_PASS_STONES - player hands a stone to the opponent on pass
      Preserve rules over board_clear()
      RULES_PASS_STONES: Correctly support undo
      RULES_PASS_STONES -> RULES_SIMING, also count handicap stones as points
      UCT: Introduce 'maximize_score' preset that turns on adaptive dynkomi, val_scale and allow_losing_pass.
      UCT adaptive dynkomi: Less verbose
      uct_progress_text(): komi -> xkomi
      README Greedy Pachi: Mention xkomi/extra komi messages
      README: Update strength estimates
      README: Mention large-scale board patterns
      middle_ladder_walk(): Use alloca() for board copy allocation
      UCT spawn_thread_manager(): Make sure each thread gets 1M stack
      UCT initial_extra_komi: Way to seed adaptive dynkomi, also preserve it across state resets
      Fix stack overflows and crashes when reading very long ladders
      chat_init(): Fix problematic ptrdiff_t format string handling
      fbook_init(): Remove bogus comment
      uct_leaf_node(): Fix node value debug print
      UCT virtual_loss: Allow setting virtual_loss to arbitrary values
      UCT virtual_loss: Revert default change
      UCT max_maintime_ratio: Raise back to 2.0
      UCT pondering: Enable by default
      Change default time settings from -t =80000 to -t 15
      Pachi Satsugen 10.00

> will JSON be broken? 
> what is meant by search reporting, ie with example of use?

  That is the JSON interface you use. You did not report any bugs
so I hope it's not broken. :-)

> how to use pattern database?

  There should be adequate documentation at the Pachi homepage,
specifically http://pachi.or.cz/pat/. Let me know if you find anything

				Petr "Pasky" Baudis
	Smart data structures and dumb code works a lot better
	than the other way around.  -- Eric S. Raymond

More information about the Pachi mailing list