串行线性赋值循环程序的终止性判定

点赞:5012 浏览:15061 近期更新时间:2024-02-14 作者:网友分享原创网站原创

摘 要:对于并行赋值的线性循环程序,已有文献通过矩阵特征值方法来判定其终止性,但该方法并不适用于常见的串行赋值程序.该文通过把串行赋值程序转换为并行赋值的程序,再利用矩阵特征值和特征向量来对程序的终止性作出判定,从而扩大了该方法的应用范围.

关 键 词:线性程序;终止性;并行赋值;串行赋值

中图分类号:TP391文献标识码:A文章编号:1009-3044(2012)15-3737-02

TerminationofSeriallinearAssignmentLoopPrograms

ZHAOXiao-yan

(StaffRoomofMathematicsandComputer,NorthSichuanMedicalCollege,Nanchong637007,China)

Abstract:Forlinearloopprogramswithparallelassignment,theexistingliteraturedetermineditsterminationthroughmatrixeigenvaluemethod,butthemethodcan’tapplytothedailyprogramswithserialassignment.Thispaperconvertsprogramswithparallelassignmenttoprogramswithserialassignment,andthenusetheeigenvaluesandeigenvectorethodtodeterminetheterminationoftheprogram,sothefieldofapplicationofthiethodisexpanded.

Keywords:linearprograms,termination,parallelassignment,serialassignment


证明程序终止性的主流方法是综合循环程序的秩函数,该函数将程序状态变量从状态空间映射到到一个良基域上[1].一个程序没有秩函数,却可能是一个可终止的程序,因此,秩函数的存在仅仅是程序终止的充分条件.即使一个程序有秩函数,但是也可能没有线性秩函数.因此,很多研究人员开始采用各种非秩函数的方法来研究程序的终止性问题.

对于一个形如:while(循环条件){语句组}的普通程序的终止性是不可判定的,即使是所有的循环条件和变量更新都是仿射的,因为这种程序可以用计数器机器来模拟[2],而一个计数器机器对所有的输入是否都终止是不可判定的[3].

在文献[2]中,Tiwari研究了一类形如:

P1:While(Bx>b){x等于Ax+c;}

的线性循环程序的终止性问题,并通过计算系数矩阵A的特征值和特征向量来判定这类循环程序的终止性.其中,x等于Ax+c表示对每个变量进行线性同时赋值,Bx>b表示在变量x的状态空间上的线性不等式的逻辑与.这种线性并行赋值程序比普通文献中考虑的那些程序要简单一些[4-6].

由于目前的程序大多数都是串行赋值,因此直接使用Tiwari的方法是不可行的.在实际分析程序的过程中,我们首先需要将这种线性程序的串行赋值转换成并行赋值,再计算转换后的线性程序的系数矩阵的特征值,通过其特征向量来判定此类线性循环程序的终止性.

串行线性赋值循环程序的终止性判定参考属性评定
有关论文范文主题研究: 关于程序的论文范文素材 大学生适用: 专科论文、学术论文
相关参考文献下载数量: 52 写作解决问题: 本科论文怎么写
毕业论文开题报告: 文献综述、论文目录 职称论文适用: 杂志投稿、职称评副高
所属大学生专业类别: 本科论文怎么写 论文题目推荐度: 优质选题