Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save anonymous/60d50993b7ae07842743bc316fb2ec58 to your computer and use it in GitHub Desktop.
Save anonymous/60d50993b7ae07842743bc316fb2ec58 to your computer and use it in GitHub Desktop.
Структура статических и динамических экспертных систем

Структура статических и динамических экспертных систем



Статические и динамические экспертные системы
Лекция № 13. Экспертные системы и продукционная модель знаний
Структура экспертной системы

Достаточно трудно дать точное определение, что такое интеллект человека, потому что интеллект - это сплав многих навыков в области обработки и представления информации. Интеллект intelligence происходит от латинского intellectus — что означает ум, рассудок, разум; мыслительные способности человека. С большой степенью достоверности интеллектом можно называть способность мозга решать интеллектуальные задачи путем приобретения, запоминания и целенаправленного преобразования знаний в процессе обучения на опыте и адаптации к разнообразным обстоятельствам. Искусственный интеллект ИИ - совокупность научных дисциплин, изучающих методы решения задач интеллектуального творческого характера с использованием ЭВМ. Искусственный интеллект - одно из направлений информатики, целью которого является разработка аппаратно-программных средств, позволяющих пользователю-непрограммисту ставить и решать свои, традиционно считающиеся интеллектуальными задачи, общаясь с ЭВМ на ограниченном подмножестве естественного языка. Системы искусственного интеллекта СИИ — это системы, созданные на базе ЭВМ, которые имитируют решение человеком сложных интеллектуальных задач. Поэтому в контексте ИТ термин знания - это информация, присутствующая при реализации интеллектуальных функций. Обычно это отклонения, тенденции, шаблоны и зависимости, обнаруженные в информации Другими словами, интеллектуальные системы являются в то же время системами обработки знаний. Область ИИ имеет более чем сорокалетнюю историю развития. С самого начала в ней рассматривался ряд весьма сложных задач, которые, наряду с другими, и до сих пор являются предметом исследований:. В середине семидесятых годов в исследованиях по искусственному интеллекту сформировалось самостоятельное направление, получившее название экспертные системы. Цель исследований по экспертным системам состоит в разработке программ устройств , которые при решении задач, трудных для эксперта-человека, получают результаты, не уступающие по качеству и эффективности решениям, получаемым экспертом. В большинстве случаев экспертные системы решают трудно формализуемые задачи или задачи, не имеющие алгоритмического решения. Экспертные системы - это прикладные системы ИИ, в которых база знаний представляет собой формализованные эмпирические знания высококвалифицированных специалистов экспертов в какой либо узкой предметной области. Экспертные системы предназначены для замены при решении задач экспертов в силу их недостаточного количества, недостаточной оперативности в решении задачи или в опасных вредных для них условиях. Обычно экспертные системы рассматриваются с точки зрения их применения в двух аспектах: Эти два аспекта накладывают свой отпечаток на архитектуру разрабатываемой экспертной системы. Можно выделить следующие основные классы задач, решаемых экспертными системами:. Плохо структурированные и трудно формализуемые задачи. Общепринятая классификация экспертных систем отсутствует, однако наиболее часто экспертные системы различают по назначению, предметной области, методам представления знаний, динамичности и сложности:. Традиционные экспертные системы используют, в основном, эмпирические модели представления знаний и исчисление предикатов первого порядка. Гибридные экспертные системы используют все доступные методы, в том числе оптимизационные алгоритмы и концепции баз данных. Условием выводимости решения является безобрывность цепочки правил. Глубинные экспертные системы обладают способностью при обрыве цепочки правил определять на основе метазнаний какие действия следует предпринять для продолжения решения задачи. Предметная область называется статической, если описывающие ее исходные данные не изменяются во времени. Статичность области означает неизменность описывающих ее исходных данных. При этом производные данные выводимые из исходных могут и появляться заново, и изменяться не изменяя, однако, исходных данных. Если исходные данные, описывающие предметную область, изменяются за время решения задачи, то предметную область называют динамической. В архитектуру динамической экспертной системы, по сравнению со статической, вводятся два компонента:. Последняя осуществляет связи с внешним миром через систему датчиков и контроллеров. Кроме того, традиционные компоненты статической экспертной системы база знаний и механизм логического вывода претерпевают существенные изменения, чтобы отразить временную логику происходящих в реальном мире событий. Статическими называются экспертные системы, в которых входные данные не изменяются за время сеанса работы системы. В динамических экспертных системах входные данные, поступающие от внешних источников, изменяются во времени. Интегрированные экспертные системы содержат подсистемы традиционного программирования: СУБД, электронные таблицы, системы моделирования и др. Интерфейс пользователя предназначен для преобразования информации на языке предметной области во внутреннюю информацию системы. Интерфейс пользователя обеспечивает взаимосвязь пользователя с экспортной системы. Редактор базы знаний предназначен для ввода знаний в экспертную систему с участием эксперта предметной области и инженера по знаниям. Базы знаний содержат правила и факты. Решатель Интерпретатор правил предназначен для логического вывода решения путем использования базы знаний и обеспечивает формирование решения. Мало получать решения, нужно представить в том виде, в каком это решение будет понятно пользователю. Или интерпретатор правил предназначен для логического вывода решения путем использования базы знания и обеспечивает формирование решения. Динамическая экспертная система содержит компоненты статической системы и модули связи системы с внешним миром. База знаний - важная компонента экспертной системы, она предназначена для хранения долгосрочных данных, описывающих рассматриваемую предметную область а не текущих данных , и правил, описывающих целесообразные преобразования данных этой области. В качестве предметной области выбирается узкая специальная прикладная область. Далее доя создания ЭС в выбранной области собираются факты и правила, которые помещаются в базу знаний вместе с механизмами вывода и упрощения. В отличие от всех остальных компонент ЭС, база знаний - "переменная " часть системы, которая может пополняться и модифицироваться инженерами знаний и опыта использование ЭС, между консультациями а в некоторых системах и в процессе консультации. Существует несколько способов представления знаний в ЭС, однако общим для всех них является то, что знания представлены в символьной форме элементарными компонентами представления знаний являются тексты, списки и другие символьные структуры. Тем самым, в ЭС реализуется принцип символьной природы рассуждений, который заключается в том, что процесс рассуждения представляется как последовательность символьных преобразований. Существуют динамические и статические базы знаний. Динамическая база знаний изменяется со временем. Ее содержимое зависит и от состояния окружающей. Новые факты, добавляемые в базу знаний, являются результатом вывода, который состоит в применении правил к имеющимся фактам. В системах с монотонным выводом факты, хранимые в базе знаний, статичны, то есть не изменяются в процессе решения задачи. В системах с немонотонным выводом допускается изменение или удаление фактов из базы знаний. В качестве примера системы с немонотонным выводом можно привести ЭС, предназначенную для составления перспективного плана капиталовложения компании. В такой системе по вашему желанию могут быть изменены даже те данные, которые после вывода уже вызвали срабатывание каких-либо правил. Иными словами имеется возможность модифицировать значения атрибутов в составе фактов, находящихся в рабочей памяти. Изменение фактов в свою очередь приводит к необходимости удаления из базы знаний заключений, полученных с помощью упомянутых правил. Тем самым вывод выполняется повторно для того, чтобы пересмотреть те решения, которые были получены на основе подвергшихся изменению фактов. База данных рабочая память предназначена для хранения исходных и промежуточных данных решаемой в текущий момент задачи. Основу ЭС составляет подсистема логического вывода, которая использует информацию из базы знаний БЗ , генерирует рекомендации по решению искомой задачи. Чаще всего для представления знаний в ЭС используются системы продукций и семантические сети. Если ЭС определяет, что посылка верна, то правило признается подходящим для данной консультации и оно запускается в действие. Запуск правила означает принятие заключения данного правила в качестве составной части процесса консультации. Цель ЭС - вывести некоторый заданный факт, который называется целевым утверждением то есть в результате применения правил добиться того, чтобы этот факт был включен в рабочее множество , либо опровергнуть этот факт то есть убедиться, что его вывести невозможно, следовательно, при данном уровне знаний системы он является ложным. Целевое утверждение может быть либо "заложено" заранее в базу знаний системы, либо извлекается системой из диалога с пользователем. Работа системы представляет собой последовательность шагов, на каждом из которых из базы выбирается некоторое правило, которое применяется к текущему содержимому рабочего множества. Цикл заканчивается, когда выведено либо опровергнуто целевое утверждение. Цикл работы экспертной системы иначе называется логическим выводом Логический вывод может происходить многими способами, из которых наиболее распространенные - прямой порядок вывода и обратный порядок вывода. Прямой порядок вывода - от фактов, которые находятся в рабочем множестве, к заключению. Если такое заключение удается найти, то оно заносится в рабочее множество. Прямой вывод часто называют выводом, управляемым данными. Для иллюстрации добавим к нашему примеру базы знаний о погоде еще одно правило:. Предположим также, что факты "Небо покрыто тучами" и "Барометр падает" имеются в рабочем множестве, а целью системы является ответ на вопрос пользователя: Его условие истинно, так как оба элемента конъюнкции имеются в рабочем множестве. Применяем правило 1; добавляем к рабочему множеству факт "Скоро пойдет дождь". Его условие истинно, так как утверждение из условия имеется в рабочем множестве. Примеряем правило 2; добавляем к рабочему множеству факт "Нужно взять с собой зонтик". В системах с обратным выводом вначале выдвигается некоторая гипотеза, а затем механизм вывода в процессе работы, как бы возвращается назад, переходя от нее к фактам, и пытается найти среди них те, которые подтверждают эту гипотезу. Если она оказалась правильной, то выбирается следующая гипотеза, детализирующая первую являющаяся по отношению к ней подцелью. Далее отыскиваются факты, подтверждающие истинность подчиненной гипотезы. Вывод такого типа называется управляемым целями. Обратный поиск применяется в тех случаях, когда цели известны и их сравнительно немного. В рассматриваемом примере вывод целевого утверждения "Нужно взять с собой зонтик" обратной цепочкой рассуждений выполняется следующим образом:. Оно не содержит цели в правой части. Переходим к правилу 2. Оно содержит цель в правой части правила. Переходим к правой части правила и рассматриваем в качестве текущей цели утверждения "Скоро пойдет дождь". Текущей цели нет в рабочем множестве. Рассмотрим правило 1, которое содержит цель в правой части. Обе компоненты его условия имеются в рабочем множестве, так что условие истинно. Применяем привило 1; в результате выводим утверждение "Скоро пойдет дождь"; которое было нашей предыдущей целью. Получаем вывод исходного утверждения. Заметим, что для упрощения ситуации мы предположили, что в обоих случаях факты "Небо покрыто тучами" и "Барометр падает" уже известны системе. На самом деле система выясняет истинность или ложность факта, входящего в условие некоторого правила, спрашивая об этом пользователя в тот момент, когда она пытается применить правило. Приведенный пример сознательно выбран очень простым и не отражающим многих проблем, связанных с организацией вывода в экспертной системе. В частности, из примера может создаться впечатление, что прямая цепочка рассуждений эффективнее, чем обратная, что на самом деле, вообще говоря, не так. Эффективность той или иной стратегии вывода зависит от характера задачи и содержимого базы знаний. В системах диагностики чаще применяется прямой вывод, в то время как в планирующих системах более эффективным оказывается обратный вывод. В некоторых системах вывод основывается на сочетании обратного и ограниченно- прямого. Такой комбинированный метод получил название циклического. Поскольку системы, основанные на знаниях, реализуются на компьютерах, то и входная информация воспринимается или в виде, понятном компьютеру, то есть в битах и байтах. Однако для того чтобы мог взаимодействовать неподготовленный пользователь, в нее требуется включить средства общения на естественном языке. Подавляющее большинство систем, основанных на знаниях, обладают достаточно примитивным интерфейсом на естественном языке - допустимые входные сообщения пользователя ограничены набором понятий, содержащихся в базе знаний. Итак, на примере простой ЭС и базы знаний диалог пользователя с системой можно представить себе следующим образом:. Вы хотите узнать, нужно ли взять с собой зонтик? Верно ли, что небо покрыто тучами? Верно ли, что барометр падает? Как видно из этого примера, в ходе консультации инициатива диалога принадлежит системе, а сама консультация у ЭС выглядит так же, как и консультация у эксперта- человека: Однако в отличие от беседы со специалистом, диалог с ЭС имеет свои психологические особенности: Чтобы удостовериться в "разумности" и "компетентности" ЭС, пользователь может обратиться к ее подсистеме объяснения. Рассмотрим теперь работу подсистемы объяснения. Для получения объяснения в процессе консультации пользователь может "перехватить инициативу" диалога в тот момент, когда система задает очередной вопрос, "переспросив" в ответ систему, почему она его задала. Таким образом, вместо ответа на вопрос системы, пользователь может задать ей встречный вопрос: Система интерпретирует вопрос "Почему? Пользователю выдается информация об этом правиле, о состоянии вычисления его условиям о заключении данного правила текущей цели. Пусть в нашем примере диалога с ЭС пользователь вместо ответа на вопрос системы: ЭС обращается к подсистеме объяснения, которая выдает пользователю следующее сообщение:. Ранее было установлено, что: Двойные номера в квадратных скобках имеют следующий смысл. Для облегчения работы пользователя подсистема объяснения нумерует свои ответы номер ответа, в данном случае- 1. Пользователь может использовать двойные номера для ссылок на утверждения, не выписывая их явно. Допустим, что пользователь хочет еще дальше проследить логику рассуждений системы и узнать, почему ей необходимо установить, скоро ли пойдет дождь. Для этого он может повторно задать ей вопрос:. Второй ответ системы аналогичен первому; в нем указывается, что это необходимо для применения правила 2 с целью установить, что нужно взять с собой зонтик: Таким образом, теперь ход рассуждений системы пользователю полностью понятен. Однако для более детального осмысления процесса вывода удобно было бы иметь возможность изучать его и в противоположном порядке- от заключений к посылкам. Для этого служит другой вопрос, который также "понимает" подсистема объяснений:. Например, в ответ на вопрос:. Чтобы получить более подробную информацию о том, как было использовано правило 2, следует повторно задать вопрос "КАК? Следовательно, нужно взять с собой зонтик. Выясним теперь, как получено утверждение 4. Наконец, выясним, как использовано правило Следовательно, скоро пойдет дождь. Как были получены утверждения 6. Если все же он задаст системе вопрос КАК 6. Описанная модель объяснения используется в системе MYCIN. Достоинством ее является возможность получения объяснения любого шага работы системы, недостатком - жесткая привязка к дереву вывода. Для пользователя- непрограммиста такой способ объяснения может показаться излишне детализованным и слишком формальным, а нужно было бы объяснение на "более высоком уровне"- с точки зрения здравого смысла и без углубления в детали. Подобные модели объяснения только начинают появляться в ЭС и требуют более сложной организации знаний. Инструментальные средства этой категории избавляют разработчика от необходимости углубляться в детали реализации системы — способы эффективного распределения памяти, низкоуровневые процедуры доступа и манипулирования данными. Одним из наиболее известных представителей таких языков является OPS5. Этот язык прост в изучении и предоставляет программисту гораздо более широкие возможности, чем типичные специализированные оболочки. Следует отметить, что большинство подобных языков так и не было доведено до уровня коммерческого продукта и представляет собой скорее инструмент для исследователей. Начало истории языка относится к м годам XX века. Будучи декларативным языком программирования, Пролог воспринимает в качестве программы некоторое описание задачи, и сам производит поиск решения, пользуясь механизмом бэктрекинга и унификацией. Встроенный в PROLOG режим управления использует стратегию обратного логического вывода, которая используется в системах, подобных MYCIN. Таблицы знаний и другие данные можно представить с помощью утверждений. Такие структуры данных, как графы и деревья , можно организовать с помощью фраз языка PROLOG, которые содержат комплексные термы. Языковые средства PROLOG позволят программисту разработать собственный механизм обработки неопределенности, причем не исключается и использование коэффициентов уверенности. С практической точки зрения, пользуясь языком PROLOG, программист в качестве "бесплатного приложения" получает в свое распоряжение следующие возможности:. Действительно, дедуктивную порождающую систему довольно ПРОСТО эмулировать на языке PROLOG. Модификация рабочей памяти выполняется операторами assert и retract, которые добавляют или удаляют формулы из базы данных. Вы уже знаете как можно организовать локальное управление ходом процесса в системе, основанной на фреймах, как организовать обработку значений по умолчанию и исключений, хотя эти методы и не вписываются в стандартную логику. Успешный опыт применения идей логического программирования, в частности создание программы МЕСНО, продемонстрировал ряд явных отклонений от синтаксиса исчисления предикатов первого порядка и его процедурной интерпретации в стандартной версии PROLOG. Некоторые семантические и синтаксические ограничения в программах МЕСНО и PLANNER до сих пор не преодолены в системах, базирующихся на языках логического программирования. Так, программа EMYCIN позволяет использовать архитектуру системы MYCIN в приложении к другим областям медицины напомним, что программа MYCIN была ориентирована только на заболевания крови. На базе EMYCIN были разработаны экспертные системы как для медицины например, система PUFF для диагностики легочных заболеваний , так и для других областей знаний, например программа структурного анализа SACON. Совершенно очевидно, что оболочки экспертных систем являются программами, ориентированными на достаточно узкий класс задач, хотя и более широкий, чем та программа, на основе которой была создана та или иная оболочка. Автор системы EMYCIN Ван Мелле одним из первых подчеркнул, что оболочки экспертных систем отнюдь не являются универсальной архитектурой для решения проблем. Разработанная им система EMYCIN ориентирована на те проблемы диагностирования с большими объемами данных, которые поддаются решению с помощью дедуктивного подхода в предположении, что пространство диагностических категорий стационарно. К сожалению, нельзя слишком доверять рекомендациям о возможности использования оболочки экспертной системы для решения конкретных проблем. Дело в том, что мы еще не имеем настолько четкого представления о классификации задач, решаемых экспертными системами, чтобы можно было точно представить, к какому именно классу следует отнести конкретную систему. Большинство коммерческих продуктов типа оболочек экспертных систем подходит только для тех проблем, в которых пространство поиска невелико. Как правило, в них применяется метод исчерпывающего поиска с построением обратной цепочки вывода и ограниченными возможностями управления процессом. Но некоторые современные оболочки, как утверждают их создатели, могут применяться для решения широкого круга задач, поскольку они поддерживают множество функций представления знаний и управления, включая и моделирование прямой цепочки логического вывода, процедуры, передачу сообщений и т. На это обратила внимание Эйкинс в критическом замечании по поводу реализации экспертной системы PUFF на базе оболочки EMYCIN:. Использованный в EMYCIN формализм порождающих правил затрудняет разделение разных видов знаний — эвристических, управляющих, знаний об ожидаемых значениях параметров. Недостаточная структурированность набора порождающих правил в EMYCIN также затрудняет и восприятие новых знаний, поскольку добавление в базу знаний нового правила требует внесения изменений в различные компоненты системы. Например, нужно вносить изменения в таблицы знаний, содержащие информацию о медицинских параметрах. Это одна из проблем, решением которой гордятся создатели системы TEIRESIAS. Другое критическое замечание Эйкинс касается не столько конкретной системы PUFF или EMYCIN, сколько функциональных возможностей систем, базирующихся на правилах, в общем, а, следовательно, и всех оболочек экспертных систем, в которых порождающие правила используются в качестве основного языка представления знаний. Значительная часть экспертности — это знания о типовых случаях, то есть довольно часто встречающихся в предметной области. Эксперты легко распознают известные типовые случаи и способны без особого труда классифицировать их в терминах идеальных прототипов даже при наличии определенных помех или неполных данных. Они интуитивно различают подходящие случаю или необычные значения исходных данных и принимают адекватное решение о том, как поступить в дальнейшем при решении проблемы. Для этого потребуется значительно более сложный формализм, который сведет на нет одно из главных достоинств использования порождающих правил в качестве основного средства принятия решений. В оболочках экспертных систем существует также проблема с реализацией механизма обработки неопределенности. Некоторые оболочки уже включают в себя определенный формальный механизм работы с неопределенностью, например основанный на использовании коэффициентов уверенности. Однако большинство, если не все использованные в оболочках экспертных систем механизмы такого рода, не согласуются с выводами теории вероятностей и обладают свойствами, которые с трудом поддаются анализу. Конечно, конкретному методу обработки неопределенности при решении конкретной задачи в данной предметной области можно дать прагматическое обоснование, как поступил, например, Шортлифф по отношению к схеме обработки коэффициентов уверенности в системе MYCIN. Но вряд ли оправданно распространять этот аппарат на другие области применения, встроив его в оболочку. По сравнению с первыми разработками современные оболочки экспертных систем более гибкие, по крайней мере, в том, что без особого труда могут быть интегрированы в большинство операционных сред, доступных на рынке программного обеспечения, и оснащены достаточно развитыми средствами пользовательского интерфейса. Продукционная модель, или модель, основанная на правилах, позволяет представить знания в виде предложений типа: Если условие , то действие. Под условием понимается некоторое предложение-образец, по которому осуществляется поиск в базе знаний, а под действием — действия, выполняемые при успешном исходе поиска они могут быть промежуточными, выступающими далее как условия, и терминальными или целевыми, завершающими работу системы. При использовании продукционной модели база знаний состоит из набора правил. Программа, управляющая перебором правил, называется машиной вывода. Чаще всего вывод бывает прямой от данных к поиску цели или обратный от цели для ее подтверждения — к данным. Данные — это исходные факты, на основании которых запускается машина вывода — программа, перебирающая правила из базы. Цель — "ехать в горы": Цель "отдых — летом": Продукционная модель чаще всего применяется в промышленных экспертных системах. Она привлекает разработчиков своей наглядностью, высокой модульностью, легкостью внесения дополнений и изменений и простотой механизма логического вывода. Имеется большое число программных средств, реализующих продукционный подход язык OPS 5 [8]; "оболочки" или "пустые" ЭС — EXSYS [10], ЭКСПЕРТ [2]; инструментальные системы ПИЭС [11] и СПЭИС [3] и др. Термин семантическая означает смысловая, а сама семантика — это наука, устанавливающая отношения между символами и объектами, которые они обозначают, то есть наука, определяющая смысл знаков. Семантическая сеть — это ориентированный граф, вершины которого — понятия, а дуги — отношения между ними. Понятиями обычно выступают абстрактные или конкретные объекты, а отношения — это связи типа: Характерной особенностью семантических сетей является обязательное наличие трех типов отношений:. Можно ввести несколько классификаций семантических сетей. Например, по количеству типов отношений:. Наиболее часто в семантических сетях используются следующие отношения:. Проблема поиска решения в базе знаний типа семантической сети сводится к задаче поиска фрагмента сети, соответствующего некоторой подсети, соответствующей поставленному вопросу. В качестве вершин — понятия: Человек, Иванов, Волга, Автомобиль, Вид транспорта. Основное преимущество этой модели — в соответствии современным представлениям об организации долговременной памяти человека. Недостаток модели — сложность поиска вывода на семантической сети. Для реализации семантических сетей существуют специальные сетевые языки, например NET[12] и др. Широко известны экспертные системы, использующие семантические сети в качестве языка представления знаний — PROSPECTOR, CASNET, TORUS [8, 10]. Минским в е гг. Эта модель, как и семантическая сеть, имеет глубокое психологическое обоснование. Под фреймом понимается абстрактный образ или ситуация. В психологии и философии известно понятие абстрактного образа. Например, слово "комната" вызывает у слушающих образ комнаты: Из этого описания ничего нельзя убрать например, убрав окна, мы получим уже чулан, а не комнату , но в нем есть "дырки", или "слоты", — это незаполненные значения некоторых атрибутов — количество окон, цвет стен, высота потолка, покрытие пола и др. В теории фреймов такой образ называется фреймом. Фреймом называется также и формализованная модель для отображения образа. Ту же запись представим в виде таблицы, дополнив двумя столбцами. В таблице дополнительные столбцы предназначены для описания типа слота и возможного присоединения к тому или иному слоту специальных процедур, что допускается в теории фреймов. В качестве значения слота может выступать имя другого фрейма; так образуют сети фреймов. Различают фреймы-образцы, или прототипы, хранящиеся в базе знаний, и фр е им ы-экземпляры, которые создаются для отображения реальных ситуаций на основе поступающих данных. Модель фрейма является достаточно универсальной, поскольку позволяет отобразить все многообразие знаний о мире через:. Важнейшим свойством теории фреймов является заимствованное из теории семантических сетей наследование свойств. Слот АКО указывает на фрейм более высокого уровня иерархии, откуда неявно наследуются, то есть переносятся, значения аналогичных слотов. Например, в сети фреймов на рис. Наследование свойств может быть частичным, так, возраст для учеников не наследуется из фрейма "ребенок", поскольку указан явно в своем собственном фрейме. Основным преимуществом фреймов как модели представления знаний является способность отражать концептуальную основу организации памяти человека [13], а также ее гибкость и наглядность. Специальные языки представления знаний в сетях фреймов FRL Frame Representation Language [1] и другие позволяют эффективно строить промышленные ЭС. Широко известны такие фреймо-ориентированные экспертные системы, как ANALYST, МОДИС [3,8]. Традиционно в представлении знаний выделяют формальные логические модели, основанные на классическом исчислении предикатов I порядка, когда предметная область или задача описывается в виде набора аксиом. Мы же опустим описание этих моделей по следующим причинам. Исчисление предикатов I порядка в промышленных экспертных системах практически не используется. Эта логическая модель применима в основном в исследовательских "игрушечных" системах, так как предъявляет очень высокие требования и ограничения к предметной области. Методы решения задач, основанные на сведении их к поиску, зависят от особенностей предметной области, в которой решается задача, и от требований, предъявляемых пользователем к решению. Особенности предметной области с точки зрения методов решения можно характеризовать следующими параметрами:. Обычно если модель не полна, то для описания области используют несколько моделей, дополняющих друг друга за счет отражения различных свойств предметной области;. Точность ошибочность является показателем того, что предметная область с точки зрения решаемых задач описана точными или неточными данными; под полнотой неполнотой данных понимается достаточность недостаточность входных данных для однозначного решения задачи. Требования пользователя к результату задачи, решаемой с помощью поиска, можно характеризовать количеством решений и свойствами результата и или способом его получения. Параметр "количество решений" может принимать следующие основные значения: Параметр "свойства" задает ограничения, которым должен удовлетворять полученный результат или способ его получения. Так, например, для системы, выдающей рекомендации по лечению больных, пользователь может указать требование не использовать некоторое лекарство в связи с его отсутствием или в связи с тем, что оно противопоказано данному пациенту. Параметр "свойства" может определять и такие особенности, как время решения "не более чем", "диапазон времени" и т. Итак, сложность задачи, определяемая вышеприведенным набором параметров, варьируется от простых задач малой размерности с неизменяемыми определенными данными и отсутствием ограничений на результат и способ его получения до сложных задач большой размерности с изменяемыми, ошибочными и неполными данными и произвольными ограничениями на результат и способ его получения. Из общих соображений ясно, что каким—либо одним методом нельзя решить все задачи. Обычно одни методы превосходят другие только по некоторым из перечисленных параметров. Рассмотренные ниже методы могут работать в статических и динамических проблемных средах. Для того чтобы они работали в условиях динамики, необходимо учитывать время жизни значений переменных, источник данных для переменных, а также обеспечивать возможность хранения истории значений переменных, моделирования внешнего окружения и оперирования временными категориями в правилах. Существующие методы решения задач, используемые в экспертных системах, можно классифицировать следующим образом:. Предполагается, что перечисленные методы при необходимости должны объединяться для того, чтобы позволить решать задачи сложность которых возрастает одновременно по нескольким параметрам. Суть её в следующем: Прототип должен продемонстрировать пригодность будущей экспертной системы для данной предметной области, проверить правильность кодировки фактов, связей и стратегий рассуждения эксперта. Он также дает возможность инженеру по знаниям привлечь эксперта к активной роли в разработке экспертной системы. Размер прототипа — несколько десятков правил. На сегодняшний день сложилась определенная технология разработки экспертных систем, включающая 6 этапов. Определяются задачи, которые подлежат решению. Планируется ход разработки прототипа экспертной системы, определяются: Этап идентификации — это знакомство и обучение коллектива разработчиков. Средняя длительность недели. На этом же этапе разработки экспертных систем проходит извлечение знаний. Инженер по знаниям помогает эксперту выявить и структурировать знания, необходимые для работы экспертной системы, с использованием различных способов: Извлечение знаний — это получение инженером по знаниям более полного представления о предметной области и методах принятия решения в ней. Средняя длительность месяца. Выявляется структура полученных знаний о предметной области. Концептуализация — это разработка неформального описания знаний о предметной области в виде графа, таблицы, диаграммы либо текста, которое отражает главные концепции и взаимосвязи между понятиями предметной области. Средняя длительность этапа недели. На этапе формализации все ключевые понятия и отношения, выявленные на этапе концептуализации, выражаются на некотором формальном языке, предложенном выбранном инженером по знаниям. Здесь он определяет, подходят ли имеющиеся инструментальные средства для решения рассматриваемой проблемы или необходим выбор другого инструментария, или требуются оригинальные разработки. Создается прототип экспертной системы, включающий базу знаний и другие подсистемы. На данном этапе применяются следующие инструментальные средства: Четвертый этап разработки экспертных систем в какой-то степени является ключевым, так как здесь происходит создание программного комплекса, демонстрирующего жизнеспособность подхода в целом. Прототип проверяется на удобство и адекватность интерфейсов ввода-вывода, эффективность стратегии управления, качество проверочных примеров, корректность базы знаний. Тестирование — это выявление ошибок в выбранном подходе, выявление ошибок в реализации прототипа, а также выработка рекомендаций по доводке системы до промышленного варианта. Проверяется пригодность экспертной системы для конечных пользователей. По результатам этого этапа может потребоваться существенная модификация экспертной системы. Процесс разработки экспертной системы не сводится к строгой последовательности перечисленных выше этапов. В ходе работ приходится неоднократно возвращаться на более ранние этапы и пересматривать принятые там решения. По отношению к программному обеспечению термин прототип означает "работающую модель программы, которая функционально эквивалентна подмножеству конечного продукта". Идея состоит в том, чтобы на ранней стадии работы над проектом разработать упрощенную версию конечной программы, которая могла бы послужить доказательством продуктивности основных идей, положенных в основание проекта. Прототип должен быть способен решать какую-либо из нетривиальных задач, характерных для заданной области применения. На основе анализа опыта работы с прототипом разработчики могут уточнить требования к системе в целом и ее Основным функциональным характеристикам. Работоспособность прототипа может послужить очевидным доказательством возможности решения проблем с помощью создаваемой системы еще до того, как на ее разработку будут потрачены значительные средства. После всестороннего анализа прототип откладывается в сторону и начинается разработка рабочей версии программы, которая должна решать весь комплекс задач, определенных в спецификации проекта. Процесс разработки экспертной системы, как правило, состоит из последовательности отдельных этапов, на которых наращиваются возможности системы, причем каждый из этапов подразделяется на фазы проектирования, реализации, компоновки и тестирования. В результате после каждого этапа наращивания возможностей в распоряжении пользователя имеется система, которая способна справляться со все более сложными вариантами проблемы. Такая методика проектирования несколько отличается от методики разработки программ других видов. При создании большинства программных продуктов чаще используется другая модель процесса- сначала разрабатывается спецификация продукта, затем выполняется планирование, проектирование компонентов, их реализация, компоновка комплекса и тестирование конечного варианта. Тот факт, что при разработке экспертных систем есть возможность сначала построить и всесторонне испытать прототип, позволяет избежать множества переделок в процессе создания рабочей версии системы. Но технология последовательного наращивания функциональных возможностей таит в себе и проблему интеграции новых функций с реализованными в предыдущих вариантах. Инструментальные средства разработки экспертных систем и создавались, в первую очередь, с целью преодоления возникающих при этом сложностей на основе модульного представления знаний. При неудовлетворительном функционировании прототипа эксперт и инженер по знаниям имеют возможность оценить, что именно будет включено в разработку окончательного варианта системы. Если первоначально выбранные объекты или свойства оказываются неподходящими, их необходимо изменить. Можно сделать оценку общего числа эвристических правил, необходимых для создания окончательного варианта экспертной системы. Иногда при разработке промышленной системы выделяют дополнительные этапы:. Однако чаще реализуется плавный переход от демонстрационного прототипа к промышленной системе, при этом, если программный инструментарий выбран удачно, необязательна перепись другими программными средствами. Понятие же коммерческой системы в нашей стране входит в понятие промышленный программный продукт, или промышленной ЭС в этой работе. Переход от прототипа к промышленной экспертной системе. Система надежно решает все задачи на реальных примерах, но для сложной задачи требует много времени и памяти. Основное на этом этапе заключается в добавлении большого числа дополнительных эвристик. Эти эвристики обычно увеличивают глубину системы, обеспечивая большее число правил для трудноуловимых аспектов отдельных случаев. В то же время эксперт и инженер по знаниям могут расширить охват системы, включая правила, управляющие дополнительными подзадачами или дополнительными аспектами экспертной задачи метазнания. После установления основной структуры ЭС инженер по знаниям приступает к разработке и адаптации интерфейсов, с помощью которых система будет общаться с пользователем и экспертом. Необходимо обратить особое внимание на языковые возможности интерфейсов, их простоту и удобство для управления работой ЭС. Система должна обеспечивать пользователю возможность легким и естественным образом спрашивать непонятное, приостанавливать работу и т. В частности, могут оказаться полезными графические представления. FAQ Обратная связь Вопросы и предложения. Upload Опубликованный материал нарушает ваши авторские права? Основные понятия и направления исследований. Задачи искусственного интеллекта Область ИИ имеет более чем сорокалетнюю историю развития. С самого начала в ней рассматривался ряд весьма сложных задач, которые, наряду с другими, и до сих пор являются предметом исследований: Можно выделить следующие основные классы задач, решаемых экспертными системами: Классификация и область применения экспертных систем. Общепринятая классификация экспертных систем отсутствует, однако наиболее часто экспертные системы различают по назначению, предметной области, методам представления знаний, динамичности и сложности: В архитектуру динамической экспертной системы, по сравнению со статической, вводятся два компонента: Структура и функционирование экспертных систем. Статические экспертные системы Динамические экспертные системы Интегрированные экспертные системы Статическими называются экспертные системы, в которых входные данные не изменяются за время сеанса работы системы. Типовая структура экспертных систем Рис. Типовая структура экспертной системы Пользователь решает задачи предметной области. Подсистема объяснения решений дает ответ на следующие вопросы: Почему экспортная система просит ту или иную информацию? В процессе решения формируется Протокол - порядок выполнения правил. Рабочая база знаний содержит знания, необходимые в процессе принятия решений. Структура динамической экспертной системы. Вывод и формализование данных. Протокол - порядок выполнения правил. Рабочая база знаний - знания необходимые в процессе принятия решений. Экспертные системы работают в двух режимах: Ввод и создание базы знаний. Решение задач предметной области. База знаний и база данных в экспертных системах. База данных База данных рабочая память предназначена для хранения исходных и промежуточных данных решаемой в текущий момент задачи. Для иллюстрации добавим к нашему примеру базы знаний о погоде еще одно правило: ЕСЛИ скоро пойдет дождь ТО нужно взять с собой зонтик. В рассматриваемом примере вывод целевого утверждения "Нужно взять с собой зонтик" обратной цепочкой рассуждений выполняется следующим образом: Итак, на примере простой ЭС и базы знаний диалог пользователя с системой можно представить себе следующим образом: ЭС обращается к подсистеме объяснения, которая выдает пользователю следующее сообщение: Для этого он может повторно задать ей вопрос: Для этого служит другой вопрос, который также "понимает" подсистема объяснений: Например, в ответ на вопрос: Наконец, выясним, как использовано правило 1: Вывод и редактирование знаний в ЭС Функции и область применения. Инструментальные средства создания ЭС Инструментальные средства подразделяются на следующие категории: Языки программирования Языки инженерии знаний Средства автоматизации разработки экспертных систем Оболочки экспертных систем Процедурные ЯП для создания компонентов ЭС Инструментальные средства этой категории избавляют разработчика от необходимости углубляться в детали реализации системы — способы эффективного распределения памяти, низкоуровневые процедуры доступа и манипулирования данными. С практической точки зрения, пользуясь языком PROLOG, программист в качестве "бесплатного приложения" получает в свое распоряжение следующие возможности: На это обратила внимание Эйкинс в критическом замечании по поводу реализации экспертной системы PUFF на базе оболочки EMYCIN: Основные модели представления знаний: Продукционная, Фреймы, Сетевые, Логические. Продукционная модель Продукционная модель, или модель, основанная на правилах, позволяет представить знания в виде предложений типа: Имеется фрагмент базы знаний из двух правил: Если "отдых — летом" и "человек — активный", то "ехать в горы". Если "любит солнце", то "отдых летом". Предположим, в систему поступили данные — "человек активный" и "любит солнце". Прямой вывод — исходя из данных, получить ответ. Пробуем ГЦ, не работает не хватает данных "отдых — летом". Пробуем П2, работает, в базу поступает факт "отдых — летом". Пробуем ГЦ, работает, активируется цель "ехать в горы", которая и выступает как совет, который дает ЭС. Обратный вывод — подтвердить выбранную цель при помощи имеющихся правил и данных. Пробуем П1, подтверждается искомая цель. Семантические сети Термин семантическая означает смысловая, а сама семантика — это наука, устанавливающая отношения между символами и объектами, которые они обозначают, то есть наука, определяющая смысл знаков. Характерной особенностью семантических сетей является обязательное наличие трех типов отношений: Например, по количеству типов отношений: Наиболее часто в семантических сетях используются следующие отношения: Семантическая сеть Основное преимущество этой модели — в соответствии современным представлениям об организации долговременной памяти человека. Структуру фрейма можно представить так: Модель фрейма является достаточно универсальной, поскольку позволяет отобразить все многообразие знаний о мире через: Сеть фреймов Формальные логические модели Традиционно в представлении знаний выделяют формальные логические модели, основанные на классическом исчислении предикатов I порядка, когда предметная область или задача описывается в виде набора аксиом. Методы поиска решений в ЭС Методы решения задач, основанные на сведении их к поиску, зависят от особенностей предметной области, в которой решается задача, и от требований, предъявляемых пользователем к решению. Особенности предметной области с точки зрения методов решения можно характеризовать следующими параметрами: Обычно если модель не полна, то для описания области используют несколько моделей, дополняющих друг друга за счет отражения различных свойств предметной области; определенность данных о решаемой задаче, характеризует степень точности ошибочности и полноты неполноты данных. Существующие методы решения задач, используемые в экспертных системах, можно классифицировать следующим образом: Идентификация Определяются задачи, которые подлежат решению. Концептуализация Выявляется структура полученных знаний о предметной области. Формализация На этапе формализации все ключевые понятия и отношения, выявленные на этапе концептуализации, выражаются на некотором формальном языке, предложенном выбранном инженером по знаниям. Реализация Создается прототип экспертной системы, включающий базу знаний и другие подсистемы. Тестирование Прототип проверяется на удобство и адекватность интерфейсов ввода-вывода, эффективность стратегии управления, качество проверочных примеров, корректность базы знаний. Опытная эксплуатация Проверяется пригодность экспертной системы для конечных пользователей. Иногда при разработке промышленной системы выделяют дополнительные этапы: Alonso Milln - El cianuro.


Бойлер косвенного нагрева прямоугольный
Ниссан пикап нп
Ргупс ру расписание
Как часто можно пересаживать денежное дерево
Отпуск уходу ребенком образец
Шина для циркулярки своими руками
Выращивание виолы из семян в домашних условиях
Поиск значенияв mysql
Расписание автобуса казань кинешма
Структура и содержание налоговой системы
Образец резюме польша
Егоршино призывной пункт адрес на карте
Нормы права содержащие гипотезу диспозицию и санкцию
Несложное вязание спицами
Форд 6000 cd инструкция
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment