рд╡рд┐рднрд╛рдЬрди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдФрд░ рд╡рд╛рди рдбреЗрд░ рд╡реЗрд░реНрдбрди рдирдВрдмрд░

рд╣реЗрд▓реЛ, рд╣реЗрдмреНрд░! рдореИрдВрдиреЗ рдЧреНрд░рд╛рдлреЛрдореЗрдирд┐рдпрд╛ рдореЗрдВ рд▓рд┐рдкреНрдд рд╣реЛрдиреЗ рдФрд░ рдкрд┐рдЫрд▓реЗ рд╕рдкреНрддрд╛рд╣рд╛рдВрдд рдХреЗ рдордиреЛрд░рдВрдЬрди рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ (рдХреЗрд╡рд▓ рдЗрд╕ рд╕рдкреНрддрд╛рд╣ рдХреЗ рдЕрдВрдд рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рдмреАрдд рдЧрдпрд╛ рдФрд░ рд▓реЗрдЦ рдордиреЛрд░рдВрдЬрди рд╕реЗ рдмрд╣реБрдд рд▓рдВрдмрд╛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред рдЬреИрд╕рд╛ рдХрд┐ рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ, рд╕рдордп рдПрдХ рдордЬреЗрджрд╛рд░ рдШрдВрдЯреЗ рд╣реИ)ред



рдореИрдВ рддрдерд╛рдХрдерд┐рдд рд╡рд┐рднрд╛рдЬрди рдПрд▓реНрдЧреЛрд░рд┐рджрдо (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдбреАрдкреАрдПрд▓рдПрд▓ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ), рдкреНрд░рдореЗрдп рдФрд░ рд╡реИрди рдбреЗрд░ рд╡реЗрд░рдбреЗрди рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛, рдФрд░ рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рд╣рдо рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╡рд┐рднрд╛рдЬрди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд▓рд┐рдЦреЗрдВрдЧреЗ рдФрд░ рдЧрдгрдирд╛ рдХреЗ рдЖрдзреЗ рдШрдВрдЯреЗ рдореЗрдВ рд╣рдо рдпрд╣ рд╕рд╛рдмрд┐рдд рдХрд░реЗрдВрдЧреЗ рдХрд┐ рд╕рдВрдЦреНрдпрд╛ w (2; 5; ) 178 рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ (1978 рдореЗрдВ рдЦреЛрдЬрдХрд░реНрддрд╛рдУрдВ рдиреЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 8 рджрд┐рдиреЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рдХреА рдЧрдгрдирд╛ рдХреА)ред



рд╡рд┐рднрд╛рдЬрди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо



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



рдпрд╣ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: 3 рдЧреИрд░-рдкреНрд░рддрд┐рдЪреНрдЫреЗрджрди рдЙрдк-рд╕рдореВрд╣ рдП, рдмреА, рд╕реА рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдореЗрдВ рд╢реБрд░реВ рдФрд░ рд╕рдорд░реНрдерд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдЬреЛ рд╕реЗрдЯ рдПрд╕ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╡рд░ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рд╕реА рдЙрди рддрддреНрд╡реЛрдВ рдХрд╛ рд╕реЗрдЯ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдордиреЗ рдЕрднреА рддрдХ рдП рдФрд░ рдмреА рдХреЗ рдмреАрдЪ рд╡рд┐рддрд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд░реВрдк рд╕реЗ, рд╕реА, рдПрд╕; A рдФрд░ B рдЦрд╛рд▓реА рд╣реИрдВред рд╕реЗрдЯ рд╕реА рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдкрд░, рдПрдХ рддрддреНрд╡ рдПрдХ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдпрд╛ рддреЛ рд╕реЗрдЯ рдП рдпрд╛ рд╕реЗрдЯ рдмреА рдореЗрдВ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдо рджреЛрдиреЛрдВ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рджреЛрдиреЛрдВ рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд░рддреЗ рд╣реИрдВред



рдЫрд╡рд┐








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



"рдореБрдЭреЗ рджреЛ!", рдЖрдк рдХрд╣рддреЗ рд╣реИрдВ, "2 рдореЗрдВ рд╕реЗ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдЦреЛрдЬ рд╕реЗ рдмреЗрд╣рддрд░ рдХреНрдпрд╛ рд╣реИ | рдПрд╕ | рд╡рд┐рдХрд▓реНрдк? тАЭред рдФрд░ рдкреВрд░реА рдЪреАрдЬ рдХрдЯ-рдСрдл рд╣реИ, рдЬреЛ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреА рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд░реАрдврд╝ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ!



рдХрддрд░рди рд╕реВрдЪреА:

  1. рдпрджрд┐ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдирд┐рд░реНрдорд┐рдд рдП рдФрд░ рдмреА рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИрдВ - рд░реЛрд▓рдмреИрдХ
  2. рдХрд┐рд╕реА рддрддреНрд╡ рдХреЛ S рд╕реЗ A рдпрд╛ B рдореЗрдВ рд▓реЗ рдЬрд╛рдиреЗ рд╕реЗ S рд╕реЗ A рдпрд╛ B рдореЗрдВ рдЕрдиреНрдп рддрддреНрд╡реЛрдВ рдХреЛ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
  3. рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдкрд░ рдПрд╕ рд╕реЗ рдЙрдЪрд┐рдд рдЪрдпрди рд╕реЗ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдкреЗрдбрд╝ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрд╛рдлреА рдХрдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ


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



рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдХреНрд▓рд╛рд╕рд┐рдХ рдбреАрдкреАрдПрд▓рдПрд▓ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рднрд╛рдЬрди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдФрд░ рд╕рднреА рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрдЯрдСрдл рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред



рдбреАрдкреАрдПрд▓рдПрд▓ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо



рдбреЗрд╡рд┐рд╕ - рдкреБрддрдирд╛рдо - рд▓реЛрдЧрдиреЗрдореИрди - рд▓рд╡рд▓реИрдВрдб ( рдбреАрдкреАрдПрд▓рдПрд▓ ) рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ 1962 рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдмреВрд▓рд┐рдпрди рд╕реВрддреНрд░реЛрдВ рдХреА рд╡реНрдпрд╡рд╣рд╛рд░реНрдпрддрд╛ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрд░реНрдерд╛рддреНред SAT рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЗрддрдирд╛ рдкреНрд░рднрд╛рд╡реА рдирд┐рдХрд▓рд╛ рдХрд┐ 50 рд╕реЗ рдЕрдзрд┐рдХ рд╡рд░реНрд╖реЛрдВ рдХреЗ рдмрд╛рдж, рдпрд╣ рд╕рдмрд╕реЗ рдкреНрд░рднрд╛рд╡реА рдПрд╕рдПрдЯреА рд╕реЙрд▓реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдЖрдзрд╛рд░ рдХрд╛ рдЧрдарди рдХрд░рддрд╛ рд╣реИред



рдЖрдЗрдП DPLL рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ рдкрд░ рдПрдХ рдХрд░реАрдм рд╕реЗ рджреЗрдЦреЛред рд╡рд╣ рдмреВрд▓рд┐рдпрди рдлреЙрд░реНрдореВрд▓рд╛ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рд╕рднреА рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЗрд╕рдХреЗ рджреЛ рд╕реЗрдЯ рдП рдФрд░ рдмреА рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рдП рд╕рддреНрдп рдХреЗ рд╕рд╛рде рд╕рднреА рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХрд╛ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдмреА рдЧрд▓рдд рдХреЗ рд╕рд╛рде рд╕рднреА рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХрд╛ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИред



рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдореЗрдВ, рдПрдХ рдЪрд░ рдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЕрднреА рддрдХ рдПрдХ рдорд╛рди рдирд╣реАрдВ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИ (рдЖрдЗрдП рд╣рдо рдРрд╕реЗ рдЪрд░ рдХреЛ рдореБрдлреНрдд рдХрд╣рддреЗ рд╣реИрдВ ) рдФрд░ рдЗрд╕реЗ рд╕рд╣реА рдорд╛рди рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдпрд╣ рдЪрд░ рд╕реЗрдЯ рдП рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред рдЗрд╕рдХреЗ рдмрд╛рдж, рдкреНрд░рд╛рдкреНрдд рд╕рд░рд▓реАрдХреГрдд рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИред рдпрджрд┐ рдпрд╣ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИ, рддреЛ рдореВрд▓ рд╕реВрддреНрд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИред рдЕрдиреНрдпрдерд╛, рдЪрдпрдирд┐рдд рдЪрд░ рдЧрд▓рдд рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдпрд╣ рдмреА рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ) рдФрд░ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдирдП рд╕рд░рд▓реАрдХреГрдд рд╕реВрддреНрд░ рдХреЗ рд▓рд┐рдП рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рдпрд╣ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИ, рддреЛ рдореВрд▓ рд╕реВрддреНрд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИред рдЕрдиреНрдпрдерд╛ - рдЕрдлрд╕реЛрд╕, рдореВрд▓ рд╕реВрддреНрд░ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред



рдкреНрд░рддреНрдпреЗрдХ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдХреЗ рдмрд╛рдж, рд╕реВрддреНрд░ рдЖрдЧреЗ рдХреЗ рджреЛ рдирд┐рдпрдореЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рд░рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:



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


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



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



рдПрдХ рдЫреЛрдЯрд╛ C- рдЬреИрд╕рд╛ рдЫрджреНрдо рдХреЛрдб рдЬреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ:



