
Семинар №7
Структура данных RиT:
n=n1+n2
Итерационный алгоритм улучшения начального разрезания гиперграфа схемы.
S:=S0; R:=1..n1; T:=1..n2
∀xi∈X’:
∀xj∈X\X’:
Ui:=Гxi, Uj:=Гxj, ΔS(xi)+:=ΔS(xi)-:=ΔS(xj)+:=ΔS(xj)-:=0
∀Uk∈Ui:
Xk:=ГUk
(Xk\Xi) ⋂(X’Xj) ≠0 ⇒ п.2.1.2.4
ΔS(xi)-:= ΔS(xi)-+1⇒ п.2.1.2.6
Xk ⋂(X\X’) ≠0 ⇒ п.2.1.2.6
ΔS(xi)+:= ΔS(xi)++1
Конец цикла
∀Ul∈Uj:
Xl:=ГUl
(Xl\Xj) ⋂((X\X’)Xi) ≠0 ⇒ п.2.1.3.4
ΔS(xj)-:= ΔS(xj)-+1⇒ п.2.1.3.6
Xl ⋂X’ ≠0 ⇒ п.2.1.3.6
ΔS(xj)+:= ΔS(xj)++1
Конец цикла
Si,j:= (ΔS(xi)-+ΔS(xj)-)-(ΔS(xi)++ΔS(xj)+).
Конец цикла
Конец цикла
Sp,q:=max{Si,j∈S}
Sp,q ≤ 0 ⇒ п.6
Перестановка Xp∈X’ и Xq∈X\X’⇒ п.2
Конец работы алгоритма.
Оценка вычислительной сложности:
|X’|=|X\X’|=n/2;
|Гxi|=|Гxj|=A;
|xk|=|xl|=;
П.2.1.2
= A;
П.2.1.3
= A;
П.3
= двойной цикл |Si,j|-1=
На i-ой итерации:
Nf==O(
);
Итоговая вычислительная сложность:
O()-(n-a)=O(
);
Семинар №8
Обдумайте, необходимо ли после перестановки вершин xpиxqзаново пересчитывать показательSдля всех парных обменов. Как определить вершины, для парных обменов которых необходимо пересчитыватьS? Доработайте алгоритм так, чтобы после очередного обмена пересчитыватьSдля парных обменов только таких вершин.
После перестановки XpиXqнет необходимости пересчитывать показательSдля вершин, не смежныхXpиXqи составляющих парный обмен.
Hl H\Hl
Пусть Xp:=Г1(Xp), Xq:=Г1(Xq), Xpq:= Xp ∪ Xq, Xpq’:= Xpq ⋂ X1’, Xpq’’:= Xpq\Xpq’.
Тогда пересчет S:
∀xi∈ X’: ∀xj∈ X\X’: xi∈ Xpq’∪ xj∈ Xpq’’
Выполните улучшение итерационным алгоритмом полученного Вами разрезания гиперграфа схемы. Сравните результаты разбиения гиперграфа схемы последовательным и итерационным алгоритмами. Сделайте заключение о вычислительной сложности этих алгоритмов.
Улучшенный итерационный алгоритм улучшения начального разрезания гиперграфа схемы.
S:=S0; R:=1..n1; T:=1..n2, Xpq’:=X’, Xpq’’:=X\X’, Xpq:=X
∀xi∈X’:
∀xj∈X\X’:
xi∈ Xpq’ ∪ xj∈ Xpq’’ ⇒ п.2.1.3
⇒ п.2.1.7
Ui:=Гxi, Uj:=Гxj, ΔS(xi)+:=ΔS(xi)-:=ΔS(xj)+:=ΔS(xj)-:=0
∀Uk∈Ui:
Xk:=ГUk
(Xk\Xi) ⋂(X’Xj) ≠0 ⇒ п.2.1.4.4
ΔS(xi)-:= ΔS(xi)-+1⇒ п.2.1.4.6
Xk ⋂(X\X’) ≠0 ⇒ п.2.1.4.6
ΔS(xi)+:= ΔS(xi)++1
Конец цикла
∀Ul∈Uj:
Xl:=ГUl
(Xl\Xj) ⋂((X\X’)Xi) ≠0 ⇒ п.2.1.3.4
ΔS(xj)-:= ΔS(xj)-+1⇒ п.2.1.3.6
Xl ⋂X’ ≠0 ⇒ п.2.1.3.6
ΔS(xj)+:= ΔS(xj)++1
Конец цикла
Si,j:= (ΔS(xi)-+ΔS(xj)-)-(ΔS(xi)++ΔS(xj)+).
Конец цикла
Конец цикла
Sp,q:=max{Si,j∈S}
Sp,q ≤ 0 ⇒ п.8
Перестановка Xp∈X’ и Xq∈X\X’
Xpq:=F1(Xp)∪F1(Xq)
Xpq’:=Xpq⋂X’,Xpq’’:=Xpq\Xpq’ ⇒ п.2
Конец работы алгоритма.
Оценка вычислительной сложности:
|X’|=|X\X’|=n/2;|Гxi|=|Гxj|=A;|ГUk|=|ГUl|=;|X’pq|=
A
;|
X’\X’pq|=
A
;|X’’pq|=
A
;|xk|=|xl|=
;
П.2.1.4
= A;П.2.1.5
= A
;П.5
= двойной
цикл
|
Si,j|-1=
На i-ой итерации:
Nf
=
=O(
);
Итоговая вычислительная сложность:
O()-(n-a)=O(
);
Вычислительная сложность итерационного алгоритма улучшения начального разрезания гиперграфа схемы больше вычислительной сложности алгоритма последовательного разрезания гиперграфа:
O()>
O(
);