I should say, however, that I’ve had the great pleasure of having some email exchanges with Stefan Westen (he posted a comment above). He’s shared with me a few different polycube solvers where he used truly ingenious techniques to solve some of the puzzles I’ve posted here with remarkable speed. For example, he sent me some code that finds all 9839 Tetris Cube solutions in under 10 seconds using a single thread on a 64 bit computer — which was (as I recall) more than three times faster than my solver on the same machine. I remember that one in particular because it was the last puzzle for which my solver was still faster than all of his: he had already crushed me with every other puzzle. His solvers are, however, all specialized to a single puzzle and not generally useful in their current form.

]]>Thank you.

]]>I have been searching for a pentacube puzzle solution for years (literally) and not finding a solution. Of course, all I have been using is backtracking and that, as you note, is “horrible.” I ran your parity checks on the puzzle and they yielded no firm results (the puzzle has parity 5, the 29 pieces all but 2 have parity 1 with 2 of parity 3). I have been thinking of applying algorithm X but the size here is 21333 rows. So, it would appear the “new” approach is MCH. I will let you know.

]]>I think you are misinterpreting the tables. I assume you are looking at **Table 2. E(s,n) for turn type T0**. E(s,n) is the expected number of points for the *rest* of you turn assuming you roll from state (s,n) and thereafter follow the max-expected-score strategy. To get the expected score for the whole turn (given your current state within the turn) you have to add your current turn score: s + E(s,n). For the states you talking about we have:

E(100,5) = 306.667

E(50,5) = 322.318

And the expected score the whole turn for these two states would be:

T(100,5) = 100 + 306.667 = 406.667

T(50,5) = 50 + 322.318 = 372.318

So your intuition is right: the better play is to take one 1, and it does indeed yield a higher expected turn score.

Matt

]]>I love delving into these kind of games! ðŸ˜€ ]]>

I have a quick question. I am surprised that the expected points of a turn where there are 50 points currently accumulated and there are 5 dice to roll is greater than a turn where there are 100 points accumulated and there are 5 dice to roll (basically, keeping a 5 and rolling 5 dice is better than keeping a 1 and rolling 5 dice). Unless you play by slightly different rules than I do, I can’t think of why this is true. Do you have any thoughts?

(I read the rules by which you play – they are slightly different but not in a way that would effect this. I play without zilching, a no-score first roll is not worth any points [and is horrible when it happens haha] and a roll of 4 of a kind and 2 of a kind [example 2-2-2-2-3-3] does not count as 3-pair).

]]>The idea of solving polycube problems in higher dimensions is interesting, though I haven’t thought much about it myself. I’m not sure how hard it would be to add another dimension to my solver. Probably doable, though graphical I/O would be challenging, and it would be harder to verify correctness just because 4 dimensional things are hard to think about.

I just did a web search for N dimensional polycubes. Although I did see a few related results, I don’t immediately see an N-dimensional polycube puzzle solver.

Your box sounds small enough that you may not need the fastest solver. You might just try a generic DLX solver, coupled with an N-dimensional rotation utility to generate the rows of the matrix.

Good Luck!

]]>This is realy great job. I have now solved the same task with only a 4-dimensional domain. We need to find the exact number of coatings 2x3x3x5 box by 5-cell hypercubes (design begins with the initial cube, joined by another cube in the direction of one of the measurements, and then the operation is repeated for the remaining measurements, with new cube is always attached to the previous one). Maybe you have a reference to the decision of a similar problem. Sorry for my English. ]]>