Developing a Code for Isomers
During our meeting this week, Dr. Sharma asked me to look into developing a code for constructing isomers. Prüfer code was developed as a way to numerically describe the construction of labelled graphs. Since isomers are not labeled graphs (hydrogen atoms are not identified separately, and neither are carbon atoms), a Prüfer code would not apply directly to isomers. So instead, we discussed dividing the atoms of carbon-hydrogen molecules into classes.
For example, consider the following isomer of a C6H14 molecule:
All of the hydrogen atoms would be put into Class 1. Next we are left with the underlying structure of the carbon atoms. We said that the central carbon atom that is connected to four other carbon atoms is the strongest. So Class 2 would consist of all the carbon atoms furthest from this central, strong atom (which in this example, is only one…the bottom carbon).
Removing this atom from our picture, we are left with the central, strong carbon atom and four connecting carbon atoms. So Class 3 would consist of those four connecting atoms, and the last class, Class 4, would consist of that central, strong carbon atom.
The number of atoms in each class thus generates a code: 14-1-4-1
Our hope was that this code would give us unique constructions of isomers when assembled in the reverse order. In our example, we would know to start with one carbon atom. Then connect four carbon atoms to it. Next, since the placement of the sixth carbon atom is not important, connect one atom to any of the last four. And last, connect 14 hydrogen atoms to complete the molecule.
Unfortunately, our code did not prove to be unique or simple. Consider constructing a C6H14 molecule from the following code: 14-2-3-1. Starting with 1 carbon atom, you attach 3 at a distance 1 from this atom. Then you attach 2 at a distance 2 from the beginning atom. And last, you attach the 14 hydrogen atoms to complete the molecule. Following these steps, you can end up with two nonisomorphic constructions of C6H14 (illustrated below).
The problem develops because generating the code for the bottom isomer would be difficult. There are two carbon atoms that are attached to 3 other carbon atoms, so their “strength” is the same. Thus, the code produced from this molecule would be 14-4-2, which is inconsistent with the code used to build the molecule. Therefore, the code we wanted to develop to express the unique isomers of carbon-hydrogen molecules is faulty.