ITP ыкмасы

testwiki долбоорунан
Навигацияга өтүү Издөөгө өтүү

Сандык анализдеги эң начар учурда экиге бөлүү ыкмасынын эң мыкты иштешин сактап, секант ыкмасынын суперлинейдик конвергенциясына жетишкен биринчи тамыр табуу ыкмасы ITP ыкмасы деп аталат, Интерполяциялык кыскартуу жана долбоор үчүн кыска. Мындан тышкары, ар кандай үзгүлтүксүз бөлүштүрүүнүн алкагында, бул экиге бөлүү ыкмасынан кыйла жакшы болгон орточо иш-аракетке ээ биринчи ыкма. Реалдуу дүйнөдөгү колдонмолордо, ал кадимки интерполяция жана гибриддик негизделген ыкмаларды (Бренттин методу, Риддерс, Иллинойс) ашып түшөт, анткени ал жакшы жүрүм-турумдуу функциялардын үстүнөн супер-линейдик конвергенциядан тышкары, интерполяциялар кыска болгондо, начар жүрүм-турумдуу функциялардын астында тез аткарууну камсыз кылат.

ITP ыкмасы тамырдын жайгашкан жеринин жогорку жана төмөнкү чектерин көзөмөлдөсө, эң начар учурдагы көрсөткүчтөр жогорку чекте сакталган аймакты да көзөмөлдөйт. Бул структура салттуу кронштейн стратегиясына окшош. Кронштейн техникасын ишке ашыруу үчүн, ITP функциянын маанисин ар бир итерациянын бир жеринде сурайт жана функциянын мааниси бирдей белгиге ээ болгон эки чекиттин ортосундагы интервалдын бөлүгүн жок кылат. Сурамжыланган чекитти эсептөөгө үч кадам катышат: биринчиден, Регула фалсинин баасы интерполяция жолу менен табылат; андан кийин, болжолдоо бузулат же кыскартылат (Регула фалсидеги Регула фалсинин жакшыртуулары сыяктуу); акыры, бузулган болжолдоо экиге бөлүнгөн орто чекитке жакын аралыкка проекцияланат.Минмакс оптималдуулугун кепилдөө үчүн ар бир итерацияда экиге бөлүнүү чекитинин тегерегиндеги коңшулук эсептелет ( [1] теоремасы 2.1). Метод үч гипер-параметрге көз каранды κ1(0,),κ2[1,1+ϕ) жана n0[0,) кайда ϕ алтын катышы болуп саналат 12(1+5) : биринчи экөө кыскартуунун өлчөмүн көзөмөлдөйт, үчүнчүсү - проекция кадамы үчүн интервалдын өлчөмүн башкарган бош өзгөрмө. Калып:Efn

Тамыр табуу көйгөйү

Үзгүлтүксүз функция берилген

f

тартып аныкталат

[a,b]

чейин

ушундай

f(a)f(b)0

, бул жерде бир суроонун баасы менен баалуулуктарга жетүүгө болот

f(x)

кандайдыр бир берилген боюнча

x

. Жана, алдын ала белгиленген максаттуу так берилген

ϵ>0

, тамыр табуу алгоритми мүмкүн болушунча аз сандагы суроо менен төмөнкү маселени чечүү үчүн иштелип чыккан:

Көйгөйдүн аныктамасы: Табыңыз

x^

ушундай

|x^x*|ϵ

, кайда

x*

канааттандырат

f(x*)=0

.

Компьютердик илимде, инженердик жана сандык анализде бул көйгөй көп кездешет жана аны чечүү үчүн кадимки ыкма-тамыр табуу ыкмаларын колдонуу. Тамыр маселелерин натыйжалуу чечүү өтө маанилүү, анткени натыйжасыз ыкма чоң контекстти эске алганда, олуттуу эсептөө чыгымдарына алып келиши мүмкүн. Көп учурда, тамыр табуу процедурасы чоңураак контекстте татаал ата-эне алгоритмдери менен аталат. ITP техникасы муну бир эле учурда экиге бөлүү ыкмасынын минималдуу оптималдуу кепилдиктерин жана интерполяциялык кепилдиктерди пайдалануу менен ишке ашырууну көздөйт.

n1/2log2((b0a0)/2ϵ)

итерациялар интервалда башталганда

[a0,b0]

.

Ыкма

Берилген κ1(0,),κ2[1,1+ϕ), n1/2log2((b0a0)/2ϵ) жана n0[0,) кайда ϕ алтын катышы болуп саналат 12(1+5), ар бир итерацияда j=0,1,2 ITP ыкмасы пунктту эсептейт xITP төмөнкү үч кадам:

ITP методунун 1-кадамы.
ITP методунун 2-кадамы.
ITP методунун 3-кадамы.
Бардык үч кадам ITP ыкмасын түзөт. Калың көк сызык ыкманын "болжолдонгон-кесилген-интерполяциясын" билдирет.
  1. [Интерполяция кадамы] Бисекцияны жана нормалдуу жалган чекиттерди эсептеңиз: x1/2a+b2 жана xfbf(a)af(b)f(a)f(b) ;
  2. [Кыюу кадамы] Баалоочуну борборго карай буруңуз: xtxf+σδ кайда σsign(x1/2xf) жана δmin{κ1|ba|κ2,|x1/2xf|} ;
  3. [Проекция кадамы] Баалоочуну минималдуу интервалга долбоорлоо: xITPx1/2σρk кайда ρkmin{ϵ2n1/2+n0jba2,|xtx1/2|} .

