double arrow

И экспертные системы


Разработка систем, основанных на знаниях, является составной частью исследований по искусственному интеллекту и имеет целью создание компьютерных методов решения проблем, обычно требую­щих привлечения специалистов. В конце 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. Системы, основанные на знаниях, устойчивы к «помехам». Эксперт пользуется побочными знаниями и легко поддается влия­нию внешних факторов, которые непосредственно не связаны с ре­шаемой задачей.

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

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







Сейчас читают про: