游戏人工智能开发之人群的动态行为交互仿真

博主把实验效果做成了视频,可以先看一下:

youtube(清晰):https://youtu.be/S5wLx-zMrIE

优酷:http://v.youku.com/v_show/id_XMTMxOTM3NTE1Ng==.html

TX:TX:http://v.qq.com/page/q/m/x/q0163gorwmx.html

动态人群交互模拟基于一般适应综合征理论General Adaptation Syndrome Theory

先了解一下什么是  一般适应综合征(general adaptation syndrome)

一般适应综合征(general adaptation syndrome)是由于持续的应急状态所引起的一种生理反应模式,其目的在于克服应急反应产生的影响,保证身体适应外界环境的能力。这种反应模式可分三个阶段:警觉阶段,抵御阶段,衰竭阶段。

例:
   
假如把尖锐的呼啸声作为一种老鼠生活的环境中,你就会发现下列情况:开始,老鼠的紧张状态明显加强,心率增快,警惕性增高,骨骼集中的血管收缩,而多竖

起,双目直视,这就是警觉阶段。而活,在肾上腺分泌出比平时多的肾上腺素的作用下,老鼠的行为好似处于相对的正常状态,这就是抵御阶段。最后,老鼠过早死

于心力衰竭,这就是衰竭阶段。将死亡的老鼠解剖,你会发现老鼠的肾上腺明显的肿大。这表明,老鼠在克服应激状态中,肾上腺分泌出大量的肾上腺素,等它把应
付困难环境的积蓄力量全部耗尽,身体衰竭。表面看来,老鼠死于心脏病,但是,经过仔细的研究,老鼠的真正的死因是由于持续不断的应急状态所造成的。
词义关联

一般适应综合征是由加拿大生理学家H.塞利首先提出来的,并且作了大量的动物实验来证明应激状态的影响。

以上解释来自网络

我们要模拟的就是,人物根据不同压力来做出不同行为。

根据人类固有性格不同而不同的行为,行为根据人类性格变化而动态变化。
使用著名心理学理论 --------  一般适应综合征理论General Adaptation Syndrome Theory
模拟仿真各种变化和压力,压力变化,步行速度变量发生改变
适用于游戏,虚拟现实等交互式应用程序
行为的差异主要来自于人类特点,人类行为的多种差异是由不同因素产生的,如刺激的不同,遗传因素,生理状态,认知状态,社会环境,文化环境,以前的生活经历,和个人个性特征。尽管有这么多种因素,行为也可以分为几个基本类型

因理论(Attribution
theory):人力资源管理和社会心理学的激励理论之一,归因是指观察者为了预测和评价被观察者的行为,对环境加以控制和对行为加以激励或控制,而对被
观察者的行为过程所进行的因果解释和推论。因为归因理论(Attribution
theory)把这些原因分为意向属性和情景属性。人模糊地意识到需要的心理状态。当人的需要以模糊的形式反映在意识之中时,所产生的不明确的需求意念就
是意向。简单来说就是个人的个性因素。情景属性是外部因素如现在的环境状态。我们将要模拟的人物代理需要人物个性,和环境情景来模拟。
情境因素称为压力,应激源对人物代理产生的效果将被当做压力来测量,我们模拟一般适应综合征理论General Adaptation Syndrome Theory作为人类如何应对压力的模型。
基于心理学模型进行人群仿真,动态模拟人群的行为模式,考虑各种类型的压力。模拟中人的行为受两个方面影响,是上面提到过的人的个性和情境因素。

激源的函数在时间和空间上产生各种各样真实世界中的人群行为。包括好多基于时间约束的应激源如人物代理的位置和其他环境因素。这些应激源可以和目标导向
(goal-directed)结合,多人物代理模拟能产生多样行为。将意向属性作为内部权重,情景属性作为外部权重,人物代理从应激源(作为一个函数)
收到我们模拟压力的测量值,就是这两个权重。


压力

一些研究人员描述人类如何应对压力,包括生理性变化和外部行为变化,人在有压力的时候攻击性增加。而且压力的反应会随着时间改变。

人群模拟技术

人群模拟(crowd simulation)和多智能导航(multi-agent navigation)是一个活跃的研究领域,我们主要关注人群行为的交互式方法。

行为模型

我们对于模拟复杂的行为使用基于规则(Rule-based)的方法,包括:原动力、知觉、行为和认知成分等来模拟行人行为和模拟决策过程。知觉是客观事物直接作用于感官而在头脑中产生的对事物整体的认识。认知成分是态度的其余组成成分的基础。
可你模拟行为如侵略、社会优先级、权威、保护和引导等。
许多研究人员已经在人群种仿真方面上使用心理因素。
这些行为模式的选择必须遵守给定的规则,比如一个人物代理,程序告诉他,饿了吃面包,结果那个人找不到面包店,饿死在了拉面馆门口。

压力的心理模型

广
义上讲,压力可以被定义为任何变化引起的环境和个体之间的交互。一般般来说,压力产生因为环境要求与个人能力之间的矛盾,当人们觉得他们需要应对挑战时他
们会觉得紧张。应激源产生压力,他可以是一种情况、一个对象、或者其他个体。有许多压力的来源,本文主要关注以下几点:

1.个人的负荷(具有挑战性的情况下),如时间限制与每个人物代理的目标;
2.感知到的威胁,如火灾危险的动物或对象;
3.不愉快的事情,如热、噪音、空气污染(吸烟,恶臭)和过度拥挤。

一般性适应综合征(general adaptation syndrome)



般GAS模型作为应对任何压力源(毒素、寒冷、受伤、疲劳、恐惧等)反应的GAS模型有三个阶段:预警,抵抗,衰竭(如上图)。在感受到压力时,在预警阶
段,他们准备好了为“战斗”或“逃走”。左图是GAS模型模拟压力随着时间的变化,在预警阶段迅速提升,在抵抗阶段提升到峰值,在衰竭阶段随着时间压力减
弱,右图是近似模型α为压力达到峰值的速度也是压力产生速度,决定预警期长短,β是压力的峰值大小。

我们首先设置一个任务代理正
在受到的压力ψ,我们的目标是计算一个任务代理的应激反应定义为S。压力的变化速率α,代表人物代理并不马上应对压力,有预警阶段作为一个缓冲。为了把任
务代理的应急反应强度限制,我们设置一个压力的峰值β,这是因为如果压力无限增强的话,就会限制人物代理的响应,行为也不自然。
把这些值结合到一起得到如下公式:
 
dS/dt为应激反应曲线的斜率也就是压力增长和衰减速度。
S的上限为β,因为性能问题我们把α和β设为常量。

每个人的α和β都不相同,我们可以自己设定,或者使用测得的真实值。

所以,这个系统有三个步骤
1.    应激源提供压力
2.    基于GAS模型的压力积累函数
3.    多代理模拟算法(multi-agent simulation algorithm),通过改变代理的攻击性和冲动可以改变代理的行为。
 

压力感知

感知到的压力ψ与先前自身带有的压力I有如下关系:
 
k为比例因子,n为指数,这两个参数大小取决于应激源的种类。
压力源的原型
四种压力原型:

时间压力

在一个特定时间达到一个目标而产生时间压力,如:过马路、在大门关闭之前登上火车、在火灾中逃离建筑物。
去模拟这种类型的压力,人物代理有一个目标位置和一个固定时间限制tallowed,我们模拟时间压力的强度It,根据时间限制与预计到达时间差,也就是剩余到达时间来模拟这个函数:
 
testimated是到达目标预计时间,例如:testimated= distRemaing/avgSpeed.

环境应激

环境应激由环境状态产生,例如:噪音、高温、强光、烟雾。在区域中这种应激源的强度一般是常量:
 
A是产生应激环境区域,pa是当前人物代理位置。

位置应激

这是应激源结合本地压力产生源。不同于环境应激,位置应激为压力随着人物代理与应激源的距离的减小而增加,包括静态的应激源如火焰,或者动态的应激源如一辆疾驰的车或者一个暴力分子。
 

pa为人物代理位置ps为应激源位置

pa为人物代理位置ps为应激源位置

如果一个很大区域有着高强度的刺激,我们也可以用高斯分布:

人际压力

来自其他人物代理的压力,常见的例子如拥挤。我们通过一个密度阈值与当前密度的差距来定义压力函数:
 
ncur是单位区域内在当前的周围人数,npref是相同区域内周围人数的阈值。

压力模型

以上四种压力每种都用强度I来定义,结合公式2,用来求出感知到的压力ψ。一个人物代理的应激反应S由公式1求得。
α和β可变变量来控制代理的应激反应,人们基于自身的防御系统和个人性格产生压力的变化,α越大对压力产生的反应越快,β越大人能产生的反应越大。

多应激源

当面对多压力,我们计算出每个压力值在进行加权处理求得总压力,人们可选择自己对不同刺激的不同反应强度作为权重w。
 
wi是每个应激源Si的权重,赋予人们压力的优先级。

我们可观察到人物代理主要的响应是增加积极地和冲动行为,我们希望它能显示侵略性和冲动的变化

加入行为变化

以两个范围作为群体行为的原则,可以被视为高级参数。范围一,定义PC1,外向的性格有更多激烈的行为。第二范围,PC2的谨慎行为很多。根据这两个维度,我们可以选择仿真所需参数。我们用压力行为向量作为参数表示这个差异,Bstress作为人物代理感知到压力的能力

例如PC1与PC2分别为积极的,和仔细的。

结合人格特性

一个矩阵Apc给予一个关于PC1&PC2之间的线性映射,矩阵Aadj映射了各种不同性格的描述。我们决定人物代理的最终行为是线性的结合这两个矩阵,第一个代表情景响应,第二个代表人物代理固有的性格个性。
下面方程求出仿真参数,根据固有的个性特征和动态变化的压力反应来描述人物代理的行为,
 

P是响应一个人物代理固有个性的向量。当一个人物代理感知到压力并且S值增加,Bstress效果增加因此压力性的行为也增多。当压力消失了,S将会减少,人物代理的行为也会回到初始人物个性行为P。

实践结果

请先观看视频:

youtube(清晰):https://youtu.be/S5wLx-zMrIE

优酷:http://v.youku.com/v_show/id_XMTMxOTM3NTE1Ng==.html

TX:TX:http://v.qq.com/page/q/m/x/q0163gorwmx.html

对立小组

两组人物代理通过走廊向相互反向移动。

受目标压力与人际压力。

过马路

一个人物代理过马路的十字路口,信号剩余时间作为压力源。

在40s的时候压力较少,人物代理漫不经心的过道

在剩余时间少的时候压力变大,人物变走为跑

追逐

一个怪物追赶人物代理。通过怪物与人物代理的位置来计算压力,是位置应激

四散而逃

距离由近及远,压力由大到小

多个压力存在权重

疏散

一千人物代理撤离一个办公环境。压力来自于火灾。因为人数多,所以拥挤作为第二应激源(人际压力);

人物性格不同行为不同

参考:Interactive Simulation of Dynamic Crowd Behaviors using General Adaptation Syndrome Theory

         ---------  by wolf96   [email protected]

时间: 2024-08-15 09:25:51

游戏人工智能开发之人群的动态行为交互仿真的相关文章

