Экспертная система это компьютерная программа

Экспертная система — компьютерная программа, которая, как и любая другая программа, получает какие-то данные на вход и формирует другие данные на выходе. Особенность в том, что целью работы экспертной системы является замена эксперта (человека) в некоторой предметной области. Естественно, работают такие программы без магии, а по вполне определенному алгоритму. От некоторых других видов интеллектуальных систем они отличаются большим объемом знаний эксперта, необходимым для принятия решения. Например, система, которая контролирует температуру в мангале при жарке шашлыка не может называться экспертной системой.

Экспертные системы создаются для самых различных предметных областей, например:

  • созданы системы медицинской диагностики, которые по набору симптомов назначают анализы, по результатам которых ставится диагноз и определяется курс лечения [1, 2];
  • экспертные системы могут следить за соблюдением правил дорожного движения [3] и даже оценивать военную безопасность государства [4].

Так или иначе, в процессе использования в систему попадают факты пользователя, чаще всего это происходит в форме диалога, при этом система формирует вопросы исходя их данных в базе и данных ранее ответов. Например, система Akinator [5], угыдывающая задуманного пользователем персонажа мультфильма, может спросить «является ли ваш персонаж человеком?».

Экспертные системы: основы, понятия, подходы к реализации

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

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

Важно понимать, что база данных содержит факты, а база знаний — правила вывода решений на основе фактов и введенных пользователем данных. Правила представляют собой, по сути, исходный код программы, — именно поэтому для разработки экспертных систем удобно использовать языки типа SWI Prolog, ведь они позволяют добавлять новые правила в программу прямо во время ее исполнения. Чтобы понять как разработанная система работает и как запустить приведенный код стоит пройти по ссылкам [6, 7].

Ниже приведен пример разработки сильно упрощенной экспертной системы, помогающей студенту выбрать тему дипломной работы.

1 Обзор предметной области

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

Как устроена общая архитектура экспертных систем? Душкин объяснит

  • желания работать с преподавателем, выдающим тему.
  • своих интересов;
  • сложности темы (по экспертной оценке руководителя темы);
  • своих знаний по теме работы;
  • владению необходимыми технологиями если они указаны руководителем как обязательные.

Например, если студент при обучении у преподавателя Пупкина с трудом получил тройку — маловероятно он пойдет к нему на дипломирование. Если студент ничего не знает в области блокчейна, но ему хотелось бы развиваться в этой сфере — возможно он выберет соответствующую тему. Тема работы «Разработка клиент-серверного приложения для игры в покер» может быть интересна студенту, но он не возьмет ее если руководитель требует писать сервер на Erlang, а студент не любит функциональное программирование.

Таким образом, предметная область задачи состоит из сущностей:

  • руководитель ВКР;
  • область интересов;
  • тема ВКР;
  • технология выполнения;
  • студент.

Модель предметной области с использованием нотации диаграммы классов UML [8] приведена на рисунке:

2 Наполнение базы данных

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

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

В результате создана такая база данных:

theme(‘Повышение эффективности операций в цепях поставок’, ‘Бажина Д.Б.’, complex(70), knowledge_areas([‘экономика’, ‘управление’, ‘экономика’, ‘оптимизация’]), skills([‘1C’]) ). theme(‘Повышение эффективности управления цепями поставок скоропортящихся товаров’, ‘Бажина Д.Б.’, complex(75), knowledge_areas([‘экономика’, ‘управление’, ‘законы’, ‘экономика’, ‘оптимизация’]), skills([]) ). theme(‘Разработка мероприятий по повышению лояльности потребителей транспортных услуг’, ‘Бородулина С.А.’, complex(85), knowledge_areas([‘транспорт’, ‘психология’]), skills([]) ). theme(‘Повышение эффективности управления материальными ресурсами транспортной компании’, ‘Бородулина С.А.’, complex(60), knowledge_areas([‘транспорт’, ‘управление’, ‘экономика’, ‘оптимизация’]), skills([‘1C’]) ). theme(‘Разработка рекомендаций по применению геоинформационных технологий для повышения качества работы транспортной системы мегаполиса’, ‘Бочкарев А.А.’, complex(60), knowledge_areas([‘ГИС’, ‘транспорт’, ‘оптимизация’]), skills([‘1C’]) ). theme(‘Применение аппарата теории массового обслуживания для повышения эффективности синтеза обслуживающих систем’, ‘Булатов М.А.’, complex(95), knowledge_areas([‘математика’, ‘оптимизация’]), skills([‘теория массового обслуживания’]) ).

