={ i:Фi
gD ФD};
L*={i: Фi
gA
gB};
d(G( )) = |ФD|
σ(L0, J0) = {σi : σi
gD, σd}.
Верхняя оценка вычислительной трудоемкости выполнения алгоритмов, базирующихся на предложенном методе, в общем случае может быть определена в виде
Т = |ФН(0)| S|Рmах|,
где Т — верхняя оценка трудоемкости; |ФН(0)| — число шагов в алгоритме; S — число переменных в gA(0); |Pmax| — максимальное число переменных, являющихся аргументами в Фi
Фн.
Отметим, что |Pmах| является величиной, не зависящей от размерности исходной модели, под которой принято понимать число вершин в информационном графе. Также практически не зависит от размерности модели и величина |ФН(0)|, которая может трактоваться как максимальная переопределенность вектора J. В итоге можно считать, что Т = KS, где К = |ФН(0)| |Рmаx| — коэффициент, не зависящий от размерности исходной модели.
Теперь рассмотрим процедуры, которые обеспечивают получение таких выходных переменных оператора КОN, как ФSt и USt при אּ = J+, а также
при אּ= J-. Основным назначением этих переменных, как уже указывалось, является обеспечение целенаправленной корректировки вектора J в случае, если он некорректен или недоопределен. Каждому из данных случаев соответствует либо отрицательное, либо положительное максимальное значение функции дефицита на двудольном информационном графе модели. Определение USt J+и ∆J- σ(LN) при этом связано с уменьшением или увеличением, соответственно, числа компонент в исходном векторе J таким образом, чтобы вновь получаемое критическое множество было, во-первых, не пусто, а во-вторых, имело нулевой дефицит.
Вектор переменных ФSt в качестве своих компонент содержит взаимозависимые переменные из J. Он может быть определен в виде
ФSt (J+) = J+ ∩ Р ( ).
Рассмотрим основные операции, связанные с формированием USt. Эти операции требуют выполнения при d (G ( )) > 0, т. е. когда
ФD ≠Ø и gD ≠Ø, где ФD и gD определяются на рассмотренном выше этапе выполнения оператора КОN.
Как было указано в п. 10.1.2.2, множество USt(J+) может быть определено различными комбинациями из St(J+) компонент вектора ФSt. В то же время не любые St(J+) компонент определяют USt. Учитывая неоднозначность определения компонент USt, ниже полагается, что инициатива выбора той или иной из них принадлежит ЛФР, у, который последовательно выводит из состава вектора J+ отдельные его компоненты. Задачей в данном случае является установление факта истинности принадлежности очередной такой компоненты допустимому USt с учетом ранее выведенных компонент или — при организации работ по принципу «меню» — сообщение ЛФР, у списка компонент вектора J+, допускающих их выведение из состава этого вектора, который изменяется по мере выбора ЛФР, oм той или иной компоненты.
При известных gD и ФD компоненты вектора J+ могут быть разделены на две группы (здесь и далее для упрощения записей будем считать, что ФSt = J+). К первой из этих групп, обозначаемой JФ
J+, будем относить компоненты, содержащиеся в составе переменных, входящих в отношения из ФD. Обозначим эти переменные через PD, а остальные компоненты вектора JФ — через J*, тогда
JФ = {J*:J* PD≠Ø }.
Ко второй группе, обозначаемой JD, отнесем все оставшиеся компоненты вектора J*:
JD=J+\JФ
Выведение из состава J+ компонент JD и JФ имеет принципиальное отличие. Так, если некоторая компонента вектора J+ принадлежит JФ, то она всегда может быть включена в состав USt. Ее выведение из состава J+ приводит к образованию дополнительного остова класса D, состоящего из этой переменной и связи — элемента множества ФD, — в состав переменных которой она входит. Получающийся таким образом остов пополняет gD. Определим такого рода операцию как выполнение некоторого оператора КJФ:
КJФ : {ФD,J*ф}
gD (к+1).
Переменные из JD в ряде случаев не могут быть выведены из состава J+. Возможность их выведения определяется следующими условиями.
Выведение из вектора J+ компонент JD и пополнение ими вектора σ приводит к тому, что один остов gD переходит в класс В. Как следствие, оставшиеся остовы класса D переходят в класс С. Проверка выполнения на вновь полученных множествах gB и gC условия (10.51) и реализация операции по трансформации этих множеств таким образом, чтобы данное условие выполнялось, приводит к построению остовов классов В и D. При этом, если имеется возможность объединения полученного остова gB хотя бы с одним элементом из ФD, то рассматриваемая компонента вектора JD может быть включена в состав USt, а в противном случае она не включается.
Структура алгоритма определения множеств USt может быть представлена следующими действиями, связанными с определением принадлежности некоторой компоненты J* вектора J+ множеству USt:
1) проверкой условия J* ЈФ, и если оно выполняется, то реализуется оператор КJФ;
2) если J* JD, то выделение из gD остова класса В как реализация оператора КC, где в роли gC выступает gD при gB = J*; gA = Ø;
3) проверкой условия (10.51) — наличия пересечения переменных из вновь получаемого остова gB с переменными, содержащимися в PD\J*. Если такое пересечение пусто, то J* USt, в противном случае
J*
USt.
После введения очередной компоненты J* в USt происходит переход к рассмотрению следующей компоненты из J+ и т. д. Реализацию процедуры по формированию множества USt будем рассматривать как выполнение оператора:
КSt: {gD, ФD, J+, Пr} USt,
где Пr — лицо, формирующее рекомендации.
Теперь рассмотрим процедуру формирования множества
. Оно представляет собой минимальную совокупность переменных модели, дополнение которыми некоторого недоопределенного J- позволяет получить корректный вектор:
J0 = J-![]()
.
Причем здесь заранее предполагается, что выбор
производится из условия τ-полноты вектора J0:
σ(J0, L0)
τ,
т. е. из условия обеспечения вычисления некоторой заранее определенной переменной τ, в частности, критерия оценки сформированных рекомендаций.
Принципиально, вычисление некоторой переменной τ может быть произведено на каждой из элементарных моделей, содержащих ее в своем составе. Обозначим индексы такого рода моделей через Iτ:
Iτ = {i:Рi ∩ τ ≠Ø}.
Рассмотрим векторы:
Jτi = J- (Pi\τ); i Iτ ,
каждый из которых, если его рассматривать в качестве исходных данных, очевидно, является достаточным для вычисления τ. В то же время некоторые из этих векторов могут быть переопределены. Проведя их анализ на базе использования оператора КL, можно получить значения {St(Jτi)}
. Величина |Pi| — St(Jτi) задает размерность
при
i Iτ позволяет определить индекс элементарной модели, по которой возможно вычисление τ при минимальной величине | ∆J- |. Обозначим этот индекс i*.
Следующим шагом определения вектора
является назначение его компонент, содержащихся в Рi*. Если St(Jτi) = 0, то очевидно
|
Из за большого объема этот материал размещен на нескольких страницах:
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 |


