关于“数字城市”智能转型的几个关键技术问题

未知 2019-09-19 15:12

  引言

  进入21世纪的第二个10年,免费加入抢红包群号qq信息化、农业现代化和城镇新型化已成为中国社会发展的战略需求和紧迫任务。这三个方面的交汇融合、协同发展需要我们以信息化为统领、以新型城镇化为抓手。在过去的10年里,“数字城市”、“大数据城市”和“智慧城市”等成了学术界、各种先锋论坛和社会媒体热议的话题。一般而言,一个行业或一个区域的信息化过程可分为两个阶段:第一个阶段是数字化,又称为数字城市(以下简称dCity,即data City),它包括信息的传感、存储、计算、传输和控制的网络化和数字化。第二个阶段是智能化,是数字化的更高阶段,又称为智能城市(以下简称iCity, 即intelligent City)。

  对于数字城市这个概念的内涵,学术界和产业界的认识都比较一致。数字城市主要是指最大限度使用数字传感技术、网络技术和计算技术构成的信息基础设施,在云计算的软件环境(也称平台)下,对城市的人口、资源、环境、经济、社会等大数据加以存储、处理与统计,将反映城市社会的各种大数据“有效整合”,用于规划、预测、运营以及城市监管,提升政府部门的管理与决策能力,提高城市居民的生活品质。实际上,世界上包括我国在内的发达地区和许多城市都已经在不同程度上达到了数字城市的要求。

  至于智能城市,有人也称智慧城市或城市大数据的智能应用等,这方面讨论甚多,但还是缺少一个比较统一的实际可行的描述。本文拟从数字城市的智能转型这个角度,探讨智能城市必须提供的几种服务以及为实现这些服务在软件工程实现方面需要采取的措施和方法。

  本文关于智能城市与数字城市区别的基本思路包括以下几点:

  从系统服务的角度来看,智能城市与数字城市的标志性区别是:iCity是一个复杂信息生态系统,它提供下述三种标志性服务。它们是“深度查询”(deep search),定律发现(law discover)和决策生成(solution make)。

  从大数据处理角度来看,构建iCity需要建立统一的非结构数据模型,而且必须从信息的感知、传感和输入的阶段开始就使用这种统一数据模型,才能保证iCity的服务质量和服务效率。

  从系统研制、开发和维护的角度来看,iCity的研制、开发和维护都必须使用群体软件工程方法。

  一个大数据服务系统只有在具备以上几个特征之后,才可以称为智能大数据系统。

  深度查询

  让我们通过一个例子说明什么是深度查询,然后再来看怎样开发和使用这种查询。如果我们向Google输入:“我经常恶心、头痛,有时呕吐,看东西不清楚,偶尔出现耳鸣,我该怎么办?”Google给出的回答如下:

  图1

  图1列出的文字,是根据网页中关键词被覆盖多少排序的前三条。这就是当今云计算和大数据处理的典型作品。Google帮助我们把在Internet 上存储的、在全世界网站所能查到的所有与我们提出的问题有关的网页,或者说所有与我们输入的关键词有关的网页都查找出来了。但是我们在赞叹Google的效率的同时,却无法称之为“智能服务”,因为我们最关心的问题:究竟“我”得了什么病,应该怎么治,并没有得到像朋友,更不用说像看医生那样直截了当,有建设性的回答。

  下面,让我们仿照病人去医院看病的过程,设计一个简单的“深度查询”的例子。这个查询过程由下述四步组成。

  图2

  1.初诊导医:病人向iCity输入症状或感觉:“头痛、恶心、呕吐、耳鸣和怎么办”,iCity应该向病人提供有上述病症表现的主要疾病名称,即“脑部肿瘤、美尼尔氏症、颈椎病或胃肠感冒”。需要指出的是:iCity提供的这四种可能的任何一种,都是归纳推理的结果,因为其作用就是从症状(如头痛、恶心等)到实体(如脑部肿瘤),即从个别(现象)到一般(结论)的转化操作,常被称为归纳推理,更准确地应称为“归纳猜想”;其中“猜想”是因为这种推理可能是错误的,即不具有“可靠”性。例如,用户得的病不是脑肿瘤,而是美尼尔氏症,而“归纳”代表这种猜想是理性的。

  病人从四种病中选择了其中一种,例如“脑部肿瘤”,并将其输入iCity,这种行为称为关联选择或关联推理,因为iCity把四种不同但又有共同病状的“实体”关联起来。这种关联关系是由iCity提供的,而病人的选择是由用户即病人完成的,但对iCity而言,它是系统之外发来的一个“信息”。从这里也可以看出:人机交互是关联推理的先决条件或“环境”(environment)。

  图3

  2.方案推荐:它由两部分组成,即先做关联,再做逻辑推理(图3)。

  首先,在病人做出初诊选择后,iCity的反应是:推荐三种治疗预案,即治疗药物推荐、肿瘤医院推荐、肿瘤专家推荐。iCity又把三种“本体”[2]关联起来,而用户再做一次关联选择,例如选中肿瘤医院。

  接着,再做一次选择,譬如选中国医学科学院肿瘤医院,这次iCity做的是逻辑推理,是全局到个体的推理,因为中国医学科学院肿瘤医院是一所肿瘤医院。

  3.就医服务:用户选择中国医学科学院肿瘤医院之后,iCity提供该医院的所有与就医有关的服务,包括:挂号预约程序、医疗费用评估、就医智能导航、气象出行建议。病人再做一次关联操作,例如“挂号预约程序”,完成第3次人机交互。

  4.数据链接:计算机提供中国医学科学院肿瘤医院网上挂号预约的全套程序(图4)。

  图4

  图5 给出了深度查寻过程所用到的各种推理关系。

  图5

  一般而言,深度查询是系统从描述事物的现象、症状或印象开始,通过人机交互的方式,系统提供与现象或症状相关的可供选择的概念或知识。在用户做出选择后,系统根据云计算环境中存储的本体和相关知识图谱[3],在与用户逐步深入的交互中,通过归纳猜想、逻辑推理和关联操作,最终提供用户所需要的、网上能查到的、与改善现状关联的所有知识。从这个角度来看,着名的Turing Test 是深度查询的一个特例。

  一般而言,实现“深度查询”服务的解决方案,应该包括:建立描述各种非结构化数据的元语言模型,即构建数据的一体化表示和组织,构建包含本体、实体、知识图谱和知识卡片的非结构化数据云和实体与原始数据的链接,以及实现归纳猜想、关联操作、逻辑推理的关于知识的计算框架和推理机制等。

  定律发现

  以自然科学为例,一阶语言是描述科学理论的语言。不论是在经典数理逻辑中,还是在卡尔·波普尔(Karl Raimund Popper,1902~1994)的科学发现的逻辑中,原子语句都是不可再分的对象。原子语句包括:谓词符号和方程式,谓词符号代表基本概念,方程式描述谓词符号之间精确的数量关系,称之为定律;它们组成了科学知识的核心。这些原子语句的真假性是由人们在科学实验中,在各种仪器的帮助下,通过人的五官感受来决定的。抽象地说也就是由数字模型决定的。以牛顿力学为例,力、质量和加速度就是基本概念(在数理逻辑中,称为谓词),而第二定律就是描述上述概念的数学方程式(见图6)。

  图6

  在大数据时代,人类五官的感受已经由现代传感器产生的大数据所代替。所以,定律发现的任务就是从传感器接收到的大数据中,精炼出基本概念和这些概念之间精确的数学关系,也就是归纳出谓词和谓词所遵从的数学方程式。在社会科学和人类社会大数据环境下,这些概念的关系可以是因果关系,也可以是关联关系。

  决策生成

  让我们再通过一个例子来说明什么是智能城市的决策生成。

  例4.1 天通苑智能交通(此例子数据由诸彤宇提供)

  北京天通苑地区约有8平方公里, 91.5万人口。早高峰期间约有14万人要乘坐公交车进城上班,而主要进城之路只有两条,一条是经回龙观再绕行G6高速路进城,另一条是先经立汤路再到安立路进城。当前要解决的问题是:公共交通拥堵,公交车超载,安全性和舒适性差,路上消耗时间长。

  天通苑实际公交需求是:如果每车70人,每人乘车时间不超过40分钟达到目的地,早6:00至9:00间需要平均每分钟发出10辆公交车,共需约2000车次,长度近40公里。

  在当前数字化城市环境下,经大数据搜集和统计计算的结果是:居民出行通往北京38个区域,但只有9个区域是主要目的地,占乘客总量的83%(图7)。

  图7

  提出问题:如果用户向Baidu输入:“天通苑地区上班时间,交通拥堵,乘公交车,进城,寻求解决方案”,而百度给出的信息只是提及“天通苑”“上班时间”“公交车”和“解决方法”等关键词的网页,不能给出对每个上班的用户具体、可操作的建议,还不能说是智能服务。人们心目中具有智能的解答应该由下述几步组成:

  1.决策定性:当用户向iCity输入“天通苑早晨交通拥挤,寻求解决方案”时,希望得到对方给出既“高屋建瓴”又“符合逻辑”的回答。所以,iCity的回答是一个问句:需要“应急方案”还是“长期方案”?这是一种归纳推测,因为这是从具体方案到方案类型的行为。

  当用户选取“应急方案”时,他或她进行了一次关联操作或关联推理,而iCity是把两种不同类型的求解方案关联起来。这种关联是由计算机提供的,而选择是用户(人)做的。对计算机而言,这是第一次人机交互。

  图8

  图9

  2.方案推荐:在用户做出方案分类选择后,iCity的应对是:提出四类应急解决方案供用户选择。它们是“公交车调度优化”,“热点区域直达”,“乘车时间优化”和“绕行路线安排”。

  iCity把四种应急方案关联起来,而用户再做一次选择,如:“乘车时间优化”。这就完成了第二次人机交互。

  3.方案选择:用户选择“乘车时间安排”后,由于在大数据和云计算环境下,互联网上存有天通苑14万进城上班族每个人的姓名、身份号、住址、手机号,当GPS地址,工作单位地址,上班时间统计记录等所有必要信息和数据,又拥有天通苑地区所有公交车的GPS地址、行车路线、车内乘客人数现状的信息。这些数据和它们之间的关系组成了一个动态规划系统,而iCity要解决的是大数据动态规划问题。在云计算环境下,iCity可以直接或者请求用户选择求解方法、调用求解程序,得到可行决策。这包括:每一位上班族个人都将从手机上收到iCity 对个人的出行建议,例如,何时,乘哪路公交以及换乘建议。当用户同意后,iCity 还将上班调整时间信息发给所在工作单位,以便调整当日上、下班时间。iCity还将在均衡状态下公交车的开车路线和时间等有关信息通知到每位公交司机。

  从上述实例,我们可以得出以下关于iCity决策生成的一个宏观描述:iCity针对用户的要求和问题,通过人机交互的方式对本体、实体、概念、属性等多层次归纳猜想、逻辑推理、关联操作,在与用户的交互过程中,揭示问题的性质,提供与问题相关的所有可供选择的决策类型。在用户做出选择后,iCity确定满足用户要求的问题求解数学模型,并通过逐步深入的人机交互,确定求解模型所需的边界条件和初值。之后,iCity调用求解程序,根据用户需求,提供群体的统计规律和群体的动态演变过程,并根据群体中每一个个体的个性化要求,给出针对个体的解决方案,做到群体均衡,个体优化。在群体和个体的解决方案实施后,iCity还将实时感知并验证解决方案的实施效果,并及时进行动态调整。

  统一数据模型

  城市的大数据是城市人群自然和社会知识和信息的数字映像,是通过各种数字化传感装置,来自城市的各个角落和不同的人群。它们可以是结构化的(如传统的数据库文件)也可以是非结构化的(如语音、图片和视频等),而且来源于不同的历史阶段。由于社会发展的不均衡,从各种途径获得的原始数据的格式不统一,进而增加了数据处理的难度,降低了数据处理的效率。

  发展到建设iCity这一历史阶段,建立统一的数据模型已经势在必行。这个数据模型应该具有下述性质:首先是统一性,即它能够以统一的模式描述各种结构和非结构类型的数据;二是集成性,即直接继承和采用已有的关于各种类型数据的成熟处理技术;三是关联友好性,它支持多源数据特征关联操作;四是可扩展性,即支持数据规模扩展并保持处理效率;五是演化性,即以文本序列的方式记录数据的演化;最后一点是传感友好性,即这种数据模型可以嵌入到各种传感器中,成为传感器从外界接收的原始数据的存储格式。这样做的优点是可以充分发挥数字化传感器的潜能,大大提高非结构大数据的处理效率。

  以智能手机为例,一款手机可以看成多用途数字传感器,其照相图片文件、录音音频文件、视频文件、文本等,均有多种不同类型。即使是同一个类型的文件,在不同历史时期也存在存储格式升级换代的问题。总之,存储文件格式的不统一增加了非结构化数据处理的难度,抑制了数据处理的速度。但是,从元语言的层面来观察,每一种非结构化数据都可以用四个属性刻面来描述:一是基本属性(所有数据文件都具有的属性,包括名称、创建者、创建时间和传感器类型等),二是语义特征(以文字表达的非结构化数据特有的语义属性,包括作者创作意图、数据主题说明、底层特征含义等语义要素),三是底层特征(关于各种物理处理技术的数据,例如,一张照片有分辨率、像素、光圈值、曝光时间、焦距和对比度等),四是原始数据(非结构化数据文件本身),以及刻面间关联描述。他们自然地形成四面体数据模型。作为元语言模型,它能够统一描述多种非结构化数据类型,合理表达非结构化数据的组成部分以及各组成部分之间的关联关系。总之,建立统一的元语言数据模型,是大数据处理发展的必然结果。

  北航软件开发环境国家重点实验室于2010年为原始大数据设计了这样一个统一数据模型,称为四面体数据模型(Beihang Model),并开发了一个海量非结构化数据存储管理系统。图10是脑核磁四面体数据模型示例。

  四面体模型-脑核磁图像实例

  图10

  群体软件工程

  城市是一个复杂的社会生态系统,它的组成和演化的基本特征是在“宏观层面”上,市政管理机构通过制定政策和发布法令,对城市的宏观规划、城市资源的配置进行宏观调控;在“微观层面”上,市民通过竞争和市场机制对城市资源配置和城市发展起着基础或决定性作用。从这个角度来看,iCity则是一个复杂的信息生态系统,它在每一时刻所拥有的大数据构成了记录城市社会生态系统的映像,折射出市政管理机构对城市的宏观调控以及市民竞争和市场机制对城市资源配置和发展作用的数字化描述。

  如果本文使用iCity 时特指它的软件系统,那么群体软件工程应该是研制、开发和维护iCity的首选工程方法。如果我们把微软公司研制Windows系统的方法称做传统软件工程方法,那么本文要指出传统软件工程方法在研发iCity时所面临的严峻挑战。

  传统软件工程方法有四大特点。一是精英化。指参加基础软件的开发人员大多是名牌大学的高材生,受过良好的高等教育,是软件制造业的专业骨干。二是计划性,即每一个软件产品的研制都是预先规划需求,接着给出软件产品严格而详细的功能描述,之后再进行自顶向下的代码开发和测试。三是封闭性,整个开发过程不对外开放。每一步都遵守严格的工作程序,以保证代码的开发质量,提高整体开发效率。以Windows Vista为例,该软件的规模和开发工作量约为:功能模块6万个,总代码量6000万行,投入9000余名专业开发人员,耗时五年完成全部开发任务。

  这种传统软件工程方法受到iCity这类软件的严峻挑战,因为从整体的角度看,后者的规模和开发工作量将远超过Windows Vista!

  按照我国政府2012年颁发的《中国国民经济行业分类标准》,我国共设20个门类,约100个大类,400个中类约1000个小类。通常将中类作为一个行业,我国约设有400个行业。

  如果一个1000万人口的城市拥有的总行业数为320,是总行业数的80%,每个行业约有1000个应用业务服务。再假定实现一种服务的程序代码量约8000行。那么对1000万人口的大城市,它的iCity开发总代码量为320*1000*8000=25.6亿行!虽然这只是一个估算,但从总体上看,iCity的代码量要比Windows Vista高一个数量级,因为它涉及到人类社会的各行各业和各种不同服务项目。如果用传统软件工程方法开发,比照微软公开的发表工作量,完成1000万人口大城市的iCity系统需要花费约213年!所以,结论是传统软件工程的优点要继承,但只用这种方法是不够的,需要对软件工程的组织方法进行创新。

  近几年苹果公司组织的App Store和谷歌公司组织的Android Market给我们带来了激发社会群体广泛参与软件开发的新启示。这两项活动的发起时间分别是2008年7月和2008年10月,截至2014年12月1日,分别有70万人和60万人次参与群体式应用软件开发,各生产130万个应用,总代码量均超过26亿行。 如果采用App Store或Android Market的模式投入70万人,iCity约五年就能建成!上述这两个在软件开发行业有历史意义的事件告诉我们:采用开源代码,选取众包(crowdsourcing)这种基于市场竞争的群体开发模式,将是解决iCity这类超大软件生态系统研发、维护和演化问题的一个正确选择。

  最后,我们扼要说明一下使用群体软件工程的方法来实现iCity的几个关键点。一是iCity的软件体系结构的变化。为引入群体参与系统开发,iCity应采用层次式加模块化的软件体系结构,即它纵向分层,每层由若干模块组成。二是,每一层决定下一个层次每个模块的功能,以及各个模块之间的关系和接口。三是每一层软件模块的实现(包括设计文件的编写、模块代码开发、程序的测试等)通过市场竞争采用众包的方法来实现。四是每一层是下一层软件开发市场竞争和众包的组织者、竞争规则制定者和市场监察者。五是为保证软件的安全性和质量,实行临层开放、隔层屏蔽的原则。总之,这种纵向分层(宏观规划)和横向众包(市场竞争)根据上述五原则来完成软件文件编写、代码开发和程序测试的软件开发方法称为iCity群体软件工程。

  综上所述,数字城市的智能转型当前的主要任务是提供“深度查询”、“规律发现”和“决策生成”三种应用服务,为此,有必要从数字传感阶段开始推进非结构化数据的统一模型,并采用群体软工程件的方法,先从数字化城市比较成熟的行业作为试点开始做起。

  (作者致谢:本文在写作过程中得到了郎波、诸彤宇、罗杰、刘祥龙和黄雷的支持和帮助,在此谨表谢意。)

标签