bool DPLL( eq F, set A, set B, set C ) { while(1) { //    if (F is empty) { //  ! write A, B, C; return true; } if (F contains an empty clause) return false; //    //  bool flag = false; if (unit_propagation(&F, &A, &B, &C)) flag = true; if (pure_literal_elimination(&F, &A, &B, &C)) flag = true; if (!flag) break; //    } //  x = choose_literal(F, ); if (DPLL(F тИз (x), A^x, B, C^x)) return true; if (DPLL(F тИз (┬мx), A, B^x, C^x)) return true; return false; }
      
      







& рд╕рд┐рдВрдмрд▓ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ Unit_propagation рдФрд░ pure_literal_elimination рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ, рдЪрд░ рдПрдл, рдП, рдмреА рдФрд░ рд╕реА рд╕рдВрджрд░реНрдн рджреНрд╡рд╛рд░рд╛ рдкрд╛рд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреНред рд╡реЗ рдЕрдВрджрд░ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдХреБрдЫ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ, рддреЛ рдпреЗ рдлрд╝рдВрдХреНрд╢рди рд╕рд╣реА рд╣реИрдВред рдПрдХ рдкреБрдирд░рд╛рд╡рд░реНрддреА рд╡рдВрд╢ рдХреЗ рд╕рд╛рде, рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рд╡рд╕реНрддреБрдУрдВ рдХреА рдкреНрд░рддрд┐рдпрд╛рдВ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИрдВред ^ рдЖрдЗрдХрди рд╕реЗрдЯ рд╕реЗ рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИ рдЕрдЧрд░ рдпрд╣ рдореМрдЬреВрдж рд╣реИ рдпрд╛ рдирд╣реАрдВ рддреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИред



рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реВрддреНрд░ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдбреАрдкреАрдПрд▓рдПрд▓ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:



рдЫрд╡рд┐






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



рдЫрд╡рд┐






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



рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рд╢рд╛рдЦрд╛ рдПрдХ рдЕрд╕рдВрднрд╡ рд╕реВрддреНрд░ рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддреА рд╣реИ, рдЕрд░реНрдерд╛рддреНред рдЗрд╕ рд╢рд╛рдЦрд╛ рдореЗрдВ рд╣рдордиреЗ рд╡реНрдпрд░реНрде рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ред рд╣рдо рд╡рд╛рдкрд╕ рд░реЛрд▓ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЪрд░ x 1 рдХреЛ рдЧрд▓рдд рдкрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рд╕рд░рд▓реАрдХрд░рдг рдХреА рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рдЬрдиреНрдо рджреЗрдЧрд╛:



рдЫрд╡рд┐






рдЯреНрд░рд┐рдкрд▓ рддреАрд░ рд╕рдВрдХреЗрдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рджреВрд╕рд░рд╛ рд╕рд░рд▓реАрдХрд░рдг рдирд┐рдпрдо рд▓рд╛рдЧреВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕ рд╢рд╛рдЦрд╛ рдореЗрдВ рд╕рдлрд▓рддрд╛ рд╣рдорд╛рд░рд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░рддреА рд╣реИ - 2 рд╕рдорд╛рдзрд╛рди рдорд┐рд▓ рдЪреБрдХреЗ рд╣реИрдВ!



рд╕рдВрдкреВрд░реНрдг рдЯреНрд░реИрд╡рд░реНрд╕рд▓ рд╡реГрдХреНрд╖:



рдЫрд╡рд┐






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



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



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



рд╡реИрди рдбреЗрд░ рд╡реЗрд░реНрдбрди рдкреНрд░рдореЗрдп рдФрд░ рд╕рдВрдЦреНрдпрд╛



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



рдкрд┐рдЫрд▓реА рд╕рджреА рдХреЗ рдмрд┐рд╕рд╡рд╛рдВ рджрд╢рд╛ рдореЗрдВ, рдПрдХ рдЧрдгрд┐рддрдЬреНрдЮ рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛:



рдмрддрд╛ рджреЗрдВ рдХрд┐ рд╕рднреА рдкреНрд░рд╛рдХреГрддрд┐рдХ рдирдВрдмрд░реЛрдВ рдХреЗ рд╕реЗрдЯ рдХреЛ 2 рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░рдВрдЧреЛрдВ рдореЗрдВ рдЪрд┐рддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХреНрдпрд╛ рдпрд╣ рдХрд╣рдирд╛ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдПрдХ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рд▓рдВрдмреЗ рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдкреНрд░рдЧрддрд┐ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдПрдХ рд╣реА рд░рдВрдЧ рдореЗрдВ рдЪрд┐рддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ?



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



рдХрд┐рд╕реА рднреА r рдФрд░ k рдХреЗ рд▓рд┐рдП рдПрдХ рдирдВрдмрд░ n (r; k) рдореМрдЬреВрдж рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдкреНрд░рд╛рдХреГрддрд┐рдХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд╕реЗрдЯ рдХреЗ рдХрд┐рд╕реА рднреА рд░рдВрдЧ рдХреЗ рд▓рд┐рдП S = {1, 2, ..., n (r; k)} рд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░рдВрдЧреЛрдВ рдореЗрдВ, рдЗрд╕ рд╕реЗрдЯ S рдореЗрдВ рдЕрдВрдХрдЧрдгрд┐рдд рд╣реЛрдЧрд╛ред рдПрдХ рд╣реА рд░рдВрдЧ рдореЗрдВ рдЪрд┐рддреНрд░рд┐рдд k рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рдкреНрд░рдЧрддрд┐ред



рд╕рдмреВрдд рддрдерд╛рдХрдерд┐рдд рджреЛрд╣рд░реЗ рдкреНрд░реЗрд░рдг рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рдЗрд╕ рдкреНрд░рдорд╛рдг рдХрд╛ рдПрдХ рд╕рд░рд▓реАрдХреГрдд рд╕рдВрд╕реНрдХрд░рдг рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдБ ред



N (r; k) рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ w (r; k) рд╕реЗ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдВрдЦреНрдпрд╛ w (r; k) рдХреЛ рд╡реИрди рдбреЗрд░ рд╡реЗрд░реНрдбрди рд╕рдВрдЦреНрдпрд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡реИрди рдбреЗрд░ рд╡реЗрд░рдбреЗрди рдкреНрд░рдореЗрдп рдХрд╛ рдкреНрд░рдорд╛рдг рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд╕рдЯреАрдХ рдорд╛рдиреЛрдВ рдХреЛ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ w (r; k), рдХреЗрд╡рд▓ рдКрдкрд░реА рдмрд╛рдЙрдВрдбред рдФрд░ рдореЗрд░рд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░реЛ, рдпрд╣ рдКрдкрд░реА рд╕реАрдорд╛ рдмрд╕ рд╡рд┐рд╢рд╛рд▓ рд╣реИ! рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рджреЛ рд░рдВрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рднреА рд╕рдВрдЦреНрдпрд╛ w (r; k) рдХрд╛ рдЕрдиреБрдорд╛рди рдПрдХрд░рдореИрди рдХреЗ рдХрд╛рд░реНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдмрдврд╝рддрд╛ рд╣реИ! рдпрд╣ рд╢реАрд░реНрд╖ рдЕрдиреБрдорд╛рди рдзреАрд░реЗ-рдзреАрд░реЗ рд╕реБрдзрд░ рд░рд╣рд╛ рд╣реИред 2001 рдореЗрдВ рдЯрд┐рдореЛрдереА рдЧреЛрд╡рд░реНрд╕ рдХрд╛ рдирд╡реАрдирддрдо рдкрд░рд┐рдгрд╛рдо рд╣реИ:



w (r; k) r 2 2 r 2 2 k + 9



рдкрд░рд┐рдгрд╛рдо рдореВрд▓ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝рд╛ рдХрдо рдбрд░рд╛рд╡рдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рднреА рдереЛрдбрд╝рд╛ рдбрд░рд╛рд╡рдирд╛ рд╣реИред рдФрд░ рдлрд┐рд░ рднреА, рдпрд╣ рд╕реАрдорд╛ w (r; k) рдХреЗ рд╕рдЯреАрдХ рдореВрд▓реНрдпреЛрдВ рд╕реЗ рдмрд╣реБрдд рджреВрд░ рд╣реИред



рдЕрдиреБрд╕рдВрдзрд╛рди рдХреА рдПрдХ рдЕрд▓рдЧ рд╢рд╛рдЦрд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ r рдФрд░ k рдХреЗ рд▓рд┐рдП рд╕рдВрдЦреНрдпрд╛ w (r; k) рдХреЗ рд╕рдЯреАрдХ рдорд╛рдиреЛрдВ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рд╣реИред рдпрд╣ рдХрд╛рд░реНрдп рдмрд╣реБрдд рд╕рдВрд╕рд╛рдзрди-рдЧрд╣рди рд╣реИ (рдпрд╣ рд░рд╛рдорд╕реЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИ)ред рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд╕рдордп, w (r; k) рдХрд╛ рд╕рд╣реА рдореВрд▓реНрдп рдХреЗрд╡рд▓ 7 рдЬреЛрдбрд╝реЗ рд╕рдВрдЦреНрдпрд╛рдУрдВ r рдФрд░ k рдХреЗ рд▓рд┐рдП рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред



рдЖрд░ / рдХреЗ 3 4 5 6
2 рд░рдВрдЧ 9 35 178 1132
3 рд░рдВрдЧ 27 293
4 рд░рдВрдЧ 76


W (2; 3) рдХрд╛ рдЙрддреНрддрд░ рддреБрдЪреНрдЫ рд░реВрдк рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ:



рдкреНрд░рдорд╛рдг рдХрд┐ w (2; 3) = 9
рд╕рдорд╛рди рд╡рд┐рдЪрд╛рд░ рдФрд░ рдереЛрдбрд╝реЗ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рд░реВрдк рдХреЗ рд╕рд╛рде рдПрдХ рдФрд░ рдкреНрд░рдорд╛рдг рдпрд╣рд╛рдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ред



8 рд░рдВрдЧреЛрдВ рдХреЛ 2 рд░рдВрдЧреЛрдВ рдореЗрдВ рдЪрд┐рддреНрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рддрд╛рдХрд┐ рд▓рдВрдмрд╛рдИ 3 рдореЗрдВ рдПрдХ-рд░рдВрдЧ рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдкреНрд░рдЧрддрд┐ рди рд╣реЛ, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:



1 2 3 4 5 6 7 8



рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ w (2; 3)> 8ред 9 рд░рдВрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП 4 рдФрд░ 6 рдХреА рд╕рдВрдЦреНрдпрд╛ рджреЗрдЦреЗрдВред рд╕рд╛рдорд╛рдиреНрдпрддрд╛ рдХреЗ рдиреБрдХрд╕рд╛рди рдХреЗ рдмрд┐рдирд╛, рджреЛ рдорд╛рдорд▓реЗ рд╕рдВрднрд╡ рд╣реИрдВ: рдпрд╛ рддреЛ рдЗрди рджреЛ рдирдВрдмрд░реЛрдВ рдХреЛ рдПрдХ рд╣реА рд░рдВрдЧ рдореЗрдВ рд░рдВрдЧрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧред



1) 4 рдФрд░ 6 рдХреЛ рд▓рд╛рд▓ рд░рдВрдЧ рджреЗрдВ:



рез реи рей рек рел рем 6ред реп



рдлрд┐рд░ рд╣рдореЗрдВ 5 рдиреАрд▓реЗ рд░рдВрдЧ рдХрд░рдиреЗ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреНрдпрдерд╛ рд▓рд╛рд▓ рд░рдВрдЧ рдХреА рд╕рдВрдЦреНрдпрд╛ 4 5 6 рдХрд╛ рдПрдХ рд╕рдореВрд╣ рдмрдиреЗрдЧрд╛ред 2 рдФрд░ 8 рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рддрд░реНрдХред рдирддреАрдЬрддрди, рд╣рдореЗрдВ 2 5 8 рдХрд╛ рдПрдХ рдиреАрд▓рд╛ рдЯреНрд░рд┐рдкрд▓ рдорд┐рд▓рддрд╛ рд╣реИ:



рез реи рей рек рел рем 6ред реп



2) 4 рдХреЛ рдиреАрд▓рд╛ рдФрд░ 6 рдХреЛ рд▓рд╛рд▓ рд╣реЛрдиреЗ рджреЗрдВ:



рез реи рей рек рел рем 6ред реп



рдлрд┐рд░, рд╕рд╛рдорд╛рдиреНрдпрддрд╛ рдХреЗ рдиреБрдХрд╕рд╛рди рдХреЗ рдмрд┐рдирд╛, 5 рдиреАрд▓реЗ рд░рдВрдЧ рдХрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдирд┐рдореНрди рд╣реИ рдХрд┐ 3 рдиреАрд▓реЗ рд░рдВрдЧ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП 3 4 5. рдЕрдЧрд▓рд╛, 9 рд▓рд╛рд▓ 3 6 рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдиреАрд▓реЗ рд░рдВрдЧ рдХрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрдкрд╢реАрд░реНрд╖рдХ:



рез реи рей рек рел рем 6ред реп



рдирдВрдмрд░ 1 рдХреЛ рд▓рд╛рд▓ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП 1 5 9. рдпрд╣ рдиреАрд▓реЗ 2 рдХрд╛ рдЕрд░реНрде рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреНрдпрдерд╛ рд╣рдореЗрдВ рд▓рд╛рд▓ 1 2 рдорд┐рд▓рддрд╛ рд╣реИред рд▓рд╛рд▓ 2 5 8 рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, 8 рдХреЛ рд▓рд╛рд▓ рд░рдВрдЧ рдореЗрдВ рдкреЗрдВрдЯ рдХрд░реЗрдВ рдФрд░ рдЕрдВрдд рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ:



