УДК 681.3

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

Сборник "Інформатика та комп'ютерні технології 2007. Матеріали ІІІ науково-технічної конференції молодих учених та студентів." - 2007. - С. 318


Фоменко А.А., Григорьев А.В.

Донецкий национальный технический университет


САПР ПО имеют достаточно высокую актуальность в наше время. В данной работе будет рассмотрено САПР ПО в экономической области работы с клиентом.

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

Определим некоторые понятия:

Прототип – результат работы программы Project Expert – готовый вариант бизнес плана промышленного предприятия, отражающий его создание, развитие и все показатели со структурой на протяжении жизненного цикла.

ЦПС – целевое пространство систем – набор решений (прототипов)

Техническое задание – заданные пользователем ограничения на бизнес план, на жизненный цикл, на параметры предприятия в течение жизненного цикла.

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

Существуют несколько вариантов алгоритмов работы с представлением текстов в виде дерева :

- бинарный алгоритм;

- алгоритмы лексического анализа;

- рассматриваемый в данной работе[1];

Алгоритм, умея производить теоретико-множественные операции над текстами, выполняет объединение текстов в один[2]. Технические задания также объединяются в одно дерево. Затем путем обхода дерева прототипов по всем или узлам будет строиться выходная последовательность параметров.

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


Рассмотрим на примере различия алгоритмов на основных вариантах входных данных.

1. Грамматика отсутствует полностью, пользователь некомпетентен

В этом случае система не знает ничего о наборе символов и ключевых слов текстов и объединение будет идти «вслепую».
Обычное объединение с преобразованием в и – или дерево идет по принципу сравнения до нахождения первого различающегося элемента. Например рассмотрим склеивание двух текстов представляющих собой простой список цифр. Объединение производится как показано на рисунке 1.

В результате будет сформировано и-или дерево как показано на рисунке 2. При выводе целевой последовательности по дереву система будет вынуждена спрашивать у пользователя какие параметры нужны. Например при обходе слева направо система в точке «B» уже построив список { 3,4 } спросит у пользователя какой должен быть третий параметр и в зависимости от ответа, на выходе будет нужная последовательность параметров.

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

3

=

3



4

=

4



7

!=

6









A=

&

3

4


B=

V

7

6









Рисунок 1 - Объединение множеств

DrawObject







Рисунок 2 - И-ИЛИ дерево


2. Грамматика отсутствует полностью, пользователь компетентен


В этом случае на том же примере пользователь заранее может задать нужный ему параметр, к примеру чтобы один из параметров A был равен 4 а параметр B был равен 6. Тогда система просто объединит множества и при обходе дерева построит правильно выходную последовательность параметров.

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


3. Грамматика присутствует частично, пользователь компетентен


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

Рассмотрим элементарный пример – тексты представляют собой некоторый код программы. Как известно в коде много повторяющихся ключевых слов. И при использовании грамматики можно будет при нахождении определенного синтерма просто дописывать в список повторений этого синтерма в текстах идентификатор прототипа из которого взят данный синтерм и место где он встретился (строка или последовательный номер). То есть алгоритм будет способен разбирать что за синтерм поступил на вход. Этап объединения всех текстов в одно и-или дерево с запоминанем зависимостей и повторений будем называть обучением, так как система окончательно создает полное представление о ЦПС. Затем будет строиться выходная последовательность с учетом повторений и зависимостей и будет легче отсекать неверные варианты. К примеру если встретился синтерм который присутствует только в первом третьем из пяти текстов, то второй, четвертый и пятый тексты будут отброшены и более рассматриваться не будут.


4. Грамматика присутствует полностью, пользователь компетентен


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




Литература

1. Григорьев А.В. Алгоритм выполнения теоретико-множественных операций над грамматиками в среде специализированной оболочки для создания интеллектуальных САПР. Науковi працi нацiонального технiчного унiверситета. Серия «Проблемы моделирования и автоматизации проектирования динамических систем» (МАП -2002). Выпуск 52: Донецк: ДонНТУ, 2002. - С.83-93.


2. Григорьев А.В. Теоретико-множественные операции над грамматиками как механизм работы со знаниями в интеллектуальных САПР. Вiсник Схiдноукраiнського нацiонального унiверситету iменi Володимира Даля, N 2(48). Луганск, ВУТУ, 2002. С. 186-194.