李未
北京航空航天大学计算机系教授、软件开发环境国家重点实验室主任、中国科学院院士、国务院学位委员会委员。在实用并发语言语义、并发语言的翻译理论等方面具有开创性研究成果,曾获国家自然科学二等奖、何梁何利科技进步奖等多项奖励。
过去10年,“数字城市”、“大数据城市”、“智能城市”和“智慧城市”等成为学术界、各种先锋论坛和社会媒体热议的话题。一般而言,一个行业或一个区域的信息化过程可分为两个阶段,第一个阶段是数字化,又称数字城市(以下简称dCity,即Data City),它包括信息的传感、存储、计算、传输和控制的网络化和数字化;第二阶段是智能化,是数字化的更高阶段,又称智能城市(以下简称iCity,即Intelligent City)。
以下拟从数字城市的智能转型这个角度,探讨智能城市必须提供的几种服务,以及为实现这些服务在软件工程实现方面需要采取的措施和方法。
看病问诊的深度查询
我们先通过一个例子说明什么是深度查询,然后再来看怎样开发和使用这种查询。如果我们向Google输入:“我经常恶心、头痛、有时呕吐,看东西不清楚,偶尔出现耳鸣,我该怎么办?”Google把“头痛、恶心、呕吐”等作为关键词,查出约42900个网页中出现了上述关键词。我们在赞叹Google的效率的同时,却无法称之为“智能服务”,因为我们最关心的问题:究竟“我”得了什么病?应该怎么治?并没有得到像朋友、更不用说像看医生那样直截了当和有建设性的回答。
下面,让我们仿照病人去医院看病的过程,设计一个简单的“深度查询”的例子。这个查询过程由下述4步组成:
初诊导医
病人向iCity输入症状或感觉:“头痛、恶心、呕吐、耳鸣和怎么办”,希望iCi t y通过分析这些感觉和症状,向用户提供相当于初诊医生做出的对疾病的初步诊断和建议(见图)。iCity应该向病人提供有上述病症表现的主要疾病名称,即“脑部肿瘤、美尼尔氏症、颈椎病或胃肠感冒”。病人从4种病中选择了其中一种,例如“脑部肿瘤”,并将其输入iCity,这种行为称为关联选择或关联推理,因为iCity把4种不同但又有共同病状的“实体”关联起来。
方案推荐
由两部分组成,即先做关联,再做逻辑推理。首先,在病人做出初诊选择后,iCity的反应是:推荐3种治疗预案,即治疗药物推荐、肿瘤医院推荐、肿瘤专家推荐。iCity又把3种“本体”关联起来,而用户再做一次关联选择,例如选择肿瘤医院。接着,选择中国医学科学院肿瘤医院,这次iCity做的是逻辑推理,是全局到个体的推理,因为中国医学科学院肿瘤医院是一所肿瘤医院。
就医服务
用户选择中国医学科学院肿瘤医院之后,iCity提供该医院的所有就医服务,包括:挂号预约程序、医疗费用评估、就医智能导航、气象出行建议。病人再做一次关联操作,例如“挂号预约程序”,完成第3次人机交互。
数据链接
计算机提供中国医学科学院肿瘤医院网上挂号预约的全套程序。
一般而言,深度查询是系统从描述事物的现象、症状或印象开始,通过人机交互的方式,提供与现象或症状相关的可供选择的概念或实体。在用户做出选择后,系统根据云计算环境中存储的本体和相关知识图谱,在与用户逐步深入的交互中,通过归纳猜想、逻辑推理和关联操作,最终提供用户所需要的、网上能查到的、与改善现状关联的所有知识和数据。从这个角度来看,著名的TuringTest 是深度查询的一个特例。总之,深度查询的推理和操作的基础理论框架应包括:
(1)归纳猜测:属性到实体;
(2)关联演算:实体间选择;
(3)逻辑推理:共性到实例;
(4)数据链接:实体到数据(知识卡片)。
而实现“深度查询”服务的解决方案应该包括:建立描述各种非结构化数据的元语言模型,即构建数据的一体化表示和组织,构建包含本体、实体、知识图谱和知识卡片的非结构化数据云,建立实体与原始数据的链接,以及实现归纳猜想、关联操作、逻辑推理的关于知识的计算框架和推理机制等。
在大数据时代,人类五官的感受已经由现代传感器产生的大数据所代替。所以,定律发现的任务就是从传感器接收到的大数据中,精炼出基本概念和这些概念之间精确的数学关系,也就是归纳出谓词和谓词之间的数学方程式。在社会科学和人类社会大数据环境下,这些概念的关系可以是因果关系,也可以是关联关系。
从天通苑智能交通看决策生成
让我们通过一个例子来说明什么是智能城市的决策生成。
北京天通苑地区约有8平方公里,人口91.5万。早高峰期间约有14万人要乘坐公交车进城上班,而主要进城之路只有2条,一条是经回龙观再绕行G6高速路进城,另一条是先经立汤路再到安立路进城。当前要解决的问题是:公共交通拥堵、公交车超载、安全性和舒适性差、路上消耗时间长。
天通苑实际公交需求是:如果每车70人,每人乘车时间不超过40分钟到达目的地,早6:00至9:00间需要平均每分钟发出10辆公交车,共需约2000车次,长度近40公里。
在当前数字化城市环境下,经大数据搜集和统计计算的结果是:居民出行通往北京38个区域,但只有9个区域是主要目的地,占乘客总量的83%。
提出问题:如果用户向百度输入:“天通苑地区上班时间,交通拥堵,乘公交车,进城,寻求解决方案”,百度当下提供的服务,还不能给出对每个上班的用户具体、可操作的建议,还不能说是智能服务。人们心目中具有智能的解答应该由下述几步组成:
决策定性:当用户向iCity输入“天通苑早晨交通拥挤,寻求解决方案”时,希望得到对方给出既“高屋建瓴”又“符合逻辑”的回答。所以,iCity的回答是一个问句:需要“应急方案”还是“长期方案”?这是一种归纳推测,因为这是从具体方案到方案类型的行为。
当用户选取“应急方案”时,他或她进行了一次关联操作或关联推理,而iCity是把两种不同类型的求解方案关联起来。这种关联是由计算机提供的,而选择是用户(人)做的,对计算机而言,这是第一次人机交互。
方案推荐:在用户做出方案分类选择后,iCity的应对是:提出4类应急解决方案供用户选择,包括“公交车调度优化”、“热点区域直达”、“乘车时间优化”和“绕行路线安排”。iCity把4种应急方案关联起来,而用户再做一次选择,如:“乘车时间优化”。完成第二次人机交互。
方案选择:用户选择“乘车时间优化”后,由于在大数据和云计算环境下,互联网上存有天通苑14万进城上班族每个人的姓名、身份证号、住址、手机号、当前GPS地址、工作单位地址、上班时间统计记录等所有必要信息和数据,又拥有天通苑地区所有公交车的GPS地址、行车路线、车内乘客人数现状的信息。这些数据和它们之间的关系组成了一个动态规划系统,而iCity要解决的是大数据动态规划问题。在云计算环境下,iCity可以直接或者请求用户选择求解方法、调用求解程序,得到可行决策。这包括:每一位上班族个人都将从手机上收到iCity 对个人的出行建议,例如,何时乘哪路公交以及换乘建议。当用户同意后,iCity 还将把上班调整时间信息发给所在工作单位,以便调整当日上、下班时间。iCity还将把在均衡状态下公交车的开车路线和时间等有关信息通知到每位公交司机。
从上述实例,我们可以得出以下关于iCity决策生成的一个宏观描述:
iCity针对用户的要求和问题,通过人机交互的方式对本体、实体、概念、属性等多层次归纳猜想、逻辑推理、关联操作,在与用户的交互过程中,揭示问题的性质,提供与问题相关的所有可供选择的决策类型。在用户做出选择后,iCity确定满足用户要求的问题求解数学模型,并通过逐步深入的人机交互,确定求解模型所需的边界条件和初值。之后,iCity调用求解程序,根据用户需求,提供群体的统计规律和群体的动态演变过程,并根据群体中每一个个体的个性化要求,给出针对个体的解决方案,做到群体均衡、个体优化。在群体和个体的解决方案实施后,iCity还将实时感知并验证解决方案的实施效果,及时进行动态调整。
统一数据模型势在必行
城市的大数据是城市人群自然与社会知识和信息的数字映像,是通过各种数字化传感装置搜集的,来自于城市的各个角落和不同的人群。它们可以是结构化的(如传统的数据库文件),也可以是非结构化的(如语音、图片和视频等),而且来源于不同的历史阶段。由于社会发展的不均衡,从各种途径获得的原始数据的格式不统一,进而增加了数据处理的难度,降低了数据处理的效率。
发展到建设iCity 这一历史阶段,建立统一的数据模型已经势在必行。这个数据模型应该具有下述性质:
首先是统一性,即它能够以统一的模式描述各种结构和非结构类型的数据;二是集成性,即直接继承和采用已有的关于各种类型数据的成熟处理技术;三是关联友好性,它支持多源数据特征关联操作;四是可扩展性,即支持数据规模扩展并保持处理效率;五是演化性,即以文本序列的方式记录数据的演化;最后是传感友好性,即这种数据模型可以嵌入到各种传感器中,成为传感器从外界接收的原始数据的存储格式。这样做的优点是可以充分发挥数字化传感器的潜能,大大提高非结构化大数据的处理效率。
iCity是一个群体性软件工程
城市是一个复杂的社会生态系统,其组成和演化的基本特征是:在“宏观层面”上,市政管理机构通过制定政策和发布法令,对城市的规划和资源的配置进行宏观调控;在“微观层面”上,市民通过竞争和市场机制对城市资源配置和城市发展起着基础或决定性作用。从这个角度来看,iCity则是一个复杂的信息生态系统,其在每一时刻所拥有的大数据都是记录城市社会生态系统的映像,折射出市政管理机构对城市的宏观调控,以及市民竞争和市场机制对城市资源配置和发展作用的数字化描述。
如果使用iCity 时特指其软件系统,那么群体软件工程应该是研制、开发和维护iCity的首选工程方法。如果我们把微软公司研制Windows系统的方法称为传统软件工程方法,那么传统软件工程方法在研发iCity时将面临严峻挑战。
以WindowsVista为例,软件开发工作量约为:功能模块约60000个,总代码量6000万行,投入9000名专业开发人员,耗时5年完成全部开发任务。然而这种传统软件工程方法受到iCity这类软件的严峻挑战,因为从整体的角度看,后者的规模和开发工作量将远超过WindowsVista!
近几年苹果公司组织的AppStore和谷歌公司组织的AndroidMarket给我们带来了激发社会群体广泛参与软件开发的新启示。如果采用AppStore或Android Market的模式投入70万人,iCity约5年就能建成!上述这两个在软件开发行业有历史意义的事件告诉我们:采用开源代码,选取众包这种基于市场竞争的群体开发模式,将是解决iCity这类超大软件生态系统研发、维护和演化问题的一个正确选择。
综上所述数字城市的智能转型当前的主要任务是提供“深度查询”、“规律发现”和“决策生成”3种应用服务,为此,有必要从数字传感阶段开始推进非结构化数据的统一模型,并采用群体软工程件的方法,先从数字化城市比较成熟的行业作为试点开始做起。