Complexity_ A Guided Tour - Melanie Mitchell [91]
Consider
abc ⇒ abd
mrrjjj ⇒ ?
You want to make use of the salient fact that abc is an alphabetically increasing sequence, but how? This internal “fabric” of abc is a very appealing and seemingly central aspect of the string, but at first glance no such fabric seems to weave mrrjjj together. So either (like most people) you settle for mrrkkk (or possibly mrrjjk), or you look more deeply. The interesting thing about this problem is that there happens to be an aspect of mrrjjj lurking beneath the surface that, once recognized, yields what many people feel is a more satisfying answer. If you ignore the letters in mrrjjj and look instead at group lengths, the desired successorship fabric is found: the lengths of groups increase as “1-2-3.” Once this connection between abc and mrrjjj is discovered, the rule describing abc ⇒ abd can be adapted to mrrjjj as “Replace the rightmost group of letters by its length successor,” which yields “1-2-4” at the abstract level, or, more concretely, mrrjjjj.
Finally, consider
abc ⇒ abd
xyz ⇒ ?
At first glance this problem is essentially the same as the problem with target string ijk given previously, but there is a snag: Z has no successor. Most people answer xya, but in Hofstadter’s microworld the alphabet is not circular and therefore this answer is excluded. This problem forces an impasse that requires analogy-makers to restructure their initial view, possibly making conceptual slippages that were not initially considered, and thus to discover a different way of understanding the situation.
People give a number of different responses to this problem, including xy (“Replace the z by nothing at all”), xyd (“Replace the rightmost letter by a d”; given the impasse, this answer seems less rigid and more reasonable than did ijd for the first problem above), xyy (“If you can’t take the z’s successor, then the next best thing is to take its predecessor”), and several other answers. However, there is one particular way of viewing this problem that, to many people, seems like a genuine insight, whether or not they come up with it themselves. The essential idea is that abc and xyz are “mirror images”—xyzis wedged against the end of the alphabet, and abc is similarly wedged against the beginning. Thus the z in xyz and the a in abc can be seen to correspond, and then one naturally feels that the x and the c correspond as well. Underlying these object correspondences is a set of slippages that are conceptually parallel: alphabetic-first ⇒ alphabetic-last, rightmost ⇒ leftmost, and successor ⇒ predecessor. Taken together, these slippages convert the original rule into a rule adapted to the target string xyz: “Replace the leftmost letter by its predecessor.” This yields a surprising but strong answer: wyz.
It should be clear by now that the key to analogy-making in this microworld (as well as in the real world) is what I am calling conceptual slippage. Finding appropriate conceptual slippages given the context at hand is the essence of finding a good analogy.
Being a Copycat
Doug Hofstadter’s plan was for me to write a computer program that could make analogies in the letter-string world by employing the same kinds of mechanisms that he believed are responsible for human analogy-making in general. He already had a name for this (as yet nonexistent) program: “Copycat.” The idea is that analogy-making is a subtle form of imitation—for example, ijk needs to imitate what happened when abc changed to abd, using concepts relevant in its own context. Thus the program