[ View Thread ] [ Post Response ] [ Return to Index ] [ Read Prev Msg ] [ Read Next Msg ]

BGonline.org Forums

Trad to nactation conversion algorithm

Posted By: Nack Ballard
Date: Monday, 7 February 2011, at 6:29 p.m.

In Response To: Trad to nactation conversion algorithm (Matt Ryder)

So am I right in assuming that a trad to Nactation conversion algorithm should ideally store all possible (non-assumptive) Nactation symbols for each play? That way you could do some pretty interesting analyses of the different patterns that emerge.

Correct.

The algorithm should not store the symbol unless it is unambiguous. In your original tutorial, you warn that 43Z-62H is ambiguous and should be designated 43Z-62R instead. So for 54D-62, both R and H should be stored, but for 43Z-62 only R should be stored.

Sorry, that was before the valuable (and foremost) "Hit on highest point" convention had been created. 43Z-62H (or 54D-62H) is unambiguously 24/16*. And 32S-62H is unambiguously 13/7 6/4* (because in the latter case you cannot hit on a point higher than the 4pt).

What this implies is: Every possible nactation symbol should be evaluated for compliance with a given trad move (converted to a position), against a series of defined rules.

Exactly.

To make this process more efficient, I can work out some techniques for truncating the search according to a set of principles - for example, I don't think a position can be both E and e at the same time so no need to check further down the family after E is determined.

I assume that you mean to say that a "play" (instead of a position) cannot be both E and e at the same time. Yes, that sounds right for the output algorithm.

I suggest that the input algorithm be additionally sophisticated to anticipate the most likely human errors. For example, for 52S-11, 24/22 6/5(2) is e, and for 54S-31P-11, the similar-looking Bar/23 6/5(2) is E, but if someone uses e for the latter (out of habit for the former), the program searches up to see if there is a legal E play and if so interprets e that way. Likewise, if it sees opening "43V," or for that matter "43u" or "43v"), it could search up, member by member within the U/V family until it finds the legal 43U. People don't always grasp right away that Nactation is (necessarily) a relative system.

The above examples involve searching up within a family and are therefore high percentage guesses. There are also pretty good cross-family guesses; e.g., if if no legal R then U with an 18pt destination was probably intended, or if no non-doublet B then S was probably intended, etc. The (reasonable) alternative is to never go outside a family, or even to always reject a sequence as soon as an illegal letter emerges until a manual operator figures out where the nactator went wrong and fixes it. (Or you could at least start that way until it becomes clear where human errors consistently lie -- hopefully few as they may be.)

Equally a move that is focused exclusively on the near/inner board quadrants cannot simultaneously be B, C, E, G, Y, M, S, Z, U, V, W or R (or others I missed?).

Your concept is valid, though it doesn't apply to S and Z. The convenience clause states that you have the option to use S (instead of Z) when no larger-number-split play exists. For example, opening 21 played 24/23 13/8, or opening 54 played 24/20 13/8, or 31P-43 played Bar/21 13/9, can be either S or Z. (There is no ambiguity; them'z just the rules.)

For certain letters (those which don't define both halves of a play, and in which a far-side movement is not already spelled out or implied in the underlying definition), the entering portion of a move may be waived. For example, for 41S-64P-41 played Bar/24 13/9, you can use S or Z, but I tend to use P for descriptive reasons, and you can even use D or 9 if you like (all non-assumptively). Another example: 52D-64H-41 played Bar/21 6/5 can be W, but $ seems to be more commonly employed.

I'm not sure how wide a net you are intending to cast when you say "focused exclusively on the near/inner board quadrants," so I'm not sure how to answer the "or others I missed?" question. All four quadrants are touched collectively by the letters you list. However, we probably don't need to go into detail until it's time to start programming.

Then for each compliant symbol, I'll check to see if it's unambiguously compliant. If so, I'll store it.

Writing this sounds like a fun challenge. As soon as your updated tutorial is released, I'll take a crack at it.

That seems prudent. Don't hold your breath, but I'll finish as soon as I can!

Nack

Messages In This Thread

 

Post Response

Your Name:
Your E-Mail Address:
Subject:
Message:

If necessary, enter your password below:

Password:

 

 

[ View Thread ] [ Post Response ] [ Return to Index ] [ Read Prev Msg ] [ Read Next Msg ]

BGonline.org Forums is maintained by Stick with WebBBS 5.12.