
рд╕рдордиреНрд╡рдп-рд╡рд╛рд░ рд╡рдВрд╢ рдХреА рд╡рд┐рдзрд┐ рдмрд╣реБрдЖрдпрд╛рдореА рдЕрдиреБрдХреВрд▓рди рдХрд╛ рд╕рдмрд╕реЗ рд╕рд░рд▓ рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдФрд░ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЪрд┐рдХрдиреА рд╕реНрдерд▓рд╛рдХреГрддрд┐ рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдиреАрдп рдиреНрдпреВрдирддрдо рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ рдХрд┐ рдЖрдк рд╕реНрд╡рдпрдВ рдХреЛ рдЗрд╕рдХреЗ рдЕрдиреБрдХреВрд▓рди рддрд░реАрдХреЛрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВред
рдПрдХреНрд╕реНрдЯреНрд░реАрдо рдХреА рдЦреЛрдЬ рд╕рдордиреНрд╡рдп рдЕрдХреНрд╖реЛрдВ рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рдХреА рдЬрд╛рддреА рд╣реИ, рдЕрд░реНрдерд╛рдд рдЦреЛрдЬ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди, рдХреЗрд╡рд▓ рдПрдХ рд╕рдордиреНрд╡рдп рдмрджрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдПрдХ рдмрд╣реБрдЖрдпрд╛рдореА рд╕рдорд╕реНрдпрд╛ рдПрдХ рдЖрдпрд╛рдореА рдПрдХ рдХреЛ рдХрдо рдХрд░ рджреЗрддреА рд╣реИред
рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо
рдкрд╣рд▓рд╛ рдЪрдХреНрд░:
- ред ред ,, ... ред
- рдЪрд░рдо рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ ред рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЪрд░рдо рдкрд░ рдмрд┐рдВрджреБ рдкрд░ рд░рдЦреЗрдВ ред
- ред ред ,, ... ред рдПрдХреНрд╕реНрдЯреНрд░реАрдордо рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ
- ...
- ред ред ,, ... ред
рдПрди рдЪрд░рдгреЛрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЪрд░рдо рдкрд░ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдПрдХ рдирдпрд╛ рдмрд┐рдВрджреБ рдорд┐рд▓рд╛ ред рдЕрдЧрд▓рд╛, рд╣рдо рдЦрд╛рддреЗ рдХреЗ рдЕрдВрдд рдХреЗ рд▓рд┐рдП рдорд╛рдирджрдВрдб рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ: рдпрджрд┐ рдпрд╣ рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рдорд╛рдзрд╛рди рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрдиреНрдпрдерд╛ рд╣рдо рдПрдХ рдФрд░ рдЪрдХреНрд░ рдХрд░рддреЗ рд╣реИрдВред
рдЯреНрд░реЗрдирд┐рдВрдЧ
рдкреИрдХреЗрдЬ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ:
(v1.1) pkg> status Status `C:\Users\User\.julia\environments\v1.1\Project.toml` [336ed68f] CSV v0.4.3 [a93c6f00] DataFrames v0.17.1 [7073ff75] IJulia v1.16.0 [47be7bcc] ORCA v0.2.1 [58dd65bb] Plotly v0.2.0 [f0f68f2c] PlotlyJS v0.12.3 [91a5bcdd] Plots v0.23.0 [ce6b1742] RDatasets v0.6.1 [90137ffa] StaticArrays v0.10.2 [8bb1440f] DelimitedFiles [10745b16] Statistics
рд╣рдо рд╕рддрд╣ рдпрд╛ рд╕реНрддрд░ рд░реЗрдЦрд╛рдУрдВ рдХреЛ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдЧреНрд░рд╛рдл рдХреА рд╕реАрдорд╛рдУрдВ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛:
using Plots plotly()
рдПрдХ рдореЙрдбрд▓ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рдПрдХ рдЕрдгреНрдбрд╛рдХрд╛рд░ рдкреИрд░рд╛рдмреЛрд▓рд╛рдЗрдб рдЪреБрдирддреЗ рд╣реИрдВ
parabol(x) = sum(u->u*u, x) fun = parabol plotter(surface, low = [-1 -1], up = [1 1])

