Programming like a human

I have been working on the code interpreter and decided to make a few examples to see what problems I encounter in a simple program. I don't want anything to be complex or use language that is beyond a child. So the first program is:


Do this
What time is it

That isn't all that easy at a technical level. However at the language level it has to be simple as that is my goal. The interpretation starts with a list of sha1sums or equivalent that represent sentences. Independent of whether the standard for creating these sums change the point of interface would never change. The language and its polymorphs are the basis and reason for having language in the first place. The checksum for a common Chinese or French sentence can just as easily be interpreted. Much like other interpreters such as gcc, the detail of implementation is irrelevant , so long as it works. That is simply supplied as a reference. The language can represent anything a computer can do so it can recurse to make the compiler also. As far as speed, it is important at the code level, but as far as the user is concerned, they cannot respond faster than a couple seconds anyway and that response would be not very complex without prolonged thought.


http://tycho.usno.navy.mil/cgi-bin/timer.pl US Naval Observatory Master Clock Time Mar. 01, 16:33:14 UTC Universal Time Mar. 01, 11:33:14 AM EST Eastern Time Mar. 01, 10:33:14 AM CST Central Time Mar. 01, 09:33:14 AM MST Mountain Time Mar. 01, 08:33:14 AM PST Pacific Time Mar. 01, 07:33:14 AM AKST Alaska Time Mar. 01, 06:33:14 AM HAST Hawaii-Aleutian Time US Naval Observatory

The program that reads the sentences and responds, is based on other simple language methods and the overall process sits on top of the technical layer which would correspond to a device driver. In this case the device is the computer. The first step is to match the complete sentence to a unique sequence in the list of possible things that the interpreter recognizes. At this point there is nothing ambiguous or complex. Either the sentence exists or is does not and the error message when "Do this." is used is: I don't understand "Something". The something is the first line that has no corresponding entry in a hash table of possible inputs. I am considering that It may be a GUI program with a two buttons that are "Do This" and "pick something to do". Then if there were an error, it would just point at the line with a popup bubble that says "I don't understand this."

The interpreter would execute a corresponding procedure for each sentence. In this case it would wget the above address and show the UTC. Knowledge systems are interactive and vary with the amount of information available. If I were to supply the information as to my physical location the information could be converted to the format that my particular local slave master forces me to use when speaking to them.

It is common practice for English teachers to say that a sentence is composed of an object and verb and so on, but in fact, there is no such standard in real life or nature. If a hungry 14 foot polar bear is standing next to you and it says Rarr!, you don't say that is improper English and I will not respond to your stupidity (I guess you could say that, once only). Also, if I sneeze, is that a French sneeze or a Russian fart?

Like any process, I a sure I will go through several iterations before it is complete. I think that the learning curve should be very low and perhaps the first sentence and instruction would be "What can I do" and this would correspond to help or dir(object) or just dir() or any number of contrived language syntax. I suppose "HELP" or any of its variants that a person typed as a complete sentence would suffice like ? or "wake up" or "hey you" or "Initiate system memory sequence response identification method interface algorithm" but I think hello, help or hi would suffice.

On the human side there is a very limited set of actions and on the computer side there is a limited set of actions. A computer is pretty much an array of Nands at its heart and a person can punch buttons with symbols and point at pictures or grunt. So it seems reasonable to me that even though there is a virtually infinite landscape between click and drool and a two input not AND computer gate, that the same method of dimensional expansion and isolation that I use for analyzing problems and images would serve to achieve a reasonable correspondence between intent and action.

There is no intent to make it fail safe or perfect as that is one of those human failings. There is no perfection in a universe as complex as this and any attempt to become god is fruitless. It is an approximation of action that fits the circumstances and as such it is also a moving target and the n-dimensional analysis is well suited for this. Many of the parts will be more or less constant, but a single change in any dimension changes the whole. Each new understanding affects every previous understanding and as such it has no perfect absolute basis. Even if I were to resolve every known issue, there is still that which will be discovered tomorrow and that completely changes the response matrix. The only constant is intent. If an Earth sized chunk of super nova debris was traveling on a direct collision course with Earth at .5C then if I ask what time it is, the answer would have very little significance in that context.

0 comments:

Automated Intelligence

Automated Intelligence
Auftrag der unendlichen LOL katzen