Seller's other items. Sell one like this. Related sponsored items. Showing Slide 1 of 2. Seller Similar sponsored items. Seller assumes all responsibility for this listing. Item specifics. Seller Notes:. Game Title:. New 8 Items 8. Used 4 Items 4. Please provide a valid price range. Buying Format. All Listings Accepts Offers 6. Buy It Now Shipping Options. Free International Shipping. Local Pickup. Free Local Pickup. Show only. Free Returns. If we now double the number of marbles again, putting a total of 8 marbles in the same column, then even the third row will be unaffected.
As we shall see later, the worst case is actually 9 moves. The previous paragraph suggests that we can solve the puzzle row by row, first solving the top row with single moves, then the second row with double moves, and finally the last row with quadruple moves. We simply have to find out how the double moves 2,0,0 , 0,2,0 , and 0,0,2 affect the middle row, and how quadruple moves affect the last row. This leads to this strategy:. This method is quite efficient, taking at most 9 moves.
There are in fact some positions that cannot possibly be solved in fewer, so in those cases this method is optimal. It is however not optimal for all positions, as there are some that can be solved in fewer moves than this method uses.
There is another way to see that repeating a move 8 times will have no effect. Take a look at any three gates that a single marble might go through if you put it in column B. For example, take the diagonal from column B to the left of the bottom row. The state of some of those three gates changes by dropping the marble into column B.
If you try it out you will see that the three gates change the same way as a three-bit binary counter does, counting from to , and then wrapping back to A gate represents a 1 if it would let the marble through to the next gate in the path, and a 0 otherwise.
The three gates will therefore be back to their initial state after 8 moves. This actually holds for any such path of three gates even for the path along all the leftmost gates, or the one along all the rightmost gates, which behave slightly differently , so after 8 identical moves everything will be back to the initial state.
This suggests the following very simple solution:. In the above method the worst case is 1,7,7 which has 15 moves. This is clearly not as efficient as the first method, but it is easier to remember.
Consider the moves 2,2,2. If you imagine 6 marbles dropping at the same time, two in each column, then you will see that the first row of dots will obviously not change, but neither will the second row because each gate gets two marbles, one arriving from the left and one from the right. The same goes for the last row, it also does not change. We can use 2,2,2 to create better solutions.
Suppose we found that the moves 3,2,6 created the pattern we want. If we apply 2,2,2 to it we still have the same pattern, but we have done 5,4,8 all together. We know that 8 times the same move has no effect either, so this is the same as 5,4,0. So the pattern we got by doing the 11 moves 3,2,6 can also be created by the 9 moves 5,4,0. We now have four alternative solutions 3,2,6 , 5,4,0 , 7,6,2 , 1,0,4 , of which the last one is the best with only 5 moves. As there are also reachable positions, such a set forms a complete set of solutions for a position.
If we therefore have one solution for a pattern we can generate the set of four solutions, and if we then choose the best of those it will certainly be the optimal solution to that pattern. The largest number of an optimal triple is at most 5, the medium largest at most 3, and the smallest at most 1.
Furthermore, triples such as 1,3,5 are actually optimal, so the worst case positions of Think-a-Dot have 9 moves. It would be nice to be able to look at a dot pattern and be able to figure out an optimal solution without doing any moves before hand. Neither of the previous solution methods are suitable, since they have decisions based on the state of the dots after some moves have already been done.
To eliminate this, we can use a variation of the second method. Where this method scores above method 2 is that steps b and c are independent. The state of the leftmost dots is not affected by C moves, and the state of the rightmost dots is not affected by A moves. You only have to be able to look ahead at most one move - once you know the dot pattern after step a, you can deduce the number of marbles needed in columns A and C.
In fact, even this amount of look ahead is not necessary. Using binary arithmetic, we can calculate everything.
Suppose the current position has blue dots at the top left and top right, and the other 6 dots are yellow. Suppose that our target pattern has yellow dots at the top left and bottom left and blue dots everywhere else. Digi-Comp 2 US 3,, , Apr 30 A mechanical model that does binary arithmetic add, subtract, multiply, divide, complement and negate , using marbles and flip-flop gates.
It looks like a pinball machine. Javascript Think-a-Dot. The number of positions: The eight gates can each be in two positions, giving at most 2 8 patterns. There is a parity restriction - every move will change one top row gate and one bottom row gate, so the number of blue or yellow dots in the top and bottom rows together will always remain even. Links to other useful pages: Friends of Digi-comp , a Yahoo group about E.
Downloadable STL files. Javascript Think-A-Dot with built-in puzzles. Java Think-a-Dot.
0コメント