Моделирование физических систем в рамках парадигдмы программирования в ограничениях

УДК 004.832

А.А. Зуенко

Институт информатики и математического моделирования технологических процессов Кольского НЦ РАН

МОДЕЛИРОВАНИЕ ФИЗИЧЕСКИХ СИСТЕМ В РАМКАХ ПАРАДИГДМЫ ПРОГРАММИРОВАНИЯ В ОГРАНИЧЕНИЯХ*

Аннотация

В работе предлагается подход, позволяющий моделировать физические системы в рамках парадигмы программирования в ограничениях с использованием специализированных матрицеподобных структур (С-систем). Описывается оригинальный авторский метод распространения ограничений, реализующий вывод на С-системах. Подобное представление позволяет одну и ту же модель использовать для получения ответов на различные вопросы прогностического, диагностического и управленческого типов, причем сам механизм вывода остается без изменений.

Ключевые слова:

программирование в ограничениях, физическая система, качественная модель, распространение ограничений, матричное представление ограничений.

A.A. Zuenko

MODELLING OF PHYSICAL SYSTEMS WITHIN THE FRAMEWORK OF THE PARADIGM OF CONSTRAINT PROGRAMMING

Abstract

In this paper, we propose an approach that allows modeling physical systems within the framework of constraint programming paradigm, using specialized matrix-like structures (C-systems). An original author's method of constraint propagation, realizing inference on C-systems, is described. Such a representation allows one and the same model to be used to obtain answers to various questions of prognostic, diagnostic and management types, and the mechanism of inference remains unchanged.

Keywords:

constraint programming, physical system, qualitative model, constraint propagation, matrix-like representation of constraints.

Введение

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

Другими словами, перечисленные выше задачи предлагается решать в виде задач удовлетворения ограничений (Constraint Satisfaction Problem - CSP) [1 - 3]. В отличие от предыдущих работ цикла в настоящей статье для

* Работа выполнена при финансовой поддержке РФФИ (проекты №№ 16-07-00562-а, 16-07-00377-а, 16-07-00313-а, 16-07-00273-а, 15-07-02757-а).

формализации ограничений используются не В-системы (матрицы дизъюнктов), а С-системы (матрицы конъюнктов), а также разработан оригинальный метод распространения ограничений для этого случая.

Задача удовлетворения ограничений (С8Р) - это тройка (V, В, С), где (1) V = (VI, ..., у„} - множество переменных;

(2) В = (В1, ..., Вп} - множество доменов; каждый домен Вг - конечное множество, содержащее возможные значения, соответствующей переменной;

(3) С = (С1, ..., Сп} - множество ограничений.

Ограничение С - отношение, определённое на подмножестве значений всех переменных, т.е. Сг с В1 х ... х Вп.

Заданная (частичная или полная) подстановка значений переменных удовлетворяет ограничению Сг, если каждая переменная получила такое значение, что соответствующий кортеж значений принадлежит Сг. Множество всевозможных подстановок для всех переменных является пространством, содержащим решение CSP-задачи.

Решением С8Р-задачи является такая подстановка для всех переменных, при которой все ограничения удовлетворены. Если для некоторой задачи имеется, по крайней мере, одно решение, то задача является разрешимой, иначе - неразрешимой (противоречивой, переограниченной).

По сути, в виде задачи С8Р предлагается представлять качественные абстракции физических законов, например, закон Кирхгоффа, закон Ома. Для использования качественных моделей требуются определенные методы проведения качественных рассуждений, изложению которых и посвящена настоящая статья. Сам характер вывода в рамках парадигмы программирования в ограничениях заключается в упрощении задачи С8Р, то есть в приведении ее к задаче, содержащей меньшее количество ограничений, меньшее количество значений в доменах переменных и т.п.

С помощью С-систем удобно моделировать дизъюнктивные нормальные формы (ДНФ) конечных предикатов. Продемонстрируем это на примере: ф(х, у, г) = (х = а, Ь) л (у = а, с) V (г = ё).

Для простоты все переменные определены на одном и том же множестве {а, Ь, с, ё}. Здесь и далее будем использовать запись вида (х = а, Ь) для обозначения выражения (х = а) V (х = Ь) . Учитывая, что область истинности одноместного предиката (х = а, Ь) есть {а, Ь}, то область истинности предиката фх,у, г) может быть представлена в виде следующей С-системы: {а, Ь} {а, с} * * * {ё}

Атрибуты X, У, Z С -системы Я [ХГ2] соответствуют переменным х, у, г формулы ф(х, у, г). Заметим, что "*" - сокращенное обозначение всего диапазона возможных значений (домена) атрибута.

В том случае, если С8Р представлена в виде совокупности С-систем, целью преобразований является приведение системы ограничений к более простому виду, где содержится меньшее количество С-систем, строк С-систем, столбцов (атрибутов) С-систем, значений в доменах атрибутов и т. п [4 - 9].

Перечислим утверждения, позволяющие реализовывать подобный вывод для случая, когда ограничения представлены в виде набора С-систем.

Я [ ХУ2 ] =

Утверждение 1 (У1). Если все строки (кортежи) С-системы пусты, то есть содержат хотя бы по одной пустой компоненте каждая, то С-система пуста (соответствующая задача С8Р несовместна).

Утверждение 2 (У2). Если все компоненты некоторого атрибута (столбца С-системы) являются полными, то данный атрибут можно удалить из С-системы (удаляются все компоненты, стоящие в соответствующем столбце), а пара "удаляемый атрибут - его домен" сохраняется в векторе частичного решения.

Утверждение 3 (У3). Если домен некоторого атрибута С-системы содержит значения, не встречающиеся в соответствующем столбце, то эти значения удаляются из данного домена.

Утверждение 4 (У4). Если строка С-системы содержит хотя бы одну пустую компоненту (строка пуста), то строка удаляется.

Утверждение 5 (У5). Если компонента некоторого атрибута содержит значение, не принадлежащее соответствующему домену, то это значение удаляется из компоненты.

Утверждение 6 (У6). Если одна строка С-системы полностью доминирует (покомпонентно содержит) другую строку, то доминирующая строка удаляется из С-системы.

Представление качественных абстракций физических законов в виде совокупности С-систем

Рассмотрим простую электрическую схему, состоящую из выключателей, ламп и источников питания (рис.), описанную в [10]. В настоящей работе строится качественная модель электрической схемы в терминах матриц ограничений (в виде набора С-систем), а возникающие задачи моделирования предлагается рассматривать как задачи удовлетворения ограничений. Данная предметная область не относится к слабо формализованным, для нее сформулированы количественные законы, например, закон Ома. Однако, при решении ряда задач либо точные числовые данные не требуются, либо измерение всех необходимых числовых параметров осложнено. В этих случаях, даже если известна строгая аналитическая модель исследуемого объекта, предпочтение отдается качественным моделям.

Компоненты исследуемой электрической схемы делятся на два типа: выключатели и лампы. Выключатели могут быть разомкнутыми или замкнутыми, а лампы могут быть светящимися или темными, сгоревшими или исправными.

81 В1 82 „ В2

82 „ В2

<8>

В3

Пример электрической схемы

Создание модели схемы сводится к заданию следующих ограничений:

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

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

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

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

Качественное поведение компонентов описывается с помощью типовых отношений. Для выключателя - это С-система SWITCH [SP, V, С]:

SP V C

{on, off} {neg, zero, pos} {neg, zero, pos}

{on} {off}

{ zero} *

{zero}

Атрибуты SP, V, C - это положение выключателя, напряжение и ток, соответственно. Здесь и далее в верхних двух строках C-систем записываются имена атрибутов (переменных) и множества допустимых значений этих атрибутов (домены атрибутов).

Например, из строки 2 следует, что на разомкнутом (off) выключателе ток является нулевым (zero), а напряжение может иметь любое значение.

Закон функционирования лампы может быть выражен в виде отношения BULB [B, L, V, С]:

B L V C

{ok, blown} {dark, light} {neg, zero, pos} {neg, zero, pos}

{blown} {ok} {ok}

{dark} {light} {light} {dark}

{ pos} {neg} {zero}

{ zero} {pos} {neg} { zero}

Атрибуты B, L, V, C - это признак исправности лампы, наличие/ отсутствие свечения, напряжение на лампе и ток, соответственно.

Согласно строке 1, сгоревшая (blown) лампа остается темной (dark), через нее не проходит ток, а напряжение может иметь любое значение. Исправная (ok) лампа светится постоянно, за исключением того случая, когда и напряжение, и ток в лампе равны нулю. Предполагается, что любой ненулевой ток является достаточно большим для того, чтобы заставить лампу светиться.