На этом этапе можно лишь перебрать все записи базы и вывести их запросом:
?- theme(Theme, Name, Complex, knowledge_areas(Areas), skills(Skills)).

3 Алгоритмы работы экспертной системы (формирование базы знаний)

3.1 Выбор руководителей

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

Собрать всех преподавателей можно так:

findall(Name, theme(_Theme, Name, _Complex, _Areas, _Skills), Names), list_to_set(Names, Set).

Встроенный предикат findall находит все решения предиката, переданного вторым аргументом и формирует из решений список. Однако, имена в таком списке могут повторяться — если у одного преподавателя было несколько тем то интерпретатор найдет его имя несколько раз. Поэтому следом вызывается предикат list_to_set , который убирает из списка повторы.

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

Читайте также:
Как установить программу арткам на компьютер

print_enumeration_list([], _Number):-!. print_enumeration_list([Head|Tail], Number):- write(‘t’), write(Number), write(‘ — ‘), write(Head), nl, Next is Number+1, print_enumeration_list(Tail, Next). get_names(Names):- findall(Name, theme(_Theme, Name, _Complex, _Areas, _Skills), Names), list_to_set(Names, Set).

Результат выполнения запроса:

Теперь можно запросить у пользователя список имен и выбрать соответствующих номерам преподавателей:

nths_1(All, Indexes, Selected):- Indexes = [], !, Selected = []; Indexes = [HeadIndex|TailIndexes], nth1(HeadIndex, All, HeadSelected), nths_1(All, TailIndexes, TailSelected), Selected = [HeadSelected|TailSelected]. select_names(SelectedNames):- get_names(Names), print_enumeration_list(Names, 1), write(‘Введи подходящих преподавателей [номера через запятую]: ‘), read(Numbers), nths_1(Names, Numbers, SelectedNames), !; % введены неверные данные: write(‘Неправильный ввод, повторим. ‘), nl, select_names(SelectedNames).

Тут предикат select_names после вывода списка преподавателей запрашивает список номеров и передает их в предикат nths_1 , который выбирает элементы списка соответствующие списку номеров (нумерация начинается с единицы). если введены неверные данные — то выведется сообщение об ошибке и процесс повторится (рекурсивно):

3.2 Выбор области знаний

Теперь, когда выбраны предполагаемые — можно собрать список областей знаний в которых у них есть темы и выдать их в виде такого же списка.
Сначала можно получить список всех областей в которых есть темы у выбранных руководителей:

area_of_masters(Names, Area):- member(Name, Names), theme(_Theme, Name, _Complex, knowledge_areas(Areas), _Skills), member(Area, Areas).

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

Теперь можно собрать все эти области в список и убрать из него повторы:

collect_areas(Names, Areas):- findall(Area, area_of_masters(Names, Area), AreasList ), list_to_set(AreasList, Areas).

Билет № 14

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

Рис.1. Базовая структура экспертной системы

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

В БЗ те же элементы уже связаны как между собой, так и с понятиями внешнего мира. Информация в БЗ — это все необходимое для понимания, формирования и решения проблемы. Она содержит два основных элемента: факты (данные) из предметной области и специальные эвристики или правила, которые управляют использованием фактов при решении проблемы.

Знания могут быть представлены несколькими способами: логической моделью, продукциями, фреймами и семантическими сетями. Машина логического вывода (МЛВ). Главным в ЭС является машина логического вывода, осуществляющая поиск в базе знаний для получения решения.

Она манипулирует информацией из БЗ, определяя в каком порядке следует выявлять взаимосвязи и делать выводы. МЛВ используются для моделирования рассуждений, обработки вопросов и подготовки ответов. Интерфейс пользователя. ЭС содержат языковой процессор для общения между пользователем и компьютером.

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

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

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

Базовые функции экспертных систем 1. Приобретение знаний «Приобретение знаний — это передача потенциального опыта решения проблемы от некоторого источника знаний и преобразование его в вид, который позволяет использовать эти знания в программе». 2. Представление знаний Представление знаний — еще одна функция экспертной системы.

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

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

Знание о том, какие знания нужны в той или иной конкретной ситуации, и умение ими распорядиться — важная часть процесса функционирования экспертной системы. Такие знания получили наименование метазнаний — т.е. знаний о знаниях.

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

