Skip to content
Permalink
Browse files

Final readme changes

  • Loading branch information...
jma127 committed Feb 13, 2019
1 parent edd7fa6 commit 29874e42011376ef9e238c84fcc3d2bf98aaf2f7
Showing with 2,385 additions and 20 deletions.
  1. +0 −1 .gitignore
  2. +23 −16 README.rst
  3. +30 −0 ladder_suite/ladder/406844.sgf
  4. +29 −0 ladder_suite/ladder/406958.sgf
  5. +30 −0 ladder_suite/ladder/406959.sgf
  6. +14 −0 ladder_suite/ladder/406996.sgf
  7. +29 −0 ladder_suite/ladder/407143.sgf
  8. +29 −0 ladder_suite/ladder/407203.sgf
  9. +29 −0 ladder_suite/ladder/407214.sgf
  10. +29 −0 ladder_suite/ladder/407248.sgf
  11. +29 −0 ladder_suite/ladder/407302.sgf
  12. +29 −0 ladder_suite/ladder/407354.sgf
  13. +29 −0 ladder_suite/ladder/407364.sgf
  14. +29 −0 ladder_suite/ladder/407384.sgf
  15. +29 −0 ladder_suite/ladder/407399.sgf
  16. +29 −0 ladder_suite/ladder/407401.sgf
  17. +34 −0 ladder_suite/ladder/407482.sgf
  18. +30 −0 ladder_suite/ladder/407493.sgf
  19. +29 −0 ladder_suite/ladder/407521.sgf
  20. +30 −0 ladder_suite/ladder/407523.sgf
  21. +29 −0 ladder_suite/ladder/407541.sgf
  22. +30 −0 ladder_suite/ladder/407542.sgf
  23. +30 −0 ladder_suite/ladder/407559.sgf
  24. +30 −0 ladder_suite/ladder/407570.sgf
  25. +29 −0 ladder_suite/ladder/407578.sgf
  26. +22 −0 ladder_suite/ladder/407581.sgf
  27. +29 −0 ladder_suite/ladder/407882.sgf
  28. +30 −0 ladder_suite/ladder/407999.sgf
  29. +29 −0 ladder_suite/ladder/408042.sgf
  30. +30 −0 ladder_suite/ladder/408129.sgf
  31. +29 −0 ladder_suite/ladder/408137.sgf
  32. +30 −0 ladder_suite/ladder/408140.sgf
  33. +29 −0 ladder_suite/ladder/408156.sgf
  34. +20 −0 ladder_suite/ladder/408179.sgf
  35. +29 −0 ladder_suite/ladder/408185.sgf
  36. +29 −0 ladder_suite/ladder/408188.sgf
  37. +29 −0 ladder_suite/ladder/408231.sgf
  38. +29 −0 ladder_suite/ladder/408234.sgf
  39. +30 −0 ladder_suite/ladder/408331.sgf
  40. +29 −0 ladder_suite/ladder/408345.sgf
  41. +29 −0 ladder_suite/ladder/408350.sgf
  42. +29 −0 ladder_suite/ladder/408361.sgf
  43. +13 −0 ladder_suite/ladder/408489.sgf
  44. +29 −0 ladder_suite/ladder/408551.sgf
  45. +10 −0 ladder_suite/ladder/408584.sgf
  46. +29 −0 ladder_suite/ladder/408726.sgf
  47. +15 −0 ladder_suite/ladder/408774.sgf
  48. +29 −0 ladder_suite/ladder/408777.sgf
  49. +29 −0 ladder_suite/ladder/408815.sgf
  50. +28 −0 ladder_suite/ladder/408824.sgf
  51. +8 −0 ladder_suite/ladder/408866.sgf
  52. +13 −0 ladder_suite/ladder/409200.sgf
  53. +14 −0 ladder_suite/ladder/409219.sgf
  54. +8 −0 ladder_suite/ladder/409252.sgf
  55. +9 −0 ladder_suite/ladder/409279.sgf
  56. +9 −0 ladder_suite/ladder/409355.sgf
  57. +8 −0 ladder_suite/ladder/409377.sgf
  58. +9 −0 ladder_suite/ladder/409399.sgf
  59. +14 −0 ladder_suite/ladder/409445.sgf
  60. +9 −0 ladder_suite/ladder/409477.sgf
  61. +14 −0 ladder_suite/ladder/409563.sgf
  62. +8 −0 ladder_suite/ladder/409598.sgf
  63. +10 −0 ladder_suite/ladder/409600.sgf
  64. +20 −0 ladder_suite/ladder/409608.sgf
  65. +13 −0 ladder_suite/ladder/409643.sgf
  66. +10 −0 ladder_suite/ladder/409806.sgf
  67. +11 −0 ladder_suite/ladder/409826.sgf
  68. +9 −0 ladder_suite/ladder/409848.sgf
  69. +8 −0 ladder_suite/ladder/409856.sgf
  70. +9 −0 ladder_suite/ladder/409867.sgf
  71. +10 −0 ladder_suite/ladder/409993.sgf
  72. +10 −0 ladder_suite/ladder/410034.sgf
  73. +12 −0 ladder_suite/ladder/410217.sgf
  74. +9 −0 ladder_suite/ladder/410333.sgf
  75. +12 −0 ladder_suite/ladder/410605.sgf
  76. +10 −0 ladder_suite/ladder/410615.sgf
  77. +8 −0 ladder_suite/ladder/410756.sgf
  78. +10 −0 ladder_suite/ladder/410807.sgf
  79. +13 −0 ladder_suite/ladder/410818.sgf
  80. +9 −0 ladder_suite/ladder/410991.sgf
  81. +8 −0 ladder_suite/ladder/411061.sgf
  82. +11 −0 ladder_suite/ladder/411072.sgf
  83. +13 −0 ladder_suite/ladder/411087.sgf
  84. +11 −0 ladder_suite/ladder/411099.sgf
  85. +13 −0 ladder_suite/ladder/411106.sgf
  86. +8 −0 ladder_suite/ladder/411203.sgf
  87. +18 −0 ladder_suite/ladder/411228.sgf
  88. +12 −0 ladder_suite/ladder/411295.sgf
  89. +11 −0 ladder_suite/ladder/411342.sgf
  90. +8 −0 ladder_suite/ladder/411435.sgf
  91. +10 −0 ladder_suite/ladder/411482.sgf
  92. +9 −0 ladder_suite/ladder/411518.sgf
  93. +9 −0 ladder_suite/ladder/411565.sgf
  94. +10 −0 ladder_suite/ladder/411578.sgf
  95. +9 −0 ladder_suite/ladder/411644.sgf
  96. +14 −0 ladder_suite/ladder/411670.sgf
  97. +10 −0 ladder_suite/ladder/411851.sgf
  98. +8 −0 ladder_suite/ladder/411881.sgf
  99. +9 −0 ladder_suite/ladder/411899.sgf
  100. +10 −0 ladder_suite/ladder/412038.sgf
  101. +8 −0 ladder_suite/ladder/412092.sgf
  102. +9 −0 ladder_suite/ladder/412141.sgf
  103. +10 −0 ladder_suite/ladder/412181.sgf
  104. +9 −0 ladder_suite/ladder/412280.sgf
  105. +11 −0 ladder_suite/ladder/412313.sgf
  106. +8 −0 ladder_suite/ladder/412407.sgf
  107. +13 −0 ladder_suite/ladder/412432.sgf
  108. +18 −0 ladder_suite/ladder/412440.sgf
  109. +9 −0 ladder_suite/ladder/412477.sgf
  110. +19 −0 ladder_suite/ladder/413022.sgf
  111. +8 −0 ladder_suite/ladder/414239.sgf
  112. +14 −0 ladder_suite/ladder/415297.sgf
  113. +36 −0 ladder_suite/ladder/415304.sgf
  114. +10 −0 ladder_suite/ladder/415520.sgf
  115. +14 −0 ladder_suite/ladder/415643.sgf
  116. +11 −0 ladder_suite/ladder/416911.sgf
  117. +15 −0 ladder_suite/ladder/417459.sgf
  118. +8 −0 ladder_suite/ladder/417839.sgf
  119. +173 −0 ladder_suite/ladder_list
  120. +102 −0 ladder_suite/ladder_magic_list
  121. +1 −1 scripts/elfgames/go/start_client.sh
  122. +1 −1 scripts/elfgames/go/start_selfplay.sh
  123. +1 −1 scripts/elfgames/go/start_server.sh
