NOMAD: рдШрд░ рдкрд░ "рдмреНрд▓реИрдХ рдмреЙрдХреНрд╕" рдХрд╛ рдЕрдиреБрдХреВрд▓рди

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

рдЕрдиреБрдХреВрд▓рд┐рдд (рдиреНрдпреВрдирддрдо) рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ "рдмреНрд▓реИрдХ рдмреЙрдХреНрд╕" рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдПрдХ рдЕрд▓рдЧ рд╕реЗ рд▓рд╛рдЧреВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо (рдЬрдм рдмреИрдЪ-рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ) рдпрд╛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд C ++ рд╡рд░реНрдЧ (рдЬрдм рд▓рд╛рдЗрдмреНрд░реЗрд░реА-рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ) рдЗрд╕рдХреА рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдЕрдиреБрдХреВрд▓рди MADS рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

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

NOMAD: рдПрдХ рдмреНрд▓реИрдХрдмреЙрдХреНрд╕ рдЕрдиреБрдХреВрд▓рди рд╕реЙрдлреНрдЯрд╡реЗрдпрд░
рдЫрд╡рд┐

рдХреНрдпреЛрдВ рдЬрд░реВрд░реА рд╣реИ?


рдореВрд▓ рдкрд░рд┐рджреГрд╢реНрдп рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИред рдЖрдк рдПрдХ рдмрдЪреНрдЪреЗ рдХреЗ рдХреМрддреБрдХ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рд╕рд╛рдорд╛рдиреНрдп рдЕрдЪреНрдЫреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдпреЛрдЧрджрд╛рди рджреЗрддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рд╣рдо рд╢рд╛рдВрдд, рд╕реБрдкрд░-рдЖрдзреБрдирд┐рдХ рддрд░реАрдХреЛрдВ рдФрд░ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рд░рдЦреЗ рдЧрдП рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдпрджрд┐ рд╡реЗ рдЬрд╛рджреВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХреЛрдб рдореЗрдВ рдЪрдордХ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ)ред рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЧреБрдгрд╡рддреНрддрд╛ рд╕рдВрдХреЗрддрдХ рд╣реИ, рдЬрд┐рд╕рдХреА рдЧрдгрдирд╛ рдХреЛрдИ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ, рдФрд░ рдЕрдм рдпрд╣ рд▓рдЧрднрдЧ 98% рд╣реИ, рдФрд░ рдЖрдк 99.5% рддрдХ рдкрд╣реБрдВрдЪрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдореИрдВ рдПрдХ рдРрд╕рд╛ рдЙрдкрдХрд░рдг рдЪрд╛рд╣реВрдВрдЧрд╛ рдЬреЛ "рдЯреНрд╡рд┐рд╕реНрдЯ" рджреЗ рд╕рдХреЗ рдФрд░ рдЪрд╛рдп рдкреА рд╕рдХреЗ, рдЬрдмрдХрд┐ рд╡рд╣ рд╕рд┐рд╕реНрдЯрдо рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдХреЛ рдереЛрдбрд╝рд╛ рдФрд░ рдмрдврд╝рд╛ рджреЗрдЧрд╛ред рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдЗрд╕ рд╡рд░реНрдЧ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрдкрдХрд░рдг NOMAD рд╣реИред

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

рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ


рдмреИрдЪ рдореЛрдб рдореЗрдВ NOMAD рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдХрд╛рд░реНрдп рдпрд╣ рд╣реИ: рдЖрдк рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ рд╕реЗрдЯ X рд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рджреЛ рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддрд╛ рд╣реИ: A рдФрд░ Bред рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рдЕрдзреНрдпрдпрди рдХреЗ рдмрд╛рдж, рдЖрдкрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рд╕рдВрдХреЗрдд рдПрдл 1 , рдПрдл 2 рдФрд░ рдПрдл 3 рд╣реИрдВ , рдпрд╣ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдПрдХреНрд╕ рдХрд┐рд╕реА рд╡рд░реНрдЧ рдХрд╛ рд╣реИред f1 , f2 рдФрд░ f3 рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдХрд╛рд░реНрдп рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдорд╛рди рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдЦреНрдпрд╛ рд╣реИред рд╣рдо C (x) = a1 * f1 (x) + a2 * f2 (x) + a3 * f3 (x) + b , рдЬрд╣рд╛рдБ a1 , a3 , a рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдЦреНрдпрд╛рдПрдБ рд╣реИрдВ, рдФрд░ b рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ рд╣реИ - рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдЧреАрдХреГрдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдлрд╝рдВрдХреНрд╢рди рдХреА рдЦреЛрдЬ рдХрд░реЗрдВрдЧреЗ ред 1 рд╕реЗ 1 ред рдпрджрд┐ C (x)> = 0 рд╣реИ , рддреЛ рд╣рдо рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ x рдХрд╛ рд╕рдВрдмрдВрдз A рд╕реЗ рд╣реИ , рдЕрдиреНрдпрдерд╛ x рдХрд╛ рд╕рдВрдмрдВрдз B рд╕реЗ рд╣реИ ред рдкрдХрдбрд╝ рдпрд╣ рд╣реИ рдХрд┐ рдЕрдЧрд░ рд╣рдордиреЗ рдХреЛрдИ рдЧрд▓рддреА рдХреА рд╣реИ рдФрд░ рд╕реЗрдЯ рдмреА рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ x рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдП рд╕реЗ рд╣реИ , рддреЛ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдкреНрд░рд┐рдп рд╣реИ, рд▓реЗрдХрд┐рди рдШрд╛рддрдХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╣рдордиреЗ рдПрдХреНрд╕ рдХреЛ рдП рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмреА рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рддреЛ рдпрд╣ 100 рдЧреБрдирд╛ рдмрджрддрд░ред

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдордЬрд╛рдХрд┐рдпрд╛ рддрд░реАрдХреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВрдЧреЗ рдФрд░ NOMAD рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдЧреБрдгрд╛рдВрдХ рдкрд╛рдПрдВрдЧреЗред

рдЗрд╕ рддрд░рд╣ рдХреЗ рдбреЗрдЯрд╛ рд╡рд╛рд▓реЗ рдПрдХ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдЖрдзрд╛рд░ рд╣реЛрдиреЗ рджреЗрдВ: рдПрдХ рд╕рдЪреНрдЪрд╛ рд╡рд░реНрдЧ (рдЬрд╣рд╛рдВ рд╣рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП
x) рдФрд░ рд╕рдВрдХреЗрдд f1 (x) , f2 (x) , f3 (x) рдХреЗ рдорд╛рдиред рдЖрдзрд╛рд░ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдПрдХ рдкрд╛рда рдлрд╝рд╛рдЗрд▓ рд╣реИ: (base.data рдХрд╣рддреЗ рд╣реИрдВ)

A 1.0 3.0 4.5555 B 2.3 2.3 0.0 B 2.4 2.5 9.0 ... 

рд╣рдо рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ: рд╣рдо рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВ, рдпрджрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ, рддреЛ рд╣рдо рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреА рд▓рд╛рдЧрдд рдХреЛ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдХреЗ рдореВрд▓реНрдп рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рддреНрд░реБрдЯрд┐ рдХреА рддреНрд░реБрдЯрд┐ "рд╣рдореЗрдВ рдП рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рд╣рдордиреЗ рдХрд╣рд╛ рдХрд┐ рдмреА " рдПрдХ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ, рддреНрд░реБрдЯрд┐ рдХреА рд▓рд╛рдЧрдд "рд╣рдореЗрдВ рдмреА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдФрд░ рд╣рдордиреЗ рдХрд╣рд╛ рдХрд┐ рдП " 100 рд╣реИ ред

рд╣рдо рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдЬреЛ рдЧреБрдгрд╛рдВрдХ 1 , a2 , a3 , b рдХреЗ рд╕рд╛рде рдлрд╛рдЗрд▓ рдХреЛ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХрдорд╛рддреНрд░ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдорд╛рдирдХ рдЖрдЙрдЯрдкреБрдЯ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдХреЗ рдореВрд▓реНрдп рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред

 #!/usr/bin/python #  evaluator.py import sys #     def C(f, a): return a[3] + sum([x * y for x, y in zip(f, a[:3])]) #      def penalty(correct, f, a): answer = 'A' if C(f, a) >= 0.0 else 'B' #    -   if answer == correct: return 0.0 #   ,    elif correct == 'A': return 1.0 #   ,    else: return 100.0 if __name__ == '__main__': F = 0.0 #    sys.argv[1] a = list(map(float, list(open(sys.argv[1], 'r'))[0].split())) #      with open('base.data', 'r') as base: for line in base: line = line.strip().split() correct = line[0] f = map(float, line[1:]) F += penalty(correct, f, a) #    print(F) 

рдЕрдЧрд▓рд╛ рдЪрд░рдг NOMAD рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рд╣реИ: (params.nomad рдХрд╣рддреЗ рд╣реИрдВ)

 #    DIMENSION 4 # ,    #    BB_EXE "$python evaluator.py" #   : #       BB_INPUT_TYPE ( RRRI ) #   : #    (OBJ) #    - # (   ) BB_OUTPUT_TYPE OBJ #   X0 ( 0 0 0 0 ) #    LOWER_BOUND ( -10 -10 -10 -1 ) UPPER_BOUND ( 10 10 10 1 ) #     MAX_BB_EVAL 1000 #   TMP_DIR /tmp 

NOMAD рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ:

 kbulatov@node ~> ./NOMAD.3.6.0/bin/nomad params.nomad NOMAD - version 3.6.0 - www.gerad.ca/nomad Copyright (C) 2001-2013 { Mark A. Abramson - The Boeing Company Charles Audet - Ecole Polytechnique de Montreal Gilles Couture - Ecole Polytechnique de Montreal John E. Dennis, Jr. - Rice University Sebastien Le Digabel - Ecole Polytechnique de Montreal Christophe Tribes - Ecole Polytechnique de Montreal } Funded in part by AFOSR and Exxon Mobil. License : '$NOMAD_HOME/src/lgpl.txt' User guide: '$NOMAD_HOME/doc/user_guide.pdf' Examples : '$NOMAD_HOME/examples' Tools : '$NOMAD_HOME/tools' Please report bugs to nomad@gerad.ca MADS run { BBE OBJ 1 41100.0000000000 5 27814.0000000000 12 22459.0000000000 14 5070.0000000000 36 4853.0000000000 44 4828.0000000000 49 4720.0000000000 58 4657.0000000000 78 4583.0000000000 93 4514.0000000000 106 4509.0000000000 115 4495.0000000000 117 4494.0000000000 118 4484.0000000000 119 4453.0000000000 133 4379.0000000000 145 4376.0000000000 153 4217.0000000000 156 4158.0000000000 177 4034.0000000000 181 3982.0000000000 184 3942.0000000000 216 3918.0000000000 237 3905.0000000000 262 3903.0000000000 458 3903.0000000000 } end of run (mesh size reached NOMAD precision) blackbox evaluations : 458 best feasible solution : ( 1.300140381 0.6046962738 -0.9088993073 -1 ) h=0 f=3903 

рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдЧреБрдгрд╛рдВрдХ рд╣реЛрддреЗ рд╣реИрдВред

рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ


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

NOMAD рдХреЛ рдПрдХ рд╕реНрдерд┐рд░ C ++ рд▓рд╛рдЗрдмреНрд░реЗрд░реА (рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЛрдб) рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рднреА рд╕рдВрднрд╡ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдкрдХреЛ рдПрдХ рд╡рд░реНрдЧ рд▓рд┐рдЦрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдЬреЛ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХреБрдЫ:

 class MyEvaluator: public NOMAD::Evaluator { public: MyEvaluator(NOMAD::Parameters const& p) : NOMAD::Evaluator(p) {} ~MyEvaluator() {} bool eval_x(NOMAD::Eval_Point& x, NOMAD::Double const& h_max, bool& count_eval) const { ///   ///  false,  -    ... count_eval = true; return true; } } 

рдЕрдВрддрднрд╛рд╖рдг


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

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

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


All Articles