Отличительные особенности ЭС 1. Экспертиза может проводиться только в одной конкретной области. 2. Создание новой БЗ для ЭС должно обеспечивать выполнение требований машины логического вывода. 3. ЭС объясняет ход решения задачи (цепочку рассуждений) понятным пользователю способом (можно спросить как и почему получилось такое решение и получить понятный ответ).

4. Выходные результаты являются качественными (например, совет), а не количественными (цифровыми). 5. Системы строятся по модульному принципу, что позволяет наращивать их базы знаний. 6. Наиболее подходящая область применения — решение задач дедуктивным методом (лат. deductio — выведение), позволяющим по определенным правилам логики делать выводы из некоторых утверждений и комбинаций.

Читайте также:
Программа для создания своей точки доступа Wi-Fi

Классификация экспертных систем Для классификации ЭС можно использовать различные критерии. 1. По назначению ЭС можно условно разделить на консультационные (информационные), исследовательские и управляющие.

Консультационные ЭС предназначены для получения квалифицированных ответов; исследовательские — для помощи пользователю квалифицированно решать научные задачи; управляющие — для автоматизации управления процессами в реальном масштабе времени. 2. По сложности и объему базы знаний — неглубокие и глубокие. Неглубокие (простые) ЭС имеют относительно малые БЗ.

Доказательства их заключений обычно коротки, большинство выводов являются прямыми следствиями информации, хранимой в базе знаний. Такие ЭС в основном предназначены для решения относительно простых задач типа ответов на запросы по требуемой информации. Глубокие ЭС делают свои выводы обязательно из моделей происходящих процессов, хранящихся в базах знаний.

Сама модель процесса представляет собой набор правил, предназначенных для объяснения большого количества эмпирических данных. В глубоких ЭС доказательства выводов значительно длиннее, основываются на знаниях, выведенных из моделей. 3. По области применения ЭС делятся следующие классы. 1) Диагностика.

Например, медицинская диагностика, когда системы используются для установления заболеваний; техническая диагностика, когда определяют неисправности в механических и электрических устройствах. 2) Прогнозирование. Прогнозирующие системы предсказывают возможные результаты или события на основе данных о текущем состоянии объекта (погода, урожайность, поток пассажиров).

3) Планирование и проектирование. Такие системы предназначены для достижения конкретных целей при решении задач с большим числом переменных (консультации по приобретению товаров, проектирование космических станций, и так далее). 4) Интерпретация.

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

6) Обучение. Экспертно-обучающие системы реализуют следующие педагогические функции: учение, обучение, контроль и диагностику знаний, тренировку. 4. По связям с реальным миром. 1) Статические ЭС разрабатываются в предметных областях, в которых БЗ и интерпретируемые данные не меняются во времени. Они стабильны.

Например, диагностика неисправностей в автомобиле. 2) Квазидинамические ЭС интерпретируют ситуацию, которая меняется с некоторым фиксированным интервалом времени.

Например, микробиологические ЭС, в которых снимаются лабораторные изменения с технологического процесса один раз в 4 -5 часов и анализируется динамика полученных показателей по отношению к предыдущему измерению. 3) Динамические ЭС работают в сопряжении с датчиками объектов в режиме реального времени с непрерывной интерпретацие поступающих в систему данных.

Например, управление гибкими производственными комплексами, мониторинг в реанимационных палатах. Можно выде­лить четыре основных класса ЭС: классифицирующие, доопределяющие, трансформирующие и мультиагентные. 1) Классифицирующие ЭС решают задачи распознавания ситуа­ций. Основным методом формирования решений в таких систе­мах является дедуктивный логический вывод.

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

· генерация и проверка гипотез;

· логика предположений и умолчаний (когда по неполным данным формируются представления об объектах определенного класса, которые впоследствии адаптируются к конкретным усло­виям изменяющихся ситуаций);

· использование метазнаний (более общих закономерностей) для устранения неопределенностей в ситуациях.

4) Мулътиагентные системы — это динамические ЭС, основан­ные на интеграции нескольких разнородных источников знаний. Эти источники обмениваются между собой получаемыми резуль­татами в ходе решения задач. Системы данного класса имеют сле­дующие возможности:

· реализация альтернативных рассуждений на основе исполь­зования различных источников знаний и механизма устранения противоречий;

· распределенное решение проблем, декомпозируемых на па­раллельно решаемые подзадачи с самостоятельными источника­ми знаний;

· применение различных стратегий вывода заключений в за­висимости от типа решаемой проблемы;

· обработка больших массивов информации из баз данных;

