Artificial intelligence could be about to break one of the barriers that still separated people from machines, such as the ability to program code and thus create, precisely, other machines.

It is also one of the most important activities in our society and our economy, for which it has always been considered that

a certain inventiveness is necessary, and not just a lot of knowledge

.

The new system has been developed by DeepMind, a company attached to Google, and has proven to be capable of

competing in programming competitions

at the same level as humans.

The program, called AlphaCode, has achieved a performance that places it in the average of the human experts that participate in these competitions.

He can't beat the world champion, like in chess or other games, but he does show an amazing level.

Furthermore,

coding is not a game with a set of pre-established rules

, but rather often requires being inventive and breaking some rules in order to innovate.

The new artificial intelligence has responded to the challenges that arise in a code competition, in which participants are faced with a technical description of a problem and must develop a program to solve it.

AlphaCode results correspond to those of the best 54.3% of humans.

Not great yet, but very competent

.

The new technology has been presented in

Science

and one of its main authors is the Spanish

Oriol Vinyals

, director of research at DeepMind.

The creators of the system emphasize that "it can generate innovative solutions to unseen problems", and they assure that "

there is no evidence that AlphaCode copied

important parts of previous solutions or exploited weaknesses in the structure of the problem".

In other words, their responses were legitimate and adequate to what was requested.

"Our model was actually capable of

solving problems that I had never seen before

, even when these problems required considerable reasoning."

AlphaCode teaches itself to solve the problems it encounters, without being programmed to write code.

The machine responds to each challenge by generating millions of possible solutions and then filters and validates each one until only 10 answers are left.

It does not have built-in knowledge about how to solve the tasks

, but rather it reviews and assembles a huge amount of data until it comes up with a code capable of solving the problem.

In other words, AlphaCode does not

understand

-in the human sense- what has been asked of it, but it analyzes all the data and quickly

learns

to answer with amazing precision.

Until now,

only people have been able to write code

in response to a novel problem, so this is a new milestone for artificial intelligence.

The advance, according to their authors, could change the way programming is done, since now people will have the help of artificial intelligence.

"This line of work presents

exciting applications that can improve the productivity of programmers

and make programming accessible to a new generation," they conclude.

To know more

The world wide open.

Helga Nowotny: "Machines are there to serve us, not for us to be their slaves"

  • Drafting: ÁNGEL DÍAZMadrid

Helga Nowotny: "Machines are there to serve us, not for us to be their slaves"

Along with the report presenting the progress,

Science

publishes an analysis of the limits and possibilities of this kind of technology.

«The main disadvantage of these data-driven approaches is that, since they do not have built-in knowledge of the code requirements,

they are prone to making 'trivial' errors

: they generate code that in many cases does not execute or does not solve the task at hand»

Zico Kolter

, Professor of Computing at Carnegie Mellon University and author of the analysis

, comments to EL MUNDO .

"AlphaCode gets around this problem by generating many candidate solutions for each problem, and then removing those that don't run or fail a simple test," he adds.

However, this solution is not a panacea: "It could be even worse: in many cases, you will generate code that 'looks right', and even passes simple tests,

but doesn't actually adequately solve the problem

."

In short, the fact that the machine does not know what it is doing has a cost, but also important advantages.

The main one is "its simplicity and its performance," says Kolter.

"It doesn't require complex engineering knowledge to support the system, and

its performance increases as you get more data or computation

."

In well-defined areas, such as code programming, "this could definitely be the best option," says this expert.

"Also,

there isn't really a compelling alternative

at this point: 'not purely data-driven' code generation doesn't currently achieve such powerful results in this domain."

According to the criteria of The Trust Project

Know more

  • Artificial intelligence