рд╕рдордиреНрд╡рд┐рдд рд╡рдВрд╢
рд╣рдо рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╡рд┐рдзрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдЖрдпрд╛рдореА рдЕрдиреБрдХреВрд▓рди рд╡рд┐рдзрд┐, рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдЖрдпрд╛рдо, рд╡рд╛рдВрдЫрд┐рдд рддреНрд░реБрдЯрд┐, рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдиреНрдирд┐рдХрдЯрди рдФрд░ рдбреНрд░рд╛рдЗрдВрдЧ рд╕реНрддрд░ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХрд╛ рдирд╛рдо рд▓реЗрддрд╛ рд╣реИред рд╕рднреА рдкреИрд░рд╛рдореАрдЯрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рдиреЛрдВ рдкрд░ рд╕реЗрдЯ рд╣реИрдВред
function ofDescent(odm; ndimes = 2, ╬╡ = 1e-4, fit = [.5 .5], low = [-1 -1], up = [1 1]) k = 1
рдЕрдЧрд▓рд╛, рд╣рдо рдПрдХ-рдЖрдпрд╛рдореА рдЕрдиреБрдХреВрд▓рди рдХреЗ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗ
рдиреНрдпреВрдЯрди рдХреА рд╡рд┐рдзрд┐
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдзрд┐ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рд╕рд░рд▓ рд╣реИ

рдиреНрдпреВрдЯрди рд╢реБрд░реБрдЖрддреА рд╕рдиреНрдирд┐рдХрдЯрди рдкрд░ рдХрд╛рдлреА рдорд╛рдВрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдЪрд░рдгреЛрдВ рдкрд░ рд╕реАрдорд╛ рдХреЗ рдмрд┐рдирд╛, рд╡рд╣ рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдЬреНрдЮрд╛рдд рджреВрд░рд┐рдпреЛрдВ рдХреА рд╕рд╡рд╛рд░реА рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╡реНрдпреБрддреНрдкрдиреНрди рдХреА рдЧрдгрдирд╛ рд╡рд╛рдВрдЫрдиреАрдп рд╣реИ, рд▓реЗрдХрд┐рди рдЫреЛрдЯреЗ рдмрджрд▓рд╛рд╡ рдХреЗ рд╕рд╛рде рддрд┐рд░рд╕реНрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рдо рдЕрдкрдиреЗ рдХрд╛рд░реНрдп рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ:
function newton(i, fit, ╧╡) k = 1 oldfit = Inf x = [] y = [] push!(x, fit[1]) push!(y, fit[2]) while ( abs(oldfit - fit[i]) > ╧╡ && k<50 ) fx = fun(fit) oldfit = fit[i] fit[i] += 0.01 dfx = fun(fit) fit[i] -= 0.01 tryfit = fx*0.01 / (dfx-fx)

рдЙрд▓рдЯрд╛ рдкрд░рд╡рд▓рдп рдкреНрд░рдХреНрд╖реЗрдк
рдПрдХ рд╡рд┐рдзрд┐ рдЬрд┐рд╕реЗ рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗ рдЬреНрдЮрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЕрдЪреНрдЫрд╛ рдЕрднрд┐рд╕рд░рдг рд╣реИ
function ipi(i, fit, ╧╡)

рдпрджрд┐ рд╣рдо рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдиреНрдирд┐рдХрдЯрди рдХреЛ рдмрджрддрд░ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рд╡рд┐рдзрд┐ рдХреЛ рд╕рдордиреНрд╡рд┐рдд рд╡рдВрд╢ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдпреБрдЧ рдХреЗ рд▓рд┐рдП рдХрдИ рдЪрд░рдгреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ, рдЙрд╕рдХрд╛ рднрд╛рдИ рдЬреАрддрддрд╛ рд╣реИ
рдЕрдиреБрдХреНрд░рдорд┐рдХ рдкрд░рд╡рд▓рдпрд┐рдХ рдЕрдВрддрд░реНрд╡реЗрд╢рди
рдЗрд╕рдХреЗ рд▓рд┐рдП рддреАрди рд╢реБрд░реБрдЖрддреА рдмрд┐рдВрджреБ рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВ , рд▓реЗрдХрд┐рди рдХрдИ рдкрд░реАрдХреНрд╖рдг рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдпрд╣ рдЕрдзрд┐рдХ рд╕рдВрддреЛрд╖рдЬрдирдХ рдкрд░рд┐рдгрд╛рдо рджрд┐рдЦрд╛рддрд╛ рд╣реИред
function spi(i, fit, ╧╡)

рддреАрди рдЪрд░рдгреЛрдВ рдореЗрдВ рдПрдХ рдмрд╣реБрдд рднрджреНрджрд╛ рд╢реБрд░реБрдЖрддреА рдмрд┐рдВрджреБ рд╕реЗ рдмрд╛рд╣рд░ рдХрджрдо рдЖрдпрд╛! рдЕрдЪреНрдЫрд╛ ... рд▓реЗрдХрд┐рди рд╕рднреА рддрд░реАрдХреЛрдВ рдореЗрдВ рдПрдХ рдЦрд╛рдореА рд╣реИ - рд╡реЗ рдПрдХ рд╕реНрдерд╛рдиреАрдп рдиреНрдпреВрдирддрдо рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░рддреЗ рд╣реИрдВред рдЕрдм рдЖрдЗрдП рдЕрдиреБрд╕рдВрдзрд╛рди рдХреЗ рд▓рд┐рдП рдПрдХрд▓реА рдХреЗ рдХрд╛рд░реНрдп рдХреЛ рд▓реЗрдВ
ekly(x) = -20exp(-0.2sqrt(0.5(x[1]*x[1]+x[2]*x[2]))) - exp(0.5(cospi(2x[1])+cospi(2x[2]))) + 20 + тДп


ofDescent(spi, fit = [1.4 1.4], low = [-.1 -.1], up = [2.4 2.4])

рд╕реНрд╡рд░реНрдг рдЕрдиреБрдкрд╛рдд рд╡рд┐рдзрд┐
рд╕рд┐рджреНрдзрд╛рдВрдд ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЬрдЯрд┐рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА рд╕реНрдерд╛рдиреАрдп рдорд┐рдирд┐рдорд╛ рдХреВрджрдХрд░ рд╡рд┐рдзрд┐ рдЦреБрдж рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рджрд┐рдЦрд╛рддреА рд╣реИ
function interval(i, fit, st) d = 0. ab = zeros(2) fitc = copy(fit) ab[1] = fitc[i] Fa = fun(fitc) fitc[i] -= st Fdx = fun(fitc) fitc[i] += st if Fdx < Fa st = -st end fitc[i] += st ab[2] = fitc[i] Fb = fun(fitc) while Fb < Fa d = ab[1] ab[1] = ab[2] Fa = Fb fitc[i] += st ab[2] = fitc[i] Fb = fun(fitc)

рдпрд╣ рд╕рднреА рд╕рдордиреНрд╡рд┐рдд рд╡рдВрд╢ рдХреЗ рд╕рд╛рде рд╣реИред рдкреНрд░рд╕реНрддреБрдд рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреА рдкрд╕рдВрджреАрджрд╛ рднрд╛рд╖рд╛ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдЖрдк рдЬреВрд▓рд┐рдпрд╛ рднрд╛рд╖рд╛ рдХреЗ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдм рдЖрдк рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рд╕реЗ рд╕рдм рдХреБрдЫ рдорд╣рд╕реВрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдмреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рддрд░реАрдХреЛрдВ рдХреЛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдФрд░ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рдорд╛рдирддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╡реИрд╢реНрд╡рд┐рдХ рдЕрдиреБрдХреВрд▓рди рдкрд░ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдХрд┐рд╕реА рдЕрдиреНрдп рднрд╛рд╖рд╛ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рд╛рд╣рд┐рддреНрдп
- рднреМрддрд┐рдХрд╡рд┐рджреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рддрд░реАрдХреЗ рдЬрд╝реИрддрд╕реЗрд╡ рд╡реА.рд╡реА. Nonlinear рд╕рдореАрдХрд░рдг рдФрд░ рдЕрдиреБрдХреВрд▓рди: рдПрдХ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ред - рд╕рдорд╛рд░рд╛, 2005 - 86 рдПрд╕ред
- рдСрдкреНрдЯрд┐рдХрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рдЗрд╡рд╛рдиреЛрд╡ рдП.рд╡реА. рдЧрд╛рдЗрдб рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░реЗрдВред -рдПрд╕рдкреАрдмреА: рдПрд╕рдкреАрдПрд╕рдПрд╕рдпреВ рдЖрдИрдЯреАрдПрдордУ, 2010 - 114 рдПрд╕ред
- рдкреЛрдкреЛрд╡рд╛ рдЯреАред рдПрдоред рдмрд╣реБрдЖрдпрд╛рдореА рдЕрдиреБрдХреВрд▓рди рдХреЗ рддрд░реАрдХреЗ: рджрд┐рд╢рд╛-рдирд┐рд░реНрджреЗрд╢ "рдЕрдиреБрдкреНрд░рдпреБрдХреНрдд рдЧрдгрд┐рдд" / COMP рдХреЗ рдЫрд╛рддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рд╛рд╕рди "рдЕрдиреБрдХреВрд▓рди рдХреЗ рддрд░реАрдХреЗ" рдореЗрдВ рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рджрд┐рд╢рд╛-рдирд┐рд░реНрджреЗрд╢ рдФрд░ рдХрд╛рд░реНрдпред рдЯреАред рдПрдоред рдкреЛрдкреЛрд╡рд╛ - рдЦрд╛рдмрд░реЛрд╡рд╕реНрдХ: рдкрдмреНрд▓рд┐рд╢рд┐рдВрдЧ рд╣рд╛рдЙрд╕ рдСрдл рдж рдкреИрд╕рд┐рдлрд┐рдХред рд░рд╛рдЬреНрдпред рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдп, 2012 ред-- 44 рдкреАред