When engaging in research, I know its a good idea to read lots of papers and talk to others about what has been done before and what is currently being researched to avoid "reinventing the wheel". That is, to avoid researching/publishing a result that has already been discovered.

In fields where physical experiments are common, replication studies are necessary. But in theoretical/computational research, originality is key and duplication seems to be generally frowned upon. How common is it to inadvertently publish a finding that was already discovered? What do you when you happen to find yourself in this situation? Should you just scrap your work if your methods are too similar to someone else's?

  • 40
    I find I'm being forced to reinvent the wheel. The papers I'm reading (document page analysis--image processing) have no means to replicate their work. I want to stand on the shoulders of giants, but the giants didn't release their source code. Jan 22, 2013 at 1:54
  • 5
    After reading a lots of paper, I do not have the feeling that I am "standing on the shoulders of giants" any more. It feels more like standing on a pile of dwarfs (albeit very clever dwarfs!).
    – Dirk
    Mar 16, 2013 at 19:58
  • @Dirk The giants are generally represented by careers rather than individual publications.
    – Abe
    Mar 17, 2013 at 3:05

3 Answers 3


How common is it to inadvertently publish a finding that was already discovered?

Far more common than anyone realizes or wants to admit.

Stigler's Law of Eponymy states that No scientific discovery is named after its original discoverer. (Stigler's law was proposed in this precise form in 1980 by Stephen Stigler, who self-referentially attributed it to Richard Merton, but of course similar statements were made earlier by many others, including Stigler's own father.) I wouldn't go as far as claiming that every scientific discovery is misattributed, but there are hundreds of examples. Off the top of my head: Fibonacci numbers, Pascal's triangle, Gaussian elimination, Euler's formula (both of them!), Voronoi diagrams, Markov's inequality, Chebyshev’s inequality, Dijkstra's algorithm for shortest paths, Prim's algorithm for minimum spanning trees, the Cooley-Tukey FFT algorithm, the Gale-Shapley stable matching algorithm (for which Shapley recently won the Nobel Prize in economics), ...

What do you when you happen to find yourself in this situation?

Be brutally honest, both with yourself and with the scientific community.

If your work has already been published, post a reference to the prior art in your web page listing your publications. (You do have a web page listing your publications, don't you?) If possible, publish an addendum to your paper. Email anyone who has cited your paper already, giving them the earlier reference. When asked to review papers that cite your paper, include the earlier reference in your report. Become a walking advertisement for the earlier work.

If your work hasn't already been published, try to figure out which parts of your work have actually been done before. Some of your results will appear verbatim in the earlier work, so you can't take credit for them. Some of your results will be easy corollaries of the earlier work, so you still can't take credit for them. But perhaps some of your results will take the old work in a new nontrivial direction. Build on that.

Also, if your results were previously known in a different field, there may be some value in bringing those results to the attention of your research community.

Should you just scrap your work if your methods are too similar to someone else's?

Of course not! Now you have evidence that your methods actually work! Push them further!

  • 12
    Thanks JeffE. This answer is one of the major reasons I joined this board. I have been bothered by this issue for long time. Now I know what to do. I don't know how to show my appreciation beside upvoting.
    – Nobody
    Jan 21, 2013 at 4:03

Besides the excellent JeffE's answer, I would like to add one more point to the phenomena of reinventing a wheel. It touches more "research towards an already invented wheel", rather than "publishing a reinvented wheel".

You have a problem and need to crack it. Your problem is practical and novel, you know that. But in order to solve it you need to invent some machinery and you just do not know whether it already exists, or not - simply because you do not have a good feeling for all the subtle aspects and issues of your problem. In such a situation, it is often easier to steam ahead, learn as you go, invent something for your problem and then, when you already are familiar with all the quirks and dark corners of your problem, look around carefully to find out how's the thing you invented actually called. The odds are, it already exists in some form, most probably invented in a different niche for different purposes, but it happens to be very similar to your problem.

Of course the above does not work for everybody, because it can be a frustrating experience to find that somebody else already invented what you did too (usually already long ago and in a better quality than you). My angle on this is to be always proud of myself, because those early solutions tend to come from very smart people, so if I managed to independently come up with the same thing as they did, it's a reason to feel better.

At that moment, however, one should realize, his/her approach and angle to the whole issue is slightly different than that of the guys who invented it earlier. You simply came to the same junction from a different direction and you are heading elsewhere. At that point it's just great to proceed in your direction, because you can be almost sure, that your direction is original and unexplored territory - otherwise the earlier work would be cited and that's easy to find out.

The process I describe above also partially explains why inventions tend to be named after guys who arrived to the junction later. They simply had a perspective which took them farther in terms of social impact than was that of those who originally solved the problem. Often solutions get named after the guys who popularize them and make their applications bloom, not those who solved them originally.

  • 11
    Also, sometimes intentionally reinventing the wheel is worthwhile. Several of my recent papers grew directly out of getting frustrated trying to understand someone else's proof, giving up and proving the same result myself (which was easier because I already "knew" the result was true), and then going back to see if I'd reinvented the wheel. Most of the time I had.
    – JeffE
    Jan 21, 2013 at 20:37
  • 2
    Knowing a problem and having an idea how to solve it does imply knowing good search terms. This is particularly true in fields using weird acronyms or the name of the (re)inventor. I solved the problem described in this paper because I didn't find existing work. My solution then allowed me to find related work in another field. That enabled me to develop a more general framework and to highlight particular properties that had not been discussed previously. Quite a typical development, I think. Apr 26, 2013 at 13:28

Reinventing the wheel may be beneficial if you explain something better than the previous studies, release your code/software, etc.

In computers science it can be frustrating when people publish a summary of their methods, provide results, but no code so that others can apply this to other data sets. So you end up reinventing the wheel.

  • 1
    Often the methods are published and well described, but don't include the code - there is a big difference between reinventing the wheel and reimplementing it. In any case, the core of most innovative methods amount to a page or two of pseudocode; all the remaining volume is just engineering, data format conversion, etc and often you'd want to customize that part anyway.
    – Peteris
    Mar 29, 2014 at 12:04
  • ... and hiding the micro-optimizations that aren't so micro but in fact critical for the algorithm to attain the performance and results described. These, you'd certainly want to know by having the source code.
    – gaborous
    Nov 18, 2014 at 19:42

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .