И экспертные системы
Разработка систем, основанных на знаниях, является составной частью исследований по искусственному интеллекту и имеет целью создание компьютерных методов решения проблем, обычно требующих привлечения специалистов. В конце 70-х гг. специалисты, работающие в области ИИ, начали понимать нечто весьма важное: эффективность программы при решении задач зависит от знаний, которыми она обладает, а не только от формализмов и схем вывода, которые она использует. Была принята принципиально новая концепция, которую чрезвычайно просто сформулировать: чтобы сделать программу интеллектуальной, ее нужно снабдить множеством высококачественных специальных знаний о некоторой предметной области. Понимание этого факта привело к развитию специализированных программных систем, каждая из которых является экспертом в некоторой узкой предметной области. Эти программы получили название экспертных систем. Типичная экспертная система состоит из следующих основных компонентов: механизма вывода (интерпретатора правил), базы знаний (БЗн), включающей рабочую память (РП) или базу данных (БД) и базу правил, компонентов приобретения знаний, объяснительного и диалогового. База знаний в ЭС предназначена для хранения долгосрочных знаний, описывающих рассматриваемую предметную область, и включает в себя базу данных (РП), которая предназначена для хранения исходных и промежуточных данных решаемой в текущий момент задачи, и базу правил, описывающих целесообразные преобразования данных этой области. Механизм вывода, используя исходные данные из РП и знания из БЗн, формирует такую последовательность правил, которые, будучи примененными к исходным данным, приводят к решению задачи. Одним из важных вопросов, возникающих при проектировании управляющей компоненты систем, основанных на знаниях, является выбор метода поиска решения, т.е. стратегии вывода. От выбранного метода поиска будет зависеть порядок применения и срабатывания правил. Процедура выбора сводится к определению направления поиска и способа его осуществления. Процедуры, реализующие поиск, обычно «зашиты» в механизм вывода, поэтому в большинстве систем инженеры знаний не имеют к ним доступа и, следовательно, не могут в них ничего изменять по своему желанию.
При разработке стратегии управления выводом необходимо ответить на два вопроса: 1. Какую точку в пространстве состояний принять в качестве исходной? Дело в том, что еще до начала поиска решения система, основанная на знаниях, должна каким-то образом выбрать исходную точку поиска. От выбора этой точки зависит и метод осуществления поиска - в прямом или в обратном направлении. 2. Как повысить эффективность поиска решения? Чтобы добиться повышения эффективности поиска решения, необходимо найти эвристики разрешения конфликтов, связанных с существованием нескольких возможных путей для продолжения поиска в пространстве состояний, поскольку требуется отбросить те из них, которые заведомо не ведут к искомому решению. В системах с обратным выводом вначале выдвигается некоторая гипотеза, а затем механизм вывода в процессе работы как бы возвращается назад, переходя от нее к фактам, и пытается найти среди них те, которые подтверждают эту гипотезу. Если она оказалась правильной, то выбирается следующая гипотеза, детализирующая первую и являющаяся по отношению к ней подцелью. Далее отыскиваются факты, подтверждающие истинность подчиненной гипотезы. Обратный поиск применяется в тех случаях, когда цели известны и их сравнительно немного.
В системах с прямым выводом по известным фактам отыскивается заключение, которое из этих фактов следует. Если такое заключение удастся найти, то оно заносится в рабочую память. В системах диагностики чаше применяется прямой вывод, вто время как в планирующих системах более эффективным оказывается обратный вывод. В некоторых системах вывод основывается на сочетании упомянутых выше методов — обратного и ограниченного прямого. Такой комбинированный метод получил название циклического. В системах, база знаний которых насчитывает сотни правил, весьма желательно использование стратегии управления выводом, позволяющей минимизировать время поиска решения и тем самым повысить эффективность вывода. К числу наиболее известных стратегий относятся поиск в глубину, поиск в ширину, разбиение на подзадачи и альфа-бета алгоритм. Суть поиска в глубину состоит в том, что при выборе очередной подцели в пространстве состояний предпочтение всегда, когда это возможно, отдается той, которая соответствует следующему, более детальному уровню описания задачи. При поиске в ширину, напротив, система вначале проанализирует все признаки, находящиеся на одном уровне пространства состояний, даже если они относятся к различным объектам, и лишь затем перейдет к признакам следующего уровня детальности. Специалисты в какой-либо узкой области выше оценивают поиск в глубину, поскольку он позволяет собрать воедино все признаки, связанные с выдвинутой гипотезой. Универсалы отдают предпочтение поиску в ширину, так как в этом случае анализ не ограничивается заранее очерченным кругом признаков. Особенности пространства поиска во многом определяют целесообразность применения той или иной стратегии. При стратегии разбиения на подзадачи в исходной задаче выделяются подуровни, решение которых рассматривается как достижение промежуточных целей на пути к конечной цели. Если удается правильно понять сущность задачи и оптимально разбить ее на систему иерархически связанных целей — подцелей, то можно добиться того, что путь к ее решению в пространстве поиска будет минимален. Однако если задача плохо структурирована, то сделать это невозможно.
Иногда задача поиска сводится к уменьшению пространства состояний путем удаления в нем ветвей, неперспективных для поиска успешного решения. Поэтому просматриваются только те вершины, в которые можно попасть в результате следующего шага, после чего неперспективные направления исключаются из дальнейшего рассмотрения. Этот метод - альфа-бета алгоритм - нашел широкое применение в основном в системах, ориентированных на различные игры, однако он может использоваться и в продукционных системах для повышения эффективности поиска. Компонент приобретения знаний реализует процесс наполнения ЭС знаниями. Объяснительный компонент поясняет, как система получила решение задачи (или почему она не получила решения) и какие знания она при этом использовала, что облегчает эксперту тестирование и отладку системы и повышает доверие пользователя к полученному результату. Диалоговый компонент ориентирован на организацию дружественного интерфейса для всех категорий пользователей и используется как в ходе решения задач, так и приобретения знаний, объяснения результатов работы. Существует много.определений понятия «системы, основанные на знаниях», в частности они определяются как «интеллектуальные компьютерные программы, использующие знания и процедуры вывода для решения проблем, которые настолько сложны, что для их решения необходимо привлечение эксперта». Терминология по искусственному интеллекту пока еще окончательно не установилась, поэтому словосочетания «экспертные системы» (ЭС) и «системы, основанные на знаниях» будем употреблять как синонимы, хотя считается, что любая ЭС есть система, основанная на знаниях, но последняя не всегда является экспертной системой. В системах, основанных на знаниях, правила (или эвристики), по которым решаются проблемы в конкретной предметной области, хранятся в,базе знаний. Проблемы ставятся перед системой в виде совокупности фактов, описывающих некоторую ситуацию, и система с помощью базы знаний пытается вывести заключение из этих фактов. Можно сказать, что качество экспертной системы определяется размером и качеством базы знаний (правил или эвристик). Система функционирует в следующем циклическом режиме: выбор (запрос) данных или результатов анализов, наблюдение, интерпретация результатов, усвоение новой информации, выдвижение с помощью правил временных гипотез и затем выбор следующей порции данных или результатов анализов. Такой процесс продолжается до тех пор, пока не поступит информация, достаточная для окончательного заключения.
Более простые системы, основанные на знаниях, функционируют в режиме диалога, называемом режимом консультации. После запуска система задает пользователю ряд вопросов о решаемой задаче, требующих ответа: «да» или «нет». Ответы служат для установления фактов, по которым может быть выведено окончательное заключение. В любой момент времени в системе содержатся три типа знаний: структурированные статические знания о предметной области; после того как эти знания выявлены, они уже не изменяются; структурированные динамические знания — изменяемые знания о предметной области; они обновляются по мере выявления новой информации; рабочие знания, применяемые для решения конкретной задачи или проведения консультации. Все перечисленные выше знания хранятся в базе знаний. Для ее построения требуется провести опрос специалистов, Являющихся экспертами в конкретной предметной области, а затем систематизировать, организовать и снабдить эти знания указателями, чтобы впоследствии их можно было легко извлечь из базы знаний. Системы, основанные на знаниях, обладают рядом специфических свойств: 1. Экспертиза может проводиться только в одной конкретной области. 2. База знаний и механизм вывода являются различными компонентами (оказывается возможным сочетать механизм вывода с другими базами знаний для создания новых экспертных систем). 3. Наиболее подходящая область применения — решение задач дедуктивным методом, т.е. правила или эвристики выражаются в виде пар посылок и заключений типа «если — то». 4. Эти системы могут объяснять ход решения задачи понятным пользователю способом. Обычно мы не принимаем ответ эксперта, если на вопрос «Почему?» не можем получить логичный ответ. Точно так же мы должны иметь возможность спросить систему, основанную на знаниях, как было получено конкретное заключение. 5. Выходные результаты являются качественными (а не количественными). 6. Системы, основанные на знаниях, строятся по модульному принципу, что позволяет постепенно наращивать их базы знаний.
Области применения систем, основанных на знаниях, могут быть сгруппированы в несколько основных классов, в том числе прогнозирование, планирование, контроль и управление, обучение. Существует ряд прикладных задач, которые решаются с помощью систем, основанных на знаниях, более успешно, чем любыми другими средствами. При определении целесообразности применения таких систем нужно руководствоваться следующими критериями. 1. Данные и знания надежны и не меняются со временем. 2. Пространство (или область) возможных решений относительно невелико. 3. В процессе решения задачи должны использоваться формальные рассуждения. 4. Должен быть по крайней мере один эксперт, способный явно сформулировать свои знания и объяснить методы применения этих знаний для решения задач. Но даже лучшие из существующих экспертных систем имеют определенные ограничения по сравнению с человеком-экспертом, которые сводятся к следующему: 1. Большинство экспертных систем не вполне пригодны для применения конечным пользователем. Если пользователь не имеет некоторого опыта работы с такими системами, у него могут возникнуть серьезные трудности. Многие системы оказываются доступными только тем экспертам, которые создавали их базы знаний. Поэтому необходима разработка соответствующего пользовательского интерфейса, обеспечивающего конечному пользователю свойственный ему режим работы. 2. Навыки системы не всегда возрастают после сеанса экспертизы. 3. Все еще остается проблемой приведение знаний, полученных от эксперта, к виду, обеспечивающему их эффективную машинную реализацию. 4. Экспертные системы неспособны обучаться, не обладают здравым смыслом. Человек-эксперт при решении задач обычно обращается к своей интуиции или здравому смыслу, если отсутствуют формальные методы решения или аналоги таких задач. 5. Экспертные системы неприменимы в больших предметных областях. 6. В тех областях, где отсутствуют эксперты, применение экспертных систем оказывается невозможным. 7. Имеет смысл привлекать экспертные системы только для решения когнитивных задач. 8. Системы, основанные на знаниях, оказываются неэффективными при необходимости проведения скрупулезного анализа, когда число «решений» зависит от тысяч различных возможностей и многих переменных, которые изменяются во времени. В таких случаях лучше использовать базы данных с интерфейсом на естественном языке. Однако системы, основанные на знаниях, имеют определенные преимущества перед человеком-экспертом: 1. У них нет предубеждений. 2. Они не делают поспешных выводов. 3. Эти системы работают систематизированно, рассматривая все детали, часто выбирая наилучшую альтернативу из всех возможных. 4. База знаний может быть большой и достаточно стабильной. Будучи введены в машину один раз, знания сохраняются навсегда. 5. Системы, основанные на знаниях, устойчивы к «помехам». Эксперт пользуется побочными знаниями и легко поддается влиянию внешних факторов, которые непосредственно не связаны с решаемой задачей. Технологию построения экспертных систем называют инженерией знаний. Этот процесс требует специфической формы взаимодействия создателя экспертной системы, которого называют инженером знаний, и одного или нескольких экспертов в некоторой предметной области. Инженер знаний «извлекает» из экспертов процедуры, стратегии, эмпирические правила, которые они используют при решении задач, и встраивает эти знания в экспертную систему. В результате появляется система, решающая задачи во многом так же, как человек-эксперт.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|