Monday, September 26, 2011

Learn undip and mutate your own!

English is a natural language on a 26-letter alphabet. In theory there could be as many as 26x26 = 676 two-letter words in English. In truth there are only a few: 'is', 'up', 'on', 'it', etc. Many more two-letter combinations are not words in English: 'aa', 'ab', 'ac', etc. The point is, there is no fixed rule to predict whether a given combination of two letters is a word in English, you just have to know the language.

Undip is an algebraic language on a 4-letter alphabet. In theory there could be as many as 4x4 = 16 two-letter words in undip (in fact there are just two: ud and np.) But being an algebraic language means there is a fixed set of rewriting rules (think of them as editor's moves) that can be applied iteratively to generate all the words in undip—and no word that is not in the language.

Push/Pop Rule: The two-letter sequences ud or np can be inserted (pushed) anywhere in an undip word, including at the beginning or the end, and the result will be another undip word. Inversely, anywhere the sequences ud or np are found in an undip word, they can be deleted (popped) and the result will be another undip word.

The empty word—which might best be represented by a blank space, but that would get confusing—is by convention represented by the Greek letter epsilon. The empty word is itself an undip word, and the ultimate starting point for generating the other words of undip.

Below, the empty word (which describes the empty, or null basket) is edited by invoking the push/pop rule to insert ud as a suffix. The resulting undip word, ud, describes a basket associated with the carbon-carbon bonds of acetylene.




Building onto this undip word, we again invoke the push/pop rule, this time inserting np as a suffix. That generates the word udnp, which describes a basket associated with the carbon-carbon bonds in cyclobutadiene.

We now have an occasion to employ the second rewriting rule.

Shuffle Rule: Anywhere in an undip word where a left letter {u or d} is found next to a right letter {n or p} the two letters can be interchanged and the result will be another undip word.

Below is the editor's markup invoking first the push/pop rule to insert np to make udnp, and then the shuffle rule to interchange d and n to make undp. Those edits convert the acetylene basket into a tetrahedral basket associated with the carbon-carbon bonds in tetrahedrane.



The two rules, push/pop and shuffle suffice, but it can be useful to add a third rule which is really a double application of push/pop.

Flip Rule: Anywhere ud (resp. np) occurs in an undip word, it can replaced by np (resp. ud) and the result will be another undip word.


It is reasonable to add this action as a third rule, because, even though we may imagine push/pop to have been invoked twice (once to remove the original string, and once to insert its replacement) only two adjacent letters are affected—just as in the other single-step mutations. Also, this is the only kind of push/pop mutation that is permissible in the case where mutations must be both local and length-preserving.

Pick any undip word, apply these rules a few times, then try weaving the resulting undip word. It is quite possible that no one else has ever made that basket before. Mutate your own!

No comments: