Справочник от Автор24
Поделись лекцией за скидку на Автор24

Сильный искусственный интеллект

  • 👀 321 просмотр
  • 📌 286 загрузок
Выбери формат для чтения
Статья: Сильный искусственный интеллект
Найди решение своей задачи среди 1 000 000 ответов
Загружаем конспект в формате doc
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Конспект лекции по дисциплине «Сильный искусственный интеллект» doc
Содержание Введение 2 1.Основные понятия и определения. 2 2.Область применения. 2 3.Краткий исторический обзор развития работ в области ИИ. 2 4. Состояние и тенденции развития искусственного интеллекта 5 5.Успехи систем искусственного интеллекта и их причины 6 6.Экспертные системы реального времени - основное направление искусственного интеллекта 8 Знания и данные 9 Модели представления знаний 12 1 Продукционная модель 12 2 Семантические сети 13 3 Фреймы 14 4 Формальные логические модели 16 5 Классификация уровней понимания 16 Вывод на знаниях 20 1. Управление выводом 22 2. Методы поиска в глубину и в ширину 24 Работа с нечеткостью 25 1. Основы теории нечетких множеств 25 2. Операции с нечеткими знаниями 27 Архитектура и особенности экспертных систем 29 Классификация экспертных систем 34 1. Классификация по решаемой задаче 34 2. Классификация по связи - реальным временем 36 3.Классификация по типу ЭВМ 36 4.Классификация по степени интеграции с другими программами 36 Разработка экспертных систем 38 1. Выбор подходящей проблемы 38 2. Разработка прототипа 40 3. Развитие прототипа до промышленной ЭС 43 4. Оценка системы 44 5. Стыковка системы 44 6. Поддержка системы 45 Человеческий фактор при разработке ЭС 46 1.Пользователь 47 2.Эксперт 47 3. Программист 47 4. Инженер по знаниям 48 Введение 1.Основные понятия и определения. Искусственный интеллект (ИИ) - это наука о концепциях, позволяющих ЭВМ делать такие вещи, которые у людей выглядят разумными. Но что же представляет собой интеллект человека? Есть ли эта способность размышлять? Есть ли эта способность усваивать и использовать знания? Есть ли эта способность оперировать и обмениваться идеями? Несомненно, все эти способности представляют собой часть того, что является интеллектом. На самом деле дать определение в обычном смысле этого слова, по-видимому, невозможно, потому что интеллект - это сплав многих навыков в области обработки и представления информации. Центральные задачи ИИ состоят в том, что бы сделать ВМ более полезными и чтобы понять принципы, лежащие в основе интеллекта. Поскольку одна из задач состоит в том, чтобы сделать ВМ более полезными, ученым и инженерам, специализирующимся в вычислительной технике, необходимо знать, каким образом ИИ может помочь им в разрешение трудных проблем. 2.Область применения. ◦ Доказательства теорем; ◦ Игры; ◦ Распознавание образов; ◦ Принятие решений; ◦ Адаптивное программирование; ◦ Сочинение машинной музыки; ◦ Обработка данных на естественном языке; ◦ Обучающиеся сети (нейросети); ◦ Вербальные концептуальные обучения. Планы на будущее в области применения ИИ: В сельском хозяйстве компьютеры должны оберегать посевы от вредителей, подрезать деревья и обеспечивать избирательный уход. В горной промышленности компьютеры призваны работать там, где возникают слишком опасные условия для людей. В сфере производства ВМ должны выполнять различного вида задачи по сборке и техническом контроле. В учреждениях ВМ обязаны заниматься составлением расписаний для коллективов и отдельных людей, делать краткую сводку новостей. В учебных заведениях ВМ должны рассматривать задачи, которые решают студенты, в поисках ошибок, подобно тому как ищутся ошибки в программе, и устранять их. Они должны обеспечивать студентов суперкнигами, хранящимися в памяти вычислительных систем. В больницах ВМ должны помогать ставить диагноз, направлять больных в соответствующие отделения, контролировать ход лечения. В домашнем хозяйстве ВМ должны помогать советами по готовке пищи, закупке продуктов, следить за состоянием пола в квартире и газона в саду. Конечно, в настоящее время ни одна из этих вещей не представляется возможной, но исследования в области ИИ могут способствовать их реализации. 3.Краткий исторический обзор развития работ в области ИИ. Начало исследований в области ИИ (конец 50-х годов) связывают с работами Ньюэлла, Саймана и Шоу, исследовавших процессы решения различных задач. Результатами их работ явились такие программы как "ЛОГИК-ТЕОРЕТИК", предназначенная для доказательства теорем в исчислении высказываний, и "ОБЩИЙ РЕШАТЕЛЬ ЗАДАЧ". Эти работы положили начало первому этапу исследований в области ИИ, связанному с разработкой программ, решающих задачи на основе применения разнообразных эвристических методов. Эвристический метод решения задачи при этом рассматривался как свойственный человеческому мышлению "вообще", для которого характерно возникновение догадок о пути решения задачи с последующей проверкой их. Ему противопоставлялся используемый в ЭВМ алгоритмический метод, который интерпретировался как механическое осуществление заданной последовательности шагов, детерминированно приводящей к правильному ответу. Трактовка эвристических методов решения задач как сугубо человеческой деятельности и обусловила появление и дальнейшее распространение термина ИИ. Так, при описании своих программ Ньюэлл и Саймон приводили в качестве доводов, подтверждающих, что их программы моделируют человеческое мышление, результаты сравнения записей доказательств теорем в виде программ с записями рассуждения человека. В начале 70-х годов они опубликовали много данных подобного рода и предложили общую методику составления программ, моделирующих мышление. Примерно в то время, когда работы Ньюэлла и Саймона стали привлекать к себе внимание, в Массачусетсском технологическом институте, Стэнфордском университете и Стэнфордском исследовательском институте также сформировались исследовательские группы в области ИИ. В противоположность ранним работам Ньюэлла и Саймона эти исследования больше относились к формальным математическим представлениям. Способы решения задач в этих исследованиях развивались на основе расширения математической и символической логики. Моделированию же человеческого мышления придавалось второстепенное значение. На дальнейшие исследования в области ИИ большое влияние оказало появление метода резолюций Робинсона, основанного на доказательстве теорем в логике предикатов и являющегося исчерпывающим методом доказательства. При этом определение термина ИИ претерпело существенное изменение. Целью исследований, проводимых в направлении ИИ, стала разработка программ, способных решать "человеческие задачи". Так, один из видных исследователей ИИ того времени Р. Бенерджи в 1969 году писал: "Область исследований, обычно называемую ИИ, вероятно, можно представить как совокупность методов и средств анализа и конструирования машин, способных выполнять задания, с которыми до недавнего времени мог справиться только человек. При этом по скорости и эффективности машины должны быть сравнимы с человеком." Функциональный подход к направленности исследований по ИИ сохранился в основном до настоящего времени, хотя еще и сейчас ряд ученых, особенно психологов, пытаются оценивать результаты работ по ИИ с позиций их соответствия человеческому мышлению. Исследовательским полигоном для развития методов ИИ на первом этапе явились всевозможные игры, головоломки, математические задачи. Некоторые из этих задач стали классическими в литературе по ИИ (задачи об обезьяне и бананах, миссионерах и людоедах, Ханойской башне игра в 15 и другие). Выбор таких задач обуславливался простотой и ясностью проблемной среды (среды, в которой разворачивается решение задачи), ее относительно малой громоздкостью, возможностью достаточно легкого подбора и даже искусственного конструирования "под метод". Основной расцвет такого рода исследований приходится на конец 60-х годов, после чего стали делаться первые попытки применения разработанных методов для задач, решаемых не в искусственных, а в реальных проблемных средах. Необходимость исследования систем ИИ при их функционировании в реальном мире привело к постановке задачи создания интегральных роботов. Проведение таких работ можно считать вторым этапом исследований по ИИ. В Стэнфордском университете, Стэнфордском исследовательском институте и некоторых других местах были разработаны экспериментальные роботы, функционирующие в лабораторных условиях. Проведение этих экспериментов показало необходимость решения кардинальных вопросов, связанных с проблемой представления знаний о среде функционирования, и одновременно недостаточную исследованность таких проблем, как зрительное восприятие, построение сложных планов поведения в динамических средах, общение с роботами на естественном языке. Эти проблемы были более ясно сформулированы и поставлены перед исследователями в середине 70-х гг, связанных с началом третьего этапа исследований систем ИИ. Его характерной чертой явилось смещение центра внимания исследователей с создания автономно функционирующих систем, самостоятельно решающих в реальной среде поставленные перед ними задачи, к созданию человеко-машинных систем, интегрирующих в единое целое интеллект человека и способности ВМ для достижения общей цели - решение задачи, поставленной перед интегральной человеко-машинной решающей системой. Такое смещение обуславливалось двумя причинами: ◦ К этому времени выяснилось, что даже простые на первый взгляд задачи, возникающие перед интегральным роботом при его функционирование в реальном времени, не могут быть решены методами, разработанными для экспериментальных задач специально сформированных проблемных средах; ◦ Стало ясно, что сочетание дополняющих друг друга возможностей человека и ЭВМ позволяет обойти острые углы путем перекладывания на человека тех функций, которые пока еще не доступны для ЭВМ. На первый план выдвигалась не разработка отдельных методов машинного решения задач, а разработка методов средств, обеспечивающих тесное взаимодействие человека и вычислительной системы в течение всего процесса решения задачи с возможностью оперативного внесения человеком изменений в ходе этого процесса. Развитие исследований по ИИ в данном направлении обусловливалось также резким ростом производства средств вычислительной техники и также резким их удешевлением, делающим их потенциально доступными для более широких кругов пользователей. 4. Состояние и тенденции развития искусственного интеллекта Программные средства, базирующиеся на технологии и методах искусственного интеллекта, получили значительное распространение в мире. Их важность, и, в первую очередь, экспертных систем и нейронных сетей, состоит в том, что данные технологии существенно расширяют круг практически значимых задач, которые можно решать на компьютерах, и их решение приносит значительный экономический эффект. В то же время, технология экспертных систем является важнейшим средством в решении глобальных проблем традиционного программирования: длительность и, следовательно, высокая стоимость разработки приложений; высокая стоимость сопровождения сложных систем; повторная используемость программ и т.п. Кроме того, объединение технологий экспертных систем и нейронных сетей с технологией традиционного программирования добавляет новые качества к коммерческим продуктам за счет обеспечения динамической модификации приложений пользователем, а не программистом, большей "прозрачности" приложения (например, знания хранятся на ограниченном естественном языке, что не требует комментариев к ним, упрощает обучение и сопровождение), лучших графических средств, пользовательского интерфейса и взаимодействия. По мнению специалистов, в недалекой перспективе экспертные системы будут играть ведущую роль во всех фазах проектирования, разработки, производства, распределения, продажи, поддержки и оказания услуг. Их технология, получив коммерческое распространение, обеспечит революционный прорыв в интеграции приложений из готовых интеллектуально-взаимодействующих модулей. Коммерческий рынок продуктов искусственного интеллекта в мире в 1993 году оценивался примерно в 0,9 млрд. долларов; из них 600 млн. приходится на долю США. Выделяют несколько основных направлений этого рынка: 1) экспертные системы; теперь их часто обозначают еще одним термином - "системы, основанные на знаниях"; 2) нейронные сети и "размытые" (fuzzy) логики; 3) естественно-языковые системы. В США в 1993 году рынок между этими направлениями распределился так: экспертные системы - 62%, нейронные сети - 26%, естественно-языковые системы - 12%. Рынок этот можно разделить и иначе: на системы искусственного интеллекта (приложения) и инструментальные средства, предназначенные для автоматизации всех этапов существования приложения. В 1993 году в общем объеме рынка США доля приложений составила примерно две, а доля инструментария - примерно одну треть. Одно из наиболее популярных направлений последних пяти лет связано с понятием автономных агентов. Их нельзя рассматривать как "подпрограммы", - это скорее прислуга, даже компаньон, поскольку одной из важнейших их отличительных черт является автономность, независимость от пользователя. Идея агентов опирается на понятие делегирования своих функций. Другими словами, пользователь должен довериться агенту в выполнении определенной задачи или класса задач. Всегда существует риск, что агент может что-то перепутать, сделать что-то не так. Следовательно, доверие и риск должны быть сбалансированными. Автономные агенты позволяют существенно повысить производительность работы при решении тех задач, в которых на человека возлагается основная нагрузка по координации различных действий. В том, что касается автономных (интеллектуальных) агентов, хотелось бы отметить один весьма прагматический проект, который сейчас ведется под руководством профессора Генри Либермана в Media-лаборатории MIT (MIT Media Lab). Речь идет об агентах, отвечающих за автоматическое генерирование технической документации. Для решения этой задачи немало сделал в свое время академик Андрей Петрович Ершов, сформулировавший понятие деловой прозы как четко определенного подмножества естественного языка, которое может быть использовано, в частности, для синтеза технической документации (это одно из самых узких мест в любом производстве). Группа под руководством профессора Либермана исследует возможности нового подхода к решению этой проблемы, теперь уже на основе автономных агентов. Следующее направление в области искусственной жизни - генетическое программирование (genetic programming) - является попыткой использовать метафору генной инженерии для описания различных алгоритмов. Строки (string) искусственной "генетической" системы аналогичны хромосомам в биологических системах. Законченный набор строк называется структурой (structure). Структуры декодируются в набор параметров, альтернативы решений или точку в пространстве решений. Строки состоят из характеристик, или детекторов, которые могут принимать различные значения. Детекторы могут размещаться на разных позициях в строке. Все это сделано по аналогии с реальным миром. В природных системах полный генетический пакет называется генотипом. Организм, который образуется при взаимодействии генотипа с окружающей средой, носит название фенотипа. Хромосомы состоят из генов, которые могут принимать разные значения. (Например, ген цвета для глаза животного может иметь значение "зеленый" и позицию 10). В генетических алгоритмах роль основных строительных блоков играют строки фиксированной длины, тогда как в генетическом программировании эти строки разворачиваются в деревья, столь знакомые специалистам в области трансляции. Например, выражение a+b*c выглядит так: Ныне одним из лидеров в области генетического программирования является группа исследователей из Стэндфордского университета (Stanford University), работающая под руководством профессора Джона Коза. Генетическое программирование вдохнуло новую жизнь в хорошенько уже подзабытый язык LISP (List Processing), который создавался группой Джона Маккарти (того самого, кто в 60-е годы ввел в наш обиход термин "искусственный интеллект") как раз для обработки списков и функционального программирования. Кстати, именно этот язык в США был и остается одним из наиболее распространенных языков программирования для задач искусственного интеллекта. 5.Успехи систем искусственного интеллекта и их причины Использование экспертных систем и нейронных сетей приносит значительный экономический эффект. Так, например: - American Express сократила свои потери на 27 млн. долларов в год благодаря экспертной системе, определяющей целесообразность выдачи или отказа в кредите той или иной фирме; - DEC ежегодно экономит 70 млн. долларов в год благодаря системе XCON/XSEL, которая по заказу покупателя составляет конфигурацию вычислительной системы VAX. Ее использование сократило число ошибок от 30% до 1%; - Sira сократила затраты на строительство трубопровода в Австралии на 40 млн. долларов за счет управляющей трубопроводом экспертной системы, реализованной на базе описываемой ниже системы G2. Коммерческие успехи к экспертным системам и нейронным сетям пришли не сразу. На протяжении ряда лет (с 1960-х годов) успехи касались в основном исследовательских разработок, демонстрировавших пригодность систем искусственного интеллекта для практического использования. Начиная примерно с 1985 (а в массовом масштабе, вероятно, с 1988-1990 годов), в первую очередь, экспертные системы, а в последние два года и нейронные сети стали активно использоваться в реальных приложениях. Причины, приведшие системы искусственного интеллекта к коммерческому успеху, следующие: 1. Специализация. Переход от разработки инструментальных средств общего назначения к проблемно/предметно специализированным средствам], что обеспечивает сокращение сроков разработки приложений, увеличивает эффективность использования инструментария, упрощает и ускоряет работу эксперта, позволяет повторно использовать информационное и программное обеспечение (объекты, классы, правила, процедуры). 2. Использование языков традиционного программирования и рабочих станций. Переход от систем, основанных на языках искусственного интеллекта (Lisp, Prolog и т.п.), к языкам традиционного программирования (С, С++ и т.п.) упростил "интегрированность" и снизил требования приложений к быстродействию и емкости памяти. Использование рабочих станций вместо ПК резко увеличило круг возможных приложений методов искусственного интеллекта. 3. Интегрированность. Разработаны инструментальные средства искусственного интеллекта, легко интегрирующиеся с другими информационными технологиями и средствами (с CASE, СУБД, контроллерами, концентраторами данных и т.п.). 4. Открытость и переносимость. Разработки ведутся с соблюдением стандартов, обеспечивающих данные характеристики . 5. Архитектура клиент/сервер. Разработка распределенной информационной системы в данной архитектуре позволяет снизить стоимость оборудования, используемого в приложении, децентрализовать приложения, повысить надежность и общую производительность, поскольку сокращается объем информации, пересылаемой между ЭВМ, и каждый модуль приложения выполняется на адекватном оборудовании. Перечисленные причины могут рассматриваться как общие требования к инструментальным средствам создания систем искусственного интеллекта. Из пяти факторов, обеспечивших их успех в передовых странах, в России, пожалуй, полностью не реализованы четыре с половиной (в некоторых отечественных системах осуществлен переход к языкам традиционного программирования, однако они, как правило, ориентированы среду на MS-DOS, а не ОС UNIX или Windows NT. Кроме того, в России и СНГ в ряде направлений исследования практически не ведутся, и, следовательно, в этих направлениях (нейронные сети; гибридные системы; рассуждения, основанные на прецедентах; рассуждения, основанные на ограничениях) нельзя ожидать и появления коммерческих продуктов. Итак, в области искусственного интеллекта наибольшего коммерческого успеха достигли экспертные системы и средства для их разработки. В свою очередь, в этом направлении наибольшего успеха достигли проблемно/предметно специализированные средства. Если в 1988 году доход от них составил только 3 млн. долларов, то в 1993 году - 55 млн. долларов. 6.Экспертные системы реального времени - основное направление искусственного интеллекта Среди специализированных систем, основанных на знаниях, наиболее значимы экспертные системы реального времени, или динамические экспертные системы. На их долю приходится 70 процентов этого рынка. Значимость инструментальных средств реального времени определяется не столько их бурным коммерческим успехом (хотя и это достойно тщательного анализа), но, в первую очередь, тем, что только с помощью подобных средств создаются стратегически значимые приложения в таких областях, как управление непрерывными производственными процессами в химии, фармакологии, производстве цемента, продуктов питания и т.п., аэрокосмические исследования, транспортировка и переработка нефти и газа, управление атомными и тепловыми электростанциями, финансовые операции, связь и многие другие. Классы задач, решаемых экспертными системами реального времени, таковы: мониторинг в реальном масштабе времени, системы управления верхнего уровня, системы обнаружения неисправностей, диагностика, составление расписаний, планирование, оптимизация, системы-советчики оператора, системы проектирования. Статические экспертные системы не способны решать подобные задачи, так как они не выполняют требования, предъявляемые к системам, работающим в реальном времени: 1. Представлять изменяющиеся во времени данные, поступающие от внешних источников, обеспечивать хранение и анализ изменяющихся данных. 2. Выполнять временные рассуждения о нескольких различных асинхронных процессах одновременно (т.е. планировать в соответствии с приоритетами обработку поступивших в систему процессов). 3. Обеспечивать механизм рассуждения при ограниченных ресурсах (время, память). Реализация этого механизма предъявляет требования к высокой скорости работы системы, способности одновременно решать несколько задач (т.е. операционные системы UNIX, VMS, Windows NT, но не MS-DOS). 4. Обеспечивать "предсказуемость" поведения системы, т.е. гарантию того, что каждая задача будет запущена и завершена в строгом соответствии с временными ограничениями. Например, данное требование не допускает использования в экспертной системе реального времени механизма "сборки мусора", свойственного языку Lisp. 5. Моделировать "окружающий мир", рассматриваемый в данном приложении, обеспечивать создание различных его состояний. 6. Протоколировать свои действия и действия персонала, обеспечивать восстановление после сбоя. 7. Обеспечивать наполнение базы знаний для приложений реальной степени сложности с минимальными затратами времени и труда (необходимо использование объектно-ориентированной технологии, общих правил, модульности и т.п.). 8. Обеспечивать настройку системы на решаемые задачи (проблемная/предметная ориентированность). 9. Обеспечивать создание и поддержку пользовательских интерфейсов для различных категорий пользователей. 10. Обеспечивать уровень защиты информации (по категориям пользователей) и предотвращать несанкционированный доступ. Подчеркнем, что кроме этих десяти требований средства создания экспертных систем реального времени должны удовлетворять и перечисленным выше общим требованиям. Знания и данные Если у вас есть проблема или задача, которую нельзя решить самостоятель­но — вы обращаетесь к знающим людям, или к экспертам, к тем, кто обла­дает ЗНАНИЯМИ. Термин "системы, основанные на знаниях" (knowledge-based systems) появился в 1976 году одновременно с первыми системами, аккумулирующими опыт и знания экспертов. Это были экспертные системы (expert systems) MYCIN и DENDRAL Shortline, 1976; Shortltffe Feigenbaum, Buchanan, 1978] для медицины и химии. Они ставили диагноз при инфек­ционных заболеваниях крови и расшифровывали данные масс-спектрогра­фического анализа. Экспертные системы появились в рамках исследований по искусственному интеллекту (ИИ) (artificial intelligence) в тот период, когда эта наука пережи­вала серьезный кризис, и требовался существенный прорыв в развитии практических приложений. Этот прорыв произошел, когда на смену поис­кам универсального алгоритма мышления и решения задач исследователям пришла идея моделировать конкретные знания специалистов-экспертов. Так в США появились первые коммерческие системы, основанные на знани­ях, или экспертные системы (ЭС). Эти системы по праву стали первыми ин­теллектуальными системами, и до сих пор единственным критерием интел­лектуальности является наличие механизмов работы со знаниями. Так появился новый подход к решению задач искусственного интеллекта — представление знаний. Подробнее об истории искусственного интеллекта можно почитать в [По­спелов, 1986; Джексон, 2001; Гаврилова, Хорошевский, 2001; Эндрю, 1985]. При изучении интеллектуальных систем традиционно возникает вопрос — Что же такое знания и чем они отличаются от обычных данных, десятилетиями обрабатываемых на компьютерах. Можно предложить несколько ра­бочих определений, в рамках которых это становится очевидным. Определение 1.1 Данные— это информация, полученная в результате наблюдений или измере­ний отдельных свойств (атрибутов), характеризующих объекты, процессы и яв­ления предметной области. Иначе, данные — это конкретные факты, такие как температура воздуха, высота здания, фамилия сотрудника, адрес сайта и пр. При обработке на ЭВМ данные трансформируются, условно проходя сле­дующие этапы: DI — данные как результат измерений и наблюдений; D2 - данные на материальных носителях информации (таблицы, прото­колы, справочники); D3 - модели (структуры) данных в виде диаграмм, графиков, функций; D4- данные в компьютере на языке описания данных; D5 — базы данных на машинных носителях информации. Знания же основаны на данных, полученных эмпирическим путем. Они представляют собой результат опыта и мыслительной деятельности челове­ка, направленной на обобщение этого опыта, полученного в результате практической деятельности. Так, если вооружить человека данными о том, что у него высокая темпера­тура (результат наблюдения или измерения), то этот факт не позволит ему решить задачу выздоровления. А если опытный врач поделится знаниями о том, что температуру можно снизить жаропонижающими препаратами и обильным питьем, то это существенно приблизит решение задачи выздо­ровления, хотя на самом деле нужны дополнительные данные и более глу­бокие знания. Определение 1.2 Знания — это связи и закономерности предметной области (принципы, модели, законы), полученные е результате практической деятельности и профессио­нального опыта, позволяющего специалистам ставить и решать задачи в дан­ной области. При обработке на ЭВМ знания трансформируются аналогично данным: Z1 — знания в памяти человека как результат анализа опыта и мыш­ления; Z2 — материальные носители знаний (специальная литература, учебни­ки, методические пособия); Z3 — поле знаний — условное описание основных объектов предметной области, их атрибутов и закономерностей, их связывающих; Z4 — знания, описанные на языках представления знаний (продукцион­ные языки, семантические сети, фреймы — см. далее); Z5 — база знаний на машинных носителях информации. Часто используется и такое определение знаний: Знания— это хорошо структурированные данные, или данные о данных, или метаданные. Ключевым этапом при работе со знаниями является формирование поля знаний (третий этап Z3), эта нетривиальная задача включает выявление и определение объектов и понятий предметной области, их свойств и связей между ними, а также представление их в наглядной и интуитивно понятной форме. Этот термин впервые был введен при практической разработке экспертной системы по психодиагностике АВТАНТЕСТ [Гаврилова, 1984] и теперь широко используется разработчиками ЭС. Без тщательной проработки поля знаний не может быть речи о создании {базы знаний. Существенным для понимания природы знаний являются способы опреде­ления понятий. Один из широко применяемых способов основан на идее интенсионала и экстенсионала. Определение 1.3 Интенсивная понятия — это определение его через соотнесение с понятием более высокого уровня абстракции с указанием специфических свойств. Например, интенсионал понятия "МЕБЕЛЬ": "предметы, предназначенные для обеспечения комфортного проживания человека и загромождающие" Определение 1.4 Экстенсионал — это определение понятия через перечисление его конкретных примеров, т. е. понятий более низкого уровня абстракции. Экстенсионал понятия "МЕБЕЛЬ": "Шкаф, диван, стол, стул и т. д.". Интенсионалы формируют знания об объектах, в то время как экстенсионал объединяет данные. Вместе они формируют элементы поля знаний кон­кретной предметной области. Для хранения данных используются базы данных (для них характерны большой объем и относительно небольшая удельная стоимость информации), для хранения знаний — базы знаний (небольшого объема, но исключительно дорогие информационные массивы). База знаний — основа любой интеллектуальной системы, где знания описаны на некотором языке представления знаний, приближенном к естествен­ному. Знания можно разделить на: глубинные; поверхностные. Поверхностные — знания о видимых взаимосвязях между отдельными собы­тиями и фактами в предметной области. Глубинные— абстракции, аналогии, схемы, отображающие структуру и при­роду процессов, протекающих в предметной области. Эти знания объясняют явления и могут использоваться для прогнозирования поведения объектов. Поверхностные знания "Если ввести правильный пароль, на экране компьютера появится изображение рабочего стола". Глубинные знаний "Понимание принципов работы операционной системы и знания на уровне ква­лифицированного системного администратора". Современные экспертные системы работают, в основном, с поверхностны­ми знаниями. Это связано с тем, что на данный момент нет универсальных методик, позволяющих выявлять глубинные структуры знаний и работать с ними. Кроме того, в учебниках по ИИ знания традиционно делят на процедурные и декларативные. Исторически первичными были процедурные знания, т. е. знания, "растворенные" в алгоритмах. Они управляли данными. Для их из­менения требовалось изменять текст программ. Однако с развитием инфор­матики и программного обеспечения все большая часть знаний сосредота­чивалась в структурах данных (таблицы, списки, абстрактные типы данных), т. е. увеличивалась роль декларативных знаний. Сегодня знания приобрели чисто декларативную форму, т. е. знаниями счи­таются предложения, записанные на языках представления знаний, при­ближенных к естественному языку и понятных неспециалистам. Один из пионеров ИИ Алан Ньюэлл проиллюстрировал эволюцию средств общения человека с компьютером как переход от машинных кодов через символьные языки программирования к языкам представления знаний (рис. 1.1). Модели представления знаний В настоящее время разработаны десятки моделей (или языков) представле­ния знаний для различных предметных областей. Большинство из них мо­жет быть сведено к следующим классам: продукционные модели; семантические сети; фреймы; формальные логические модели. В свою очередь это множество классов можно разбить на две большие группы (рис. 1.2): модульные; сетевые. Модульные языки оперируют отдельными (не связанными) элементами зна­ний, будь то правила или аксиомы предметной области. Сетевые языки предоставляют возможность связывать эти элементы или фрагменты знаний через отношения в семантические сети или сети фреймов. Рассмотрим подробнее наиболее популярные у разработчиков языки пред­ставления знаний (ЯПЗ). 1 Продукционная модель ЯПЗ, основанные на правилах (rule-based), являются наиболее распростра­ненными и более 80% ЭС используют именно их. Определение 1.5 Продукционная модель или модель, основанная на правилах, позволяет пред­ставить знания в виде предложений типа "Если (условие), то (действие)". Под "условием" (антецедентом) понимается некоторое предложение-образец, по которому осуществляется поиск в базе знаний, а под "действи­ем" (консеквентном) — действия, выполняемые при успешном исходе поиска (они могут быть промежуточными, выступающими далее как условия, и терминальными или целевыми, завершающими работу системы). Чаще всего вывод на такой базе знаний бывает прямой (от данных к поиску цели) или обратный (от цели для ее подтверждения — к данным). Дан­ные — это исходные факты, хранящиеся в базе фактов, на основании кото­рых запускается машина вывода или интерпретатор правил, перебирающий правила из продукционной базы знаний. Продукционная, модель так часто применяется в промышленных эксперт­ных системах, поскольку привлекает разработчиков своей наглядностью, высокой модульностью, легкостью внесения дополнений и изменений и простотой механизма логического вывода. Имеется большое число программных средств, реализующих продукцион­ный подход (например, языки высокого уровня CLIPS и OPS 5; "оболочки" или "пустые" ЭС — EXSYS Professional и Карра, инструментальные системы KEE, ARTS, PIES [Хорошевский, 1993]), а также промышленных ЭС на его основе (например, ЭС, созданных средствами G2 [Попов, 1996]). Подробнее см. [Попов, Фоминых и др., 1996; Хорошевский, 1993; Гаврилова, Хорошев­ский, 2001; Durkin, 1998]. 2 Семантические сети Термин "семантическая"означает "смысловая", а сама семантика— это нау­ка, устанавливающая отношения между символами и объектами, которые они обозначают, т. е. наука, определяющая смысл знаков. Модель на основе семантических сетей была предложена американским психологом Куиллианом. Основным ее преимуществом является то, что она более других соот­ветствует современным представлениям об организации долговременной памяти человека [Скрэгг, 1983]. Определение 1.6 Семантическая сеть — это ориентированный граф, вершины которого — по­нятия, а дуги — отношения между ними. В качестве понятий обычно выступают абстрактные или конкретные объек­ты, а отношения это связи типа: "это" ("АКО — A-Kind-Of", "is" или "эле­мент класса"), "имеет частью" ("has part"), "принадлежит", "любит". Можно предложить несколько классификаций семантических сетей, свя­занных с типами отношений между понятиями. Л По количеству типов отношений: • однородные (с единственным типом отношений); • неоднородные (с различными типами отношений). О По типам отношений: • бинарные (в которых отношения связывают два объекта); • N-арные (в которых есть специальные отношения, связывающие бо­ лее двух понятий). Наиболее часто в семантических сетях используются следующие отношения: • элемент класса (роза это цветок); • атрибутивные связи /иметь свойство (память имеет свойство — объем); • значение свойства (цвет имеет значение — желтый); • пример элемента класса (роза, например — чайная); • связи типа "часть-целое" (велосипед включает руль); • функциональные связи (определяемые обычно глаголами "производит", "влияет"...); • количественные (больше, меньше, равно...); • пространственные (далеко от, близко от, за, под, над...); временные (раньше, позже, в течение...); • логические связи (и, или; не) и др. Минимальный состав отношений в семантической сети таков: • элемент класса или АКО; • атрибутивные связи /иметь свойство; • значение свойства. Недостатком этой модели является сложность организации процедуры орга­низации вывода на семантической сети. Эта проблема сводится к нетривиальной задаче поиска фрагмента сети, соответствующего некоторой подсети, отражающей поставленный запрос к базе. На рис. 1.3 изображен пример семантической сети. В качестве вершин тут выступают понятия "человек", "т. Смирнов", "Audi A4", "автомобиль", "вил транспорта" и "двигатель". Рис. 1.3. Семантическая сеть Для реализации семантических сетей существуют специальные сетевые язы­ки, например, NET [Цейтин, 1985], язык реализации систем SIMER + MIR [Осипов, 1997] и др. Широко известны экспертные системы, использую­щие семантические сети в качестве языка представления знаний — PROSPECTOR, CASNET, TORUS [Хейес-Рот и др., 1987; Durkin, 1998|. 3 Фреймы Термин фрейм (от англ. frame — "каркас" или "рамка") был предложен Марвином Минским [Минский, 1979], одним из пионеров ИИ, в 70-е годы для обозначения структуры знаний для восприятия пространственных сцен. Эта модель, как и семантическая сеть, имеет глубокое психологическое обосно­вание. Определение 1.7 Фрейм — это абстрактный образ для представления стереотипа объекта, поня­тия или ситуации. Интуитивно понятно, что под абстрактным образом понимается некоторая обобщенная и упрощенная модель или структура. Например, произнесение вслух слова "комната" порождает у слушающих образ комнаты: "жилое по­мещение с четырьмя стенами, полом, потолком, окнами и дверью, пло­щадью 6—20 м2". Из этого описания ничего нельзя убрать (например, убрав окна, мы получим уже чулан, а не комнату), но в нем есть "дырки" или "слоты"— это незаполненные значения некоторых атрибутов— например, количество окон, цвет стен, высота потолка, покрытие пола и др. В теории фреймов такой образ комнаты называется фреймом комнаты, фреймом также называется и формализованная модель для отображения образа. Различают фреймы-образцы или прототипы, хранящиеся в базе знаний, и фреймы-экземпляры, которые создаются для отображения реальных фактиче­ских ситуаций на основе поступающих данных. Модель фрейма является 1остаточно универсальной, поскольку позволяет отобразить все многообразие знаний о мире через: фреймы- структуры, использующиеся для обозначения объектов и поня­тий (заем, залог, вексель); фреймы-роли (менеджер, кассир, клиент); фреймы-сценарии (банкротство, собрание акционеров, празднование именин); фреймы-ситуации (тревога, авария, рабочий режим устройства) и др. Традиционно структура фрейма может быть представлена как список свойств: (ИМЯ ФРЕЙМА: (имя 1-го слота: значение 1-го слота), (имя 2-го слота: значение 2-го слота), … (имя N-гo слота: значение N-го слота)). Ту же запись можно представить в виде таблицы (см. табл. 1.1), дополнив ее двумя столбцами. Таблица 1.1 Структура фрейма Имя фрейма Имя слота Значение слота Способ получения значения Присоединенная процедура В таблице дополнительные столбцы (3-й и 4-й) предназначены для описа-1ия способа получения слотом его значения и возможного присоединения к тому или иному слоту специальных процедур, что допускается в теории фреймов. В качестве значения слота может выступать имя другого фрейма, гак образуются сети фреймов. Существует несколько способов получения слотом значений во фрейме-экземпляре: • по умолчанию от фрейма-образца (Default-значение); • через наследование свойств от фрейма, указанного в слоте АКО; • по формуле, указанной в слоте; • через присоединенную процедуру; • явно из диалога с пользователем; • из базы данных. Важнейшим свойством теории фреймов является заимствование из теории семантических сетей — так называемое наследование свойств. И во фрей­мах, и в семантических сетях наследование происходит по АКО-связям (A-Kind-Of = это). Слот АКО указывает на фрейм более высокого уровня иерархии, откуда неявно наследуются, т. е. переносятся, значения анало­гичных слотов. Например, в сети фреймов на рис. 1.4 понятие "ученик" наследует свойства фреймов "ребенок" и "человек", которые находятся на более высоком уровне иерархии. На вопрос "любят ли ученики сладкое?" следует ответ "да", т. к. этим свойством обладают все дети, что указано во фрейме "ребенок". На­следование свойств может быть частичным: возраст для учеников не насле­дуется из фрейма "ребенок", поскольку указан явно в своем собственном фрейме. Рис. 1.4. Сеть фреймов Основным преимуществом фреймов как модели представления знаний яв­ляется то, что она отражает концептуальную основу организации памяти человека, а также ее гибкость и наглядность. 4 Формальные логические модели Традиционно в представлении знаний выделяют формальные логические мо­дели, основанные на классическом исчислении предикатов 1-го порядка, когда предметная область или задача описывается в виде набора аксиом. Реально исчисление предикатов 1-го порядка в промышленных экспертных системах практически не используется. Эта логическая модель применима в основ­ном в исследовательских "игрушечных" системах, т. к. предъявляет очень высокие требования и ограничения к предметной области. В промышлен­ных же экспертных системах используются различные ее модификации и расширения, изложение которых выходит за рамки этой книги. 5 Классификация уровней понимания В существующих ИС можно выделить пять основных уровней понимания и два уровня метапонимания. Первый уровень характеризуется схемой, показывающей, что любые ответы на вопросы система формирует только на основе прямого содержания, введенного из текста. Если, например, в систему введен текст: "В восемь утра, после завтрака, Петя ушел в школу. В два часа он вернулся домой. После обеда он ушел гулять", то на первом уровне понимания система обязана уметь отвечать правильно на вопросы типа: "Когда Петя ушел в школу?" или "Что сделал Петя после обеда?". В лингвистическом процессоре происходит морфологический, синтаксический и семантический анализ текста и вопросов, относящихся к нему. На выходе лингвистического процессора получается внутреннее представление текста и вопросов, с которыми может работать блок вывода. Используя специальные процедуры, этот блок формирует ответы. Другими словами, уже понимание на первом уровне требует от ИС определенных средств представления данных и вывода на этих данных. Второй уровень: На втором уровне добавляются средства логического вывода, основанные на информации, содержащейся в тексте. Это разнообразные логики текста (временная, пространственная, каузальная и т. п., которые способны породить информацию, явно отсутствующую в тексте. Для нашего примера на втором уровне возможно формирование правильных ответов на вопросы типа: "Что было раньше: уход Пети в школу или его обед?" или "Гулял Петя после возвращения из школы?" Только построив временную структуру текста, ИС сможет ответить на подобные вопросы. Схема ИС, с помощью которой может быть реализован второй уровень понимания, имеет еще одну базу знаний. В ней хранятся закономерности, относящиеся к временной структуре событий, возможной их пространственной организации, каузальной зависимости и т. п., а логический блок обладает всеми необходимыми средствами для работы с псевдофизическими логиками. Третий уровень: К средствам второго уровня добавляются правила пополнения текста знаниями системы о среде. Эти знания в ИС, как правило, носят логический характер и фиксируются в виде сценариев или процедур иного типа. На третьем уровне понимания ИС должна дать правильные ответы на вопросы типа: "Где был Петя в десять утра?" или "Откуда Петя вернулся в два часа дня?" Для этого надо знать, что означает процесс "пребывание в школе" и, в частности, что этот процесс является непрерывным и что субъект, участвующий в нем, все время находится "в школе". Схема ИС, в которой реализуется понимание третьего уровня, внешне не отличается от схемы второго уровня. Однако в логическом блоке должны быть предусмотрены средства не только для чисто дедуктивного вывода, но и для вывода по сценариям. Три перечисленных уровня понимания реализованы во всех практически работающих ИС. Первый уровень и частично второй входят в разнообразные системы общения на естественном языке. Следующие два уровня понимания реализованы в существующих ИС лишь частично. Четвертый уровень: Вместо текста в ней используется расширенный текст, который порождается лишь при наличии двух каналов получения информации. По одному в систему передается текст, по другому-дополнительная информация, отсутствующая в тексте. При человеческой коммуникации роль второго канала, как правило, играет зрение. Более одного канала коммуникации имеют интеллектуальные роботы, обладающие зрением. Зрительный канал коммуникации позволяет фиксировать состояние среды "здесь и сейчас" и вводить в текст наблюдаемую информацию. Система становится способной к пониманию текстов, в которые введены слова, прямо связанные с той ситуацией, в которой порождается текст. На более низких уровнях понимания нельзя понять, например, текст: "Посмотрите, что сделал Петя! Он не должен был брать это!" При наличии зрительного канала процесс понимания становится возможным. При наличии четвертого уровня понимания ИС способна отвечать на вопросы типа: "Почему Петя не должен был брать это?" или "Что сделал Петя?" Если вопрос, поступивший в систему, соответствует третьему уровню, то система выдает нужный ответ. Если для ответа необходимо привлечь дополнительную ("экзегетическую") информацию, то внутреннее представление текста и вопроса передается в блок, который осуществляет соотнесение текста с той реальной ситуацией его порождения, которая доступна ИС по зрительному или какому-нибудь иному каналу фиксации ситуации внешнего мира. Пятый уровень: Для ответа на этом уровне ИС кроме текста использует информацию о конкретном субъекте, являющемся источником текста, и хранящуюся в памяти системы общую информацию, относящуюся к коммуникации (знания об организации общения, о целях участников общения, о нормах участия в общении). Теория, соответствующая пятому уровню,-это так называемая теория речевых актов. Было обращено внимание на то, что любая фраза не только обозначает некое явление действительности, но и объединяет в себе три действия: локуцию, иллокуцию и перлокуцию. Локуция-это говорение как таковое, т. е. те действия, которые говорящий произвел, чтобы высказать свою мысль. Иллокуция - это действие при помощи говорения: вопрос, побуждение (приказ или просьба) и утверждение. Перлокуция - это действие, которым говорящий пытается осуществить некоторое воздействие на слушающего: "льстить", "удивлять", "уговаривать" и т. д. Речевой акт можно определить как минимальную осмысленную (или целесообразную) единицу речевого поведения. Каждый речевой акт состоит из локутивного, иллокутивного и перлокутивного акта. Для четвертого и пятого уровней понимания интересны результаты по невербальным (несловесным) компонентам общения и психологическим принципам, лежащим в основе общения. Кроме того, в правила пополнения текста входят правила вывода, опирающиеся на знания о данном конкретном субъекте общения, если такие знания у системы есть. Например, система может доверять данному субъекту, считая, что порождаемый им текст истинен. Но может не доверять ему и понимать текст, корректируя его в соответствии со своими знаниями о субъекте, породившем текст. Знания такого типа должны опираться на психологические теории общения, которые пока развиты недостаточно. Например, на вход системы поступает текст: "Нина обещала скоро прийти". Если о Нине у системы нет никакой информации, она может обратиться к базе знаний и использовать для оценки временного указателя "скоро некоторую нормативную информацию. Из этой информации можно узнать, что с большой долей уверенности "скоро" не превышает полчаса. Но у системы может иметься специальная информация о той Нине, о которой идет речь во входном тексте. В этом случае система, получив нужную информацию из базы знаний, может приготовиться, например, к тому, что Нина скорее всего придет не ранее чем через час. Первый метауровень: На этом уровне происходит изменение содержимого базы знаний. Она пополняется фактами, известными системе и содержащимися в тех текстах, которые в систему введены. Разные ИС отличаются друг от друга характером правил порождения фактов из знаний. Например, в системах, предназначенных для экспертизы в области фармакологии, эти правила опираются на методы индуктивного вывода и распознавания образов. Правила могут быть основаны на принципах вероятностей, размытых выводов и т. п. Но во всех случаях база знаний оказывается априорно неполной и в таких ИС возникают трудности с поиском ответов на запросы. В частности, в базах знаний становится необходимым немонотонный вывод. Второй метауровень: На этом уровне происходит порождение метафорического знания. Правила порождения знаний метафорического уровня, используемые для этих целей, представляют собой специальные процедуры, опирающиеся на вывод по аналогии и ассоциации. Известные в настоящее время схемы вывода по аналогии используют, как правило, диаграмму Лейбница, которая отражает лишь частный случай рассуждений по аналогии. Еще более бедны схемы ассоциативных рассуждений. Если рассматривать уровни и метауровни понимания с точки зрения архитектуры ИС, то можно наблюдать последовательное наращивание новых блоков и усложнение реализуемых ими процедур. На первом уровне достаточно лингвистического процессора с базой знаний, относящихся только к самому тексту. На втором уровне в этом процессоре возникает процедура логического вывода. На третьем уровне необходима база знаний. Появление нового канала информации, который работает независимо от исходного, характеризует четвертый уровень. Кроме процедур, связанных с работой этого канала, появляются процедуры, увязывающие между собой результаты работы двух каналов, интегрирующие информацию, получаемую по каждому из них. На пятом уровне развитие получают разнообразные способы вывода на знаниях и данных. На этом уровне становятся важными модели индивидуального и группового поведения. На метауровнях возникают новые процедуры для манипулирования знаниями, которых не было на более низких уровнях понимания. И этот процесс носит открытый характер. Понимание в полном объеме - некоторая, по-видимому, недостижимая мечта. Но понимание на уровне "бытового понимания" людей в ИС вполне достижимо. Существуют и другие интерпретации феномена понимания. Можно, например, оценивать уровень понимания по способности системы к объяснению полученного результата. Здесь возможен не только уровень объяснения, когда система объясняет, что она сделала, например, на основе введенного в нее текста, но и уровень обоснования (аргументации), когда система обосновывает свой результат, показывая, что он не противоречит той системе знаний и данных, которыми она располагает. В отличие от объяснения обоснование всегда связано с суммой фактов и знаний, которые определяются текущим моментом существования системы. И вводимый для понимания текст в одних состояниях может быть воспринят системой как истинный, а в других-как ложный. Кроме объяснения и обоснования возможна еще одна функция, связанная с пониманием текстов,- оправдание. Оправдать нечто означает, что выводимые утверждения не противоречат той системе норм и ценностей, которые заложены в ИС. Существующие ИС типа экспертных систем, как правило, способны давать объяснения и лишь частично обоснования. В полном объеме процедуры обоснования и оправдания еще не реализованы. Вывод на знаниях Наибольшее распространение получила продук­ционная модель представления знаний. При ее использовании база знаний состоит из набора правил, а программа, управляющая перебором правил, называется машиной вывода. Определение 1.8 Машина вывода (интерпретатор правил) — это программа, имитирующая логический вывод эксперта, пользующегося данной продукционной базой знаний для интерпретации поступивших в систему данных. Обычно она выполняет две функции: • просмотр существующих данных (фактов) из рабочей памяти (базы дан­ных) и правил из базы знаний и добавление (по мере возможности) в ра­бочую память новых фактов; • определение порядка просмотра и применения правил. Этот механизм управляет процессом консультации, сохраняя для пользователя инфор­мацию о полученных заключениях, и запрашивает у него информацию, когда для срабатывания очередного правила в рабочей памяти оказывает­ся недостаточно данных [Осуга, Саэки, 1990]. В подавляющем большинстве систем, основанных на знаниях, механизм вывода представляет собой небольшую по объему программу и включает два один реализует собственно вывод, другой управляет этим процессом. Действие компонента вывода основано на применении правила, называемо­го modus ponens: "Если известно, что истинно утверждение А, и существует правило вида "ЕСЛИ А, ТО В", тогда утверждение В также истинно". Таким образом, правила срабатывают, когда находятся факты, удовлетво­ряющие их левой части: если истинна посылка, то должно быть истинно и заключение. Компонент вывода должен функционировать даже при недостатке инфор­мации. Полученное решение может и не быть точным, однако система не должна останавливаться из-за того, что отсутствует какая-либо часть вход­ной информации. Управляющий компонент определяет порядок применения правил и выпол­няет четыре функции: 1. Сопоставление— образец правила сопоставляется с имеющимися фак­тами. 2. Выбор — если в конкретной ситуации могут быть применены сразу не­ сколько правил, то из них выбирается одно, наиболее подходящее по за­ данному критерию (разрешение конфликта). 3. Срабатывание — если образец правила при сопоставлении совпал с ка­кими-либо фактами из рабочей памяти, то правило срабатывает. 4. Действие — рабочая память подвергается изменению путем добавления в нее заключения сработавшего правила. Если в правой части правила содержится указание на какое-либо действие, то оно выполняется (как, например, в системах обеспечения безопасности информации). Интерпретатор продукций работает циклически. В каждом цикле он про­сматривает все правила, чтобы выявить те, посылки которых совпадают с известными на данный момент фактами из рабочей памяти. После выбора правило срабатывает, его заключение заносится в рабочую память, и затем цикл повторяется сначала. В одном цикле может сработать только одно правило. Если несколько пра­вил успешно сопоставлены с фактами, то интерпретатор производит выбор по определенному критерию единственного правила, которое срабатывает в данном цикле. Цикл работы интерпретатора схематически представлен на рис. 1.5. Информация из рабочей памяти последовательно сопоставляется с посыл­ками правил для выявления успешного сопоставления. Совокупность ото­бранных правил составляет так называемое конфликтное множество. Для разрешения конфликта интерпретатор имеет критерий, с помощью которого он выбирает единственное правило, после чего оно срабатывает. Это выра­жается в занесении фактов, образующих заключение правила, в рабочую память или в изменении критерия выбора конфликтующих правил. Если же в заключение правила входит название какого-нибудь действия, то оно вы­полняется. Работа машины вывода зависит только от состояния рабочей памяти и от состава базы знаний. На практике обычно учитывается история работы, т. е. поведение механизма вывода в предшествующих циклах. Информация о повелении механизма вывода запоминается в памяти состояний (рис. 1.6). Обычно память состояний содержит протокол системы. 1. Управление выводом От выбранного метода поиска, т. е. стратегии вывода, будет зависеть поря­док применения и срабатывания правил. Процедура выбора сводится к оп­ределению направления поиска и способа его осуществления. Процедуры, реализующие поиск, обычно "защиты" в механизм вывода, поэтому в боль­шинстве систем инженеры знаний не имеют к ним доступа и, следователь­но, не могут в них ничего изменять по своему желанию. При разработке стратегии управления выводом важны: • исходная точка в пространстве состояний. От выбора этой точки зависит и метод осуществления поиска — в прямом или в обратном направлении. • метод и стратегия перебора — в глубину, в ширину, по подзадачам или иначе. При обратном порядке вывода вначале выдвигается некоторая гипотеза, а затем механизм вывода как бы возвращается назад, переходя к фактам, пы­таясь найти те, которые подтверждают гипотезу (рис. 1.7, правая часть). Ес­ли она оказалась правильной, то выбирается следующая гипотеза, детализи­рующая первую и являющаяся по отношению к ней подцелью. Далее оты­скиваются факты, подтверждающие истинность подчиненной гипотезы. Вывод такого типа называется управляемым целями, или управляемым консеквентными. Обратный поиск применяется в тех случаях, когда цели извест­ны и их сравнительно немного. В системах с прямым выводом по известным фактам отыскивается заключе­ние, которое из этих фактов следует (см. рис. 1.7, левая часть). Если такое заключение удается найти, то оно заносится в рабочую память. Прямой вы­вод часто называют выводом, управляемым данными, или выводом, управ­ляемым антецедентами. Существуют системы, в которых вывод основывается на сочетании упомя­нутых выше методов — обратного и ограниченного прямого. Такой комби­нированный метод получил название циклического. Пусть имеется фрагмент базы знаний из двух правил: • Ш: Если "отдых — летом" и "человек — активный", то "ехать в горы". • П2: Если "любит солнце", то "отдых летом". Рис. 1.7. Стратегии вывода Предположим, в систему поступили факты — "человек активный" и "любит солнце". ПРЯМОЙ ВЫВОД— исходя из фактических данных, получить рекомен­дацию. 1-й проход. • Шаг 1. Пробуем П1, не работает (не хватает данных "отдых — летом"). • Шаг 2. Пробуем П2, работает, в базу поступает факт "отдых — летом". 2-й проход. • Шаг 3. Пробуем Ш, работает, активизируется цель "ехать в горы", которая и выступает как совет, который дает ЭС. ОБРАТНЫЙ ВЫВОД— подтвердить выбранную цель при помощи имею­щихся правил и данных. 1-й проход. • Шаг 1. Цель — "ехать в горы": пробуем П1 — данных "отдых — летом" нет, они становятся новой целью и ищется правило, где она в левой части. • Шаг 2. Цель "отдых — летом": правило П2 подтверждает цель и акти­ визирует ее. 2-й проход. • Шаг 3. Пробуем /7/, подтверждается искомая цель. 2. Методы поиска в глубину и в ширину В системах, база знаний которых насчитывает сотни правил, желательным является использование стратегии управления выводом, позволяющей ми­нимизировать время поиска решения и тем самым повысить эффективность вывода. К числу таких стратегий относятся: поиск в глубину, поиск в ши­рину, разбиение на подзадачи и альфа-бета-алгоритм [Таунсенд, Фохт, 1991; Уэно, Исидзука, 1989; Справочник по ИИ, 1990]. При поиске в глубину в качестве очередной подцели выбирается та, которая соответствует следующему, более детальному уровню описания задачи. На­пример, диагностирующая система, сделав на основе известных симптомов предположение о наличии определенного заболевания, будет продолжать запрашивать уточняющие признаки и симптомы этой болезни до тех пор, пока полностью не опровергнет выдвинутую гипотезу. При поиске в ширину, напротив, система вначале проанализирует все симп­томы, находящиеся на одном уровне пространства состояний, даже если они относятся к разным заболеваниям, и лишь затем перейдет к симптомам следующего уровня детальности. Разбиение на подзадачи подразумевает выделение подзадач, решение которых рассматривается как достижение промежуточных целей на пути к конечной цели. Примером, подтверждающим эффективность разбиения на подзадачи, является поиск неисправностей в компьютере — сначала выявляется отка­завшая подсистема (питание, память и т. д.), что значительно сужает про­странство поиска. Если удается правильно понять сущность задачи и опти­мально разбить ее на систему иерархически связанных целей-подцелей, то можно добиться того, что путь к ее решению в пространстве поиска будет минимален. Альфа-бета-алгоритм позволяет уменьшить пространство состояний путем удаления ветвей, не перспективных для успешного поиска. Поэтому про­сматриваются только те вершины, в которые можно попасть в результате следующего шага, после чего неперспективные направления исключаются, альфа-бета-алгоритм нашел широкое применение в основном в системах, ориентированных на различные игры, например, в шахматных программах. Работа с нечеткостью При формализации знаний существует проблема, затрудняющая использо­вание традиционного математического аппарата. Это проблема описания понятий, оперирующих качественными характеристиками объектов {много, мало, сильный, очень сильный и т. п.). Эти характеристики обычно размыты и не могут быть однозначно интерпретированы, однако содержат важную ин­формацию (например, "одним из возможных признаков гриппа является высокая температура"). Кроме того, в задачах, решаемых интеллектуальными системами, часто при­ходится пользоваться неточными знаниями, которые не могут быть интер­претированы как полностью истинные или ложные (логические true/false или 0/1). Существуют знания, достоверность которых выражается некоторой промежуточной цифрой, например 0,7. Как, не разрушая свойства размытости и неточности, представлять подоб­ные знания формально? Для разрешения таких проблем в начале 70-х годов XX века американский математик Лотфи Заде предложил формальный аппарат нечеткой (fuzzy) алгебры и нечеткой логики [Заде, 1972]. Позднее это направление получило широкое распространение [Орловский, 1981; Аверкин и др., 1986; Яшин, 1990] и положило начало одной из ветвей ИИ под названием мягкие вычисления (soft computing). Л. Заде ввел одно из главных понятий в нечеткой логике — понятие лин­гвистической переменной. Лингвистическая переменная (ЛП) — это переменная, значение которой определяется набором вербальных (т. е. словесных) характеристик некото­рого свойства. Например, ЛП "рост" определяется через набор {карликовый, низкий, сред­ний, высокий, очень высокий) 1. Основы теории нечетких множеств Значения лингвистической переменной (ЛП) определяются через так называемые нечеткие множества (НМ), которые в свою очередь определены на некотором базовом наборе значений или базовой числовой шкале, имеющей размерность. Каждое значение ЛП определяется как нечеткое множество (например, НМ "низкий рост"). Нечеткое множество определяется через некоторую базовую шкалу В и функцию принадлежности НМ — ц(д), х е Я, принимающую значения на интервале [0; 1]. Таким образом, нечеткое множество В— это совокупность пар вида {х, и (х)), где х е В. Часто встречается и такая запись: где хi — i-е значение базовой шкалы. Функция принадлежности определяет субъективную степень уверенности эксперта в том, что данное конкретное значение базовой шкалы соответст­вует определяемому НМ. Эту функцию не стоит путать с вероятностью, но­сящей объективный характер и подчиняющейся другим математическим зависимостям. Например, для двух экспертов определение НМ "высокая" для ЛП "цена автомобиля" в условных единицах может существенно отличаться в зависи­мости от их социального и финансового положения. “Высокая_цена_аетомобиля_1 = (50000/1 + 25000/0.8 + 10000/0.6 + 5000/0.4) “Высокая_цена_автомобиля_2и = {25000/1 + 10000/0.8 + 5000/0.7 + 3000/0.4) Пусть перед нами стоит задача интерпретации значений ЛП "возраст", таких как "молодой" возраст, "преклонный" возраст или "переходный" возраст. Определим "возраст" как ЛП (рис. 1.8). Тогда "молодой", "преклонный", "переходный" будут значениями этой лингвистической переменной. Более полно, базовый набор значений ЛП "возраст" следующий: В ** {младенческий, детский, юный, молодой, зрелый, преклонный, старческий). Для ЛП "возраст" базовая шкала — это числовая шкала от 0 до 120, обозна­чающая количество прожитых лет, а функция принадлежности определяет, насколько мы уверены в том, что данное количество лет можно отнести к данной категории возраста. На рис. 1.9 отражено, как одни и те же значе­ния базовой шкалы могут участвовать в определении различных НМ. Рис. 1.10 иллюстрирует оценку НМ неким усредненным экспертом, кото­рый ребенка до полугода с высокой степенью уверенности относит к мла­денцам (ц = 1). Дети до четырех лет причисляются к младенцам тоже, но с меньшей степенью уверенности (0,5 < \i < 0,9), а в десять лет ребенка на­зывают так только в очень редких случаях — к примеру, для девяностолет­ней бабушки и 15 лет может считаться младенчеством. Таким образом, не­четкие множества позволяют при определении понятия учитывать субъек­тивные мнения отдельных индивидуумов. 2. Операции с нечеткими знаниями Для операций с нечеткими знаниями, выраженными при помощи лингвис­тических переменных, существует много различных способов. Эти способы являются в основном эвристиками. Мы не будем останавливаться на этом вопросе подробно, укажем лишь для примера определение нескольких операций. Например, операция "ИЛИ" часто задается так (Аверкин и др., 1986; Яшин, 1990]: (так называемая логика Заде) или так: (вероятностный подход). Усиление или ослабление лингвистических понятий достигается введением специальных квантификаторов. Для вывода на нечетких множествах используются специальные отношения и операции над ними (подробнее см. [Орловский, 1981]). Одним из первых применений теории НМ стало использование коэффици­ентов уверенности для вывода рекомендаций медицинской системы MYCIN [Shortliffe, 1976]. Этот метод использует несколько эвристических приемов. Он стал примером обработки нечетких знаний, повлиявших на последую­щие системы. В настоящее время в большинство инструментальных средств разработки систем, основанных на знаниях, включены элементы работы с НМ, кроме того, разработаны специальные программные средства реализации так на­зываемого нечеткого вывода, например "оболочка" FuzzyCLIPS. Архитектура и особенности экспертных систем Центральная парадигма интеллектуальных технологий сегодня — это обра­ботка знаний. Системы, ядром которых является база знаний или модель предметной области, описанная на языке сверхвысокого уровня, прибли­женном к естественному, называют интеллектуальными. Чаще всего интеллектуальные системы (ИС) применяются для решения сложных задач, где основная сложность решения связана с использованием слабоформализованных знаний специалистов-практиков и где логическая (или смысловая), обработка информации превалирует над вычислительной. Например, понимание естественного языка, поддержка принятия решения в сложных ситуациях, постановка диагноза и рекомендации по методам ле­чения, анализ визуальной информации, управление диспетчерскими пуль­тами и др. Фактически сейчас прикладные интеллектуальные системы используются в десятках тысяч приложений. А годовой доход от продаж программных и аппаратных средств искусственного интеллекта еще в 1989 г. в США со­ставлял 870 млн. долларов, а в 1990 г. — 1,1 млрд. долларов [Попов, 1996]. В дальнейшем почти тридцатипроцентный прирост дохода сменился более плавным наращиванием темпов (по материалам [Поспелов, 1997; Хорошев­ский. 1997; Попов, 1996; Walker, Miller, 1987; Tuthill, 1994; Durkin, 1998]). Наиболее распространенным видом ИС являются экспертные системы. Определение 1.9 Экспертные системы (ЭС) — это наиболее распространенный класс ИС, ори­ентированный на тиражирование опыта высококвалифицированных специали­стов в областях, где качество принятия решений традиционно зависит от уров­ня экспертизы, например таких, как медицина, юриспруденция, геология, эко­номика, военное дело и др. ЭС эффективны лишь в специфических «экспертных» областях, где важен эмпирический опыт специалистов. Только в США ежегодный доход от продаж инструментальных средств раз­работки ЭС составлял в начале 90-х годов 300—400 млн. долларов, а от при­менения ЭС — 80—90 млн. долларов [Попов, 1996J. Ежегодно крупные фирмы разрабатывают десятки ЭС типа "in-house" для внутреннего пользо­вания. Эти системы интегрируют опыт специалистов компании по ключе­вым и стратегически важным технологиям. В начале 90-х гг. появилась новая наука — "управление знаниями" (knowledge management), ориентированная на методы обработки и управления корпоративными знаниями (Borghoff, 1998; Гаврилова, Хорошевский, 2001). Современные ЭС — это сложные программные комплексы, аккумулирую­щие знания специалистов в конкретных предметных областях и распростра­няющие этот эмпирический опыт для консультирования менее квалифици­рованных пользователей. Разработка экспертных систем, как активно разви­вающаяся ветвь информатики, направлена на использование ЭВМ для обработки информации в тех областях науки и техники, где традиционные математические методы моделирования малопригодны. В этих областях важна смысловая и логическая обработка информации, важен опыт экс­пертов. Основные факторы, влияющие на целесообразность и эффективность раз­работки ЭС (частично из (Уотермен, 1989)): • нехватка специалистов, затрачивающих значительное время для оказания помощи другим; • выполнение небольшой задачи требует многочисленного коллектива специалистов, поскольку ни один из них не обладает достаточным знанием; • сниженная производительность, поскольку задача требует полного ана­лиза сложного набора условий, а обычный специалист не в состоянии просмотреть (за отведенное время) все эти условия; • большое расхождение между решениями самых хороших и самых плохих исполнителей; □ наличие экспертов, готовых поделиться своим опытом. Подходящие задачи имеют следующие характеристики: • не могут быть решены средствами традиционного математического моделирования; • имеется "шум" в данных — некорректность определений, неточность, неполнота, противоречивость информации; • являются сложной для новичка — много объектов, их свойств, связей, условий, ограничений; • являются узкоспециализированными; □ не зависят в значительной степени от общечеловеческих знаний или соображений здравого смысла; • не являются для эксперта ни слишком легкими, ни слишком сложными. (Время, необходимое эксперту для решения проблемы, может составлять от трех часов до трех недель.) Хотя экспертные системы достаточно молоды — первые системы такого ро­да MYCIN появились в США в середине 70-х годов. В настоящее время в мире насчитывается несколько тысяч промышленных ЭС, которые дают советы: • при управлении сложными диспетчерскими пультами, например, сети распределения электроэнергии; • при постановке медицинских диагнозов; • при поиске неисправностей в электронных приборах, диагностика отка­зов контрольно-измерительного оборудования; • по проектированию интегральных схем; • по управлению перевозками; • по прогнозу военных действий; • по формированию портфеля инвестиций, оценке финансовых рисков, налогообложению и т. д. Наиболее популярные приложения ИС отражены на рис. 1.11 [Durkin, 1998]. Сейчас легче назвать области, не использующие ЭС, чем те, где они уже применяются. Уже в 1987 году опрос пользователей, проведенный журналом "Intelligent Technologies" (США), показал, что примерно: • 25% пользователей используют ЭС; • 25% собираются приобрести ЭС в ближайшие 2—3 года; • 50% предпочитают провести исследование об эффективности их исполь­зования. Главное отличие ИС и ЭС от других программных средств — это наличие базы знаний (БЗ), в которой знания хранятся в форме, понятной специали­стам предметной области, и могут быть изменены и дополнены также в по­нятной форме. Это и есть языки представления знаний — ЯПЗ. До последнего времени именно различные ЯПЗ были центральной пробле­мой при разработке ЭС. Для перечисленных в разд. 1.2 моделей существует соответствующая мате­матическая нотация, разработаны системы программирования, реализую­щие эти ЯПЗ, и имеется большое количество реальных коммерческих ЭС. Подробнее вопросы программной реализации прикладных ИС рассмотрены в книге далее. В России в исследования и разработку ЭС большой вклад внесли работы Д. А, Поспелова (основателя Российской ассоциации искусственного ин­теллекта и его первого президента), Э. В. Попова, В. Ф. Хорошевского, В. Л. Стефанюка, Г. С. Осипова, В. К. Финна, В. Л. Вагина, В. И. Городец­кого и многих других. Современное состояние разработок в области ЭС в России можно охаракте­ризовать как стадию все возрастающего интереса среди широких слоев спе­циалистов — финансистов, топменеджеров, преподавателей, инженеров, медиков, психологов, программистов, лингвистов. В последние годы этот интерес имеет пока достаточно слабое материальное подкрепление — явная нехватка учебников и специальной литературы, отсутствие символьных процессоров и рабочих станций, ограниченное финансирование исследова­ний в этой области, слабый отечественный рынок программных продуктов для разработки ЭС. Поэтому появляется возможность распространения "подделок" под эксперт­ные системы в виде многочисленных диалоговых систем и интерактивных пакетов прикладных программ, которые дискредитируют в глазах пользова­телей это чрезвычайно перспективное направление. Процесс создания экс­пертной системы требует участия высококвалифицированных специалистов в области искусственного интеллекта, которых пока готовит небольшое ко­личество высших учебных заведений страны. Наибольшие трудности в разработке ЭС вызывает сегодня не процесс ма­шинной реализации систем, а домашний этап анализа знаний и проектирования базы знаний. Этим занимается специальная наука — инженерия знаний (см. гл. 2). Обобщенная структура экспертной системы представлена на рис. 1.12. Сле­дует учесть, что реальные ЭС могут иметь более сложную структуру, однако блоки, изображенные на рисунке, непременно присутствуют в любой дейст­вительно экспертной системе, поскольку представляют собой стандарт де-факто структуры современной ЭС. В целом процесс функционирования ЭС можно представить следующим образом: пользователь, желающий получить необходимую информацию, че­рез пользовательский интерфейс посылает запрос к ЭС; решатель, пользуясь базой знаний, генерирует и выдает пользователю подходящую рекомен­дацию, объясняя ход своих рассуждений при помощи подсистемы объяс­нений. Так как терминология в области разработки ЭС постоянно модифицирует­ся, определим основные термины в рамках данной книги: • Пользователь — специалист предметной области, для которого предна­значена система. Обычно его квалификация недостаточно высока и по­этому он нуждается в помощи и поддержке своей деятельности со сторо­ны ЭС. • Инженер по знаниям — специалист в области искусственного интеллекта, выступающий в роли промежуточного буфера между экспертом и базой знаний. Синонимы: когнитолог, инженер-интерпретатор, аналитик. • Интерфейс пользователя — комплекс программ, реализующих диалог пользователя с ЭС как на стадии ввода информации, так и при получе­нии результатов. • База знаний (БЗ) — ядро ЭС, совокупность знаний предметной области, записанная на машинный носитель в форме, понятной эксперту и поль­зователю (обычно на некотором языке, приближенном к естественному). такому "человеческому" представлению существует БЗ во внутреннем "машинном" представлении. • Решатель — программа, моделируюшая ход рассуждений эксперта на основании знаний, имеющихся в БЗ. Синонимы: дедуктивная машина, машина вывода, блок логического вывода. • Подсистема объяснений — программа, позволяющая пользователю полу­чить ответы на вопросы: "Как была получена та или иная рекоменда­ция?" и "Почему система приняла такое решение?" Ответ на вопрос "как" — это трассировка всего процесса получения решения с указанием использованных фрагментов БЗ, т. е. всех шагов цепи умозаключений. Ответ на вопрос "почему" — ссылка на умозаключение, непосредственно предшествовавшее полученному решению, т.е. отход на один шаг назад. Развитые подсистемы объяснений поддерживают и другие типы вопросов. • Интеллектуальный редактор БЗ — программа, представляющая инженеру по знаниям возможность создавать БЗ в диалоговом режиме. Включает в себя систему вложенных меню, шаблонов языка представления знаний, подсказок ("help" — режим) и других сервисных средств, облегчающих работу с базой. Еще раз следует подчеркнуть, что представленная на рис. 1.12 структура яв­ляется минимальной, что означает обязательное присутствие указанных на ней блоков. Если система объявлена разработчиками как экспертная, только наличие всех этих блоков гарантирует реальное использование аппарата об­работки знаний. Однако промышленные прикладные ЭС могут быть су­щественно сложнее и дополнительно включать базы данных, интерфейсы обмена данными с различными пакетами прикладных программ, электрон­ными библиотеками и т. д. Классификация экспертных систем Существуют различные подходы к классификации экспертных систем, т. к. класс ЭС сегодня объединяет несколько тысяч различных программных комплексов, которые можно классифицировать по десятку критериев. По­лезными могут оказаться классификации, представленные на рис. 1.13. 1. Классификация по решаемой задаче Традиционно ЭС решают следующие классы задач: 1Интерпретация данных. Это одна из традиционных задач для экспертных систем. Под интерпретацией понимается процесс определения смысла данных, результаты которого должны быть согласованными и коррект­ными. Обычно предусматривается многовариантный анализ данных. Рис. 1.13. Классификация экспертных систем Например, обнаружение и идентификация различных типов океанских судов по результатам аэрокосмического сканирования — SIAP; определе­ние основных свойств личности по результатам психодиагностического тестирования в системах АВТАНТЕСТ и МИКРОЛЮШЕР и др. Диагностика. Под диагностикой понимается процесс соотнесения объек­та с некоторым классом объектов и/или обнаружение неисправности в некоторой системе. Неисправность — это отклонение от нормы. Такая трактовка позволяет с единых теоретических позиций рассматривать и неисправность оборудования в технических системах, и заболевания жи­вых организмов, и всевозможные природные аномалии. Важной специ­фикой является здесь необходимость понимания функциональной струк­туры ("анатомии") диагностирующей системы. Например: диагностика и терапия сужения коронарных сосудов — ANGY; диагностика ошибок в аппаратуре и математическом обеспечении ЭВМ — система CRIB и др. Мониторинг. Основная задача мониторинга — непрерывная интерпрета­ция данных в реальном масштабе времени и сигнализация о выходе тех или иных параметров за допустимые пределы. Главные проблемы — "пропуск" тревожной ситуации и инверсная задача "ложного" срабатыва­ния. Сложность этих проблем в размытости симптомов тревожных си­туаций и необходимость учета временного контекста. Например: контроль за работой электростанций СПРИНТ, помощь дис­петчерам атомного реактора — REACTOR; контроль аварийных датчиков на химическом заводе — FALCON и др. Проектирование. Проектирование состоит в подготовке спецификаций на создание "объектов" с заранее определенными свойствами. Под специ­фикацией понимается весь набор необходимых документов — чертеж, пояснительная записка и т. д. Основные проблемы здесь — получение четкого структурного описания знаний об объекте и проблема "следа". Для организации эффективного проектирования и, в еще большей сте­пени, перепроектирования необходимо формировать не только сами проектные решения, но и мотивы их принятия. Таким образом, в задачах проектирования тесно связываются два основных процесса, выполняе­мых в рамках соответствующей ЭС: процесс вывода решения и процесс объ­яснения. Например: проектирование конфигураций ЭВМ VAX -— 11/780 в системе XCON (или R1), проектирование БИС— CADHELP; синтез электриче­ских цепей — SYN и др. Прогнозирование. Прогнозирование позволяет предсказывать последствия некоторых событий или явлений на основании анализа имеющихся дан­ных. Прогнозирующие системы логически выводят вероятные следствия из заданных ситуаций. В прогнозирующей системе обычно используется параметрическая динамическая модель, в которой значения параметров "подгоняются" под заданную ситуацию. Выводимые из этой модели след­ствия составляют основу для прогнозов с вероятностными оценками. Например: предсказание погоды — система WILLARD; оценки будущего урожая — PLANT; прогнозы в экономике — ECON и др. Планирование. Под планированием понимается нахождение планов дей­ствий, относящихся к объектам, способным выполнять некоторые функ­ции. В таких ЭС используются модели поведения реальных объектов с тем, чтобы логически вывести последствия планируемой деятельности. Например: планирование поведения робота — STRIPS; планирование промышленных заказов— ISIS; планирование эксперимента— MOLGEN и др. Обучение. Под обучением понимается использование компьютера для обучения какой-то дисциплине или предмету. Системы обучения диагно­стируют ошибки при изучении какой-либо дисциплины с помощью ЭВМ и подсказывают правильные решения. Они аккумулируют знания о гипо­тетическом "ученике" и его характерных ошибках, затем в работе они способны диагностировать слабости в познаниях обучаемых и находить соответствующие средства для их ликвидации. Кроме того, они плани­руют акт общения с учеником в зависимости от успехов ученика с целью передачи знаний. Например: обучение языку программирования LISP в системе "Учитель LISP"; система PROUST — обучение языку Паскаль и др. Управление. Под управлением понимается функция организованной сис­темы, поддерживающая определенный режим деятельности. Такого рода ЭС осуществляют управление поведением сложных систем в соответст­вии с заданными спецификациями. Например: помощь в управлении газовой котельной — GAS; управление системой календарного планирования Project Assistant и др. Поддержка принятия решений. Поддержка принятия решения — это со­вокупность процедур, обеспечивающая принимающего решения индиви­дуума необходимой информацией и рекомендациями, облегчающими процесс принятия решения. Эти ЭС помогают специалистам выбрать и/или сформировать нужную альтернативу среди множества выборов при принятии ответственных решений. Например: выбор стратегии выхода фирмы из кризисной ситуации — CRYS1S; помощь в выборе страховой компании или инвестора — CHOICE и др. В общем случае все системы, основанные на знаниях, можно подразделить на системы, решающие задачи анализа и на системы, решающие задачи син­теза. Основное отличие задач анализа от задач синтеза заключается в том, что если в задачах анализа множество решений может быть перечислено и включено в систему, то в задачах синтеза множество решений потенциально не ограничено и строится из решений компонентов или подпроблем. Задачами анализа являются: интерпретация данных, диагностика, поддержка принятия решения; к задачам синтеза относятся проектирование, планиро­вание, управление. Комбинированные: обучение, мониторинг, прогнозиро­вание. 2. Классификация по связи - реальным временем Статические ЭС разрабатываются в предметных областях, в которых база знаний и интерпретируемые данные не меняются во времени. Они ста­бильны. Пример: диагностика неисправностей в автомобиле. Квазидинамические ЭС интерпретируют ситуацию, которая меняется с некоторым фиксированным интервалом времени. Пример: микробиологические ЭС, в которых снимаются лабораторные измерения с технологического процесса один раз в 4—5 часов (производ­ство лизина, например) и анализируется динамика полученных показате­лей по отношению к предыдущему измерению. Динамические ЭС работают в сопряжении с датчиками объектов в режиме реального времени с непрерывной интерпретацией поступающих в сис­тему данных. Пример: управление гибкими производственными комплексами, мони­торинг в реанимационных палатах. Программный инструментарий для разработки динамических систем — G2 [Попов, 1996). 3.Классификация по типу ЭВМ На сегодняшний день существуют: • ЭС для уникальных стратегически важных задач на суперЭВМ (Эльбрус, CRAY, CONVEX и др.); • ЭС на ЭВМ средней производительности (mainframe); • ЭС на символьных процессорах и рабочих станциях (SUN, Silicon Graph­ ics, APOLLO); • ЭС на персональных компьютерах (IBM-совместимые, Macintosh). 4.Классификация по степени интеграции с другими программами Автономные ЭС работают непосредственно в режиме консультаций с поль­зователем для специфически "экспертных" задач, для решения которых не требуется привлекать традиционные методы обработки данных (расчеты, моделирование и т. д.). Гибридные ЭС представляют программный комплекс, агрегирующий стан­дартные пакеты прикладных программ (например, математическую стати­стику, линейное программирование или системы управления базами дан­ных) и средства манипулирования знаниями. Это может быть интеллекту­альная надстройка над ППП (пакетами прикладных программ) или интегрированная среда для решения сложной задачи с элементами эксперт­ных знаний. Несмотря на внешнюю привлекательность гибридного подхода следует от­метить, что разработка таких систем являет собой задачу на порядок более сложную, чем разработка автономной ЭС. Стыковка не просто разных паке­тов, а различных методологий (что происходит в гибридных системах) по­рождает целый комплекс теоретических и практических трудностей. Разработка экспертных систем На сегодняшний день следует констатировать, что разработка программных комплексов экспертных систем как за рубежом, так и в нашей стране оста­лась скорее на уровне искусства, чем науки. Это связано с тем, что долгое время системы искусственного интеллекта внедрялись в основном во время фазы проектирования, а чаще всего разрабатывалось несколько прототипных версий программ, и на их основе уже создавался конечный продукт. Такой подход действует хорошо в исследовательских условиях, однако в коммерческих условиях он является слишком дорогим, чтобы оправдать затраты на разработку. Процесс разработки промышленной экспертной системы, опираясь на тра­диционные технологии (Николов и др., 1990; Хейес-Рот и др., 1987; Tuthill, 1994], практически для любой предметной области можно разделить на шесть более или менее независимых этапов (рис. 1.14). Рис. 1.14. Этапы разработки ЭС Последовательность этапов дана только с целью получения общего пред­ставления о процессе создания идеального проекта, т. к. последовательность эта не вполне фиксирована. В действительности каждый последующий этап разработки может принести новые идеи, которые могут повлиять на преды­дущие решения и даже привести к их переработке. Именно поэтому многие специалисты по информатике весьма критично относятся к методологии экспертных систем. Они считают, что расходы на разработку таких систем очень большие, время разработки слишком велико, а полученные в резуль­тате программы накладывают тяжелое бремя на вычислительные ресурсы. В целом за разработку экспертных систем целесообразно браться организа­ции, где накоплен опыт по автоматизации рутинных процедур обработки информации, таких как: • формирование корпоративных информационных систем; • организация сложных расчетов; • работа с компьютерной графикой; • обработка текстов и автоматизированный документооборот. Решение таких задач, во-первых, подготавливает высококвалифицирован­ных специалистов по информатике, необходимых для создания интеллекту­альных систем, во-вторых, позволяет отделить от экспертных систем не экс­пертные задачи. 1. Выбор подходящей проблемы Этот этап определяет деятельность, предшествующую решению начать раз­рабатывать конкретную ЭС. Он включает [Николов и др., 1990]: • определение проблемной области и задачи; • нахождение эксперта, желающего сотрудничать при решении проблемы, и назначение коллектива разработчиков; • определение предварительного подхода к решению проблемы; • анализ расходов и прибылей от разработки; • подготовку подробного плана разработки. Правильный выбор проблемы представляет самую критическую часть разра­ботки в целом. Если выбрать неподходящую проблему, можно очень быстро увязнуть в "болоте" проектирования задач, которые никто не знает, как ре­шать. Неподходящая проблема может также привести к созданию эксперт­ной системы, затраты на которую выше приносимой ею экономии. Дело будет обстоять еще хуже, если разработать систему, которая работает, но неприемлема для пользователей. Даже если разработка выполняется самой организацией для собственных целей, эта фаза является подходящим мо­ментом для получения рекомендаций извне, чтобы гарантировать удачно выбранный и осуществимый с технической точки зрения первоначальный проект. При выборе области применения следует учитывать, что если знание, необ­ходимое для решения задач, постоянное, четко формулируемое, и связано с вычислительной обработкой, то обычные алгоритмические программы, по всей вероятности, будут самым целесообразным способом решения проблем в этой области. Экспертная система ни в коем случае не устранит потребность в реляцион­ных базах данных, статистическом программном обеспечении, электронных таблицах и системах текстовой обработки. Но если результативность задачи зависит от знания, которое является субъективным, изменяющимся, сим­вольным или вытекающим частично из соображений здравого смысла, тогда область может обоснованно выступать претендентом на экспертную си­стему. Обычно экспертные системы разрабатываются путем получения специфиче­ских знаний от эксперта и ввода их в систему. Некоторые системы могут содержать стратегии одного индивида. Следовательно, найти подходящего эксперта — это ключевой шаг в создании экспертных систем. B процессе разработки и последующего расширения системы инженер по ^знаниям и эксперт обычно работают вместе. Инженер по знаниям помогает эксперту структурировать знания, определять и формализовать понятия и правила, необходимые для решения проблемы. Во время первоначальных бесед они должны решить, будет ли их сотрудни­чество успешным. Это немаловажно, поскольку обе стороны будут работать совместно, по меньшей мере, в течение одного года. Кроме них в коллектив разработчиков целесообразно включить потенциальных пользователей и профессиональных программистов. Подробно функции каждого члена кол­лектива описаны в следующем разделе. Предварительный подход к программной реализации задачи определяется, исходя из характеристик задачи и ресурсов, выделенных на ее решение. Инженер по знаниям выдвигает обычно несколько вариантов, связанных с использованием имеющихся на рынке программных средств. Окончатель­ный выбор возможен лишь на этапе разработки прототипа. После того как задача определена, необходимо подсчитать расходы и при­быль от разработки экспертной системы. В расходы включаются затраты на оплату труда коллектива разработчиков. В дополнительные расходы будет включена стоимость приобретаемого программного инструментария, с по­мощью которого будет разработана экспертная система. Прибыль может быть получена за счет снижения цены продукции, повыше­ния производительности труда, расширения номенклатуры продукции или услуг или даже разработки новых видов продукции или услуг в области, в которой будет использоваться ЭС. Соответствующие расходы и прибыль от системы определяются относительно времени, в течение которого воз­вращаются средства, вложенные в разработку. На современном этапе боль­шая часть фирм, развивающих крупные экспертные системы, предпочли разрабатывать дорогостоящие проекты, приносящие значительную прибыль. Можно ожидать развития тенденции разработки менее дорогостоящих сис­тем, хотя и с более длительным сроком окупаемости вложенных в них средств, т. к. программные средства разработки экспертных систем непре­рывно совершенствуются. После того как инженер по знаниям убедился, что: • данная задача может быть решена с помощью экспертной системы; • экспертную систему можно создать предлагаемыми на рынке средствами; • имеется подходящий эксперт; • предложенные критерии производительности являются разумными; • затраты и срок их окупаемости приемлемы для заказчика, он составляет план разработки. План определяет шаги процесса разработки и необходимые затраты, а также ожидаемые результаты. 2. Разработка прототипа Прототипная система является усеченной версией экспертной системы, спроектированной для проверки правильности кодирования фактов, связей и стратегий рассуждения эксперта. Она также дает возможность инженеру по знаниям привлечь эксперта к активному участию в процессе разработки экспертной системы, и, следовательно, к принятию им обязательства при­ложить все усилия к созданию системы в полном объеме. Объем прототипа — несколько десятков правил, фреймов или примеров. На рис. 1.15 изображены шесть стадий разработки прототипа и минимальный коллектив разработчиков, занятых на каждой из стадий (пять стадий заим­ствованы из [Хейес-Рот и др., I987J). Приведем краткую характеристику всех стадий, хотя эта схема представляет собой грубое приближение к слож­ному, итеративному процессу. Несмотря на то, что любое теоретическое разделение бывает часто услов­ным, осознание коллективом разработчиков четких задач каждой стадии представляется целесообразным. Роли разработчиков (эксперт, програм­мист, пользователь и аналитик) являются постоянными на протяжении всей разработки. Совмещение ролей нежелательно. Сроки приведены условно, т. к. зависят от квалификации специалистов и особенностей задачи. Идентификация проблемы Уточняется формулировка (спецификация) задачи, планируется ход разра­ботки прототипа экспертной системы, определяются: • необходимые ресурсы (время, люди, компьютеры, деньги и т. д.); • источники знаний (книги, дополнительные эксперты, методики); • имеющиеся аналогичные экспертные системы; • цели (распространение опыта, автоматизация рутинных действий и др.); • классы решаемых задач и т. д. Рис. 1.15. Стадии разработки прототипа ЭС: Э — эксперт; А — аналитик (инженер по знаниям); П — программист; Ч — пользователь ("чайник") Определение 1.10 Идентификация проблемы— знакомство и обучение членов коллектива раз­работчиков, э также создание неформальной спецификации задачи. Средняя продолжительность 1—2 недели. Извлечение знаний На этой стадии происходит перенос компетентности от эксперта к инжене­ру по знаниям с использованием различных методов: • анализ текстов; • дискуссии; • диалоги; • интервью; • экспертные игры; • наблюдение и др. • лекции; Определение 1.11 Извлечение знаний — получение инженером по знаниям наиболее полного из возможных представлений о предметной области и способах принятия решения в ней. Средняя продолжительность 1—3 месяца. Структурирование или концептуализация знаний Через выявление структуры полученных знаний о предметной области определяются: • терминология; • список основных понятий и их атрибутов; • отношения между понятиями; • структура входной и выходной информации; • стратегия принятия решений; • ограничения стратегий и т. д. Определение 1.12 Структурирование (или концептуализация) знаний — разработка неформаль­ного наглядного описания знаний о предметной области в виде графа, таблицы, диаграммы или текста, которое отражает основные концепции и взаимосвязи между понятиями предметной области. Такое описание называется полем знаний Средняя продолжительность этапа 2—4 недели. Формализация знаний Строится формализованное представление концепций предметной области на основе выбранного языка представления знаний (ЯПЗ). Традиционно на этом этапе используются: • логические методы (исчисления предикатов 1-го порядка и др.); • продукционные модели (с прямым и обратным выводом); семантические сети; • фреймы; • объектно-ориентированные языки, основанные на иерархии классов, объектов. Определение 1.13 Формализация знаний— разработка базы знаний на языке представления зна­ний, который, с одной стороны, соответствует структуре поля знаний, а с дру­гой— позволяет реализовать прототип системы на следующей стадии про­граммной реализации. Все чаще на этой стадии используется симбиоз языков представления зна­ний, например, в системе ОМЕГА [Справочник по ИИ, 1990] — фрей­мы + семантические сети + полный набор возможностей языка исчисления предикатов. Средняя продолжительность 1—2 месяца. Программная реализация Создается прототип экспертной системы, включающий базу знаний и ос­тальные блоки, при помощи одного из следующих способов: • программирование на традиционных языках типа Pascal, C++ и др.; • программирование на специализированных языках, применяемых в зада­чах искусственного интеллекта: LISP [Хювянен, Сеппянен, 1991], FRL [Байдун, Бунин, 1990], SMALLTALK [Справочник по ИИ, 1990] и др.; • использование инструментальных средств разработки ЭС PIES [Хоро­шевский, 1993]; G2 [Попов, Фоминых, Кисель, 1996]; • использование "пустых" ЭС или "оболочек" типа ЭКСПЕРТ [Кирсанов, Попов, 1990], ФИАКР [Соловьев, Соловьева, 1989J и др. Определение 1.14 Программная реализация— разработка программного комплекса, демонстри­рующего жизнеспособность подхода в целом. Чаще всего первый прототип отбрасывается на этапе реализации действую­щей ЭС. Средняя продолжительность 1—2 месяца. Более подробно эти вопросы рас­сматриваются в следующих главах. Тестирование Оценивается и проверяется работа программ прототипа с целью приведения в соответствие с реальными запросами пользователей. Прототип проверяется: • на удобство и адекватность интерфейсов ввода/вывода (характер вопро­сов в диалоге, связность выводимого текста результата и др.); • на эффективность стратегии управления (порядок перебора, использова­ние нечеткого вывода и др.); • на качество проверочных примеров; • на корректность базы знаний (полнота и непротиворечивость правил). Определение 1.15 Тестирование — выявление ошибок в подходе и реализации прототипа и вы­работка рекомендаций по доводке системы до промышленного варианта. Средняя продолжительность I—2 недели. 3. Развитие прототипа до промышленной ЭС При неудовлетворительном функционировании прототипа эксперт и инже­нер по знаниям имеют возможность оценить, что именно будет включено в разработку окончательного варианта системы. Если первоначально выбранные объекты или свойства оказываются непод­ходящими, их необходимо изменить. Можно сделать оценку общего числа эвристических правил, необходимых для создания окончательного варианта экспертной системы. Иногда [Хювянен, Сеппянен, 1991] при разработке промышленной и/или коммерческой системы выделяют следующие допол­нительные этапы для перехода (табл. 1.2): • демонстрационный прототип; • исследовательский прототип; • действующий прототип; • промышленная система; • коммерческая система. Однако чаще реализуется плавный переход от демонстрационного прототи­па к промышленной системе, при этом, если программный инструментарий был выбран удачно, не обязательно даже переписывать окончательный ва­риант другими программными средствами. Понятие же коммерческой системы в нашей стране входит в понятие "про­мышленный программный продукт", или "промышленная ЭС" (в этой работе). Таблица 1.2. Переход от прототипа к промышленной экспертной системе Этапы развития прототипа Функциональность прототипа Основная работа на данном этапе заключается в существенном расширении базы знаний, т. е. в добавлении большого числа дополнительных правил, фреймов, узлов семантической сети или других элементов знаний. Эти элементы знаний обычно увеличивают глубину системы, обеспечивая большее (число правил для трудноуловимых аспектов отдельных случаев. В то же время эксперт и инженер по знаниям могут увеличить базу знаний системы, включая правила, управляющие дополнительными подзадачами или допол­нительными аспектами экспертной задачи (метазнания). После установления основной структуры ЭС знаний инженер по знаниям приступает к разработке и адаптации интерфейсов, с помощью которых система будет общаться с пользователем и экспертом. Необходимо обратить особое внимание на языковые возможности интерфейсов, их простоту и удобство для управления работой ЭС. Система должна обеспечивать поль­зователю возможность легким и естественным образом уточнять непонят­ные моменты, приостанавливать работу и т. д. В частности, могут оказаться полезными графические представления. На этом этапе разработки большинство экспертов узнают достаточно о вво­де правил и могут сами вводить в систему новые правила. Таким образом, начинается процесс, во время которого инженер по знаниям передает право собственности и контроля системы эксперту для уточнения, детальной раз­работки и обслуживания. 4. Оценка системы После завершения этапа разработки промышленной экспертной системы необходимо провести ее тестирование в отношении критериев эффективно­сти. К тестированию широко привлекаются другие эксперты с целью апро­бирования работоспособности системы на различных примерах. Экспертные системы оцениваются главным образом для того, чтобы проверить точность работы программы и ее полезность. Оценку можно проводить, исходя из различных критериев, которые сгруппируем следующим образом: • критерии пользователей (понятность и "прозрачность" работы системы, удобство интерфейсов и др.); • критерии приглашенных экспертов (оценка советов-решений, предлагае­мых системой, сравнение ее с собственными решениями, оценка подсис­темы объяснений и др.); • критерии коллектива разработчиков (эффективность реализации, произ­водительность, время отклика, дизайн, широта охвата предметной облас­ти, непротиворечивость БЗ, количество тупиковых ситуаций, когда система не может принять решение, анализ чувствительности программы незначительным изменениям в представлении знаний, весовых коэф­фициентах, применяемых в механизмах логического вывода, данных i т. п.). • 5. Стыковка системы На этом этапе осуществляется стыковка экспертной системы с другими программными средствами в среде, в которой она будет работать, и обуче­ние людей, которых она будет обслуживать. Иногда это означает внесение существенных изменений. Такие изменения требуют непременного вмеша­тельства инженера по знаниям или какого-либо другого специалиста, кото­рый сможет модифицировать систему. Под стыковкой подразумевается так­же разработка связей между экспертной системой и средой, в которой она действует. Когда экспертная система уже готова, инженер по знаниям должен убедить­ся в том, что эксперты, пользователи и персонал знают, как эксплуатиро­вать и обслуживать ее. После передачи им своего опыта в области инфор­мационной технологии инженер по знаниям может полностью предоставить ее в распоряжение пользователей. Для подтверждения полезности системы важно предоставить каждому из пользователей возможность поставить перед ЭС реальные задачи, а затем проследить, как она выполняет эти задачи. Для того чтобы система была одобрена, необходимо представить ее как помощника, освобождающего пользователей от обременительных задач, а не как средство их замещения. Стыковка включает обеспечение связи ЭС с существующими базами данных и другими системами на предприятии, а также улучшение системных фак­торов, зависящих от времени, чтобы можно было обеспечить ее более эф­фективную работу и улучшить характеристики ее технических средств, если система работает в необычной среде (например, связь с измерительными устройствами). Так успешно была состыкована со своим окружением система PUFF — экспертная система для диагностики заболеваний легких [Хейес-Рот и др., 1987]. После того как PUFF была закончена и все были удовлетворены ее работой, систему перекодировали с LISP на Бейсик. Затем систему перене­сли на ПЭВМ, которая уже работала в больнице. В свою очередь, эта ПЭВМ была связана с измерительными приборами. Данные с измеритель­ных приборов сразу поступают в ПЭВМ. PUFF обрабатывает эти данные и печатает рекомендации для врача. Врач в принципе не взаимодействует с PUFF. Система полностью интегрирована со своим окружением — она представляет собой интеллектуальное расширение аппарата исследования легких, который врачи давно используют. Другой системой, которая хорошо функционирует в своем окружении, яв­лялась САТ-1 [Уотермен, 1990] — экспертная система для диагностики не­исправностей дизелей локомотивов. Эта система была разработана также на языке LISP, а затем была переведе­на на FORTH с тем, чтобы ее можно было более эффективно использовать в различных локомотивных цехах. Мастер по ремонту запрашивает систему о возможных причинах неисправности дизеля. Система связана с видеодис­ком, с помощью которого мастеру показывают визуальные объяснения и подсказки, касающиеся более подробных проверок, которые он должен сделать. Кроме того, если оператор не уверен в том, как устранить неисправность, система предоставляет ему обучающие материалы, которые фирма подгото­вила предварительно, и показывает ему их на видеотерминале. Таким обра­зом, мастер по ремонту может с помощью экспертной системы диагности­ровать проблему, найти тестовую процедуру, которую он должен использо­вать, получить на дисплее объяснение, как провести тест, или получить инструкции о том, как справиться с возникшей проблемой. 6. Поддержка системы При перекодировании системы на язык, подобный Си, повышается ее бы­стродействие и увеличивается переносимость, однако гибкость при этом уменьшается. Это приемлемо лишь в том случае, если система сохраняет все знания проблемной области, и это знание не будет изменяться в ближай­шем будущем. Однако если экспертная система создана именно из-за того, что проблемная область изменяется, то необходимо поддерживать систему Нее инструментальной среде разработки. Удачным и ставшим уже хрестоматийным примером ЭС, внедренной таким образом, является XCON (R1) — ЭС, которую фирма DEC использовала для комплектации ЭВМ семейства VAX. Человеческий фактор при разработке ЭС При разработке ЭС наиболее критическим фактором является человеческий, поскольку разработка таких систем требует высочайшей квалификации от коллектива разработчиков. Под коллективом разработчиков (КР) будем понимать группу специалистов, ответственных за создание ЭС. Как видно из рис. 1.12, в состав КР входят, по крайней мере, три человека — пользователь, эксперт и инженер по знаниям. В действительности, безусловно, нужен как минимум один программист, и обязательно надо 1ривлекать к работе заказчика, хотя бы на ранних стадиях. Таким образом, минимальный состав КР включает пять человек; реально же он разрастается до 8—10 человек. Численное увеличение коллектива разработчиков проис­ходит по следующим причинам: • необходимость учета мнения нескольких пользователей; • привлечение к экспертизе нескольких экспертов; • потребность как в прикладных, так и системных программистах. На Западе в этот коллектив дополнительно традиционно включают менед­жера и одного технического помощника. Если использовать аналогии из близких областей, то КР более всего схож с группой администратора базы данных при построении интегрированных информационных систем или бригадой программистов, разрабатывающих сложный программный комплекс. При отсутствии профессионального ме­неджера руководителем КР, участвующим во всех стадиях разработки, явля­ется инженер по знаниям, поэтому к его квалификации предъявляются са­мые высокие требования. В целом уровень и численность группы зависят от характеристик поставленной задачи. Практически все психологи отмечают, что на любой коллективный процесс влияет атмосфера, возникающая в группе. Существуют эксперименты, ре­зультаты которых неоспоримо говорят, что часто дружеская атмосфера в коллективе больше влияет на результат, чем индивидуальные способности отдельных членов группы [Немов, 1984]. Особенно важно, чтобы в коллек­тиве разработчиков складывались кооперативные, а не конкурентные отно­шения. Для кооперации характерна атмосфера сотрудничества, взаимопо­мощи, заинтересованности в успехах друг друга, т. е. уровень нравственного общения, а для отношений конкурентного типа — атмосфера индивидуа­лизма и межличностного соперничества (более низкий уровень общения). В настоящее время, прогнозировать совместимость в общении со 100%-ной гарантией невозможно. Однако можно выделить ряд факторов и черт лич­ности, характера и других особенностей участников общения, несомненно, оказывающих влияние на эффективность процедуры, что в том числе обу­словлено и психологической совместимостью членов группы. Следователь­но, при формировании КР желательно учитывать психологические свойства участников. В настоящий момент в психологии существуют несколько десятков методик по определению свойств личности, широко используемых в вопросах про­фессиональной ориентации. Эти психодиагностические методики, часть из которых уже автоматизирована, различаются направленностью, глуби­ной, временем опроса и способами интерпретации. В частности, система АВАНТЕСТ (Автоматический АНализ ТЕСТов) [Гаврилова, 1984] позволяет моделировать рассуждения психолога при анализе результатов тестирования по 16-факторному опроснику Р. Кэттела и выдает связное психологическое заключение на естественном русском языке, характеризующее такие свойства личности, как общительность, аналитичность, добросовестность, само­контроль и т. п. Рассмотрим минимальные требования. Ниже приведены два аспекта харак­теристик членов КР: А — психофизиологический, Б — профессиональный. 1.Пользователь А. К пользователю практически профессиональных требований не предъяв­ляют, поскольку его не выбирают. Он является в некотором роде заказчи­ком системы. Желательные качества: а) дружелюбие; б) умение объяснить, что же он хочет от системы; в) отсутствие психологического барьера к применению вычислительной техники; г) интерес к новому. От пользователя зависит, будет ли применяться разработанная ЭС. Замечено, что наиболее ярко качества в) и г) проявляются в молодом возрасте, поэто­му иногда такие пользователи охотнее используют ЭС, не испытывая при этом комплекса неполноценности оттого, что ЭВМ им что-то подсказывает. Б. Необходимо, чтобы пользователь имел некоторый базовый уровень ква­лификации, который позволит ему правильно истолковать рекомендации ЭС. Кроме того, должна быть полная совместимость в терминологии ин­терфейса к ЭС с той, которая привычна и удобна для пользователя. Обычно требования к квалификации пользователя не очень велики, иначе он пере­ходит в разряд экспертов и совершенно не нуждается в ЭС. 2.Эксперт А. Эксперт — чрезвычайно важная фигура в группе КР. В конечном счете, его подготовка определяет уровень компетенции базы знаний. Желательные качества: а) доброжелательность; б) готовность поделиться своим опытом; в) умение объяснить (педагогические навыки); г) заинтересованность (моральная, а лучше еще и материальная) в успешности разработки. Возраст эксперта обычно зрелый, что необходимо учитывать всем членам группы. Часто встает вопрос о количестве экспертов. Поскольку проблема совмещения подчас противоречивых знаний остается открытой, обычно с каждым из экспертов работают индивидуально, иногда создавая альтерна­тивные базы. Другие определения эксперта из "околонаучного" фольклора: "Человек, ко­торый перестал думать на том основании, что он знает", "Такой же специа­лист как у нас есть, но из другого города", "Человек, который знает, что бу­дет завтра, а послезавтра может объяснить, почему этого не случилось". Б. Помимо, безусловно, высокого профессионализма в выбранной предмет­ной области, желательно знакомство эксперта с популярной литературой по искусственному интеллекту и экспертным системам для того, чтобы эффек­тивнее прошел этап извлечения знаний. 3. Программист А. Известно, что программисты обладают самой низкой потребностью в общении среди представителей разных профессий. Однако при разработке ЭС необходим тесный контакт членов группы, поэтому желательны сле­дующие его качества: а) общительность; б) способность отказаться от традиционных навыков и освоить новые методы; в) интерес к разработке. Б. Поскольку современные ЭС — сложнейшие и дорогостоящие программ­ные комплексы, программисты в КР должны иметь опыт и навыки разра­ботки программ. Обязательно знакомство с основными структурами пред­ставления знаний и механизмами вывода, состоянием отечественного и ми­рового рынка программных продуктов для разработки ЭС и диалоговых интерфейсов. 4. Инженер по знаниям А. Существуют такие профессии и виды деятельности, для которых природ­ные качества личности (направленность, способности, темперамент) могут иметь характер абсолютного показания или противопоказания к занятиям. По-видимому, инженерия знаний принадлежит к таким профессиям. По различным оценкам это одна из самых малочисленных, высокооплачивае­мых и дефицитных в мире специальностей. Попытаемся дать наброски к портрету инженера по знаниям (без претензии на полноту и точность определений). Пол. Психологи утверждают, что мужчины более склонны к широкому охва­ту явлений и в среднем у них выше аналитичность, чрезвычайно полезная инженеру по знаниям, которому надо иметь развитое логическое мышление и умение оперировать сложными формальными структурами. Кроме того, при общении с экспертами, которые в большинстве своем настроены скеп­тически по отношению к будущей ЭС, инженер по знаниям - мужчина вызы­вает более высокое доверие со стороны эксперта. С другой стороны, извест­но, что у женщин в среднем выше коммуникабельность, наблюдательность к отдельным деталям объектов. Так что пол не является окончательным показанием или противопоказанием к данной профессии. Интеллект. Это понятие вызывает самые бурные споры психологов; суще­ствует до 50 определений интеллекта, но с прагматической точки зрения очевидно, что специалист в области искусственного интеллекта должен стремиться к максимальным оценкам по тестам как вербального, так и не­вербального интеллекта. Стиль общения. Инженер по знаниям "задает тон" в общении с экспертом, он ведет диалог, и от него, в конечном счете, зависит его продуктивность. Можно выделить два стиля общения: деловой (или жесткий) и дружеский (или мягкий, деликатный). Нам кажется, что дружеский будет заведомо бо­лее успешным, т. к. снижает "эффект фасада" у эксперта, раскрепощает его. Деликатность, внимательность, интеллигентность, ненавязчивость, скром­ность, умение слушать и задавать вопросы, хорошая коммуникабельность и В то же время уверенность в себе — вот рекомендуемый стиль общения. Безусловно, что это дар и искусство одновременно, однако занятия по пси­хологическому тренингу могут дать полезные навыки. Портрет инженера по знаниям можно было бы дополнить другими характе­ристиками — широтой взглядов и интересов, артистичностью, чувством юмора, обаянием и т. д. Интересные результаты были получены в | Вой нов, Долныкова, Чудова, 1988] при исследовании психологических особенностей аналитиков. Выяс­нилось, что одним из отличительных свойств хорошего аналитика является ожидание высокой позитивной оценки при общении, т. е. установка на успех. Как писал Э. Берн [Берн, 1988], существует 4 типа людей: 1. I am OK, you are OK (я хороший, ты хороший). 2. I am OK, you are not OK (я хороший, ты нехороший). 3. I am not OK, you are ОК(я нехороший, ты хороший). 4. I am not OK, you are not ОК(я нехороший, ты нехороший). Очевидно, что успешным является только первый тип. Несомненным становится вопрос об определении профессиональной при­годности инженеров по знаниям и необходимости предварительного психо­логического тестирования при подготовке инженеров по знаниям. Здесь только приведем каталог свойств идеального интервьюера [Ноэль, 1978]. На наш взгляд, это вполне подходящий образец портрета инженера по знаниям перед серией свободных диалогов: "Он должен выглядеть здоровым, спо­койным, уверенным, внушать доверие, быть искренним, веселым, проявлять интерес к беседе, быть опрятно одетым, ухоженным". Хороший аналитик может личным обаянием и умением скрыть изъяны подготовки. Блестящая краткая характеристика интервьюера приведена в той же работе — "общи­тельный педант". Б. При определении профессиональных требований к аналитику следует учитывать, что ему необходимы различные навыки и умения для грамотного и эффективного проведения процессов извлечения, концептуализации и формализации знаний. Инженер по знаниям имеет дело со всеми формами знаний (см. разд. 1.1): Z1 (знания в памяти) => Z2 (знания в книгах) => Z3 (поле знаний) => Z4 (модель знаний) => Z5 (база знаний). Работа на уровне Z1 требует от инженера по знаниям знакомства с элемен­тами когнитивной психологии и способами репрезентации понятий и про­цессов в памяти человека, с двумя основными механизмами мышления — логическим и ассоциативным, с такими способами активизации мышления, как игры, мозговой штурм и др., с различными моделями рассуждений. Изучение и анализ текстов на уровне Z2 подразумевает широкую общена­учную подготовку инженера; знакомство с методами реферирования и ан­нотирования текстов; владение навыками быстрого чтения, а также тексто­логическими методами извлечения знаний. Разработка поля знаний на уровне Z3 требует квалифицированного знаком­ства с методологией представления знаний, системным анализом, теорией познания, аппаратом многомерного шкалирования, кластерным и фактор­ным анализом. Разработка формализованного описания Z4 предусматривает предваритель­ное изучение аппарата математической логики и современных языков пред­ставления знаний. Модель знаний разрабатывается на основании результа­тов глубокого анализа инструментальных средств разработки ЭС и имею­щихся "оболочек". Кроме того, инженеру по знаниям необходимо владеть методологией разработки ЭС, включая методы быстрого прототипирования. И наконец, реализация базы знаний Z5, в которой инженер по знаниям участвует вместе с программистом, подразумевает овладение практическими навыками работы на ЭВМ и, возможно, одним из языков программиро­вания. Так как инженеров по знаниям "выращивают" из программистов, уровень Z5 обычно не вызывает затруднения, особенно если разработка ведется на традиционных языках типа Си или Паскаль. Специализированные языки искусственного интеллекта LISP и Пролог требуют некоторой перестройки архаично-алгоритмического мышления. Следует констатировать, что поскольку профессиональных аналитиков не готовит ни один вуз, необходима специальная подготовка этих специали­стов. Подробную информацию. Успешность выбора и подготовки коллектива разработчиков ЭС определяет эффективность и продолжительность всего процесса разработки.
«Сильный искусственный интеллект» 👇
Готовые курсовые работы и рефераты
Купить от 250 ₽
Решение задач от ИИ за 2 минуты
Решить задачу
Найди решение своей задачи среди 1 000 000 ответов
Найти
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач

Тебе могут подойти лекции

Смотреть все 588 лекций
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot