SOMA and Symmetry. 9 Sep 1999 E-Mail.

Separating Symmetrically Duplicate SOMA Solutions

Shortcuts to Symmetry Classes Examined :

• 1-fold N    No Reflections or Rotations
• 2-fold A    Planar Reflection, No Rotations
• 2-fold B    Diagonal Reflection, No Rotations
• 2-fold P    No Reflections, Two Planar Rotations
• 2-fold K    No Reflections, Two Diagonal Rotations
• 2-fold S    Simultaneous Planar Reflection and Rotation
• 3-fold T    No Reflections, Three Corner Rotations
• 4-fold Z    One Planar Reflection, Two Planar Rotations
• 4-fold C    Two Planar Reflections, Two Planar Rotations
• 4-fold E    Diagonal Reflection, Two Planar Rotations
• 4-fold D    Diagonal Reflection, Two Diagonal Rotations
• 4-fold Q    No Reflections, Four Planar Rotations
• 6-fold R    Diagonal Reflection, Three Corner Rotations
• 8-fold F    Diagonal Reflection, Four Planar Rotations
• 48-fold G   Diagonal Reflection, 24 Planar Rotations

The majority of Soma figures have a visually striking symmetry, which I find to be both aesthetically and mathematically beautiful. The "Final Cube" is the most symmetrical of all, and seems beautiful to me because it can be built at all. It has 11520 solutions, but if you consider rotations and reflections, there are really only 240 distinct solutions. Given a specific solution, any of its six faces can be on the top, and then any of four faces can be in the front. Multiply these 24 rotations by two to allow for "mirror reflection", and it could be said that any solution is really one member of a "symmetry family" of 48 related solutions, and that there are 240 distinct families of solutions.

Or, "The Cube" could more simply be said to have "48-fold" symmetry. Which one of the 48 can be called the "real" solution? It truly doesn't matter. Given any member of a family of solutions, and knowing the specific symmetry involved, any or all of the other members can be easily re-constructed. And yes, 240 times 48 is 11520.

One of my hobbies is writing computer programs to solve various puzzles, usually by producing all the possible permutations of the pieces involved, and eliminating those that do not "solve" the puzzle. My Soma Solving program does indeed find the 11520 solutions of The Cube, but I have been teaching it to eliminate all of the symmetrical duplications. One way would be to compare all of the 11520 solutions with each other, but this would be a monumentally immense task for my little computer.

Instead, I have been developing techniques to automatically skip over duplicates without even having to generate them in the first place, which speeds up the solution process considerably. These methods may be of interest to others writing such programs, but they may also be useful in the literally "manual" solution of Soma figures. When one is investigating properties of solutions, such as the position of the "7" piece within the Cube, it is much easier to deal with only 240 solutions than with thousands.

In this context, when I say that a shape has "symmetry", I mean that if the shape is transformed by an operation such as reflection or rotation, it appears the same as it did before the operation. The actual Soma pieces that make up the shape may be moved around, but the outward appearance of the figure will not be changed by the symmetry operator.

Looking at the Soma shapes in the Bundgård Web pages, the most common symmetry seen by far is the familiar "bi-lateral symmetry", a simple 2-fold symmetry in which a mirror plane passes down the center, and the two sides are identical ( but reversed ). "2-fold" symmetry also means that solutions will occur in matched pairs, and can be grouped as pairs. In Mathematics, all mirror planes are effectively equal. But in Soma solutions, I quickly discovered that if a shape contains any "diagonal" mirror planes at all, the solution techniques must differ from those used with shapes with only "planar" mirror symmetry.

Planar Mirror Image Solutions

I will call a mirror plane "planar" if it is parallel to one of the Cartesian planes, and "diagonal" if it is perpendicular to one plane and angled at 45 degrees to the other two planes. An "X Plane Mirror" has the mathematical description: " X equals a Constant "

This actually defines an infinite family of planes, but I mean the one that passes through the center "row" of a Soma shape. It cannot fall between rows, because Soma shapes contain an odd number of cubes, and a mirror falling between cube rows would require the shape to contain an even number of cubes. Soma pieces 1 through 4 can lie flat in a plane, and if they should happen to lie exactly in the mirror plane, they would be of no use in distinguishing between mirror solution pairs. Pieces 5 and 6 might be used, but when I try to use them in my program I always run into ambiguous situations. I use piece 7 to suppress "planar mirror solution duplications".

Planar Reflection, No Rotations

The most common symmetry class of Soma figures has 2-fold, "bi-lateral" symmetry produced by a planar mirror. One very representative member of this class is the shape A037, "The Gorilla". There are only two solutions for the Gorilla:

```
|     |            |     |
|--5--|--5--       |--6--|--6--
|6...7|65577       |7...5|77665
|.....|66447       |.....|74455
|.....|33344       |.....|44333
|-...-|-322-       |-...-|-223-
|-...-|-112-       |-...-|-211-
|-.-.-|-1-2-       |-.-.-|-2-1-
|     |            |     |```

I laid him down on his back to make the symmetry easier to see. The two solutions are actually mirror-images of each other. It may not look like it, but remember: pieces 5 and 6 are actually mirror images of each other. The mirror reflection plane runs down the middle of the shape, as indicated by the "|" characters above and below it. Again, you could say that there is really only one solution to the Gorilla, a single "symmetry family" which contains two members.

There are exactly 8 Orientation Variants of Piece 7:

```   |7.|77      |77|.7      |7-|.-      |-.|-7
a |.-|7-    b |-7|-.    c |77|7.    d |.7|77

|77|7.      |.7|77      |.-|7-      |-7|-.
e |7-|.-    f |-.|-7    g |7.|77    h |77|.7```

The left "Gorilla" solution uses variant 7f, and the one on the right contains variant 7a. The actual ordering and naming of the variants is not unique, of course, but is used in the following table.

```TABLE 1 : Piece 7 : Suppress Planar Reflections or Diagonal Rotations

Plane Ref   Diag Rot   Anti-D Rot  |   90  Rot     180 Rot
Var    X  Y  Z    XY XZ YZ    XY XZ YZ   |   X  Y  Z     X  Y  Z
------------------------------------+-----------------------
a     f  g  e     e  g  f     h  h  h   |   e  f  g     c  b  d
b     e  h  f     g  h  g     f  g  e   |   h  e  e     d  a  c
c     h  e  g     f  f  h     g  e  f   |   g  g  h     a  d  b
d     g  f  h     h  e  e     e  f  g   |   f  h  f     b  c  a
------------------------------------+-----------------------
e     b  c  a     a  d  d     d  c  b   |   c  a  c     g  f  h
f     a  d  b     c  c  a     b  d  c   |   b  b  a     h  e  g
g     d  a  c     b  a  b     c  b  d   |   a  d  d     e  h  f
h     c  b  d     d  b  c     a  a  a   |   d  c  b     f  g  e```

The first triple-column deals with "planar" reflections, in each of the three planes. Variants "a" and "f" from the Gorilla are indeed mirrors of each other in the "X" plane. Any standard Soma solution must of course contain piece 7 in one of the 8 variants, because there are no other choices. But the table is arranged so that variants and their planar reflections are separated into different halves of the table.

If a solution contains a 7 variant in the top half, its planar mirror solution must contain a variant from the bottom half, and vice versa. In this ordering of the variants, this is true for all three planar reflections. No matter which of the 24 possible orientations a solution assumes, its piece 7 must be must be in the opposite half of the table than the piece 7 variant of its planar mirror pair solution.

This is the method my program uses to separate out planar mirror duplicate solutions. If I only generate solutions containing piece 7 variants from the top half of the table, variants "a" through "d", I am guaranteed not to produce any solutions that are their planar mirror pairs. This also speeds up the program, since it has fewer possible solutions to investigate. This 2-fold symmetry can be tamed by using only 1/2 of the piece orientation variants, and it works for any possible orientation of the shapes in the symmetry class. I could of course only use variants from the bottom half instead, and get a similar result by producing only the "other" solution of each pair.

No Reflections, Two Diagonal Rotations

Some other Soma shapes have stranger 2-fold symmetries that can be properly suppressed by this method. B038 "The Row" from the Bundgård Family Collection is symmetrical under "diagonal rotation". As shown, it can be rotated about a "YZ Diagonal Axis" without changing its appearance. By this I mean rotation about an axis with the mathematical description: " X equals a Constant, Y equals Z "

This line passes through the X axis and is parallel to the X plane, and projects "up" and "forward", at a 45 degree angle to the Y and Z planes. If "The Row" were to be rotated 180 degrees about a Z axis, so that it "faces backwards", it could then be rotated about a "YZ Anti-Diagonal Axis", described by: " X equals a Constant, ( Y minus Z ) equals a Constant "

This line is also parallel to the X plane, but is at right angles to the "YZ diagonal". The second and third triple-columns of Table 1 describe the results of the "diagonal rotation" operators. If they are applied to variants in the top half of the table, the results appear in the bottom half, and vice versa. Due to its rotational symmetry, the Row can only assume 12 distinct spatial orientations, and in each orientation a solution to the figure can be symmetrically rotated into the other solution in its two-member symmetry family by one of the six diagonal rotations. And so, this 2-fold symmetry can also be tamed by using only 1/2 of the piece 7 variants, and for all possible orientations of the figures.

Simultaneous Planar Reflection and Rotation

Another strange 2-fold symmetry is seen in figure A173 the "Bent Prop". It can be symetrically transformed by an X plane mirror reflection followed by 180 degree rotation about the X axis. These operations may also be performed in the opposite order with the same symmetric result. Or, they may be performed in the Y axis, or in the Z axis. In all these cases, referring again to Table 1, the 7a variant is transformed into 7h, and vice versa. 7b and 7g are transformed into each other, as are 7c and 7f, and also 7d and 7e. These variant pairs are again separated into the different halves of the table, and so again, generating solutions containing only piece 7 variants from the top half of the table will be guaranteed to produce only one solution from each two-member symmetry family. This strange 2-fold symmetry can also be tamed by using only 1/2 of the piece 7 variants, for all possible shape orientations.

No Reflections, Two Planar Rotations

One more uncommon 2-fold symmetry is seen in figure A172 "The Propellor". It can be symetrically rotated by a 180 degree planar rotation, but contains no reflection planes. But, looking at Table 1 again, 180 degree Planar Rotations transform variants of piece 7 into variants in the "same half" of the table. This time, limiting the variants used to a single half of the table will not separate solution pairs properly. But, since this class has a 2-fold symmetry, I would like to choose four variants of the eight for duplication suppression. Further study of the table reveals that no matter which four variants are chosen, suppression cannot be made to work in all three rotation axes simultaneously.

The best I can possibly do is to pick variants that can suppress solution duplication in two of the three planes, and try to avoid solving shapes when they are oriented in the third plane. I chose to use variants 7a, 7b, 7g, and 7h, so suppression will work properly for rotation about the Z axis, the "most natural", and will also work for rotation about the X axis. This technique fails for orientations with Y axis rotation. Because of their rotational symmetry, these shapes can only assume 12 distinct spatial orientations, and so this duplication suppression technique will only work for 8 of the 12 possible orientations of the figures. This result is not entirely satisfying to me, but you can't fight mathematics. At least, not successfully.

Two Planar Reflections, Two Planar Rotations

Another very common symmetry class of Soma figures contains shapes with two planar mirror reflections. This implies they will have a rotational symmetry in addition to the mirror reflection symmetry. These shapes have 4-fold symmetry, so of course their "symmetry families" contain four members. A favorite figure of mine with this symmetry is A010 "The Bathtub".

Looking at Table 1 again, piece 7 orientation variants "a" and "h" are in different halves of the table, but they are not actually planar mirrors of each other. The fifth triple-column assures me that "a" and "h" are also not related by 180 degree axial rotations, which is also important for this symmetry class. Shapes like the Bathtub can be solved using only variants "a" and "h", and one and only one member of each symmetry family of solutions is guaranteed to be produced. This 4-fold symmetry can be tamed by using only 1/4 of the piece 7 orientation variants. And again, this will be true for all possible orientations of shapes in the class.

One Planar Reflection, Two Planar Rotations

While working on the "Bathtub" symmetry class, I came across two Soma figures that appeared to belong to the class, but did not behave in exactly the same way. A030 "Apartment Block 1" and A031 "Apartment Block 2" are "nonominoes", and have two planar rotations, but they only have one planar mirror, and it is perpendicular to the rotational axis.

