基于产生式规则的交通违法处罚专家系统的研究与实现
2009-07-02夏春燕
[摘要]根据高速公路监控指挥系统的快速、准确处罚需求,开发了基于产生式规则的违法处罚专家系统。该系统对违法处罚条例进行抽取与组织,将其形式化并初步形成产生式规则,通过专家支持进行规则的约简,存入知识库;利用合理的人机交互的界面使得用户能快速查找并定位违法事件,并遵守交通法中“一事不再罚”原则及相关处罚规定,将数据库中的信息与知识库中的产生式相匹配,输出严格的《交通违法行政处罚通知书》通过界面告知用户。另外该系统的管理模块实现了对规则对应关系的更新和修改,具有很强的灵活性。
[关键词]交通违法行政处罚 产生式规则 专家系统 规则库管理
中图分类号:TP2文献标识码:A文章编号:1671-7597(2009)0520063-02
随着机动车和驾驶员数量的激增,交警数量的相对不足,交警的交通行政违法现场处罚逐渐显得力不从心。在此背景下,通过科技手段,利用电子自动测速仪、电子自动摄像仪、摄像机等交通技术监控设备记录资料作为处罚依据,来认定交通违法并予以处罚的非现场处罚手段,成为了公安机关交通管理部门的重要管理手段[1]。由于非现场处罚不是对违法行为立即予以执行,致使大多数地方仍然采取过去的“年检告知”的处理方法。这样在两次年检之间,违法行为人可能并不知道自己有违法行为,从而导致更多的违法行为的发生,为社会和违法人员带来不必要的经济和精神上的损失。另一方面,新的《道路交通安全法》及其实施条例颁布施行后,赋予了交警更大的自由裁量权。交警在执法中常会遇到处罚种类、方式、幅度、程序等方面的合理性选择。近年来,由于部分交警的自由裁量运用不恰当,引发执法矛盾较多。“罚多”、“罚少”,按“上限”处罚、以“好恶”处罚、凭“人情”处罚随意施罚,不仅引起交通参与者对处罚的反感和不服,对交警执法的不信任,还损害了交警的执法形象,损害了警民关系。
为了解决以上问题,本文结合《广西高速公路监控指挥系统》课题,针对交通处罚条例规则性强,条款繁多易混、处罚决定易变的特点,如何实现快速执法、高效处罚的问题,设计和实现实际可用的公安交通违法行为处罚专家系统成为研究重点。
一、概述
(一)提出问题
通过交通违法行为处罚专家系统,实现了交警执法人员在处罚时能快速准确的输出《交通违法行为处罚通知书》,同时积累违法行为类型数据,为将来决策打下数据挖掘基础;另一方面,鉴于交通违法行为处罚条例的规则性很强,虽然违法行为和处罚决定基本不会发生变化,但法规实施细则随各地情况会在一段时间内产生变动,如果将其写入指挥中心应用系统程序中,一旦发生变动用户必须重新修改其相关的应用程序,并重新进行代码编写、调试、测试、编译等工作[2]。因此在对处罚业务的共性进行了分析之后,利用以往开发系统的经验和程序采用程序与数据相分离的技术,抽取出处罚规则库的功能模块,该功能模块不需要修改就可以被不同的应用系统复用,利于各地交通管理系统的推广,这就是软件重用技术在开发中的应用。
另外,在指挥中心系统应用程序中添加规则库管理模块,实现对规则库的管理,可以快速的定位处罚规则并修改条件与属性的对应关系,增加规则库的灵活性和可复用性。
(二)基于产生式规则的处罚专家系统
违法处罚专家系统的核心是处罚知识库和推理机,主要通过执法交警的参与,抽取<<道路交通安全法>>中法律及实施条例,形成原子列,并按照执法交警最佳使用习惯划分种类的过程。主要结构如图1.1所示。
产生式规则[3]表示是目前专家系统中使用最广泛的一种知识表示方法。使用这种表示法的专家系统通常称为基于规则的专家系统。产生式规则表示法一般在产生式系统中使用。一个产生式系统由三个基本部分组成:规则库、全局数据库和控制策略。既为知识库(包括规则表、变量描述表和事实库)和推理机[4]。
1.规则表:用来存放产生式规则,产生式规则是一个以“如果满足这个条件,就应当采取某些操作”形式表示的语句,其基本形式为“IF前提THEN结论”。IF被称为条件,它说明应用这条规则必须满足的条件;THEN部分被称为操作或结论,表示表达式与变量之间的对应关系。
2.变量描述表:表述变量的含义,在本课题中分为违法事实描述表、处罚行为描述表、种类描述表。例如变量“A1”表示“拼装车上路行驶”、变量“B1”表示“罚款”等。
3.事实库:用来存放变量取值,主要包括用户需要回答的取值和推理出来的变量值,是动态库。
4.推理机:控制推理的机制,使整个专家系统能够以逻辑的方式协调工作;例如通过“0,1,2”、“a,b,c,d,e,f”变量和“!”、“&”、“|”等逻辑符号选择推理路径。
5.用户界面: 是系统与用户进行交流时的界面。通过该界面,用户输入基本信息、选择相关操作,并输出推理结果及《交通违法行为处罚通知书》。
二、交通违法行为处罚专家系统
该专家系统在设计过程中包含基于规则的问题反馈交互模块和推理规则数据库维护模块(规则更新和增删)两部分。通过以上两个模块既可以实现交警快速选择违法行为并输出严格的处罚决定,又具有灵活的管理界面,根据变化的处罚实施条例调整处罚行为与违法事件的对应关系。
(一)交通违法行为处罚知识库的建立
交通违法行为处罚条例包含了大量的违法事实,且违法事实由于对象和程度的不同又进行了细分(例如醉酒驾车行为可分为运营车和非运营车;超速分为超速20%以下,超速20%—50%等),因此需要对违法事实进行抽取,划分原子列,并且按照用户的使用习惯划分种类。而每个违法事实又对应了多条处罚行为,处罚行为细化到准确的罚金和扣车、拘留的天数,可以看出处罚行为是少数且固定的,变化的仅是数值而已;另外,各类的处罚行为在执行过程中存在几类逻辑关系,例如当多种违法事实出现后,某些处罚行为需要加总、某些只需要取最高的处罚、有些取其一既可,但是无论哪类处罚都需要尊重“一事不再罚”的法律原则。
1.违法事件及种类描述
根据《道路交通安全实施条例》的分类和对用户使用习惯的调查研究后,划分快速查找的大类,再抽取违法事实形成原子列,并将各个原子列归类。对于违法事实可以如下表2.1归类划分:
其中0:表示运营车辆;1:表示非运营车;2:表示不限制;a:表示机动车车身类(例如非法安装标志灯具等);b:表示驾驶证类(例如行车未携带驾驶证等);c:表示机动车行为类(违规停车、占道行驶等);d:表示驾驶员行为类(例如醉酒等);e:表示超速类;f:表示超载/重类;
由于篇幅有限,以下仅截取违法事件表的一部分如下表2.2:
2.处罚行为描述
目前的处罚行为分为:罚款、扣分、吊销驾照、扣车、扣证、拘留、收缴车辆、收缴非法设备、拖车、强制拆除十类。其中罚款的金额、扣分的分值、拘留的天数、扣车扣证的日期都有不同的数值,因此产生了多种处罚行为;为了减少重复出现的冗余,将处罚行为描述表只分为十类名称,具体的数值存入事实库中,根据用户输入具体的违法事件,动态读取数值。同时,在此表中为每类行为赋予操作属性,如0:表示加总;1:表示取其一;2:表示取最高;
3.规则表描述
基于以上的描述表,通过规则建立将违法事件与处罚行为建立对应关系,利用If…then的语句进行描述,形成程序中可识别的规则,由于篇幅有限,部分规则表显示如下表2.3:
(二)交通违法行为处罚专家系统工作机制
以下对阐述系统组成与工作机制:
1.用户界面:以选择的形式让用户确定违法车辆类型、违法事件种类,在上百条违法事件中迅速定位。
2.当前数据库:将违法处罚条例规范化、规则化。用户选择对应的违法事件后能查找数据库中变量信息。
3.知识库:存放违法事件与处罚决定的对应规则。在本课题中运用的知识是产生式规则。以IF…THEN的形式出现,条件与结论均可以通过逻辑运算AND ,OR ,NOT进行复合。换言之,这里的知识库就是一个规则集。
4.推理机:将当前数据库的信息与知识库中的规则作匹配。具体步骤如下:
(1)规则匹配:根据当前数据库中数据标识能够匹配的规则。
(2)冲突消解:根据某种规则选择使用某规则。
(3)规则缓存:使当前数据库缓存原来选择的。
(4)多次选择:根据不同的违法种类选择违法行为,重复1-4步骤。
(5)解释机制:根据匹配的规则产生输出和形成规范的处罚通知书。
以下用一个具体实例来说明系统运行过程,由于规则较多,此处选取有代表性的加以说明。假设某运营车超载、同时超速20%,车顶安装了非法载货架,被拦截之后发现司机酒后驾车,且没有携带驾驶证。此时交警需要先记录车牌号码,接着选择“运营车辆”类型,此时会在违法事件种类中查找编号首字母为“0”的记录;再选择超载类,由于“超速类”的处罚不区分“运营车”与“非运营车”,因此在规则库中采用“&”的逻辑直接定位到2e种类编号,并且快速搜索出所有属于2e的违法事件列表,复选框内的违法行为“超速30%以下”,点击“确定”,进行违法事件与处罚行为的规则匹配,如果没有立即点击“输出处罚通知书”,该操作将结果缓存入数据库中。接着重复选择“超速”类,重复以上操作;当将所有违法事件都选择好后,系统会根据对应的处罚描述表中的处罚属性选择判定是“0”|“1”|“2”,对读入缓存事实库中的多条处罚行为判定它们的数值应该是“加和”|“取其一”|“取最高”,计算出最终处罚结果,由于“一事不再罚原则”,对于相同违法行为如果原来有需要“加总”的属性列存在,将会判定“取其一”的做法,而不会加总。列点击“输出行政违法处罚通知书”,既可以得到具有规范格式的“行政违法处罚通知书”。该通知书上标明了处罚时间、地点、违法车牌号、车主姓名、违法行为列表、最终处罚决定、执法交警和被处罚人签名信息。
(三)处罚专家系统的管理
完整的专家系统框架需要包括对规则和知识的更新机制,由于交通非法处罚条例中的违法事实基本是不会发生变化的,变化的是根据针对每项违法事件的处罚决定,例如处罚种类的变更或者数值的增减。因此针对此特点,在对违法处罚规则进行更新和管理的时候,只需要修改其对应关系即可,减少了管理的难度。设置规则更新和管理界面,用户可以根据自己的使用习惯或者根据法律实施条例的变更对规则进行更新操作。
通过设置专家系统规则管理界面选择需要更改的违法行为,查看原先的处罚决定,并且做相关的修改,既可以更新规则对应关系。
三、小结
通过处罚专家系统的实现,解决了目前交警自由裁量权把握不准,仅凭经验处罚而出现“罚多”、“罚少”的模
糊裁量问题,减少警民纠纷;同时该系统具有很大灵活性,一旦法律相关实施条例变化可以直接通过管理界面更新修改,不需要改动指挥中心应用系统程序,具有较强的推广作用。另外,系统会记录违法行为数据,作为以后分析违法行为种类的数据挖掘基础。目前,系统仍存在不足之处,对于知识的获取仅通过过人工知识获取这种方式,并没有实现机器学习,建立内部知识结构不断地不断更新。在将来随着高速公路监控指挥系统的不断扩展,处罚机制将不断完善。
(指导老师:姚淑珍,北京航空航天大学计算机学院,教授。)
项目简介:本课题为《广西高速公路智能化监控指挥系统》项目的一个子课题
参考文献:
[1]《道路交通安全违法行为处理程序规定》[S].2004年5月1日颁布.
[2]沈锡峰,软件重用的MIS应用系统设计与实现[J].无锡轻工大学学报,第二十卷,第六期.
[3]蔡自兴、徐光佑,人工智能及其应用[M].北京:清华大学出版社,2003年.
[4]田晶、黄仁涛、匡露露,专题地图制图决策系统规则库的设计[J].地理空间信息2007年2月,第五卷(第2期)
[5]于会、李伟华、陈栋,专家系统中的知识表示及其实时处理方法研究[J].微电子学与计算机,2005,22(5):20~22.
[6]Giarratano J,Riley G.Expert Systems Principles and Program2,ming[M].3rd ed.北京:机械工业出版社,2002年.
作者简介:
夏春燕,北京航空航天大学软件学院,硕士研究生。