levels of abstraction
I have never found a person who can think at the right level of abstraction effectively. And yet, usually that is what is needed to REALLY solve a problem. We get by, anyhow, by our local maximizations…
(also, sometimes the effort/reward ratio is just not there.)
One example: spending 10 ounces of effort worrying about your homework due tomorrow.
Note: most of the problems we need to solve stem from some sort of “worry” from a concrete thing that needs to be done.
examples of horizontal scaling:
- scope: grade on paper due tomorrow. do your homework well.
- scope: grade on other things due tomorrow. run a quick multiple variable regression in your head with the assignment grades as variables to spend appropriate amounts of time per homework.
- scope: grade on class this semester.
- scope: gpa this semester. think about your grade in the class
there is a relation between looking long term and short term. it is summed up by this famous phrase: “an ounce of prevention is worth a pound of cure.”
In levels of order from specific to abstract (vertical scaling): // picture someone trying to do a 212 homework or something.
- how do I get my program to compile on the last problem? it’s broken.
- how do I get a good grade on this assignment? (is it necessary to solve the last problem in order to get a good grade on this paper?)
- how do I get a good grade in this class? (is it necessary to get a good grade on the assignment in order to get a good grade in this class?)
- how do I get a good GPA this semester? (is it necessary to get a good grade in this class to get …?)
- how do I get a good college GPA? (is it necessary to get a good GPA this semester…?)
* this point is the one most people want answered. the answer to the question might sound like:
* learn how to psycho-analyze people who are brilliant at my field, learn why they ENJOY what I’m doing and why they excel at it. (in almost all cases academically, this is the same thing.)
* optimize by taking easy classes that aren’t required. optimize projected effort function and value.
* join a fraternity and cheat.
* figure out how to use FCEs to pick easy courses. figure out how to tap their social network on the low-down of professors, how to get on their good sides (which ones have good sides?), what courses are easy (this is a big one in CS).
- how do I get a CS job that pays well? (is it necessary to get a good college GPA…?)
NOTE: At this point, I usually stop helping people. Most people don’t want to go into any more higher levels of abstraction. The answer at this point is to contribute to open-source projects, learn enough to make a breakthrough in the field, etc. If you’re good enough, the companies will come find YOU.
- how do I get a job that pays well?
- how do I get a job that I will enjoy?
- how do I live a life that I enjoy?
- how do I live a life?
- how do I live?
- how do I?
- how?
- why?
funny enough, the most compact representation of things usually unfolds to the most complicated problems.
more: what are the appropriate questions to ask to determine the higher level of abstraction? “why do I ask this question, or why do I need to know this?” high levels have multiple lower levels, do lower levels have multiple higher levels? why is it so hard to know why you want something but easy to tell that you want it?
No comments