Сведение по Куку — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Определение)
м (rollbackEdits.php mass rollback)
 
(не показано 6 промежуточных версий 3 участников)
Строка 1: Строка 1:
 
==Определение==
 
==Определение==
Язык <tex>A</tex> сводится по Куку к <tex>B</tex>, если существует разрешающая язык <tex>A</tex> программа <tex>m</tex>, работающая полиномиальное время от длины входа, которая может использовать разрешающую программу <tex>m_B</tex> для языка <tex>B</tex> в качестве оракула. Т.е. время работы <tex>m_B</tex> не учитывается.
+
Язык <tex>A</tex> сводится по Куку к <tex>B</tex>, если существует разрешающая язык <tex>A</tex> программа <tex>m</tex>, работающая полиномиальное время от длины входа, которая может использовать разрешающую программу <tex>m_B</tex> для языка <tex>B</tex> в качестве оракула. При этом время работы <tex>m_B</tex> не учитывается.
  
 
Обозначается как <tex>A {\le}_c B</tex>.
 
Обозначается как <tex>A {\le}_c B</tex>.
Строка 6: Строка 6:
 
----
 
----
  
Класс <tex>P</tex> замкнут относительно сведения по Куку, т.к. и без обращения к оракулу программа <tex>m</tex> может разрешить сводимый язык.
+
Класс <tex>P</tex> замкнут относительно сведения по Куку. Если язык <tex>A \in P</tex>, то использование <tex>A</tex> в качестве оракула ничего не дает, так как можно решить задачу <tex>A</tex> за полиномиальное время. Полиномиальное количество обращений к такому "оракулу" выполняется опять же за полиномиальное время. Таким образом, <tex>P = P ^ A</tex>.
 +
 
 +
----
 +
 
 +
Смотрите также [[сведение по Карпу]].

Текущая версия на 19:38, 4 сентября 2022

Определение

Язык [math]A[/math] сводится по Куку к [math]B[/math], если существует разрешающая язык [math]A[/math] программа [math]m[/math], работающая полиномиальное время от длины входа, которая может использовать разрешающую программу [math]m_B[/math] для языка [math]B[/math] в качестве оракула. При этом время работы [math]m_B[/math] не учитывается.

Обозначается как [math]A {\le}_c B[/math].


Класс [math]P[/math] замкнут относительно сведения по Куку. Если язык [math]A \in P[/math], то использование [math]A[/math] в качестве оракула ничего не дает, так как можно решить задачу [math]A[/math] за полиномиальное время. Полиномиальное количество обращений к такому "оракулу" выполняется опять же за полиномиальное время. Таким образом, [math]P = P ^ A[/math].


Смотрите также сведение по Карпу.