字典序全排列生成算法提速
摘 要: 本文实验了字典序全排列生成算法,并给出了三种优化方法,采用t假设检验的方法证明3种优化方法都可接受,最终的优化方法比作为baseline的算法提速了29.7倍。
关键词:字典序全排列生成算法;t假设检验。
1 引言
在全排列生成方法是一种将n个不同的项按照一定的顺序,无重复、无遗漏地列举出全部的不同的排列方法,n个不同项将会生成n阶层个不同的排列方案,在这些方法中字典序方法最为自然容易理解,但字典序法不可避免地需要循环或者递归,而以邻位对换法等为代表的LOOPLESS的方法避免了循环和递归,但由于每次执行都需要依赖此前的结果,因此在分布式,多核环境下显得性能不高。字典序方法虽然依赖循环和递归但其很容易将任务分解在不同的计算单元在多核,甚至是分布式的环境下,可以获得很好的性能。本文从字典序的3重优化过程,来探讨字典序的性能提速。
2 相关工作
论文[1]提到了常见的通过邻位对换法来获得全排列生成算法,论文[2]讨论了并行计算排列生成算法,并且支持scalability,性能和计算机CPU核数量相关,论文[3]提出了一种新的计算第kth
补充:综合编程 , 其他综合 ,