1.luby序列
2. 斐波那契
3. 卢卡斯数列
4. 斐波那契—卢卡斯数列: 斐波那契—卢卡斯递推:从第三项开始,每一项都等于前两项之和
1. luby序列
Luby函数是一个用于生成特定序列的函数,主要用于SAT求解器中的重启策略。Luby函数通过生成一个有限子序列,使得在达到一定冲突数时,SAT求解器可以按照这个序列有计划地进行重启,从而优化搜索过程1,2。 Luby函数的基本原理Luby函数通过以下步骤生成序列:
Luby函数在SAT求解器中的应用在SAT求解器中,Luby函数生成的序列用于指导重启策略。每当达到序列中规定的冲突数时,求解器会停止当前搜索,重新构造决策树。这种方法有助于避免陷入局部最优解,提高求解效率1,2。 示例代码以下是一个简单的Luby函数实现示例:
static double luby(double y, int x) { int size, seq; for (size = 1, seq = 0; size < x + 1; seq++, size = 2 * size + 1); while (size - 1 != x) { size = (size - 1) >> 1; seq--; x = x % size; } return pow(y, seq); } 这段代码通过循环和位运算计算Luby序列的幂次,适用于在SAT求解器中实现重启策略1。
[1].https://www.cnblogs.com/yuweng1689/p/12578674.html. [2]https://www.cnblogs.com/zhangzhangtabszj/p/14478645.html |
|
2. 斐波那契序列 斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”。斐波那契数列的定义为:第一项F(1)=0,第二项F(2)=1,后续每一项都是前两项的和,即)F(n)=F(n−1)+F(n−2)(n≥3),因此,斐波那契数列的前几个数字是:0、1、1、2、3、5、8、13、21、34、……。斐波那契数列在数学上有其独特的性质和通项公式。其通项公式为:$F(n) = \frac {\phi^n - \psi^n} {\sqrt[]{5} } $, $\phi = \frac{1+\sqrt[]{5} } {2}$, $\psi = \frac{1-\sqrt[]{5} } {2}$斐波那契数列在编程中也有广泛应用。 |
|
3. 卢卡斯数列 卢卡斯数列 1、3、4、7、11、18…,也具有斐波那契数列同样的性质。(我们可称之为斐波那契—卢卡斯递推:从第三项开始,每一项都等于前两项之和,$a_n = a_{n-2} + a_{n-1}$。 其通项公式为:$L(n) =({\frac{1+\sqrt[]{5}}{2}})^n - ({\frac{1-\sqrt[]{5}}{2}})^n $,$(n{\geqslant}3)$。 |
|
4. 斐波那契—卢卡斯数列
斐波那契—卢卡斯数列之间的广泛联系:
①任意两个或两个以上斐波那契—卢卡斯数列之和或差仍然是斐波那契—卢卡斯数列。
②任何一个斐波那契—卢卡斯数列都可以由斐波那契数列的有限项之和获得。
|
|