Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Н.П.Фефелов ИНФОРМАТИКА Учебник.docx
Скачиваний:
14
Добавлен:
03.11.2018
Размер:
1.23 Mб
Скачать

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

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

8.1 Искусственный интеллект  Искусственный интеллект (ИИ) - научная дисциплина, возникшая в 1950-х годах на стыке кибернетики, лингвистики, психологии и программирования. Научной задачей искусственного интеллекта (ИИ) является воссоздание (имитация) с помощью искусственных устройств разумных рассуждений и действий человека. Исследования в области искусственного интеллекта ведутся по двум направлениям:  1) бионическое— попытки смоделировать с помощью исусственных систем психофизиологическую деятельность человеческого мозга с целью создания искусственного разума;  2) прагматическое - создание программ, позволяющих с использованием ЭВМ воспроизводить не саму мыслительную деятельность, а являющиеся ее результатами процессы. Здесь достигнуты важнейшие результаты, имеющие практическую ценность.  Первое направление - нейрокибернетика - базируется на аппаратном моделировании работы головного мозга человека, основой которого является большое число (около 14 миллиардов) связанных и взаимодействующих нервных клеток — нейронов. Еще в 1950-х годах было создано пороговое устройство для моделирования нервной клетки - персептрон. На первых ЭВМ малой производительности биологическую структуру мозга реализовать не удалось. Теперь микроэлектроника позволяет строить вычислительные структуры, состоящие из нескольких тысяч микропроцессоров -нейрокомпьютеры. Основная их особенность — способность менять внутреннюю структуру и тем самым обучаться, как человек. Бионическое направление ИИ вступило на новый этап развития.  Прагматическое направление ИИ дает результатом программное обеспечение ЭВМ для решения интеллектуальных задач. Это, прежде всего, естественно-языковые программы. Они позволяют: делать перевод текста с одного языка на другой, составлять рефераты больших документов, сочинять тексты для сказок и поэм, сценарии телесериалов (мыльные оперы). Музыкальные программы могут сочинять музыкальные произведения, проводить анализ готовых музыкальных произведений, имитировать различные исполнительские стили. Распознающие программы позволяют проверять правильность текста, распознавать символы рукописного текста при его сканировании. Анализаторы и синтезаторы звуков способны управлять голосом техническими устройствами, а также выдавать речевые сообщения. Наконец, многие игровые программы используют принципы ИИ. Знаменитый суперкомпьютер Deep Blueобыграл шахматного чемпиона мира Г. Каспарова.  Системы искусственного интеллекта (СИИ) основаны на знаниях. В отличие от данных, знания обладают следующими свойствами [2]:  - внутренней интерпретируемостью — вместе с информацией в базе знаний представлены информационные структуры, позволяющие не только хранить знания, но и использовать их;  - структурированностью — выполняются декомпозиция сложных объектов на более простые и установление связи между ними;  - связанностью - отражаются закономерности относительно фактов, процессов, явлений и причинно-следственные отношения между ними;  - активностью - на основе имеющихся знаний можно выводить (получать) новые знания.  Эти свойства знаний должны обеспечивать возможность СИИ моделировать рассуждения человека при решении прикладных задач - со знаниями тесно связано понятие процедуры получения решения задач (стратегии обработки знаний). В системах обработки знаний такую процедуру называют механизмом вывода, механизмом рассуждений или логическим выводом.  Для организации взаимодействия с СИИ в ней должны быть средства общения с пользователем — интерфейс. Интерфейс обеспечивает работу с базой знаний и механизмом вывода на языке специалистов той области, к которой относится СИИ.  Кроме того, необходима поддержка диалога пользователя с системой для получения объяснений действий системы, участия в поиске решения задачи и корректировке базы знаний.  Основными частями систем, основанных на знаниях, являются:  - база знаний;  - механизм вывода;  - интерфейс с пользователем.  Представление знаний — это соглашение о том, как описать реальный мир. В науках принят следующий способ представления знаний. На естественном языке вводятся основные понятия и отношения между ними. При этом используются ранее определенные понятия и отношения, смысл которых уже известен. Далее устанавливается соответствие между характеристиками понятий знания и подходящей математической моделью.  Основная цель представления знаний - строить модели реального мира и его частей. Представление выполняется в рамках конкретной системы представления знаний.  Система представления знаний (СПЗ) содержит средства, позволяющие:  - описывать знания о предметной области с помощью языка представления знаний;  - организовывать хранение знаний в системах (накопление, анализ, обобщение и организация структурированности знаний);  - вводить новые знания и объединять их с имеющимися;  - находить требуемые знания;  - проверять непротиворечивость накопленных знаний;  - обеспечивать интерфейс между пользователями и знаниями.  Центральное место в СПЗ занимает язык представления знаний (ЯПЗ). Выразительные возможности ЯПЗ определяются лежащей в его основе моделью представления знаний.  Модель представления знаний призвана отобразить статические и динамические свойства предметной области (ПО), т.е.  отобразить объекты и отношения ПО, связи между ними, иерархию понятий и изменение отношений между объектами.  В СИИ используются универсальные модели представления знаний:  - семантические сети;  - фреймы;  - продукционные системы;  - логические модели.  В семантических сетях (СС) структура знаний формируется в виде ориентированного графа с размеченными вершинами и дугами. Вершины обозначают сущности и понятия ПО, а дуги -отношения между ними. Вершины и дуги могут снабжаться именами. Основными связями для СС, с помощью которых формируются понятия, являются:  - класс, к которому принадлежит данное понятие;  - свойства, выделяющие понятия из всех прочих понятий данного класса;  - примеры данного понятия.  С помощью СС можно описывать события и действия. Для этих целей используются специальные типы отношений, называемые падежами: агент - действующее лицо, вызывающее действие; объект - предмет, подвергающийся действию; адресат -лицо, пользующееся результатом действия. Введение падежей позволяет перейти от поверхностной структуры предложения к его смысловому содержанию.  СС не дают ясного представления о структуре ПО, это пассивные структуры, для обработки которых необходимы средства формального вывода и планирования на СС. Поэтому в чистом виде СС на практике не используются,  Фрейм - это структура, описывающая один объект, а конкретные свойства этого объекта и факты, относящиеся к нему, содержатся в слотах — структурных элементах данного фрейма. В слот можно подставить разные данные: числа или математические соотношения, тексты, программы, правила вывода или ссылки на другие слоты данного или другого фрейма. Все фреймы взаимосвязаны и образуют иерархическую (древовидную) фреймовую систему, в которой объединены процедурные знания.  Для большинства фреймовых языков свойственно иерархическое описание объектов ПО с использованием типовых фреймов. Управление получением результата во фреймовых системах реализуется путем подключения присоединенных процедур, разработанных пользователем. Процедуры связываются со слотами и именуются демонами и слугами. Демон - это процедура, которая активизируется автоматически, когда в ее слот подставляется значение или проводится сравнение значений. Слуга -процедура, которая активизируется при возникновении определенного события. С использованием присоединенных процедур можно запрограммировать любой процесс получения результата на фреймовой сети.  Языки представления знаний, основанных на фреймовой модели, эффективны для структурного описания сложных понятий и решения задач, в которых желательно применять различные способы вывода. Но затрудняется управление завершенностью и постоянством целостного образа, что иногда может приводить к неправильным решениям.  Продукционные системы - это системы представления знаний, основанных на правилах ЕСЛИ A1,A2,...,An, TO В. Если выполняются все условия (факты) от А| до Аn, тогда следует выполнить действие В. Часть правила после ЕСЛИназывается посылкой, а после ТО - выводом, действием или заключением. С помощью фактов описывается текущее состояние ПО. Действие трактуется как добавление нового факта в описание текущего состояния ПО.  Предметная область может быть описана в продукционных системах множеством фактов и множеством правил. Правила описывают причинно-следственные связи между фактами, т.е. как истинность одних фактов влияет на истинность других. Такое представление ПО является во многих случаях достаточным. Описание ПО нетрудно представить в виде базы фактов и базы правил и построить интерпретатор базы правил, который по описанию текущего состояния ПО осуществляет поиск выводимых из фактов заключений. В продукционных системах используются два способа реализации вывода знаний: прямой (вывод от данных) и обратный (вывод от цели). В первом идут от известных фактов и на каждом шаге вывода к этим фактам применяют все возможные правила, которые порождают новые факты, и так то тех пор, пока не будет порожден факт-цель.  Во втором случае вывод идет в обратном направлении - от поставленной цели. Если цель согласуется с заключением правила, то посылку правила принимают за подцель или гипотезу, и этот процесс повторяется до тех пор, пока не будет получено совпадение подцели с известными фактами.  Логическая модель представления знаний представляет собой формальную систему - некоторое логическое исчисление. Все знания о ПО описываются в виде формул этого исчисления или правил вывода. Описание в виде формул дает возможность представить знания в виде аксиом. Правила вывода позволяют строить из ранее определенных аксиом новые правильные выводы. Па вход СИИ поступает описание задачи в виде запроса (предложения, теоремы), которое явно не представлено в базе знаний, но если оно не противоречит имеющимся знаниям, то решение задачи может быть выражено на основе имеющихся формул. Процесс работы механизма вывода называют доказательством запроса. Если запомнить шаги процесса вывода в виде трассы и представить ее пользователю, то она будет объяснением выработанного СИИ решения задачи.  Языки представления знаний логического типа использовались на ранних стадиях создания СИИ, но потом были заменены другими языками. Отсутствие наглядности затрудняло распространение языков такого типа.  Инструментальные средства систем искусственного интеллекта. Первые СИИ создавались на алгоритмических языках широкого применения. Наиболее удобными оказались языки LISP и SmallTalk. LISP имеет развитые средства работы со списками и поддержку механизма рекурсии, которые важны для обработки символьной информации. С помощью LISP созданы экспертные системы MYCIN, DENDRAL, PROSPECTOR.  В дальнейшем были созданы системы программирования на языках представления знаний. Они содержат собственные средства представления знаний и поддержки логического вывода. К числу таких языков можно отнести FRL, KRL,OPS5, LogLISP и Prolog. Наибольшее распространение из этих языков получили языки логического программирования Prolog и OSP5.  Более подробно системы искусственною интеллекта описаны в книгах [2,13].

8.2 Экспертные системы  В последние годы в рамках исследований по искусственному интеллекту сформировалось самостоятельное направление -экспертные системы. Экспертная система (ЭС) — это СИИ, которая содержит знания опытных специалистов (экспертов) о некоторой предметной области и которая в пределах этой области способна принимать экспертные решения (давать совет, ставить диагноз, направлять действия пользователя).  ЭС позволяют накапливать, систематизировать и сохранять знания, профессиональный опыт тех экспертов, которые решают задачи наилучшим образом. Накопленные в ЭС знания могут использоваться неограниченное число раз. Работа экспертных систем основана на алгоритмах искусственного интеллекта и предполагает использование информации, заранее полученной от специалистов-экспертов.  ЭС используются там, где нет твердо устоявшейся теории, в тех предметных областях, где слишком много переменных величин, затрудняющих создание полной теории, точной математической модели. В этих предметных областях искусные практики при решении задач опираются на свой опыт, навыки и интуицию.  На рис. 8.1 приведена упрощенная структурная схема ЭС [12].  Главной частью любой ЭС является база знаний. Она представляет собой совокупность знаний по данной предметной области, почерпнутых из публикаций, а также введенных в процессе взаимодействия экспертов с ЭС.  С помощью редактора базы знаний эксперт наполняет базу знаний (как бы передает ей свои знания, умения, навыки). При создании ЭС наиболее трудоемким и трудно формализуемым этапом является процедура заполнения базы знаний сведениями, необходимыми для ее работы. Базы знаний могут включать несколько десятков тысяч правил. В создании таких БЗ экспертам оказывают помощь инженеры по знаниям - когнитологи.  Решатель (машина логического вывода) — это программа, имитирующая ход рассуждений эксперта на основании знаний, имеющихся в БЗ, и данных, введенных пользователем. Решатель -«мозг» ЭС. С помощью решателя обрабатываются введенные данные и делаются соответствующие выводы. Машина логического вывода может использовать различные стратегии поиска: прямой поиск — от фактов к цели и обратный поиск  от цели к фактам. В первом случае ЭС ищет пути от исходного состояния проблемы к цели (к выводу или совету). Во втором случае, начав с цели (результата), ЭС пытается доказать истинность результата.  Подсистема объяснений - программа, позволяющая продемонстрировать, как и почему получен результат, то есть показать цепочку рассуждений электронного эксперта. Подсистема объяснений облегчает когнитологу выявление ошибок и модернизацию ЭС.  В описанной структуре ЭС знания отделены от алгоритмов их обработки. Содержание БЗ зависит только от конкретной предметной области. С другой стороны, пользовательский интерфейс, решатель, редактор БЗ, подсистема объяснений (эти части ЭС называют оболочкой) независимы от предметной области. Создание ЭС состоит в создании универсальной оболочки. В такой ЭС для новой ПО достаточно наполнить базу знаний специфическими сведениями.  БЗ содержит факты и правила. Факты являются краткосрочной информацией и могут изменяться в процессе консультаций. Правила представляют более долговременную информацию о том, как порождать новые факты и гипотезы. Правила могут быть эвристическими (установленные экспертами). В этом случае ЭС дает скорее правдоподобный совет, чем достоверный факт.  Знания, полученные из опыта и по интуиции в ЭС, называют эвристиками.База знаний может включать в себя метазнание, т.е. знание о знании (о том, как мыслит эксперт). В отличие от обычной базы данных, в базе знаний хранятся не только факты, но и правила, которые позволяют вывести новые факты.  Перечислим особенности ЭС:  - ограниченность одной предметной областью;  - способность рассуждать при сомнительных исходных данных;  - возможность объяснения цепочки сделанных ЭС заключений;  - факты и механизм вывода четко отделены друг от друга; возможность расширения и модернизации.  Экспертная система MYCIN (Станфордский университет) -одна из первых и наиболее известных ЭС, разработана в середине 1970-х годов прошлого века. Она предназначена для диагностики инфекционных заболеваний. Юридическая ЭС JUDITH создана в 1975 г. в Гейдельбергском и Дармштадском университетах, позволяет получать юристам экспертные заключения по гражданским делам.  ЭС INTERNIST диагностирует несколько сотен болезней с точностью, которая сопоставима с точностью диагноза, сделанного квалифицированным врачом. Система Management Advisor помогает руководителю в планировании своей коммерческой деятельности. ЭС EXPERTAX готовит рекомендации ревизорам и налоговым специалистам в подготовке расчетов по налогам и подготовке финансовых деклараций. База знаний отражает опыт свыше двадцати экспертов.  PROSPECTOR - ЭС, которая помогает геологам в поиске полезных ископаемых. В ЭВМ вводятся карты, обзоры местности, ответы на вопросы, которые задаются геологам. PROSPECTOR предсказывает расположение новых залежей. Использование этой системы позволило обнаружить залежи молибдена в Британской Колумбии.  Из краткого перечисления видно, что ЭС используются в различных областях деятельности человека. Рассмотрим кратко порядок работы с медицинской ЭС INTERNIST.  Для каждой болезни опытные врачи (эксперты) заносят в базу знаний характерный набор симптомов. Затем пользователь (врач или пациент) водит конкретные симптомы неизвестной болезни, и ЭС по наибольшему числу совпадений ставит диагноз.  Пользователь в режиме «Ввод симптомов для интерпретации» последовательно выбирает 25 групп симптомов (глаза, горло, спина, живот, кожа и т.д.), с помощью которых на следующем шаге придется вводить множество симптомов болезней. Каждый из двадцати пяти пунктов этого меню позволяет детально описать признаки болезни каждого органа.  Открывая каждый из 25 пунктов меню, пользователь заносит в ЭС все симптомы болезни пациента и данные проведенных анализов (значения температуры, давления, значения химических анализов). После этого выбирается режим «Анализ симптомов», и ЭС ставит диагноз пациенту, указывая несколько возможных заболеваний в порядке убывания вероятности. Каждая болезнь сопровождается указанием числа совпадений введенных признаков с действительными симптомами данной болезни. Окончательное решение о болезни будет принимать врач, а ЭС выступает лишь в роли советника, подсказывающего возможные варианты. При необходимости врач может в режиме «Ссылка на заболевание» уточнить признаки каждой болезни, сведения о которой занесены в базу знаний. И при необходимости провести дополнительные обследования.