Уланов А.В. Санкт-Петербургский государственный морской технический университет Синтез автоматизированного планировщика производства с использованием модели универсальной параметризации знаний Рассматривается задача построения усилителя интеллекта (УИ) для решения задачи автоматизированного планирования производства. В качестве модели знаний УИ вводится модели универсальной параметризации знаний, обобщающая термины существующих моделей знаний (фреймового, семантического, логического, продукционного), как компоненты(параметры) вектора состояний системы. Для хранения модели знаний предлагается использовать СУБД UBase, которая представляет возможности по эффективному хранению пространства состояний системы. Введение В данной работе рассматривается способ решения задачи автоматизированного планирования процесса производства при помощи системы, называемой в литературе усилителем интеллекта (УИ) [1]. Вследствие достаточной размытости термина «усилители интеллекта» введём его определение, применяемое в контексте данной работы. Усилитель интеллекта (УИ) – открытая сущность (физический объект или программная система), способная выполнять заданные интеллектуальные действия на основе исходных данных, предоставляемых человеком или другой системой и способная к автоматизированному синтезу новой, полезной информации. Открытость УИ выражается в применении системного подхода для решения всё расширяющегося круга задач в открытом (изменяющемся) наборе знаний. С функциональной точки зрения УИ можно представить, как некоторую систему, состоящую из вычислителя, базы знаний (БЗ), и, в частном случае, СУБД, выполняющей низкоуровневые функции работы с базой данных и реализующей ручной ввод знаний. В качестве результата работы УИ применительно к планированию производства может быть предложена цепочка действий, реализующая поставленную задачу. Например, какие детали необходимо произвести для изготовления данного изделия, у каких поставщиков необходимо заказывать комплектующие к этим деталям, как обеспечить транспортировку этих комплектующих, как обеспечить наличие средств транспортировки и т.д. Таким образом, необходимо построить дерево зависимостей, узлами которого служат действия, которые нужно совершить. При этом глубина дерева может быть неограниченной, т.е., по сути дела, охватывать функциональность всего предприятия. В более обобщённом случае, цель разработки системы автоматизированного планирования может быть сформулирована следующим образом: разработать систему, которая бы по заданным начальным условиям осуществляла автоматический вывод всех возможных в рамках данной БЗ последовательностей действий, приводящих к достижению цели и позволяла бы пользователю осуществлять сравнение этих вариантов между собой по заранее определённым критериям. Впоследствии пользователь сможет выбрать некоторые из этих решений по заданным им критериями и далее сохранить их обратно в БЗ, реализуя, таким образом, обучение системы. При этом необходимо иметь возможность хранить в БЗ данные максимальной степени неоднородности, например, о структуре изделия (в том числе о взаимозаменяемости изделий), способах его доставки (в том числе альтернативных), и прочих фактах, которые бы имели отношение к процессу обеспечения его производства. Следовательно, первоочередной задачей является определение наиболее рациональной модели знаний для УИ. Выбор модели знаний На сегодняшний день наибольшее распространение получили следующие четыре модели представления знаний об объекте [2,3,4]: - фреймовая модель; - семантические сети; - продукционные системы; - логические модели; Рассмотрим каждую из этих моделей и основные термины, которыми они оперируют. Фреймовые модели достаточно универсальны и для задач автоматизированного планирования представляют собой множество фреймов-сценариев или фреймов-ситуаций, которые представляют собой иерархическую структуру, узлами которой служат действия, а дугами – различные значения вектора состояния объекта. Семантическая сеть – это ориентированная графовая структура, каждая вершина которой отображает некоторое понятие (объект, процесс, ситуацию), а ребра графа соответствуют отношениям типа "это есть", "принадлежать", "быть причиной", "входить в", "состоять из", "быть как" и аналогичным между парами понятий. В продукционных системах знания представляются в виде совокупности суждений, соединённых логическими связками. Фактически, эта совокупность представляет собой правила перехода из одного состояния описываемого объекта в другое. В модели предикатов первого порядка предметная облась описывается при помощи высказываний относительно переменных, фиксированных функций, и предикатов. В рассматриваемом случае, из крайней неоднородности системы следует требование к максимально возможной унификации знаний. Используя традиционные методы, система УИ, занимающаяся планированием производства, должна была бы включать, в общем случае, все вышеперечисленные модели. Однако это бы потребовало наличия множества алгоритмов машинного вывода (для каждой модели) и механизмов стыковки этих моделей между собой. Актуальной становится следующая задача: создать модель знаний, которая бы обобщала четыре выше указанных модели и реализовывала максимально возможно однородное их представление и механизм вывода. Описание модели универсальной параметризации знаний и обобщённой машины вывода Рассмотрим общий перечень используемых терминов по четырем моделям (1): - действия; - состояние объекта; - объект; - процесс; (1) - ситуация; - отношение; - суждение; - предикат, переменная, функция; В данной работе предлагается модель представления знаний, называемая моделью универсальной параметризации знаний (УПЗ). Данная модель использует в качестве термина, обобщающего вышеприведённые, термин «компонент вектора состояния объекта», т.е. в состав вектора состояния объекта могут входить все термины (1). Более того, в модели УПЗ рассматривается и состояние субъекта (в данном случае, УИ), т.е., для случая программной реализации, внутреннее состояние самой машины вывода (например, признак остановки вывода или общее количество выведенных ветвей дерева решений). Результат их объединения можно представить, как вектор состояния системы «объект-УИ» и именно он будет рассматриваться далее в работе. Будем далее обозначать термин «компонент вектора состояния системы», как «параметр системы». Таким образом, сутью модели УПЗ является постулирование того, что любой термин, входящий в произвольное описание знания применительно к данному объекту, может быть представлен, как параметр системы «объект-УИ», способный принимать счётное или несчетное множество значений. Отсюда следует и название модели: универсальная (применимая ко всем терминам описания знаний), параметризация (превращение в параметры) знаний. Знания в модели универсальной параметризации знаний (УПЗ) задаются, как набор правил перехода из одного состояния системы в другое. Такая обобщённая и однородная модель задания знаний позволяет реализовать процесс решения с использованием единой машины прямого/обратного вывода. На вход машины подаётся начальное правило, которое характеризует собой начальное состояние системы. Далее начинается итеративный процесс последовательного перехода из одного состояния в другое до тех пор, пока либо не окажется правил, входы которых соответствуют текущему состоянию, либо значение особого параметра УИ, называемого «СТОП» не примет значение «1», что означает конец работы алгоритма на текущей ветви дерева решения. Машина вывода может совмещать прямой и обратный вывод произвольным способом, однако это способ является единым для всей БЗ, т.е. не зависит от ее состава. Например, следующее отношение: «объект А включает в себя объект Б» можно записать в модели УПЗ следующим образом (2): -> Объект: А; -> Отношение: включает в себя; (2) <- Объект: Б; В приведенной записи состояние рассматриваются два параметра системы: «Объект» и «Отношение». Из состояния «Объект: А» и «Отношение: подвид» система переходит в состояние «Объект: Б». Заметим, что все параметры, не указанные в данной правиле, после реализации правила остаются неизменными. Правило, описанное в (2), действует при прямом выводе, т.е., когда в начальных условиях параметр «Объект» задан равным «А». Если же в качестве начальных условий задан параметр «Объект», равный «Б», и необходимо вывести, как перейти из состояния «Б» в состояние «А», то, очевидно, что соотношение между ними должно быть изменено с «включает в себя» на обратное: «является подмножеством». Для этого можно было бы, конечно, задать отдельное правило для каждого объекта: -> Объект: Б; -> Отношение: является подмножеством; <- Объект: А, однако для того, чтобы не выполнять такую операцию для всех объектов в БЗ, целесообразно добавить в БЗ следующее правило: -> Отношение: является подмножеством; <- Отношение: включает в себя; Тогда в ходе решения машина вывода автоматически перейдёт при обратном выводе из состояния «включает в себя» в состояние «является подмножеством». Реализация задания альтернативных путей достижения цели В (1) описывается безальтернативный способ достижения цели. В случае, если необходимо задать альтернативные пути достижения цели, синтаксис задания правила выглядит так, как показано на примере (3): -> Пункт: А, С; -> Средство: машина, поезд; <- Пункт: Б; (3) + Время, час: 1; + Стоимость, руб: 100; <- Объект: Б; Данная форма записи трактуется следующим образом: для достижения пункта Б возможны 4 варианта: из пункта А посредством машины; из пункта А посредством поезда; из пункта С посредством машины; из пункта С посредством поезда; Реализация задания цены достижения цели Задача автоматизированного планирования состоит не только в том, чтобы определить последовательность действий по достижению цели, но и в том, чтобы вычислить цену ее достижения. Необходимо каким-то образом задавать, что при переходе из одного состояния в другое цена накапливается. При этом необходимо учесть, что целесообразно ввести два правила накопления: аддитивное и мультипликативное. Опишем, каким образом это делается в рамках модели УПЗ, на следующем примере: рассмотрим правило, описывающее способ перемещения из одного местоположения в другое (4): -> Пункт: А; -> Средство: машина; <- Пункт: Б; + Время, час: 1; + Стоимость, руб: 100; (4) В (4) задаётся тот факт, что для достижения значения параметра, равного «Б», параметры «Пункт» и «Средство» должны быть равны, соответственно, «А» и «машина» и при этом параметры «Время» и «Стоимость» увеличиваются, соответственно, на «1» и «100». Примером применения мультипликативных цен может служить определение общего количества данного изделия в сборке (5): -> Изделие: 1.1; <- Изделие: 1; * Количество: 2; (5) -> Изделие: 1.1.1; <- Изделие: 1.1; * Количество: 4; В этом правиле задаётся тот факт, что при переходе от значения параметра «Изделие», равного «1.1.1» к параметру «Изделие», равного 1.1, значение параметра «Количество» необходимо умножить на 4. Соответственно, при переходе от значения параметра «Изделие», равного «1.1» к параметру «Изделие», равного 1, значение параметра «Количество» необходимо умножить на 2. Таким образом, общее количество Изделия «1.1.1» в Изделии «1» становится равным «8». Более того, при помощи мультипликативных цен становится возможным задавать вероятность достижения цели, и, впоследствии, рассчитывать общую вероятность, тем самым переходя от модели детерминистического мира к более реалистичной модели вероятностного мира. Например, если в примере (4) добавить следующую цену: * Вероятность: 0.8, это будет обозначать, что вероятность перехода в указанное состояние составляет «0.8». Реализация ограничений использования правил машиной вывода В случае задания правил в виде (3,4) задача планирования уже, теоретически, может быть решена, однако, в таком случае, все правила, содержащиеся в БЗ, будут участвовать в машинном выводе и, по мере роста объёма БЗ, этот вывод будет становиться всё менее эффективным вследствие того, что для любой задачи будет производится анализ всех правил, что очевидно, не всегда желательно. Поэтому необходимо предусмотреть определённый механизм определения того, нужно ли рассматривать данное правило в рамках конкретной задачи или нет. В рамках модели УПЗ такие ограничения можно задавать также в виде параметров системы. Для этого используется уже упомянутый параметр «СТОП». Если его значение становится равным «1», машина вывода останавливает процесс решения в данной ветви дерева вывода и эта ветвь (перечень её узлов) запоминается в перечне решений. Такие ограничения также задаются в виде правила, например (6): -> Цена: > 1000; -> Средство: !=машина; (6) <- СТОП: 1; В (6) задаётся, что в процессе вывода, если «Цена» превысила «1000» и «Средство» перестало быть равным «машина», процесс решения на данной ветви необходимо остановить. Формат задания правил в УПЗ Итак, в рассматриваемой модели все знания представляются в виде сетевой модели, состоящей из узлов, называемых правилами (аналогично продукционной модели). Каждое правило состоит из множества пар «параметр»: «значение». Эти пары могут быть трёх видов: - Вход (обозначается символом «->»); - Выход (обозначается символом «<-»); - Цена (обозначается символом «+» или «*») Важно отметить, что в различных правилах один и тот же параметр может выступать во всех видах: в качестве входа, выхода, аддитивной или мультипликативной цены. В качестве итога можно сказать, что в рамках УПЗ машина вывода реализует исключительно функцию построения дерева изделия в прямом или обратном направлении, и алгоритм ее работы является одинаковым в независимости от того, идёт ли речь, например, об определении суммарного времени достижения цели или об определении общего количества деталей в изделии, рассматривается ли детерминистический или вероятностный мир. Использование СУБД UBase для хранения модели УПЗ Для реализации рассматриваемой модели БЗ необходимо выбрать способ физического хранения её правил. В качестве хранилища описанной выше модели предлагается использовать отечественную СУБД UBase, которая характеризуется следующими главными особенностями, делающими ее привлекательной для использования в УИ: - Возможность встраивания произвольных модулей расчёта в БЗ; эти модули в виде отдельных запускаемых файлов позволяют неограниченно наращивать функциональность БЗ. - Способность эффективного хранения разрежённого информационного массива благодаря отсутствию ограничения на атомарность свойств (атрибутов); Это качество необходимо вследствие того, что для модели УПЗ характерно наличие большого количества свойств при относительно небольшом количестве их значений. Таким образом, реализация УИ предполагает собой наличие трёх функциональных частей: 1) СУБД UBase, которая осуществляет низкоуровневые функции СУБД, такие как поиск по шаблону и редактирование данных; 2) Собственно база знаний, которая хранится в базе данных типа UBase. 3) Система управления базой знаний (СУБЗ), которая управляет СУБД и БЗ, выполняет машинный вывод и пополнение БЗ в рамках самообучения системы. Выводы В результате решения задачи построения УИ, предназначенного для реализации системы автоматизированного планирования производства были получены следующие результаты: 1) Предложена модель универсальной параметризации знаний, позволяющая в однородной форме хранить знания большой степени гетерогенности без их предварительной обработки, что раньше требовало одновременного применения различных моделей представления знаний (фреймового, семантического, логического, продукционного) и их согласования между собой. 2) Получено, что при помощи единого механизма машинного вывода может быть реализован УИ, обеспечивающий получение нескольких вариантов решения задачи планирования производства с целью их дальнейшего сравнения пользователем. 3) В качестве хранилища базы знаний выбрана СУБД UBase, которая представляет возможности по эффективному хранению знаний в модели УПЗ. Литература 1. Курс "Основы проектирования систем искусственного интеллекта",Сотник С. Л., 1997-1998 2. Искусственный интеллект. Кн. 2: Модели и методы: Справочник / Под ред. Э.В. Попова. М.: Радио и связь, 1990. 303 с. 3. Левин Р., Дранг Д., Эделсон Б. Практическое введение в технологию искусственного интеллекта и экспертных систем с иллюстрациями на Бейсике. М.: Финансы и статистика, 1990. 239 с. 4. Нильсон Н. Принципы искусственного интеллекта. М.: Радио и связь. 1990. 376 с.