
Рис. 10.16. Выполнение оператора КEA
При этом значение d (gA) увеличивается на единицу. Данную трансформацию далее будем рассматривать как реализацию оператора:
КEA : { g(к)A, Фea}
{ gA(к+1),gC} (10.76).
Объединение gbj с Фeb представляет в результате остовное дерево класса С (рис. 10.17) и может рассматриваться как реализация оператора:
КEB : { g(к)B, Фeb}
{ gB(к+1),gC} (10.77).

Рис. 10.17. Выполнение оператора КEB
Заметим, что остовные деревья класса D в рассмотренных случаях никак не фигурируют. Эти деревья получаются как результат анализа остовов класса С на выполнение условия (10.41), когда в роли g(L2) выступает gC, а в роли g (L1) — объединение gA и gB. В результате этого анализа gC расчленяется на подмножества класса В и D (рис. 10.18).

Рис. 10.18. Выполнение оператора КC (©- элементы
;
- элементы
)
Данное членение будем производить следующим образом:
1) вначале определим на gC вершины-связи
такие, что содержащиеся в них переменные пересекаются с gA или gB, т. е.
Ø};
2) выделим из
вершины, каждая из которых является ближайшей к единственной на gC терминальной вершине-связи; обозначим и ![]()
![]()
;
3) каждая ветвь из gC, начинающаяся с вершины-связи из
и лежащая по другую сторону от терминальной вершины-связи, отделяется от gC, и если переменные, содержащиеся в
, пересекаются с gB, то «пристыковывается» к gB в соответствующей вершине; если переменные, содержащиеся в
, пересекаются с gA, тo образует совместно с линейным участком из gai
gA, содержащим соответствующую вершину, остов класса В;
4) далее, учитывая, что при выполнении действий 1)—3) множество переменных, входящих в остовы класса В, пополняется, процедура повторяется, начиная с первого действия.
В результате выполнения приведенной итерационной процедуры оставшееся от gC подмножество, т. е. не перешедшее в состав gB, удовлетворяет условию (10.51) и пополняет остовы класса D. Рассмотренная операция может быть представлена как реализация следующего оператора:
КC : { gC, g(к)A , g(к)B }
{gB(к+1), gD(к+1), gA(к+1)}. (10.78)
Приведенные операции (10.65), (10.68)—(10.70), (10.73), (10.74), (10.76)—( 10.78) обеспечивают выполнение объединения всех, кроме ФD, элементов множества Фн с исходным графом модели, представленным остовными деревьями рассмотренных классов. Вершины ФD согласно их определению могут быть объединены исключительно с остовами класса D. Соответствующие операции будут рассмотрены в п. 10.1.2.5.
10.1.2.5. Структура оператора КОN
Структура оператора КОN может быть представлена тремя процедурами. Первая из них связана с максимизацией функции дефицита или, что то же самое, с выделением из информационного графа модели критического множества. В результате выполнения этой процедуры определяется אּ — характеристика, свидетельствующая о корректности, недоопределенности или избыточности анализируемого вектора J. Вторая и третья процедуры связаны с преобразованиями переопределенного и недоопределенного, соответственно, вектора J в корректный или, что то же самое, с определением таких характеристик, как ФSt, USt и
. Остальные генерируемые оператором КОN данные: σ (L0, J0), L0 — перечень переменных, которые могут быть определены через компоненты вектора J, и связи модели, через которые это определение должно быть произведено, получаются как результат формирования критического множества с нулевым дефицитом в результате выполнения указанных процедур.
Вначале приведем процедуру, связанную с выделением из исходного графа модели критического множества
(рис. 10.19). В основе этой процедуры лежат рассмотренные выше операторы по объединению вершин связей из Фн с классифицированными остовами, представляющими информационный граф исходной модели.
На начальном этапе (на первом шаге) этот граф представим остовами класса А, что, очевидно, можно сделать всегда, т. е.
σ (0)A = σ(LN);
g(0)B = g(0)D= g(0)C=Ø
Фн(0)=Ф(LN)\ ФA(0).
Задачу построения остова gA(0) возложим на некоторый оператор:
КOST :G(LN) { gA(0), Фн(0)},
выполнение которого является началом исполнения рассматриваемого алгоритма выделения критического множества .
На каждом последующем (к-м) шаге, как правило, считаются известными g(к)A , g(к)B, g(к)D Выполнение этого шага начинается с выбора элемента из Фн (к), обозначаемого Ф* (к):
Ф*(к) = Фн(О)\
.
Выбранный элемент Ф* далее классифицируется по условиям (10.59)—( 10.63), (10.64), (10.66), (10.67), (10.71), (10.72), (10.75) и далее в зависимости от полученных результатов выполняется соответствующий из раcсмотренных выше операторов.
Согласно приведенным выше условиям классификации элементов Ф*
Фн эти элементы в ряде случаев могут быть отнесены к различным классам. Например, условия (10.59) и (10.70) не исключают отнесение одного и того же элемента как к ФA, так и к Фв.
Отнесение Ф*
Фн к тому или иному классу определяет последующую операцию его объединения с соответствующими остовами. При этом в результате выполнения одних операций остовы класса С порождаются, а других — нет. Порождение gC требует выполнения оператора КC, т. е. проведения дополнительных операций, целью которых является выделение из gC подмножеств gD.

Рис. 10.19. Структура процедуры выделения критического множества из исходного графа модели
Если некоторый элемент Ф* может быть отнесен к двум классам и в одном случае соответствующая операция его объединения с тем или иным остовом порождает gC, а в другом нет, то из порожденного gC выделение подмножества gD невозможно. Данное утверждение основывается:
1) на показанной в п. 10.1.2.3 единственности результатов решения рассматриваемой задачи, т. е. единственности ;
2) на безусловности включения остовов в класс D (подмножества gD в рассматриваемом методе перейти в состав остовов других классов не могут)
3) на условии gD g ( ).
Учитывая сказанное, можно дать рекомендации о наиболее целесообразной последовательности проведения анализа Ф*
Фн на принадлежность тому или иному классу. Эта последовательность должна быть таковой, чтобы отнесение Ф* к классам (ФВ1, ФеВ, ФеA, Фab), приводящим к порождению элементов gC, производилось в последнюю очередь.
Отнесение рассматриваемого элемента Ф*
Фн к тому или иному классу определяет конкретную операцию его объединения с тем или иным остовом. В результате ее выполнения происходит изменение отдельных остовов, в том числе возможно появление остовов класса С. В случае появления остова класса С на нем проверяется возможность выделения из него элементов gD, что сводится к реализации оператора КC.
Таким образом, на каждом шаге производится объединение одного элемента из Фв с известными остовами, в результате чего эти остовы трансформируются соответствующим образом, оставаясь в рамках названных классов А, В, D.
Условием окончания рассматриваемой процедуры является условие
Фн (к+1) = ФD, свидетельствующее о «присоединении» всех вершин из Фн к остовам gA и gB. Итогом при этом являются совокупности остовов gA, gB, gD, а также вершины ФD, связанные исключительно с gD. При этом
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 |


