【深度强化学习】关于混合动作空间转化为连续域空间的一点思考与实现

文章目录

  • 前言
  • 问题
  • 解决方法
  • 以此类推
    • 假设动作之间有联系
    • 假设动作之间没有联系


前言

根据导师的文章,得到的想法,论文如下:
论文链接:《Deep Reinforcement Learning for Smart
Home Energy Management》

问题

现在我有一个环境,3v3坦克环境,此时坦克有两个动作,一个动作为行动(360度都能走),一个动作是射击(360度都能射击)。
一开始的想法是0:行动,1:射击,两者都是0-360度的范围(0-2*pi)

这就变成的一个离散域,一个连续域的情况
一个是[0,1]离散域,一个是0-2*pi连续域的混合域。

我们知道,在单个智能体的环境下,[0,1]离散域的动作维度算2,0-2*pi连续域的动作维度算1。
所以此时混合域就有一个棘手的问题,1.维度算几? 2.怎么改写代码?

解决方法

我想了一个方法:(自建环境的情况下可用)
混合域转换成 单个连续域[-2pi,2pi],巧妙利用数学的正负
此时动作为[2] (列表的形式,值为角度值)
当动作[0]>0时,动作为行动;当动作[0]<0时,动作为射击,动作[0]=0时,即不动。

类似如下:
在这里插入图片描述
在maddpg时,是由tanh输出,输出为(-1,1),
在实际env.step前,将值乘以action_bound(我这里是2*pi)就行,当然maddpg还得加一个噪声然后clip。

类似如下:
在这里插入图片描述
由此将此问题改为了连续空间下的动作域,实验结果如下:
在这里插入图片描述
说明想法可行。

以此类推

我想,可以以这个方法,类比出其他混合域的方法,也都能化解成单个连续域的情况。
虽然我这个情况,动作两者的关系比较巧合。

假设动作之间有联系

在这里插入图片描述

假设动作之间没有联系

在这里插入图片描述
由上述两者情况基本涵盖了大多数混合空间域的情况。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/760384.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Excel显示/隐藏批注按钮为什么是灰色?

在excel中,经常使用批注来加强数据信息的提示,有时候会把很多的批注显示出来,但是再想将它们隐藏起来,全选工作表后,“显示/隐藏批注”按钮是灰色的,不可用。 二、可操作方法 批注在excel、WPS表格中都是按…

解决本机电脑只能通过localhost访问,不能通过127.0.0.1访问

背景问题 有天我启动项目,发现项目连接Mysq总是连接不上,查了url、ip、port、用户名和密码都没有错,就是连接不上mysql数据库,后来通过查找资料发现有多个进程占用3306端口。 pid 6016 是mysqld服务 而pid 9672 是一个叫 svchos…

算力时代,算能(SOPHGO)的算力芯片/智算板卡/服务器选型

数字经济时代,算力成为支撑经济社会发展新的关键生产力,全球主要经济体都在加快推进算力战略布局。随着大模型持续选代,模型能力不断增强,带来算力需求持续增长。算力对数字经济和GDP的提高有显著的带动作用,根据IDC、…

安装ubuntu过程中,出现“执行‘grub-install/dev/sda’失败,这是一个致命错误”问题,解决办法!软碟通制作U盘启动盘!

背景 U盘安装ubuntu系统过程中,出现类似如下问题,/dev/sda7内容可能不一样,但问题类似。 可能原因 1.U盘启动盘制作失败 2.U盘启动盘UEFI格式与Ubuntu引导分区有冲突 解决办法 1.用UltraISO(软碟通)重新制作U盘启…

多表执行嵌套查询,减少笛卡尔积,防止内存溢出

问题:当涉及四个表的查询时,会产生大量的笛卡尔积导致内存溢出。 解决办法 :可以使用嵌套查询将多表的联合查询拆分为单个表的查询,使用resultmap中的association(适合一对一) 或 collection(一…

模拟城市5: 未来之城 全DLC for Mac 下载安装包

模拟城市5:未来之城(SimCity BuildIt)是一款由Maxis开发并由 Electronic Arts(EA)发行的城市建设和管理模拟游戏。这款游戏最初在2014年发布,适用于iOS、Android以及Windows Phone平台,随后在20…

聚焦Python分布式爬虫必学框架Scrapy打造搜索引擎(一)

Scrapy综述 Scrapy总体架构 Scrapy架构图(绿线是数据流向) 适用于海量静态页面的数据下载 Scrapy Engine(引擎): 负责Spider、ItemPipeline、Downloader、Scheduler中间的通讯,信号、数据传递等。 Scheduler(调度器): 它负责接受引擎发送过来的Request请求&…

生命在于学习——Python人工智能原理(2.4.1)

在这里插一句话,我有两个好兄弟的github项目,感兴趣的可以去看一下,star一下,谢谢。 https://github.com/fliggyaa/fscanpoc https://github.com/R0A1NG/Botgate_bypass 四、Python的程序结构与函数 4.1 Python的分支结构 &…

matlab可以把图像数据转换为小波分析吗

🏆本文收录于《CSDN问答解答》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&…

P1107 [BJWC2008] 雷涛的小猫

[BJWC2008] 雷涛的小猫 题目背景 原最大整数参见 P1012 题目描述 雷涛同学非常的有爱心,在他的宿舍里,养着一只因为受伤被救助的小猫(当然,这样的行为是违反学生宿舍管理条例的)。在他的照顾下,小猫很快…

vb6多线程异步,VB.NET 全用API实现:CreateThread创建多线程,等待线程完成任务

在VB.NET中,你可以使用API函数来创建多线程并等待线程完成任务。以下是一个示例代码,展示如何使用API函数来实现这个功能: Imports System.Runtime.InteropServices Imports System.ThreadingPublic Class Form1Private Delegate Sub ThreadC…

嵌入式系统中静态库与动态库详解

大家好,今天我们来分享一下,动态库与静态库之间的差异有哪些? 计算机的运行当然离不开内存。 程序运行在内存当中,那么程序在内存中的布局是什么样子的呢? 程序的内存分为代码区、数据区、堆区和栈区,它们的布局是这样的,这里重点看代码区。 代码区中是什么呢? 这里主…

【sqlite3】联系人管理系统

SQLite3实现简单的联系人管理系统 有关sqlite3的基础知识请点击:SQLite3的使用 效果展示: 创建一个名为contacts.db的数据库 首先,我们需要创建一个名为contacts.db的数据库,并建立一个名为"contact"的表&#xff0…

某易六月实习笔试

第一题 下面代码需要更改的地方已指出。 解题思路 模拟题,用双指针记录双方当前式神,再记录一下当前谁先手,直到有一方指针越界。 把下面代码now1变为now(now1)%2就行。 第二题 解题思路 01背包变种,只是背包的容量变为多个维度…

打开防火墙设置提示需要使用新应用以打开此windowsdefender

拿到一台新电脑,装好虚拟机。主机ping虚拟机正常,虚拟机上网也正常,但是虚拟机ping主机ping不通。根据我多年虚拟机使用经验,这显然是因为主机防火墙没关。但是当我准备关闭主机防火墙的时候,发现防火墙设置打不开。界…

nvm安装以及idea下vue启动项目过程和注意事项

注意1:nvm版本不要太低,1.1.7会出现下面这个问题,建议1.1.10及其以上版本 然后安装这个教程安装nvm和node.js 链接: nvm安装教程(一篇文章所有问题全搞定,非常详细) 注意2:上面的教程有一步骤…

【WPF】Windows系统桌面应用程序编程开发新手入门-打造自己的小工具

电脑Windows系统上的桌面程序通常是用Visual Studio 开发工具编写出来的,有两种开发方式供选择,一种是WindowForm,简称WinForm,另一种是Windows Presentation Foundation,简称WPF,这里将学习WPF项目。 文章…

[数据库]mysql用户管理权限管理

目录 ​编辑用户管理​编辑 权限管理 ​编辑 ​编辑 ​编辑案例​编辑 细节 ​编辑 用户管理 我们用创建的用户在登录之后可以看到他和root看到的数据库是完全不一样的 权限管理 案例 登录这个账户可以看到还看不到teatdb这个数据库, 因为还没有授权 分配权限 过来刷新…

MathType2024最新官方无限永久试用版本下载

“我正在使用MathType,它让我的工作变得简单多了。”在中国科学院数学与系统科学研究院的一间办公室内,研究员张益唐兴奋地对《中国科学报》说。 这位因解决了数学界著名的“孪生素数猜想”而名声大噪的数学家,在谈到他最近使用的数学公式编辑…

MM-LLM:CogVLM解读

在图文多模态模型中,范式是图像的编码器、文本编码器、模态融合器。也就是不同模态特征抽取加模态对齐。 这部分可以看李沐的精讲 在大模型里的范式在也是如此,目前的工作大部分都专注于怎么拉齐不同模态。 该论文的动机(背景)&…