Смекни!
smekni.com

С базами знаний (стр. 3 из 18)


1.2. Концептуальные модели в системах искусственного интеллекта

Одной из первых расчетно-логических прикладных систем искусственного интеллекта, доведенных до коммерческого уровня, явилась инструментальная система программирования ПРИЗ (ПРограмма, Использующая Знания) [9,10]. В ней был осуществлен переход от предварительного формирования обычных вычислительных моделей к понятийному моделированию теорий предметных областей. Вычислительные модели представляли знания о задаче. Они удовлетворяли требованиям программ и эффективности реализации. Для их представления в памяти системы использовались семантические сети, содержащие отношения, по которым можно производить вычисления, причем, не только для явно заданных функций, но и по программам, полученным методом структурного синтеза. Над вычислительными моделями могут выполняться такие же действия, как и над семантическими сетями. Если условия задачи заданы в виде текста, то построение вычислительных моделей производится аналогично семантическим сетям. Всем операторам вычислительной модели сопоставляются отношения вычислимости. В результате формируется система аксиом, на основе которой методом структурного синтеза строятся программы для решения тех задач, которые разрешимы на вычислительной модели.

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

Сформированные вычислительные модели затем использовались для программного контроля и выявления возможной неполноты и противоречий в задании пользователя. После обеспечения и доказательства правильности вычислений (вычислимости) производилось генерирование программ решения задач.

Авторы назвали эту технологию концептуальным программированием. Ее сущность раскрыта в табл. 2, где выделены функции системы и в целом входные и выходные объекты. Выходными объектами системы ПРИЗ стали не только программы, но и математические постановки вычислительных задач, а также схемы вычислений.

Таблица 2 - Функциональная структура системы ПРИЗ

Функции Выход Вход
1.Формирование математической постановки вычислительной задачи. 2. Формирование схемы вычислений. 3. Генерирование программы решения задачи. 1.Модель математической постановки вычислительной задачи. 2. Схема вычислений. 3. Программа решения задачи. 1.Содержательная постановка вычислительной задачи. 2.Метамодель постановки задачи. 3.Формализованные теории предметной области,

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

Примером системы, в которой требовалось формировать модели не только в понятиях исходной области знаний, но и в понятиях выбираемой математической теории является система МАВР [12:1984], предназначенная для автоматизации проектирования технических энергетических систем.

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

Данная методология, однако, не могла быть использована для проектирования объектов, отдельные части которых или аспекты описывались в разных областях знаний. В этом случае для моделирования и последующего интегрирования проектных решений требовался уровень метазнаний, обеспечивающий контролируемое совместное использование понятий разных предметных областей знаний.

Другим видом коммерческих прикладных систем искусственного интеллекта в тот период явились экспертные системы (ЭС) [6,13,14: 1984,1987;15:1987;16:1986,1989;17:1988,1990], в которых моделируются правила выбора решений в результате изучения и анализа опыта работы ведущих специалистов, выступающих в роли экспертов соответствующей области знаний. Используя эти правила, системная программа осуществляет логический вывод решения в соответствии с заданием пользователя, в котором содержатся исходные характеристики объекта, и объясняет логику вывода.

Примерами таких решений являются диагнозы болезни пациента, возможные неисправности в технических системах, решения о возможности кредитования клиентов банка и т.п.

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

Экспертная система включает в себя следующие компоненты:
- базу знаний, включающую в себя правила, факты и (для гибридных систем) модель предметной области;
- рабочую память (РП), содержащую базу данных;
- решатель, или интерпретатор;
- компоненты, обеспечивающие приобретение знаний, диалог с пользователем и объяснение результата.

Решатель формирует последовательность правил, которая, будучи применена к исходным данным, обеспечивает решение задачи. Данные, содержащиеся в рабочей памяти, определяют объекты, их характеристики и значения, существующие в проблемной области.

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

Вообще, знания специалиста можно разделить на формализованные и неформализованные знания. Первые представляют собой утверждения в виде законов, формул, моделей, алгоритмов в рамках определенных теорий. Вторые – это эмпирические и эвристические приемы и правила, являющиеся результатом обобщения опыта и интуиции специалистов и поэтому квалифицируемые как субъективные и приблизительные знания.

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

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

Пусть в базе знаний имеются следующие правила: 1. «Если Двигатель не заводится И Фары не светят, ТО Сел аккумулятор». 2. «Если Указатель бензина находится на нуле, ТО Двигатель не заводится». Предположим, что в рабочую память (РП) от пользователя ЭС поступили факты: Фары не светят, и Указатель бензина находится на нуле.

Здесь правило 1 не может быть задействовано, а правило 2 может, так как совпадающий образец присутствует в РП. Полученное заключение этого правила – образец Двигатель не заводится, записывается в РП. Теперь, при втором цикле сопоставления фактов в РП с образцами правил, может быть реализовано правило 1, так как конъюнкция его условий (одновременность их выполнения) становится истинной. Пользователю будет выдан окончательный диагноз - Сел аккумулятор.

При обратном логическом выводе вначале выдвигается гипотеза окончательного диагноза - Сел аккумулятор. Затем отыскивается правило, заключение которого соответствует этой гипотезе. Это - правило 1. Но оно не может быть выполнено из-за отсутствия в РП образца Двигатель не заводится. Теперь программе нужно найти правило, заключение которого соответствует новой цели. После того, как оно будет найдено (правило 2), исследуется возможность его применения. Оно может быть реализовано, так как в РП есть фактическая информация, совпадающая с образцом в этом правиле. Результат его применения Двигатель не заводится, записывается в РП. Так как условная часть правила 1 теперь подтверждена фактами, то оно может быть выполнено, и выдвинутая начальная гипотеза подтверждается.