忘记摩尔定律。算法推动技术向前发展,摩尔定律可以取得长足的进步,但通常是推动计算机科学向前发展的基础算法。


每个人都喜欢谈论摩尔定律(该定律指出,晶体管在微处理器上的数量大约每两年增加一倍),这是在谈论计算速度和生产率的提高时。但是,新算法带来的收益又如何呢?这些收益可能会超过硬件改进带来的收益。 

算法上的改进可以更有效地利用现有资源,并允许计算机更快,更便宜或两者兼有。想想较小的MP3格式存储和传输音乐有多容易。这种压缩是由于一种算法。该研究以Google的PageRank,Uber的路由算法和Netflix视频压缩为例。

这些算法很多都来自可公开获得的资源-研究论文和其他出版物。这种“算法共享区”(例如开源软件的数字共享区和公开可用的信息)可以帮助所有程序员生产更好的软件。 

但是这些算法从何而来?谁提供研究来开发它们?麻省理工学院的最新研究揭示了谁在构建我们的算法共享以及为什么。我们进行了研究,然后询问了该研究的主要研究员,麻省理工学院计算机科学与人工智能实验室(CSAIL)的研究科学家尼尔·汤普森Neil Thompson),这对计算机科学领域意味着什么。 

正反馈回路?

绝大多数算法改进来自诸如大学和政府之类的公共和非营利机构。贡献最大的是那些在计算机科学领域排名最高的大学:斯坦福大学,麻省理工学院,加州大学伯克利分校和卡内基梅隆大学。

私人机构也做出了贡献,包括IBM,贝尔实验室和兰德公司。但是,一个人想知道为什么一个营利性机构会放弃他们的竞争优势,以便他们的竞争者能够获得他们的研究成果吗?

与尼尔·汤普森(Neil Thompson)的问答

问:在您研究的算法中,有多少是专有的,有多少是已发布并免费提供的? 

答:要包含在我们的数据中,必须在某个时候将算法公之于众,以便将其引入教科书和学术文献中。我们不知道这种情况发生的速度有多快,例如IBM这种算法最初是私下开发的。

问:对于在公共机构开发的算法,谁来资助?是否期望资助者会从该算法中受益?

答:这是我们正在研究的内容,但我们尚不知道答案。由于许多算法是由数学家和计算机科学理论家开发的,因此我们希望它们可以通过大学整体拨款的组合获得资助,从而为学者和国家科学基金会等组织提供时间来解决这些问题。

:对于专有算法,您认为为创作者公开共享它们有好处吗?

答:要回答这个问题,我们可以借鉴开源软件的类比,在这种情况下,公司还会披露本来可以专有的信息。在开放源代码中,最大的好处之一就是让社区围绕您的主题凝聚并为开发主题做出贡献。因此,对于算法,我希望当公司希望招募外部算法设计师来进一步改进公司的工作时,最大的好处就是公开披露。 

公司很可能会通过公开发布重要算法而获得声誉提升,这可能有助于招募和留住才华横溢的计算机科学家。

问:您为什么认为人和公司对算法共享有贡献?

答:显然有多种动机可以促进算法的共同点。一种动机是务实的:发现者需要一个更好的算法来解决这个问题。对于许多公司来说,这可能是最重要的创新,但在许多领域的用户创新者中也很常见。另一个内在动机是:逗弄一个棘手的问题并找到一个聪明的解决方案会很有趣。

问:当一组相关公司共享相同的算法时,由什么决定哪个软件更好?

答:拥有更好的算法就像厨师拥有更好的食材。不能保证您会得到一顿更好的饭,但是如果厨师正确使用它们,您会的。算法也是如此。为软件设计人员提供更好的算法,它们有可能比没有设计好的软件设计师构建更好的算法。

问:您认为,对于行业生产力而言,最重要的算法是什么?

答:这是一个很好的问题,但我们尚不知道答案。请在一年左右的时间内与我联系-我希望得到答案!