Системы искусственного интеллекта и экспертные системы

 

В 1960-х гг. проводились попытки моделирования процессов мышления путем отыскания общих методов решения широкого класса задач и использования этих методов в универсальных программах. Иногда работы этого периода называют «демонстрацией пригодности» или разработкой процесса искусственного интеллекта – моделирования на ЭВМ процесса принятия решений, логического вывода, распознавания образов и других видов человеческой деятельности.

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

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

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

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

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

 

Рисунок 13. Инженерия знаний: перенос знаний от эксперта в компьютерную программу

 

Можно выделить следующие основные классы задач, решаемых экспертными системами:

– диагностика;

– прогнозирование;

– идентификация;

– управление;

– проектирование;

– мониторинг.

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

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

Системы поддержки принятия решений (СППР) – совокупность интеллектуальных инфор-мационных приложений и инструментальных средств, которые используются для манипулирова-ния данными, их анализа и предоставления результатов такого анализа конечному пользователю.

Системы подобного класса основаны на технологиях искусственного интеллекта.

Различают два направления в развитии технологий искусственного интеллекта:

технология вывода, основанного на правилах;

технология вывода, основанного на прецедентах.

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

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

Моделирование такого подхода к решению проблем, основанного на опыте прошлых ситуаций, привело к появлению технологии вывода, основанного на прецедентах (Case-Based Reasoning – CBR), и в дальнейшем – к созданию программных продуктов, реализующих эту технологию.

Прецедент – это описание проблемы или ситуации в совокупности с подробным указанием действий, предпринимаемых в данной ситуации или для решения данной проблемы. Хотя не все CBR-системы полностью включают этапы, приведенные ниже, подход, основанный на прецедентах, в целом состоит из следующих компонентов:

– получения подробной информации о текущей проблеме;

– сопоставления (сравнения) этой информации с деталями прецедентов, хранящихся в базе знаний (прецедентов), для выявления аналогичных случаев;

– выбора прецедента, наиболее близкого к текущей проблеме, из базы знаний;

– адаптации выбранного решения к текущей проблеме, если это необходимо;

– проверки корректности каждого вновь полученного решения;

– занесения детальной информации о новом прецеденте в базу знаний.

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

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

– основным источником знаний о задаче является опыт, а не теория;

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

– целью является не гарантированное верное решение, а лучшее из возможных.

Обратная связь, возникающая при сохранении решений для новых проблем, означает, что CBR-метод по своей сути является “самообучающейся” технологией, благодаря чему рабочие характеристики каждой базы знаний с течением времени и накоплением опыта непрерывно улучшаются. Разработка баз прецедентов по конкретной проблеме или области деятельности происходит на естественном (русском, английском и т.д.) языке, т.е. не требует никакого программирования и может быть выполнена наиболее опытными сотрудниками – экспертами, работающими в данной конкретной области.

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