· использование математических моделей и внешних процедур для имитации развития ситуаций.

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

Этапы разработки экспертных систем В коллектив разработчиков ЭС входят как минимум четыре человека:

Источник: studfile.net

Представления знаний в интеллектуальных системах, экспертные системы

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

Экскурс в историю экспертных систем

История экспертных систем берет свое начало в 1965 году. Брюс Бучанан и Эдвард Фейгенбаум начали работу над созданием информационной системы для определения структуры химических соединений.

Результатом работы была система под названием Dendral. В основе системы формировалась последовательность правил подобных к «IF – THEN». Информационная система не перестала развиваться и получила множество наследников, таких как ONCOIN – информационная система для диагностики раковых заболеваний, MYCIN – информационная система для диагностики легочных инфекционных заболеваний.

Следующим этапом стали 70-е годы. Период не выделялся особыми разработками. Было создано множество разных прототипов системы Dendral. Примером служит система PROSPECTOR, областью деятельности которой являлась геологические ископаемые и их разведка.
В 80-ых годах появляются профессия – инженер по знаниям. Экспертные системы набирают популярность и выходят на новый этап эволюции интеллектуальных систем. Появились новые медицинские системы INTERNIS, CASNE.

С 90-ых годов развитие интеллектуальных систем приобретает новые и новые методы и особенности. Нововведением становится парадигма проектирования эффективных и перспективных систем. Гибкость, четкость решения поставленных задач дало новое название – мультиагентных систем. Агент – фоновый процесс который действует в целях пользователя.

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

В 21 век, интеллектуальной системой уже не удивишь никого. Множество фирм внедряет экспертные системы в области своей деятельности.

Быстродействующая система OMEGAMON разрабатывается c 2004 года с IBM, цель которой отслеживание состояния корпоративной информационной сети. Служит для моментального принятия решений в критических или неблагоприятных ситуациях.

G2 – экспертная система от фирмы Gensym, направленная на работу с динамическими объектами. Особенность этой системы состоит в том, что в нее внедрили распараллеливание процессов мышления, что делает ее быстрее и эффективней.

Структура экспертной системы

image

1. База знаний
Знания — это правила, законы, закономерности получены в результате профессиональной деятельности в пределах предметной области.
База знаний — база данных содержащая правила вывода и информацию о человеческом опыте и знаниях в некоторой предметной области. Другими словами, это набор таких закономерностей, которые устанавливают связи между вводимой и выводимой информацией.

Читайте также:
Самая простая программа для просмотра изображений на Андроид

2. Данные
Данные — это совокупность фактов и идей представленных в формализованном виде.
Собственно на данных основываются закономерности для предсказания, прогнозирования. Продвинутые интеллектуальные системы способные учиться на основе этих данных, добавляя новые знания в базу знаний.

3. Модель представления данных
Самая интересная часть экспертной системы.
Модель представления знаний (далее по тексту — МПЗ) — это способ задания знаний для хранения, удобного доступа и взаимодействия с ними, который подходит под задачу интеллектуальной системы.

4. Механизм логического вывода данных(Подсистема вывода)
Механизм логического вывода(далее по тексту — МЛВ) данных выполняет анализ и проделывает работу по получению новых знаний исходя из сопоставления исходных данных из базы данных и правил из базы знаний. Механизм логического вывода в структуре интеллектуальной системы занимает наиболее важное место.
Механизм логического вывода данных концептуально можно представить в виде :
А — функция выбора из базы знаний и из базы данных закономерностей и фактов соответственно
B — функция проверки правил, результатом которой определяется множество фактов из базы данных к которым применимы правила
С — функция, которая определяет порядок применения правил, если в результате правила указаны одинаковые факты
D — функция, которая применяет действие.

Какие существуют модели представления знаний?

Распространены четыре основных МПЗ:

  • Продукционная МПЗ
  • Семантическая сеть МПЗ
  • Фреймовая МПЗ
  • Формально логическая МПЗ

Продукционная МПЗ

В основе продукционной модели представления знаний находится конструктивная часть, продукция(правило):
IF , THEN
Продукция состоит из двух частей: условие — антецендент, действие — консеквент. Условия можно сочетать с помощью логических функций AND, OR .
Антецеденты и консеквенты составленных правил формируются из атрибутов и значений. Пример: IF температура реактора подымается THEN добавить стержни в реактор
В базе данных продукционной системы хранятся правила, истинность которых установлена к за ранее при решении определенной задачи. Правило срабатывает, если при сопоставлении фактов, содержащихся в базе данных с антецедентом правила, которое подвергается проверке, имеет место совпадение. Результат работы правила заносится в базу данных.

