前言:这是一篇由于实在看不懂而决定中途断更的文章.
主要参考文献:
Baharisangari, N., Gaglione, J.-R., Neider, D., Topcu, U., & Xu, Z. (2021). Uncertainty-Aware Signal Temporal Logic Inference.
文章目录
概览
系统中存在着种种不确定性,因此使用STL对系统轨迹进行描述时会收到各种不确定因素的影响。这篇文章探讨了系统中存在的不确定性,并给出了不确定的表征方式;后提出了两种考虑不确定性的STL推理算法。
流水账笔记
1 Introduction
问题背景
STL为藐视系统行为提供了一种可解释的方式。通过系统轨迹推断STL公式称作STL推理,可以结合SMT(satisfiability modulo theries)求解器进行求解,如Z3定理求解器等。本篇文章依然围绕的不基于手工模板的结构推理+参数推理的时序逻辑推理算法,但是考虑了系统中的不确定性,如预测系统中的分类错误、系统噪声等。为了提高系统的可靠性,我们虽然无法完全消除不确定因素,但是我们可以想办法量化不确定性。
本文工作
- 提出使用“间隔轨迹”(interval trajectories)来表征不确定型,将分类对象从有限的轨迹样本转变为了间隔范围内无限多条系统轨迹。
2. 结合决策树算法加速了计算。
相关研究
- Kong et. al. : 用STL推理来对系统行为进行分类
- Kyriakis et. al. : 结合鲁棒语义,提出随机性STL(StSTL, stochasitic STL)推理算法,用来描述系统的时变特性
- Neider et. al. : 提出LTL的推理算法框架
- Danze et. al. : 提出STL的鲁棒量化语义
- Lindermann et. al. : 提出Predicate Robustness
- Bruello et. al. : 提出间隔时序逻辑决策树(Interval Temporal Logic Decision Trees)
2 Preliminaries
Finite trajectories
有限长轨迹,即离线数据,与无限长的run-time实时数据相对立。
Intervals and interval trajectories
- 区间: [ a ‾ , a ‾ ] [\underline{a},\overline{a}] [a,a],由上下界所框定的一个数据范围
- 区间轨迹: [ ζ ‾ , ζ ‾ ] [\underline{\zeta},\overline{\zeta}] [ζ,ζ],区间的上下界随着时间变化,区间轨迹的长度与数据轨迹的长度一致,记为 ∣ ζ ∣ |\zeta| ∣ζ∣
3 STL and Robust Semantics of Interval Trajectories
A. Signal Temporal Logic
STL的定义略。文章中在将STL的布尔语义时提到了强满足和若满足,但是又没有说明这样区分的作用,有凑字数的嫌疑。
这里集中一下所有定义:
- Def. 1 : 强满足的STL布尔语义
- Def. 2 : 弱满足的STL布尔语义
- Syntax DAG: 用DAG的形式将时序逻辑公式中的原子命题以及时序操作子、逻辑操作子进行组织
- Size of an STL formula: 以上DAG中结点的个数,所有原子命题、操作子的个数之和
B. Robust Semantics of STL Formulas
Robustness Margin: [ r ‾ , r ‾ ] [\underline{r},\overline{r}] [r,r],区间轨迹的鲁棒度边界,区间内所有轨迹的最大(best case)/最小鲁棒度(worst case)
r ‾ ( [ ζ ‾ , ζ ‾ ] , φ , t j ) = min ζ ∈ [ ζ ‾ , ζ ‾ ] r ( ζ , φ , t j ) r ‾ ( [ ζ ‾ , ζ ‾ ] , φ , t j ) = max ζ ∈ [ ζ ‾ , ζ ‾ ] r ( ζ , φ , t j ) \underline{r}([\underline{\zeta},\overline{\zeta}],\varphi,t_j) = \min\limits_{\zeta \in[\underline{\zeta},\overline{\zeta}]} r(\zeta,\varphi,t_j) \\ \overline{r}([\underline{\zeta},\overline{\zeta}],\varphi,t_j) = \max\limits_{\zeta \in[\underline{\zeta},\overline{\zeta}]} r(\zeta,\varphi,t_j) r([ζ,ζ],φ,tj)=ζ∈[ζ,ζ]minr(ζ,φ,tj)r([ζ,ζ],φ,tj)=ζ∈[ζ,ζ]maxr(ζ,φ,tj)
4 Problem Formulation
首先集中一下所有的定义:
- Def. 3: 带标签的轨迹集合 D = { ( ζ i , l i ) } i = 1 N D , l i = ± 1 \mathcal{D}=\{(\zeta^i,l^i)\}^{N_{\mathcal{D}}}_{i=1}, l_i =\pm1 D={(ζi,li)}i=1ND,li=±1 正负号分别表示正例和负例
- Def. 4: 带标签的区间轨迹集合,这样区间内就包含了无穷多轨迹 D u n c = { ( [ ζ ‾ , ζ ‾ ] i , l i ) } i = 1 N D , l i = ± 1 \mathcal{D}_{unc}=\{([\underline{\zeta},\overline{\zeta}]^i,l^i)\}^{N_{\mathcal{D}}}_{i=1}, l_i =\pm1 Dunc={([ζ,ζ]i,li)}i=1ND,li=±1
- Def. 5: 定义了区间轨迹的可分条件:至少存在一个维度,在某一刻,两个区间轨迹不相交
- Def. 6: 定义了两个区间轨迹集的可分条件: Z Z Z中的任意轨迹与 Z ′ Z' Z′中的任意轨迹可分,因此,如果 D u n c \mathcal{D_{unc}} Dunc可分,则其正例与负例轨迹可分
定理部分:
- 定理1:如果正负例可分,则至少存在一条STL能够完美区分正例和负例
- 定理2:如果 D u n c \mathcal{D_{unc}} Dunc可分,则至少存在一条STL能够完美分类
这里并没有对STL的长度或格式进行限定.
5 The framework of STL inference for non-separable interval trajectories
不可分数据集
如果正例与负例总是有重叠部分,那么很有可能是不确定性引起的。这样的数据集成为不可分数据集,因此不能使用布尔语义对正例与负例进行分割,需要引入量化语义来增加容差。
类间鲁棒度下限方程 F ~ \tilde{F} F~
对于 D u n c = { ( ζ i , l i ) } i = 1 N D \mathcal{D_{unc}}=\{(\zeta^i,l^i)\}^{N_{\mathcal{D}}}_{i=1} Dunc={(ζi,li)}i=1ND,将 F ~ \tilde{F} F~定义为正例与负例的鲁棒度下限:
F ~ ( [ ζ ‾ , ζ ˉ ] i , l i , φ ) : = { r ‾ ( [ ζ ‾ , ζ ˉ ] i , φ , t 0 ) , if l i = + 1 r ‾ ( [ ζ ‾ , ζ ˉ ] i , ¬ φ , t 0 ) , if l i = − 1 \tilde{F}\left([\underline{\zeta}, \bar{\zeta}]^{i}, l_{i}, \varphi\right):= \begin{cases}\underline{r}\left([\underline{\zeta}, \bar{\zeta}]^{i}, \varphi, t_{0}\right), & \text { if } l_{i}=+1 \\ \underline{r}\left([\underline{\zeta}, \bar{\zeta}]^{i}, \neg \varphi, t_{0}\right), & \text { if } l_{i}=-1\end{cases} F~([ζ,ζˉ]i,li,φ):={r([ζ,ζˉ]i,φ,t0),r([ζ,ζˉ]i,¬φ,t0), if li=+1 if li=−1
全局鲁棒度下限方程 F F F
由于我们的目标是最大化分类正确率,因此目标函数设置为所有区间轨迹的鲁棒度下限,是一个分段函数:
F ( D u n c , φ ) : = min i = 1 , … , N D F ~ ( [ ζ ‾ , ζ ˉ ] i , l i , φ ) F\left(\mathcal{D}_{u n c}, \varphi\right):=\min _{i=1, \ldots, N_{D}} \tilde{F}\left([\underline{\zeta}, \bar{\zeta}]^{i}, l_{i}, \varphi\right) F(Dunc,φ):=i=1,…,NDminF~([ζ,ζˉ]i,li,φ)
问题3:找到一条长度不超过 N N N的STL公式使得 F ( D u n c , φ ) F(\mathcal{D}_{unc},\varphi) F(Dunc,φ)尽量大
案例分析
假设STL模板为
φ
:
=
x
1
>
c
\varphi:=x^1>c
φ:=x1>c
上图蓝色与红色分别代表两条区间轨迹
d
1
=
[
−
4
,
9
]
d_1 = [-4,9]
d1=[−4,9]以及
d
2
=
[
1
,
6
]
d_2 =[1,6]
d2=[1,6](这里的轨迹应该是不随时间变化的常区间,因此可以在一维数轴上进行表示),两条轨迹有重叠部分,因此是不可分的。其中,蓝色的
d
1
d_1
d1为正例,红色的
d
2
d_2
d2为负例。
在这个坐标轴中,横轴表示参数c的取值,纵轴表示在该取值下,正例与负例分别的鲁棒度函数。
根据上面的定义:
F ~ ( [ ζ ‾ , ζ ˉ ] i , l i , φ ) = { 4 − c , if l i = + 1 c − 6 , if l i = − 1 \tilde{F}\left([\underline{\zeta}, \bar{\zeta}]^{i}, l_{i}, \varphi\right)= \begin{cases}4-c, & \text { if } l_{i}=+1 \\c-6, & \text { if } l_{i}=-1\end{cases} F~([ζ,ζˉ]i,li,φ)={4−c,c−6, if li=+1 if li=−1
因此要最大化全局鲁棒性下限,则有:
max c F = max c min { 4 − c , c − 6 } \max\limits_c F = \max_c \min\{4-c,c-6\} cmaxF=cmaxmin{4−c,c−6}
上图中的黑色部分画出了目标函数的变化趋势,因此当 c ∗ = 5 c^*=5 c∗=5时, F F F取得最大值 F ∗ = − 1 F^*=-1 F∗=−1。
6 Uncertainty-Aware SMT Based Algorithms
SMT and OptSMT solvers
有关SAT与SMT参考这篇帖子.
这里我们简单地知道SAT和SMT是解决一个简单的问题: 这个逻辑公式是否是能够满足的? 其中SAT解决的是布尔逻辑域的问题, SMT解决的是连续域的问题. 那么显然这篇文章要用的是SMT求解.
OMT是SMT问题的优化步骤, 这一步的目的是寻找能够最优化某一目标函数的模型. 通常有两种OMT, 分别是OptSMT以及MaxSMT. 其中OptSMT适用于给定目标函数的情况; 而MaxSMT适用于给定不同代价的软约束的情况. 本文使用的是OptSMT方法.
OptSMT-based learning algorithm
DAG的数据结构
算法的输入是区间轨迹. 数据集 D u n c \mathcal{D}_{unc} Dunc被分为了 P u n c P_{unc} Punc和 N u n c N_{unc} Nunc两类.
STL的表示方法为DAG, 就是下面这个东西:
这个DAG时能够把STL分解为命题变量(propositional variables). 我也不知道为什么作者非要想出这样的fancy name, 还有之前的identifier不就是结点的序号吗…
分别解释一下
x
i
,
λ
,
l
i
,
k
x_{i,\lambda},l_{i,k}
xi,λ,li,k和
r
i
,
k
r_{i,k}
ri,k的含义. 可以理解为所有的关系都用二维矩阵组织起来了, 矩阵中每个变量的取值为
T
r
u
e
True
True或
F
a
l
s
e
False
False, 具体定义如下.
- x i , λ x_{i,\lambda} xi,λ: 这里的 Π \Pi Π和 C C C表示原子命题和操作子集合; 这个变量表示结点 i i i的标记是否是 λ \lambda λ.
- l i , k l_{i,k} li,k: 这是一个表示结点 k k k是否是结点 i i i的左结点的变量.
- r i , k r_{i,k} ri,k: 这是一个表示结点 k k k是否是结点 i i i的右结点的变量.
如果文字还没有表述清楚地话在这里画一个表格表示下面这个DAG.
下面以
X
=
{
x
i
,
λ
∣
i
=
1
,
.
.
.
,
n
a
n
d
λ
∈
Π
∪
C
}
X=\{x_{i,\lambda}|i=1,...,n\ and \ \lambda\in \Pi\cup C\}
X={xi,λ∣i=1,...,n and λ∈Π∪C}为例. 为了少打几个字直接用1代表
T
r
u
e
True
True, 其余都是
F
a
l
s
e
False
False.
∧ \land ∧ | ∨ \lor ∨ | U U U | G G G | π 1 \pi_1 π1 | π 2 \pi_2 π2 | |
---|---|---|---|---|---|---|
1 | 1 | |||||
2 | 1 | |||||
3 | 1 | |||||
4 | 1 | |||||
5 | 1 | |||||
6 | 1 | |||||
7 | 1 |
为了保证上面的表格每行只有1个1, 有:
[ ⋀ 1 ≤ i ≤ n ⋁ λ ∈ Π ∪ C x i , λ ] ∧ [ ⋀ 1 ≤ i ≤ n ⋀ λ ≠ λ ′ ∈ Π ∪ C ¬ x i , λ ∨ ¬ x i , λ ′ ] \left[\bigwedge_{1 \leq i \leq n} \bigvee_{\lambda \in \Pi \cup C} x_{i, \lambda}\right] \wedge\left[\bigwedge_{1 \leq i \leq n} \bigwedge_{\lambda \neq \lambda^{\prime} \in \Pi \cup C} \neg x_{i, \lambda} \vee \neg x_{i, \lambda^{\prime}}\right] [1≤i≤n⋀λ∈Π∪C⋁xi,λ]∧⎣⎡1≤i≤n⋀λ=λ′∈Π∪C⋀¬xi,λ∨¬xi,λ′⎦⎤
∧ \land ∧前面是确保X每行至少有一个1, ∧ \land ∧后面是确保每行为1的元素是唯一的 (饶舌了).
对于
L
L
L和
R
R
R同理:
[
⋀
2
≤
i
≤
n
⋁
1
≤
k
<
i
l
i
,
k
]
∧
[
⋀
2
≤
i
≤
n
⋀
1
≤
k
<
k
′
<
i
¬
l
i
,
k
∨
¬
l
i
,
k
′
]
{\left[\bigwedge_{2 \leq i \leq n} \bigvee_{1 \leq k<i} l_{i, k}\right] \wedge\left[\bigwedge_{2 \leq i \leq n} \bigwedge_{1 \leq k<k^{\prime}<i} \neg l_{i, k} \vee \neg l_{i, k^{\prime}}\right] }
[2≤i≤n⋀1≤k<i⋁li,k]∧[2≤i≤n⋀1≤k<k′<i⋀¬li,k∨¬li,k′]
[ ⋀ 2 ≤ i ≤ n ⋁ 1 ≤ k < i r i , k ] ∧ [ ⋀ 2 ≤ i ≤ n ⋀ 1 ≤ k < k ′ < i ¬ r i , k ∨ ¬ r i , k ′ ] {\left[\bigwedge_{2 \leq i \leq n} \bigvee_{1 \leq k<i} r_{i, k}\right] \wedge\left[\bigwedge_{2 \leq i \leq n} \bigwedge_{1 \leq k<k^{\prime}<i} \neg r_{i, k} \vee \neg r_{i, k^{\prime}}\right] } [2≤i≤n⋀1≤k<i⋁ri,k]∧[2≤i≤n⋀1≤k<k′<i⋀¬ri,k∨¬ri,k′]
为了保证结点1一定标记为原子命题, 有:
⋁
π
∈
Π
x
1
,
π
\bigvee_{\pi \in \Pi} x_{1, \pi}
π∈Π⋁x1,π
那么三个矩阵和以上约束就完成了DAG的结构组织.
时序操作子的一点细节
时序操作子的time bounds用
a
i
,
b
i
a_i,b_i
ai,bi表示, 两个变量的取值都为整数. 其约束比较直观:
⋀
1
≤
i
≤
n
0
≤
a
i
<
b
i
≤
∣
ζ
∣
\bigwedge_{1 \leq i \leq n} 0 \leq a_{i}<b_{i} \leq|\zeta|
1≤i≤n⋀0≤ai<bi≤∣ζ∣
鲁棒度上下界
针对每个结点又定义了下面两个变量, 表示的是间隔轨迹 ζ \zeta ζ在 t j t_j tj针对各结点 i i iSTL子式的鲁棒度上下界, 鲁棒度上下界在之前定义过.
y ‾ i , j ζ = min ζ ∈ [ ζ ‾ , ζ ‾ ] r ( ζ , φ i , t j ) y ‾ i , j ζ = min ζ ∈ [ ζ ‾ , ζ ‾ ] r ( ζ , φ i , t j ) \underline{y}^\zeta_{i,j}=\min\limits_{\zeta\in [\underline{\zeta},\overline{\zeta}]}r(\zeta, \varphi_i,t_j) \\ \overline{y}^\zeta_{i,j}=\min\limits_{\zeta\in [\underline{\zeta},\overline{\zeta}]}r(\zeta, \varphi_i,t_j) yi,jζ=ζ∈[ζ,ζ]minr(ζ,φi,tj)yi,jζ=ζ∈[ζ,ζ]minr(ζ,φi,tj)
鲁棒度计算
那么接下来就到了鲁棒度上下界的计算, 即上面的结点是如何接受子节点的计算结果的.
对于 ¬ \neg ¬操作子, 有:
r ‾ ( [ ζ ‾ , ζ ˉ ] , ¬ φ , t j ) = min ζ ∈ [ ζ ‾ , ζ ˉ ] ( − r ( ζ , φ , t j ) ) = − max ζ ∈ [ ζ ‾ , ζ ˉ ] r ( ζ , φ , t j ) \begin{aligned} \underline{r}\left([\underline{\zeta}, \bar{\zeta}], \neg \varphi, t_{j}\right)=& \min _{\zeta \in[\underline{\zeta}, \bar{\zeta}]}\left(-r\left(\zeta, \varphi, t_{j}\right)\right)=\\ &-\max _{\zeta \in[\underline{\zeta}, \bar{\zeta}]} r\left(\zeta, \varphi, t_{j}\right) \end{aligned} r([ζ,ζˉ],¬φ,tj)=ζ∈[ζ,ζˉ]min(−r(ζ,φ,tj))=−ζ∈[ζ,ζˉ]maxr(ζ,φ,tj)
对于原子命题, 鲁棒度的上下界应该满足以下约束: 按照定义计算
⋀ 1 ≤ i ≤ n ⋀ π ∈ Π x i , π → [ ⋀ 0 ≤ j < ∣ ζ ∣ { y ‾ i , j ζ = r ‾ ( [ ζ ‾ , ζ ˉ ] , π , t j ) } ] \bigwedge_{1 \leq i \leq n} \bigwedge_{\pi \in \Pi} x_{i, \pi} \rightarrow\left[\bigwedge_{0 \leq j<|\zeta|}\left\{\underline{y}_{i, j}^{\zeta}=\underline{r}\left([\underline{\zeta}, \bar{\zeta}], \pi, t_{j}\right)\right\}\right] 1≤i≤n⋀π∈Π⋀xi,π→⎣⎡0≤j<∣ζ∣⋀{yi,jζ=r([ζ,ζˉ],π,tj)}⎦⎤
对于布尔操作子, 满足以下约束:
- ¬ \neg ¬: 将子结点的鲁棒度上界的倒数作为当前结点的鲁棒度下界. (那上界不交代了?)
⋀ 1 < i < n , 1 ≤ k < i ( x i , ¬ ∧ l i , k ) → ⋀ 0 ≤ j < ∣ ζ ∣ [ y ‾ i , j ζ = − y ˉ k , j ζ ] \bigwedge_{{1<i<n},{1 \leq k<i}}\left(x_{i, \neg} \wedge l_{i, k}\right) \rightarrow \bigwedge_{0 \leq j<|\zeta|}\left[\underline{y}_{i, j}^{\zeta}=-\bar{y}_{k, j}^{\zeta}\right] 1<i<n,1≤k<i⋀(xi,¬∧li,k)→0≤j<∣ζ∣⋀[yi,jζ=−yˉk,jζ]
- ∨ \lor ∨: 将左右子结点的鲁棒度下界的最大值作为当前结点的鲁棒度下界.
⋀ 1 < i < n , 1 ≤ k , k ′ < i ( x i , ∨ ∧ l i , k ∧ r i , k ′ ) → ⋀ 0 ≤ j < ∣ ζ ∣ [ y ‾ i , j ζ = max ( y ‾ k , j ζ , y ‾ k ′ , j ζ ) ] \bigwedge_{{1<i<n , 1 \leq k, k^{\prime}<i}}\left(x_{i, \vee} \wedge l_{i, k} \wedge r_{i, k^{\prime}}\right) \rightarrow \bigwedge_{0 \leq j<|\zeta|}\left[\underline{y}_{i, j}^{\zeta}=\max \left(\underline{y}_{k, j}^{\zeta}, \underline{y}_{k^{\prime}, j}^{\zeta}\right)\right] 1<i<n,1≤k,k′<i⋀(xi,∨∧li,k∧ri,k′)→0≤j<∣ζ∣⋀[yi,jζ=max(yk,jζ,yk′,jζ)]
- ∧ \land ∧: 根据定义应该是这样:
⋀ 1 < i < n , 1 ≤ k , k ′ < i ( x i , ∧ ∧ l i , k ∧ r i , k ′ ) → ⋀ 0 ≤ j < ∣ ζ ∣ [ y ‾ i , j ζ = min ( y ‾ k , j ζ , y ‾ k ′ , j ζ ) ] \bigwedge_{{1<i<n , 1 \leq k, k^{\prime}<i}}\left(x_{i, \land} \wedge l_{i, k} \wedge r_{i, k^{\prime}}\right) \rightarrow \bigwedge_{0 \leq j<|\zeta|}\left[\underline{y}_{i, j}^{\zeta}=\min \left(\underline{y}_{k, j}^{\zeta}, \underline{y}_{k^{\prime}, j}^{\zeta}\right)\right] 1<i<n,1≤k,k′<i⋀(xi,∧∧li,k∧ri,k′)→0≤j<∣ζ∣⋀[yi,jζ=min(yk,jζ,yk′,jζ)]
对于时序操作子 U U U: 如公式所示(是在是太复杂了不想解释了)
⋀ 1 < i < n , 1 ≤ k , k ′ < i ( x i , U [ a , b ) ∧ l i , k ∧ r i , k ′ ) → [ ⋀ 0 ≤ j < ∣ ζ ∣ y ‾ i , j ζ = max j + a ≤ j ′ < j + b ( min ( y ‾ k ′ , j ′ ζ , min j + a ≤ j ′ ′ < j ′ y ‾ k , j ′ ′ ζ ) ) ] \bigwedge_{{1<i<n, 1 \leq k, k^{\prime}<i}}\left(x_{i, \mathbf{U}_{[a, b)}} \wedge l_{i, k} \wedge r_{i, k^{\prime}}\right) \rightarrow{\left[\bigwedge_{0 \leq j<|\zeta|} \underline{y}_{i, j}^{\zeta}=\max _{j+a \leq j^{\prime}<j+b}\left(\min \left(\underline{y}_{k^{\prime}, j^{\prime}}^{\zeta}, \min _{j+a \leq j^{\prime \prime}<j^{\prime}} \underline{y}_{k, j^{\prime \prime}}^{\zeta}\right)\right)\right] } 1<i<n,1≤k,k′<i⋀(xi,U[a,b)∧li,k∧ri,k′)→⎣⎡0≤j<∣ζ∣⋀yi,jζ=j+a≤j′<j+bmax(min(yk′,j′ζ,j+a≤j′′<j′minyk,j′′ζ))⎦⎤
其他的操作子 F , G F,G F,G也用类似的方法计算.
目标函数
最后构建了目标函数 Y ζ Y^{\zeta} Yζ:
Y ζ : = min i = 1 , . . , N D { + y ‾ i , 0 ζ , if l i = + 1 − y ˉ i , 0 ζ , if l i = − 1 Y^{\zeta}:=\min _{i=1, . ., N_{D}} \begin{cases}+\underline{y}_{i, 0}^{\zeta}, & \text { if } l_{i}=+1 \\ -\bar{y}_{i, 0}^{\zeta}, & \text { if } l_{i}=-1\end{cases} Yζ:=i=1,..,NDmin{+yi,0ζ,−yˉi,0ζ, if li=+1 if li=−1
对每条轨迹都对应一个评价指标, 如果这条轨迹为负例, 则这个评价指标取鲁棒度上界的倒数; 如果这条轨迹为正例, 则这个评价指标去鲁棒度下界. 最终的目标函数为所有轨迹的评价指标.
这个目标函数与最小化全局鲁棒度是一致的.
TLI-UA
接下来就介绍第一个推理算法了. 算法输入是区间轨迹数据集
D
\mathcal{D}
D, 最大迭代次数
N
N
N以及最小的鲁棒度上下界
R
R
R (上界还是下界? 为什么是一个值?)
Decision Trees over STL Formulas
Decision Tree Variant of TLI-UA (TLI-UA-DT)
7 Experimental Evalution
实验是把前两种算法和后两种算法相对比.
代码在这里.
A. Numerical Evaluation
TLI-UA对比TLI-RS:
TLI-RS对比TLI-UA
可分轨迹集与不可分轨迹集的对比:
B. Strategy Inference of Pusher-Robot Scenario
TLI-UA的推理结果:
8 Conclusion
未来工作
- 探索使用STL推理来辅助强化学习中奖励的设置
- 把本文框架推广至网络时序逻辑(GTL),用于推断数据中的时空信息
心得与记录
- 救命这篇文章真的好难看懂, 定义这么多变量干啥啊QAQ, 上界下界约束那块我属实是没看懂. SMT到底是干什么的怎么用的还是没有搞懂.
- 还有这个区间轨迹的数据集是怎么来的啊?
- 不是没有探索精神, 但是这篇文章占用时间实在是太久了, 这篇笔记也变得又臭又长了, 还是先集中精力做参数学习吧, 本文暂时停更.
- 其实对时序逻辑和强化学习的混搭还是蛮好奇的,目前文献库中囤了9篇RL相关的文献,下一篇就读一读。