В последнее время системы, обладающие “искусственным интеллектом”, стали проникать практически во все области человеческой деятельности: технику, транспорт, промышленность, медицину, менеджмент, банковский сектор, юриспруденцию, науку и образование. Разработчики и потенциальные пользователи систем искусственного интеллекта (ИИ) возлагают на эти системы большие надежды, предполагая, что они смогут решить большинство, если не все, проблемы. Вместе с тем, мода на искусственный интеллект может привести к тому, что системы ИИ будут разрабатываться для тех областей, в которых их применение не всегда оправдано и будет неэффективно, а иногда даже невозможно. Поэтому важно понимать, что такое "искусственный интеллект", какие существуют технологии искуственного интеллекта и в каких областях они могут использоваться.
Цель этой книги – познакомить читателя, дать ему представление об экспертных системаах – одной из технологий искусственного интеллекта.
Искусственный интеллект и экспертная система
В настоящее время искусственный интеллект зачастую сводят к машинному обучению, что не совсем правильно. Машинное обучение (machine learning) и его разновидности, например, нейросети (neural network), это – технология, позволяющая решать задачи из области искусственного интеллекта (распознавание образов, распознавание речи, машинный перевод, анализ больших данных и т.д.). Другой технологией искусственного интеллекта являются экспертные системы (expert system).
Искусственный интеллект – раздел информатики, связанный с разработкой интеллектуальных программ для компьютеров.
Экспертная система (ЭС) – компьютерная программа, использующая экспертные знания для обеспечения высокоэффективного решения задач в узкой предметной области.
Есть и другие определения термина "экспертная система".
Под экспертной системой понимается система, объединяющая возможности компьютера со знаниями и опытом эксперта в такой форме, что система может предложить разумный совет или осуществить разумное решение поставленной задачи.
Экспертные системы призваны решать те задачи, где, как принято считать, невозможно обойтись без эксперта-человека.
При реализации экспертной системы важным вопросом является выбор архитектуры и языка программирования.
Существует два основных подхода к созданию экспертной системы. Первый подход предполагает использование языка логического программирования, второй – универсального процедурного или объектно-ориентированного языка программирования. При использовании универсального языка программирования база знаний о предметной области может быть встроена в код программы (реализуется при помощи инструкций if-then-else) или отделена кода и помещена во внешний текстовый файл.
Знания о предметной области меняются во времени – уточняются характеристики объектов и связи между ними, выявляются новые связи, правила поведения объектов, факты. Изменение знания о предметной области требует изменений поведения экспертной системы, изменения базы знаний. Исходя из этого, можно утверждать, что архитектура экспертная система должна быть открытой, т.е. у пользователя должна быть возможность "повышения квалификации" экспертной системы в процессе ее использования путем корректировки базы знаний, причем, желательно, без привлечения программистов. Указанному требованию соответствует экспертная система, в которой база знаний отделена от кода и представлена совокупностью правил логического вывода, находящихся во внешнем текстовом файле доступном для редактирования. В такой архитектуре программный код, реализующий интерфейс пользователя, механизм заключений и объясняющую систему, называют оболочкой экспертной системы, при этом задача создания экспертной системы сводиться к задаче создания базы знаний – совокупности правил логического вывода.
Экспертная система как инструмент поддержки принятия решений
Во многих ситуациях люди принимают решения, следуя советам экспертов – специалистов соответствующих предметных областей. Привлечение к решению проблемы эксперта, а в случае сложных проблем, группы экспертов, делает процесс принятия решения длительным и дорогим. При этом на результат экспертизы зачастую оказывает так называемый человеческий фактор, совет, полученный от эксперта, носит субъективный характер.
В качестве альтернативы обычной экспертизе, предполагающей участие экспертов, во многих случаях возможно проведение экспертизы с применением экспертной системы.
Экспертная система это – компьютерная программа, обладающая знаниями эксперта в соответствующей предметной области и моделирующая процесс суждения человека-эксперта. Применение экспертной системы в качестве системы поддержки принятия решения позволяет сократить временные и финансовые затраты на экспертизу, снизить влияние человеческого фактора.
Экспертные системы призваны решать те задачи, где, как принято считать, невозможно обойтись без совета или рекомендации эксперта-человека. Некоторые области деятельности, в которых возможно и оправдано использование ЭС в качестве инструмента поддержки принятия решений, приведены ниже.