Добавил:
natribu.org Все что нашел в интернете скидываю сюда Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Точно Не проект 2 / Не books / Источник_1

.pdf
Скачиваний:
10
Добавлен:
01.02.2024
Размер:
20.67 Mб
Скачать

370

Глава 6

 

 

22.Определите на Прологе предикат, проверяющий вхождение узла X в бинарное дерево Д.

23.Определите на Прологе предикат, добавляющий узел X в бинарное дерево Д.

24.Определите на Прологе предикат, удаляющий узел X из бинарного дерева Д.

25.Реализуйте на Прологе поиск в глубину в пространстве состояний.

26.Реализуйте на Прологе поиск в ширину в пространстве состояний, используя для раскрытия вершин встроенный предикат bagof.

27.Реализуйте на Прологе A-алгоритм поиска решений в пространстве состояний.

28.Приведите пример простой фреймовой сети и реализуйте на Прологе поиск значений слотов.

ГЛАВА 7

ЭКСПЕРТНЫЕ СИСТЕМЫ

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

-реконструируют методику решения задачи экспертом в соответствующей области;

-формируют выводы, основываясь на знаниях, которые хранятся отдельно от программного кода, управляющего процессом вывода;

-используют при решении задач эвристические методы, которые не требуют исчерпывающей исходной информации, и, следовательно, обеспечивают решение, характеризуемое определенной степенью уверенности;

-имеют возможность накапливать знания в процессе функционирования;

-обладают способностью объяснять предлагаемые решения;

-обеспечивают “дружественный”, как правило, естественноязыковый интерфейс с пользователем.

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

372

Глава 7

 

 

7.1. Основные функции и компоненты экспертных систем

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

-открытостью;

-гибкостью;

-недетерминированностью решений и рекомендаций. Открытость ЭС означает, что пользователь может проверить ре-

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

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

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

ЭС ориентированы на классы задач, которые плохо поддаются решению с помощью математических методов. Перечень типовых задач, решаемых ЭС в самых различных областях, включает [20]:

Экспертные системы

373

 

 

-интерпретацию – извлечение информации из первичных данных;

-диагностику – обнаружение неисправностей и причин их появления в некоторой системе;

-мониторинг – непрерывная интерпретация данных в реальном времени с сигнализацией о выходе тех или иных параметров за допустимые пределы;

-прогноз – предсказание вероятных последствий на основе прошедших и настоящих событий;

-планирование – определение последовательности действий, направленных на достижение заранее поставленных целей;

-проектирование – определение конфигурации системы при заданных ограничениях;

-отладку и ремонт – выполнение последовательности действий по приведению той или иной системы к требуемым режимам функционирования;

-обучение – интерпретация, диагностика и коррекция знаний и умений обучаемого;

-управление – формирование управляющих воздействий, определяющих поведение сложных систем.

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

Ядро ЭС образует база данных, база знаний и машина вывода. База данных представляет собой рабочую память, в которой хранятся текущие данные, заключения и другая информация, имеющая отношение к анализируемой системой ситуации. База знаний обеспечивает хранение знаний, представленных с помощью одной из моделей: логической, продукционной, фреймовой, сетевой (см. главу 2).

Машина вывода (подсистема поиска решений), используя данные и знания, организует управление выводом в соответствии с используемой моделью представления знаний. Например, при использовании продукционной модели представления знаний выполняется цикл “распознаваниедействие”. Процедуры, реализующие цикл управления, отделены от про-

374

Глава 7

 

 

дукционных правил. Отделение знаний, хранящихся в ЭС, от алгоритмов поиска решений позволяет:

-представлять знания в более естественной форме по сравнению со знаниями, встроенными непосредственно в процедуры;

-разработчику ЭС в большей степени сосредоточиться на накоплении и организации предметных знаний, а не на деталях компьютерной реализации;

-изменять содержимое баз знаний без необходимости внесения изменений в программный код;

-создавать оболочки экспертных систем (рисунок 7.1), которые можно наполнять знаниями различных предметных областей;

-экспериментировать с различными режимами управления ЭС без изменения баз знаний.

Рисунок 7.1 – Структурная схема ЭС

