Вычислить многомерный многогранник из заданного набора знаковых векторов


11

Для заданного набора гиперплоскостей, определяемых нормальными векторами , его типами ячеек (или знаковыми векторами) являются все векторы t ∈ { + , - } m, для которых существует вектор v ∈ R d так , что ⟨ v , ч я ⟩ ≠ 0 и т я = знак ( ⟨ v , ч я ⟩ )h1,…,hm∈Rdt∈{+,−}mv∈Rd⟨v,hi⟩≠0ti=sign(⟨v,hi⟩)имеет место для всех . Здесь, ⟨ U , V ⟩ обозначает скалярное произведение , а знак ( х ) обозначает знак ( + или - ) от ненулевого вещественного числа х .i⟨u,v⟩sign(x)+−x

Вопрос: Какой самый быстрый известный алгоритм для обратной операции? Учитывая набор типов ячеек , мы хотим вычислить некоторый набор гиперплоскостей в как можно меньшем количестве измерений, чтобы его типы ячеек были надмножеством t 1 , … , t n .t1,…,tnt1,…,tn


1
Кстати, не ясно, что является внутренним произведением гиперплоскости и вектора. Вы намеревались, чтобы был нормальным вектором i-й гиперплоскости? hii
— Сашо Николов

Да, они должны быть нормальными векторами - я формально указал именно то, что я ищу.
— Хольгер

Ответы:


5

Это эквивалентно вычислению ранга знака матрицы, которая является NP-трудной, как показано в этой статье . Таким образом, вы не можете ожидать слишком эффективного алгоритма.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.