LLTR рднрд╛рдЧ 2: рдПрдХрддреНрд░рд┐рдд рдЖрдБрдХрдбрд╝реЛрдВ рд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рдЯреЛрдкреЛрд▓реЙрдЬреА рдХреЗ рдирд┐рд░реНрдзрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рдердо

рд▓реЗрдпрд░ рд▓реЗрдпрд░ рдЯреЛрдкреЛрд▓реЙрдЬреА рд▓реЛрдЧреЛ рдкреНрд░рдХрдЯ рдХрд░реЗрдВ


рдкреНрд░рд╢реНрди: рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреНрдпрд╛ рд╣реИ?
рдП: рдореЗрдЬрдмрд╛рди рд╕реЗ рдЖрдВрдХрдбрд╝реЗ рдПрдХрддреНрд░ рдХрд┐рдП рдЧрдПред


рдкреНрд░рд╢реНрди: рд╣рдо рдХреНрдпрд╛ рдкрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?
A: рдиреЗрдЯрд╡рд░реНрдХ рдЯреЛрдкреЛрд▓реЙрдЬреА! рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ, рдЖрдкрдХреЛ рд░рд┐рдВрдЧрд╕рдВрдХ рдХреЗ рд▓рд┐рдП рд╕рд╛рдерд┐рдпреЛрдВ (рдореЗрдЬрдмрд╛рдиреЛрдВ) рдХреА рд╕рд╣реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ред


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


 тАУ-[**]-->   --[**]-->   


рдпрджрд┐ рдЖрдкрдХреЛ GitHub Pages рдкрд░ "рднрд╛рдЧ 1" рдкрдврд╝рдиреЗ рдореЗрдВ рдордЬрд╝рд╛ рдЖрдпрд╛, рддреЛ рдпрд╣рд╛рдБ GitHub Pages рдкрд░ рдЙрд╕ рднрд╛рдЧ рдХрд╛ рд▓рд┐рдВрдХ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред


рдЪреЗрддрд╛рд╡рдиреА : рдиреАрдЪреЗ рд╡рд╣реА рд╣рдмреНрд░-рдкрд╛рд░реНрд╕рд░ рдХрд▓рд╛рдХреГрддрд┐рдпрд╛рдБ рд╣реЛрдВрдЧреА рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВрдиреЗ "рднрд╛рдЧ 1" рдореЗрдВ рдЪреЗрддрд╛рд╡рдиреА рджреА рдереАред


рдХрд┐рд╕реА рднреА рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдЙрдиреНрдирдд рддрдХрдиреАрдХ рдЬрд╛рджреВ рд╕реЗ рдЕрдкреНрд░рднреЗрджреНрдп рд╣реИред  - рдСрд░реНрдерд░ рд╕реАред  рдХреНрд▓рд╛рд░реНрдХ


рдиреЛрдЯ : " тАУ-[**]--> рдмрдЬрд╛рдп тАУ-[**]--> " рдореИрдВ " тАУ-[???]--> " рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред


рдПрдХрддреНрд░ рдХрд┐рдП рдЧрдП рдЖрдБрдХрдбрд╝реЗ рд╣рдореЗрдВ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рд╕ рдкрд░ рдкреНрд░рд╕рд╛рд░рдг рдЯреНрд░реИрдлрд╝рд┐рдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЧрддрд┐ рдХрдо рд╣реЛ рдЧрдИ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рд╢реВрдиреНрдп рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рджреЗрдЦреЗрдВ "N2_2" (" Network " рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ "рдПрд▓рдПрд▓рдЯреАрдЖрд░ рдкрд╛рд░реНрдЯ 1" рд╕реЗ):


 {300,164,164}, 


2 рдореЗрдЬрдмрд╛рди рд░рд╛рдЬреНрдп рдпрд╣рд╛рдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣реЗ рд╣реИрдВ:


  • рд╕рд╛рдорд╛рдиреНрдп рдЧрддрд┐ (рдореВрд▓реНрдп " 300 ") - рдХреЛрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ ;
  • рдЧрддрд┐ рдЧрд┐рд░ рдЧрдИ рд╣реИ (рдореВрд▓реНрдп " 164 ") - рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реИ ред


рдореБрдЭреЗ рдХреНрдпрд╛ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ? рд╡рдиреАрдХрд░рдг рдХреЗ рд▓рд┐рдП! рдпрджрд┐ рд╣рдо 0 рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдФрд░ 1 рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рдХреЛрдбрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдПрдХ рд╣реА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдореЗрдВ рдореЗрдЬрдмрд╛рдиреЛрдВ рдХреА рд╕рднреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдПрдХ рдЪрд░ рдореЗрдВ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ ( 32 - 512 рдмрд┐рдЯ [ AVX - 512 ])ред рдореЗрдореЛрд░реА (рдФрд░ рдХреИрд╢ рдореЗрдВ рдЦрд░реНрдЪ рдХреА рдЧрдИ рдЬрдЧрд╣) рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЧрддрд┐ рдХреЛ рдмрдврд╝рд╛рдПрдЧрд╛ - рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ ( SIMD ) рдХреЗ рд╕рднреА рдореЗрдЬрдмрд╛рди рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдПрдХ рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рдПрдХ рдмрд╛рд░ рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред


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


рдиреЛрдЯ : рдХрд┐рд╕реА рдЕрдиреНрдп рд▓реЗрдЦ (рджреВрд╕рд░реЗ рднрд╛рдЧ) рдореЗрдВ рд╕реНрдерд┐рдд рдЕрдиреБрднрд╛рдЧ рдХреЗ рд▓рд┐рдВрдХ рдХреЗ рдкрд╛рда рдореЗрдВ, рдореИрдВ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рднрд╛рдЧ рд╕рдВрдЦреНрдпрд╛ рдЬреЛрдбрд╝реВрдВрдЧрд╛ : " LLTR рднрд╛рдЧ # :: рдЕрдиреБрднрд╛рдЧ рдирд╛рдо> "ред рдФрд░ рд▓рд┐рдВрдХ рдХреЗ " title " рдореЗрдВ рдореИрдВ рднрд╛рдЧ рдХрд╛ рдирд╛рдо рд▓рд┐рдЦреВрдВрдЧрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рдПрд▓рдПрд▓рдЯреАрдЖрд░ рдкрд╛рд░реНрдЯ 0 ::" рдХреЗ рд▓рд┐рдП, "рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рдЯреЛрдкреЛрд▓реЙрдЬреА рдФрд░ рдЕрдирд╡рд╛рдВрдЯреЗрдб рд╕реНрд╡рд┐рдЪреЗрд╕ рдХрд╛ рдкрддрд╛ рдЪрд▓реЗрдЧрд╛ред" рдорд┐рд╢рди рдЕрд╕рдВрднрд╡ рд╣реИ? тАЭ


рдЖрдЗрдП, рд╢реВрдиреНрдп рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд╛ рдПрдХ рд╣реА рдЙрджрд╛рд╣рд░рдг рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рджреНрд╡реИрддрдХрд░рдг рдХреЗ рдмрд╛рдж рдХреИрд╕рд╛ рджрд┐рдЦреЗрдЧрд╛:


 {300,164,164} --[]--> 011 


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


 0101011010110 1100010110010 0101101010111 0100010110100 


" 1 " рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╕рдВрдХреЗрддрди рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реВрдВ:


  • " 1 " рдХрд╛ рдЕрд░реНрде рд╣реИ 1 - рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реИ ;
  • тАЬ . тАЬрд╕рд╛рдзрди 0 - рдХреЛрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ ред


рдЖрдЗрдП рдлрд┐рд░ рд╕реЗ "рдирдХрд▓реА рдбреЗрдЯрд╛" рджреЗрдЦреЗрдВ:


 .1.1.11.1.11. 11...1.11..1. .1.11.1.1.111 .1...1.11.1.. 


рдЗрддрдирд╛ рдмреЗрд╣рддрд░ ( IMHO )ред


рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо, рдЗрд╕ рд╕рдордп рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:


  тАУ-[]-->   --[???]-->   --[???]-->   


рд╣рдо рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдХреЗ рд▓рд┐рдП рдмрд┐рдирд╛рд░рд╛рдЗрдЬреЗрд╢рди рдХрд╛ рд╡рд┐рд╡рд░рдг рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ, рдФрд░ рдмрд╛рдХреА рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред


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


рдЪрд╛рд░реНрдЯ: LLTR рд╣рд╛рдЗрдмреНрд░рд┐рдб рдиреЗрдЯрд╡рд░реНрдХ


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


рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрд╕ рдЖрд░реЗрдЦ рдореЗрдВ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд (рд╡рд┐рдЪрд▓рд┐рдд) рд╡рд┐рд╡рд░рдг рд╣реИрдВред рдореИрдВ рдЗрд╕реЗ рд╣рдЯрд╛рдХрд░ рд╕рд╛рдл рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ:


  • рдкреНрд░рд╕рд╛рд░рдг рдореЗрдЬрдмрд╛рди (рдпрд╣ рдЗрдирдкреБрдЯ / рдЖрдБрдХрдбрд╝реЛрдВ рдореЗрдВ рдирд╣реАрдВ рд╣реИ);
  • рдкреЛрд░реНрдЯ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВред

рдЪрд╛рд░реНрдЯ: LLTR рд╣рд╛рдЗрдмреНрд░рд┐рдб рдиреЗрдЯрд╡рд░реНрдХ (рд╕реНрдкрд╖реНрдЯ)


