基于Erlang的人工交通系统实现方法技术方案

技术编号:15299404 阅读:127 留言:0更新日期:2017-05-12 01:23
本发明专利技术涉及一种基于Erlang的人工交通系统实现方法。该方法包括获取交通场景信息以及个体的信息、状态和交通行为;设定操作进程、区域进程和个体进程;其中,操作进程用于控制人工交通系统的运行;区域进程用于控制某一区域并管理区域内的所有个体同时为各个体提供环境信息,还用于统计并模拟交通场景中个体的信息和状态;个体进程用于根据环境信息模拟各个体的交通行为;操作进程管理区域进程;区域进程生成和管理个体进程;基于交通场景信息以及个体的信息、状态和交通行为,利用操作进程、区域进程和个体进程,进行仿真,得到交通场景的路况。通过该技术方案解决了如何使人工交通系统具有并发和分布式运行的能力,高效利用计算资源的技术问题。

Implementation method of artificial traffic system based on Erlang

The invention relates to a method for realizing an artificial traffic system based on Erlang. The method includes obtaining traffic scene information and individual information, state and traffic behavior; setting operation process, regional process and individual process; the operation process for the control of artificial transportation system operation; regional process for controlling all individuals in a given area and management area and provide environmental information for each individual, but also for statistics and the individual in the scene simulation of traffic information and status; individual processes for environmental information according to the simulation of traffic behavior of each individual; the operation process management process areas; regional process of generation and management of individual processes; traffic scene information and individual information, state and traffic behavior based on the operation process, regional process and individual process simulation the road, traffic scene. Through the technical scheme, the problem of how to make the artificial traffic system have concurrent and distributed operation capability and how to efficiently utilize the computing resource is solved.

【技术实现步骤摘要】

本专利技术涉及交通系统
,尤其是涉及一种基于Erlang的人工交通系统实现方法
技术介绍
交通是关系社会发展的重要基础设施,世界各国都投入巨大的人力和物力加以建设。但发展过程中出现了各种问题,如交通拥堵、事故频发等。作为一种重要的研究手段,交通仿真方法试图在建立传统数学模型的基础上,对交通系统进行还原分析;然而,随着城市化进程的加快和汽车拥有量的迅猛增长,交通系统的规模越来越大,与人口、自然、政治、经济等要素的相互作用日益复杂,难以建模和分析,因此这种试图通过对交通部分行为的单独分析而完全确定整体交通的行为的研究思路也正变得日渐困难。在此背景下,有学者于2003年提出了人工交通系统的概念。人工交通系统是传统微观交通仿真系统的延伸。人工交通系统的基本思想是利用基于代理的建模和模拟方法,将现实交通系统中的每个参与者表示成具有一定自主性、社会性、学习性、主动性和移动性的代理,然后通过代理与代理、代理与环境、环境与环境的相互作用,自底向上“涌现”出各种复杂的交通现象。实践表明,结合人工交通系统理论和计算实验方法,不仅能够方便地分析交通系统的各种复杂行为,对各种决策进行量化的评估,而且还能够设计和实施各种在现实中无法进行的试验,找出影响交通系统的可控因素朝着既定的目标实施(实验)控制策略。在人工交通系统的理想模型中,交通行为的产生和演化是自我完备的,而且为了体现交通的整体特性,系统还包括了能够对交通产生影响的社会环境相关子系统,如物流、天气、法规等;因而其建模的对象更为广泛,对象间的交互更为频繁,不可避免地也带来更大的计算量,也更需要有类似并发、分布式这类高性能的计算手段。有鉴于此,特提出本专利技术。
技术实现思路
为了解决现有技术中的上述问题,即为了解决如何使人工交通系统具有并发和分布式运行的能力,高效利用计算资源的技术问题而提供一种基于Erlang的人工交通系统实现方法。为了实现上述目的,提供以下技术方案:一种基于Erlang的人工交通系统实现方法,所述方法包括:获取交通场景信息以及个体的信息、状态和交通行为;设定操作进程、区域进程和个体进程;其中,所述操作进程用于控制所述人工交通系统的运行;所述区域进程用于控制某一区域并管理所述区域内的所有个体同时为各所述个体提供环境信息,还用于统计并模拟所述交通场景中所述个体的信息和状态;所述个体进程用于根据所述环境信息模拟各所述个体的交通行为;一个所述操作进程管理一个或多个所述区域进程;一个所述区域进程生成和管理一个或多个所述个体进程;基于所述交通场景信息以及所述个体的信息、状态和交通行为,利用所述操作进程、所述区域进程和所述个体进程,利用Erlang进行仿真,得到所述交通场景的路况。进一步地,所述基于所述交通场景信息以及所述个体的信息、状态和交通行为,利用所述操作进程、所述区域进程和所述个体进程,利用Erlang进行仿真,得到所述交通场景的路况,具体包括:所述操作进程向所述区域进程发送初始化指令,所述初始化指令包含区域编号;所述区域进程接收到所述初始化指令后,根据Mnesia数据库的内容生成所述交通场景中与所述区域编号对应区域的个体进程;所述操作进程发送步进指令至所述区域进程;所述区域进程接收到所述步进指令后,向所述个体进程发送环境信息;所述个体进程接收到所述环境信息后向所述区域进程反馈状态信息;所述操作进程向所述区域进程发送终止指令;所述区域进程接收到所述终止指令后,终止所述个体进程。进一步地,所述方法还包括:采用Erlang的Gen_Server行为模式用于接受所述区域进程的注册请求;采用Erlang的Supervisor行为模式生成所述个体进程;采用Gen_Fsm模式来实现有限状态机模型,用于模拟所述个体的所述交通行为。进一步地,所述方法还包括:采用Erlang的Gen_Server行为模式,初始化所述人工交通系统,并设定所述人工交通系统的开始、暂停以及终止条件。进一步地,所述区域进程根据ETS数据表发送所述环境信息给所述个体进程,其中所述ETS数据表存储所有所述个体进程的初始行为状态信息。进一步地,所述交通场景信息包括:路口的数量、路口的地理信息、路长、路宽、车道数量及信号灯的情况。进一步地,所述个体的信息包括人的性别、年龄和职业以及车辆的型号;所述个体的状态包括在所述交通场景的场所内活动的状态、出行在所述交通场景的任一区域的道路上的状态、请求离开所述交通场景的任一区域的状态及请求进入所述交通场景的目标区域的状态;所述个体的交通行为包括活动行为和出行行为。本专利技术实施例提供一种基于Erlang的人工交通系统实现方法。该方法包括获取交通场景信息以及个体的信息、状态和交通行为;设定操作进程、区域进程和个体进程;其中,操作进程用于控制人工交通系统的运行;区域进程用于控制某一区域并管理区域内的所有个体同时为各个体提供环境信息,还用于统计并模拟交通场景中个体的信息和状态;个体进程用于根据环境信息模拟各个体的交通行为;一个操作进程管理一个或多个区域进程;一个区域进程生成和管理一个或多个个体进程;基于交通场景信息以及个体的信息、状态和交通行为,利用操作进程、区域进程和个体进程,利用Erlang进行仿真,得到交通场景的路况。通过该技术方案解决了如何使人工交通系统具有并发和分布式运行的能力,高效利用计算资源的技术问题。附图说明图1a为Erlang并发机制示意图;图1b为另一Erlang并发机制示意图;图2为根据本专利技术实施例的基于Erlang的人工交通系统实现方法的流程示意图;图3为根据本专利技术实施例的人工交通系统的Erang进程树的结构示意图;图4为根据本专利技术实施例的操作进程、区域进程和个体进程之间信息流的交互示意图;图5为根据本专利技术实施例的启动node1节点示意图;图6为根据本专利技术实施例的启动操作进程的示意图;图7为根据本专利技术实施例的启动node2节点示意图;图8为根据本专利技术实施例的向运行在node1节点上的操作进程发送注册请求的示意图;图9为根据本专利技术实施例的启动node3节点的示意图;图10为根据本专利技术实施例的对人工交通系统数据进行初始化的示意图;图11为根据本专利技术实施例的开始运行示意图;图12为根据本专利技术实施例的在node2上每个个体每秒的运行记录示意图;图13为根据本专利技术实施例的在node3上每个个体每秒的运行记录示意图。具体实施方式下面参照附图来描述本专利技术的优选实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本专利技术的技术原理,并非旨在限制本专利技术的保护范围。本专利技术实施例的基本思想是利用Erlang在并发和分布式计算方面的独特优势,来实现人工交通系统搭建和实现方法,使其同样具有并发和分布式运行的能力,从而实现对计算资源的高效利用。Erlang是一种通用的面向并发的编程语言,它由瑞典电信设备制造商爱立信所辖的CS-Lab开发,目的是创造一种可以应对大规模并发活动的编程语言和运行环境。Erlang问世于1987年,经过十年的发展,于1998年发布开源版本。Erlang最大的特点是在语言层面原生地支持并发,其并发的基本单位是进程。每个Erlang进程代表一个持续的活动,是某段程序代码的执行代理,与其他按各自的节奏执行自身代码的进程一起并发运行。Erla本文档来自技高网
...
基于Erlang的人工交通系统实现方法

【技术保护点】
一种基于Erlang的人工交通系统实现方法,其特征在于,所述方法包括:获取交通场景信息以及个体的信息、状态和交通行为;设定操作进程、区域进程和个体进程;其中,所述操作进程用于控制所述人工交通系统的运行;所述区域进程用于控制某一区域并管理所述区域内的所有个体同时为各所述个体提供环境信息,还用于统计并模拟所述交通场景中所述个体的信息和状态;所述个体进程用于根据所述环境信息模拟各所述个体的交通行为;一个所述操作进程管理一个或多个所述区域进程;一个所述区域进程生成和管理一个或多个所述个体进程;基于所述交通场景信息以及所述个体的信息、状态和交通行为,利用所述操作进程、所述区域进程和所述个体进程,利用Erlang进行仿真,得到所述交通场景的路况。

【技术特征摘要】
1.一种基于Erlang的人工交通系统实现方法,其特征在于,所述方法包括:获取交通场景信息以及个体的信息、状态和交通行为;设定操作进程、区域进程和个体进程;其中,所述操作进程用于控制所述人工交通系统的运行;所述区域进程用于控制某一区域并管理所述区域内的所有个体同时为各所述个体提供环境信息,还用于统计并模拟所述交通场景中所述个体的信息和状态;所述个体进程用于根据所述环境信息模拟各所述个体的交通行为;一个所述操作进程管理一个或多个所述区域进程;一个所述区域进程生成和管理一个或多个所述个体进程;基于所述交通场景信息以及所述个体的信息、状态和交通行为,利用所述操作进程、所述区域进程和所述个体进程,利用Erlang进行仿真,得到所述交通场景的路况。2.根据权利要求1所述的方法,其特征在于,所述基于所述交通场景信息以及所述个体的信息、状态和交通行为,利用所述操作进程、所述区域进程和所述个体进程,利用Erlang进行仿真,得到所述交通场景的路况,具体包括:所述操作进程向所述区域进程发送初始化指令,所述初始化指令包含区域编号;所述区域进程接收到所述初始化指令后,根据Mnesia数据库的内容生成所述交通场景中与所述区域编号对应区域的个体进程;所述操作进程发送步进指令至所述区域进程;所述区域进程接收到所述步进指令后,向所述个体进程发送环境信息;所述个体进程接收到所述环境信息后向所述区...

【专利技术属性】
技术研发人员:王飞跃陈松航朱凤华叶佩军
申请(专利权)人:中国科学院自动化研究所
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1