Data-driven ADP schemes for non-zero-sum games of unknown DT nonlinear systems

news2024/11/25 18:37:42

Data-driven adaptive dynamic programming schemes for non-zero-sum games of unknown discrete-time nonlinear systems,2018, He Jiang, Huaguang Zhang∗, Kun Zhang, Xiaohong Cui

博弈论、最优控制和强化学习解决离散时间 multi-player 非零和博弈问题。非零和博弈问题的解是耦合黎卡提方程和HJ方程的结果,需要精确数学模型,难以解析求解。实际中系统动力学不能精确获得甚至不可用,传统基于模型方法不可用。针对完全未知的multi-player系统提出data-based ADP算法。利用Nash equilibrium和平稳性条件构造离散时间multi-player非零和博弈,利用策略迭代算法近似最优解。在线ADP算法结合NN identification,仅需要系统数据而不是真实系统模型。提出基于数据驱动的action-dependent HDP(ADHDP或QLearning)方法,克服identification learning过程中的近似误差。
输入输出系统数据可被测量和利用,数据驱动方法1:直接使用系统数据设计最优控制器;2:通过神经网络重构数据驱动系统结构近似实际系统。本文采用ADP算法和数据驱动技术处理model-freeDT非零和博弈问题,纳什平衡点和平稳性条件推导和构建DT非零和博弈问题,提出PI方法,学习和近似迭代的最优解。比较identification-based和data-driven两种ADP算法。

DT N-player system
在这里插入图片描述
性能指标函数
在这里插入图片描述
Definition1给出可容许控制策略
Assumption1给出N-player system可控,至少存在一组可容许控制策略,可出可容许状态反馈控制策略,值函数表达式和最优值函数。
Definition2给出纳什平衡定义,满足不等式时,一组控制策略被认为是N-player game的纳什平衡点
在这里插入图片描述
Lemma1给出对N-player system值函数,基于最优的平稳性条件,最优控制策略为
在这里插入图片描述
最优值函数满足耦合方程
在这里插入图片描述
Theorem1给出在Assumption1下,最优值函数满足耦合方程,最优控制策略为以上形式
在这里插入图片描述
证明,最优值函数为李雅普诺夫函数,系统渐进稳定;
给出算法流程
在这里插入图片描述
对以上迭代步骤,需要f(x)和g(x),完全未知系统,model-based是无效的,需采用神经网络identification

神经网络近似multi-player system
在这里插入图片描述
NN-based identification
在这里插入图片描述
最小化性能指标并调整权重
在这里插入图片描述
神经网络近似误差有界,存在正常数
在这里插入图片描述
Theorem2根据identification scheme 验证未知multi-player system并更新identifierNN 权重,满足Assumption2,NN 权重近似误差是有界的,且identification error是渐进稳定的。
在这里插入图片描述
神经网络近似评价网络
在这里插入图片描述
值函数近似,定义NN approximation error η i ( k ) \eta_i(k) ηi(k)
在这里插入图片描述
k表示当前时刻,系统第k步数据,测量x(k)。对完全未知的multi-player systems f(x)和g(x)难以获得未来x(k+1)的系统数据。则需要identifier NN获得 x ^ ( k + 1 ) \hat{x}(k+1) x^(k+1)
定义残差向量
在这里插入图片描述
评价网络权重调整
在这里插入图片描述
同理动作网络
在这里插入图片描述
误差定义
在这里插入图片描述
动作网络权重更新
在这里插入图片描述
根据测量系统数据,神经网络重构系统动力学,但不可避免带来NN approximation errors

action-dependent HDP(Qlearning) 的NN 学习方法
评价网络描述为
在这里插入图片描述
其评价网络输入 z c i ( k ) z_{ci}(k) zci(k)由x(k), u i ( k ) u_i(k) ui(k) u ( − i ) ( k ) u_{(-i)}(k) u(i)(k)组成。
误差定义为
在这里插入图片描述
最小化误差性能指标
在这里插入图片描述
同理梯度下降法更新权重
在这里插入图片描述
动作网络
在这里插入图片描述
误差定义为
在这里插入图片描述
基于梯度下降权重更新
在这里插入图片描述
基于NN的ADHDP算法,未涉及f(x)和g(x),仅使用当前时刻k和历史时刻k-1的数据
在这里插入图片描述

扩展到跟踪控制问题中,跟踪误差动力学为
在这里插入图片描述
增广系统
在这里插入图片描述
以增广系统的值函数为
在这里插入图片描述
可推得最优控制策略和最优值函数
在这里插入图片描述
对值函数引入折扣因子,因为参考系统状态轨迹通常不趋于零。无折扣因子可能使得跟踪控制策略非零,值函数将无界。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HarmonyOS 应用开发之UIAbility组件基本用法

UIAbility组件的基本用法包括:指定UIAbility的启动页面以及获取UIAbility的上下文 UIAbilityContext。 指定UIAbility的启动页面 应用中的UIAbility在启动过程中,需要指定启动页面,否则应用启动后会因为没有默认加载页面而导致白屏。可以在…

Doris实践——叮咚买菜基于OLAP引擎的应用实践

目录 前言 一、业务需求 二、选型与对比 三、架构体系 四、应用实践 4.1 实时数据分析 4.2 B端业务查询取数 4.3 标签系统 4.4 BI看板 4.5 OLAP多维分析 五、优化经验 六、总结 原文大佬介绍的这篇Doris数仓建设实践有借鉴意义的,这些摘抄下来用作沉淀学…

【1】网络协议基础概念

【1】网络协议基础知识 1、互联网2、为什么要学习网络协议3、学习中需要搭建的环境4、客户端-服务器5、Java 的跨平台原理6、C/C的跨平台原理7、一个简单的SpringBoot项目(1) pom.xml(2) application.yml(3) NetworkStudyApp.java(4) SwaggerConfig.java(5) HelloWorldControll…

若依ruoyi-vue实现excel导入导出

文章目录 Excel注解excel数据导入前端实现后端实现 下载模板前端实现后端实现 excel数据导出前端实现后端实现 自定义标题信息导出用户管理表格新增标题(用户列表)导入表格包含标题处理方式 自定义数据处理器自定义隐藏属性列导入对象的子对象导出对象的…

Unity 渲染

渲染的三个阶段 1:应用阶段 1.1 数据的准备 遮挡剔除,层级剔除。 渲染顺序,UI在Herachy窗口按照层级渲染,其余物体由大概按照先近后远。 打包渲染数据发送给显存,主要包括有模型信息,变换矩阵&#xff0c…

【每日一题】1997. 访问完所有房间的第一天-2024.3.28

题目: 1997. 访问完所有房间的第一天 你需要访问 n 个房间,房间从 0 到 n - 1 编号。同时,每一天都有一个日期编号,从 0 开始,依天数递增。你每天都会访问一个房间。 最开始的第 0 天,你访问 0 号房间。…

【C++】 vector 数组/向量

文章目录 【 1. vector 的声明与初始化 】1.1 vector 的声明1.2 vector 的初始化1.2.1 构造一个空的 vector1.2.2 指定数量初值的方式初始化 vector1.2.3 迭代器的方式初始化1.2.4 构造一个相同的 vector 【 2. vector 的相关操作 】2.1 插入元素2.1.1 在vector的末尾插入新元素…

C#自定义最大化、最小化和关闭按钮

目录 1.资源文件 2.读取资源文件中的图片 3.WindowState属性 4. 示例 用户在制作应用程序时,为了使用户界面更加美观,一般都自己设计窗体的外观,以及窗体的最大化、最小化和关闭按钮。本例通过资源文件来存储窗体的外观,以及最…

GEE22:基于目视解译的土地利用分类(随机森林监督分类)

采样点信息: 设置一下采样点参数: 代码: //设置研究区位置 var table ee.FeatureCollection("users/cduthes1991/boundry/China_province_2019"); var roi table.filter(ee.Filter.eq(provinces,beijing)); Map.centerObjec…

AVL树深度解析

