1. 程式人生 > >[搜尋演算法]三分搜尋初步

[搜尋演算法]三分搜尋初步

前言

對於單調函式,如果找到了其單調性,我們就可以使用二分的方法對其進行搜尋。所以二分搜尋的首要前提是具有單調性。當搜尋的函式不具有單調性時,二分搜尋就顯得相形見絀了。所以對於較為複雜的函式,我們可以採用三分搜尋和模擬退火的方法。這裡主要來分析一下三分搜尋演算法。

前提

三分搜尋適用於具有凹凸性的函式,如圖所示為一個具有凸性質的函式(注意不一定為一個標準的二次函式,只需要在唯一極值兩端的單調性不同即可)在這個函式中我們就可以使用三分搜尋。
這裡寫圖片描述

過程

假設搜尋最左端為L,最右端為R,這兩個點的中點為mid
三分搜尋基於二分搜尋,在右端點R與中點mid之間又開闢了一個新的搜尋點m

idmid,通過這兩個中間點的比較,來確定下一步的收縮情況。

1f(mid)>f(midmid)midmidmidmidmidf(mid)>f(midmid)midmid<mid

R=midmid

2f(mid)<f(midmid)midmidmidmidf(mid)<f(midmid)mid>mid

mid

L=mid