Пример

Диагноз Температура Давление Кашель
Грипп 39 100-120 Есть
Бронхит 40 110-130 Есть
Аллергия 38 120-130 Нет

Пример продукции:
IF Температура = 39 AND Кашель = Есть AND Давление = 110-130 THEN Бронхит

Продукционная модель представления знаний нашла широкое применение в АСУТП

Среды разработки продукционных систем(CLIPS)

CLIPS (C Language Integrated Production System) — среда разработки продукционной модели разработана NASA в 1984 году. Среда реализована на языке С, именно потому является быстрой и эффективной.
Пример:

(defrule bronchitis // deftule зарезервированное слово, которое вводит новое правило за ним следует название правила (symptoms (temperature 39) (cough true)(pressure «110-130»)) //симптом с температурой 39, наличием кашля, и давлением 110-130 => (printout t «Диагноз — бронхит» crlf)) //это симптомы бронхита

Подобное правило будет активировано только тогда, когда в базе данных появится факт симптома с подобными параметрами.

Семантическая сеть МПЗ

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

  • класс — подкласс
  • свойство — значение
  • пример элемента класса

По количеству типов отношений выделяют однородные и неоднородные семантические сети. Однородные имею один тип отношения между всеми понятиями, следовательно, не однородные имею множество типов отношений.

Все типы отношений:

  • часть — целое
  • класс — подкласс
  • элемент — количество
  • атрибутивный
  • логический
  • лингвистический

Пример

image

Недостатком МПЗ является сложность в извлечении знаний, особенно при большой сети, нужно обходить граф.

Фреймовая МПЗ

Предложил Марвин Мински в 1970 году. В основе фреймовой модели МПЗ лежит фрейм. Фрейм — это образ, рамка, шаблон, которая описывает объект предметной области, с помощью слотов. Слот — это атрибут объекта. Слот имеет имя, значение, тип хранимых данных, демон.

Демон — процедура автоматически выполняющаяся при определенных условиях. Имя фрейма должно быть уникальным в пределах одной фреймовой модели. Имя слота должно быть уникальным в пределах одного фрейма.

Слот может хранить другой фрейм, тогда фреймовая модель вырождается в сеть фреймов.

Пример

image

Пример вырождающейся в сеть фреймов

image

На своей практике, мне доводилось встречать системы на основе фреймовой МПЗ. В университете в Финляндии была установлена система для управления электроэнергией во всем здании.

Языки разработки фреймовых моделей (Frame Representation Language)

FRL (Frame Representation Language) — технология создана для проектирования интеллектуальных систем на основе фреймовой модели представления знаний. В основном применяется для проектирования вырождающихся в сеть фреймовой модели.

Запись фрейма на языке FRL будет иметь вид:

(frame Room // вводим новый фрейм Room (windows (value(4), demon(open))) //Слот windows со значением 4 и демоном open (doors (value(1), demon(open))) //Слот doors со значением 1 и демоном open (conditioners (value(2), demon(turn on))) //Слот conditioners со значением 2 и демоном turn on (sokets (value(10), demon(turn on))) //Слот sokets со значением 10 и демоном turn on )

Существуют и другие среды: KRL (Knowledge Representation Language), фреймовая оболочка Kappa, PILOT/2.

Формально логическая МПЗ

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

Пример

A1 = A2 = A3 = ; IF A1 AND A2 THEN
Банальней примера и не придумаешь.
Важно: Стоит заметить, что формально логическая МПЗ схожа с продукционной. Частично это так, но они имеют огромную разницу. Разница состоит в том, что в продукционной МПЗ не определены никакие связи между хранимыми объектами предметной области.

Важно

Любая экспертная система должна иметь вывод данных и последовательность «мышления» системы. Это нужно для того чтобы увидеть дефекты в проектировании системы. Хорошая интеллектуальная система должна иметь право ввода данных, которое реализуется через интеллектуальный редактор, право редактора на перекрестное «мышление» представлений при проектировании системы и полноту баз знаний(реализуется при проектировки закономерностей предметной области между инженером по знаниям и экспертом).

Заключение

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

Спасибо за внимание!

  • Экспертные системы
  • интеллектуальные системы
  • модель представления знаний
  • ядро экспертной системы

Источник: habr.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru