法律状态公告日
法律状态信息
法律状态
2023-09-15
实质审查的生效 IPC(主分类):G06F30/27 专利申请号:2023106440610 申请日:20230601
实质审查的生效
2023-08-29
公开
发明专利申请公布
技术领域
本发明涉及虚拟建模技术领域,尤其涉及一种虚拟地理环境角色建模方法。
背景技术
虚拟地理环境是目前正在迅速发展的时间空间信息技术新领域,并已经在军事和民用上得到了广泛的应用。支持多用户协同是虚拟地理环境的重要内容。当前,虚拟地理环境的协同主要借鉴计算机支持的协同工作(CSCW,Computer Supported CooperativeWork)概念和方法,在实际应用中,需要针对某个典型应用进行系统开发,实现信息的共享与互操作。然而,现有技术尚未出现符合虚拟地理环境自身特征和需要的地理协同的模型和方法。虚拟地理环境强调以“人”为核心,但是如何构建适合多人参与的协同操作环境,同时又顾及虚拟地理环境的高效构建,目前还缺少切实有效的解决方法。
当前的虚拟地理环境角色建模方法存在缺陷。传统的建模方法通常依赖于手动定义规则或使用简单的数学模型,缺乏对复杂环境和角色行为的准确建模能力。此外,这些方法往往需要大量的人工设计和调整,无法自适应不同的环境和任务。因此,需要一种新颖的方法来解决这些问题。
发明内容
本发明的目的是要提供一种虚拟地理环境角色建模方法。
为达到上述目的,本发明是按照以下技术方案实施的:
本发明包括以下步骤:
S1:定义地理环境的属性函数和角色的初始状态;
S2:模拟过程:根据角色的当前状态和环境属性函数进行决策,得到动作;
S3:根据动作更新角色状态,所述角色状态包括位置坐标、当前速度、环境影响,满足终止条件结束模拟;
S4:若未满足终止条件则返回步骤S2。
所述步骤S1中定义地理环境的属性函数V(x,y);定义角色的初始状态S(0);所述步骤S2中的模拟过程定义每个时间步t;根据角色的当前状态S(t)和环境属性函数V(x,y)通过强化学习算法进行决策,得到动作a(t)。
所述步骤S3中根据动作a(t)更新角色状态S(t+1);角色的位置由坐标(x,y)表示,根据当前位置和速度更新位置:
x(t+1)=x(t)+vx(t)
y(t+1)=y(t)+vy(t)
根据如下式更新当前速度:
vx(t+1)=f_vx(vx(t),vy(t),S(t),V(x,y))
vx(t+1)=f_vx(vx(t),vy(t),S(t),V(x,y))
vy(t+1)=f_vy(vx(t),vy(t),S(t),V(x,y))
vy(t+1)=f_vy(vx(t),vy(t),S(t),V(x,y))
其中,f_vx和f_vy是根据当前速度、角色状态和环境属性计算新速度的函数;
根据环境影响函数F(S(t),V(x,y))更新角色状态S(t+1);
S(t+1)=F(S(t),V(x,y))
满足终止条件为达到预定时间或达到指定位置,则结束模拟。
所述强化学习算法为:包括Q值函数的更新和动作选择策略,具体公式如下:
Q值函数的更新:
Q(s(t),a(t))=r(t+1)+γ*max(Q(s(t+1),a))
其中,Q(s(t),a(t))表示在状态s(t)采取动作a(t)的Q值;r(t+1)表示在状态s(t)采取动作a(t)后获得的即时奖励;γ是折扣因子,用于平衡当前奖励和未来奖励的重要性;max(Q(s(t+1),a))表示在下一个状态s(t+1)中选择动作a的最大Q值;
动作选择策略:
a(t)=argmax(Q(s(t),a))
其中,argmax(Q(s(t),a))表示在当前状态s(t)下选择使得Q值最大的动作a。
第二方面,本申请实施例还提供一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行第一方面所述的方法步骤。
第三方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行第一方面所述的方法步骤。
本发明的有益效果是:
本发明是一种虚拟地理环境角色建模方法,与现有技术相比,本发明具有如下技术效果:
与传统方法相比,本发明提供了一种新颖的建模方法,利用深度强化学习算法等先进技术,能够更准确地对复杂环境和角色行为进行建模。
本发明能够自适应不同的环境和任务,通过学习和优化过程,能够根据实际情况进行决策和行为调整,提高角色在虚拟地理环境中的适应能力。
本发明通过引入深度强化学习算法,能够更好地模拟角色在虚拟地理环境中的运动和行为,提高模拟精度和真实感。
本发明相较于传统方法,减少了对人工设计和调整的依赖,通过学习和自主决策,能够减少开发者的工作量,提高开发效率。
综上所述,基于深度强化学习的虚拟地理环境角色建模方法具有新颖性、自适应性、模拟精度提升以及省时省力的技术效果,能够应对传统方法的缺陷并提升建模和模拟的质量与效果。
附图说明
图1是本发明的方法流程图。
图2为本说明书实施例中一种电子设备的结构示意图。
具体实施方式
下面结合附图以及具体实施例对本发明作进一步描述,在此发明的示意性实施例以及说明用来解释本发明,但并不作为对本发明的限定。
虚拟地理环境的角色建模方法结合几个关键概念和数学公式:
地理环境表示:定义地理环境为一个二维平面,用坐标系表示。假设平面上的点坐标为(x,y)。将地理环境分为多个离散的区域或格子,每个区域具有一组属性(如地形、高度、植被等)。定义地理环境表示函数V(x,y),它映射每个点到对应的属性向量。
角色建模:将角色建模为具有一组属性的实体。这些属性可以包括位置、速度、方向、健康状态等。定义角色状态函数S(t),它描述角色在时间t的属性状态。角色的位置由坐标(x,y)表示,速度由向量v=(vx,vy)表示。
角色与环境交互:角色根据当前状态S(t)和环境属性V(x,y)进行决策,并更新自身状态。角色与环境之间的交互可以通过一些规则、物理模拟或机器学习算法实现。例如,使用强化学习算法来训练角色做出最优决策。
环境影响:定义环境对角色的影响函数F(S(t),V(x,y)),它表示环境属性对角色状态的影响。这可以是一个基于物理规律的函数,也可以是一个基于经验或概率的函数。
基于上述概念,如图1所示:本发明包括以下步骤:
S1:定义地理环境的属性函数和角色的初始状态;
S2:模拟过程:根据角色的当前状态和环境属性函数进行决策,得到动作;
S3:根据动作更新角色状态,所述角色状态包括位置坐标、当前速度、环境影响,满足终止条件结束模拟;
S4:若未满足终止条件则返回步骤S2。
所述步骤S1中定义地理环境的属性函数V(x,y);定义角色的初始状态S(0);所述步骤S2中的模拟过程定义每个时间步t;根据角色的当前状态S(t)和环境属性函数V(x,y)通过强化学习算法进行决策,得到动作a(t)。
所述步骤S3中根据动作a(t)更新角色状态S(t+1);角色的位置由坐标(x,y)表示,根据当前位置和速度更新位置:
x(t+1)=x(t)+vx(t)
y(t+1)=y(t)+vy(t)
根据如下式更新当前速度:
vx(t+1)=f_vx(vx(t),vy(t),S(t),V(x,y))
vx(t+1)=f_vx(vx(t),vy(t),S(t),V(x,y))
vy(t+1)=f_vy(vx(t),vy(t),S(t),V(x,y))
vy(t+1)=f_vy(vx(t),vy(t),S(t),V(x,y))
其中,f_vx和f_vy是根据当前速度、角色状态和环境属性计算新速度的函数;
根据环境影响函数F(S(t),V(x,y))更新角色状态S(t+1);
S(t+1)=F(S(t),V(x,y))
满足终止条件为达到预定时间或达到指定位置,则结束模拟。
所述强化学习算法为:包括Q值函数的更新和动作选择策略,具体公式如下:
Q值函数的更新:
Q(s(t),a(t))=r(t+1)+γ*max(Q(s(t+1),a))
其中,Q(s(t),a(t))表示在状态s(t)采取动作a(t)的Q值;r(t+1)表示在状态s(t)采取动作a(t)后获得的即时奖励;γ是折扣因子,用于平衡当前奖励和未来奖励的重要性;max(Q(s(t+1),a))表示在下一个状态s(t+1)中选择动作a的最大Q值;
动作选择策略:
a(t)=argmax(Q(s(t),a))
其中,argmax(Q(s(t),a))表示在当前状态s(t)下选择使得Q值最大的动作a。
在上述算法过程中,具体的公式和定义取决于应用场景和需求。可以根据实际应用时的数据更改定义环境属性函数V(x,y)、决策算法、环境影响函数F(S(t),V(x,y))以及更新速度的函数f_vx和f_vy。如此能够根据具体问题来定制算法,从而更符合实际需求。
实施例:
初始化:定义地理环境的属性函数V(x,y):V(x,y)表示地理环境在坐标(x,y)处的属性向量。定义角色的初始状态S(0):S(0)表示角色在初始时刻的状态,包括位置、速度等属性。
模拟过程:对于每个时间步t:
决策阶段:根据角色的当前状态S(t)和环境属性函数V(x,y)进行决策,得到动作a(t)。使用基于强化学习的方法,例如使用深度强化学习算法(如DQN)来学习决策函数。动作a(t)表示角色在时刻t采取的行动。
更新角色状态:根据动作a(t)更新角色状态S(t+1)。更新位置:根据当前位置和速度更新位置。
x(t+1)=x(t)+vx(t)*dt
y(t+1)=y(t)+vy(t)*dt
其中,(x(t),y(t))是角色在时刻t的位置,(vx(t),vy(t))是角色在时刻t的速度,dt是时间步长。
更新速度:假设速度受到重力影响,同时考虑角色的加速度。
vx(t+1)=vx(t)+ax(t)*dt
vy(t+1)=vy(t)+(ay(t)-g)*dt
其中,(ax(t),ay(t))是角色在时刻t的加速度,g是重力加速度。
环境影响:根据环境影响函数F(S(t),V(x,y))更新角色状态S(t+1)。设角色受到地形高度影响,速度受到摩擦力影响。
ay(t+1)=f_ay(x(t+1),y(t+1),V(x(t+1),y(t+1)))-f_friction(vx(t+1),vy(t+1))
其中,f_ay(x(t+1),y(t+1),V(x(t+1),y(t+1)))是根据地形高度和角色位置计算的加速度函数,
f_friction(vx(t+1),vy(t+1))是根据速度计算的摩擦力函数。
终止条件:如果满足终止条件,例如达到预定时间或达到特定位置,则结束模拟。
在这个实施例中,使用基于强化学习的决策方法,考虑了重力和摩擦力对角色状态的影响。
深度强化学习算法是一种将深度学习与强化学习相结合的方法,用于解决在没有先验知识的情况下从交互式环境中学习最优行为策略的问题。核心思想是通过构建一个深度神经网络(深度网络)来近似值函数或策略函数,实现对复杂环境的决策和行为优化。
基于强化学习的决策方法是通过对环境状态的观察和奖励信号的反馈,利用强化学习算法选择最佳动作来优化策略。决策方法的具体实现可以是基于值函数的方法(如Q-learning、DQN),基于策略梯度的方法(如REINFORCE、PPO),或者结合了值函数和策略梯度的方法(如A3C、DDPG)。这些方法通过学习价值函数或策略函数,并使用回报信号进行反馈,来指导决策的过程。
进一步定义和细化公式和函数可以根据具体应用场景和问题需求进行。例如,在上述示例中,我们考虑了地形高度和摩擦力对角色状态的影响。进一步定义和细化这些公式和函数可以包括:
地形高度对加速度的影响函数f_ay(x(t+1),y(t+1),V(x(t+1),y(t+1))):可以使用数学模型或者根据经验设计函数来描述地形高度对角色加速度的影响。可以考虑地形坡度、高度差等因素,并根据具体问题来定义。
摩擦力函数f_friction(vx(t+1),vy(t+1)):可以根据角色的速度来设计摩擦力函数。这可以是基于摩擦系数的简单线性函数,也可以是更复杂的模型,如考虑速度的平方等因素。
此外,根据具体问题进一步定义和细化其他公式和函数,例如奖励函数、价值函数的近似方法、策略网络的结构等。这些定义和细化的过程需要结合具体问题的特点和要求,以及算法和模型的可行性来进行。
在上述方法中,深度强化学习算法可以使用基于值函数的算法,如DQN(DeepQ-Network)。DQN是一种使用深度神经网络来近似值函数的强化学习算法。
DQN的核心公式包括Q值函数的更新和动作选择策略,具体公式如下:
Q值函数的更新公式(更新目标):
Q(s(t),a(t))=r(t+1)+γ*max(Q(s(t+1),a))
其中,Q(s(t),a(t))表示在状态s(t)采取动作a(t)的Q值;r(t+1)表示在状态s(t)采取动作a(t)后获得的即时奖励;γ是折扣因子,用于平衡当前奖励和未来奖励的重要性;max(Q(s(t+1),a))表示在下一个状态s(t+1)中选择动作a的最大Q值。
动作选择策略:
a(t)=argmax(Q(s(t),a))
其中,argmax(Q(s(t),a))表示在当前状态s(t)下选择使得Q值最大的动作a。
DQN算法使用深度神经网络来近似Q值函数,公式中的Q值可以通过神经网络的前向传播得到。
以上是DQN算法的核心公式,用于更新值函数和选择动作。但在实际应用中,还需要结合具体问题来设计其他细节,如经验回放、目标网络的使用等,以提高算法的稳定性和效果。
图2是本申请的一个实施例电子设备的结构示意图。请参考图2,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图2中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成一种虚拟地理环境角色建模装置。处理器,执行存储器所存放的程序,并具体用于执行前述任意一种虚拟地理环境角色建模方法。
上述如本申请图1所示实施例揭示的一种虚拟地理环境角色建模方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图1中一种虚拟地理环境角色建模方法,并实现图1所示实施例的功能,本申请实施例在此不再赘述。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,执行前述的任意一种虚拟地理环境角色建模方法。
本发明的技术方案不限于上述具体实施例的限制,凡是根据本发明的技术方案做出的技术变形,均落入本发明的保护范围之内。
机译: 一种基于车辆的地理语境建模系统和道路与天空的分区方法,该方法通过使用能够从当前上下文中提取道路和天空的组成图案的自适应模式匹配来进行地理环境建模和依赖于分区的自适应划分现在的情况
机译: 根据角色类型建模情绪变化的方法和使用相同方法建模虚拟角色的系统
机译: 一种基于自然语言表达情感的系统和方法,以使虚拟角色对人做出反应,并在人对虚拟角色说话时表达情感