Referring to Table 1, if we apply the 180 Z Rotation Operator to variant 7a, it is transformed to variant 7d, and then applying the Z Planar Reflection Operator to the 7d variant transforms it to variant 7h. Or, first using the Z Planar operator transforms 7a to 7e, which the Z Rotation operator transforms to 7h. In either case, this means that one member of a symmetry family could contain the 7a variant, and another member of the same family could contain the 7h variant, so the suppression method used in the "Bathtub Class" could fail for these figures.

They still have 4-fold symmetry and only planar mirror reflection, so suppression using two variants of the 7 piece seems possible. But, looking at Table 1 again, simple Planar Reflections transform 7a to 7f, 7g, and 7e, and simple Planar Rotations transform 7a to 7c, 7b, and 7d. For these shapes, no pair of variants including the 7a variant can work in all three planes. Further study of the table shows that no matter which pair of variants is chosen, suppression cannot be made to work for all three planes simultaneously.

The best I can possibly do is to pick variants that can suppress solution duplication in two of the three planes, and try to avoid solving shapes when they are oriented in the third plane. I chose to use variants 7a and 7b, so suppression will work properly for rotation about the Z axis, the "most natural", and will also work for rotation about the X axis. This technique fails for orientations with Y axis rotation. Due to their rotational symmetry, these shapes can only assume 12 distinct spatial orientations, and so this duplication suppression technique will work for only 8 of the 12 orientations. Again, this result is not entirely satisfying to me, but I think it is the best that can possibly be achieved for this symmetry class.

No Reflections, Four Planar Rotations

A very uncommon symmetry class of Soma figures contains figures with 4-fold planar rotational symmetry, but with no planar or diagonal mirror reflections at all. By tracing through the fourth triple-column of Table 1, it can be easily proven that piece 7 orientation variants "a" and "h" cannot be transformed into each other by simple rotations in any plane. Like shapes in the "Bathtub Class", solutions to shapes in this class can be constructed using only piece 7 variants "a" and "h", and one and only one member of each family of solutions is guaranteed to be produced. This 4-fold symmetry can also be tamed by using only 1/4 of the piece orientation variants, and again, this works for any possible orientation of the shapes in the class.

Diagonal Mirror Image Solutions

I call a mirror plane "diagonal" if it is perpendicular to one plane and angled 45 degrees to the other two planes. A "Diagonal Z Plane Mirror" is parallel to and passes through the Z axis, and has the mathematical description: " X equals Y "

The "Anti-Diagonal Z Plane Mirror" is perpendicular to the "Diagonal Z" mirror, and is described by: " ( X minus Y ) equals a Constant "

Again, these define infinite families of planes, but I refer to those that pass through the center "diagonal" of a Soma shape. Soma piece 7 might be located in a diagonal mirror plane of a solution, oriented in such a way that it is itself mirror symmetrical, and so be of no use in separating solution pairs. Pieces 3 or 4 might be used for diagonal mirrors, but I use piece 2 to suppress "diagonal mirror duplications", partly because it has the largest number of variant orientations of the pieces, but also because it can never be its own diagonal reflection or planar rotational duplicate.

Diagonal Reflection, No Rotations

The second most common symmetry class of Soma figures has 2-fold, bi-lateral symmetry produced by a diagonal mirror. One very representative member of this class is the shape A141 "Face 2". There are also only two solutions for Face 2:

```    |--..--|--47--       |--..--|--66--
|-..7.-|-4477-       |-..6.-|-4463-
|......|546611       |......|445333
|.5.6-.|5536-1       |.7.5-.|7755-2
|-..--.|-33--2       |-..--.|-71--2
|--....|--3222       |--....|--1122```

Again, the two solutions are mirror-images of each other, though it may be even less obvious than for the Gorilla. The shape has 2-fold symmetry, but this time, the mirror plane runs diagonally, from the upper left corner to the lower right corner.

There are exactly 24 Orientation Variants of Piece 2:

```   |-.-|-.-|-2-     |2--|.--|.--     |...|222|..2     |...|2..|222
a |-.-|-.-|-2-   b |2--|2--|2--   c |---|---|---   d |---|---|---
|..-|..-|22-     |---|---|---     |---|---|---     |---|---|---

|.--|.--|2--     |..-|..-|22-     |.--|.--|2--     |2--|2--|2--
e |2--|2--|2--   f |.--|.--|2--   g |.--|.--|2--   h |2--|.--|.--
|---|---|---     |.--|.--|2--     |..-|..-|22-     |---|---|---

|...|222|2..     |...|..2|222     |2--|2--|2--     |..-|..-|22-
i |---|---|---   j |---|---|---   k |.--|.--|2--   l |-.-|-.-|-2-
|---|---|---     |---|---|---     |---|---|---     |-.-|-.-|-2-

|--.|--.|--2     |22-|.2-|.2-     |.--|2--|.--     |.--|2--|2--
m |...|...|222   n |---|---|---   o |.--|2--|.--   p |.--|.--|2--
|---|---|---     |---|---|---     |.--|2--|2--     |.--|.--|2--

|.2-|.2-|22-     |...|...|222     |...|...|222     |22-|2.-|2.-
q |---|---|---   r |.--|.--|2--   s |--.|--.|--2   t |---|---|---
|---|---|---     |---|---|---     |---|---|---     |---|---|---

|.--|2--|2--     |.--|.--|2--     |2.-|2.-|22-     |.--|.--|2--
u |.--|2--|.--   v |.--|.--|2--   w |---|---|---   x |...|...|222
|.--|2--|.--     |.--|2--|2--     |---|---|---     |---|---|---```

The left "Face 2" solution uses variant 2m, and the one on the right contains variant 2a. The actual ordering and naming of the variants is again not unique, but is used in the following table.

```TABLE 2 : Piece 2 : Diagonal Reflection Suppression

Diag Refl  Anti-D Refl |   90  Rot     180 Rot     270 Rot
xyz  Var    X  Y  Z     X  Y  Z   |   X  Y  Z     X  Y  Z     X  Y  Z
------------------------+-----------------------------------
231   a     n  o  m     q  v  r   |   q  o  s     l  g  f     n  v  x
123   b     o  m  n     p  x  t   |   v  x  n     k  e  h     u  m  t
312   c     m  n  o     s  w  u   |   m  t  u     j  d  i     s  q  o
312   d     r  w  p     x  n  v   |   r  q  v     i  c  j     x  t  p
123   e     u  x  q     v  m  w   |   p  m  q     h  b  k     o  x  w
231   f     w  p  r     t  u  m   |   t  p  x     g  l  a     w  u  s
231   g     t  v  s     w  o  x   |   w  v  m     f  a  l     t  o  r
123   h     v  s  t     u  r  n   |   o  r  t     e  k  b     p  s  n
312   i     x  q  u     r  t  o   |   x  w  o     d  j  c     r  n  u
312   j     s  t  v     m  q  p   |   s  n  p     c  i  d     m  w  v
123   k     p  r  w     o  s  q   |   u  s  w     b  h  e     v  r  q
231   l     q  u  x     n  p  s   |   n  u  r     a  f  g     q  p  m
------------------------+------------------------------------
321   m     c  b  a     j  e  f   |   j  b  l     s  x  r     c  e  g
213   n     a  c  b     l  d  h   |   a  i  h     q  w  t     l  j  b
132   o     b  a  c     k  g  i   |   e  g  c     p  v  u     h  a  i
132   p     k  f  d     b  l  j   |   h  l  d     o  u  v     e  f  j
213   q     l  i  e     a  j  k   |   l  c  k     n  t  w     a  d  e
321   r     d  k  f     i  h  a   |   i  k  g     x  s  m     d  h  l
321   s     j  h  g     c  k  l   |   c  h  f     m  r  x     j  k  a
213   t     g  j  h     f  i  b   |   g  d  b     w  q  n     f  c  h
132   u     e  l  i     h  f  c   |   b  f  i     v  p  o     k  l  c
132   v     h  g  j     e  a  d   |   k  a  j     u  o  p     b  g  d
213   w     f  d  k     g  c  e   |   f  j  e     t  n  q     g  i  k
321   x     i  e  l     d  b  g   |   d  e  a     r  m  s     i  b  f```

The first two triple-columns deal with "diagonal" reflections, in each of the six diagonal planes. Variants "a" and "m" are indeed mirrors of each other in the "Z" diagonal plane. Again, this table is arranged so that variants and their reflections are separated into different halves of the table.

If a solution contains a piece 2 variant in the top half, its diagonal mirror solution must contain a variant from the bottom half, and vice versa. This is true for all of the six diagonal reflections. This is how my program separates diagonal mirror duplicates. If I only generate solutions containing piece 2 variants from the top half of the table, variants "a" through "l", I am guaranteed not to produce any solutions that are their diagonal mirror pairs. Again, a 2-fold symmetry can be tamed by using only 1/2 of the piece orientation variants, and again it works for all orientations of the shapes in the symmetry class.

By the way, the mirror planes will always bisect an odd number of cubes in a Soma shape - seven in the case of the "Gorilla", five for "Face 2". The simple proof will be left as an exercise for the reader.

Diagonal Reflection, Two Planar Rotations

A sparsely populated symmetry class of Soma figures contains shapes with two diagonal reflection planes. This implies they will have a rotational symmetry in addition to the mirror reflection symmetry. These shapes have 4-fold symmetry, and so of course their "symmetry families" contain four members. A long-time favorite shape of mine with this symmetry is A017 "The Steamer".

Shapes in the "Steamer" class contain both diagonal and anti-diagonal reflections. As has been noted before, the first two triple-columns of Table 2 deal with reflections of piece 2 in all the six "diagonal" and "anti-diagonal" planes, and these reflections separate the variants in the top half of the table from those in the bottom half. But "Steamer" class shapes also have a 180 degree planar rotation symmetry. The fourth triple-column deals with 180 degree planar rotations. In this case, all the variants in the top half transform into others in the top half, and those in the bottom half similarly transform into others in the bottom.

Since this class has 4-fold symmetry, I would like to select six of the 24 piece 2 variants that do not transform into each other under any of the diagonal reflection or 180 degree planar rotation operators. The left-most column of Table 2 lists the "XYZ Dimensions" of each piece 2 variant. To be truly orientation independent, the solution strategy should also include equal numbers of variants that are "flat", or have a size of "1", in each of the three dimensions.

After a great deal of examination of the table, I was forced to conclude that no set of six variants could satisfy all of these requirements simultaneously. As in the case of the "Apartment Block" class, the best I can possibly do is to pick variants that can suppress solution duplication in two of the three planes, and try to avoid solving shapes when they are oriented in the third plane.

I chose to use variants 2a, 2b, and 2c, and 2v, 2w, and 2x, so that suppression will work properly for rotation about the Z axis, the "most natural", and will also work for rotation about the X axis. This technique fails for "anti-Y" diagonal reflection, which occurs for these shapes in association with Y axis rotation. Due to their rotational symmetry, these figures can only assume 12 distinct spatial orientations, and so this duplication suppression technique will work for only 8 of the 12 orientations. Once again, this result is not entirely satisfying to me, but I think it is the best that can be achieved for this symmetry class.

Diagonal Reflection, Three Corner Rotations

I encountered this 6-fold symmetry class while analyzing the sub-shapes of A005 "The Crystal". The Crystal has 2-fold diagonal symmetry, but if you construct it with the 7 piece on top, and then remove the 7 piece, the sub-shape that is left has 6-symmetry. It can be rotated three ways about the "Corner Axis", which has the mathematical description: " X equals Y equals Z " It also has a diagonal mirror plane, giving it six-member solution families. This sub-shape can be made in 1218 ways using only pieces 1 through 6; dividing by 6 implies it has 203 distinct solutions. The 7 piece itself can be said to have this same symmetry.

I tried to make several "real" shapes with this symmetry, but only found one I could actually build using all seven Soma pieces; it is shape A171, which I called the "Missing Corner" because, well, the corner cube is missing. To limit the solutions, I use only four of the 24 variant orientations of the 2 piece, picking four that are "flat in the same plane", and are all "of the same mirror handedness". I chose the variants flat in the Z plane, with "left palm up" handedness, which are variants "a", "f", "s", and "x". And indeed, 6-fold symmetry can be properly tamed by using only 1/6 of the piece 2 variants, and again this works for any orientation of the shapes in the class. The Missing Corner has four unique solutions, and 24 unconstrained solutions. And, this method indeed yields 203 distinct solutions for the Crystal sub-shape.

No Reflections, Three Corner Rotations

Closely related to the 6-fold symmetry class is a 3-fold corner rotation symmetry that has no reflection planes. The "Three Planes" shape shown here is very similar to the "Missing Corner", and it also has a missing corner cube. To limit the solutions in this case, I use all eight of the 24 variant orientations of the 2 piece that are "flat in the same plane", again chosing those flat in the Z plane, adding the "right-hand" variants "g", "l", "m", and "r". And indeed, this 3-fold symmetry can be properly tamed by using 1/3 of the piece 2 variants, and again this works for any orientation of the shapes in the class.

Hybrid Suppression Solutions

Diagonal Reflection, Two Diagonal Rotations

A016 The Sofa belongs to a 4-fold symmetry class that could called a "hybrid" of 2-fold planar symmetry and 2-fold diagonal symmetry, because members of this class contain both planar and diagonal mirror planes. The 7 piece or the 2 piece alone cannot separate members of the four-member symmetry families of this symmetry class.

Another shape of this class is A059, which Binary Arts calls "The Clip", and I have always called "The Bunker". This particular shape is also a "nonomino". By their definition, nonominoes always have a planar mirror reflection in the "Z" plane, and the Bunker also has a diagonal mirror plane. Figures in this class can also be symmetrically rotated about a diagonal axis.

This diagonal rotation makes the 7 piece alone unable to separate members of the symmetry families. Referring to Table 1, if the XY Diagonal Rotation Operator is applied to variant 7a, it is transformed to variant 7e. Then, applying the Z Planar Reflection Operator to the 7e variant, it is transformed back into variant 7a. Or, first using the Z Planar operator transforms 7a to 7e, which the XY Rotation operator transforms to 7a. In either case, this means that two members of the same symmetry family could both contain the same variant of piece 7.

The Bunker has 40 unconstrained solutions, so I had to examine them "by hand", or actually "by eye", and group them into the 10 symmetry families to discover a way to separate them. I then did the same for a sample of the 64 solutions to the Sofa. Although I can't yet claim to understand exactly why the interaction works, the answer is to constrain both piece 2 and piece 7 to half of their variants, a "hybrid" combination of the 2-fold planar mirror symmetry solution and the 2-fold diagonal symmetry solution. This selects one and only one solution from the four member solutions of each of the 10 symmetry families of the Bunker, and also does so for the 16 Sofa solution families. This technique seems to work properly for all the half dozen or so figures in this symmetry class I have encountered, and should do so for any orientation of the figures. This is not exactly a mathematically rigid "proof" yet, but it does have a nice "look and feel" to it, and I'll probably stumble upon the correct explanation eventually.

Diagonal Reflection, Four Planar Rotations

Another "hybrid" symmetry class contains shapes with an 8-fold symmetry, like A023 "The Gordian Knot". These shapes have two diagonal mirror planes, two planar mirror planes, and four planar rotations. Equivalent solutions of this class can be separated by using only the piece 2 variants from the "top half" of Table 2, to suppress diagonal mirror duplicates, and using only piece 7 variants "a" and "h", which suppresses rotational duplicates. This 8-fold symmetry can be tamed by using only 1/2 of the piece 2 orientation variants and also using only 1/4 of the piece 7 variants, and the method will work for any orientation of the shapes in the class.

Diagonal Reflection, 24 Planar Rotations

The smallest symmetry class of all is that of the 48-fold symmetrical A001 "The Final Cube": it can contain only one shape. By limiting piece 2 to a single orientation variant, one of 24, and also limiting piece 7 to the "top half of the table", 4 variants of 8, the program successfully chooses one and only one of the 48 members from each of the Cube's 240 solution families. When it gets the same answer as Piet Hein himself, I find myself trusting my program.

These methods only work for "normal" shapes, where the pieces to be limited are free to move around within the figure. They will not necessarily work on puzzles with "dis-connected sub-shapes", like B020 "The Factory". The B043 "SOMA-Bot" and B050 "Ostrich" shapes fix the position of the 7 piece, and so it cannot be used to separate their mirror-duplicate solutions. I am investigating alternative techniques for such shapes.

No Reflections or Rotations

And of course, there is a common symmetry class that contains shapes like A012 "The Snake", which can be said to have "1-fold symmetry". These shapes have "no symmetry", with no reflection planes or rotational symmetry. Their "symmetry families" contain only one member each, so it is not necessary or even possible to separate out symmetrically duplicate solutions, since they do not exist.