@@ -12,7 +12,6 @@ __pycache__/
*.sw?
*.db
*.json
*.sgf
*.swo
*.tree
.codemod.bookmark
@@ -10,13 +10,15 @@
ELF
===

ELF is an Extensive, Lightweight, and Flexible platform for game research. We have used it to build our Go playing bot, ELF OpenGo, which achieved a 14-0 record versus four global top-30 players in April 2018. The final score is 20-0 (each professional Go players play 5 games).
ELF is an Extensive, Lightweight, and Flexible platform for game research. We have used it to build our Go playing bot, `ELF OpenGo`__, which achieved a 14-0 record versus four global top-30 players in April 2018. The final score is 20-0 (each professional Go player plays 5 games).

We have released our v0 models `here`__.
__ https://ai.facebook.com/blog/open-sourcing-new-elf-opengo-bot-and-go-research/

__ https://github.com/pytorch/ELF/releases
Please refer to `our website`__ for a full overview of ELF OpenGo-related resources, including pretrained models, numerous datasets, and a comprehensive visualization of human Go games throughout history leveraging ELF OpenGo's analysis capabilities.

This version is a work-in-progress successor to the `original ELF platform`__.
__ https://facebook.ai/developers/tools/elf-opengo

This version is a successor to the `original ELF platform`__.

__ https://github.com/facebookresearch/ELF

@@ -26,8 +28,6 @@ __ https://github.com/facebookresearch/ELF
- The code quality and documentation are quite lacking, and much of the code might still feel "in-progress".
- There are quite a few hacks made specifically for our systems and infrastructure.

Although we intend to release significant improvements over the next month, we're a small team so your patience is greatly appreciated.

|build|

.. |build| image:: https://circleci.com/gh/pytorch/ELF.png?style=shield
@@ -50,7 +50,7 @@ If you use ELF in your research, please consider citing the original NIPS paper
year = {2017}
}

If you use ELF OpenGo or OpenGo-like functionality, please consider citing the library as follows::
If you use ELF OpenGo or OpenGo-like functionality, please consider citing the technical report as follows::

@article{tian2019elfopengo,
author = {{Yuandong Tian} and {Jerry Ma*} and {Qucheng Gong*} and {Shubho Sengupta*} and
@@ -74,10 +74,10 @@ Dependencies
We run ELF using:

- Ubuntu **18.04**
- Python **3.6**
- Python **3.7**
- GCC **7.3**
- CUDA **9.0**
- CUDNN **7.0**
- CUDA **10.0**
- CUDNN **7.3**
- NCCL **2.1.2**

At the moment, this is the only supported environment. Other environments may also work, but we unfortunately do not have the manpower to investigate compatibility issues.
@@ -90,9 +90,9 @@ Here are the dependency installation commands for Ubuntu 18.04 and conda::
# From the project root
git submodule sync && git submodule update --init --recursive

You also need to install PyTorch 0.4.1 or later::
You also need to install PyTorch 1.0.0 or later::

conda install -c pytorch pytorch cuda90
conda install pytorch torchvision cudatoolkit=10.0 -c pytorch

A Dockerfile has been provided if you wish to build ELF using Docker.

@@ -135,11 +135,11 @@ Here is a basic set of commands to run and play the bot via the GTP protocol:

1) Build ELF and run ``source scripts/devmode_set_pythonpath.sh`` as described above.

2) Train a model, or grab a pretrained model from the repository's Github "Releases" tab.
2) Train a model, or grab a `pretrained model`_.

3) Change directory to ``scripts/elfgames/go/``

4) Run ``./gtp.sh path/to/modelfile.bin --verbose --gpu 0 --num_block 20 --dim 224 --mcts_puct 1.50 --batchsize 16 --mcts_rollout_per_batch 16 --mcts_threads 2 --mcts_rollout_per_thread 8192 --resign_thres 0.05 --mcts_virtual_loss 1``
4) Run ``./gtp.sh path/to/modelfile.bin --verbose --gpu 0 --num_block 20 --dim 256 --mcts_puct 1.50 --batchsize 16 --mcts_rollout_per_batch 16 --mcts_threads 2 --mcts_rollout_per_thread 8192 --resign_thres 0.05 --mcts_virtual_loss 1``

We've found that the above settings work well for playing the bot. You may change ``mcts_rollout_per_thread`` to tune the thinking time per move.

@@ -152,10 +152,17 @@ Here is the command to analyze an existing sgf file:

1) Build ELF and run ``source scripts/devmode_set_pythonpath.sh`` as described above.

2) Train a model, or grab a pretrained model from the repository's Github "Releases" tab.
2) Train a model, or grab a `pretrained model`_.

3) Change directory to ``scripts/elfgames/go/``

4) Run ``./analysis.sh /path/to/model --preload_sgf /path/to/sgf --preload_sgf_move_to [move_number] --dump_record_prefix [tree] --verbose --gpu 0 --mcts_puct 1.50 --batchsize 16 --mcts_rollout_per_batch 16 --mcts_threads 2 --mcts_rollout_per_thread 8192 --resign_thres 0.0 --mcts_virtual_loss 1 --num_games 1``

The settings for rollouts are similar as above. The process should run automatically after loading the environment, models and previous moves. You should see the move suggested by the AI after each move, along with its value and prior. This process will also generate a lot of tree files, prefixed with ``tree`` (you can change it with ``--dump_record_prefix`` option above.) The tree files will contain the full search at each move along with its prior and value. To abort the process simply kill it as the current implementation will run it to the end of the game.
The settings for rollouts are similar as above. The process should run automatically after loading the environment, models and previous moves. You should see the move suggested by the AI after each move, along with its value and prior. This process will also generate a lot of tree files, prefixed with ``tree`` (you can change it with ``--dump_record_prefix`` option above.) The tree files will contain the full search at each move along with its prior and value. To abort the process simply kill it as the current implementation will run it to the end of the game.

.. _pretrained model: https://dl.fbaipublicfiles.com/elfopengo/pretrained_models/pretrained-go-19x19-v2.bin

