4 ms·
This is such a powerful distinction that I feel it should help us rethink language paradigms. Complexity is not (just) the complications one can impose by const
by ordinaryradical 8y ago
This is such a powerful distinction that I feel it should help us rethink language paradigms. Complexity is not (just) the complications one can impose by construct or the involutions required of ones algorithms, it's the overall real world system your code addresses.
Simple programs which are coded simply may address complex phenomena to complex ends--perhaps that's even the ideal?
- reitanqild 8y agoSomething something about simple rules being able to describe complex behaviour. Example: you can describe a flock of birds in motion around an object with 2 or 3 rules. Complex rules yields stupid results. Example: tax codes in most countries. Must be a quote but I wasn't able to find a source for it.
- xtracto 8y agoThat something something is actually Agent Based Modeling / Simulation. Back when I was in academia I used to develop ABMs to represent the behaviour of complex systems with a simple set of rules of agent action and interaction. The game of Life is the quintessential example of that.
- snowwrestler 8y agoThe problem with simple rules is the volume of computation. Theoretically you could write a tax code using quantum mechanics, but good luck calculating your tax each year (or before the heat death of the universe). When systems get too complex to simulate from first principles, we have to resort to inductive reasoning--observe the system and then create rules as we see a need. Yes the resulting rule set is a mess, like our tax code. But the physical system that the U.S. federal tax code (for example) covers--the United States of America--is mind-bogglingly complex. We have trouble computationally simulating more than a certain number of neurons... there are billions of neurons in each human brain, and there are hundreds of millions of human brains interacting in the U.S. This does not even get into other physical phenomena like surface water or mineral distribution. The results are stupid because we are too stupid to understand and analyze the system we're trying to describe and manage.
- csomar 8y agoMost people perceive complexity as things they don't understand. In that case, complexity will be relative.
- thaumasiotes 8y ago> Most people perceive complexity as things they don't understand. I don't think this is true. For example, as a math teacher, I couldn't do a very good job predicting how easy or difficult students would find particular problems. But I could easily predict which problems would be easier and which would be more difficult. I could do that even though I personally understood all the problems.
- csomar 8y agoI don't think difficulty is complexity. For example, the bitcoin mining protocol complexity is the same but the difficulty goes up or down. I'll attribute difficulty to the energy required to resolve a system. For example, pulling weight. The complexity of the action is the same. But the difficulty depends on the weights to pull.
- ImSkeptical 8y agoComplexity is about the number of interoperating parts. A math problem like 75533787543269^634678 may be difficult to do with pen and paper, but it's not complicated, whereas, take the result of 5^2, divide by the number of e's in these song lyrics, take that number of steps due North, and incline your head 60° while facing 3 o'clock - is a complicated set of directions even if none of the calculations are as difficult as the simpler one above.
- heavenlyblue 8y agoIt seems you’re vastly misusing the words and their contexts here.
- thaumasiotes 8y agoComplexity is difficulty of understanding. In the context of mathematical problems, that is the relevant kind of difficulty.
- noobermin 8y agoSure, I suppose you'd just need a good definition for complexity. Notions like computational complexity have clear definitions while what I think you're describing might not. Or may be it would require some thinking and be valid in some limited regimes of "real world" effects as you call it.
- agmiklas 8y agoYou might enjoy Fred Brook's essay "No Silver Bullet", where he distinguishes between "Accidental Complexity" (basically, complexity created by software engineers when implementing a solution) and "Essential Complexity" (complexity that arises because software is written to solve some real world problem and the world is complex).