Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
8.5. Работа системы ALICEНам осталось рассмотреть следующее: внутреннее представление задач, обработку алгебраических ограничений, процедуры выбора. 8.5.1. Представление задачОбычно программа разрабатывается для решения одного типа задач и используется одно представление. В данном случае необходимо уметь представлять произвольные задачи с конечными множествами и произвольными ограничениями. В идеальном случае, как в примере 3, все формулировки надо выражать в компактной форме, предусматривающей предварительную компиляцию, хотя для выражений типа
не существует другого представления, кроме приведенного классического алгебраического. Для системы ALICE наиболее подходящим является представление в форме “изображений” (графов и гиперграфов) во всех случаях, когда это допустимо, т. е. при наличии простых ограничений, связывающих не более двух переменных и при сохранении всех остальных в алгебраической форме. Графическое представление На рис. 8.6 а приведено общее представление организации информации. Для этого используется в основном двухчастичный граф: все точки слева, принадлежащие множеству Рис. 8.6а. (см. скан) Схема двухчастичного графа внутреннего представления задачи. найдены. Точки справа, принадлежащие множеству I, являются возможными изображениями этих объектов. Если в формулировке задачи нет других указаний, возможно существование всех дуг, исходящих из каждой точки Когда искомые функции принадлежат особому типу — инъекции или сюръекции, опции “вынужденная степень” минимального или максимального числа точек изображения, — то. такая информация выражается локально: два вектора, связанные с точками множества Что касается гиперграфа, то он строится на вершинах множества Формальное представлениеДругие ограничения обрабатывают с помощью алгоритма унификации. Выражения могут быть, в частности, нормализованы с помощью правил перезаписи, приведенных в табл. 8.3. Начальные связи всегда выражаются с помощью символов Ф, или С помощью табл. 8.3 можно осуществить некоторые типы унификаций второго порядка (над операторами). Например, символ Предусмотрены фильтры для уменьшения числа попыток унификации. С каждым выражением связан характеристический вектор, учитывающий головной оператор, наличие числовой константы в первом члене, частоту появления каждой переменной. В зависимости от этого вектора выбираются соответствующие правила. Наличие кода Передача информации между двумя представлениями• Все ограничения, содержащие единственную переменную, исключаются из пакета алгебраических ограничений и запоминаются в графе. Таким образом, соотношения • В графе представляются также линейные соотношения между переменными типа Таким образом, чем дальше продвигается решение задачи, тем большее число ограничений упрощается и большим (кликните для просмотра скана) Продолжение табл. 8.3 (см. скан) становится их число, непосредственно представленное в графе. В конце решения вся информация содержится только в графе. В процессе каждой модификации графа специальные процедуры выполняют выводы, связанные с контекстом: • при назначении • при запрещении дуги производится проверка оставшихся возможных изображений. Если осталось только одно из них, выполняется соответствующее назначение. То же происходит, если одна из вершин множества I достигает минимальной степени; • при выражении равенств типа В определенных случаях в процессе рекурсивного обращения к этим процедурам может быть обнаружена невозможность дальнейшего выполнения обработки, связанная с противоречиями, пустым множеством преемников, неудовлетворительной экстремальной степенью. Это сообщается монитору, который берет управление на себя, возвращается в решении задачи назад, восстанавливая состояние графа и ограничений, которое было перед последним выбором. Отметим, что теперь в графе содержится информация, на основе которой производится локальный анализ ограничений. 8.5.2. Обработка алгебраических ограниченийОбщая процедура анализа ограничений Эта процедура применяется ко всем ограничениям вида
в которых все члены со знаком Когда
Рис. 8.66. Алгоритм общего анализа. В общем случае обработка ограничений происходит в зависимости от информации, содержащейся в графе, для того чтобы получить новые ограничения, обязательно удовлетворяющиеся, как и исходное. По структуре эти ограничения оказываются более простыми, а содержащуюся в них информацию можно непосредственно использовать. Основная информация связана с интервалами изменений двух вершин Установлено стандартом, что
Тогда алгоритм общего анализа принимает вид, приведенный на рис. 8.66. Специальные случаи 1) В первом случае член
Пример. Из ограничения
при
2) Случай диофантовых уравнений вида Пример. Ограничение
приводит к 3) Равенства позволяют исключить переменные. Тем не менее это исключение предпринимается только в линейном случае и когда каждая переменная появляется не менее двух раз в совокупности ограничений (в противном случае подобные подстановки не приводят к получению дополнительной информации). Пример. Из системы
приходим к и, следовательно, 4) Неявные ограничения, в которых неизвестно точное имя объекта. Например,
Мы уже видели, что подобные ограничения могут накапливаться и приводить к возникновению общих необходимых условий, которые ALICE использует еще и как проверку на исключение. Вообще говоря, каждое ограничение такого типа, которое накладывает условие на множество
где запись
то Пример. В предыдущем случае в процессе каждого назначения
Для каждого Порядок обработки ограничений Множество ограничений в системе ALICE является динамическим с двойным заголовком. На первом месте, как мы уже видели, постоянно находятся ограничения, связанные с добавлением или отсечением, переходами из одного представления в другое. Этим система отличается от классических Программ в области операционных исследований или численного программирования. Во вторую очередь в данный момент времени система обрабатывает ограничение, которое она считает наиболее интересным, в соответствии с процедурой, описанной ниже. Прежде всего отметим, что приоритет отдается графу. Создается записная книжка задания, и до тех пор, пока она не исчерпана, единственной выполняющейся работой являются процедуры вывода на графе. Когда управление передается алгебраической обработке, исследуются ограничения» получившие наибольшее количество информации со времени последнего анализа. В частности, приоритетными являются такие, у которых по крайней мере одна из неизвестных получила значение.
Рис. 8.7. Функция Грунди. Если таковые не имеются, вступает в игру число исключенных значений с помощью графа. Для определения порядка работы с этими ограничениями ALICE распределяет их по трудности. Чем с большим трудом поддается удовлетворению какое-либо ограничение, том более стеснительным оно является и тем большую информацию из него можно получить. Трудность
где Система На рис. 8.7 приведена схема, дающая практическое представление о функции Грунди. Последняя отражает логический порядок, в котором информация об этих граничных значениях может изменяться допустимым образом. Сначала рассматриваютсянижние границы, затем верхние. Сначала изучаются ограничения в значениях переменных, от которых не ожидается получить никакой дополнительной информации. Затем новые вычисленные границы переносятся на те переменные, которые зависят только от уже известных. Покажем это для случая линейных ограничений. Предположим, что в системе в числе прочих рассматриваются три следующих ограничения:
На рисунке стрелками указаны зависимости между нижними и верхними границами для различных значений неизвестных, которые соответствуют дугам, соединяющим вершины
Рис. 8.8. Общая схема управления системы ALICE. Допустим, известно, что нижняя граница Предположим, что реальная нижняя граница
Предположим также, что из графа следует остается максимально долгое время, переходя попеременно от графа к алгебраическим процедурам, максимально откладывая выбор. Однако, когда уже невозможно получить никакой новой информации, необходимо сделать какое-либо предположение, вводящее дополнительные небольшие ограничения в задачу и позволяющее продвинуться в ее решении. Система ALICE непременно должна сделать выбор (рис. 8.8). 8.5.3. Процедура выбораВ системе предусмотрены семь различных типов выбора. Приведем их в приоритетном для системы порядке. 1. Выбрать одну из альтернативных ветвей в ограничении типа ИЛИ. 2. Зафиксировать нижнюю или верхнюю границу значения переменной. 3. Установить предел стоимости назначения. 4. Ввести локальную нумерацию для уравнений двух или трех переменных. 5. Ввести глобальную нумерацию, когда размер задачи превышает фиксированный порог. 6. Назначить предшественника для точки из представляемого множества. 7. Выбрать изображение точки исходного множества. Выбор типа выбора Тип I. Выбрать одну из альтернативных ветвей в ограничении типа ИЛИ. ALICE выбирает его всякий раз, когда одна из ветвей ограничения типа ИЛИ содержит не более двух переменных. Тип 2. Зафиксировать нижнюю или верхнюю границу значения переменной. В выборе этого типа используется переменная, которая участвует в максимальном числе ограничений и имеет наибольшее множество изображений. Затем это множество делится на два. Выбор имеет смысл только тогда, когда множество изображения является числовым множеством. Тип 3. Установить предел стоимости назначения. Этот выбор является оптимистическим. Он осуществляется на втором этапе, когда, уже найдено очевидное решение. Друг за другом исключаются максимальные стоимости до тех пор, пока для каждой точки множества D множество дуг не будет уменьшено наполовину. Типы 4 и 5. Ввести локальную нумерацию для уравнений двух или трех переменных. Ввести глобальную нумерацию, когда размер задачи превышает фиксированный порог. Эти типы зависят от производительности ЭВМ. Бесполезно производить сложную формальную обработку, если задача стала небольшой по размеру. Чем меньше ограничений и чем меньше дуг из множества Типы 6 и 7. Назначить предшественника для точки из представляемого множества. Выбрать изображение точки исходного множества. В данном случае речь идет об определении пары (объект из На различных стадиях решения задачи каждый критерий применяется только в том случае, когда для этого имеется несколько причин. Обозначим через Список критериев, используемых системой ALICE, приведен в табл. 8.4. Они работают и в графическом, и в алгебраическом представлениях. Затем будут приведены продукционные правила, определяющие стратегию, т. е. порядок, в котором эти критерии рассматриваются в системе. Трудность ограничения была определена в рязд. 5.2.3. Глобальная трудность ограничений на переменную из множества
Рис. 8.9. Значения трех критериев для 4 переменных. Выбор системы — переменная 3. Целью всех критериев является выделение наиболее трудных точек. Таким образом, критерий (6) принимает во внимание точки с наибольшей минимально возможной стоимостью. Таблица 8.4 (см. скан) Критерий (7) оказывает влияние на проблемы оптимизации. Отрыв точки — разность между наиболее низкой стоимостью и стоимостью, которая следует непосредственно за ней. Чем выше отрыв, тем более критической является точка. Критерий (8) относится к алгебраическим ограничениям. Значимость переменной х определяется суммой изменений трудностей при изменении х от минимального до максимального значения. Сумма берется по множеству тех ограничений, в которых присутствует переменная х. Значимость х возрастает, когда глобальная трудность ограничений по переменной х уменьшается. Критерий (9) относится к предшественникам и, и Упорядочивание критериев и стратегия ALICE Порядок, в котором располагаются критерии, выбирается самой системой. Он зависит, с одной стороны, от типа решаемой задачи (уже по формулировке ALICE знает, что определенные критерии не подходят для данного случая), а с другой — от стадии, на которой находится решение задачи. Два метаэвристических правила, имеющие весьма общий характер, используются для выбора стратегии; 1) сделать наиболее информативный набор; 2) сделать выбор наименьшей стоимости. Вытекающий из них порядок критериев определяется следующими продукционными правилами: (см. скан) (см. скан) (см. скан) Таким образом, по мере пёрехода от одного этапа к Другому программа сначала является «подозрительной», затем, как только найдено решение, “оптимистичной” и снова “подозрительной” при увеличении числа неудачных выборов, когда число ограничений возрастает. Подчеркнем, что хотя сами критерии и их упорядочивание являются всего лишь эвристическими правилами, но ALICE находит безупречно оптимальные решения. Другими словами, у нее не возникает противоречия между эвристикой и строгостью решения. Перейдем к рассмотрению средств, используемых в системе ALICE для доказательства оптимальности решения, полученного с помощью этих эвристических правил. Доказательства оптимальности Как только получено решение, полная стоимость которого равна Рассмотрим два часто встречающихся частных случая, обработка которых выполняется по-разному. Один из них относится к функции стоимости вида
который встречается каждый раз, когда определены дуги (в частности, в задачах о коммивояжере, о вращений, о распределении), а для другого функция стоимости имеет вид
и он относится к задачам, в которых играет роль только наиболее высокая стоимость с учетом весового коэффициента а Случай 1. На этапе
Эта величина разделяется между всеми стоимостями дуг, исходящих из и таким образом, чтобы минимальная стоимость для каждой точки была нулевой. Если в последующем соответствующая дуга исключается, то ALICE осуществляет новое уменьшение стоимостей. Полученная таким образом полная сумма принимается за текущую нижнюю границу Случай 2. Для получения решения, лучшего в строгом смысле, чем известное решение для величины
Это неравенство настолько же уменьшает множество возможных изображений в каждой точке. Более того, нижняя граница оптимального значения
как в случае I. Если для точек изображения устанавливаются максимальные степени
превышает число точек в Вычисления границ имеют важное значение лишь в том случае, если они позволяют на достаточно раннем этапе прекратить дальнейший поиск и доказательства оптимальности. Отметим, что они всегда основываются на необходимых условиях, которым должно удовлетворять каждое решение, т. е. они выполняются с помощью погружения пространства поиска в более обширное пространство с меньшим числом ограничений (рис. 8.10).
Рис. 8.10. Ограничения пространства поиска. Таким образом, по построению каждое решение из Вычисление нижней границы является двойственной задачей по отношению к процессу выбора и ограничивает снизу реальное значение
|
1 |
Оглавление
|