【论文随笔】Rewrite-Based Decomposition of Signal Temporal Logic Specifications

news2024/11/17 3:27:39

文章目录

  • Overview
  • 1 Intro
    • LTL任务分解
    • STL任务分解
    • 本文工作
  • Background and Problem Definition
    • STL
    • Agent
    • 假设与问题
    • 方法
  • An STL Rewriting System
    • Rewriting System
    • Formula Rewrite DAG
  • Decomposing STL
    • 智能体编队
    • 任务分解
    • 最优分解
  • Exploring the Formula Rewrite DAG
  • 心得体会

多智能体 STL任务分解
[1] K. Leahy, M. Mann, and C.-I. Vasile, “Rewrite-Based Decomposition of Signal Temporal Logic Specifications,” in NASA Formal Methods, K. Y. Rozier and S. Chaudhuri, Eds., in Lecture Notes in Computer Science. Cham: Springer Nature Switzerland, 2023, pp. 224–240. doi: 10.1007/978-3-031-33170-1_14.

Overview

  1. 用rewriting system将STL公式分解以解决中心计算计算量太大的问题
  2. 同时给智能体分组
  3. 证明分解算法的收敛性
  4. 提出一个分解的评价指标并给出最佳分解的评价方式

1 Intro

LTL任务分解

[2,7,21,23]

STL任务分解

[6] Charitidou, M., Dimarogonas, D.V.: Signal temporal logic task decomposition via convex optimization. IEEE Contr. Syst. Lett. 6 , 1238–1243 (2021)

  • 已知智能体的分组情况

[14] Leahy, K., Jones, A., Vasile, C.I.: Fast decomposition of temporal logic specifications for heterogeneous teams. IEEE Robot. Autom. Lett. 7 (2), 2297–2304 (2022)

  • abstract reduction system,只能处理特定形式的STL

[22] Sun, D., Chen, J., Mitra, S., Fan, C.: Multi-agent motion planning from signal temporal logic specifications. IEEE Robot. Autom. Lett. 7 (2), 3451–3458 (2022)

  • 将任务分解给每一个机器人,不考虑编队
  • 主要探究的是控制综合的问题

本文工作

  • 公式分解 + 机器人编队 (分两阶段完成)
  • 提供了分解式的正则形式以及量化了分解上限
  • 基于优化方法在DAG上选择最佳分解和编队

Background and Problem Definition

STL

文章分层定义了predicate和conjugate,如下所示
在这里插入图片描述
虽然文章说不约束STL的形式,但是这个定义一出来看上去是只接受一层时序嵌套和布尔运算的组合

Agent

  • 智能体定义为一个状态和状态上界(element-wise)的元组 A = ( x ( t ) , u ) A=(x(t),u) A=(x(t),u)

  • u u u x ( t ) x(t) x(t)有一个恒定的上界,假定是已知的

  • An agent “services” a predicate: 一个智能体的动作对该predicate是否满足有影响

  • equivalence class g u g_u gu: 具有相同 u u u的智能体被看做为同一类型

  • Robustness upper bound ρ u b \rho_{ub} ρub: 所有机器人鲁棒度能够达到的最大值之和在这里插入图片描述

    • 上面公式定义的很奇怪,感觉像是括号打错了,正确的应该是 ρ u b ( π ( x ( t ) ≥ c ) , A ) : = ∑ a ∈ A ( π ( a . u ) − c ) \rho_{ub}(\pi(x(t)\geq c),\mathcal{A}):=\sum_{a\in\mathcal{A}}(\pi(a.u)-c) ρub(π(x(t)c),A):=aA(π(a.u)c)
    • 如果 ρ u b \rho_{ub} ρub为负,则不存在满足此公式的控制律

假设与问题

  • 假定 S y n t h ( J , ϕ ) Synth(J,\phi) Synth(J,ϕ)是一个已知的函数,输出一个控制律,使得智能体集群 J J J满足公式 ϕ \phi ϕ
  • 由于目前没有方法能够在求解控制律之前就得出问题是否可行,因此本文将robustness upper bound作为存在可行解的一个必要条件
    在这里插入图片描述
  • 即得到智能体的编队方式 R R R以及每一队所对应的公式 ϕ r \phi_r ϕr
  • 为了使分解有意义,接下来假设原控制综合问题是有可行解的

方法

在这里插入图片描述
大致步骤如下:

  1. 先将原公式转化为更容易分解的形式(很多种)
  2. 为每种变形构建抽象语法树(AST, abstract syntax tree)
  3. 给所有变形打分
  4. 选择最好的结点,完成公式的分解
  5. 根据公式完成智能体编队

An STL Rewriting System

这里完成上面步骤中的第一步:将原公式转化为更容易分解的形式

Rewriting System

最顶层为合取 ∧ \land 组合为的公式是最容易分解的, ∧ \land 下的子公式没有逻辑关联性(都满足就好了),因此这里想了一个方法将所有的公式都改成顶层连接词为 ∧ \land 的形式。

为了保证分解后的问题与原问题的统一性,必须保证改写后的公式比原公式更加严格。

因此文章提出下面3中加入顶层 ∧ \land 的方法: → □ , → ⋄ , → U \to_\square,\to_\diamond,\to_\mathcal{U} ,,U
在这里插入图片描述

  • 上面的split-finally和split-until对原公式的逻辑压缩得简直是大刀阔斧
  • 文中还有两种合并,就是说很有道理但是又没有道理 😅

在这里插入图片描述

接下来就是一些比较长的数学证明,这里不细看了

  • rewrite系统的终止条件:出现一个单调 φ \varphi φ,其中 φ = ∑ i = 1 n ∧ , U d i + ( n ∧ , U + 1 ) n U \varphi=\sum_{i=1}^{n_{\land,\mathcal U}}d_i+(n_{\land,\mathcal U}+1)n_\mathcal{U} φ=i=1n,Udi+(n,U+1)nU
    • n ∧ , U n_{\land,\mathcal U} n,U是顶层连接词 ∧ \land U \mathcal U U的数量
    • d i d_i di是第 i i i个顶层连接词到AST根节点的距离
    • monotone embedding into ( N , > ) (\mathbb N,>) (N,>)
  • Confluence

Formula Rewrite DAG

G : = < Φ , E > G:=\left<\Phi,E\right> G:=Φ,E 表示公式的变化过程,结点为公式形态,边为重写规则,如下如所示
在这里插入图片描述
上面证明过DAG一定能够以有限图终止,上图最下方也展示了这个结果

Decomposing STL

这一部分做的是给上面的所有结点评分,以选出一个最佳的分解方法

智能体编队

一个将STL公式转化成智能体集合的函数:
α : c o n j ( ϕ ) → 2 J \alpha:conj(\phi)\to 2^J α:conj(ϕ)2J

任务分解

最优分解

Exploring the Formula Rewrite DAG


心得体会

  • inference可以用来做分解

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

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

相关文章

如何创建可引导的 macOS 安装介质

如何创建可引导的 macOS 安装介质 如何创建可引导的 macOS 安装器 | 如何制作 macOS USB 启动盘 请访问原文链接&#xff1a;https://sysin.org/blog/macos-createinstallmedia/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;sysin.or…

asp.net卷烟物价管理系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio

一、源码特点 asp.net卷烟物价管理系统 是一套完善的web设计管理系统&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为vs2010&#xff0c;数据库为sqlserver2008&#xff0c;使用c#语言开发 asp.net卷烟物价管理系统VS开发sq…

清华青年AI自强作业hw3_2:前向传播和反向传播实战

清华青年AI自强作业hw3_2&#xff1a;前向传播和反向传播实战 实现过程各层参数维度分析拟合结果相关链接 一起学AI系列博客&#xff1a;目录索引 前向传播和反向传播的公式理解化用于作业hw3_2中&#xff1a;&#xff1a;用NN网络拟合小姐姐喜好分类 完成前向传播、反向传播算…

【JavaEE进阶之Spring】一分钟让你学会什么是Spring以及如何使用创建Spring

前言&#xff1a; &#x1f49e;&#x1f49e;今天我们正式进入到JavaEE进阶的学习中了&#xff0c;在JavaEE进阶的学习中&#xff0c;我们最主要的就是学习Spring框架。 &#x1f49f;&#x1f49f;那我们从今天就要逐渐从最基础的Spring开始&#xff0c;教会大家什么是Spring…

54、基于51单片机饮水机温度水位控制无线蓝牙APP控制报警系统设计(程序+原理图+PCB源文件+Proteus仿真+参考论文+开题报告+元器件清单等)

方案的选择 方案一&#xff1a;采用51单片机作为控制核心&#xff0c;配合无线蓝牙模块、水温加热模块继电器开关、基于Dallas单线数字式的DS18B20温度传感器模块、蜂鸣器报警模块、按键模块、LCD1602液晶显示器模块、晶振电路模块、复位电路模块以及电源模块为一体构成无线水…

winsw使用——将Nginx和Jar包注册到WIN服务

文章目录 1.winsw介绍2.注册Nginx到win服务2.1 首先将下载的winsw下并改名2.2 nginx-service.exe.config配置2.3 nginx-service.xml配置2.4 nginx-service安装到服务 3.注册Jar包到win服务3.1 复制winsw文件并改名3.2 创建xml配置文件3.3 执行安装命令 1.winsw介绍 Windows Se…

ChatGPT Prompt Engineering for Developers from DeepLearning.AI

链接&#xff1a;https://learn.deeplearning.ai/chatgpt-prompt-eng/lesson/1/introduction In this course, there are some example codes that you can already run in Jupyter Notebook. Below, I will write down the core knowledge points (how to build a prompt and…

CSS基础学习--4 创建式样

一、插入样式表的几种方法&#xff1f; 外部样式表内部样式表内联样式 二、外部样式表 使用前提&#xff1a;当样式需要应用于很多页面时&#xff0c;外部样式表将是理想的选择。 在使用外部样式表的情况下&#xff0c;你可以通过改变一个文件来改变整个站点的外观。每个页…

Ognl使用总结

目录 一、简介二、快速入门三、详细使用3.0 Ognl操作3.1 基本数据类型3.2 对象类型3.3 List集合3.4 Set集合3.5 Map集合3.6 数组3.7 静态调用3.8 算术运算3.9 逻辑运算3.10 同时执行多个表达式3.11 位运算 一、简介 OGNL&#xff08;Object-Graph Navigation Language的简称&a…

开始使用chat-gpt4

目录 一、说明 二、安装步骤 三、测试效果咋样 &#xff08;1&#xff09;写代码能力 &#xff08;2&#xff09;回答问题能力 &#xff08;3&#xff09;写作能力 一、说明 参考&#xff08;非常感谢这位博主的分享&#xff09;&#xff1a;http://t.csdn.cn/qypw9 注意&…

FTP服务器项目

文章目录 1. 项目简介2. FTP协议和用到指令说明2.1 FTP协议详解2.2 指令说明 3. FTP项目的类图分析3.1 UML3.2 工厂类XFtpFactoryXFtpFactory.hXFtpFactory.cpp 2.2 XFtpTaskXFtpTask.hXFtpTask.cpp 2.3 XFtpServerCMDXFtpServerCMD.hXFtpServerCMD.cpp 4. 运行演示FileZilla的…

数字逻辑期末必刷卷(基础卷)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 &#x1f4a1;一、填空题&#xff08;每空1分&#xff0c;共20分&#xff09;&#x1f4a1;二、单项选择题&#xff08;每小题2分&#xff0c;共20分&#xff09;&a…

第七章 Linux实际操作——组管理和权限管理

第七章 Linux实际操作——组管理和权限管理 7.1 Linux组基本介绍7.2 文件、目录 所有者7.2.1 查看文件的所有者7.2.2 修改文件所有者 7.3 组的创建7.3.1 基本指令7.3.2 应用实例 7.4 文件、目录所在组7.4.1 查看文件、目录所在组7.4.2 修改文件、目录所在组 7.5 其他组7.6 权限…

观澜南林輋旧改回迁房--周边巨量旧改,未来区政府核心商圈。

项目亮点 观澜福城街道办旧改最集中的区域&#xff0c;且地铁4号的茜坑站就在门口&#xff01;未来一区域成为龙华区政府的中心地段。本项目拆迁约10万&#xff0c;主打高端商业综合体&#xff0c;项目规划27班九年一贯性学校&#xff0c;约4万多平用于建设公共设施、绿地。 …

ROS学习——通信机制(服务通信)

2.2.3 服务通信自定义srv调用A(C) Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程 068服务通信(C)3_客户端优化_Chapter2-ROS通信机制_哔哩哔哩_bilibili 一、理论模型 服务通信也是ROS中一种极其常用的通信模式&#xff0c;服务通信是基于请求响应模式的&#xf…

【Java|多线程与高并发】volatile关键字和内存可见性问题

文章目录 1.前言2. 编译器优化带来的内存可见性问题3. 使用volatile保证内存可见性5.volatile不能保证原子性以JMM的角度看待volatile总结 1.前言 synchronized和volatile都是Java多线程中很重要的关键字&#xff0c;但它们的作用和使用场景有所不同。 synchronized关键字可以…

Linux之文件打包和解压缩

任务描述 有时&#xff0c;我们会在Linux系统中将多个文件打包成一个单独的文件&#xff0c;通过本关的学习&#xff0c;我们将学会如何在Linux系统中将多个文件/目录打包生成一个文件。 本关任务&#xff1a;使用tar命令完成文件和目录的打包操作。 相关知识 tar&#xff…

验证断言(立即断言并行断言)

目录 1.何为断言 2.断言的作用&#xff1a; 3.断言的种类 3.1立即断言 3.2并发断言 4.断言层次结构 4.1 sequence 序列 4.2 property 序列 5.sequence和property的异同 6.补充知识点&#xff08;assert/cover/assume&#xff09; 7.写在后边 1.何为断言 断言主要…

网络知识点之-FTP协议

FTP协议指文件传输协议&#xff08;File Transfer Protocol&#xff0c;FTP&#xff09;&#xff0c;是用于在网络上进行文件传输的一套标准协议&#xff0c;它工作在 OSI 模型的第七层&#xff0c; TCP 模型的第四层&#xff0c; 即应用层&#xff0c; 使用 TCP 传输而不是 UD…

第一节 初识C语言

第一节 初识C语言 目录 一&#xff0e; 什么是C语言二&#xff0e; 第一个C语言程序三&#xff0e; 数据类型四&#xff0e; 变量与常量五&#xff0e; 未完待续 本章重点&#xff1a; 什么是C语言第一个C语言程序数据类型变量、常量字符串转义字符注释选择语句循环语句函数数组…