рдХреНрдпрд╛ рд╕реБрджреГрдврд╝реАрдХрд░рдг рд╡рд╛рд▓реЗ рд╢реЗрдпрд░ рдмрд╛рдЬрд╛рд░ рдореЗрдВ рдЯреНрд░реЗрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдЬреЗрдВрдЯ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ? рдЖрд░ рднрд╛рд╖рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди

рдЖрдЗрдП рдПрдХ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╕реБрджреГрдвреАрдХрд░рдг рд╕реАрдЦрдиреЗ рдХрд╛ рдПрдЬреЗрдВрдЯ (рдЖрд░рдПрд▓) рдмрдирд╛рдПрдВ рдЬреЛ рдЯреНрд░реЗрдбрд┐рдВрдЧ рдХреМрд╢рд▓ рдХреЛ рдорд╛рд╕реНрдЯрд░ рдХрд░реЗрдЧрд╛ред

рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЖрд░ рднрд╛рд╖рд╛ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдореИрдВ рдЖрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░реЛрдВ рдХреЛ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рдХрд░реАрдм рдЖрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддрд╛ рд╣реВрдВред

рдпрд╣ рдореЗрд░реЗ рдЕрдВрдЧреНрд░реЗрдЬреА рд▓реЗрдЦ: рдХреИрди рд░реЗрдирдлреЛрд░реНрд╕рдореЗрдВрдЯ рд▓рд░реНрдирд┐рдВрдЧ рдЯреНрд░реЗрдб рд╕реНрдЯреЙрдХ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рд╣реИ? рдЖрд░ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиред

рдореИрдВ рдХреЛрдб рд╣рдВрдЯрд░реНрд╕ рдХреЛ рдЪреЗрддрд╛рд╡рдиреА рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕ рдиреЛрдЯ рдореЗрдВ рдЖрд░ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рдПрдХ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдХ рдХреЛрдб рд╣реИред

рдЕрдЧрд░ рдореИрдВрдиреЗ рдЦреБрдж рдХреЛ рдЕрдЪреНрдЫреЗ рд░реВрд╕реА рдореЗрдВ рдЕрдВрддрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛, рддреЛ рдЧрд▓рддрд┐рдпреЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВ (рдкрд╛рда рдПрдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЕрдиреБрд╡рд╛рджрдХ рдХреА рдорджрдж рд╕реЗ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛)ред

рдЫрд╡рд┐

рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдкрд░рд┐рдЪрдп


рдЫрд╡рд┐

рдореИрдВ рдЖрдкрдХреЛ рдЗрд╕ рд▓реЗрдЦ рдХреЗ рд╕рд╛рде рд╡рд┐рд╖рдп рдореЗрдВ рдЧреЛрддрд╛рдЦреЛрд░реА рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ: рдбреАрдкрдорд╛рдЗрдВрдб

рдпрд╣ рдЖрдкрдХреЛ рдбреАрдк рдХреНрдпреВ-рдиреЗрдЯрд╡рд░реНрдХ (DQN) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╡рд┐рдЪрд╛рд░ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХрд░рд╛рддрд╛ рд╣реИ, рдЬреЛ рдорд╛рд░реНрдХреЛрд╡ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред

рдореИрдВ рд░рд┐рдЪрд░реНрдб рдПрд╕ред рд╕рдЯрди рдФрд░ рдПрдВрдбреНрд░рдпреВ рдЬреЗред рдмрд╛рд░реНрдЯреЛ рджреНрд╡рд╛рд░рд╛ рдЗрд╕ рдкреБрд╕реНрддрдХ рдХреЗ рдкреВрд░реНрд╡рдкреНрд░рдпреЛрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЧрдгрд┐рдд рдореЗрдВ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЬрд╛рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ: рд░реЗрдирд┐рди рдкреНрд░рдореЛрд╢рди 2004

рдиреАрдЪреЗ рдореИрдВ рдореВрд▓ DQN рдХрд╛ рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдкреЗрд╢ рдХрд░реВрдВрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рдЪрд╛рд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬреЛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдЬрд▓реНрджреА рдФрд░ рдХреБрд╢рд▓рддрд╛рдкреВрд░реНрд╡рдХ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН:

рдЕрдиреБрднрд╡ рдкреНрд▓реЗрдмреИрдХ рдмрдлрд░ рд╕реЗ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдЪрдпрди рдХреЗ рд╕рд╛рде рдбреАрдк рдбрдмрд▓ рджреНрд╡рдВрджреНрд╡рдпреБрджреНрдз рд╢реЛрд░ рдПрдирдПрди ред

рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреНрд▓рд╛рд╕рд┐рдХ DQN рд╕реЗ рдмреЗрд╣рддрд░ рдХреНрдпрд╛ рд╣реИ?

  • рдбрдмрд▓: рджреЛ рдиреЗрдЯрд╡рд░реНрдХ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдПрдХ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛ рдХреНрдпреВ рдХреЗ рдирд┐рдореНрди рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рддрд╛ рд╣реИ
  • рджреНрд╡рдВрджреНрд╡рдпреБрджреНрдз: рдРрд╕реЗ рдиреНрдпреВрд░реЙрдиреНрд╕ рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдореВрд▓реНрдп рдФрд░ рд▓рд╛рдн рдХрд░рддреЗ рд╣реИрдВ
  • рд╢реЛрд░: рдордзреНрдпрд╡рд░реНрддреА рдкрд░рддреЛрдВ рдХреЗ рднрд╛рд░ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╢реЛрд░ рдореИрдЯреНрд░реЗрд╕ рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рдорд╛рдзреНрдп рдФрд░ рдорд╛рдирдХ рд╡рд┐рдЪрд▓рди рдХреЛ рд╡рдЬрди рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
  • рдирдореВрдиреЗ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛: рдкреНрд▓реЗрдмреИрдХ рдмрдлрд░ рд╕реЗ рдЕрд╡рд▓реЛрдХрди рдмреИрдЪреЛрдВ рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рд╣реЛрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдкрд┐рдЫрд▓реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╕реЗ рдмрдбрд╝реЗ рдЕрд╡рд╢реЗрд╖реЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рд╕рд╣рд╛рдпрдХ рд╕рд░рдгреА рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЦреИрд░, DQN рдПрдЬреЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рд╡реНрдпрд╛рдкрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рдпрд╣ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рд╖рдп рд╣реИред


рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рдХреНрдпреЛрдВ рд╣реИ рдЗрд╕рдХреЗ рдХрд╛рд░рдг рд╣реИрдВ:

  • рдПрдирдПрди рдХреА рд╕реНрдерд┐рддрд┐, рдХрд╛рд░реНрдпреЛрдВ, рдкреБрд░рд╕реНрдХрд╛рд░ рдФрд░ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреА рдкрд╕рдВрдж рдХреА рдкреВрд░реНрдг рд╕реНрд╡рддрдВрддреНрд░рддрд╛ред рдЖрдк рд╣рд░ рдЪреАрдЬ рдХреЗ рд╕рд╛рде рдкреНрд░рд╡реЗрд╢ рд╕реНрдерд╛рди рдХреЛ рд╕рдореГрджреНрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдЖрдк рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рдпреЛрдЧреНрдп рдорд╛рдирддреЗ рд╣реИрдВ, рд╕рдорд╛рдЪрд╛рд░ рд╕реЗ рд▓реЗрдХрд░ рдЕрдиреНрдп рд╢реЗрдпрд░реЛрдВ рдФрд░ рд╕реВрдЪрдХрд╛рдВрдХреЛрдВ рддрдХред
  • рд╕реБрджреГрдвреАрдХрд░рдг рд╕реАрдЦрдиреЗ рдХреЗ рддрд░реНрдХ рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╛рдкрд╛рд░рд┐рдХ рддрд░реНрдХ рдХрд╛ рдкрддреНрд░рд╛рдЪрд╛рд░ рдпрд╣ рд╣реИ рдХрд┐: рдПрдЬреЗрдВрдЯ рдЕрд╕рддрдд (рдпрд╛ рдирд┐рд░рдВрддрд░) рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд░рддрд╛ рд╣реИ, рд╢рд╛рдпрдж рд╣реА рдХрднреА рдкреБрд░рд╕реНрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рд▓реЗрдирджреЗрди рдмрдВрдж рд╣реЛрдиреЗ рдпрд╛ рдЕрд╡рдзрд┐ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж), рдкрд░реНрдпрд╛рд╡рд░рдг рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдЕрд╡рд▓реЛрдХрди рдпреЛрдЧреНрдп рд╣реИ рдФрд░ рдЕрдЧрд▓реЗ рдЪрд░рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛ рд╕рдХрддреА рд╣реИ, рд╡реНрдпрд╛рдкрд╛рд░ рдПрдХ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЦреЗрд▓ рд╣реИред
  • рдЖрдк рдХрдИ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдЬреИрд╕реЗ рдХрд┐ рдЕрдиреБрдХреНрд░рдорд┐рдд рдФрд░ рддрдХрдиреАрдХреА рдЯреНрд░реЗрдбрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде DQN рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
  • рдПрдЬреЗрдВрдЯ рд▓рдЧрд╛рддрд╛рд░ рдирдИ рдЬрд╛рдирдХрд╛рд░реА рд╕реАрдЦ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЦреЗрд▓ рдХреЗ рдмрджрд▓рддреЗ рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрдХреВрд▓ рд╣реЛрддрд╛ рд╣реИред

рд╕рд╛рдордЧреНрд░реА рдХреЛ рдлреИрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ, рдЗрд╕ рдПрдирдПрди рдХреЗ рдХреЛрдб рдХреЛ рджреЗрдЦреЗрдВ, рдЬрд┐рд╕реЗ рдореИрдВ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреВрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд░рд╣рд╕реНрдпрдордп рднрд╛рдЧреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред

рд╣рдорд╛рд░реЗ рдЖрд░рдПрд▓ рдПрдЬреЗрдВрдЯ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдХреЗрд░рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдореВрд▓реНрдп рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рдЖрд░ рдХреЛрдб


рдХреЛрдб
# configure critic NN ------------ library('keras') library('R6') learning_rate <- 1e-3 state_names_length <- 12 # just for example a_CustomLayer <- R6::R6Class( "CustomLayer" , inherit = KerasLayer , public = list( call = function(x, mask = NULL) { x - k_mean(x, axis = 2, keepdims = T) } ) ) a_normalize_layer <- function(object) { create_layer(a_CustomLayer, object, list(name = 'a_normalize_layer')) } v_CustomLayer <- R6::R6Class( "CustomLayer" , inherit = KerasLayer , public = list( call = function(x, mask = NULL) { k_concatenate(list(x, x, x), axis = 2) } , compute_output_shape = function(input_shape) { output_shape = input_shape output_shape[[2]] <- input_shape[[2]] * 3L output_shape } ) ) v_normalize_layer <- function(object) { create_layer(v_CustomLayer, object, list(name = 'v_normalize_layer')) } noise_CustomLayer <- R6::R6Class( "CustomLayer" , inherit = KerasLayer , lock_objects = FALSE , public = list( initialize = function(output_dim) { self$output_dim <- output_dim } , build = function(input_shape) { self$input_dim <- input_shape[[2]] sqr_inputs <- self$input_dim ** (1/2) self$sigma_initializer <- initializer_constant(.5 / sqr_inputs) self$mu_initializer <- initializer_random_uniform(minval = (-1 / sqr_inputs), maxval = (1 / sqr_inputs)) self$mu_weight <- self$add_weight( name = 'mu_weight', shape = list(self$input_dim, self$output_dim), initializer = self$mu_initializer, trainable = TRUE ) self$sigma_weight <- self$add_weight( name = 'sigma_weight', shape = list(self$input_dim, self$output_dim), initializer = self$sigma_initializer, trainable = TRUE ) self$mu_bias <- self$add_weight( name = 'mu_bias', shape = list(self$output_dim), initializer = self$mu_initializer, trainable = TRUE ) self$sigma_bias <- self$add_weight( name = 'sigma_bias', shape = list(self$output_dim), initializer = self$sigma_initializer, trainable = TRUE ) } , call = function(x, mask = NULL) { #sample from noise distribution e_i = k_random_normal(shape = list(self$input_dim, self$output_dim)) e_j = k_random_normal(shape = list(self$output_dim)) #We use the factorized Gaussian noise variant from Section 3 of Fortunato et al. eW = k_sign(e_i) * (k_sqrt(k_abs(e_i))) * k_sign(e_j) * (k_sqrt(k_abs(e_j))) eB = k_sign(e_j) * (k_abs(e_j) ** (1/2)) #See section 3 of Fortunato et al. noise_injected_weights = k_dot(x, self$mu_weight + (self$sigma_weight * eW)) noise_injected_bias = self$mu_bias + (self$sigma_bias * eB) output = k_bias_add(noise_injected_weights, noise_injected_bias) output } , compute_output_shape = function(input_shape) { output_shape <- input_shape output_shape[[2]] <- self$output_dim output_shape } ) ) noise_add_layer <- function(object, output_dim) { create_layer( noise_CustomLayer , object , list( name = 'noise_add_layer' , output_dim = as.integer(output_dim) , trainable = T ) ) } critic_input <- layer_input( shape = c(as.integer(state_names_length)) , name = 'critic_input' ) common_layer_dense_1 <- layer_dense( units = 20 , activation = "tanh" ) critic_layer_dense_v_1 <- layer_dense( units = 10 , activation = "tanh" ) critic_layer_dense_v_2 <- layer_dense( units = 5 , activation = "tanh" ) critic_layer_dense_v_3 <- layer_dense( units = 1 , name = 'critic_layer_dense_v_3' ) critic_layer_dense_a_1 <- layer_dense( units = 10 , activation = "tanh" ) # critic_layer_dense_a_2 <- layer_dense( # units = 5 # , activation = "tanh" # ) critic_layer_dense_a_3 <- layer_dense( units = length(acts) , name = 'critic_layer_dense_a_3' ) critic_model_v <- critic_input %>% common_layer_dense_1 %>% critic_layer_dense_v_1 %>% critic_layer_dense_v_2 %>% critic_layer_dense_v_3 %>% v_normalize_layer critic_model_a <- critic_input %>% common_layer_dense_1 %>% critic_layer_dense_a_1 %>% #critic_layer_dense_a_2 %>% noise_add_layer(output_dim = 5) %>% critic_layer_dense_a_3 %>% a_normalize_layer critic_output <- layer_add( list( critic_model_v , critic_model_a ) , name = 'critic_output' ) critic_model_1 <- keras_model( inputs = critic_input , outputs = critic_output ) critic_optimizer = optimizer_adam(lr = learning_rate) keras::compile( critic_model_1 , optimizer = critic_optimizer , loss = 'mse' , metrics = 'mse' ) train.x <- rnorm(state_names_length * 10) train.x <- array(train.x, dim = c(10, state_names_length)) predict(critic_model_1, train.x) layer_name <- 'noise_add_layer' intermediate_layer_model <- keras_model(inputs = critic_model_1$input, outputs = get_layer(critic_model_1, layer_name)$output) predict(intermediate_layer_model, train.x)[1,] critic_model_2 <- critic_model_1 


рдореИрдВрдиреЗ рдЗрд╕ рд╕реНрд░реЛрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╢реЛрд░ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рдкрд╛рдпрдерди рдХреЛрдб рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдерд╛: рдЬреАрдердм рд░реЗрдкреЛ

рдпрд╣ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

рдЫрд╡рд┐

рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рджреНрд╡рдВрджреНрд╡рдпреБрджреНрдз рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдореЗрдВ рд╣рдо рд╕рдорд╛рдирддрд╛ (рд╕рдореАрдХрд░рдг 1) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ:

рдХреНрдпреВ = рдП '+ рд╡реА, рдЬрд╣рд╛рдВ

рдП '= рдП - рдПрд╡реАрдЬреА (рдП);

рдХреНрдпреВ = рд░рд╛рдЬреНрдп-рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд╛ рдореВрд▓реНрдп;

рд╡реА = рд░рд╛рдЬреНрдп рдореВрд▓реНрдп;

рдП = рдлрд╛рдпрджрд╛ред

рдХреЛрдб рдореЗрдВ рдЕрдиреНрдп рдЪрд░ рдЦреБрдж рдХреЗ рд▓рд┐рдП рдмреЛрд▓рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗрд╡рд▓ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдкреНрд░рджрд╛рди рди рдХрд░реЗрдВред

рдмрд╛рдХреА рдХреЛрдб рдкреНрд░рдХрд╛рд╢рди рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рд╣реЛрдВрдЧреЗ, рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рд▓рд┐рдЦрдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ред

рдФрд░ рдЕрдм - рдкреНрд░рдпреЛрдЧреЛрдВред рдПрдЬреЗрдВрдЯ рдХреЗ рдХрд╛рдо рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдПрдХ рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд╣рд╛рдВ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмреНрд░реЛрдХрд░ рдХреЗ рд╕рд╛рде рд▓рд╛рдЗрд╡ рдорд╛рд░реНрдХреЗрдЯ рдореЗрдВ рдЯреНрд░реЗрдбрд┐рдВрдЧ рдХреА рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛рдУрдВ рд╕реЗ рджреВрд░ рдерд╛ред

рдЪрд░рдг I


рд╣рдо рдЕрдкрдиреЗ рдПрдЬреЗрдВрдЯ рдХреЛ рд╕рд┐рдВрдереЗрдЯрд┐рдХ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЗ рдЦрд┐рд▓рд╛рдл рдЪрд▓рд╛рддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рд▓реЗрдирджреЗрди рдХреА рд▓рд╛рдЧрдд 0.5 рд╣реИ:

рдЫрд╡рд┐

рдкрд░рд┐рдгрд╛рдо рдЙрддреНрдХреГрд╖реНрдЯ рд╣реИред рдЗрд╕ рдкреНрд░рдпреЛрдЧ рдореЗрдВ рдЕрдзрд┐рдХрддрдо рдФрд╕рдд рдПрдкрд┐рд╕реЛрдб
1.5 рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЫрд╡рд┐

рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ: рдЖрд▓реЛрдЪрдирд╛ рдХрд╛ рдиреБрдХрд╕рд╛рди (рдЕрднрд┐рдиреЗрддрд╛-рдЖрд▓реЛрдЪрдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ рддрдерд╛рдХрдерд┐рдд рдореВрд▓реНрдп рдиреЗрдЯрд╡рд░реНрдХ), рдПрдХ рдПрдкрд┐рд╕реЛрдб рдХреЗ рд▓рд┐рдП рдФрд╕рдд рдкреБрд░рд╕реНрдХрд╛рд░, рд╕рдВрдЪрд┐рдд рдЗрдирд╛рдо, рд╣рд╛рд▓ рдХреЗ рдкреБрд░рд╕реНрдХрд╛рд░реЛрдВ рдХрд╛ рдирдореВрдирд╛ред

рджреНрд╡рд┐рддреАрдп рдЪрд░рдг


рд╣рдо рдЕрдкрдиреЗ рдПрдЬреЗрдВрдЯ рдХреЛ рдПрдХ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рдЪреБрдиреЗ рдЧрдП рд╕реНрдЯреЙрдХ рдкреНрд░рддреАрдХ рд╕рд┐рдЦрд╛рддреЗ рд╣реИрдВ рдЬреЛ рджрд┐рд▓рдЪрд╕реНрдк рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ: рдПрдХ рд╕рдкрд╛рдЯ рд╢реБрд░реБрдЖрдд, рдмреАрдЪ рдореЗрдВ рддреЗрдЬреА рд╕реЗ рд╡рд┐рдХрд╛рд╕ рдФрд░ рдПрдХ рдиреАрд░рд╕ рдЕрдВрддред рд╣рдорд╛рд░реЗ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХрд┐рдЯ рдореЗрдВ рд▓рдЧрднрдЧ 4300 рджрд┐рдиред рд▓реЗрдирджреЗрди рдХреА рд▓рд╛рдЧрдд 0.1 рдЕрдореЗрд░рд┐рдХреА рдбреЙрд▓рд░ (рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ рдХрдо) рдкрд░ рд╕реЗрдЯ рд╣реИ; рдЗрдирд╛рдо 1.0 рд╢реЗрдпрд░ рдЦрд░реАрджрдиреЗ / рдмреЗрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реМрджреЗ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдпреВрдПрд╕рдбреА рдкреНрд░реЙрдлрд┐рдЯ / рд▓реЙрд╕ рд╣реИред

рд╕реНрд░реЛрдд: Finance.yahoo.com/quote/algn?ltr=1

рдЫрд╡рд┐

NASDAQ: ALGN

рдХреБрдЫ рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж (рдПрдирдПрди рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЛ рдЙрд╕реА рддрд░рд╣ рдЫреЛрдбрд╝рдХрд░), рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рдгрд╛рдо рдкрд░ рдЖрдП:

рдЫрд╡рд┐

рдпрд╣ рдмреБрд░рд╛ рдирд╣реАрдВ рдирд┐рдХрд▓рд╛, рдХреНрдпреЛрдВрдХрд┐ рдЕрдВрдд рдореЗрдВ рдПрдЬреЗрдВрдЯ рдиреЗ рдЕрдкрдиреЗ рдХрдВрд╕реЛрд▓ рдкрд░ рддреАрди рдмрдЯрди рджрдмрд╛рдХрд░ рд▓рд╛рдн рдХрдорд╛рдирд╛ рд╕реАрдЦрд╛ред

рдЫрд╡рд┐

рд▓рд╛рд▓ рдорд╛рд░реНрдХрд░ = рдмреЗрдЪрдирд╛, рд╣рд░рд╛ рдорд╛рд░реНрдХрд░ = рдЦрд░реАрджрдирд╛, рдЧреНрд░реЗ рдорд╛рд░реНрдХрд░ = рдХреБрдЫ рдирд╣реАрдВ рдХрд░рдирд╛ред

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЕрдкрдиреЗ рдЪрд░рдо рдкрд░, рдкреНрд░рддрд┐ рдПрдкрд┐рд╕реЛрдб рдФрд╕рдд рдкреНрд░рддрд┐рдлрд▓ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд▓реЗрдирджреЗрди рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд▓реЗрдирджреЗрди рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдпрд╣ рдЕрдлрд╝рд╕реЛрд╕ рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рдмреБрд░реА рдЦрд╝рдмрд░реЛрдВ рдХреЗ рдЪрд▓рддреЗ рд╕реНрдЯреЙрдХ рдкрд╛рдЧрд▓реЛрдВ рдХреА рддрд░рд╣ рдЧрд┐рд░ рд░рд╣реЗ рд╣реИрдВ ...

рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдЫреЛрдбрд╝рдХрд░


рдЖрд░рдПрд▓ рдХреЗ рд╕рд╛рде рд╡реНрдпрд╛рдкрд╛рд░ рди рдХреЗрд╡рд▓ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдмрд▓реНрдХрд┐ рдЙрдкрдпреЛрдЧреА рднреА рд╣реИред рдЬрдм рдЖрдкрдХрд╛ рд░реЛрдмреЛрдЯ рдЖрдкрд╕реЗ рдмреЗрд╣рддрд░ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╢рд┐рдХреНрд╖рд╛ рдФрд░ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕рдордп рдмрд┐рддрд╛рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред

рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдпрд╛рддреНрд░рд╛ рдереАред рдпрджрд┐ рдЖрдкрдХреЛ рдпрд╣ рдХрд╣рд╛рдиреА рдкрд╕рдВрдж рдЖрдИ рд╣реИ, рддреЛ рдЕрдкрдирд╛ рд╣рд╛рде рдмрдврд╝рд╛рдПрдВред рдпрджрд┐ рдмрд╣реБрдд рд░реБрдЪрд┐ рд╣реИ, рддреЛ рдореИрдВ рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдЖрдкрдХреЛ рджрд┐рдЦрд╛ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдиреАрддрд┐ рдврд╛рд▓ рддрд░реАрдХреЗ рдЖрд░ рднрд╛рд╖рд╛ рдФрд░ рдХреЗрд░рд╕ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред

рдореИрдВ рдЕрдкрдиреЗ рдЙрди рджреЛрд╕реНрддреЛрдВ рдХреЛ рднреА рдзрдиреНрдпрд╡рд╛рдж рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ рдЕрдкрдиреА рд╕рд▓рд╛рд╣ рдХреЗ рд▓рд┐рдП рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред

рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрднреА рднреА рдкреНрд░рд╢реНрди рд╣реИрдВ, рддреЛ рдореИрдВ рд╣рдореЗрд╢рд╛ рдпрд╣рд╛рдВ рд╣реВрдВред

Source: https://habr.com/ru/post/hi433182/


All Articles