From Simple Temporal Networks and some its Extensions Version 162, 2019-12-04 Roberto Posenato
STN and its extenstion:
- Simple temporal network (STN)
- STNs with Uncertainty: Actions with uncertain durations.
- Conditional STNs (CSTN)
- Conditional STNs with Uncertainty (CSTNUs)
- CSTNU with Disjunction (CDTNUs): disjunctive constraints
1 Simple Temporal Network
一个简单时态网络如果至少存在一个解,则说明是一致的;如果两个STNs所有解都是相同的,则说明时态网络等价。
1.1 将STN描述成图
时态变量TimePoint即为图中的点,约束的差值则为图中的有向边;
1.2 将STN描述成距离矩阵
-
D ( X i , X j ) D(X_i,X_j) D(Xi,Xj)表示时态变量 X i X_i Xi到时态变量 X j X_j Xj的距离,即 X j − X i ≤ D ( X i , X j ) X_j-X_i\leq D(X_i,X_j) Xj−Xi≤D(Xi,Xj);
-
Shortest Path的意思是当有多条路径的时候,选择约束最强的路径,即最短的路径;
1.2 STNs基础定理
以下定理等价:
- STN一致;
- 距离矩阵的主对角区值皆非负;
- 图中不存在负数长度的环;
1.3 STN求解
更新距离矩阵(n个时态变量、m个约束)时,可采用Floyd-Warshall算法 O ( n 3 ) O(n^3) O(n3),或Johson’s算法 O ( n 2 l o g n + m n ) O(n^2log_n+mn) O(n2logn+mn);
1.4 修改约束后的一致性
- 对一个通过一致性检验的STN删除某条约束或放松某条约束后,STN依旧是保持一致性的。
- 对一个通过一致性检验的STN添加或加强某条约束时,可通过增量一致性算法 O ( m + n l o g n ) O(m+nlogn) O(m+nlogn) 进行快速判定一致性,无需重新检验一致性;