Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
8.2. Язык системы ALICEНазвание системы ALICE происходит от первых букв ее названия (A Language for Intelligent Combinatorial Exploration). Общую основу языка составляет словарь теории множеств и классической логики. В нем использованы также многие полезные элементы теории графов, в частности понятия пути и преемника. Использование множеств, функций, декартовых произведений, матриц позволяет описывать объекты в конкретных приложениях. Связи между этими объектами определяются с помощью обычных операторов, таких, как Таким образом, класс задач, решаемых системой ALICE, может быть выражен в общем виде: Найти величину Этот класс задач является очень общим. Он включает все классические алгоритмические задачи (бухгалтерский учет, управление, решение алгебраических систем и т. д.), задачи, связанные с операционными исследованиями и оптимизацией (взимание налогов, планирование, контроль -за ходом выполнения заказов и т. д.), а также множество других, меиее классических задач. Единственное ограничение состоит в том, что неизвестный вектор х должен принадлежать конечному множеству X. Формулировки на языке ALICEФормулировка задачи состоит из четырех частей: 1) определение, задаваемое ключевым словом “пусть”, описывает объекты, участвующие в решении задачи, и задает их типы; 2) с помощью ключевого слова «найти» задаются цель, которую необходимо достигнуть, и неизвестные величины, значения которых необходимо определить; 3) с ключевого слова “с” начинается часть ограничений, которые необходимо учесть при решении задачи (здесь полностью уточняются все остальные особенности решаемой задачи, связи, существующие между различными величинами). В этой части может быть задана оптимизация какой-либо функции, например стоимости; 4) наконец, задаются числовые или формальные данные в соответствии с описаниями, приведенными в первой части, на чем полностью завершается формулировка решаемой задачи. Пример 1. В многопроцессорной ЭВМ запускается на выполнение одновременно Этот обычный текст преобразуется в ALICE в следующий: Определим множество Т заданий, которые перенумеруем от 1 до
где сумма берется по всем заданиям, выполняющимся на данном процессоре. Окончательно формулировка задачи для системы ALICE имеет следующий вид: (см. скан) (см. скан) Это — строгая формулировка проблемы. Мы видели, что ALICE работает с числовыми данными, которые вводятся в четвертой части в том порядке, в котором они были указаны в тексте: сначала
Отметим, что для различных значений длительностей решения существенно различаются, в частности, если длительность задания 1 изменится с 6 до 7. Мы увидим, что система адаптируется к входным данным, но не опирается на использование какого-то определенного метода для формального решения этой задачи (разд. 8.3). Пример 2. Существуют программы типа “Численный анализ” для решения линейных или нелинейных задач в области математического программирования. Например, найти в булевых переменных все решения системы
В разд. 8.3 мы увидим все преимущества неалгоритмических формулировок системы ALICE и ее эффективность при обработке символьных выражений. В данном случае формулировка выглядит просто: (см. скан) Числовых данных здесь нет. Пример 3. В городе необходимо наилучшим образом расположить центры аварийных служб (медицинской помощи, пожарной команды и т. д.). Для каждого возможного размещения центра в прилегающем районе определяется задержка, как показано на рис. 8.1. Этими службами должны быть обеспечены все районы. Кроме того, необходимо обеспечить минимальную общую стоимость организации всех центров при известной стоимости каждого из них. (Встречаются также аналогичные задачи без оптимизации.) Через В данном случае требуется найти функцию
Рис. 8.1. Размещение центров аварийных служб.
(см. скан) (кликните для просмотра скана) (кликните для просмотра скана) Возможны также и другие эквивалентные формулировки. В данном случае были бы пригодны и двузначные переменные, как в примере 2, но формулировка оказалась бы более громоздкой. Эти задачи решаются достаточно быстро. Их решение системой ALICE описано в разд. 8.3.2. В языке системы ALICE имеются и другие ключевые слова, которые облегчают запись классических ограничений. Система “знает” понятия сюръекции, инъекции и биекции. Она “понимает” все обычные логические обозначения, знает, что такое дерево, путь, схема. Целью разработки системы являлось сохранение доступных, максимально понятных формулировок задач, близких к обычному разговорному языку. В табл. 8.1 приведен полный список известных ALICE слов и их значения (ранг слова представляет собой число членов, которыми оно управляет). Каждое слово, не входящее в этот список, рассматривается как новый объект, описание которого должно содержаться в части определений после слова ПУСТЬ. В табл. 8.2 приведены синтаксические правила образования предложений языка в форме Бэкуса. Система использует префиксную польскую запись, которая, не нарушая однозначности выражения, позволяет записывать его единой строкой без использования скобок. Мы, однако, в тексте сохраним обычную запись для удобства восприятия.
|
1 |
Оглавление
|