Якщо у мене є складна проблема, один із стандартних підходів - це висловити це як екземпляр SAT і спробувати запустити на ньому SAT-рішення. Інший стандартний підхід - це висловити це як проблему задоволення обмежень та спробувати використовувати вирішувач CSP. Вони відчувають себе якось невиразно схожими на те, які проблеми можуть бути природно виражені у вхідному форматі.
Чи є якісь вказівки чи правила, як розпізнати для даної проблеми, який підхід швидше дає хороші результати? Чи можна запропонувати будь-які поради щодо того, які проблеми можуть бути вирішені краще за допомогою SAT вирішувачів, ніж CSP, або навпаки?
(Очевидно, що є кілька простих проблем, які можна вирішити обома підходами. Також є деякі важкі проблеми, які не можна корисно вирішити жодним підходом. Давайте відкладемо їх. Випадок, коли керівництво найбільше допомагає, - це проблеми, коли будь-який SAT розв'язувачі працюють краще, ніж розв'язувачі CSP, або де вирішувачі CSP працюють краще, ніж розв'язувачі SAT. Як я визнаю, коли розв'язувач SAT, швидше за все, краще підходить, ніж вирішувач CSP, або коли вирішувач CSP може бути краще підходить, ніж SAT вирішувач - тобто, який підхід спробувати спершу?)