Ограничения. В программе, приведенной в листинге 20.2, реализованы три типа ограничений QDE в виде предикатов deriv( X
В программе, приведенной в листинге 20.2, реализованы три типа ограничений QDE в виде предикатов deriv( X, Y), sum( X, Y, 2), mplus ( X, Y) , Все параметры этих предикатов (X, Y и Z) представляют собой качественные состояния переменных. Рассмотрим каждое из этих ограничений.
• Ограничение deriv( X, Т). С качественной точки зрения Y - это производная от X по времени. Проверка этого ограничения является очень простой — направление изменения переменной X должно соответствовать знаку переменной Y
• Ограничение mplus (X, Y). Переменная Y представляет собой монотонно возрастающую функцию от X. Здесь X и Y имеют форму Dx:QmagX/DirX и Dy:QmagY/DirY При этом, во-первых, направления изменений должны быть согласованы: DirX = DirY. во-вторых, должны соблюдаться заданные соответствующие значения. Метод проверки второго требования основан на использовании относительных качественных величин переменных X и Y (они являются относительными применительно к парам соответствующих значений). Например, относительная качественная величина переменной level: zero. , top по отношению к top равна neg. Для каждой пары соответствующих значений качественные величины переменных х и у преобразуются в относительные качественные величины. Результирующая относительная качественная величина переменной X должна быть равна таковой для переменной Y,
• Ограничение sum( XF Y, Z). Это ограничение соответствует выражению X + Y = 2, в котором все переменные (X, Y и Z) представляют собой качественные состояния переменных в форме Domain:Qmag/Dir, Этому ограничению суммирования должны соответствовать и направления изменений, и качественные величины. Во-первых, проверяется согласованность направлений изменений. Например, выражение
inc + std - inc
является истинным, а следующее выражение — • ложным: inc + std = std
Во-вторых, качественные величины должны быть согласованы с операцией суммирования. В частности, они должны быть согласованы по отношению ко всем заданным соответствующим значениям, выбранным среди значение" X, "tи Z. Ниже приведены три примера качественных величин, удовлетворяющих ограничению sum.
Глава 20. Качественные рассуждения
flow:zero + flow:inflow = flow:inflow
flow:zero..inflow + flow:zero..inflow • flow:inflow
flow:zero.,inflow + flow:гего..inflow = flow:гего..inflow
Но следующее выражение является ложным: flow:zero.inflow + flow:inflow= flow:inflow
Метод проверки согласованности качественных величин по отношению к соответствующим значениям состоит в следующем. Вначале необходимо преобразовать заданные качественные величины в относительные качественные величины (они являются относительными применительно к соответствующим значениям). Затем необходимо проверить согласованность этих относительных качественных значений применительно к операции качественного суммирования. Рассмотрим следующий пример: sum! flow:zero..inflow/inc, flow:zero..inflow/dec, flow:inflow/std)
Во-первых, направления изменений соответствуют ограничению: inc+dec = std. Во-вторых, рассмотрим три соответствующих значения для операции суммирования, которая при любых условиях является действительной: correspond I sural Di:zero, D2:Land, D2:Land)]
где Dl и D2 - области определения, a Land - отметкав области определения D2. Применяя это выражение к области определения потока, получим следующее: correspond! sum! flcw:zero, flow:inflow, flow:inflow))
Являются ли качественные величины в ограничении sum согласованными с этими соответствующими значениями? Для проверки этого преобразуем три качественные величины в ограничении sum в относительные качественные величины следующим образом:
flow:zero..inflow соответствует 'pos'относительно flow:zero flow:zero..inflow соответствует 'neg 1 относительно flow:inflow flow:inflow соответствует 'гего' относительно flow:inflow
Теперь эти относительные качественные величины должны удовлетворять ограничению qsum [ pos, лед, zero). Такое утверждение является истинным.
Математические основы для этой процедуры проверки ограничения sum состоят в следующем. Предположим, что ограничение представлено в виде выражения su:n(X,Y,Z) с тремя соответствующими значениями (хО, уО, zC). Переменные X, Y и Z могут быть представлены в терминах их отличий от соответствующих значений таким образом:
X = хО т ЛХ, Y = уО + ДХ, Z = zO + AZ
В таком случае ограничение sum означает следующее:
хО + Дх + уО + AY - zO * дг
Поскольку х. О+ уО = zO, можно сделать вывод, что ДХ + AY = AZ. Знаки переменных ДХ, AY и Дг определяют относительные качественные величины переменных X, Y и Z применительно к переменным хО, уО и zO. Эти относительные качественные величины должны удовлетворять отношению qsum.