Is bag+SRS sustainable?

Thread in 'Discussion' started by tepples, 9 Jul 2006.

  1. Actually, I've been pursuing parity some more instead of column counting. Here is the way I "converted" the parity argument to work with line clears:


    Code:
    ..........  ..........  ..........  .......... 
    ..........  ..........  ..........  .......... 
    XXXX..XXXX  XXXX..XXXX  XXXX..XXXX  XXXXJJXXXX 
    XXXX..XXXX  XXXX.TXXXX  XXXX.TXXXX  XXXXJXXXXX 
    XXXX..XXXX  XXXXTTXXXX  ==========  ========== 
    XXXX..XXXX  XXXX.TXXXX  XXXX.TXXXX  XXXXJXXXXX
    By keeping the line "uncleared", you can see that the upper screen is unchanged, the T is unchanged, but the J has changed from 22 to 13 to offset the T's 31. I'd like to emphasize that line clears only affect the parity of pieces placed "over" line clears. Existing pieces, including the piece that cleared the line, have completely unaffected parity.

    The above example shows a single. A double has a net effect of 0. In fact, all even-sized contiguous line clears will have a net effect of 0, and all odd-sized contiguous line clears will have the same effect as a single. This means an all-tetris loop must be at least 10 bags, as all line clears are (obviously) even-sized.

    Another complication is non-contiguous line clears (splits, etc). I should note that these line clears don't have to be from the same piece... there just has to be clears on alternating lines. With a triple split you could, say, turn an I from 22 into 40 or 04.

    Line clears affect every piece orientation differently. For example, O and the horizontal S and Z will constantly maintain a parity of 22 over all imaginable line clears. However vertical S and Z pieces will turn into 13 or 31.

    Unfortunately, line clears also affect pieces differently depending on where they split the piece. Consider:
    Code:
    ....JJ....    ....JJ....
    ....J.....    ==========
    ==========    ....J.....
    ....J.....    ....J.....
    
    
    
    ....I.....    ....I.....
    ....I.....    ....I.....
    ....I.....    ==========
    ==========    ....I.....
    ....I.....    ....I.....
    
    
    On the left, as we have seen before, the J changes from 22 to 13. On the right, however, the parity is still 22. Likewise for the I piece. Thankfully, this complication only applies to the L, J, and I pieces.


    So how does the current 20-bag loop fit into this model? Well, the current pattern never stacks a piece across a line clear, so nothing complicated is happening.


    That's... A lot of information. I should probably add it to the wiki... Would you believe I'm most stumped about where to put it/what to name it? [​IMG] Suggests would be appreciated.
     
  2. tepples

    tepples Lockjaw developer

    [[Parity]] might be a good title.
     
  3. So... all we can say is that the must be an even number of odd effects...


    That's bloody helpful, that...


    But at least I have it at a point where it makes complete sense to me...
     

  4. I'm glad it's making sense (and will populate that wiki entry later with greater depth). [​IMG]

    And it's more helpful than you might think. If we could somehow prove that an even number of odd effects requires an even number of bags, (which certainly sounds reasonable on paper), that would show that loops must be a multiple of 10-bags. At the least, these expanded parity requirements can be used to evaluate loop concepts to see if they are dead ends. My current potential 5-bag pattern includes only simple line clears with the exception of a TJ in the middle, which is indeed a correct balancing of parity.


    A good exercise to do would be to find a way a fitting a single bag into a rectangle under tetris rules. If it's still impossible, then... We'd probably be close to proving 10 bags are required. If someone else wants to look into this (doubt I'll get around to it soon), the possible sizes are:


    2x14

    4x7

    7x4

    14x2


    The skinny rectangles are probably easiest, if possible.
     
  5. 2 wide 14 deep is impossile, due to the column counts.
     
  6. As are the other three.


    Actually, any rectangle with at least one even-numbered side is impossible, due to the "T has uneven checkerboard parity" issue mentioned a few posts back.


    Rectangles with at least one pair of sides that's an even number in length will end up with an even number for the total area; and if you apply the checkerboard pattern, rectangles whose area is an even number will have an equal number of each color square.


    One bag of the 7 tetrominoes, though, has 15 squares of one color and 13 of the other, thanks to that T.


    ...Though this does not apply to using an even number of bags, since opposite-colored T's will balance out the parity.
     

  7. I think you're forgetting about how line clears can change the parity of pieces under some conditions as explained above. For example if your pieces are:


    I (x5)

    T (x1)

    J (x1)


    Then 4x7 can be...


    Code:
    IIIIIJJ
    IIIIIJT
    IIIIITT
    IIIIIJT
    
     
  8. Oh, okay, you meant with line clears...for some reason I thought you meant just placing the pieces without clearing anything. [​IMG]
     
  9. I've been thinking more about my column counting theory, and how the special cases are affected by it:


    2 wide: All pieces must be dropped vertically. J L and T will cause a difference of 2, I will cause difference of 4, all others cause a difference of 0. Last piece of solution must be I J L or O. O can appear anywhere within in the sequnce.


    3 wide: The key thing here is the number of spaces in the middle column. O S and Z must always use 2 spaces from this column; J and L must use 1 or 3, T can use 1 2 or 3 (must be 2 if horizontal, must not be 2 if vertical), and I must use 0 or 4. Last piece can only be I J L O or T, and only T if placed horizontally.
     
  10. Screw that... we just worked out how to brute-force it more efficiently...
     
  11. A while ago, when CT re-worked our proof of a 20 bag loop, he wondered about the possibility of 5 bag and 10 bag loops. Now, we're still not sure if 5 bags is possible, but I am pretty sure that 10 bags is. Here is the rough idea of how...


    Play the first 7 bags as normal. When you play the 8th bag, put the T in the hold box when it arrives and play the other 6 pieces of the bag. Your field should then look like this:

    Code:
    ..........
    ..........
    ..........
    ..........
    S.....LOOJ
    SS.Z..LOOJ
    SSZZ..LLJJ
    SSZZ..JJLL
    TSZZ..JOOL
    TTZT..JOOL
    TZTT..LOOJ
    ZZST..LOOJ
    To complete from this point, you will need to clear a total of 12 lines, 8 of which are already on screen, and 4 more will be built on top of these.


    The problem pieces are the S and Z. These are placed vertically in the first 4 columns, filling the gap left by the T that has not been placed, and then a T goes on top of them. The right 4 columns take OOLL, as in the balancing pattern used in the 20 bag method. The central channel is handled by dropping both T pieces in pointing to the left, both J pieces on top of the T pieces to make a triple, and both I pieces in the remaining gap. This last part, however, gives us a small issue.


    After talking to CT about this, we are not sure of the timing issues relating to how those last lines can happen. We think that it is always possible, but we're not sure. So we are looking for input on this. Hopefully, the problem cases can be identified quickly...
     
  12. ***

    Important development for people only generally keeping tabs on this stuff: The current solution has been updated to only require 3 previews, thanks to 2 insights, one by Lardarse and one by myself. See it for yourself. The motivation is now much higher to develop a 20G loop, because it could now work in TGM ACE.

    ***



    Now, to address Lardarse's post just above... That's quite similar to the 10-bag solution I came up with months ago. The problem I found was that order was too important for the last few pieces, and nothing could be worked out that bravos. Instead, I used an "intro" to the loop that built a buffer on the sides making the neutral state of the loop 4444004444 or 8888008888 (can't remember offhand). This was enough to guarantee line clears int he inal bags, and a 10-bag loop (with intro/without bravos) was consistently possible.


    As for the problem cases... the worst ones always involve the I piece showing up last in the final bag.
     

Share This Page