Addressing only the data representation part of the problem:

This is similar to the classic "knight moves" chess problem.

I'd suggest a single-dimension array with 8 elements.
Each element has 8 bits of content, which represents a column of data.

With this structure, the problem reduces to identifying rules to generate legal adjacent bit patters.

It's late in my day - brain too fried to attempt that now - I'm sure wiser, more alert monks will oblige.

Cheers.

Update:Sigh .. - it is even later in the night, but I'm bothered because the representation above is not right.
The values 0..5 can represent your 6 choices - these can fit into 3 bits. Times 8 gives you 24 bits.

So, a single dim array, where each element holds 24 bits can represent your problem.

If you shift items in sequences of 6 bits, you can identify legal vertical patterns. The same rules can apply to adjacent indexes masking out the right bits.

Brain still to fried to conceptualize the actual patterns.

     Syntactic sugar causes cancer of the semicolon.        --Alan Perlis


In reply to Re: Pattern enumeration. by NetWallah
in thread Pattern enumeration. by BrowserUk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.