By my understanding, learning is basically when a program collects the data it uses itself through interaction with some external system. Self-modification, on the other hand, is when the program has direct read/write acces to its own source code, so it can modify its own decision-making algorithm directly, not just the data set its algorithm uses.
This seems to presume a crisp distinction between code and data, yes? That distinction is not always so crisp. Code fragments can serve as data, for example. But, sure, it’s reasonable to say a system is learning but not self-modifying if the system does preserve such a crisp distinction and its code hasn’t changed.
This is a really stupid question, but I don’t grok the distinction between ‘learning’ and ‘self-modification’ - do you get it?
By my understanding, learning is basically when a program collects the data it uses itself through interaction with some external system. Self-modification, on the other hand, is when the program has direct read/write acces to its own source code, so it can modify its own decision-making algorithm directly, not just the data set its algorithm uses.
This seems to presume a crisp distinction between code and data, yes?
That distinction is not always so crisp. Code fragments can serve as data, for example.
But, sure, it’s reasonable to say a system is learning but not self-modifying if the system does preserve such a crisp distinction and its code hasn’t changed.