Below is the definition of "Abstraction" from Wikipedia.

"...conceptual process wherein general rules and concepts are derived from the usage and classification of specific examples, literal ("real" or "concrete") signifiers, first principles, or other methods."

Abstraction is an important concept in Intelligence. With good abstraction, we are better equip to solve problems. Let me give an example:

Duncker's Candle Problem

The test presents the participant with the following task: how to fix and light a candle on a wall (a cork board) in a way so the candle wax won't drip onto the table below. To do so, one may only use the following along with the candle:

  • matches
  • a box of thumbtacks

The problem is devised by Karl Duncker, a cognitive performance test, to measure function fixedness.

This is a classical problem that can be solved relatively easier if we have proper abstraction i.e. classification. Think about it, if we classify the box as "platform" rather than "container" holding the thumbtacks, we are closer to solving the problem.

Conducting Abstraction

Essentially, abstraction is putting labels on the different entities that we have seen. Going back to the example above, if we have classified the box as "platform", it will be the first step to solving the problem.

But before we are able to label the box as a "platform", we probably need to have some experiences at least, where containers are used as platforms, which is definitely limited for most of us. After ascertain that the box can also be a platform here are a few questions that we will have to ask ourselves having 'understand' how physics work, to ascertain the functional integrity of the box as a platform. For instance the following questions:

  • Can the platform hold the weight of the candle?
  • Where do we fix the platform onto?

Again, all these processes are pretty straightforward for us humans, but may need to be taught to a fresh intelligence.

Building Abstraction

So how can we build "abstraction" into AGI?

I do not have a definite answer for now but a Knowledge Graph (KG) comes to mind.

We definitely need to develop "learning" process that allows the KG to be extended further. I am thinking of having the "Labels" (i.e. in the example given, will be both "Container" & "Platform), together with Entities as nodes on the Knowledge Graph. The links on the KG will represent the probabilities of the relationship between the two nodes. To achieve this, the Labels will need to be standardised, leading to a need to develop a dictionary perhaps.

I am still thinking about features associated with the "Labels", how should they be incorporated into the KG. The biggest consideration will be computation power, which there is a chance Quantum Computing might shorten it tremendously, making traversing the KG much faster.


These are my thoughts on Abstraction so far, and how to build it inside Artificial General Intelligence. Knowledge Graph is something I will like to do more reading and research on. :)

What are your thoughts? :)

Note (26 Jan 2023): Was watching "Closer to Truth" and was reminded of "Ontology". Time to explore

Please feel free to link up on LinkedIn or Twitter (@PSkoo). Do consider signing up for my newsletter too. I just started my YouTube channel, do consider subscribing to it to give support! :)

Consider supporting my work by buying me a "coffee" here. :)