unity3d 游戏人工智能开发之状态机(C#模板与示例)

Finite State Machine 状态机 This is a Deterministic Finite State Machine framework based on chapter 3.1 of Game Programming Gems 1 by Eric Dybsend. Therea are two classes and two enums. Include them in your project and follow the explanations to get the

游戏人工智能开发之进阶版随机技术

又get3种新的rand方式,简单又实用 分别为高斯分布随机,过滤随机,和perlin随机,perlin老朋友了,主要说说前两种. 高斯分布随机(Gaussian Randomness) 高斯分布也叫正态分布(Normal distribution)或钟形曲线(bell curves),正态分布再熟悉不过了.它长这个样子: 为什么要根据高斯分布来产生随机呢,这里要提到一个名词"中心极限定理(central limit theorem)".中心极限定理:在自然界与生产中,一些现象受到许多

iPhone iPad游戏应用开发视频教程

基于IOS5平台下的IPAD.Iphone.IPod移动应用开发系列课程适合人群:初级课时数量:120课时用到技术:iphone.ipad涉及项目:计算器.调查问卷系统咨询qq:1840215592课程简介本系列课程分为基础篇.项目实战篇共:100-120学时(预计),45-60分钟/课时.课程包括两个iphone.两个Ipad项目共四个真实项目贯穿其中,课程完全采用外企的项目进度方式管理项目开发.实战为王:课程都以真实的实战项目为背景,侧重于提升学员的实战能力,目的就是为了让学员能完全胜任职场

关于游戏人工智能关键技能与应用的介绍

游戏人工智能集中体现了一款游戏的可玩性.随着智能技能的深入发展,游戏人工智能已成为提高一款游戏可玩性的技能核心,以及游戏推广的主要卖点,深化了游戏体验境界.因此,深入研讨分析游戏人工智能关键技能与应用具有极高的现实价值. [Abstract]The game artificial intelligence embodies a reflection of a game playability. With the further development of intelligent technol

微信农场种植游戏系统开发解析

微信农场种植游戏系统开发解析(微or电 158.1500.1390 小凡团队)农场种植游戏系统开发,农场种植游戏模式开发,农场种植游戏定制开发. 一个人的成功绝非偶然,这里只为你提供一个价值平台,选择与否,全在你的把握之中,奇迹将在这里演绎,因为一种全新的财富理念在这里将被彻底解密,机会总是留给有准备的人. 模式介绍: 一,如何开地 1.新朋友注册好之后登陆账号进入"果园管理"然后在下拉菜单中选择"我的果园",再见用第一个铲子,在普通土地上铲一下,直到显示出来一棵树就好.2.会员开第二块地的方法

欢乐茶园游戏系统开发详解

欢乐茶园游戏系统开发(苏念 188.1414.7927) 欢乐茶园游戏开发 欢乐茶园种植开发 欢乐茶园app开发 互联网和大数据的发展,是一个从人找信息,到信息找人的过程.先是人找信息,人找人,信息找信息,现在是信息找人的这样一个时代.信息找人的时代,就是说一方面我们回到了一种最初的,广播模式是信息找人,我们听收音机,我们看电视,它是信息推给我们的,但是有一个缺陷,不知道我们是谁,后来互联网反其道而行,提供搜索引擎技术,让我知道如何找到我所需要的信息,所以搜索引擎是一个很关键的技术. 1   商

《游戏人工智能编程案例精粹》读书笔记—数学和物理学初探

1.1.1 笛卡尔坐标系 在二维空间中,笛卡尔坐标系被定义成两个坐标轴成直角相交并且用单位长度标出.水平轴称为x 轴,而垂直轴称为y 轴,两个轴的交点称为原点,如图1.1 所示. 如图1.1所示,每个坐标轴端点的箭头表示它们在每个方向上无限延伸.假想有一张无限大的纸,上面有x 轴和y 轴,纸就表示 xy 平面,所有二维的笛卡尔坐标系中的点都可以给制在这个平面上.在2D 空间中的一个点可以用一对坐标(x,y) 表示.x 和y 的值代表沿着各自的轴上的距离. 为了表达三维空间,需要另外一个坐标轴z铀

最适合人工智能开发的5种编程语言

原文: 最适合人工智能开发的5种编程语言 [IT168 评论]自从去年,AlphaGo打遍天下棋手无对手,人工智能的风头就一直无人能及.在刚刚过去的IT领袖峰会上,BAT三位大佬都看好人工智能的未来发展.今年年初,百度就做了一个大动作,在医疗方面押宝人工智能,所以在这次峰会上李彦宏也发声称互联网是道开胃菜,人工智能才是主菜. 人工智能是一个很广阔的领域,很多编程语言都可以用于人工智能开发,所以很难说人工智能必须用哪一种语言来开发.选择多也意味着会有优劣之分,并不是每种编程语言都能够为开发人员节省

EOSBET游戏系统开发商城

EOSBET商城奖励制度方案定制卢先生[l8O可微→ll72电→649l]OSBET软件开发,EOSBET模式开发,EOSBET平台开发,EOSBET源码开发,EOSBET商城开发,EOSBET小程序开发,EOSBET分销模式软件开发,EOSBET分销模式系统开发,EOSBET商业模式系统开发,EOSBET返利模式系统软件开发,EOSBET奖励模式系统软件开发, 记住,可以哭,可以恨,但是不可以不坚强.你示弱时所得到的同情,除了让你更加怯懦之外,无法让境遇得到任何改变.心有坚毅,则事无所惧. 人