This writeup comes directly from Melanie Mitchell's article: Analogy-Making as a Complex Adaptive System, to appear (or appeared) in L. Siegel and I. Cohen (editors), Design Principles for the Immune System and Other Distributed Autonomous systems. New York: Oxford University Press. It is mainly extracted from the section "Analogy-Making and Cognition". I have the author's permission to cite this article (her English is much better than mine, and her explanation on Analogy-Making too ;) ).
Analogy-Making can be defined as "the perception of two or more non-identical objects or situations as being the 'same' at some abstract level."
... Analogy-Making is at the core of recognition and categorization. Even though different dogs look very different, children perceive some essential sameness at an abstract level and can differentiate a dog from a cat. Likewise, children learn to recognize cats and dogs in books as well as in real life, even though on the surface such images are very different from one another and from the corresponding real-life creatures. Hofstadter has pointed out that even the ability to recognize the letter 'A' in many different typefaces and handwriting styles requires a highly sophisticated analogy-making ability. ... Hofstadter points out that "no single feature, such as having a pointed top or horizontal crossbar (or even a crossbar at all) is reliable" as an indicator of being an 'A'.
At a more abstract level, people can easily recognize styles of music -- "That sounds like Mozart" -- or a familiar music transported to a less familiar idiom -- "Hey, that's a muzak version of 'Hey Jude'." When you think about it, these are examples of sophisticated analogy-making as well. Any two pieces by Mozart are superficially very different, but at some level we perceive a common essence. Likewise, the Beatles rendition of Hey Jude and the version you might hear in the supermarket have little in common in terms of instrumentation, tempo, vocals, and other readily apparent musical features, but, we can easily recognize it as "the same song".
People make analogies all the time, both consciously and unconsciously. You've probably had the experience of hearing a friend's story about how her flight from Boston to San Francisco was delayed for four hours, and how her four pieces of luggage were lost. You exclaim "The same thing happened to me", thinking of your flight from Adelaide to Perth and how it was delayed for two hours and how two of your three pieces of luggage were lost. Not exactly the same thing, but close. Or you might have read about a war waged by the Soviets in Afghanistan in which their superior military power was thwarted again and again by the determination of a small Western-supported army fighting on its own soil, and been instantly reminded of a war the Americans waged during the 60s and 70s in Asia against a small Soviet-supported army fighting on its own soil; you might have even thought, "This is another Vietnam". Again, it's not exactly the same, but basically. It is that "basically" where analogy lies. Anytime you recognize something, are reminded of something, or see a similar essence in two different situations, you are making an analogy. ... Such abstract analogies come about by what might be called high-level perception, in which objects, pieces of music, memories, or complex situations are viewed in the mind's eye and found to be similar one to another.
It should be clear from all these examples that in making analogies, elements of one situation are fluidly mapped to another situation. A four-hour flight delay in Boston is easily mapped to a two hour flight delay in Adelaide or perhaps even a six hour train stop-over in Providence. ... The lilt and clean lines of Mozart's Eine Kleine Nachtmusik is easily seen to be similar to the style of his Divertimento in D. The ability for concepts to "slip" from situation in this fluid way is a hallmark of human thought and is one of the salient differences between human intelligence and the rigid literality of computers. Our goals in the Copycat project are to understand how human concepts attain this fluidity and how to impart such fluidity to computers.