一阶微分方程的编码为一阶公式

时间:2012-08-13 01:00:11

标签: z3 smt

有人可以帮我指出使用一阶公式的下列方程的最佳编码,以便将其作为SMT求解器的输入吗?

x`=Ax+b

1 个答案:

答案 0 :(得分:6)

你可以在Z3中轻松编码微分方程,因为它只是一组n个线性(仿射)函数,超过n ^ 2 + n个实常数(来自a_ij的n ^ 2,来自b_i的n)和n个实数变量(x_i) )。您可以直接在Z3中对此进行编码。

dotx_1 = a_11 * x_1 + a_12 * x_2 + a_13 * x_3 + ... + a_1n * x_n + b_1
dotx_2 = a_21 * x_1 + a_22 * x_2 + a_13 * x_3 + ... + a_2n * x_n + b_2
...
dotx_n = a_n1 * x_1 + a_n2 * x_2 + a_n3 * x_3 + ... + a_nn * x_n + b_n

以下是Z3Py中2x2版本的链接:http://rise4fun.com/Z3Py/pl6P

然而,编码ODE的解是困难的,因为线性ODE的解涉及指数(超越函数)。对于具有可以表示为多项式的解的ODE类(通过a_ij常数,x_i变量和/或时间变量t),您将能够将(精确)解作为Z3中的多项式编码(参见例如, ,[1])。

对于涉及超越性的一般解决方案,您有许多可能的选择,具体取决于您要完成的任务。一种选择是将超验主义建模为未解释的函数。在各种SMT-LIB基准测试中有一些工作可以做到这一点,但我对这些不太熟悉,所以希望其他人可以指出它们的链接。如果你想证明一些关于这种ODE解决方案的引理,这将是最有用的。像MetiTarski这样的工具保持了超越的上下限近似(使用例如截断的泰勒级数,它是多项式,因此可以在Z3中表示),但我不知道Z3中的状态,但它看起来像可能会有一些支持莱昂纳多可以评论更多[6]。

如果您正在进行可达性计算,那么您可能会超出目标集的范围,这可以通过ODE解决方案的更简单(更抽象)表示来完成。例如,您可以应用杂交技术的变体[2]并使用矩形动力学过度逼近线性动力学,例如,划分状态空间的有趣子集,然后在每个分区中,在每个维度下方和上方近似dotx_i = a_i1 x_1对于一些常数C和D,选择了一些常量C和D,+ a_i2 x_2 + ... + b_i与dothatx_i \,以确保原始(具体)x_i的每个解都包含在overapproximated(抽象)解决方案集合hatx_i中。从时间0到t的hatx_i的解集在区间[C t + x_i(0),D t + x_i(0)]中,其中x_i(0)是时间零点处的x_i的初始条件,并且t是您想要计算到达设置的有限实时。您可以在所有维度上执行此操作。要计算C,D(可能因每个分区和每个维度而异),取决于您对健全性的关注程度,您可以简单地(数字地)最大化并最小化每个分区中的原始ODE dotx_i。

从您的其他帖子看,您似乎正在尝试模拟混合系统。模拟仍然会遇到试图表示超越的问题,因为即使试图模拟一条轨迹(而不是对可能的轨迹集进行建模)也需要代表解决方案,这通常是超越的。据我所知,这仍然在模拟社区中以数字方式完成[参见,例如,3],但是有关于“保证”(声音)整合的工作,它提供了数值解与实际距离有多远的界限(解析)解决方案[4,5]。

[1]线性矢量场族的符号可达性计算。 Gerardo Lafferriere,George J. Pappas和Sergio Yovine。 Journal of Symbolic Computation,32(3):231 - 233,2001年9月。http://www.seas.upenn.edu/~pappasg/papers/JSC01.pdf

[2] E. Asarin,T。Dang,A。Girard,非线性系统分析的杂交方法,Acta Informatica,43:7,2007,451-476,http://www.springerlink.com/content/q6755l613l856737/

[3]二十五年后,十九种可疑方法来计算矩阵的指数,Cleve Moler和Charles Van Loan,SIAM Review,Vol。 45,No.1(2003年3月),第3-49页,http://www.jstor.org/stable/25054364

[4]自动,有保证的分析函数集成,Martin C. Eiermann,BIT NUMERICAL MATHEMATICS,1989,http://www.springerlink.com/content/q2k30rtx2h2n1815/

[5] GRKLib:保证Runge Kutta图书馆,Bouissou,O.,Martel,M。,科学计算,计算机算术和验证数字,2006,http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=4402398

[6] MetiTarski Proofs的真正代数策略,Grant Olney Passmore,Lawrence C. Paulson和Leonardo de Moura。智能计算机数学会议(CICM / AISC),2012,http://research.microsoft.com/en-us/um/people/leonardo/CICM2012.pdf