• 1. 计算机仿真作战软件教研室 曹雷2006.09
  • 2. 一、课程目标 掌握计算机仿真的基本概念和方法 重点掌握离散系统仿真方法 了解计算机仿真在军事中的应用 了解国际仿真标准 了解仿真新技术 二、授课方式 以课堂授课为主线 以学员自学为辅助 以课后实验为主体课程说明
  • 3. 以课堂授课为主线第1章 计算机仿真基础知识(3) 第2章 离散系统仿真(21) 第3章 连续系统仿真(2) 第4章 作战模拟(6) 第5章 多智能体仿真(8)
  • 4. 课程说明一、课程目标 掌握计算机仿真的基本概念和方法 重点掌握离散系统仿真方法 了解计算机仿真在军事中的应用 了解国际仿真标准 二、授课方式 以课堂授课为主线 以学员自学为辅助 以课后实验为主体
  • 5. 以学员自学为辅助1、随机数产生及其检验方法 2、从概率分布产生随机变量的方法 3、SimLib的分析 4、CSMA/CD仿真分析 5、作战模型 典型作战行动的描述 兰切斯特战斗动态方程 指数法与定量判断模型 系统动力学用于作战模拟 蒙特卡罗方法用于作战模拟
  • 6. 课程说明一、课程目标 掌握计算机仿真的基本概念和方法 重点掌握离散系统仿真方法 了解计算机仿真在军事中的应用 了解国际仿真标准 二、授课方式 以课堂授课为主线 以学员讲课为辅助 以课后实验为主体
  • 7. 1、炮兵射击的模拟 2、随机数的产生及检验 3、随机变量的产生 4、哲学家用餐问题仿真 5、排队系统仿真及其结果分析 6、连续系统仿真以课后实验为主体计算机仿真是一门实践性很强的学科
  • 8. 三、课程考试 6+4 平时实验60 闭卷笔试40 四、必备知识 概率与数理统计 计算机语言 排队论
  • 9. 五、参考书籍 Simulation Modeling and Analysis Third Edition Averill M.Law McGraw-Hill 系统仿真导论 肖田元 清华大学出版社 连续系统仿真与离散事件系统仿真 熊光愣 清华大学出版社
  • 10. 计算机仿真 第1章 计算机仿真基础知识 第2章 离散系统仿真 第3章 连续系统仿真 第4章 作战模拟 第5章 多智能体仿真
  • 11. 第1章 计算机仿真基础知识 1.1 系统、模型、仿真 1.2 模型和仿真分类 1.3 仿真过程 1.4 模型结构 1.5 仿真软件 1.6 仿真技术的应用
  • 12. 1.1系统、模型、仿真 1.1.1系统G.Golden----“系统这个术语已经在各个领域用得如此广泛,以至很难给它下一个定义。”系统----最早见著 “世界大系统” 德谟克利特(公元前460-公元前370年) “任何事物都是在联系中显现出来的,都是在系统中存在的,系统联系规定每一事物,而每一联系又能反映系统的联系的总貌。”
  • 13. 1.1.1系统G.Golden---- “按照某些规律结合起来,互相作用、互相依存的所有实体的集合或总和”。
  • 14. 实体:服务员、顾客 顾客:按某种规律到达,服务完毕后顾客离去 服务员:根据顾客的要求,按一定的程序服务 相互作用: 顾客到达模式影响着服务员的工 作忙闲状态、顾客排队状态, 服务员的多少和服务效率,影响着顾 客接受服务的质量 理发馆系统:
  • 15. 实体:电动机、测速元件、比较元件以及控制器。 相互作用:实现按给定要求调节电动机的速度电动机调速系统
  • 16. 定义系统: 确定边界、输入、输出 描述系统“三要素”:实体、属性、活动边界环境系统输入输出
  • 17. 实体确定了系统的构成,也就确定了系统的边界; 属性也称为描述变量,描述每一实体的特征; 活动定义了系统内部实体之间的相互作用,从而确定了系统内部发生变化的过程。
  • 18. 系统分为两类: 离散系统(Discrete) 连续系统(Continuous)。 离散系统是指系统状态只在离散的时间点上发生变化。 连续系统的状态随着时间的变化而连续发生变化。
  • 19. 1.1.2 模型模型(model):模型是一个受某些特定条件约束,在行为上与其所模拟的物理、生物或社会的系统相似,被用于理解这些系统的数学或物理系统。实际系统本质的抽象与简化 建模(modeling):对被仿真对象建立模型的过程。
  • 20. SystemExperiment with the actual systemExperiment with a model of the systemPhysical modelMathematical modelAnalytical solutionSimulationSimulation: numerically exercising the model for the inputs in question to see how they affect the output measures of performance
  • 21. 1.1.3 仿真1961年,G.W.Morgenthater,首次技术性定义 “仿真意指在实际系统尚不存在的情况下 对于系统或活动本质的实现”。 1978年,Körn,“连续系统仿真” “用能代表所研究的系统的模型作实验”。 1982年,Spriet――进一步将仿真的内涵加以扩充 “所有支持模型建立与模型分析的活动即为仿真活动”定义:
  • 22. 1984年,Oren――给出了仿真的基本概念框架“建模-实验-分析” “仿真是一种基于模型的活动”定义: 为了对系统进行分析研究,首先建立系统的模型,然后在模型上进行试验这一过程就称为仿真,或系统仿真。
  • 23. 系统仿真分为三种: 物理仿真 数学仿真(计算机仿真) 物理-数学仿真(半实物仿真) 按照真实系统的物理性质构造系统的物理模型,并在物理模型上进行试验。 按照真实系统的数学关系构造系统的数学模型,并在数学模型上进行试验。数学仿真一般就是在计算机上对系统的数学模型进行试验,因此称为计算机仿真
  • 24. “系统、模型、仿真”三者之间的关系: 系 统模 型计算机系统建模仿真实验仿真建模 计算机仿真三要素及三个基本活动 系统是研究的对象 模型是系统的抽象 仿真是对模型的实验
  • 25. 概念模型建立模拟试验仿真模型构建 作战模拟的要素及活动 作战模拟系统作战概念模型 作战系统
  • 26. 第一章 计算机仿真基础知识 1.1 基本概念 1.2 模型和仿真分类 1.3 仿真过程 1.4 模型结构 1.5 仿真软件 1.6 仿真技术的应用
  • 27. 1.2.1 模型的分类 从广义上说,模型可以分为两大类:肖像模型和类比模型。 建筑模型、沙盘、地球仪都属于肖像模型。肖像模型不是计算机仿真研究的对象。 类比模型是用结构和过程来表示系统,虽然这种结构和过程与实际的系统不同,但是具有某种抽象的、逻辑上的相似性。所以,类比模型才是计算机仿真所要研究的对象。 下面,我们按照模型的可预测性、可解性、时变性和可离散性将类比模型分类:
  • 28. 可预测性。指输出值对输入值依赖的确定性程度。可分为确定性模型(Derterministic)和随机性模型(Stochastic)。 可解性。根据模型是否可解可划分为解析模型和描述模型。 时变性。模型中是否含有时间变量可划分为静态模型(Static)和动态模型(Dynamic)。在静态模型中,模型表示的是系统在特定时间的行为,或者系统和时间无关。在动态模型中,时间是一个重要的输入变量,系统状态的变化是随着模型时间的推进而变化的。
  • 29. 可离散性。可离散性指能否把时间变量看成离散的或连续的变量。上述动态模型根据可离散性可进一步分为离散模型(Discrete)和连续模型(Continuous)。 很显然,离散模型一般用来对离散系统建模;连续模型一般用来对连续系统建模.
  • 30. 1.2.2 仿真的分类 按模型的物理属性分: 物理仿真 计算机仿真 半实物仿真 根据仿真时钟与实际时钟的比例关系分类 实时仿真 亚实时仿真 超实时仿真 根据系统模型的特性分类 连续系统仿真 离散事件系统仿真
  • 31. 第一章 计算机仿真基础知识 1.1 基本概念 1.2 模型和仿真分类 1.3 仿真过程 1.4 模型结构 1.5 仿真软件 1.6 仿真技术的应用
  • 32. 1.3 模拟过程 模拟过程是指建立模型并用所建立的模型去分析系统的一系列步骤。实际系统建模与形式化形式模型是否可信否?建模与形式化: 确定模型的边界, 模型进行形式化处理 仿真建模: 选择合适的算法, 算法的稳定性、计算精度、计算速度必须满足仿真的需求
  • 33. 仿真建模程序设计仿真模型校验否仿真运行仿真结果分析是否是结束正确否?正确否?程序设计: 将仿真模型用计算机能执行的程序来描述 程序中要包括仿真实验的要求,仿真运行参数、控制参数、输出要求 模型校验 : 程序调试 , 检验所选仿真算法的合理
  • 34. 模型校验 : ★检验模型计算的正确性(Verification) 仿真运行 : 对模型进行实验 仿真结果分析: 对系统性能作出评价 模型可信性检验(Validation) ★只有可信的模型才能作为仿真的基础
  • 35. VV&A: Verification (校核) 确定仿真模型的实现是否准确地表达了开发者的概念描述和指标的过程 Validation(验证) 从预期应用的角度出发,确定仿真模型表示真实世界的准确程度的过程 Accreditation(确认) 官方对仿真模型可应用于特定目的的认可
  • 36. 第一章 计算机仿真基础知识 1.1 基本概念 1.2 模型和仿真分类 1.3 仿真过程 1.4 模型结构 1.5 仿真软件 1.6 仿真技术的应用
  • 37. 1.4 模型结构 模型一般可以分为两个部分: 逻辑部分 数学部分 逻辑部分指管理模型各部件行为的规则。 数学部分指用解析表达式或统计数据表示的行为。
  • 38. 问题: 假设某炮兵营有M门同一类型的火炮,以已知的单发炮弹命中概率P攻击一个目标。射击战术规则是:发射是连续进行的,只要其中有一门火炮发射的炮弹命中目标,全营各火炮立即停止射击。 ⑴在已知的火炮命中概率下,为了能在第一次打击中击毁目标,又要节省炮数,一个营应配备多少门炮为最佳? ⑵在已知的火炮门数下,为了能在第一次打击中击毁目标,又要节省炮数,火炮命中率应该为多少?
  • 39. 开始初始数据M、P、N和条件 发射命中?模拟完毕? 输出结果 结束 M门火炮都已发射?统计失败次数复原初始条件NNYNYY怎样模拟发射,并判断一门火炮是否命中目标?
  • 40. 逻辑部分包含三条规则,为图中三个菱形框表示的条件语句。 数学部分:假设失败次数为F,则成功的概率 为1-F/N, F=F+1,已发射次数W=W+1
  • 41. 实验: ⑴P=0.25,要使第一次打击的成功率大于0.5,一个营至少配备多少门炮? ⑵已配备4门炮,要使第一次打击的成功率大于0.5,火炮命中率应为多少?
  • 42. 第一章 计算机仿真基础知识 1.1 基本概念 1.2 模型和仿真分类 1.3 仿真过程 1.4 模型结构 1.5 仿真软件 1.6 仿真技术的应用
  • 43. 1.5 仿真软件 建模和分析人员首先面临的就是模拟软件的选择。如果选择的软件太不灵活或太难使用,对模拟系统的实现不利。模拟软件模拟软件包 Simulation Packages 一般编程语言通用模拟软件包 General-purpose Simulation Packages 专用模拟软件包 Application-oriented Simulation Packages
  • 44. 使用模拟软件包的优点 模拟软件包自动提供大部分构成仿真模型所需的要素,大大降低了编程时间和整个工程的费用。 提供建模的框架 仿真模型易于修改和维护 有效降低发生错误的概率
  • 45. 使用一般编程语言的优点 效率高 熟悉 灵活性高 软件本身的费用低。
  • 46. 通用模拟软件包和专用模拟软件包 历史上,通用模拟软件包主要指一些模拟语言,以编写代码的方式来开发模型;而专用模拟软件包面向特定的应用,用图形、对话框、下拉菜单等可视化的工具来开发模型。因此相比较而言,通用软件包比较灵活,但比较难以使用;而专用软件包比较容易使用,但缺乏灵活性。现在模拟软件的发展使得这种差别越来越小。 目前,通用和专用模拟软件包的主要差别在于专用和通用。
  • 47. 比较流行的通用软件包有: l       美国系统建模公司的Arena l       美国Imagine That Inc.的Extend 专用软件包的例子: l       Manufacturing:AutoMod,AutoSched AP, Extend+Manufacturing,Arena Packaging Edition, Taylor Enterprise Dynamics l       Communications Networks:COMNETⅢ,IT DecisionGuru,OPNET Modeler l       Health Care :MedModel
  • 48. l Multigen-Paradigm公司 MultiGenCreator/Vega视 景建模与仿真工具 MultiGen Creator系列产品是世界上领先的实时三维数据库生成系统,它可以用来对战场仿真、娱乐、城市仿真和计算可视化等领域的视景数据库进行产生、编辑和查看。这种先进的技术由包括自动化的大型地形和三维人文景观产生器、道路产生器等强有力的集成选项来支撑。MultiGen Creator是一个完整的交互式实时三维建模系统,广泛的选项增强了其特性和功能。
  • 49. Vega是MultiGen-Paradigm公司应用于实时视景仿真、声音仿真和虚拟现实等领域的世界领先的软件环境。基于SGI的Performer软件之上的Vega,为Performer增加了许多重要的特性,它将易用的工具和高级仿真功能巧妙地结合起来,从而可使用户简单迅速地创建、编辑、运行复杂的仿真应用。由于Vega 大幅度减少了源代码的编写,使软件的进一部维护和实时性能的优化变得更容易,从而大大提高了开发效率。使用Vega 可以迅速地创建各种实时交互的三维环境,以满足各行各业的需求。它还拥有一些特定的功能模块,可以满足特定的仿真要求,例如:船舶、红外、雷达、照明系统、人体、大面积地理信息和分布式交互仿真等等
  • 50. 应用范围
  • 51. l 加拿大Virtual Prototypes(VPI)公司 Stage战术仿真与训练 STAGE的应用领域: 红、兰军模拟对抗的战术仿真和开发 驾驶舱和飞行过程训练,空勤人员的导航与武器训练等 武器系统的开发和验证、评估 战术小组、电子战小组的训练 空中交通的指挥和控制 STAGE最适合作分布式交互仿真(DIS)系统的框架
  • 52. l Sequoia Integrator for HLA     将新的、或已有的仿真系统集成在HLA环境中的可视化开发工具。
  • 53. lSequoia SimBuilder Sequoia Simbuilder 是一个基于HLA体系结构的跨平台仿真应用快速开发环境。主要用于开发分布交互式仿真系统:软件提供完整的通用仿真模型库以及专门针对军用仿真的框架和模型,利用综合可视化开发环境生成仿真模型,并且采用图形用户界面的方式实现模型之间的交互,最终生成基于目前国际上最先进的HLA高层体系结构的仿真应用程序
  • 54. 第一章 计算机仿真基础知识 1.1 基本概念 1.2 模型和仿真分类 1.3 仿真过程 1.4 模型结构 1.5 仿真软件 1.6 仿真技术的应用
  • 55. 制造系统的分析与设计 通信网络协议性能的分析 金融或经济系统的分析 武器系统的评估 作战模拟与训练仿真技术的应用
  • 56. 第2章 离散系统建模 2.1 产生随机变量 2.2 离散系统建模方法 2.3 结果分析
  • 57. 2.1 产生随机变量 2.1.1 随机数产生器 2.1.1.1 均匀分布随机数 2.1.1.2 线性同余发生器(Linear Congruential Generator) 2.1.1.3 随机数检验 2.1.2 生成随机变量 2.1.2.1 从概率分布产生随机变量的方法 2.1.2.2 常用概率分布 2.1.3 选择输入概率分布
  • 58. 2.1.1.1均匀分布随机数 均匀分布是一种重要的概率分布,记为U(0,1), 是其它分布的随机数生成的基础。 随机数应具备下列几条标准: l  取值范围尽可能大。 l  周期长。 l  自关性小。自关性指随机数序列中前部序列对当前行为的影响。 l  具有好的统计性。在长随机流中可以根据随机性预测数值在不同区间出现的频度。 l  运行速度快
  • 59. 2.1 产生随机变量 2.1.1 随机数产生器 2.1.1.1 均匀分布随机数 2.1.1.2 线性同余发生器(Linear Congruential Generator) 2.1.1.3 随机数检验 2.1.2 生成随机变量 2.1.2.1 从概率分布产生随机变量的方法 2.1.2.2 常用概率分布 2.1.3 选择输入概率分布
  • 60. 线性同余发生器1951年,D.H.Lehmer发明,为效果最好的随机数发生器。 (mod m) 其中Zi是第i个随机数, 为乘子, C为增量, m为模数, Z0称为随机数源或种子, 均为非负整数。 Zi满足: 为了得到[0, 1]区间上所需要的随机数Ui, 可令:
  • 61. 设则(mod m) 即一旦 确定, 则 Zi就完全确定下来了。
  • 62. 例: 观察 的线性同余发生器 。 i Zi Ui i Zi Ui 0 7   10 9 0.563 1 6 0.375 11 0 0.000 2 1 0.063 12 3 0.188 3 8 0.500 13 2 0.125 4 11 0.688 14 13 0.813 5 10 0.625 15 4 0.250 6 5 0.313 16 7 0.438 7 12 0.750 17 6 0.375 8 15 0.938 18 1 0.063 9 14 0.875 19 8 0.500
  • 63. 特点: (1) Zi值位于[0, m-1]区间上, 因而Ui位于[0, 1]区间内; (2)适当选择m  c, 可使Zi循环产生, 无论Z0取何值, 其循环顺序是相同的。 循环一次称为发生器的一个周期, 记为P。如果 P=m, 则称该发生器具有满周期。 (3) 适当地选择m  c, 可保证在[0, m-1]区间上一个周 期内每个整数正好出现一次, 从而保证了均匀性; (4) 为提高的均匀性, 要求加大m。
  • 64. 如果m足够大, 且发生器具有满周期, 那么可以预计, 所得到的Ui在[0, 1]区间上是均匀分布的, 且取值是相当密的。这样就可足够近似于真正的[0, 1]区间上的均匀分布U(0, 1)。 如何选择m  c, 就能保证线性同余发生器具有满周期呢?
  • 65. 当且仅当下列条件满足时, 线性同余发生器具有满周期: (1) m与C能同时被整除的唯一正整数是1; (2) 如果q是整除m的素数, 则q能整除-1; (3) 如果m能被4整除, 则-1也能被4整除。 定理:
  • 66. 在实际使用中,线性同余发生器有两种形式: 混合乘同余(C>0) 乘同余(C=0)混合乘同余发生器: 一般选择m=2b, C为奇数, 而a可被4整除, 将得到满周期。 乘同余发生器:C=0, 无论怎样选择m, 则定理的条件(1)满足不了, 因而不可能得到满周期。是否存在一个大缺口亦难以确定(可以证明如选择m=2b,p=m/4,如何分布难以确定)。
  • 67. 为了提高乘同余的可用性,人们进行了大量研究,发现可以通过恰当选取m及a实现满周期或接近满周期,较突出的为素数取模乘同余法(PMMLCG): m是小于2b的最大素数, 而a的选择满足al-1被m整除的最小整数, 也就说能被m整除的al-1的最小整数为am-1-1, 那么得到的Zi的周期为m-1, 且在每个周期内, 1,2,…,m-1这些整数严格地只出现一次。
  • 68. PMMLCG的优点:它避免 “缺口”问题, m能容易确定, 不需要选择c, 若m足够大, 其周期也很长。两个经过检验的, 性能较好的PMMLCG: (mod 235 -31) (mod 231 -1)
  • 69. 2.1 产生随机变量 2.1.1 随机数产生器 2.1.1.1 均匀分布随机数 2.1.1.2 线性同余发生器(Linear Congruential Generator) 2.1.1.3 随机数检验 2.1.2 生成随机变量 2.1.2.1 从概率分布产生随机变量的方法 2.1.2.2 常用概率分布 2.1.3 选择输入概率分布
  • 70. 2.1.1.3 随机数检验 ⑴均匀性(Uniformity)检验 也即检验随机数的随机性 ⑵独立性检验 检验随机数之间的相关性
  • 71. ⑴均匀性(Uniformity)检验将随机数发生器的取值范围[0, 1]分成K个互不重叠的等长的子区间, 由该随机数发生器产生N个随机数 Ui(i=0,1…N)。 按照均匀性的要求, 随机数落在每一个子区间上的理论概率P=1/K,即落在每一个子区间上的随机数个数的理论值为n=N/K,称为理论频率。 实际Ui落在每一个子区间上的个数为 这样就会有偏差
  • 72. 采用2检验实际频率与理论频率之间的偏差大小, 即 2检验步骤: (1) 原假设H0: 给定随机数发生器产生的是独立同分 U(0,1)的随机变量; (2) 将[0, 1]分成K个等长的子区间; (3) 由该随机数发生器产生N个随机数Ui (4) 统计计算在每个子区间上的随机数的个数
  • 73. (5) 计算 (6) 在原假设条件下, 2接近K-1自由度的2分布。 规定检验水平 α,若 则拒绝H0;否则不拒绝H0 。2检验步骤:
  • 74. (2)独立性检验 计算相邻一定间隔的随机数之间的相关系数, 然后判断其相关程度。 因为相关系数为0是两个随机变量相互独立的必要条件, 其值大小可以评价相关程度。 对于给定的随机数发生器, 由它产生N个随机数Ui, 则前后相隔为j个数的相关系数之均值为: 其中S2为随机数的方差:
  • 75. 检验步骤: (1) 原假设H0: 给定随机数发生器产生的Ui是独立同分布U(0,1)随机变量, 即ρ=0; (2) 由该随机数发生器产生N个Ui, 并计算 ; (3) 若N-j充分大(一般要求>50), 取统计量 渐近服从标准正态分布N(0, 1); (4) 给定检验水平α, 记Z1-α为N(0, 1)的上1-α的临界点, 则当 拒绝 H0 ; 不拒绝 H0
  • 76. 2.1 产生随机变量 2.1.1 随机数产生器 2.1.1.1 均匀分布随机数 2.1.1.2 线性同余发生器(Linear Congruential Generator) 2.1.1.3 随机数检验 2.1.2 生成随机变量 2.1.2.1 从概率分布产生随机变量的方法 2.1.2.2 常用概率分布 2.1.3 选择输入概率分布
  • 77. 2.1.2.1从概率分布产生随机变量的方法 仿真对产生随机变量的方法的要求: 准确性: 即由这种方法产生的随机变量应准确地具有所要求的分布; 快速性: 离散事件仿真一次运行往往需要产生几万甚至几十万个随机变量。 介绍四类最常用的产生随机变量的方法: l   反函数法(Invers Transform) l   组合法(Composition) l  卷积法(Convolution) l  舍选法(Acceptance-Rejection)
  • 78. 反函数法(Invers Transform)(1)连续随机变量的反函数法: 步骤: 设随机变量x的分布函数为F(x) 1.先产生在[0, 1区]间上均匀分布的独立随机变量U; 2.由反分布函数得到的值即为所需要的随机变量x=F-1 (U)
  • 79. l  随机变量概率分布函数的取值范围为[0, 1] ; l  以在[0, 1]上均匀分布的独立随机 变量作为F(x)的取值规律; l  落在Δx内的样本个数的概率就是ΔF; l  从而随机变量x在区间Δx内出现的概 率密度函数的平均值为ΔF/ Δx; 当Δx趋于0时, 其概率密度函数就等于dF/dx, 即符合原来给定的密度分布函数, 满足正确性要求。原理:(P(X≦x)=P(F-1(U) ≦x)=P(U ≦F(x))=F(x))
  • 80. 50个随机数生成实例
  • 81. (2)离散随机变量的反函数法:设离散随机变量分别以概率P(x1), P(x2), …, P(xn)取值x1, x2, …, xn,其中,0
  • 82. 步骤:l  先要将xi按从小到大的顺序进行排序, 即x1
  • 83. 组合法(Convolution)当一个分布函数可以表示成若干个其它分布函数之和, 而这些分布函数较原来的分布函数更易于取样时, 则宜采用组合法。 设随机变量x的分布函数F(x): 其中pj>=0, 且 是其它类型的分布函数。 或者随机变量x的密度函数: 其中pj的定义与前面的相同, fj(x)是其它种类型的密度函数, 与它相应的分布函数为 Fj(x)
  • 84. 组合法产生随机变量的步骤: (1) 产生一个随机整数J, 满足P(J=j)=pj,j=1,2, … (确定采用哪一个分布函数来取样) (2) 产生具有分布函数Fj(x)的随机变量xj (以该分布函数产生随机变量) (3) 令 x=xj
  • 85. 例:设密度函数为 ,产生服从该分布的随机变量x。 图12.3 =0.5e -|x| 密度函数图形f(x) 0.5(p1=0.5)(p2=0.5)
  • 86. (1) 由U(0, 1)产生随机变量u1及u2 (2) 若u1<0.5, 则由f1(x)的分布函数产生, 即可由反变换法易于得到x, x=lnu2 (3) 若u1>=0.5, 则由f2(x)的分布函数产生, 即可由反变换法易于得到x, x=-lnu2 用组合法产生随机变量的方法如下:
  • 87. 卷积法(Convolution)设随机变量x可表示为若干个独立同分布的随机变量 Y1,Y2,…Ym之和, 即: x=Y1+Y2+…+Ym 则x的分布函数与 的分布函数相同, 此时称x的分布为Yi分布的m重卷积。
  • 88. 舍选法(Acceptance-Rejection)根据f(x)的特征规定一个函数t(x), 对t(x)的要求是: (1) t(x)>=f(x) (2) (3) 易于从t(x)进行反变换 令则将r(x)看作是一个密度函数, 并用r(x)代替f(x)取样, 以得到所需要的随机变量。
  • 89. r(x)由于并不是要求的f(x), 这就是产生选取与舍弃问题, 一般算法是:(1)     产生u1~U(0, 1); (2)     由r(x)独立地产生随机变量u2; (3)     检验如下不等式:u1<=f(u2)/t(u2); (4)     若不等式成立, 则令x=u2; (5) 否则返回第一步。
  • 90. 例 随机变量x的密度函数为如下分布: 若采用反变换法, 则必须求解多项式的根, 效率很低。 采用舍选法首先要选择, 因要求, 故先求极值: 令df/dx=0, 得x=0.6, f(0.6)=2.0736。 t(x)应是以x为自变量的函数, 且应易于求反变换。
  • 91. 令t(x)为一常数, 可取: 满足t(x)>=f(x) 从而令即
  • 92. 所以r(x)为[0, 1]区间均匀分布的密度函数,从而用舍选法产生x的算法如下: (1) 产生u1~U(0, 1) (2) 由r(x)独立地产生u2, 即u2~U(0, 1) (3) 检验 , 若满足, 则令x=u2; (4)否则返回第一步。 舍选法图示
  • 93. 2.1 产生随机变量 2.1.1 随机数产生器 2.1.1.1 均匀分布随机数 2.1.1.2 线性同余发生器(Linear Congruential Generator) 2.1.1.3 随机数检验 2.1.2 生成随机变量 2.1.2.1 从概率分布产生随机变量的方法 2.1.2.2 常用概率分布 2.1.3 选择输入概率分布
  • 94. (2)常用概率分布 l       均匀(Uniform)分布 l       三角(Triang)分布 l       指数(Exponential)分布 l       伽马(Gamma)分布 l       贝塔(Beta)分布 l       爱尔朗(Erlang)分布 l       二项式(Binomial)分布 l       几何(Geometric)分布 l 负二项式(Negative Binomial)分布
  • 95. l       泊松(Poisson)分布 l       正态(Normal)分布 l       韦伯(Weibull)分布 l       拉普拉斯(Laplace)分布 l       χ2分布 l       t分布 l       F分布 l       经验分布
  • 96. 2.1 产生随机变量 2.1.1 随机数产生器 (1) 均匀分布随机数 (2)线性同余发生器(Linear Congruential Generator) (3)随机数检验 2.1.2 生成随机变量 (1)从概率分布产生随机变量的方法 (2)常用概率分布 2.1.3 选择输入概率分布
  • 97. 选择输入概率分布 为了保证模型准确,必须使所用的样本分布符合它所模拟的物理过程。我们介绍两种选择一种合适分布的方法。 1、使分布适合样本数据 2、根据理论选择 l指数分布 用来模拟纯粹的随机事件。例如顾客到 达之间的间隔时间。在对选择哪一种分 布没有任何提示时,经常使用指数分布。
  • 98. l 贝塔分布 贝塔分布常常被用来模拟诸如数据通信链路中数 据包的一部分需要重发的随机特性。 l 爱尔朗分布 常用来模拟服务时间 l 二项式分布 在n个独立的贝努利试验中,二项式分布常用来模 拟成功的次数 l负二项式分布 常被用来模拟第m次成功之前失败的次数,例如, 含有m个数据包的文件重复传输的次数。
  • 99. l泊松分布 常用来模拟在一个指定区间内事件出现的次数,例 如在单位时间内数据库查询的次数。 l正态分布 常用来模拟几种独立数据源的相加效果。 l韦伯分布 常用来模拟可靠性测量。  
  • 100. 第2章 离散系统建模 2.1 产生随机变量 2.2 离散系统建模方法 2.3 结果分析
  • 101. 2.2 离散系统建模方法 2.2.1 基本概念 2.2.2 仿真时钟的推进 2.2.3 离散系统仿真策略 2.2.4 离散系统仿真部件及组织
  • 102. 2.2.1基本概念 l   实体 在离散系统中实体分两大类:临时实体和永久实体。 临时实体:在系统中只存在一段时间。从系统外部到达,通过系统,最终离开系统。例如排队系统中的顾客。 永久实体:永久驻留在系统中的实体。只要系统处于活动状态,这些实体就存在。例如排队系统中的服务员。
  • 103. l   事件 事件就是引起系统状态发生变化的行为。 在一个系统中,往往有多类事件,而事件的发生一般与某一类实体相联系。为了实现对事件的管理,仿真模型中必须建立事件表(日程表),表中记录了每一个将要发生的事件的类型、时间及相关联的实体的属性。 例如:排队系统中的“顾客到达”可以定义为一类事件,因为这类事件可以导致系统状态变量-正在忙的服务员数量,或者排队长度发生变化。同样,“顾客离去”也是一类事件。
  • 104. l   活动 活动就是两个可以区分的事件之间的过程,它标志着系统状态的转移。 顾客到达事件服务开始事件顾客离去事件排队活动服务活动
  • 105. l   进程 进程由若干个事件及若干个活动组成,一个进程描述了它所包括的事件及活动间的相互逻辑关系及时序关系。 例如排队系统中,一个顾客到达系统,经过排队,直到服务员为其服务完毕离开系统,称为一个进程。进 程排队 活动服务 活动顾客到达事件服务开始事件服务结束事件
  • 106. l   仿真钟(Simulation clock) 在系统状态变量中给出当前仿真时间值的变量叫仿真钟,用于表示仿真时间的变化。 仿真模型中时间控制部件是必不可少的,以便按一定规律来控制仿真钟的推进。
  • 107. l   统计计数器 在离散系统中,系统的状态随着事件的不断发生呈现出动态的变化过程,但仿真的目的不是要得到这些状态是如何变化的。因为变化是随机的,每一次仿真运行其变化过程可能是完全不同的。只有在统计意义下才有参考价值。因此需要一个统计计数部件来统计系统中的有关变量。
  • 108. 2.2 离散系统建模方法 2.2.1 基本概念 2.2.2 仿真时钟的推进 2.2.3 离散系统仿真策略 2.2.4 离散系统仿真部件及组织
  • 109. 2.2.2仿真时钟的推进 离散系统仿真钟的推进方法有两大类: 一类为事件调度法(next-event time advance),按照下一最早发生事件的发生时间推进; 另一类为固定增量推进法(fixed-increment time advance)。 ⑴事件调度法 ⑵固定增量推进法
  • 110. ⑴事件调度法 离散系统状态只在离散的时间点上发生变化,并且这些离散的时间点在分布上是完全随机的,因此仿真钟的推进步长也应该是随机的。由于在相邻两个事件之间系统的状态不会发生变化因而仿真钟可以跨过这些周期,从一个事件发生时刻推进到下一事件的发生时刻。 事件调度法就是按照离散系统的特点,按照事件发生的时间顺序推进仿真时间。仿真钟的推进呈现跳跃性,推进速度具有随机性,这是事件调度法的特点。
  • 111. 事件调度法从事件表中选择最早发生的事件,然后将仿真钟修改到该事件发生时刻。对每一类事件,仿真模型都有相应的事件处理子程序,处理该类事件发生时系统状态的变化,进行一些必要的统计、计算等。如果事件的发生是有条件的,那么还需判断是否满足条件,如果不满足,则推迟或取消该事件。事件处理完毕返回时间控制部件。
  • 112. 仿真钟置0,置日程表仿真钟置为最近事件的时刻执行事件调整日程表(有可能加入新的事件)结束?
  • 113. 下面通过一个具体的例子来加以说明。 例:Single-server queueing system. 设:ti=time of arrival of the ith customer(t0=0) Ai=ti- ti-1=interarrival time between(i-1)st and ith arrivals of customers Si=time that server actually spends serving ith customer (exclusive of customer’s delay in queue) Di=delay in queue of ith customer ci= ti+ Di+ Si=time that ith customer completes service and departs ei=time of occurrence of ith event of any type
  • 114. 0t1t2c1t3c2e0e1e2e3e4e5A1A2A3S1S2TimeInterarrival TimeService Time 假设顾客到达时间间隔Ai和服务时间Si分别满足概率分布函数FA和FS。 可以看出单服务排队系统包含两类事件:到达和离去。
  • 115. ⑵固定增量推进法 采用固定步长推进。 假设固定步长为T个时间单位,则每推进一步: l  该步内若无事件发生,则仿真时钟再向前推进一个T; l  若有事件则认为事件发生在该步结束的时刻,并进行事件处理。 此种方法的缺点是显而易见的:效率低;不精确
  • 116. 2.2 离散系统建模方法 2.2.1 基本概念 2.2.2 仿真时钟的推进 2.2.3 离散系统仿真策略 2.2.4 离散系统仿真部件及组织
  • 117. 2.2.3离散系统仿真策略 离散系统仿真策略(建模方法),分为两类:一类以事件为基础;一类以进程(或实体)为基础。
  • 118. 建模方法事件调度法两阶段法(事件调度法)三阶段法(条件事件扫描法)进程相互作用法
  • 119. 仿真时间推进策略 :NEXT_EVENT TIME ADVANCE (异步定时 )(“时钟滴答”) 滴答的间隔与真实时钟是不同的,是不相等和随机的。
  • 120. ⑴两阶段法(事件调度法) 两阶段法的主要活动可分为A阶段和B阶段。在A阶段调度事件,并且走动时钟;在B阶段执行事件处理程序。事件处理程序实际上要做两件事,一是要模拟事件的效果。二是要检查该事件的出现,会不会导致资源的释放;如果有资源释放,并且有等待资源的事件,则用最新可用的资源调度事件。
  • 121. 开始加入初始事件还有事件吗?执行事件走动时钟选择下一事件运行?打印结果结束NoYesNoYesA阶段B阶段
  • 122. 下面以排队系统为例,说明两阶段法。 在排队系统中存在两个明显的事件:“顾客到达”和“顾客离去”。在两阶段法中,“开始服务”不作为事件(通过前面“事件调度法”时钟推进法中对排队系统的分析说明)。 因此我们要写两个事件处理程序: arrival()和departure()。
  • 123. Arrival()创建一个新顾客服务员空闲?调度下一arrival事件服务员置忙调度departure事件新顾客排到队尾结束
  • 124. departure()从模型中删除该顾客队列不空?队列中取下一顾客调度departure事件结束
  • 125. (2)三阶段法(条件事件扫描法) 在二阶段法中,事件处理程序需要直接处理资源使用的情况。在复杂的模型中,这种处理变得非常复杂,而且模块性不好。 三阶段法引入条件事件,即根据资源状态和排队状态出现的事件。并且引入第三阶段即C阶段,条件事件在这个阶段扫描执行。 三阶段法的模块化程度较高,因为在事件处理程序中无需识别能运行的条件事件。但也引入了冗余。
  • 126. 开始加入初始事件还有事件吗?执行事件走动时钟选择下一事件有能运行的 条件事件吗?打印结果结束NoYesNoYesA阶段B阶段运行?执行事件NoYesC阶段
  • 127. 下面仍以排队系统为例: 在两阶段法中存在两个事件:顾客到达和顾客离去。在三阶段法中要将这两个事件继续细分,即分为可直接调度的事件和依据某种状态为条件的事件(条件事件)。 这样,简单排队系统在三阶段法中的事件分为:顾客到达事件、服务开始事件和顾客离去事件。
  • 128. Arrival()创建一个新顾客调度下一arrival事件新顾客排到队尾结束
  • 129. Start_service()队列不空并且服务员空闲?队列头中取顾客调度departure事件结束服务员置忙
  • 130. Departure()服务员置闲从模型中删除实体结束
  • 131. ⑶进程相互作用法 前面两种建模方法是面向事件的,以事件为基础。进程相互作用法是面向进程,以进程为基础,实际上是以实体为基础。前者描述事件,后者描述实体。 进程相互作用法在时间管理算法上与三阶段法非常类似,区别在于组织事件程序的组织方法上。
  • 132. 开始加入初始事件有能运行的实体吗?运行走动时钟选择下一实体还有条件实体吗?打印结果结束NoYesNoYesA阶段B阶段运行?NoYesC阶段还有实体吗?NoNo选择下一实体被堵塞?运行No选择下一实体被堵塞?Yes
  • 133. Customer() { switch(顾客阶段) { case ARRIVAL: 设置阶段值为SERVICE 排进条件实体表 调度下一个顾客(用ARRIVAL阶段) break; case SERVICE if (结帐台空闲) { 让结帐台忙碌 设置阶段值为DEPARTURE 调度离去 } else 等待直到结帐台空闲 break; case DEPARTURE: 从模型中删除实体 让结帐台空闲 break; } }
  • 134. 2.2 离散系统建模方法 2.2.1 基本概念 2.2.2 仿真时钟的推进 2.2.3 离散系统仿真策略 2.2.4 离散系统仿真部件及组织
  • 135. 2.2.4离散系统仿真部件及组织Start1.Invoke the inittialization routine 2.Invoke the timing routine 3.Invoke event routine i Repeatedly1.Update system state 2.Update statistical counters 3.Generate future event and add to event listIs simulation over?1.Compute estimates of interest 2.Write reportStop1.Determine the next event type i 2.Advance the simulation clock1.Set simulation clock=0 2.Initialize system state and statistical counters 3.Initialize event listGenerate random variates① ② ③ i No Yes Report Generator Event routine i Initialization routine Main program Timing routineLibrary routines
  • 136. 系统状态 仿真钟 日程表 统计计数器 初始化程序 定时程序 事件处理程序 库程序 报告产生器 主控程序
  • 137. 第2章 离散系统建模 2.1 产生随机变量 2.2 离散系统建模方法 2.3 结果分析
  • 138. 2.3 结果分析 2.2.1 概述 2.2.2 终止型仿真和稳态型仿真 2.2.3 终止型仿真结果分析 2.2.4 稳态型仿真结果分析
  • 139. 2.2.1 概述 考虑M/M/1系统,顾客到达时间间隔是均值为5min的指数随机变量,为每个顾客服务的时间是均值为4min的指数随机变量。表14.1给出了 M/M/1系统仿真结果: 仿真长度(n) 理论值 1000 2000 3000 4000 5000 d(n) 16.0 19.723 17.856 15.563 16.826 16.982 Q(n) 3.2 3.916 3.620 3.181 3.326 3.425
  • 140. 可以看到,仅从某一次仿真结果来推断系统的性能并不一定保证是正确的。 问题:如何恰当选择运行长度?或者说,如何控制仿真运行次数?
  • 141. 2.3 结果分析 2.2.1 概述 2.2.2 终止型仿真和稳态型仿真 2.2.3 终止型仿真结果分析 2.2.4 稳态型仿真结果分析
  • 142. 2.2.2 终止型仿真和稳态型仿真1、终止型仿真 这种仿真的运行长度是事先确定的。由于仿真运行时间长度有限,系统的性能与运行长度有关,系统的初始状态对系统性能的影响是不能忽略的。 从仿真结果分析的角度来看,仿真运行的方式有两种 为了消除由于初始状态对系统性能估计造成的影响,需要多次独立运行仿真模型,从统计学的观点来看,理论上要独立运行无穷多次。在实际中如何确定运行次数以便得到较好的性能估计,这是终止型仿真结果分析需要讨论的问题。
  • 143. 考虑M/M/1系统通过仿真估计顾客平均排队等待时间。 初始队长为0, 服务台初始状态为闲, 则: 实际上, K不可能无穷大, 需要研究如何由有限的K次运行得到d的好的估计值。
  • 144. 2、稳态型仿真 这类仿真研究仅运行一次,但运行长度却是足够长,仿真的目的是估计系统的稳态性能。显然,由于仿真长度没有限制, 系统的初始状态对仿真结果的影响可以忽略。然而,需要确定仿真运行长度到底多长就可以认为是“足够”了。 考虑估计M/M/1的稳态排队等待时间d,它应满足: 实际中,m不可能无穷大,需要讨论如何由一次有限m的仿真运行中得到d的好的估计值。  
  • 145. 2.3 结果分析 2.2.1 概述 2.2.2 终止型仿真和稳态型仿真 2.2.3 终止型仿真结果分析 2.2.4 稳态型仿真结果分析
  • 146. 2.2.3 终止型仿真结果分析 终止型仿真的要求是每次运行的初始条件相同,但必须是相互独立的。 实现独立运行的方法是每次采用不同的随机数据流。 如果Xi是第i次运行时得到的某一系统性能的仿真结果,由于每次运行相互独立,则可以认为Xi是独立同分布的随机变量, 从而可以用经典统计分析的方法构造E(X)的置信区间。
  • 147. 根据对置信区间的精度要求, 终止型仿真结果分析有两类基本方法, 即 :固定样本长度法 序贯法
  • 148. 固定样本长度法 由用户规定独立运行的次数n(n>=2)。 假定每次运行的结果X1,X2,…,Xn除了满足独立同分布的条件外, 而且是正态随机量, 则随机变量X的期望值E(X)的估计值为: 其中 称为置信水平, 而
  • 149. 估计值:依赖于Xj是正态随机变量这一假设。 根据中心极限定理,若产生Xj的样本点数越多,即每 次仿真运行的长度越长,则Xj越接近正态分布。 因此,在终止型仿真中,每次仿真运行的长度不能太 短,否则的Xj分布可能不对称而造成歪斜,因而由Xj 建立的置信区间覆盖真值的程度将会降低。 固定样本法要点:
  • 150. 序贯法 固定样本长度法对构造的信区间长度未加控制。 置信区间长度:不但与Xj的方差有关,而且与仿真运行 次数有关(区间长度与 成反比)。为了减少置信区间 的长度,需要加大n。 根据这一特点,我们可以得到有规定精度的置信区间, 这就是基于固定样本长度法的序贯法。
  • 151. 置信区间的半长称为它的绝对精度, 用表示 将置信区间半长与点估计的绝对值之比称为置信区间的相对精度, 用表示 为了得到规定的, , 可先运行n次, 若得到的或太大, 可再增加n 一种解析地确定n的做法是, 设Xj的总方差估计S2(n)随着n加大而没有显著变化, 则序贯法要点:
  • 152. 序贯法要点:或注意,式中还假设随n加大 也没有明显变化, 即认为 实践表明, 随着n的加大, 认为S2(n)保持不变的条件过 于苛刻, 从而按上式计算得到的 或 偏大 由此,往往采用序惯程序法
  • 153. 序贯法步骤:(1) 预定独立仿真运行的次数n0>=2, 并置n=n0, 独立运行n (2) 计算该n次运行的X1,X2,…,Xn, 以及相应的 (3) 计算出 (4) 若 , 则置信区间为: 并将其作为在100(1-)%近似意义下的置信区间, 从而 结束仿真, 否则, (5) 再进行一次独立的仿真运行得到Xn+1, (6) 令n=n+1, 并返回第(2)步。
  • 154. 2.3 结果分析 2.2.1 概述 2.2.2 终止型仿真和稳态型仿真 2.2.3 终止型仿真结果分析 2.2.4 稳态型仿真结果分析
  • 155. 2.2.4 稳态型仿真结果分析 仿真研究的另一种常见的情况是估计系统的稳态性能, 此时, 一般是执行一次长度很大的仿真运行。 令Y2,Y2,…,Ym是从某次运行得到的输出过程, 则{yi,i>=1}的稳态平均响应由下式定义: 这要求的极值存在, 这样与仿真的初值无关。
  • 156. 稳态型仿真结果分析方法: 批值均法 稳态序惯法 重复产生法 重复删除法
  • 157. 批值均法 基本思想是:设仿真运行长度为m(m足够大), 则得到输出过程Y1, Y2,…,Ym, 将{Yi,i=1,12,…m}分为n批, 每批长度为l, 则得到每批数据如下:
  • 158. 分别对每批数据进行处理, 求得每批的均值为 , 则总的样本均值为: 我们将 作为的点估计。 为了构造的置信区间, 必须对 有一定要求, 若 是独立的且服从正态分布的随机变量, 并具有相同的均值与方差, 则的近似100(1-)%的置信区间的计算公式为:
  • 159. 批均值法的有效性 必须满足前述的条件 为使 独立, 则要求每批长度l要足够大 为使 接近正态分布,批数n也要足够大 由此可以看到, 为使 独立且服从正态分布, 则要求 m=nl足够大, 这也就是稳态仿真的定义所必须满足的条件 应具有相同的均值与相同的方差, 则要求Y1,Y2,…,Ym 是协方差平稳过程。
  • 160. 如果l不够大, 具有很强的相关性 而且 严重偏离 的估计值 特别是, 如果 是正相关的, 由 得到的方差 估计偏低得特别厉害, 从而置信区间偏小, 甚至有可能 覆盖不了真值 造成偏差的另一个原因则是Y1, Y2, Ym不满足协方差平 稳过程这一条件。采用批均值法构造置信区间的原理是比较简单的, 但在实际使用中常常会出现偏差, 其原因是上述 的要求得不到满足:
  • 161. 稳态序惯法 批均值法对置信区间的精度未加控制, 下面我们讨论基于批均值法的稳态型序贯法, 以满足规定精度置信区间的要求。 设某次稳态运行得到的观测值是Y1,Y2,…Ym, 其批长度为l, 共n批, 每批均值为 (j=1,2,…,n), 总体样本均值为 。 记任意两批之间的相关系数为 , 则: 又令 其中
  • 162. 若Y1,Y2,…是协方差平稳过程, 则可以证明, 当时, l时,i(l)  0。如果在批均值的基础上, 根据相关系数i(l)的大小来确定l, 使得达到足够小。此时, 可认为 基本上是独立的或接近独立的。 为得到不相关的 , 直观的做法是, 批数n不变, 然后不断地加长l, 直到i(l)的估计值小于规定值为止。但是, 如果n选择过小, 则其方差加大, 从而b(n,l)将远小于1, 结果得到的置信区间就会偏大。为此n也要加大。 因此, 为达到一定精度的i(l)且使b(n,l)接近1, 则要求m=nl就会特别大。要综合考虑i(l)与b(n,l)两方面的要求。
  • 163. 重复删除法 能否由终止型仿真结果来估计系统稳态平均响应呢? 假如终止型仿真运行次数K趋向无穷大时, 能否认为下式: 得到的M/M/1系统的d就是系统的稳态平均排队等待时间呢? 结论是否定的。
  • 164. 随着K的加大, 其总均值 并不一定越来越近稳态理论值, 反而有可能偏离稳态理论值, 而其置信区间的半长却越来越小。可以预料, 当K趋向无穷大时, 由于区间半长 将趋向0, 而其总均值却未必能接近稳态值。 原因:终止型仿真时, 虽然每次运行是独立的, 但其系统的初始状态是完全相同的, 而这种初始状态不一定能代表系统稳定特性的状态。由于每次仿真长度有限, 初始状态对仿真结果的影响未消除, 所得到的结果必然是系统的有偏估计。 终止型仿真这种初始状态的影响,称之为起动问题。为了克服这种初始状态对系统性能的影响, 以便由多次终止型仿真来估计系统的稳态性能 , 人们提出了所谓重复删除法。 能否由终止型仿真结果来估计系统稳态平均响应?
  • 165. 设对某一系统进行K次独立的终止型仿真, 每次长度为m, 得到下列观测值: 重复删除法基本思想则Yji(j=1,2,…,K,i=1,2,…,m)是第j次运行得到的第i个观测值。在统计计算系统性能时, 删除每一次运行的前l个观测数据, 其中0 l m, 并令:
  • 166. 将 作为每次运行的均值, 作为系统稳态性能的估计值, 其置信区间半长为: 其中 重复删除法显然具有很强的吸引力。它只需要运行K次独立的终止型仿真, 所需样本容量可以大大地减少, 问题是如何确定l的值。
  • 167. 考虑到系统稳态运行时某一时刻系统的状态仍具有随机性, 那么, 如果用一个独立性及均匀性较好的随机数发生器产生[0,m]区间内的随机整数l, 在每次仿真运行时, 用该l来控制删除的观测数据个数, 则可以认为所得到的 是独立同分布的随机变量, 由此 得到的 是系统稳态性能的无偏估计。 l的确定
  • 168. 计算机仿真 第1章 计算机仿真基础知识 第2章 离散系统仿真 第3章 连续系统仿真 第4章 作战模拟 第5章 多智能体仿真
  • 169. 连续系统的状态随着时间的变化而连续发生变化。 连续系统的模拟有两个任务: 建模 建立反应被模拟系统行为特征的状态方程组。用的比较多的是微分方程。 求解 求解状态方程组。按照一定规律把模拟时间向前推进,计算并纪录状态变量值,并用图形、图像、声音、文字、数字等各种形式动态地表现出来。 第3章 连续系统仿真
  • 170. 第3章 连续系统仿真 3.1 连续模型的数学模型 3.2 连续模型的数值求解
  • 171. 3.1连续模型的数学模型 一般连续模型用微分方程组来描述:       X=(x1,x2…xn) 是系统状态变量
  • 172. 英国经济学家马尔萨斯的人口模型为: 其中, P(t)为t时刻人口总数。 表明单位时间内人口增量与人口总量成正比。 这是一阶常微分方程,求解过程如下:
  • 173. lnP=at+C lnP0=at0+C C= lnP0-at0 lnP=at+ lnP0-at0 考虑到战争或环境对人口抑制的作用,上述模型可改进为:
  • 174. 3.2 连续模型的数值求解 下面以最简单的常微分方程为例说明数值方法的求解过程。 y’=f(x,y) y(x0)=y0 所谓数值解法就是寻求解y(x)在一系列离散节点 上的近似值y1,y2,…,yn,yn+1,…. 相邻两个节点的间距h=xn+1-xn称为步长,h一般为常数, xn=x0+nh 基本特点:步进式,求解过程顺着节点排列的次序一步一步向前推进。
  • 175. 我们知道泰勒级数为: ……………. 显然,用泰勒公式也可以求出数值解,但需求导数。
  • 176. 下面我们介绍龙格-库塔方法的基本思想。 根据微分中值定理:存在0<θ<1,使得 于是, 这里,K*= 称作[xn,xn+1]区间上的平均斜率。由此可见只要对平均斜率提供一种算法,那么利用步进法就可以算出各点的数值。 我们可以采用预测多点的斜率,然后加权平均的方法来估测K*的值。
  • 177. 一般先取xn点的斜率为第一点斜率,再预测第二点、第三点… 取两点为二阶龙格-库塔方法,三点为三阶。。。,显然阶数越高,精度越高。一般取四阶。 考虑区间[xn,xn+1]内一点xn+p 设K1,K2分别为xn,xn+p两点的斜率,则 现在我们要来选定 的值。
  • 178. 取二阶泰勒公式:两式比较,可知:
  • 179. 取
  • 180. 计算机仿真 第1章 计算机仿真基础知识 第2章 离散系统仿真 第3章 连续系统仿真 第4章 作战模拟 第5章 多智能体仿真
  • 181. 第4章 作战模拟 4.1 作战模拟的概念及其分类 4.2 为什么要进行作战模拟 4.3 作战模拟的过程 4.4 作战模型 4.5 作战模拟的国内外发展历史及现状 4.6 作战模拟标准与体系结构
  • 182. 4.1作战模拟的概念及其分类 4.1.1概念 传统演习的局限性 : 战争的实践性特点要求指挥员能够有驾驭战争实践的环境和手段。 军事演习是一种普遍的训练和实践方法。 但传统的军事演习因为其高昂的经费需求,演习规模的限制,以及一些任务在实兵演习中难以实现(例如核作战),都制约了军事训练质量和数量的提高。
  • 183. 信息时代的计算机作战模拟 : 以信息革命为核心的新军事革命浪潮,催生了网络化时代的训练革命,其主要内容就是充分利用信息技术的发展,以作战原则、作战部队结构、武器装备效能为基础,利用计算机模拟逼真的战场环境和部队、描述并实现作战仿真模型,从而为部队训练提供先进的训练方式和近似实战的训练手段,将武器装备的潜力转化为实际的战斗力。 江泽民指出“利用计算机技术进行模拟训练,是发达国家军队训练的一个突出特点,也是我军训练的发展方向”。
  • 184. 按照美国国防部联合出版物1-02号的释义,作战模拟的定义是: “作战模拟是对在实际的或假想的环境下,按照所设计的规则、数据和过程行动的两支或多支部队进行对抗的模拟”。 计算机作战模拟:利用计算机及网络进行的作战模拟。
  • 185. 2、分类 从军事应用的角度来看,可将作战模拟划分为两大类: 作战评估:作战方案的比较评估,研究作战的基本对策,预测战争结果等。 训练模拟:对参战人员进行训练的一种模拟系统。通过创造一个贴近实战的训练环境,使得受训人员能够在战场环境中正确处置各种不同的情况。 训练模拟有以下几种组训方式: (1) 首长机关训练。参谋作业。 (2) 首长机关带实兵。 (3) 红蓝军对抗。 (4) 单方与模型生成兵力对抗。
  • 186. 从规模上可以分为战役模拟,师团模拟和分队战术模拟 。 训练模拟分为三个层次:决策训练、指挥训练和技能训练。 同一系统可以进行这三种层次的训练:根据敌我双方的作战态势和上级的作战意图,如何定下决心,制定作战方案;根据作战方案如何进行作战指挥;单项技能或操作的训练。 也有不同系统适应不同的训练层次:战役决策训练系统或武器平台训练系统。
  • 187. 第4章 作战模拟 4.1 作战模拟的概念及其分类 4.2 为什么要进行作战模拟 4.3 作战模拟的过程 4.4 作战模型 4.5 作战模拟的国内外发展历史及现状 4.6 作战模拟标准与体系结构
  • 188. 4.2 为什么要进行作战模拟 作战模拟与常规演习相比更加接近于实战,并且省钱、省时、易于进行。 下面我们以美军为例,说明作战模拟的优越性。 美军的野战训练演习通常需要大批的人员和装备,例如,在美军师级野战对抗演习中,仅其中扮演美军本方的部队和人员就需要大约5个师的兵力,具体如下: 1.受训师15000人,包括受训指挥官、参谋人员、和下级指挥官。 2.左翼友邻师15000人。 3.右翼友邻师15000人。 4.预备队师15000人。 5.特种部队及配属部队15000人。
  • 189. 这样,不算海空军力量,美军师级对抗本方人员就需75000人。敌方还需75000人,如果加大训练难度,按照1:3的兵力配置,敌军需225000人。 而美军典型的师级计算机模拟训练只需600人。 通过上述演习方式的对比,美军分析总结了师级指挥官进行模拟训练所具有的有点: 1.部队安全性增强。机动和对抗回合中,存在潜在的安全威胁。 2.避免环境污染。 3.减少土地占用。 4.训练时间缩短。
  • 190. 5.训练费用大大减少。 6.联合作战逼真度增加。 7.使用新装备及新条令。 8.复现战场情况 9.度量训练目标 10.适应训练想定。比如,可以在任何想定的地形上进行训练。
  • 191. 第4章 作战模拟 4.1 作战模拟的概念及其分类 4.2 为什么要进行作战模拟 4.3 作战模拟的过程 4.4 作战模型 4.5 作战模拟的国内外发展历史及现状 4.6 作战模拟标准与体系结构
  • 192. 4.4 作战模型 1、 典型作战行动的描述 2、 兰切斯特战斗动态方程 3、 指数法与定量判断模型 4、 系统动力学用于作战模拟 5、 蒙特卡罗方法用于作战模拟
  • 193. 第4章 作战模拟 4.1 作战模拟的概念及其分类 4.2 为什么要进行作战模拟 4.3 作战模拟的过程 4.4 作战模型 4.5 作战模拟的国内外发展历史及现状 4.6 作战模拟标准与体系结构
  • 194. 4.5 作战模拟的国内外发展历史及现状 4.5.1 美军作战模拟发展历史 4.5.2 我军作战模拟现状
  • 195. 4.5.1美军作战模拟发展历史 分为三个阶段: 人工模拟阶段:70年代初期以前, 计算机模拟起步阶段:70年代初期-八十年代末期 72、73年计算机开始进入美军各个部门,美军训练局随之开始使用计算机模型来进行战术计算。70年代末,计算机模拟训练系统开始驱动美军指挥所演习。 80年代初期,单武器平台仿真系统(飞机、坦克导弹等仿真器)得到了广泛的应用。 80年代中期,基本完成了从人工模拟到计算机辅助模拟的转变。
  • 196. 80年代中期,美军认识到,单一仿真平台已不能满足训练的要求,美国国防高级研究计划署(DARPA)和陆军共同制定了SIMNET(SIMulator NETworking)计划,其主要目的是将分散在各地的多个地面车辆仿真器用计算机网连接起来,进行协同作战任务的训练。在此基础上,形成了分布交互式(DIS)仿真技术,并提出了DIS2.x系列标准。 80年代末期,DARPA开始研究聚合级仿真技术,并在90年提出了聚合级仿真协议-ALSP标准。
  • 197. 计算机模拟训练成熟阶段 90年代- 计算机训练模拟经过近20年的发展,出现了大量的模型和模型系统,这些模型和模型系统由于是由各军兵种各自开发的,由于缺乏标准,它们之间的互连、互通、互操作性很差;另一方面,经过几十年的发展和实践,美军陆军的领导层逐渐认识到,通过有效利用资源、共享技术信息、以及集中管理模拟系统的开发可获得最大的效益,换句话说,美军对模拟系统的标准化和统一管理有了强烈的需求。
  • 198. 基于此种认识,在90年代初,美军创建了国家模拟中心,隶属于美军训练与条令司令部,开始对指挥训练模拟实施有效和独立的管理。 DIS经过十年的发展,在军事部门,甚至非军事部门得到了更为广泛的应用,但在技术和体系结构方面显示出它的不足和局限性,尤其表现在可重用和互操作等方面。 在新的需求推动下,充分利用现有相关新技术(分布对象技术),1996年8月,美国国防部正式颁布了针对建模仿真领域的通用技术框架-HLA标准。2001年起淘汰不符合HLA标准的模型系统。
  • 199. 4.5 作战模拟的国内外发展历史及现状 4.5.1美军作战模拟发展历史 4.5.2我军作战模拟现状
  • 200. 4.5.2我军作战模拟现状 我们可以把我军作战模拟发展的历史划分为两个阶段: 80年代中期至90年代中期(无序发展,各自为政, 烟囱林立,无标准,不能互连) 90年代中期至现在(开始有组织、有计划的联合 开发) 有影响的系统: l 分布交互式作战模拟系统 l 红星系列参谋作业系统 l 国防大学战役模拟系统 l “联合99”工程
  • 201. 第4章 作战模拟 4.1 作战模拟的概念及其分类 4.2 为什么要进行作战模拟 4.3 作战模拟的过程 4.4 作战模型 4.5 作战模拟的国内外发展历史及现状 4.6 作战模拟标准与体系结构
  • 202. 4.6.1分布交互仿真系统(DIS) Distributed Interactive Simulation 1、定义 按照IEEE1278对DIS的定义,DIS是一个为了把作战演习中交互的、自由对抗的人员链接起来而构筑的时间与空间的综合集成仿真环境,该综合集成环境是通过在分布的、计算机化的自治仿真实体之间进行数据单元的实时交换建立的。
  • 203. 这些分布的、计算机化的仿真实体通过标准的计算机通信服务相互连接,其形式包括计算机仿真模型、计算机仿真器材以及实用装备等。而计算机机化的仿真实体可以集中于同一地点,也可以分散于不地点。 从定义中可以看出DIS强调的是分布、交互作用和仿真实体三个方面,具体来说: (1) 分布性。仿真实体可以分布在相距很远的不同地域。
  • 204. (2) 交互性。利用网络技术将分布的仿真实体连接为一个整体,形成一个在时间、空间上一致的综合环境,实现仿真实体之间、仿真实体与环境之间、环境与环境之间的实时交互。 (3) 仿真实体。人在回路仿真器(HUMAN IN THE LOOP,简称HITL)、计算机生成兵力(Computer Generated Forces,简称CFG)以及其它仿真或实用装备。.这些仿真实体是异构的、自治的。 所以,我们可以看出DIS系统是对已有仿真器的集成,是自治联邦。
  • 205. 2、标准 在DIS的体系结构、数据通信方面已提出了一系列标准,现已称为IEEE1278标准: IEEE1278-1 协议数据单元(PDU)标准 IEEE1278-2通信服务 IEEE1278-3 演习管理与反馈 IEEE1278-4 检验与鉴定 IEEE1278-5 使用DIS的仿真度划分
  • 206. 3、体系结构 DIS2.X体系结构受Internet技术的影响,其基本思想是通过建立一致的标准通信接口来规范异构的仿真系统间的信息交换,通过计算机网络将位于不同地理位置上的仿真系统连接起来,构成一个异构的综合作战环境。 DIS系统在逻辑结构上采用的是一种非对称的体系结构。从网络连接来看是一种网状结构。仿真1仿真2仿真3仿真4
  • 207. 自治的仿真结点不仅要完成自身的功能,还要完成信息的发送、接受、理解等处理工作。当系统中的仿真结点数增加时,系统中逻辑连接数将与结点数的平方成正比,使仿真结点的设计实现时非常复杂。
  • 208. 4、 DIS的设计原则和结构方案  (1)采用对象/事件结构 原则:仿真实体用对象模型的集合来描 述,对象之 间通过事件进行交互。   (2)仿真结点的自治性 ●每个结点完全自治,可以单独运行,可以自由加入 或脱离仿真运行而不影响其它结点的相互交互。 ●发出事件的结点不需要跟踪其它结点受该事件影响 的情况。 ●每个结点接受事件后负责计算该事件对结点内所有 对象的影响,如果产生新的事件则广播之。 (3)信息传输的真实性 状态和事件真实传递。
  • 209. (4)只进行状态变化信息的传递 只传递状态更新信息,以减少通信量。 (5)采用预估算法(Dead Reckoning Algorithms) 在两个状态更新之间,接受结点基于远程对象前一个报告状态,利用外推的方法,来产生本结点仿真运行和显示所需的远程对象的信息。要求发送结点和接受结点采用相同的预估算法。 (6)采用协议转换 指仿真结点之间接口的协议转换,如坐标系的转换,角度表达方式的转换等。 (7)采用通信标准 DIS通信标准指第7层标准。 (8)统一的地形几何表示
  • 210. 5、系统驱动 前面讨论过,仿真系统的驱动即模拟时钟的推进有两种方式,即时间驱动和事件驱动。 我们来看看DIS系统是如何驱动的。 一般说来,实体的运行情况与其所收到的PDU直接相关,即主要由它所收到的PDU来决定下一步的状态,应该说DIS系统主要是PDU事件驱动。但由于采用了预估算法,有些实体可能在长时间内不会收到PDU,采用本地时钟控制实体状态的变化。这时是时间驱动的。 所以,DIS的驱动既不完全属于事件驱动,也不是时间驱动。我们把它称为数据驱动。
  • 211. 6、DIS标准简介 我们简单介绍一下协议数据单元(PDU)标准。 PDU标准中定义了三类PDU,即实体信息PDU,实体交互PDU和仿真管理PDU,每一类中又细分为多项,总共包括27个具体的PDU,其层次结构如下图所示。 对于每个具体的PDU,标准规定了其四个方面的内容:PDU包含的信息,PDU的发送、PDU的接受和PDU的格式。 下面我们以实体状态PDU为例,介绍以上四方面的具体内容。
  • 212. (1)实体状态PDU包含的信息 发送PDU的实体的识别信息 实体兵力的识别信息 发送实体的特定的实体类型 发送实体的用于伪装功能的另一实体类型 实体位置和方位信息,包括位置,速度,方位以 及预估算法所需的参数 外观信息 实体的能力
  • 213. (2)实体状态PDU的发送 实体要发送实体状态PDU必须满足下列条件之一:实体确切状态和其外推状态之间的差别超过了预定的阀值;实体的外观发生了变化;上一个实体状态PDU发送后,超出预定的时间间隔。 实体状态PDU发送采用实时,广播方式,传送给参加演练的所有仿真实体。(3)实体状态PDU的接受 接受到实体状态PDU后,判断是否有更新信息,没有则放弃;有则更新该实体的外观。 (4)实体状态PDU的格式
  • 214. DIS PDU实体信息-实体状态PDU实体交互武器开火碰撞-碰撞PDU 实体交互服务请求PDU再补给实体PDU再补给收到PDU再补给取消PDU修复完成PDU修复响应PDU分布式辐射还原电磁辐射PDU导引波PDU无线电通信发送机PDU信号PDU接受机PDU仿真管理实体/演练管理创建实体PDU删除实体PDU启动/重启动PDU中止/冻结PDU应答PDU动作请求PDU动作响应PDU事件报告PDU数据管理数据查询PDU设置数据PDU数据PDU
  • 215. 4.6.2高层体系结构(HLA) 1、HLA出现的背景 DIS的出现是为了连接分布在不同地域的仿真系统,使得这些可能是异构的仿真系统能够互相交互。DIS只是规定了交互的标准,或者说主要解决的是通信层面的东西。应该说DIS的出现是被动的。随着仿真系统越来越复杂,仿真对象越来越多,仿真逼真度的要求越来越高,DIS逐渐显现出其技术上的先天不足。
  • 216. 主要表现在: 缺乏指导仿真系统开发全过程的统一的框架体系结构,导致各个仿真系统的开发缺乏标准,对象模型不能重用,异构仿真系统对象模型之间的互操作困难,交互效率不高,缺乏公用资源,开发效率低下,重复工作量大等等。此外DIS不能支持不同精度、不同仿真粒度、不同时间管理机制仿真系统之间的互操作。简言之,DIS在体系结构、标准和协议上还存在着不足。
  • 217. 另一方面计算技术的飞速发展也为新的仿真技术的出现奠定了技术基础。这些技术包括计算机硬件技术、网络技术,特别是分布对象技术CORBA、DCOM。 美国国防部建模与仿真办公室DMSO于1996年8月正式颁布了针对建模仿真领域的通用技术框架,该框架由 任务空间概念模型(CMMS:Conceptual Model of Mission Space) 高层体系结构(HLA:High Level Architecture) 一系列数据标准 组成。
  • 218. CMMS 建立被研究对象的模型是进行仿真研究的重要步骤。CMMS旨在建立关于真实世界军事行动权威的、一致的概念模型,便于仿真部件的互操作和重用。 CMMS是对真实世界的第一次抽象,它仅仅同真实世界任务空间信息相关,而独立于具体的仿真任务。
  • 219. CMMS对采集到的知识提供一个公用框架,它由三个主要成分组成: 概念模型,即关于真实世界的军事行动的协调一致的描述; 技术框架,即知识创建和集成的交互操作性标准; 公用资料档案库,即具有注册、存贮、管理和释放功能的数据库管理系统。 概括地说,CMMS主要解决三个关键问题:权威性数据来源的获取;从真实世界采集的信息在建模过程中的使用;旨在重用的模型保存。
  • 220. HLA规范 HLA是技术框架的核心。HLA规范主要由三部分组成: 规则(Rules) 对象模板(OMT:Object Model Template) 接口规范说明(Interface Specification) HLA规范已称为IEEE1516号标准。
  • 221. 2、HLA体系结构 我们首先了解HLA的几个概念。 联邦或邦联(Federation):为实现某种仿真目的,将彼此要进行交互作用的仿真系统、支撑软件和其它相关部件组织到一起构成一个联邦。 联邦成员或称邦员(Federate):所有参与到一个联邦中的仿真应用系统称为联邦成员。联邦成员还包括联邦成员管理器、数据收集器、真实的实体代理仿真、真实的实体代理仿真等。
  • 222. 运行时基础支撑系统(RTI:Run Time Infrastructure):是HLA核心,其功能类似于用于某种特殊目的的分布式操作系统,为联邦成员提供运行时所需服务。通信网络(LAN,WAN)RTIRTI接口模块RTI接口模块RTI接口模块管理器/观察器/数据收集 真实实体 代理仿真 仿真成员
  • 223. HLA的联邦构成采用对称的体系结构,在整个系统中,所有的仿真应用都是通过一个标准的接口形式进行交互作用,共享资源和服务。RTI是HLA的联邦执行的核心,在每个邦元的主机中驻留有程序,所有的联邦成员通过RTI接口与RTI进行数据交互,从而实现邦元之间的交互。 我们可以把RTI形象地看成是软总线,满足规定要求的各联邦成员都可以像插件一样插入到软总线上。
  • 224. 3、HLA 接口规范 HLA接口规范规定了联邦成员和RTI之间进行交互的规范,用来描述RTI所提供的6大类服务的63个接口。RTI提供的六大类服务为: ⑴联邦管理(Federation Management),在整个联邦运行生命期协调联邦范围内的各种活动; ⑵声明管理(Declaration Management),用于成员向RTI声明它能够提供的信息与能发出的交互,以及它希望接受到的信息与交互。成员的公布与定购;
  • 225. ⑶对象管理(Object Management),提供对象的创建、删除、对象之间的数据交互以及选择传输方式和顺序等服务; ⑷所有权管理(Ownership Management),在联邦执行的任一时刻,对象的任一属性的值由某一个成员负责更新。属性所有权可以在成员之间转移;
  • 226. ⑸时间管理(Time Management),从RTI的角度来看,联邦就是一组相互交换带时间戳的事件的成员的集合,RTI相当于事件的交换机。时间服务的目的是保证各成员的时间能协调一致地向前推进,保证RTI能在适当地时间,以适当的方式和顺序将来自成员的事件转发给适当的其它成员。 ⑹数据公布管理(Data Distribution Management),目的是限制一个大规模联邦中成员接受信息的范围,也就是为成员描述“兴趣”,落在成员感兴趣的区域内的数据才会转发给成员,实现了基于数据的过虑。
  • 227. 4、 对象模型模板(OMT) HLA的基本思想之一就是使用面向对象的方法设计、开发和实现仿真模型来获得仿真联邦的高层次的互操作和重用。 按照HLA规则规定,所有的联邦和联邦成员必须按照OMT设计和实现各自的对象模型,即联邦对象模型(FOM:Federation Object Model)和联邦对象的仿真对象模型(SOM:Simulation Object Model)OMT的作用就是提供一种标准的文档化的格式来描述联邦及其成员的对象模型信息(类、属性和交互信息),便于仿真系统的设计、开发和重用。
  • 228. 5、规则 HLA规则定义了在联邦的开发阶段应遵守的一套规则,以保证在联邦执行阶段各个仿真应用之间能够正确的交互。HLA规则分为联邦规则和邦元规则。 联邦规则: 联邦应该具有OMT来描述的FOM; 所有FOM中的对象的具体实现部分由邦元完成,而不是RTI完成; 在联邦执行阶段,邦元与RTI之间的数据交换必须符合HLA/RTI接口规范; 在联邦执行阶段,任一对象实例的任一属性在任意时刻只能由一个邦元所拥有。
  • 229. 邦元规则: 邦元应该具有用OMT来描述的SOM; 邦元应能对其SOM中的对象属性进行更新和反映,也能对SOM对象交互进行发送和接受; 邦元应能改变它更新对象属性的条件; 邦元应能管理自己的局部时钟来协调与其它邦元之间的数据交换。
  • 230. 6、基于RTI的仿真活动 采用RTI作为仿真系统构建与运行的核心,一方面对仿真软构件的开发规定了框架;另一方面要求改变整个应用领域开展仿真研究与开发的活动方式。 两个层次的共享:整个仿真应用的共享和仿真构件的共享,减少重复劳动。 因此,基于RTI的仿真要求从传统的分散仿真活动方式转向全局仿真活动方式。
  • 231. 计算机仿真 第1章 计算机仿真基础知识 第2章 离散系统仿真 第3章 连续系统仿真 第4章 作战模拟 第5章 多智能体仿真
  • 232. 第5章 多智能体仿真 分布式人工智能 自底向上 5.1 智能体的基本概念 5.2 多智能体 5.3 基于智能体的仿真应用 5.4 智能体研究关键技术
  • 233. 5.1 智能体的基本概念5.1.1 智能体及其要素 5.1.2 智能体的特性 5.1.3 智能体的结构 5.1.4 智能体的通信
  • 234. 5.1.1 智能体及其要素智能体的定义 Agent(主体,艾真体) 在一定的环境下能独立自主地运行,作用于自身生成的环境,也受到外部环境的影响,并能不断地从环境中获取知识,以提高自身能力,且将推理和知识表示相结合的智能实体(系统、机器、软件)。
  • 235. 5.1.1 智能体及其要素Agent和Object AOP 面向Agent的软件工程
  • 236. 5.1.1 智能体及其要素Agent的要素
  • 237. 5.1 智能体的基本概念5.1.1 智能体及其要素 5.1.2 智能体的特性 5.1.3 智能体的结构 5.1.4 智能体的通信
  • 238. 5.1.2 智能体的特性自治性 反应性 自适应性 社会性 推理性 情感性 机动性
  • 239. 5.1 智能体的基本概念5.1.1 智能体及其要素 5.1.2 智能体的特性 5.1.3 智能体的结构 5.1.4 智能体的通信
  • 240. 5.1.3 智能体的结构 反应式智能体 慎思式智能体 跟踪式智能体 基于目标的智能体 基于效果的智能体 复合式智能体智能体的结构必须能实现从感知到动作的映射函数
  • 241. 反应式智能体条件-作用规则作用决策执行器环境传感器世界现状智能体反应式智能体(reflex或reactive)只简单对外部刺激产生响应,没有内部状态。条件-作用规则使感知和动作连接起来。
  • 242. 慎思式智能体目标作用决策执行器环境传感器信息融合智能体规划知识库状态 慎思式智能体(deliberative),也称为认知式智能体(cognitive),是一个具有显式符号模型的基于知识的系统 。
  • 243. 5.1 智能体的基本概念5.1.1 智能体及其要素 5.1.2 智能体的特性 5.1.3 智能体的结构 5.1.4 智能体的通信
  • 244. 5.1.4 智能体的通信通信方式 黑板结构 消息/对话 通信语言 知识询问与操作语言(KQML) 知识交换语言(KIF)智能体之间的通信和协作是实现多智能体系统问题求解所必须的
  • 245. 第5章 多智能体仿真 5.1 智能体的基本概念 5.2 多智能体 5.3 基于智能体的仿真应用 5.4 智能体研究关键技术
  • 246. 5.2 多智能体(MAS)MAS基本模型 MAS体系结构 MAS的协作、协商和协调
  • 247. MAS基本模型BDI模型 联合意图、联合信念、联合承诺的形式化定义 协商模型 主要用于资源竞争、任务分配和冲突消解等问题 协作规划模型 主要用于制定协调一致的问题求解规划 自协调模型 可以随环境变化自适应地调整行为、内部结构的分解重组不同类型的MAS模型适应不同的应用环境
  • 248. MAS体系结构智能体网络 智能体联盟 黑板结构
  • 249. 第5章 多智能体仿真 5.1 智能体的基本概念 5.2 多智能体 5.3 基于智能体的仿真应用 5.4 智能体研究关键技术
  • 250. 5.3 基于智能体的仿真应用自主式多机器人系统 过程智能控制 网络通信与管理 交通控制 经济仿真 军事应用
  • 251. EINSTein 美国海军分析中心陆战仿真工具主要用于评估陆战复杂适应性过程 基于Swarm平台(基于Agent的建模与仿真平台) 利用多个Agent表示作战单元,通过研究这些Agent之间的相互作用,来研究作战的整体效果 红蓝双方战场为150×150的网格,每个格子上只能放一个Agent,表示一个战斗单元 每个Agent有三种状态(生、死、伤),每个Agent的目标是到达敌军棋处拔掉军棋 核心思想是寻求高层涌现性过程(突破、翼侧运动、钳制)和底层原始活动(机动、通信、开火)间的基本关系
  • 252. EINSTein初始态势红军军棋蓝军军棋红军集团蓝军集团
  • 253. EINSTein仿真要点及结论自底而上的仿真方法 在仿真过程中出现了涌现(突现)行为,即侧面进攻、突破等高层战术行为 用MAS研究战争及其复杂性是一种值得尝试的方法 战争和作战中表现出的系统整体行为可以由局部个体的相互作用而构成 模型对智能性的描述和智能体的社会性、认知、决策过程描述是简单、初步的 EINSTein作为作战模拟新方法论和战争复杂性研究试验是成功的
  • 254. 第5章 多智能体仿真 5.1 智能体的基本概念 5.2 多智能体 5.3 基于智能体的仿真应用 5.4 智能体研究关键技术
  • 255. 5.4 智能体研究关键技术AOP 面向Agent的软件工程 MAS的Teamwork Agent组织 MAS形式语义方法