-
Notifications
You must be signed in to change notification settings - Fork 554
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
About recognition of symmetrical situation #393
Comments
If you're talking about recognizing and taking advantage local symmetries in general, even when the board as a whole is not fully symmetric - then that's a hard and worthy and interesting unsolved research problem. :) If you're talking about simply omitting the search of symmetric points when the entire board is perfectly symmetric, then yes, that would be an improvement, but it would only be a very small improvement on 19x19 at least, so the priority for working on it is extremely low. Almost all of the time, the board is not symmetric, so it would usually only help for several percent of the positions, and furthermore, these positions are ones that would benefit very little from searching more efficiently, because they are just the standard early corner moves - there is no fighting yet, so there is nothing much that reading deeper can do to make a difference. It might be a little more useful for solving much smaller boards than 19x19, of course. At least for now you can work around this partially by just playing some of the top-favored symmetrical moves manually to break symmetry. |
Thank you for your answer. I still have a little doubt. Just like the checkerboard is symmetric, can the Network of AI also be "symmetric"?Should a stronger Network be more "symmetrical"? |
Whether the neural network itself should be forced to be symmetric is yet another question, and here the answer rather than being "good unsolved research problem" or "would be slightly good to implement but only slightly", instead the answer is "probably a not a good idea at all". In the limit of converging to perfect play, yes the network should compute a symmetric function. However, in general, computing a symmetric function can require computing many non-symmetric things along the way. For example, you might separately recognize a particular shape in each orientation, or trace a group's liberties once in each direction, before finally aggregating the results. The proper term for this is "equivariant" - that means when you are composed of a lot of separate functions that individually are asymmetric, but those functions are repeated symmetrically so that collectively they are symmetric. Then we can say that probably:
|
Thank you very much for your careful answer. |
I've noticed that the latest katago engine(v1.9) has achieved what I expected, and I really appreciate it.Thank you very much. @fuhaoda Symmetry and balance are special symbols for go enthusiasts. |
First of all, I want to thank you Lightvector. I'm also a Go enthusiast.
And I find that Katago seems to be thinking about symmetric points separately, which I don't think makes sense. So I'm curious that maybe identifying the symmetric selection points ahead of time would save computation and make it more efficient.Or is this a meaningless thing for the AI?
Symmetry or equilibrium is a meaningful thing for human understanding of Go, and perhaps for AI as well?
The text was updated successfully, but these errors were encountered: