We programmers can become habituated in our thinking about mundane things like variables and procedural methods in programming. This thinking would not be a problem if we were able to keep an open mind when we need to develop ideas in special ways but the problem is that a flexibility of mind tends to become weaker over time just because our typical mindsets work so well in normal circumstances.
However, when working on problems for which conventional and standard methods have failed, then it is definitely time to rethink your assumptions about the tools that you use. Many of the things that I could tell you about might seem trivial because you probably already have many of the basics down. The problems come from implementation errors (of thought) that you don't see coming. Just because a standard technique (of thinking about something) is usually integrated into other related (thought) objects in certain ways that does not mean that is the only way that those thought processes can be used. You know that of course. The problem is that you don't know how to find a new implementation of integration rules in order to deal with a particular problem. It is similar to the AGI Frame Problem as I conceive it. When dealing with a new kind of problem you have so many possibilities that you can work with it becomes practically impossible to find the right tool (or the right knowledge) for the job. What I am trying to say is that these tools of mind may be comprised of component systems just like the components of programming constructs. The problem is that your thinking can become so standardized by the habitual use of these programming constructs that it can become almost impossible to think about them in different ways. Sometimes the only way you can rediscover the potential for flexibility is to find yourself on the other side of some rule-interference and start to wonder what just happened. For example, I came up with a context-free naming convention for some rule-based objects that I was thinking about in order to try to help clarify a problem. So I had references called, 'a', 'ab', 'abc' and so on. But as I worked on the problem I became so engrossed in trying to figure it out I soon found myself coming to the conclusion that since the 'a' did not have the same value in all three referents that the naming convention could not possibly be context-free. This threw me off for a few days until I looked at it more closely and realized that while 'a' had a value, the 'a' in 'ab' or 'abc' did not have a value (by itself). It was merely an index reference that I decided to use in order to keep track of the terms. In that sense, the sense of an index reference, it was context-free: it referred to the same indexing object. My sense that it had a value was a simplification of the system. It was a part of a name for a variable that had a value, but it was not in itself the variable proper. (The 'a' did seem to refer to a variable because it was a full string. The 'a' in 'ab' or 'abc' did not have a value because it was only part of the string that referred an actual variable.) Jim Bromer ------------------------------------------- AGI Archives: https://www.listbox.com/member/archive/303/=now RSS Feed: https://www.listbox.com/member/archive/rss/303/21088071-f452e424 Modify Your Subscription: https://www.listbox.com/member/?member_id=21088071&id_secret=21088071-58d57657 Powered by Listbox: http://www.listbox.com
