本文主要記錄研究中用到的與泛函和變分法相關的知識點,推導過程不會嚴謹考慮所有特殊情況,重在直覺理解。
泛函(Functional)
泛函式(Functional,簡稱泛函)$J$是以函式為自變數的函式,它將一個定義在某函式空間$Y$中的自變數函式對映到實數域$\mathcal{R}$或複數域$\mathcal{C}$,即$J:Y\rightarrow \mathcal{R}$或$J:Y\rightarrow \mathcal{C}$。本文僅討論實變函式,即值域與定義域都在實數集$\mathcal{R}$內。
利用積分,對於函式$y(x)\in Y$,泛函$J[y]$可表示為:
$\displaystyle J[y] = \int_{a}^bF(x,y,y',y'',...)dx$
$F$是一個關於$x,y$和$y$的各階導數的函式。實際上,不僅僅是利用積分,只要是能將函式對映到實數的操作都能用於泛函的對映,如:極值、卷積、特定點函式值,甚至是隨機過程等。本文主要以積分舉例。
泛函方程
當我們想要找到某個$y$以使$J[y]$滿足特定值$C$時,可以建立泛函方程:
$\displaystyle J[y] = \int_{a}^bF(x,y,y',y'',...)dx=C$
泛函方程種類較多,等式的左右還能新增額外的函式從而產生更復雜的情況,這裡僅討論簡單情況。以上方程並不好直接求解,因為泛函方程的解是函式而非數值。通常利用拉格朗日乘數法將對該方程的求解轉換為最佳化問題:
$\displaystyle \mathcal{L}[y,\lambda] = \int_{a}^bF(x,y,y',y'',...)dx + \lambda(\int_{a}^b F(x,y,y',y'',...)dx - C) $
再利用變分法找使以上新泛函$\mathcal{L}[y,\lambda]$取極值的$y(x)$。
變分法(Calculus of Variations)
變分最佳化研究如何解決涉及泛函的極值問題,會用到各種方法,如變分法、數值最佳化、凸最佳化等,而其中變分法是求解變分最佳化問題的核心方法。變分法透過研究一個泛函在函式上的微小變化(即變分, variation),找到使這個泛函達到極值的函式,從而將泛函最佳化問題轉化為數學上可求解的微分方程問題。其核心思想類似“導數為零是極值點”的概念。
對於泛函(為了簡化,本文僅考慮一階導$y'$)
$\displaystyle J[y] = \int_{a}^bF(x,y,y')dx$
我們期望找到一個$y(x)$,使$J[y]$達到極值。變分法假設$y(x)$是一個可能的解,考慮其微小擾動:
$\displaystyle \tilde{y}(x)\rightarrow y(x) + \epsilon \eta (x)$
其中$\epsilon$是一個微小的標量,$\eta(x)$為任意滿足邊界條件的光滑函式,有$\eta(a) = \eta(b) = 0$。將上式代入得到擾動後的泛函:
$\displaystyle J[\tilde{y}] = J[y + \epsilon \eta ] = \int_{a}^bF(x,y + \epsilon \eta, y' + \epsilon \eta')dx$
針對$\epsilon$將上式在$\epsilon=0$處泰勒展開:
\begin{equation*} \begin{aligned} J[\tilde{y}] & = \left.J[\tilde{y}] \right|_{\epsilon = 0} + \left.\frac{\partial J[\tilde{y}] }{\partial \epsilon}\right|_{\epsilon = 0} \cdot \epsilon + \left.\frac{\partial^2 J[\tilde{y}] }{\partial \epsilon^2}\right|_{\epsilon = 0} \cdot \frac{\epsilon^2}{2!} + \dots \\ & = J[y] + \tilde{J}_1 \epsilon + \tilde{J}_2 \epsilon^2 + \dots\\ \end{aligned} \end{equation*}
其中,定義$\delta J = \tilde{J}_1$為一階變分,類似地,定義$\delta J^2 = \tilde{J}_2 $為二階變分。一階變分描述了泛函沿擾動方向(即$\eta$)的線性變化率。
我們假定$J[\tilde{y}] $在$\epsilon=0$時取極值,但這是假定的條件,並不能用於後續計算。因此,進一步要用到泛函極值點的定義:如果某個函式$y(x)$使$J[y]$在其小範圍內的值總是大於或小於其它函式值,則稱$y(x)$是泛函的一個極值點。也就是說,對於任意的擾動函式$\eta(x)$,我們用趨近於$0$的$\epsilon$稍微增強該擾動,如果都有$J[\tilde{y}]\leq J[y]$或$J[\tilde{y}]\geq J[y]$,則可以判斷$y(x)$此時取到極值。
以上定義,可以判斷$J[\tilde{y}]$關於$\epsilon$的左右導數$\lim\limits_{\epsilon\rightarrow 0^+}\frac{\partial J[\tilde{y}]}{\partial \epsilon }$和$\lim\limits_{\epsilon\rightarrow 0^-}\frac{\partial J[\tilde{y}]}{\partial \epsilon }$不同號。根據前面假定的光滑性,可得$\lim\limits_{\epsilon\rightarrow 0}\frac{\partial J[\tilde{y}]}{\partial \epsilon } = 0$,即一階變分$\delta J= \left.\frac{\partial J[\tilde{y}] }{\partial \epsilon}\right|_{\epsilon = 0}=0$。即解方程:
\begin{equation*} \begin{aligned} \left.\int_{a}^b\frac{\partial \tilde F}{\partial \tilde{y}}\frac{\partial \tilde{y}}{\partial \epsilon} + \frac{\partial \tilde F}{\partial \tilde{y}'} \frac{\partial \tilde{y}'}{\partial \epsilon}dx \right|_{\epsilon = 0}&= 0\\ \left.\int_{a}^b\frac{\partial \tilde F}{\partial \tilde{y}}\eta + \frac{\partial \tilde F}{\partial \tilde{y}'} \eta'dx\right|_{\epsilon = 0} &= 0\\ \end{aligned} \end{equation*}
由於$\epsilon\rightarrow 0$時,$\tilde F \rightarrow F, \tilde y \rightarrow y, \tilde y' \rightarrow y'$,得
$\displaystyle \int_{a}^b\frac{\partial F}{\partial y}\eta + \frac{\partial F}{\partial y'} \eta'dx = 0$
利用分部積分將第二項中的$\eta'$轉換為$\eta$,得
$\displaystyle \int_{a}^b\left(\frac{\partial F}{\partial y} - \frac{d}{dx}\left(\frac{\partial F}{\partial y'}\right)\right)\eta dx + \left.\frac{\partial F}{\partial y'}\eta\right|^b_a= 0$
根據邊界條件$\eta(a)=\eta(b) = 0$,上式可去除去第二項得
$\displaystyle \int_{a}^b\left(\frac{\partial F}{\partial y} - \frac{d}{dx}\left(\frac{\partial F}{\partial y'}\right)\right)\eta dx = 0$
由於$\eta$是任意滿足邊界條件的光滑函式,為了保證上式成立,積分表示式的係數必須為零,從而得到尤拉-拉格朗日方程(Euler-Lagrange equation):
$\displaystyle \frac{\partial F}{\partial y} - \frac{d}{dx}\left(\frac{\partial F}{\partial y'}\right) = 0$
尤拉-拉格朗日方程提供了泛函駐點的必要條件,其解包含了所有可能的極值點$y(x)$。解出尤拉-拉格朗日方程後,可能需要進一步分析解的性質,比如利用二階變分分析問題的凸性以判斷是否全域性最優。
例項——最短路徑問題
在二維平面上,尋找兩點$(x_1,y_1)$和$(x_2,y_2)$之間路徑最短的曲線$y(x)$。定義路徑長度為:
$\displaystyle L[y] = \int_{x_1}^{x_2} \sqrt{1+y'^2} dx$
列出尤拉-拉格朗日方程
$\displaystyle - \frac{d}{dx}\left(\frac{y'}{\sqrt{1+y'^2}}\right) = 0$
左右積分得
\begin{equation*} \begin{aligned} \frac{y'}{\sqrt{1+y'^2}} = C\\ y' = \pm\sqrt{\frac{C^2}{1-C^2}} \end{aligned} \end{equation*}
導數$y'$為常數,說明$y(x)$為線性函式,為直線。