如果你看看GitHub上的趋势库列表,你会看到来自世界各地的程序员编写的令人惊叹的代码,他们为大大小小的公司付出了努力。但有一件事你不经常看到,那就是大学实验室的工作。下一个重大事件从计算机科学系逃脱并吸引全世界的注意是很罕见的。
这不是对大学研究的冲击。但是,对少数学者和研究生来说,与在业界和世界各地得到广泛支持的开源项目竞争是一项挑战。当然,许多顶尖的计算机科学学校都很富裕,但这并不意味着资金会投入研究。另一方面,开源程序员通常可以更快地编写更好的代码,这通常是因为他们的老板付钱给他们,让他们做出下个季度而不是下个世纪才会有回报的东西。
然而,优秀的计算机科学系仍然能够超越——有时远远超过——它们的权重。虽然这项研究的很大一部分是致力于晦涩难懂的话题,比如计算的哲学极限,但其中一些可能对整个世界非常有用。
以下是大学实验室目前正在开发的9个项目,值得你关注。它们可能不是绝对最好的,也不是走得最远的,但它们都有可能对计算世界产生广泛的影响。有些提供运输代码,有些提供主要的潜力,但所有这些都提供了一条直接的道路,用有用的计算来改变我们的世界。
DeepDive
大数据是学术界对数学基础的关注可以带来回报的一个领域,最近获得关注的一个比较突出的软件包是DeepDive,这是一个探索非结构化文本的工具。虽然许多大数据项目使用的是已经存在于表格中的结构良好的信息,但DeepDive专注于在原始文本文件和其他没有组织的文件中寻找相关性。
Java代码运行一条管道,将原始数据通过一组工具推送,这些工具将自然语言解析为实体流(即人、地点、公司或事物)。然后,它使用统计算法搜索实体之间的联系,即使它们没有明确说明。然后,这些结果被归结为清晰的推论,并插入到一个老式的数据库中。
结果取决于文本的风格、查询的性质和写作的清晰度,但在良好的环境下,工具可以提供比人类更好的结果。开发人员甚至报告说,一些研究表明,DeepDive“在复杂科学文章的精确度和回忆能力上都超过了人类志愿注释员的质量”。
机构:斯坦福大学
项目:http://deepdive.stanford.edu/
GitHub:https://github.com/HazyResearch/deepdive
ZeroCoin
比特币可能有很多东西,但它并不像许多人想象的那样匿名。该系统会追踪所有交易,因此可以追踪一枚硬币,从它诞生之日起,通过每一个所有者,直到它现在的主人。零币想要改变这一点。该系统将建立一个平行世界,硬币将进入和离开,消除痕迹。它保证了隐私和安全。
该系统建立了一种名为“零币”(ZeroCoin)的新临时货币,存放在一个巨大的匿名池中,不追踪所有权或出处。真正的所有者可以通过创建一个零知识证明来花费硬币,在不暴露身份的情况下建立他们的合法控制。然后,比特币从匿名池中取出,并转换回普通比特币。
ZeroCoin的开发者表示:“我们的目标是建立一种加密货币,让你的邻居、朋友和敌人看不到你买了什么或花了多少钱。”
研究机构:约翰霍普金斯大学
项目:http://zerocoin.org/
粗麻布
找到最佳路线或最佳答案可能比大海捞针更难。许多问题都有数十亿、数万亿甚至数万亿的可能解决方案,而找到最好的解决方案需要强大的计算能力。
Burlap允许您将问题定义为带有特征或属性向量的节点网络。该算法可以使用暴力搜索和统计引导探索的组合在网络中进行搜索。较高层次的算法计划搜索并部署最佳算法。该工具包包括数十种对基于代理的搜索最有用的算法。
该工具对于数据驱动的世界非常有用,在这种世界中,数据可以映射到大量节点或对象。代码是用Java编写的,并包含大量调试和分析工具,这些工具有助于保持代码朝着最佳目标前进。
机构:布朗大学
项目:http://burlap.cs.brown.edu/index.html
GitHub:https://github.com/jmacglashan/burlap
SpiroSmart
智能手机可以让我们聊天、发短信,甚至看猫咪视频,但它们对社会最大的贡献可能是作为移动医生,随时准备跟踪我们的健康,日复一日。在数以百计的追踪我们身体的新应用程序中,有SpiroSmart,这是一款通过听我们呼吸和测量回声和混响来分析我们肺部的软件程序。
传统的医学测试称为肺活量计,要求人们通过一个微小的风车来测量呼吸强度。使用麦克风可以减少污染的危险,让人们可以在一天中分别测试自己的呼吸。
该项目是一系列分析肺部健康工具的一部分。另一个工具是CoughSense,它可以记录一天中“咳嗽发作”的次数和严重程度。它取代了专用设备或纸质日志。另一种方法是WiiBreathe,它可以观察2.4GHz范围内的Wi-Fi信号通过人体和肺部时的失真情况。它可以跟踪呼吸,“与临床呼吸胸带相比,每分钟1.54次呼吸的准确性”。所有这些都承诺减少对专用硬件的需求,使测试对所有用户更简单、更有效。
机构:华盛顿大学
项目:https://ubicomplab.cs.washington.edu/projects/SpiroSmart
卤
随着数码摄影变得越来越普遍,人们想要对他们的照片做更多的事情,而不仅仅是看它们,这是很自然的。有些人想过滤颜色,有些人想编辑图像,还有更多的人想把图像作为某种算法的输入,可能是用于驾驶自动驾驶汽车。
所有这些算法都需要循环——大量嵌套循环遍历像素的行和列。事实证明,在构造这些循环时,通过注意数据缓存来仔细设计算法,可以在速度上产生很大的差异。如果你想把你的算法转换到GPU上运行,你需要重新考虑所有这些算法。
Halide是一种用于图像处理的计算机语言,旨在为您抽象出这些决定。它会为你担心循环和GPU转换。如果您编写用于分析单个像素的指令,它将生成快速的代码,用于遍历整个图像。
所在机构:麻省理工学院
项目:http://halide-lang.org/
GitHub:https://github.com/halide/Halide
视觉上的麦克风
传统上,相机被用来拍摄事物的静态照片,以备将来之用。快门一响,这些东西可能还在移动,但在那之后,它们就像希腊骨灰盒上的人一样永远冻结了。它们和你的眼睛一样,永远捕捉光线。
现在,超高速相机可以每秒捕捉数百或数千张图像,研究人员发现,相机不仅可以模仿眼睛。它们也能做我们的耳朵和皮肤能做的事,仅仅通过光感知声音或振动。
视觉麦克风项目使用一系列图像来检测物体的微小运动。在演示视频中,视觉麦克风观察当声音击中薯片包装袋时产生的微小运动。振动可能非常轻微,但足以让软件恢复到合理的近似声音。
这个团队将同样的想法应用到其他问题上,比如确定建筑物或桥梁是否稳定和安全.他们可以使用一个刮风天的图像序列来寻找建筑中微小或不太微小的变化。危险的共振振动可能不够大,人类看不到,甚至感觉不到,但摄像机可以标记它们。
这个想法非常简单,可以产生许多其他传感器。摄像机可以通过皮肤微微的发红来追踪血液的流动,从而捕捉我们的脉搏。视频肋骨监视器可以通过观察婴儿胸部的扩张来计数呼吸。在这些情况下,相机不仅更高效,而且更安全,因为它不接触,而且可以在远处工作。
所在机构:麻省理工学院
项目:http://people.csail.mit.edu/mrub/VisualMic/
德雷克
机器人和无人机在企业中越来越常见,因为它们从实验室转移到关键角色。控制这些机器需要很好地掌握物理定律。Drake是一个包集合,它使编写控制这些机器的代码变得更容易一些。
代码提供了许多基本和不那么基本的模型,用于预测机器人将如何移动。你可以开始建立刚体模型,在空气动力学结果中分层,并将其全部输入动态控制算法。还有一些可视化工具可以调试代码并观察其行为。
所在机构:麻省理工学院
GitHub:https://github.com/RobotLocomotion/drake/wiki
R
任何花时间研究过大数据或数据科学家的人都知道,他们通常依赖于语言叫做R仔细研究这些数字,并给出让经理们高兴的统计见解。无论是市场营销、风险管理、调度,还是任何其他维持企业运行的工作,R都是为证明或推翻假设的统计分析而调整的。
机构:维也纳经济贸易大学基金会
项目:https://www.r-project.org
教育
现在,把最好的留到最后,是大学比任何人都做得更好的一件事:教书。所有这些项目都很好,但许多学校也在开源和分享他们的课程。他们分享课程材料,视频讲座,甚至组织学习小组和评分会议,将一节课或一本书变成完整的课程。
有很多好的课程,所以可以把它们组合在一起免费完成学位(或低成本)。这两个GitHub存储库是一些真正的课程的指针。尽情畅饮吧,因为你不会受到,比如说,学费的限制。
机构:许多大学
GitHub:https://github.com/mvillaloboz/open-source-cs-degree和https://github.com/datasciencemasters/go
相关文章
- 快速指南:学习用R处理大数据
- 编程“灰胡子”的7个永恒教训
- 11个现在值得探索的前沿数据库
- 9种值得现在学习的前沿编程语言
- 9个我们偷偷喜欢的坏编程习惯
- 下载:专业程序员的商业生存指南
- 下载:独立开发者成功的29条建议
- 点评:比较四大Java ide
- 下载:使用17个JavaScript编辑器和ide
- 科技招聘人员最糟糕的33句话
- 单字母编程语言的攻击
- 10场激烈的游戏争夺着开发者的心
- 改变开发者工作方式的15项技术
- 对未来编程的12个预测
- 15个热门编程趋势,15个冷门编程趋势
- 权力下放:向19代计算机程序员致敬
这篇文章,“9个可以改变企业的研究项目”最初发表于信息世界 .