Оригинальная статья / Original article УДК 004.832
DOI: http://dx.d0i.0rg/l0.21285/1814-3520-2018-8-46-62
ПРИМЕНЕНИЕ МЕТОДОВ УДОВЛЕТВОРЕНИЯ НЕЧИСЛОВЫХ ОГРАНИЧЕНИЙ В ЗАДАЧАХ КАЧЕСТВЕННОГО МОДЕЛИРОВАНИЯ СТАТИЧЕСКИХ И ДИНАМИЧЕСКИХ СИСТЕМ
© А.А. Зуенко1, О.В. Фридман2
Институт информатики и математического моделирования, Кольский научный центр Российской академии наук, 184209, Российская Федерация, г. Апатиты, ул. Ферсмана, 24 А.
РЕЗЮМЕ. ЦЕЛЬ. В статье рассматривается возможность применения авторских методов распространения нечисловых ограничений к задаче качественного моделирования статических и динамических систем. Общим для рассматриваемых в работе моделей статических и динамических систем является то, что для описания состояния системы предполагается использовать только переменные, области определения которых конечны. Другой особенностью исследуемых систем является то, что их состояния могут содержать недоопределенные параметры: значение переменной может быть полностью не определено и задаваться в виде всего домена (области определения) либо полностью определено - представлять одноэлементное подмножество домена, либо недоопределено - задаваться в виде некоторого подмножества домена. Формализация описания таких состояний осуществляется с помощью векторов, где в качестве компонент выступают не единичные значения, а некоторые подмножества областей истинности соответствующих переменных. Еще одной особенностью рассматриваемых моделей является необходимость совместно обрабатывать количественные и качественные ограничения (зависимости) предметной области. МЕТОДЫ. Предлагаемые методы основываются на представлении качественных зависимостей (ограничений) предметной области в виде специализированных матрицеподобных структур (С- и D-систем), использование которых позволяет ускорить традиционные алгоритмы удовлетворения нечисловых ограничений и расширить область применения подобных алгоритмов. РЕЗУЛЬТАТЫ И ИХ ОБСУЖДЕНИЕ. Особый эффект от применения авторских методов следует ожидать в слабо формализованных предметных областях. При моделировании слабо формализованных предметных областей качественные ограничения над конечными доменами предлагается обрабатывать совместно с количественными в рамках технологии программирования в ограничениях. Предлагаемые методы носят итеративный характер и позволяют некоторые экземпляры задач CSP сводить к задачам меньшей размерности без организации ветвлений, анализируя специфические свойства предложенных матрицеподобных структур. ВЫВОДЫ. Применение авторских методов распространения нечисловых ограничений позволяет пополнить круг задач, решаемых с помощью упомянутой технологии, это: вывод в системах продукций с недоопределенными параметрами, реализация рассуждений в динамических интеллектуальных системах, структурный синтез систем на начальных этапах проектных работ, формирование учебных планов ВУЗов и др. Ключевые слова: моделирование слабо формализованных предметных областей, теория удовлетворения ограничений, распространение ограничений, матрицеподобные структуры, алгоритмы достижения совместности, нечисловые ограничения над конечными доменами.
Информация о статье. Дата поступления 21 мая 2018 г.; дата принятия к печати 12 июля 2018 г.; дата онлайн-размещения 31 августа 2018 г.
Формат цитирования. Зуенко А.А., Фридман О.В. Применение методов удовлетворения нечисловых ограничений в задачах качественного моделирования статических и динамических систем // Вестник Иркутского государственного технического университета. 2018. Т. 22. № 8. С. 46-62. DOI: 10.21285/1814-3520-2018-8-46-62
APPLICATION OF METHODS SATISFYING NON-NUMERICAL CONSTRAINTS
IN THE PROBLEMS OF QUALITATIVE MODELING OF STATIC AND DYNAMIC SYSTEMS
A.A. Zuenko, O.V. Fridman
Institute of Informatics and Mathematical Modeling, Kola Science Center of the Russian Academy of Sciences, 24 A, Fersman St., Apatity, 184209, Russian Federation.
1Зуенко Александр Анатольевич, кандидат технических наук, старший научный сотрудник, e-mail: [email protected] Alexander A. Zuenko, Candidate of technical sciences, Senior Researcher, e-mail: [email protected]
2Фридман Ольга Владимировна, кандидат технических наук, старший научный сотрудник, e-mail: [email protected] Olga V. Fridman, Candidate of technical sciences, Senior Researcher, e-mail: [email protected]
ABSTRACT. PURPOSE. The article considers the possibility of applying the author's methods of non-numerical constraint propagation to the problem of qualitative modeling of static and dynamic systems. The general feature for the models of static and dynamical systems considered in this work is that it is intended to use only variables with finite domains for the description of the state of the system. Another feature of the systems under study is that their states may contain under-determined parameters: the value of a variable can be either completely not determined and be set as a whole domain, or be completely determined and represent a one-element subset of the domain, or be underdetermined, i.e. be set in a kind of some subset of the domain. Formalization of such state description is carried out with the help of vectors, where the components are represented rather by some subsets of the truth sets of the variables than by corresponding single values. Another feature of the models under consideration is the need to co-process quantitative and qualitative constraints (dependences) of the subject domain. METHODS. The proposed methods are based on the representation of qualitative dependences (constraints) of the subject domain in the form of specialized matrix-like structures (C and D-systems), the use of which allows to accelerate the traditional algorithms of non-numerical constraint satisfaction and expand the scope of such algorithm use. RESULTS AND THEIR DISCUSSION. A special effect from the use of original methods can be expected in poorly formalized subject domains. When modeling poorly formalized subject domains it is proposed to co-process qualitative constraints over the finite domains and quantitative constraints within the framework of constraint programming technology. The proposed methods are iterative and allow to reduce some instances of CSP tasks to smaller-dimensional problems without branching with the analysis of the specific features of the proposed matrix-like structures. CONCLUSIONS. The use of author's methods of non-numeric constraint propagation allows to fill up the range of the problems solved with the help of the mentioned technology with such tasks as inference in production systems with under-determined parameters, implementation of reasoning in dynamic intelligent systems, structural synthesis of the systems at the initial stages of design works, formation of university curricula and etc.
Keywords: modeling of poorly formalized subject domains, constraint satisfaction theory, constraint propagation, matrixlike structures, consistency algorithms, non-numeric constraints over finite domains.
Information about the article. Received May 21, 2018; accepted for publication July 12, 2018; available online August 31, 2018.
For citation. Zuenko A.A., Fridman O.V. Application of methods satisfying non-numerical constraints in the problems of qualitative modeling of static and dynamic systems. Vestnik Irkutskogo gosudarstvennogo tehnicheskogo universiteta = Proceedings of Irkutsk State Technical University. 2018, vol. 22, no. 8, pp. 46-62. DOI: 10.21285/1814-3520-2018-8-4662 (In Russian).
Введение
Настоящая статья посвящена вопросам качественного моделирования статических и динамических систем на основе авторских методов распространения нечисловых ограничений.
К типичным задачам, где качественное моделирование является более предпочтительным, относятся функциональные рассуждения, диагностика и проектирование на основе «исходных принципов» [1]. В таких случаях закономерности предметной области предпочтительнее описывать с помощью нечисловых (качественных) зависимостей, например, логических формул, систем продукций, многоместных отношений и т.п.
Однако задачи качественного моделирования сложных систем не ограничиваются только рассмотрением статических аспектов их функционирования. Часто требуется произвести анализ динамики подобных систем. В таком случае, сложные системы удобно моделировать в виде динамических интеллектуальных систем (ДИС) [2].
Результаты, полученные Г.С. Осиповым, касаются, прежде всего, вопросов управляемости ДИС без конкретизации способа представления знаний в интеллектуальной системе, а также методов замыкания текущего состояния и переходов к следующему состоянию. По мнению авторов, разработка методов, реализующих данные функции, является довольно сложной задачей, поскольку они относятся к классу методов комбинаторного поиска. В совокупности со способом представления знаний подобные методы составляют основу любой технологии моделирования рассматриваемых динамических систем и могут существенно повлиять на ее масштабируемость (размерность решаемых задач).
Общим для рассматриваемых в работе качественных моделей статических и динамических систем является то, что для описания состояния системы предполагается использовать только переменные, области определения которых конечны. Другой особенностью исследуемых систем является то, что их состояния могут содержать недоопределенные параметры [3]: значение переменной может быть либо полностью не определено и задаваться в виде всего домена (область определения), либо полностью определено - представлять одноэлементное подмножество домена, либо недоопределено - задаваться в виде некоторого подмножества домена. Формализация описания таких состояний осуществляется с помощью векторов, где в качестве компонент выступают не единичные значения, а некоторые подмножества областей истинности соответствующих переменных. Еще одной особенностью рассматриваемых моделей является необходимость совместно обрабатывать количественные и качественные ограничения (зависимости) предметной области.
Качественная модель позволяет решить задачу путем перебора всех возможных качественных вариантов поведения, которые соответствуют всем возможным сочетаниям значений параметров в модели. Другими словами, методы качественного моделирования сопряжены с перебором конечного числа комбинаций элементов, поэтому востребованы способы сокращения такого перебора.
В настоящей работе для ускорения процедур комбинаторного поиска предлагается использовать наработки, имеющиеся в теории удовлетворения ограничений.
Принципиальное отличие рассматриваемых в работе качественных ограничений от числовых состоит в том, что переменные даже в рамках одного ограничения могут иметь различные области определения, а сами ограничения, как правило, не являются бинарными. Существующие на данный момент в теории удовлетворения ограничений методы [4], основанные на табличном представлении нечисловых ограничений, являются недостаточно эффективными.
Предлагается качественные зависимости представлять в виде матриц ограничений (Си D-систем), а вывод на С- и D-системах выполнять с помощью авторских методов распространения нечисловых ограничений [5]. Перечисленные выше задачи, в том числе и задачу пополнения описания состояния динамической системы, предлагается решать в виде задач удовлетворения ограничений (Constraint Satisfaction Problem - CSP) [6]. Помимо экономии памяти, использование предложенного подхода к обработке нечисловых ограничений позволяет существенно ускорить традиционные алгоритмы-пропагаторы, основанные на табличном представлении подобных ограничений.
Методы распространения нечисловых ограничений на основе их матричного представления
Задача удовлетворения ограничений определена множеством переменных xi, Х2, ..., xn и множеством ограничений Ci, С2, ..., Cm. Каждая переменная x, имеет непустую область определения Di (домен). Каждое ограничение С, включает некоторое подмножество переменных и задает допустимые комбинации значений для этого подмножества. Состояние задачи описывается как присваивание значений некоторым (частичное присваивание) или всем переменным (полное присваивание): {x,=v,, xj=vj, ...}. Решением задачи CSP является полное присваивание, которое удовлетворяет всем ограничениям.
Как и в работе [7], здесь для представления данных и знаний используются два типа матрицеподобных структур: С-системы и D-системы. Особенностью настоящих исследований является то, что эти структуры предлагается рассматривать как ограничения над конечными доменами, а рассуждения на данных структурах реализовывать в форме процедур удовлетворения ограничений.
В работах [5; 8] приводятся конкретные методы решения задач ОБР, основанные на матричном представлении ограничений с конечными доменами. Приведем здесь лишь утверждения, используемые в дальнейшем в примерах. Для простоты будем считать, что ограничения ОБР могут быть представлены в виде единственной О-системы. В реальных же задачах - это совокупность С- и О- систем, числовых ограничений, глобальных ограничений [9].
Утверждение 1 (У1). Если хотя бы одна строка О-системы пуста (содержит все пустые компоненты), то О-система пуста (задача ОБР несовместна).
Утверждение 2 (У2). Если все компоненты некоторого атрибута пусты, то данный атрибут можно удалить из О-системы (удаляются все компоненты, стоящие в соответствующем столбце), а пара «удаляемый атрибут - его домен» сохраняется в векторе частичного решения.
Утверждение 3 (У3). Если в О-системе есть строка (кортеж), содержащая лишь одну непустую компоненту, то все значения, не входящие в эту компоненту, удаляются из соответствующего домена.
Утверждение 4 (У4). Если строка О-системы содержит хотя бы одну полную компоненту, то данная строка удаляется (можно удалить соответствующее ограничение из системы ограничений).
Утверждение 5 (У5). Если компонента некоторого атрибута О-системы содержит значение, не принадлежащее соответствующему домену, то это значение удаляется из компоненты.
Утверждения 1-5 позволяют исключать «лишние» значения из отдельных компонент, из доменов переменных, элиминировать строки и/или столбцы матриц ограничений, «сужая» область поиска. На основе перечисленных утверждений были модифицированы известные алгоритмы достижения дуговой и вершинной совместностей для случая нечисловых ограничений. Они останавливаются, достигнув некоторой неподвижной точки, при этом решение задачи ОБР может быть еще не получено. Подобные алгоритмы обычно применяются совместно с алгоритмами поиска с возвратами [5], обеспечивающими систематическое исследование пространства поиска и/или с методами обработки глобальных ограничений [8].
Основное внимание в работе сосредоточено на рассмотрении областей применения именно методов распространения ограничений, разработанных на базе представленных утверждений.
Структурный синтез на элементах с ограниченной сочетаемостью
Рассмотрим задачу структурного синтеза в следующей формулировке. Пусть имеются основные элементы (блоки), реализующие некоторые подфункции и сгруппированные в классы, исходя из выполняемых подфункций. Требуется найти такую комбинацию этих блоков (структуру), которая позволяет реализовать заданную функцию. В работе [10] приведен пример: требуется спроектировать фонарик, который состоит из трех типов структурных элементов: источник света, узел корпуса, источник питания. Каждый тип структурного элемента допускает варианты реализации (см. табл. 1). Например, в качестве источника света могут выступать: лампа накаливания, жидкие кристаллы, неоновая лампа, газоразрядный источник света.
Допустимые комбинации значений обычно задаются с помощью специального М-доль-ного графа, где N - число классов структурных элементов [10]. Пара вершин связывается ребром только тогда, когда не существует запретов на сочетание соответствующих элементов. Любой полный М-вершинный подграф этого графа задает допустимую структуру проектируемого объекта. Однако более удобно и экономично указывать при проектировании дополнение этого графа - граф запретов.
На рис. 1. представлена обобщенная структура примера в виде многодольного графа, а на рис. 2. приведен граф запретов.
Обычно такого рода задачи решаются с привлечением алгоритмов на графах, например алгоритмов нахождения полных подграфов. Однако задачу структурного синтеза можно решать и методами удовлетворения ограничений. Далее показано, как типовые бинарные запреты представить в виде строк D-системы. Пусть X и Y переменные c областями определения D(X), D(Y) соответственно.
Таблица 1
Типы структурных элементов и варианты их реализации
Table 1
Types of structural elements and their implementation options
Обозначение элемента/ Notation of element Источник света / Illuminant Обозначение Элемента/ Notation of element Узел копуса / Housing unit Обозначение элемента/ Notation of element Источник питания / Source of power
a Лампа накаливания/ Incandescent lamp e Вертикальная компоновка/ Vertical layout h Электрическая батарейка/ Baby battery
b Жидкие кристаллы/ Liquid crystals
c Неоновая лампа/ Neon lamp f Моноблок/ Monoblock k Аккумулятор/ Accumulator
d Газоразрядный источник/ Gas-discharge source g Контейнерное исполнение/ Container execution I Ручной привод/ Hand power
Рис. 1. Представление обобщенной структуры в виде многодольного графа Fig. 1. Representation of a generalized structure in the form of a multipartite graph
1. Принуждение.
Выбор элемента ае й(Х) влечет выбор элемента Ь е О(У). На языке логики: (Х=а) — (У=Ь) или -(Х=а) V (У=Ь).
С помощью матриц ограничений: ^ХУ] = ] 0(Х)\{а}, {Ь} [.
2. Бинарный запрет на сочетание.
Элементы а е О(Х) и Ь е О(У) не могут входить в одно решение.
На языке логики: -((Х=а) л (У=Ь)) или -(Х=а) V -(У=Ь).
С помощью матриц ограничений: ^ХУ = ]О(Х)\{а}, О(У)\{Ь}[.
3. Двойное принуждение. а е О(Х) и Ь е О(У) входят в решение одновременно.
На языке логики: ((Х=а) л (У=Ь)).
С помощью матриц ограничений: ^[ХУ] = [{а}, {Ь}].
Таким же образом можно представить и многоместные ограничения, которые неудобно описывать на языке теории графов.
Для решения задачи структурного синтеза в настоящей работе предлагается привлекать авторские алгоритмы распространения ограничений. В качестве примера рассмотрим, как формализовать граф запретов, представленный на рис. 2, в виде матрицеподобных структур.
Пример 1. Введем переменные Х, У, 1, соответствующие различным классам элементов (Х - источник света, У - узел корпуса, 1 - источник питания). Области определения переменных: Х - {а, Ь, с, б} , У - {е, ^ д}, 1 - {Л, к, I}.
Рис. 2. Граф запретов Fig. 2. Prohibition graph
Граф запретов можно представить в виде единственной С-системы:
X Y Z {a, b, c, d } {e, f, g} {h, к, l}
{b, c, d }
*
{g}
{l} {l}
Первая строка данной матрицы говорит о том, что элемент I связан в графе запретов с элементами Ь, с, б. Вторая строка утверждает наличие связи в графе запретов между элементами I и д. Строки матрицы моделируют ребра (совокупности ребер) в графе запретов, которые связывают элементы различных долей этого графа. Запреты на одновременное присутствие в решении различных элементов, принадлежащих одной и той же доле графа запретов, учитываются неявно - различные значения внутри одного и того же домена переменной являются взаимоисключающими.
Тогда допустимые комбинации элементов будут описываться в виде О-системы, которая является дополнением представленной выше С-системы:
*
X Y Z {a, b, c, d} {e, f, g} {h, k, l} 1]{a} 0 {k,h}~ .
2 J0 {e, f} {k, h} _ Чтобы посчитать дополнение С-системы, не требуется раскладывать С-систему в совокупность элементарных кортежей, достаточно вычислить дополнение каждой компоненты относительно соответствующего домена. В частности, дополнение компоненты С-системы, стоящей
на пересечении первой строки и первого столбца: {b, c, d} = Dx \ {b, c, d} = (a, b, c, d} \ (b, c, d} = (a}.
Далее проиллюстрируем применение предлагаемого метода распространения ограничений. Пусть требуется спроектировать фонарик, где в качестве источника питания выступает ручной привод, то есть накладывается еще одно ограничение на структуру, которое ранее не рассматривалось. Тогда задача CSP может быть записана в виде D-системы:
X Y Z
{a, b, c, d } {e, f, g} {h, k, l}
l ' {a} 0 {к, h}
2 0 {e, f } {к, h}
3 0 0 {l}
Последняя (третья) строка этой матрицы моделирует вновь введенное ограничение. Данная строка содержит лишь одну непустую компоненту. Последовательно применяя утверждения У3 («сужаем» домен переменной 1 до {I}), У4 (удаляем третью строку матрицы), У5 (исключаем значения к и Л из компонент 1 первой и второй строк), У2 (исключаем из рассмотрения атрибут 1), имеем:
Частичное решение: Z - {I}. Остаток D-системы:
X
{a, b, c, d } l ' 2
Y
{е, /, Е)
>} 0 _ 0 {е, Л
Далее, снова воспользовавшись утверждениями У3 и У4, получаем окончательное решение: Х - {а}, У - {е, /}, 1 - {I}.
Другими словами, если в качестве источника питания выступает ручной привод, то источником света будет лампа накаливания, а узел корпуса - моноблок либо вертикальная компоновка. Переменные Х и 1 определены однозначно, переменная У - недоопределена (характеризуется двумя альтернативными значениями).
Можно убедиться, анализируя рис. 1, что каждое из двух полученных решений: 1) Х = а, У = е, 1 = I и 2) Х = а, У = 1 = I соответствует полному трехвершинному подграфу графа, задающего допустимые сочетания элементов (рис. 1).
На практике часто возникает необходимость совместно обрабатывать количественные и качественные ограничения. Для количественных бинарных ограничений в теории удовлетворения ограничений разработаны специализированные эффективные методы их удовлетворения. Кроме того, в теории удовлетворения ограничений разработаны эффективные методы для совокупностей ограничений, подобные сложные ограничения называются глобальными [6]. Классическим примером глобального ограничения служит ограничение которое указы-
вает, что все участвующие в нем переменные (полагается, что переменных больше двух)
должны иметь разные значения. Другим примером глобального ограничения служит кумулятивное ограничение, о котором речь пойдет в следующем разделе. Такого рода ограничения не имеет смысла выражать в виде таблиц или матриц ограничений.
Совместная обработка количественных и качественных ограничений на примере формирования учебного плана ВУЗа
Для иллюстрации возможностей совместного использования существующих алгоритмов удовлетворения глобальных ограничений и авторских методов распространения нечисловых ограничений выбрана задача составления ученого плана ВУЗа.
В работе [11] описана постановка задачи синтеза учебных планов ВУЗов, раскрыты основные этапы его формирования, ограничения, налагаемые на учебный план др.
Допустимым учебным планом называют учебный план, удовлетворяющий перечню специфических ограничений. Данный перечень можно разбить на две группы - количественные и качественные ограничения. В [12] приведен список основных ограничений, которые используются большинством авторов, разрабатывающих учебные планы.
Учебные дисциплины, входящие в план, связаны между собой: в более поздних по времени изучения дисциплинах используется информация из ранее изученных. Для тщательного рассмотрения структуры учебного материала дисциплины дробятся на более мелкие единицы, называемые модулями.
Помимо, чисто логических ограничений «модули преподаются одновременно/не одновременно», «модуль / предшествует модулю /», дополнительно накладываются числовые ограничения типа «для определенной совокупности модулей (например, в одном семестре, в рамках дисциплины и т.п.) отводится не более чем предписанное количество зачетных единиц трудоемкости (ЗЕТ)». Следовательно, требуется совместно обрабатывать количественные и качественные ограничения представленных типов. С точки зрения авторов, подобную обработку целесообразно производить в рамках технологии программирования в ограничениях.
Пример 2. Рассмотрим задачу составления фрагмента учебного плана для пяти модулей М1, М2, Мз, М4, Мб (каждый из которых преподается в течение одного семестра). Любые модули могут преподаваться в одном семестре, если это не противоречит следующим ограничениям: 1) М1 преподается после Мз; 2) Мз преподается до М4 и после Мб; 3) М2 не может преподаваться в том же семестре, что М1 или М4; 4) М4 не может преподаваться во втором семестре.
Кроме чисто логических ограничений накладывается следующее кумулятивное ограничение: объем модуля М1 составляет 5 ЗЕТ, объем модуля М2 - 7 ЗЕТ, объем модуля Мз - 3 ЗЕТ, объем модуля М4 - 5 ЗЕТ, объем модуля Мб - 4 ЗЕТ. Суммарный объем преподаваемых модулей за семестр не должен превышать 10 ЗЕТ.
Требуется так расставить модули по трем первым учебным семестрам, чтобы ограничения удовлетворялись.
Решение. Введем пять атрибутов -Х1, Х2, Хз, Х4, Хб, соответствующих модулям, с доменами {1, 2, 3}, где: 1 - первый семестр, 2 - второй семестр, 3 - третий семестр.
Формулировка задачи опирается на два типа бинарных отношений: «преподавать до/позже чем» и «преподавать одновременно/не одновременно».
Рассмотрим, как формализовать в виде О-оиотемы отношение «М1 преподается после Мз». Отношение «М1 преподается до или одновременно с Мз» на языке матриц ограничений выглядит так:
_{1) * С1[ХХз] = {2} {2,3} {3} {3}
Тогда его дополнение, представляющее собой требуемую формализацию, записывается в виде:
"{2,3} 0 О1[ХХз] = {1,3} {1} _ {1,2} {1,2}
По аналогии, сформируем О-системы О2[ХзХб] и Оз[Х4Хз], соответствующие условиям «Мз преподается после Мб», «М4 преподается после Мз» (равносильно утверждению «Мз преподается до М4», заданному в условии задачи).
Формализация следующего отношения «М2 не может преподаваться в том же семестре, что М1 или М4» осуществляется путем пересечения двух представленных ниже О-систем О4 и Об:
D4[X1X2] =
{2,3} {2,3} {1,3} {1,3} {1,2} {1,2}
и D5[X2X4] =
Так D4[XX2] получается вычислением дополнения от С4 =
{2,3} {2,3} {1,3} {1,3} {1,2} {1,2} {1} {1} {2} {2} {3} {3}
моделирующей
утверждение «М2 преподается в том же семестре, что М1».
Наконец, утверждение «М4 не может преподаваться во втором семестре» записывается как отрицание утверждения «М4 преподается во втором семестре»:
D6X1X2X3X4X5] = [*
* * {2} *] = ]0 00 {1,3} 0[ .
лировка задачи выражается как следующая D
X1 X 2 X3 X 4 X 5
{1,2,3} {1,2,3} {1,2,3} {1,2,3} {1,2,3}
1 " {2,3} 0 0 0 0
2 {1,3} 0 {1} 0 0
3 {1,2} 0 {1,2} 0 0
4 0 0 {2,3} 0 0
5 0 0 {1,3} 0 {1}
б 0 0 {1,2} 0 {1,2}
7 0 0 0 {2,3} 0
В 0 0 {1} {1,3} 0
9 0 0 {1,2} {1,2} 0
10 {2,3} {2,3} 0 0 0
11 {1,3} {1,3} 0 0 0
12 {1,2} {1,2} 0 0 0
13 0 {2,3} 0 {2,3} 0
14 0 {1,3} 0 {1,3} 0
15 0 {1,2} 0 {1,2} 0
16 0 0 0 {1,3} 0
Анализируя строки 1, 4, 7, 16, по У3 можно усечь домены для Х1, Хз, Х4, получим такие соответствия между атрибутами и их доменами: Х1 - {2, 3}, Х2 - {1, 2, 3}, Хз - {2, 3}, Х4 - {3}, Х5 - {1, 2, 3}.
При этом для преподавания в одном семестре модулей М4 и М1 требуется 10 ЗЕТ, М4 и М2 - 12 ЗЕТ, М4 и М3 - 8 ЗЕТ, а для преподавания М4 и М5 - 9 ЗЕТ. Следовательно, кумулятивное ограничение для третьего семестра нарушено лишь для модулей М4 и М2. Для устранения этой некорректности из домена атрибута Х2 исключается значение «3», имеем: Х1 - {2, 3}, Х2 - {1, 2}, Х3 - {2, 3}, Х4 - {3}, Х5 - {1, 2, 3}.
Затем атрибут Х4 элиминируется из О-исходной системы, поскольку его домен стал одноэлементным множеством {3}.
В результате «настройки» О-системы на новые домены, применяя правило У4, исключаются из рассмотрения строки 1, 4, 7, 8, 10, 12, 13, 14, 15, 16.
Далее, используя У5, получим:
Частичное решение: Х4 - {3}.
Остаток й-системы:
X : X 2 X 3 X 5
{2,3} {l,2} {2,3} {l,2,3}
2 " {3} 0 0 0 '
3 {2} 0 {2} 0
5 0 0 {3} {1}
б 0 0 {2} {1,2}
9 0 0 {2} 0
11 {3} {l} 0 0
На основе анализа строки 2 можно сузить домен атрибута Х1 до единственного значения (Х1 - {3}). Поскольку ранее было получено Х4 - {3}, то, с учетом суммарного объема ЗЕТ для М1 и М4 в третьем семестре (9 ЗЕТ), никакой другой модуль уже не может преподаваться одновременно с М1 и М4. Другими словами, значение «3» можно исключить из областей определения других атрибутов. На текущем шаге имеем: Х1 - {3}, Х2 - {1,2}, Х3 - {2}, Х5 - {1,2}. Поскольку более не обнаружено нарушения кумулятивного ограничения, то рассмотрим О-систему, оставшуюся после «настройки» на новые домены (согласно У4 и У5, уходят все строчки, кроме пятой, а в пятой остается лишь одна непустая компонента; атрибуты Х1 и Х3 элиминируются). Получим:
Частичное решение: Х1 - {3}, Х3 - {2}, Х4 - {3}.
Остаток й-системы:
Х2 Х5
{1,2} {1,2} ] 0 {1} [•
Откуда Х5 - {1}, следовательно, Х2 - {2}, поскольку модули М2 и М5 не могут преподаваться одновременно. В результате получено решение: Х1 - {3}, Х2 - {2}, Х3 - {2}, Х4 - {3}, Х5 - {1}. Другими словами - в первом семестре преподается модуль М5, во втором - М2 и М3, в третьем - М1 и М4.
В данной задаче в качестве дополнительного правила редукции используется кумулятивное ограничение, что позволяет решить задачу также за полиномиальное время без организации ветвления.
Реализация рассуждений в динамических интеллектуальных системах
Динамическая система, основанная на правилах - это четверка [9]: О=<Х, Т, Ф, ¥>, где X - множество фактов, Т - дискретное упорядоченное множество моментов времени, Ф: 2х ^ 2х - функция замыкания, 2х * Т ^ 2х - функция переходов. Причем, функции замыкания и переходов реализуются правилами замыкания Па и переходов Птя соответственно.
В настоящей работе предлагается:
1. Задачу пополнения описания состояния динамической системы рассматривать как задачу ОБР. Правила замыкания рассматривать как ограничения и записывать в виде совокупности С- и О-систем.
2. Описание текущего состояния считать полным, когда предложенные алгоритмы распространения ограничений останавливаются, достигнув неподвижной точки.
Рассмотрим пример ДИС, который является упрощенным вариантом задачи «Мир вам-пуса», описанной в [6]. Робот должен выполнить некоторое задание, например, обнаружить клад в среде, которая представляет собой совокупность залов, соединенных проходами. Залы расположены в виде решетки 4x4. На рис. 3 приводится схема среды, в которой робот должен выполнить задание. Робот всегда начинает движение с нижнего левого квадрата, обозначенного как [1,1], и смотрит вправо. При движении он может идти вперед, поворачиваться влево и вправо на 90°. В каждом квадрате, отличном от начального, с вероятностью 0,2 может находиться непроходимое препятствие - яма (Р). Местонахождения клада (С) и зала (У), в которых робот будет уничтожен «врагом», выбираются случайным образом с равномерным распределением из числа квадратов, отличных от начального. Предположим, что в каждом зале находится либо «враг», либо клад, либо яма, либо зал пуст.
1,4 2,4 3,4 4,4 Яма
1,3 Враг 2,3 Клад 3,3 Яма 4,3
1,2 2,2 3,2 4,2
1,1 Робот 2,1 3,1 Яма 4,1
Рис. 3. Схема среды, в которой робот должен выполнить задание Fig. 3. Scheme of the environment in which the robot must perform the task
У робота имеются датчики:
1. В квадрате, где находится «враг», а также в квадратах, непосредственно (а не по диагонали) соседних по отношению к этому квадрату, робот чувствует неприятный запах (переменная Xij принимает значение 1).
2. В квадратах, непосредственно соседних с ямой, робот будет ощущать ветерок (переменная Yij принимает значение 1).
3. В зале с кладом робот видит блеск (переменная Zij принимает значение 1). Результаты актов восприятия передаются роботу в форме кортежа, например, если есть
неприятный запах и ветерок, но нет блеска, робот получает результаты акта восприятия в виде следующей С-системы, состоящей из одной строки: Sij[XYZ] = [{1} {1} {0}], где ij - адрес клетки.
Записанный таким образом кортеж значений моделирует область истинности логической формулы Х^ л Yij л -2ц.
Основная сложность для робота состоит в том, что он с самого начала не знает конфигурацию своей среды. Первоначальная база знаний робота содержит правила существования в этой среде, которые были описаны выше; в частности, он знает, что находится в квадрате [1,1] и что квадрат [1,1] является безопасным. Знания робота расширяются по мере того, как поступают результаты новых актов восприятия и выполняются действия. Первым восприятием является S^^[XYZ] = [{0} {0} {0}], или - XII л ^11 л ^11, на основании которого робот может сделать вывод, что соседние по отношению к нему квадраты являются безопасными (там либо клад, либо пусто). Для указания этого факта они отмечены ОК. На рис. 4 а показано состояние знаний робота в этот момент.
Робот переходит только в квадрат, о котором известно, что в нем есть отметка ОК. Предположим, что он решил двинуться вперед, в квадрат [2,1], и было достигнуто состояние, показанное на рис. 4 б. Робот обнаруживает ветерок в квадрате [2,1], то есть S21[XYZ] = [{0} {1} {0}] или -X 21Л Y 21Л ^21,
поэтому в одном из соседних квадратов должна быть яма. По условиям задачи она не может находиться в квадрате [1,1], поэтому должна быть хотя бы в одном из квадратов [2,2], или [3,1].
На рисунках более темным цветом помечены клетки, в которых находится робот в текущий момент, а более светлым - те, о которых имеется информация или они уже были посещены. В данный момент известен только один квадрат с отметкой ОК, который еще не был посещен, поэтому робот переходит в квадрат [1,2].
1,4 2,4 3,4 4,4
1,3 2,3 3,3 4,3
1,2 2,2 3,2 4,2
OK
1,1 2,1 3,1 4,1
OK OK
1,4 2,4 3,4 4,4
1,3 2,3 3,3 4,3
1,2 OK 2,2 Яма? 3,2 4,2
1,1 OK 2,1 OK Ветерок 3,1 Яма? 4,1
а b
Рис. 4. Первый шаг, выполненный роботом: первоначальная ситуация, возникшая после восприятия -1X11 и -Y11 л -Z.11 (а); ситуация после одного хода, в котором получено восприятие -X 21л Y 21л -Z.21 (b) Fig. 4. The first step performed by the robot: initial situation that arose after the perception of -X11 л -Y11 л -Z11 (a); situation after one move in which the perception -X 21л Y 21л -Z21 (b) is received
Новым восприятием в квадрате [1,2] является S12[XYZ] = [{1} {0} {0}] или X12 л - Y12 л ^12, что приводит к состоянию знаний, показанному на рис. 5 а.
Теперь робот убедился, что в квадрате [2,2] нет ни ямы, ни «врага», поэтому можно обозначить этот квадрат меткой ОК и перейти в него. После того, как робот перешел в квадрат [2,2], S22[XYZ] = [{0} {0} {0}] или ^22 л ^22 л ^22.
Далее предполагаем, что робот перешел в квадрат [2,3], в результате чего было получено состояние, показанное на рис. 5 б. В квадрате [2,3] робот обнаруживает блеск, S2з[XYZ] = [{1} {1} {1}] или X2з л Y2з л Z2з, значит, клад там и цель достигнута.
1,4 2,4 3,4 4,4 1,4 2,4 Яма? 3,4 4,4
1,3 Враг! 2,3 3,3 4,3 1,3 Враг! 23Запах Ветерок Клад 3,3 Яма? 4,3
1,2 2,2 3,2 4,2 1,2 2,2 3,2 4,2
OK Запах OK Запах OK
1,1 2,1 3,1 4,1 1,1 2,1 3,1 4,1
OK OK Ветерок Яма! OK OK Ветерок Яма!
а b
Рис. 5. Два последних этапа в ходе выполнения роботом задания: после третьего хода получено восприятие X12 и -Y12 л -Z12 (а); после пятого хода, когда получено восприятие X23 и Y23 и Z23 (b) Fig. 5. Last two stages of robot's execution of the task: after the third move the perception X12 л -Y12 л -Z12 (a) is received; after the fifth move, when the perception X23 л Y23 л Z23 (b) is received
Рассмотрим возможности применения авторских методов удовлетворения ограничений в ДИС на описанном выше примере.
Пример 3. Рассмотрим один шаг функционирования робота и фрагмент базы знаний, который необходим роботу для пополнения описания начального состояния (робот находится в квадрате [1,1] и еще никуда не двигался). Для каждой клетки [/, у], помимо уже упоминаемых нами переменных Xy, Yy, Zy, введем переменные Ку . Областью определения каждой из переменных Ку является множество {а, р, с, и}, где: а - клетка не содержит объектов, кроме, возможно, самого робота; р - в секторе находится яма; с - в секторе находится клад; и - в секторе находится «враг». По условию, описанные значения являются взаимоисключающими.
Фрагмент базы знаний на первом шаге:
1. -((К11 = p)v (К11 = и)) или (К11 = a) v (К11 = с).
2. X11 = ((К12 = p) v (К21 = p)).
3. -X11.
4. Y11 = ((К11 = и) v (К12 = и) v (К21 = и)).
5. -Y11.
6. Z11 = (К11 = с).
7. -Z11.
Заметим, что утверждения 3, 5, 7, соответствуют акту восприятия робота на первом шаге. Правило 1 говорит о том, что в квадрате [1,1] нет опасности. Правило 2 утверждает, что наличие ветерка в секторе [1,1] равносильно наличию ямы в одном из соседних квадратов. Правило 4 позволяет судить по запаху в секторе [1,1] о наличии/отсутствии врага в данном и соседних с ним квадратах. Правило 6 позволяет по блеску определять наличие/отсутствие клада в секторе [1,1]. Правила 2, 4, 6 являются правилами замыкания текущего состояния и устанавливают связь между наблюдаемыми и выводимыми параметрами. В данном примере функция переходов к следующему состоянию нами не рассматривается.
Запишем эти правила в виде D-систем, сформированных в пространстве признаков X11 х Y11 х Zn* К11 х К12 х К21:
.. ]0 0 0 {a, с} 0 0[
{О} 0 0 0 { p} { p}
{1} 0 0 0 {a, с, u} 0
2. {1} 0 0 0 0 {a, с, u}
3. л ]{О} 0 0 0 0 0[
4. - 0 {О} 0 M {и} {и }
0 {1} 0 { a , p , с} 0 0
0 {1} 0 0 { a , p , с} 0
4. 0 {1} 0 00 { a , p , с}
5. ]0 {О} 0 0 0 0[
п 0 0 {О} {с} 0 0 г
б. 0 0 {1} {a, p, u} 0 0
7. ]0 0 {О} 0 0 0[
Данную систему правил можно представить в виде единственной О-системы, содержащей все строки приведенных выше О-систем:
Х11 ^11 ^11 К11 К12 К 21 {0,1} {0,1} {0,1} {а, р, с, и} {а, р, с, и} {а, р, с, и}
1 0 0 0 { a, с} 0 0
2 {О} 0 0 0 { p} { p}
З {1} 0 0 0 {a, с, u} 0
4 {1} 0 0 0 0 {a, с, u}
5 {О} 0 0 0 0 0
б 0 {О} 0 {u} {u} {u}
l 0 {1} 0 { a, p, с} 0 0
S 0 {1} 0 0 { a, p, с} 0
9 0 {1} 0 0 0 { a, p, с}
1О 0 {О} 0 0 0 0
11 0 0 {О} {с} 0 0
12 0 0 {1} { a, p, u} 0 0
13 0 0 {О} 0 0 0
Представленная выше О-система содержит 4 строки, содержащих по одной непустой компоненте (строки 1, 5, 10, 13). Для данных строк последовательно применяются утверждения У3 (домены переменных Х11, Ун, 2н, К11 равны {0}, {0}, {0}, {а, с}, соответственно), затем У5 (из компонент удаляются значения не принадлежащие вновь полученным доменам), а после утверждение У4 (элиминируются строки 1, 2, 5, 6, 7, 10, 11, 13). Теперь, согласно У2, можно вычеркнуть столбцы матрицы, соответствующие атрибутам Х11, У11, 2м. Получим: Частичное решение: Х11 - {0}, У11 -{0} , 2м - {0} .
Остаток D-системы:
K11 K12 K 21
{a, с} {a, p, с, u} {a , p, с, u}
3 " 0 {a, с, u} 0 "
4 00 {a, с, u}
S 0 {a, p, с} 0
9 00 {a, p, с}
12 {a, p, u} 0 0 _
Продолжая применять упомянутые утверждения, получим окончательное решение: Xii - {0}, Vii - {0}, Zii - {0}, Kii - {a}, Ki2 - (a, c}, K21 - (а, с}. Все строки D-системы в ходе вывода оказываются вычеркнутыми без образования пустых строк. Следовательно, не просто остановились, достигнув некоторой неподвижной точки, а получено решение поставленной задачи CSP.
Для клетки [1,1] робот делает однозначный вывод о том, что в ней не находится посторонних объектов (ям, врагов, клада). Домены переменных Ki2 и K2i сузились и позволяют судить о том, что в клетках [1,2] и [2,1] нет опасности для робота, то есть он может перейти туда на следующем шаге. Однако без дополнительной информации (дополнительных актов восприятия) робот не может однозначно установить, имеется в какой-либо из клеток [1,2] и [2,1] клад или нет.
Заключение
В работе предлагается при моделировании слабо формализованных предметных областей качественные ограничения над конечными доменами обрабатывать совместно с количественными в рамках технологии программирования в ограничениях. Применение авторских методов распространения нечисловых ограничений позволяет пополнить круг задач, решаемых с помощью упомянутой выше технологии, такими задачами, как вывод в системах продукций с недоопределенными параметрами [13-14], моделирование динамических интеллектуальных систем, структурный синтез систем на начальных этапах проектных работ и др. Авторские методы, в отличие от аналогов, позволяют редуцировать задачу CSP даже если она изначально не была представлена посредством совокупности лишь унарных и бинарных ограничений. Методы носят итеративный характер и позволяют некоторые экземпляры задач CSP сводить к задачам меньшей размерности без организации ветвлений, анализируя специфические свойства предложенных матрицеподобных структур.
Работа выполнена при финансовой поддержке РФФИ (проекты № 16-07-00377а, 16-07-00562а, 16-07-00273а, 18-07-00615а).
Библиографический список
1. Братко И. Алгоритмы искусственного интеллекта на языке PROLOG. 3-е изд. / пер. с англ. М.: Вильямс, 2004. 635 с.
2. Осипов Г.С. Методы искусственного интеллекта. М.: Физматлит, 2011. 296 с.
3. Нариньяни А.С., Иванов Д.А., Седреев С.В., Фролов С.А. Недоопределенное календарное планирование: новые возможности // Информационные технологии. 1997. № 1. С. 34-37.
4. Bartak R. Constraint Programming: In Pursuit of the Holy Grail // Proceedings of the Week of Doctoral Students (WDS99), Part IV. Prague: MatFyzPress. i999. P. 555-564.
5. Зуенко А.А. Вывод на ограничениях с применением матричного представления конечных предикатов // Искусственный интеллект и принятие решений. 2014. № 3. С. 21 -3i.
6. Рассел С., Норвиг П. Искусственный интеллект: современный подход. 2-е изд. / пер. с англ. М.: Вильямс. 2006. 1408 с.
7. Кулик Б.А. Зуенко А.А., Фридман А.Я. Алгебраический подход к интеллектуальной обработке данных и знаний. СПб.: Изд-во Политехн. ун-та. 2010. 235 с.
8. Зуенко А.А. Совместное применение алгоритмов фильтрации и распространения ограничений на основе матриц ограничений // Системный анализ и информационные технологии: материалы VI Междунар. конф. В 2-х ч. (г. Светлогорск, 15-20 июня 2015). Светлогорск, 2015. Ч. 1. С. 56-66.
9. Ruttkay Zs. Constraint satisfaction a survey // CWI Quarterly. 1998. Vol. 11. P. 163-214.
10. Божко А.Н., Толпаров А.Ч. Структурный синтез на элементах с ограниченной сочетаемостью. [Электронный ресурс]. URL: http://www.techno.edu.ru:16001/db/msg/13845.html (10.03.2018).
11. Коршунов С.В. Проектирование основных образовательных программ вуза при реализации уровневой подготовки кадров на основе федеральных государственных образовательных стандартов. М.: Межотраслевой институт повышения квалификации при МГТУ им. Н.Э. Баумана, 2010. 212 с.
12. Фридман О.В. Анализ программных продуктов для автоматизации формирования учебного плана вуза // Труды Кольского научного центра РАН. Информационные технологии. 2015. Вып. 6. С. 152-175.
13. Зуенко А.А., Фридман О.В. Матрицеподобные вычисления при обработке недоопределенных знаний в продукционных системах (на примере задачи выбора технологии обогащения минерального сырья) // Труды института системного анализа Российской академии наук. 2015. Т. 65. № 1. С. 44-56.
14. Зуенко А.А. Применение методов распространения ограничений в слабо формализованных предметных областях // Пятнадцатая национальная конференция по искусственному интеллекту с международным участием: материалы XV конференции. В 3-х ч. (г. Смоленск, 3-7 октября 2016 г.). Смоленск, 2016. Ч. 3. С. 22-30.
References
1. Bratko I. Algorithms of artificial intelligence in PROLOG language. 2004. 640 р. (Russ. ed.: Algoritmy iskustvennogo intellekta na yazuke PROLOG.). Moscow: Publishing House «Vilyams», 2004. 640 р.). (In Russian).
2. Osipov G.S. Metody Iskustvennogo intellecta [Methods of artificial intelligence]. Moscow: Fizmatlit Publ., 2011. 296 p. (In Russian).
3. Narinyani A.S., Ivanov D.A., Sedreev S.V., Frolov S.A. Underdetermined scheduling: new opportunities. Informatsionnye tehnologii [Information Technologies], 1997, no. 1, pp. 34-37. (In Russian).
4. Bartak R. Constraint Programming: In Pursuit of the Holy Grail // Proceedings of the Week of Doctoral Students (WDS99), Part IV. Prague: MatFyzPress. 1999, рр. 555-564.
5. Zuenko А.А. Conclusion on constraints using the matrix representation of finite predicates. Iskustvennui intellect I prinyatie reshenii [Artificial Intelligence and Decision Making], 2014, no. 3, pp. 21 -31. (In Russian).
6. Rassel S., Norvig P. Artificial intelligence: a modern approach, 2006, 1408 p. (Russ. ed.: Iskustvennui intellect: sov-remennuipodhod. Moscow, Publishing House «Vilyams», 2006, 1408 p.). (In Russian).
7. Kulik B.A., Zuenko A.A., Fridman A.Ya. Algebraicheskii podhod k intellektualnoi obrabotke dannuh I znanii [Algebraic approach to intelligent data and knowledge processing]. Saint-Petersburg: Publishing house of Polytechnic University, 2010, 235 p. (In Russian).
8. Zuenko А.А. Sovmestnoe primeneine algoritmov filtratsii i rasprostraneniya ogranichenii na osnove matrits ogranichenii [Joint application of filtering and constraint propagation algorithms based on constraint matrices]. Materialy VI Mezhdu-narodnoj konferencii "Sistemnui analiz i informatsionnue tehnologii" [Proceedings of VI International Conference "System Analysis and Information Technologies" Svetlogorsk, 15 June 2015]. Svetlogorsk, 2015, vol. 1, pp. 56-66. (In Russian).
9. Ruttkay Zs. Constraint satisfaction a survey // CWI Quarterly, 1998, vol. 11, pp. 163-214.
10. Bozko A.N., Tolparov A. Ch. Strukturnyi sintez na elementah s ogranichennoi sochetaemostu [Structural synthesis on the elements with limited compatibility]. Available at: http://www.techno.edu.ru:16001/db/msg/13845.html. (accessed 10 March 2018). (In Russian).
11. Korshunov S.V. Proektirovanie osnovnykh obrazovatel'nykh programm vuza prirealizatsii urovnevojpodgotovkikadrov na osnove federal'nykh gosudarstvennykh obrazovatel'nykh standartov [Designing of university basic educational programs under implementation of level personnel training on the basis of the Federal State Educational Standards]. Moscow: Interdisciplinary Institute for advanced training at Bauman Moscow state technical university, 2010, 212 р. (In Russian).
12. Fridman O.V. Analysis of software for automating development of educational plans of the university. Trudu Kolskogo nauchnogo centra RAN Informatsionnue tehnologii [Proceedings of the Kola Science Center RAS. Information Technology], 2015, vol. 6, pp. 152-175. (In Russian).
13. Zuenko А.А., Fridman O.V. Matrix-like computations when processing underdetermined knowledge in production systems (on example of the problem of selecting the technology for mineral raw materials concentration). Trudy instituta sis-temnogo analiza Rossijskoj akademii nauk [Proceeding of the Institute for Systems Analysis of the Russian Academy of Science], 2015, vol. 65, no. 1, pp 44-56. (In Russian).
14. Zuenko A.A. Primenenie metodov rasprostraneniya ogranichenij v slabo formalizovannyh predmetnyh oblastyah [Application of methods of constraint propagation in poorly formalized subject areas]. Materialy XV konferencii "Pyatnadcataya
nacional'naya konferenciya po iskusstvennomu intellektu s mezhdunarodnym uchastiem" [Proceedings of XV Conference "15th National Conference on Artificial Intelligence with international participation, Smolensk, 3-7 October 2016]. Smolensk, 2016, part 3, pp. 22-30. (In Russian).
Критерии авторства
Зуенко А.А., Фридман О.В. заявляют о равном участии в получении и оформлении научных результатов и в равной мере несут ответственность за плагиат.
Authorship criteria
Zuenko A.A., Fridman O.V. declare equal participation in obtaining and formalization of scientific results and bear equal responsibility for plagiarism.
Конфликт интересов
Авторы заявляют об отсутствии конфликта интересов.
Conflict of interests
The authors declare that there is no conflict of interests regarding the publication of this article.