最優化演算法 斐波那契數列搜尋

2022-02-20 22:41:00 字數 933 閱讀 1042

斐波那契數列搜尋,參考edwin《最優化導論》第四版7.3章節,演算法採用go語言實現。

/**

***************************************

* filename : fibonacci_search.go

* author : fredric

* date : 2017.09.01

* note : 斐波那契數列搜尋演算法

* history :

****************************************

*/package search

import(

"fmt")

func _get_fibonacci(i

int) int

else

if i == 2else

}func _test_func(x float64) float64

func _test_func_01(x float64) float64

/** 基於**分割的思路對分割的比例係數p進行優化

* p採用斐波那契數列,即

* p1 = 1 - fn/fn+1

* p2 = 1 - fn-1/fn

* ...

* pn = 1 - f1/f2

* 總的壓縮比:p1*p2*..pn = 1/fn+1

* 因此 f n+1 需要能夠滿足壓縮比

*/func dofibonnacisearch()else

fmt.printf("a1 = %f, b1 = %f f_a1 = %f, f_b1 = %f p = %f\n", a1, b1, f_a1, f_b1, p)

}elseelse

}}//for i := 5; i >=1; i--

最優化演算法 斐波那契數列搜尋

斐波那契數列搜尋,參考edwin 最優化導論 第四版7.3章節,演算法採用go語言實現。filename fibonacci search.go author fredric date 2017.09.01 note 斐波那契數列搜尋演算法 history package search import...

斐波那契數列 斐波那契數列python實現

斐波那契數列 fibonacci sequence 又稱 分割數列 因數學家列昂納多 斐波那契 leonardoda fibonacci 以兔子繁殖為例子而引入,故又稱為 兔子數列 指的是這樣乙個數列 1 1 2 3 5 8 13 21 34 在數學上,斐波納契數列以如下被以遞推的方法定義 f 1 ...

迴圈斐波那契數列 斐波那契數列應用

什麼是斐波那契數列 斐波那契數列指的是這樣乙個數列 1,1,2,3,5,8,13,21,34,55,89,144 這個數列從第3項開始,每一項都等於前兩項之和 台階問題 有一段樓梯有10級台階,規定每一步只能跨一級或兩級,要登上第10級台階有幾種不同的走法?這就是乙個斐波那契數列 登上第一級台階有一...