论文部分内容阅读
作为首个被证明了的NP完全问题,布尔逻辑表达式的可满足性问题(SAT问题)为计算机复杂性理论奠定了夯实的基础,在硬件电路可行性的测试、计算机科学(包括定理机器证明、机器视觉、数据库)等众多领域都有广泛应用。虽然大多数SAT问题都在表示为合取范式的基础上求解的,但鉴于实际中的布尔表达式有两种形式:合取范式(CNF)和析取范式(DNF),DNF更是其标准形式,但是却鲜有关于DNF可满足性的求解。因此本文将可满足性问题进行了细分扩展,将可满足性问题扩展成两部分来求解。一部分是传统的基于CNF的SAT问题的求解,另一部分是基于DNF的SAT问题的求解。这种划分方式就能够比较全面的涵括可满足性问题的所有情况,大大拓宽了现实中的应用范围。本文利用膜计算的极大并行性,结合基本类组织P系统,模仿自然界中带电生物体组织的生命活动,提出了一种基于细胞分裂的识别型可进化类组织P系统,来求解可满足性问题。该系统能够在短时间内通过细胞分裂得到呈指数型增长的计算细胞,使每个计算细胞处理一种真值分配情况。运用交流规则、分裂规则、进化规则和输出规则在多项式时间内对布尔表达式进行并行处理,这不仅符合生物化学理论和实践,从而能够向环境中输出对象yes或no,以此表明布尔表达式是否满足。通过空间换时间这种方法来在很大程度上增强计算效率。最后,在软件和硬件上分别做了仿真与验证。在软件方面,使用塞尔维亚大学自然科学研究组专门开发出来的编程语言pLingua编写本算法,并结合配套的专用于P系统仿真的pLinguaPlugin完成算法的仿真。在硬件方面,采用了具有并行特性的FPGA,通过VHDL语言对硬件的描述建立了相应的膜系统。并且,最终均证明本算法为正确可行的。一直以来,很多学者都致力于SAT问题的求解,将其细分求解并用膜计算解决的并不多见,且膜计算一直面临着软硬件难实现的问题。本文将SAT问题进行细分处理解决,在很大程度上拓宽了现实中的应用范围;利用膜计算高效的计算能力和效率,克服了以往大多数算法由于串行计算而导致计算效率不高的缺点;最后还分别通过软硬件使得该算法得以实现,尤其是通过硬件电路FPGA实现P系统,克服了传统的生化反应实现,推动了膜计算硬件实现的步伐。综上可知,探索膜计算求解SAT问题有着重要现实价值与应用意义。