logo

2.2.6. Блоки принятия решений

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

Основные преимущества представления знаний в форме блоков принятия решений перед традиционным программированием приведены ниже:

  1. Представления знаний в форме «условие-действие» наиболее полно соответствует способу, с помощью которого пользователь самостоятельно может выражать и фиксировать свои навыки и умения в компьютерном виде.

  2. Анализ традиционно сложившейся нормативно-справочной среды в машиностроении показывает, что БПР являются наиболее массовой и естественной формой представления знаний предметной области.

  3. Использование БПР позволяет разработчику выполнить функциональное структурирование знаний с целью упрощения и пояснения полной картины о предметной области.

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

  5. Для пользователей использование БПР позволяет автоматизировать получение загрузочного модуля CASE–средствами и сократить затраты на поддержание текущей версии документации на программную разработку.

  6. На базе множества БПР при использовании программы-планировщика может быть создана специализированная экспертная система без дополнительного программирования.

Исходные тексты на языке спецификации БПР хранятся в текстовых файлах с расширением «“.BPR». В общем виде блок принятия решений состоит из 3 частей (рис. 2.4.):

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

Таблица условий применения блока содержательно разделена четырьмя горизонтальными линиями на три части:

Ширина таблицы условий применения не должна превышать 254 символа. Все четыре горизонтальные линии должны быть равны между собой. Содержимое шапки таблицы условий применения блока играет справочную роль при чтении БПР.

По вертикали таблица условий применения блока принятия решений разбита на три колонки. Первая колонка содержит список наименований входных и выходных атрибутов блока. Они должны в точности совпадать с наименованиями соответствующих атрибутов в словаре понятий. Входные и выходные атрибуты в таблице условий применения БПР имеют единую, сквозную нумерацию целыми числами, начиная с единицы. Номер отделяется от наименования атрибута точкой.

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

Область определения входного атрибута может быть записана в виде последовательности констант или интервалов, разделенных запятыми. Константа может соответствовать целому, вещественному или символьному типу данных. Для атрибутов, имеющих целый или вещественный тип данных, могут использоваться цифры 0...9.

Заголовок блока

Блок: <имя блока>

Разработчик:

Наименование:

Область применения:

Источник информации:

Таблица условий применения

-----------------------------------------------------

| Наименование атрибута | Значение | Имя |

-----------------------------------------------------

|1. | | |

|2. Описание входных атрибутов и | |

|... ограничений на допустимые значения | |

|N. | | |

-----------------------------------------------------

|N+1. Описание выходных атрибутов | |

|... | | |

-----------------------------------------------------

Таблица решений

-----------------------------------------------------

| | | | Наименование входного |

| | | | атрибута K |

| | | |-------------------------|

| | | | Интервалы значений |

| | | | входного атрибута K |

| Наимено- | Наимено- |...| | |

| вание | вание | |-------------------------|

| входного | входного | | Наименование входного |

| атрибута | атрибута | | атрибута L |

| i | j | |-------------------------|

| | | | Интервалы значений |

| | | | входного атрибута L |

| | | | | | | |

| | | |-------------------------|

| | | | . . . |

-----------------------------------------------------

| | | | | | | |

|----------|----------|---|-------------------------|

| Интервалы значений | | значения | |

|--- входных атрибутов --|------- выходных -----|

| | | атрибутов | |

|----------|----------|---|-------------------------|

| | | | | | | |

-----------------------------------------------------

Рис.2.4. Структура блока принятия решений

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

Например:

  1. Ограниченные с двух сторон интервалы:

[5.,20.6], (1,9), (15,100], [-2.,40.).

  1. Неограниченные с одной стороны интервалы:

[10,), (,12], (6,).

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

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

В третьей колонке указывается имя (идентификатор) атрибута. Ее заполнение необязательно. Эту колонку необходимо использовать тогда, когда связь между входными и выходными атрибутами задается аналитически (в виде формулы).

Таблица решений (может отсутствовать) составляется пользователем на основе справочных сведений или на основе аналитических зависимостей, сложившихся в предметной области.

В выражениях допустимо использование различных операции (табл.2.3.) и стандартных функций (табл.2.4.).

Табл. 2.3. Операции, используемые в выражениях

Арифметические операции:

Операции сравнения:

Логические операции:

- - унарный минус;

+ - сложение;

- - вычитание;

* - умножение;

/ - деление;

** - возведение в степень;

== - равно;

!= - не равно;

> - больше;

>= - больше или равно;

< - меньше;

<= - меньше или равно;

&& - логическое “и”

(конъюнкция);

|| - логическое “или”

(дизъюнкция);

! - отрицание.

Табл. 2.4. Стандартные функции, используемые в выражениях

Abs(x)

абсолютное значение числа;

int(x)

целая часть числа;

acos(x)

arc-косинус;

log(x)

логарифм по основанию 2;

asin(x)

arc-синус;

log10(x)

десятичный логарифм;

atan(x)

arc-тангенс;

max(a, b)

максимум двух чисел;

ceil(x)

ближайшее большее целое;

min(a, b)

максимум двух чисел;

cos(x)

косинус угла;

pow(x, y)

возведение в степень (xy);

cosh(x)

гиперболический косинус;

sign(x)

знак числа

exp(x)

экспонента (ex);

sin(x)

синус угла;

fabs(x)

абсолютное значение числа;

sinh(x)

гиперболический синус;

floor(x)

ближайшее меньшее целое;

sqrt(x)

квадратный корень;

fmod(x, y)

остаток от деления x/y;

tan(x)

тангенс угла;

hypot(x, y)

длина вектора;

tanh(x)

гиперболический тангенс;

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

Число и порядок записи выходных значений в таблице решений определяется числом и порядком их записи в таблице условий применения блока. Разделителем отдельных выходных значений выступает символ «,» (запятая).

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

Опыт использования БПР показывает, что с их помощью можно решать такие задачи как: