Схемная сложность и класс P/poly — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Теоремы)
(Теоремы)
Строка 32: Строка 32:
 
Схемная сложность полином <tex> \subset P/poly</tex>.
 
Схемная сложность полином <tex> \subset P/poly</tex>.
 
|proof=
 
|proof=
<tex> L \in </tex> схемная сложность полином. Тогда <tex> \exists C_0, C_1, .., C_n, .. </tex>.
+
<tex> L \in </tex> схемная сложность полином. Тогда <tex> \exists C_0, C_1, .., C_n, .. </tex>. Запишем программу p.
 +
 
 +
<tex> p(x, C_{|x|}) </tex>:
 +
    '''return''' <tex> eval(x, C_{|x|}) </tex>
 
}}
 
}}
  

Версия 17:20, 14 апреля 2012

Определения

Определение:
[math]P/poly=\{L | \forall n [/math] существует логическая схема [math] C_n [/math] с [math] n [/math] входами и одним выходом такая, что:
  1. размеры [math] C_n \leqslant p(n)[/math];
  2. [math]x \in L \iff C_{|x|}(x) = 1 \}[/math].


Определение:
Пусть C — сложностный класс, f — функция. Тогда [math] C/f = \{L| [/math] существуют [math] a_0, a_1, .. , a_n, .. , [/math] программа p, удовлетворяющая ограничениям C:
  1. [math]|a_i| \leqslant f(i) [/math];
  2. [math] x \in L \iff p(x, a_{|x|})=1 [/math].


Определение:
Пусть [math] F = \{f_i\}[/math]. Тогда [math] C/F = \bigcup\limits_{f \in F} C/f [/math].


Теоремы

Теорема:
[math] P \subset P/poly [/math].
Доказательство:
[math]\triangleright[/math]
[math] L \in P \Rightarrow \exists [/math] Машина Тьюринга m такая, что [math] L(m)=L [/math]. В теореме Кука мы показали, что для машины Тьюринга можно составить логическую схему. Отсюда следует, что [math] P \subset P/poly [/math].
[math]\triangleleft[/math]
Теорема:
Схемная сложность полином [math] \subset P/poly[/math].
Доказательство:
[math]\triangleright[/math]

[math] L \in [/math] схемная сложность полином. Тогда [math] \exists C_0, C_1, .., C_n, .. [/math]. Запишем программу p.

[math] p(x, C_{|x|}) [/math]:
return [math] eval(x, C_{|x|}) [/math]
[math]\triangleleft[/math]
Теорема:
[math] P/poly \subset [/math] схемная сложность полином.