Оценка сложности вычисления гиперобъема — различия между версиями
Строка 40: | Строка 40: | ||
Рассмотрим теперь <tex>A = \bigcup \limits _{k=1}^n A_k</tex>. Заметим, что так как все вершины гиперкубов <tex>A_i</tex> лежат в точках с целочисленными координатами 0,1 или 2, то и <tex>A</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> (то есть на гиперкубики со сторонами 1 с координатами ближайшей к началу координат вершины 0 или 1). | Рассмотрим теперь <tex>A = \bigcup \limits _{k=1}^n A_k</tex>. Заметим, что так как все вершины гиперкубов <tex>A_i</tex> лежат в точках с целочисленными координатами 0,1 или 2, то и <tex>A</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> (то есть на гиперкубики со сторонами 1 с координатами ближайшей к началу координат вершины 0 или 1). | ||
− | Более того, из-за целочисленности вершин <tex>A_i</tex>, | + | Более того, из-за целочисленности вершин <tex>A_i</tex>, каждый из этих гиперкубиков лежит в хотя бы одном из <tex>A_i</tex> |
− | <tex> 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</tex> | + | <tex> B_{x_1,...,x_d} \subset \bigcup \limits _{k = 1}^n A_k \iff B_{x_1,...,x_d} \subset A_k \iff</tex> |
+ | |||
+ | А значит из определения <tex>A_i</tex> | ||
+ | |||
+ | <tex> \iff\exists a^k_i \geq x_i + 1 : i \in d \iff</tex> | ||
<tex>\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) </tex> удовлетворяет <tex>\bigwedge_{i \in C_k} \neg x_i</tex> для некоторого <tex>k \iff (x_1,...,x_d)</tex> удовлетворяет <tex>\overline{f}</tex> | <tex>\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) </tex> удовлетворяет <tex>\bigwedge_{i \in C_k} \neg x_i</tex> для некоторого <tex>k \iff (x_1,...,x_d)</tex> удовлетворяет <tex>\overline{f}</tex> |
Версия 17:00, 19 июня 2012
Утверждается, что точное вычисление значения гиперобъема #P-трудной задачей, однако допускает эффективную аппроксимацию, а именно может быть аппроксимировано за
множества из точек -мерного пространства является- полином от количества параметров,
- полином от количества решений,
- полином от качества аппроксимации.
#P-трудность задачи вычисления гиперобъема
Определение: |
задача #MON-CNF (Satisfability problem for monotone boolean formulas) --- задача вычисления количества удовлетворяющих подстановок для монотонной булевой формулы, записанной в КНФ где все дизъюнкты |
Теорема: |
Задача вычисления гиперобъема принадлежит классу #P трудных задач |
Доказательство: |
Суть доказательства состоит в сведении задачи #MON-CNF к задаче вычисления значения гиперобъема. Так как доказано [1] , что #MON-CNF является #P-трудной, то это докажет теорему. Количество удовлетворяющих подстановок функции меньше на количество удовлетворяющих подстановок ее отрицания . Для упрощения вычислений далее будем работать с .Для каждого конъюнкта построим соответствующий ему гиперкубгде . Рассмотрим теперь . Заметим, что так как все вершины гиперкубов лежат в точках с целочисленными координатами 0,1 или 2, то и можно разбить на гиперкубы вида , где (то есть на гиперкубики со сторонами 1 с координатами ближайшей к началу координат вершины 0 или 1).Более того, из-за целочисленности вершин , каждый из этих гиперкубиков лежит в хотя бы одном из
А значит из определения
удовлетворяет для некоторого удовлетворяет Заметим, что так как Таким образом произвели сведение, в значит задача вычисления гиперобъема принадлежит #P удовлетворяет |
Примечания
- ↑ 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