Metaculus Help: Spread the word
If you like Metaculus, tell your friends! Share this question via Facebook, Twitter, or Reddit.
When will programs write programs for us?
partnered with Center for the Study of Existential Risk, Machine Intelligence Research Institute, and The Future of Life Institute
Since the early days of "machine code" programming using a very limited instruction set, more and more high-level programming languages have been developed that layer atop this fundamental level. It is common, for example, have a Python script that calls a routine written in C and compiled into machine code. Other languages (like Mathematica) are even higher-level. Still, even a high-level language requires unambiguous specification of the steps required for the task at hand.
It would be much nicer to specify the desired task rather than exactly how to do it, i.e. to have systems that can write programs to specification. Such systems have had limited success so far, but there are signs of significant progress. This recent review, for example, mentions new efforts to "induce" programs from a large set of input-output pairs. A paper by Neelakantan, Le, and Sutskever, for instance, introduce a "Neural Programmer," which augments a neural network with a set of basic operations that the network can be trained to use to solve a task; they showed success in training the network to reproduce the action of a set of simple programs.
While machine learning (ML) systems like the Neural Programmer don't quite output (say) Python programs written to some specification, they do create a program to accomplish a particular task. Given a system to translate a specification into a trainable task, and to translate the Neural Programmer's instruction list into a typical language, this may not be that far away, at least for simple programming tasks. So we ask:
How long until a machine-learning system can take a simple text description and turn it into a program coded in C/Python?
As a concrete challenge, we'll ask that in 2 of 5 trials, the system can take the specification of a simple program from a list comparable to the first two sections of this one, and output an executable C or Python code that does the assigned task. To avoid making this mostly about language parsing, the plaintext specification can be "translated" by a human operator into a plaintext description of lesser length prior to input into the ML system, so that the system functions something like a very high-level programming language. (This still leaves a major challenge of a system that turns the specification into a task for which the neural network can be trained.)
The existence of such a system will be determined by actual demonstration, OR by agreement by two experts in the field that a comparably capable system exists.
Metaculus help: Predicting
Predictions are the heart of Metaculus. Predicting is how you contribute to the wisdom of the crowd, and how you earn points and build up your personal Metaculus track record.
The basics of predicting are very simple: move the slider to best match the likelihood of the outcome, and click predict. You can predict as often as you want, and you're encouraged to change your mind when new information becomes available.
The displayed score is split into current points and total points. Current points show how much your prediction is worth now, whereas total points show the combined worth of all of your predictions over the lifetime of the question. The scoring details are available on the FAQ.
Note: this question resolved before its original close time. All of your predictions came after the resolution, so you did not gain (or lose) any points for it.
Note: this question resolved before its original close time. You earned points up until the question resolution, but not afterwards.
This question is not yet open for predictions.
Metaculus help: Community Stats
Use the community stats to get a better sense of the community consensus (or lack thereof) for this question. Sometimes people have wildly different ideas about the likely outcomes, and sometimes people are in close agreement. There are even times when the community seems very certain of uncertainty, like when everyone agrees that event is only 50% likely to happen.
When you make a prediction, check the community stats to see where you land. If your prediction is an outlier, might there be something you're overlooking that others have seen? Or do you have special insight that others are lacking? Either way, it might be a good idea to join the discussion in the comments.