Comment by GuiA
10 years ago
"If you do not work on an important problem, it's unlikely you'll do important work. It's perfectly obvious. Great scientists have thought through, in a careful way, a number of important problems in their field, and they keep an eye on wondering how to attack them. Let me warn you, `important problem' must be phrased carefully. The three outstanding problems in physics, in a certain sense, were never worked on while I was at Bell Labs. By important I mean guaranteed a Nobel Prize and any sum of money you want to mention. We didn't work on (1) time travel, (2) teleportation, and (3) antigravity. They are not important problems because we do not have an attack. It's not the consequence that makes a problem important, it is that you have a reasonable attack. That is what makes a problem important."
Richard Hamming, "You and Your Resarch"
For most of this problems that they mention you need AGI, we do not know how to attack this problem also.
Solving any coding challenge is NP-hard problem. You need to understand not only what you need to do but also how language in which you need to do it works. For example in game of Go you have huge amount of possible states but you have only couple of moves to transition to this states. In programming language every line of code has large space of states and it grows exponentially with every new line of code. Sure you can brute force "hello world" program but good luck with writing 1000 lines of code that work together to solve complex problem. Pattern matching will not help you, training based on github will not help you.
Hi, I'm a researcher in program synthesis.
I think you meant to say "NP-hard" . And indeed, there are many program synthesis problems which are NP-hard, 2EXP-complete, or undecidable. But there are also many program synthesis algorithms which are polynomial time. If you use Windows, there might even be one running on your computer.
We've been studying this problem for close to 50 years. I think you see the basic problems, but we know a lot about what to do about them.
> If you use Windows, there might even be one running on your computer.
Which algorithm / program is this?
2 replies →
Indeed, NP-hard (edited it now). Can you expand on "we know a lot about what to do about them" ? Thanks.
7 replies →
Solving any coding challenge is NP-hard problem.
To prove that statement you'd have to carefully define your terms.
If "Develop a polynomial time algorithm to determine whether any given 3SAT problem is satisfiable" is a valid coding challenge then the statement is obviously true.
On the other hand I doubt that solving the types of coding challenges that actually appear in competitions can be proven to be NP-hard because that would prove that humans are much better at solving NP-hard problems than any currently known algorithm. I don't think there is any such proof (though there may be some weak evidence for the proposition).
It'd be useful-enough to have an AI that could be given problem descriptions of the first kind (problem-statements that describe problems which may or may not require original research to solve), and then manage to figure out whether they reduce to gluing a set of "known" solutions together (and then, perhaps, generate such solutions), or whether they require original scientific/mathematical research (at which point it could just shrug its digital shoulders, like most humans do at that point.)
And by "known", I don't mean "in the AI's knowledge-base"; the AI would properly at least be able to hunt down textbooks and journal papers, read them, and learn problem-solving approaches from them. In other words, the AI would at least be as able to "do science" in the way that a grad student is expected to "do science."
1 reply →
Is that really true? There's a long list of important science which was discovered by accident while working on other things (serendipitous discoveries). In astronomy, you have the discovery of gamma ray bursts and the cosmic microwave background. Viagra is another well known accidental discovery.
If you do not work on an important problem, it's unlikely you'll do important work.
An anecdotal counterpoint would be that Einstein was working as a patent examiner in 1905, his "annus mirabilis"... (Of course it's not very useful to generalise Einstein's career.)
Be careful to differentiate working on important problems and being paid to work on important problems. I've heard (though I can't find any sources) that one of the reasons Einstein took the job at the patent office was because it was such a low effort job that he had time to work on his more important ideas.
Also note that some of the major breakthroughs in the past decade or two have been by mathematicians and scientists that are outside of the "system" (Grigori Perelman, Yitang Zhang (though maybe he's not as much of an outsider)). Maybe a bit outdated but Riemann and Galois also fall into that category.
Yes, I was basically trying to say the same thing as you.
The quote mentioned Bell Labs, but you don't have to be at a high-end research lab to work on important problems.
I thought that the point the grandparent is highlighting is that "important work" is not defined by what other people think is important, but by the fact that you have a unique angle of attack that suddenly makes a previously-unsolved problem tractable. Einstein had a unique angle of attack for all 4 of his annus mirabilis papers, and the photoelectric effect, Michelson-Morley, and Brownian motion were all known to be important unsolved paradoxes in the physics of the day.
> An anecdotal counterpoint would be that Einstein was working as a patent examiner in 1905, his "annus mirabilis"...
Presumably he worked on big physics problems while also performing his job as patent examiner.
Awesome. A quantitative version of Hamming's thought process seems to be 80,000 hours' Problem Framework.
https://80000hours.org/articles/problem-framework/
What about unexpected discoveries or breakthrough, surprising new uses of previous minor innovations?
Those who developed the minor innovation were "doing important work", as it turned out, without even realizing it.
My understanding is that these are common mechanisms through which important work is accomplished.
When you are uber rich and have no real technical skills you think that things get done by rich people demanding it and throwing money at it.
Well, that can help.