I've been asking myself the following question over and over again: can one write an algorithm (a series of steps for solving a problem) for something that came about through a process that is at least partially foreign to human understanding? Some claim that it is possible to write an algorithm(s) that could, in principle, emulate natural phenomena such as evolution and consciousness, amongst other very abstract concepts. But human beings have neither built evolution nor consciousness. So what would make someone think that it is possible to write an algorithm capable of efficiently reproducing situations and abstractions such as evolution and consciousness? How could one specify the steps of an unknown procedure?

  • 3
    All concepts are initially foreign to human understanding. That's why we have schools. – stoicfury Aug 28 '11 at 6:26
  • Really? How so? – Gabriella Aug 28 '11 at 15:59
  • 1
    It does not make sense; a computer can simulate anything we can specify as a parameterizable causal physical system (whether a system is "manmade" has nothing to do with whether we can simulate and predict its behavior with a computer.) Without a clearer formulation or some actual theoretical context I am not entirely sure how constructive this question is. – Joseph Weissman Aug 28 '11 at 16:33

An algorithm is a specification (particularly of operations to take on a machine). As a specification, it is an encoding of many possible things but none of them particularly algorithm specific. It can be an encoding of what you imagine, an encoding of some behavior viewed empirically, an encoding of some desired end.

The qualifier 'foreign to human understanding' is something orthogonal to the construction of an algorithm. One can create a random algorithm (or any kind of mathematical encoding) and it might be inscrutable (there are theories that attempt to quantify this inscrutability). This line of thought leads towards algorithmic information theory.

As to scientific phenomena evolution or consciousness, I think that's a matter of scientific exploration. There is an attempt to determine the knowledge exactly (through experimentation) where if it is a process one could presumably specify a Turing machine. But some phenomena have been found to be inherently non-deterministic (quantum mechanical processes). Of course one can always attempt to model such phenomena mathematcally (and here in particular much work has been done in quantum Turing Machines and quantum complexity.

But simply, if you don't know something about your process, you really can't specify it. That is a specification really is a form of encoding of knowledge. So if there are unknowable things, then they can't be specified (by definition). One might be able to encode something -about- that lack of knowledge (like in say a probability distribution or non-deterministic rules).

| improve this answer | |
  • Okay. Thank you, that was helpful. The last paragraph of your answer hit right on target. – Gabriella Aug 28 '11 at 15:58

I suggest you take a look at Stephen Wolfram's book A New Kind of Science, which demonstrates (quite rigorously) that some very complex and unpredictable behaviors can be generated by some very simple algorithms.

In other words, whereas it is difficult to specify the steps of an unknown procedure, it is quite easy to specify a procedure that will give unknown (and surprising) results.

That being said, I have to say that the suppositions implied by the question confuse me; for example, humans have definitely been able to create mathematical models for explaining the movement of the planets, even though we did not create the planets, and their movement was (at first) foreign to human understanding.

| improve this answer | |
  • Thanks for the reading suggestion. Well, I really don't get how does "it is quite easy to specify a procedure that will give unknown (and surprising) results" contribute to the making of an answer to my question. You are basically commenting on my question and not answering it. And mathematical models are not necessarily algorithmic although they can be in some cases. – Gabriella Aug 28 '11 at 15:46
  • 1
    What I was trying to say is that if there are unknown things (like the nature of consciousness), one way we could learn about them is through the programming of algorithms that give unpredictable behaviors; if one of these algorithms approximated consciousness, this would be a great tool for learning more about the nature of consciousness (for example.) – Michael Dorfman Aug 28 '11 at 19:07

Not the answer you're looking for? Browse other questions tagged or ask your own question.