It's like learning by examples. We can create example for a situation and a computer will use the example in the future. But there is a generalization problem - it is not enough to write examples because we need to write an example for every possible task. Then a program should generalize and find some closely matching example, but not exact one (which is absent). It means a program should be able to process our examples and make something new - an example for a situation that still have not been met. It is a problem.DavidCooper wrote:The first step though is not to worry about the innovation side and just to focus on taking natural language instructions and finding ways to run them as program code, because it is that process that these universal rules are there for - they are not used for general thinking. Once you have programmed the machine to be able to handle all input of that kind, then you can turn your attention to telling it how to go about thinking for itself, training it to look for problems and to try to work out how they might be solved. Most people never innovate, after all, but merely become good (or bad) at running more mundane programs to do exactly the same things as everyone else.
In fact there is not ambiguities, but something like holes in our thinking. We think that we should do something and it will help us in some area, but we almost always miss some serious steps and just skip them without notice. And such steps are the holes, they are very important, without them no program can do it's job. For us it's easy to start some work and to find a hole while being working, then we start think about a hole and close it with additional knowledge. But for a program to be able to close the holes it should be able to generalize and infer solutions from the past experience. Now we again are going back to the generalization problem...DavidCooper wrote:Within our heads though, we think in something like a language, but it lacks ambiguities.
I can't agree here. For me and for many other people that I have seen it is even quicker to write something like:DavidCooper wrote:The speed gains in being able to program in natural language are obvious
Code: Select all
if (a==b) goHome();
else startWorking();
But when we leave big holes in our natural language description then it is really easy to write any program. For example we can have a program like this - satisfy all my needs. It is really short, but the holes are really huge.
Yes, the task is really huge, but if you have some drive for it then everything is possibleDavidCooper wrote:Clearly it's still a major task to make this a reality, but it's what I got involved in OS dev to try to do.