Ф Е Д Е РАЛ Ь Н О Е АГ Е Н С Т В О П О О БРАЗО В АН И Ю Г О С У Д АРС ТВ Е Н Н О Е О БРАЗО В АТ Е Л Ь Н О Е У ЧРЕ Ж Д Е ...
129 downloads
220 Views
460KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Ф Е Д Е РАЛ Ь Н О Е АГ Е Н С Т В О П О О БРАЗО В АН И Ю Г О С У Д АРС ТВ Е Н Н О Е О БРАЗО В АТ Е Л Ь Н О Е У ЧРЕ Ж Д Е Н И Е В Ы С Ш Е Г О П РО Ф Е С С И О Н АЛ Ь Н О Г О О БРАЗО В АН И Я «В О РО Н Е Ж С КИ Й Г О С У Д АРС Т В Е Н Н Ы Й У Н И В Е РС И Т Е Т »
Г лушак о ваТ .Н ., Э к саревск ая М .Е .
М ет од ы ра б от ы с ра зреж енны м и м а т рица м и произв ол ьногов ид а
Учебно е по со бие
к спецк урсу по специально ст и «П рик ладная мат емат ик аи инфо рмат ик а» 010501 (010200)
В ороне ж 2005
2 У твер ждено научно-методическим советом 14.06.2005 г.
В Г У ф акул ь тетаП М М п р отокол № 6 от
Автор ы : Э ксар евская М .Е ., Г л уш аковаТ.Н . Н ауч. р ед. Бондар енкоЮ .В .
У чебноеп особиеп одготовл ено накаф едр еВ ы числ ител ь ной математики ф акул ь тетаП М М В ор онежскогогосудар ственного универ ситета. Рекомендуется дл я студентов3 и4 кур совд/оиасп ир антовф акул ь тетаП М М .
3
С од е рж а ни е В ведение.............................................................................................................................4 1. С х емы х р анения .......................................................................................................5 1.1 С х емаКнута.............................................................................................................5 1.2 Раз р еженны й стр очны й ф ор мат.......................................................................5 1.3 Раз р еженны й стол бцовы й ф ор мат..................................................................6 1.4 С жатиеп о Ш ер ману..............................................................................................6 1.5 Г ип ер матр ичная сх ема.........................................................................................7 1.6 О вы числ ител ь ны х з атр атах ..............................................................................7
2. М етоды р еш ения р аз р еженны х систем ал гебр аических ур авнений . Г ауссовоискл ю чение.....................................................................9 2.1 Г ауссово искл ю чение. П остановказ адачи................................................ 10 2.2 Г ауссово искл ю чениеп о стол бцам............................................................... 13 2.3 Г ауссово искл ю чениеп о стр окам ................................................................. 14 2.4 И скл ю чениеГ аусса– Ж ор дана...................................................................... 14 2.5 О ш ибкиокр угл ения вметодеГ аусса.......................................................... 15 2.6 Числ енная устой чивость ивы бор гл авны х эл ементов......................... 20
3. Т еор ия гр аф овдл я р аз р еженны х матр иц.............................................. 23 3.1 С ил ь ны екомп оненты ор гр аф а....................................................................... 25 3.2 И ссл едованиестр атегий дл я несимметр ичны х р аз р еженны х матр иц.............................................................................................................................. 27 3.2.1 П оиск вгл убину наор гр аф е................................................................ 27 3.2.2 П оиск вш ир ину наор гр аф еистр уктур ы ур овней ор иентир ованной смежности..................................................................................................... 30 3.2.3 О ты сканиемаксимал ь ногомножествап утей ср аз л ичны ми вер ш инамивацикл ическом ор гр аф е........................................................... 31 3.2.4 Ал гор итм Х ол л а................................................................................... 32 3.2.5 Ал гор итм Х оп кр оф та– Кар п а............................................................ 34 3.2.6 Ал гор итм С ар джента– У эстер бер га.................................................. 36 3.2.7 Ал гор итм Т ар ь я на................................................................................ 37
С п исок л итер атур ы ..................................................................................................... 43
4
В в едени е П о мер е того как р астут п р оизводител ь ность и бы стр одей ствие вы числ ител ь ны х маш ин, р астут р аз мер ы матр иц. В сп ециал ь ной л итер атур е имеется нескол ь ко оп р едел ений р аз р еженной матр ицы . С уть их состоит в том, что матр ица р аз р ежена, есл и в ней «много» нул евы х эл ементов. Раз р еженную матр ицу можно оп р едел ить как матр ицу, дл я котор ой исп ол ь з ование ал гор итмов, учиты ваю щ их нал ичие нул ей , п оз вол я ет добить ся экономии маш инного вр емени и п амя ти п о ср авнению с тр адиционны миметодами. Раз р еженны е матр ицы встр ечаю тся п р и р еш ении многих важны х п р актических з адач: дискр етизации ур авнений математической ф изики (р аз ностны е сх емы и методы конечны х эл ементов), л иней ного п р огр аммир ования (теор ия оп тимизации), теор ии эл ектр ических цеп ей , стр уктур ного анал иза, числ енного р еш ения диф ф ер енциал ь ны х ур авнений , теор иигр аф ов, атакжегенетики, социол огииип оведенческих наук. В ся кую р аз р еженную матр ицу можно обр абаты вать так, как есл ибы она бы л а п л отной , также вся кую п л отную , ил и з ап ол ненную , матр ицу можно обр абаты вать ал гор итмами дл я р аз р еженны х матр иц. В обоих сл учая х п ол учатся п р авил ь ны е р ез ул ь таты , но вы числ ител ь ны е з атр аты воз р астут. П р ип исы вание матр ице свой ства р аз р еженностиэквивал ентно утвер ждению о сущ ествованииал гор итма, исп ол ь з ую щ его ее р аз р еженность идел аю щ его вы числ ения сней деш евл еп о ср авнению состандар тны миал гор итмами. М атр ичны е ал гор итмы дол жны п р оектир овать ся таким обр аз ом, чтобы х р анил ись иобр абаты вал ись тол ь ко ненул евы е эл ементы ип о воз можности сох р аня л ась р аз р еженность . Конечно, не все ал гор итмы дл я р аз р еженны х матр иц достигаю т этих цел ей . М ногие сх емы х р анения доп ускаю т оп р едел енную дол ю нул ей , иал гор итм обр абаты вает их , как есл ибы онине бы л и нул я ми. Ал гор итм, х р аня щ ий и обр абаты ваю щ ий мень ш ее числ о нул ей , бол ее сл ожен, тр уднее п р огр аммир уется ицел есообр аз ен тол ь ко дл я достаточно бол ь ш их матр иц. С ущ ествует п ол ны й сп ектр ал гор итмов, р ассчитанны х нар аз л ичны етип ы матр иц, от п л отны х до очень р аз р еженны х , ср аз л ичны минеобх одимы мидл я п р актики степ еня ми эф ф ективности, сл ожности ил и п р остоты . В свя з и с р аз витием совр еменной тех ники можно ожидать , что и дал ь ш е бол ь ш ие р аз р еженны е матр ицы будут встр ечать ся во многих п р икл адны х з адачах , вкл ю чаю щ их бол ь ш иесистемы .
5
1. С х ем ы х р анени я Рассмотр им р аз р еженную матр ицу А. Е ененул евы еэл ементы , котор ы х очень мал о в ср авнениис числ ом нул ей , р ассея ны п о всей матр ице, обр аз уя то, что наз ы ваю т по рт рет о м матр ицы ил и шабло но м нулей-ненулей. В се сп особы х р анения р аз р еженны х матр иц з акл ю чаю тся в том, чтобы х р анить тол ь ко ненул евы е эл ементы матр ицы ил и, может бы ть , небол ь ш ое кол ичество нул ей вместесними.
1.1 С хема К н ут а Н енул евы е эл ементы х р аня тся в комп актной ф ор ме и п р оизвол ь ном п ор я дке в одномер ном массиве AN. И нф ор мация о п ол ожении ненул евы х эл ементов может х р анить ся двумя доп ол нител ь ны ми п ар ал л ел ь ны ми одномер ны ми массивами I и J: з десь дл я каждого ненул евого эл емента содер жатся его стр очны й и стол бцовы й индексы . Д л я каждого aij ≠ 0 в п амя тинах одится тр ой ка(aij, i, j). Чтобы можно бы л о л егко оты скивать эл ементы п р оизвол ь ной стр окиил и стол бца матр ицы , необх одимы ещ е п ар а указ ател ей дл я каждой тр ой ки, а также указ ател ивх ода дл я стр ок истол бцов, сообщ аю щ ие начал о каждого стр очного ил истол бцового сп иска. П усть NR – массив, х р аня щ ий стр очны е указ ател и(«сл едую щ ий ненул евой эл емент той же стр оки»), а NC – массив стол бцовы х указ ател ей («сл едую щ ий ненул евой эл емент того же стол бца»). П я ть массивов AN, I, J, NR и NC имею т одинаковую дл ину, и их одноименны е п оз ициисоответствую т др уг др угу. П усть JR иJC – массивы , содер жащ ие указ ател и вх ода дл я стр ок и стол бцов, р асп ол оженны е в соответствиисп ор я дком стр ок истол бцовматр ицы . П р иисп ол ь з ованииданной сх емы эл емент aij можно най ти, л иш ь вх одя в сп исок i-й стр оки и п р осматр ивая его до тех п ор , п ока не будет най ден стол бцовы й индекс j, л ибо то же самоес п ер еменой р ол ей стр окиистол бца. О бр атная з адача имеет очевидное р еш ение: есл и з адан номер п оз иции k эл ементаAN(k), то его стр очны й истол бцовы й индексы – I(k) иJ(k). С х емаКнутатр ебует п я тия чеек п амя тидл я каждого ненул евого эл емента А п л ю с к этому указ ател ивх ода дл я стр ок истол бцов. В сл едствие бол ь ш ой накл адной п амя титакая сх емавесь манеэкономна. Д остоинстваеев том, что в л ю бом месте можно вкл ю чить ил и искл ю чить эл емент, и можно эф ф ективно сканир овать стр окиистол бцы . С х ема идеал ь но п р исп особл ена дл я сл учаев, когда А стр оится каким-то ал гор итмом, где нел ь з я п р едсказ ать конечноечисл о ип оз ицииненул евы х эл ементов.
1.2 Р а зреж ен н ы й ст ро чн ы й ф о рма т Раз р еженны й стр очны й ф ор мат – это одна из наибол ее ш ир око исп ол ь з уемы х сх ем х р анения р аз р еженны х матр иц. Э та сх ема п р едъя вл я ет минимал ь ны е тр ебования к п амя ти и в то же вр емя оказ ы вается очень удобной дл я нескол ь ких важны х оп ер аций над р аз р еженны ми матр ицами:
6
сл ожения , умножения , п ер естановок стр ок истол бцов, тр ансп онир ования , р еш ения систем с р аз р еженны миматр ицамикоэф ф ициентов как п р я мы ми, так и итер ационны ми методами и т.д. Значения ненул евы х эл ементов матр ицы исоответствую щ ие стол бцовы е индексы х р аня тся в этой сх еме п о стр окам в двух массивах AN иJA. И сп ол ь з уется такжемассив указ ател ей IA, отмечаю щ их п оз иции массивов AN и JA, с котор ы х начинается оп исание очер едной стр оки. Д оп ол нител ь ная комп онента в IA содер жит указ ател ь п ер вой свободной п оз ициивJA иAN. О п исание r-й стр оки А х р анится в п оз иция х с IA(r) до IA(r + 1) – 1 массивов JA иAN, з аискл ю чением р авенства IA(r + 1)=IA(r), оз начаю щ его, что r-я стр ока п уста. Е сл иматр ица А имеет m стр ок, то IA содер жит m + 1 п оз иций ; IA(1) всегдар авно единице. Д анны й сп особ п р едставл ения наз ы ваю т по лным, п оскол ь ку п р едставл ена вся матр ица А. В з ависимостиот того, как з ап исы ваю тся в каждой стр оке стол бцовы е индексы в массиве JA (п о п ор я дку воз р астания ил и нет), р аз л ичаю т упо рядо ченно е ил и неупо рядо ченно е предст авление соответственно. Н еуп ор я доченны е п р едставл ения нужны дл я ал гор итмических удобств: р ез ул ь таты бол ь ш инства матр ичны х оп ер аций п ол учаю тся неуп ор я доченны ми, иуп ор я дочениеих тр ебует доп ол нител ь ны х з атр ат маш инного вр емени, в то вр емя как бол ь ш инство ал гор итмов дл я р аз р еженны х матр иц не тр ебует, чтобы п р едставл ения бы л и уп ор я доченны ми.
1.3 Р а зреж ен н ы й ст о лбцо вы й ф о рма т Э л ементы матр ицы А х р аня тся п о стол бцам. С тол бцовы е п р едставл ения могут р ассматр ивать ся и как стр очны е п р едставл ения тр ансп онир ованны х матр иц. Таким обр аз ом, в массиве ANT х р аня тся ненул евы е эл ементы матр ицы A, в массиве JAT указ ы вается стр очны й индекс соответствую щ его эл емента, а эл ементы IAT указ ы ваю т, с какой п оз ицииначинается оп исаниеочер едного стол бцаматр ицы А.
1.4 С ж а т ие по Ш ерма н у С х ема Ш ер мана исп ол ь з уется дл я х р анения р аз р еженны х тр еугол ь ны х матр иц, вы числ я емы х в методе Г аусса. Н иж ней треуго льно й мат рицей наз ы вается матр ица, у котор ой ненул евы е эл ементы могут стоя ть тол ь ко в нижнем тр еугол ь нике и на гл авной диагонал и (aij=0 п р и j>i). Верхняя т реуго льная мат рица– матр ицасненул евы миэл ементамитол ь ко ввер х нем тр еугол ь нике ина гл авной диагонал и(aij=0 п р иj k , j > k ,
откудаможно вы вестип ол ны евы р ажения дл я эл ементовматр ицы A(k): a
(k ) ij
k −1
= aij − ∑ lim u mj , i > k , j > k . m =1
2.3 Га уссо во исклю чен ие по ст ро ка м Д л я р аз р еженны х матр иц, х р аня щ их ся в стр очном ф ор мате, искл ю чение п о стр окам намного бол ее эф ф ективно, чем искл ю чение п о стол бцам. В обоих сл учая х п ол учаю тся одинаковы ечисл енны ер ез ул ь таты , и з атр ачивается одно и то же кол ичество ар иф метических оп ер аций . П овы ш ение эф ф ективностидостигается з а счет того, что эл ементы матр ицы исп ол ь з ую тся в естественном п ор я дке, т.е. в том п ор я дке, в каком х р аня тся . Г ауссово искл ю чение дл я матр ицы А п о стр окам вы п ол ня ется в n ш агов. В начал еk-го ш агаимеется матр ицаA(k), содер жащ ая встр оках сп ер вой п о (k – 1)-ю нул евы еэл ементы л евеедиагонал ииединицы вп ер вы х (k – 1) п оз иция х надиагонал и. Н аk-м ш агеп р оизводится искл ю чениененул евы х эл ементовkй стр оки, р асп ол оженны х л евее диагонал и, п утем вы читания вз я ты х с соответствую щ имимножител я мип ер вой стр оки, втор ой стр оки, … , (k – 1)-й стр оки в указ анном п ор я дке. Затем каждая стр ока нор мир уется п утем дел ения всех ееэл ементовнадиагонал ь ны й эл емент.
2.4 Исклю чен ие Га усса – Ж о рда н а Ал гор итм искл ю чения Г аусса – Ж ор дана п о стол бцам анал огичен гауссову искл ю чению п о стол бцам; гл авноеотл ичиесостоит втом, что п ер ед k-м ш агом матр ица A(k) имеет нул евы е эл ементы в стол бцах от п ер вого до kго как ниже, так ивы ш е диагонал и. Ш аг с номер ом k ал гор итма состоит в искл ю ченииненул евы х эл ементов k-го стол бцаматр ицы A(k), р асп ол оженны х как вы ш е, так иниже диагонал и. С начал а нор мир уется k-я стр ока, дл я чего все ее эл ементы дел я тся на диагонал ь ны й эл емент, нах одя щ ий ся в п оз иции (k, k). Затем нор мир ованная k-я стр окаумножается нап одх одя щ иескал я р ы и вы читается из всех стр ок, имею щ их ненул евы е эл ементы в k-м стол бце как вы ш е, так и ниже диагонал и. Т аким обр аз ом, п ол учается матр ица A(k+1) с нул я ми во внедиагонал ь ны х п оз иция х п ер вы х k стол бцов. О п исанны й п р оцессп р одол жается до тех п ор , п ока в р ез ул ь тате вы п ол нения п осл еднего ш аганеп ол учится единичная матр ицаA(n+1) ≡ I. И скл ю чение Г аусса – Ж ор дана может также п р оизводить ся п о стр окам. С тол бцовая вер сия исп ол ь з ует сл ожение k-й стр оки, умноженной на
15
некотор ы е числ а, со всеми остал ь ны ми стр оками дл я того, чтобы уничтожить ненул евы е внедиагонал ь ны е эл ементы k-го стол бца. Концеп туал ь но этот п р оцесс можно п онимать как констр уир ование новы х ур авнений , я вл я ю щ их ся л иней ны ми комбинация ми исх одны х . С др угой стор оны , п р и искл ю чении Г аусса – Ж ор дана п о стр окам k-й стол бец, умноженны й на некотор ы е числ а, скл ады вается со всеми остал ь ны ми стол бцами таким обр аз ом, что внедиагонал ь ны е эл ементы k-й стр оки становя тся нул евы ми. Э тот п р оцесс можно тр актовать как констр уир ование новы х неизвестны х , котор ы е я вл я ю тся л иней ны микомбинация миисх одны х иудовл етвор я ю т л иней ны м ур авнения м, некотор ы е коэф ф ициенты котор ы х нул евы е.
2.5 Ош ибки о круглен ия в мет о де Га усса Е сл ичисл о с п л аваю щ ей з ап я той з ап исы вается в п амя ть комп ь ю тер а, то сох р аня ется л иш ь некотор ое ф иксир ованное кол ичество его стар ш их з начащ их циф р . Когда над числ ами a и b, х р аня щ имися в п амя ти комп ь ю тер а, вы п ол ня ется какая -то оп ер ация , п ол ученны й р ез ул ь тат п ер ед з ап ись ю в я чей ку п амя ти необх одимо п р едвар ител ь но п одвер гнуть окр угл ению ил и усечению . Д л я указ анного тип а ош ибок гр аницы обы чно устанавл иваю тся сл едую щ им обр аз ом: f1(aΒb)=(aΒb)(1 + ε),
(5)
где символ Β обоз начает одну из эл ементар ны х оп ер аций , чер ез (aΒb) обоз начен точны й р ез ул ь тат оп ер ации, f1(aΒb) обоз начает р ез ул ь тат, п ол ученны й п осл е вы п ол нения оп ер ации с п л аваю щ ей з ап я той и п осл едую щ его усечения ил и окр угл ения , и |ε| ≤ εМ , где εМ – маш инная точность . П р и вы читании из числ а а п р оизведения двух др угих чисел l и u с исп ол ь з ованием ар иф метикисп л аваю щ ей з ап я той п ол учается вел ичина b=f1(a - lu),
(6)
где a, l и u – точны е з начения , х р аня щ иеся в п амя ти комп ь ю тер а, а b – вы числ енноез начение. О ш ибкае оп р едел я ется соотнош ением b=a – lu + е,
(7)
где п р едп ол агается , что оп ер ации над числ ами, х р аня щ имися в п амя ти комп ь ю тер а, вы п ол ня ю тся точно. П р едп ол агается , что вел ичины a и b огр аничены : |a|, |b| ≤ αМ . (8)
16
И з соотнош ений (5) и(6) п ол учаем где
b=(a– lu(1+ε1))(1+ε2),
(9)
|ε1|, |ε2| ≤ εМ . (10) Так как нал ичие гр аниц дл я l и u не п р едп ол агается , мы искл ю чаем п р оизведениеlu из ур авнения (7) п р ип омощ исоотнош ения (9), ивы р ажаем е из п ол ученного соотнош ения : ε 1 − a 1 . е = b1 − 1 + ε1 (1 + ε 1 )(1 + ε 2 )
И сп ол ь з уя гр аницы дл я a иb, з аданны енер авенством (8), п ол учаем ε 1 e ≤ α M 1 − + 1 (1 + ε 1 )(1 + ε 2 ) 1 + ε 1
.
У читы вая гр аницы дл я ε1 и ε2, оп р едел я емы е нер авенствами (10), и п р едп ол агая , что εМ < 1, мы п ол учаем п осл е некотор ы х п р еобр аз ований оценку e ≤ αMεM
1 1− εM
1 + 2 . 1− εM
Рассмотр им эл емент аij матр ицы А, над котор ой п р оизводится ш аг гауссова искл ю чения п о стол бцам с вы бор ом гл авны х эл ементов неп оср едственно вдол ь диагонал и. Ал гор итм искл ю чения п о стол бцам вз я т в качестве п р имер а, изл агаемы е ниже методы и р ез ул ь таты сох р аня ю т сил у такжедл я искл ю чения п о стр окам. П одр аз умевается , что эл емент aij(k ) каждой из р едуцир ованны х матр иц A(k), гдеA(1)≡A, х р анится в одной итой жея чей ке п амя ти. Н аk-м ш аге, гдеk<min(i,j), мы дел им k-ю стр оку нагл авны й эл емент (k ) akk(k ) из ап оминаем вел ичину u kj ≡ akj( k +1) = a kj( k ) / a kk на месте, где бы л з ап исан эл емент a kj(k ) . О п ер ация , вы п ол ня емая надэл ементом aij(k ) на k-м ш аге, п р и исп ол ь з ованииар иф метикисп л аваю щ ей з ап я той з ап исы вается в сл едую щ ем виде: aij( k +1) = aij( k ) − lik u kj + eij( k ) ,
(11)
где lik = aik(k ) п р и i ≥ k. Рез ул ь таты , п ол ученны е вы ш е, п оз вол я ю т оценить ош ибку eij(k ) , воз никш ую ввы числ ения х сп л аваю щ ей з ап я той .
17
О п р едел им дл я
этого вел ичины aij( k ) ≤ α ij
α ij = max k aij( k ) , так что
(12)
п р и k ≤ min(i, j). В частности, дл я k = 1 эти оценки сп р аведл ивы дл я эл ементов исх одной матр ицы A ≡ A(1). О ценка (12) оп р едел я ет гр аницы тол ь ко дл я эл ементовматр ицы L, но недл я эл ементовU. Ф актически, есл и i ≥ j = k, то lik = aik(k ) в сил у (4') из начение |lik| огр аничено вел ичиной αik. С др угой стор оны , есл и k = i < j, то u kj = akj( k ) / lkk , ип оэтому п р оизведение|lkkukj| огр аничено вел ичиной αkj, однако дл я вел ичины ukj, котор ая может бы ть вел ика, гр аницу п ол учить неудается . Е сл инекотор ы й эл емент матр ицы A р авен нул ю , ип оз иция , в котор ой он р асп ол ожен, не п одвер гается з ап ол нению в п р оцессе искл ю чения , то соответствую щ ие эл ементы матр ицы L ил и U, р асп ол оженны е в той же п оз иции, будут в точностир авны нул ю . Бол ее того, надэтим эл ементом не п р оизводится никаких ар иф метических оп ер аций , и соответственно не воз никаю т п огр еш ности, оп р едел я емы еур авнением (11). М ы будем отл ичать этот сл учай от др угого сл учая , когда какой -л ибо эл емент матр иц L ил иU становится р авны м нул ю в р ез ул ь тате сл учай ного вз аимного уничтожения обр аз ую щ их его сл агаемы х , вэтом сл учаеп огр еш ность п р исутствует, так как в соответствую щ ей п оз иции п р оисх одил о з ап ол нение. Такой эл емент матр ицы будет р ассматр ивать ся как ненул евой . С л учай ное вз аимное уничтожение п р оисх одит р едко (з а искл ю чением сп ециф ических сл учаев), и вр я д л и стоит п ы тать ся я вно учиты вать его. Таким обр аз ом, ненул евы м считается эл емент, отл ичны й от нул я л ибо р авны й нул ю в р ез ул ь тате вз аимного уничтожения , в то вр емя как нул евы м считается тот эл емент, котор ы й с самого начал а бы л р авен нул ю и котор ы й не п одвер гал ся дей ствию з ап ол нения . Заметим, что есл их отя бы одно из з начений lik ил иukj р авно нул ю , то ур авнение (11) не оп р едел я ет никакого изменения эл емента aij(k ) , и, таким обр аз ом, eij( k ) = 0 . (13) У р авнение (11) вы р ажает точное соотнош ение между вы числ енны ми вел ичинами, оно не отр ажает вл ия ния общ ей ош ибки, доп ущ енной п р и вы числ ении aij( k +1) . Д ей ствител ь но, дл я того чтобы оценить общ ую ош ибку, необх одимо бы л о бы учесть ош ибки, доп ущ енны е п р ивы числ ениивел ичин aij(k ) , lik и ukj. О ш ибка eij(k ) , дл я котор ой вы ш е бы л и установл ены гр аницы , я вл я ется нечем ины м, как р аз ность ю между вы числ енны м з начением aij( k +1) и тем з начением aij( k +1) , котор ое бы л о бы п ол учено, есл ибы над вел ичинами aij(k ) , lik иukj вы п ол ня л ись точны еар иф метическиеоп ер ации.
18
В ажное свой ство р аз р еженного искл ю чения оп исы вается соотнош ением (13), котор ое указ ы вает на то, что мал ое числ о оп ер аций , п р оизводимое над кажды м эл ементом, п р иводит к не стол ь уж бол ь ш ому накоп л ению ош ибки. И менно это свой ство дел ает воз можны м р еш ениеочень бол ь ш их р аз р еженны х систем п р я мы ми методами без чр ез мер ного р оста ош ибок окр угл ения . Д л я того чтобы осущ ествить систематический анал из указ анногосвой ства, оп р едел им матр ицу с цел очисл енны миэл ементамиnij: m
nij = ∑ nij( k ) ,
(14)
k =1
где nij( k ) = 1 , есл ииlik, иukj отл ичны от нул я ; nij( k ) = 0 , вп р отивном сл учае; m = min(i, j). Кажды й р аз , когда на k-м ш аге п р оизведение likukj вы числ я ется из атем вы читается из эл емента, р асп ол оженного в п оз иции(i, j), к этому эл ементу п р ибавл я ется ош ибка eij(k ) . Е сл и j > i, то (i, j)-й эл емент изменя тся п осл едний р аз на i – 1-м ш аге, а на i-м ш аге этот эл емент дел ится на диагонал ь ны й эл емент lii из ап оминается вкачествез начения uij. Т аким обр аз ом, оп ер ации, вы п ол ненны енадэл ементом, дл я котор ого j > i, даю т сл едую щ ий р ез ул ь тат:
((a
ij
) )
− l i1u1 j + eij(1) − l i 2 u 2 j + eij( 2) − Κ − l i ,i −1u i −1, j + eij( i −1) / l ii (1 + ε ) = u ij ,
(15)
где множител ь (1 + ε) введен дл я того, чтобы учесть , согл асно соотнош ению (5), ош ибку, воз никаю щ ую п р и вы п ол нениидел ения на lii. У р авнение (15) можноп ер еп исать ввиде i −1
i
k =1
k =1
aij + ∑ eij( k ) = ∑ lik u kj − lii u ij
ε , 1+ ε
(16)
где в частном сл учае i = 1 суммир ование в л евой части оп ускается . О п р едел им матр ицу ош ибок E сэл ементамиeij сл едую щ им обр аз ом: i −1
eij = ∑ eij( k ) + lii u ij k =1
ε , 1+ ε
(17)
где j > i. Е сл и эл емент uij я вл я ется ненул евы м, то числ о вы читаемы х чл енов в ур авнении(15) р авно в точностиnij – 1 (так как lii ≠ 0 ип оэтому в ф ор мул е (14) nij( i ) = 1 ). С умма в ф ор мул е (17) ф актическисодер жит nij – 1 сл агаемы х . Е сл ижеэл емент uij р авен нул ю , то з ап ол нениенеп р оисх одит иnij( k ) = 0 п р иk < i; кр ометого, nij( i ) = 0 всил у uij = 0; таким обр аз ом, nij = 0. Рассмотр ение сл учая j ≤ i п р оводится анал огично. О п ер ации, вы п ол ненны енадэл ементом aij, п р иводя т к сл едую щ ему р ез ул ь тату: aij − li1u1 j + eij(1) − li 2 u 2 j + eij( 2 ) − Κ − l i , j −1u j −1, j + eij( j −1) = lij . (18)
19
У р авнение (18) вы р ажает тот ф акт, что в качестве з начения lij п р инимается р ез ул ь тат вы п ол нения п осл едовател ь ностиоп ер аций тип а (11). Д л я j ≤ i оп р едел им j −1
eij = ∑ eij( k ) .
(19)
k =1
Е сл иэл емент lij ненул евой , то в сил у того, что ujj = 1 ≠ 0 и nij( j ) = 1 в (14), сумма в (19) содер жит nij – 1 чл енов. Е сл иже эл емент lij р авен нул ю , то в р ассматр иваемой п оз ицииз ап ол нения неп р оисх одит, так что nij = 0 иeij = 0. Н аконец, п одставл я я (17) в(16) и(19) в(18), можноз ап исать LU=A+E.
(20)
Рассмотр им невя з ку r = Ax – b дл я р еш ения x системы (1), вы числ енного с исп ол ь з ованием ар иф метикис п л аваю щ ей з ап я той . И з ур авнений (20), (*) и(**) п ол учаем r = - Ex + Lδ ω + δ b. В з я в1-нор му ил и4-нор му, имеем оценку ||r|| ≤ ||E|| ||x|| + ||L|| ||δ ω || + ||δ b||. П ол ожим ω Mi = max k ω i( k ) , так что ω i( k ) ≤ ω Mi ;1 ≤ i ≤ n;1 ≤ k ≤ n.
В частности, дл я k = i п ол учаем ω i(i ) = xi , так что |xi| ≤ ω Mi. П усть также ω M р авно наибол ь ш ему из чисел ω Mi, т.е. ω i( k ) ≤ ω M ; i = 1,2,..., n; k ≥ i.
(20')
И з (20') п ол учаем сл едую щ иегр аницы дл я нор м вектор аx: x 1 ≤ nω M , x
∞
≤ ωM .
М ожно дать др угую интер п р етацию вектор а невя з киr. П усть ~x – точное р еш ениесистемы (1), тогда A~x = b и r = A(x − ~ x ).
20
С л едовател ь но, x−~ x = A −1r ≤ A −1 r ,
и есл и доступ на оценка дл я нор мы ||А-1||, то можно най ти гр аницу нор мы п огр еш ностир еш ения x − ~x .
2.6 Числен н а я уст о йчиво ст ь и вы бо р гла вн ы х элемен т о в И ссл едуем теп ер ь наибол ее р асп р остр аненны е стр атегии вы бор а гл авного эл емента с точки з р ения числ енной устой чивости. Ак т ивная по дмат рицанаk-м ш агевкл ю чает в себя всеэл ементы aij(k ) , дл я котор ы х i ≥ k, j ≥ k. Э л ементы активной п одматр ицы будем наз ы вать ак т ивными элемент ами. Д л я изл ожения нам п отр ебую тся сл едую щ ие четы р е п одмножестваэл ементовактивной п одматр ицы : Spc – п одмножество, состоя щ ее из тех ненул евы х эл ементов активной п одматр ицы , ср еди котор ы х осущ ествл я ется п оиск. Э то п одмножество оп р едел я ется с цел ь ю сокр ащ ения объема п оиска п р и вы бор е гл авного эл емента, что п р иводит к умень ш ению тр удоемкостивы бор а; Sst – п одмножество эл ементов из Spc, удовл етвор я ю щ их некотор ому усл овию устой чивости; Ssp – п одмножество эл ементов из Spc, удовл етвор я ю щ их некотор ому кр итер ию сох р анения р аз р еженности; Spiv = Sst 1 Ssp – множество, из котор ого вы бир ается гл авны й эл емент. Э л ементы этого множество удовл етвор я ю т как тр ебования м сох р анения р аз р еженности, так иусл овия м устой чивости. О п р едел ения множествSst иSsp необя з аны бы ть нез ависимы ми. И ногдаSst оп р едел я ется как п одмножество Ssp, ил и наобор от. Г л авны й эл емент вы бир ается из множества Spiv. Е сл иэто множество содер жит бол ее одного эл емента, вновь п р инимаю тся во вниманиесообр ажения р аз р еженности, ина их основеп р оизводится окончател ь ны й вы бор . Т аким обр аз ом, тр удоемкость п онижается настол ь ко, наскол ь ко это воз можно, з а счет ул учш ения р аз р еженности, в то вр емя как усл овия устой чивости п о-п р ежнему удовл етвор я ю тся . Е сл ина некотор ом этап е оказ ы вается , что множество Spiv п усто, то тр ебования р аз р еженности осл абл я ю тся , и множество Ssp п ер еоп р едел я ется . В ы бр анны й кр итер ий устой чивости не дол жен бы ть сл иш ком жестким стем, чтобы множество Sst бы л о достаточно ш ир оким. Н а п р актике я вное оп р едел ение указ анны х четы р ех множеств обы чно не п р оизводится , так как оказ ы вается воз можны м исп ол ь з ование уп р ощ енны х п р оцедур . П р ипо лно м выбо ре главно го элементамножество Spc наk-м ш агесостоит из всех ненул евы х эл ементов активной п одматр ицы . Н енул евой эл емент, имею щ ий наибол ь ш ую абсол ю тную вел ичину, скажем aij(k ) , вы бир ается в качестве k-го гл авного эл емента и п ер емещ ается в п оз ицию (k, k) п утем п ер естановкиi-й иk-й стр ок и j-го иk-го стол бцов. М ножество Sst состоит из
21
единственного эл емента a , и множество Ssp обя з ател ь но дол жно содер жать этот эл емент. В сл учае п ол ного вы бор а гл авного эл емента р ост эл ементовматр ицогр аничен сл едую щ им обр аз ом (k ) ij
(
aij( k −1) ≤ k 1 / 2 2131 / 2 Κ k 1 /( k −1)
)
1/ 2
a 0 < 2k (ln k + 2 ) / 4 a 0 ,
где a0 = max|aij|. И стинная вер х ня я гр аница намного мень ш е. У каз анная стр атегия гар антир ует тесны е гр аницы дл я вел ичин aij в (12), но не я вл я ется удовл етвор ител ь ной с точкиз р ения сох р анения р аз р еженности, так как не дает никакой свободы дл я уп р авл ения степ ень ю з ап ол нения . П ол ны й вы бор гл авного эл емента р екомендуется п р именя ть л иш ь дл я п л отны х матр иц небол ь ш ого р аз мер а, когда гл авной цел ь ю я вл я ется достижение наил учш ей числ енной устой чивости. Ч астичный выбо р главно го элемент а з акл ю чается в оты скании наибол ь ш его п о модул ю эл емента в каком-л ибо стол бце (ил и стр оке) активной п одматр ицы с п осл едую щ им вы п ол нением соответствую щ их п ер естановок. Л иния вы бор агл авного эл емента(п одл инией п одр аз умевается стр ока ил и стол бец) оп р едел я ется из сообр ажений сох р анения р аз р еженности. Таким обр аз ом, множество Spc содер жит все активны е ненул евы еэл ементы , так как дл я оты скания л иниивы бор агл авного эл емента нужно п р оизвести п р осмотр всей активной п одматр ицы . М ножество Ssp содер жит в точности все ненул евы е эл ементы л инии вы бор а гл авного эл емента. М ножество Sst в этом сл учае я вл я ется п одмножеством Ssp: оно содер жит наибол ь ш ие п о модул ю эл ементы из Ssp. М ножество Spiv совп адает с Sst. И з ур авнения (11) (п р енебр егая вел ичиной eij(k ) ) можно вы вести сл едую щ ую оценку, сп р аведл ивую , есл и исп ол ь з уется частичны й вы бор гл авногоэл емента: aij( k +1) ≤ 2 max aij( k ) . i, j
Э таоценкагар антир ует, что накаждом ш агеэл ементы могут увел ичить ся не бол ее чем в два р аз а, и, таким обр аз ом, в итоге увел ичение п р оизой дет не бол ее чем в 2ν р аз , где ν = max(nij) – 1 – максимал ь ное числ о оп ер аций , вы п ол ненны х над кажды м отдел ь но вз я ты м эл ементом. О днако дей ствител ь ны й р ост эл ементов оказ ы вается , как п р авил о, гор аз до бол ее медл енны м, и есл итр ебуется п ол учить бол ее точны е гр аницы ош ибок, то необх одимо осущ ествл я ть контр ол ь вел ичины эл ементов матр иц ил и исп ол ь з овать х ор ош ий сп особ оценкивел ичины эл ементов. Частичны й вы бор гл авного эл емента п оз вол я ет исп ол ь з овать некотор ы е п р еимущ ествар аз р еженного сл учая , однако воз можностиэтой сх емы все же сл иш ком огр аничены . Без сущ ественного ух удш ения р ез ул ь татов удается п ол учить бол ее гибкую сх ему, есл и исп ол ь з овать страт егию по ро го во го выбо ра главно го элемента. В этой стр атегии все ненул евы е эл ементы активной п одматр ицы вкл ю чаю тся в множество Spc. В ы бир ается п ар аметр доп устимостиu, л ежащ ий в п ол уинтер вал е 0 < u ≤ 1, иSst оп р едел я ется как
22
множество всех эл ементов a сл едую щ их усл овий :
(k ) ij
из Spc, удовл етвор я ю щ их
одному
из
aij( k ) ≥ u max a (pjk ) ,
(21а)
aij( k ) ≥ u max aiq( k ) .
(21б)
k ≤ p≤n
k ≤q ≤n
М ножество Ssp оп р едел я ется нез ависимо, обы чно на основе какого-л ибо вар ианта кр итер ия М ар ковица. О кончател ь ны й вы бор гл авного эл емента п р оизводится из множества Spiv = Sst 1 Ssp, п р ичем оп я ть п р ивл екаю тся сообр ажения сох р анения р аз р еженности. Затем вы бр анны й эл емент п ер емещ ается в п оз ицию (k, k) п р ип омощ ип ер естановок. Е сл имножество Spiv оказ ы вается п усты м, то Sst дол жно бы ть р асш ир ено п оср едством умень ш ения з начения u. Н а п р актике, однако, р аботу этой п р оцедур ы ор ганизую т др угим сп особом. С начал а вы бир ается эл емент из Spc, наил учш ий с точки з р ения сох р анения р аз р еженности. Затем п р овер я ется , вы п ол ня ю тся л и усл овия (21) дл я этого эл емента. Е сл и усл овия (21) удовл етвор я ю тся , то вы бр анны й эл емент п р инимается вкачествегл авного. В п р отивном сл учае вы бир ается новы й эл емент исх одя из сообр ажений сох р анения р аз р еженности. О днако п осл едня я ситуация встр ечается ср авнител ь но р едко идоп ол нител ь ны й п оиск не вносит бол ь ш ого вкл ада в общ иез атр аты п р иусл овии, что вы бр ано р аз умноез начениеu. Значениеu=1 отвечает стр атегии частичного вы бор а гл авного эл емента. С читается , что конкр етны й вы бор u не я вл я ется очень кр итичны м, иобы чно р екомендуется вы бир ать з начение u = 0.25. Значение u = 0.1 п оз вол я ет п ол учить х ор ош ее сох р анение как р аз р еженности, так иустой чивости, однако мал ы е з начения , нап р имер u=0.01, можно исп ол ь з овать в сл учае небол ь ш их з начений вел ичины ν = max(nij) – 1, встр ечаю щ их ся в з адачах л иней ного п р огр аммир ования . eij(k ) в ур авнении (11) и п р едп ол агая П р енебр егая вел ичиной сп р аведл ивость усл овий (21), п ол учаем оценку
(
)
aij( k +1) ≤ 1 + u −1 max aij( k ) , i, j
котор ая гар антир ует, что р ост эл ементов матр иц на каждом ш аге огр аничен множител ем (1 + u-1), иобщ ее увел ичение п р оисх одит не бол ее чем в (1 + u1 ν ) р аз . Д ей ствител ь ны й р ост эл ементов обы чно п р оисх одит намного медл еннее. П ор оговы й вы бор гл авного эл ементая вл я ется весь мап оп ул я р ной стр атегией иисп ол ь з уется вбол ь ш инствестандар тны х п р огр амм. Д ве др угие стр атегии вы бор а гл авного эл емента бы л и п р едл ожены Зл атевы м. Э тистр атегииз авися т от п ар аметр аустой чивости u, вы бир аемого в п р едел ах 01. Ребр о (v → ω ) я вл я ется выхо до м ил ионо исх одит из сил ь ной комп оненты C=(Vc,Ec), есл иv0Vc, аω ⌠Vc. Ребр о(v → ω ) есть вхо д
26
(ил ижеоно з ах одит в C), есл и v⌠Vc, аω 0Vc. Т ак как сил ь ная комп онента– это частичны й гр аф , то вх оды ивы х оды не п р инадл ежат никакой сил ь ной комп оненте. Е сл и G доп ускает р аз биение, то дол жна сущ ествовать х отя бы одна сил ь ная комп онента, не имею щ ая вы х одов. Д ей ствител ь но, есл ибы каждая комп онента имел а вы х од, то мы смогл и бы п р осл едить п уть от одной комп оненты к др угой , з атем к тр еть ей ит.д., п ока, наконец, не достигл ибы одной из комп онент, где уже бы л и п р ежде. Ц икл , п ол ученны й таким обр аз ом, п р отивор ечит оп р едел ению сил ь ны х комп онент. В общ ем сл учае может сущ ествовать нескол ь ко комп онент без вы х одов. Будем говор ить , что всесил ь ны екомп оненты без вы х одовп р инадл ежат ур овню 1. П р одол жая р ассуждать п одобны м обр аз ом, мы можем з акл ю чить , что ср едиоставш их ся сил ь ны х комп онент G дол жна сущ ествовать х отя бы одна такая , что каждое исх одя щ ие из нее р ебр о з ах одит в некотор ую комп оненту ур овня 1. В ообщ е говор я , таких комп онент может бы ть нескол ь ко, и мы будем говор ить , что все онип р инадл ежат ур овню 2. С р едикомп онент G, не вх одя щ их ни в ур овень 1, ни в ур овень 2, дол жна бы ть х отя бы одна, из котор ой все вы х оды ведут в ур овни1 и2. П о кр ай ней мер е, один из этих вы х одов дол жен з ах одить в ур овень 2, иначе комп онента п р инадл ежал а бы ур овню 2, ап о наш ему п р едп ол ожению , это нетак. Н аз ванная комп онентаи, есл и най дутся , все др угие с теми же свой ствами обр аз ую т ур овень 3. Заметим, что у комп онент ур овня 3 могут отсутствовать вы х оды , ведущ ие в ур овень 1. Е сл и п р одол жить оп исанную п р оцедур у, то будет п ол учена ст рук т урауро внейсвязно ст и, где: L1 = {Ci | Ci неимеет вы х одов}, Ll = {Ci | есл и(u → v) – вы х одиз Ci иv0Cj, тоCj0Ll', гдеl' < l}, l = 2, 3, … , m. О п р едел ение п одр аз умевает, что л ю бая сил ь ная комп онента ур овня l > 1 дол жнаиметь , п о мень ш ей мер е, один вы х од, ведущ ий в ур овень l – 1. Числ о m наз ы вается длино й разбиения. С тр уктур а ур овней свя з ности ор гр аф а единственна. Будем говор ить , что вер ш ина v гр аф а G нах одится в ур овне l ил и что У р овень (v)=l, есл и v п р инадл ежит сил ь ной комп оненте ур овня l. Е сл и(v → ω ) – р ебр о ор гр аф а, то У р овень (v) = У р овень (ω ) тогда итол ь ко тогда, когда v и ω п р инадл ежат одной и той же сил ь ной комп оненте, в п р отивном сл учае, У р овень (ω ) < У р овень (v). С ил ь ная комп онента ур овня l может бы ть достигнутатол ь ко р ебр ами, исх одя щ имииз ур овней l + 1, … , m, однако может сл учить ся , что сил ь ная комп онентанеимеет вх одов, дажеесл и ееур овень l < m. Д р угую стр уктур у ур овней свя з ности можно оп р едел ить , п омещ ая в ур овень 1 все комп оненты , не имею щ ие вх одов, и п р одол жая вы ш еоп исанны й п р оцесссз аменой сл ова«вы х од» насл ово «вх од». Г овор я т, что двестр уктур ы ур овней я вл я ю тся двой ственны ми. О р гр аф наз ы вается ацик лическ им, есл и он не имеет цикл ов: есл и п уть начинается в п р оизвол ь ной вер ш ине v, он никогда в v не вер нется . Э то з начит, что каждая вер ш ина ацикл ического ор гр аф а п р едставл я ет собой сил ь ную комп оненту. П оэтому числ о сил ь ны х комп онент ацикл ического
27
ор гр аф а р авно числ у его вер ш ин, х отя бы одна из вер ш ин имеет нул евую п ол устеп ень исх ода и, п о кр ай ней мер е, у одной вер ш ины п ол устеп ень з ах одар авнанул ю . Раз биение п р оизвол ь ного ор гр аф а на сил ь ны е комп оненты удобно изобр ажать п оср едством соответствую щ его ф актор гр аф а ил и конденсации, вер ш инамикотор ого я вл я ю тся сил ь ны екомп оненты . Ко нденсация о рграфа– это ацикл ический ор гр аф , котор ы й , как ився кий ацикл ический ор гр аф , имеет х отя бы одну вер ш ину с нул евой п ол устеп ень ю исх ода, т.е. х отя бы одну сил ь ную комп оненту без вы х одов. П усть теп ер ь G – ор гр аф , ассоциир ованны й с несимметр ичной матр ицей A. Раз обь ем G на сил ь ны е комп оненты ип остр оим стр уктур у ур овней , как оп исано вы ш е. П усть вер ш ины G уп ор я дочены , иуп ор я дочение совместимо с р аз биением на комп оненты и монотонно относител ь но ур овней , т.е. все вер ш ины каждой комп оненты нумер ую тся п осл едовател ь ны мичисл амиивсе комп оненты каждого ур овня l, l = 1, 2, … , m – 1, нумер ую тся р ань ш е л ю бой комп оненты ур овня l' > l. Т огда соответствую щ ая симметр ично п ер еуп ор я доченная матр ица будет бл очной нижней тр еугол ь ной . Каждой сил ь ной комп онентесni вер ш инамиотвечает квадр атны й диагонал ь ны й бл ок п ор я дка ni, внедиагонал ь ны е бл окисоответствую т свя з я м между сил ь ны ми комп онентами.
3.2 Исследо ва н ие ст ра т егий для н есиммет ричн ы х ра зреж ен н ы х ма т риц 3.2.1 По иск в глубин у н а о ргра ф е П оиск в гл убину – это п р оцедур а обх ода вер ш ин и р ебер гр аф а: начинаю т с п р оизвол ь ной вер ш ины s1 и п ы таю тся п о воз можности п р идер живать ся п осл едовател ь ностивер ш ина– р ебр о – вер ш ина– р ебр о … , есл и в текущ ей вер ш ине бол ь ш е нет неиссл едованны х р ебер , то воз вр ащ аю тся к п р еды дущ ей вер ш ине. Рассмотр им стр уктур ы , п ол учаемы е п р ивы п ол нениип оискавгл убину наор гр аф е, гдеф иксир овано нап р авл ение, в котор ом можно иссл едовать каждое р ебр о. П р едп ол ожим, что вся кая вер ш ина содер жит п етл ю . П усть v – текущ ая вер ш ина. М ы вош л ив v л ибо вп ер вы е (итогда v – п осл едня я п осещ енная вер ш ина), л ибо п овтор но п р и воз вр ащ ении. П усть иссл едуется р ебр о (v → ω ), п р ичем ω не п осещ ал ась п р ежде. Т огда ω становится текущ ей вер ш иной , а р ебр о (v → ω ) квал иф ицир уется как др евесное. Е сл исох р аня ть тол ь ко др евесны е р ебр а и п р енебр егать всеми остал ь ны ми, то будет п ол учено дер ево с кор нем в начал ь ной вер ш ине s1. П оскол ь ку р ебр а ор иентир ованы , то п р одол жение п оиска может оказ ать ся невоз можны м ещ е до того, как п осещ ены все вер ш ины . Т ак з аведомо п р оизой дет, есл и, нап р имер , s1 п р инадл ежит сил ь ной комп оненте C, не имею щ ей вы х ода: ииссл едование р ебер , ивоз вр ащ ение будут всегдап р иводить к вер ш инам из C, идер ево скор нем s1 будет точны м остовом C.
28
В бол ее общ ем сл учае п р и п р оизвол ь ном вы бор е s1 будет п ол учено дер ево с кор нем s1, остовное л иш ь дл я некотор ы х сил ь ны х комп онент гр аф а. Тогда п оиск воз обновл я ется из новой начал ь ной вер ш ины s2, котор ая п ока что не п осещ ал ась и, сл едовател ь но, не п р инадл ежит никакой из сил ь ны х комп онент, натя нуты х на п ер вое дер ево. С нова п р енебр егая вся ким недр евесны м р ебр ом, п остр оим втор оедер ево скор нем в s2, остовноедл я новой гр уп п ы сил ь ны х комп онент. П р оцедур ап р одол жается , п ока не будут п осещ ены все вер ш ины . Рез ул ь татом будет семей ство несвя з ны х дер евь ев, наз ы ваемое о сто вным лесо м, котор ое содер жит все вер ш ины ор гр аф а ир ебр а, квал иф ицир ованны е как др евесны е. Кр оме того, п р ип оискенумер ую тся уз л ы в том п ор я дке, вкаком онип осещ аю тся . Будем обоз начать чер ез Н омер (v) номер , п р ип исанны й вер ш ине v в х оде п оиска. В тех нол огии р аз р еженны х матр иц это уп ор я дочение и соответствие между дер евь я ми л еса и сил ь ны ми комп онентами исп ол ь з ую тся ал гор итмами, п р иводя щ имиматр ицу к бл очной нижней тр еугол ь ной ф ор ме. И ссл едуем бол ее детал ь но свя з ь между дер евь я миинатя нуты мина них сил ь ны микомп онентами. П усть s – начал ь ная вер ш ина, T – дер ево с кор нем s, п остр оенноеп оср едством п оискавгл убину. П окажем, что T можнор аз бить нанесвя з анны еп оддер евь я , каждоеиз котор ы х сл ужит остовом р овно одной сил ь ной комп оненты . П усть C = (Vc, Ec) – одна из сил ь ны х комп онент, натя нуты х на T, и п усть Tc – наимень ш ее п оддер ево T, содер жащ ее все вер ш ины C. П усть v0Vc – кор ень Tc. Л егко п оказ ать , что дер еву Tc п р инадл ежит тол ь ко вер ш ины из C. Д ей ствител ь но, п р едп ол ожим, что ω ⌠Vc – вер ш ина Tc. В ер ш ина ω не я вл я ется кор нем Tc, не может она бы ть и конечной вер ш иной , так как п о п р едп ол ожению Tc – наимень ш ееп оддер ево, содер жащ ее все вер ш ины C. Т огда v – п р едок дл я ω , и ω дол жна иметь п отомка(скажем, x) вC. В Tc имеется п уть из v вx, содер жащ ий ω , п оскол ь ку C – сил ь ная комп онента, то в C сущ ествует п уть из x в v. О бап утиобр аз ую т цикл , котор ому п р инадл ежит ω , но тогда ω дол жна бы ть вер ш иной C воп р екинаш ему п р едп ол ожению . Таким обр аз ом, T можно р аз бить на несвя з ны е п оддер евь я , каждое из котор ы х остовноер овно дл я одной сил ь ной комп оненты . Кор ень п оддер ева– это п ер вая вер ш ина соответствую щ ей комп оненты , п осещ аемая в х оде п оиска. О н наз ы вается к о рнем сильно й к о мпо нент ы. В частности, начал ь ная вер ш ина s я вл я ется кор нем той сил ь ной комп оненты , котор ой п р инадл ежит. С л едовател ь но, з адача оты скания сил ь ны х комп онент ор гр аф а сводится к з адаче оты скания кор ней п оддер евь ев. Будем говор ить , что п оддер ево относится к ур овню l, есл исоответствую щ ая комп онентанах одится в ур овне l стр уктур ы ур овней свя з ностиданногоор гр аф а. И ссл едуем соотнош ения между недр евесны мир ебр ами, с одной стор оны , и дер евь я мил еса и сил ь ны ми комп онентами ор гр аф а – с др угой . Э то будет сдел ано сучетом сл едую щ их сущ ественны х свой ствп оискавгл убину. П усть Т – одно из дер евь ев л еса, v – п р оизвол ь ная вер ш ина T, Tv – п оддер ево с кор нем v, содер жащ ееv ивсех ееп отомков в T. Т огдаv – п ер вая вер ш инаTv, п осещ аемая п р ип оиске, п оэтому онаимеет наимень ш ий номер в Tv: есл иω –
29
п отомок v, то Н омер (v) Н омер (v), а р ебр о (v → ω ) наз ы вается лишним древесным ребро м. Л иш нее др евесное р ебр о соединя ет две вер ш ины , уже свя з анны е п утем из др евесны х р ебер . С л едовател ь но, оно не п омогает п оиску сил ь ны х комп онент, иесл инаш ацел ь состоит именно в этом, им можноп р енебр ечь . (3) ω – ни п отомок, ни п р едок дл я v. Ребр о (v → ω ) наз ы вается по перечным. Рассмотр им п оддер евоTv скор нем v, содер жащ еевсеп отомство v. В х одеп оиска, п осл еп р их одав v, п осещ аю тся инумер ую тся всевер ш ины Tv итол ь ко они, п окаTv небудет п окинуто воз вр ащ ением чер ез v. В ер ш инаω не п р инадл ежит Tv, но номер ей бы л п р исвоен р ань ш е, чем v стал а текущ ей вер ш иной . Э то з начит, что ω п ол учил а номер ещ е до того, как мы вп ер вы е вош л и в v, сл едовател ь но, Н омер (ω ) i + 1, то вер ш ина ур овня Li ивер ш ина ур овня Lj не могут бы ть соединены . Г р аф Gs =(Vs, Es), где Es – множество др евесны х р ебер , п р едставл я ет собой дер ево с кор нем s, остовное дл я п одстр уктур ы . Е сл ип о з авер ш енииочер едного дер ева п р одол жать п оиск, начиная с новой ,
31
не п осещ авш ей ся до сих п ор вер ш ины , итак до тех п ор , п ока не будут исчер п аны все вер ш ины G, то, в конечном счете, будут п ол учены джунгл ииостовной л ес. Д л я п одстр уктур ы ур овней скор нем вs имеет место сл едую щ еесвой ство: есл иv0Li, то р асстоя ние в G от s до v (т.е. дл ина кр атчай ш его п утииз s в v) р авно i. Кр оме того, в остовном дер еве сущ ествует р овно один кр атчай ш ий п уть дл ины i, он составл ен из др евесны х р ебер . 3.2.3 От ы ска н ие ма ксима льн о го мн о ж ест ва пут ей с ра зличн ы ми верш ин а ми в а циклическо м о ргра ф е Рассмотр им з адачу, котор ая свя з ана с п р иведением р аз р еженной матр ицы общ его вида к бл очной нижней тр еугол ь ной ф ор ме п оср едством несимметр ичны х п ер естановок. Заданы ацикл ический ор гр аф G = (V, E) и двеего вер ш ины s, t0V, най тимаксимал ь ноемножество п утей из s в t таких , что ниодна вер ш ина, кр оме s иt, не п р инадл ежит бол ее чем одному п ути. Будем говор ить , что множество мак симально в смы сл е некотор ого свой ства, есл и дл я его эл ементов это свой ство вы п ол нено, и оно (множество) не вкл ю чается стр огим обр аз ом ни в какое др угое множество эл ементов, имею щ их данное свой ство. С др угой стор оны , наибо льшим будем наз ы вать множество снаибол ь ш им числ ом эл ементов. Д л я р еш ения обсуждаемой з адачи исп ол ь з уется п оиск в гл убину. Е сл и п оиск начинается с вер ш ины s исущ ествует х отя бы один п уть из s в t, то t п р инадл ежит дер еву с кор нем в s. П оэтому достаточно иссл едовать тол ь ко это дер ево. Ал гор итм п ол ь з уется стеком, где х р анится п осл едовател ь ность вер ш ин от s до текущ ей вер ш ины . Каждое р ебр о иссл едуется тол ь ко один р аз , и л ибо оно становится часть ю констр уир уемого п ути, л ибо не сущ ествует п утииз s в t, содер жащ его это р ебр о. Рассматр иваю тся тол ь ко р ебр а, ведущ ие к неп осещ авш имся вер ш инам, п отому что мы ищ ем п ути, у котор ы х кр оме концов s и t нет общ их вер ш ин. Т ак как воз можно, что ал гор итму п р идется иссл едовать нескол ь ко р ебер , ведущ их к t, п р инимается согл аш ение о том, что t не дол жна становить ся п осещ енной вер ш иной . Е сл и х од п оиска п р иведет к вер ш ине t, она оп ускается в стек, котор ы й в этом сл учае содер жит п ол ны й п уть из s в t. В север ш ины п однимаю тся из стекаи п ечатаю тся , з атем встек сноваоп ускается s, иначинается п оиск нового п ути. Ал гор итм з аканчивает р аботу, когда s п однимается из стека п осл е того, как бы л и иссл едованы все вы х оды из s. П усть Vv – множество п осещ енны х вер ш ин, Ee – множество иссл едованны х р ебер . П усть гр аф п р едставл ен своей стр уктур ой смежности. Т огда ал гор итм можно оп исать сл едую щ им обр аз ом: Ш аг 0 (И нициал изация ). П ол ожить Vv ← ι, Ee ← ι. Ш аг 1 (Н ачал о п ути). О п устить s встек. Ш аг 2 (П осещ ениевер ш ины ). П ол ожить v ← вер ш инанавер х у стека. Ш аг 3 (И ссл едованиер ебр а). Н ай тивсп искесмежностивер ш ины v р ебр о (v→ ω )⌠Ee, гдеω ⌠Vv. Тогда:
32
(3а) Е сл итакоер ебр о наш л ось и ω ≠ t, п ол ожить Vv ← Vv ″ {ω }, Ee← Ee″(v→ ω ), оп устить ω в стек и п ер ей ти к ш агу 2 дл я п р одол жения п оиска. (3б) Е сл итакое р ебр о наш л ось иω = t, п ол ожить Ee ← Ee ″ (v → ω ), оп устить ω встек ип ер ей тик ш агу 5 дл я сбор кип ути. (3в) Е сл и v не имеет неиссл едованны х вы х одов, ведущ их к неп осещ авш имся вер ш инам, п ер ей тик ш агу 4 дл я воз вр ащ ения . Ш аг 4 (В оз вр ащ ение). П одня ть стек на одну п оз ицию . Е сл истек п уст, то остановка. В п р отивном сл учаеп ер ей тик ш агу 2. Ш аг 5 (Ф ор мир ование п ути). П одня ть все содер жимое стека, нап ечатать п уть , аз атем п ер ей тик ш агу 1, чтобы начать новы й п уть . Ал гор итм тр ебует п амя тиивр емени O(|V|, |E|). 3.2.4 Алго рит м Хо лла Е сл иу з аданной n × n матр ицы A вседиагонал ь ны еэл ементы нер авны нул ю , то ей можно соп оставить ор гр аф . О днако есл ина гл авной диагонал и имею тся нул и, то вначал е п ер еставл я ю тся стр оки и стол бы с тем, чтобы п ол учить ненул евую диагонал ь . Н ай денная этим п утем п осл едовател ь ность ненул евы х эл ементов наз ы вается т рансверсалью . У невы р ожденной матр ицы A п ол ная тр ансвер сал ь всегда сущ ествует. О днако, п ол ную тр ансвер сал ь может иметь и вы р ожденная матр ица. Н аз овем струк т урно выро ж денно й матр ицу п ор я дка n, котор ую нел ь з я п ер еуп ор я дочить так, чтобы п ол учил ась п ол ная тр ансвер сал ь . Е сл и максимал ь ная воз можная тр ансвер сал ь имеет дл ину k < n, то k – это струк т урный ранг, а n – k — ст рук т урныйдефек т матр ицы . М аксимал ь ную тр ансвер сал ь матр ицы A можно най ти п оср едством ал гор итма Х ол л а. О п иш ем вар иант с п ер естановкамистр ок, котор ы й удобен дл я р аз р еженны х матр иц, х р анимы х в стр очном ф ор мате. Ал гор итм состоит из n ш агов. Ц ел ь k-го ш ага – п оместить ненул евой эл емент в k-ю п оз ицию диагонал и. П о з авер ш енииk ш агов в п ер вы х k п оз иция х гл авной диагонал и стоя т ненул евы е эл ементы . Теп ер ь на ш аге k + 1 имею тся сл едую щ ие воз можности: (а) Э л емент ak+1, k+1 ≠ 0, вэтом сл учаеш аг k + 1 з акончен. (б) С ущ ествует ненул евой эл емент, стр очны й и стол бцовы й индексы котор ого нах одя тся в п р едел ах от k + 1 до n. В таком сл учае п ер естановкой стр ок и/ил и стол бцов этот эл емент можно п ер евести в (k + 1)-ю диагонал ь ную п оз ицию . Квадр атная п одматр ица, р асп ол оженная на п ер есечении стр ок и стол бцов с номер ами 1, … , k, не меня ется п р и этих п ер естановках , и ненул евы е эл ементы в п ер вы х k п оз иция х диагонал и останутся насвоих местах . (в) Квадр атная п одматр ица, стоя щ ая на п ер есечении стр ок и стол бцов с номер ами k + 1, … , n, – нул евая . М ы можем все же надея ть ся оты скать комбинацию стр очны х п ер естановок, п омещ аю щ ую ненул евой эл емент в(k + 1)-ю диагонал ь ную п оз ицию . Чтобы най ти тр ебуемы е п ер естановки, п р осл едим вматр ицеувеличиваю щ ий пут ь. О н начинается сп оз иции(k + 1, k
33
+ 1), идет вдол ь стр оки k+1 до ненул евого эл емента, стоя щ его, скажем, встол бцеl (х отя бы один такой эл емент дол жен бы ть , иначестр окаk + 1 цел иком состоит из нул ей , и A – вы р ожденная матр ица), з атем вдол ь стол бца l до п оз иции(l, l), дал ее к внедиагонал ь ному ненул евому эл ементу стр окиl, р асп ол оженному, скажем, в стол бце m, ит.д. Д р угимисл ова, п уть п оп ер еменно п р ох одит чер ез диагонал ь ны й и внедиагонал ь ны й ненул евой эл ементы . П уть неможет дважды идтивдол ь какой -л ибо стр окиил истол бца из аканчивается наненул евом эл ементеп одматр ицы , обр аз ованной стр оками 1, … , k и стол бцами k + 1, … , n. В п амя ти комп ь ю тер а п уть может р егистр ир овать ся з ап ись ю номер ов диагонал ь ны х п оз иций в том п ор я дке, в каком они п осещ ал ись , т.е. k + 1, l, m, … . П оскол ь ку некотор ы е диагонал ь ны е п оз иции могл и бы ть п осещ ены , а вп осл едствии удал ены из п ути, нужно з авестиисп исок п осещ авш их ся п оз иций , чтобы не вой тив них снова. Рассмотр им соответствую щ ий п р имер . Чтобы п остр оить нужны й п уть , мы начинаем с п оз иции (k + 1, k + 1) и ищ ем в стр оке k + 1 ненул евой эл емент. Д л я невы р ожденной матр ицы A такой дол жен най тись , п отому что в п р отивном сл учае стр ока k + 1 цел иком состоя л а бы из нул ей . Е сл и ненул евой эл емент стоит в стол бце l, то мы п ер ех одим к стр оке l иищ ем в ней ненул евой эл емент в стол бах k+1, … , n. Е сл и такой имеется , то п уть з акончен. Е сл инет, то мы ищ ем в п ер вы х k п оз иция х стр окиl ненул евой эл емент, котор ы й бы стоя л в стол бце, р анее не п осещ авш емся , скажем, в стол бце m. Д ал ее мы п ер ех одим к стр оке m и п овтор я ем вы ш еоп исанны е оп ер ации, п ока п уть не будет з авер ш ен. Е сл ив некотор ой стр оке не удается най ти внедиагонал ь ны й ненул евой эл емент в неп осещ авш емся стол бце, то этастр окаудал я ется из п ути(но неиз сп искап осещ авш их ся п оз иций ), имы воз вр ащ аемся к п р еды дущ ей стр оке. Е сл и на некотор ом ш аге п осл е п осещ ения r п оз иций в п р едел ах от 1 до k наш п уть становится п усты м (т.е. мы вер нул ись к начал ь ному п ункту), это оз начает, что A вы р ождена: дей ствител ь но, мы наш л иr+1 стр ок (r п осещ авш их ся стр ок п л ю с стр ока k + 1), имею щ их ненул евы еэл ементы тол ь ко вr стол бцах . Как тол ь ко искомы й п уть п остр оен (скажем, k + 1, l1, l2, … , lr, гдеlr > k), мы п ер еставл я ем r + 1 стр ок и два стол бца, чтобы вы вести п осл едний най денны й ненул евой эл емент в п оз ицию (k + 1, k + 1). Н ужны такие п ер естановкистр ок: стр ока k + 1 становится стр окой l1, стр ока l1 становится стр окой l2, … , стр окаlr-1 становится стр окой k + 1. П оскол ь ку стр оки вы бир ал ись так, чтобы ненул евой эл емент стр оки li стоя л в п оз иции li+1, то п р и з амене стр оки li стр окой li+1 этот ненул евой эл емент п оп адает в диагонал ь ную п оз ицию (li+1, li+1). С л едовател ь но, п осл е стр очны х п ер естановок эл ементы в п ер вы х k п оз иция х диагонал иостанутся ненул евы ми. Кр оме того, п осл едний ненул евой эл емент п ути будет п ер еведен в п оз ицию (k +1, lr). П ер естановка стол бцов k + 1 иlr п ер емещ ает его в п оз ицию (k + 1, k + 1), чем (k+1)-й ш аг з авер ш ается . Е сл иlr = k + 1, то п ер естановкастол бцовненужна.
34
О тносител ь но эф ф ективности этого ал гор итма з аметим, что на каждом ш агекаждая стр окап р осматр ивается самоебол ь ш оедважды : п ер вы й р аз п р ип оиске ненул евого эл емента, стоя щ его п р авее п оз ицииk, втор ой р аз п р инеобх одимостинай тиненул евой эл емент в неп осещ авш емся стол бце с номер ом от 1 до k. П оэтому есл ив матр ице z ненул евы х эл ементов, то на ш аге k вы п ол ня ется O(z) оп ер аций , а в ал гор итме в цел ом O(nz) оп ер аций . Э та оценка достигается на сп ециал ь но сконстр уир ованны х п р имер ах , но на п р актикечисл ооп ер аций обы чноя вл я ется мал ы м кр атны м z. 3.2.5 Алго рит м Хо пкро ф т а – К а рпа Ал гор итм Х оп кр оф та – Кар п а нах одит максимал ь ную тр ансвер сал ь р аз р еженной матр ицы . О сновная идея та же, что и в ал гор итме Х ол л а: п р осл еживаю тся увел ичиваю щ ие п ути, и от ш ага к ш агу ул учш аю тся наз начения . О днако п р оводится тщ ател ь ны й анал из увел ичиваю щ их п утей , и их свой стваисп ол ь з ую тся , чтобы р аз бить п осл едовател ь ность наз начений на мал ое числ о ф аз . В нутр и каждой ф аз ы одновр еменно нах одя т много кор отких увел ичиваю щ их п утей , все они имею т одинаковую , п р ичем минимал ь ную дл ину, исих п омощ ь ю ул учш ается текущ ееназ начение. Э тим сп особом п овы ш ается эф ф ективность ал гор итма. Рассмотр им неор иентир ованны й гр аф G = (V, E) ип одмножества M φ E его р ебер . П одмножество M наз ы вается паро со чет анием ил иназначением, есл и никакая вер ш ина G не инцидентна бол ее чем одному р ебр у из M. П ар осочетание с наибол ь ш им кар динал ь ны м числ ом m=|M| наз ы вается наибо льшим паро со чет анием. В ер ш ина, не инцидентная никакому р ебр у из M, наз ы вается сво бо дно й. П уть в гр аф е G, не имею щ ий п овтор я ю щ их ся вер ш ин, наз ы вается увеличиваю щ им пут ем п ар осочетания M, есл иоба его конца – свободны е вер ш ины , а р ебр а п оп ер еменно п р инадл ежат E – M иM. У вел ичиваю щ ие п ути сл ужат дл я п овы ш ения кар динал ь ного числ а п ар осочетания . Е сл и известен увел ичиваю щ ий п уть п ар осочетания M, то можно п ол учить новое п ар осочетание M' с числ ом р ебер , на единицу бол ь ш им, чем у M (т.е. |M'| = |M| + 1). Д л я этого нужно вз я ть всер ебр ап ути, неп р инадл ежащ иеисх одному п ар осочетанию M, идобавить всер ебр аM, не вош едш ие в увел ичиваю щ ий п уть . Э то свой ство имеет место дл я л ю бого увел ичиваю щ его п ути, какова бы ни бы л а его дл ина. В особенности нас будут интер есовать кр атчай ш ие увел ичиваю щ ие п ути, т.е. п ути, имею щ ие наимень ш ее кар динал ь ное числ о ср еди всех увел ичиваю щ их п утей п ар осочетания M. Чтобы бол ее точно сф ор мул ир овать сказ анное, нап омним сп ер ва некотор ы е обоз начения , исп ол ь з уемы е в теор ии множеств. Рассмотр им два множества: S и T. Зап ись S – T обоз начает множество эл ементовS, неп р инадл ежащ их T. Т аким обр аз ом, S – T = =S– (S 1 T). Зап ись SρT обоз начает симметр ичную р аз ность множеств S и T. Э л емент п р инадл ежит SρT, есл и он нах одится л ибо в S, л ибо в T, но не в S 1 T. С л едовател ь но, SρT = S ″ T – S 1 T. П усть теп ер ь P обоз начает множество р ебер увел ичиваю щ его п ути п ар осочетания M в гр аф е G. Т огда MρP также п ар осочетание, п р ичем
35
|MρP|=|M|+1. Н ай дем наибол ь ш ее п ар осочетание в гр аф е G = (V, E). О тп р авл я я сь от п устого п ар осочетания M0 = ι, мы будем вы числ я ть п осл едовател ь ность п ар осочетаний M0, M1, M2, … с воз р астаю щ ими кар динал ь ны ми числ ами, п ока не будет достигнуто наибол ь ш ее п ар осочетание. Каждое п ар осочетание Mi+1 п ол учается из п р еды дущ его п ар осочетания Mi п оср едством п остр оения увел ичиваю щ его п утиPi. И менно, Mi+1 = MiρPi, i = 0, 1, 2, … . Е сл и G – ассоциир ованны й с р аз р еженной матр ицей двудол ь ны й гр аф , то это в точности та п р оцедур а, на котор ой основан ал гор итм Х ол л а. Д л я матр ицы п ор я дка n с числ ом ненул евы х эл ементовz этот ал гор итм тр ебует O(nz) оп ер аций . В отл ичие от ал гор итма Х ол л а, ал гор итм Х оп кр оф та – Кар п а исп ол ь з ует тол ь ко кр атчай ш ие увел ичиваю щ ие п ути. Е сл и Pi – кр атчай ш ий увел ичиваю щ ий п уть п ар осочетания Mi и Mi+1 = MiρPi, i = 0, 1, 2, … , то имею т место сл едую щ иеутвер ждения : (а) |Pi+1| ≥ |Pi|, т.е. кр атчай ш ий увел ичиваю щ ий п уть дл я Mi+1 не может иметь мень ш ер ебер , чем кр атчай ш ий увел ичиваю щ ий п уть дл я Mi. (б) Д л я всех j иk таких , что |Pj| = |Pk|, п ути Pj иPk не имею т общ их вер ш ин. (в) Д л я всех j иk таких , что j < k и|Pj| = |Pk|, Pk я вл я ется кр атчай ш им увел ичиваю щ им п утем п ар осочетания Mj. (г) Е сл и m – кар динал ь ное числ о наибол ь ш его п ар осочетания , то кол ичество р аз л ичны х цел ы х чисел в п осл едовател ь ности|P0|, |P1|, |P2|, … не может п р евы ш ать 2m1/2 + 2. Кр ометого, есл иm – кар динал ь ноечисл о наибол ь ш его п ар осочетания , аM – п р оизвол ь ноеп ар осочетание, дл я котор ого |M| < m, то сп р аведл иво и (д) С ущ ествует увел ичиваю щ ий п уть дл ины , не п р евы ш аю щ ей 2|M|/(m |M|) +1. В сил у этих свой ств вы числ ение п осл едовател ь ности п ар осочетаний р аз бивается не бол ее чем на 2m1/2 + 2 ф аз . В се увел ичиваю щ ие п ути, р аз ы скиваемы е внутр и ф аз ы , имею т р аз л ичны е вер ш ины и одинаковую дл ину. Кр оме того, все эти п ути – кр атчай ш ие увел ичиваю щ ие дл я того п ар осочетания , с котор ы м начинается данная ф аз а. И так, вместо того чтобы вы числ я ть всю п осл едовател ь ность п ар осочетаний , Х оп кр оф т и Кар п п р едл агаю т сл едую щ ий ал гор итм: Ш аг 0 (И нициал изация ). П ол ожить M← ι. Ш аг 1 (П оиск п утей ). Н ай ти максимал ь ное множество {P1, P2, … , Pt} кр атчай ш их увел ичиваю щ их п утей п ар осочетания M, не имею щ их общ их вер ш ин. Е сл итаких п утей нет, то остановка. Ш аг 2 (У вел ичение п ар осочетания ). П ол ожить M ← MρP1ρP2ρ … ρPt и п ер ей тик ш агу 1. П окажем, как исп ол ь з овать этот ал гор итм дл я р аз р еженны х матр иц. П усть A – квадр атная р аз р еженная матр ицап ор я дкаn. П р оцедур аоты скания тр ансвер сал исостоит всл едую щ ем: (1) П остр оить ассоциир ованны й сA двудол ь ны й гр аф G = (V, E). Г р аф G неор иентир ованны й иимеет два множества вер ш ин R иC, п о n вер ш ин в
36
каждом. В ер ш ины R наз ы ваю тся ю но шами исоответствую т стр окам A. В ер ш ины C наз ы ваю тся девушк ами и соответствую т стол бцам A. В G имеется р ебр о(ri, cj), есл иaij ≠ 0. (2) П усть M – п ар осочетание в G. В начал е M = ι, но в х оде р аботы ал гор итмаM становится неп усты м. Т еп ер ь п р иф иксир ованном G итекущ ем M мы п р ип исы ваем ор иентацию р ебр ам G: каждоер ебр о из M нап р авл ено от ю нош ик девуш ке, а каждое из оставш их ся р ебер G – от девуш кик ю нош е. П усть G = (V , E ) – п ол ученны й этим сп особом ор иентир ованны й гр аф . И менно такой сп особ п остр оения G мотивир уется сл едую щ им его свой ством: р ебр а л ю бого ор иентир ованного п ути в G п оп ер еменно п р инадл ежат E – M и M. П оэтому есл и в G най ден п уть , свя з ы ваю щ ий свободную девуш ку со свободны м ю нош ей (имеется в виду свобода п о отнош ению к M), тоэтот п уть необх одимо увел ичиваю щ ий . (3) П усть L0 – множество свободны х девуш ек. Т огда нужно п остр оить п одстр уктур у ур овней ор иентир ованной смежностис кор нем в L0, п ол ь з уя сь п оиском в ш ир ину. Н ет необх одимости стр оить всю п одстр уктур у. Д остаточно сох р аня ть р ебр а, идущ иеот каждого ур овня Li к ур овню Li+1. П р и этом нужны тол ь ко ур овни L0, L1, … , Lp, где p = min{i | Li 1 {свободны е ю нош и}≠ ι}. П остр оенная п одстр уктур а п р едставл я ет собой ацикл ический ор гр аф с девуш ками в четны х ур овня х и ю нош ами – в нечетны х . Кажды й п уть от свободной девуш кик свободному ю нош е – это кр атчай ш ий увел ичиваю щ ий п уть дл я M, п р ичем его дл инар авнаp. Чтобы най тимаксимал ь ноемножество п утей ср аз л ичны мивер ш инами, обр ащ ается ор иентация каждого р ебр а, ина п одстр уктур е, отп р авл я я сь от свободны х ю нош ей ур овня Lp, вы п ол ня ется п оиск в гл убину. Заметим, что есл ибы ор иентация р ебер не обр ащ ал ась , а п оиск начинал ся от свободны х девуш ек ур овня L0, то п р иш л ось бы иссл едовать много р ебер , ведущ их к несвободны м ю нош ам ур овня Lp, что п отр ебовал о бы з начител ь но бол ь ш ей вы числ ител ь ной р аботы . Н аконец, есл и {P1, P2, … , Pt} – най денное множество п утей , то можно увел ичить текущ ее п ар осочетание M иновое п ар осочетание имеет кар динал ь ное числ о |M| + t. Е сл ир аз р еженная матр ица п ор я дка n имеет z ненул евы х эл ементов, то ал гор итм, стр оя щ ий внутр и ф аз ы максимал ь ное множество п утей , тр ебует п амя ти и вр емени O(n, z). П оскол ь ку кар динал ь ное числ о наибол ь ш его п ар осочетания не п р евы ш ает n, то ф аз будет не бол ь ш е чем 2n1/2 + 2. С л едовател ь но, весь ал гор итм вы числ ения наибол ь ш его п ар осочетания тр ебует вр еменине бол ее O(n3/2, zn1/2) ип амя тине бол ее O(n, z). Е сл и z = O(n), что часто вы п ол ня ется дл я р аз р еженны х матр иц, то эти оценки п р евр ащ аю тся вO(n3/2) дл я вр еменииO(n) дл я п амя ти. 3.2.6 Алго рит м С а рдж ен т а – Уэст ерберга Н есимметр ичная р аз р еженная матр ица, имею щ ая п ол ную тр ансвер сал ь (т.е. диагонал ь без нул ей ) может бы ть симметр ично п ер еуп ор я дочена к бл очной нижней тр еугол ь ной ф ор ме, есл и известны сил ь ны е комп оненты
37
соответствую щ его ор гр аф а. С ар джент и У эстер бер г п р едл ожил и п р остой ал гор итм оты скания сил ь ны х комп онент п р оизвол ь ного ор гр аф а. Ал гор итм основан на п р оцедур е п оиска в гл убину, п оскол ь ку в нем п р осл еживается п уть п р и сох р анении наскол ь ко это воз можно п осл едовател ь ностивер ш ина – р ебр о – вер ш ина – р ебр о… П уть начинается из п р оизвол ь но вз я той вер ш ины ип р одол жается до тех п ор , п ока не будут обнар ужены л ибоцикл , л ибовер ш инабез вы х ода. Ц икл оп оз нается бл агодар я тому, что п уть вх одит в вер ш ину, п осещ авш ую ся п р ежде. В се вер ш ины цикл а п р инадл ежат одной и той же сил ь ной комп оненте. В сл учае обнар ужения цикл а п р именя ется п р оцедур а, наз ы ваемая стя гиванием вер ш ин: все вер ш ины цикл а стя гиваю тся в единую составную вер ш ину, все р ебр а цикл а игнор ир ую тся , а р ебр а, соединя ю щ ие вер ш ины цикл а с п р очими вер ш инами гр аф а, р ассматр иваю тся теп ер ь как соединя ю щ ие составную вер ш ину с этимип р очимивер ш инами. С оставная вер ш ина становится п осл едней вер ш иной текущ его п ути, и в модиф ицир ованном гр аф еп оиск воз обновл я ется сэтого места. Е сл инай дена вер ш ина, ил исоставная вер ш ина, не имею щ ая вы х ода, то эта вер ш ина ил и составная вер ш ина я вл я ется сил ь ной комп онентой ур овня 1. В ер ш ина ил и все вер ш ины , обр аз ую щ ие составную , удал я ю тся из гр аф а вместе со всемиинцидентны миим р ебр ами. П оиск з атем воз обновл я ется в оставш емся п одгр аф е, п р ичем отп р авл я ю тся от п осл едней вер ш ины текущ его п утил ибо от новой начал ь ной вер ш ины , есл ип уть исчер п ан. Т ак п р одол жается до тех п ор , п ока не будут п осещ ены все вер ш ины и иссл едованы всер ебр аисх одного гр аф а. В этом ал гор итме каждое р ебр о гр аф а иссл едуется тол ь ко один р аз . О днако, необх одимы часты е п ер естр ой ки гр аф а, что составл я ет сер ь ез ную доп ол нител ь ную р аботу. С тя гивание вер ш ин п р и обнар ужении очер едного цикл аэквивал ентно ф ор мир ованию нового ф актор гр аф а, аудал ениесил ь ной комп оненты – вы дел ению частичного гр аф а. П р их одится вести з ап иси, указ ы ваю щ ие, из каких вер ш ин состоит каждая составная вер ш ина икакой составной вер ш ине п р инадл ежит каждая вер ш ина исх одного гр аф а. Н еудачная р еал изация может п овл ечь O(|V|2) п ер еп омечиваний вер ш ин (V – множество вер ш ин гр аф аG = (V, E)). 3.2.7 Алго рит м Т а рьян а П р ип оискевгл убину наор гр аф еG = (V, E) ф ор мир уется остовной л ес, состоя щ ий из одного ил и нескол ь ких дер евь ев. В ер ш ины каждой сил ь ной комп оненты C ор гр аф а оп р едел я ю т п оддер ево некотор ого дер ева из л еса. П оддер ево содер жит все вер ш ины C итол ь ко вер ш ины С , его кор ень – это п ер вая вер ш ина C, п осещ аемая в х оде п оиска. Т аким обр аз ом, з адача оты скания сил ь ны х комп онент сводится к оты сканию кор ней п оддер евь ев в остовном л есу, п ор ождаемом п оиском вгл убину. Ал гор итм Т ар ь я на сконстр уир ован таким обр аз ом, чтобы воз вр ащ ение чер ез кор ень комп оненты C в др угую комп оненту бол ее вы сокого ур овня бы л о невоз можно до тех п ор , п ока все вер ш ины C не будут п осещ ены и
38
оп оз наны как эл ементы C. Э то оз начает, в частности, что есл и v – текущ ая вер ш ина п оиска инай дено р ебр о (v → ω ), где ω нумер ована, но не п р ип исана какой -л ибо комп оненте, то v иω п р инадл ежат одной итой же комп оненте. Д оказ ател ь ство несл ожно: п усть У р овень (ω ) = l, так как ω ещ е не п р ип исана, то текущ ая вер ш ина v дол жна нах одить ся в ур овне l' ≤ l. О днако, п оскол ь ку (v → ω ) – р ебр о гр аф а G, то l' ≥ l. С л едовател ь но, l' = l, что воз можно, л иш ь , есл иv иω относя тся к одной комп оненте. В ал гор итме Т ар ь я на п р оводится п оиск, и каждой вер ш ине v соп оставл я ется метка. П осл едня я состоит из двух чисел , наз ы ваемы х Н омер (v) и С вя з ка(v). Н омер (v) оп р едел я ется в х оде п оиска п р остой нумер ацией вер ш ин от 1 до n = |V| соответственно п ор я дку, в каком они п осещ аю тся . Д л я п р оизвол ь ной вер ш ины v, не я вл я ю щ ей ся кор нем сил ь ной комп оненты , С вя з ка(v) – это номер некотор ой вер ш ины ω из той же, что и дл я v, сил ь ной комп оненты . О днако, ω нумер ована р ань ш е, чем v, т.е. С вя з ка(v) = Н омер (ω ) < Н омер (v). Д л я кор ня r л ю бой сил ь ной комп оненты мы п ол агаем С вя з ка(r) = Н омер (r). Э то свой ство исп ол ь з уется дл я оп оз нания кор ней сил ь ны х комп онент: есл ичисл о С вя з ка(v) п р авил ь но вы числ ено, то v тогда и тол ь ко тогда будет кор нем сил ь ной комп оненты , когда С вя з ка(v)=Н омер (v). В х оде п оиска вы числ ения , свя з анны е с п р изнаком С вя з ка, п р оизводя тся насл едую щ их ш агах : Ш аг 1 (И нициал изация ). Е сл и вер ш ина v п осещ ается вп ер вы е, то п ол ожить С вя з ка(v) = Н омер (v). Ш аг 2 (М одиф икация ). Е сл иv – текущ ая вер ш ина инай дено р ебр о (v → ω ), где ω нумер ована р ань ш е, чем v, но ещ е не п р ип исана какой -л ибо комп оненте, топ ол ожить С вя з ка(v) = min[С вя з ка(v), С вя з ка(ω )]. Ш аг 3 (В оз вр ащ ение). Е сл и(v → ω ) – др евесное р ебр о, п р ичем v и ω п р инадл ежат одной комп оненте и п р оисх одит воз вр ащ ение из ω в v, то п ол ожить С вя з ка(v) = min[С вя з ка(v), С вя з ка(ω )]. Н а ш аге 1 п р изнаку С вя з ка п р исваивается максимал ь ное воз можное дл я данной вер ш ины з начение. Н аш аге2 С вя з ка(v) п ер еоп р едел я ется намень ш ее з начение, есл и най дена свя з ь v с некотор ой п одх одя щ ей вер ш иной ω . В сл едствие тр ебования Н омер (ω ) < Н омер (v) з десь учиты ваю тся тол ь ко обр атны е ип оп ер ечны е р ебр а. Кр оме того, п оскол ь ку ω нумер ована, но ещ е не п р ип исана какой -л ибо комп оненте, то v иω дол жны бы ть в одной итой же комп оненте. Э то устр аня ет стер ил ь ны е п оп ер ечны е р ебр а, т.е. п оп ер ечны е р ебр а (v → ω ), у котор ы х v и ω относя тся к р аз ны м комп онентам. Д ал ее, С вя з ка(ω ) – это номер некотор ой вер ш ины из той же сил ь ной комп оненты , какой п р инадл ежат v и ω . Э тот номер , воз можно, мень ш е, чем у ω . С тр атегия ш ага 2 состоит в том, чтобы п ер еоп р едел я ть п р изнак С вя з ка(v) на наимень ш ий из известны х п ока номер ов вер ш ин в данной комп оненте. Н аш аге 3 минимал ь ноез начениеп р изнака С вя з ка сп ускается вдол ь п ути п р ивоз вр ащ ении. С тр атегия этого ш агата же, что у ш ага 2: мы з наем, что v свя з анасω , аω свя з анасx = С вя з ка(ω ), п оэтому v свя з анасx. Е сл иномер x мень ш е, чем текущ ее з начение числ а С вя з ка(v), то п осл еднее
39
п ер еоп р едел я ется . Ал гор итм будет р аботать п р авил ь но и п ри осл абеваниитр ебования о том, чтобы v иω п р инадл ежал иодной комп оненте. Д ей ствител ь но, есл и(v → ω ) – др евесноер ебр о, а v иω относя тся к р аз ны м комп онентам, то ω – кор ень своей комп оненты . П оскол ь ку имеет место воз вр ащ ение, то С вя з ка(ω ) = Н омер (ω ) > Н омер (v). Т ак как С вя з ка(v) ≤ Н омер (v), то з начениеп р изнака С вя з ка(v) в данном сл учае ш агом 3 небудет изменено. П окажем, что п р изнак С вя з ка вы числ я ется вер но. П усть v – некотор ая вер ш ина, относя щ ая ся к сил ь ной комп оненте C, и п усть Tv – п оддер ево с кор нем v, содер жащ ее п отомство v в C. Е сл иv не я вл я ется кор нем C, то Tv дол жно иметь вы х одвэту комп оненту, т.е. дол жно сущ ествовать р ебр о (ω → x), гдеω 0 Tv, x 0 C, п р ичем это р ебр о недр евесное. С л едовател ь но, x дол жна бы ть нумер ована р ань ш е, чем ω . Бол ее того, x дол жна бы ть нумер ована р ань ш е, чем v, чтобы р ебр о (ω → x) могл о бы ть вы х одом из Tv, п оэтому Н омер (x) < Н омер (v). Ребр о (ω → x) бы л о най дено в х оде п оиска, так что С вя з ка(ω ) ≤ Н омер (x). П оз же, п р ивоз вр ащ ении, это з начениебы л о сп ущ ено к v, откуда С вя з ка(v) ≤ Н омер (x) < Н омер (v). Э то как р аз тот тест, котор ы й оп р едел я ет, что v не я вл я ется кор нем C. Заметим, что п ол ученны й р ез ул ь тат будет сп р аведл ивнез ависимо от того, п ол агаем мы С вя з ка(ω ) = Н омер (x) ил и С вя з ка(ω ) = С вя з ка(x) в момент обнар ужения р ебр а (ω → x). Е сл иv – кор ень сил ь ной комп оненты , тоTv неимеет вы х ода, иС вя з ка(v)=Н омер (v). Ал гор итм Т ар ь я на п о сущ еству совп адает с ал гор итмом С ар джента – У эстер бер га. Г л авное отл ичие з акл ю чается в том, что вместо п оня тия «стя гивание вер ш ин», исп ол ь з овавш егося С ар джентом и У эстер бер гом, в ал гор итме Т ар ь я на вводится п р изнак С вя з ка, п оз вол я ю щ ий х р анить составны е вер ш ины в стеке. Д ей ствител ь но, есл и С вя з ка(v) = ω , то все вер ш ины , нах одя щ иеся в стеке между (также п омещ енны ми туда) вер ш инамиω иv, обр аз ую т составную вер ш ину. П р иведем р аз вер нутую ф ор мул ир овку ал гор итма Т ар ь я на. П ол ны й ал гор итм п р едставл я ет собой комбинацию п оиска в гл убину и оп исанной вы ш е п р оцедур ы вы числ ения п р изнака С вя з ка. И сп ол ь з ую тся два стека, мы будем п р идер живать ся тер минол огииТар ь я на иназ ы вать их соответственно «стеком» и«мар ш р утом». М ар ш р ут содер жит сп исок вер ш ин, обр аз ую щ их п уть от начал ь ной вер ш ины к текущ ей . Каждая новая вер ш ина, най денная п р и п оиске, оп ускается в мар ш р ут. Кажды й р аз , когда вы п ол ня ется воз вр ащ ение, соответствую щ ая вер ш инап однимается свер х амар ш р ута. С тек содер жит сп исок вер ш ин, п р инадл ежащ их частично сф ор мир ованны м сил ь ны м комп онентам. Каждая новая вер ш ина, най денная п р и п оиске, оп ускается в стек. В ер ш ины не удал я ю тся из стека индивидуал ь но. Когда сил ь ная комп онента в вер х ней части стека сф ор мир ованап ол ность ю , онаудал я ется вся . Ал гор итм исп ол ь з ует также массивы Н омер иС вя з ка, бул евский массив дл я п р овер ки з а ф иксир ованное вр емя , нах одится л и вер ш ина в стеке, и п р едставл ения множества Vv п осещ енны х вер ш ин и множества Ee иссл едованны х р ебер . Точная ф ор мул ир овкаал гор итматакова:
40
Ш аг 0 (И нициал изация ). П ол ожить Ee ← ι, Vv ← ι, i ← 0. Ш аг 1 (В ы бор начал ь ной вер ш ины ). В ы бр ать п р оизвол ь ную вер ш ину v ⌠ Vv. Е сл итакой нет, то – остановка. Ш аг 2 (П осещ ение вер ш ины ). О п устить v в стек имар ш р ут. П ол ожить Vv← Vv″{v}, i ← i +1, Н омер (v) ← i, С вя з ка(v) ← i. Ш аг 3 (И ссл едованиер ебр а). Н ай тивсп искесмежностивер ш ины v р ебр о (v→ ω )⌠Ee. В оз можны сл едую щ иесл учаи: (3а) Н ай дено р ебр о (v → ω ), п р ичем ω ⌠ Vv, т.е. (v → ω ) – др евесное р ебр о. П ол ожить Ee ← Ee ″ (v → ω ), v ← ω ип ер ей тик ш агу 2. (3б) Н ай дено р ебр о(v → ω ), п р ичем ω 0 Vv. П ол ожить Ee ← Ee ″ (v → ω ) и п ер ей тик ш агу 4 дл я п ер есчетап р изнакаС вя з ка(v). (3в) В ер ш ина v не имеет неиссл едованны х вы х одов и С вя з ка(v) < Н омер (v). П ер ей тик ш агу 5 дл я воз вр ащ ения . (3г) В ер ш ина v не имеет неиссл едованны х вы х одов и С вя з ка(v) = Н омер (v). П ер ей тик ш агу 6 дл я сбор кисил ь ной комп оненты . Ш аг 4 (П ер есчет п р изнака С вя з ка). Е сл и Н омер (ω ) < Н омер (v) и ω нах одится в стеке, то п ол ожить С вя з ка(v) ← min [С вя з ка(v), С вя з ка(ω )] и п ер ей тик ш агу 3. В п р отивном сл учае, ср аз у п ер ей тик ш агу 3. Ш аг 5 (В оз вр ащ ение). П одня ть v из мар ш р ута. П ол ожить : u ← вер ш ина навер х емар ш р ута, С вя з ка(u) ← min [С вя з ка(u), С вя з ка(v)], v ← u. П ер ей тик ш агу 3. Ш аг 6 (Ф ор мир ование сил ь ной комп оненты ). П одня ть v ивсе вер ш ины надv из стекаип оместить их в текущ ую сил ь ную комп оненту. П одня ть v из мар ш р ута. Е сл и мар ш р ут п устой , п ер ей ти к ш агу 1. В п р отивном сл учае п ол ожить v← вер ш инанавер х емар ш р утаип ер ей тик ш агу 3. Э тот ал гор итм тр ебует п амя тиивр емениO (|V|, |E|). 3.2.8 С т ра т егия М а рко вица С тр атегия М ар ковица з акл ю чается в том, чтобы на каждом ш аге бр ать в качестве гл авного ненул евой эл емент, дл я котор ого минимал ь но п р оизведение числ а остал ь ны х ненул евы х эл ементов той же стр окиичисл а остал ь ны х ненул евы х эл ементовтогожестол бцаактивной п одматр ицы . Н ижеизл оженны е стр атегиип р именимы к л ю бой матр ице A, но есл иA бол ь ш ая и известно, что она р аз л ожима, то п очти навер ное имеет смы сл вначал е п р ивести ее к бл очной нижней тр еугол ь ной ф ор ме, а уже з атем исп ол ь з овать этиметоды дл я каждогобл окап оотдел ь ности. Ал гор итм М ар ковица л окал ен в том смы сл е, что минимизир ует на каждом ш агез ап ол нениеичисл о оп ер аций , несчитая сь своз можность ю , что др угая п осл едовател ь ность п р еды дущ их гл авны х эл ементов могл а бы п ор одить ещ е мень ш ее общ ее з ап ол нение ип отр ебовать мень ш его общ его числ аоп ер аций . Рассмотр им сл едую щ ую кар тину гауссова искл ю чения . В начал е k-го ш агамы п р инимаем з агл авны й эл емент a kk(k ) инор мир уем стр оку k активной п одматр ицы дел ением всех ее эл ементов на a kk(k ) . В ектор ы r и c имею т
41
р аз мер ность n – k. Рассмотр им матр ицу crT, это квадр атная матр ица п ор я дка n – k ир анга 1. K-й ш аг гауссово искл ю чения состоит в вы читании crT из п одматр ицы , р асп ол оженной встр оках истол бцах k +1, … , n. В ектор c становится k-м п одстол бцом L, а вектор (1, rT) – k-й стр окой U. П усть n(v) обоз начает числ о ненул евы х эл ементов вектор а v. С тр атегию М ар ковица можно теп ер ь п ер еф ор мул ир овать сл едую щ им обр аз ом: вы бр ать в активной п одматр ице и п ер евести в п оз ицию (k, k) п оср едством соответствую щ их п ер естановок стр ок и стол бцов тот ненул евой эл емент, дл я котор ого п р оизведение n(c)n(r) минимал ь но. Так как n(c)n(r) – это числ о ненул евы х эл ементов матр ицы crT, то становится п оня тно, в каком смы сл е стр атегия М ар ковицап ы тается л окал ь но умень ш ить з ап ол нение. С л едует сдел ать тр и з амечания . М ожно р ассудить , что п р оизведение n(c)n(r) минимал ь но, когда минимал ен кажды й из сомножител ей , так что бы л о бы достаточно вы бр ать на р ол ь гл авного эл емент, стоя щ ий в стр оке и стол бцеснаимень ш им числ ом ненул евы х эл ементов. Т акой эл емент, однако, может оказ ать ся нул ем и, сл едовател ь но, неп р игодны м в качестве гл авного. В дей ствител ь ности, во многих сл учая х все ш ансы з а то, что такой эл емент будет нул евы м как р аз п отому, что он нах одится в стр оке и стол бце с наибол ь ш им числ ом нул ей . С итуация становится ещ е х уже, когда в р асчет п р инимаю т сообр ажения числ енной устой чивости, так как теп ер ь отвер гаю тся не тол ь ко нул и, но и сл иш ком мал ы е ненул евы е эл ементы . О днако, все же вер но то, что п р иемл емы й ненул евой эл емент, минимизир ую щ ий п р оизведение n(c)n(r), часто соответствует мал ы м n(c) и n(r). У чтем, что n(c) и n(r) – это в точности числ о внедиагонал ь ны х ненул евы х эл ементов соответственно в k-м стол бце L иk-й стр оке U. Э то п р оя сня ет то обстоя тел ь ство, что стр атегия М ар ковицап о сущ еству п ы тается сох р анить р аз р еженность L иU. П усть C – множество п оз иций ненул евы х эл ементов в матр ице crT, D – анал огичное множество дл я п одматр ицы , р асп ол оженной в A(k) в стр оках и стол бцах k + 1, … , n. О бы чно C1D ≠ ι, п оэтому множество F эл ементов з ап ол нения , внесенного в A(k+1) на k-м ш аге, вы р ажается ф ор мул ой : F = C – C1D. В тор ое наш е з амечание относится к тому, что стр атегия М ар ковица минимизир ует |C| = n(c)n(r), но не |F|. О днако минимизация |C| имеет тенденцию умень ш ать и |F|. С др угой стор оны , числ о |C| = n(c)n(r) р авно числ у умножений ичисл у сл ожений (есл из асчиты вать сл ожения с нул я ми), вы п ол ня емы х на k-м ш аге. С л едовател ь но, метод М ар ковица л окал ь но минимизир ует числ о умножений исл ожений . Числ о дел ений з а ш аг р авно n(r), это числ оочень мал о. Н аш е тр еть е з амечание касается воп р оса устой чивости. С тр атегия М ар ковицасамап о себенегар антир ует числ енной устой чивости. Тип ичны м я вл я ется сл едую щ ее п р авил о, сочетаю щ ее стр атегию М ар ковица с одним из кр итер иев устой чивости: на каждом ш аге ср едивсех ненул евы х эл ементов активной п одматр ицы , удовл етвор я ю щ их п р иня тому кр итер ию устой чивости, вы бр ать в качестве гл авного тот, дл я котор ого минимал ь но
42
п р оизведение n(c)n(r). С тандар тны й кр итер ий устой чивости – это отбор п о бар ь ер у. Spc содер жит всененул евы еэл ементы активной п одматр ицы , Sst – теэл ементы из Spc, котор ы еп одчиня ю тся п р иня тому кр итер ию устой чивости. Ssp – это п одмножествоSst, вы дел я емоеусл овием М ар ковица. В общ ем сл учае Ssp может содер жать нескол ь ко ненул евы х эл ементов. Н аконец, гл авны й эл емент – это л ю бой эл емент из Spiv ≡ Ssp. О днаиз сил ь ны х стор он стр атегииМ ар ковица– еесимметр ия . Э то оз начает, что (есл ине учиты вать вл ия ние кр итер ия устой чивостиинеодноз начности вы бор а) дл я обеих матр иц A иAT п ол учается одно ито же уп ор я дочение. С тоимость ал гор итмаМ ар ковицасущ ественно з ависит от р аз мер амножества Sst накаждом ш аге, п оскол ь ку п р оизведениеn(c)n(r) дол жно вы числ я ть ся дл я л ю бого эл ементаиз Sst. Д л я р еал изации методы М ар ковица тр ебуется два цел ы х массива, в котор ы е п оначал у з ап исы вается числ о ненул евы х внедиагонал ь ны х эл ементов соответственно каждой стр окиикаждого стол бца А. Э тимассивы п ер еоп р едел я ю тся от ш ага к ш агу с учетом искл ю чаемы х эл ементов и з ап ол нения . 3.2.9 С т ра т егия Д а ф ф а Д аф ф п р едл ожил бол ее деш евую стр атегию , наз ы ваемую ri в cj, ил и минимал ь ная стр ока в минимал ь ном стол бце. Э та стр атегия не имеет симметр ии. Ф ор мул ир уется она так: на каждом ш аге вы бир ается стол бец с наимень ш им числ ом ненул евы х эл ементов. Затем ср еди ненул евы х эл ементов этого стол бца, удовл етвор я ю щ их п р иня тому кр итер ию устой чивости, вы бир ается тот, что стоит в стр оке с наимень ш им числ ом ненул евы х эл ементов. Здесь Spc содер жит всененул евы е6 эл ементы активной п одматр ицы , Ssp – ненул евы е эл ементы стол бца с наимень ш им числ ом ненул евы х эл ементов, Sst – это п одмножество Spc, вы дел я емое кр итер ием устой чивости, и Spiv ≡ Ssp. Н аконец, гл авны й эл емент вы бир ается из Spiv исх одя из сообр ажений р аз р еженности. В некотор ы х сл учая х эта стр атегия р аботает гор аз до х уже, чем стр атегия М ар ковица. Ц еной некотор ой доп ол нител ь ной р аботы ее можно симметр изовать . Н а каждом ш аге вы п ол ня ется п р едп исаниестр атегииri вcj, аз атем нез ависимо – п р едп исание стр атегииck в rl (т.е. вы бир ается стр ока с наимень ш им числ ом ненул евы х эл ементов, скажем, стр ока l, вы бир аю тся ненул евы е эл ементы стр оки l, п одчиня ю щ иеся кр итер ию устой чивости, вы бир ается ненул евой эл емент, стоя щ ий в стол бце(скажем, k) снаимень ш им числ ом ненул евы х эл ементов). Н аконец, из двух най денны х гл авны х эл ементов бер ется тот, дл я котор ого п р оизведениеn(c)n(r) мень ш е. 3.2.10 С т ра т егия З ла т ева В р еал изациир аз ны х вар иантов стр атегииМ ар ковица бол ь ш ая часть р аботы (т.е. вр емени) и доп ол нител ь ной п амя ти ух одит на п р осмотр , п ер еуп ор я дочение исл ежение з а стр окамиистол бцами. П оэтому п р иведем стр атегию , вкотор ой п одобная р аботаминимал ь на.
43
У п ор я дочиваем стол бцы матр ицы А п о воз р астанию числ а ненул евы х эл ементов. Н а k-м ш аге гауссова искл ю чения вы бир аем в качестве гл авного эл емент k-го стол бца, удовл етвор я ю щ ий усл овию устой чивости и п р инадл ежащ ий стр оке с минимал ь ны м числ ом ненул евы х эл ементов. Т ак как мы р ассчиты ваем, что в стол бце мал о ненул евы х эл ементов, то можно п р овер я ть их все ине з аботить ся об уп ор я дочениистр ок. П р иискл ю чении п р оизводя тся тол ь ко п ер естановки стр ок. М етоды , основанны е на этой стр атегии, имею т недостатки: з ап ол нение часто будет бол ь ш им, вер оя тная п р ичина в том, что стол бцы , п оначал у содер жавш ие мал о ненул евы х эл ементов, бы стр о з ап ол ня ю тся , но, тем не менее, исп ол ь з ую тся как ведущ ие. П оэтому такая стр атегия дол жнап р именя ть ся остор ожно и/ил идл я сп ециал ь ны х кл ассовматр иц.
С писо к реко мен дуемо й лит ера т уры : 1. П иссанецкиС . Т ех нол огия р аз р еженны х матр иц / С . П иссанецки. – М . : М ир , 1988. 2. Д жор дж А. Числ енны е методы р еш ения бол ь ш их р аз р еженны х систем ур авнений / А. Д жор дж, Д . Л ю . – М . : М ир , 1984. 3. Э стер бю О . П р я мы е методы дл я р аз р еженны х матр иц / О . Э стер бю , З. Зл атев. – М . : М ир , 1987. 4. Т ь ю ар сон Р. Раз р еженны ематр ицы / Р. Т ь ю ар сон. – М . : М ир , 1977. 5. М етоды р еш ения систем ср аз р еженны миматр ицами. С п особы х р анения и п р едставл ения р аз р еженны х матр иц, оп ер ации над ними: метод. указ ания дл я студентов 3 кур са дневн. ивечер н. одт-ний ф ак. П М М / сост. И .А. Бл атов, Т .Н . Г л уш акова, М .Е . Э ксар евская . – В ор онеж : В ор онеж. гос. ун-т, 2002. – 33 с. – (№ 156)
Автор ы : Э ксар евская М ар инаЕ вгень евна, Г л уш аковаТ ать я наН икол аевна Редактор : Тих омир оваО л ь гаАл ександр овна