Напряжение и ток могут одновременно либо равняться нулю, либо быть положительными, либо быть отрицательными. По сути, это качественная абстракция закона Ома, который формулируется следующим образом: Напряжение = Сопротивление * Сила тока.

*

*

*

Поскольку сопротивление лампы является положительным, то напряжение (V) и ток (C) должны иметь одинаковый знак и поэтому одно и тоже качественное значение.

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

X Y Z

{neg, zero, pos} {neg, zero, pos} {neg, zero, pos} 1 2

3

4

5

6 7

{ zero} { zero} { zero}

{pos} * {pos}

{pos} {neg} *

* {pos} {pos}

* {neg} {neg}

{neg} {pos} *

{neg}

{neg}

Данное отношение (как и два других, описанных выше) можно рассматривать как типовое отношение, на основе которого в процессе подстановки вместо X, Y, Z конкретных атрибутов получается конкретное отношение.

Строки этой матрицы представляют собой некоторые факты. Например, в строке 3 утверждается, что сумма положительной и отрицательной величин может представлять собой любое значение из множества {neg, zero, pos}. Такая операция суммирования является недетерминированной (неопределенной), что типично для качественных рассуждений.

Конкретная схема задается в виде совокупности отношений, записанных в виде С-систем. Например, для электрической схемы, приведенной на рис. нужно рассмотреть следующие отношения:

№ 1. Выключатель "S1" - SWITCH [Sw1, VSw 1, C1]:

Sw1 VSw 1 C1

{on, off} {neg, zero, pos} {neg, zero, pos}

{on}

{off }

{zero} *

{ zero}

*

№ 2. Лампа "B1" - BULB [B1, L1, FB1, C1]:

B1 L1 VB 1 C1

{ok, blown} {dark, light} {neg, zero, pos} {neg, zero,

1 {blown} {dark} * { zero}

2 {ok} {light} {pos} {pos}

3 {ok} {light} {neg} {neg}

4 * {dark} { zero} { zero}

№ 3. Выключатель "S2" - SWITCH [Sw2, VSw2, C2]:

Sw2 VSw2 C2

{on, off} {neg, zero, pos} {neg, zero, pos}

{off }

{ zero} *

{ zero}

№ 4. Лампа "B2" - BULB [B2, L2, VB2, C2]:

B2 L2 VB 2 C2

{ok, blown} {dark, light} {neg, zero, pos} {neg, zero, pos}

1 {blown} {dark} * {zero}

2 {ok} {light} {pos} {pos}

3 {ok} {light} {neg} {neg}

4 * {dark} {zero} {zero}

№ 5. Выключатель '"S3" - SWITCH [Sw3, V3, CSw3]:

Sw3 V3 CSw3

{on, off} {neg, zero, pos} {neg, zero, pos}

{on}

{off }

{zero} *

{ zero}

№ 6. Лампа "B3" - BULB [B3, L3, V3, CB3]:

B3 L3 V3 CB3

{ok, blown} {dark, light} {neg, zero, pos} {neg, zero, pos}

1 {blown} {dark} * {zero}

2 {ok} {light} {pos} {pos}

3 {ok} {light} { neg} { neg}

4 * {dark} {zero} { zero}

*

*

№ 7. Закон "Напряжения на выключателе S1 и лампе B1 складываются":

VSwl VB1 V1

{neg, zero, pos} {neg, zero, pos} {neg, zero, pos}

{zero} {pos} {pos}

{neg} {neg}

{ zero} *

{ neg} {pos} { neg} {pos}

{zero}

{pos} *

{pos}

{neg} *

{neg}

№ 8. Закон "Напряжения на выключателе S2 и лампе B2 складываются":

VSw2 VB 2 V 3

{neg, zero, pos} {neg, zero, pos} {neg, zero, pos}

{zero} {pos}

{pos}

{neg} {neg}

{ zero} *

{ neg} {pos}

{ neg} {pos}

{zero} {pos}

*

{pos} {neg} *

{neg}

№ 9. Закон "Напряжение в сети положительно":

V1 V3

{neg, zero, pos} {neg, zero, pos}

{pos} {zero, neg}

*

{pos}

№ 10. Закон "Токи на выключателе S3 и лампе B3 суммируются":

CSw3 CB3 C3

{neg, zero, pos} {neg, zero, pos} {neg, zero, pos} 1 ' 2

3

4

5

6 7

{ zero} { zero} { zero}

{p°s} * {p°s}

{p°s} {neg} *

* {p°s} {p°s}

* {neg} {neg}

{neg} {p°s} *

{neg} * {neg}

*

*

№ 11. Закон 5 "Сила тока всей электрической цепи":

а C3 а

{neg, zero, pos} {neg, zero, pos} {neg, zero, pos}

1 {zero} { zero} {zero}

2 {pos} * {pos}

3 {pos} {neg} *

4 * {pos} {pos}

5 * {neg} {neg}

6 {neg} {pos} *

7 _ {neg} * {neg}_

Процесс моделирования электрической схемы завершен

Задачи, решаемые на качественной модели

Теперь рассмотрим примеры задач, которые в работе предлагается ставить и решать в форме задач удовлетворения ограничений:

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

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

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

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

Продемонстрируем поиск ответа на вопрос прогностического типа, который приводился ранее. Из условия задачи известно: - {оп},

Sw2 - {оп}, 5^3 - {оп}, В1 - {ок}, В2 - {ок}, В3 - {ок} (информация представлена в формате: "переменная - область ее определения"). Требуется определить значения для Ы, Ь2, Ь3.

Процесс получения решения отображен в табл. Рассмотрим строку 1, которая соответствует первому шагу. В список на обработку поступают С-системы (ограничения) с номерами 1 - 6, которые имеют в своих схемах атрибуты, чьи значения заданы в условии. В качестве текущего, то есть рассматриваемого на данном шаге, берется ограничение 1:

Sw1 VSwl C1

{on} {neg, zero, pos} {neg, zero, pos}

{on} {zero} *

{off} * {zero}

Домен атрибута Swl конкретизирован с учетом условий задачи. К данной С-системе применяется сначала утверждение У5' и в строке 2 появляется пустая компонента, соответствующая атрибуту Sw 1. Затем, используя У4', элиминируем вторую строку:

Sw1 VSw1 C1

{on} {neg, zero, pos} {neg, zero, pos} 1[ * {zero} * ].

Теперь, согласно, У3' конкретизируем домен атрибута VSw 1: VSw1 -{zero}. Затем строка 1 удаляется из С-системы, так как по У2' элиминируются все ее атрибуты. Поскольку рассматриваемое ограничение 1 не содержит больше строк, то исключаем его из списка ограничений и добавляем ограничение 7, содержащее конкретизированный атрибут VSwl (табл., строка 2.) На данном шаге имеем следующее частичное решение задачи CSP:

Sw1 - {on}, Sw2 - {on}, Sw3 - {on}, B1 - {ok}, B2 - {ok}, B3 - {ok}, VSw1 - {zero}.

В последнем столбце таблицы, жирным цветом показаны атрибуты, чьи значения удалось конкретизировать на текущем шаге, а без выделения приводятся атрибуты, значения которых были уже известны до выполнения шага.

Остальные шаги выполняются по аналогии. На каждом шаге происходит усечение доменов одних атрибутов на основе известных доменов других атрибутов. Процесс распространения ограничений оканчивается вычеркиванием всех С-систем без образования пустых С-систем, что является признаком получения окончательного решения рассматриваемой задачи CSP.

Ответ: L1 - {light}, L2 - {dark}, L3 - {dark}. Другими словами, если будут включены (on) все выключатели, при том, что все лампы исправны (ok), то светиться будет только первая лампа.

Заметим, что решение данной конкретной задачи CSP получено только на основе авторских методов распространения ограничений без организации ветвления и привлечения стратегий возврата из тупиковых вершин. Решение представлено в виде списка пар: "атрибут - усеченный домен атрибута". В полученном решении все домены представляют собой одноэлементные множества, но, в общем случае, мощность множеств может быть больше единицы.

Распространение ограничений

Шаг Текущее ограничение Список ограничений Домены

1 1 1,2, 3, 4, 5, 6 Sw1 - {on}, VSwl - {zero}

2 3 2, 3, 4, 5, 6, 7 Sw2 - {on}, VSw2 - {zero}

3 5 2, 4, 5, 6, 7, 8 Sw3 - {on}, V3 - {zero}

4 9 2, 4, 6, 7, 8, 9 VI - {pos}, V3 - {zero}

5 6 2, 4, 6, 7, 8 B3 - {ok}, L3 - {dark}, V3 - {zero}, CB3 - {zero}

6 7 2, 4, 7, 8, 10 VSwl -{zero}, VB1 - {pos}, V1 - {pos}

7 2 2, 4, 8, 10 B1 - {ok}, L1- {light}, VB1 - {pos}, CI - {pos}

8 8 4, 8, 10, 11 VSw2 -{zero}, VB2 - {zero}, V3 - {zero}

9 4 4, 10, 11 B2 - {ok}, L2- {dark}, VB2 - {zero}, C2- {zero}

10 11 10, 11 C2 - {zero}, C3 - {pos}, C1 - {pos}

11 10 10 CSw3 - {pos}, CB3 - {zero}, C3 - {pos}

Заключение

В работе предложен оригинальный подход к организации вывода на качественных моделях физических систем, позволяющий унифицировано ставить и решать различные задачи поиска значений неизвестных параметров по известным значениям других параметров. Параметры качественной модели физической системы можно разделить на следующие виды: входные воздействия на систему, управляющие воздействия, состояние функционирования системы.

Дальнейший фокус исследований планируется сосредоточить на разработке специализированных эвристик для определения порядка рассмотрения С-систем в ходе вывода.

Литература

1. Russel, S., & Norvig, P. Artificial Intelligence: A Modern Approach. 3nd ed. Pearson Education. -2010. -1152 p.

2. Rossi, F., van Beek, P. & Walsh, T. Constraint Programming. In F. van Harmelen, V. Lifschitz, B. Porter (Eds.), Foundations of Artificial Intelligence. Handbook of Knowledge Representation. -2008, vol.3. - P.181-211.

3. Ruttkay, Zs. Constraint satisfaction a survey, CWI Quarterly. -1998, vol.11. - P.163-214.

4. Зуенко, А.А. Матрицеподобные вычисления при обработке недоопре-деленных знаний в продукционных системах (на примере задачи выбора технологии обогащения минерального сырья) / А.А. Зуенко, О.В. Фридман // Труды ИСА РАН. - Т. 65, 2015. - С.44-56.

5. Зуенко, A.A. Вывод на ограничениях с применением матричного представления конечных предикатов / A.A. Зуенко //Искусственный интеллект и принятие решений, 2014. - № 3. - С.21-31.

6. Зуенко, А.А. Эвристический метод удовлетворения ограничений на основе их матричного представления / А.А. Зуенко, А.А. Очинская / Открытые семантические технологии проектирования интеллектуальных систем // Open Semantic Technologies for Intelligent Systems (OSTIS-2015): материалы IV Международной научн.-техн. конф., г. Минск, 19-21 февраля 2015 г. - Минск: БГУИР, 2015. - С.297-301.

7. Зуенко, А.А. Совместное применение алгоритмов фильтрации и распространения ограничений на основе матриц ограничений / А.А. Зуенко // Системный анализ и информационные технологии (САИТ-2015): труды Шестой Международной конф., Калининградская обл., г. Светлогорск, 15-20 июня 2015 г. - в 2-х т. - Т.1. -М.: ИСА РАН, 2015. - С.56-66.

8. Зуенко, А.А. Качественное моделирование технических систем на основе методов распространения ограничений / А.А. Зуенко // Открытые семантические технологии проектирования интеллектуальных систем // Open Semantic Technologies for Intelligent Systems (OSTIS-2016): материалы VI Международной научно-техн. конф., г. Минск, 18 - 20 февраля 2016 г.

- Минск: БГУИР, 2016. - С.573-578.

9. Зуенко, А.А. Применение методов распространения ограничений в слабо формализованных предметных областях / А.А. Зуенко // Пятнадцатая национальная конференция по искусственному интеллекту с международным участием КИИ- 2016: труды конференции, г. Смоленск, 3 - 7 октября 2016 г.

- Смоленск: Универсум, 2016. -Т3. -С.22-30.

10.Братко, И. Алгоритмы искусственного интеллекта на языке PROLOG. / И. Братко //пер. с англ. -3-е изд. -М.:Изд. дом «Вильямс», 2004. - 640 с.

Сведения об авторе

Зуенко Александр Анатольевич - к.т.н., старший научный сотрудник,

е-mail: zuenko@iimm. ru

Alexander A. Zouenko - PhD. (Tech. Sci.), senior researcher