Функція підрахунку простих чисел , зменшена , визначається як кількість простих чисел, менших або рівних x .
Ми можемо визначити задачу рішення з наступним чином:
Давши два числа і n , записані у двійковій формі, вирішіть, чи π ( x ) = n .
Ми з другом говорили про цю проблему раніше сьогодні. Для цієї проблеми існує алгоритм псевдополіноміального часу - просто порахуйте до , використовуючи пробний поділ на кожному кроці, щоб побачити, скільки чисел є простими, і перевірте, чи дорівнює це n . Проблема також полягає в PSPACE, оскільки алгоритм, який я тільки що описав, може бути реалізований для використання лише поліноміального допоміжного простору.
Однак у мене виникають проблеми з тим, як знайти цю проблему в нижчий клас складності. Я не можу зрозуміти, як створити перевірку поліноміального часу для проблеми, тому я не впевнений, чи є вона в NP, і я не можу придумати спосіб ввійти в поліноміальну ієрархію взагалі.
Який найбільш відповідний клас складності для цієї проблеми?
Спасибі!