Here’s an excerpt:

]]>Here’s an excerpt:

]]>A San Francisco cable car holds 60 people. This blog was viewed about

590times in 2014. If it were a cable car, it would take about 10 trips to carry that many people.

The former example for Z = 10 looks now as follows

whereas the former example for Z = 22 looks now so:

Interestingly, a red point on row 18 remains without cyan filling, which means that this point cannot be reached if the restrictions from green points on the right hand side are respected. By the way, the restriction implementation is for the sake of simplicity currently a bit too prohibitive.

Finally let’s also look at the Z = 30 example

What remains to do? On the left hand side there are still cyan points in the same vertical with green points. These restrictions must be implemented too.

So, progress is slow, but not zero.

]]>Of course one has to balance between the costs of uneducated searches vs. the costs of strict restriction computations …

]]>

Why?

The point lies in the decision about a flaw of a continuation: On each row one has the remaining, not yet used numbers and can build all possible partial sums on top of the already distributed numbers. The union of all partial sums from all rows must contain all still missing partial sums in the Z x 2 (Z – 1) matrix. But on each row only one permutation of unused numbers can be realized in the end. How to determine it? One looks for partial sums which appear on exactly one row, they constrain the variety of possible permutations. In the pictures the red points mark a partial sum which appears on exactly one row. The green points mark the maximal partial sum on a row. The black points are all possible partial sums without the need to be consistent with a single permutation. The ordinate shows the row number, the abscissa shows the partial sums. For Z = 10 one sees a picture like

showing 6 constraints on 10 rows, enough to complete the search rather fast, in a few thousand steps. For Z = 22 it looks a bit worse

there are only 3 constraints on 22 rows and in the case of 30 rows one has for example

only 5 constraints which let the algorithm run for millions of steps without finding the right way.

So one has to find more constraints in order to find examples of matrices with row numbers bigger than 20.

]]>

The pages show examples for different row numbers Z, starting with the minimum Z = 2 but aiming for preferably big row numbers, whereas the posts consider issues with the example generation.

Take time and step in a matrix from one partial sum to the next. For small matrices this is obvious and rather trivial, for the bigger ones it needs quite an amount of memory, even if the partial sums are indicated.

*Enjoy!*