“建模关系以高效解决复杂问题”

德国哲学家弗里德里希·尼采曾说过:“看不见的线是最强的纽带。”人们可以将“看不见的线”视为将相关对象联系在一起,比如送货司机路线上的房屋,或更模糊的实体,如金融网络中的交易或社交网络中的用户。

计算机科学家朱利安·顺研究这些多面但常常看不见的连接,使用图形来表示,其中对象被表示为点或顶点,它们之间的关系通过线段或边来建模。

顺是电气工程与计算机科学系的新任终身副教授,他设计的图算法可以用于寻找送货司机路线上的房屋之间的最短路径,或检测金融网络中恶意行为者进行的欺诈交易。

但随着数据量的增加,这些网络已经发展到包括数十亿甚至数万亿个对象和连接。为了找到高效的解决方案,顺构建了高性能算法,利用并行计算快速分析即使是最大的图形。由于并行编程 notoriously 难以掌握,他还开发了用户友好的编程框架,使其他人更容易编写高效的图算法。

“如果你在搜索引擎或社交网络中搜索某样东西,你希望能很快得到结果。如果你试图在银行识别欺诈性金融交易,你希望能实时进行,以最小化损失。并行算法可以通过使用更多的计算资源来加快速度,”顺解释道,他还是计算机科学与人工智能实验室(CSAIL)的首席研究员。

这样的算法常常用于在线推荐系统。在电子商务网站上搜索产品时,你很可能会迅速看到一系列相关商品,你也可以将其添加到购物车中。这个列表是通过图算法生成的,这些算法利用并行性快速找到用户和可用产品之间的相关项目。

校园联系

作为青少年,顺对计算机的唯一经验是在高中上过一门关于建立网站的课程。他对数学和自然科学比对技术更感兴趣,因此在加州大学伯克利分校入学时打算主修其中一门学科。

但在他的大一期间,一位朋友建议他参加计算机科学入门课程。虽然他不确定会有什么期待,但他决定报名。

“我爱上了编程和设计算法。我转到计算机科学专业,从此再也没有回头,”他回忆道。

那门初级计算机科学课程是自学进度的,因此顺自学了大部分材料。他喜欢开发算法的逻辑方面以及计算机科学问题的短反馈循环。顺可以将他的解决方案输入计算机,并立即看到自己是否正确。而错误的解决方案中的错误会引导他找到正确答案。

“我一直认为构建东西很有趣,而在编程中,你是在构建一些有用的解决方案。这让我很感兴趣,”他补充道。

毕业后,顺在行业工作了一段时间,但很快意识到他想追求学术生涯。在大学里,他知道自己将有自由去研究感兴趣的问题。

进入图形领域

他作为研究生入学卡内基梅隆大学,专注于应用算法和并行计算的研究。

作为本科生,顺上过理论算法课程和实用编程课程,但这两个领域并没有连接起来。他想进行结合理论和应用的研究。并行算法正好符合他的需求。

“在并行计算中,你必须关注实际应用。并行计算的目标是在现实生活中加快速度,因此如果你的算法在实践中不够快,那么它们就没有太大用处,”他说。

在卡内基梅隆大学,他接触到了图数据集,其中网络中的对象被建模为由边连接的顶点。他对这些类型数据集的许多应用以及开发高效算法以处理它们的挑战性问题感到吸引。

在伯克利完成博士后研究后,顺寻求教职并决定加入麻省理工学院。他与几位麻省理工学院的教职员工在并行计算研究方面进行了合作,并对加入这样一个拥有广泛专业知识的机构感到兴奋。

在加入麻省理工学院后的第一个项目中,顺与电气工程与计算机科学系的教授、CSAIL成员萨曼·阿马拉辛赫合作,开发了一种名为GraphIt的图处理编程框架。这个易于使用的框架从高级规范生成高效代码,其性能比下一个最佳方法快约五倍。

“那是一次非常富有成效的合作。如果我单独工作,我无法创造出如此强大的解决方案,”他说。

顺还将研究重点扩展到聚类算法,这些算法旨在将相关数据点分组在一起。他和他的学生构建并行算法和框架,以快速解决复杂的聚类问题,这些问题可以用于异常检测和社区检测等应用。

动态问题

最近,他和他的合作者专注于动态问题,其中图网络中的数据随时间变化。

当数据集有数十亿或数万亿个数据点时,从头开始运行算法以进行一次小的更改在计算上可能非常昂贵。他和他的学生设计并行算法,同时处理许多更新,提高效率,同时保持准确性。

但这些动态问题也构成了顺和他的团队必须克服的最大挑战之一。由于可用于测试算法的动态数据集不多,团队通常必须生成合成数据,这可能不够真实,并可能影响他们算法在现实世界中的性能。

最终,他的目标是开发在实践中高效且能够保持理论保证的动态图算法。这确保它们可以在广泛的环境中应用,他说。

顺预计动态并行算法在未来将有更大的研究重点。随着数据集变得越来越大、越来越复杂、变化越来越快,研究人员需要构建更高效的算法以跟上。

他还预计,计算技术的进步将带来新的挑战,因为研究人员需要设计新算法以利用新硬件的特性。

“这就是研究的美妙之处——我可以尝试解决其他人未曾解决过的问题,并为社会贡献一些有用的东西,”他说。