Thursday, July 2, 2015

Addendum

   Before falling asleep I thought I would jot more thoughts.

   Some major behind-the-scenes problems are that I am storing joseki as 10-by-10 tiles, just because that is slightly more natural for me to think about. Which is a problem, because joseki are being played on a 19-by-19 board. Actually the joseki are one dimensional lines of numbers, but those are somewhat more confusing.

   I told it to pretend a same-color stone on some rotation or reflection of C7 : C10 was more or less one of the other stones. In the name of half-asleep ad hoc solutions being an approach to doing programming. It panics if it sees a wrong-color extension and is embarrassing for everyone involved.

Wednesday, July 1, 2015

Just joseki bot

   I just glued several simple joseki from The 21st Century Dictionary of Basic Joseki by Takao Shinji to a bot and asked it to play them. Which it does!

   You might notice that it refuses to deviate from its chosen joseki in a given corner, and once it has no choice but for one color to deviate from the script it just stops.

   But this is the idea I decided to start on : A bot that plays joseki if at all possible (so as to avoid expensive, original analysis), then once the board closes up plays single moves.

   Mid-game joseki would need to be included.

   The next step for the bot is to tell it that it is okay to have stones from other corners intrude on other corners' joseki. I think a rule of thumb saying "just; no contact moves" would be a good measure.

   Another issue is that not all moves are equally sente. While bots boldly tenuki-ing is somewhat infamous, not connecting a peep is a crime.

   I have been playing around with bots on KGS (Hirabot 1d, Ayabot 2d). They stick pretty rigidly to their opening patterns. I wonder if they are remembering games that they won to conserve time for their Monte-Carlo methods. Or just following some heuristics or an opening dictionary. My approach will be just joseki to begin.