Подсистема объяснения ЭС позволяет пользователю выяснить, как система получила решение задачи, и какие знания были при этом использованы. Это повышает доверие пользователя к системе и облегчает её тестирование. Подсистема объяснения позволяет отвечать на две группы вопросов:

-вопросы типа “как” (как система пришла к этому выводу?);

Экспертные системы

375

 

 

-вопросы типа “почему” (почему требуются значения тех или иных фактов?).

Подсистема приобретения знаний используется как с целью автома-

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

7.2. Разработка экспертных систем

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

Использовать ЭС для решения задачи следует тогда, когда разработка ЭС возможна, оправдана и уместна [20]. Чтобы разработка ЭС была возможна, необходимо выполнение следующих требований:

-должны быть эксперты, которые эффективно решают проблемы в заданной области;

-оценки правильности решений, сделанные различными экспертами, должны в основном совпадать, иначе нельзя будет определить качество разработанной ЭС;

-эксперты должны уметь объяснять методы, которые они используют в ходе решения задачи, в противном случае знания экспертов не могут быть перенесены в память ЭС;

-задача должна решаться на основе рассуждений, а не физических действий (если требуется совмещение интеллектуальных навыков и физических действий, то интеллектуальная часть реализуется средствами искусственного интеллекта, а физические действия – различными механическими системами, что характерно для робототехники);

-задача, возлагаемая на ЭС, не должна быть слишком трудной, ее решение должно осуществляться экспертом за несколько часов, а не дней или недель;

-задача должна относиться к “проработанной” области, иначе потребуются основательные исследования;

-задача не должна в значительной степени опираться на соображения “здравого смысла”, так как подобные знания плохо переносятся в ЭС.

376

Глава 7

 

 

Применение ЭС к решению той или иной задачи может быть оправдано следующими факторами:

-решение задачи создает значительный экономический эффект;

-привлечение экспертов к решению задачи невозможно из-за их малочисленности и высокой оплаты их труда;

-увольнения персонала организации приводят к значительному снижению уровня компетенции в организации;

-необходимость принятия решений во вредных условиях, исключаю-

щих присутствие человека.

Использование ЭС уместно, если решаемая задача обладает следующими характеристиками:

-решение задачи осуществляется путем манипулирования символьными структурами, а не числами, что характерно для традиционных математических пакетов;

-процесс решения задачи носит эвристический характер и основан на использовании эмпирических правил, а не формальных математических процедур;

-для подготовки эксперта требуются многие годы обучения;

-задача должна представлять практический интерес и быть достаточно

узкой, чтобы допускать решение методами обработки знаний и.

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

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

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

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

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

-какой уровень объяснения требуется пользователю;

-может ли пользователь обеспечить ввод корректных данных;

-удовлетворителен ли пользовательский интерфейс;

Экспертные системы

377

 

 

-упрощает ли система решение задач пользователем и др.

Аналогично большинству программных систем искусственного интел-

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

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

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

Построение ЭС выполняется последовательной корректировкой решений, принимаемых на различных этапах проектирования. Это позволяет говорить, что ЭС скорее “выращивается”, чем конструируется. На рисунке 7.2 изображена структурная схема проектирования ЭС, в основе которой лежит цикл “испытание-корректировка”.

378

Глава 7

 

 

В процессе разработки ЭС выделяют пять этапов: идентификацию, концептуализацию, формализацию, реализацию и испытание [20,12].

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

Рисунок 7.2 – Этапы разработки ЭС

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

Формализация состоит в выборе модели представления знаний и разработке на её основе формального представления предметной области.

Экспертные системы

379

 

 

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

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

На этапе испытаний промежуточных версий ЭС с системой взаимодействует и конечный пользователь, который определяет, отвечает ли система его требованиям.

В ходе разработки ЭС приходится неоднократно возвращаться на более ранние этапы, пока не будут удовлетворены все требования. Создание прототипа ЭС с применением наиболее распространенных продукционных моделей занимает от нескольких месяцев до 1-2 лет. Доводка прототипа до промышленной ЭС с возможным перепрограммированием на алгоритмических языках, например С++, требует от 2 до 4 лет. Ускорения процесса разработки можно добиться при использовании средств автоматизации проектирования ЭС [12].

7.3. Приобретение знаний

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

влечении знаний.

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

Соседние файлы в папке Не books