Нахождение плоскости разреза, равномерно разделяющей многогранник

10

Скажем, у нас есть многогранник в стандартной форме:

Ax=bx0

Существуют ли какие-либо известные способы нахождения гиперплоскости которая разбивает многогранник таким образом, чтобы число вершин на каждой стороне гиперплоскости было приблизительно одинаковым? (т.е. алгоритм, который минимизирует абсолютную разницу мощностей вершин по двум сторонам разбиения).dx+d0=0

Кроме того, есть ли какие-либо известные результаты относительно сложности этой проблемы?

Приложение: Ограничение типов порезов:

Вот вариант исходной проблемы с надеждой, что ее легче решить, чем исходную:

Есть ли способ эффективно вычислить или оценить, для какой координаты гиперплоскость вида даст наименьшую абсолютную разницу вершин по обе стороны от разбиения? Под эффективными я подразумеваю что-нибудь более эффективное, чем исчерпывающее перечисление мощностей вершин для всех возможных таких разбиений.idixi+d0=0

Примечание: после нескольких дней небольшого прогресса я также разместил этот вопрос в MathOverflow .

Амелио Васкес-Рейна
источник
Разве нельзя быть в состоянии доказать, что это NP-сложная проблема?
Питер Шор
Спасибо @Peter. Доказательство было бы здорово. Тем не менее, я предполагаю, что проблема сложная, и я думаю, что меня больше интересуют эвристика или алгоритмы аппроксимации. Мотивация идеи ограничения типов разрезов отчасти заключалась в том, чтобы увидеть, существуют ли более простые варианты общей проблемы, для которой мы уже знаем решение или алгоритм приближения.
Амелио Васкес-Рейна
Как насчет чего-то в этом духе (не уверен, что это работает) - Мы знаем, что подсчет числа максимальных двойных соответствий - это # ​​P-hard. Мы также знаем, что линейная программа для нахождения максимального соответствия между двумя частями абсолютно унимодулярна и, следовательно, любая угловая точка / базовое выполнимое решение является интегральной. Для проблемы максимального соответствия двухстороннего поиска найдите значение соответствия. Построить линейную программу с тем условием, что любое решение должно иметь оптимальное значение. Тогда каждая угловая точка совпадает. Возможность многократного равномерного деления означает, что вы должны быть в состоянии посчитать количество совпадений.
Opt
Ничего. Также нужно было бы подсчитать количество вершин, добавленных плоскостью резания.
Opt

Ответы:

-2

Я не могу вспомнить аналитический способ сделать это!

Но это классическая проблема для генетического программирования! Если вы знакомы с ним, вы можете использовать нормализованные векторы в центре многогранника, который описывает плоскость среза.

Таким образом, ваша совокупность представляет собой набор нормализованных векторов [x, y, z, ...], и в качестве функции подбора вы используете разницу между двумя разделенными объемами!

Так что, если разница стремится к нулю, то больше «подходит» ваш вектор / плоскость!

Эдуардо Понс
источник
Извините, не могли бы вы сказать это снова без использования языка генетического программирования? Что такое "население"? Что такое «подходящая функция»?
Джефф