Computers are learning to code for themselves

Computers are learning to code for themselves

For daily news stories, visit newscientist.com/news YOU are what you eat – so does eating old food make you old? It sounds far-fetched, but experimen...

815KB Sizes 4 Downloads 125 Views

For daily news stories, visit newscientist.com/news

YOU are what you eat – so does eating old food make you old? It sounds far-fetched, but experiments on mice, flies and yeast suggest that it might. The fundamental causes of ageing aren’t understood. One leading idea is that throughout life, our bodies accumulate cellular damage. Vadim Gladyshev at Harvard University wondered whether this damage can be acquired through food. Food is broken down and used as the building blocks for many cellular processes, so eating older organisms – which have more cellular damage themselves – might cause an animal to age faster than one that eats younger organisms with less damage. To test the theory, Gladyshev and his team grew yeast fed on culture media made from old or young yeast and fed fruit flies food made from old or young flies. They also studied mice fed meat from old or young deer. The animals were fed their particular diet from early adulthood for the rest of their lives. The old diet shortened lifespan by 18 per cent in yeast and 13 per cent in flies. In the mice, the old diet shortened lifespan by 13 per cent in females, but had no effect on males (Science Advances, doi.org/bzzv). Gladyshev thinks that they may see an effect in both sexes if they increase the sample size – and believes the results seen in yeast, flies and female mice support his hypothesis. João Pedro de Magalhaes at the University of Liverpool, UK, says the results could be explained by nutritional differences in the composition of old and young meat. Gladyshev’s team tried to control for this, but admits it could be a factor. Whatever the reason, we shouldn’t be too hasty in drawing conclusions about human nutrition from the study, Gladyshev says. There was only a small effect on animals fed on old animals for their entire lives; people don’t tend to eat old animals and our diets are more varied. Sam Wong n

IUNEWIND / ALAMY STOCK PHOTO

Eating old food shortens animal lifespans

to its view of their probable usefulness. All this makes the system much faster than its predecessors. DeepCoder created working programs in fractions of a second, whereas older systems take minutes to trial many different combinations of lines of code before piecing together something that can do the job. And because DeepCoder learns which combinations of source code work and which ones don’t as it goes along, it improves every time it tries a new problem. The technology could have many applications. In 2015, researchers at MIT created a program that automatically fixed software bugs by replacing faulty lines of code with working lines from other programs. Brockschmidt says that future –Set a machine to program a machine– versions could make it very easy to build routine programs that scrape information from websites, or automatically categorise Facebook photos, for example, without human coders having to lift a finger Research in Cambridge, UK. “The potential for automation DeepCoder uses a technique that this kind of technology offers called program synthesis: could really signify an enormous creating new programs by piecing [reduction] in the amount of together lines of code taken from effort it takes to develop code,” existing software – just like a says Solar-Lezama. programmer might. Given a list But he doesn’t think these of inputs and outputs for each systems will put programmers code fragment, DeepCoder out of a job. With program learned which pieces of code synthesis automating some of the most tedious parts of programming, he says, coders “It could allow non-coders will be able to devote their time to simply describe an to more sophisticated work. idea for a program and At the moment, DeepCoder let the system build it” is only capable of solving programming challenges that were needed to achieve the involve around five lines of code. desired result overall. But in the right coding language, One advantage of letting an a few lines are all that’s needed for AI loose in this way is that it can fairly complicated programs. search more thoroughly and “Generating a really big piece widely than a human coder, of code in one shot is hard, and so could piece together source potentially unrealistic,” says Solarcode in a way humans may not Lezama. “But really big pieces of have thought of. What’s more, DeepCoder uses machine learning code are built by putting together lots of little pieces of code.” to scour databases of source code Matt Reynolds n and sort the fragments according

Computers are learning to code for themselves OUT of the way, human, I’ve got this covered. A machine learning system has gained the ability to write its own code. Created by researchers at Microsoft and the University of Cambridge, the system, called DeepCoder, solved basic challenges of the kind set by programming competitions. This kind of approach could make it much easier for people to build simple programs without knowing how to write code. “All of a sudden people could be so much more productive,” says Armando Solar-Lezama at the Massachusetts Institute of Technology, who was not involved in the work. “They could build systems that it [would be] impossible to build before.” Ultimately, the approach could allow non-coders to simply describe an idea for a program and let the system build it, says Marc Brockschmidt, one of DeepCoder’s creators at Microsoft

25 February 2017 | NewScientist | 11