Математический алгоритм исключения переменных из системы линейных неравенств
Метод исключения Фурье–Моцкина , также известный как метод FME , представляет собой математический алгоритм для исключения переменных из системы линейных неравенств . Он может выводить действительные решения.
Алгоритм назван в честь Жозефа Фурье [1], который предложил этот метод в 1826 году, и Теодора Моцкина , который заново открыл его в 1936 году.
Устранение
Исключение набора переменных, скажем, V , из системы соотношений (в данном случае линейных неравенств) означает создание другой системы того же рода, но без переменных из V , так что обе системы имеют одинаковые решения относительно оставшихся переменных.
Если из системы линейных неравенств исключить все переменные, то получится система постоянных неравенств. Тогда тривиально решить, является ли полученная система истинной или ложной. Она истинна тогда и только тогда, когда исходная система имеет решения. Как следствие, исключение всех переменных может быть использовано для определения того, имеет ли система неравенств решения или нет.
Рассмотрим систему неравенств с переменными до , причем переменную следует исключить. Линейные неравенства в системе можно сгруппировать в три класса в зависимости от знака (положительный, отрицательный или нулевой) коэффициента при .
- те неравенства, которые имеют вид ; обозначим их через , для значений от 1 до , где - число таких неравенств;
- те неравенства, которые имеют вид ; обозначим их через , для значений от 1 до , где - число таких неравенств;
- те неравенства, в которых не играет никакой роли, группируются в одну конъюнкцию .
Исходная система, таким образом, эквивалентна
- .
Устранение состоит в создании системы, эквивалентной . Очевидно, что эта формула эквивалентна
- .
Неравенство
эквивалентно неравенствам для и .
Таким образом, мы преобразовали исходную систему в другую систему, где исключено. Обратите внимание, что выходная система имеет неравенства. В частности, если , то число выходных неравенств равно .
Пример
Рассмотрим следующую систему неравенств: [2] : 100–102
Поскольку все неравенства имеют одинаковую форму (все меньше или все больше), мы можем проверить знаки коэффициентов для каждой переменной. Исключение x даст 2*2 = 4 неравенства для оставшихся переменных, то же самое произойдет и при исключении y. Исключение z даст только 3*1 = 3 неравенства, поэтому мы используем это вместо этого.
что дает 3 неравенства:
Упрощение:
Эта система использует только 2 переменные вместо 3. Проверка знаков коэффициентов для каждой переменной дает все положительные для y, поэтому мы можем сразу сказать, что система не ограничена по y: поскольку все коэффициенты y положительны и все неравенства меньше или равны, установка y в отрицательное бесконечность (или любое достаточно большое отрицательное число) удовлетворит редуцированную систему, поэтому существуют соответствующие x и z также для больших систем, и существует бесконечно много таких решений. Например, установка y = -1000000, x = 0, z = -2222222 удовлетворяет как исходной системе, так и редуцированным.
Сложность
Выполнение шага исключения по неравенствам может привести максимум к неравенствам в выходных данных, таким образом, наивное выполнение последовательных шагов может привести максимум к двойной экспоненциальной сложности. Это связано с тем, что алгоритм создает много избыточных ограничений, подразумеваемых другими ограничениями.
Теорема МакМаллена о верхней границе , согласно которой число не избыточных ограничений растет как одна экспонента. [3] Одна экспоненциальная реализация исключения Фурье-Моцкина и оценки сложности приведены в. [4]
Хорошо известно, что линейное программирование позволяет решать системы неравенств за полиномиальное время, что делает его более предпочтительным по сравнению с методом исключения Фурье-Моцкина.
Теоремы Имберта об ускорении
Две теоремы об «ускорении», выдвинутые Имбертом [5], позволяют устранить избыточные неравенства, основываясь исключительно на синтаксических свойствах дерева вывода формул, тем самым сокращая необходимость решения линейных программ или вычисления рангов матриц.
Определим историю неравенства как набор индексов неравенств из исходной системы, использованных для получения . Таким образом, для неравенств исходной системы. При добавлении нового неравенства (путем исключения ) новая история строится как .
Предположим, что переменные были официально исключены. Каждое неравенство разбивает множество на :
- , набор эффективно исключенных переменных, т.е. намеренно. Переменная входит в набор, как только хотя бы одно неравенство в истории возникает в результате исключения .
- , множество неявно исключенных переменных, т.е. случайно. Переменная неявно исключена, когда она появляется хотя бы в одном неравенстве , но не появляется ни в неравенстве , ни в
- , все остальные переменные.
Неизбыточное неравенство обладает тем свойством, что его история минимальна . [6]
Теорема (первая теорема Имберта об ускорении). Если история неравенства минимальна, то .
Неравенство, которое не удовлетворяет этим границам, обязательно является избыточным и может быть удалено из системы без изменения ее множества решений.
Вторая теорема об ускорении определяет минимальные наборы истории:
Теорема (вторая теорема Имберта об ускорении). Если неравенство таково, что , то является минимальным.
Эта теорема обеспечивает быстрый критерий обнаружения и используется на практике, чтобы избежать более дорогостоящих проверок, таких как проверки на основе рангов матриц. Подробности реализации см. в ссылке. [6]
Приложения в теории информации
Доказательства достижимости с точки зрения теории информации приводят к условиям, при которых гарантируется существование хорошо работающей схемы кодирования. Эти условия часто описываются линейной системой неравенств. Переменные системы включают как скорости передачи (которые являются частью формулировки проблемы), так и дополнительные вспомогательные скорости, используемые для проектирования схемы. Обычно стремятся описать фундаментальные ограничения связи только в терминах параметров проблемы. Это приводит к необходимости исключения вышеупомянутых вспомогательных скоростей, что выполняется с помощью исключения Фурье-Моцкина. Однако процесс исключения приводит к новой системе, которая, возможно, содержит больше неравенств, чем исходная. Тем не менее, часто некоторые неравенства в сокращенной системе являются избыточными. Избыточность может подразумеваться другими неравенствами или неравенствами в теории информации (они же неравенства типа Шеннона). Недавно разработанное программное обеспечение с открытым исходным кодом для MATLAB [7] выполняет исключение, одновременно выявляя и удаляя избыточные неравенства. Следовательно, программное обеспечение выдает упрощенную систему (без избыточности), которая учитывает только скорости передачи данных.
Избыточное ограничение можно определить, решив линейную программу следующим образом. Если задана система линейных ограничений, то если -е неравенство выполняется для любого решения всех других неравенств, то оно избыточно. Аналогично, STI относится к неравенствам, которые подразумеваются неотрицательностью мер теории информации и базовых тождеств, которым они удовлетворяют. Например, STI является следствием тождества и неотрицательности условной энтропии, то есть . Неравенства типа Шеннона определяют конус в , где — число случайных величин, появляющихся в задействованных мерах информации. Следовательно, любое STI можно доказать с помощью линейного программирования, проверив, подразумеваются ли оно базовыми тождествами и ограничениями неотрицательности. Описанный алгоритм сначала выполняет исключение Фурье–Моцкина для удаления вспомогательных ставок. Затем он накладывает ограничения теории информации неотрицательности на сокращенную выходную систему и удаляет избыточные неравенства.
Смотрите также
- Лемма Фаркаша может быть доказана с помощью исключения FM.
- Действительное замкнутое поле – алгоритм цилиндрической алгебраической декомпозиции выполняет исключение кванторов по полиномиальным неравенствам, а не только по линейным.
Ссылки
- ^ Фурье, Жозеф (1827). «История Академии, математическая партия (1824 г.)». Мемуары Академии наук Института Франции . Том. 7. Готье-Виллар.
- ^ Гертнер, Бернд; Матушек, Иржи (2006). Понимание и использование линейного программирования . Берлин: Шпрингер. ISBN 3-540-30697-8.Страницы 81–104.
- ^ Дэвид Моннио, Устранение квантификаторов с помощью ленивого перечисления моделей, Компьютерная верификация (CAV) 2010.
- ^ RJ. Jing, M. Moreno-Maza и D. Talaashrafi [1] Оценки сложности для исключения Фурье-Моцкина . В: Boulier, F., England, M., Sadykov, TM, Vorozhtsov, EV (ред.) Computer Algebra in Scientific Computing. CASC 2020. Lecture Notes in Computer Science, т. 12291. Springer,]
- ^ Жан-Луи Имбер, Об избыточных неравенствах, генерируемых алгоритмом Фурье , Искусственный интеллект IV: Методология, системы, приложения, 1990.
- ^ Жан-Луи Имбер, Исключение Фурье: что выбрать?.
- ^ Gattegno, Ido B.; Goldfeld, Ziv; Permuter, Haim H. (2015-09-25). "Программное обеспечение для исключения Фурье-Моцкина для неравенств теории информации". arXiv : 1610.03990 [cs.IT].
Дальнейшее чтение
- Шрийвер, Александр (1998). Теория линейного и целочисленного программирования . Джон Уайли и сыновья. стр. 155–156. ISBN 978-0-471-98232-6.
- Кесслер, Кристоф В. (1996). «Параллельное устранение Фурье – Моцкина». Университет Трира : 66–71. CiteSeerX 10.1.1.54.657 .
- Уильямс, ХП (1986). «Метод Фурье линейного программирования и его двойственный» (PDF) . American Mathematical Monthly . 93 (9): 681–695. doi :10.2307/2322281. JSTOR 2322281.
Внешние ссылки
- Глава 1 «Выпуклость для студентов», учебник Нильса Лауритцена в Орхусском университете .
- Программное обеспечение FME для теории информации с открытым исходным кодом в MATLAB, разработанное Идо Б. Гаттегно, Зивом Голдфельдом и Хаимом Х. Пермутером.
- Символическое исключение Фурье-Моцкина, открытый исходный код на Python, реализующий две теоремы Имберта об ускорении.