TODO: Revamp, elaborate on things
[pachi.git] / TODO
blobeeb02ae285108da32bdedf1e658e5d1b87393ae5
1 Docs:
2 * Manual page - full usage documentation
3 * GTP interface documentation
5 Base:
6 * Further optimize board implementation, profiling fun
7 * Clean up GTP interface, allow custom GTP commands for modules
8 * gogui-friendly GTP interface
9 * Implement parameter setup over GTP (less important)
10 * Fix the build system to allow fully parallel build
11         However, revamp to something like cmake (or, ugh, autotools)
12         is not guaranteed to be appreciated.
14 Self-contained tasks:
15 * Try to disable the bsize pattern feature
16         It just fudges the pattern evaluation since for most tactical
17         patterns fourth line vs. fifth line just doesn't matter. Maybe
18         its max should be 2 and maybe it should just be gone, needs
19         regenerating the pattern database and benchmarking.
20 * Develop dedicated playout handling for few common tactical situations
21         Monkey jump (and its followup sequences!), bent four in the
22         corner, ...
23 * Fix seki recognition to be stable
24         Try to research and fix most cases harmed by selfatarirate=100
25         or find another way to fix seki.
26 * Try to avoid using a hash table for 3x3 patterns
27         Instead autogenerate procedural matching code; may be more
28         efficient (the near-guaranteed L1 cache miss is fairly expensive).
29 * Optimizing our tree implementation for cache-efficiency
30         Statistics of all children of a parent node shall be contained
31         in an array of the parent node so that move evaluation during
32         the descent can access them sequentially in memory, instead
33         of walking a linked list. Pasky already tried once but it's
34         somewhat arduous and dull work.
36 General improvements:
37 * Automated building of opening book
38 * Expanding and tagging the regression suite
39         Even better, create a nice UI for our users to contribute and
40         crowdsource!
41 * Implement Pachi support to fishtest
42         http://tests.stockfishchess.org/tests would allow crowdsourcing
43         Pachi parameter tuning.
44 * Split playout aspects to custom-stackable pieces?
45 * Port to Intel Phi (if we get the hardware :)
47 Some heuristics to test:
48 * Local trees (work in progress, no luck so far)
49 * Liberty maps (work in progress)
50 * Implement a tsumego solver and apply it once per playout (stv insp.,
51   see Eric van der Werf's PhD thesis?)
52 * MM local-based patterns in playouts (work in progress, no luck so far)
53 * Balanced local-based patterns?
54 * Killer moves (redundant to RAVE?)
55 * Reverse status learning
56         Run on game corpus. Start at final position, watch development
57         of status of all stones. The moment the final status and expected
58         status changes, analyze, especially if move choice differs. Use
59         learnt status-fixing moves in simulations somehow.
60         Tried to do this on Pachi-played games; no measurable effect
61         (maybe too small sample).