logo

2.3.1. Класс задач, наиболее приспособленных к решению с помощью блоков принятия решений

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

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

¦ ¦ ¦ Тип заготовки ¦

¦ Диаметр ¦ Ширина ¦---------------------------------------¦

¦ обрабатываемой ¦ резца, мм ¦ из стали и стальные ¦ ¦

¦ заготовки, мм ¦ ¦ отливки с G , МПа ¦ из чугуна ¦

¦ ¦ ¦-----------------------¦ ¦

¦ ¦ ¦ до 800 ¦ св. 800 ¦ ¦

-----------------+-----------+-----------+-----------+----------------

¦ До 20 ¦ 3 ¦ 0.08-0.10 ¦ 0.06-0.08 ¦ 0.11-0.14 ¦

¦ 20 - 30 ¦ 3 ¦ 0.10-0.12 ¦ 0.08-0.10 ¦ 0.13-0.16 ¦

¦ 30 - 40 ¦ 3 - 4 ¦ 0.12-0.14 ¦ 0.10-0.13 ¦ 0.16-0.20 ¦

¦ 40 - 60 ¦ 4 - 5 ¦ 0.14-0.18 ¦ 0.13-0.16 ¦ 0.20-0.22 ¦

¦ 60 - 80 ¦ 5 - 6 ¦ 0.18-0.20 ¦ 0.16-0.18 ¦ 0.22-0.26 ¦

¦ 80 - 100 ¦ 6 - 7 ¦ 0.20-0.25 ¦ 0.18-0.20 ¦ 0.26-0.30 ¦

¦ 100 - 125 ¦ 7 - 8 ¦ 0.25-0.30 ¦ 0.20-0.22 ¦ 0.30-0.35 ¦

¦ 125 - 150 ¦ 8 - 10 ¦ 0.30-0.35 ¦ 0.22-0.25 ¦ 0.35-0.40 ¦

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

Рис. 2.10. Определение подачи (мм/об) при отрезке и прорезке канавок

на токарных станках ("Краткий справочник металлиста", стр.365, табл.39)

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

ЕСЛИ значения исходных данных удовлетворяют определенным условиям,

ТО требуемые значения определяются по таблице.

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

IF (условие) THEN (действие 1) ELSE (действие 2)

Такого типа записи легко воспринимаются универсальными языками программирования. Например, обращение к содержимому левой верхней клеточки (рис.2.10) может быть записано так, как приведено на рис. 2.11.

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

¦ЕСЛИ "Вид работы" имеет значение "на токарных станках" ¦

¦ И "Вид обработки" имеет значение "отрезка и прорезка канавок" ¦

¦ И "Тип заготовки" имеет значение: ¦

¦ "из стали" ИЛИ "стальные отливки" ¦

¦ И Значение "G в, МПа" < 800 ¦

¦ И Значение "Диаметр обрабатываемой заготовки, мм" < 20 ¦

¦ И Значение "Ширина резца, мм" = 3 ¦

¦ -----------------------------------------------------------------¦

¦ ¦ ТО Значение "Подача (мм/об) минимальная" = 0.08; ¦

¦ ¦ Значение "Подача (мм/об) максимальная" = 0.10; ¦

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

Рис. 2.11.Пример записи алгоритма обращения к верхней левой клеточке таблицы, изображенной на рис.2.10

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

Решение на базе языка программирования предполагает использование труда программистов. Возможная структурная схема для записи правила, приведенного в таблице (рис.2.11), может иметь вид, соответствующий рис. 2.12. Любое изменение в правилах, записанных в таблице, добавление или удаление строки потребует повторного программирования задачи. Кроме того, если информация в исходной таблице (рис. 2.10) понятна и доступна большинству инженеров, то эта же информация в программе "размыта" и работа с ней требует от пользователя определенной квалификации в области программирования.

Рассмотрим возможный вариант решения указанной задачи средствами базы данных. Следует отметить, что базы данных изначально ориентированы на работу с большими объемами взаимосвязанных таблиц. В машиностроении наиболее подходящей областью применения баз данных являются ГОСТы и специальные задачи работы с архивами (инструментов, комплектов чертежей и т.д.). Особенностью машиностроительных справочников является наличие большого числа разнородных таблиц, которые, очень часто, состоят из нескольких строк. Применение баз данных в этом случае не всегда является целесообразным.

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

¦ IF ((WIDR ^= "на токарных станках") ¦

¦ OR (WIDO ^= "отрезка и прорезка канавок") ¦

¦ OR (DIAMETRO <= 0.) OR (DIAMETRO > 150.) ¦

¦ OR (SIR < 3.) OR (SIR > 10.) ¦

¦ OR (TIPZ = "из стали" ) ¦

¦ OR (TIPZ = "стальные отливки" ) ¦

¦ OR (TIPZ = "из чугуна" )) ¦

¦ ------------------------------------------------------------+

¦ ¦ KB=1 ¦

¦ ¦ "Входные данные не соответствуют допустимым ограничениям ¦

¦ ¦ на применение правил" ¦

¦ ¦ EXIT ¦

+---+-----------------------------------------------------------+

¦ KB=0 ¦

+---------------------------------------------------------------+

¦ IF ((TIPZ = "из стали" ) ¦

¦ OR (TIPZ = "стальные отливки" ) ¦

¦ AND (GMPA < 800.) ¦

¦ AND (DIAMETRO < 20.) ¦

¦ AND (SIR = 3.)) ¦

¦ ------------------------------------------------------------+

¦ ¦ PODMIN = 0.08 ¦

¦ ¦ PODMAX = 0.10 ¦

¦ ¦ EXIT ¦

+---+-----------------------------------------------------------+

. . .

+---------------------------------------------------------------+

¦ IF ((TIPZ = "из чугуна" ) ¦

¦ AND (DIAMETRO > 125.) AND (DIAMETRO < 150.) ¦

¦ AND (SIR > 8.) AND (SIR < 10.)) ¦

¦ ------------------------------------------------------------+

¦ ¦ PODMIN = 0.35 ¦

¦ ¦ PODMAX = 0.40 ¦

¦ ¦ EXIT ¦

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

Рис. 2.12. Структурная схема выбора правила

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

A30 - Минимальный диаметр обрабатываемой заготовки, мм

A31 - Максимальный диаметр обрабатываемой заготовки, мм

A40 - Минимальная ширина резца, мм

A41 - Максимальная ширина резца, мм

A5 - Тип заготовки

A6 - Предел прочности, МПа

A7 - Подача (мм/об) минимальная

A8 - Подача (мм/об) максимальная

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

A5, A30, A31, A40, A41, A7, A8

Возможный вид таблицы базы данных для хранения содержимого фрагмента таблицы (рис. 2.10) приведен на рис. 2.13. При обращении к таблице пользователю надо помнить о том, что содержимое таблицы имеет смысл использовать при работе на токарных станках и при виде работы "Отрезка и/или прорезка канавок" и если предел прочности (A6) меньше 800.

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

¦ A5 ¦ A30 ¦ A31 ¦ A40 ¦ A41 ¦ A7 ¦ A8 ¦

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

¦ из стали ¦ 0. ¦ 20. ¦ 0. ¦ 3. ¦ 0.08 ¦ 0.10 ¦

¦ из стали ¦ 20. ¦ 30. ¦ 0. ¦ 3. ¦ 0.10 ¦ 0.12 ¦

¦ из стали ¦ 30. ¦ 40. ¦ 3. ¦ 4. ¦ 0.12 ¦ 0.14 ¦

¦ . . . ¦

¦ из стали ¦ 125. ¦150. ¦ 8. ¦ 10. ¦ 0.30 ¦ 0.35 ¦

¦ стальные отливки¦ 0. ¦ 20. ¦ 0. ¦ 3. ¦ 0.08 ¦ 0.10 ¦

¦ стальные отливки¦ 20. ¦ 30. ¦ 0. ¦ 3. ¦ 0.10 ¦ 0.12 ¦

¦ стальные отливки¦ 30. ¦ 40. ¦ 3. ¦ 4. ¦ 0.12 ¦ 0.14 ¦

¦ . . . ¦

¦ стальные отливки¦ 125. ¦150. ¦ 8. ¦ 10. ¦ 0.30 ¦ 0.35 ¦

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

Рис. 2.13. Фрагмент записи правила в форме реляционной таблицы

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