So it is official – robots are going to take over the world
So it is official – robots are going to take over the world. Case in point: Artificial Intelligence (AI) can now write its own code using techniques similar to humans. Now, this is no easy feat (I can personally vouch for this), but the computer scientists from the University of Cambridge in collaboration with Microsoft have developed a neural network, called DeepCoder, that can write programs without any prior knowledge of coding.
This DeepCoder could make it easier for people to build programs without the need to learn how to write codes. Ultimately, it is hoped that the approach would allow non-coders to describe an idea for a program and let the system build it. Armando Solar-Lezama at Massachusetts Institute of Technology told New Scientist, “All of a sudden people could be so much more productive. They could build systems that it [would be] impossible to build before.”
The system for DeepCoder works by taking lines of codes from existing programs and combing them, a technique called program synthesis. Given a list of inputs and outputs for each code fragment, DeepCoder identifies the pieces of code needed to achieve the desired overall result .
One advantage of this technique is that it can search more thoroughly and widely than a human programmer, which means it can piece together source codes in a way humans may not have thought of.
DeepCoder is also extremely fast, creating programs in fractions of a second. Since it is able to learn which combinations of source code work and which ones do not as it goes along, DeepCoder improves every time it tries to solve a new problem.
Currently, it is only able to produce five-line pieces of coding, but it can already complete fairly complicated real-world problems faced by trainee developers. As the research paper states, “We have found several problems in real online programming challenges that can be solved with a program in our language.
The researchers at Cambridge and Microsoft say that DeepCoder is only tackling simple problems in coding – for now. They foresee many extensions of DeepCoder and are optimistic about further developments.