Skip to main content

Abstraction

Abstraction is the ability to boil things down to its core by ignoring unnecessary details and instead focusing on whats common with something else. The ability of abstraction is a defining characteristic of humanity: We can talk about a book, even though every book has a different content, color, languages or size. The concept of a book is an abstraction of all the different concrete books and every other human understands what we mean. 

Through abstraction we are able to draw connections between seemingly unconnected things. Making sense of the world requires abstraction. In his famous monologue Goethes Faust wishes in German

Dass ich erkenne, was die Welt
Im Innersten zusammenhält
That I may detect the inmost force
Which binds the world, and guides its course

The better we can abstract things, the better we can model the different aspects of the world around us. This enables us to better understand how things effect each other, allows us to make better predictions of the future and most importantly make better decisions in the present. 

Without abstraction we can see the dots, but can't draw a connection between them. 

In his book "Die Kunst des digitalen Lebens" (The art of living in the digital age) the author Rolf Dobelli argues why consuming media can easily give us a wrong impression of the world. At one point he compares each article with a single dot, representing some event. Because the format of an article is often not long enough to represent the complex background of the event. Instead most articles represent a simple cause-effect relation that is often not accurate or even wrong. In that sense the author of the article makes an abstraction of the matter for us. Details are left out to obtain a stripped down image of the event. But that abstraction is not made to better understand "the inmost force which binds the world, and guides its course", but as Dobelli argues is optimized to grab our attention in the first place. There are useful abstractions that give us a better understanding of the world, but abstraction can also lead to the opposite. We still connect dots, but maybe the wrong ones. In each step of abstraction we need to be careful if we abstracted away irrelevant details or if we stripped away details of "the inmost force which binds the world"

Solving complex problems with abstraction 

Abstraction allows us to focus on the relevant parts of a complex issue. If we want to solve a complex problem, the first step should always be gain a deep understanding of the problem. We can do this by finding good abstractions for it. This way we understand, which parts are important and which ones are rather noise instead of information. Often we find out that certain aspects of the problem are similar to problems we know from other areas. Sometimes we can reduce the problem to an abstract model we already know. For instance, in mathematics we could find out that the problem can be reduced to a graph-theoretic problem or that it can be represented with a finite state machine. If we can find such an abstraction and the abstraction is abstracting the right parts, we can often apply generic solutions that have already been researched. Suddenly we might solve our problem by using an existing graph-based algorithm. If we are not able to see the similarities between different issues, we have to start from scratch every time. We can not transfer the insights from other problems to the current problem. This might take us more time than necessary and the outcome probably is of lower quality. Moreover, abstracting a problem to an already known theoretic model has the enormous advantage that it is much easier to communicate to other people. There is an abundance of literature about all kinds of theoretic models. If you can reduce your problem to a theoretic model other people know, they can instantly apply their generic knowledge. This increases the probability of finding a good solution even further.

Comments

xyliapadon said…
How to open a new game at casinos - Dr. Maryland
You will need 광양 출장안마 a 파주 출장샵 mobile device to access the site, 인천광역 출장마사지 so 공주 출장샵 be sure to 익산 출장마사지 check out our page before you open it! There are plenty of options for accessing the casino

Popular posts from this blog

Are you ready to build the future?

The following post is based on the great book "From zero to one"  in which Peter Thiel and Blake Masters present their ideas about whats kind of entrepreneurship is needed to build a glorious future.  Optimist vs Pessimist There are basically two ways we can feel about the future: Either we are optimistic and feel the future is going to be better than the present or we are pessimistic and feel the future is going to be worse that the present. Determinate vs Indeterminate    The second question is concerned with the felt influence we have on the future. Does the future appear   determinate  meaning planable to a sufficiently high degree? Or do we think the future is indeterminate , we are "a lottery ticket", and have no influence on how our life will be tomorrow?  Based on how you feel about these two questions you will belong to one of the following groups: You are a  Determinate Optimist if you think the future is going to be great an...

Theory of Constraints

The theory of constraints (TOC) is an approach for maximizing the throughput of a given system. It was proposed by Eliyahu M. Goldratts and has been applied in manufacturing as well as DevOps. Personally, I like the idea because of it's simplicity and iterative nature.  Let's first define what we mean by a system. A system is a directed acyclic graph with some sources (nodes that do not have any incoming edges) and some sinks (nodes that do not have any outgoing edges). Work in such a system enters the system at some source node and is processed at different nodes, representing workstations, until it reaches a sink node, marking its successful completion. Below you can find a simple system with four nodes. Work enters the system at the right, is split across two different nodes and the completed in the node on the left. The throughput  of a given system is defined as the rate of work units that can pass through the system per unit of time. For example in a car manufactur...