рез реи рей рек рел рем 6ред реп



рдЕрдм, рдпрджрд┐ рд╣рдо 7 рдХреЛ рд▓рд╛рд▓ рд░рдВрдЧ рдореЗрдВ рдкреЗрдВрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ 6 7 рдХрд╛ рд▓рд╛рд▓ рдЯреНрд░рд┐рдкрд▓ рдорд┐рд▓рддрд╛ рд╣реИред рдпрджрд┐ 7 рдХреЛ рдиреАрд▓реЗ рд░рдВрдЧ рдореЗрдВ рдЪрд┐рддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ 5 7 9 рдХрд╛ рдПрдХ рдиреАрд▓рд╛ рдЯреНрд░рд┐рдкрд▓ рдмрд╛рд╣рд░ рдЖрдПрдЧрд╛ред





W (r, k) рдХреЗ рдереЛрдбрд╝реЗ рдмрдбрд╝реЗ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдкреНрд░рдорд╛рдг рдЖрдорддреМрд░ рдкрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░ рдЙрдмрд▓рддрд╛ рд╣реИ: рд╕рдВрдЦреНрдпрд╛ n рдХреА рд░рдВрдЧреАрди рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреА рд▓рдВрдмрд╛рдИ рддрдп рдХреА рдЬрд╛рддреА рд╣реИ, рдФрд░ рдлрд┐рд░ рдмреВрд▓рд┐рдпрди рд╕реВрддреНрд░ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдХрд┐ рдЗрди n рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ r рдФрд░ k рдХреЗ рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рд░рдВрдЧреАрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдПрд╕рдПрдЯреА рд╕реЙрд▓реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕рдХреА рд╡реНрдпрд╡рд╣рд╛рд░реНрдпрддрд╛ рдХреА рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рддреА рд╣реИред рдпрджрд┐ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдирдВрдмрд░ n + 1 w (r; k) рдХреЗ рд▓рд┐рдП рдирд┐рдЪрд▓реА рд╕реАрдорд╛ рд╣реИ; рдЕрдиреНрдпрдерд╛, рдирдВрдмрд░ n рдХреЛ w (r; k) рдХреЗ рд▓рд┐рдП рдКрдкрд░реА рдмрд╛рдзреНрдп рдорд╛рдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред



рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдХрдИ SAT-solvers DPLL рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИрдВ, рд╕рдВрдЦреНрдпрд╛ w (r; k) рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЦреЛрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред



рд╣рдо рд░рдВрдЧреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ r = 2 рдХреЗ рд▓рд┐рдП рд╡рд╛рдВрдЫрд┐рдд рдмреВрд▓рд┐рдпрди рдлрд╛рд░реНрдореВрд▓рд╛ рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рд╕рд░рд▓ рддрд░реАрдХрд╛ рджреЗрддреЗ рд╣реИрдВред рд╣рдореЗрдВ n рд╡реИрд░рд┐рдПрдмрд▓ x рдорд┐рд▓рддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╕рдВрдмрдВрдзрд┐рдд рдирдВрдмрд░реЛрдВ рдХреЛ рдХрд┐рд╕ рд░рдВрдЧ рдореЗрдВ рд░рдВрдЧрд╛ рдЧрдпрд╛ рд╣реИред рд╕рд╣реА рдорд╛рди рдХрд╛ рдЕрд░реНрде рд╣реЛрдЧрд╛ 1 рд░рдВрдЧ, рдЕрд╕рддреНрдп - рджреВрд╕рд░рд╛ред рд╣рдореЗрдВ рдкреНрд░рддрд┐рдмрдВрдз рд▓рдЧрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рддрд╛рдХрд┐ рдХрд┐рд╕реА рднреА рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдкреНрд░рдЧрддрд┐ рдореЗрдВ рджреЛрдиреЛрдВ рд░рдВрдЧ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВред рдпрд╣ рдмрд╣реБрдд рд╕рд░рд▓рддрд╛ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдлреЙрд░реНрдо рдХрд╛ рдПрдХ рдХреНрд▓реЙрдЬ (x a 1 тИиx a 2 тИи ... тИиx a a ) рдкрд╣рд▓реЗ рд░рдВрдЧ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрддрд╛ рд╣реИ, рдФрд░ рдлреЙрд░реНрдо рдХрд╛ рдХреНрд▓реЙрдЬ (тИи┬мx a 1 ax a 2 тИи ... тИи┬мx a k ) - рджреВрд╕рд░рд╛ ред рдЦреИрд░, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рд╕рдм рд╣реИ - рдкреНрд░рддреНрдпреЗрдХ рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдкреНрд░рдЧрддрд┐ рдХреЗ рд▓рд┐рдП рд╣рдо 2 рд╕реВрддреНрд░ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рд╕рдм рдХреБрдЫ рдЧреЛрдВрдж рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдмрдбрд╝реЗ рд╕реАрдПрдирдПрдл рдореЗрдВ рд╣реБрдЖред



R = 2, k = 3 рдФрд░ n = 9 рдХреЗ рд╕реВрддреНрд░ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:



(x 1 xx 2 3x 3 ) тИи (1x 1 тИи┬мx 2 )x 3 ) тИи (x 2 тИзx 3 тИиx 4 ) тИз (тИи┬мx 2 3x 3 тИиx 3 ) тИи (x 3 xx 4 5x 5 ) тИи (тИи┬мx 3 тИи┬мx 4 5x 5 ) тИи

(x 4 xx 5 6x 6 ) тИи (4x 4 тИиx 5 6x 6 ) тИи (x 5 тИзx 6 7x 7 ) тИз (тИи┬мx 5 6x 6 тИиx 6 7 ) тИи (x 6 xx 7 8x 8 ) тИи (тИи┬мx 6 тИи┬мx 7 8x 8 ) тИи

(x 7 xx 8 9x 9 ) тИи (7x 7 тИи┬мx 8 9x 9 ) тИи (x 1 тИиx 3 тИиx 5 ) тИз (тИи┬мx 1 3x 3 тИиx 9 ) (x 2 xx 4 6x 6 ) тИи (тИи┬мx 2 тИи┬мx 4 6x 6 ) тИи

(x 3 xx 5 7x 7 ) тИи (3x 3 тИи┬мx 5 7x 7 ) тИи (x 4 тИзx 6 тИиx 8 ) тИи (4x 4 6x 6 тИиx 8 ) тИи (x 5 xx 7 9x 9 ) тИи (тИи┬мx 5 тИи┬мx 7 9x 9 ) тИи

(x 1 xx 4 7x 7 ) тИи (1x 1 тИи┬мx 4 7x 7 ) тИи (x 2 тИзx 5 тИиx 8 ) тИз (тИи┬мx 2 5x 5 тИиx 8 8 ) тИи (x 3 xx 6 9x 9 ) тИи (тИи┬мx 3 тИи┬мx 6 9x 9 ) тИи

(x 1 xx 5 тИиx 9 ) ┬м (тИи┬мx 1 тИи┬мx 5 9x 9 )



рдкрд┐рдЫрд▓реЗ рд╕реНрдкреЙрдЗрд▓рд░ рдореЗрдВ, рдпрд╣ рд╕рд╛рдмрд┐рдд рд╣реЛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдпрд╣ рд╕реВрддреНрд░ рдЕрд╕рдВрднрд╡ рд╣реИред



рдЬреНрдЮрд╛рди рдХреЛ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рд▓рд╛рдирд╛



