This book by Douglas Hofstadter goes into more detail about his research into Artificial Intelligence than his other books. It describes some of the programming projects he has worked on with his students.

One project described is Copycat, a program to solve analogy problems like "If abc goes to abd, what does xyz go to?" It works by looking for correspondences between the sequences of letters. The transformation of abc to abd could be interpreted as replacing the last letter by its successor or as replacing it by d. Replacing the last letter by its successor is more elegant and is given a higher "structure-value" by the program, but since there is no successor of z, 90% of the time Copycat will answer xyd. (It can't think of the alphabet as circular and come up with xya.). 10% of the time, however, it hits on the idea of mapping z onto a, y onto b and x onto c. In this structure, successor relationships are mapped onto predecessors and the first letter into the sequence onto the last, leading to the answer wyz. Since so many high-level correspondences are involved in this answer, it has a much better structure-value, so Copycat is practically certain to stop running once it finds this answer.

Other projects discussed are Seek-Whence, a program to understand the patterns behind number sequences and hence continue them, and Tabletop, which is based on the idea that if we are sitting across a table from each other, and I touch my cup and say "Do this!", you will probably touch your own cup rather than mine. With different arrangements of cutlery, however, the best response to "Do this!" is less obvious.