рдХреЛрдб рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдорд╢реАрди рд╕реАрдЦрдирд╛: рдореИрдВ рдЬреЗрдЯрдмреНрд░реЗрди рд░рд┐рд╕рд░реНрдЪ рдореЗрдВ рдХреИрд╕реЗ рдЗрдВрдЯрд░реНрдиреЗрдЯ рд╣реБрдЖ

рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рд╣рдордиреЗ Google рдкрд░ рдЗрдВрдЯрд░реНрдирд╢рд┐рдк рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА ред Google рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдорд╛рд░реЗ рдЫрд╛рддреНрд░ JetBrains, Yandex, Acronis рдФрд░ рдЕрдиреНрдп рдХрдВрдкрдирд┐рдпреЛрдВ рдореЗрдВ рдЕрдкрдирд╛ рд╣рд╛рде рдЖрдЬрдорд╛рддреЗ рд╣реИрдВред

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ JetBrains рд░рд┐рд╕рд░реНрдЪ рдореЗрдВ рдЕрдкрдиреЗ рдЗрдВрдЯрд░реНрдирд╢рд┐рдк рдХреЗ рдЕрдиреБрднрд╡ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░реВрдВрдЧрд╛, рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ рдЬреЛ рд╡реЗ рд╡рд╣рд╛рдВ рд╣рд▓ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕ рдмрд╛рдд рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рдореЗрдВ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдХреИрд╕реЗ рдмрдЧ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред



рдЕрдкрдиреЗ рдмрд╛рд░реЗ рдореЗрдВ


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

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

рдЬреЗрдмреА рд░рд┐рд╕рд░реНрдЪ рдХреНрдпрд╛ рд╣реИ?


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

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

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

рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдмрдЧ рдЦреЛрдЬ


рдЕрдм рдмрдЧ рдХреИрд╕реЗ рдЦреЛрдЬреЗ рдЬрд╛рддреЗ рд╣реИрдВ?


рдХреНрдпреЛрдВ рдХреАрдбрд╝реЗ рдХрдо рдпрд╛ рдЬреНрдпрд╛рджрд╛ рд╕реНрдкрд╖реНрдЯ рд╣реИрдВред рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рд╡реЗ рдЕрдм рдХреИрд╕реЗ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЖрдзреБрдирд┐рдХ рдмрдЧ рдбрд┐рдЯреЗрдХреНрдЯрд░ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╕реНрдереИрддрд┐рдХ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХрд╛рд░ рдХреА рддреНрд░реБрдЯрд┐ рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реЗ рджреЗрдЦреЗ рдЧрдП рдкреИрдЯрд░реНрди рджреЗрдЦреЗрдВ, рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдлрд┐рд░, рдЭреВрдареА рд╕рдХрд╛рд░рд╛рддреНрдордХ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд┐рдП рдЧрдП рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░рд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреИрдЯрд░реНрди рдХреЛ рдХреЛрдб рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдорд┐рдд рдПрдХ рд╕рд╛рд░ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдЯреНрд░реА (рдПрдПрд╕рдЯреА) рдФрд░ рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рд╡рд╛рд╣ рдпрд╛ рдбреЗрдЯрд╛ рдХреЗ рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

int foo() { if ((x < 0) || x > MAX) { return -1; } int ret = bar(x); if (ret != 0) { return -1; } else { return 1; } } 



рд╡рд╣ рдХреЛрдб рдФрд░ рдкреЗрдбрд╝ рдЬреЛ рдЙрд╕ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред C ++ рдореЗрдВ == рдХреЗ рдмрдЬрд╛рдп = рдХреЗ рдмрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЖрдЗрдП рдХреЛрдб рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рднрд╛рдЧ рдХреЛ рджреЗрдЦреЗрдВ:

 int value = 0; тАж if (value = 1) { ... } else { тАж } 

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

 int value = 0; тАж if (value == 1) { ... } else { тАж } 

рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдЖрд╕рд╛рдиреА рд╕реЗ рддреНрд░реБрдЯрд┐ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдЦреЛрдЬ рдкрд╛рдПрдВрдЧреЗред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдо рдСрдкрд░реЗрдВрдб рдХрд╛ рд╕рд╣реА рдХреНрд░рдо рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдлрд┐рд░ рд╕реЗ, рдХреЛрдб рдХреЗ рдЯреБрдХрдбрд╝реЗ рджреЗрдЦреЗрдВ:

 for (int i = 2; i < n; i++) { a[i] = a[1 - i] + a[i - 2]; } 

 int bitReverse(int i) { return 1 - i; } 

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

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

 int getSquare(int xDim, int yDim) { тАж } int x = 3, y = 4; int s = getSquare(y, x); 

рдПрдХ рд╡реНрдпрдХреНрддрд┐ рд╕рдордЭрддрд╛ рд╣реИ рдХрд┐, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдореЗрдВ рддрд░реНрдХ рдорд┐рд╢реНрд░рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рдордЭ рд╣реИ рдХрд┐ x xDim рдХреА рддрд░рд╣ yDim рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕ рдбрд┐рдЯреЗрдХреНрдЯрд░ рдХреЛ рдХреИрд╕реЗ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдВ? рдЖрдк рдкреНрд░рдкрддреНрд░ рдХреЗ рдХреБрдЫ рдЕрдиреБрдорд╛рди рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ "рдЪрд░ рдирд╛рдо рддрд░реНрдХ рдирд╛рдо рдХрд╛ рдЙрдкрд╕рд░реНрдЧ рд╣реИ", рд▓реЗрдХрд┐рди рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ x рдПрдХ рдКрдВрдЪрд╛рдИ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдмрд╛рд░ рдЪреМрдбрд╝рд╛рдИ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрдм рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдирд╣реАрдВ рд╣реИред

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

рдорд╢реАрди рд╕реАрдЦрдиреЗ рдореЗрдВ рдХреИрд╕реЗ рдорджрдж рдХрд░ рд╕рдХрддреА рд╣реИ?


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

  1. рдмрдЧ рдХреЗ рдмрд┐рдирд╛ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдирдореВрдирд╛ рдХреЛрдб
  2. рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдкреНрд░рдХрд╛рд░ рдХреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдХреЛрдб
  3. рдХреЛрдб рдЕрдВрд╢реЛрдВ рдХреЛ рд╕рджрд┐рд╢ рдХрд░рдиреЗ рдХреА рд╡рд┐рдзрд┐
  4. рдЬрд┐рд╕ рдореЙрдбрд▓ рдХреЛ рд╣рдо рдХреЛрдб рдХреЗ рд╕рд╛рде рдФрд░ рдмрд┐рдирд╛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХрд░рдирд╛ рд╕рд┐рдЦрд╛рдПрдВрдЧреЗ

рд╣рдо рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдбреЛрдореЗрди рдореЗрдВ рд░рдЦреЗ рдЧрдП рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЛрдб рдореЗрдВ, рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдореЗрдВ рддрд░реНрдХ рд╕рд╣реА рдХреНрд░рдо рдореЗрдВ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдмрдЧ рдХреЗ рдмрд┐рдирд╛ рдирдореВрдирд╛ рдХреЛрдб рдХреЗ рд▓рд┐рдП, рдЖрдк рдХреБрдЫ рдмрдбрд╝реЗ рдбреЗрдЯрд╛рд╕реЗрдЯ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред рдореВрд▓ рд▓реЗрдЦ рдХреЗ рд▓реЗрдЦрдХ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдЬреЗрдПрд╕ 150K (рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ 150 рд╣рдЬрд╛рд░ рдлрд╛рдЗрд▓реЗрдВ) рдерд╛, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкрд╛рдпрдерди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рди рдбрд╛рдЯрд╛рд╕реЗрдЯред

рдмрдЧ рдХреЗ рд╕рд╛рде рдХреЛрдб рдвреВрдВрдврдирд╛ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реИред рд▓реЗрдХрд┐рди рд╣рдо рдХрд┐рд╕реА рдФрд░ рдХреА рдЧрд▓рддрд┐рдпреЛрдВ рдХреА рддрд▓рд╛рд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рд╕реНрд╡рдпрдВ рдХрд░реЗрдВ! рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рдХреЛрдб рдХреЗ рд╕рд╣реА рдЯреБрдХрдбрд╝реЗ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЗрд╕реЗ рднреНрд░рд╖реНрдЯ рдмрдирд╛ рджреЗрдЧрд╛ред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдореЗрдВ рддрд░реНрдХреЛрдВ рдХреЛ рдкреБрдирд░реНрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░реЗрдВред

рдХреЛрдб рдХреЛ рд╡реЗрдХреНрдЯрд░ рдХреИрд╕реЗ рдХрд░реЗрдВ?


рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрдЪреНрдЫреЗ рдФрд░ рдмреБрд░реЗ рдХреЛрдб рдХреЗ рд╕рд╛рде, рд╣рдо рдХреБрдЫ рд╕рд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ рддреИрдпрд╛рд░ рд╣реИрдВред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рдЕрднреА рднреА рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: рдХреЛрдб рдЯреБрдХрдбрд╝реЗ рдХреИрд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░реЗрдВ?

рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреЛ рд╡рд┐рдзрд┐ рдХреЗ рдирд╛рдо рдХреЗ рдЯрдкрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ рдХрд┐рд╕ рд╡рд┐рдзрд┐ рдХрд╛ рдирд╛рдо рд╣реИ, рдЪрд░ рдХреЗ рд▓рд┐рдП рдкрд╛рд░рд┐рдд рдХрд┐рдП рдЧрдП рдирд╛рдо рдФрд░ рдкреНрд░рдХрд╛рд░ рдХреЗ рддрд░реНрдХред рдпрджрд┐ рд╣рдо рд╕реАрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЯреЛрдХрди (рдЪрд░ рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдирд╛рдо, рдХреЛрдб рдореЗрдВ рдкрд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА "рд╢рдмреНрдж") рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмреНрдпрд╛рдЬ рдХреЗ рдЯреЛрдХрди рдХреЗ рд╡реИрдХреНрдЯрд░ рдХрд╛ рд╕рдВрдШрдЯрди рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЯреБрдХрдбрд╝реЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдВрдЫрд┐рдд рд╡реЗрдХреНрдЯрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЯреЛрдХрди рдХреЛ рд╕рджрд┐рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдПрдХ рдирдЬрд░ рдбрд╛рд▓рддреЗ рд╣реИрдВ рдХрд┐ рдХреИрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдЧреНрд░рдВрдереЛрдВ рдореЗрдВ рд╢рдмреНрдж рд╡реЗрдХреНрдЯрд░ рдХрд░рддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рд╕рдлрд▓ рдФрд░ рд▓реЛрдХрдкреНрд░рд┐рдп рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ 2013 рдореЗрдВ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд word2vec рд╣реИред



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

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

рдХреЛрдб рдореЗрдВ рдЯреЛрдХрди рдХрд╛ рдПрдХ рд╕рдорд╛рди рд╡реЗрдХреНрдЯрд░рдХрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬрд┐рд╕реЗ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХреА рдЬрд╛рдПрдЧреАред рдПрдПрд╕рдЯреА рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛ рд╕рдХрддреА рд╣реИ: рдЖрд╕рдкрд╛рд╕ рдХреЗ рдХреЛрдиреЗ, рдЯреЛрдХрдиреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдПрдХ рдкреЗрдбрд╝ рдореЗрдВ рд╕реНрдерд┐рддрд┐ред

рдПрдХ рд╡реЗрдХреНрдЯрд░рдХрд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреМрди рд╕реЗ рдЯреЛрдХрди рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рдорд╛рди рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрдирдХреЗ рдмреАрдЪ рдХреЙрд╢рди рдХреА рджреВрд░реА рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВред рдирддреАрдЬрддрди, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдбрд╝реЛрд╕реА рд╡реИрдХреНрдЯрд░ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ (рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХреЛрд╕рд╛рдЗрди рджреВрд░реА рд╣реИ):



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

рдХреНрд▓рд╛рд╕рд┐рдлрд╛рдпрд░ рдЯреНрд░реЗрдирд┐рдВрдЧ


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

рдкрд░рд┐рдгрд╛рдо


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



рдХреБрдЫ рдЕрдиреБрдорд╛рдирд┐рдд рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдХреНрд▓рд╛рд╕рд┐рдХ рдЦреЛрдЬ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЦреЛрдЬрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛ред P.done рдореЗрдВ рдХреЙрд▓ рдлрд┐рд░ рд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдФрд░ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рдЙрджрд╛рд╣рд░рдг:

 var p = new Promise (); if ( promises === null || promises . length === 0) { p. done (error , result ) } else { promises [0](error, result).then( function(res, err) { p.done(res, err); }); } 

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

 var cw = cs[i].width + each; 

рдкрд╛рдпрдерди рдкреЛрд░реНрдЯрд┐рдВрдЧ


рдореИрдВ рдорд╛рдЗрдХрд▓ рдкреНрд░рдбреЗрд▓ рдХреЗ рдХрд╛рдо рдХреЛ js рд╕реЗ рдЕрдЬрдЧрд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдФрд░ рдлрд┐рд░ Pyharm рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд▓рдЧ-рдЗрди рдмрдирд╛рдиреЗ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдерд╛, рдЬреЛ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╡рд┐рдзрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдирд┐рд░реАрдХреНрд╖рдг рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рд╣рдордиреЗ рдкрд╛рдпрдерди 150K рдбреЗрдЯрд╛рд╕реЗрдЯ (GitHub рдкрд░ рдЙрдкрд▓рдмреНрдз 150 рд╣рдЬрд╛рд░ рдкрд╛рдпрдерди рдлрд╛рдЗрд▓) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдкрд╛рдпрдерди рдореЗрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рднрд┐рдиреНрди рдЯреЛрдХрди рд╣реИрдВред Js рдХреЗ рд▓рд┐рдП, 10,000 рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдЯреЛрдХрди рдореЗрдВ 90% рд╕реЗ рдЕрдзрд┐рдХ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдЬрдмрдХрд┐ рдкрд╛рдпрдерди рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ 40,000 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рдЗрд╕рд╕реЗ рд╡реИрдХреНрдЯрд░ рдореЗрдВ рдЯреЛрдХрди рдХреЗ рдЖрдХрд╛рд░ рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╣реБрдИ, рдЬрд┐рд╕рд╕реЗ рдкреНрд▓рдЧрдЗрди рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рдЧрдпрд╛ред

рджреВрд╕рд░реЗ, рдкрд╛рдпрдерди рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдореЗрдВ рдЧрд▓рдд рддрд░реНрдХреЛрдВ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдФрд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦрдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ 90% рд╕реЗ рдЕрдзрд┐рдХ рдХреА рддреНрд░реБрдЯрд┐ рджрд░ рдорд┐рд▓реА, рдЬреЛ js рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рдЪрд░рдг рдкрд░ рдереАред рдХрд╛рд░рдгреЛрдВ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЙрд╕реА рдХреЙрд▓ рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬреИрд╕реЗ рдХрд┐ рдЙрдирдХреА рдХреЙрд▓ред рдореИрдВрдиреЗ, рд▓реЗрдЦ рдХреЗ рд▓реЗрдЦрдХ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдмрд╛рдж, рдкрд╣рд▓реА рдмрд╛рд░ рдЕрдиреНрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдШреЛрд╖рдгрд╛ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреА, рдЬрд┐рд╕рд╕реЗ рдЦрд░рд╛рдм рдкрд░рд┐рдгрд╛рдо рдЖрдПред

рдЕрдЧрд╕реНрдд рдХреЗ рдЕрдВрдд рдореЗрдВ, рдореИрдВрдиреЗ рдкрд╛рдпрдерди рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдФрд░ рдкреНрд▓рдЧрдЗрди рдХреЗ рд▓рд┐рдП рдЖрдзрд╛рд░ рд▓рд┐рдЦрд╛ред рдкреНрд▓рдЧрдЗрди рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдЬрд╛рд░реА рд╣реИ, рдЕрдм рд╣рдорд╛рд░реА рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рд╕реЗ рдЫрд╛рддреНрд░ рдЕрдирд╛рд╕реНрддрд╛рд╕рд┐рдпрд╛ рддреБрдЪрд┐рдирд╛ рдЗрд╕рдореЗрдВ рд▓рдЧреЗ рд╣реБрдП рд╣реИрдВред

рдЖрдк рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╡рд┐рдХреА рдкрд░ рдкреНрд▓рдЧрдЗрди рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдХрджрдо рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВред

рдЧрд┐рдЯрд╣рдм рдкрд░ рд▓рд┐рдВрдХ:

рдЕрдЬрдЧрд░ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рднрдВрдбрд╛рд░
рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕рд╛рде рднрдВрдбрд╛рд░

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


All Articles