Ladder tests
============

We provide a collection of just over 100 ladder scenarios in the ``ladder_suite/`` directory.
@@ -0,0 +1,30 @@
(;GM[1]FF[4]CA[UTF-8]
RU[Chinese]SZ[19]KM[7.5]TM[900]
PW[Pangu-127]PB[xia_169]WR[3748?]BR[3584?]DT[2018-04-04]PC[(CGOS) 19x19 Computer Go Server]RE[W+Resign]GN[406844]
;B[dd]BL[896];W[pp]WL[898];B[dp]BL[892];W[pd]WL[891];B[nq]BL[888];W[qn]WL[885];B[pq]BL[885];W[qq]WL[880]
;B[qr]BL[881];W[oq]WL[879];B[pr]BL[877];W[op]WL[879];B[qp]BL[873];W[cq]WL[876];B[cp]BL[869];W[dq]WL[871]
;B[fq]BL[866];W[eq]WL[871];B[ep]BL[862];W[fr]WL[871];B[bq]BL[859];W[br]WL[867];B[gr]BL[855];W[fp]WL[867]
;B[gq]BL[850];W[bp]WL[867];B[bo]BL[847];W[aq]WL[866];B[fo]BL[844];W[gp]WL[860];B[iq]BL[839];W[cc]WL[855]
;B[cd]BL[835];W[dc]WL[854];B[fc]BL[832];W[ec]WL[851];B[ed]BL[828];W[fb]WL[850];B[hp]BL[825];W[go]WL[843]
;B[gn]BL[820];W[ho]WL[837];B[in]BL[816];W[io]WL[831];B[jo]BL[812];W[fn]WL[830];B[hn]BL[808];W[eo]WL[830]
;B[ip]BL[805];W[fo]WL[829];B[dn]BL[801];W[fm]WL[828];B[cl]BL[798];W[jn]WL[828];B[il]BL[794];W[kn]WL[820]
;B[ko]BL[789];W[hl]WL[814];B[im]BL[785];W[dk]WL[808];B[dl]BL[781];W[ek]WL[808];B[bj]BL[777];W[ln]WL[807]
;B[hk]BL[773];W[gj]WL[802];B[hj]BL[770];W[gi]WL[795];B[hi]BL[766];W[gh]WL[792];B[di]BL[762];W[ei]WL[783]
;B[dh]BL[758];W[hh]WL[774];B[ih]BL[754];W[ig]WL[773];B[jh]BL[751];W[jg]WL[773];B[kh]BL[747];W[kg]WL[772]
;B[lh]BL[743];W[lg]WL[768];B[gd]BL[739];W[mh]WL[751];B[mi]BL[735];W[ni]WL[732];B[mj]BL[731];W[nj]WL[722]
;B[mk]BL[727];W[nk]WL[713];B[gb]BL[723];W[ml]WL[700];B[ll]BL[719];W[fe]WL[694];B[ge]BL[716];W[kq]WL[673]
;B[lp]BL[712];W[lq]WL[658];B[mp]BL[708];W[jp]WL[656];B[kp]BL[704];W[jq]WL[656];B[ir]BL[701];W[nr]WL[655]
;B[mr]BL[697];W[mq]WL[655];B[np]BL[693];W[or]WL[655];B[lr]BL[690];W[no]WL[644];B[jr]BL[686];W[rq]WL[643]
;B[qo]BL[682];W[po]WL[632];B[rn]BL[677];W[ro]WL[616];B[qm]BL[674];W[pn]WL[613];B[hg]BL[670];W[hf]WL[606]
;B[rp]BL[666];W[sp]WL[597];B[gg]BL[662];W[gf]WL[592];B[fg]BL[659];W[eg]WL[591];B[ff]BL[655];W[ef]WL[586]
;B[fh]BL[651];W[eh]WL[579];B[fi]BL[647];W[fj]WL[571];B[eb]BL[643];W[bd]WL[553];B[be]BL[639];W[bb]WL[544]
;B[db]BL[635];W[ce]WL[532];B[cf]BL[631];W[de]WL[523];B[ad]BL[627];W[bc]WL[516];B[fd]BL[624];W[bf]WL[514]
;B[af]BL[619];W[bg]WL[497];B[df]BL[615];W[ee]WL[486];B[bh]BL[612];W[ag]WL[475];B[cg]BL[608];W[ae]WL[473]
;B[nf]BL[604];W[pf]WL[460];B[nh]BL[599];W[mg]WL[456];B[oh]BL[595];W[ng]WL[442];B[og]BL[591];W[of]WL[437]
;B[qh]BL[586];W[qj]WL[426];B[pj]BL[582];W[pk]WL[419];B[qk]BL[578];W[pi]WL[411];B[rj]BL[573];W[oj]WL[403]
;B[qi]BL[569];W[ql]WL[395];B[pj]BL[551];W[rl]WL[388];B[pl]BL[547];W[qj]WL[386];B[rk]BL[543];W[ol]WL[382]
;B[pm]BL[539];W[rm]WL[377];B[pj]BL[535];W[om]WL[375];B[pl]BL[531];W[qj]WL[369];B[ph]BL[527];W[rg]WL[359]
;B[pj]BL[522];W[lk]WL[349];B[kk]BL[518];W[qj]WL[347];B[oi]BL[514];W[pj]WL[343];B[nl]BL[509];W[nm]WL[339]
;B[mm]BL[505];W[nl]WL[335];B[qf]BL[500];W[qg]WL[328];B[pg]BL[496];W[ri]WL[322];B[rh]BL[491];W[sh]WL[318]
)

@@ -0,0 +1,29 @@
(;GM[1]FF[4]CA[UTF-8]
RU[Chinese]SZ[19]KM[7.5]TM[900]
PW[xia_169]PB[Zen-15.9-1c1g]WR[3606?]BR[3657]DT[2018-04-04]PC[(CGOS) 19x19 Computer Go Server]RE[B+Resign]GN[406958]
;B[pd]BL[895];W[dd]WL[896];B[qp]BL[893];W[dp]WL[892];B[fq]BL[888];W[op]WL[888];B[cn]BL[882];W[fp]WL[885]
;B[gp]BL[878];W[fo]WL[881];B[dq]BL[877];W[gq]WL[878];B[eq]BL[872];W[hp]WL[874];B[go]BL[868];W[hq]WL[869]
;B[cp]BL[863];W[gn]WL[866];B[ho]BL[858];W[do]WL[862];B[co]BL[855];W[cq]WL[858];B[fn]BL[850];W[en]WL[855]
;B[fm]BL[845];W[io]WL[851];B[hn]BL[844];W[hm]WL[847];B[in]BL[838];W[em]WL[843];B[eo]BL[834];W[ep]WL[840]
;B[dn]BL[829];W[eo]WL[836];B[el]BL[823];W[dm]WL[832];B[dl]BL[818];W[cm]WL[828];B[bm]BL[817];W[cl]WL[824]
;B[ck]BL[813];W[bl]WL[820];B[bk]BL[807];W[al]WL[816];B[ak]BL[802];W[bn]WL[812];B[am]BL[796];W[nf]WL[807]
;B[pf]BL[783];W[nj]WL[803];B[mq]BL[770];W[mp]WL[799];B[lp]BL[763];W[lq]WL[795];B[kq]BL[749];W[lr]WL[791]
;B[kr]BL[746];W[kp]WL[788];B[lo]BL[742];W[mr]WL[784];B[jp]BL[741];W[ko]WL[780];B[kn]BL[733];W[jo]WL[776]
;B[ip]BL[725];W[jn]WL[772];B[jm]BL[717];W[hf]WL[768];B[pq]BL[703];W[or]WL[764];B[nc]BL[689];W[cg]WL[761]
;B[cc]BL[682];W[dc]WL[757];B[cd]BL[678];W[ce]WL[753];B[be]BL[672];W[bf]WL[749];B[de]BL[670];W[cf]WL[745]
;B[db]BL[668];W[eb]WL[741];B[bb]BL[662];W[da]WL[737];B[cb]BL[661];W[fc]WL[733];B[bd]BL[659];W[ac]WL[729]
;B[ab]BL[652];W[ca]WL[725];B[ba]BL[645];W[ae]WL[721];B[ad]BL[639];W[ea]WL[717];B[ee]BL[632];W[rm]WL[713]
;B[fd]BL[624];W[ec]WL[709];B[hd]BL[617];W[gd]WL[705];B[ge]BL[611];W[gc]WL[700];B[he]BL[609];W[ff]WL[696]
;B[fe]BL[608];W[gi]WL[692];B[hc]BL[602];W[rn]WL[688];B[pr]BL[595];W[lk]WL[684];B[ii]BL[589];W[oe]WL[680]
;B[pe]BL[583];W[qj]WL[675];B[if]BL[577];W[fg]WL[671];B[hg]BL[571];W[rd]WL[667];B[re]BL[565];W[hk]WL[662]
;B[jk]BL[560];W[sp]WL[658];B[rq]BL[554];W[sn]WL[653];B[po]BL[533];W[cj]WL[647];B[ei]BL[528];W[an]WL[643]
;B[nq]BL[522];W[ll]WL[638];B[pm]BL[517];W[qm]WL[633];B[pl]BL[512];W[lj]WL[628];B[pj]BL[507];W[li]WL[624]
;B[qk]BL[501];W[ko]WL[619];B[qi]BL[496];W[cm]WL[614];B[mg]BL[491];W[mf]WL[610];B[lg]BL[486];W[na]WL[607]
;B[ob]BL[481];W[ci]WL[603];B[bh]BL[476];W[ls]WL[599];B[oq]BL[472];W[me]WL[595];B[ng]BL[467];W[ik]WL[592]
;B[jj]BL[462];W[kf]WL[587];B[kg]BL[457];W[pa]WL[582];B[pb]BL[453];W[dm]WL[578];B[rk]BL[448];W[oi]WL[572]
;B[oh]BL[444];W[ro]WL[569];B[rp]BL[439];W[no]WL[565];B[mo]BL[435];W[pn]WL[561];B[on]BL[431];W[hs]WL[556]
;B[ir]BL[426];W[ji]WL[552];B[jh]BL[422];W[qe]WL[548];B[qd]BL[418];W[gm]WL[543];B[gl]BL[414];W[pk]WL[538]
;B[ok]BL[410];W[bi]WL[532];B[ai]BL[405];W[ep]WL[529];B[fp]BL[401];W[ne]WL[525];B[mb]BL[397];W[ks]WL[521]
;B[js]BL[393];W[sk]WL[517];B[sl]BL[390];W[fs]WL[513];B[er]BL[386];W[aq]WL[509];B[bq]BL[382];W[ss]WL[505]
;B[sq]BL[378];W[rr]WL[501];B[qr]BL[374];W[is]WL[498];B[jr]BL[370];W[br]WL[494];B[bp]BL[367])

@@ -0,0 +1,30 @@
(;GM[1]FF[4]CA[UTF-8]
RU[Chinese]SZ[19]KM[7.5]TM[900]
PW[Pangu-115]PB[shang_cfa]WR[3195?]BR[3581?]DT[2018-04-04]PC[(CGOS) 19x19 Computer Go Server]RE[W+Resign]GN[406959]
;B[pp]BL[896];W[dd]WL[898];B[dp]BL[892];W[pd]WL[892];B[cf]BL[889];W[fc]WL[886];B[cd]BL[885];W[cc]WL[881]
;B[bc]BL[881];W[ce]WL[880];B[bd]BL[877];W[de]WL[880];B[be]BL[874];W[qq]WL[875];B[qp]BL[869];W[pq]WL[870]
;B[nq]BL[866];W[oq]WL[869];B[op]BL[862];W[nr]WL[869];B[rq]BL[859];W[rr]WL[867];B[mr]BL[854];W[np]WL[867]
;B[mq]BL[850];W[rp]WL[865];B[ro]BL[847];W[sq]WL[865];B[no]BL[843];W[mp]WL[858];B[lp]BL[838];W[mo]WL[853]
;B[mn]BL[835];W[lo]WL[847];B[ko]BL[831];W[ln]WL[841];B[lm]BL[828];W[kn]WL[836];B[jn]BL[824];W[km]WL[834]
;B[kl]BL[821];W[jm]WL[830];B[im]BL[817];W[jl]WL[830];B[jk]BL[814];W[il]WL[830];B[hl]BL[811];W[ik]WL[829]
;B[ij]BL[807];W[hk]WL[829];B[gk]BL[804];W[hj]WL[829];B[hi]BL[801];W[gj]WL[828];B[fj]BL[797];W[gi]WL[828]
;B[gh]BL[794];W[fi]WL[827];B[ei]BL[791];W[fh]WL[827];B[fg]BL[787];W[eh]WL[826];B[dh]BL[784];W[eg]WL[826]
;B[ef]BL[780];W[dg]WL[826];B[df]BL[777];W[cg]WL[825];B[bg]BL[773];W[ch]WL[825];B[bh]BL[766];W[ci]WL[811]
;B[pc]BL[759];W[kp]WL[795];B[jp]BL[755];W[jo]WL[780];B[kq]BL[751];W[lq]WL[769];B[lr]BL[747];W[qc]WL[748]
;B[lp]BL[743];W[oc]WL[732];B[ko]BL[740];W[in]WL[727];B[io]BL[736];W[kp]WL[717];B[hn]BL[732];W[ip]WL[700]
;B[jn]BL[728];W[jq]WL[694];B[jr]BL[724];W[ir]WL[680];B[iq]BL[720];W[hq]WL[672];B[hp]BL[717];W[lq]WL[649]
;B[hr]BL[713];W[gp]WL[629];B[gq]BL[708];W[ho]WL[620];B[go]BL[704];W[in]WL[601];B[fp]BL[700];W[gr]WL[584]
;B[hp]BL[696];W[hs]WL[581];B[io]BL[692];W[fq]WL[560];B[jn]BL[688];W[gp]WL[547];B[lp]BL[684];W[in]WL[537]
;B[gq]BL[680];W[ho]WL[504];B[rs]BL[676];W[gp]WL[489];B[ms]BL[672];W[or]WL[476];B[sl]BL[667];W[fo]WL[461]
;B[ns]BL[663];W[os]WL[450];B[qr]BL[659];W[qo]WL[435];B[sr]BL[655];W[ss]WL[426];B[sp]BL[650];W[so]WL[419]
;B[sr]BL[644];W[rq]WL[416];B[dc]BL[639];W[rn]WL[403];B[lk]BL[634];W[mm]WL[391];B[mf]BL[630];W[ll]WL[380]
;B[rc]BL[626];W[pb]WL[369];B[ej]BL[622];W[di]WL[358];B[qm]BL[618];W[rm]WL[349];B[si]BL[614];W[rl]WL[338]
;B[ac]BL[609];W[ff]WL[328];B[fe]BL[605];W[gg]WL[323];B[ca]BL[601];W[ge]WL[315];B[bf]BL[596];W[fd]WL[308]
;B[ih]BL[592];W[ee]WL[301];B[sa]BL[588];W[ec]WL[294];B[qs]BL[584];W[db]WL[288];B[on]BL[580];W[cb]WL[281]
;B[qa]BL[576];W[rd]WL[274];B[rk]BL[572];W[qk]WL[266];B[al]BL[568];W[bi]WL[260];B[bm]BL[564];W[ah]WL[255]
;B[ok]BL[560];W[ag]WL[250];B[na]BL[555];W[nb]WL[246];B[pf]BL[551];W[af]WL[243];B[cn]BL[547];W[ae]WL[240]
;B[sm]BL[543];W[rj]WL[238];B[ga]BL[538];W[gb]WL[235];B[bp]BL[533];W[cq]WL[232];B[es]BL[529];W[dq]WL[228]
;B[sh]BL[525];W[cp]WL[226];B[aa]BL[521];W[bb]WL[223];B[hb]BL[517];W[bo]WL[220];B[kb]BL[512];W[co]WL[217]
;B[as]BL[508];W[br]WL[214];B[ba]BL[504];W[ab]WL[212];B[fk]BL[500];W[fa]WL[210];B[kj]BL[497];W[kk]WL[208]
)

@@ -0,0 +1,14 @@
(;GM[1]FF[4]CA[UTF-8]
RU[Chinese]SZ[19]KM[7.5]TM[900]
PW[xia_169]PB[Zen-15.7-1c0g]WR[3580?]BR[3219]DT[2018-04-04]PC[(CGOS) 19x19 Computer Go Server]RE[B+Time]GN[406996]
;B[pd]BL[895];W[dd]WL[896];B[qp]BL[893];W[dp]WL[892];B[fq]BL[888];W[op]WL[888];B[cn]BL[882];W[fp]WL[884]
;B[gp]BL[878];W[fo]WL[880];B[dq]BL[877];W[gq]WL[877];B[eq]BL[872];W[hp]WL[873];B[go]BL[867];W[hq]WL[868]
;B[cp]BL[860];W[gn]WL[864];B[ho]BL[856];W[do]WL[860];B[co]BL[854];W[cq]WL[857];B[fn]BL[847];W[en]WL[853]
;B[fm]BL[842];W[io]WL[849];B[hn]BL[841];W[hm]WL[845];B[in]BL[835];W[em]WL[841];B[eo]BL[831];W[ep]WL[837]
;B[dn]BL[826];W[eo]WL[833];B[el]BL[820];W[dm]WL[830];B[dl]BL[816];W[bm]WL[826];B[cm]BL[810];W[nf]WL[822]
;B[pf]BL[799];W[nj]WL[817];B[cf]BL[789];W[df]WL[814];B[dg]BL[783];W[cg]WL[809];B[be]BL[778];W[ce]WL[805]
;B[bf]BL[772];W[bd]WL[801];B[cc]BL[771];W[cd]WL[798];B[ef]BL[769];W[de]WL[794];B[ch]BL[767];W[eg]WL[790]
;B[dh]BL[765];W[ff]WL[786];B[eh]BL[750];W[ee]WL[782];B[mq]BL[735];W[kq]WL[778];B[oq]BL[722];W[pq]WL[774]
;B[pp]BL[715];W[nq]WL[770];B[or]BL[708];W[nr]WL[766];B[np]BL[702];W[oo]WL[762];B[mr]BL[698];W[pr]WL[758]
;B[ns]BL[690];W[qq]WL[754];B[rq]BL[677];W[rp]WL[750];B[ro]BL[664];W[qo]WL[745];B[sp]BL[662])

@@ -0,0 +1,29 @@
(;GM[1]FF[4]CA[UTF-8]
RU[Chinese]SZ[19]KM[7.5]TM[900]
PW[shang_cfa]PB[Pangu-127-n]WR[3655?]BR[3331?]DT[2018-04-04]PC[(CGOS) 19x19 Computer Go Server]RE[B+Resign]GN[407143]
;B[pd]BL[898];W[dd]WL[896];B[qp]BL[882];W[dp]WL[892];B[fq]BL[878];W[op]WL[888];B[oq]BL[864];W[nq]WL[884]
;B[pq]BL[864];W[np]WL[881];B[cn]BL[856];W[dn]WL[876];B[dm]BL[853];W[en]WL[872];B[cp]BL[850];W[cm]WL[869]
;B[co]BL[842];W[dl]WL[865];B[em]BL[836];W[cl]WL[860];B[dq]BL[835];W[fm]WL[856];B[el]BL[829];W[ep]WL[853]
;B[eq]BL[823];W[cq]WL[849];B[bq]BL[820];W[ek]WL[845];B[fl]BL[814];W[gl]WL[841];B[fk]BL[808];W[fj]WL[837]
;B[gk]BL[802];W[hk]WL[834];B[gj]BL[797];W[gi]WL[831];B[hj]BL[795];W[ij]WL[827];B[hi]BL[790];W[hh]WL[824]
;B[ii]BL[790];W[ji]WL[820];B[ih]BL[786];W[ig]WL[817];B[jh]BL[785];W[kh]WL[814];B[jg]BL[785];W[jf]WL[810]
;B[kg]BL[784];W[lg]WL[807];B[kf]BL[784];W[ke]WL[804];B[lf]BL[784];W[mf]WL[800];B[le]BL[784];W[ld]WL[797]
;B[me]BL[783];W[ne]WL[793];B[md]BL[779];W[mc]WL[789];B[nd]BL[779];W[od]WL[786];B[nc]BL[778];W[oc]WL[782]
;B[nb]BL[777];W[ob]WL[775];B[ej]BL[758];W[mb]WL[768];B[dk]BL[746];W[na]WL[764];B[fi]BL[745];W[gh]WL[761]
;B[fh]BL[726];W[ik]WL[756];B[ki]BL[707];W[jj]WL[752];B[lh]BL[696];W[mg]WL[749];B[oe]BL[680];W[pe]WL[745]
;B[nf]BL[674];W[of]WL[741];B[ne]BL[671];W[ng]WL[737];B[pf]BL[656];W[qe]WL[733];B[og]BL[648];W[qf]WL[729]
;B[qg]BL[633];W[rg]WL[725];B[qh]BL[616];W[rh]WL[721];B[qi]BL[603];W[ri]WL[718];B[lc]BL[582];W[lb]WL[714]
;B[kd]BL[573];W[kb]WL[710];B[cf]BL[559];W[ce]WL[706];B[df]BL[550];W[bf]WL[702];B[bg]BL[546];W[be]WL[698]
;B[ch]BL[539];W[bh]WL[694];B[bi]BL[528];W[ag]WL[690];B[ah]BL[521];W[cg]WL[686];B[af]BL[510];W[dg]WL[683]
;B[ef]BL[497];W[eg]WL[679];B[ff]BL[489];W[fg]WL[675];B[gf]BL[483];W[gg]WL[671];B[hf]BL[473];W[oa]WL[667]
;B[gm]BL[460];W[bn]WL[663];B[bo]BL[448];W[am]WL[659];B[bl]BL[434];W[aj]WL[655];B[bj]BL[421];W[dj]WL[651]
;B[ck]BL[407];W[eh]WL[647];B[ei]BL[395];W[gn]WL[643];B[fn]BL[388];W[hm]WL[639];B[hl]BL[383];W[im]WL[635]
;B[go]BL[375];W[fo]WL[632];B[hn]BL[370];W[in]WL[628];B[io]BL[366];W[jo]WL[624];B[ip]BL[358];W[jp]WL[620]
;B[jq]BL[349];W[kq]WL[616];B[kr]BL[341];W[jr]WL[612];B[iq]BL[338];W[lr]WL[609];B[kp]BL[333];W[ks]WL[605]
;B[lq]BL[329];W[kr]WL[601];B[jn]BL[323];W[ko]WL[597];B[kn]BL[317];W[lo]WL[593];B[ln]BL[312];W[mn]WL[589]
;B[mm]BL[306];W[nn]WL[585];B[ll]BL[301];W[di]WL[581];B[dh]BL[293];W[ci]WL[578];B[hg]BL[287];W[eh]WL[574]
;B[eg]BL[280];W[do]WL[570];B[bm]BL[272];W[il]WL[566];B[kk]BL[265];W[dl]WL[562];B[cl]BL[258];W[cs]WL[558]
;B[cr]BL[253];W[bs]WL[554];B[br]BL[248];W[ds]WL[550];B[ir]BL[244];W[is]WL[546];B[gr]BL[242];W[fs]WL[542]
;B[hs]BL[239];W[gs]WL[539];B[js]BL[237];W[hr]WL[535];B[is]BL[234];W[fr]WL[531];B[gq]BL[231];W[jm]WL[527]
;B[km]BL[229];W[kl]WL[523];B[jl]BL[228];W[jk]WL[519];B[kj]BL[223];W[al]WL[515];B[an]BL[221])

Oops, something went wrong.

0 comments on commit 29874e4

Please sign in to comment.
You can’t perform that action at this time.