Качественные рассуждения о динамических системах
В данном разделе рассматривается один из подходов к проведению качественных рассуждений о динамических системах. Рассматриваемый здесь подход основан на использовании так называемых качественных дифференциальных уравнений (Quali-
Часть II. Применение языка Prolog в области искусственного интеллекта
tative Differential Equation - QDE). Уравнения QDE могут рассматриваться как качественная абстракция обычных дифференциальных уравнений. Для формирования интуитивного представления и ознакомления с основными идеями этого подхода рассмотрим пример заполнения ванны при открытом сливе (рис. 20.3). Для начала проведем неформально некоторые качественные рассуждения об этой системе. При этом будем рассматривать следующие переменные: поток, поступающий в ванну (приток), исходящий поток (отток), количество и уровень воды в ванне.
Рис. 20.3. Схема ванны с открытым сливом и постоянным притоком
Предположим, что процесс начинается с пустой ванны. Отток воды, вытекающий через слив, зависит от уровня воды: чем выше уровень, тем больше отток. Приток воды является постоянным. Чистое пополнение объема воды в ванне выражается как разность между притоком и оттоком. Первоначально уровень воды является низким, отток меньше, чем приток, следовательно, количество воды в ванне возрастает. Поэтому уровень также повышается, что приводит к увеличению оттока воды. Таким образом в какой-то момент времени отток может стать равным притоку. По данным точного количественного анализа такая ситуация возникает лишь после "очень продолжительного" времени (которое можно считать бесконечным). После того как это произойдет, оба потока приходят в состояние равновесия и уровень воды становится стабильным. График изменения уровня воды во времени (количественный) выглядит примерно так, как показано на рис. 20.4.
Уровень (Laval)
впрхний (top)
установившийся (steady)
возрастающий (inc)
гут '!.<:■."■
(гаю)
Время
Рис. 20.4, График изменения уровня воды so времени
Количественное поведение уровня, показанное на рис. 20.4, можно упрощенно представить в виде описания качественного поведения следующим образом. Первоначально уровень является нулевым и возрастающим. Выберем для представления этой ситуации следующее обозначение: Level - zero/inc
После этого наступает такой промежуток времени, в котором уровень находится в пределах от нуля (zero) до максимального значения (top) и продолжает возрастать.
Глава 20. Качественные рассуждения
В качественной модели невозможно провести различия между точными числовыми значениями, находящимися в пределах от zero до top. Поэтому считается, что эти значения являются достаточно аналогичными по смыслу и, следовательно, остаются одинаковыми с качественной точки зрения. Итак, справедлива следующая формула: Level = zero..top/inc
Очередное качественное изменение происходит после того, как уровень перестает повышаться и становится стабильным, как показано ниже. Level = zero..top/std
Это — окончательное качественное состояние уровня воды.
Теперь формализуем качественные рассуждения, приведенные выше. Вначале определим качественную модель системы с ванной. Переменные этой системы перечислены ниже.
• Level. Уровень воды.
• Amount. Количество воды.
• Inflow. Входной поток (приток).
• Outflow. Выходной поток (отток).
• Netflow. Чистое пополнение объема воды в ванне (Netflow = Inflow -Outflow).
Для каждой переменной определяются ее различимые значения, называемые отметками (landmark). Как правило, среди отметок встречаются минус бесконечность (minf), нуль (zero) и плюс бесконечность (inf). Что касается уровня воды в ванне, Level, то важное значение имеет также максимально допустимый уровень воды в ванне (top), поэтому было решено включить в состав отметок и это значение. С другой стороны, поскольку уровень никогда не принимает отрицательного значения, то нет необходимости включать minf в состав отметок для уровня Level. Отметки зсе-гда упорядочены. Поэтому для уровня (Level) задано следующее упорядоченное множество отметок: zero < top < inf
Для количества воды в ванне (Amount) могут быть выбраны такие отметки: zero < full < inf
Теперь определим зависимости между переменными в модели. Эти зависимости называются ограничениями, поскольку налагают определенные пределы на значения переменных.
В разрабатываемой модели применяются ограничения некоторых видов, типичные для качественных рассуждений. Одно из таких ограничений определяет зависимость между переменными Amount и Level — чем больше количество воды, тем выше уровень. Это ограничение записывается следующим образом:
Мо [ Amount, Level)
В общем обозначение M'(X,Y) указывает, что Y- монотонно возрастающая функция от X: после каждого увеличения X увеличивается также Y и наоборот. Запись M0(x,Y) указывает, что Y — монотонно возрастающая функция от X, такая, что Y(0) = 0. Принято считать, что для такой связи М* пара (0, 0) включает соответствующие ей значения. Еще одной парой соответствующих значений для этой связи М" является (full, top). Важно подчеркнуть, что запись М+ (X, Y) эквивалентна записи м" ;Y,X) .
Ограничения, определяющие монотонно возрастающую функцию, являются очень удобными и часто позволяют намного упростить определение модели. Применяя запись Мд (Amount, Level), мы просто утверждаем, что уровень повышается при каждом увеличении количества и снижается после уменьшения этого количества. Следует отметить, что такое ограничение остается справедливым для любого контейнера
Часть II. Применение языка Prolog e области искусственного интеллекта
произвольной формы. Если бы вместо этого мы решили определить точное количественное функциональное отношение: Amount = f(Level}
то оно зависело бы от формы контейнера, как показано на рис. 20.5. Но с качественной точки зрения отношение между уровнем и количеством всегда является монотонно возрастающим, независимо от формы контейнера. Поэтому, чтобы определить качественную модель ванны, нет необходимости подробно изучать ее форму. Благодаря этому задача моделирования часто значительно упрощается, но упрощенная, качественная модель все еще остается приемлемой для достоверного выявления некоторых важных свойств моделируемой системы. Например, если в контейнер поступает приток воды, а отток отсутствует, то количество воды будет увеличиваться, а уровень — повышаться. Поэтому когда-то наступит такой момент времени, что уровень достигнет края контейнера и вода начнет переливаться через край. Подобное качественное поведение является характерным для всех контейнеров (независимо от того, является ли их форма простой или сложной).
Количество
Уровень
Количество
Уровень
Количество
Уровень
Рис. 20,5. Точное отношени-с между количеством и уровнем ооды зависит от формы контейнера. Но количество воды всегда является монотомно возрастающей функцией от уровня
Аналогичным образом, может оказаться сложным точное отношение между оттоком Outflow и уровнем Level. Но с качественной точки зрения можно констатировать, что это отношение является монотонно возрастающим.
Типы ограничений, которые будут использоваться в рассматриваемых качественных моделях, приведены в табл. 20.2. В модели с ванной применяются следующие ограничения:
Глава 20, Качественные рассуждения
Щ[ Amount, Level)
Ko( Level, Outflow)
эпш( Outflow, Netflow, Inflow)
deciv[ Amount, Netflow}
Inflow = constant = inflow/std
Таблица 20.2, Типы качественных ограничений