# How to figure out if a certain algorithm has already been discovered or not?

Suppose that I make a new algorithm to calculate something. How do I know that the exact algorithm has been found or not? I know that I can check scientific journals to figure that out. But surely checking every single journals available is not a feasible way to figure that out, especially since I'll have to read them before I can tell whether they use the same algorithm or not as the title can only tell the general idea of how the calculation is done. Also many journals requires one to subscribe or pay for their service. It'd be ridiculus to pay huge sum of money just to ensure whether my algorithm has been found or not.

So, how do I figure whether a certain algorithm has been found or not?

• a new algorithm to calculate something Did you use that something as the key to search for the algorithm? Commented Nov 8, 2016 at 11:48
• Like I said, I can search for a certain something in the journals. But the problem is that if it is something common, like let's say, an algorithm to predict trend, I'd have hundreds of papers returned by the search engine and that is just from one journal. Access to those journals ain't free, most of the time. Or, if they are free, they are limited to only the abstract, you'd have to pay to see the content. And I never saw someone writing the exact formula in the abstract. So the only way for me to figure if it has been found would be to buy all those journals. Not feasible, right? Commented Nov 8, 2016 at 12:00
• I would do two types of searches, for the problem and for the solution approach. Look for any paper in either area, and then do reference searches for related papers. Try to get access to a university library. Commented Nov 8, 2016 at 12:35
• You need to talk to your university library about Access to those journals ain't free, most of the time. They should be able to give you free access. Commented Nov 8, 2016 at 13:16
• But the problem is that if it is something common, like let's say, an algorithm to predict trend — If it's something common, you can safely assume that it has already been discovered. If it's something very common, the correct citation is likely "folklore", which means "so completely standard that nobody remembers where it came from, but any expert in the field would consider obvious." Commented Nov 8, 2016 at 16:03

I'm afraid I have bad news:

Unless you are writing algorithms for entirely new scientific areas, you can safely assume that every algorithm anyone can come up without being familiar with the literature is either (i) already known, or (ii) inferior to already known algorithms. In other words, since you don't seem to be familiar with the literature in your field, I would think that the chances for your algorithm to be new and better are slim. It may of course be new, but inferior to existing methods, in which case it's not useful.

(The reason for this is that people who are familiar with the literature, have been thinking about these issues for a long time, and know about the limitations of the existing methods, are most likely to come up with improvements. It is unlikely that people who are not familiar with an area waltz in, come up with something, and it turns out to be better than what all of the experts have come up with. It probably happens every once in a while, but it's unlikely.)

This doesn't help you find out whether your algorithm has been found so far. But it helps you determine whether it's worthwhile pursuing this further -- which it is likely not. You are probably better off spending your time reading the literature in the field to understand what others have been doing, what the limitations of existing algorithms are, etc.

To answer your question: the only way to know whether your algorithm has been published before is doing a literature search. You will eventually have to do this, anyway. No paper with an empty references section will be published, unless it is a truly extraordinary paper defining a new field of science.

But, I may have some good news for you. The other accepted answer conveyed bad news that your algorithm most likely has been published already. I have invented in the last two years three algorithms for which my literature search has not found prior art. The algorithms were invented before knowing the literature of the field, and I only did the literature search later to find out if the algorithms were novel. Not only that, but all of the algorithms are practically as simple as or simpler than the prior art. Two of the algorithms are 10x faster than prior art; the remaining one of them 2x faster for sorted data but 2x slower for unsorted data. I intend to publish the first paper about one of the 10x faster algorithms in a conference the next summer.