Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
tatra_v2.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
438.78 Кб
Скачать

5. Дополнительные возможности описания алгоритмов

В этом разделе описываются такие возможности описания алгоритмов, которые позволяют

  • оптимизировать объем занимаемой алгоритмом памяти,

  • задать пространство признаков конкретного алгоритма,

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

5.1. Оптимизация объема памяти, занимаемой алгоритмом (язык описания таблицы предикатов)

Язык описания правил выбора решений позволяет разработчику программной системы оптимизировать объем занимаемой предикатом памяти. Для этого разработчик при описании правил выбора решений принудительно задает интервалы изменения признаков алгоритма и их градации. Сделать это можно задавая данные о признаках при описании правил выбора решений. Таблица предикатов в этом случае описывается следующим образом:

<таблица предикатов>::= <справка><описание признаков>(<данные о признаках>) <тело условия>/

Справка, описание признаков и тело условия задается по правилам, описанным в разделе 4.2.

<данные о признаках>::= <данные о признаке><данные о признаке><данные о признаках>

<данные о признаке>::=<разбиение признака> <минимальное значение признака> <максимальное значение признака>

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

<разбиение признака> ::= Е=<действительная константа>;Е=<целая константа>;

Разбиение - это положительное число.

<минимальное значение признака>::= А=<действительная константа>;А=<целая константа>;

<максимальное значение признака>::= B=<действительная константа>;B=<целая константа>;

Поясним введенные понятия. Разбиение признака вводится с целью экономии памяти в вычислительной системы при хранении алгоритмов во внутренней форме представления правил выбора решений. С этой целью меняется шаг наращивания значения признака (т.е. разбиение ) по сравнению с внешним представлением. Например, на внешнем языке признак "длина детали" меняется с шагом 0.01, а во внутренней форме этот шаг может быть равен и 0.01, и 0.1, и 1.0 и т.д. Разбиение признака вычисляется по условиям, которые записаны в таблице предикатов в соответствующем данному признаку столбце, следующим образом:

  1. если при задании условия хотя бы в одной строке признак задан перечислением, например:

= А , В , С , ... , ALPHA; или # А , В , С , ... , ALPHA; , то разбиение E = P,

где Р - минимальная физическая градация.

  1. во всех других случаях разбиение определяется как наибольший общий делитель разностей граничных значений признаков, упорядоченных в порядке возрастания.

Рассмотрим понятия минимальное и максимальное значения признаков. По разбиению и условиям , записанным в таблице предикатов, вычисляются минимальное и максимальное значения признаков по следующему правилу:

  1. если при задании условия хотя бы в одной строке признак задан перечислением, например:

= А , В , С , ... , ALPHA; или # А , В , С , ... , ALPHA; , то минимальное и максимальное значения признака равны

А = min{<граничные значения по всему столбцу>} - P

В = max{<граничные значения по всему столбцу>} + P

Граничные значение признака по каждому условию определяется по правилу, которые приведены в табл. 1.

  1. во всех других случаях минимальное и максимальное значения признака определяется следующим образом:

все условия приводятся к виду <=A, тогда

А = min{<граничные значения по всему столбцу>}

В = max{<граничные значения по всему столбцу>} + Е

Граничные значение признака по каждому условию определяется по правилу, которые приведены в табл. 1.

Пример 1: Первый столбец таблицы предикатов записан следующим образом:

[0.32, 1.4]

[0.6, 1.25]

[0.6, 2.5]

[1.8, 6.3]

Упорядоченные граничные значения признака:

0.32, 0.6, 0.7, 1.26, 1.41, 1.81, 2.51, 6.31

Разности: 0.28, 0.1, 0.56, 0.4, 0.7, 3.8

Наибольший общий делитель, а иначе разбиение E = 0.01. Минимальное значение признака A = 0.31 и максимальное значение признака В = 6.31.

Пример 2: Пусть таблица предикатов будет иметь вид представления на рис. 7. Все граничные значения признака приведем к виду <=А. Тогда граничные значения для первого признака равны: 4, 5, 6, 7;

Для второго признака: 30., 35., 40.0

Тогда разбиение (наибольший общий делитель) для первого признака Е =1, для второго - Е = 5.0. Минимальные и максимальные значения для первого признака А = 4 и В = 8, для второго признака A = 30.0 и В = 45.0.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]