Tuesday, 22 January 2013

On computer programming, atheism and human cognizance

What started as a light-hearted comment to one of my friend's Google+ posts about the structure of the snowflake ultimately got me thinking about epistemology and the self-imposed limits of human cognizance. In the comment I had jokingly stated that all snowflakes were probably just an artefact of an L-system (*) written by a bored programmer. Now, when one starts thinking about it, the following chain of thoughts immediately comes to mind: Creator / God, Reality / Universe, Evolution, Atheism, Richard Dawkins. All right, I admit that the last sentence was only half-serious but I am sure that now you will be able to understand why I came to the conclusion described below.

For someone like me, atheists like Richard Dawkins seem to be completely irrational when they try to use Evolution as “proof” that Life and Universe could not have been created. Till now I was assuming they had behaved that way just because, as any fundamentalists, THEY ARE irrational (and they are) but now I see that the reason for their madness is twofold. So what is the second reason? It is just that they are not computer programmers ;). For any programmer or mathematician (**) it is natural and obvious that one system can be just an artefact of another system – e.g. a snowflake or a snowflake-like structure (system 1) which may be perceived by us in 3D space and is a part of our material reality can be a product (or a by-product) of functioning of a completely different system 2 which may operate in a totally different space (if you are still not bored but at the same time a little “lost in space”, you may want to check some Wikipedia articles on mathematical concept of space and to fully appreciate the vastness and importance of this topic read about the algebraic space, function space, topological space and so on) and thus may be immaterial and impossible to directly visualise. And yet system 2 may produce something as tangible as snowflakes. One can also put it differently and more succinctly – one system may be just an emergent property of another (possibly hidden) system (again, if you feel a little lost, you may want to read a Wikipedia article on complex systems theory).

What I describe above is so obvious to us (i.e. mathematicians, programmers, system scientists etc.) that we do not usually think about it or even consider that others (and especially other scientists) could have such an impaired perception / poor understanding of reality – which explains why it took some effort for me to consider the possibility that an evolutionary biologist like Dawkins could lack that additional layer of perception which would perfectly explain his flawed reasoning that led him to conclusion that Evolution contradicts the idea of God. Well, it does not. Evolution and God are perfectly compatible. God may be viewed as a programmer who created the Universe/Multiverse, life and each of us by creating a system (or writing a programme/algorithm if you will) which makes our Reality and lets all the events unfold precisely as planned. The material part of this creation (i.e. what Science deals with and what materialists postulate is the only thing that exists) is a chaotic system (you may want to read about Chaos Theory as well - a very cool part of Mathematics) and this brings about another interesting topic – namely that of Free Will. Since chaotic systems are deterministic in nature there is no free will if you are part of such system unless you believe in the concept of soul which is not a part of the material world but is interfaced with it via your material body.

Ah, so many interesting topics and so little time.

To save you some googling:

* An L-system or Lindenmayer system is a parallel rewriting system, namely a variant of a formal grammar, most famously used to model the growth processes of plant development, but also able to model the morphology of a variety of organisms. An L-system consists of an alphabet of symbols that can be used to make strings, a collection of production rules which expand each symbol into some larger string of symbols, an initial "axiom" string from which to begin construction, and a mechanism for translating the generated strings into geometric structures. L-systems can also be used to generate self-similar fractals such as iterated function systems.

** If you do not understand why computer programmers and mathematicians were put in one bag I recommend reading “On the cruelty of really teaching computing science” by one of the titans of computer science famous prof. Edsger Dijkstra. Here are some interesting quotes:

“A further benefit is that it gives us a clear indication where to locate computing science on the world map of intellectual disciplines: in the direction of formal mathematics and applied logic, but ultimately far beyond where those are now, for computing science is interested in effective use of formal methods and on a much, much, larger scale than we have witnessed so far.”

“The programmer is in the unique position that his is the only discipline and profession in which such a gigantic ratio, which totally baffles our imagination, has to be bridged by a single technology. He has to be able to think in terms of conceptual hierarchies that are much deeper than a single mind ever needed to face before. Compared to that number of semantic levels, the average mathematical theory is almost flat. By evoking the need for deep conceptual hierarchies, the automatic computer confronts us with a radically new intellectual challenge that has no precedent in our history.”

No comments:

Post a Comment

Popular Posts