|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Продукционные моделиД. Л. Поспелов Основные определения Продукции наряду с фреймами являются наиболее популярными средствами представления знаний в ИС. Продукции, с одной стороны, близки к логическим моделям, что позволяет организовывать на них эффективные процедуры вывода, а с другой стороны, более наглядно отражают знания, чем классические логические модели. В них отсутствуют жесткие ограничения, характерные для логических исчислений (см. § 1.2), что дает возможность изменять интерпретацию элементов продукции. В общем виде под продукцией понимается выражение следующего вида: (0; Q; Р; А=>В; N. Здесь i — имя продукции, с помощью которого данная продукция выделяется из всего множества продукций. В качестве имени может выступать некоторая лексема, отражающая суть данной продукции (например, «покупка книги» или «набор кода замка»), или порядковый номер продукции в их множестве, хранящемся в ламяти системы. Элемент Q характеризует сферу применения продукции. Такие сферы легко выделяются в когнитивных структурах человека. Наши знания как бы «разложены по полочкам». На одной «полочке» хранятся знания о том, как надо готовить пищу, на другой — как добраться до работы и т. п. Разделение знаний на отдельные сферы позволяет экономить время на поиск лужных знаний. Такое же разделение на сферы в базе знаний ИС целесообразно и при использовании для представления знаний продукционных моделей. Основным элементом продукции является ее ядро: А=$~В. Интерпретация ядра продукций может быть различной и зависит от того, что стоит слева и справа от знака секвенции =ф». Обычное прочтение ядра продукции выглядит так: ЕСЛИ А, ТО В, более сложные конструкции ядра допускают в правой части альтернативный выбор, например, ЕСЛИ А, ТО В\, ИНАЧЕ В2. Секвенция может истолковываться в обычном логическом смысле как знак логического следования В из истинного А (если А не является истинным выражением, то о В ничего сказать нельзя). Возможны и другие интерпретации ядра продукции, например А описывает некоторое условие, необходимое для того, чтобы можно было совершить действие В. Элемент Р есть условие применимости ядра продукции. Обычно Р представляет собой логическое выражение (как правило, предикат). Когда Р принимает значение «истина», ядро продукции активизируется. Если Р ложно, то ядро продукции не может быть использовано. Например, если в продукции «НАЛИЧИЕ ДЕНЕГ; ЕСЛИ ХОЧЕШЬ КУПИТЬ ВЕЩЬ X, ТО ЗАПЛАТИ В КАССУ ЕЕ СТОИМОСТЬ И ОТДАЙ ЧЕК ПРОДАВЦУ» условие применимости ядра продукции ложно, т. е. денег нет, то применить ядро продукции невозможно. Элемент N описывает постусловия продукции. Они актуализируются только в том случае, если ядро продукции реализовалось. Постусловия продукции описывают действия и процедуры, которые необходимо выполнить после реализации В. Например, после покупки некоторой вещи в магазине необходимо в описи товаров, имеющихся в этом магазине, уменьшить количество вещей такого типа на единицу. Выполнение N может происходить не сразу после реализации ядра продукции. Если в памяти системы хранится некоторый набор продукций, то они образуют систему продукций- В системе продукций должны быть заданы специальные процедуры управления продукциями, с помощью которых происходит актуализация продукций и выбор для выполнения той или иной продукции из числа актуализированных. В ряде ИС используются комбинации сетевых и продукционных моделей представления знаний. В таких моделях декларативные знания описываются в сетевом компоненте модели, а процедурные знания —в продукционном. В этом случае говорят о работе продукционной системы над семантической сетью ГНариньяни и др., 1984]. Классификация ядер продукции Ядра продукций можно классифицировать по различным основаниям. Прежде всего все ядра делятся на два больших типа: детерминированные и недетерминированные. В детерминированных ядрах при актуализации ядра и при выполнимости А правая часть ядра выполняется обязательно; в недетерминированных ядрах В может выполняться и не выполняться. Таким образом, секвенция =*■ в детерминированных ядрах реализуется с необходимостью, а в недетерминированных — с возможностью. Интерпретация ядра в этом случае может, например, выглядеть так: ЕСЛИ А, ТО ВОЗМОЖНО В. Возможность может определяться некоторыми оценками реализации ядра. Например, если задана вероятность выполнения В при актуализации А, то продукция (в простейшем случае продукция состоит лишь из ядра) может быть такой: ЕСЛИ А, ТО С ВЕРОЯТНОСТЬЮ р РЕАЛИЗОВАТЬ В. Оценка реализации ядра может быть лингвистической, связанной с понятием терм-множества лингвистической переменной, например: ЕСЛИ А, ТО С БОЛЬШОЙ ДОЛЕЙ УВЕРЕННОСТИ В. Возможны иные способы задания оценки реализации ядра. Детерминированные продукции могут быть однозначными и альтернативными. Во втором случае в правой части ядра указываются альтернативные возможности выбора, которые.оцениваются специальными весами выбора. В качестве таких весов могут использоваться вероятностные оценки, лингвистические оценки, экспертные оценки и т. п. (например, ЕСЛИ А, ТО ЧАЩЕ ВСЕГО НАДО ДЕЛАТЬ Ви РЕЖЕ В,). Особым типом являются прогнозирующие продукции, в которых описываются последствия, ожидаемые при актуализации А, например- ЕСЛИ А ТО С ВЕРОЯТНОСТЬЮ р МОЖНО ОЖИДАТЬ В. Дальнейшую классификацию ядер продукций можно провести опираясь на типовую схему ИС (рис. 1.15). Если х и у обозначают любой из блоков рисунка (О, Д, 3, Л), то ядро АХ=>ВУ означает, что информация об А берется из блока х, а результат срабатывания продукции В посылается в блок у. Комбинации х и у, осмысленные с точки зрения ИС, отмечены в табл. 1.8 знаком «+>.
ешняя среда
Рис. 1.15 Рассмотрим часто встречающийся тип продукции Аз=$-Вз. В этом случае Аз и Въ представляют собой некоторые фрагменты информации, хранящейся в базе знаний. При сетевом представлении это могут быть фрагменты семантической сети, при логических моделях — формулы того или иного исчисления. Тогда смысл продукции Аз=>В3 состоит в замене одного фрагмента базы знаний другим. Для актуализации этой продукции необходимо, чтобы в базе знаний существовал фрагмент, совпадающий с А. При поиске в базе знаний А играет роль образца, а процедура такого поиска называется поиском по образцу. Для иллюстрации поиска по образцу предположим, что в базе знаний для представления знаний используется семантическая сеть (рис. 1.16,а) и продукция (рис. 1.16,6). Поиск А в базе знаний организуется различными способами. Можно, например, сначала искать вершину а. Если в базе знаний такой вершины нет, то поиск по образцу заканчивается неудачей. Если вершина а найдена, то ищутся все выходящие из нее дуги, помеченные отношением /?3, так как в образце справа от этой дуги стоит вершина х, на месте которой в базе знаний может находиться любая вершина. Если из а не выходит ни одной дуги, помеченной отношением Яз, то поиск по образцу заканчивается неудачей. Но если такие дуги есть, то происходит переход во все вершины, с которыми вершину а связывает отношение /?з, т. е. возникает параллельный процесс поиска. В примере произойдет переход от вершины а к вершинам Ъ и /, из которых начнется поиск выходящих из них дуг, помеченных отношением Ru ведущих в любую вершину, так как в образце далее стоит вершина, которой соответствует свободная переменная у. Далее процесс продолжается аналогичным образам. Ц примере поиск по образцу оказывается успешным. После нахождения А в семантической сети происходит замена, которая определяется правой частью образца. В результате возникает трансформированная сеть (рис. 1.16,0). Продукция Лд =? В3 может соответствовать процедуре нахождения закономерностей по эмпирическим данным. Логический блок на основании просмотра и анализа данных выдвигает гипотезы о наличии закономерностей и, убедившись в их приемлемости и достаточной обоснованности, записывает их в базу знаний. Аналогично можно интерпретировать и иные типы продукций из табл. 1.8. а) 6) в) РИС. 1.16 Краткая история Термин «продукция» принадлежит американскому логику Э. Посту [Posf, 1943]. В понимании Поста в качестве продукции выступала только та ее часть, которую теперь называют ядром. Запись «ЕСЛИ А, ТО В» трактовалась как оператор замены цепочки А цепочкой В в некотором входном слове, т. е. продукции были тем, что позже стали называть подстановками и использовать при описании различных уточнений понятия алгоритма. Например, подстановки являются основным оператором в нормальных алгорифмах Маркова. Поэтому в языке программирования Рефал, основанном на идее такой модели уточнения понятия алгоритма, оператор подстановки играет основную роль. Идея продукций используется в языках логического программирования, нашед- Ъ2 ших применение в ИС. Среди языков подобного типа наиболее известен Пролог. Продукционный подход стал стилем нового этапа программирования. Системы продукций широко распространены в экспертных системах [Алексеева и др., 1984; Микулич, 1985]. Популярность продукционных моделей определяется несколькими факторами. 1. Подавляющая часть человеческих знаний может быть записана в виде 2. Системы продукций являются модульными. За небольшим исключением 3. При необходимости системы продукций могут реализовать любые алго 4. Наличие в продукциях указателей на сферу применения продукции по 5. При объединении систем продукций и сетевых представлений получают 6. Естественный параллелизм в системе продукций, асинхронность их реа Продукционные модели имеют по крайней мере два недостатка. При большом числе продукции становится сложной проверка непротиворечивости системы продукций. Это заставляет при добавлении новых продукций тратить много времен» на проверку непротиворечивости новой системы. Из-за присущей системе недетерминированности (неоднозначного выбора выполняемой продукции из фронта активизированных продукций) возникают принципиальные трудности при проверке корректности работы системы. Считается, что если в ИС число продукций достигает тысячи, то мало шансов, что оистема продукций во всех случаях будет правильно функционировать. Именно поэтому число продукций, с которым, как правило, работают современные ИС, не превышает тысячи. Управление системой продукций При выполнении условия применимости ядер продукции для группы продукций возникает дилем^ма выбора той продукции, которая в данной ситуации будет активизирована. Решение этой задачи возлагается на систему управления оистемой продукций. Если, например, ИС реализована на ЭВМ с парал* дельной архитектурой, то из фронта готовых продукций может выбираться не одна продукция, а столько, сколько параллельных ветвей может одновременно в данной ситуации выполнять ЭВМ. Но независимо от количества актуализированных продукций задача альтернативного выбора остается. Задача управления характерна не только для систем продукций, но и для всех систем, где необходимо выполнение параллельных процессов с учетом имеющегося технического ресурса [Поспелов Д., 1972; Варшавский и др., 1984]. Возможны два пути ее решения: централизованный и децентрализован-ный. При централизованном управлении выполнением продукций решение об актуализации принимается специальной системой управления, а при децентрализованном определяется складывающейся в этот момент ситуацией. Еслр порядок выполнения продукций произволен, то решение определяется текущей ситуацией или оистемой управления; если порядок важен, то в продукциях должна содержаться информация о требованиях к этому порядку. Если в постусловиях продукций указывается имя продукции, которая должна выполняться после данной, система продукций превращается в обычную программу для ЭВМ, т. е. реализует некоторый алгоритм. Опишем несколько стратегий управления выполнением продукций. 1. Принцип «стопки книг». Основан на идее, что наиболее часто используе 2. Принцип наиболее длинного условия. Заключается в выборе из фронта 3. Принцип метапродукций. Основан на идее ввода в систему продукций ЕСЛИ инфекция" есть pelvic-abcess и имеются продукции, входящие в со- став фронта, в которых в условии А упоминается grampos-rods ТО продукции, у которых в А имеется enterobacteriaceae, следует ак- тивизировать раньше, чем продукции, содержащие в A grampos-rods В примере метапродукция опирается на факт вхождения определенных продукций во фронт готовых продукций. Конечно, условием, залисанным в метапродукции, может выступать и некоторое утверждение о невхождении определенных продукций во фронт готовых продукций. 4. Принцип «классной доски». Основан на идее спусковых функций [По Как правило, на «классной доске> выделены специальные поля для формирования условий применимости ядер продукций, различные для разных сфер применения продукций, специальные поля для записи результатов срабатывания продукций и для записи постусловий, если они адресованы другим продукциям. С принципом «классной доски» может комбинироваться принцип управления с помощью метапродукций, ибо он требует проверки некоторых условий, которые фиксируются в рабочем поле памяти, а также другие принципы управления. Если система продукций работает над некоторой сетевой моделью в базе знаний, то необходимо (особенно при альтернативдых продукциях) принимать специальные меры защиты от «порчи знаний» работающими продукциями. Для этого также используется рабочее поле памяти, куда временно переносится фрагмент знаний, которым оперируют продукции. Этот фрагмент фиксируется на специальном поле «классной доски». 5. Принцип приоритетного выбора. Связан с введением статических или ди Если продукции работают над семантической сетью, приоритеты могут формироваться не в системе продукций, а в сети [Вильсон, 1985]. Как и при логическом выводе (см. § 2.5), существуют два типа выполнения систем продукций: прямой и обратный. В первом случае поиск идет от левых частей продукций, т. е. проверяются условия А и актуализируются те продукции, для которых А имеет место; во втором —от изначально заданных В, по которым определяются необходимые для В значения А, которые, в свою очередь, отождествляются с правыми частями ядер продукций в системе. Два этих метода часто называют восходящим и нисходящим методами реалнзациу системы продукций. 6. Управление по именам. Основано на задании для имен продукций, вхо Например, пусть система продукций представлена четырьмя простейшими продукциями, состоящими лишь из ядерных частей: (а) А=>В; (б) B&D=>A; (в) A\/B=>D; (г) D=>C. В таком виде система продукций явно недетермини-рованна. Если выполняется Л, то фронт готовых продукций включает продукции с именами (а) и (в), а если выполняются В и D, то три последние продукции, Для устранения подобной недетерминированности может быть введена некоторая грамматика для имен продукций: (а)=>-(б); (в)=*-(б); (а)=>(г). Тогда если в некоторый момент была выполнена продукция с именем (б), то новые продукции выполняться не будут. Если же в некоторый момент выполнилась продукция с именем (а), то после нее смогут выполняться продукции с именем (б) или (г). Но левые части ядер в этих продукциях таковы, что неоднозначность возникнет лишь в случае, когда В и D одновременно выполнены. С помощью грамматики для имен продукций можно задать однозначный алгоритмический процесс. Продукционным моделям не хватает строгой теории. Пока в них царит эвристика. При задании модели проблемной области в виде совокупности продукций нельзя быть уверенным в ее полноте и непротиворечивости. Причина неудач создания reotpau кроется в расплывчатости понятия продукции, в той интерпретации, которая приписывается ядру, а также в различных способах управления системой продукций. Переход к алгоритмической схеме мало что дает, так как при этом исключается основное свойство продукционных систем— их модульность и проистекающая из этого асинхроиность и параллельность выполнения продукций в системе. Следует ожидать, что теория продукционных систем появится не ранее, чем будут созданы эффективные теории параллельных информационных процессов [Карпов, 1987J. Но некоторые результаты можно получить на основе существующих методов оптимального управления [Поспелов И. и др., 1987], введя ряд ограничений на понимание продукций и систем продукций. Другая проблема практического применения продукционных моделей — переход от статических систем к динамическим, меняющим состав продукций в системе или перестраивающих алгоритм управления выбором продукций из фронта готовых продукций в зависимости от текущих ситуации. Такие системы продукций называются адаптивными, или системами продукций реального времени. Во многих приложениях быстрота срабатывания продукций систем имеет решающее значение [Clema et al., 1985; Stefic, 1985]. Достичь этого можно только за счет гибкого набора стратегий управления, среди которых должны быть стратегии различного уровня сложности и быстроты срабатывания [Sorrels, 1985]. Ряд авторов считает, что прототипом такого управления может стать управление, которое было использовано в программе игры в шашки [Samuel, 1959, 1967]. Ее идеи были реализованы в проекте CONSIM {моделирование конфликтов), который ставил своей целью разработку системы продукционных правил для принятия решений при управлении воздушным боем. Для этого проекта была создана система EMULAR, реализующая ряд функций динамической продукционной системы. Для повышения скорости работы таких систем разрабатывались специальные средства аппаратной поддержки [Stolfo et al., 1982; Masnio et al., 1983; Shaw, 1985]. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.01 сек.) |