рдпрд╣рд╛рдВ "рд╣реЛрд╕реНрдЯ рдХреЗ рдмрд┐рдирд╛" рд╕реНрд╡рд┐рдЪ рддреБрд░рдВрдд рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВрдиреЗ рд╕рднреА рд╕реНрд╡рд┐рдЪреЛрдВ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдХрд┐ рдЙрдирдореЗрдВ рдореЗрдЬрдмрд╛рди рдПрдХ-рджреВрд╕рд░реЗ рдХреЛ рд▓рдВрдмрд╡рдд рд░реВрдк рд╕реЗ рдУрд╡рд░рд▓реИрдк рди рдХрд░реЗрдВред рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдпрджрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдореИрдВ "рдореЗрдЬрдмрд╛рди рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ" рдХреЛ рдПрдХ рдкрд╛рда рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ " .....1...... " рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдПрдХ рдЖрд░реЗрдЦ рдХреЗ рд░реВрдк рдореЗрдВ (рдПрдХ рдКрд░реНрдзреНрд╡рд╛рдзрд░ рдкрд░ рдХреЗрд╡рд▓ рдПрдХ рдореЗрдЬрдмрд╛рди рд╣реИ):


рдЪрд╛рд░реНрдЯ: рдПрд▓рдПрд▓рдЯреАрдЖрд░ рд╣рд╛рдЗрдмреНрд░рд┐рдб рдиреЗрдЯрд╡рд░реНрдХ (рд╕реНрдкрд╖реНрдЯ), "рдореЗрдЬрдмрд╛рди" рдХреЗ рдкрджрдирд╛рдо рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛


рдЕрдм рдЙрди рдЖрдВрдХрдбрд╝реЛрдВ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдЬреЛ рд╣рдореЗрдВ рдЗрд╕ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рд╕реНрдХреИрди рдХрд░рдиреЗ рдХреЗ рд╕рднреА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреЗ рдЕрдВрдд рдореЗрдВ рдорд┐рд▓рддреЗ рд╣реИрдВред рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ 12 рд╣реЛрд╕реНрдЯ рд╣реИрдВ (рдкреНрд░рд╕рд╛рд░рдг рд╣реЛрд╕реНрдЯ рдХреЛ рдЫреЛрдбрд╝рдХрд░), рдЗрд╕рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 132 рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдкрд░ рдбреЗрдЯрд╛ рд╣реЛрдЧрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕рднреА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдкрд░рд┐рдгрд╛рдо рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡реЗ рдмреЗрдХрд╛рд░ рд╣реЛрдВрдЧреЗ:



рд╕рдлрд╛рдИ рдХреЗ рдмрд╛рдж, рд╕рднреА 132 рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдкрд░рд┐рдгрд╛рдореЛрдВ рдореЗрдВ рд╕реЗ, рдХреЗрд╡рд▓ 5 (рдореЗрдЬрдмрд╛рди рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдВ) рд░рд╣реЗрдВрдЧреЗ:


 1111111111.. 11111111.... ..111....... .....111.... 11.......... 


рдиреЛрдЯ : рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ " 1 " рдХреА рдПрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдЫреЛрдЯреЗ рд╡рд╛рд▓реЗ рддрдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХреАред


рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдирд╛ рд╢реБрд░реВ рд╣реБрдЖ:


  тАУ-[]-->   --[   ]--[  ]--[???]-->   --[???]-->   

рд░реАрд╕реЗрдЯ рдмрд┐рдВрджреБ

рдореИрдВрдиреЗ рд╕реНрдкреЙрдЗрд▓рд░ рдореЗрдВ рдпрд╣ рд╕рдм рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрд╛, рд▓реЗрдХрд┐рди рдЕрдВрдд рдореЗрдВ рдореИрдВрдиреЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рдпрд╣ рдХрд╣рд╛рдиреА рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдкрдврд╝рддреЗ рд╕рдордп рдпрд╛рдж рдирд╣реАрдВ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред


To я╝Ъ рдХрд╛рдВрдЧ рдкрдврд╝рддреЗ рд╕рдордп рджрд┐рдорд╛рдЧ рдХреЛ рди рдЫреЛрдбрд╝реЗрдВ



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


рд▓реЗрдХрд┐рди рд╣рдордиреЗ рдирдП рдХреНрд▓рд╕реНрдЯрд░ рдХреИрд╕реЗ рдмрдирд╛рдП? рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореМрдЬреВрджрд╛ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЗ " 1 " рдореЗрдЬрдмрд╛рди рдХреЗ рд╕рднреА (рдПрдХрд▓ рдирд╣реАрдВ) рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдВ "рдирдпрд╛ рдХреНрд▓рд╕реНрдЯрд░" рдереАрдВ, рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдмрдбрд╝реЗ рд╕рдореВрд╣реЛрдВ рд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрджрд╛ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд╕рд╛рде рдЪреМрд░рд╛рд╣реЛрдВ ("тИй"; рд░рд┐рдХреНрдд "тИЕ") рдХреЛ рдирд╣реАрдВ рдвреВрдВрдврдирд╛ рдерд╛ред рдХреНрд▓рд╕реНрдЯрд░ рд╣реЛрд╕реНрдЯ рдПрдХ рдЫреЛрдЯреЗ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред


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

рдореИрдВ рд╢реМрдЪрд╛рд▓рдп рдкрд░ рдЦрдбрд╝рд╛ рдерд╛ рдФрд░ рдШрдбрд╝реА рд▓рдЯрдХрд╛ рджреАред рдЕрдЪрд╛рдирдХ рдлрд┐рд╕рд▓ рдЧрдпрд╛, рд╕рд┐рдВрдХ рдкрд░ рдЙрд╕рдХрд╛ рд╕рд┐рд░ рдорд╛рд░рд╛, рдФрд░ рдЬрдм рдореИрдВ рдЙрдард╛ рддреЛ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рджреГрд╖реНрдЯрд┐ рдереА, рдореЗрд░реЗ рдорд╕реНрддрд┐рд╖реНрдХ рдореЗрдВ рдПрдХ рддрд╕реНрд╡реАрд░, рдЗрд╕ рдкрд░ рдПрдХ рджреГрд╖реНрдЯрд┐ - рдПрдХ рдзрд╛рд░рд╛ рдбреНрд░рд╛рдЗрд╡ рд╕реНрдЯреНрд░реАрдо рд╡рд┐рднрд╛рдЬрдХ ( рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╡рд╛рдкрд╕ ) :

рдкреАрдЫреЗ рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓рд┐рдП: рдлреНрд▓рдХреНрд╕ рдбрд┐рд╡рд╛рдЗрдбрд░
 // Flux Divider c=a^b; aa=a&c; bb=b&c; cc=a&b; 


рдФрд░ рддреБрд░рдВрдд рдУрд╡рд░рд▓реИрдкрд┐рдВрдЧ рдХреНрд▓рд╕реНрдЯрд░реНрд╕ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдкрд░ рдЙрдирдХреЗ рдХрд╛рдо рдХреЛ рджреЗрдЦреЗрдВ (рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ, рдПрдХ рд╕реЗрдЯ (рдХреНрд▓рд╕реНрдЯрд░) рдХреЛ рдХрдбрд╝рд╛рдИ рд╕реЗ рджреВрд╕рд░реЗ рд╕реЗрдЯ рдореЗрдВ " " рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ):


 .....11..... - a ..11111111.. - b ..111..111.. - c=a^b ............ - aa=a&c ..111..111.. - bb=b&c .....11..... - cc=a&b 


рдЕрд╡реНрдпрд╡рд╕реНрдерд╛ рд╕рдореВрд╣реЛрдВ:


 ..111....... - a .......111.. - b ..111..111.. - c=a^b ..111....... - aa=a&c .......111.. - bb=b&c ............ - cc=a&b 


рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐:


  • " aa " рдореЗрдВ " a " рдХреЗ рд▓рд┐рдП рдЕрджреНрд╡рд┐рддреАрдп рддрддреНрд╡ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ;
  • " bb " рдореЗрдВ - " bb " рдХреЗ рд▓рд┐рдП рдЕрджреНрд╡рд┐рддреАрдп;
  • " cc " рдореЗрдВ - " a " рдФрд░ " b " рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдпред


рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ ("рдЕрд╕рдВрднрд╡", рд▓реЗрдХрд┐рди рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг):


 ...1111..... - a .....1111... - b ...11..11... - c=a^b ...11....... - aa=a&c .......11... - bb=b&c .....11..... - cc=a&b 


рдиреЛрдЯ : рдЗрд╕ рддрд░рд╣ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ (рд╣реЛрд╕реНрдЯ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛) рд╕реНрд░реЛрдд рдбреЗрдЯрд╛ рдореЗрдВ рдирд╣реАрдВ рд╣реИред


рдЙрд╕реА рддрд░рд╣, рдЖрдк рдЗрд╕рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ:


 .....11..... - a .....11..... - b ............ - c=a^b ............ - aa=a&c ............ - bb=b&c .....11..... - cc=a&b 


рд▓реЗрдХрд┐рди, рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж ...

рд╕рд┐рд░ рдкрд░ рдЪреЛрдЯ рд▓рдЧрдиреЗ рдХреЗ рдмрд╛рдж рдЪреЛрдЯ рд▓рдЧрдирд╛ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдорди рд╕рд╛рдл тАЛтАЛрд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╕реНрдкрд╖реНрдЯ рд╕рдорд╕реНрдпрд╛рдПрдВ рдмрдврд╝рддреА рдЬрд╛рддреА рд╣реИрдВ ...

рдЗрдирдкреБрдЯ рдкрд░, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 2 рдЪрд░ (рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдкрд░рд┐рдгрд╛рдо / рд╣реЛрд╕реНрдЯ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ / рдХреНрд▓рд╕реНрдЯрд░ / рд╕реЗрдЯ / ...) рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 3 рд╣реИрдВ, рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдЦрд╛рд▓реА ("тИЕ") рд╣реЛрдЧрд╛ред рдпрджрд┐ рдЖрдкрдХреЛ рддреБрд░рдВрдд "get" рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рддреБрд░рдВрдд "it" рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдХреИрд╕реЗ рдХрд░реЗрдВ? рд╣рд╛рд▓рдд / рд╢рд╛рдЦрд╛рдУрдВ рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВ! ... рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореИрдВ рд╡рд╣реАрдВ рд▓реМрдЯ рдЖрдпрд╛ рдЬрд╣рд╛рдБ рд╕реЗ рдореИрдВрдиреЗ рд╢реБрд░реБрдЖрдд рдХреА рдереАред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдЧрд░ рд╕рдм рдХреБрдЫ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕рд╕реЗ "рдЫреБрдЯрдХрд╛рд░рд╛" рдорд┐рд▓рддрд╛ рд╣реИ, рдлрд┐рд░ рдЕрдВрдд рдореЗрдВ рд╣рдо рдЗрд╕рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:


 1111111111.. 11111111.... ..111....... .....111.... 11.......... 


рдпрд╣ рд╣реИ:


 ........11..             -     "............",     я╝Ъя╝И ..111....... .....111.... 11.......... 


рдпрд╣ рдкреНрд░рд╢реНрди рдкреВрдЫрдиреЗ рдХрд╛ рд╕рдордп рд╣реИ: "рдЗрд╕рд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рдЯреЛрдкреЛрд▓реЙрдЬреА рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ?" рдЕрдм рдпрд╣ рдбреЗрдЯрд╛ "рдпрд╣" рдХрд╣ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╣реЛрд╕реНрдЯ (рдЬреЛ рдХрд┐ рд╕реНрд╡рд┐рдЪ рдХреЛ рд╣реЛрд╕реНрдЯ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИ) рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдбреЗрдЯрд╛ рдореЗрдВ рдЕрдм рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХреЗ рдЯреЛрдкреЛрд▓реЙрдЬреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЕрднрд╛рд╡ рд╣реИ (рдЕрд░реНрдерд╛рдд, рдХреИрд╕реЗ рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВ) рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рдмреАрдЪ рд╕реНрд╡рд┐рдЪ) - рд╣рдордиреЗ рдбреЗрдЯрд╛ рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рджреМрд░рд╛рди рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдЦреЛ рджреА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреМрди рд╕реЗ рдХреНрд▓рд╕реНрдЯрд░ (рд╕реНрд╡рд┐рдЪ) рдореЗрдВ 2 рд╕рдмрд╕реЗ рд╕рд╣реА рд╣реЛрд╕реНрдЯ рд╣реИрдВ? рдпрджрд┐ рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирддреЗ рд╣реИрдВ (рдпрд╛ рдПрдХ рд╕рдВрдХреЗрдд рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛ рдореЗрдЬрдмрд╛рди рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕реНрд╡рд┐рдЪ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реИрдВ), рддреЛ рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдпреЗ 2 рдЪрд░рдо рд╣реЛрд╕реНрдЯ рдХрд╣реАрдВ рд╕реЗ рдЬреБрдбрд╝реЗ рдирд╣реАрдВ рд╣реИрдВ! рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ 6 рд╕реНрд╡рд┐рдЪ рд╣реИрдВ, рдФрд░ 4 рд▓рд╛рдЗрдиреЗрдВ рдмрд╛рдХреА рд╣реИрдВ, рдЬрд╣рд╛рдВ 2 рдФрд░ рд▓рд╛рдЗрдиреЗрдВ рд╣реИрдВ? рд╣рдордиреЗ рдПрдХ (рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд░реВрдк рдореЗрдВ рдКрдкрд░ рд▓рд┐рдЦрд╛ рд╣реИ) рдорд┐рдЯрд╛ рджрд┐рдпрд╛, рдФрд░ рджреВрд╕рд░реЗ рдореЗрдВ, "рджреВрд░ рд╕рд╣реА рдкрд░ 2 рдореЗрдЬрдмрд╛рди" рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред


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


рдЕрдм, рдПрдХ рдФрд░ "рдореГрдд рд╢рд╛рдЦрд╛" рдореЗрдВ рдирд╣реАрдВ рдЖрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕реНрдореГрддрд┐ рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рдЯреЛрдкреЛрд▓реЙрдЬреА рдХреА рдЕрдВрддрд┐рдо рд╕рдВрд░рдЪрдирд╛ (рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡) рдкрд░ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рд╣рдо "рдиреЗрдЯрд╡рд░реНрдХ рдЯреЛрдкреЛрд▓реЙрдЬреА" рдХреЗ рд╕рдордп рдЬреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ:


  тАУ-[]-->   --[   ]--[  ]--[???]--> <strong> </strong> --[???]-->   


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ , рд╕рднреА рдореЗрдЬрдмрд╛рди рдореМрдЬреВрдж рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:


 <strong>..........11</strong> <-- 1111111111.. 11111111.... ..111....... .....111.... 11.......... 


рджреВрд╕рд░реЗ , рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЛ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рдкреНрд░рддреНрдпреЗрдХ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП рдореВрд▓ рдХреНрд▓рд╕реНрдЯрд░; рдлрд┐рд▓рд╣рд╛рд▓: рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХрд╛ рдмрдЪреНрдЪрд╛ ; рдиреЗрдЯрд╡рд░реНрдХ рдЖрд░реЗрдЦ рдкрд░, рдореИрдВрдиреЗ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЛ рдмрдЪреНрдЪреЛрдВ рдХреЗ рдКрдкрд░ рд░рдЦрд╛ рд╣реИ) (рдмрд╛рдИрдВ рдУрд░ рдХреНрд▓рд╕реНрдЯрд░ рдирдВрдмрд░ рдЬреЛрдбрд╝реЗ рдЧрдП рд╣реИрдВ):


 0) ..........11 parent: ? 1) 1111111111.. parent: ? 2) 11111111.... parent: 1 3) ..111....... parent: 2 4) .....111.... parent: 2 5) 11.......... parent: 2 


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


рд╕реНрдкреЛрдЗрд▓рд░, рдкреВрд░реА рд╕реВрдЪреА рдкрдврд╝рдиреЗ рддрдХ рдирд╣реАрдВ рдЦреЛрд▓рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ (рдЖрд░реЗрдЦ рдХреЗ рдЕрдиреБрд╕рд╛рд░), рдХреНрд▓рд╕реНрдЯрд░ 1 рдХреЗ рд▓рд┐рдП рдЬрдирдХ рдХреНрд▓рд╕реНрдЯрд░ 0 рд╣реИ, рд▓реЗрдХрд┐рди рддрдм " рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рдмрдЪреНрдЪреЗ " рдХреА рд╢рд░реНрдд рдкреВрд░реА рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рд╢рд╛рдпрдж " рдкрд╣рд▓реЗ " рдореЗрдВ рд╣рдордиреЗ рдЧрд▓рддреА рдХреА, рдФрд░ " ..........11 " рдХреЗ рдмрдЬрд╛рдп " 111111111111 " рдЬреЛрдбрд╝рдиреЗ рд▓рд╛рдпрдХ рдерд╛?



рддреАрд╕рд░рд╛ , рдПрдХ рдкреЗрдбрд╝ рдореЗрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкреЗрдбрд╝реЛрдВ (рдпрд╛рдиреА, рд╡рди ) рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ "рдореВрд▓" рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:


 -1) 111111111111 0) ..........11 parent:-1 1) 1111111111.. parent:-1 2) 11111111.... parent: 1 3) ..111....... parent: 2 4) .....111.... parent: 2 5) 11.......... parent: 2 


рдЪреМрдерд╛ , рдкреНрд░рддреНрдпреЗрдХ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рд╕рд╛рде рдмрдЪреНрдЪреЛрдВ рдХреА рд╕реВрдЪреА рдмрдирд╛рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛:


 -1) 111111111111            children: 0,1 0) ..........11 parent:-1 1) 1111111111.. parent:-1, children: 2 2) 11111111.... parent: 1, children: 3,4,5 3) ..111....... parent: 2 4) .....111.... parent: 2 5) 11.......... parent: 2 


рдФрд░ рдЕрдВрдд рдореЗрдВ , рдЕрдм рдмрдЪреНрдЪреЛрдВ рдХреЛ рдЙрдирдХреЗ рдорд╛рддрд╛-рдкрд┐рддрд╛ рд╕реЗ рдЕрд▓рдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ:


 -1) ............            children: 0,1 0) ..........11 parent:-1 1) ........11.. parent:-1, children: 2 2) ............ parent: 1, children: 3,4,5 3) ..111....... parent: 2 4) .....111.... parent: 2 5) 11.......... parent: 2 


рдЕрдм рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреА рд╣реИ, рдЕрд░реНрдерд╛рдд рдПрдХ рд╣реА рд╕реНрд╡рд┐рдЪ рд╕реЗ рдЬреБрдбрд╝реЗ рдореЗрдЬрдмрд╛рди рдХреЛ рдЕрдВрдХред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд░реБрдХреЛ, рд╣рдорд╛рд░реЗ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ 6 рд╕реНрд╡рд┐рдЪ рд╣реИрдВ, рдФрд░ 7 рдХреНрд▓рд╕реНрдЯрд░ рд╣реИрдВ! " рд╕реНрдкреЛрдЗрд▓рд░ рдХреЗ рдКрдкрд░ рд╕реНрдкреЙрдЗрд▓рд░ рд╕реЗ рдкрд╛рда рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдВрдд рдореЗрдВ, рдпрд╣ рдкреВрд░реА рд╕реВрдЪреА рдкрдврд╝рдиреЗ рддрдХ рдирд╣реАрдВ рдЦреБрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реИ ", рдФрд░ рд╕реНрдерд┐рддрд┐ рдХреЛ рдареАрдХ рдХрд░реЗрдВ:


 0) ..........11            children: 1 1) ........11.. parent: 0, children: 2 2) ............ parent: 1, children: 3,4,5 3) ..111....... parent: 2 4) .....111.... parent: 2 5) 11.......... parent: 2 


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


  тАУ-[]-->   --[   ]--[  ]--[???]--> <strong> </strong> --[???]-->   


рдпрд╣ рд╕рдордЭрдирд╛ рдмрд╛рдХреА рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рдХреЛ рдЗрд╕ рд░реВрдк рдореЗрдВ рдХреИрд╕реЗ рд▓рд╛рдпрд╛ рдЬрд╛рдПред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдордиреЗ рдЬреЛ рдХреБрдЫ рднреА рдХрд┐рдпрд╛ рд╣реИ (рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рджреВрд╕рд░реЗ, ...) рдХреЛ рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдореЗрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:


  1. "рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ" (рд╕реНрдкреЙрдЗрд▓рд░ рд╕реЗ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ "рддреАрд╕рд░реА" рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд╕рдорд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ) - рдПрдХ "рд░реВрдЯ" рдХреНрд▓рд╕реНрдЯрд░ " 111111111111 " ( рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ ) рдЬреЛрдбрд╝реЗрдВ, рдЬрд┐рд╕рдореЗрдВ (рдЬрдВрдЧрд▓ рдХреЗ рд╕рднреА рдкреЗрдбрд╝реЛрдВ рдХреЗ рдореЗрдЬрдмрд╛рди, рдореЗрдЬрдмрд╛рди рдореЗрдЬрдмрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╣реА рд╕реНрд╡рд┐рдЪ рдкрд░ рд╕реНрдерд┐рдд рдореЗрдЬрдмрд╛рди) ), рдпрд╛рдиреА рдЗрд╕рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╕рднреА рд╣реЛрд╕реНрдЯ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ;
  2. "рджреВрд╕рд░реА рдмрд╛рдд" - рдкреНрд░рддреНрдпреЗрдХ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреА рдЦреЛрдЬ рдХрд░реЗрдВ ;
  3. "рдЪреМрдерд╛" - рдкреНрд░рддреНрдпреЗрдХ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рд▓рд┐рдП рдмрдЪреНрдЪреЛрдВ рдХреА рд╕реВрдЪреА рдмрдирд╛рдирд╛ ;
  4. "рдФрд░ рдЕрдВрдд рдореЗрдВ" - рдЕрдкрдиреЗ рдорд╛рддрд╛-рдкрд┐рддрд╛ рд╕реЗ рдмрдЪреНрдЪреЛрдВ рдХрд╛ рдмрд╣рд┐рд╖реНрдХрд╛рд░ ред


рдЕрдм рдЖрдк рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ (рдереЛрдбрд╝рд╛ рдмрджрд▓рд╛ рд╣реБрдЖ рд░реВрдк):


                                               тЧП  тЧП                                [] тЦ║                 [   ]                          [  ] тЦ║ /                [ "" ] тЦ║ /        [    ] [     ]              [   ] тЦ║   тЧП                                        [???] тЦ║   тЧП 

рд╡реИрдХрд▓реНрдкрд┐рдХ рджреГрд╢реНрдп

 тЧП      тЦ║ [] тЦм   тЦ║ [   ]                   [  ] тЦм /   тЦ║ [ "" ] тЦм / тЦ║ [    ]                   [     ]                   [   ] тЧП   тЦ║ [???] тЧП    тЧП 


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


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


рдЪрд▓реЛ рдЪрд▓рддреЗ рд╣реИрдВ!


binarization

рдореЗрдЬрдмрд╛рди рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдВ:


 .111111.. .111111.. .111111.. .111111.. .111111.. .111111.. .......11 .......11 ..1...... ...1111.. ...1111.. ...1111.. ...1111.. .......11 .......11 1........ ...1111.. ...1111.. ...1111.. ...1111.. .......11 .......11 1........ .1....... ....1.... .....11.. .....11.. .......11 .......11 1........ .1....... ..1...... .....11.. .....11.. .......11 .......11 1........ .1....... ..1...... ...1..... ......1.. ......... ......... ......... .1....... ..1...... ...1..... ....1.... ......... ......... ......... .1....... ..1...... ...1..... ....1.... .....1... ........1 1........ .111111.. .111111.. .111111.. .111111.. .111111.. .111111.. 1........ .111111.. .111111.. .111111.. .111111.. .111111.. .111111.. .......1. 


рдПрдХрд▓ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рд╕реЗ рд╢реБрджреНрдзрд┐рдХрд░рдг

 .111111.. --> .111111.. .111111.. --> .111111.. .111111.. --> .111111.. .111111.. --> .111111.. .111111.. --> .111111.. .111111.. --> .111111.. .......11 --> .......11 .......11 --> .......11 ..1...... --> ...1111.. --> ...1111.. ...1111.. --> ...1111.. ...1111.. --> ...1111.. ...1111.. --> ...1111.. .......11 --> .......11 .......11 --> .......11 1........ --> ...1111.. --> ...1111.. ...1111.. --> ...1111.. ...1111.. --> ...1111.. ...1111.. --> ...1111.. .......11 --> .......11 .......11 --> .......11 1........ --> .1....... --> ....1.... --> .....11.. --> .....11.. .....11.. --> .....11.. .......11 --> .......11 .......11 --> .......11 1........ --> .1....... --> ..1...... --> .....11.. --> .....11.. .....11.. --> .....11.. .......11 --> .......11 .......11 --> .......11 1........ --> .1....... --> ..1...... --> ...1..... --> ......1.. --> ......... --> ......... ......... --> ......... ......... --> ......... .1....... --> ..1...... --> ...1..... --> ....1.... --> ......... --> ......... ......... --> ......... ......... --> ......... .1....... --> ..1...... --> ...1..... --> ....1.... --> .....1... --> ........1 --> 1........ --> .111111.. --> .111111.. .111111.. --> .111111.. .111111.. --> .111111.. .111111.. --> .111111.. .111111.. --> .111111.. .111111.. --> .111111.. 1........ --> .111111.. --> .111111.. .111111.. --> .111111.. .111111.. --> .111111.. .111111.. --> .111111.. .111111.. --> .111111.. .111111.. --> .111111.. .......1. --> 


рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╕реЗ рд╕рдлрд╛рдИ (рд╣рдо "рдХреНрд▓рд╕реНрдЯрд░ / рд╡рди" рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ):


 .111111.. .......11 ...1111.. .....11.. ......... 


рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП , рдореИрдВ " 1 " рдорд╛рддреНрд░рд╛ рдХреЗ рдЕрд╡рд░реЛрд╣реА рдХреНрд░рдо рдореЗрдВ рдЫрд╛рдБрдЯреВрдБрдЧрд╛ред


 .111111.. ...1111.. .....11.. .......11 ......... 


рдиреЛрдЯ : рдпрд╣ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдореЗрдВ рдЫрдБрдЯрд╛рдИ рд╕рд╣рд┐рдд рд▓рд╛рдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЖрдкрдХреЛ рдХреНрдпрд╛ рд▓рдЧрддрд╛ рд╣реИ?


"рд░реВрдЯ" рдХреНрд▓рд╕реНрдЯрд░ рдЬреЛрдбрд╝рдирд╛ (рд╣рдореЗрдВ "рдХреНрд▓рд╕реНрдЯрд░ / рдЯреНрд░реА" рдорд┐рд▓рддрд╛ рд╣реИ):


 111111111 .111111.. ...1111.. .....11.. .......11 ......... 


рдЗрд╕рдореЗрдВ 2 рдкреЗрдбрд╝реЛрдВ рдХреЗ рдореЗрдЬрдмрд╛рди (рдмрд╛рдПрдВ " .111111.. " рдФрд░ рджрд╛рдПрдВ " .......11 " рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛) рдФрд░ 1 рдореЗрдЬрдмрд╛рди (" 1........ ") рдПрдХ рдкрд░ рд╕реНрдерд┐рдд рд╣реИ рдкреНрд░рд╕рд╛рд░рдг рдореЗрдЬрдмрд╛рди рдХреЗ рд╕рд╛рде рд╕реНрд╡рд┐рдЪ)ред


рдкреНрд░рддреНрдпреЗрдХ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП рдореВрд▓ рдЦреЛрдЬ:


 0) 111111111 1) .111111.. parent: 0 2) ...1111.. parent: 1 3) .....11.. parent: 2 4) .......11 parent: 0 5) ......... parent: 4 


рдиреЛрдЯ : рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ рдбреЗрдЯрд╛ рдЕрдВрддрд░рд╛рд▓ рдХрд╛ рдирдХрд╛рд░рд╛рддреНрдордХ рдкреНрд░рднрд╛рд╡ рдЖрдпрд╛ рдерд╛ - 5 рд╡реЗрдВ рдХреЗ рд▓рд┐рдП 4 рд╡рд╛рдВ рдХреНрд▓рд╕реНрдЯрд░ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдмрди рдЧрдпрд╛! рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдХреЛрдИ рднреА рдХреНрд▓рд╕реНрдЯрд░ 5 рд╡реЗрдВ рдХреНрд▓рд╕реНрдЯрд░ рдХрд╛ рдЬрдирдХ рдмрди рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЦрд╛рд▓реА рд╣реИ (тИЕ)ред


рдкреНрд░рддреНрдпреЗрдХ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рд▓рд┐рдП рдмрдЪреНрдЪреЛрдВ рдХреА рд╕реВрдЪреА рдмрдирд╛рдирд╛:


 0) 111111111            children: 1,4 1) .111111.. parent: 0, children: 2 2) ...1111.. parent: 1, children: 3 3) .....11.. parent: 2 4) .......11 parent: 0, children: 5 5) ......... parent: 4 


рдорд╛рддрд╛-рдкрд┐рддрд╛ рд╕реЗ рдмрдЪреНрдЪреЛрдВ рдХрд╛ рдмрд╣рд┐рд╖реНрдХрд╛рд░:


 0) 1........            children: 1,4 1) .11...... parent: 0, children: 2 2) ...11.... parent: 1, children: 3 3) .....11.. parent: 2 4) .......11 parent: 0, children: 5 5) ......... parent: 4 


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


рд╕рдм рдХреБрдЫ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрди "рдбреЗрдЯрд╛ рдЦрд╛рдорд┐рдпреЛрдВ" рдХреЛ рдЦрддреНрдо рдХрд░рдиреЗ рдХреЗ рдкрд╣рд▓реЗ рдЪрд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рдмрд╛рдж рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ред рдпрд╣ "рдмрд╛рдЗрдирд░реАрдХрд░рдг" рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:


                                               тЧП  тЧП                                [] тЦ║   [<strong>   (тИЕ),    (тж▒)</strong>]               [   ]                          [  ] тЦ║ /                [ "" ] тЦ║ /        [    ] [     ]              [   ] тЦ║   тЧП                                        [???] тЦ║   тЧП 


рд╣рдо рдЦрд╛рд▓реА рд╕реЗрдЯ рд╣рдЯрд╛рддреЗ рд╣реИрдВ (тИЕ; " ......... "), рд▓реЗрдХрд┐рди рдХреНрдпреЛрдВ рдмреНрд░рд╣реНрдорд╛рдВрдб рд╣рдЯрд╛рддреЗ рд╣реИрдВ (тАЬ?" 111111111 ")? рдЬрдм рд╣рдо "рдмрд╛рдЗрдирд░рд╛рдЗрдЬреЗрд╢рди" рдЪрд░рдг рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЙрддреНрддрд░ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред "рджреНрд╡реИрд░реАрдХрд░рдг" рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдПрдХ рд╣реА рдбреЗрдЯрд╛ (рд╡рд░реНрдгрд┐рдд рджреЛрд╖ рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛) рдкрд░ " ......... " рдФрд░ " 111111111 " рджреЛрдиреЛрдВ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░, рдХреНрдпреЛрдВрдХрд┐ рд╕рд╣реА рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдореЗрдВ " 111111111 " рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ " ......... " рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реИ, рддреЛ рд╣рдо рд╕рднреА " 111111111 " рдХреЛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ (рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡реЗ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВ рдбреЗрдЯрд╛ рдореЗрдВ "рдЦрд╛рдорд┐рдпрд╛рдВ" рд╣реИрдВред


рдпрджрд┐ рдЖрдк рдПрдХ рд╣реА рдиреЗрдЯрд╡рд░реНрдХ (" Network_ serial ") рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ (рд╕рдВрд╡рд░реНрдзрд┐рдд, рд╕рд╣реА) рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ "рдиреЗрдЯрд╡рд░реНрдХ рдЯреЛрдкреЛрд▓реЙрдЬреА" рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА:


 0) 1........            children: 1,4 1) .11...... parent: 0, children: 2 2) ...11.... parent: 1, children: 3 3) .....11.. parent: 2 4) .......11 parent: 0 


Note : , . , . , 2 ( тАЬswitch0тАЭ), 1 ( 2 ):


тАЬ тАЭ

 0) 11........            children: 1,4 1) ..11...... parent: 0, children: 2 2) ....11.... parent: 1, children: 3 3) ......11.. parent: 2 4) ........11 parent: 0 

 0) 1......            children: 1,4 1) .1..... parent: 0, children: 2 2) ..1.... parent: 1, children: 3 3) ...11.. parent: 2 4) .....11 parent: 0 


тАЬ тАЭ. тАЬ тАЭ тАЬ тАЭ. RingSync , ( : PreтАСorder ). тАЬ тАЭ :


 1 1........ hostS/seed -> host0 -> . .11...... host1 -> host2 -> . ...11.... host3 -> host4 -> . .....11.. host5 -> host6 -> . .......11 host7 -> host8/leech 


Note : (, ) , broadcast .


, тАЬ тАЭ ( ), (тАЬ Network_ serial тАЭ). ( ), . :


рдЖрд░реЗрдЦ: рд╕реНрд╡рд┐рдЪ рдХрд╛ рд╕реАрд░рд┐рдпрд▓ рдХрдиреЗрдХреНрд╢рди;  рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рдирд┐рд░реНрдорд┐рдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд▓рд┐рдП рдпрд╛рддрд╛рдпрд╛рдд рдкреНрд░рд╡рд╛рд╣ рдкрде


, тАЬ тАЭ (тАЬ тАЭ):


 ..........11 1 hS/seed -> h10 -> h11 -> ........11.. . h8 -> h9 -> ..111....... . h2 -> h3 -> h4 -> .....111.... . h5 -> h6 -> h7 -> 11.......... . h0 -> h1/leech 


( тАЬ тАЭ) . , тАУ 2, .. (тИЕ). , тАЬ тАЭ , тАЬ тАЭ ( , ), (тИЕ) ? , : тАС, тАЬтАЭ , ( , я╝Ыя╝Й; тАС, ( ).


, тАЬ тАЭ , тАЬ тАЭ

: LLTR   (clear),  ,   тАЬdepth first traversalтАЭ


( ) , , тАЬ тАЭ, тАС тАж



, тАЬ тАЭ, тАж


Note : , , . .



, ( ), .


: LLTR   (clear);


:


 ..........11 1 hS/seed -> <strong>h11</strong> -> <strong>h10</strong> -> ........11.. . <strong>h9</strong> -> <strong>h8</strong> -> ..111....... . h2 -> h3 -> h4 -> .....111.... . h5 -> h6 -> h7 -> 11.......... . h0 -> h1/leech 


тАЬ Network_ serial тАЭтАж


, :


           switch0 -> switch1 -> switch2 -> switch3 -тФР switch4 <- switch0 <- switch1 <- switch2 <-----------тФШ 


тАж тАЬтАЭ тАЬ switch0 <- switch1 <- switch2 тАЭ. :


                                 switch0 -> switch4 -тФР switch3 <- switch2 <- switch1 <- switch0 <-----------тФШ 


:


рдЖрд░реЗрдЦ: рд╕реНрд╡рд┐рдЪ рдХрд╛ рд╕реАрд░рд┐рдпрд▓ рдХрдиреЗрдХреНрд╢рди;  рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд▓рд┐рдП рдпрд╛рддрд╛рдпрд╛рдд рдкреНрд░рд╡рд╛рд╣ рдкрде


, , , !


Note : , .. тАЬ тАЭ.


Note : тАЬ тАЭ, тАЬ тАЭ ( ; тАУ L0 ) тАУ .


, тАЬ тАЭ .


Note : , тАУ .


() : тАЬ тАЭ ( LLTR 0:: : тАЬ тАЭ ) :


  1. тАУ ;
  2. тАУ ;
  3. тАУ ( );
  4. тАУ ( ) тАУ , .


Note : тАЬ тАУ тАЭ тАЬ , тАЭ, , , .


Note : тАУ ( ). тАУ ( ) . , ( ): ( ); ( ).


:


                                                    тЧП  тЧП                                     [] тЦ║      [   (тИЕ),    (тж▒)]                    [   ]                               [  ] тЦ║ /                     [ "" ] тЦ║ /             [    ]    [     ]                   [   ] тЦ║   тЧП [      /] тЦ║   тЧП 


тАЬ тАЭ тАЬ Network_ serial тАЭ :


 1 1........ hostS/seed -> host0 -> . .......11 host7 -> host8 -> . .11...... host1 -> host2 -> . ...11.... host3 -> host4 -> . .....11.. host5 -> host6/leech 


тАЬ тАЭ, .


тАЬ тАЭ . тАЬ тАЭ :


 s0) ..........11 1 hS/seed -> h10 -> h11 -> s1) ........11.. . h8 -> h9 -> s3) ..111....... . h2 -> h3 -> h4 -> s4) .....111.... . h5 -> h6 -> h7 -> s5) 11.......... . h0 -> h1/leech 


? , , , ( ):


 s0 -> s1 -> s2 -> s3 -тФР  тФМ- s4 <- s2 <------тФШ  тФФ------> s2 -> s5 


Note : тАЬ s# тАЭ тАЬ тАЭ (. ).


# TL;DR


:


  1. (~~ kтАСmedoids ~~) + (тИЕ), (тж▒) + :
    1. a min a max
    2. 2
      1. + (тИЕ), (тж▒)
    3. :
      1. ( : )
      2. ( O(nlogn) O(1) )
      3. ( nth_element implementations complexities )
    4. a medL (medLow) a medR (medHi)
    5. 2 ,
    6. +
  2. + тАЬтАЭ :
    1. + тАЬтАЭ
    2. + bitCount ( max min)
  3. :
    1. min (min) (max) ( ) , ;
      bitCount(a i )==bitCount(a i |a min ) , : a i ==a i |a min
    2. , ( ) тАУ
    3. min ( )
  4. () :
    1. ( тАЬтАЭ тАЬтАЭ)
  5. :
    1. тАЬтАЭ, max , or|=a i , a max &=~or
      ( тАЬ a max ^=or тАЭ тАУ )

    2. ( a max a min , .. , )
  6. /:
    1. (RingSync)


Note : Git , .



. ( ), .

тАЬ , тАЭ


, , (тАЬ {тАж} тАЭ) () . ():


 //    "  " int ...;{   //    "" } 


тАЬтАЭ, ():


 //==[Name]==// int ...;{   ... } 


, :


Tensors Flowing

