Системы искусственного интеллекта. Экспертные системы, их классификация и возможности
За последние несколько десятилетий сформировалась и бурно развивается область информатики под общим названием «искусственный интеллект». Она пытается определить основные правила человеческого мышления, применяя кибернетику, математику, психологию и собственные многочисленные исследования.
Глобальной целью этого научного направления является создание средств, которые позволили бы компьютерам, роботам, или иным искусственным системам самостоятельно строить процесс выработки и принятия решения при возникновении какой-либо проблемы. Эта цель оказалась настолько сложной, что сформировалась группа относительно самостоятельных (хотя и взаимосвязанных) разделов науки и практики, например, таких как:
- распознавание образов;
- понимание естественного языка и машинный перевод;
- автоматизация логических рассуждений (допустим, доказательство теорем, вычисление интегралов в символьной форме);
- представление знаний о мире в формализованном виде;
- управление сложными производственными процессами и автономными техническими устройствами (луноход, военная техника и пр.).
Задача создания «искусственного интеллекта» является сложнейшей научно-технической задачей из всех решаемых человечеством. Но пока процесс ее решения породил больше вопросов, чем ответов. Однако по некоторым разделам этого направления достигнуты впечатляющие результаты, имеющие в настоящее время и практическое применение.
В области автоматизации процесса принятия решений большое развитие получила «инженерия знаний», одной из задач которой является разработка экспертных систем. Цель этого направления - создание автоматизированных систем, выполняющих те же функции, что и творческая личность, или имитация процесса принятия решения специалистом с помощью аппаратно-программных средств.
Экспертные системы - это компьютерные программы, способные накапливать знания из различных источников и моделировать процесс экспертизы, т.е. решение неформализуемых задач специалистами той или иной области на основе своего профессионального опыта.
Экспертная система предназначается, прежде всего, для решения трудно формализуемых задач, связанных с проведением логических умозаключений, основанных на обработке данных, представленных в символьной форме.
К неформализуемым относятся задачи, которые обладают одной или несколькими из следующих характеристик:
- задачи не могут быть заданы в числовой форме;
- цели не могут быть выражены в терминах точно определенной целевой функции;
- не существует алгоритмического решения задач. Неформализуемые задачи обладают рядом особенностей: ошибочностью, неполнотой, неоднозначностью и противоречивостью исходных данных, динамикой ситуаций.
Экспертные системы могут быть полезны для разрешения многих проблем, связанных с эффективным применением средств вычислительной техники, в том числе и в юридической деятельности. Например:
- обеспечение возможности обращения к применяемым в работе базам данных (например, справочным правовым системам) на профессиональном языке;
- использование сложных математических моделей и соответствующих прикладных программ юридическими специалистами, не являющимися программистами и специалистами в области прикладной математики, для решения своих профессиональных задач;
- проведение в реальном масштабе времени анализа различных ситуаций профессиональной деятельности, информация о которых представлена в символьной форме;
- конструирование планов проведения требуемых мероприятий с учетом опыта работы ведущих специалистов;
- прогнозирование развития качественных показателей социально-правовых процессов на основе знания причинно-следственных связей и др.
Согласно определению идеальная экспертная система должна обладать способностями: рассуждать на основе символьных преобразований; использовать как общие, так и частные схемы рассуждения; решать трудные задачи из сложных реальных предметных областей; переформулировать запросы и задачи; метарассуждать, т.е. рассуждать о собственной работе и структуре.
Это характеризует экспертную систему как определенный класс вычислительных систем, в составе которых обязательно наличие базы знаний и некой схемы рассуждений, называемой обычно системой (машиной) логического вывода. Кроме того, любая экспертная система должна иметь в своем составе ряд подсистем: приобретения знаний, отображения и принятия решений, а также интерфейс пользователя.
База знаний- хранит в символьном виде общую информацию об известной части предметной области. Основу базы знаний составляют долгосрочные данные (факты) и правила, описывающие их целесообразные преобразования. Например, факты и правила, их применения.
Факт 1. Тихие, темные улицы опасны.
Факт 2. Пожилые люди обычно не совершают дерзких действий.
Факт 3. Милиция защищает людей от преступников.
Правило 1. ЕСЛИ на тихой, темной улице встретился пожилой человек, ТО можно не очень беспокоиться.
Правило 2. ЕСЛИ на тихой, темной улице Вы видите милиционера, ТО можно чувствовать себя в безопасности.
Заметим, что в приведенных примерах все правила выражены условным отношением ЕСЛИ-ТО, т.е. ЕСЛИ выполняется некоторое условие, ТО последует определенное действие или какая-либо другая реакция. Факты и правила могут быть разной сложности. Обычно при достижении цели связывают сложные совокупности фактов и правил.
Машина логического выводана основе входных данных и знаний о проблемной области (из базы знаний) формирует решение задачи, т.е. выполняет заключение на основании некоторых правил и генерирует новые факты, которые добавляются к знаниям субъекта.
Интерфейс пользователя осуществляет преобразование естественно-языковых данных параметров ситуации в представление на внутреннем языке системы.
Функция модуля приобретения знаний состоит в обеспечении возможности переноса знаний о некоторой предметной области в базу знаний экспертной системы. Как правило, эти знания, носящие эмпирический характер, накапливаются экспертом в результате длительного опыта. Задача модуля приобретения знаний - обеспечить отражение этих знаний на программно-аппаратных средствах ЭВМ.
С помощью модуля отображения и объяснения решений происходит отображение промежуточных и окончательных решений и объяснение пользователю действий системы. Как правило, такая подсистема отвечает на вопросы типа: «Как достигнуто то или иное заключение», «Почему оно было достигнуто или почему были отброшены другие альтернативы». Многие специалисты полагают, что наличие модуля объяснения является той важной особенностью экспертной системы, которая обеспечивает необходимый уровень доверия пользователя.
Задача, для которой разрабатывается экспертная система, должна обладать некоторыми специфическими свойствами.
Прежде всего, задача должна быть решена путем применения эвристических правил оперирования различными символьными структурами. Главная особенность эвристических правил состоит в том, что они формируются на основе практических знаний эксперта, которые не поддаются математическому описанию. Если же задача может быть решена математически, то именно такой подход и должен быть использован.
Чрезвычайно важной является широта постановки задачи. На первый взгляд кажется, что возможно создание экспертной системы, охватывающей все предметные области, допустим, юридической деятельности, или, по крайней мере, ее отдельных направлений, например экспертной системы для использования в работе адвоката. Это глубокое заблуждение.
Прежде всего, следует учитывать, что для решения всех возможных задач во всех предметных областях необходимо бесконечное число фактов и правил. Даже, если бы такая система была создана, понадобилось бы длительное время на наполнение ее знаниями. Более того, сегодня еще нет ЭВМ, способной хранить и обрабатывать такой объем информации. Поэтому следует ограничиться теми предметными областями, в которых объем информации не слишком велик, например, создать экспертную систему для решения некоторых проблем, связанных с материальной ответственностью в ряде конкретных направлений хозяйственной деятельности.
Итак, задача должна быть достаточно узкой, чтобы избежать комбинаторного взрыва, и достаточно широкой, чтобы представлять практический интерес. При этом задача не должна быть чрезмерно сложной, чтобы эксперт мог предложить решение, не прибегая к дополнительным исследованиям, потратив на решение несколько часов. Однако задача не должна быть и слишком простой. Это может быть задача из такой области знаний, где человеку нужно затратить годы учения и практики, чтобы стать специалистом.
В ресурсном обеспечении можно выделить следующие вопросы:
1) наличие компетентных экспертов; 2) существование программных и аппаратных средств; 3) финансирование.
Современное состояние развития программных и аппаратных средств создания экспертных систем позволяет реализовать их практически для большинства областей приложений.
При создании экспертной системы, прежде всего, возникает вопрос о стоимости и времени разработки коммерческой системы, а именно системы такого уровня совершенства представляют интерес для практических юристов. На создание простых экспертных систем, рассчитанных на широкий круг пользователей, уходит до четырех лет, стоимость их разработки составляет до 300 тыс. дол. (сложные экспертные системы - до 10 млн. дол.). Однако, несмотря на высокую стоимость и сравнительно длительные сроки разработки, рынок экспертных систем имеет стойкую тенденцию к росту. Например, в США в 1986 г. он составил 130 млн. дол., а в 1995 г. – 8-10 млрд. дол.
Материальные выгоды от внедрения экспертных систем в юридической деятельности довольно трудно оценить из-за отсутствия соответствующих методик и опыта работы. Поэтому проблема эффективности и ее оценки - самостоятельная сложная задача.
Исходя из мировой практики, в инструментальные средства экспертных систем в широком понимании включаются два компонента: аппаратный и программный инструментарий.
Аппаратные варианты создания экспертных систем
Аппаратура, используемая для построения экспертных систем, следующая: ПЭВМ; интеллектуальные рабочие станции; последовательные символьные ЭВМ типа ЛИСП и ПРОЛОГ-машин; ЭВМ общего назначения (универсальные); параллельные символьные ЭВМ.
В нашей стране ни последовательные ЛИСП или ПРОЛОГ, ни параллельные ЭВМ не выпускаются. Без использования параллельных символьных ЭВМ выполнение наиболее сложных экспертных систем невозможно. Эти ЭВМ позволяют достичь высочайшего быстродействия при решении символьных задач. Так, ЭВМ Connection имеет максимальное быстродействие 7 млрд. символьных операций в секунду. Параллельные символьные ЭВМ работают в 100-1000 раз быстрее, чем «быстрейшие» последовательные ЭВМ.
При отсутствии символьных ЭВМ обоих типов, универсальных машин и интеллектуальных рабочих станций создание экспертных систем возможно только на персональных ЭВМ. Но такое существенное ограничение в выборе типа аппаратуры не препятствует созданию качественной экспертной системы, т.к. для персоналок характерно постоянное увеличение производительности, технических и потребительских характеристик. Большинство экспертных систем разрабатывается для микроЭВМ, совместимых с IBM.
Программные варианты создания экспертных систем
Широкое распространение персональных компьютеров стимулировало для них стремительную разработку значительного числа программных инструментальных средств, среди которых для создания экспертных систем можно выделить пять уровней (классов):
- процедурные (фон-неймановские) языки программирования - Паскаль, Си, Бейсик, Фортран;
- один из специализированных языков искусственного интеллекта - Лисп или Пролог;
- языки представления знаний, например OPS5;
- «пустые» экспертные системы;
- «оболочки» экспертных систем.
Экспертные системы, создаваемые с помощью процедурных языков и языков искусственного интеллекта, весьма гибки и позволяют без особых технологических проблем реализовывать сложно структурированные предметные области. Использование процедурных языков позволяет создавать на фон-неймановских ЭВМ (в частности, IBM PC) экспертные системы, наиболее эффективные в смысле быстродействия.
Но это требует участия высококвалифицированного программиста на всех этапах разработки экспертной системы и в процессе ее сопровождения, что затрудняет модернизацию и адаптацию системы к изменяющимся условиям, а также ее применение для близких направлений деятельности. Это объясняется тем обстоятельством, что база знаний экспертной системы «погружена» в программную среду.
Языки представления знаний (ЯПЗ) являются языками более высокого уровня абстракции по сравнению с процедурными языками и языками искусственного интеллекта. Они обеспечивают основные потребности инженерии знаний, но не ориентированы на конкретные стратегии решения задач или схемы представления знаний.
Процедурные и специализированные языки чаше всего используются для создания «проблемно-ориентированных» или «специализированных» экспертных систем, которые применяются в конкретной предметной области. Данные системы содержат базы знаний в фиксированной форме и, практически, не поддаются настройке и изменению.
«Пустые» экспертные системы отличаются от проблемно-ориентированных тем, что в таких системах предметная база знаний пуста, а структуры представления знаний и данных, механизмы доступа и вывода решений уже фиксированы. При использовании инструментария этого типа могут возникнуть следующие проблемы: управляющие стратегии, вложенные в процедуры вывода базовой системы, могут не соответствовать механизмам решения, которые использует эксперт, взаимодействующий с данной системой.
Это в результате приводит к неэффективным, а, возможно, и неправильным решениям. Для конкретного приложения может также не подходить и ЯПЗ базовой системы.
Инструментальными средствами быстрого развертывания новых экспертных систем являются «оболочки» экспертных систем. «Оболочка» содержит основные компоненты, обеспечивающие возможность варьировать в определенных пределах способами представления знаний и логическим выводом, что позволяет при проектировании заниматься в основном спецификой конкретной предметной области.
«Оболочка» работает на системном уровне, т.е. уровне понятий предметной области. При этом основная роль разработчика состоит в наполнении базы знаний знаниями экспертов. «Оболочка» содержит необходимые для пользователя структуры данных и конкретную управляющую стратегию.
Поэтому, объем программирования становится минимальным. Однако возможна потеря гибкости в случае, если предметная область не относится к классу задач, которые имелись в виду при создании конкретной «оболочки». Анализ современных средств позволяет считать «оболочку» удачным программным инструментарием для создания прототипа экспертной системы.
В случае применения конкретной «оболочки» экспертной системы пользователь вынужден ориентироваться на ее формализмы представления знаний и особенности функционирования машины вывода. В этой связи, выбор инструментального средства, подходящего для задач конкретного пользователя, приобретает решающее значение.
Сейчас на рынке экспертных систем за рубежом основную часть продаж составляют именно «оболочки», число которых измеряется сотнями. Они создаются и для «больших» машин, и для машин серии VAX, и для многих других (в том числе, дорогих специализированных станций искусственного интеллекта), но наиболее массовый рынок - это персональные компьютеры, совместимые с IBM. Существует богатый выбор таких систем. В нашей стране можно встретить такие популярные «оболочки», как GURU или VP-EXPERT.