Skip to content
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

What metric do we use for Square One? #364

Closed
jfly opened this issue May 13, 2016 · 18 comments
Closed

What metric do we use for Square One? #364

jfly opened this issue May 13, 2016 · 18 comments
Assignees

Comments

@jfly
Copy link
Contributor

jfly commented May 13, 2016

(Moving the discussion over from thewca/tnoodle#153.)

See regulation 4b3d, which calls for at least 11 moves on Square One and 12c, which defines notation, but doesn't tell you what is considered a move.

I suppose right now, TNoodle is the de-facto standard for this. You can see the cost computation code here: https://github.com/cubing/tnoodle/blob/c6c0f6650e10d4ae76467532deb19a2504de9b67/scrambles/src/puzzle/SquareOnePuzzle.java#L216-L233, which says that something like (5, 2) is cost 1. However, Chen Shuang's Square One solver actually considers (5, 2) to be 2 separate moves. See https://github.com/cubing/tnoodle/blob/c6c0f6650e10d4ae76467532deb19a2504de9b67/sq12phase/src/cs/sq12phase/FullCube.java#L78-L84.

We could speed TNoodle Square One generation up quite a bit if we resolve this discrepancy. See TNoodle comment here.

@Claster
Copy link
Contributor

Claster commented May 16, 2016

I suppose everyone agrees that at least "(x, y)" and "/" are different moves?
Is there any stats about how many states have N moves solution in those metrics? I could find only Jaap's page, but it seems to count "(x, y) /" as 1 move.

@viroulep
Copy link
Contributor

Penalty-wise "(6,6)" is two moves.
Maybe we could just extend OTBM for Square One?
(and adjust the lower bounds for the number of moves accordingly)

@Laura-O
Copy link
Member

Laura-O commented May 17, 2016

The only notation I have heard of is the "twist metric" with God's number = 13, which is also mentioned on Jaap's website.

But as @viroulep said, in accordance with the regulations it would make more sense to count "(x,y)" as two moves.

@Randomno
Copy link

Randomno commented Jul 1, 2016

Somewhat related, can the regs/guidelines clarify the metric? I see a lot of people saying their unofficial scramble is only, for example, 9 twists, and thinking it's not a legal scramble.

@Claster Claster added the 2017 label Oct 7, 2017
@viroulep
Copy link
Contributor

viroulep commented Nov 7, 2017

Not sure how much changes would be required to fix this...

I suppose everyone agrees that at least "(x, y)" and "/" are different moves?
yes!

Also according to our penalties right now:

  • (5,1) is one move
  • (5,2) is two moves
    I don't think counting "(x,y)" as two moves would make totally uniform tnoodle and the Regulations.

We usually define the limit for penalties as "half a move", so if we consider (x,y) as two moves, we need to change the penalty's limit for square one to 15°.
This would fix #192 at the same time, and ironically when looking back at the issue I noticed the change to 15° was suggested too (I forgot about it...).

It would remain the problem of detecting misalignment during inspection, but it would be fixed by making paper blockers mandatory (not using them leaves a huge room for issues anyway, regardless of the metric used).

@Laura-O
Copy link
Member

Laura-O commented Nov 8, 2017

I support changing the limit to 15 degrees and making the thin objects mandatory.

One concern I have is that judging misalignments will be difficult, especially for judges who are not familiar with Sq-1. That is another good reason to restore example images (#17).

@SAuroux
Copy link
Member

SAuroux commented Nov 8, 2017

Uhm, sorry, but I consider the idea of reducing that limit to 15° (and likely even keeping / as 90°) pure insanity in practice. I just quickly browsed through Youtube to see how many currently valid solves would have been a +2 under this rule and found two popular examples right away:

Helmer's 6.67: https://www.youtube.com/watch?v=oBWpvyjmpXU
Brandon's 7.31: https://youtu.be/ABNNLXlQX2s?t=86

Moreover:

  • Judging missalignments would be incredibly difficult, certainly NOT only for people who are not familiar with SQ1.
  • Mandatory paper blockers won't solve the problem that it is incredibly easy to make a 15° move by accident during inspection once the blocker is removed. Meanwhile, no judge can possibly notice this reliably.
  • In a solved state, SQ1 is simply a cube. So from philosophical point of view, how does it make sense to not apply the same penalty limit for the cubic layer parts? More generally, it clearly makes sense for SQ1 to differentiate between scrambling notation and penalty limits/notation - unlike all other puzzles - because it is the only shape-shifting puzzle within the WCA.

Wouldn't this whole issue be also fixed if the regulations (or guidelines) simply define the metric based on what we currently use? E.g:

  • "/" is considered one move
  • "(x,y)" is considered no move iff |x| <= 1 and |y| <= 1
  • "(x,y)" is considered one move iff (|x| <= 1 and |y| > 1) or (|x| > 1 and |y| <= 1)
  • "(x,y)" is considered two moves iff |x| > 1 and |y| > 1

@lgarron
Copy link
Member

lgarron commented Nov 9, 2017

So from philosophical point of view, how does it make sense to not apply the same penalty limit for the cubic layer parts?

10f+) EXPLANATION The misalignment limits are selected so that they provide a natural cutoff between one state of a puzzle (without penalty) and a state one move away.

@SAuroux
Copy link
Member

SAuroux commented Nov 9, 2017

According to my understanding, this clearly means 45° for U and D layers on a SQ1. :)

@jfly
Copy link
Contributor Author

jfly commented Nov 9, 2017

Wouldn't this whole issue be also fixed if the regulations (or guidelines) simply define the metric based on what we currently use?

What do you mean by "currently use"? The metric you define here is not the metric defined by TNoodle (used for scramble filtering). See my original post for a description of what TNoodle currently does.

If we define (1, 0) as "not a move", this is going to cause problems for TNoodle's filtering, because the search algorithm will prefer to do (1, 0) (1, 0) instead of (2, 0). Even if we do change TNoodle to avoid doing "redundant" moves like that, it's almost certainly going to alter the state space of possible scrambles TNoodle generates.

I think there's an inherent dichotomy here between:

  1. Defining move in a way that fits with our intuition that a puzzle is solved without penalty if it's 0 moves away from solved.
  2. Defining move in a way that makes some sense for scramble filtering purposes.

From both a software and a philosophical point of view, I do not like the definition of (1, 0) as "not a move". To me, something is intuitively a move if applying it in the middle of a sequence of turns affects the final state. Inserting a 10 degree rotation of a U layer in the middle of a 3x3x3 scramble won't affect the final state, but inserting a (1, 0) in the middle of a square one solution definitely will.

@SAuroux
Copy link
Member

SAuroux commented Nov 9, 2017

I never said anything about the middle of a solve. But doing (1,0) on a solved SQ1 is resembles exactly the same as doing a 30° rotation of the U layer on a solved 3x3x3.

Basically, you can define moves for SQ1 in whatever way you want, but changing penalties for SQ1 only to match this definition, even though this makes no sense in practice, is quite ridiculous. If 10f+) doesn't fit this, then add an exception:

10f+) EXPLANATION The misalignment limits are selected so that they provide a natural cutoff between one state of a puzzle (without penalty) and a state one move away. Exception: Since a Square-1 has cubic shape in solved state, its U and D layers are judges analogously to a cubic puzzle.

@Laura-O
Copy link
Member

Laura-O commented Nov 10, 2017

I want to revise my reply from above: I did not really think about what 15 degree actually means on a SQ-1. Sorry about that and I agree with @SAuroux's view regarding judging:
After checking this on a puzzle I think it's not possible to judge misalignments if we set the limit to 15 degrees. Here is an example of a misalignment which is exactly 15 degree on both layers:
img_20171110_141627

I doubt that even the best judges in the world would be able to judge these misalignments in a consistent and fair way.

Additionally, we would see either an enormous amount of +2s or results would get worse. After watching several videos of recent SQ-11 records I would guess about 50% of the solves have a misalignment of at least 15 degrees on one layer.

@Claster
Copy link
Contributor

Claster commented Nov 15, 2017

How about implement Sébastien's proposal for calculating penalties and keep the current filtering of scrambles? E.g. define two type of moves, one of which is needed to determine penalty, and another one will be used only by WST?

Another idea is to move the whole 4b3 into a separate document, and then only one type of moves will need to be defined for square-1. Competitors themselves don't need to know such nuances, so newcomers won't be overwhelmed with the information they don't need.

@Laura-O
Copy link
Member

Laura-O commented Nov 17, 2017

Yes, I agree that defining two types of moves is the most reasonable way to implement an applicable limit for misalignments while not changing TNoodle's filtering.

@viroulep
Copy link
Contributor

Yeah then two definitions (moves and penalties) sounds like the right path.

We should also use this opportunity to fix some weirdness we still have with Square one.

@SAuroux, I clearly remember, but couldn't find, an incident about a square one in a weird state but which was definitely +2 under the current Regulations. I remember you being involved in the discussion, would you happen to remember the competition in which it occurred?
I think the state was something like (1,0)/(-1,-1) then part of a "/".
I personally think this kind of state should be DNF, but according to 10f we can only make "under one move" adjustment except for the full "/", making this state +2.

I'll try to take this issue on before the end of the week.

@viroulep viroulep self-assigned this Nov 21, 2017
@SAuroux
Copy link
Member

SAuroux commented Nov 21, 2017

I managed to find it with a quick Gmail search: Ukrainian Nationals 2017 report

I'm still convinced that this should continue to be a +2 state. :)

@viroulep
Copy link
Contributor

viroulep commented Nov 25, 2017

Ah thanks a lot for finding it!

For reference this is the state we're talking about:
864fbbf05e7b3486dae9ac537f8fe696

It's (0,-1)/(0,1) and (half a "/") - 1 degree.

What's bothering me with this state is that you have to know the interaction between two orthogonal parts to fix the misalignments.
Here you can't just bring layers to their "squared" position: once you've done it for the "almost /", U and D are correctly aligned, and one single move cannot bring back the puzzle to its solved state: you have to play with the misalignment and know that you should do (0,-1) to be able to do the additional move.

So technically, after (0,-1)/(0,1) the direct way to align the two adjacent parts misaligned is "/", and it doesn't solve the puzzle.
After (0,1)/, it does though.

@dancing-jules
Copy link

IIRC I judged a Square-1 solve that was off by (-1, 1) and 89° of a /-move. So that wasn't even a +2 but a normal time, though it looked halfway scrambled to (newb) me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants