Uniqueness and Disassembly billcutlerpuzzles.com
Contents
 previous: Analyzing Assemblies next: Take-Apart Methods

### Analysis of Interesting Assemblies

All assemblies which had a partial solution of level-8 or higher were saved for later, more thorough analysis. Three different programs were run on each assembly:

1. Complete disassembly analysis
1. Can disassembly be completed, or is it only a partial solution?
2. How many states did the program analyze before finding the solution?
3. Describe the movements used to remove the first piece
2. Analysis of other assemblies made with the same pieces
1. How many other assemblies can be made?
2. How many other assemblies have solutions, or does the original assembly have a unique solution?
3. What are the highest and lowest levels of other solutions?
3. Analysis of pieces used in the assembly
1. How many notchable pieces?
2. How many ambiguous pieces?
3. Any duplicate pieces?

The results of these analyses are summarized in a file referred to as an 'AF Format' file.

### Apart-Codes

The goal of the analysis programs was to find different, high-level methods for disassembling 6-piece burrs. In most assemblies, minor changes can be made to the internal cube arrangements which do not change the way in which the first piece is removed. Usually there are large groups of assemblies which come apart in virtually identical fashions. A shorthand notation for the disassembly method was developed so that comparisons could easily be made between different assemblies to see if they functioned in the same fashion. This shorthand notation is called the "Apart-Code".

For example, the L5 Notchable puzzle has a level-5 solution. The LL format of the assembly found by the program was:

```          55551133140220226630440060666606 0  7 2 5 0 0 0
```
The Apart-Code for this solution is:
```         3146   1124   316    11246
```
This code details the first 4 moves of the disassembly. During the 5th move, the pieces come apart, and this move is not included. The interpretation is as follows:
```         Move1  Move2  Move3  Move4
xuppp  xuppp  xuppp  xuppp
3146   1124   316    11246
```
Each move is represented by from 3 to 5 characters. The first character ('x') denotes the direction of the move: either 1, 2 or 3. The second character ('u') denotes the number of units that the pieces move in this direction: 1,2,3 for movements in the positive direction and F,E,D, respectively, for 1,2,3 units in the negative direction. Finally, the 3rd and subsequent characters ('ppp') denote the piece numbers which are moved. (up to 3 pieces can be moved at once).

Thus, the moves represented by the above apart-code are:

```     Move1: In direction #3, move pieces 4 & 6 +1 unit
Move2: In direction #1, move pieces 2 & 4 +1 unit
Move3: In direction #3, move piece 6 +1 unit
Move4: In direction #1, move pieces 2, 4 & 6 +1 unit
```

Many assemblies have more than one way to arrive at the first disassembly in the same number of moves. This is true of the L5 Notchable puzzle as well. It has 4 different ways to make the first 4 moves, after which a disassembly is possible in one move. The Apart-Codes for these movements are:

```         3146   1124   316    11246
3146   1124   316    1F13
3146   11245  316    11246
3146   11245  316    1F13
```

It was necessary to choose one of these as the 'standard' solution. Rules were made to decide between any two moves, or a group of moves, as to which was the 'standard' move. Generally speaking, the rules are:

1. Move as few pieces as possible on any one move
2. Move the shortest distance
3. Move in the positive direction, rather than the negative
4. Move in direction #1 rather than direction #2 or #3, and move in direction #2 rather than direction #3
5. Move lower-numbered pieces rather than higher-number pieces

When the rules are applied to choose one solution from a group of 2 or more, the move(s) which differ between the solutions are marked at the end with a '*'. The 'standard' solution from the above four solutions is:

```         3146   1124 * 316    1F13 *
```

There remains one other significant problem to resolve. Each assembly has 24 rotations and/or reflections which are usually different, and will produce 24 different apart-codes. Many assemblies which are similar to a given assembly will be analyzed with the same rotation as the given assembly, but others will be analyzed in a different rotation, particularly those which involve cube changes to the first piece. The answer to this problem is to compare the solutions and related Apart-Codes in all of the 24 rotations and reflections, and choose the 'best' or 'standard' one. The rules given above are used extensively for this. The resulting standard solution for the L5 Notchable includes not only an Apart-Code, but the LL format of the rotation chosen from the 24. The LL format of the rotation chosen is:

```          50501135442002201133442622226060
```
and the standard Apart-Code is:
```         1126   2146 * 112    2F35 *
```

### The AF Format

The information from the three analyses, including standardization of the Apart-Code, is combined and saved in one line per assembly in files which are called 'AF Format' files. The fields in these files are described below. In order to conserve space, many of the fields which contain a value from 0 to 12 (or possibly higher) are restricted to a one-character field. In these fields, the letters 'A', 'B', 'C', etc. are used to denote values of 10,11,12, respectively.

Field descriptions:

1. Fields which are concerned with the particular assembly:
LL Format (original assembly) - assembly LL Format as discovered by HB6 programs
LL Format (rotated assembly) - LL Format corresponding to reflection or rotation which has the standard Apart-Code
Identify - code to identify where assembly was discovered; 123#0456 means the 456th 'interesting' assembly from case #123
L - length of pieces used, usually the longest piece length for which the assembly can be disassembled (therefore, the highest level solution for that assembly).
H - number of holes (empty cubes) in assembly
Lvs - levels of first two disassemblies; "A-1" means first disassembly at level-10 and that a complete solution was found with the next disassembly having a 1-move solution; "6-0" means a partial solution with level-6.
LTyp - level-type of assembly
St - number of states in disassembly program when solution was found; every state is counted which can be reached in N-1 moves or less, where N is the solution level
Ap - number of different take-apart methods which take the same number of moves
Apart-Code - apart code for first disassembly of this assembly
Move1 - code for first move
Move2 - code for second move; etc.

2. Fields which are concerned with all assemblies which can be constructed from the same pieces as the original assembly:
Asm - number of different assemblies that can be made with the 6 pieces used in the original assembly
Sol - number of these assemblies that have complete solutions
P - number of these assemblies that have only partial solutions
m - minimum solution level (from those with complete solutions)
M - maximum solution level
S - number of assemblies with solution at maximum level

3. Fields dealing with the set of 6 pieces in the assembly:
d - number of duplicate pieces in the set of 6 pieces
s - number of symmetric pieces
a - number of ambiguous pieces
u - number of un-notchable pieces
g - total unnotchable cross-sections in pieces; when using "notch and glue" technique for constructing piece, this is usually the number of glue joints required
c - smallest number of cubes in any of the pieces (minimum=2)
C - largest number of cubes in any piece (12 for solid piece)

Contents
 previous: Analyzing Assemblies next: Take-Apart Methods
 Home Six Piece Burrs Box-Filling Puzzles Booklets About our Puzzles Rectilinear Burrs Miscellaneous Puzzles References How to Order Non-Rectilinear Burrs Computer Programs Other Websites

Copyright 2000-2002 Bill Cutler Puzzles, Inc.