рдЕрдм рд╕рдВрдЦреНрдпрд╛ w (2; k) рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╡рд┐рднрд╛рдЬрди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐рд╕реА рд╕реЙрд▓ рд╕реЙрд▓реНрд╡рд░ рдХреА рддрд░рд╣ рдХрд┐рд╕реА рднреА рдЯрд┐рдирд╕реЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╣рдо C ++ (рдореИрдВ MS Visual Studio рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ) рдореЗрдВ рд▓рд┐рдЦреВрдВрдЧрд╛ред рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЖрдзрд╛рд░ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ:



 #pragma comment(linker,"/STACK:64000000") #include <iostream> #include <bitset> #include <time.h> #include <memory.h> using namespace std; #define N 178 #define K 5 #define BSET bitset< N > bool dfs( BSET & A, BSET & B ) { int i = choice( A, B ); if (i<0) { for (int a=0; a<N; a++) if (A[a]) cout << "A"; else if (B[a]) cout << "B"; else cout << "?"; cout << "\n"; return true; } A[i] = true; if (check(A, B)) { BSET A1 = A, B1 = B; if (reduce( A1, B1 )) if (dfs( A1, B1 )) return true; } A[i] = false; B[i] = true; if (check( A, B )) { BSET A1 = A, B1 = B; if (reduce( A1, B1 )) if (dfs( A1, B1 )) return true; } B[i] = false; return false; } int main() { freopen("input.txt","r",stdin); freopen("output.txt","w",stdout); BSET A, B; if (!dfs( A, B )) cout << "No counterexamples\n"; cout << "n=" << N << " k=" << K << "\n"; cout << "time=" << clock() << "\n"; return 0; }
      
      





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



  1. рдкрд╕рдВрдж - рддрддреНрд╡ рдХреА рдкрд╕рдВрдж рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╣рдо рдЕрдкрдиреЗ рдкреЗрдбрд╝ рдХреЛ рд╢рд╛рдЦрд╛ рджреЗрдВрдЧреЗред
  2. check - рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рд▓рдВрдмрд╛рдИ K рдХреА рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдкреНрд░рдЧрддрд┐ рдирд╣реАрдВ рд╣реИред
  3. рдХрдо рдХрд░рдирд╛ - рдЕрддрд┐рд░рд┐рдХреНрдд рддрддреНрд╡реЛрдВ рдХреЛ рдЪрд┐рддреНрд░рд┐рдд рдХрд░рдирд╛ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд░рдВрдЧ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред




рдкрд╕рдВрдж рд╕рдорд╛рд░реЛрд╣ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ:



 int cost[N]; int choice( BSET & A, BSET & B ) { memset( cost, 0, sizeof(cost) ); for (int a=0; a<N; a++) for (int d=1; a+d*(K-1)<N; d++) { int cnt1=0, cnt2=0; for (int c=0; c<K; c++) if (A[a+c*d]) cnt1 ++; for (int c=0; c<K; c++) if (B[a+c*d]) cnt2 ++; if (cnt1==0 || cnt2==0) for (int c=0; c<K; c++) if (!A[a+c*d] && !B[a+c*d]) cost[a+c*d] += cnt1+cnt2+1; } int mx = 0; for (int a=0; a<N; a++) mx = max( mx, cost[a] ); if (mx > 0) for (int a=0; a<N; a++) if (cost[a] == mx) return a; return -1; }
      
      





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



рдЕрдм рдЬрд╛рдБрдЪ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:



 bool check( BSET & A, BSET & B ) { for (int a=0; a<N; a++) for (int d=1; a+d*(K-1)<N; d++) { bool f1=true, f2=true; for (int c=0; c<K; c++) f1 &= A[a+c*d]; for (int c=0; c<K; c++) f2 &= B[a+c*d]; if (f1 || f2) return false; } return true; }
      
      





рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЫреЛрдЯреА, рд╕рд░рд▓ рдФрд░ рд╕реАрдзреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред



рдЕрдВрдд рдореЗрдВ, рдХрдо рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛:



 bool reduce( BSET & A, BSET & B ) { while ( 1 ) { bool flag = false; for (int a=0; a<N; a++) for (int d=1; a+d*(K-1)<N; d++) { int cnt1=0, cnt2=0; for (int c=0; c<K; c++) if (A[a+c*d]) cnt1 ++; for (int c=0; c<K; c++) if (B[a+c*d]) cnt2 ++; if (cnt1+cnt2<K) { if (cnt1 == K-1) for (int c=0; c<K; c++) if (!A[a+c*d]) { B[a+c*d] = true; flag = true; } if (cnt2 == K-1) for (int c=0; c<K; c++) if (!B[a+c*d]) { A[a+c*d] = true; flag = true; } } } if (!flag) break; if (!check( A, B )) return false; } return true; }
      
      





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



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



рдХреЛрдб рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХреЛрд░ i5 4Gb рд░реИрдо рд▓реИрдкрдЯреЙрдк рдкрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред 2 рдорд┐рдирдЯ рдореЗрдВ рдкреИрд░рд╛рдореАрдЯрд░ рдорд╛рди N = 177 K = 5 рдХреЗ рд╕рд╛рде, рдирд┐рдореНрди рдЙрджрд╛рд╣рд░рдг рдкрд╛рдпрд╛ рдЧрдпрд╛:



BBBABBBBABB?BAAABABBBA?AABAAAABAAAABBBABAAABBBBABBBBABB?BAAABABBBAAAABAAAABAABABBBABAAABA

BBABBBBABBABAAABABBBAAAABAAAABAABABBBABAAABABBABBBBABB?BAAABABBBABAABAAAABAABABBBABAAAB?








рдП рдФрд░ рдмреА рд░рдВрдЧ рд╣реИрдВред рдПрдХ рдкреНрд░рд╢реНрди рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХреЛрдИ рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддрд╛ рдХрд┐ рдХреМрди рд╕реА рд░рдВрдЧ рдХрд┐рд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИред рдпрд╣реА рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдордиреЗ рд▓рдВрдмрд╛рдИ 177 рдХреЗ 32 рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рдпрд╛, рдЬрд┐рд╕рдореЗрдВ рд▓рдВрдмрд╛рдИ 5 рдХреА рдПрдХ-рд░рдВрдЧ рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдкреНрд░рдЧрддрд┐ рдирд╣реАрдВ рд╣реИред



