超大型表达式简化方法探究
在处理超大型表达式时,简化这些表达式对于提高计算效率至关重要。本文将介绍几种表达式简化方法,并分析它们的优缺点。
简化历史
计算机代数系统、表达式简化和布尔问题紧密相关。早期由物理学家和人工智能领域开发的系统逐渐演变成了如今通用的软件包,如Mathematica和Maple。1963年,后来的诺贝尔奖获得者Martinus Veltman设计了用于符号数学(特别是高能物理)的程序Schoonschip。随后,Gerard ’t Hooft与Veltman共同推进相关研究。早期流行的计算机代数系统包括muMATH、Reduce、Derive和Macsyma,而我们使用的FORM系统是Schoonschip的直接继承者。
布尔可满足性问题(SAT问题)是符号逻辑和计算复杂性的核心问题。自Cook的开创性工作以来,寻找高效的SAT问题求解器推动了计算逻辑和组合优化的发展。蒙特卡罗树搜索(MCTS)在对抗搜索和优化方面取得了成功,我们将探讨其在表达式简化中的应用。
表达式简化是一个广泛研究的问题,常见方法有Horner方案、公共子表达式消除(CSEE)、部分句法因式分解和Breuer增长算法等。Horner方案和CSEE仅需利用运算符的交换律、结合律和分配律,这些性质在布尔表达式的四种范式中也存在,因此这些简化方法可轻松应用于布尔表达式。目前,利用更多代数性质(如因式分解)进行简化的研究也在不断开展,这在密码学研究中具有重要意义。
简化方法
-
Horner方案
- 原理
超级会员免费看
订阅专栏 解锁全文
22

被折叠的 条评论
为什么被折叠?



