Як уже було сказано, якщо вас цікавлять теоретичні гарантії часу, це питання є дублікатом.
Але я хотів би зазначити, що якщо ви дійсно хочете вирішити конкретну проблему (наприклад, проблему з фарбуванням, яку ви згадали), я вважаю, що зовсім не має сенсу вивчати теоретичні верхні межі.
Незважаючи на те, що ви хотіли уникнути "інженерних" аспектів, я б радив вам просто взяти кілька популярних SAT-рішень, спробувати їх і побачити, що відбувається (більшість з них може читати той самий формат файлу DIMACS, так що це легко спробувати різні розв’язувачі). У вас можуть бути як позитивні, так і негативні сюрпризи. Нещодавно у мене була сім'я примірників SAT; Купу примірників із десятками тисяч змінних та більше мільйона застережень виявилося легко вирішити, тоді як, здавалося б, набагато простіші екземпляри із лише сотнями змінних та тисячами пропозицій були надто важкими для будь-якого вирішувача, який я намагався.