Why is Simulation Difficult

Say you are making a movie and need to shoot an India Mela. You could either locate a real Mela and go shoot there or you could simulate one on your set. Except at the cost of tremendous effort, one can tell the simulated one from the real one (maybe it is too clean or too organized). This is a question that arises everywhere. Why is simulation so difficult? Why is it so difficult to simulate liquids but the liquids themselves use no compute at all?

I think, a good start to understanding this situation to ask ourselves why we expect simulation to be easy. Most of the phenomena that we care about lack centralized control. Numerous agents interact with each other on the basis of simple local rules (think fish schools). While simulating, we try to mimic this interaction using either some overall deterministic relation or if the complexity is too much, randomized relations. But the fact of the matter is that "the real thing" is neither of these. The source of complexity is in the interactions among numerous agents based on simple rules. You may come up with statistical properties of these interactions or you may try to replicate the interactions using "one" set of rules. But "the real thing" is a collection of simple rules. A "simplified" relation may describe the interaction in simple terms to a human brain, but it can only be an approximation.

So now we have this one equation that we think can describe the fluid dynamics. Only if we had sufficient compute. The issue is again that we are trying to simulate numerous agents using (say) one central unit. There is no reason why this should be efficient or easy. For a system in a certain state, that follows a fixed set of deterministic rules, there is only a limited number of possible future states. Contrast that with a computer trying to simulate that system's future state. The computer's current state and its rules are very different from the system's. Hence, the computer needs a hell lot of extra compute and information to really zero down on (an approximation) of the system's future state.

Reality is not a mystical computer with unlimited compute.

Search

A fundamental reality of life is complexity. Any attempt to define an inherent value in anything must depend on its complexity. Hence, search for ways to deal with complexity is the most basic problem in life. In fact, it can also be used to define life itself- anything that does better than random at dealing with the complexities of life is alive.

Here, I have comfortably been ambiguous about what solving complexity entails. Clearly, there is also a need for a goal, whether well-defined or indeterminate.

The process of attaining such a goal, in the face of complexity is what I mean by search (I think this is equivalent to optimization but I don't have a proof).

Searching

Given its principal importance, it is surprising that I am yet to find literature that deal with this problem at the most abstract level. The goal of this post is to collect my thoughts about it and see if we can find something of value at so high a level- highly unlikely but of supreme value if found.

Exact Methods

Simple problems can be handled directly. Binary search is a good example. The method is direct and deterministic as a consequence of limited complexity. We can come up with direct methods if we (our brain that is) are capable of wrapping our heads around the problem.

Heuristics

If the complexity is well beyond any full-blown analysis, we resort to heuristics. In such situations, no one (except reality) has the computational capacity to fully determine the solution (or the future). The only reason predictions about future are on such shaky ground is that reality if infinitely complex and we will forever lack the capacity to fully analyze it.

In dealing with such kinds of complexity, heuristics come to our rescue. To be useful across a large spectrum of problems, they need to refrain from being very precise. Yet, at their core they contain some fundamental truth about the complexity of a problem. Viewed through this prism, even the most exact laws and equations in physics and other science are just heuristics expressed in the language of Maths.

The goal of any search for general problem solving strategies should then be to find heuristics (that these heuristics can be expressed mathematically is a different matter).

Anti-Fragile

Skeleton

  1. The Anti-fragile: an introduction
  2. Modernity and the denial of anti-fragility
  3. A non-predictive view of the world
  4. Optionality, technology and the intelligence of antifragility
  5. The non liinear and the nonlinear
  6. Via Negativa
  7. The Ethics of fragility and antifragility

Notes

  1. Fragility is quite measurable, risk not so at all, particularly risk associated with rare events.
  2. Instead of a discussion of risk (which is both predictive and sissy), I advocate the notion of fragility, which is not predictive.
  3. The noise produced by the person is inverse to the pecking order.
  4. Those who are in debt need to predict much. (Is it a consequence of capitalism?)
  5. Randomness in the Black Swan domain is intractable.
  6. Our sophistication continuously puts us ahead of ourselves, creating things we are less and less capable of understanding.A
  7. My idea of the modern Stoic sage is someone who transforms fear into prudence, pain into information.
  8. People don't know what they want until you provide them with it.
  9. The option is an agent of antifragility.
  10. What gains from dispersion is antifragile.
  11. Let us call trail and error tinkering when it presents small errors and large gains.
  12. My sadness is that we are moving further and further away from grandmothers.
  13. Never respond with a straight answer to a question that makes no sense to you.
  14. Incremental progress (with small and bounded downside but unbounded upside) rather than revolutions.
  15. You decide principally based on fragility, not so much on True/False.
  16. The fragility that comes from linearity is immediately visible, so we rule it out because the object would be already broken.
  17. What is fragile is something that is both unbroken and subjected to nonlinear and extreme (rare) effects.
  18. It is completely wrong to use the calculus of benefits without including the probability of failure.
  19. Bottlenecks are the mothers of all squeezes.
  20. Economics largely a charlatanic profession.
  21. In political systems, a good mechanism is one that helps remove the bad guy.
  22. Almost everything contemporary has winner-take-all effects, which includes sources of harm and benefits.
  23. Obvious decisions require no more than a single reason.
  24. Antifragility implies that the old is superior to the new.
  25. In a complex domain, only time is evidence.
  26. In medicine, there is a marked bias in favor of treatment, even when it brings more harm, because the legal system favors intervention.
  27. Our record of understanding risks in complex systems has been pitiful.
  28. When the present inhabitants of Mother Earth want to do something counter to nature, they are the ones that need to produce evidence.
  29. Never ask the doctor what you should do. Ask him what he would do if he were in your place.
  30. Suckers try to wind arguments, nonsuckers try to win.
  31. Banks have lost more than they ever made in their history.
  32. In a large data set, large deviations are vaslty more attributable to noise than to information.
  33. A central argument is never a summary, it is more like a generator.
  34. A world whose charm comes from our inability to truly understand it.

Leads

  1. Ariel Rubinstein
  2. Jon Elster
  3. Craig Venter
  4. Ray Kurzwaii
  5. Thales
  6. Aristotle
  7. Socrates
  8. Ralph Nader
  9. Shaiy Pilpel

Characters

Steve Jobs

During his formative years, Jobs worked at Atari for a while under Nolan Bushnell. Bushnell is among the founding fathers of video games. He taught Jobs that if you act like you can do something then it will work. Jobs also learned that "If you pretend to be completely in control then people will assume that you are."

Jobs had this uncanny ability that his friends called the "reality distortion field" using which he would stare at someone unblinkingly and make them do a seemingly impossible task.

Wozniak mentioned that Jobs knew how to talk to a sales representative. Before starting Apple, Jobs called chip makers like Intel to get free samples.

Bill Gates

Bill Gates had this ability to be laser focussed on whatever he was working on (he sounds eerily similar to Elon Musk). He was a genius, hard bargainer and liked to flaunt his genius( at least in his younger days ).

When working on a coding project, Gates would work non-stop for two days, sleep for ten hours, eat a pizza and get back to work. He must also have been charming as despite being a jerk (sometimes), he always had a friend with which he would hack on things.

In probably his most important meeting with IBM, Gates looked like an office-boy in his oversize suit. The IBM folks first thought that he looked like a punk kid. However, once he started, he wowed everyone with his insight and calm confidence. However, it was largely an ACT. Gates went to his office and lay on the floor agonizing about his doubts. Moral of the story: If you don't have confidence, FAKE it.

Graduation

Imagine yourself dancing the best dance of your life in the best party you have ever been to and suddenly you have to go attend a different party. You must. Graduating from IIT Kharagpur brings similar feelings to me. It is amazing that a single institution is capable of arousing such myriad memories and emotions. The funny thing about most precious memories is that you do not realize how precious they are going to be for you when you are making them. After my 5 years at Kgp, I think I have a keener eye for them.

I also know myself much better.

Places To Visit

To Visit

India

USA

  • NYC
    • The Strand bookstore
    • McNally Jackson Books

Germany

  • Berlin
    • Camon Coffee

Visited

India

  1. Oxford Bookstore (Cha Bar) at CP, Delhi. (on 28th Dec, 2018)

USA

A hypothetical system that incentivizes waste disposal

Recycling and waste disposal are two chief concerns of modern world. Governments in rich countries spend a lot of money on it and yet across the world untreated garbage is pilling up. What if we could come up with an alternate system of pricing commodities that incentivizes recycling/disposal? For such a system to be sustainable it has to be profitable in terms of trade and not require much external support. I have one such proposal. Note that this is purely hypothetical so I haven't dwelled too much upon its practicality.

The basic idea is to include expected cost of disposing the commodity into its price. The standard way of pricing products takes into account only the effort that went into its production. For example, an Iphone is more expensive to make than a low-end Samsung phone and hence they are priced accordingly. If you include the cost of their disposal into their prices, then both of them get more expensive (but the Samsung is still cheaper). So, nothing interesting. Yet.

Consider two carry bags - a standard polythene bad and a jute bag. A polythene bag is way cheaper than a jute bag---something that encourages its use. But once you include the cost of their disposal, the situation is flipped. Plastic disposal is difficult while jute is bio-degradable. In terms of disposal cost, plastic-disposal will be much more expensive than jute disposal. Thus, effectively in the proposed system, a jute bag will become cheaper than a polythene bag.

One can similarly argue that more eco-friendly commodities will be preferred in this system. Not only that, we might even see more research into ways to dispose of difficult-to-dispose stuff. To promote such efforts, we might even allow trade of disposal credits.

Is Mathematics Invented or Discovered?

This question is purely philosophical and as philosophical questions usually go, it is not well-defined. So, let us try to do that first. What does it mean for something to be invented? In the case of physical objects there is not really much confusion. The telephone is considered a human invention because it did not exist in any physical form before its invention and all its components are man-made. On the other hand, America was discovered by Columbus because it had existed for a long time before Columbus landed there.

In the case of Mathematics, we are in a spot because Mathematics is abstract. It need not have any physical manifestation to be valid. In fact, development of an axiomatic description of mathematical concepts (like counting and sets) is considered to be a milestone in the evolution of modern mathematics. One argument in favour of treating it as an invention is as follows: Mathematics is built upon self-obvious truths or axioms. Mathematics simply draws logical consequences of these axioms. Hence, all the mathematical tools that we have---numbers, logic---are purely a construct of the human mind. Further, discovery implies prior existence. In our case, the question is who could have thought of these concepts before humans did. (This question is not precise because we do not have a concrete definition of thinking beyond the human brain.)

To consider Mathematics a discovery calls for first proving prior existence. Note that it is not important to know who the inventer was (if there was one). Hence, we can skip getting into a religious terrain. Now, despite the possibility of having totally arbitrary axioms, they do have to be logically consistent and most of mathematics actually makes use of axioms that make sense. For example, Peano's axioms that are the basis of our usual number system are very intuitive. What is intuitive and what is not is determined to a large part by our experiences in our surroundings (call it nature). For such mathematical concepts that are influenced by natural experience, it is perhaps reasonable to call them discoveries.

  • Mathematical Universe Hypothesis : our physical world is an abstract mathematical model.
  • Is Mathematics independent from reality?

Shifting to Nikola

So, recently I gave up on my Jekyll blog. Jekyll is the most popular static website generator, but for some reason I could not really get a hang of it. After hours of struggle to do some customizations, I figured it would be quicker if I started from scratch.

I have shifted to Nikola which is another static site generator. The biggest selling point is that it is written in Python and assumes minimal usage of its documentation.

I hope the journey will be less painful this time.

Cheers!