рдПрди = 178 рдХреЗ = 5 рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдкрд░, рдХреЛрдб рдиреЗ 20.5 рдорд┐рдирдЯ рддрдХ рдХрд╛рдо рдХрд┐рдпрд╛ рдФрд░ рджрд┐рдЦрд╛рдпрд╛ рдХрд┐ рдХреЛрдИ рд╡рд╛рдВрдЫрд┐рдд рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдкреНрд░рдЧрддрд┐ рдирд╣реАрдВ рдереАред рд╕рд╛рдорд╛рдиреНрдп рдорд╛рдорд▓реЗ рдореЗрдВ 2,178 рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд▓рд┐рдП рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реИред



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



рдмреЗрд╢рдХ, рдХреЛрдб w (2; 3) рдФрд░ w (2; 4) рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдкреВрд░реА рдмрд╛рдд рд╢реБрд░реВ рд╕реЗ рд╣реА рдЙрди рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХреА рдЧрдИ рдереА)ред



рдХреЗрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ = 6? рд╣рд╛рд▓ рд╣реА рдореЗрдВ (2008 рдореЗрдВ) рдпрд╣ рд╕рд╛рдмрд┐рдд рд╣реБрдЖ рдХрд┐ w (2; 6) = 1132 рдФрд░ 200 рдХреЛрд░ рдХреЗ рдХреНрд▓рд╕реНрдЯрд░ рдкрд░ рд▓рдЧрднрдЧ 250 рджрд┐рдиреЛрдВ рдХреА рдЧрдгрдирд╛ рд╣реБрдИред рд╡реИрд╕реЗ, рдЙрдирдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рд╕рд╛рдмрд┐рдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ w (2; 5) = 178, рдПрдХ рдХреЛрд░ рдкрд░ 3 рд╕реЗрдХрдВрдб рд╕реЗ рднреА рдХрдо рд╕рдордп рдореЗрдВред рдХреЗрд╕ рдХреЗ = 7 рдХреЗ рд▓рд┐рдП, рд╕рд╡рд╛рд▓ рдЦреБрд▓рд╛ рд░рд╣рддрд╛ рд╣реИред



рдЖрджрд░



  1. рд▓реЗрдХреНрдЯреЛрд░рд┐рдпрдо рдкрд░ рд╡рд┐рднрд╛рдЬрди рдПрд▓реНрдЧреЛрд░рд┐рджрдо (рд╡реАрдбрд┐рдпреЛ, рд╡реНрдпрд╛рдЦреНрдпрд╛рди рд╕реНрд▓рд╛рдЗрдб)
  2. рдмреНрд░реЛрди-рдХреЗрд░реНрдмреЛрд╢ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдПрдХ рдЧреНрд░рд╛рдл рдореЗрдВ рд╕рднреА рдХреНрд▓рд┐рдХреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП (рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдПрдХ рд╡рд┐рднрд╛рдЬрди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо)
  3. рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдкрд░ DPLL рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо ( rus , eng )
  4. рд╡реИрди рдбреЗрд░ рд╡реЗрд░реНрдбрди рдкреНрд░рдореЗрдп рдФрд░ рд╕рдВрдЦреНрдпрд╛рдПрдБ (рд╕рдВрд▓рдЧреНрди)
  5. рдЙред рд╣рд╛рдВред рдЦрд┐рдирдЪрд┐рдиред рд╕рдВрдЦреНрдпрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рддреАрди рдореЛрддреА
  6. рдмрд╛рдЗрдмрд┐рд▓ рдХреЛрдб, рд░реИрдорд╕реЗ рдереНрдпреЛрд░реА рдФрд░ рдИрд╢реНрд╡рд░ рдХрд╛ рдЕрд╕реНрддрд┐рддреНрд╡
  7. рд░реЛрдирд╛рд▓реНрдб рдПрд▓ред рдЧреНрд░рд╛рд╣рдо, рдЬреЛрдПрд▓ рдПрдХреНрд╕ред рд╕реНрдкреЗрдиреНрд╕рд░ред рд░реИрдорд╕реЗ рдереНрдпреЛрд░реА
  8. рдЖрд░рдПрд╕ рд╕реНрдЯреАрд╡рдВрд╕, рдЖрд░ред рд╢рд╛рдВрддрд╛рд░рд╛рдо рдХрдВрдкреНрдпреВрдЯрд░ рдЬрдирд░реЗрдЯреЗрдб рд╡реИрди рдбреЗрд░ рд╡реЗрд░реНрдбрди рд╡рд┐рднрд╛рдЬрди (рд╕рдВрд▓рдЧреНрди, рдкреАрдбреАрдПрдл)
  9. рдорд┐рд╢рд▓ рдХреЛрд░реНрдЗрд▓, рдЬреЗрд░реЛрдо рдПрд▓ рдкреЙрд▓ред рд╡реИрди рдбреЗрд░ рд╡реЗрд░реНрдбрди рдирдВрдмрд░ рдбрдмреНрд▓реНрдпреВ (2.6) 1132 рд╣реИ (рд╕рдВрд▓рдЧреНрди, рдкреАрдбреАрдПрдл)


PS рдЙрди рд╕рднреА рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВрдиреЗ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдкрдврд╝рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдореИрдВ рдирд╣реАрдВ рд▓реЗрддрд╛ рдХрд┐ рдХреМрди рд╕рд╛ рд▓рд┐рдВрдХ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд┐рд╖рдп рд╕реЗ рджреВрд░ рд╣реИред



All Articles