Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LabES.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
675.33 Кб
Скачать

Введение в экспертные системы

1.Что такое экспертная система?

Экспертная система (ЭС)— это компьютерная программа, созданная для выполнения тех видов деятельности, ко­торые под силу только человеку-эксперту, например проектирования, планирования, постановки диагноза, пе­ревода, реферирования, ревизии, выдачи рекомендаций. Сферы применения экспертных систем - бизнес, проек­тирование, исследования, управление.

Программы ЭС обычно работают таким способом, ко­торый воспринимается как "интеллектуальный", т.е. они имитируют образ действий человека-эксперта.

Эти программы специфичны, поскольку, как правило, используют механизм автоматического рассуждения (вы­вода) и так называемые слабые методы, такие, как поиск или эвристика. Они существенно отличаются от точных и хорошо аргументированных алгоритмов и не похожи на математические процедуры большинства традиционных разработок.

Ниже приводится краткий (и далеко не исчерпываю­щий) список областей, в которых применялись ЭС:

• оценка займов, рисков страхования и капитальных вложений для финансовых организаций;

• помощь химикам в нахождении верной последова­тельности реакций для создания новых молекул;

• отладка программного и аппаратного обеспечения ЭВМ в соответствии с индивидуальными требования­ми заказчика;

диагностика и обнаружение неполадок в телефонной сети на основании тестов и сообщений о неисправ­ностях;

• идентификация и ликвидация неполадок в локомоти­вах;

• помощь геологам в расшифровке данных, получен­ных с помощью контрольного оборудования во время бурения нефтяных скважин;

• помощь медикам в постановке диагноза и лечении некоторых групп заболеваний, таких, как заражение крови и различные виды рака;

• помощь навигаторам в расшифровке данных от под­водных звукоулавливателей, установленных на дне океана;

• получение молекулярной структуры химического вещества на основании опытов;

• изучение и суммирование больших объемов быстро изменяющихся данных, которые не в состоянии - из-за скорости их изменения - прочитать человек, на­пример телеметрических данных с искусственных спутников системы LANDSAT.

В большинстве этих областей могли быть реализованы и традиционные подходы, однако преимущества исполь­зования здесь ЭС очевидны. В одних случаях применение ЭС сделало программу более ориентированной на челове­ка, в других - позволило программе задействовать опти­мальный механизм рассуждения, в третьих - облегчило поддержку и обновление программы.

2.Экспертные системы как один из видов программ искусственного интеллекта

Экспертные системы занимают важное место среди программного обеспечения в целом. Для того чтобы понять, что же представляют собой ЭС, необходи­мо определить их место в программировании.

Рис. 1. Три стиля программирования. Программирование ЭС является частью области программирования ИИ. Как методы программирования обе эти области значительно отличаются от тради­ционного (процедурного) стиля программирования

На рис. 1 показаны три основных стиля программи­рования. Программирование ЭС представлено частью области, которую мы назвали "программирование ИИ" (программирование искусственного интеллекта). Процедурное программирование - это программирование на Бейсике, Паскале или Фортране, причем в целях и способах оно существенно отличается от программирова­ния ИИ.

При традиционном (процедурном) программировании необходимо подробно сообщать компьютеру, что и как он должен делать. Эти методы пригодны для решения конк­ретных проблем, например для обработки данных, проек­тирования или научной работы.

Программирование ИИ часто определяется "от про­тивного", как все то, что не укладывается в рамки про­цедурного программирования. Однако большинство программ ИИ имеют сходные элементы. Для этих про­грамм характерно то, что они имеют дело со сложными проблемами, которые недостаточно хорошо понима­ются, для которых не существует четко заданных ал­горитмических решений и которые могут быть исследованы с помощью того или иного механизма сим­волических рассуждений.

Значительные различия имеются также и во внутрен­них механизмах машинных языков, используемых для решения указанных выше проблем. В процедурном про­граммировании акцент делается на применении операто­ра присваивания ("=" или ":=") для перемещения данных в/из фиксированных, предопределенных, поименован­ных мест их нахождения в памяти. Эти поименованные места являются переменными программы. Процедурное программирование также зависит от характерной группы "команд", которые управляют работой машины:

последовательное выполнение (по умолчанию)

вызовы процедуры

if-then-else (переход)

do-while (цикл)

repeat-until (цикл)

Программы ИИ обычно пишутся на языках типа Лисп или Пролог. Переменные такой программы существуют скорее виртуально в стеке компьютера, а не в фиксиро­ванных местах в памяти. Управление данными осуществ­ляется посредством сравнения с образцом и построения списков. Технология построения списков весьма проста, и на ее основе может быть организована почти любая структура данных. Далее при объяснении работы с Прологом будут рассмотрены многочисленные примеры создания списков. Программы ИИ, кроме того, использу­ют отличный от традиционных программ набор операто­ров.

У программистов есть поговорка, наглядно иллюстри­рующая разницу между языками ИИ и процедурного про­граммирования: если задачу легко решить на Фортране, то ее трудно будет решить на Лиспе; если же задачу легко решить на Лиспе, то ее трудно будет решить на Фортране. Такая же связь, хотя и несколько менее ярко выражен­ная, существует между языками Паскаль и Пролог.

Теперь мы можем более подробно рассмотреть взаимо­отношения между программами ИИ и экспертными сис­темами. Для пояснения различий между программами ИИ и ЭС ниже приводится список известных программ ИИ, которые не являются экспертными системами:

• программа, которая может просмотреть, а затем вы­дать в перефразированной форме текст рассказа ре­бенка и даже дать ответы на некоторые вопросы по тексту. Программа должна в какой-то степени "понимать" язык и причинно-следственные отноше­ния в повседневной жизни;

программа для печати с голоса: пользователь говорит в микрофон, а программа выдает печатный текст;

• программы, которые демонстрируют и моделируют человеческий интеллект, например программа, спо­собная решать задачи по нахождению аналогии в геометрических фигурах (такие задачи обычно вклю­чаются в интеллектуальные тесты);

• программы, решающие задачи скорее символьной, чем числовой математики: программа выдает реше­ние задачи интегрирования не в форме числа, а в форме математической функции;

• программы, которые доказывают или даже открыва­ют математические теоремы автоматически;

• программы, которые могут проводить анализ изобра­жения, снятого телевизионной камерой, выбирать и классифицировать его объекты.

Заметьте, что для понимания, например, рассказа ре­бенка требуется большой опыт и высокий уровень интел­лекта. Если мы сможем заставить машину делать это эффективно, мы, несомненно, многое узнаем о том, что такое интеллект. Однако такие задачи (понимание рас­сказа и т.п.) не имеет смысла ставить перед экспертом или ЭС, потому что с ними легко справится любой чело­век.

Экспертные системы отличаются от других про­грамм ИИ своей целью и построением. Под целью мы понимаем те задачи для ЭС, которые подходят для чело­века-эксперта, а под построением - создание не просто механической, а интеллектуальной программы. Критери­ями оценки ЭС являются следующие:

• отражает ли внутреннее функционирование програм­мы подход к проблеме со стороны человека;

• может ли программа объяснять свои действия спосо­бом, понятным человеку;

• может ли программа взаимодействовать с операто­ром посредством гибкого диалога, подобного диалогу на естественном языке.

Экспертные системы используют все методы програм­мирования, которые применяются в других программах ИИ.

Некоторые программы занимают пограничное положе­ние между экспертными системами и другими программами ИИ. Примером таких программ могут служить простые про­граммы игры в шахматы. 25 лет назад люди с удовольст­вием определили бы такую программу как ЭС. Однако сегодня по этому поводу есть некоторые сомнения. Дело в том, что действие большинства шахматных программ ос­новано на "грубой силе", т.е. они заносят в каталог все возможные для компьютера ходы и, кроме того, учитыва­ют все возможные контрходы игрока (человека), сделан­ные в ответ на ход машины, а также все приемлемые ходы компьютера в ответ на ход человека-игрока. Данная мо­дель предполагает несколько уровней игры, пока число вариантов не станет столь огромным, что даже компьютер не сумеет справиться с ним. Машина оценивает возмож­ные варианты окончания игры и делает соответствующие ходы.

Мы расцениваем этот метод как метод с позиций грубой силы, потому что машина просто вырабатывает и классифицирует множество вероятных "сценариев" игры, а затем делает ходы в соответствии с наиболее благопри­ятным сценарием.

Результатом такого подхода может быть великолепная шахматная игра, но не та, которую мы бы назвали "ин­теллектуальной". Шахматы, безусловно, являются об­ластью деятельности специалиста (эксперта). Однако программа в такой форме не считается экспертной систе­мой, потому что она не функционирует подобно человеку: внутренняя сущность программы остается механистиче­ской, а не интеллектуальной. Наиболее совершенные шахматные программы, использующие "человекоподоб­ную" эвристику для ведения поиска и способные объяс­нять свои ходы, были бы настоящими ЭС.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]