我如何知道是否有其他与我的算法类似的算法?
在另一个问题中,我问了类似的问题,但最终我只是发布了我的算法那里并使几个答案无效。我在这里再次问:
如果我“发明”了一种算法,那么我弄清楚它是否已经发表/获得专利的最佳方法是什么?
In another question, I asked something similar but I ended up just posting my algorithm there and invalidating several answers. I re-ask it here:
If I "invented" an algorithm, what's the best way for me to figure out if it's already been published about/patented?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
您需要进行一些搜索。一般而言,从 Google 搜索开始通常足以让您放心,您的算法并不新颖。如果这还不是决定性的,那么您需要更加努力地搜索,也许可以搜索各种专利网站(Google、USPTO,还有其他地方)。如果你仍然没有找到任何东西,那么也许你的算法很新颖。
接下来的问题:您是否值得尝试申请专利,或者让其他人(例如一家公司)为您申请专利?事实上,您可以申请专利吗?或者您的雇主已经拥有它吗?这部分取决于其他人想要使用相同算法的可能性有多大。很可能,他们不会。如果你申请了专利,他们会忽略它,直到专利到期。
如果您确实找到了一种方法来负担专利申请和颁发的费用(这不会因为您提交而自动获得),那么您将面临执行您的专利的情况。您能够识别并起诉那些滥用您专利的人吗?如果没有的话,还值得去追吗?也许,也许不是;但可能不会。
最后,请注意,您实际上无法为纯算法申请专利。你必须减少它才能练习。这并不像看起来那么难,但要注意纯数学算法本质上是不可申请专利的。
总结:
You would need to do some searching. Starting with Google search, generically, will often be sufficient to reassure you that your algorithm is not novel. If that is not conclusive, then you need to search harder, perhaps looking at searching various patent sites (Google, USPTO, other places too). If you still don't find anything, then maybe your algorithm is novel.
Next questions: is it worth it to you to try and patent it, or get someone else to patent it for you (a company, for example)? Indeed, can you patent it or does your employer already own it? This will depend in part on how likely it is that everyone else will want to use the same algorithm. The chances are, they won't. If you patent it, they will ignore it until the patent expires.
If you do find a way to afford getting the patent filed - and issued (which is not automatic just because you filed) - then you face enforcing your patent. Will you be able to identify and prosecute those who abuse your patent? If not, was it worth chasing it? Maybe, maybe not; but probably not.
Finally, note that you cannot actually patent a pure algorithm. You would have to reduce it to practice. That isn't as hard as it seems, but just be aware that pure mathematical algorithms are inherently non-patentable.
In summary:
大多数情况下,您基本上只需在给定领域进行背景研究即可。这就是为什么当学者们进行研究项目时,他们首先了解该领域的历史(背景),一直到当前使用的方法或理论。询问了解该领域并在该领域工作多年的人也很有帮助。
Most often you basically just have to do back ground research in the given area. This is why when academics do research projects they start of by learning about the history (back ground) of the area all the way up to the current methods or theories being used. It also helps to ask someone who knows the area and has worked in it for many years.
好吧,如果它像你的算法(Dijkstra)一样出现在教科书中,那么它肯定已经存在于公共领域并且不能申请专利。您在整个应用程序中使用算法的方式可能是,但大多数抽象想法或其实现(例如“查找两个节点之间的最短路径”)不能获得专利。
或者,您可以浪费一大笔钱并提交专利,看看会发生什么:)
不过,严肃地说,您可以从 搜索现有专利,或阅读一些文章,例如这个可以更好地了解专利流程。
Well, if it's in a textbook like your algorithm seems to have been (Dijkstra), then it definitely already exists in the public domain and cannot be patented. How you use the algorithm in your application as a whole might be, but most abstract ideas or implementations thereof (such as "finding the shortest path between two nodes") cannot be patented.
Or, you could waste a bunch of money and submit a patent and see what happens :)
In all seriousness though, you might start by searching for existing patents, or read up on some articles like this one to get a better feel for the patent process.
追踪特定问题的每算法将是相当艰巨的。更好的过程可能是找到针对该问题已知的最佳解决方案,并将它们与您的解决方案进行比较。
我将从维基百科开始。我知道人们说“不要使用 wiki 进行研究”,但它在计算机科学方面相当出色(所有这些极客都做出了贡献),并且它会很快告诉您最广为人知的算法是什么。如果您有比维基百科中找到的算法严格更好的东西,那么可能值得进一步研究。如果维基百科有比你的算法更好的东西,那么你充其量只是发明了一种好奇心,可能不会从中致富或出名。
接下来,检查底部的参考文献;它们可能会引导您找到论文(其中会有更多您可以关注的参考文献),或学术网站(可能有链接)。另请访问 Citeseer 并搜索关键词。
不幸的是,没有什么可以真正替代一些基础知识。如果您发明了(例如)图论算法,但您不知道图论语言,那么您将很难找到它,因为您不知道从哪里开始寻找。你可能会花时间阅读算法教科书,这会让你对好的算法有一个概述以及如何谈论它们,这对你来说可能是有益的。
Tracking down every algorithm for a particular problem would be quite daunting. A better process might be to track down the best solutions known for the problem and compare them with yours.
I would start with Wikipedia. I know people say "don't use wiki for research", but it's pretty good at computer science (all those geeks contributing), and it will tell you pretty quickly what the best widely-known algorithms are. If you've got something strictly better than the algorithms you can find in Wikipedia, then it might be worth looking further. If Wikipedia's got something strictly better than your algorithm, then you've invented a curiosity at best and probably won't get rich or famous from it.
Next, check the references at the bottom; they may lead you to papers (which will have more references that you can follow), or to academics' websites (which might have links). Also go to Citeseer and search for key words.
Unfortunately, there's no real replacement for having some basic knowledge. If you've invented (for instance) a graph-theoretic algorithm, but you don't know the language of graph-theory, then you'll struggle to find it because you won't know where to start looking. You might profitably spend your time reading an algorithms textbook -- that will give you an overview of good algorithms and how to speak about them.
如果无法立即找到算法或方法(维基百科/谷歌),我发现扫描学术/工程网站(web of science、ieee explore、acm 等)查找“评论”论文是值得的。如果是最近的,他们可以提供对该领域(例如图形搜索)的全面概述,并提及书籍、论文和会议。之后,人们可以将搜索集中在特定方法上。
If an algorithm or method can not be found right away (wikipedia/google), i find it rewarding to scan academic/engineering websites (web of science, ieee explore, acm etc.) for 'review' papers. If recent, they can give a solid overview over the field (e.g. graph search) mentioning books, papers and conferences. After that one can focus the search on particular methods.