рдпрд╣ рд▓реЗрдЦ HEngine рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдФрд░ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдкрд░ рд╣реЗрдорд┐рдВрдЧ рдХреА рджреВрд░реА рдХреА рдЧрдгрдирд╛ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдЧрд╛ред
рдкрд░рд┐рдЪрдп
рд╣рд╛рдорд┐рдВрдЧ рджреВрд░реА рд╕рдорд╛рди рд▓рдВрдмрд╛рдИ рд╡рд╛рд▓реА рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдкрджреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдЪрдбреА (
1 0
0 ,
0 0
1 ) = 2ред
рдкрд╣рд▓реА рдмрд╛рд░, рд╣реИрдорд┐рдВрдЧ рджреВрд░реА рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ 1969 [1] рдореЗрдВ рдорд┐рдиреНрд╕реНрдХреА рдФрд░ рдкреИрдкрд░реНрдЯ рджреНрд╡рд╛рд░рд╛ рдкреЗрд╢ рдХреА рдЧрдИ рдереА, рдЬрд╣рд╛рдБ рдХрд╛рд░реНрдп рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЙрди рд╕рднреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рдЦреЛрдЬ рдХрд░рдирд╛ рдерд╛ рдЬреЛ рдХрд┐ рдЕрдиреБрд░реЛрдз рдХрд┐рдП рдЧрдП рд╣реИрдорд┐рдВрдЧ рджреВрд░реА рдХреЗ рднреАрддрд░ рд╣реИрдВред
рдРрд╕рд╛ рдХрд╛рд░реНрдп рдЕрд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╕рд░рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдкреНрд░рднрд╛рд╡реА рд╕рдорд╛рдзрд╛рди рдХреА рдЦреЛрдЬ рдЕрднреА рднреА рдПрдЬреЗрдВрдбреЗ рдореЗрдВ рд╣реИред
рд╣реИрдорд┐рдВрдЧ рдХреА рджреВрд░реА рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рддреА рд╣реИ, рдЬреИрд╕реЗ рдирдЬрд╝рджреАрдХреА рдбреБрдкреНрд▓рд┐рдХреЗрдЯ, рдкреИрдЯрд░реНрди рдорд╛рдиреНрдпрддрд╛, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╡рд░реНрдЧреАрдХрд░рдг, рддреНрд░реБрдЯрд┐ рд╕реБрдзрд╛рд░, рд╡рд╛рдпрд░рд╕ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛, рдЖрджрд┐ред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдорд╛рдВрдХреВ рдФрд░ рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдиреЗ рд╣реЗрдорд┐рдВрдЧ рджреВрд░реА рдЧрдгрдирд╛ [2] рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡реЗрдм рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЛ рдЕрдиреБрдХреНрд░рдорд┐рдд рдХрд░рддреЗ рд╕рдордп рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХреЛ рдХреНрд▓рд╕реНрдЯрд░ рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рджрд┐рдпрд╛ред
рдорд┐рд▓рд░ рдФрд░ рджреЛрд╕реНрддреЛрдВ рдиреЗ рдПрдХ рджрд┐рдП рдЧрдП рдСрдбрд┐рдпреЛ рдЯреБрдХрдбрд╝реЗ [3], [4] рджреНрд╡рд╛рд░рд╛ рдЧрд╛рдиреЗ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХрд╛ рднреА рдкреНрд░рд╕реНрддрд╛рд╡ рд░рдЦрд╛ред
рдЗрд╕реА рддрд░рд╣ рдХреЗ рд╕рдорд╛рдзрд╛рди рдЫрд╡рд┐ рдЦреЛрдЬ рдФрд░ рд░реЗрдЯрд┐рдирд╛ рдорд╛рдиреНрдпрддрд╛ [5], [6], рдЖрджрд┐ рдХреЗ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдереЗред
рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╡рд░реНрдгрди
рдмрд╛рдЗрдирд░реА рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕
рдЯреА рдХрд╛ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реИ, рдЖрдХрд╛рд░
рдПрди рдХрд╛ , рдЬрд╣рд╛рдВ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рд▓рдВрдмрд╛рдИ
рдореАрдЯрд░ рд╣реИ ред рдЕрдиреБрд░реЛрдзрд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рд╣реИрдорд┐рдВрдЧ рджреВрд░реА
k ред
рдХрд╛рд░реНрдп рдЙрди рд╕рднреА рд░реЗрдЦрд╛рдУрдВ рдХреА рдЦреЛрдЬ рдХрд░рдирд╛ рд╣реИ рдЬреЛ рджреВрд░реА
k рдХреЗ рднреАрддрд░ рд╣реИрдВред
рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреА рдореВрд▓ рдЕрд╡рдзрд╛рд░рдгрд╛ рдореЗрдВ, рд╕рдорд╕реНрдпрд╛ рдХреЗ рджреЛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рд╕реНрдерд┐рд░ рдФрд░ рдЧрддрд┐рд╢реАрд▓ред
- рдПрдХ рд╕реНрдереИрддрд┐рдХ рд╕рдорд╕реНрдпрд╛ рдореЗрдВ, рджреВрд░реА k рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдкреВрд░реНрд╡ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реИред
- рдЧрддрд┐рд╢реАрд▓ рдореЗрдВ, рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЖрд╡рд╢реНрдпрдХ рджреВрд░реА рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдЬреНрдЮрд╛рдд рдирд╣реАрдВ рд╣реИред
рд▓реЗрдЦ рдХреЗрд╡рд▓ рдПрдХ рд╕реНрдерд┐рд░ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред
рд╕реНрдерд┐рд░ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП HEngine рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рд╡рд┐рд╡рд░рдг
рдпрд╣ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
рдХрд╢реНрдореАрд░ <= 10 рдХреЗ рднреАрддрд░ рддрд╛рд░ рдЦреЛрдЬрдиреЗ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИред
рд╕реНрдереИрддрд┐рдХ рд╕рдорд╕реНрдпрд╛ рдХреЗ рддреАрди рд╕рдорд╛рдзрд╛рди рд╣реИрдВ: рд░реИрдЦрд┐рдХ рд╕реНрдХреИрди, рдХреНрд╡реЗрд░реА рд╡рд┐рд╕реНрддрд╛рд░ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рд╡рд┐рд╕реНрддрд╛рд░ред
рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ,
рдХреНрд╡реЗрд░реА рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдЙрди рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рд▓рд╛рдЗрдиреЛрдВ рдХреА рдкреАрдврд╝реА рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдореВрд▓ рд▓рд╛рдЗрди рдХреЗ рд▓рд┐рдП рджрд┐рдП рдЧрдП рджреВрд░реА рдореЗрдВ рдлрд┐рдЯ рд╣реЛрддреЗ рд╣реИрдВред
рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ
рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рддрд╛рддреНрдкрд░реНрдп рдЗрд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рдХрдИ рдкреНрд░рддрд┐рдпреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рд╕реЗ рд╣реИ, рдЬрд╣рд╛рдВ рдпрд╛ рддреЛ рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд┐рдХрд▓реНрдк рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рджреВрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╛ рддреЛ рдЙрддреНрдкрдиреНрди рд╣реЛрддреЗ рд╣реИрдВ, рдпрд╛ рдбреЗрдЯрд╛ рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдмрд╛рдж рдореЗрдВ рдЗрд╕ рдкрд░ рдЕрдзрд┐рдХ)ред
HEngine [8] рд╕реНрдореГрддрд┐ рдФрд░ рдХреНрд░рдо рдХреЗ рдмреАрдЪ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рд╕рдВрддреБрд▓рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрди рддреАрди рддрд░реАрдХреЛрдВ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рд╕рд┐рджреНрдзрд╛рдВрдд рдХреА рдмрд┐рдЯ
рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдПрдХ рдЫреЛрдЯреЗ рдкреНрд░рдореЗрдп рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ рдЬреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмрддрд╛рддрд╛ рд╣реИ:
рдпрджрд┐ рджреЛ рд░реЗрдЦрд╛рдУрдВ рдХреЗ рд▓рд┐рдП
a рдФрд░
b рдХреА рджреВрд░реА HD (
a ,
b ) <=
k рд╣реИ , рддреЛ рдпрджрд┐ рд╣рдо рд╡рд┐рднрд╛рдЬрди рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ
rcut рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рд▓рд╛рдЗрдиреЛрдВ рдХреЛ
a рдФрд░
b рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВ
r > = тМК
k / 2тМЛ + 1
рдЬрдм рдЙрдирдХреА рджреВрд░реА рдПрдХрддрд╛, HD (i,
b i) <= 1 рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛрдЧреА рддреЛ рдХрдо рд╕реЗ рдХрдо
q =
r - тМЛ
k / 2ings рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рдЕрд╡рд╢реНрдп рд╣реЛрдВрдЧреЗред
рдЖрдзрд╛рд░ рд╡рд┐рдзрд┐ рд╕реЗ рдЖрдзрд╛рд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рдЪрдпрди рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
рдПрдХ
рд╡рд┐рднрд╛рдЬрди рдХрд╛рд░рдХ рдирд╛рдордХ рдПрдХ рдореВрд▓реНрдп
рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ
r > = тМК
k / 2тМЛ + 1
рдкрд╣рд▓реЗ
r - (
m mod
r ) рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рд▓рдВрдмрд╛рдИ рд▓рдВрдмрд╛рдИ /
m /
r r рд╣реЛрдЧреА, рдФрд░ рдЕрдВрддрд┐рдо
m mod
r substrings тМИ
m /
r r ред рдЬрд╣рд╛рдВ
рдореАрдЯрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рд▓рдВрдмрд╛рдИ рд╣реИ, тМК рдирд┐рдХрдЯрддрдо рддрд▓ рдкрд░ рдЧреЛрд▓рд╛рдИ рдореЗрдВ рд╣реИ, рдФрд░ рдирд┐рдХрдЯрддрдо рд╢реАрд░реНрд╖ рдкрд░ of рд░рд╛рдЙрдВрдбрд┐рдВрдЧ рд╣реИред
рдЕрдм рдПрдХ рд╣реА рдмрд╛рдд, рдХреЗрд╡рд▓ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде:
рд▓рдВрдмрд╛рдИ
m = 8 рдмрд┐рдЯреНрд╕ рдХреЗ рджреЛ рдмрд╛рдЗрдирд░реА рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рджрд┐рдП рдЧрдП рд╣реИрдВ: A = 11110000 рдФрд░ B = 11010001, рдЙрдирдХреЗ рдмреАрдЪ рдХреА рджреВрд░реА
k = 2 рд╣реИред
рд╣рдо рд╡рд┐рднрд╛рдЬрди рдХрд╛рд░рдХ
рдЖрд░ = 2/2 + 1 = 2 рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рдд, рд▓рдВрдмрд╛рдИ
m /
r = 4 рдмрд┐рдЯреНрд╕ рдХреЗ рдХреБрд▓ 2 рд╕рдмреНрд╕рдЯреНрд░рд┐рдВрдЧ рд╣реЛрдВрдЧреЗред
a1 = 1111, a2 = 0000
b1 = 1101, b2 = 0001
рдпрджрд┐ рд╣рдо рдЕрдм рд╕рдВрдЧрдд рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдмреАрдЪ рдХреА рджреВрд░реА рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХрдо рд╕реЗ рдХрдо (
q = 2 - 2/2 = 1) рдПрдХ рд╕реНрдерд╛рдирд╛рдкрдиреНрди рд╕рдВрдпреЛрдЧ рд╣реЛрдЧрд╛ рдпрд╛ рдЙрдирдХреА рджреВрд░реА рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛрдЧреАред
рд╣рдо рдХреНрдпрд╛ рджреЗрдЦрддреЗ рд╣реИрдВ:
рдПрдЪрдбреА (рдП 1, рдмреА 1) = рдПрдЪрдбреА (1111, 1101) = 1
рдФрд░
HD (a2, b2) = HD (0000, 0001) = 1
рдмреЗрд╕ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ
рд╕рд┐рдЧреНрдиреЗрдЪрд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рдерд╛ред
рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдпрд╛ рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рдП 1 рдФрд░ рдмреА 1 (рдП 2 рдФрд░ рдмреА 2, рдП 3 рдФрд░ рдмреА 3 ..., рдПрдХ
рдЖрд░ рдФрд░ рдмреА
рдЖрд░ ) рдХреЛ рдПрдХ рджреВрд╕рд░реЗ
рдХреЗ рд╕рд╛рде
рд╕рдВрдЧрдд рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдЙрдирдХреЗ рд╡рд┐рднрд┐рдиреНрди рдмрд┐рдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрди рд╣рд╕реНрддрд╛рдХреНрд╖рд░реЛрдВ рдХреЛ
рдорд┐рд▓рд╛рди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдФрд░ HEngine рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рддреИрдпрд╛рд░ рдХрд░рдирд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдорд┐рд▓рд╛рди рд╡рд╛рд▓реЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдвреВрдВрдврдирд╛ рдФрд░ рдлрд┐рд░ рдЙрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рд╣реИрдорд┐рдВрдЧ рджреВрд░реА рдХреЗ рднреАрддрд░ рд╣реИрдВред
рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ
рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрджрд┐ рдЖрдк рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рд╕рдмреНрд╕рдЯреНрд░рд┐рдВрдЧреНрд╕ рдореЗрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХрдо рд╕реЗ рдХрдо рдПрдХ рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдореЗрд▓ рдЦрд╛рдПрдЧрд╛ рдпрд╛ рд╡рд┐рднрд┐рдиреНрди рдмрд┐рдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛрдЧреА (рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдореЗрд▓ рдЦрд╛рдПрдВрдЧреЗ)ред
рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рд╕рднреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд╡рд┐рд╕реНрддреГрдд рд░реВрдк рд╕реЗ рдЦреЛрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рд╣рдореЗрдВ рдЙрди рд╣рд╕реНрддрд╛рдХреНрд╖рд░реЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреНред рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рдЕрдзрд┐рдХрддрдо рдПрдХ рд╕реЗ рднрд┐рдиреНрди рд╣реЛрдВрдЧреЗред
рд▓реЗрдХрд┐рди рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рджреНрд╡рд╛рд░рд╛ рдХреИрд╕реЗ рдЦреЛрдЬреЗрдВ?
рдмрд╛рдЗрдирд░реА рд╕рд░реНрдЪ рд╡рд┐рдзрд┐ рдХреЛ рдЗрд╕рдХрд╛ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рддрд╛рд░ рдХреА рд╕реВрдЪреА рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдПрдХ рд▓рд╛рдЗрди рд╕реЗ рдХрдИ рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд┐рд▓рддреЗ рд╣реИрдВред рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рд╕реВрдЪреА рдкрд░ рдПрдХ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рдкреНрд░рддреНрдпреЗрдХ рд╕реВрдЪреА рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рдХреНрд░рдордмрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛рдПред
рдЗрд╕рд▓рд┐рдП, рдпрд╣ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХреА рд╡рд┐рдзрд┐ рдХреЛ рдмрддрд╛рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддреН, рдХрдИ рддрд╛рд▓рд┐рдХрд╛рдПрдВ рдмрдирд╛ рд░рд╣рд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╡рд┐рдХрд▓реНрдк рдпрд╛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЗ рд▓рд┐рдПред (рдРрд╕реА рддрд╛рд▓рд┐рдХрд╛ рдХреЛ
рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рддрд╛рд▓рд┐рдХрд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛
рд╣реИ ред рдФрд░ рдРрд╕реА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреА рд╕рдордЧреНрд░рддрд╛
рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд╛ рдПрдХ
рд╕рдореВрд╣ рд╣реИ )ред
рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдореВрд▓ рд╕рдВрд╕реНрдХрд░рдг рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдХреНрд░рдорд╛рдВрдХрди рдХрд╛ рднреА рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЪрдпрдирд┐рдд рд╕рдмреНрд╕рдЯреНрд░рд┐рдВрдЧ рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░ рд╣реЛред рдпрд╣ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдЖрд╕рд╛рдиреА рдХреЗ рд▓рд┐рдП рдФрд░ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдЖрдЧреЗ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
рдПрдХ рд▓рд╛рдЗрди A рд╣реИ, рдЬрд┐рд╕реЗ 3 рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, a1, a2, a3, рдХреНрд░рдордкрд░рд┐рд╡рд░реНрддрди рдХреА рдкреВрд░реА рд╕реВрдЪреА рдХреНрд░рдорд╢рдГ рд╣реЛрдЧреА:
рдП 1, рдП 2, рдП 3
рдП 2, рдП 1, рдП 3
рдП 3, рдП 1, рдП 2
рдлрд┐рд░ рдпреЗ рд╕рд┐рдЧреНрдиреЗрдЪрд░ рдЯреЗрдмрд▓ рдЫрд╛рдВрдЯреЗ рдЬрд╛рддреЗ рд╣реИрдВред
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЦреЛрдЬреЗрдВ
рдЗрд╕ рд╕реНрддрд░ рдкрд░, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕реЙрд░реНрдЯ рдХрд┐рдП рдЧрдП рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреА рдХрдИ рдкреНрд░рддрд┐рдпрд╛рдВ рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд▓рд┐рдПред
рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдЕрдЧрд░ рд╣рдо рдкрд╣рд▓реЗ рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рдвреВрдВрдврдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд┐рдП рдЧрдП рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рд╣рдо рд╕рд┐рдЧреНрдиреЗрдЪрд░ рдЯреЗрдмрд▓ рдмрдирд╛рддреЗ рдереЗред
рд╣рдо рдпрд╣ рднреА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЖрд╡рд╢реНрдпрдХ рдкрджрд╛рд░реНрде рдЕрдзрд┐рдХрддрдо рдПрдХ рддрддреНрд╡ рд╕реЗ рднрд┐рдиреНрди рд╣реЛрддреЗ рд╣реИрдВред рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХреНрд╡реЗрд░реА рд╡рд┐рд╕реНрддрд╛рд░ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЗрд╕ рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕рд╣рд┐рдд рд╕рднреА рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрдпрдирд┐рдд рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЕрдВрддрд░ рдЕрдзрд┐рдХрддрдо рдПрдХ рддрддреНрд╡ рд╣реЛрдЧрд╛ред рдРрд╕реЗ рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ + 1 рдХреА рд▓рдВрдмрд╛рдИ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдЧреАред
рдФрд░ рдлрд┐рд░ рдПрдХ рдкреВрд░реНрдг рдореИрдЪ рдХреЗ рд▓рд┐рдП рдЗрд╕реА рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдПрдХ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдЦреЛрдЬ рдХрд░рддреЗ рд╣реИрдВред
рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕рднреА рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рдФрд░ рд╕рднреА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдФрд░ рдмрд╣реБрдд рдЕрдВрдд рдореЗрдВ, рдЖрдкрдХреЛ рдЙрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рд╣реИрдорд┐рдВрдЧ рджреВрд░реА рдХреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реАрдорд╛ рдореЗрдВ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВред рдпрд╛рдиреА рдкрд╛рдпрд╛ рд▓рд╛рдЗрдиреЛрдВ рдкрд░ рдПрдХ рд░реИрдЦрд┐рдХ рдЦреЛрдЬ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХреЗрд╡рд▓ рдЙрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ рдЬреЛ рд╢рд░реНрдд рдПрдЪрдбреА (
рдП ,
рдмреА ) <= рдХреЗ рд╕реЗ рдорд┐рд▓рддреА рд╣реИрдВред
рдмреНрд▓реВрдо рдлрд╝рд┐рд▓реНрдЯрд░
рд▓реЗрдЦрдХреЛрдВ рдиреЗ рдмрд╛рдЗрдирд░реА рдлрд╝рд┐рд▓реНрдЯрд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреНрд▓реВрдо рдлрд╝рд┐рд▓реНрдЯрд░ [7] рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд┐рдпрд╛ рд╣реИред
рдПрдХ рдмреНрд▓реВрдо рдлрд╝рд┐рд▓реНрдЯрд░ рдЬрд▓реНрджреА рд╕реЗ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЧрд▓рдд рд╕рдХрд╛рд░рд╛рддреНрдордХрддрд╛ рдХреЗ рдПрдХ рдЫреЛрдЯреЗ рдкреНрд░рддрд┐рд╢рдд рдХреЗ рд╕рд╛рде рд╣реИред рдЬреЛ рдЯреЗрдмрд▓ рд╣реИрд╢ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рддреЗрдЬ рд╣реИред
рдпрджрд┐ рдХрд┐рд╕реА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд▓рд┐рдП рдПрдХ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдЦреЛрдЬ рд╕реЗ рдкрд╣рд▓реЗ, рдлрд╝рд┐рд▓реНрдЯрд░ рд░рд┐рдЯрд░реНрди рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред
рддрджрдиреБрд╕рд╛рд░, рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝рд┐рд▓реНрдЯрд░ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд▓реЗрдЦрдХреЛрдВ рдиреЗ рдпрд╣ рднреА рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдХрд┐ рдмреНрд▓реВрдо рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХреНрд╡реЗрд░реА рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕рдордп рдХреЛ 57.8% рдХреА рдФрд╕рдд рд╕реЗ рдХрдо рдХрд░рддрд╛ рд╣реИред
рдЕрдм рдПрдХ рд╣реА рдмрд╛рдд, рдХреЗрд╡рд▓ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде
рдмрд╛рдЗрдирд░реА рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХрд╛ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реИ 8 рдмрд┐рдЯ рд▓рдВрдмрд╛:
11111111
10000001
00111110
рдХрд╛рд░реНрдп рд╕рднреА рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдЦреЛрдЬрдирд╛ рд╣реИ рдЬрд╣рд╛рдВ рд╡рд┐рднрд┐рдиреНрди рдмрд┐рдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рд▓рдХреНрд╖реНрдп рд░реЗрдЦрд╛ 10111111 рд╕реЗ 2 рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИред
рддреЛ рдЖрд╡рд╢реНрдпрдХ рджреВрд░реА
k = 2 рд╣реИред
1. рдПрдХ рд╡рд┐рднрд╛рдЬрди рдХрд╛рд░рдХ рдЪреБрдиреЗрдВред
рд╕реВрддреНрд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╣рдо рд╡рд┐рднрд╛рдЬрди рдХрд╛рд░рдХ
r = 2 рдХреЛ рдЪреБрдирддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ рдХреЗрд╡рд▓ рджреЛ рд╕рдмреНрд╕рдЯреНрд░рд┐рдВрдЧреНрд╕ рд╣реЛрдВрдЧреЗред
2. рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдмрдирд╛рдПрдБред
рдЪреВрдВрдХрд┐ рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рд╕рдВрдЦреНрдпрд╛ 2 рд╣реИ, рдХреЗрд╡рд▓ 2 рдЯреЗрдмрд▓ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
рдЯреА 1 рдФрд░ рдЯреА 2
3. рд╣рдо рд╕реНрд░реЛрдд рдХреЗ рд▓рд┐рдВрдХ рдХреЛ рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реБрдП рд╕рдВрдЧрдд рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВред
рдЯреА 1 рдЯреА 2
1111 1111 => 11111111
1000 0001 => 10000001
0011 1110 => 00111110
4. рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░реЗрдВред рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗред
рдЯреА 1
0011 => 00111110
1000 => 10000001
1111 => 11111111
рдЯреА 2
0001 => 10000001
1110 => 00111110
1111 => 11111111
рдпрд╣ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИред рдФрд░ рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝реЗрдВред
1. рдЕрдиреБрд░реЛрдзрд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред
рдЦреЛрдЬ рд╕реНрдЯреНрд░рд┐рдВрдЧ 10111110 рдХреЛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░реЛрдВ рдореЗрдВ рддреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдХреНрд░рдорд╢рдГ 1011 рдФрд░ 1100 рдирд┐рдХрд▓рд╛, рдкрд╣рд▓реА рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓рд╛, рдФрд░ рджреВрд╕рд░реЗ рдХреЗ рд▓рд┐рдП рджреВрд╕рд░рд╛ред
2. рд╣рдо рдПрдХ-рдПрдХ рдХрд░рдХреЗ рд╕рднреА рд╕рдВрдпреЛрдЬрди рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВред
рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ 5 рд╣реЛрдЧреАред
2.1 рдкрд╣рд▓реЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рд▓рд┐рдП 1011:
1011
0 011
рез
рез резрез
резреж
реж рез
101
реж2.2 рджреВрд╕рд░реЗ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд▓рд┐рдП 1100:
1100
0 100
рез
реж режреж
резрез
рез реж
резрезреж
рез3. рдмрд╛рдЗрдирд░реА рд╕рд░реНрдЪред
3.1 рдкрд╣рд▓реЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди 1011 рдХреЗ рд╕рднреА рдЙрддреНрдкрдиреНрди рд╡реЗрд░рд┐рдПрдВрдЯ рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рдкреВрд░реНрдг рдореИрдЪ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдПрдХ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдЦреЛрдЬ рдХрд░рддреЗ рд╣реИрдВред
1011
0011 == 0011 => 00111110
1111 == 1111 => 11111111
1001
1010
рджреЛ рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд┐рд▓реЗред
3.2 рдЕрдм, рджреВрд╕рд░реЗ рд╡рд┐рдХрд▓реНрдк 1100 рдХреЗ рд╕рднреА рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП, рд╣рдо рджреВрд╕рд░реА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдПрдХ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдЦреЛрдЬ рдХрд░рддреЗ рд╣реИрдВред
1100
0100
1000
1110 == 1110 => 00111110
1101
рдПрдХ рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд┐рд▓рд╛ред
4. рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдПрдХ рд╕реВрдЪреА рдореЗрдВ рдЬреЛрдбрд╝рдХрд░:
00111110
11111111
5. рдЕрдиреБрдкрд╛рд▓рди рдХреЗ рд▓рд┐рдП рд░реЗрдЦреАрдп рд░реВрдк рд╕реЗ рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рдФрд░ рдЕрдиреБрдкрдпреБрдХреНрдд рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░реЗрдВ <= 2:
рдПрдЪрдбреА (10111110, 00111110) = 1
рдПрдЪрдбреА (10111110, 11111111) = 2
рджреЛрдиреЛрдВ рд░реЗрдЦрд╛рдПрдВ рджреЛ рд╕реЗ рдЕрдзрд┐рдХ рддрддреНрд╡реЛрдВ рдХреЗ рдЕрдВрддрд░ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рддреА рд╣реИрдВред
рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕ рд╕реНрддрд░ рдкрд░ рдПрдХ рд░реЗрдЦреАрдп рдЦреЛрдЬ рдХреА рдЬрд╛ рд░рд╣реА рд╣реИ, рдпрд╣ рдЙрдореНрдореАрдж рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдЙрдореНрдореАрджрд╡рд╛рд░реЛрдВ рдХреА рд╕реВрдЪреА рдмрд┐рд▓реНрдХреБрд▓ рднреА рдмрдбрд╝реА рдирд╣реАрдВ рд╣реЛрдЧреАред
рд╢рд░реНрддреЛрдВ рдХреЗ рддрд╣рдд рдЬрдм рдЙрдореНрдореАрджрд╡рд╛рд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдбрд╝реА рд╣реЛрдЧреА, рддреЛ рдпрд╣ HEngine рдХреЗ рдПрдХ рдкреБрдирд░рд╛рд╡рд░реНрддреА рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИред
рд░реЗрдЦрд╛рдВрдХрди
рдЪрд┐рддреНрд░ 1 рдЦреЛрдЬ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рддрд╛ рд╣реИред
64 рдХреА рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓рдВрдмрд╛рдИ рдФрд░ 4 рдХреА рджреВрд░реА рд╕реАрдорд╛ рдХреЗ рд▓рд┐рдП, рд╡рд┐рднрд╛рдЬрди рдХрд╛рд░рдХ 3 рд╣реИ, рдХреНрд░рдорд╢рдГ рдкреНрд░рддрд┐ рдкрдВрдХреНрддрд┐ рдХреЗрд╡рд▓ 3 рд╕рдмреНрд╕рдЯреНрд░рд┐рдВрдЧреНрд╕ред
рдЬрд╣рд╛рдВ T1, T2 рдФрд░ T3 рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рддрд╛рд▓рд┐рдХрд╛рдПрдБ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдХреЗрд╡рд▓ рдмреА 1, рдмреА 2, рдмреА 3, 21, 21 рдФрд░ 22 рдмрд┐рдЯреНрд╕ рд╣реИрдВред
рдЕрдиреБрд░реЛрдзрд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рд╕рдмреНрд╕рдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдЧрд▓рд╛, рд╕рдВрдмрдВрдзрд┐рдд рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рд░реЗрдВрдЬ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИред рдкрд╣рд▓реЗ рдФрд░ рджреВрд╕рд░реЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЗ рд▓рд┐рдП, рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ 22 рд╣реЛрдЧреАред рдФрд░ рдЕрдВрддрд┐рдо рд╣рд╕реНрддрд╛рдХреНрд╖рд░ 23 рд╡рд┐рдХрд▓реНрдк рджреЗрддрд╛ рд╣реИред рдФрд░ рдЕрдВрдд рдореЗрдВ, рдПрдХ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдЦреЛрдЬ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЪрд┐рддреНрд░ 1. рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдПрдХ рд╕рд░рд▓реАрдХреГрдд рд╕рдВрд╕реНрдХрд░рдгредрдкрд░рд┐рдгрд╛рдо
рдФрд╕рдд рдорд╛рдорд▓реЗ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреА рдЬрдЯрд┐рд▓рддрд╛
рд╣реЗ (
рдкреА * (рд▓реЙрдЧ
рдПрди + 1)) рд╣реИ, рдЬрд╣рд╛рдВ
рдПрди рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рдХреБрд▓ рд╕рдВрдЦреНрдпрд╛ рд╣реИ, рд▓реЙрдЧ
рдПрди + 1 рдПрдХ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдЦреЛрдЬ рд╣реИ, рдФрд░
рдкреА рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдЦреЛрдЬреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ: рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рддрд┐ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдЧреБрдгрд╛ рдХреА рдЧрдИ:
P = (64 /
r + 1) *
rрдЪрд░рдо рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЬрдЯрд┐рд▓рддрд╛ рд░реИрдЦрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛ рд╕рдХрддреА рд╣реИред
рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг 4.65 рдореЗрдВ рдХрдо рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ [2] рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдкрд┐рдЫрд▓реЗ рдХрд╛рдо рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 16% рддреЗрдЬ рд╣реИред рдФрд░ рдпрд╣ рдПрдХ рдЬреНрдЮрд╛рдд рд╕реАрдорд╛ рдореЗрдВ рд╕рднреА рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЬреНрдЮрд╛рдд рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рддрд░реАрдХрд╛ рд╣реИред
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
рдпрд╣ рд╕рдм, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рд▓реБрднрд╛рд╡рдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рддрдХ рдЖрдк рдЗрд╕реЗ рдЕрднреНрдпрд╛рд╕ рдореЗрдВ рдирд╣реАрдВ рдЫреВрддреЗ рд╣реИрдВ, рддрдм рддрдХ рдкреИрдорд╛рдиреЗ рдХрд╛ рдЖрдХрд▓рди рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред
рдЙрдкрд▓рдмреНрдз рдЕрд╕рд▓реА рдбреЗрдЯрд╛ рдкрд░ HEngine [9] рдХрд╛ рдПрдХ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдмрдирд╛рдпрд╛ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
tests$ ./matches 7 data/db/table.txt data/query/face2.txt Reading the dataset ........ done. 752420 db hashes and 343 query hashes. Building with 7 hamming distance bound ....... done. Building time: 12.964 seconds Searching HEngine matches ....... found 100 total matches. HEngine query time: 0.1 seconds Searching linear matches ....... found 100 total matches. Linear query time: 6.828 seconds
рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╕рдиреНрди рдереЗ, рдХреНрдпреЛрдВрдХрд┐ 752420 рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ 343 рд╣реИрд╢ рдХреА рдЦреЛрдЬ рдореЗрдВ ~ 0.1 рд╕реЗрдХрдВрдб рд▓рдЧрддреЗ рд╣реИрдВ, рдЬреЛ рдПрдХ рд░реИрдЦрд┐рдХ рдЦреЛрдЬ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 60 рдЧреБрдирд╛ рддреЗрдЬ рд╣реИред
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рдпрд╣рд╛рдВ рд░реБрдХ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдХрд┐рд╕реА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдпреЛрдЧ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
рдЫрд╡рд┐ рд╣реИрд╢ рдХрд╛ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реИ, рдФрд░ PHP рдХреЗ рд▓рд┐рдП рдПрдХ рдмреИрдХрдПрдВрдб рд╣реИред
рдХрд╛рд░реНрдп рдХрд┐рд╕реА рддрд░рд╣ HEngine рдФрд░ PHP рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдерд╛ред
FastCGI [10] рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛, рдкрджреЛрдВ
habrahabr.ru/post/154187 рдФрд░
habrahabr.ru/post/61532 рдиреЗ рдЗрд╕рдореЗрдВ рдореЗрд░реА рдмрд╣реБрдд рдорджрдж рдХреАред
PHP рд╕реЗ, рдмрд╕ рдХреЙрд▓ рдХрд░реЗрдВ:
$list = file_get_contents( 'http://fcgi.local/?' . $hashes );
рдХреНрдпрд╛ ~ 0.5 рд╕реЗрдХрдВрдб рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИред рдЬрдм рдПрдХ рд░реИрдЦрд┐рдХ рдЦреЛрдЬ рдореЗрдВ 9 рд╕реЗрдХрдВрдб рд▓рдЧрддреЗ рд╣реИрдВ, рдФрд░ MySQL рдХреЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдХрдо рд╕реЗ рдХрдо 20 рд╕реЗрдХрдВрдбред
рд╕рднреА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХреАред
рд╕рдВрджрд░реНрдн
[рез] рдПрдоред рдорд┐рдВрд╕реНрдХреА рдФрд░ рдПрд╕ред рдкреИрдкрд░реНрдЯред Perceptronsред MIT рдкреНрд░реЗрд╕, рдХреИрдореНрдмреНрд░рд┐рдЬ, MA, 1969ред
[реи] рдЬреАрдПрд╕ рдордВрдХреВ, рдПред рдЬреИрди, рдФрд░ рдПрдбреА рд╕рд░рдорд╛ред рд╡реЗрдм рдХреНрд░реЙрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдирд┐рдХрдЯрд╡рд░реНрддреА рд▓реЛрдЧреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдкреНрд░реЛрдХ рдореЗрдВред 16Th WWW, рдордИ 2007ред
[рей] рдПрдордПрд▓ рдорд┐рд▓рд░, рдПрдордП рд░реЛрдбреНрд░рд┐рдЧреЗрдЬ рдФрд░ рдЖрдИрдЬреЗ рдХреЙрдХреНрд╕ред рдСрдбрд┐рдпреЛ рдлрд┐рдВрдЧрд░рдкреНрд░рд┐рдВрдЯрд┐рдВрдЧ: рдЙрдЪреНрдЪ-рдЖрдпрд╛рдореА рдмрд╛рдЗрдирд░реА рд╕реНрдкреЗрд╕ рдореЗрдВ рдирд┐рдХрдЯрддрдо рдкрдбрд╝реЛрд╕реА рдЦреЛрдЬред рдПрдордПрдордПрд╕рдкреА, 2002 рдореЗрдВред
[рек] рдПрдордПрд▓ рдорд┐рд▓рд░, рдПрдордП рд░реЛрдбреНрд░рд┐рдЧреЗрдЬ рдФрд░ рдЖрдИрдЬреЗ рдХреЙрдХреНрд╕ред рдСрдбрд┐рдпреЛ рдлрд┐рдВрдЧрд░рдкреНрд░рд┐рдВрдЯрд┐рдВрдЧ: рдЙрдЪреНрдЪ рдЖрдпрд╛рдореА рдмрд╛рдЗрдирд░реА рд╕реНрдкреЗрд╕ рдореЗрдВ рдирд┐рдХрдЯрддрдо рдкрдбрд╝реЛрд╕реА рдЦреЛрдЬред рд╡реАрдПрд▓рдПрд╕рдЖрдИ рд╕рд┐рдЧреНрдирд▓ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ, рд╕реНрдкреНрд░рд┐рдВрдЧрд░, 41 (3) рдХреЗ рдЬрд░реНрдирд▓: 285тАУ291, 2005ред
[рел] рдЬреЗред рд▓реИрдВрдбрд░ ande рдФрд░ рдПрдлред рдЯреНрд░реБрд╕реЗрдЯреЗрдЯред рдмрд╛рдЗрдирд░реА рд╣реИрдорд┐рдВрдЧ рджреВрд░реА рдХреЗ рд╕рд╛рде рдЫрд╡рд┐ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ред рдкреНрд░реЛрдХ рдореЗрдВред 2 рд╡реАрдПрдПрд╕рдПрдкреАрдкреА, 2007ред
[рем] рдПрдЪред рдпрд╛рдВрдЧ рдФрд░ рд╡рд╛рдИред рд╡рд╛рдВрдЧред рдПрдХ LBP- рдЖрдзрд╛рд░рд┐рдд рдлреЗрд╕ рд░рд┐рдХрдЧреНрдирд┐рд╢рди рдореЗрдердб рд╡рд┐рде рд╣реИрдорд┐рдВрдЧ рдбрд┐рд╕реНрдЯреЗрдВрд╕ рдХрдВрд╕реНрдЯреНрд░рдХреНрд╢рди рдкреНрд░реЛрдХ рдореЗрдВред рдЪреМрдерд╛ рдЖрдИрд╕реАрдЖрдИрдЬреА, 2007ред
[Bloom] рдмреАред рдмреНрд▓реВрдоред рд╕реНрд╡реАрдХрд╛рд░реНрдп рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╣реИрд╢ рдХреЛрдбрд┐рдВрдЧ рдореЗрдВ рд╕реНрдкреЗрд╕ / рдЯрд╛рдЗрдо рдЯреНрд░реЗрдб-рдСрдлред рдПрд╕реАрдПрдо, 13 (7) рдХреЗ рд╕рдВрдЪрд╛рд░: 422-426, 1970ред
[[] рдПрд▓реЗрдХреНрд╕ рдПрдХреНрд╕ред рд▓рд┐рдпреВ, рдХреЗ рд╢реЗрди, рдПрд░рд┐рдХ рдЯреЙрд░реНрдиреЗрдЧред рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рд╣реИрдорд┐рдВрдЧ рджреВрд░реА рдХреНрд╡реЗрд░реА рдкреНрд░рд╕рдВрд╕реНрдХрд░рдгред ICDE рд╕рдореНрдореЗрд▓рди, рдкреГрд╖реНрда 553 - 564, 2011ред
[реп]
github.com/valbok/HEngine C ++ рдореЗрдВ HEngine рдХрд╛ рдореЗрд░рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
[резреж]
github.com/valbok/HEngine/blob/master/bin/fastcgi.cpp FastCGI рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реИрд╢ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд░реИрдкрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдгред