近似算法
1. 近似算法的基本概念
? ? ? ?很多實(shí)際應(yīng)用問題都是NP-完全問題,這類問題很可能不存在多項(xiàng)式時(shí)間算法。一般而言,NP-完全問題可采用以下三種方式處理。如果問題的輸入規(guī)模較小,則可以利用搜索策略在指數(shù)時(shí)間內(nèi)求解問題。如果輸入規(guī)模較大,既可以利用隨機(jī)算法在多項(xiàng)式時(shí)間內(nèi)“高概率”地精確求解問題,也可以考慮在多項(xiàng)式時(shí)間內(nèi)求得問題的一個(gè)“近似解”。
? ? ? ?近似算法是指能夠在多項(xiàng)式時(shí)間內(nèi)給出優(yōu)化問題的近似優(yōu)化解的算法,近似算法不僅可用于近似求解NP-完全問題,也可用于近似求解復(fù)雜度較高的P問題。
2. 近似算法的性能分析
? ? ? ?近似算法的性能分析包括時(shí)間復(fù)雜度分析、空間復(fù)雜度分析和近似精度分析,其中時(shí)間(空間)復(fù)雜度的分析同精確復(fù)雜度相同。近似精度分析是近似算法特有的,它主要用于刻畫近似算法給出的近似解相比于問題優(yōu)化解的優(yōu)劣程度。目前,存在三種刻畫近似精度的度量,即近似比、相對(duì)誤差界和1+ε近似。
近似比:設(shè)A是一個(gè)優(yōu)化問題的近似算法,A具有近似比(ratio bound) p(n), 如果max{C/C*, C*/C} ≤ p(n)。其中n是輸入大小,C是A產(chǎn)生的解的代價(jià),C*是優(yōu)化解的代價(jià)。
相對(duì)誤差:對(duì)于任意輸入,近似算法的相對(duì)誤差定義為|C - C*|/C*,其中C是近似解的代價(jià),C*是優(yōu)化解的代價(jià)。
相對(duì)誤差界:一個(gè)近似算法的相對(duì)誤差界為ε(n),如果|C-C*|/C* ≤?ε(n)。
近似模式:一個(gè)優(yōu)化問題的近似模式是一個(gè)以問題實(shí)例I和ε>0位輸入的算法。對(duì)于任意固定的ε,近似模式是一個(gè)(1+ε)-近似算法。一個(gè)近似模式A(I,ε)稱為一個(gè)多項(xiàng)式時(shí)間近似模式,如果對(duì)于任意ε>0, A(I,ε)的運(yùn)行時(shí)間是|I|的多項(xiàng)式。一個(gè)近似模式稱為完全多項(xiàng)式時(shí)間近似模式,如果它的運(yùn)行時(shí)間是關(guān)于I/ε和輸入實(shí)例大小n的多項(xiàng)式。
? ?
總結(jié)
- 上一篇: java中属性是什么意思啊_Java中的
- 下一篇: dpi和ppi换算_DPI、PPI、DP