You go up in abstraction, “higher and higher”. The main object of study yesterday becomes just an example or a tiny part of what you are considering today.
For example, in calculus classes you think about functions or curves. In functional analysis or algebraic geometry, you think of spaces whose points are functions or curves — that is, you “zoom out” so that every function is just a point in a space, surrounded by many other “nearby” functions. Using this kind of zooming out technique, you can say very complex things in short sentences — things that, if unpacked and said at the zoomed-in level, would take up pages. Abstracting and compressing in this way makes it possible to consider extremely complicated issues with one’s (very) limited memory and processing power.-- anon on Quora
We have also obtained a glimpse of another crucial idea about languages and program design. This is the approach of stratified design. the notion that a complex system should be structured as a sequence of levels that are described using a sequence of languages. Each level is constructed by combining parts that are regarded as primitive at that level, and the parts constructed at each level are used as primitives at the next level. The language used at each level of a stratified design has primitives, means of combination, and means of abstraction appropriate to that level of detail.
Stratified design pervades the engineering of complex systems. For example, in computer engineering, resistors and transistors are combined (and described using a language of analog circuits) to produce parts such as and-gates and or-gates, which form the primitives of a language for digital-circuit design. These parts are combined to build processors, bus structures, and memory systems, which are in turn combined to form computers, using languages appropriate to computer architecture Computers are combined to form distributed systems, using languages appropriate for describing network interconnections, and so on.-- SICP Page 124
How amazing is that. Analogies:
- AI design: abstraction barriers reminds me of an idea I saw in a book called Out of Control. It describes how a garbage collecting robot could manage to do complicated things: every layer of its system only deals with simple cases (e.g., when I see an empty can, I pick it up if I'm not holding anything; when i see an empty bin, I check if I'm holding a can), but when they're added together, they become a complex being, like us.
- Human body: Which reminds me of the way our cells work. Each layer (cells, organs, the whole system) is just doing what they're supposed to do, separately. again, abstraction barriers.
- Laws of Physics: And there come the rules the universe work by. There are quantum and macro physics, different scales mean different laws - they don't affect each other. Though I think they will be united some day.
- Dimensions: Maybe united in the way of the strings, that also sounds like abstraction barriers: the different dimensions. We could imagine second dimension but could not actually interfere, because they don't actually exist in our 3d world. And higher dimensions are beyond our imagination, shame.
- The Art of Learning: that sounds like the idea Josh mentioned in his book. To learn anything, chess or martial arts, ultimately is to internalise chunks of information into your brain, layer by layer, starting from the tiny bits, gradually growing them into subconscious and intuition, so as to focus the conscious mind in on vital details.
- A country: the way a country works.
- Or animal societies generally, ants, bees, lions...
- Take functions as parameters: seems a layer higher, "going up in abstraction".
- Different floors of a building.
- Food pyramids.
- Food chain. The way large fish gulp small fish.
- History. the way history evolves and future unfolds.
- Time slides. We can't go back interfering, nor muddle in the future. We stay in our slice.
- A Book: consists of chapters, which consist of paragraphs, which consist of words, which are letters.
- A piece of music. The flow.
- Onions.
- Layered mazes.
- A game map in my mind.
- Black boxes lined up in a row.
- Flow of Products in a factory.
- Stave, or any lines.
- When we transfer between flights, it's like abstraction barrier. The next flight has not much to do with the previous, each doing their own job.
- ...
It's like, the whole existence is limitless.
SICP 2.46-47
SICP 2.48-49
SICP 2.50-51
没有评论:
发表评论