Сложность задачи вычисления Least Hypervolume Contributor и задачи его аппроксимации — различия между версиями
Строка 3: | Строка 3: | ||
== Используемые обозначения == | == Используемые обозначения == | ||
− | <tex>\mathrm{HYP}\left(M\right)</tex> | + | <tex>\mathrm{HYP}\left(M\right)</tex> – гиперобъем множества <tex>M</tex>. |
− | <tex>\mathrm{CON}(M, x) := \mathrm{HYP}(M) - \mathrm{HYP}(M \ x)</tex> | + | <tex>\mathrm{CON}(M, x) := \mathrm{HYP}(M) - \mathrm{HYP}(M \ x)</tex> – вклад элемента <tex>x \in M</tex> в гиперобъем. |
− | <tex>\mathrm{MINCON}(M) := \min \limits_{x \in M} \mathrm{CON}(M, x)</tex> | + | <tex>\mathrm{MINCON}(M) := \min \limits_{x \in M} \mathrm{CON}(M, x)</tex> – минимальный вклад в гиперобъем множества. |
− | <tex>\mathrm{LC}(M) := \mathrm{argmin}_{x \in M} \mathrm{CON}(M, x)</tex> | + | <tex>\mathrm{LC}(M) := \mathrm{argmin}_{x \in M} \mathrm{CON}(M, x)</tex> – least contributor, минимальный вкладчик, элемент, имеющей минимальный вклад в гиперобъем. |
− | <tex>\varepsilon\text{-}\mathrm{LC}(M)</tex> | + | <tex>\varepsilon\text{-}\mathrm{LC}(M)</tex> – элемент, имеющий вклад, отличающийся от минимального не более чем в <tex>1 + \varepsilon</tex> раз, то есть |
<tex>\mathrm{CON}(M, \varepsilon\text{-}\mathrm{LC}(M)) \le (1 + \varepsilon)\mathrm{MINCON}(M)</tex>. | <tex>\mathrm{CON}(M, \varepsilon\text{-}\mathrm{LC}(M)) \le (1 + \varepsilon)\mathrm{MINCON}(M)</tex>. | ||
Строка 19: | Строка 19: | ||
|statement= | |statement= | ||
− | Задача MINCON является #P- | + | Задача MINCON является #P-трудной, а задача аппроксимации с точностью до <tex>2^{d^{1 - \varepsilon}}</tex> является NP-трудной для любого <tex>\varepsilon > 0</tex>. |
|proof= | |proof= | ||
Для доказательства теоремы сведем задачу #MON-CNF к задаче MINCON. | Для доказательства теоремы сведем задачу #MON-CNF к задаче MINCON. | ||
− | Про задачу #MON-CNF известно, что она является #P- | + | Про задачу #MON-CNF известно, что она является #P-трудной, а ее аппроксимация является NP-трудной. |
{{Определение | {{Определение | ||
|definition= | |definition= | ||
− | Задача #MON-CNF | + | Задача #MON-CNF – задача нахождения числа удовлетворяющих подстановок для монотонной булевой формулы, записанной в КНФ, <tex>f = \bigwedge \limits_{k=1}^n \bigvee \limits_{i \in C_k} x_i</tex>, |
где клозы <tex> C_k \subseteq {\{1,...,d\}}</tex>. | где клозы <tex> C_k \subseteq {\{1,...,d\}}</tex>. | ||
}} | }} | ||
− | За <tex>\Box(a_1, \ldots, a_d)</tex> будем обозначать прямоугольный | + | За <tex>\Box(a_1, \ldots, a_d)</tex> будем обозначать прямоугольный гиперпараллелипипед <tex>[0, a_1] \times \ldots \times [0, a_d]</tex>. |
− | Пусть <tex>f = \bigwedge \limits_{k=1}^n \bigvee \limits_{i \in C_k} x_i</tex> | + | Пусть <tex>f = \bigwedge \limits_{k=1}^n \bigvee \limits_{i \in C_k} x_i</tex> – монотонная булева формула в КНФ, <tex> C_k \subseteq {\{1,...,d\}}</tex>. |
− | |||
Построим параллелипипеды <tex>A_k = \Box(a_1^k, \ldots, a_d^k, 2^d + 2) \subseteq \mathbb{R}^{d+1}</tex> для каждого клоза формулы, при этом | Построим параллелипипеды <tex>A_k = \Box(a_1^k, \ldots, a_d^k, 2^d + 2) \subseteq \mathbb{R}^{d+1}</tex> для каждого клоза формулы, при этом | ||
Строка 47: | Строка 46: | ||
Также добавим параллелипипед <tex>B = \Box(2, \ldots, 2, 1) \subseteq \mathbb{R}^{d+1}</tex>. Таким образом множество <tex>M</tex> будет | Также добавим параллелипипед <tex>B = \Box(2, \ldots, 2, 1) \subseteq \mathbb{R}^{d+1}</tex>. Таким образом множество <tex>M</tex> будет | ||
− | состоять из <tex>n + 1</tex> элемента <tex>\{A_1, \ldots, A_n, B\}</tex>. Не умаляя общности будем считать, что ни один клоз не доминируется | + | состоять из <tex>n + 1</tex> элемента <tex>\{A_1, \ldots, A_n, B\}</tex>. Не умаляя общности, будем считать, что ни один клоз не доминируется |
другим, то есть <tex>C_i \nsubseteq C_j</tex> для любых <tex>i \neq j</tex>. | другим, то есть <tex>C_i \nsubseteq C_j</tex> для любых <tex>i \neq j</tex>. | ||
− | Для каждого <tex>A_k</tex> существуют <tex>x_i = a_i^k - 1</tex> | + | Для каждого <tex>A_k</tex> существуют такие <tex>x_i = a_i^k - 1</tex>, что область <tex>[x_1, x_1 + 1] \times \ldots \times [x_d, x_d + 1] \times [1, 2^d + 2]</tex> уникально покрывается только |
элементом <tex>A_k</tex>, что означается, что <tex>\mathrm{CON}(M, A_k) > 2^d</tex> для любого <tex>k</tex>. Так как объем <tex>B</tex> составляется лишь <tex>2^d</tex>, то | элементом <tex>A_k</tex>, что означается, что <tex>\mathrm{CON}(M, A_k) > 2^d</tex> для любого <tex>k</tex>. Так как объем <tex>B</tex> составляется лишь <tex>2^d</tex>, то | ||
именно <tex>B</tex> будет являться минимальным вкладчиком. | именно <tex>B</tex> будет являться минимальным вкладчиком. | ||
Строка 61: | Строка 60: | ||
<tex>\mathrm{MINCON}(M) = \mathrm{CON}(M, B) = \left\vert\left\{ \left(x_1, \ldots, x_d \right) \in \left\{0, 1\right\}^d | \left(x_1, \ldots, x_d \right) \text{ satisfies } f \right\}\right\vert</tex>. | <tex>\mathrm{MINCON}(M) = \mathrm{CON}(M, B) = \left\vert\left\{ \left(x_1, \ldots, x_d \right) \in \left\{0, 1\right\}^d | \left(x_1, \ldots, x_d \right) \text{ satisfies } f \right\}\right\vert</tex>. | ||
− | Из-за сведения получаем, что задача MINCON является | + | Из-за сведения получаем, что задача MINCON является #P-трудной, а ее аппроксимация является NP-трудной, даже когда минимальный вкладчик уже известен. |
}} | }} | ||
Строка 69: | Строка 68: | ||
|statement= | |statement= | ||
− | Задача <tex>\varepsilon</tex>-LC является NP- | + | Задача <tex>\varepsilon</tex>-LC является NP-трудной. |
|proof= | |proof= | ||
− | Для докозательства этой теоремы сведем задачу MINCON к задаче <tex>\varepsilon</tex>-LC. Не умаляя общности будем считать, что <tex>d \ge 2</tex>, так как для | + | Для докозательства этой теоремы сведем задачу MINCON к задаче <tex>\varepsilon</tex>-LC. Не умаляя общности, будем считать, что <tex>d \ge 2</tex>, так как для |
<tex>d = 1</tex> задача становится тривиальной. Также будем считать, что <tex>\mathrm{MINCON}(M) > 0</tex>. | <tex>d = 1</tex> задача становится тривиальной. Также будем считать, что <tex>\mathrm{MINCON}(M) > 0</tex>. | ||
− | Пусть <tex>V</tex> | + | Пусть <tex>V</tex> – размер обрамляющего прямоугольного параллелипипеда множества <tex>M</tex>. Очевидно, что <tex>V \le 2^{\text{input size}}</tex>. |
− | Определим | + | Определим новое множество элементов: |
<tex>A = \left\{\Box\left(a_1 + 2V, a_2, \ldots, a_d\right) | \left(a_1, \ldots, a_d\right) \in M\right\}</tex>, | <tex>A = \left\{\Box\left(a_1 + 2V, a_2, \ldots, a_d\right) | \left(a_1, \ldots, a_d\right) \in M\right\}</tex>, | ||
Строка 88: | Строка 87: | ||
<tex>M_{\lambda} = A \cup \{B\} \cup \{ C_{\lambda} \}</tex>. | <tex>M_{\lambda} = A \cup \{B\} \cup \{ C_{\lambda} \}</tex>. | ||
− | Исходные элементы были сдвинуты вдоль первой оси, поэтому вклад этих элементов не изминился, так как добавленная часть | + | Исходные элементы были сдвинуты вдоль первой оси, поэтому вклад этих элементов не изминился, так как добавленная часть покрывается новым элементом <tex>B</tex>. |
Также отметим, что вклад каждого из элементов множества <tex>A</tex> не превышает <tex>V</tex>. | Также отметим, что вклад каждого из элементов множества <tex>A</tex> не превышает <tex>V</tex>. | ||
Элемент <tex>B</tex> единственный, кто покрывает область <tex>[V, 2V] \times \ldots \times [V, 2V]</tex>, объем которой превышает <tex>V</tex>. Единственным кандидатом на | Элемент <tex>B</tex> единственный, кто покрывает область <tex>[V, 2V] \times \ldots \times [V, 2V]</tex>, объем которой превышает <tex>V</tex>. Единственным кандидатом на | ||
− | должность минимального вкладчика, не | + | должность минимального вкладчика, не присутствовавшего в начальном множестве <tex>M</tex>, является элемент <tex>C_{\lambda}</tex>. Его вклад в точности соответствуем области |
<tex>[0, 1] \times \ldots \times [0, 1] \times [2V, 2V + \lambda]</tex>, объем которой равен <tex>\lambda</tex>. | <tex>[0, 1] \times \ldots \times [0, 1] \times [2V, 2V + \lambda]</tex>, объем которой равен <tex>\lambda</tex>. | ||
Таким образом, элемент <tex>C_{\lambda}</tex> является минимальным вкладчиком только, если <tex>\lambda \le \mathrm{MINCON}(M)</tex>. | Таким образом, элемент <tex>C_{\lambda}</tex> является минимальным вкладчиком только, если <tex>\lambda \le \mathrm{MINCON}(M)</tex>. | ||
Строка 98: | Строка 97: | ||
Так как умея решать задачу LC, мы можем проверять, является ли <tex>C_{\lambda}</tex> минимальным вкладчиком, можно | Так как умея решать задачу LC, мы можем проверять, является ли <tex>C_{\lambda}</tex> минимальным вкладчиком, можно | ||
устроить двоичный поиск по велечине <tex>\lambda</tex>, чтобы найти <tex>\mathrm{MINCON}(M)</tex>, что | устроить двоичный поиск по велечине <tex>\lambda</tex>, чтобы найти <tex>\mathrm{MINCON}(M)</tex>, что | ||
− | потребует <tex>\ | + | потребует <tex>O(\log(V))</tex> шагов. Однако в случае <tex>\varepsilon</tex>-LC запросов |
− | обычный двоичный | + | обычный двоичный поиcк осуществить не удается. Несмотря на появившуюся неточность, продолжим выполнять |
все шаги двоичного поиска как обычно. | все шаги двоичного поиска как обычно. | ||
− | Использование <tex>\varepsilon</tex>-LC может привести двоичный поиск | + | Использование <tex>\varepsilon</tex>-LC может привести двоичный поиск не туда. |
− | <tex>\mathrm{CON}(M, \varepsilon\text{-LC}(M)) \le (1 + \varepsilon) \mathrm{MINCON}(M)</tex>, то неправильный ответ | + | Будем искать только старший бит ответа, то есть положим <tex>\lambda = 2^{\kappa}</tex>, где <tex>\kappa</tex> – целое число. |
+ | Так как мы имеем <tex>\mathrm{CON}(M, \varepsilon\text{-LC}(M)) \le (1 + \varepsilon) \mathrm{MINCON}(M)</tex>, то неправильный ответ | ||
на запрос может выдаваться только при <tex>(1 + \varepsilon)^{-1}\mathrm{MINCON}(M) \le 2^{\kappa} \le (1 + \varepsilon)\mathrm{MINCON}(M)</tex>. | на запрос может выдаваться только при <tex>(1 + \varepsilon)^{-1}\mathrm{MINCON}(M) \le 2^{\kappa} \le (1 + \varepsilon)\mathrm{MINCON}(M)</tex>. | ||
Вне этого интервала результат запроса всегда верен. | Вне этого интервала результат запроса всегда верен. | ||
− | Используя такой двоичный поиск мы получим число <tex>\kappa</tex>, которое или попадает в указанный интервал, и тогда задача решена, или является | + | Используя такой двоичный поиск, мы получим число <tex>\kappa</tex>, которое или попадает в указанный интервал, и тогда задача решена, или является |
− | максимальным целым числом меньшим <tex>(1 + \varepsilon)^{-1}\mathrm{MINCON}(M)</tex>. | + | максимальным целым числом меньшим <tex>\log_2 \left((1 + \varepsilon)^{-1}\mathrm{MINCON}(M)\right)</tex>. |
− | Таким образом <tex>\lambda = 2^{\kappa} \ge \mathrm{MINCON}(M) / (2(1 + \varepsilon))</tex>, то есть была получена <tex>2(1 + \varepsilon)</tex> | + | Таким образом <tex>\lambda = 2^{\kappa} \ge \mathrm{MINCON}(M) / (2(1 + \varepsilon))</tex>, то есть была получена <tex>2(1 + \varepsilon)</tex> аппроксимация задачи MINCON. |
− | аппроксимация задачи MINCON. NP- | + | NP-трудность задачи <tex>\varepsilon</tex>-LC доказана. |
}} | }} | ||
== Источники == | == Источники == | ||
# Bringmann K., Friedrich T. Approximating the least hypervolume contributor: NP-hard in general, but fast in practice (2009) | # Bringmann K., Friedrich T. Approximating the least hypervolume contributor: NP-hard in general, but fast in practice (2009) |
Версия 12:04, 19 июня 2012
Эта статья находится в разработке!
Содержание
Используемые обозначения
– гиперобъем множества .
– вклад элемента в гиперобъем.
– минимальный вклад в гиперобъем множества.
– least contributor, минимальный вкладчик, элемент, имеющей минимальный вклад в гиперобъем.
– элемент, имеющий вклад, отличающийся от минимального не более чем в раз, то есть .
Сложность задачи MINCON
Теорема: | ||
Задача MINCON является #P-трудной, а задача аппроксимации с точностью до является NP-трудной для любого . | ||
Доказательство: | ||
Для доказательства теоремы сведем задачу #MON-CNF к задаче MINCON. Про задачу #MON-CNF известно, что она является #P-трудной, а ее аппроксимация является NP-трудной.
Также добавим параллелипипед . Таким образом множество будет состоять из элемента . Не умаляя общности, будем считать, что ни один клоз не доминируется другим, то есть для любых . Для каждого существуют такие , что область уникально покрывается только элементом , что означается, что для любого . Так как объем составляется лишь , то именно будет являться минимальным вкладчиком.Представим Из-за сведения получаем, что задача MINCON является #P-трудной, а ее аппроксимация является NP-трудной, даже когда минимальный вкладчик уже известен. в виде набора кубиков , где . Чтобы входил в , необходимо, чтобы не входил в . входит в , если для всех выполнено , то есть для всех , и . Получаем, что такой набор удовлетворяет для какого-то , то есть удовлетворяет . Таким образом тогда и только тогда, когда удовлетворяет , то есть . | ||
Сложность задачи -LC
Теорема: |
Задача -LC является NP-трудной. |
Доказательство: |
Для докозательства этой теоремы сведем задачу MINCON к задаче -LC. Не умаляя общности, будем считать, что , так как для задача становится тривиальной. Также будем считать, что .Пусть – размер обрамляющего прямоугольного параллелипипеда множества . Очевидно, что .Определим новое множество элементов: , , , . Исходные элементы были сдвинуты вдоль первой оси, поэтому вклад этих элементов не изминился, так как добавленная часть покрывается новым элементом . Также отметим, что вклад каждого из элементов множества не превышает .Элемент единственный, кто покрывает область , объем которой превышает . Единственным кандидатом на должность минимального вкладчика, не присутствовавшего в начальном множестве , является элемент . Его вклад в точности соответствуем области , объем которой равен . Таким образом, элемент является минимальным вкладчиком только, если .Так как умея решать задачу LC, мы можем проверять, является ли минимальным вкладчиком, можно устроить двоичный поиск по велечине , чтобы найти , что потребует шагов. Однако в случае -LC запросов обычный двоичный поиcк осуществить не удается. Несмотря на появившуюся неточность, продолжим выполнять все шаги двоичного поиска как обычно.Использование NP-трудность задачи -LC может привести двоичный поиск не туда. Будем искать только старший бит ответа, то есть положим , где – целое число. Так как мы имеем , то неправильный ответ на запрос может выдаваться только при . Вне этого интервала результат запроса всегда верен. Используя такой двоичный поиск, мы получим число , которое или попадает в указанный интервал, и тогда задача решена, или является максимальным целым числом меньшим . Таким образом , то есть была получена аппроксимация задачи MINCON. -LC доказана. |
Источники
- Bringmann K., Friedrich T. Approximating the least hypervolume contributor: NP-hard in general, but fast in practice (2009)