[发明专利]一种联锁布尔逻辑的优化方法在审
申请号: | 201711147269.2 | 申请日: | 2017-11-17 |
公开(公告)号: | CN107977493A | 公开(公告)日: | 2018-05-01 |
发明(设计)人: | 王玲群;张程;陈吉余;高武;徐泽骏;马锐;莫运前;成鹏 | 申请(专利权)人: | 卡斯柯信号有限公司 |
主分类号: | G06F17/50 | 分类号: | G06F17/50 |
代理公司: | 上海科盛知识产权代理有限公司31225 | 代理人: | 应小波 |
地址: | 200070 上海市静安区*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 联锁 布尔 逻辑 优化 方法 | ||
技术领域
本发明涉及一种信号优化方法,尤其是涉及一种联锁布尔逻辑的优化方法。
背景技术
在轨道交通铁路信号设计过程中,布尔代数被应用于计算机联锁系统,用来表示联锁逻辑关系,基于专利申请号200910049341.7的现有已有辅助工具自动生成的布尔代数,有以下缺陷:
1.数据量大。对一个有40组道岔的中等车站的布尔代数有近1万条布尔表达式,一条表达式中包含的布尔变量有可能达到上百个,这对联锁下位机软件的处理速度有极大的影响。
2.有冗余变量。每一条布尔表达式中可能会出现多余的支路或者无效变量。
3.逻辑复杂。每一条布尔表达式中可能包含多个变量相加再连乘的复杂四则混合运算,变量个数多,增加联锁下位机的运算负荷。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种联锁布尔逻辑的优化方法。
本发明的目的可以通过以下技术方案来实现:
一种联锁布尔逻辑的优化方法,包括:在生成布尔表达式后,对生成的结果通过优化联锁布尔逻辑算法进行优化,得到新的表达式进行输出。
优选地,该方法具体包括以下步骤:
步骤S1、读取所有布尔表达式,遍历每一条布尔表达式,记录值为常零的布尔变量到可优化布尔变量链表一,记录值为常1的布尔变量到可优化布尔变量链表二,进入步骤S2;
步骤S2、遍历每一条布尔表达式,若表达式中包含小括号,则进行拆除括号操作,得到只有加法和乘法运算的布尔表达式,进入步骤S3;
步骤S3、循环遍历每一条布尔表达式,将每一条布尔表达式以加号分割每一组布尔变量:若存在相同的项,则只保留一项,其余项删除,进入步骤S4;
步骤S4、若存在某一项加上某一项乘以另一项的情况,则删除某一项乘以另一项,仅保留某一项,进入步骤S5;
步骤S5、若存在某一项加上某一项取反的情况,则整个表达式的值置为1,且记录到链表二中,进入步骤S6;
步骤S6、若存在某一项乘以另一项加上某一项的取反乘以另一相同项的情况,则仅保留另一项,进入步骤S7;
步骤S7、将优化后的布尔表达式删除多余运算符之后保存,进入S3,若步骤S3、S4、S5、S6都没有进行优化操作,则进入步骤S8;
步骤S8、遍历每一条优化后的布尔表达式,若表达式中包含可优化布尔变量链表一中的布尔变量,且为该布尔变量与其它布尔变量相加的方式,则删除该布尔变量,进入步骤S9;
步骤S9、若表达式中包含可优化布尔变量链表一中的布尔变量,且为该布尔变量与其它布尔变量相乘的方式,则删除该布尔变量以及与它相乘的所有布尔变量,进入步骤S10;
步骤S10、若最后得到的布尔变量值为零,则添加该布尔变量到链表一中,即P=0,则记录P到可优化布尔变量链表一中,进入步骤S11;
步骤S11、将优化后的布尔表达式删除多余运算符之后保存,进入S8,若步骤S8、S9、S10都没有进行优化操作,则进入步骤S12;
步骤S12、循环遍历每一条优化后的布尔表达式,若表达式中包含可优化布尔变量链表二中的布尔变量,则删除该布尔变量,进入步骤S13;
步骤S13、若最后得到的布尔变量为1,则添加该布尔变量到可优化布尔变量链表二中,即P=1,则记录P到可优化布尔变量链表二中,进入步骤S14;
步骤S14、将优化后的布尔表达式删除多余运算符之后保存,进入S12,若步骤S12、S13都没有进行优化操作,则进入步骤S1;
步骤S15、遍历每一条优化后的布尔表达式,输出每一条表达式,算法结束。
优选地,所述的步骤S2中的操作具体为:P=(A+B)*(C+D)+E,则P=A*C+A*D+B*C+B*D+E。
优选地,所述的步骤S3中的操作具体为:P=A+A+B,则P=A+B。
优选地,所述的步骤S4中的操作具体为:P=A+A*B+C,则P=A+C。
优选地,所述的步骤S5中的操作具体为:P=A+~A,则P=1,并记录P到链表二中。
优选地,所述的步骤S6中的操作具体为:P=A*B+~A*B,则P=B。
优选地,所述的步骤S8中的操作具体为:A=0,P=A+B,则P=B。
优选地,所述的步骤S9中的操作具体为:A=0,P=A*B+C,则P=C。
优选地,所述的步骤S12中的操作具体为:A=1,P=A*B+C,则P=B+C。
与现有技术相比,本发明具有以下优点:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于卡斯柯信号有限公司,未经卡斯柯信号有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711147269.2/2.html,转载请声明来源钻瓜专利网。