? TensorsFlowing


рдпрд╛рдиреА тАУ , тАЬ, тАЭ тАУ .


?
:


  • тАУ ( ) , . тАЬтАЭ , .. тАЬтАЭ тАЬтАЭ . , тАЬ тАЭ, .
  • тАУ тАЬтАЭ / , , . . , (Interprocedural optimization, Whole program optimization; LinkтАСtime optimization) тАЬтАЭ тАУ .


Note : : .. (2D/3D , , *, тАж). (), , , ( , , 24 , ; , ACPI ), ( ) , я╝Ъя╝И. (, , тАж) , тАС . , , тАС. ( тАЬтАЭ тАЬтАЭ), тАЬ *тАЭ. , тАУ , , , . () тАУ , . тАУ ( ), . тАУ , //тАС/ /. (debug) тАС .


Note : Debug , (, тАУ { 9 , ; тАУ ├Ч16 ( 1.2 1.5); тЖТ }), warning' .


Note : , , , тАС. , , ( тАЬ тАЭ ) .



# Tooo Long; Didn't Read; Visualize, plz.


Note : , ( GIF тАЬTensorsFlowingтАЭ тАЬ тАЭ). GIF тАЬTensorsFlowingтАЭ GIF тАЬ Loop over python list animation тАЭ. , GIF , тАЬ тАЭ / . , тАС 1:1, тАЬ тАЭ.


#


Note : GIF ( тАЬLoop over python list animationтАЭ), . , , . ( я╝Ыя╝Й


Note : ( ) ( ). , .


Note : GIF ( тАЬScroll DownтАЭ) тАУ (Ctrl+R), GIF . ( , ; , тАС <oembed> ? )


рдПрдирд┐рдореЗрд╢рди: рдмрд╛рдЗрдирд░рд╛рдЗрдЬреЗрд╢рди

#1

 int average;{      int max,min;      max=min=countFill[i][0];      for(int j=1;j<numHosts;j++){            max=countFill[i][j]>max?countFill[i][j]:max;            min=countFill[i][j]<min?countFill[i][j]:min;      }      average=(max+min)/2; } 

:  тАУ  1


Note : GIF тАж



#2

 int lo=0; struct CnN{      int Count; }iFill[numHosts]; for(int j=0,hi=numHosts-1;j<numHosts;j++){      if(countFill[i][j]<average) iFill[lo++].Count=countFill[i][j];      else                       iFill[hi--].Count=countFill[i][j]; } bitCluster[i]=0; if(lo==0||lo==numHosts) continue; //-      


Note : ( ) .


:  тАУ  2


#3

 int averageMed;{      CnN *iFillLo=&iFill[0];      CnN *iFillHi=&iFill[lo];      const int hi=numHosts-lo;      if(lo>1) std::nth_element(iFillLo,&iFillLo[lo/2],&iFillLo[lo],[](const CnN a,const CnN b){return a.Count<b.Count;});      if(hi>1) std::nth_element(iFillHi,&iFillHi[hi/2],&iFillHi[hi],[](const CnN a,const CnN b){return a.Count<b.Count;});      averageMed=(iFillLo[lo/2].Count+iFillHi[hi/2].Count)/2; } 

:  тАУ  3


Note : std::nth_element() , , ( + = ).



#4

 for(unsigned int j=0;j<numHosts;j++) bitCluster[i]|=( (countFill[i][j]<averageMed)?1:0 )<<j; 

:  тАУ  4


#5

 bitCluster[i] = bitCluster[i]^(1<<((i/(numHosts-1))+(i%(numHosts-1)+1))%numHosts) ? bitCluster[i]:0; 

:  тАУ  5


Note : GIF Git ред ReadMe ( ; тАС , ).



тАС OMNeT++ тАЬ тАЭ, тАЬ DAT_EX.h тАЭ.



...


#


3тАС 1.92 , , 1.6 - 2 . , 3тАС ( ) ( Go тАУ 2 , тАУ 2 - 4 ). (4 ), 2.5 LLTR.


+ TODO' + .


, тАС , , , 2 .


Note : , / , тАж


рд╕реНрдкреЙрдЗрд▓рд░

2 ?



?


, , . , , 2 . .





# Tooo Long; Didn't Read; Visualize, plz.


TODO[old]: (1 тАУ gif_1, , 2 тАУ gif_2, , тАж)


TODO: ,


:   & тАУ   тАС

? ( )


TODO: ( GIF тАЬTensorsFlowingтАЭ, тАС тАУ ),


( Note, GIF , , , YouTube. : 4:2:0 TVтАС ( 16 - 235 ). , тАУ (). : SVG тАУ , тАЬ тАСтАЭ; SWF тАУ RIP)


# ?


( ), std (, ) ( );


( тАЬ 1 тАЭ == тАЬ 1 тАЭ ). рдПрдХ рдЙрджрд╛рд╣рд░рдг:


 0) 111111111111 1) 1111111111.. 2) 11111111.... 3) ..111....... 4) .....111.... <-  ,     2тАС,  3тАС 5) 11.......... 


(.. ), .. тАЬ 1 тАЭ ( ) (. тАЬ тАЭ тАЬ тАЭ). тАЬ 1 тАЭ, ..:


 0) 111111111111 1) 1111111111.. 0 2) 11111111.... 1 3) ..111....... 2 4) .....111.... 2 5) 11.......... 4 


( , тАУ + (+), )


( тАЬтАЭ). CPU, + . , , , , .


...



3: OMNeT++

LLTR 3: OMNeT++


Golang. ( , )


( , OMNeT++ c Qtenv)


( тАЬbackground/freshтАЭ тАЬ.nedтАЭ {тАЬ grey99 тАЭ тЖТ тАЬ -,-,0;bgi=background/fresh тАЭ}, тАЬblueprint/print-26.pngтАЭ Qtenv тАЬLLTR 1:: тАЭ)


( , тАЬOMNetProject (v0.9) lltdappтАЭ)


( , тАЬhostSтАЭ тАУ ( ) . , , тАУ broadcast , unicast , .. тАУ , . , тАУ тАЬ тАЭ. тАЬ тАУ тАЭ, : тАЬ тАЭ тАУ тАЬSerialтАЭ тАЬ 1тАЭ ( тАУ тАЬ тАЭ). тАУ (, , broadcast unicast )[ rand , , тАУ , тАУ ])


( Precision Time Protocol (PTP) 2016-04-12)


( тАУ , , тАЬa3_v0.3_ft0.1.0тАЭ, тАЬa3_v0.3.0тАЭ тАУ , ; тАЬftтАЭ тАУ fixed time)


.


TODO [x]: , , . тАЬ TODO [x]тАЭ тАЬ тАЭ ( )


рд╕рдВрджрд░реНрдн:




4:

LLTR 4:


Wolfram Mathematica тАУ Numbers (last episode 1 season) тАУ .



тИА habrauser тИИ {user тИИ Habrahabr | user тАЬтАЭ},

, тАЬтАЭ .



(, . )


рд╕рдВрджрд░реНрдн:



, (hostsCount) тАУ . . ? (: )


(, тАЬтАЭ, {тАЬтАЭ,тАЬтАЭ,тАЬтАЭ})


( ( ) [ ; тАЬ тАЭ], тАУ nтАС тАЬ тАЭ; , LLTR, )


Permutation of bitsets (тАЬlexicographicтАЭ order) derivation (mathematical induction)

( , __ [ , , , ]):


 n=4; k=2 bitset  i 0011 <- 0 0101 <- 1 1001 <- 2 0110 <- 3 1010 <- 4 1100 <- 5 


Note: , .. bitset k i < bitset k i+1 , i тАУ тАЬ тАЭ; k тАУ ; n тАУ .


тАЬтАЭ ( ; /; , тАЬтАЭ/), ?


  • ( тАЬB9тАЭ) ( тАЬ тАЭ O_o; , )
  • тАЬ _tmain() тАЭ ( )
  • , , тАУ тАЬ med() тАЭ тАЬ demed() тАЭ


, :



:
тАЬ тАЭ (тАЬ тАЭ; тАЬPermutations of multisetsтАЭ).
рдЕрдВрддрд░ рдХреНрдпрд╛ рд╣реИ? ( [abcdef]), ( [000011]).
, ( ):


 a => 0 b => 0 c => 0 d => 0 e => 1 f => 1 


, , .. , , [abcdfe] тЗТ [000011], [000011] . (, )


{{000011}}.
{abcdef} 6! ( nuclphys.sinp.msu.ru/mathan/p1/m0204.html ).
.
, , ( [000011]) , ( (тАЬ1тАЭ) 2! ├Ч (тАЬ0тАЭ) 4! ) = 2! ├Ч 4! = 2! ├Ч (6тИТ2)! ред
= 6! тИХ (2! ├Ч (6тИТ2)!).


( nuclphys.sinp.msu.ru/mathan/p1/m0204.html ), ( ru.wikipedia.org/wiki/?stable=1 ) тАУ . . тАЬ тАЭ ( ru.wikipedia.org/wiki/?stable=1 ), тАЬтАЭ тАЬ1тАЭ тАЬ0тАЭ тАУ ( ru.wikipedia.org/wiki/?stable=1#___ ).


EN: тЖТ тЖТ combination: ( kтАСcombination with repetitions / kтАСmulticombination / multisubset ), ( en.wikipedia.org/wiki/Combination?stable=1#Example_of_counting_multisubsets ), тАЬStars and BarsтАЭ ( en.wikipedia.org/wiki/Stars_and_bars_(combinatorics)?stable=1#Proofs_via_the_method_of_stars_and_bars ). (/ ): тАЬ1тАЭ тАУ Star, тАЬ0тАЭ тАУ Bar.


, тАЬStars and BarsтАЭ тАЬтАЭ ( тАЬ тАЭ тАУ kтАСcombination with repetitions) тАЬ тАЭ (permutations of multisets): en.wikipedia.org/wiki/Permutation?stable=1#Permutations_of_multisets .
RU: ru.wikipedia.org/wiki/?stable=1#__


PS stackoverflow.com/a/24257996 , ( тАУ : n!тИХ((nтИТk)!); nтй╡k; (nтИТk)!тЗТ1; n! ).


PPS [ alisey Trif ] тАС / ( тАЬPermutations of multisetsтАЭ), ?




5: OMNeT++ 2

LLTR 5: OMNeT++ 2



( LLTR-Process sequence, тАУ { тАЬLLTD-Process (vFinal)тАЭ}, тАУ , i тЖТ dstId, )


рд╕рдВрджрд░реНрдн:




6+7: +

LLTR 6:


, Golang.


рд╕рдВрджрд░реНрдн:



LLTR 7: (: тАЬ тАЭ тАУ )


( 4 { //WiтАСFi}, 3 ? тАУ 2 ! тАУ MacBook, WiтАСFi Ethernet Thunderbolt)


( , тАЬ тАЭ, , тАЬ тАЭ)


( WiтАСFi UDP broadcast тАУ WNIC //. : How to override wifi broadcast speed limit? , Why does my UDP Broadcast wireless communication is capped at 1MBs? . 3 Mbps, 5 Mbps { }. MacBook {WiтАСFi } SuperтАС, broadcastтАС, unicast, {WiтАСFi- тАС} unicastтАС broadcast { тАУ WiтАСFi}. , WiтАСFi- тАУ CPU . тАС.)


( UDPтАС, !? : Windows тАЬтАЭ {Windows NIC ?..}, API, тАЬ CPUтАЭ { Win8 API, тАж (. тАЬLLTD/flood/main.goтАЭ)}. тАЬ тАЭ. тАУ API , тАЬтАЭ . *nix { API}, , тАЬтАЭ {. тАЬLLTD/flood/main.goтАЭ}. : тАЬ iperf3 and microbursts тАЭ)


( тЖТ . { ; SMB}: тЖТ тЖТ тЖТ MacBook . , .)


( тАЬLLTD/Prepare test environment.txtтАЭ)


рд╕рдВрджрд░реНрдн:



( тАЬLLTD/Client.goтАЭ, тАЬтАСтАЭ тАУ тАЬLLTD/flood/main.goтАЭ)


( {Client1} NIC , тАУ , , тАЬ тАЭ : тАЬ interface always deadтАЭ)


Note: тАУ WiтАСFi ( ADSLтАС/, ADSL тАУ )


Note: тАС : тАЬтАЭ 100 Mbps unicast ; 100 Mbps broadcast . ( , /, )



TODO : : ( тАУ ; ; +1/тИТ1 ). Google Wave, Google Docs, Discus. :


  • тАУ
  • тАУ ,
  • :
    • , (.. ) тАУ тАЬтАЭ тАЬ тАЭ тАУ (.. тАЬтАЭ )


UserJS/UserCSS, , , .. , .


тАУ тАУ , UI (, , ) ( , тАЬтАЭ). тАЬтАЭ UserCSS. , , , ( ), ( ) ( ).


( ) ( ). ( UserJS UserCSS; Opera Presto , Firefox )


тАУ тАЬ OMNeT++ 2тАЭ.


TODO [x]: () + , + , , OMNeT++ v5.0b1 INET v3.0.0 + , ( ), тАУ /


:



( ) (), . тАЬ тАЭ тАУ , .


Note : тАУ , ( ) тАУ .


тАЬ тАЭ, , тАЬ тАЭ.


тАЬ тАЭ, , :


:    TOP SECRET


тАУ . , тАУ тАЬ тАЭ.


Note : тАЬтАЭ тАУ ( тИТ1 ) ( ) (: ; ; тАУ ); тАЬтАСтАСтАСтАЭ тАУ ( ) , , ( ), , { тАЬтАЭ ( ) тАУ , , тАЬ ?тАЭ; + тАЬ ' ', тАЭ, : (cookie) viewтАСonly}


Note : (тАС)



LLTD v1 тАУ TCP ( map?), ,
() ,


LLTD v0.9 тАУ client , ( )


v0.5 Go
IP, github.com/hashicorp/mdns
github.com/davecheney/mdns
grokbase.com/t/gg/golang-nuts/132tcpawde/go-nuts-udp-multicast-who-is-on-my-network


PS ( ) тАЬ тАЭ.
r=rand();
r, .
:
1. тАС . , тАУ . + ┬▒ ( тАЬтАЭ ).
2. тАЬтАЭ. ( , ; ) + ( тАЬтАЭ )


iperf3 and microbursts burntchrome.blogspot.ru/2016/09/iperf3-and-microbursts.html



# CheckтАСlist (TODO's)


TODO, .


PNG{SVG} (SVG thumbnail PNG) :


  1. PNG:
    1. [ 778px, 756px] тАС ( . )
    2. тАС 7z (un[7z]me), ( тАУ тАЬ тАЭ, тАС , тАС )
      • [ Photoshop] тАЬSave for WebтАЭ тЖТ PNG 24+alpha
      • [ GIMP] тАЬ8bpc RGBAтАЭ ( ), тАЬ Save for Web тАЭ
    3. 256 + alphaтАС
    4. тАЬтАЭ , Image Catalyst ( тАЬтАЭ 2 : 2.1 2.5 , ):
      1. тАЬтАЭ Image Catalyst 2.1 ([5] Xtreme profile)
        Tools\config.ini

         [options] ;         ,    "true"  "false". fs = true ;    PNG.    0,       %NUMBER_OF_PROCESSORS%. threatpng = 0 ; .          ,    "true"  "false". up = false [JPEG] ; Metadata.       Metadata  JPEG,    "true"  "false" ,   . dc = true   ;Delete comment field (as left by progs like Photoshop & Compupic). de = true   ;Strip Exif section (smaller JPEG file, but lose digicam info). di = true   ;Delete IPTC section (from Photoshop, or Picasa). dx = true   ;Deletex XMP section. du = true   ;Delete non image sections except for Exif and comment sections. [PNG] ; ColorType  BitDepth.      ColorType  BitDepth  PNG,    "true"  "false". nc = true ; -.       "Dirty Transparency"  PNG c -,    "true"  "false". na = true ; Chunks. ;     Chunks   Chunks,   "remove"       Chunks   Chunks,   . ;     Chunks   Chunks,   "keep"       Chunks   Chunks,   . ; Chunks: ;text = iTXt,tEXt,zTXt ;color = cHRM,sRGB,iCCP,gAMA ;misc = bKGD,pHYs,sBIT,sPLT,hIST,tIME ;all  = all of noncritical chunks hunks = remove all 


        Note : тАЬ Image Catalyst 2.1 . Enter. тАЭ, , , ( тАЬImage Catalyst 2.1тАЭ тАЬImage-Catalyst-2.1тАЭ)


      2. тАЬтАЭ Image Catalyst 2.5 ([1] Xtreme profile)
        Tools\config.ini

         [options] ;Number of streams. If value early 0, is used value of parameter %NUMBER_OF_PROCESSORS%. thread=0 ;Automatic replacement of original images by the optimized. outdir=true ;Check update update=false [PNG] ;Parameters of optimization of PNG: ;/a# - PNG dirty transparency 0=Clean, 1=Optimize; ;/g# - PNG gamma 0=Remove, 1=Apply & Remove, 2=Keep; ;/na - PNG don't change RGB values for fully transparent pixels; ;/nc - PNG don't change ColorType and BitDepth; ;/np - PNG don't change Palette. xtreme=/a1 /g0 advanced=/a0 /g0 ;Remove PNG Metadata (Chunks). chunks=true [JPEG] ;Remove JPEG Metadata. metadata=true [GIF] ;Remove GIF Metadata. giftags=true 


        Note : тАЬ Attention: running 2 of Image Catalyst. тАЭ, , , ( тАЬiCatalyst-2.5тАЭ)



      3. merge_min.bat

         @echo off setlocal enabledelayedexpansion :: Copy file from source to destination directory only if :: source file is smaller in size than in destination directory echo Src dir: %~f1 echo Dst dir: %~f2 echo --- for /r "%~1" %%A in (*) do ( set FileA=%%~fA set FileB=!FileA:%~f1=%~f2! set FileASize=%%~zA for %%Z in ("!FileB!") do set FileBSize=%%~zZ if !FileASize! LSS !FileBSize! copy "!FileA!" "!FileB!" ) 

    5. тАЬ.svgтАЭ ( ) тАУ (SVG) (un[7z]me)
  2. SVG:
    1. {SVG 1.1; UTF-8; ; : ; : тАЬ1:100тАЭ; } ( , 2 тАУ 1тАС )
    2. transform SVG ( 90 ) ( SVG ):
      1. DevTools transform ( тАЬ [transform] тАЭ)
      2. тАЬ Rotate90AndSwapWH() тАЭ ( тАЬ тАЭ)
        Rotate90AndSwapWH()

         Sub Rotate90AndSwapWH()   Dim sr As ShapeRange, s As Shape, w#, h#   Set sr = ActiveSelectionRange   On Error Resume Next   boostStart2 "Rotate 90 and Swap WH"   For Each s In sr       s.GetSize w, h       s.Rotate -90       s.SetSizeEx s.CenterX, s.CenterY, w, h   Next s   boostFinish2 End Sub 


        + boostStart2/boostFinish2:



        :


         Private Sub boostStart2(ByVal unDo$)   On Error Resume Next   ActiveDocument.BeginCommandGroup unDo   Optimization = True   EventsEnabled = False End Sub Private Sub boostFinish2()   On Error Resume Next   EventsEnabled = True   Optimization = False   ActiveWindow.Refresh   ActiveDocument.EndCommandGroup   'Refresh End Sub 

    3. :
      • :
        • ( [, ] )
        • ( )
    4. ( )
    5. XML ( )
      1. ( ):
        • тАЬ DOCTYPE тАЭ тАЬ Creator тАЭ тАЬ 96ppi тАЭ ( ppi CorelDRAW SVG)
        • тАЬ metadata тАЭ, тАЬ id тАЭ ( )
        • svg:
          1. тАЬ xmlns тАЭ тАЬ xml:space тАЭ
          2. тАЬ xmlns:xlink тАЭ
          3. [, тАЬ style тАЭ тАЬ fill-rule:evenodd; clip-rule:evenodd тАЭ] тАЬ version тАЭ тАЬ style тАЭ ` style="margin:16px auto" shape-rendering="geometricPrecision" fill-rule="evenodd" clip-rule="evenodd" xmlns="http://www.w3.org/2000/svg" version="1.1" baseProfile="full" `
        • ( ) ` " ` ` " `
      2. ( <rect> <g>), , тАЬ viewBox тАЭ ( <svg>)
        • , SVG , CorelDRAW тАУ , , , ( , )
      3. SVG optimiser :
        • :
          • Whitespace: pretty
          • Style type: optimal
          • Truncate * numbers: unchanged
          • ( , тАЬRemove clean groupтАЭ, )
        • <svg>
        • <style> тАУ SVG optimiser CDATA ( )
      4. XML
  3. PNG SVG:
    1. тАЬPNG_SVG.batтАЭ ( 7-Zip SVG: тАЬ -txz -m0=LZMA2:lc1:pb0 -mx тАЭ)
      PNG_SVG.bat

       @echo off setlocal enabledelayedexpansion :: PNG+7Zip{SVG} echo PNG dir: %~f1 echo SVG dir: %~f2 echo --- for /r "%~2" %%A in (*.svg) do ( set SVG=%%~fA set PNG=!SVG:%~f2=%~f1!.png "%ProgramFiles%\7-Zip\7z.exe" a dummy -txz -m0=LZMA2:d96m:fb74:lc1:pb0 -mx -so -- "!SVG!" >> "!PNG!" ) 


      тАЬ LZMA2:d96m:fb74:lc1:pb0 тАЭ?


      тАС ( тАЬRingSync_no_problem.svgтАЭ):


       - "LZMA2:d96m:fb64"        6804 byte - "LZMA2:d96m:fb74"        6800 byte - "LZMA2:d96m:fb74:lc2"    6812 byte - "LZMA2:d96m:fb57:lc2"    6780 byte - "LZMA2:d96m:fb57:lc1"    6768 byte - "LZMA2:d96m:fb56:lc1"    6760 byte - "LZMA2:d96m:fb49:lc1"    6760 byte - "LZMA2:d96m:fb56:lc1:pb0" 6696 byte - "LZMA2:d96m:fb46:lc1:pb0" 6688 byte (fb44-fb47) - "LZMA2:d96m:fb63:lc1:pb0" 6688 byte - "LZMA2:d96m:fb66:lc1:pb0" 6684 byte - "LZMA2:d96m:fb74:lc1:pb0" 6692 byte 


      svg тАЬ LZMA2:d96m тАЭ (fb64), тАЬ LZMA2:d96m:fb74:lc1:pb0 тАЭ .



Note : Image Catalyst: ping timeout, ( 2.5) ( 2.1 тАУ )


Image Catalyst.bat

v2.1 diff:


 182c182 < if defined thrt >nul 2>&1 ping -n 1 -w 500 127.255.255.255 & goto:waithreat --- > if defined thrt >nul 2>&1 timeout /t 1 /nobreak & goto:waithreat 203c203 < 1>nul 2>&1 ping -n 1 -w 500 127.255.255.255 --- > 1>nul 2>&1 timeout /t 1 /nobreak 237c237 < if exist "%~1" (1>nul 2>&1 ping -n 1 -w 500 127.255.255.255 & goto:waitflag) --- > if exist "%~1" (1>nul 2>&1 timeout /t 1 /nobreak & goto:waitflag) 513c513 <     if exist "%tmppath%\typelog.lck" (1>nul 2>&1 ping -n 1 -w 500 127.255.255.255 & goto:savelog) --- >     if exist "%tmppath%\typelog.lck" (1>nul 2>&1 timeout /t 1 /nobreak & goto:savelog) 534c534 < if "%jpeg%" equ "0" if "%png%" equ "0" 1>nul ping -n 1 -w 500 127.255.255.255 2>nul & goto:finmessage --- > if "%jpeg%" equ "0" if "%png%" equ "0" 1>nul timeout /t 1 /nobreak 2>nul & goto:finmessage 572c572 <     1>nul ping -n 1 -w 500 127.255.255.255 2>nul --- >     1>nul timeout /t 1 /nobreak 2>nul 


V2.5 diff:


 319,320c319 <     call:division float 1024 100 <     call:echostd " In   - !float! " --- >     call:echostd " In   - !float! " 322d320 <     call:division change 1024 100 324,325c322 <     call:division float 1024 100 <     call:echostd " Out  - !float!  (!change! , %5%%%%%%)" --- >     call:echostd " Out  - !float!  (!change! , %5%%%%%%)" 362,363c359,360 < set /a "ww=%random%%%%1" < 1>nul 2>&1 ping -n 1 -w %ww% 127.255.255.255 --- > set /a "ww=%random%%%%1/1000" > 1>nul 2>&1 timeout /t %ww% /nobreak 707c704 < if %jpeg% equ 0 if %png% equ 0 if %gif% equ 0 1>nul 2>&1 ping -n 1 -w 500 127.255.255.255 & goto:finmessage --- > if %jpeg% equ 0 if %png% equ 0 if %gif% equ 0 1>nul 2>&1 timeout /t 1 /nobreak & goto:finmessage 741d737 < call:division changePNG 1024 100 747d742 < call:division changeJPG 1024 100 753d747 < call:division changeGIF 1024 100 800c794 <     call:echostd " Total %1:        %%change%1%% , %%perc%1%%%%%%" --- >     call:echostd " Total %1:        %%change%1%% , %%perc%1%%%%%%" 


Note : Image Catalyst ( ) CP866, diff, , .



:


  • 778px тАУ (780px тАУ тИТ 2px )
    • 756px тАУ (758px тАУ тИТ 2px )
    • 738px тАУ (740px тАУ тИТ 2px )
  • Image Catalyst v2.1 v2.5, ( тАЬ merge_min.bat тАЭ).
  • тАУ : habrastorage тАЬdwbmwbyvlzes80cep1hvcdb5iy.pngтАЭ () HTTPтАС тАЬ Content-Disposition : inline ;... тАЭ, , , (): тАЬdwbmwbyvlzes80cep1hvcdb5iy.png#real-name.pngтАЭ. , тАУ ( ). SVG тАУ (), , тАж
  • (id, name). . ( тАУ , , тАУ )
  • , ( ).
  • тАС (un[7z]me), habrastorage тАУ , CloudFlare Polish .


Note : habrastorage SVG ( ): ( ), PNG{SVG} ( SVG, , тАУ ) ( , , / тАУ тАС / , )


git:


  • git tag git тАЬgit-tag-тА╣тА║тАЭ .
  • git , / , тАЬarticle_#тАЭ. ( LLTR Simulation Model )
  • ( тАЬhttpтАЭ), ( ) web.archive.org, sohabr.net:
     var res=str.match(/http[^#)\s]*/gm); var res_l=res.length; for(var i=0;i<res_l;i++) console.log(res[i]); var archive = res.filter(function(a){return a.search(/(omnetpp.org\/doc\/omnetpp\/manual\/#|wikipedia|\/github.com\/)/)==-1;}); 
    • , web.archive.org sohabr.net .
    • habrahabr.ru habr.com, .. web.archive.org ( , ).
  • , Wikipedia тАЬ?stable=1тАЭ.
  • () MediaWiki (тАЬ#.D0.AD.D0.B2.D1.80.D0.B8.D1.81тАжтАЭ; тАЬwikipediaтАЭ, тАЬ#.D0тАЭ) (тАЬ#тАжтАЭ).
  • C ( ) + Git.
  • [ тАЬ 2тАЭ] (тАЬLLTR #::тАЭ), тАЬtitleтАЭ ( ).
  • (id, name), (, тАЬ#тАЭ) ( title тАЬ тАЭ).
    • sohabr.net ` id ` ( ), ` <a name=""></a> `?
    • тАЬUnicode Link SymbolтАЭ (U+1F517; тАЬ&#128279;тАЭ) , (Chrome , , ), .. .
  • (<hr />) тАУ , UserCSS ( UserCSS ).
  • ` <p><br /></p> `, UserCSS ` <br /> `, ` margin ` ` <p> ` ( ).
    • `<p> ` , MarkdownтАж (, ` <p> ` info , , UserCSS, ).
  • height ( тАС), , width.
  • тАЬ Full width brackets тАЭ ( ; , ).
  • тАЬ ?тАЭ
    • ( , , ). , ( ) , . , тАУ . , ( ). /, . //, тАУ .
    • тАЬ тАЭ.
  • habrahabr.ru/info/help/posts/ ( , old )
    , howтАСto тАУ ┬л ┬╗ (tutorial), ;
  • .


Note : habrahabr <oembed> , GitHub , .


Note : TODOтАС , 43 KiB ( тАЬ 0тАЭ), 69 KiB ( тАЬ 1тАЭ), 45 KiB ( ).




DOI: 10.5281 / zenodo.1407060

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


All Articles