QuantumRobin wrote:Maybe the problem with the Approach #2 is that we need a little more detail regarding the middle step:QuantumRobin wrote:The approaches about natural language programming are describe here...
Approach #1: Brute Force Crowd Source. This is the method used in Amazon's ALEXA, Apple's SIRI, Wolfram's ALPHA, Microsoft's CORTANA, Google's HOME, etc. In all these cases, a programmer imagines a question or command that a user will give the machine, and then he writes specific code to answer that specific question ("Alexa, what is the temperature outside?") or carry out that particular command ("Alexa, turn on the living room lights"). Get enough imaginative programmers to write enough routines, et voila! Apparently Intelligent machines that actually exist and work and learn and grow, today.
Approach #2: Dynamically-Generated-User-Tweaked code. This is essentially describe here...
If the programmer is happy with the generated code, (s)he can approve of it and it needn't be saved because it will generate correctly each time before compiling - a label would be attached to the high-level NLP program to tell the compiler that it compiles correctly. If the generated code isn't right though (or isn't complete), that label will not be attached to the NLP code and the support code will need to be saved as part of the program instead. Some of that support code could still be auto-generated initially, creating the loop and setting up the count, for example, while leaving the programmer to fill in the content of the loop manually.
Approach #3 is the one where you build AGI first so that it can solve all the programming problems itself.
What are the programmers' statements about the approaches I quoted above?
Note that I'm not saying Approach #2 is a bad idea or a pipe dream; all I'm saying is that maybe there is not a small prototype based on this approach that can be scaled up to the real deal.
Approach #2 is an optional intermediate step towards approach #3. Approach #3 is the one where you build AGI (artificial general intelligence) first so that it can solve all the programming problems itself. The idea is that instead of the human writing the difficult bits of code to complete a program, the human teaches the AGI (artificial general intelligence) how to write the difficult bits of code so that it won't need help with the same kind of problem the next time. It's all about giving the AGI (artificial general intelligence) system more and more problem-solving skills until it can do as good a job as the best human programmers.
@Schol-R-LEA,nullplan wrote:Good to see that at least some good came of this thread. Thanks Schol-R-LEA.
Please talk about the Approach #1 (Brute Force Crowd Source), Approach #2 (Dynamically-Generated-User-Tweaked code) and Approach #3 that I quoted above.
Will you talk about Approach #1 (Brute Force Crowd Source), Approach #2 (Dynamically-Generated-User-Tweaked code) and Approach #3 that I quoted above?