Could Artificial Intelligence create/develop software on it's own?

|tera|

Master of Messengers
Joined
Mar 31, 2006
Messages
25,903
Reaction score
2,952
Location
terra
As the title says.

Would AI be capable of this?

I always think of the copy or cut and paste feature of an Operating System.
It is essentially copying a file, folder or application to create a replica of it on storage.

Could something similar to this copy process be utilized to not just replicate, but develop it's own code and software?

Just a random thought for the day :)
 
Once it can enhance its own abilities by finding the knowledge sources itself, then yes.

But that can go very bad, Google Tay

thank me later.
 
It takes quite a bit of work to derive benefit from ML -- big hurdles are the design and training of models, including sourcing good training data.

Meaning it's not likely to happen until that process is significantly streamlined and more importantly not until ML can acquire data on its own including having the ability to fabricate its own models as part of an automated and unscripted expansion of its tool stack.

The complexity in fabricating software involves a huge and complex tool stack; for example... just trying to obtain a level of clarity on the specification is a mammoth task and certainly far beyond anything that ML today is able to be leveraged for.
 
Last edited:
Thanks for the replies everyone. Some interesting views and a cool movie mention (I love sci-fi flicks).
@[)roi(]. Is it only dependent on Machine Learning, or could another process work?
I'm not advocating that this be done. I'm thinking along the lines of killing skynet if it does creep up :p

Once it can enhance its own abilities by finding the knowledge sources itself, then yes.

But that can go very bad, Google Tay

thank me later.
Pretty cool. I didn't know of this, thanks for sharing :)
 
Thanks for the replies everyone. Some interesting views and a cool movie mention (I love sci-fi flicks).
@[)roi(]. Is it only dependent on Machine Learning, or could another process work?
I'm not advocating that this be done. I'm thinking along the lines of killing skynet if it does creep up :p
Self enhancing ML would be a big hurdle to bridge, because essentially you're wanting AI to perform higher brain function activities on a level equal or greater to that of a human.

On the lighter side; it's been reasoned that if you put enough monkeys in front of a keyboard and you're a very patient person; then they inevitably would be able to reproduce the complete works of Shakespeare by happen stance. In the 80s I remember a similar conceptual piece of code that did the rounds; it would randomly reorder bits into an executable and then run it -- the same notion that given enough time and patience something useful might be randomly produced.

...but that's a bit like betting the house on winning the lotto.
 
Self enhancing ML would be a big hurdle to bridge, because essentially you're wanting AI to perform higher brain function activities on a level equal or greater to that of a human.

On the lighter side; it's been reasoned that if you put enough monkeys in front of a keyboard and you're a very patient person; then they inevitably would be able to reproduce the complete works of Shakespeare by happen stance. In the 80s I remember a similar conceptual piece of code that did the rounds; it would randomly reorder bits into an executable and then run it -- the same notion that given enough time and patience something useful might be randomly produced.

...but that's a bit like betting the house on winning the lotto.

Hah, I believed the same when I was younger so I wrote my own program that would execute random pieces of code.
Sadly it never produced anything useful (and even if it did, you'd probably not even know for most valid apps).
 
Self enhancing ML would be a big hurdle to bridge, because essentially you're wanting AI to perform higher brain function activities on a level equal or greater to that of a human.

On the lighter side; it's been reasoned that if you put enough monkeys in front of a keyboard and you're a very patient person; then they inevitably would be able to reproduce the complete works of Shakespeare by happen stance. In the 80s I remember a similar conceptual piece of code that did the rounds; it would randomly reorder bits into an executable and then run it -- the same notion that given enough time and patience something useful might be randomly produced.

...but that's a bit like betting the house on winning the lotto.
Thank you for giving clarity.
I guess neurons and brain cells will prevail :)
 
I expect that we are several decades away from an AI system that could actually write (useful) code.

There are, however, many current systems where the code has been replaced by a machine learning model, which makes superior decisions to the hand written code.

Examples would include any form of computer vision. It used to be that you would run edge detect filters, try reorient the edge image using principal component analysis, then try some sort fuzzy matching on top of that, etc. Most of this has gone the way of the dodo, and has been replaced by various machine learning algorithms (many of which do something similar to the above, but better and via their own discovery).

Similarly, algorithmic trading used to be a bunch of rules applied to a bunch of indicators (if the moving average of X over Y minutes crossed the moving average of X over Z minutes then depending on the sign of the gradient of X over Z minutes, you should be long or short, ..., unless Q is near 0, etc.). Today, sophisticated ML models are used to replace such code.
 
That's a mouthful @cguy
Thanks for the comment.
I learn more about this with every reply.
As far as I understand ML is built from data input.
So taking this into account, shouldn't a programming sequence that 'teaches' the machine allow it to learn how to develop software?
I'm thinking along the lines of screen capturing. People learn by either reading or seeing information.
Could ML allow for an algorithm that focuses on coding/development be made?
Input of coding examples: output is new code that isn't gibberish.
 
That's a mouthful @cguy
Thanks for the comment.
I learn more about this with every reply.
As far as I understand ML is built from data input.
So taking this into account, shouldn't a programming sequence that 'teaches' the machine allow it to learn how to develop software?
I'm thinking along the lines of screen capturing. People learn by either reading or seeing information.
Could ML allow for an algorithm that focuses on coding/development be made?
Input of coding examples: output is new code that isn't gibberish.

Yup, that could well happen in the future, but right now the structures in the ML (which resembles small parts of the brain), are simply too few. It would in all likelihood need a similar level of complexity to the brain to do this, which would require quite a few orders of magnitude more sizing. Perhaps 20-30 years, assuming we don’t hit any physical hard limits on the technology first.
 
If it ever can, the process to describe the requirements (waterfall or agile/iterative) will still need to be in the hands of humans, and (which will be a delight to human devs) will need to be very explicit.

Human says to computer: deliver a system to address our company's response to energy use in our core datacenter.

Computer responds: Kill all humans (Y/n)

The "Y" is a valid response given the paucity of the requirements.
 
Last edited:
Think coding will become easier and more dynamic, analysis will still be in human hands for the forseeable future. Thinking probably automatic interpretation of business rules, uml etc, drag and drop solutions.
 
Check out genetic programming. I used to work with it for my masters. Essentially you input a set of functions(these are functions such as if And or) , terminals(numbers. Boolean logic) and provide a fitness function. So it simulates evolution via mutation and crossover with programs represented by syntax trees. So it evolves a population of programs over n generations. The quality of the solutions are guided via the provided fitness function.
 
Top
Sign up to the MyBroadband newsletter
X