Качественные рассуждения о статических системах

Рассмотрим простые электрические схемы, состоящие из выключателей, ламп и источников питания (рис. 20,2). Выключатели могут быть разомкнутыми или замк­нутыми (т.е. выключенными или включенными), а лампы могут быть светящимися или темными, сгоревшими или исправными. Нас интересует поиск ответов на вопро-



Часть II. Применение языка Prolog в области искусственного интеллекта

сы, которые относятся к области прогнозирования состояний, диагностики или управления такими электрическими схемами. Одним из примеров вопроса по схеме 1, который относится к области диагностики, является следующий: "Если выключа­тель включен, а лампа остается темной, то каково состояние этой лампы?" Для того чтобы определить, что данная лампа сгорела, достаточно применить простые качест­венные рассуждения.

S1 В!

S2 B2



SwVoltBulbVolt

Mg>-

^—О"!

S3

?3

тгп1

Рис. 20.2. Примеры простых схем, состоящих из выключателей, ламп и источников питания

Одним из примеров более интересного диагностического вопроса, касающегося схемы 2, являются следующий: "Видя то, что лампа 2 светится, а лампа 3 остается темной, можно ли сделать достоверный вывод, что лампа 3 сгорела?" Качественные рассуждения подтверждают, что лампа 3, безусловно, является сгоревшей. Для того чтобы светилась лампа 2, через лампу 2 должен проходить ненулевой ток, а выклю­чатель 2 должен быть включен. Если же через лампу 2 течет ненулевой ток, то на лампе 2 должно быть ненулевое напряжение. Для этого требуется, чтобы выключа­тель 3 был выключен. Такое же ненулевое напряжение поступает на лампу 3. Итак, при подаче одного и того же напряжения лампа 2 светится, а лампа 3 остается тем­ной; это означает, что лампа 3 должна быть сгоревшей.

В рассматриваемой качественной модели подобных схем электрические токи и напряжения имеют лишь качественные значения "pos" (положительный), "zero" (нулевой) и "neq" (отрицательный). Правило абстрагирования, применяемое для пре­образования действительного числа X в качественное значение, приведено ниже.

Если X > D, та pos Если X = О, то гего Если X < 0, то neg

В типичных числовых моделях электрических схем используются некоторые фундаментальные законы, такие как законы Кирхгоффа и закон Ома. Законы Кирх-гоффа гласят: во-первых, сумма всех напряжений вдоль любого замкнутого контура в схеме равна 0, во-вторых, сумма всех токов в любом соединении в схеме равна 0. Чтобы применить эти законы в качественной модели, необходимо предусмотреть ка­чественную версию операции арифметического суммирования. В рассматриваемой программе вместо обычного арифметического суммирования X + V = Z применяется сокращенный вариант в виде операции качественного суммирования, которая реали­зована в форме следующего предиката: qsurat X, У, ZI

Отношение qsum может быть определено просто как множество фактов. Эти фак­ты, например, утверждают, что сумма двух положительных чисел представляет со­бой положительное число: asurnt pos, pos г pos}.

Глава 20. Качественные рассуждения



Сумма положительного и отрицательного чисел может представлять собой любое из следующих значений:

qsumi роз, neg, pos) . qsumj pos, neg, zero) . qsum( pos, neg, neg) .

Такая операция суммирования является недетерминированной (неопределенной). Из-за отсутствия точной информации, потерянной в процессе качественного абстра­гирования, иногда невозможно определить, каковым фактически является результат суммирования. Такого рода недетерминированность является довольно типичной для качественных рассуждений.

Программа, приведенная в листинге 20.1, определяет качественную модель рас­сматриваемых схем и формализует качественные рассуждения об этой модели. В мо­дели схемы определяются компоненты схемы и учитываются соединения между компонентами. Качественное поведение компонентов двух типов (выключателей и ламп) определяется с помощью следующих предикатов: switch( SwitchPositicn, voltage, Current) bulb( BulbState, Lightness, voitage, Current)

где SwitchPosition - положение выключателя, Voltage - напряжение, Current -ток, BulbState — состояние лампы, a Lightness — ее светимость.

Листинг 20.1. Программа качественного моделирования простых электрических схем

Ч Программа качественного моделирования простых электрических схем % Качественные значения напряжений и токов: neg, zero, pos

% Определение выключателя

% switch! SwitchPosition, Voltage, Current)

switch* on, zero, ftnyCurrent} . % Выключатель замкнут - напряжение равно нулю switch! off, Anyvoltage, zero). % Выключатель разомкнут - ток равен нулю

% Определение лампы:

% bulb[ BulbState, Lightness, Voltage, Current)'

bulb( blown, dark, AnyVoltage, zero). bulb{ ok, light, pos, pos) . bulbf ok, light, neg, neg) . bulb ( ok, dark, zero, zero) ,

% Простая электрическая схема, состоящая из лампыг выключателя I и источника г.итания

circuit1( SuitchPos, BulbState, Lightness) :-switch,- SwitchPos, SwVolt, Curr) , bulb( BulbState, Lightness, BulbVolt, Curr) , qsum( SwVolt, BulbVolt, pos)- % Напряжение источника питания равно pos

Ъ Более интересная схема, состоящая из источника питания, трех ламп % и трех выключателей

Circuit2[ Swl, Sw2, Sw3, Bl, Б2, БЗ, LI, L2, L3) :-switcht Swl, vswl, CD , bulb! Bl, LI, VB1, Cl) , switch) Sw2, VSw2, C2) , bulb( B2, L2, VB2 , C2) , qsum( VSw2, VE2 , V3\, switcht 3w3, V3, CSw3) , bulb( E3, L3, V3, CB3) , qsum( VEwl, VB1, VI) , qsumt VI, V3 , pos) , qsumf CSw3, CB3, C3) , qsumf C2, C3 , Cl) .



Часть II. Применение языка Prolog в области искусственного интеллекта

% qsuml Ql, Q2, Q3):

% 03 = Ql + Q2, качественное суммарное значение

% в области определения [pos,zero,neg]

qsumt pos, pos, pos).

qsumt pos, zero, pos).

qsumt pos, neg, pos).

qsumt pos, neg, zero).

qsumt pos, neg, neg).

qsumt zero, pos, pos).

qsumt zero, zero, zero) .

qsumt zero, neg, neg).

qsumt neg, pos, pos).

qsumt neg, pos, zero),

qsumt neg,pos, neg).

qsumt neg, zeror neg).

qsumt neg, neg, neg].

Эти варианты качественного поведения являются простыми и могут быть заданы в виде фактов Prolog. Например, на разомкнутом (off) выключателе ток является нулевым (zero), а напряжение может иметь любое значение, как показано ниже. switch! off, AnyVoltage, гего).

Сгоревшая (blown) лампа остается темной (dark), через нее не проходит ток, а напряжение может иметь любое значение, как показано ниже. bulbt blown, dark, AnyVoltage, zero).

Исправная (intact) лампа светится постоянно, за исключением того случая, ко­гда и напряжение, и ток в лампе равны нулю. При этом предполагается, что любой ненулевой ток является достаточно большим для того, чтобы заставить лампу све­титься. Напряжение и ток могут одновременно либо равняться нулю, либо быть по­ложительными, либо быть отрицательными. Обратите внимание на то, что это — ка­чественная абстракция закона Ома, который формулируется следующим образом: Voltage - Resistance * Current

Поскольку сопротивление Resistance является положительным, то напряжение Voltage и ток Current должны иметь одинаковый знак и поэтому одно и то же ка­чественное значение.

После того как определены отдельные компоненты, задача определения всей схе­мы становится несложной. Каждая конкретная схема может быть определена с по­мощью предиката, например, следующим образом: circuitl( SwPos, Bulbstate, Lightness)

В данном случае предполагается, что наиболее важными свойствами схемы явля­ются положение выключателя SwPos, состояние лампы BulbState и светимость Lightness, поскольку эти переменные используются в качестве параметров преди­ката circuitl. Но другие количественные показатели схемы, такие как ток, прохо­дящий через лампу, остаются невидимыми за пределами предиката circuitl. Соз­дание модели схемы сводится к определению ограничений, которым должны подчи­няться эти параметры, как показано ниже.

1. Законы функционирования лампы.

2. Законы функционирования выключателя.

3. Закон Кирхгоффа (в качественной формулировке): напряжение на выключате­ле + напряжение на лампе = напряжение источника питания.

Здесь также неявно учтены физические соединения между компонентами, по­скольку ток через выключатель равен току через лампу.

Модель схемы 2 (circuit2), хотя и более сложная, создается аналогичным образом.

Ниже приведены некоторые обычные типы вопросов, на которые программа, при­веденная в листинге 20.1, легко находит ответ.

Глава 20. Качественные рассуждения



Вопросы прогностического типа

Какими будут наблюдаемые результаты некоторого "входного воздействия" на систему (изменения положений выключателей), если дано некоторое функциональное состояние системы (лампы - исправные или сгоревшие). Например, что произойдет, если будут включены (on) все выключатели, притом что все лампы исправны (ok)?

1- circuit2 (on,on,on,ok,ok,ok,Ll,L2,L3).

LI = light L2 = dark L3 = dark

Вопросы диагностического типа

Если известны аходные воздействия на систему и некоторые результаты наблюде­ний, то каково состояние функционирования системы (исправна она или неисправна, и в чем состоит неисправность?). Например, если лампа 1 светится, лампа 3 остается темной, а выключатель 3 выключен, то каковы состояния ламп?

?- circuit2( _, _, off, Bl, B2, ВЗ, light, _, dark). Bl - ok B2 = ok БЗ = blown

Вопросы управленческого типа

Каким должно быть управляющее воздействие, позволяющее достичь желаемого результата? Например, какими должны быть положения выключателей, чтобы за­ставить светиться лампу 3, при условии, что все лампы исправны?

?- circijit2 ( SwPosl, SwPos2, SwPos3, ok, ok, ok,_, _, light).

SwPosl = on

EwPos2 = on

5wPos3 = off;

SwPosl = on

SwPos2 = off

SwFos3 = off

Упражнения

20.1. Определите следующее качественное отношение умножения со знаками:
qmultf ft, в, о

Здесь С = А*В, а переменные А, В и С могут иметь качественные значения pos, zero или neg.

20.2. Определите качественные модели резистора и диода следующим образом:

resistor( Voltage, Current) diode( Voltage, Current)

Диод пропускает ток только в одном направлении. В резисторе напряжение Voltage и ток Current имеют одинаковые знаки. Определите качественные модели некоторых схем с резисторами, диодами и источниками питания,

Наши рекомендации