经济学家有 GDP 等经济学数值,社会学家有各项社会调查指标,建筑学家、统计学家…似乎各行各业都有自己「计算」一座城市的方法。那,计算机科学家该如何做这件事呢?
从 2008 年开始,来自微软亚洲研究院的郑宇博士开始主持一项名为「城市计算」的研究,具体地说,城市计算是一个通过不断获取、整合和分析城市中多种异构大数据来解决城市所面临的挑战(如环境恶化、交通拥堵、能耗增加、规划落后等)的过程。
在这个多种学科交叉(城市规划、交通、能源、环境、社会学和经济学等)、覆盖面积极大的领域,其主要研究的问题有四项:
城市感知: 如何利用城市现有的资源(如手机、传感器、车辆和人等),在不干扰人们生活的前提下自动感知城市的韵律。如何从大量的传感器和设备中高效而可靠地收集、传送数据将给现有的传感器网络技术带来挑战。
海量异构数据的管理: 城市产生的数据五花八门,属性差别很大。例如:气象是时序数据,兴趣点是空间点数据,道路是空间图数据,人的移动是轨迹数据(时间+空间),交通流量是流数据,社交网络上用户发布的信息是文本或图像数据。如何管理和整合大规模的异构数据是一个新的挑战。
异构数据的协同计算: 这部分包括三个方面:(1) 如何从不同的数据源中获取相互增强的知识是一个新的课题。传统的机器学习往往基于单一数据,如自然语言处理主要分析文本数据,图像视觉主要基于图像数据。在城市计算的很多应用中,对不同性质的数据一视同仁,其效果并不理想。(2) 在保证知识提取深度的同时,如何提高对大数据的分析效率,从而满足城市计算中众多实时性要求较高的应用(如空气质量预测、异常事件监测等),也是一个难题。(3) 数据维度的增加也容易导致数据稀疏性问题。当数据规模达到一定程度,简单的矩阵分解算法都变得难以执行。
虚实结合的混合式系统: 城市计算常常催生混合系统,如云加端模式,即信息产生在物理世界,通过终端设备被收集到云端(虚拟世界)分析和处理,最后云再将提取的知识作为服务提供给物理世界的终端用户。数据在物理和虚拟世界中来回穿行,从分散到集中,再到分散。这对系统的设计和搭建提出了更高的要求。