Пред.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
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 |
Оглавление
|