УНИФИЦИРОВАННОЕ УНИВЕРСАЛЬНОЕ МОДЕЛИРОВАНИЕ ФОРМАЛИЗМОВ ПРОДУКЦИОННЫХ ЗНАНИЙ
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
«КУБАНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»
Кафедра информационных технологий
Научный руководитель
доцент, кандидат
физико-математических наук,
_________ Костенко К.И.
подпись
КУРСОВАЯ РАБОТА
УНИФИЦИРОВАННОЕ УНИВЕРСАЛЬНОЕ МОДЕЛИРОВАНИЕ ФОРМАЛИЗМОВ ПРОДУКЦИОННЫХ ЗНАНИЙ
Работу выполнила студентка 4 курса Щерба А.В.
Специальность 010500 «Прикладная математика и информатика»
Нормоконтролер _____ _____________________________ Костенко К.И.
учен. степень, должность, Подпись Дата
Краснодар 2013
Реферат
Станиц 34 иллюстраций 11 источников 19
Целью работы является разработка универсальной системы описаний произвольных продукционных моделей.
Объектами исследования являются разновидности продукционных моделей, различающихся особенностями структурной организации баз знаний, интерпретации продукций и применяемых специальных процедур обработки
Постановка задачи: разработать прототип унифицированной универсальной модели формализма продукционных систем, интегрировав в неё существующие схемы структурной организации баз знаний в модели правил, рассмотреть основные структурно-семантические и функциональные компоненты рассматриваемых моделей и построить описание информационной метамодели для такого формализма.
Ключевые слова: унификация, продукция, сравнение продукций, база знаний, метамодель, механизм вывода, формализм, структурная организация.
Содержание
Введение 5
1.Модель продукций 7
2.Вывод в продукционных системах 9
2.1.1 Прямой вывод 11
2.1.2 Обратный вывод 11
3. Основные подходы к представлению знаний в формате правил 12
3.1. Принцип «стопки книг» 12
3.2. Принцип наиболее длинного условия (исключения из правил) 13
3.3. Принцип метапродукций 13
3.4. Принцип декомпозиции 13
3.5. Принцип приоритетного выбора 14
3.6. Управление по именам 14
4. Универсальный механизм поиска решений 15
4.1 Атомарная продукционная модель 19
4.2 Продукционная модель, основанная на принципе «стопки книг» 19
4.3 Продукционная модель с исключениями 20
4.4 Продукционная модель, основанная на принципе приоритетного выбора 21
4.5 Продукционная модель, основанная на принципе управление по именам 22
5. Структурная модель универсальной системы 23
6. Информационная модель 24
6.1 Блок пользователей. 24
6.2 Блок потоков задач 25
6.3 Блок задач 25
6.4 Блок продукций 25
7. Описание программного продукта 25
Заключение 32
Список литературы 33
Введение
В данной работе рассмотрено и реализовано моделирование в унифицированном, универсальном формате основных инвариантов концепции формализма представления знаний в составе интеллектуальных информационных систем, основанных на продукциях. Модель продукций (правил) является одним из наиболее простых, удобных и распространённых способов приобретения, представления и практического использования формализованных знаний в цифровых информационных системах. Продукционные системы применимы для целого ряда различных задач это объясняется тем фактором, что продукции является достаточно хорошо формализуемыми и имеют множество разновидностей и адаптируются к многочисленным приложениям. Известно несколько, в том числе и существенно отличающихся видов продукционных моделей, различающихся особенностями структурной организации баз знаний, интерпретации продукций и применяемых процедур обработки. Они учитывают специфические особенности конкретных предметных областей, обеспечивая наилучшие возможности представления знаний и их использования при решении профессиональных задач.
Цель настоящей работы состоит в разработке и реализации универсальной схемы описания произвольных продукционных моделей, основанной на уточнении конструктов языка моделирования абстрактных и прикладных пространств знаний, адаптируемых к указанным моделям. Такой системой обеспечивается возможность интеграции специальных методов и алгоритмов обработки продукционных знаний, дедуктивного порождения новых моделей на основе общих абстрактных (концептуальных) моделей с использованием специальных алгебраических операций расширения и интеграции моделей. Система конструктов формализованного языка описаний классов данных, морфизмов и предикатов, использованных для построения описания систем классов, составляющих модель абстрактного пространства знаний, может быть апробирована при построении такой модели.
1. Модель продукций
Продукционные модели, или модели, основанные на правилах, используют представления знаний, задаваемые в форме двух списков: списка посылок (условий продукций) и списка заключений (следствий). Содержательно, каждая отдельная продукция представляется правилом вида
если <посылки> то <следствия>.
Многообразия продукций составляют абстрактные или прикладные базы знаний, продукционные базы знаний. При этом продукции, в которых списки посылок пустые, называются фактами, обычно одиночными, не содержащими переменных или параметров. Факт представляет собой единицу информации - некоторое суждение о внешнем мире или состоянии системы. Продукционные системы манипулируют множествами фактов и правил, используются для решения сложных задач, которые основаны на применении последовательности предписаний или процедур обработки информации, выполняемые с целью поиска более рациональных и новых конструктивных решений, позволяющих настраивать механизм вывода на особенности проблемной области и учитывать неопределенность знаний. В разных продукционных моделях способы представления посылок и следствий, их интерпретация могут различаться, что делает многообразие способов представления знаний продукциями практически необозримым.
На рисунке 1 приведена содержательная структурно-функциональная модель произвольной продукционной базы знаний. В ней представлены общие информационные и функциональные компоненты интеллектуальных систем, основанных на продукциях.
Рисунок 1. Общая схема продукционной базы знаний
В процессе работы функционального механизма продукционная система использует две специальные области область фактов (рабочая память) подмножество фактов, которые на текущий момент считаются выполненными. Факты являются либо изначально заданными и истинными (аксиомами), либо их истинность устанавливается с помощью механизма вывода с использованием базы продукций и содержимого рабочей памяти.
Этап выборки. На этапе выборки производится активизация той части данных и знаний, на основании которых может быть реализован запрос пользователя.
Этап сопоставления. Выбранное на предыдущем этапе множество активных правил приводится в соответствие выбранному множеству элементов рабочей памяти и определяет набор правил.
Этап разрешения конфликтов. В ходе разрешения конфликта интерпретатор выбирает одну или несколько продукций, которые должны быть выполнены в текущем цикле.
Этап выполнения. Этот этап заключается в активизации выбранных правил и внесении соответствующих изменений в рабочую память.
Традиционная продукционная модель знаний включает в себя следующие базовые компоненты:
1) набор правил (или продукций), представляющих базу знаний продукционной системы;
2) рабочую память, в которой хранятся исходные факты, а также факты, выведенные из исходных фактов при помощи механизма логического вывода;
3) сам механизм логического вывода, позволяющий из имеющихся фактов, согласно имеющимся правилам вывода, выводить новые факты.
Причем, количество таких операций может быть бесконечно.
2.Вывод в продукционных системах
Логический вывод процесс рассуждения, в ходе которого осуществляется переход от некоторых исходных суждений (предпосылок) к новым суждениям заключениям.
Правила преобразования исходной системы предпосылок в систему заключений называются правилами вывода или правилами проведения умозаключений.
Понятие вывода используется во многих формальных системах: в логике, математике, информатике, логическом программировании и др. В математической логике правила логического вывода задаются в исчислении высказываний либо исчислении предикатов.
В информатике вывод умозаключений проводится с использованием правил, принципов и законов логического вывода на основе заданных фактов и правил с использованием методов и средств логического программирования.
Умозаключения (отдельные шаги вывода) разделяют:
- По направлению логического следования.
- Дедуктивные. Началом (посылками) дедукции являются аксиомы или просто гипотезы, имеющие характер общих утверждений («общее»), а концом следствия из посылок теоремы («частное»). Если посылки дедукции истинны, то истинны и ее следствия.
Пример: все люди смертны. Сократ человек. Следовательно, Сократ смертен.
- Индуктивные - процесс логического вывода на основе перехода от частного положения к общему. Индуктивное умозаключение связывает частные предпосылки с заключением не строго через законы логики, а скорее через некоторые фактические, психологические или математические представления.
- Трансдуктивные умозаключение, в котором посылки и заключение (вывод) являются суждениями одинаковой степени общности, т.е., когда вывод идёт от знания определённой степени общности к новому знанию, но той же степени общности.
Например: Иван брат Петра;
Пётр брат Степана;
Следовательно: Иван брат Степана.
По характеру посылок и вывода трансдукция может быть трёх типов:
1) Заключение от единичного к единичному
2) Заключение от частного к частному
3) Заключение от общего к общему
- По достоверности вывода.
- Достоверные.
- Правдоподобные.
- По числу посылок.
- Непосредственные.
- Посредственные.
Существуют две основных схемы работы механизма вывода
2.1.1Прямым выводом в продукционной системе называется процесс циклического применения правил к содержимому рабочей памяти (исходное состояние задано в начале работы), и соответственно получение в результате новых фактов, которые считаются справедливыми. Прямой вывод может производиться до тех пор, когда получение новых фактов станет невозможным. То есть при текущем содержимом рабочей памяти не окажется ни одной истинной предпосылки правила, заключение которого способно изменить рабочую память.
Прямой вывод рекомендуется использовать в следующих случаях
- все или большинство исходных данных заданы в постановке задачи
- существует большое количество потенциальных целей, но мало способов использования фактов
- сформировать цель или гипотезу очень трудно
2.1.2 Обратный вывод. В нем по некоторому набору результирующих фактов - гипотезе, путем анализа правил в направлении от заключения к предпосылке, подтверждается или опровергается справедливость гипотезы при заданном исходном содержимом исходной памяти. Содержимое рабочей памяти так же меняется.
Обратный вывод рекомендуется использовать в следующих случаях:
- цель поиска или гипотеза явно присутствует в постановке задачи или может быть легко сформулирована (например, при доказательстве математических теорем);
- имеется большое количество правил, которые на основе полученных фактов продуцируют всевозрастающее число заключений и целей. Своевременный отбор целей позволяет отсеять множество возможных ветвей, что делает процесс поиска более эффективным;
- исходные данные не приводятся в задаче, но подразумевается, что они должны быть известны решателю. Например, выбирается предварительный медицинский диагноз (гипотеза), а потом под него подбираются симптомы (факты).
3. Система активизации продукций
При выполнении условия применимости одновременно для нескольких продукции возникает дилемма выбора продукции или их группы (в случае возможности параллельной обработки), которая в данной ситуации будет активизирована в целях наискорейшего достижения поставленной цели. Стратегии управления выполнением продукций.
3.1. Принцип «стопки книг». Основан на идее, что наиболее часто используемая продукция является наиболее полезной. Готовые продукции как бы образуют «стопку», в которой порядок определяется накопленной частотой использования продукций в прошлом. На самом верху «стопки» находится продукция, которая использовалась чаще всех. Из некоторого набора продукций с истинными условиями для исполнения выбирается та продукция или продукции, у которых частота использования максимальна. Подобный принцип управления особенно хорош, когда частота исполнения подсчитывается с учетом некоторой ситуации, в которой ранее применялась продукция, и это имело положительную оценку. При такой обратной связи метод стопки книг может превратиться в обучающуюся процедуру, адаптирующуюся к тем задачам, которые возникают во внешней среде. Управление по принципу стопки книг целесообразно применять, если продукции относительно независимы друг от друга.
3.2. Принцип наиболее длинного условия Заключается в выборе из набора готовых продукций той, у которой стало истинным наиболее «длинное» условие выполнимости ядра. Этот принцип опирается на соображение «здравого смысла», что частные правила, относящиеся к узкому классу ситуаций, важнее общих правил, относящихся к широкому классу ситуаций, так как первые учитывают больше информации о ситуации, чем вторые. Трудность использования данного принципа состоит в том, что надо заранее упорядочить условия по вхождению друг в друга по отношению «частное общее». Управление по этому принципу наиболее подходит для систем, в которых база знаний (набор продукции) образует иерархическое дерево со связями типа «частное общее» (правило-исключение).
3.3. Принцип метапродукций. Основан на идее ввода в систему продукций специальных метапродукций, задачей которых является организация управления при возможности неоднозначного выбора из набора готовых продукций. Приведем пример использования метапродукций:
ЕСЛИ «погода теплая» И «идет снег»
ТО продукции, у которых в А имеется «отдых на улице», следует активизировать раньше, чем продукции, содержащие в A «отдых в помещении»
В качестве условия, записанного в метапродукции, может выступать и некоторое утверждение об исключении определенных продукций из набора активизируемых продукций.
3.4. Принцип декомпозиции (разбиения задачи на подзадачи). Подразумевает разбиение набора продукций на сферы применения. В частности, к такому виду структурной организации и представления продукционных баз знаний относится структура классной доски, отражающей разложение множества продукций на классы, соответствующие этапам (подзадачам) процесса решения задач.
3.5. Принцип приоритетного выбора. Связан с введением статических или динамических приоритетов на продукции. Статические приоритеты могут формироваться на основании сведений о важности продукционных правил в данной проблемной области. Эти сведения, как правило, представляют собой информацию, предоставляемую экспертами. Динамические приоритеты вырабатываются в процессе функционирования системы продукций и могут отражать, например, такой параметр, как время нахождения продукции в наборе активных продукций.
3.6. Управление по именам. Основано на задании для имен продукций, входящих в некоторую систему, некоторой формальной грамматики или другой процедуры, обеспечивающей сужение фронта готовых продукций и выбор из него очередной продукции для выполнения.
Например, пусть система продукций представлена четырьмя простейшими продукциями:
(а) А В;
(б) B D A;
(в) A B C;
(г) А D С.
Если выполняется А, то в набор активируемых продукций включает продукции с именами (а) и (в), а если выполняются B и D, то продукции с именами (б) и (в). Для устранения подобной недетерминированности может быть введена некоторая грамматика для имен продукций: (а) (в); (б) (в); (б) (г). Тогда, если в некоторый момент была выполнена продукция с именем (в) или (г), то новые продукции выполняться не будут (т.к. применение новых продукций не приведет к истинности новых фактов). Если же в некоторый момент выполнилась продукция с именем (а), то после следует выполнить продукцию с именем (в) (т.к. применение продукции (б) не приведет к истинности новых фактов, а применение продукции (г) в лучшем случае дублирует результат продукции (в)).
- Универсальный механизм поиска решений
Процедуры поиска решений зависят от особенностей выбранного (используемого) формализма продукционных систем, а также свойств предметной области и требований, которые предъявляют пользователи к этим решениям. Особенности предметной области могут быть описаны следующими параметрами:
1 размер предметной области
2 изменяемость предметной области во времени и пространстве
3 полнота модели представления знаний в предметной области
4 определенность данных о решаемой задаче
Требования пользователя в системе может описываться следующими параметрами:
1 количество требуемых решений (одно применимое, несколько, или все допустимые)
2 ограничение на результат и способ его получения.
Рассмотрим задачу построения универсального механизма решения задач для произвольных моделей представления знаний. Определим такой механизм в форме параметрической операции (процесса) над знаниями, составляющими базу знаний интеллектуальной системы. Будем стремиться к тому, чтобы отличия разных моделей знаний и механизмов решения задач на основе знаний в таких моделях проявлялись как можно позже. При этом глобальное управление процессом работы механизма вывода должно быть максимально единым для разных моделей. Для этого необходимо определение системы универсальных понятий, унифицированных с существующими моделями знаний, в терминах которых могут быть определены основные процессы и операции над знаниями.
К ним относятся классы продукций. Для модели атомарных продукций это одноэлементные множества, в модели классной доски это классы продукций, применяемых на различных этапах процессов решения разных задач.
Будем группировать посылки в классы. Тогда при выводе необходимо будет пользоваться двумя циклами. Первый обходит классы с наружи в порядке, предписанном структурой системы классов, а второй внутри. Основными формами обхода структуры классов являются условные обходы структуры в глубину и ширину, которые по существу являются взаимозаменяемыми.
Поиск в глубину. При поиске решения в качестве очередной подцели выбирается та, которая соответствует следующему, более детальному уровню описания задачи. Например, диагностирующая система, сделав на основе известных симптомов предположение о наличии определенного заболевания, будет продолжать запрашивать уточняющие признаки и симптомы этой болезни до тех пор, пока полностью докажет или опровергнет выдвинутую гипотезу.
Поиск в ширину. При поиске в ширину, напротив, система вначале анализирует условия (классификационные признаки) одного уровня детализации, а затем переходит к следующему (более детальному) уровню. Например, диагностирующая система вначале проанализирует все симптомы, находящиеся на одном уровне детализации, даже если они относятся к разным заболеваниям, и лишь затем перейдет к симптомам следующего
уровня.
Рисунок 2.- Механизм вывода
Условие это система посылок, общих для класса. Если они имеют место, то класс может быть активирован для обработки. Новый класс может быть выбран произвольно из множество классов, которые не были просмотрены. (если между классами не существует иерархии). Если же существует сценарий выполнения классов, то переходим к следующему классу. Так же может существовать зависимость классов, представленная в виде дерева. Тогда мы выбираем следующий класс в зависимости от того получили ли мы положительный результат после окончания просматриваемого класса или отрицательный. Если просматриваемый класс дал нам положительный результат, спускаемся на уровень ниже и рассматриваем потомков просмотренного класса. Если же класс дал отрицательный результат, то просмотреть все классы данного уровня и найти тот который даст положительный результат. Если класс с положительным результатом не найден, то подняться на уровень выше и перезапустить обход в просмотренных классах.
Основные инварианты механизма вывода
- Класс - представление совокупности продукций, применяемых совместно после выбора класса механизмом вывода для обработки.
- Структура класса - внутренняя структурная организация класса, определяющая формат обработки класса механизмом вывода.
- Последовательность обработки системы классов и продукций внутри классов и отбора применяемых продукций.
- Результаты - следует ли запоминать результат до получения окончательного результата, разрешено ли использовать результаты одних этапов при прохождении других этапов.
- Активация класса условие активации класса продукций.
- Завершение обработки - условие окончания просмотра элементов класса
- Результат не найден - дальнейшее действие при окончании алгоритма просмотра и отсутствия результата
- Маркирование маркирование вершин: вершины верхнего уровня, вершины нижнего уровня, вершины среднего уровня, окрестные вершины по отношению к задаваемой.
- Блокировки элементов - возможность блокировки элементов для механизма просмотра вершин.
- Просмотр элементов - просмотр элементов определяет, какие элементы должны быть просмотренные в зависимости от маркирования.
Рассмотрим, как проявляются перечисленные выше инварианты в разных моделях продукционных баз знаний.
4.1.Атомарная продукционная модель
Класс |
Множество |
Структура класса |
1 элементный |
Обработка |
Независимая обработка элементов |
Результаты |
Без выделения памяти под результаты от обработки каждого элемента. |
Завершение обработки |
Когда будут просмотрены все элементы класса |
Результат не найден |
Перезапускаем |
При обработки атомного представления выбирается любой элемент из множество и обрабатывается независим друг от друга. При окончании просмотра элемента ему присваивается номер, каким по счету он был просмотрен и флаг, указывающий, что данный элемент был обработан. Окончанием просмотра класса является просмотр всех элементов. Если просмотрены все элементы, а результат не найден, перезапускаем просмотр элементов до тех пор, пока не будет найден результат или когда все возможные варианты просмотра элементов будут выполнены. При окончании просмотра всех элементов класса и получении результата от обработки всего класса передается в память называемую внешней или общей. Для доступа к полученным результатам из любого класса.
4.2.Продукционная модель, основанная на принципе «стопка книг»
Класс |
Иерархия элементов |
Структура класса |
Одноэлементный |
Обработка |
По приоритету частоты использования (определяется иерархией) |
Результаты |
Сохраняются в общей памяти |
Конец обработки |
Когда все элементы класса просмотрены и найден результат |
Результат не найден |
Перезапускаем. |
При обработки представления «стопки книг» выбирается элемент, чей показатель частоты использования самый максимальный и обрабатывается. Следующим выбирается элемент со значение частоты использования вторым по значению и так далее, при обработке элемента к его значению часто ты использования увеличивается. Если все элементы класса просмотрены и найден результат, то переходим к следующему классу, если же результат не найден, то коэффициент частоты уменьшается у всех элементов на значение прибавленное ранее.
4.3.Продукционная модель с исключениями
Класс |
Множество классов |
Структура класса |
«Гнездо» -Дерево |
Обработка |
Прямым обходом или обратным |
Результаты |
Две области хранения памяти |
Конец обработки |
Найдено решение или все элементы гнезда просмотрены |
Результат не найден |
Перезапуск обхода дерева |
Блокировки |
Не выполняются элементов класса, исключаемы просмотренными ранее элементами. |
При просмотре модели с исключениями обход элементов можно совершать двумя способами: прямой обход или обратный. В зависимости от используемого метода выбирается первый элемент. Если прямой обход, то выбираем корень дерева и спускаемся от предка к потомку. Если предок дал отрицательный результат, то его потомки заблокированы, и движение на уровень ниже не происходит. Если же предок дал положительный результат, то спускаемся на уровень ниже и просматриваем его потомков, если же все потомки пройдены и заблокированы, то подымаемся на уровень выше и ищем не просмотренный узел результат выполнения, которого будет положительным.
Обратный обход - просматривать начинаем с листа дерева, двигаясь от потомка к предку. Блокируя те узлы, результат выполнения, которых отрицательный.
При данной обработке существует две области памяти внутренняя и внешняя. Во внутренней храним результаты, полученные при обходе вершин и они доступны только элементам данного класса, а во внешнем результат обхода всего класса, данный результат доступен из любого класса.
4.4.Продукционная модель, основанная на принципе приоритетного выбора
Класс |
Иерархия элементов |
Структура класса |
одноэлементный |
Обработка |
По сценарию класса |
Результаты |
Две области хранения памяти |
Конец обработки |
По получению результата |
Результат не найден |
Повторная обработка или остановка |
При обработки принципа приоритетов на первом запуске просмотров классов у каждого элемента существует, только одно значение статический приоритет получено от эксперта в момент создания.
При запуске вторичном и более существует значение динамического приоритета. Динамический приоритет это такой приоритет, который увеличивается при каждой обработки элемента, при которой получен положительный результат. Первым обрабатывается элемент сумма приоритетов, которого наибольшая, следующим тот, чья сумма вторая по значению приоритета и т.д. Если результат не получен, обрабатываем элементы класса повторно, до тех пор, пока обработка не принесет результатов или пока не будет выполнено максимальное количество раз повторов указанное экспертом. При данной обработке существует две области памяти внутренняя и внешняя. Во внутренней области сохраняются результаты полученные при обходе вершин, и они доступны только элементам данного класса, а во внешнем результат обхода всего класса, данный результат доступен из любого класса.
4.5.Продукционная модель, основанная на принципе управление по именам.
Класс |
Иерархия по именам |
Структура класса |
Дерево |
Обработка |
По именам |
Результаты |
Две области хранения памяти |
Конец обработки |
По получению результата |
Результат не найден |
Повторная обработка или остановка |
При обработке принципа управления по именам выбирается первый элемент из класса следующим образом, выбирается элемент из иерархии элементов чья цепочка связи составленная по именам самая длиная. Следующий элемент обработки определяется выстроенной связью имен. Конец обработки происходит как только найдено решение. Если решение не найдено, то механизм перезапускается или останавивается по решению пользователя.
5.Структурная модель универсальной системы
База знаний продукционной системы состоит из информационных областей:
Блок пользователей - в данном блоке реализовано управление задачами, а так же получение новых знаний с разбиением на права пользователь (эксперт, пользователь)
Блок систем продукций в данном блоке реализовано разбиение продукций на посылки и заключения и разбиение посылок заключений на атрибуты. Данный блок связан с блоком задач.
Блок задач в данном блоке представлена структура задачи, поставленная одним из типов пользователь, а так же организовано хранение полученного результата и начальных данных, разбиение на подзадачи и сценарии, и реализовано отношение между задачами. Данный блок связан с блоком пользователей.
Блок потоков задач в данный блок поступают все заявки пользователей, и фиксируется время поступление заявки.
6.Информационная модель
6.1 Блок пользователей.
Каждый пользователь имеет уникальный идентификатор записи в строковом формате, а так же каждый пользователь получает имя. Пользователь может иметь тип, который определяет, какими правами, обладает пользователь - это могут быть права экспертов или права пользователя. Права пользователя позволяют создавать задачи, формировать поток задач. Права эксперта позволяют не только формировать задачи и создавать потоки задач, но еще редактировать знания находящиеся в системе, а так же добавлять новые. Также каждый пользователь имеет дату регистрации - это дата когда была создана его учетная запись, а так же в таблице имеется дата завершения, позднее этой даты пользователь не сможет зайти в систему. При получении ответа для поставленной задачи она хранится в таблице история задач, куда заносится идентификатор записи пользователя создавшего данную задачу.
6.2 Блок потоков задач
При создании потока задач мы используем полученные начальные данные задач, в данной структуре существует уникальный идентификатор заявки формируемой пользователем, необходимо фиксировать дату и время поступления заявки от пользователя, а так же хранить уникальный идентификатор записи пользователя, по которому мы можем понять, кем была создана задача.
6.3 Блок задач
При создании задачи пользователем в таблицу задачи заносятся информация ее идентификатор, номер задачи, номер атрибутов, тип данных - входные и выходные. Размер и количество атрибутов для отслеживание всех атрибутов задачи. Номер пользователя, который создал данную задачу.
Каждая задача в дальнейшем разбивается на подзадачи, которые выполняются по определенному сценарию, прописанному в таблице сценариев. Самым главным компонентом таблицы сценариев является условие перехода от задачи к задачи. Если задачи не собираются в сценарии, то возможно формирование продукций в классы. Формируются классы по типу отношений, прописанному в таблице отношений.
Так же в блоке ведется история получения результатов решенных задач. В данной таблице фиксируется пользователь, создавший данную задачу и полученный результат, а так же дата получения результата.
6.4 Блок продукций
Каждая продукция имеет уникальный идентификатор записи, а так же количество посылок данное поле помогает контролировать обработку всех посылок из таблицы посылок.
Таблица посылок состоит из номера продукции, позволяющих однозначно определить к какой продукции относится данная посылка, а так же дата последнего изменения посылки, тип посылки берется из таблицы с идентичным названием, а так же идентификатор атрибута посылки, однозначно определяющий атрибуты данной посылки.
7. Описание программного продукта
В настоящий момент разработана и реализована база знаний для хранения компонентов универсальной продукционной системы.
Описание базы данных:
Блок пользователей.
Блок продукций
Блок потоков задач
Блок задач
Описание программы построения универсальной модели
При входе в программу у пользователя запращивается имя и пароль, по имени пользователя определяется его возможности в программе
Рисунок 3. Вход в программу
При входе эксперта выдается окно, сообщающее, что вошел эксперт и какими правами он обладает:
Рисунок 4. Вход в программу эксперта
При входе пользователя выдается следующее окно:
Рисунок 5. Вход пользователя
При просмотре, полученных ранее решений открывается окно содержащее таблицу, в которой указаны все задачи данного пользователя или эксперта, которые были решены ранее.
Рисунок 6. Просмотр истории задач
При создании новой задачи:
Рисунок 7. Добавление новой задачи
При добавлении задачи пользователь выбирает структуру обработки данной задачи
Рисунок 8. Параметры задачи
Рисунок 9. Параметры задачи
Рисунок 10. Параметры задачи
Рисунок 11. Параметры задачи
Далее происходит просчет данной задачи и полученное решение заносится в историю задач. Если пользователь попытается зарегистрировать задачу которая уже существует и была решена с такими же параметрами, то решение не будет просчитываться, а обратится уже к найденному ранее.
Заключение
Результатом работы является система инвариантов процессов построения и обработки продукционных баз знаний, позволяющих конструировать произвольные модели знаний в формализме правил и параметрические механизмы решения задач на основе продукций. Это позволяет приступить к решению задачи универсальной унифицированной формализации для продукционных интеллектуальных систем. Реализованная программная система является прототипом универсального инструментария продукционных систем.
Литература
1.Ф.А.Новиков.Системы представления знаний//Санкт-Петербург.2010
2. Лавров С.С. Представление и использование знаний в
автоматизированных системах // Москва. 1986.
3. Завриев Н.К., Поспелова Л.Я., Поспелов И.Г. : Мат. моделирование.// 2003. Т. 15. № 8. С. 54.
4. Поспелова Л.Я., Поспелов И.Г., Пронина И.Г. Системы и средства информатики. // Ежегодник РАН. 1993. Вып. 5. С. 5.
5. Т.А. Гаврилова, В.Ф. Хорошевский: Базы знаний интеллектуальных систем// ПИТЕР, Санкт-Петербург, 2000
6. F. Hayes-Roth, N. Jacobstein.: The State of Enowledge-Based Systems. //Communications of the АСМ, March, 1994.
7.Р. Богатырев : Этот странный придуманный мир.// Компьютерра. 1996 год
8. Виноград Т. Программа, понимающая естественный язык. //Мир. 1976.
9. . Махортов С. Д. Логические отношения на решетках. //Вестник ВГУ. 2003
10. Махортов С.Д. Логические уравнения на решетках. //Вестник ВГУ. 2004
11. Махортов С. Д. LP-структуры на полных решетках и возможности их применения в системах продукционного типа.//Вестник. 2008
12. Мендельсон Э. Введение в математическую логику. // Наука. 1976.
13.Продукционные модели представления знаний (ВикиПедия)http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%86%D0%
14.Продукционные системы. Логический подход: http://www.mari-el.ru/mmlab/home/AI/5/index.html
15.Новые технологии на очень старой основе: http://www.mari-el.ru/mmlab/home/AI/5/index.html
16.Продукционная модель данных: http://www.aiportal.ru/articles/knowledge-models/production-model.html
17.Логический подход к построению систем ии: http://www.codenet.ru/progr/alg/ai/htm/gl4_1.php
18.Вывод в продукционных моделях: http://www.aiportal.ru/articles/knowledge-models/mlv-recursion.html
19.Продукционные системы и их структура: http://metodpro.ru/index.php?type_page&katalog&id=1164&met10
PAGE \* MERGEFORMAT 1
УНИФИЦИРОВАННОЕ УНИВЕРСАЛЬНОЕ МОДЕЛИРОВАНИЕ ФОРМАЛИЗМОВ ПРОДУКЦИОННЫХ ЗНАНИЙ