Imagine you have an ordered list of 24 words, and you want to split the list of words into four parts. You want to set it up so that three out of the four parts are needed in order to recover the entire list. For security, you also want to ensure that the entire list cannot be recovered with just two of the parts.
To make this a bit clearer, allow me to show an example with three parts, where two out of the three are required:
| part 1 | part 2 | part 3 |
|--------------|--------------|--------------|
| one | | one |
| two | | two |
| three | | three |
| four | | four |
| five | | five |
| six | | six |
| seven | | seven |
| eight | | eight |
| nine | nine | |
| ten | ten | |
| eleven | eleven | |
| twelve | twelve | |
| thirteen | thirteen | |
| fourteen | fourteen | |
| fifteen | fifteen | |
| sixteen | sixteen | |
| | seventeen | seventeen |
| | eighteen | eighteen |
| | nineteen | nineteen |
| | twenty | twenty |
| | twenty-one | twenty-one |
| | twenty-two | twenty-two |
| | twenty-three | twenty-three |
| | twenty-four | twenty-four |
Notice that if you have any two of the parts, you have the whole list. Also, if one of the parts is lost, you're fine. You can still retrieve the entire list.
Returning to the original question, how do I accomplish the above, again for 24 words, but where three out of four parts are required, and you can't recover the list with just two parts. Each word must exist in at least two of the parts, in case one of the four parts is lost.
When I try to do it by hand, I keep ending up with something that does not meet the requirements. I intuited that there would be 12 words in each of the four parts, but have been unable to split it by hand in an orderly way. I did manage to brute force it with a software script, but what the script generates looks very haphazard:
| part 1 | part 2 | part 3 | part 4 |
|--------------|--------------|--------------|--------------|
| one | | | one |
| | two | | two |
| three | | | three |
| four | | four | |
| five | | | five |
| | six | | six |
| | seven | | seven |
| | | eight | eight |
| nine | | nine | |
| ten | ten | | |
| eleven | | eleven | |
| twelve | | | twelve |
| | thirteen | thirteen | |
| | fourteen | fourteen | |
| | fifteen | fifteen | |
| | sixteen | sixteen | |
| seventeen | seventeen | | |
| eighteen | eighteen | | |
| nineteen | nineteen | | |
| twenty | | twenty | |
| | | twenty-one | twenty-one |
| | twenty-two | | twenty-two |
| | | twenty-three | twenty-three |
| | | twenty-four | twenty-four |
While the above does meet the requirements, it looks so random. I was hoping for something that follows some sort of pattern that is easy to recognize with the human eye (like the solution for the two-out-of-three-parts problem). It feels like it should be easy to solve given the right approach. Any ideas on finding an orderly pattern?
By the way, I'm not looking for any computer script (although feel free to provide one at your discretion). Apologies if this would not be considered a math problem. It feels like it could be, but I'm not quite sure how to categorize it. If it happens that your brain just intuits an orderly answer, feel free to put that here and I will gladly accept it. I don't necessarily need to know how you got there. :-)
So, given that the phrase appears in only two columns for its given row, let's find all the ways that the phrase can appear: Name the columns A, B, C, D. Then the 2/4 combinations are AD, BD, CD, AC, BC, AB.
Using these, 'one' appears only in A and D, 'two' appears only in B and D, 'three' appears only in C and D, and so on. For the image solution posted, I carried the pattern down all twenty-four phrases (I just used the numerals because I'm lazy and sleepy), but in reality, you only need to do it for the first six! Then for the rest, you can show it all. I'll edit in the two examples...
Image solution:
In reality solution:
To be even clearer, with your three column example, you could easily do this:
Image solution: