Задачи оптимизации и задачи УО
Решение оптимизационной задачи может быть сведено к решению последовательности задач УО следующим образом. Находится допустимое решение, после чего добавляется ограничение, соответствующее целевой функции, которое выражает условие, что значение целевой функции должно быть лучше, чем для этого решения. Последовательные корректировки этого порогового значения, производимые до тех пор, пока задача не станет неразрешимой, позволяют найти оптимальное решение.
Пример 10.1. Наиболее тривиальным алгебраическим примером задачи УО является задача решения системы уравнений. Дана система линейных уравнений над конечным полем . Имеет ли она решение? Ясно, что в этом примере каждое отдельное уравнение является ограничением, причем переменные уравнения образуют диапазон, а множество всех кортежей, соответствующих решениям уравнения, образует отношение ограничения.
Пример 10.2. Задача стандартной пропозициональной 3-выполнимости (3-SAT) [4] определяется заданием формулы пропозициональной логики, состоящей из конъюнкции дизъюнктов, причем каждый дизъюнкт содержит 3 литерала (литерал ‑ это переменная или ее отрицание), и ответом на вопрос, имеются ли значения переменных, которые делают формулу истинной.
Пусть ‑ такая формула, где ‑ дизъюнкты. Задача выполнимости для может быть выражена в виде задачи УО , где ‑ множество всех переменных в формуле, а ‑ множество ограничений , где каждое ограничение построено следующим образом: ‑ список переменных, входящих в , а состоит из всех кортежей, которые делают дизъюнкт истинным .
Решения этой задачи УО ‑ присвоения значений переменным, которые делают формулу истинной. Значит, любая задача 3-выполнимости может быть выражена в виде задачи УО.
Задача УО может быть также преобразована в задачу выполнимости SAT. Для данной ЗУО построим задачу выполнимости SAT следующим образом. Введем переменных . Переменные принимают значение «истина» тогда и только тогда, когда переменной присвоено значение . Для каждой переменной добавляются клаузы (дизъюнкты) для всех пар значений одной и той же переменной, чтобы гарантировать невозможность одновременного принятия переменной двух различных значений. Добавляется дизъюнкт , чтобы гарантировать, что переменной присвоено хотя бы одно значение.
Пример 10.3. Любая конкретная задача УО может быть выражена в логической форме.
Действительно, используя стандартное соответствие между отношениями и предикатами, можно переписать задачу УО в виде формулы первого порядка , где ‑ предикаты на и означает предикат , примененный к кортежу переменных .
Вопрос состоит в том, является ли эта формула выполнимой. Эта задача обычно используется в теории баз данных, поскольку она соответствует оценке конъюнктивного запроса, как показано в следующем примере.
Пример 10.4. Реляционная база данных может быть рассмотрена как конечное множество таблиц. Таблица состоит из схемы и конкретных данных, где схема ‑ конечное множество атрибутов, причем каждый атрибут имеет соответствующее ему множество возможных значений, называемое доменом. Конкретные данные ‑ это конечное множество строк, где каждая строка ‑ отображение, ставящее в соответствие каждому атрибуту схемы значение из ее домена.
Стандартной задачей для реляционных баз данных является задача оценки конъюнктивного запроса, в которой спрашивается, имеет ли решение конъюнктивный запрос, т.е. запрос вида , где ‑ атомарные формулы. Конъюнктивный запрос над реляционной базой данных соответствует конкретному примеру задачи УО, что достигается простой заменой терминов: «атрибуты» заменяются на «переменные», «таблицы» ‑ на «ограничения», «схема» ‑ на «диапазон», «конкретные данные» ‑ на «отношение ограничения», а «строки» ‑ на «кортежи». Значит, конъюнктивный запрос эквивалентен конкретному примеру задачи УО, переменные которой – это атрибуты запроса. Для каждой атомарной формулы в запросе найдется ограничение такое, что диапазон ограничения ‑ это список переменных формулы и отношение ограничения ‑ это множество моделей .
Пример 10.5. Интервальные задачи УО.
Одним из видом задач УО с доменами, содержащими бесконечное число значений, являются задачи УО, в которых значения, принимаемые переменными, являются интервалами действительной прямой. Эти задачи используются для моделирования поведения во времени систем, где интервалы представляют интервалы времени, в течение которых происходят события.
Наиболее популярной формальной структурой такого рода является интервальная алгебра Аллена (ИАА)[3], описывающая бинарные качественные отношения между интервалами.
ИАА содержит 13 базовых отношений, соответствующих 13 различным способам, согласно которым могут соотноситься два интервала. Полная система отношений в ИАА состоит из 213 = 8192 возможных объединений базовых отношений.
Интервальная алгебра Аллена имеет три операции над отношениями: композиция, пересечение и инверсия.
Дата добавления: 2016-06-05; просмотров: 1852;