目录 一. AVL树的概念 二. AVL树节点的定义 三. AVL树的基本操作 3.1 插入操作: 3.1.1 parent->_pf 0 3.1.2 abs(parent->_pf) 1 3.1.3 abs(parent->_pf) 2 3.1.3.1 parent->_pf 2 && cur->_pf 1 3.1.…

P3369 【模板】普通平衡树(splay 算法)

题目描述 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作: 插入一个数 x。删除一个数 x(若有多个相同的数,应只删除一个)。定义排名为比当前数小的数的…

6、父子组件传参、路由的嵌套、命名视图、路由跳转传参

一、父子组件传参 1、父传子 在父组件的子组件中自定义一个属性在子组件中有一个props属性&#xff0c;用来接收父组件传递的数据,传递的数据不能修改,还可以设置默认值 <!-- 父组件 -->data() {return {flag: false,num:10, //传的参数free:}} <!-- :type1"…

【JavaScript算法】DOM树层级显示

题目描述&#xff1a; 上述表达式的输出结果为 [DIV] [P, SPAN, P, SPAN] [SPAN, SPAN]直接上代码 let tree document.querySelector(".a"); function traverseElRoot(elRoot) {const result [];function traverse(element, level) {if (!result[level]) {resul…

【系统架构师】-第15章-面向服务架构设计

面向服务的体系结构 (Service-Oriented Architecture,SOA) 1、应用角度&#xff1a;它着眼于日常的业务应用&#xff0c;并将它们划分为单独的业务功能和流程&#xff0c;即所谓的服务 2、软件基本原理&#xff1a;一个组件模型&#xff0c;它将应用程序的不同功能单元(称为服…

Python数据分析必备工具——Pandas模块及其应用

Python数据分析必备工具——Pandas模块及其应用 外部数据的读取文本文件的读取语法示例 电子表格的读取语法示例 数据库数据的读取与操作语法 数据操作数据概述语法 数据筛选语法 数据清洗数据类型语法示例 沉余数据语法示例 异常值的识别与处理缺失值的识别与处理语法示例 数据…

PHP图床程序优化版:图片外链服务、图床API服务、图片CDN加速与破解防盗链

图片免费上传 支持本地储存、FTP储存、第三方云储存&#xff08;阿里云 OSS、腾讯云 COS、七牛云等&#xff09;。 图片外链加速 一键转换第三方网站的图片外链地址为图床可分享的图片地址&#xff08;支持CDN&#xff09;。 图片解析服务 直接将第三方外链图片地址显示为…

BSV区块链的应用开发前景——通过标准化来促进创新

​​发表时间&#xff1a;2024年3月5日 近年来区块链领域的发展日新月异&#xff0c;各种全新的技术和方法论正在迅猛涌现。在这个瞬息万变的环境之中&#xff0c;标准化不仅仅会为开发者们带来便利&#xff0c;同时也促进了应用之间的互操作性&#xff0c;并且推动着生态系统的…

【机器学习300问】56、什么是自编码器?

一、什么是自编码器&#xff1f; 自编码器&#xff08;Autoencoder&#xff0c;AE&#xff09;本质是一种特殊的神经网络架构。主要用于无监督学习和特征学习任务。它的目标是通过编码然后解码的过程&#xff0c;学会重构其输入数据&#xff0c;试图还原其原始输入的。 当时我学…

【探索Linux】—— 强大的命令行工具 P.31(守护进程)

阅读导航 引言一、守护进程简介1. 概念2. 特点 二、用C创建守护进程⭕代码✅主要步骤 温馨提示 引言 当谈到计算机系统中运行的特殊进程时&#xff0c;守护进程&#xff08;daemon&#xff09;无疑是一个备受关注的话题。作为在后台默默运行并提供各种服务的进程&#xff0c;守…

FreeRTOS从代码层面进行原理分析(4 移植)

FreeRTOS从代码层面进行原理分析(4 移植) 从前 3 篇博客中我们已经搞清楚了最开始对 FreeRTOS 有疑问的前 2 个问题。 1. FreeRTOS 是如何建立任务的呢&#xff1f; 2. FreeRTOS 是调度和切换任务的呢&#xff1f; 3. FreeRTOS 是如何保证实时性呢&#xff1f; 以下就是前三…