Знаходження ріжучої площини, яка розбиває багатогранник рівномірно


10

Скажімо, у нас багатогранник у стандартній формі:

Ах=бх0

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

Також, чи є відомі результати щодо складності цієї проблеми?

Додаток: Обмеження видів скорочень:

Ось варіант вихідної проблеми з надією, що її вирішити легше, ніж оригінальну:

Чи є спосіб ефективно обчислити або оцінити, для якої координати гіперплощина вигляду d i x i + d 0 = 0 дала б найменшу абсолютну різницю вершинних кардинальностей з обох сторін розколу? Під ефективним я маю на увазі що-небудь більш ефективне, ніж вичерпне перерахування вершинних кардинальностей для всіх можливих таких розкол.iгiхi+г0=0

Примітка. Після кількох днів невеликого прогресу я також опублікував це запитання в MathOverflow .


Чи не можна було б довести, що це непроста проблема?
Пітер Шор

Дякую @Peter. Доказ був би чудовим. Зважаючи на це, я вважаю, що проблема складна, і я думаю, що мене більше цікавлять евристика або алгоритми наближення. Мотивація ідеї обмеження типів скорочень почасти була частково для того, щоб побачити, чи існують легші варіанти загальної проблеми, для якої ми вже знаємо рішення або алгоритм наближення.
Амеліо Васкес-Рейна

Як щодо цього в цьому напрямку (не впевнений, що це працює) - Ми знаємо, що підрахунок кількості максимум двосторонніх співпадінь становить # P-важко. Ми також знаємо, що лінійна програма, щоб знайти максимальне двостороннє відповідність, є абсолютно одномодульною, і тому будь-яке кутове / базове можливе рішення є невід'ємним. Щоб отримати максимальну двосторонню відповідність, знайдіть значення відповідності. Побудуйте лінійну програму з обмеженням, що будь-яке рішення має мати оптимальне значення. Тоді кожна кутова точка - це відповідність. Уміння багаторазово розподіляти рівномірно означає, що ви повинні вміти рахувати кількість відповідностей.
Опт

Не звертай уваги. Слід також мати можливість порахувати кількість вершин, доданих площиною різання.
Опт

Відповіді:


-2

Я не можу пригадати аналітичний спосіб зробити це!

Але це класична проблема генетичного програмування! Якщо ви знайомі з цим, ви можете використовувати нормалізовані вектори в центрі багатогранника, що описує площину різання.

Отже, ваша сукупність - це набір нормалізованих векторів [x, y, z, ...], і як функцію пристосування ви використовуєте різницю між двома розділеними обсягами!

Отже, якщо різниця має тенденцію до нуля, більше "підходить" - це ваш вектор / площина!


Вибачте, ви можете сказати це знову, не використовуючи мову генетичного програмування? Що таке "населення"? Що таке "функція підгонки"?
Jeffε
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.