kobanium / TamaGo

Computer go engine using Monte-Carlo Tree Search written in Python3.
Apache License 2.0
54 stars 10 forks source link

MCTSツリーの描画機能 #94

Open kaorahi opened 8 months ago

kaorahi commented 8 months ago

91 を参照 (やっつけ試作あり). 実装は清書中.

kaorahi commented 7 months ago

探索順をエッジの色にするのはいかがでしょう. 見にくいでしょうか?

tree_graph

--- a/graph/plot_tree.py
+++ b/graph/plot_tree.py
@@ -99,8 +99,12 @@ def plot_tree_main(input_json_path: str, output_image_path: str, around_pv: bool
         )

         # エッジの作成
+        oldness = 1 - (item['index'] + 1) / len(node)
+        whiteness = 0.9
+        c = f"{int(oldness * whiteness * 255):02x}"
+        color = f"#{c}{c}{c}"
         penwidth = max(0.5, item['policy'] * 10)
-        dot.edge(str(parent_index), str(index), penwidth=f"{penwidth}")
+        dot.edge(str(parent_index), str(index), color=color, penwidth=f"{penwidth}")

     dot.render(output_image_path, format='png', view=False, cleanup=True)
kobanium commented 7 months ago

認識が間違っていたら申し訳ないのですが、色が濃いほど最近に展開されたノードで、薄いほど探索の初期に展開されたノードって言うことですかね。 色の濃さが逆の方が何となく直感(Policy)で選ばれる本流はこれっていうのがわかりやすいと感じました。 ただエッジの濃淡で意味をもたせるのは情報量が増えますし、表示の仕方とその意味がわかれば十分に理解できるので素晴らしいアイデアだと思います。