При розробці алгоритму нової проблеми, якщо через деякий час я не можу знайти алгоритм поліноміального часу, я можу спробувати довести, що це NP-hard натомість. Якщо мені це вдалося, я пояснив, чому не зміг знайти алгоритм багаточленного часу. Це не те, що я точно знаю, що P! = NP, це просто те, що це найкраще, що можна зробити за допомогою сучасних знань, і дійсно консенсус полягає в тому, що P! = NP.
Аналогічно, скажіть, я знайшов рішення для полінома-часу для якоїсь проблеми, але час роботи - . Після великих зусиль я не досягаю прогресу в покращенні цього. Тому замість цього я можу спробувати довести, що натомість 3SUM-важко. Зазвичай це задовільний стан справ не тому, що я переконаний, що 3SUM дійсно вимагає Θ ( n 2 ) часу, а тому, що це сучасний стан мистецтва, і багато розумних людей намагалися його покращити, і зазнали невдачі. Тому я не винен, що це найкраще, що я можу зробити.
У таких випадках найкраще, що ми можемо зробити, - це результат твердості, замість фактичної нижньої межі, оскільки у нас немає ніяких надлінійних нижніх меж для машин Тьюрінга для проблем з NP.
Чи існує рівномірний набір проблем, який може бути використаний у всі часи роботи поліномів? Наприклад, якщо я хочу довести, що малоймовірно, що якась проблема має алгоритм кращий, ніж , чи є якась проблема X така, що я можу показати, що це X-hard і залишити це при цьому?
Оновлення : спочатку це питання задавали сім'ї проблем. Оскільки існує не так багато сімей проблем, і це питання вже отримало чудові приклади окремих важких проблем, я розслаблюю це питання до будь-якої проблеми, яка може бути використана для результатів твердості в поліноміальному часі. Я також додаю щедрості до цього питання, щоб заохотити більше відповідей.