Продукционная модель. 2

Продукционная модель.

Продукция  –  это предложение-образец  вида «Если, то», по которому осуществляется поиск в базе знаний. 

В продукции выделяют левую  часть (начинается с «если» и 

заканчивается перед «то») и правую  (начинается после «то»). Левая часть

продукции  -  антецедент  –  условие выполнения правой часть  продукции.

Правая часть  –  консеквент  – действие, выполняемое в случае нахождения

элементов, удовлетворяющих  левой части. Действие может быть

промежуточным и выступать затем в качестве консеквента или целевым,

завершающим процедуру вывода.  

Антецедент формируется  из фактов, входных данных задачи и 

логических связок (и, или, не). Консеквент может представлять из себя

действие по изменению  фактов, данных, рекомендацию, решение  задачи.

Кроме этого, любая продукция  имеет имя и приоритет, определяющий

последовательность проверки продукций машиной вывода. 

Продукции  отражают причинно-следственные связи, которые и 

позволяют человеку принимать  решения, базируясь на знаниях и 

предположениях о том, что есть и что будет, если что-то сделать.

Пример решения  задачи

Задача. Построить продукционную  модель представления знаний в

предметной области «Ресторан» (посещение ресторана).

Описание процесса решения.  Для построения продукционной модели

представления знаний необходимо выполнить следующие шаги:

1)  Определить целевые  действия задачи (являющиеся решениями).

2)  Определить промежуточные  действия или цепочку действий, между

начальным состоянием и конечным (между тем,  что имеется,  и 

целевым действием).

3)  Опередить условия  для каждого действия, при котором  его 

целесообразно и возможно выполнить.  Определить порядок 

выполнения действий.

4)  Добавить конкретики  при необходимости, исходя из поставленной

задачи.

5)  Преобразовать полученный  порядок действий и соответствующие им

условия в продукции.

6)  Для проверки правильности  построения продукций записать  цепочки  

продукций, явно проследив  связи между ними.

Этот набор шагов предполагает движение при построении

продукционной модели от результата к начальному состоянию, но возможно

и движение от начального состояния  к результату (шаги 1 и 2).

 

Решение.

1)  Обязательное действие, выполняемое в ресторанах –  поглощение пищи 

и ее оплата.  Значит,  есть уже два целевых действия «съесть  пищу» и 

«оплатить», которые взаимосвязаны  и следуют друг за другом.

2)   Прежде  чем что-либо  съесть в ресторане, туда нужно  придти,

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

какой именно ресторан пойти. Значит, цепочка промежуточных

действий: «выбор ресторана  и путь туда», «сделать заказ официанту».  

3)  Прежде чем идти  в ресторан, необходимо убедиться,  что есть 

необходимая сумма денег. Выбор ресторана может обуславливаться 

многими причинами, выберем  территориальный признак  – к какому

ближе в тот и  идем. В разных ресторанах работают разные люди,

поэтому в зависимости  от выбора ресторана, официанты будут  разные.

Кроме того, разные рестораны  специализируются на разных кухнях,

поэтому заказанные блюда  будут в разных ресторанах отличаться.

Значит  вначале идут действия, позволяющие выбрать ресторан, затем 

характеризующие рестораны, а уже после заказ, еда, и оплата заказа.

4)  Пусть в задаче  будут рассматриваться два ресторана:  «Вкусная еда» и 

«Вкуснятина». Первый  –  паб  и заказы приносят быстрее,  чем во

втором, второй – пиццерия. В первом работает официант Сергей, а во

втором официантка Марина. Петр – это клиент. 

5)  Выше описанное можно преобразовать в следующие предложения типа

«Если, то»:

·  Если субъект хочет есть и у субъекта  есть достаточная сумма денег, то

субъект может пойти в  ресторан.

·  Если субъект ближе к ресторану «Вкусная еда», чем к ресторану «Вкуснятина»

и субъект может пойти  в ресторан, то субъект идет в  ресторан «Вкусная

еда».

·  Если субъект ближе к ресторану «Вкуснятина», чем к ресторану «Вкусная еда»

и субъект может пойти  в ресторан, то субъект идет в  ресторан

«Вкуснятина».

·  Если  субъект идет в ресторан «Вкуснятина»  и в ресторане «Вкуснятина»

работает официант Марина, то у  субъекта принимает заказ  Марина.

·  Если  субъект идет в ресторан «Вкусная еда»  и в ресторане «Вкусная еда»

работает официант Сергей, то у  субъекта принимает заказ  Сергей.

·  Если субъект выбрал блюда и у субъекта принимает заказ Марина, то заказ

принесут через 20 мин.

·  Если субъект выбрал блюда и у субъекта принимает заказ Сергей, то заказ

принесут через 10 мин.

·  Если заказ принесут через 20 мин. или заказ принесут через 10 мин., то субъект

может есть.

·  Если субъект может есть, то после еды субъект должен оплатить заказ.

Введем обозначения для  фактов (Ф), действий (Д) и продукций (П),

тогда:

Субъект = Петр;

Ф1= субъект хочет есть;

Ф2= у субъекта есть достаточная сумма денег;

Ф3= субъект ближе к  ресторану «Вкусная еда», чем к  «Вкуснятина»;

Ф4=в ресторане «Вкуснятина» работает официант Марина;

Ф5=в ресторане «Вкусная еда» работает официант Сергей;

Ф6= субъект выбрал блюда; 

Д1= субъект может пойти в ресторан;

Д2=субъект идет в ресторан «Вкусная еда»;

Д3=субъект идет в ресторан «Вкуснятина»;

Д4= у субъекта принимает заказ Марина;

Д5=у  субъекта принимает  заказ Сергей;

Д6=заказ принесут через 20 мин.

Д7=заказ принесут через 10 мин.

Д8=после еды субъект  должен оплатить заказ.

Для продукций установим  приоритет  (в скобках перед  запятой, чем 

выше приоритет, чем раньше проверяется правило).

П1(4 , Ф1 и Ф2)= Д1;

П2(5 , Ф3 и Д1)= Д2;

П3(4 , не Ф3 и Д1)= Д3;

П4(3 , Д3 и Ф4)= Д4;

П5(3 , Д2 и Ф5)= Д5;

П6(2 , Д4)= Д6;

П7(2 , Д5)= Д7;

П8(1 , Д6 или Д7)= Д8;

6)  Для отображения  взаимосвязи продукций построим  граф (рис. 1).

 

                Рис. 1. Схема продукций предметной области «Ресторан».

                                      Задания для студентов.

1.  Построить продукционную  модель представления знаний  в предметной

области «Аэропорт» (диспетчерская).

2.  Построить продукционную  модель представления знаний  в предметной

области «Железная дорога» (продажа билетов).

3.  Построить продукционную  модель представления знаний  в предметной

области «Торговый центр» (организация).

4.  Построить продукционную  модель представления знаний  в предметной

области «Автозаправка» (обслуживание клиентов).

5.  Построить продукционную  модель представления знаний  в предметной

области «Автопарк» (пассажирские перевозки).

6.  Построить продукционную  модель представления знаний  в предметной

области «Компьютерные сети» (организация).

7.  Построить продукционную  модель представления знаний  в предметной

области «Университет» (учебный  процесс).

8.  Построить продукционную  модель представления знаний  в предметной

области «Компьютерная безопасность» (средства и способы ее

обеспечения).

9.  Построить продукционную  модель представления знаний  в предметной

области «Компьютерная безопасность» (угрозы).

10.  Построить продукционную  модель представления знаний  в предметной

области «Интернет-кафе» (организация  и обслуживание).

11.  Построить продукционную  модель представления знаний  в предметной

области «Разработка информационных систем» (ведение 

информационного проекта).

12.  Построить продукционную  модель представления знаний  в предметной

области «Туристическое агентство» (работа с клиентами).

13.  Построить продукционную  модель представления знаний  в предметной

области «Зоопарк» (организация).

14.  Построить продукционную  модель представления знаний  в предметной

области «Кухня» (приготовление  пищи).

15.  Построить продукционную  модель представления знаний  в предметной

области «Больница» (прием  больных).

16.  Построить продукционную  модель представления знаний  в предметной

области «Кинопрокат» (ассортимент  и работа с клиентами).

17.  Построить продукционную  модель представления знаний  в предметной

области «Прокат автомобилей» (ассортимент и работа с клиентами).

18.  Построить продукционную  модель представления знаний  в предметной

области «Операционные системы» (функционирование).

19.  Построить продукционную  модель представления знаний  в предметной

области «Информационные  системы» (виды и функционирование).

20.  Построить продукционную  модель представления знаний  в предметной

области «Предприятие» (структура  и функционирование).


Продукционная модель. 2