АЛГЕБРАИЧЕСКАЯ ТЕОРИЯ ПРОДУКЦИОННЫХ СИСТЕМ А.В.Жожикашвили ИППИ РАН ПРОДУКЦИИ В ИСКУССТВЕННОМ ИНТЕЛЛЕКТЕ Продуция = <Условия применимости> + <Действия> Для каждого правила имеется предварительное условие. Если предварительное условие выполняется, то правило может быть применено. Применение правила изменяет базу данных. Н. Нильсон В состав каждого правила входит некоторое условие. Правило может быть применено, если условие выполнено. Применение правила изменяет состояние рабочей памяти. Г. С. Осипов Продукцию можно представлять себе состоящей из двух частей: условия применимости и указания на то, как следует преобразовать текущую ситуацию. В. Л. Стефанюк Продукционная модель или модель, основанная на правилах, позволяет представить знания в виде предложений типа «Если (условие) то (действие)» Т.А. Гаврилова, В.Ф. Хорошевский ПРОДУКЦИИ В ИСКУССТВЕННОМ ИНТЕЛЛЕКТЕ В общем виде под продукцией понимается выражение вида: (i); Q; Р; А=>В; N. Здесь i — имя продукции… Элемент Q характеризует сферу применения продукции… Основным элементом продукции является ее ядро: А=>В. А описывает некоторое условие, необходимое для того, чтобы можно было совершить действие В. Варианты: ЕСЛИ A, ТО В9670 ЕСЛИ A, ТО В1 ИНАЧЕ В2 Элемент Р есть условие применимости ядра продукции… Элемент N описывает постусловия продукции… Они описывают действия и процедуры, которые необходимо выполнить после реализации В. Д.А.Поспелов ЕЩЕ ПРОДУКЦИИ Продукция Э.Поста и А.А.Маркова: ab → ba Продукции Н.Хомского: S → NP Aux VP VP → Verb NP Правило языка Пролог: sibling(A,B) :-father(X,A),father(X,B) СУТЬ ПОНЯТИЯ ПРОДУКЦИИ Продукция состоит из описания двух ситуаций. Левая часть продукции – описание ситуации, в которой продукция применима Правая часть продукции – описание ситуации, которая возникает поле ее применения ОБРАЗЕЦ СОПОСТАВЛЕНИЕ КОНКРЕТИЗАЦИЯ Образец – обобщенное описание ситуации, в котором некоторые детали опущены. Конкретизация образца – добавление этих деталей к описанию. В результате получаем полное описание, т.е. ситуацию. Сопоставление ситуации с образцом – проверка, может ли образец быть конкретизирован так, чтобы из него получилась данная ситуация. Конкретизатор – детали, добавленные к образцу в процессе конкретизации . ОПРЕДЕЛЕНИЕ ПРОДУКЦИИ – СЛЕДУЮЩИЙ ШАГ Продукция представляет собой пару образцов (левая и правая часть продукции). Продукция применима к ситуации, если эта ситуация сопоставима с левой частью этой продукции. Результат применения продукции – ситуация, являющаяся результатом конкретизации правой части продукции, причем правая часть должна быть конкретизирована таким же образом, каким была конкретизирована левая часть в процессе сопоставления с ситуацией. ОБРАЗЕЦ И ПРОДУКЦИЯ НА ЯЗЫКЕ МНОЖЕСТВ И ОТОБРАЖЕНИЙ S-образец Продукция из S в T Множество ситуаций S T t s s s=ϕ(x) φ S x Множество конкретизаторов X ψ φ t=ψ(x) x X МОЖЕТ БЫТЬ МНОГО РАЗНЫХ МНОЖЕСТВ СИТУАЦИЙ/КОНКРЕТИЗАТОРОВ ϕ ψ S → NP Aux VP VP → Verb NP ОТ СИСТЕМЫ ОБРАЗЦОВ – К ТЕОРИИ КАТЕГОРИЙ Задать систему образцов – это значит определить следующее: 1. какие множества могут выступать в качестве множеств ситуаций/конкретизаторов 2. какие отображения могут выступать в качестве образцов Класс образцов замкнут относительно композиции и содержит тождественные отображения. Задать систему образцов – это значит задать подкатегорию C категории множеств для каждой пары объектов X и Y категории C определить множество Cs X ,Y C X ,Y - множество ситуаций. Потребуем выполнение условия ситуационной замкнутости: C I , X , C X ,Y , C I ,Y C I , X S S ТЕОРЕТИКО-КАТЕГОРНЫЕ ОПРЕДЕЛЕНИЯ S-образец Сопоставление ситуации с образцом S S α ϕ X β I S T ψ ϕ X X Применение продукции к ситуации Продукция из S в T S ϕ α I T ψ ϕ β α→ψβ X ЭКСТЕНСИОНАЛЬНОЕ VS ИНТЕНСИОНАЛЬНОЕ S-образец ϕ:X S является частным случаем S-образца ψ:Y S Экстенсиональное определение Всякая ситуация, сопоставимая с образцом ϕ, сопоставима также с образцом ψ Итенсиональное определение Существует морфизм :X Y такой, что диаграмма S ψ ϕ X коммутативна Y ЭКСТЕНСИОНАЛЬНОЕ VS ИНТЕНСИОНАЛЬНОЕ Продукция S ϕ X σ T является ψ частным случаем продукции S Экстенсиональное Если продукция (ϕ,σ) преобразует ситуацию α в ситуацию β, то и продукция (ψ,τ) преобразует α в β τ Y T Итенсиональное Существует морфизм :X Y такой, что диаграмма ϕ X σ S ψ T τ Y коммутативна ЭКСТЕНСИОНАЛЬНОЕ VS ИНТЕНСИОНАЛЬНОЕ Композиция продукций Экстенсиональное Композиция двух продукций преобразует ситуацию α в ситуацию β, если существует ситуация δ такая, что первая продукция преобразует α в δ, а вторая преобрзует δ в β. Итенсиональное Композиция продукций S S φ X σ S и S Y это продукция σ S , где S φ X Z Y X S - декартов квадрат ПОРЯДОК НА МНОЖЕСТВЕ ОБРАЗЦОВ S – объект категории C. C/S – множество S– образцов. Пусть φ, ψ ∈ 𝐂/𝑆 т.е. φ: 𝑋 → 𝑆, ψ: 𝑌 → 𝑆 φ ≤ ψ если для некоторого χ: 𝑋 → 𝑌 диаграмма S ψ ϕ X χ Y коммутативна. Это предпорядок. C / S – фактормножество C / S по отношению ~ & НАИМЕНЬШЕЕ ОБОБЩЕНИЕ σ:Z→S - наименьшее обобщение ϕ:X→S и ψ:Y→S: S ϕ σ λ X Z ψ μ Z' S ϕ X σ' λ' Z' Y ψ μ' τ λ' Y X Z' λ μ' Z Y τ μ Z НАИМЕНЬШЕЕ ОБОБЩЕНИЕ σ:Z→S - наименьшее обобщение ϕ:X→S и ψ:Y→S: S ϕ σ λ X Z ψ μ Y S S ϕ X σ' λ' Z' ψ μ' σ' σ Y Z τ Z' НАИБОЛЬШИЙ ЧАСТНЫЙ СЛУЧАЙ σ:Z→S – наибольший частный случай ϕ:X→S и ψ:Y→S: S ψ ϕ Y σ X λ μ Z S S ψ ϕ σ' σ Y σ' X λ' μ' Z' Z τ Z' ПОЧЕМУ КАТЕГОРИИ Частично упорядоченное множество Категория РЕКУРСИВНО ОРГАНИЗОВАННЫЕ СИСТЕМЫ ОБРАЗЦОВ Образец – конструкция, построенная по определеным правилам Образец может содержать переменные, на место которых могут быть подставлены другие образцы Ситуация – образец, не содержащий переменных Конкретизация образца – подстановка ситуаций вместо переменных Ω-КАТЕГОРИЯ (F,η,μ) - монада в категории Set, X – счетное множество (переменных), U SetU , FX (U – конечное подмножество X). Для :V FU определим φ:U V : φα μ Fα φ для любого U X Категория F, X : объекты – множества вида U , морфизмы – отображения вида φ . ПРИМЕРЫ Ω-КАТЕГОРИЙ Одна бинарная операция – умножение Одно тождество: x(yz)=(xy)z (ассоциативность) Образец: AxB Конкретизация: x→CD, AxB →ACDB S → NP Aux VP VP → Verb NP ПРИМЕРЫ Ω-КАТЕГОРИЙ Одна бинарная операция – умножение Тождества: x(yz)=(xy)z (ассоциативность) xy=yx (коммутативность) x2=x (идемпотентность) Образец: {A,B,x} Конкретизация: x→{C,D}, {A,B,x} →{A,B,C,D} ПРИМЕРЫ Ω-КАТЕГОРИЙ Произвольный набор операций – f,g,h,… Тождеств нет Образец: f(A,g(x),B) Конкретизация: x→h(C,D), f(A,g(x),B)→ f(A,g(h(C,D)),B) ПРОДУКЦИОННАЯ СЕТЬ Продукционная база из S в T: (S,T,P) S,T – объекты, P – множество продукций из S в T. Продукция: (ϕ,ψ,P) ϕ :X→S, ψ:Y→T – морфизмы, P – продукционная база из X в Y S T S → NP Aux VP ψ ϕ X VP → Verb NP Y P РАЗЛОЖЕНИЕ В ПРОИЗВЕДЕНИЕ n-арный образец: морфизм ϕ:X1xX2x…xXn→S Продукция: (ϕ,ψ,(P1,P2,…Pn)) ϕ:X1xX2x…xXn→S, ψ :Y1xY2x…xYn→S - n-арные образцы, Pi - продукционная база из Xi в Yi ϕ x ψ x СЛУЧАЙ Ω-КАТЕГОРИЙ Если U x , x ,..., xn , то 1 2 (U ) x1 x2 ...xn φ:U V : x x ... xn V 1 2 xi P i ПРОГРАММИРОВАНИЕ НА ОСНОВЕ КАТЕГОРНЫХ КОНЦЕПЦИЙ Уровень Что содержит Кто разрабатывает Уровень вывода Содержит реализацию машины вывода Специалист по продукционным системам Интерфейс Описание действия продукции в терминах ситуаций, образцов и сопоставления. Разработчик системы программирования Уровень данных Специалистом в предметной области, для которой адаптируется система Алгоритмы сопоставления и конкретизации, адекватно отражающей характер данных, с которыми работает система. ВЫВОДЫ Построенная математическая теория продукционных систем позволяет : определять математические понятия, описывающие объекты и действия над ними и изучать их свойства; строить алгоритмы функционирования продукционой системы; изучать продукционные системы специального вида с дополнительными свойствами; развивать системы поддержки программирования продукционных систем - все это в форме, не зависящей от данных, с которыми работает система. Спасибо за внимание