Foraging for resources is a ubiquitous activity conducted by living organisms in a shared environment to maintain their homeostasis. Modelling multi-agent foraging in-silico allows us to study both individual and collective emergent behaviour in a tractable manner. Agent-based modelling has proven to be effective in simulating such tasks, though scaling the simulations to accommodate large numbers of agents with complex dynamics remains challenging. In this work, we present Foragax, a general-purpose, scalable, hardware-accelerated, multi-agent foraging toolkit. Leveraging the JAX library, our toolkit can simulate thousands of agents foraging in a common environment, in an end-to-end vectorized and differentiable manner. The toolkit provides agent-based modelling tools to model various foraging tasks, including options to design custom spatial and temporal agent dynamics, control policies, sensor models, and boundary conditions. Further, the number of agents during such simulations can be increased or decreased based on custom rules. While applied to foraging, the toolkit can also be used to model and simulate a wide range of other multi-agent scenarios.
рдкреЗрдкрд░ ID : 2409.06345рд╢реАрд░реНрд╖рдХ : Foragax: JAX рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдЬреЗрдВрдЯ-рдЖрдзрд╛рд░рд┐рдд рдореЙрдбрд▓рд┐рдВрдЧ рдлреНрд░реЗрдорд╡рд░реНрдХрд▓реЗрдЦрдХ : рд╕рд┐рджреНрдзрд╛рд░реНрде рдЪрддреБрд░реНрд╡реЗрджреА, рдЕрд╣рдордж рдЕрд▓-рдЧрдЬрд╝реНрдЬрд╝рд╛рд░, рдорд╛рд░реНрд╕реЗрд▓ рд╡реИрди рдЧреЗрд░реНрд╡реЗрди (рд░рд╛рдбрдмрд╛рдЙрдб рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдп)рд╡рд░реНрдЧреАрдХрд░рдг : cs.MA (рдмрд╣реБ-рдПрдЬреЗрдВрдЯ рдкреНрд░рдгрд╛рд▓рд┐рдпрд╛рдБ)рдкреНрд░рдХрд╛рд╢рди рд╕рдордп : рд╕рд┐рддрдВрдмрд░ 2024 (arXiv рдкреНрд░реАрдкреНрд░рд┐рдВрдЯ)рдкреЗрдкрд░ рд▓рд┐рдВрдХ : https://arxiv.org/abs/2409.06345 рдХреЛрдб рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА : https://github.com/i-m-iron-man/Foragax.git рднреЛрдЬрди рдЦреЛрдЬ рдЬреАрд╡реЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рд╛рдЭрд╛ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╣реЛрдорд┐рдпреЛрд╕реНрдЯреЗрд╕рд┐рд╕ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдПрдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдЧрддрд┐рд╡рд┐рдзрд┐ рд╣реИред рдХрдВрдкреНрдпреВрдЯреЗрд╢рдирд▓ рдореЙрдбрд▓рд┐рдВрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрд╣реБ-рдПрдЬреЗрдВрдЯ рднреЛрдЬрди рдЦреЛрдЬ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдХреЗ, рд╡реНрдпрдХреНрддрд┐рдЧрдд рдФрд░ рд╕рд╛рдореВрд╣рд┐рдХ рдЙрджреНрднрд╡рд╢реАрд▓ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд╕реБрдЧрдо рддрд░реАрдХреЗ рд╕реЗ рд╕рдордЭрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдПрдЬреЗрдВрдЯ рдореЙрдбрд▓рд┐рдВрдЧ рдРрд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЕрдиреБрдХрд░рдг рдореЗрдВ рдкреНрд░рднрд╛рд╡реА рд╕рд╛рдмрд┐рдд рд╣реБрдИ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдЯрд┐рд▓ рдЧрддрд┐рд╡рд┐рдзрд┐ рд╡рд╛рд▓реЗ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдПрдЬреЗрдВрдЯреЛрдВ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рдореБрд▓реЗрд╢рди рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рдЕрднреА рднреА рдЪреБрдиреМрддреАрдкреВрд░реНрдг рд╣реИред рдпрд╣ рдкреЗрдкрд░ Foragax рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИ - рдПрдХ рд╕рд╛рдорд╛рдиреНрдп, рд╕реНрдХреЗрд▓реЗрдмрд▓, рд╣рд╛рд░реНрдбрд╡реЗрдпрд░-рддреНрд╡рд░рд┐рдд рдмрд╣реБ-рдПрдЬреЗрдВрдЯ рднреЛрдЬрди рдЦреЛрдЬ рдЯреВрд▓рдХрд┐рдЯред JAX рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдпрд╣ рдЯреВрд▓рдХрд┐рдЯ рд╕рд╛рдЭрд╛ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╣рдЬрд╛рд░реЛрдВ рдПрдЬреЗрдВрдЯреЛрдВ рдХреА рднреЛрдЬрди рдЦреЛрдЬ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдЕрдВрдд-рд╕реЗ-рдЕрдВрдд рд╡реЗрдХреНрдЯрд░реАрдХреГрдд рдФрд░ рдЕрд╡рдХрд▓рдиреАрдп рддрд░реАрдХреЗ рд╕реЗ рдЕрдиреБрдХрд░рдг рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЯреВрд▓рдХрд┐рдЯ рдПрдЬреЗрдВрдЯ рдореЙрдбрд▓рд┐рдВрдЧ рдЙрдкрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рднреЛрдЬрди рдЦреЛрдЬ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдореЙрдбрд▓ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдХрд╕реНрдЯрдо рд╕реНрдерд╛рдирд┐рдХ рдФрд░ рдЕрд╕реНрдерд╛рдпреА рдПрдЬреЗрдВрдЯ рдЧрддрд┐рд╡рд┐рдзрд┐, рдирд┐рдпрдВрддреНрд░рдг рд░рдгрдиреАрддрд┐рдпрд╛рдБ, рд╕реЗрдВрд╕рд░ рдореЙрдбрд▓ рдФрд░ рд╕реАрдорд╛ рд╢рд░реНрддреЗрдВ рдбрд┐рдЬрд╛рдЗрди рдХрд░рдиреЗ рдХреЗ рд╡рд┐рдХрд▓реНрдк рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рд┐рдореБрд▓реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рдХрд╕реНрдЯрдо рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдПрдЬреЗрдВрдЯреЛрдВ рдХреЛ рдЬреЛрдбрд╝рд╛ рдпрд╛ рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджреНрдпрдкрд┐ рднреЛрдЬрди рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╣ рдЯреВрд▓рдХрд┐рдЯ рд╡рд┐рднрд┐рдиреНрди рдЕрдиреНрдп рдмрд╣реБ-рдПрдЬреЗрдВрдЯ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рдореЙрдбрд▓рд┐рдВрдЧ рдФрд░ рд╕рд┐рдореБрд▓реЗрд╢рди рдХреЗ рд▓рд┐рдП рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рднреЛрдЬрди рдЦреЛрдЬ рд╕рднреА рдЬреАрд╡реЛрдВ рджреНрд╡рд╛рд░рд╛ рдЬреАрд╡рд┐рдд рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд▓ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕рдмрд╕реЗ рдкреБрд░рд╛рдиреА рдФрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡реНрдпрд╡рд╣рд╛рд░ рдЕрдиреБрдХреВрд▓рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рд╕рдмрд╕реЗ рд╕рд░рд▓ рдмреИрдХреНрдЯреАрд░рд┐рдпрд╛ рд╕реЗ рд▓реЗрдХрд░ рдЕрддреНрдпрдзрд┐рдХ рд╕рд╛рдорд╛рдЬрд┐рдХ рдкреНрд░рд╛рдЗрдореЗрдЯ рддрдХ, рдХреБрд╢рд▓ рднреЛрдЬрди рдЦреЛрдЬ рдХреАы│╕ыКерд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕рднреА рдЪрд░рдгреЛрдВ рдореЗрдВ рд╡реНрдпрд╛рдкрдХ рд╣реИред рдкреНрд░рдХреГрддрд┐ рдореЗрдВ рднреЛрдЬрди рдЦреЛрдЬ рдореВрд▓рддрдГ рдПрдХ рдмрд╣реБ-рдПрдЬреЗрдВрдЯ рдЧрддрд┐рд╡рд┐рдзрд┐ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрд╕рдиреНрди рдЬреАрд╡ рдПрдХ рд╣реА рднреЛрдЬрди рдЦреЛрдЬ рд╡рд╛рддрд╛рд╡рд░рдг рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╣реИрдВред
рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА рд╕рдорд╕реНрдпрд╛ : рдкрд╛рд░рдВрдкрд░рд┐рдХ рдПрдЬреЗрдВрдЯ рдореЙрдбрд▓рд┐рдВрдЧ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдПрдЬреЗрдВрдЯреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рддреЗ рд╕рдордп рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рдмрд╛рдзрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИрдЬреИрд╡рд┐рдХ рдпрдерд╛рд░реНрдерд╡рд╛рдж рдХреА рдХрдореА : рдореМрдЬреВрджрд╛ рд╕рд┐рдореБрд▓реЗрд╢рди рдореЗрдВ рдПрдЬреЗрдВрдЯреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рд╕реАрдорд╛ рдкреНрд░рдХреГрддрд┐ рдореЗрдВ рджреЗрдЦреЗ рдЧрдП рднреЛрдЬрди рдЦреЛрдЬ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд╕рд╛рде рдЕрд╕рдВрдЧрддрд┐ рдХрд╛ рдХрд╛рд░рдг рдмрдирддреА рд╣реИрдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рдЬрдЯрд┐рд▓рддрд╛ : рдкреНрд░рддреНрдпреЗрдХ рдПрдЬреЗрдВрдЯ рдХреА рд╕реНрдерд┐рддрд┐ рдЕрдиреНрдп рд╕рднреА рдПрдЬреЗрдВрдЯреЛрдВ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ, рдПрдЬреЗрдВрдЯреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝рдиреЗ рдХреЗ рд╕рд╛рде рд╕рд┐рдореБрд▓реЗрд╢рди рдЕрддреНрдпрдВрдд рдХрдард┐рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИрд▓реЗрдЦрдХреЛрдВ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рднреЛрдЬрди рдЦреЛрдЬ рдХрд╛рд░реНрдп рдореЙрдбрд▓рд░реНрд╕ рдХреЛ рдПрдХ рд╣реА рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдПрдХ рд╕рд╛рде рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ (рд╣рдЬрд╛рд░реЛрдВ) рдореЗрдВ рдПрдЬреЗрдВрдЯреЛрдВ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╣реИред рдпрд╣ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рд╕рд┐рдореБрд▓реЗрд╢рди рдХреНрд╖рдорддрд╛ рдЬрдЯрд┐рд▓ рд╕рд╛рдореВрд╣рд┐рдХ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рдЙрджреНрднрд╡ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдФрд░ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рдЕрдиреБрд╕рдВрдзрд╛рди рдФрд░ рдкреНрд░рд╛рдХреГрддрд┐рдХ рдЕрд╡рд▓реЛрдХрди рдХреЗ рдмреАрдЪ рдХреА рдЦрд╛рдИ рдХреЛ рдХрдо рдХрд░ рд╕рдХрддреА рд╣реИред
Foragax рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ : JAX рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рд╕рд╛рдорд╛рдиреНрдп, рд╕реНрдХреЗрд▓реЗрдмрд▓, рд╣рд╛рд░реНрдбрд╡реЗрдпрд░-рддреНрд╡рд░рд┐рдд рдмрд╣реБ-рдПрдЬреЗрдВрдЯ рднреЛрдЬрди рдЦреЛрдЬ рдореЙрдбрд▓рд┐рдВрдЧ рдЯреВрд▓рдХрд┐рдЯрдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рд╕рдорд╛рдирд╛рдВрддрд░ рд╕рд┐рдореБрд▓реЗрд╢рди рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди : рдЕрдВрдд-рд╕реЗ-рдЕрдВрдд рд╡реЗрдХреНрдЯрд░реАрдХрд░рдг рд╡рд┐рдзрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣рдЬрд╛рд░реЛрдВ рдПрдЬреЗрдВрдЯреЛрдВ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛рд▓рдЪреАрд▓рд╛ рдореЙрдбрд▓рд┐рдВрдЧ рдЗрдВрдЯрд░рдлреЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ : рдХрд╕реНрдЯрдо рд╕реНрдерд╛рдирд┐рдХ рдФрд░ рдЕрд╕реНрдерд╛рдпреА рдЧрддрд┐рд╡рд┐рдзрд┐, рдирд┐рдпрдВрддреНрд░рдг рд░рдгрдиреАрддрд┐рдпрд╛рдБ, рд╕реЗрдВрд╕рд░ рдореЙрдбрд▓ рдФрд░ рд╕реАрдорд╛ рд╢рд░реНрддреЛрдВ рдХрд╛ рд╕рдорд░реНрдердирдЧрддрд┐рд╢реАрд▓ рдПрдЬреЗрдВрдЯ рдкреНрд░рдмрдВрдзрди рдХрд╛ рд╕рдорд░реНрдерди : рд╕рд┐рдореБрд▓реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рдХрд╕реНрдЯрдо рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдПрдЬреЗрдВрдЯреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдпрд╛ рд╣рдЯрд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛рдЧреИрд░-рдПрдкрд┐рд╕реЛрдбрд┐рдХ рдирд┐рд░рдВрддрд░ рд╕рд┐рдореБрд▓реЗрд╢рди рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди : рд╡рд╛рддрд╛рд╡рд░рдг рдФрд░ рдПрдЬреЗрдВрдЯ рд╕реНрдерд┐рддрд┐ рдХреЛ рд░реАрд╕реЗрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рджреАрд░реНрдШрдХрд╛рд▓реАрди рд╕рд┐рдореБрд▓реЗрд╢рди рдХрд╛ рд╕рдорд░реНрдердиForagax рд╕рд╛рдЭрд╛ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдПрдЬреЗрдВрдЯреЛрдВ рдХреА рднреЛрдЬрди рдЦреЛрдЬ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИ, рдЬрдмрдХрд┐ рд╣реЛрдорд┐рдпреЛрд╕реНрдЯреЗрд╕рд┐рд╕ рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИред рдХрд╛рд░реНрдп рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
рдЗрдирдкреБрдЯ : рдПрдЬреЗрдВрдЯ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд┐рддрд┐, рд╡рд╛рддрд╛рд╡рд░рдг рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди, рд╕рдВрд╕рд╛рдзрди рд╡рд┐рддрд░рдгрдЖрдЙрдЯрдкреБрдЯ : рдПрдЬреЗрдВрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рдкреНрд░рдХреНрд╖реЗрдкрд╡рдХреНрд░, рд╕рд╛рдореВрд╣рд┐рдХ рдЙрджреНрднрд╡рд╢реАрд▓ рд╡реНрдпрд╡рд╣рд╛рд░ рдкреИрдЯрд░реНрдирдмрд╛рдзрд╛рдПрдБ : рд╕рдВрд╕рд╛рдзрди рд╕реАрдорд┐рддрддрд╛, рдПрдЬреЗрдВрдЯ рдЕрдВрддрдГрдХреНрд░рд┐рдпрд╛, рд╡рд╛рддрд╛рд╡рд░рдг рд╕реАрдорд╛ рд╢рд░реНрддреЗрдВForagax рдкрд╛рдБрдЪ рдореБрдЦреНрдп рдЕрдореВрд░реНрддрддрд╛ рд╕реНрддрд░реЛрдВ рдХреЗ рд╡рд░реНрдЧ рдбрд┐рдЬрд╛рдЗрди рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ:
рд╕реНрдерд┐рддрд┐ рдЪрд░ рдФрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рдореБрдЪреНрдЪрдп рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдПрдЬреЗрдВрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрдИ рдореЙрдбрд▓реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ: рд╡рд┐рд▓реНрд╕рди-рдХреЛрд╡рд╛рди рдореЙрдбрд▓, рдкреБрдирд░рд╛рд╡рд░реНрддреА рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ, рдмрд╣реБ-рдкрд░рдд рдкрд░рд╕реЗрдкреНрдЯреНрд░реЙрди рдирд┐рдпрддрд╛рддреНрдордХ рдпрд╛ рд╕реНрдЯреЛрдХреЗрд╕реНрдЯрд┐рдХ рдкреНрд░рдХреГрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдореЙрдбрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рд╕реНрдерд┐рддрд┐ рдЪрд░ рдФрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рдореБрдЪреНрдЪрдп рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд╕реНрдЯрдо рдЕрд╕реНрдерд╛рдпреА рдФрд░ рд╕реНрдерд╛рдирд┐рдХ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдЕрджреНрд╡рд┐рддреАрдп рд╕реВрдЪрдХрд╛рдВрдХ рдФрд░ рд╕рдХреНрд░рд┐рдп рд╕реНрдерд┐рддрд┐ (1 рд╕рдХреНрд░рд┐рдп рдХреЗ рд▓рд┐рдП, 0 рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХреЗ рд▓рд┐рдП) рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИ рдЧрддрд┐рд╡рд┐рдзрд┐ рдЗрд╕рдХреА рдиреАрддрд┐ рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ рдПрдЬреЗрдВрдЯреЛрдВ рдХрд╛ рд╕рдореБрдЪреНрдЪрдп рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд╕рднреА рдПрдЬреЗрдВрдЯ рд╕рдорд╛рди рд╕реНрдерд┐рддрд┐ рдЪрд░, рдкреИрд░рд╛рдореАрдЯрд░ рдФрд░ рдиреАрддрд┐ рд╕рдВрд░рдЪрдирд╛ рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╣реИрдВ рдЪрдпрди, рдЫрдБрдЯрд╛рдИ, рдПрдЬреЗрдВрдЯ рдЬреЛрдбрд╝рдиреЗ рдпрд╛ рд╣рдЯрд╛рдиреЗ рдХреА рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рд╢реВрдиреНрдп рдкреИрдбрд┐рдВрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдЖрдХрд╛рд░ рдХреЛ рд╕реНрдерд┐рд░ рд░рдЦрддрд╛ рд╣реИ, JAX рдХреЗ JIT рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╡реЗрдХреНрдЯрд░реАрдХрд░рдг рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИ рдиреАрддрд┐ рдФрд░ рдПрдЬреЗрдВрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдЯреНрдпреВрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рд╕рдореБрдЪреНрдЪрдп рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ-рдореБрдХреНрдд рддрдВрддреНрд░рд┐рдХрд╛ рд╡рд┐рдХрд╛рд╕ рд╡рд┐рдзрд┐ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ-рдЖрдзрд╛рд░рд┐рдд рд╕реБрджреГрдврд╝ рд╢рд┐рдХреНрд╖рдг рд╡рд┐рдзрд┐рдпреЛрдВ рддрдХ рд╡рд┐рд╕реНрддрд╛рд░ рдХреА рдпреЛрдЬрдирд╛ рд╣реИ рдХрд╕реНрдЯрдо рд╕реАрдорд╛ рд╢рд░реНрддреЛрдВ рдФрд░ рджреАрд╡рд╛рд░ рдкреНрд▓реЗрд╕рдореЗрдВрдЯ рдХреЗ рд╕рд╛рде рднреЛрдЬрди рдЦреЛрдЬ рд╡рд╛рддрд╛рд╡рд░рдг рдбрд┐рдЬрд╛рдЗрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЯрдХрд░рд╛рд╡ рдкрд╣рдЪрд╛рди рдХреЗ рд▓рд┐рдП рд░реЗ-рдХрд╛рд╕реНрдЯрд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ JAX рдХреЗ рддрддреНрдХрд╛рд▓ рд╕рдВрдХрд▓рди (JIT) рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╡реЗрдХреНрдЯрд░реАрдХрд░рдг (AV) рдХрд╛ рд▓рд╛рдн рдЙрдард╛рддрд╛ рд╣реИ рдЕрдВрдд-рд╕реЗ-рдЕрдВрдд рд╡реЗрдХреНрдЯрд░реАрдХреГрдд рдФрд░ рдЕрд╡рдХрд▓рдиреАрдп рдХрдореНрдкреНрдпреВрдЯреЗрд╢рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рддреНрд╡рд░рдг (GPU/TPU) рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдЕрдзрд┐рдХрддрдо рдЖрдХрд╛рд░ рдХреЗ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдкреВрд░реНрд╡-рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдХреЗ рд╢реВрдиреНрдп рдкреИрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдерд┐рд░ рдЖрдХрд╛рд░ рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИ рдПрдЬреЗрдВрдЯ рд╕рдореБрдЪреНрдЪрдп рд╕рдВрдЪрд╛рд▓рди рдореЗрдВ JAX рдЕрдиреБрдХреВрд▓рди рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИ рд╡рд╛рддрд╛рд╡рд░рдг рдФрд░ рдПрдЬреЗрдВрдЯ рд╕реНрдерд┐рддрд┐ рдХреЛ рд░реАрд╕реЗрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬрдирд╕рдВрдЦреНрдпрд╛ рдЖрдХрд╛рд░ рдореЗрдВ рдЙрддрд╛рд░-рдЪрдврд╝рд╛рд╡ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдЦреБрд▓реА-рдЕрдВрдд рдЕрдиреБрдХреВрд▓рди рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рдЙрджреНрднрд╡ рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗрддрд╛ рд╣реИ рдПрдЬреЗрдВрдЯ рд╕рдВрдЦреНрдпрд╛ : 1000 рдПрдЬреЗрдВрдЯрддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдЖрдХрд╛рд░ : рдкреНрд░рддреНрдпреЗрдХ рдПрдЬреЗрдВрдЯ рдХреЗ рд▓рд┐рдП 50 рдиреНрдпреВрд░реЙрди рдХрд╛ рджрд░-рдЖрдзрд╛рд░рд┐рдд рддрдВрддреНрд░рд┐рдХрд╛ рдЬрдирд╕рдВрдЦреНрдпрд╛ рдореЙрдбрд▓рд╕рдВрд╕рд╛рдзрди рд╕рдВрдЦреНрдпрд╛ : 300 рд╕рдВрд╕рд╛рдзрди рдкреИрдЪрд╕рд┐рдореБрд▓реЗрд╢рди рдЪрд░рдг : 10 рд▓рд╛рдЦ рдЪрд░рдгрдХрдореНрдкреНрдпреВрдЯрд┐рдВрдЧ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо : рдХреНрд▓рд╕реНрдЯрд░ рдХрдВрдкреНрдпреВрдЯрд░рд╕рдВрд╕рд╛рдзрди рдореВрд▓реНрдп рд▓реЛрдЯрдХрд╛-рд╡реЛрд▓реНрдЯреЗрд░рд╛ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реИ:
с╣бn = ╧╡sn - ╬▒s┬▓n - ╬г w(xn, xm)
рдЬрд╣рд╛рдБ:
╧╡ рдФрд░ ╬▒ рдХреНрд░рдорд╢рдГ рд╕рдВрд╕рд╛рдзрди рдХреА рд╡реГрджреНрдзрд┐ рдФрд░ рдХреНрд╖рдп рджрд░ рд╣реИрдВ w(xn, xm) nрд╡реЗрдВ рд╕рдВрд╕рд╛рдзрди рд╕реНрдерд┐рддрд┐ xn рдФрд░ mрд╡реЗрдВ рдПрдЬреЗрдВрдЯ рд╕реНрдерд┐рддрд┐ xm рдХреЗ рдмреАрдЪ рджреВрд░реА рдХреЗ рд╡реНрдпреБрддреНрдХреНрд░рдорд╛рдиреБрдкрд╛рддреА рдлрд▓рди рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдПрдЬреЗрдВрдЯ рд╕реНрдерд┐рддрд┐ рдФрд░ рд╡реЗрдЧ рджреЛрд╣рд░реЗ рд╕рдорд╛рдХрд▓рдХ рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ:
q╠Зm = [0 1; 0 0]qm + [0; 1]um
рдЬрд╣рд╛рдБ:
qm = xm, с║Лm с╡А рдПрдЬреЗрдВрдЯ рд╕реНрдерд┐рддрд┐ рд╕рджрд┐рд╢ рд╣реИ um тИИ тДЭ рддреНрд╡рд░рдг рдЗрдирдкреБрдЯ рд╣реИ рддреНрд╡рд░рдг 50 рдиреНрдпреВрд░реЙрди рдХреЗ рдкреБрдирд░рд╛рд╡рд░реНрддреА рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рд░реИрдЦрд┐рдХ рд░реВрдк рд╕реЗ рдкрдврд╝реЗ рдЧрдП рдФрд╕рдд рдорд╛рди рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рджрдХреНрд╖рддрд╛ : 1000 рдПрдЬреЗрдВрдЯ, 300 рд╕рдВрд╕рд╛рдзрди, 10 рд▓рд╛рдЦ рдЪрд░рдгреЛрдВ рдХрд╛ рд╕рд┐рдореБрд▓реЗрд╢рди 40 рдорд┐рдирдЯ рдореЗрдВ рдкреВрд░рд╛ рд╣реЛрддрд╛ рд╣реИрд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА рд╕рддреНрдпрд╛рдкрди : 600 рдПрдЬреЗрдВрдЯреЛрдВ рдХреА 600 рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдореЗрдВ рднреЛрдЬрди рдЦреЛрдЬ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рд╕рдлрд▓ рдкреНрд░рджрд░реНрд╢рдирдкреНрд░рдгрд╛рд▓реА рд╕реНрдерд┐рд░рддрд╛ : рд╕рд┐рдореБрд▓реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рдПрдЬреЗрдВрдЯреЛрдВ рдФрд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рд╕реНрдерд╛рдирд┐рдХ рд╡рд┐рддрд░рдг рдЙрдЪрд┐рдд рд░рд╣рддрд╛ рд╣реИрдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдкрд░рд┐рдгрд╛рдо рджрд░реНрд╢рд╛рддреЗ рд╣реИрдВ рдХрд┐ Foragax рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ:
рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдмрд╣реБ-рдПрдЬреЗрдВрдЯ рд╕рд┐рдореБрд▓реЗрд╢рди рдХреЛ рдХреБрд╢рд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдВрднрд╛рд▓рдирд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рдЬреИрд╡рд┐рдХ рд░реВрдк рд╕реЗ рдЙрдЪрд┐рдд рднреЛрдЬрди рдЦреЛрдЬ рд╡реНрдпрд╡рд╣рд╛рд░ рдкреИрдЯрд░реНрди рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рдкреЗрдкрд░ 600 рдПрдЬреЗрдВрдЯреЛрдВ (рдиреАрд▓реЗ рдмрд┐рдВрджреБ) рдХреА 600 рд╕рдВрд╕рд╛рдзрдиреЛрдВ (рд▓рд╛рд▓ рдмрд┐рдВрджреБ) рдореЗрдВ рдмрд┐рдЦрд░реА рд╣реБрдИ рднреЛрдЬрди рдЦреЛрдЬ рдХрд╛ рджреГрд╢реНрдп рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рддреАрд░ рдПрдЬреЗрдВрдЯ рджрд┐рд╢рд╛ рдХреЛ рджрд░реНрд╢рд╛рддреЗ рд╣реИрдВ, рдЬреЛ рдкреНрд░рдгрд╛рд▓реА рдХреА рд╕реНрдерд╛рдирд┐рдХ рд╕рдВрдЧрдарди рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред
Agents.jl : рдЙрдЪреНрдЪ-рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛, рд╕реБрд╡рд┐рдзрд╛-рд╕рдореГрджреНрдз рдПрдЬреЗрдВрдЯ рдореЙрдбрд▓рд┐рдВрдЧ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░Mesa : Python рдореЗрдВ рдПрдЬреЗрдВрдЯ рдореЙрдбрд▓рд┐рдВрдЧ рдлреНрд░реЗрдорд╡рд░реНрдХрдореМрдЬреВрджрд╛ рдлреНрд░реЗрдорд╡рд░реНрдХ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рд╕рд┐рдореБрд▓реЗрд╢рди рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдмрд╛рдзрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реИрдВ рд╕рд░рд▓ рдмреИрдХреНрдЯреАрд░рд┐рдпрд╛ рд╕реЗ рдЬрдЯрд┐рд▓ рдкреНрд░рд╛рдЗрдореЗрдЯ рддрдХ рднреЛрдЬрди рдЦреЛрдЬ рд╡реНрдпрд╡рд╣рд╛рд░ рдЕрдиреБрд╕рдВрдзрд╛рди рдЗрд╖реНрдЯрддрдо рднреЛрдЬрди рдЦреЛрдЬ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдЖрдВрддрд░рд┐рдХ рдКрд░реНрдЬрд╛ рднрдВрдбрд╛рд░ рдХрд╛ рдкреБрд░рд╕реНрдХрд╛рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓рддрд╛ рдкрд░ рдкреНрд░рднрд╛рд╡ рдЕрдиреБрд╕рдВрдзрд╛рди рд░реЛрдЧ рдкреНрд░рд╕рд╛рд░ рдореЙрдбрд▓рд┐рдВрдЧ рдЭреБрдВрдб рд╡реНрдпрд╡рд╣рд╛рд░ рд╕рд┐рдореБрд▓реЗрд╢рди рд╢реЗрдбреНрдпреВрд▓рд┐рдВрдЧ рдЕрдиреБрдХреВрд▓рди рд╕рдорд╕реНрдпрд╛рдПрдБ Foragax рдиреЗ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдмрд╣реБ-рдПрдЬреЗрдВрдЯ рднреЛрдЬрди рдЦреЛрдЬ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рдХреБрд╢рд▓ рд╕рд┐рдореБрд▓реЗрд╢рди рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИ JAX рдмреИрдХрдПрдВрдб рдиреЗ рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдФрд░ рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рд╣реИ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╡рд┐рднрд┐рдиреНрди рднреЛрдЬрди рдЦреЛрдЬ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рдореЙрдбрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд▓рдЪреАрд▓рд╛рдкрди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдирд┐рд░рдВрддрд░ рдЧреИрд░-рдПрдкрд┐рд╕реЛрдбрд┐рдХ рд╕рд┐рдореБрд▓реЗрд╢рди рджрд┐рд▓рдЪрд╕реНрдк рдЙрджреНрднрд╡рд╢реАрд▓ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкреНрд░рдХрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдкреВрд░реНрд╡-рдЖрд╡рдВрдЯрди рд╕реАрдорд╛ : рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдЕрдзрд┐рдХрддрдо рдЖрдХрд╛рд░ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рдЬрд╛рдирдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИрдореЗрдореЛрд░реА рдЦрдкрдд : рд╢реВрдиреНрдп рдкреИрдбрд┐рдВрдЧ рд░рдгрдиреАрддрд┐ рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рджрдХреНрд╖рддрд╛ рдХреЛ рдХрдо рдХрд░ рд╕рдХрддреА рд╣реИрдПрд▓реНрдЧреЛрд░рд┐рджрдо рд╕реАрдорд╛ : рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рддрдВрддреНрд░рд┐рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рд╕реБрджреГрдврд╝ рд╢рд┐рдХреНрд╖рд╛ рд╕рдорд░реНрдерди рдореЗрдВ рд╕реБрдзрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИрд╕рддреНрдпрд╛рдкрди рдЕрдкрд░реНрдпрд╛рдкреНрдд : рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреИрд╡рд┐рдХ рднреЛрдЬрди рдЦреЛрдЬ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд╕рд╛рде рдорд╛рддреНрд░рд╛рддреНрдордХ рддреБрд▓рдирд╛ рдХреА рдХрдореАрдЧреНрд░реЗрдбрд┐рдПрдВрдЯ-рдЖрдзрд╛рд░рд┐рдд рд╕реБрджреГрдврд╝ рд╢рд┐рдХреНрд╖рдг рдПрд▓реНрдЧреЛрд░рд┐рджрдо рддрдХ рд╡рд┐рд╕реНрддрд╛рд░ рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рджрдХреНрд╖рддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдЕрдзрд┐рдХ рдЬреИрд╡рд┐рдХ рдпрдерд╛рд░реНрдерд╡рд╛рдж рд╕рддреНрдпрд╛рдкрди рдЬреЛрдбрд╝рдирд╛ рдЕрдзрд┐рдХ рд╕рдореГрджреНрдз рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЙрдкрдХрд░рдг рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рддрдХрдиреАрдХреА рдирд╡рд╛рдЪрд╛рд░ рдордЬрдмреВрдд : JAX рдХреА рдЙрдЪреНрдЪ-рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрдореНрдкреНрдпреВрдЯрд┐рдВрдЧ рдХреНрд╖рдорддрд╛ рдХреЛ рдмрд╣реБ-рдПрдЬреЗрдВрдЯ рдореЙрдбрд▓рд┐рдВрдЧ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд▓рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИрд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдореВрд▓реНрдп рдЙрдЪреНрдЪ : рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдПрдЬреЗрдВрдЯ рд╕рд┐рдореБрд▓реЗрд╢рди рдХреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдзрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИрдбрд┐рдЬрд╛рдЗрди рдЙрдЪрд┐рдд : рдкрд╛рдБрдЪ-рд╕реНрддрд░реАрдп рдЕрдореВрд░реНрддрддрд╛ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд╕реНрдкрд╖реНрдЯ рд╣реИ, рд╡рд┐рд╕реНрддрд╛рд░ рдФрд░ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрд╕рд╛рди рд╣реИрдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЙрддреНрдХреГрд╖реНрдЯ : рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реБрдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕реБрдзрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЧрдП рд╣реИрдВрд╕реАрдорд┐рдд рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рд╕рддреНрдпрд╛рдкрди : рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рддрдХрдиреАрдХреА рд╡реНрдпрд╡рд╣рд╛рд░реНрдпрддрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЧрд╣рди рд╡реНрдпрд╡рд╣рд╛рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреА рдХрдореА рд╣реИрдЕрдкрд░реНрдпрд╛рдкреНрдд рдЬреИрд╡рд┐рдХ рд╕рддреНрдпрд╛рдкрди : рд╡рд╛рд╕реНрддрд╡рд┐рдХ рднреЛрдЬрди рдЦреЛрдЬ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд╕рд╛рде рдорд╛рддреНрд░рд╛рддреНрдордХ рддреБрд▓рдирд╛ рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИрд╕реАрдорд┐рдд рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рдпреЛрдЧрджрд╛рди : рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ, рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рдирд╡рд╛рдЪрд╛рд░ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдХрдо рд╣реИрдЕрдкрд░реНрдпрд╛рдкреНрдд рджрд╕реНрддрд╛рд╡реЗрдЬ : рдХреБрдЫ рддрдХрдиреАрдХреА рд╡рд┐рд╡рд░рдг рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рд╡рд░реНрдгрд┐рдд рдирд╣реАрдВ рд╣реИрдВрдХреНрд╖реЗрддреНрд░ рдпреЛрдЧрджрд╛рди : рдмрд╣реБ-рдПрдЬреЗрдВрдЯ рдкреНрд░рдгрд╛рд▓реА рдЕрдиреБрд╕рдВрдзрд╛рди рдХреЗ рд▓рд┐рдП рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рдЙрдкрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИрд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдореВрд▓реНрдп : рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░, рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рдФрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдЕрдиреБрд╕рдВрдзрд╛рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд╕рдХрддрд╛ рд╣реИрдкреБрдирд░реБрддреНрдкрд╛рджрдиреАрдпрддрд╛ : рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдХреЛрдб рдЕрдиреБрд╕рдВрдзрд╛рди рдХреА рдкреБрдирд░реБрддреНрдкрд╛рджрдиреАрдпрддрд╛ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░рд╢реАрд▓рддрд╛ рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИрдЕрдВрддрдГрд╡рд┐рд╖рдп рдЕрдиреБрдкреНрд░рдпреЛрдЧ : рдпрджреНрдпрдкрд┐ рднреЛрдЬрди рдЦреЛрдЬ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИ, рдЕрдиреНрдп рдмрд╣реБ-рдПрдЬреЗрдВрдЯ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рддрдХ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИрдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рдЕрдиреБрд╕рдВрдзрд╛рди : рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдкрд╢реБ рднреЛрдЬрди рдЦреЛрдЬ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЙрдбрд▓рд┐рдВрдЧрд╡рд┐рдХрд╛рд╕рд╡рд╛рджреА рдЬреАрд╡ рд╡рд┐рдЬреНрдЮрд╛рди : рдЬрдирд╕рдВрдЦреНрдпрд╛ рд╡рд┐рдХрд╛рд╕ рдЧрддрд┐рд╡рд┐рдзрд┐ рдЕрдиреБрд╕рдВрдзрд╛рдирдХреГрддреНрд░рд┐рдо рдмреБрджреНрдзрд┐рдорддреНрддрд╛ : рдмрд╣реБ-рдПрдЬреЗрдВрдЯ рд╕реБрджреГрдврд╝ рд╢рд┐рдХреНрд╖рдг рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдкрд░реАрдХреНрд╖рдгрдЬрдЯрд┐рд▓ рдкреНрд░рдгрд╛рд▓рд┐рдпрд╛рдБ : рдЙрджреНрднрд╡рд╢реАрд▓ рд╡реНрдпрд╡рд╣рд╛рд░ рдФрд░ рд╕реНрд╡-рд╕рдВрдЧрдарди рдШрдЯрдирд╛ рдЕрдиреБрд╕рдВрдзрд╛рдирд╕рд╛рдорд╛рдЬрд┐рдХ рд╡рд┐рдЬреНрдЮрд╛рди : рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рд╕рд╛рдорд╛рдЬрд┐рдХ рдЧрддрд┐рд╡рд┐рдзрд┐ рдореЙрдбрд▓рд┐рдВрдЧрдкреЗрдкрд░ рдХрдИ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рдкреНрд░рдореБрдЦ рд╕рд╛рд╣рд┐рддреНрдп рдХрд╛ рд╣рд╡рд╛рд▓рд╛ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
JAX рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рддрдХрдиреАрдХреА рджрд╕реНрддрд╛рд╡реЗрдЬ рднреЛрдЬрди рдЦреЛрдЬ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреА рд╢рд╛рд╕реНрддреНрд░реАрдп рд░рдЪрдирд╛рдПрдБ (Stephens & Krebs, 1986) рдореМрдЬреВрджрд╛ рдПрдЬреЗрдВрдЯ рдореЙрдбрд▓рд┐рдВрдЧ рдлреНрд░реЗрдорд╡рд░реНрдХ (Agents.jl, Mesa) рддрдВрддреНрд░рд┐рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдФрд░ рд╕реБрджреГрдврд╝ рд╢рд┐рдХреНрд╖рд╛ рдХреА рдирд╡реАрдирддрдо рдкреНрд░рдЧрддрд┐ рд╕рдордЧреНрд░ рдореВрд▓реНрдпрд╛рдВрдХрди : рдпрд╣ рдПрдХ рдЙрдЪреНрдЪ-рдЧреБрдгрд╡рддреНрддрд╛ рдХреА рдкреНрд░рдгрд╛рд▓реА рдкреЗрдкрд░ рд╣реИ рдЬреЛ рдЖрдзреБрдирд┐рдХ рдЙрдЪреНрдЪ-рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрдореНрдкреНрдпреВрдЯрд┐рдВрдЧ рддрдХрдиреАрдХ рдХреЛ рдмрд╣реБ-рдПрдЬреЗрдВрдЯ рдореЙрдбрд▓рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдХрд░ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдХреА рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рддрдХрдиреАрдХреА рдмрд╛рдзрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред рдпрджреНрдпрдкрд┐ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рдирд╡рд╛рдЪрд╛рд░ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕реАрдорд┐рдд рд╣реИ, рдЗрд╕рдХрд╛ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдореВрд▓реНрдп рдФрд░ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХрддрд╛ рдЗрд╕реЗ рдмрд╣реБ-рдПрдЬреЗрдВрдЯ рдкреНрд░рдгрд╛рд▓реА рдЕрдиреБрд╕рдВрдзрд╛рди рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдпреЛрдЧрджрд╛рди рдмрдирд╛рддреА рд╣реИред