On 2010-03-04, at 19:45, Andrey Fedorov wrote:
You're talking way past me. By "complexity" I just mean "how hard is
this to understand?". A experiment to measure of complexity of some
code would be taking an experienced Java engineer, giving him Java
code he hasn't seen, and asking him to understand it to the point of
being able to recreate it from memory, or modify it, or something
else to demonstrate he's internalized it to some extent. I don't see
how Kolmogorov or Chaitin's models will help here.
They will help, when you apply them on the whole system.
"How hard is this to understand?" depends on the "processor", the
person who tries to understand it.
If you present code in Java implementing a given algorithm, then
somebody how knows Java and who knows this algorithms will have it
really easy to understand, so you would say that it is not complex at
all.
But somebody who doesn't know Java and who doesn't know this algorithm
would have to work much harder to understand it (she would have to
learn Java, and learn this algorithm).
Not mentionning somebody who doesn't know what's an algorithm or a
programming language, or a mere silicium processors who doesn't know
anything beyond bits and simple binary operations...
However, if to the difficulty of understanding you add the difficulty
of learning what is needed to be known to understand it, then you will
be considering the whole program+processor system, and you will be
able to apply information theoretic complexity measures such as
Kologorov and Chaitin.
--
__Pascal Bourguignon__
http://www.informatimago.com/
_______________________________________________
fonc mailing list
[email protected]
http://vpri.org/mailman/listinfo/fonc