Клас складності PH

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Клас складності PH (від англ. polynomial hierarchy) — об'єднання всіх класів складності з поліноміальної ієрархії:

Таким чином, предикат належить до класу PH, якщо існує таке k, що предикат належить до класу або . Також кажуть, що мова, розпізнавана таким предикатом (тобто множина всіх слів, на яких предикат повертає 1), належить до класу PH.

Клас PH вперше визначив Ларрі Стокмеєр[en][1].

Еквівалентні визначення[ред. | ред. код]

Логічна характеризація[ред. | ред. код]

Клас мов PH точно збігається з класом мов, які можна виразити за допомогою логіки другого порядку.

Ігрова характеризація[ред. | ред. код]

Назвемо скінченною грою таку структуру. Є дерево, вершини якого позначено іменами двох гравців A та B (всі вершини одного рівня позначено одним і тим самим іменем, ходи чергуються), а ребра відповідають ходам гравців. Нехай дано деяке початкове слово x — початкова конфігурація гри. Тоді кількість рівнів у дереві (тобто кількість ходів) дорівнює деякій функції f від довжини x, а кожне ребро позначено словом довжини g від довжини x (ходом гравця є слово, яким позначено ребро). Є предикат від початкової конфігурації і послідовності ходів гравців, який визначає, хто виграв (якщо він дорівнює 1, то виграв перший гравець). Оскільки гра скінченна, то виграшна стратегія завжди існує або для першого гравця, або для другого. Назвемо гру такою, що розпізнає мову L, якщо для кожного x із L гравець A має виграшну стратегію.

Клас PH є класом усіх мов, розпізнаваних іграми, такими, що f дорівнює константі (тобто кількість ходів у грі фіксована і не залежить від довжини вхідного слова), а g є многочленом від довжини x (таким чином, з кожної вершини дерева, крім останньої, виходить з ребер, де  — цей многочлен).

Замкнутість[ред. | ред. код]

На відміну від класів поліноміальної ієрархії, що складають клас PH, про PH достеменно відомо, що він замкнутий відносно перетину, об'єднання і доповнення мов. Це означає, що якщо мови і належать PH, то мови , і належать PH.

Для доказу досить пред'явити ігри, які розпізнають ці комбінації мов, якщо є ігри, які розпізнають і . Для доповнення передамо право першого ходу іншому гравцеві і як предикат виграшу візьмемо . Для перетину візьмемо дві гри, які розпізнають та такими, що кількість ходів у них однакова, а другу починає не той гравець, який робить останній хід у першій. Після цього в кожну кінцеву вершину першої гри додамо другу гру, а як предикат виграшу візьмемо , де і  — розбиття всієї послідовності ходів на дві: частину, що відповідає першій грі, і частину, що відповідає другий. Для об'єднання візьмемо ігри, які розпізнають та , з однаковою кількістю ходів і однаковим першим гравцем. Створимо нову вершину, відповідну другому гравцеві, і причепимо до неї одне дерево першої гри (над цим ребром напишемо слово 00…0) і решту ребер другої гри. Перше слово гри позначимо z, а решту послідовності слів — , а як предикат виграшу візьмемо .

Відношення з іншими класами[ред. | ред. код]

За визначенням, до класу PH включено всі класи поліноміальної ієрархії, зокрема P і NP. Крім того, він містить імовірнісні класи, такі як клас BPP (оскільки BPP міститься в класі ). Сам клас PH включений у клас PSPACE і клас PPP (клас задач, що розв'язуються за поліноміальний час на машині Тюрінга з доступом до оракула класу PP).

Відкриті проблеми[ред. | ред. код]

Встановлено, що P = NP, тоді й лише тоді, коли P = PH. Це твердження може полегшити доведення того, що P ≠ NP (якщо це так), оскільки потрібно буде лише відокремити P від більш загального класу, ніж NP.

Примітки[ред. | ред. код]

  1. Stockmeyer, Larry J. (1977). The polynomial-time hierarchy. Theor. Comput. Sci. 3: 1–22. Zbl 0353.02024. doi:10.1016/0304-3975(76)90061-X.