【论文精读】时序逻辑推理之参数学习 Parametric Identification of Temporal Properties

前言:每天看文献总是不知道该写点什么好,不记录点东西读了就忘,就随时补充记录在博客里吧。(希望导师能够看到知道我没在摸鱼)

主要参考文献:
Asarin, E., Donzé, A., Maler, O., & Nickovic, D. (2012). Parametric Identification of Temporal Properties. In Runtime Verification (pp. 147–160).https://doi.org/10.1007/978-3-642-29860-8_12

概览

根据STL公式模板推理出满足dense-time real-valued信号的可行参数空间,即可行域的推导。文中提供了两种方法:

  1. 量词消去法 quantifier elimination
  2. 自适应(“暴力”)搜索法

流水账笔记

1 Introduction

首先对背景进行了介绍,系统设计中通常使用某种量化指标对系统的performance进行评估,及使用量化方法作用于动态系统的trace(有时候又称:信号、波形、轨迹)。因此设计评估方法的同时也反映了工程师对系统表现的期望。

本文进行相反的工作,已知信号来得到评价期望(specification)。即,用原文的话来说:

Given a PSTL formula, find the range of parameters that render the formula satisfied by a given set of traces.

2 Parametric Signal Temporal Logic

定义了几个重要的概念:

PSTL:

包含参数的STL

parameter valuation:

赋值,将PSTL变为STL

polarity π ( p , φ ) \pi(p,\varphi) π(p,φ) :

φ \varphi φ中的参数 p p p变大,信号是更容易满足 φ \varphi φ还是更难满足 φ \varphi φ,更容易为正

validity domain:

可行域,在这个空间中的参数都能够使信号满足公式 φ \varphi φ

3 Computing Validity Domains

介绍计算可行域的计算流程

3.1 Semilinear Validity Domains

这里为什么要定义一个semilinear的概念并不是太懂,原文是这样定义的:

A subset of the parameter space is semilinear if it can be written as a Boolean combination of linear inequalities on the corresponding variables.

即,半线性可行域可以用有关不同变量的不等式的线性组合表示。

接着证明了以下Proposition:

For every PSTL formula φ \varphi φ and piecewise-linear signal x x x, the validity domain D ( x , φ ) D(x,\varphi) D(x,φ) is semilinear.

可行域计算步骤
得到采样信号
采样点间进行线性插值
得到分段线性信号
分层计算

用以上方法得到的可行域是不等式的布尔运算组合(可以理解为在时间上分段的不等式),如

选取最优参数

得到可行域后,我们得到的是个超曲面(多维的区间),曲面上的点都是可用的参数组合。这时,我们会想要得到optimal valuation,由于前面的假设,每个参数的polarity都是非负即正,这里选择边界的点作为最优解。边界可以看做是Pareto front,所得到的参数是tightest。

Tightness vs. robustness

这就引出了时序逻辑的两个向对概念:tightness和robustness. 我是这样理解的:
Tightness可译为极限度,表示极性为正(负)的参数的参数减小(增大),信号更容易违反公式的程度。
Robustness可以为鲁棒度,表示参数的变化不容易导致公式被违反的程度。
可以理解为,越靠边界上的点,tightness越大,robustness越小;越靠里面的点,tightness越小,robustness越大。

3.2 Example

案例复现

案例中要求解的STL如下
φ = ⋄ [ 0 , s 2 ] □ [ 0 , s 1 ] ( x < p ) \varphi=\diamond_{[0,s_2]} \square_{[0,s_1]}(x<p) φ=[0,s2][0,s1](x<p)
给出的信号为有5个点,通过线性插值分成了四段:
x ( t ) = { 2 t 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值