Главная страница

дб. Четвертое издание джозеф Джарратано Университет Хьюстон клиэрЛэйк Гари Райли People5oft, Издательский дом "Вильямс" Москва СанктПетербург Киев 2007 ббк 32. 973. 26 018 75 Д


Скачать 3.73 Mb.
НазваниеЧетвертое издание джозеф Джарратано Университет Хьюстон клиэрЛэйк Гари Райли People5oft, Издательский дом "Вильямс" Москва СанктПетербург Киев 2007 ббк 32. 973. 26 018 75 Д
Дата19.05.2022
Размер3.73 Mb.
Формат файлаpdf
Имя файла[Dzharratano Dzhozef, Raili Gar - Nieizviestnyi.pdf
ТипДокументы
#538649
страница8 из 74
1   ...   4   5   6   7   8   9   10   11   ...   74
Знания, касающиеся причин головной боли, могут также присутствовать в других научных областях, таких как рефлексология, психология, психиатрия, физиология, наука о спорте, йога и самовнушение. Общий вывод из этих рассуждений таков начав перечислять научные дисциплины
касающиеся любой темы, остановиться просто невозможно. А
чем больше знаний из различных научных областей введено в экспертную систему, тем она сложнее. При этом особенно затрудняется решение задачи координации всех экспертных знаний. Практический опыт показывает, насколько сложно бывает координировать работу групп экспертов разных специальностей, работающих над одними и теми же задачами,
особенно если эти группы выдвигают противоречащие друг другу рекомендации. Если бы мы знали, как осуществить с помощью программы координацию экспертных знаний, то могли бы попытаться запрограммировать такую экспертную систему, в которой воплощены знания многих экспертов. Впервые попытки координировать работу многочисленных экспертных систем были предприняты при создании систем HEARSAY II и Ш. Такие проекты стали наглядной демонстрацией сложности указанной задачи. Например, многие из нас сталкивались с такой ситуацией, когда после доставки автомобиля в разные сервисные центры оказывалось, что в каждом случае дается диагноз, не совпадающий с другими. По мере того как уменьшается объем экспертных знаний Глава 1. Введение в экспертные системы увеличивается количество разных мнений, поэтому задача выбора правильного способа действий становится весьма затруднительной. ° Есть ли необходимость и потребность в создании экспертной системы?
Безусловно, создание экспертной системы — очень увлекательное занятие, но оно теряет смысл, если никто не собирается ее использовать. Например, если на предприятии уже имеется много экспертов-людей, то трудно обосновать необходимость создания экспертной системы по причине нехватки экспертных знаний людей. Кроме того, если эксперты или пользователи не заинтересованы в применении системы,
она таки не будет принята на вооружение, даже если есть такая потребность. В частности, многие расчетные модели показали,
что управление светофорами с помощью методов
искусственного интеллекта позволило бы снизить потребление бензина в крупном городе на 501 но это также приведет к уменьшению на 50'4 объема налогов от продажи бензина,
поступающих в казну города, штата и федерального правительства. Особую заинтересованность в поддержке системы должно проявлять руководство. Это требование является еще более важным применительно к экспертным системам, чем к обычным программам, поскольку обычно считается, что развертывание экспертной системы предшествует сокращению количества рабочих мест.
Работников необходимо убедить в том, что внедрение экспертной системы приводит не к сокращению работы, а к повышению прибыльности предприятия, поскольку экспертные знания становятся более широкодоступными при меньших затратах. В целом научная область, связанная с созданием экспертных систем, заслуживает большей поддержки, поскольку в ней предпринимаются попытки решать такие задачи, которые не могут быть решены с помощью обычного программирования.
Возникающие при этом риски гораздо выше, но больше и вознаграждение. ° Есть ли по крайней мере один эксперт- человек, желающий участвовать в этой работе На предприятии должен быть хотя бы один эксперт, готовый принять участие в проекте, причем даже лучше, если он будет относиться к проекту создания экспертной системы с энтузиазмом. Далеко не все эксперты согласны подвергнуть свои знания проверке на наличие ошибок, а затем перенести их в компьютер. Причем,
даже если многие эксперты желают участвовать в разработке,
может оказаться целесообразным ограничить количество экспертов, участвующих в создании системы. Разные эксперты могут применять различные способы решения задачи,
например, запрашивать разные диагностические тесты. Иногда эксперты могут даже приходить к несовпадающим заключениям.
Попытка одновременно закодировать многочисленные методы решения задачи водной базе знаний может привести к появлению внутренних конфликтов и несовместимостей.

1.8. Языки, командные интерпретаторы и инструментальные средства 65 ° Может ли эксперт дать пояснения к формулируемым им знаниям таким образом, чтобы это было понятно для инженера познаниям Даже если эксперт готов сотрудничать, могут возникнуть трудности при попытке выразить знания в явных терминах. В качестве простого примера возникающих при этом сложностей предлагаем читателю объяснить словами, как происходит движение пальцем.
Безусловно, можно сказать, что движение осуществляется путем сокращения мускулов пальца. В таком случае возникает вопрос о том, как происходит сокращение мускулов пальца, и т.д. Еще одна сложность, возникающая в процессе общения эксперта и инженера познаниям, заключается в том, что инженер познаниям может не владеть всей технической терминологией,
которой пользуется эксперт. Эта проблема становится особенно острой, когда речь идет о медицинской терминологии. Можно потратить целый год или даже больше на то, чтобы инженер познаниям просто научился понимать, о чем вообще говорит эксперт, не считая того, чтобы преобразовать знания эксперта в явно заданный компьютерный код. ° Являются ли знания в области решения задачи главным образом эвристическими и неопределенными Экспертные системы становятся наиболее подходящими, если знания эксперта в основном заданы в эвристической и неопределенной форме. Это означает, что знания могут быть основаны на опыте (такие знания называются практическими знаниями, а эксперту может потребоваться опробовать другие методы в том случае, если выбранные им подходы не работают. Иными словами, знания эксперта могут предусматривать применение подхода по принципу проб и ошибок, а не подхода, основанного на логике и алгоритмах. Тем не менее эксперт все равно должен быть способен решать такую задачу быстрее по сравнению с теми, кто не является экспертом. Подобная область является хорошей сферой приложения для экспертных систем. Если бы задачу можно было просто решить с помощью логики и алгоритмов, то для ее решения было бы целесообразнее применить обычную программу. 1.8 Языки, командные интерпретаторы и
инструментальные средства Фундаментальным решением,
которое должно быть принято при определении задачи,
является решение о том, как лучше всего создать модель для этой задачи. Иногда бывает уже накоплен определенный опыт,
позволяющий выбрать наилучший подход. Например, опыт показывает, что начисление заработной платы лучше выполнять с помощью обычного процедурного программирования. Кроме того, опыт показывает, что для решения этой задачи лучше всего использовать коммерческий программный пакет, если он имеется, а не создавать подобную программу Глава 1. Введение в экспертные системы с нуля. В качестве общей рекомендации по выбору наиболее приемлемого подхода к решению задачи следует указать, что в первую очередь необходимо рассматривать наиболее традиционный способ обычное программирование. Причина, по которой следует действовать таким образом, обусловлена тем, что накоплен огромный опыт использования обычного программирования и имеется чрезвычайно разнообразный набор доступных коммерческих пакетов. Если же задача не может быть эффективно решена с помощью обычного программирования,
то следует обращаться к таким нетрадиционным подходам, как искусственный интеллект. Но для решения таких задач недостаточно просто пройти небольшой курс по языку С необходимо изучать теорию. Как и стандартный язык применяемый для работы с реляционными базами данных, язык экспертных систем является языком более высокого уровня по сравнению с такими языками третьего поколения, как LISP или
С, поскольку он позволяет проще выполнять определенные операции с другой стороны, язык экспертных систем может использоваться лишь для решения гораздо меньшего круга задач. Это означает, что в силу своего особого характера языки экспертных систем являются более подходящими для создания экспертных система не для разработки программ общего назначения. Во многих ситуациях возникает даже
необходимость выходить на время за рамки языка экспертной системы, чтобы выполнить какую-то функцию в процедурном языке. Язык CLIPS спроектирован таким образом, чтобы можно было легко выполнять подобные переходы. Основное функциональное различие между языками экспертных систем и процедурными языками заключается в том, что лежит в основе представления. Процедурные языки нацелены на обеспечение поддержки гибких и надежных методов представления данных.
Например, они позволяют легко создавать и манипулировать такими структурами данных, как массивы, записи, связные списки, стеки, очереди и деревья. Современные языки, такие как и С, разработаны для предоставления программисту существенной помощи в достижении абстракции данных для этого предусмотрены такие структуры, обеспечивающие инкапсуляцию данных, как объекты, методы и пакеты. Тем самым достигается необходимый уровень абстракции, который затем реализуется в программе. Данные и методы манипулирования данными тесно переплетаются в объектах. В
отличие от этого, разработчики языков экспертных систем сосредоточивают свое внимание на решении задачи поддержки гибких и надежных способов представления знаний. Подход,
основанный на использовании экспертных систем, допускает применение двух уровней абстракции — абстракция данных и абстракция знаний. В языках экспертных систем специально предусмотрено отделение данных от методов манипулирования данными. Примером подобного отделения является применение фактов (абстракции данных) и правил (абстракции знаний) в языке экспертной системы на основе правил. Кроме того, в языке CLIPS предусмотрено исполь-
1.8. Языки, командные интерпретаторы и инструментальные средства 67 зование объектов и всех прочих средств настоящего объектно-ориентированного языка. Указанное различие в направленности между языками двух типов приводит также к различиям в методологии проектирования программ. Прежде
всего, в процедурных языках данные и знания тесно переплетаются, поэтому программисты обязаны тщательно описывать последовательность выполнения операторов программы. С другой стороны, в языках экспертных систем данные явно отделены от знаний, поэтому требуется гораздо менее жесткий контроль над последовательностью выполнения кода программы. Как правило, для применения знаний к данным используется полностью отдельный компонент кода — машина логического вывода. Такое разделение знаний и данных способствует достижению более высокой степени распараллеливания и модульности. Общепринятый способ определения потребности в разработке программы экспертной системы заключается в определении того, нужно ли представить в программе экспертные знания эксперта-человека. Если есть такой эксперт и готов к сотрудничеству, то подход, основанный на использовании экспертной системы, может оказаться успешным. Аналогичным образом с помощью инструментальных средств экспертных систем могут быть лучше всего решены задачи, требующие очень большого объема знаний и характеризующиеся наличием неопределенности. На пути к выбору наиболее подходящих инструментальных средств экспертных систем приходится преодолевать много неосуществимых соблазнов, поскольку в наши дни имеется слишком много вариантов выбора таких средств. А что касается языкато он проще других языков в изучении и поэтому хорошо подходит для подготовки вводного учебника, даже несмотря на то, что не обладает абсолютно всеми возможностями других языков. Кроме того, язык CLIPS все еще сохраняет свои первоначальные преимущества, заключающиеся в том, что программы на этом языке имеют небольшие размеры и выполняются очень быстро это особенно важно, если требуется отклик в реальном времени. Не считая того, что в наши дни имеется такой выбор языков, что возникает путаница,
источником путаницы становится и терминология, используемая для описания этих языков. Некоторые поставщики именуют свои программные продукты как "инструментальные средства, тогда как другие называют их "командными интерпретаторами, а
остальные ведут речь об "интегрированных вариантах среды. В
настоящей книге для наибольшей ясности соответствующие термины определены, как указано ниже. ° Язык. Транслятор команд, записанных с применением конкретного синтаксиса. В
языке экспертной системы предоставляется также машина логического вывода, предназначенная для выполнения операторов этого языка. В зависимости от реализации машина логического вывода может обеспечи-
68 Глава 1. Введение в экспертные системы вать прямой логический вывод, обратный логический выводили оба варианта вывода. В соответствии с этим определением язык не является языком экспертной системы, а является таковым. Но существует возможность написать с помощью LISP язык экспертной системы и написать с использованием языка PROLOG систему искусственного интеллекта. Мало того, язык экспертной системы или искусственного интеллекта можно даже написать на языке ассемблера. Целесообразность использования того или иного языкового программного обеспечения зависит от таких показателей, как время разработки, удобство эксплуатации,
удобство сопровождения, эффективность и быстродействие. Инструментальное средство. Сочетание языка и связанных с ним вспомогательных программ (или утилит, позволяющих упростить разработку, отладку и доставку пользователю прикладных программ. В состав утилит могут входить текстовые и графические редакторы, отладчики, системы управления файлами и даже генераторы кода. Некоторые инструментальные средства могут даже допускать использование водном приложении разных подходов, таких как прямой и обратный логический вывод. В некоторых случаях инструментальное средство может представлять собой комплекс, в котором все утилиты интегрированы в виде одной среды для предоставления пользователю общего интерфейса.
При таком подходе сводится к минимуму необходимость для
пользователя выходить за пределы среды в целях выполнения какой-либо задачи. Например, некоторое простое инструментальное средство может не предоставлять возможности управления файлами, поэтому пользователю может потребоваться выходить из этого инструментального средства, чтобы выдать обычные команды, допустим, на базовом языке С. А интегрированная среда обеспечивает удобный обмен данными между утилитами водной и той же среде. Некоторые инструментальные средства даже не требуют от пользователя, чтобы он писал какой-либо код. Вместо этого инструментальное средство дает возможность пользователю вводить знания, представленные в виде примеров, из простых или электронных таблиц и само вырабатывает соответствующий код. ° Командный интерпретатор. Инструментальное средство специального назначения, применяемое в приложениях некоторых типов, требующих от пользователя предоставить только базу знаний. Классическим примером такого инструментального средства является командный интерпретатор EMYCIN, который был создан путем удаления медицинской базы знаний из экспертной системы MYCIN. была спроектирована как система обратного логического вывода для диагностирования заболеваний. В результате простого удаления медицинских знаний была создана система предназначенная для использования в качестве командного интерпретатора, который может содержать знания, относящиеся. Элементы экспертной системы 69 к консультативным системам других типов, в которых применяется обратный логический вывод. Командный интерпретатор продемонстрировал возможность повторного использования таких важных программных средств MYCIN, как машина логического вывода и пользовательский интерфейс. Создание явилось очень важным шагом в разработке современной технологии экспертных систем, поскольку ее появление означало, что нет необходимости создавать
экспертную систему для каждого нового приложения с нуля. В
настоящее время в области создания инструментальных средств экспертных систем появились весьма достойные конкуренты, обладающие многими возможностями и снабженные графическими интерфейсами пользователя. Для описания характеристик экспертных систем применяется много способов. В частности, учитывается метод представления знаний, поддержка прямого или обратного логического вывода,
поддержка неопределенности, возможность проведения гипотетических рассуждений, наличие средств объяснения и т.д.
Способностью оценить по достоинству все эти особенности обладает только разработчик, создавший большое количество экспертных систем, особенно если речь идет о возможностях более дорогостоящих инструментальных средств. Наилучший способ изучения технологии экспертных систем состоит в том,
чтобы разработать целый ряд систем с помощью какого-то языка, легкого в изучении, а затем направить свои усилия на освоение более сложного инструментального средства, если вам действительно нужны все его возможности. 1.9 Элементы экспертной системы ° Средство объяснения. Компонент,
позволяющий объяснить пользователю ход рассуждений системы. ° Рабочая память. Глобальная база фактов,
используемых в правилах. ° Машина логического вывода.
Программный компонент, который обеспечивает формирование логического вывода (принимая решение о том, каким правилам удовлетворяют факты или объекты, располагает выполняемые правила по приоритетами выполняет правило с наивысшим приоритетом. Элементы типичной экспертной системы показаны на рис. 1.6. В системе, основанной на правилах, знания в проблемной области, необходимые для решения задач,
закодированы в форме правили содержатся в базе знаний.
Безусловно, для представления знаний наиболее широко применяются правила, но, как описано в главе 2, в экспертных системах других типов применяются также иные способы представления. Экспертная система состоит из описанных ниже компонентов. ° Пользовательский интерфейс. Механизм, с
помощью которого происходит общение пользователя и экспертной системы 70 Глава 1. Введение в экспертные системы Рис. Структура экспертной системы, основанной на правилах Рабочий список правил. Созданный машиной логического вывода и расположенный по приоритетам список правил,
шаблоны которых удовлетворяют фактам или объектам,
находящимся в рабочей памяти. ° Средство приобретения знаний. Автоматизированный способ, позволяющий пользователю вводить знания в систему, а не привлекать к решению задачи явного кодирования знаний инженера познаниям. Во многих системах имеется необязательное средство приобретения знаний. Это инструментальное средство в некоторых экспертных системах способно обучаться,
1   ...   4   5   6   7   8   9   10   11   ...   74


написать администратору сайта