Оценка сложности вычисления гиперобъема — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
Строка 8: Строка 8:
 
== #P-трудность задачи вычисления гиперобъема ==
 
== #P-трудность задачи вычисления гиперобъема ==
 
{{Определение
 
{{Определение
|definition=задача #MON-CNF (Satisfability problem for monotone boolean formulas) задача вычисления количества удовлетворяющих подстановок для монотонной булевой формулы, записанной в [[КНФ]] <tex>f = \bigwedge  \limits _{k=1}^n \bigvee_{i \in C_k} x_i</tex>
+
|definition=задача #MON-CNF (Satisfability problem for monotone boolean formulas) --- задача вычисления количества удовлетворяющих подстановок для монотонной булевой формулы, записанной в [[КНФ]] <tex>f = \bigwedge  \limits _{k=1}^n \bigvee_{i \in C_k} x_i</tex>
 
где все дизъюнкты <tex> C_k \subseteq {1,...,d}</tex>
 
где все дизъюнкты <tex> C_k \subseteq {1,...,d}</tex>
 
}}
 
}}
Строка 16: Строка 16:
 
|proof= Суть доказательства состоит в сведении задачи #MON-CNF к задаче вычисления значения гиперобъема. Так как доказано
 
|proof= Суть доказательства состоит в сведении задачи #MON-CNF к задаче вычисления значения гиперобъема. Так как доказано
 
<ref>
 
<ref>
  Karl Bringmann, Tobias Friedrich, Approximating the volume of unions and intersections of high-dimensional geometric objects, ISAAC'2008, http://www.tex.uniyar.ac.ru/doc/shulmeis.pdf
+
  Karl Bringmann, Tobias Friedrich, Approximating the volume of unions and intersections of high-dimensional geometric objects, ISAAC'2008, http://www.mpi-inf.mpg.de/~kbringma/paper/2008ISAAC_Volume.pdf
 
</ref>
 
</ref>
 
, что #MON-CNF является #P-трудной, то это докажет теорему.
 
, что #MON-CNF является #P-трудной, то это докажет теорему.
Задача MON-CNF состоит в нахождении количества удовлетворяющих подстановок для
+
 
 +
Количество удовлетворяющих подстановок функции
 
<tex>f = \bigwedge  \limits _{k=1}^n \bigvee_{i \in C_k} x_i</tex>
 
<tex>f = \bigwedge  \limits _{k=1}^n \bigvee_{i \in C_k} x_i</tex>
 
+
меньше <tex>2^d</tex> на количество удовлетворяющих подстановок ее отрицания
Количество ее удовлетворяющих подстановок равно <tex>2^d</tex> минус количество удовлетворяющих подстановок ее отрицания
 
 
<tex> \overline{f} = \bigvee  \limits _{k=1}^n \bigwedge_{i \in C_k} \neg x_i</tex>
 
<tex> \overline{f} = \bigvee  \limits _{k=1}^n \bigwedge_{i \in C_k} \neg x_i</tex>
 +
. Для упрощения вычислений далее будем работать с <tex>\overline{f}</tex>.
  
поэтому далее будем работать с <tex>\overline{f}</tex>.
+
Для каждого конъюнкта <tex>\bigwedge_{i \in C_k} \neg x_i</tex> построим соответствующий ему гиперкуб
Для каждого клоза <tex>\bigwedge_{i \in C_k} \neg x_i</tex> построим гиперкуб <tex>A_k = [0,a^k_1]\times...\times[0,a^k_d]</tex>
+
<tex>A_k = [0,a^k_1]\times...\times[0,a^k_d]</tex>
  
 
где  
 
где  
Строка 35: Строка 36:
 
  2 & \text{otherwise}
 
  2 & \text{otherwise}
 
\end{cases}
 
\end{cases}
</tex>
+
</tex>.
  
например, гиперкубу  
+
Например, гиперкубу  
  
<tex>C_1 = \{x\}</tex> будет соответствовать клоз <tex>\neg x_1</tex>
+
<tex>C_1 = \{x\}</tex> будет соответствовать конъюнкт <tex>\neg x_1</tex>
  
а <tex>C_2 = \{1,2\}</tex> клоз <tex>\neg x_1 \wedge \neg x_2</tex>.
+
а <tex>C_2 = \{1,2\}</tex> конъюнкт <tex>\neg x_1 \wedge \neg x_2</tex>.
  
Заметим, что объединение гиперкубов <tex>A_k</tex> может быть записано как объединение гиперкубов вида <tex>B_{x_1,...,x_d} = [x_1,x_1 + 1]\times ... \times [x_d, x_d + 1]</tex>, где <tex>x_i \in \{0,1\}, i \in [d]</tex>.
+
Запишем объединение гиперкубов <tex>A_k</tex> как объединение гиперкубов вида <tex>B_{x_1,...,x_d} = [x_1,x_1 + 1]\times ... \times [x_d, x_d + 1]</tex>, где <tex>x_i \in \{0,1\}, i \in [d]</tex>.
  
 
Более того,  
 
Более того,  

Версия 16:35, 19 июня 2012

Определение гиперобъема

Утверждается, что точное вычисление значения гиперобъема [math]S(X)[/math] множества из [math]n[/math] точек [math]d[/math]-мерного пространства является #P-трудной задачей, однако допускает эффективную аппроксимацию, а именно может быть аппроксимировано за

  • полином от количества параметров,
  • полином от количества решений,
  • полином от качества аппроксимации.

#P-трудность задачи вычисления гиперобъема

Определение:
задача #MON-CNF (Satisfability problem for monotone boolean formulas) --- задача вычисления количества удовлетворяющих подстановок для монотонной булевой формулы, записанной в КНФ [math]f = \bigwedge \limits _{k=1}^n \bigvee_{i \in C_k} x_i[/math] где все дизъюнкты [math] C_k \subseteq {1,...,d}[/math]


Теорема:
Задача вычисления гиперобъема принадлежит классу #P трудных задач
Доказательство:
[math]\triangleright[/math]

Суть доказательства состоит в сведении задачи #MON-CNF к задаче вычисления значения гиперобъема. Так как доказано [1] , что #MON-CNF является #P-трудной, то это докажет теорему.

Количество удовлетворяющих подстановок функции [math]f = \bigwedge \limits _{k=1}^n \bigvee_{i \in C_k} x_i[/math] меньше [math]2^d[/math] на количество удовлетворяющих подстановок ее отрицания [math] \overline{f} = \bigvee \limits _{k=1}^n \bigwedge_{i \in C_k} \neg x_i[/math] . Для упрощения вычислений далее будем работать с [math]\overline{f}[/math].

Для каждого конъюнкта [math]\bigwedge_{i \in C_k} \neg x_i[/math] построим соответствующий ему гиперкуб [math]A_k = [0,a^k_1]\times...\times[0,a^k_d][/math]

где

[math] a^k_i = \begin{cases} 1 & \text{if } i \in C_k \\ 2 & \text{otherwise} \end{cases} [/math].

Например, гиперкубу

[math]C_1 = \{x\}[/math] будет соответствовать конъюнкт [math]\neg x_1[/math]

а [math]C_2 = \{1,2\}[/math] конъюнкт [math]\neg x_1 \wedge \neg x_2[/math].

Запишем объединение гиперкубов [math]A_k[/math] как объединение гиперкубов вида [math]B_{x_1,...,x_d} = [x_1,x_1 + 1]\times ... \times [x_d, x_d + 1][/math], где [math]x_i \in \{0,1\}, i \in [d][/math].

Более того,

[math] B_{x_1,...,x_d} \subset \bigcup \limits _{k = 1}^n A_k \iff B_{x_1,...,x_d} \subset A_k \iff \exists a^k_i \geq x_i + 1 : i \in d \iff[/math]

[math]\iff \forall i : x_i = 1 \to a^k_i = 2 \iff \forall i : x_i = 1 \to i \notin C_k \iff (x_1,...,x_d) [/math] удовлетворяет [math]\bigwedge_{i \in C_k} \neg x_i[/math] для некоторого [math]k \iff (x_1,...,x_d)[/math] удовлетворяет [math]\overline{f}[/math]

Заметим, что так как [math]\mu (B_{x_1,...,x_d}) = 1 \to \mu (\bigcup \limits _{k=1}^n) A_k = |\{(x_1,...,x_d) \in \{0,1\}^d| (x_1,...,x_d)[/math] удовлетворяет [math]\overline{f}[/math]

Таким образом произвели сведение, в значит задача вычисления гиперобъема принадлежит #P
[math]\triangleleft[/math]

Примечания

  1. Karl Bringmann, Tobias Friedrich, Approximating the volume of unions and intersections of high-dimensional geometric objects, ISAAC'2008, http://www.mpi-inf.mpg.de/~kbringma/paper/2008ISAAC_Volume.pdf