바이오 대표

[Optimization ] Ackley 그래프 그리기 본문

Mathematical Optimization/Julia

[Optimization ] Ackley 그래프 그리기

바이오 대표 2021. 10. 13. 11:35

 

Ackley function은 minimum, 최적화, 를 찾기위한 테스팅을 위해 만들어내는 local minima 가 많은 그래프이다. 

 

julia> using Plots, PlutoUI

 

julia> begin

           function ackley(x; a=20, b=0.2, c=2π)

               d = length(x)

               return (-a * exp(-b*sqrt(sum(x.^2)/d)) - exp(sum(cos.(c.*x))/d))

           end

           ackley(x...; kwargs...) = ackley(x; kwargs...)

       end

ackley (generic function with 2 methods)

 

julia> ackley(1.0)

3.6171031099813176

 

julia> plot(ackley, -pi, pi, label="Ackley", xlabel="x")