【发布时间】:2012-08-05 13:31:09
【问题描述】:
我正在尝试将线性混合自动机编码为一阶公式的结合,如下所示:
s.add(Or(Or(And(off,Not(on),Not(S1),Not(S2),(10*x_next)>=(3*t1)-(3*t2)+(10*x),(10*x_next)<=(10*x)-(t2-t1),x_next>=18,(t2-t1)>0,Implies(),
And(Not(off),on,Not(S2),Not(S1),(10*x_next)>=(t2-t1)+(10*x),(5*x_next)<=(5*x)+(t2-t1),x_next<=22,(t2-t1)>0)),
Or(And(x<19,(t2-t1)==0,S1,Not(off),Not(on),Not(S2),(x-x_next)==0),
And(x>21,(t2-t1)==0,Not(on),Not(off),S2,Not(S1),(x-x_next)==0))))
问题是需要采用跳转条件(例如,如果 x
【问题讨论】:
-
跳转条件是什么意思?你能提供更多细节吗?
-
混合自动机由不同的模式组成。每种模式都必须满足一定的线性算术约束。但是如果特定模式下状态变量的值达到某个值(例如 x
-
在这种情况下只有模式(关闭,打开)。如果 (x
-
两种模式(开、关)。 HA 以关闭模式启动。
标签: python python-2.7 z3