Every "normal" Soma shape I have examined so far seems to fit properly into one of the fourteen symmetry classes I have described above, and I am working on squeezing the few "non-normal" figures into these classes. And yet, I have a nagging feeling that there are still some other strange symmetry classes lurking out there that I just haven't encountered, or even imagined. If anyone spots a wild shape with an exotic symmetry, please try to capture and subdue it, and if possible notify me.

I have only been able to analyze a few hundred of the thousands of figures in the the extensive Bundgård Collections, and the numbers seem so intimidating that before I proceed much further, I may have to wait until I can write symmetry-detecting programs, and develop methods to collect and compare and store Soma shapes automatically. The 27 cubes of the Soma Universe may seem at first quite limiting, but they do indeed create an amazingly complex and diverse mathematical playground. And then, there are still all the shapes made with fewer than seven Soma pieces, or with more than seven. So many challenges, so little time.

-- submitted by Bob Allen, WBØFVK <wb0fvk@arrl.net>

-- Shape illustrations by Thorleif Bundgård <bundgard@post8.tele.dk>

Addition 4. Dec 1999, as a mail to Bob Nungester.

Thanks again for the Matrices - they of course map into my "Dice Notations", but can be manipulated on paper instead of by fingers, and complement them well. I am always amazed by the beauty and power to be found in deceptively simple mathematical constructions. I had so much fun multiplying matrices by hand and seeing the results appear, I didn't even write a program to do it for me. I've added another dozen pages to my Soma Folder; now I can put it away again for another few months.

Here are three more Symmetry Classes:

Symmetry Class Z : 1 Planar Reflection, 2 Planar Rotations
4 Fold : One Triplet from T2-T7-T8, T3-T6-T8, T4-T5-T8

Symmetry Class C : 2 Planar Reflections, 2 Planar Rotations
4 Fold : One Triplet from T2-T3-T4, T2-T5-T6, T3-T5-T7

Symmetry Class E : Diagonal Reflection, 2 Planar Rotations
4 Fold : One Triplet from T4-T9-T12, T6-T41-T46, T7-T17-T23

And here are the last three Classes. I only analyzed them enough to prove to my satisfaction that I understood them.

Symmetry Class D : Diagonal Reflection, 2 Diagonal Rotations
4 Fold : One Triplet from 6 Groups ( 6 opposed-edge pairs ) ( Diagonal Ref + Planar Ref + Diagonal Rot )

Symmetry Class R : Diagonal Reflection, 3 Corner Rotations
6 Fold : One 5-let from 4 Groups ( 4 opposed-corner pairs ) ( 3 Diagonal Refs + 2 Corner Rots )

Symmetry Class F : Diagonal Reflection, 4 Planar Rotations
8 Fold : One 7-let from 3 Groups ( the 3 Planes ) ( 2 Diagonal Refs + 2 Planar Refs + 3 Planar Rots )

It appears that all the "Groups" are closed sets - if you multiply any two members, the result is another. Of course, the Identity is an implied member of all the sub-sets.

The Transformation Matrices can be grouped by type :

The 24 "non-mirrors" break into

1 "Identity"
6 180 Diagonal rotations
8 120 Corner rotations

And the 24 "mirrors" into

1 "Negative Identity" ( T8 )
3 Planar mirrors
6 Diagonal mirrors
14 ( random unknowns )

The 14 "Mystery Mirror Matrices" appear to never be used :

T14, T15, T20, T22, T26, T27, T29,
T32, T34, T35, T37, T40, T44, T47

( of course, excluding the 48-fold Class G "Cube" )

If you discover any shapes that embody any of these orphan transforms I truly would appreciate hearing about it.

And a few final random thoughts. If the "47-bit Yes/No" signatures are converted into, say, strings consisting of 12 hexadecimal characters, each "Class" can be identified by [number of Groups] unique strings.

Also, I had assumed that to find symmetries in a shape, I had to transform/move the figure into a cleared space, and then compare the new figure to the original. I have finally realized the comparisons can be done "in place", using the transforms to map from the original back into itself, since all the transforms are "linear" and "1-to-1" and all those convenient properties. This will save a considerable amount of time. I think I finally have all the concepts I need to build my Class Identifying Program.

BACK to news index