Андан кийин, бул чекиттеги функциянын мааниси https://wikimedia.org/api/rest_v1/media/math/render/svg/1fbb08a19578e3fc2151a4f4459f7979f5779080 суралгандан кийин, ар бир учунда карама-каршы белгинин функциялык маанилери менен суб-интервалды сактоо менен тамырды курчап алуу үчүн интервал кыскартылат.d.

алгоритм

Төмөнкү алгоритм ( псевдокод менен жазылган) баштапкы маанилерин кабыл алат ya жана yb берилет жана канааттандырылат ya<0<yb кайда yaf(a) жана ybf(b) ; жана, ал болжолду кайтарат x^ бул канааттандырат |x^x*|ϵ эң көп n1/2+n0 функцияларды баалоо.

Input: a,b,ϵ,κ1,κ2,n0,f 
    Preprocessing: n1/2=log2ba2ϵ, nmax=n1/2+n0, and  j=0;
    While ( ba>2ϵ )
  
        Calculating Parameters:
            x1/2=a+b2, r=ϵ2nmaxj(ba)/2, δ=κ1(ba)κ2;
        Interpolation:
            xf=ybayabybya;
        Truncation:
            σ=sign(x1/2xf);
            If δ|x1/2xf| then xt=xf+σδ,
            Else xt=x1/2;
        Projection:
            If |xtx1/2|r then xITP=xt,
            Else xITP=x1/2σr;
        Updating Interval:
            yITP=f(xITP);
            If yITP>0 then b=xITP and yb=yITP,
            Elseif yITP<0 then a=xITP and ya=yITP,
            Else a=xITP and b=xITP;
            j=j+1;
Output: x^=a+b2

Мисал: Көп мүчөнүн тамырын табуу

Көп мүчөнүн тамырын табуу үчүн ITP ыкмасы колдонулат дейли f(x)=x3x2. Колдонуу ϵ=0.0005,κ1=0.1,κ2=2 жана n0=1 биз табабыз:

Итерация an bn cn f(cn)
1 1 2 1.43333333333333 -0,488629629629630
2 1.43333333333333 2 1.52713145056966 0.0343383329048983
3 1.43333333333333 1.52713145056966 1.52009281150978 -0,00764147709265051
4 1.52009281150978 1.52713145056966 1.52137899116052 -4.25363464540141e-06
5 1.52137899116052 1.52713145056966 1.52138301273268 1.96497878177659e-05
6 1.52137899116052 1.52138301273268 ← Токтотуу критерийлери канааттандырылды

Бул мисал мисал менен салыштырууга болот: экиге бөлүү ыкмасын колдонуу менен Көп мүчөнүн тамырын табуу. Минмакс кепилдиктери боюнча жазасыз тамырдын так баасын алуу үчүн, ITP ыкмасы экиге бөлүүгө салыштырмалуу итерациялардын санынын жарымынан азын колдонгон. Башка ыкмалар (мисалы, атчандар, Брент ж.б.) ошондой эле конвергенциянын салыштырмалуу ылдамдыгына жетиши мүмкүн, бирок аларда ITP ыкмасы менен берилген minmax кепилдиктери жок.

Анализ

ITP ыкмасынын негизги артыкчылыгы n0=0 болгон учурда, аны экиге бөлүү ыкмасына караганда азыраак кайталоо керек. Ошондуктан, интерполяция иштебей калса дагы, анын орточо көрсөткүчү экиге бөлүү ыкмасынан жогору болот. Мындан тышкары, эгерде интерполяция ийгиликтүү болсо (түз функциялар) интерполяцияга негизделген ыкмалар менен бирдей жогорку конвергенцияга ээ экендиги кепилденет.

Эң начар көрсөткүч

Анткени ITP ыкмасы баалоочуну минмакс интервалына а менен проекциялайт n0 боштук, ал эң көп талап кылат n1/2+n0 кайталоо ( теоремасы 2.1). Бул качан экиге бөлүү ыкмасы сыяктуу minmax оптималдуу болуп саналат n0 болуу үчүн тандалат n0=0 .

Орточо көрсөткүч

Анткени андан ашык талап кылынбайт n1/2+n0 итерациялар, итерациялардын орточо саны ар дайым экиге бөлүү ыкмасынан азыраак болот. n0=0 ( ичинен 2.2 жыйынтык).

Асимптотикалык аткаруу

Эгерде функция f(x) эки жолу дифференциалдануучу жана тамыры болуп саналат x* жөнөкөй болсо, анда ITP ыкмасы менен өндүрүлгөн интервалдар жакындашуу тартиби менен 0гө жакындайт. κ2 эгерде n00 же эгер n0=0 жана (ba)/ϵ термин менен 2дин күчү эмес ϵ2n1/2ba нөлгө өтө жакын эмес ( теоремасы 2.3).

Эскертүүлөр

Гипер-параметрлерди тереңирээк талкуулоо үчүн, КУРБО китепканасындагы ITP үчүн документтерди караңыз. Калып:Notelist

Шилтемелер

1.Калып:Cite bookКалып:Жеткиликсиз шилтемеКалып:Булактар2. Калып:Cite journal

3. Калып:Cite journal