Недавно я увидел статью Reddit об использовании SAT для решения головоломки [1]. Это вызвало у меня очень интересные вещи об этом "SAT". Я прочитал статью в Википедии, но я хотел бы попросить кого-то из вас объяснить это мне в более простых условиях.
Что такое SAT и для чего это полезно? Может ли он использоваться для пересечения древовидной структуры? Для разбора текстов? Для разрыва строки [2]? Для упаковки в бутылки [3]? Это своего рода техника оптимизации?
Что касается соответствующей заметки, я прочитал, что NP против P - это выбор числа нулей в наборе, равного нулю, и проверки того, являются ли какие-то числа равными нулю, - это SAT, каким-то образом связанным с этим?
[1] http://www.reddit.com/r/programming/comments/pxpzd/solving_hexiom_really_fast_with_a_sat_solver/