Josekle Development

I was trying to look ahead into all the joseki, and I notice that with joseki=452, it repeats back to the joseki=1 and so on. And I try to work backward from 451. I notice like joseki 447, its sequence isn’t the most common one, but the one with other path, the sequence with answering at B in Play Go at online-go.com! | OGS actually force the sequence but not always with A (which is the solution in 447)

In that case of slightly different sequence end up with the same shape, should the forced sequence one be the priority? Or are we getting duplicates but slightly different sequence both in the puzzle database?

2 Likes

Actually, there are only 41 solution josekis selected so far. For numbers larger than 41, it wraps around, so puzzle 42 is equal to puzzle 1, and puzzle 452 is also equal to puzzle 1 (since 452 modulo 41 = 1).

The number of joseki that @okonomichiyaki was referring to above is the larger dictionary set that inputs will be checked against.

These are very good questions about how solutions should be curated. It seems like an aesthetic choice to be made, but really this type of judgement is beyond my understanding of joseki.

Overall, I think the curation of the solution set is the trickiest part. We could simply make it such that all joseki in the OJE could be a possible solution, but that would entail a blend of very easy and common joseki alongside some very complex and obscure joseki. Ideally, I think we need to come up with subsets that suit different people’s preferences.

Maybe running multiple parallel daily challenges (allowing a selection for difficulty level) is possible, but it requires a lot of work to curate (at least to sort joseki as “easy” vs “hard”). Perhaps, with an unlimited mode of play (something that continuously presents more puzzles within a day), the user could select between different sets of possible solutions (organized by difficult or theme, like “AI/modern” vs “classical”, etc.).

In the unlimited mode, we could replace the “Share” button with something that resets and randomly selects a new puzzle.

2 Likes

By the way, I’ve removed the jump forward / backward 10 moves buttons, and added support for swiping on the board to navigate. Pull request has been sent (so it should eventually go live on the main version), but you can see it live on my dev fork right now.

yes basically this is the heart of the issue. I’m not sure the best way and there’s some technical nuances to work out (comparison of board position notation between SGF and OJE)

I probably will not have time to do much more than fix any bugs discovered this week, but if anyone wants to think about expanding the collection or work on that, feel free. just maybe discuss the details before spending a lot of time on new code as I have some ideas around the data scraped from OJE so far, and there’s also some issues (old vs new OJE)

in the meantime the collection of 41 will provide some daily puzzles for now

1 Like

What would be a good way to do some community-driven curation of josekis??

I think that we at least need to convert our solution sets to SGF for easy handling with various editor tools.

Could OJE be modified to have users annotate complexity and “style” (like modern/AI vs classical)?

1 Like

there are basically 3 position notations involved here:

  • SGF
  • OJE
  • Besogo

I can write more later but we need a good solution to unify

yes I think anything should focus on OJE as the framework is all there

2 Likes

There are also josekis that are conditional (mostly due to favorable ladder, like the one from small avalanche Play Go at online-go.com! | OGS this only works with favorable ladder Play Go at online-go.com! | OGS). Some due to the influence facing direction, etc. And some are acceptable with certain margins, like simplify the situation etc.

How are these to be considered into puzzles?

3 Likes

To answer this particular example, because the OJE node in the second link does not include the tag “Joseki: Done” it would not be included as a possible puzzle in the way I’m envisioning expanding the collection using OJE

I haven’t exhaustively explored OJE to see if there are other options, but using “Joseki: Done” avoids the problem of having partial or really unfinished sequences as puzzle solutions

The 500+ joseki mentioned earlier are all sequences with this tag

3 Likes

ToDo list of some simple things that I will do soon:

  1. Bottom align the text in the hints panel.
  2. Refactor the resizing code a bit to both simplify and more gracefully handle squarish window sizes.
  3. Button to toggle realistic stone themes.
  4. Fix button borders using new BesoGo CSS (also need to adjust for dark theme).

Harder things to consider, which are more than just matter of implementation, but also involve game/graphic design decisions:

  1. Persistence (forward propagation) of hints.
  2. Josekis with passes and how to represent hints for passes.
  3. Joseki curation: methods and philosophy.
2 Likes

Another nice thing to have would be to prevent plays outside the polite triangle as long as it matters.

Shall we use GitHub issues to keep track of things?

1 Like

Should we add another button to share with Discord formatting?

3 Likes

how would this work? not sure what “as long as it matters” means

1 Like

As long as there are only stones on the main diagonal (A1 to T19), stones can’t be placed above the diagonal.

1 Like

only stones meaning already placed as part of an ongoing guess? I guess it makes sense to force orientation, but I’d want a clear explanation in the message as any blocking of stones could be confusing

with no limits on the number of guesses, I feel like the rotation problem is less of an issue

Yes, it’s not about variations already in the tree. Just the current board position matters.

The discord screenshot Gooplet shared had someone asking about orientation. Visual hints could make that clear.

Even if correct answers are restricted to one canonical orientation (which could be nice but I’m not sure it’s necessary, it feels enough that we know which corner to guess in), I would prefer guesses to be allowed in both orientations, so that you’re not prevented from making a nice strategic guess just because it’s flipped incorrectly.

3 Likes

I think that we should adopt these “polite triangle” conventions for how joseki are oriented in the solution set. I believe the OJE follows these conventions with how the joseki tree is stored.

However, I don’t think that we should restrict inputs to follow the polite triangle conventions. As @antonTobi just mentioned, while I was typing, there could be strategic reasons to input a “flipped” joseki. When following the conventions, some joseki wind up more unbalanced toward one side or the other of the main diagonal, so sometimes one might want to input a flipped joseki to better probe.

5 Likes

That’s an interesting thought (it would be similar to allowing to write english words from right to left in Wordle).Then we’d have to add those different orientations to our joseki database once we’re preventing sequences that aren’t part of OJE.

We don’t need to mirror them in our dictionary. We can simply check all rotations and flips, which is efficient, since the checking for each orientation can quit immediately when it goes off tree, and if one orientation is found to match, we can skip checking the rest.

4 Likes

If restricting to one corner (something like a 12x12 square like we discussed recently), there are no rotations, so only two different orientations to check :slight_smile:

2 Likes