ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 31.03.2021
Просмотров: 6791
Скачиваний: 51
181
исходов.
Стандартные фразы и грамматические формы были без труда приспособлены к программе,
и в результате получился существенно вырожденный диалект английского языка, легко поддаю-
щийся программированию. Врачи оказались очень довольными таким результатом, потому что,
сами не сознавая того, говорили, используя очень небольшой набор слов английского языка (по
крайней мере, когда сообщали о своей работе).
В некотором роде это имеет нечто общее с системой DENDRAL, в которой применяется
графический язык, приспособленный к специфической деятельности химиков.
DENDRAL -
это старейшая, самая разработанная экспертная система в мире. Или, по край-
ней мере, старейшая система, названная экспертной.
Химик, приготавливая вещество, часто хочет знать, какова его химическая структура. Для
этого существуют различные способы. Во-первых, специалист может сделать определенные умо-
заключения на основе собственного опыта. Во-вторых, он может исследовать это вещество на
спектрометре и, изучая структуру спектральных линий, уточнить свои первоначальные догадки.
Во многих случаях это даст ему возможность точно определить структуру вещества. Проблема
состоит в том, что все это требует времени и значительной экспертизы со стороны научного сооб-
щества. Здесь-то и оказывается очень полезной система DENDRAL, автоматизирующая процесс
определения химической структуры вещества.
В самых общих чертах процесс принятия решения следующий.
Пользователь дает системе
DENDRAL некоторую информацию о веществе, а также данные спектрометрии (инфракрасной,
ядерного магнитного резонанса и масс-спектрометрии), и та, в свою очередь, выдает диагноз в ви-
де соответствующей химической структуры. Можно для простоты представить систему
DENDRAL состоящей
из двух частей, как если бы в одной экспертной системе были две самостоя-
тельные системы. Первая из них содержит набор правил для выработки возможных химических
структур. Вводимая информация состоит из ряда заключений, сделанных
химиком, и позволяет
судить какие структуры вероятны в том или ином случае.
На выходе первой системы имеется не один простой ответ. Обычно это серия возможных
структур - программа не в состоянии точно сказать, какая из них верна. Затем DENDRAL «берет»
каждую из этих структур по очереди и использует вторую экспертную систему, чтобы определить
для каждой из них, каковы были бы результаты спектрального анализа, если бы это вещество су-
ществовало и было на самом деле исследовано на спектрограмме. Процесс, часто именуемый «ге-
нерация и проверка», позволяет постоянно сокращать число возможных рассматриваемых вариан-
тов, чтобы в любой момент оно было как можно меньше. В отличие от некоторых экспертных сис-
тем DENDRAL задумана не как «игрушка». Она используется не только для проверки теоретиче-
ских основ экспертных систем, но и реально применяется для определения химических структур.
PROSPECTOR
- это экспертная система, применяемая при поиске коммерчески оправдан-
ных месторождений полезных ископаемых.
Система PROSPECTOR, по аналогии с MYCIN, содержит большое число правил, относя-
щихся к различным объектам, а также возможных исходов, выведенных на их основе. В этой сис-
теме используется также «движение по цепочке назад» и вероятности. Методы этой системы яв-
ляются одними из лучших среди всех разработанных методов для любой из существующих ныне
систем.
Самый простой случай - правила, выражающие логические отношения. Это правила типа
«ЕСЛИ
X,
ТО Z», где событие Z непосредственно вытекает из
X.
Они остаются такими же про-
стыми, если сопоставить
Х
некоторую вероятность.
Если у
Х
всего один аргумент, то это правило существенно упрощается. Обычно вместо
Х
мы представляем более сложное логическое выражение, например
(X И Y)
или (
X
ИЛИ Y
).
Если элементы отношения связаны с помощью логического И и отдельным элементам это-
го отношения сопоставлены определенные вероятности, то система PROSPECTOR выбирает ми-
нимальное из этих значений и присваивает эту минимальную вероятность рассматриваемому воз-
можному исходу. Поэтому когда вероятность наступления события
X
равна 0,1 и вероятность на-
ступления события
Y
равна 0,2, то вероятность исхода Z равна 0,1. Легко видеть, почему выбран
такой метод: чтобы Z было истинным, и
X,
и
Y
должны быть истинными. Это является «жестким»
ограничением, поэтому следует брать минимальное значение.
Система PROSPECTOR пользуется методом, основанным на применении формулы Байеса с
182
целью оценки априорной и апостериорной вероятностей какого-либо события. В целом правила в
системе PROSPECTOR записываются в виде ЕСЛИ ..., ТО (LS, LN), причем каждое правило уста-
навливается с отношением правдоподобия как для положительного, так и для отрицательного от-
вета.
Система PROSPECTOR предлагает пользователю шкалу ответов в диапазоне от -5 до + 5.
Нижний предел - это определенно «Да», верхний - определенно «Нет».
Обычно ответ пользователя находится где-то между крайними значениями, и PROSPEC-
TOR корректирует Р(Н), учитывая LS и LN с помощью линейной интерполяции. Это легко пред-
ставить себе в виде линейной шкалы, где LN - крайнее левое, а LS - крайнее правое значения.
Кроме экспертных систем MYCIN, DENDRAL и PROSPECTOR существует большое коли-
чество других экспертных систем. В табл. 2.6 приводится список некоторых систем, отличитель-
ной особенностью которых является наличие большой базы знаний. Этот перечень, конечно, весь-
ма неполный, потому что в последнее время происходит быстрое расширение сферы применения
экспертных систем, и полный их перечень был бы огромным и устарел бы почти сразу после его
опубликования.
В этом списке приведены также «пустые» экспертные системы (не содержащие конкретных
правил предметных областей) и экспертные системы по построению других экспертных систем.
Такие системы являются инструментальными средствами .гля создания прикладных экспертных
систем. Они значительно облегчают задачи создания полномасштабной прикладной экспертной
системы.
Вообще же инструментальные средства создания экспертных систем
(ЭС) классифицируют
следующим образом:
• символьные языки программирования, ориентированные на создание ЭС и систем искус-
ственного интеллекта (например, LISP, INTERLISP, SMALLTALK);
•языки инженерии знаний, т.е. языки высокого уровня, ориентированные на построение ЭС
(например, OPS-5, LOOPS, Пролог, KES);
• системы, автоматизирующие разработку (проектирование) ЭС (например, КЕЕ, ART,
TEIRESLAS, AGE, TIMM); их часто называют окружением (enviroment) для разработки систем
искусственного интеллекта, ориентированных на знания;
• оболочки ЭС (или пустые ЭС) - ЭС, не содержащие знаний ни о какой проблемной облас-
ти (например, ЭКСПЕРТИЗА, EMYCIN, ЭКО, ЭКСПЕРТ).
Таблица
2.6
Список некоторых экспертных систем
Наименование системы
Назначение системы
MYCIN
Медицинская диагностика
PUFF
Тоже
PIP
»
CASNET
»
INTERNIST
»
SACON
Техническая диагностика
PROSPECTOR
Геологическая диагностика
DENDRAL
Определение химической структуры вещества
SECHS
Тоже
SYNCHEM
»
EL
Анализ цепей
MOLGEN
Генетика
MECHO
Механика
PECOS
Программирование
Rl
Конфигурирование компьютеров
SU/X
Машинная акустика
VM
Медицинские измерения
SOPHIE
Обучение электронике
GUIDON
Медицинское обучение
TE1RESIAS
Построение базы знаний
EMYCIN
Тоже
183
EXPERT
»
KAS
»
ROSIE
Построение экспертных систем
AGE
Тоже
HEARSAY |||
»
AL/X
»
SAGE
»
Micro-Expert
»
Контрольные вопросы и задания
1. Что отличает экспертные системы от других программ?
2. Какие категории различных типичных проблем решаются экспертными системами?
3. Охарактеризуйте экспертную систему MYCIN.
4. Охарактеризуйте экспертную систему DENDRAL.
5. Охарактеризуйте экспертную систему PROSPECTOR.
6. Какие виды инструментальных программных средств для создания экспертных систем
существуют?
§ 10. ИНСТРУМЕНТАЛЬНЫЕ ПРОГРАММНЫЕ СРЕДСТВА
ДЛЯ РЕШЕНИЯ ПРИКЛАДНЫХ МАТЕМАТИЧЕСКИХ ЗАДАЧ
10.1. НАЗНАЧЕНИЕ ПРОГРАММ
Описанные выше программные системы - текстовые редакторы и издательские системы,
электронные таблицы и СУБД - являются инструментальными средствами общего назначения, т.е.
могут использоваться для решения наиболее общих задач информационного характера в любой из
сфер человеческой деятельности. Вместе с тем в отдельных сферах деятельности часто возникают
задачи менее общего характера, такие, например, как проведение математических расчетов типа
решения систем уравнений, интегрирования, статистической обработки информации и т.п., кото-
рые также требуют использования инструментальных программных средств. Таких более специ-
альных инструментальных программ в настоящее время существует огромное количество. Одно
их перечисление заняло бы многие страницы и все равно осталось бы неполным, так как новые
«полуприкладные» системы появляются очень часто. Укажем лишь некоторые классы таких инст-
рументальных средств: универсальные математические пакеты, пакеты статистической обработки
данных, электронные «органаизеры» - программные средства, облегчающие планирование дея-
тельности, хранение и поиск записей, отслеживающие заданные промежутки времени и т.д.
Ниже коротко описаны две широко используемых как в обучении, так и в практической
деятельности системы, предназначенные для решения математических задач — пакет MATHCAD
и система аналитических вычислений REDUCE.
10.2. ПАКЕТ MATHCAD
Одним из последних достижений в области инструментальных средств для решения при-
кладных задач является MATHCAD - физико-математический пакет с включенной в последнюю
версию системой искусственного интеллекта SmartMath (разработка NASA), которая позволяет
выполнять математические вычисления не только в числовой, но н в аналитической (символьной)
форме.
На рисунке 2.28:
1 - палитра операторов;
4-рабочая область;
2 - панель инструментов;
5 - панель форматирования;
3 - главное меню;
6 - строка статуса.
184
Рис 2.28.
Пример экрана MATHCAD
Важное значение разработчики MATHCAD придавали удобству работы с ним и простоте
освоения. Интерфейс MATHCAD прост и понятен, полностью отвечает стандартам среды Win-
dows. Все графики и математические объекты могут быть введены щелчком «мыши» с переме-
щаемых палитр. Обучение пользователя происходит в процессе работы «на ходу» при помощи
многочисленных сообщений системы.
Графическая среда MATHCAD позволяет записывать математические формулы в привыч-
ном виде, гибко и выразительно представлять данные графически.
Документ MATHCAD состоит из областей различного типа. Текстовые области создаются
нажатием кнопки с буквой А на панели инструментов. Математические области возникают, если
щелкнуть в свободном месте (появляется красный крестик -визир, фиксирующий место ввода
формулы). Области на экране легко можно перетаскивать «мышью» или перемещать командами
Cut
и
Insert
меню
Edit.
Большинство математических формул записывается в рабочем документе MATHCAD так
же, как на листе бумаги. Знаки арифметических операций вводятся с помощью клавиш+,-,*,/.
Для ввода скобок, определяющих порядок выполнения арифметических операций исполь-
зуется клавиша <Space> (пробел). В большинстве случаев система тут же выдает ответ после вво-
да символа "=" с клавиатуры или с 1-й палитры операторов. В среде MATHCAD знак "=" означает
числовой, а знак "стрелка вправо" символьный вывод значения переменной, функции, выражения.
Если последовательно вводить
При вводе более сложных операций используют кнопки палитр операторов MATHCAD,
находящиеся на экране слева. Для перехода от одной палитры к другой надо щелкнуть на цифре
над палитрой.
Стандартные математические функции, такие как cos, sin, arctan, log, exp можно вводить
посимвольно, или вставлять из прокручивающегося списка. Чтобы вызвать прокручивающийся
список встроенных функций MATHCAD, следует выбрать пункт
Insert Function
из меню
Math.
Для редактирования выражения надо щелкнуть «мышью» правее элемента выражения,
подлежащего изменению, а затем нажать клавишу <Backspace> и ввести нужный элемент. Для не-
медленного пересчета значения выражения следует щелкнуть «мышью» в стороне от выражения.
Все вычисления могут производиться с высокой точностью - число значащих цифр задается из
185
меню системы и практически не ограниченно.
Символ определения «:=» (который можно ввести с 1-й палитры операторов или нажав кла-
вишу «:» ) позволяет определять переменные и функции:
Важно следить за тем, чтобы все переменные и функции были определены левее и/или вы-
ше тех выражений, где они используются.
Вычислить (протабулировать) функции и выражения для параметров, пробегающих задан-
ный диапазон значений, можно с помощью кнопки "m..n" 1-й палитры. Например, для табуляции
функции
f(x),
приведенной выше, просто вводят z =
f(z)
= и т.д.
z
= 0,.5, 2
z
F(z)
ехр(
f
(
z
))
•
z
0
0.167
0
0.5
0.14
0.575
1
0.083
1.087
1.5
0.01
1.516
2
-0.059
1.885
Для создания этих таблиц просто вводят
z
= ,
f(z)
=
и т.д. Имеется ввиду, что функция опре-
делена в предыдущем примере (выше).
MATHCAD имеет широкие возможности визуализации числовых данных - 7 видов двумер-
ных и трехмерных графиков. На каждом из двумерных графиков может одновременно находиться
до 16 различных кривых, имеющих по 6 атрибутов. Можно создавать собственные библиотеки
графических элементов, размещать в рабочем документе MATHCAD произвольные графические
изображения.
Для построения графика надо определить с помощью кнопки "m..n" диапазон независимой
переменной, а затем создать область графика с помощью кнопки внизу 1-й палитры. После этого
вводятся выражения, откладываемые по осям Х и Y (в средние поля ввода на соответствующих
осях). Для каждой оси может быть введено несколько выражений.
Интегралы и суммы легко вычислять с помощью кнопок 1-й палитры. Для этого достаточно
щелкнуть соответствующую кнопку и заполнить появившиеся позиции ввода.
Для выполнения вычислений с матрицами необходимо нажать кнопку с изображением мат-
рицы на 2-й палитре, указать в диалоговом окне число столбцов и строк, нажать кнопку Create и
заполнить пустые поля. Теперь, чтобы обратить матрицу
А,
надо напечатать
«A^-1=»,
а для вычис-
ления определителя - «
A
».
Численное решение уравнения начинается с задания пробного значения корня и требует
использования оператора root(.„, ...). Его первый операнд - левая часть уравнения в виде
F(x)=0,
а
второй - переменная, по которой ищется корень.
Например,
t =1
гооt(t
2
- cosh(t),t)=1,621.
MATHCAD корректно оперирует с единицами измерения выводимых числовых результа-
тов и автоматически меняет числовое значение результата при изменении синицы измерения.
Например,