ÌÈÍÈÑÒÅÐÑÒÂÎ ÎÁÐÀÇÎÂÀÍÈß ÐÎÑÑÈÉÑÊÎÉ ÔÅÄÅÐÀÖÈÈ
Ñàíêò-Ïåòåðáóðãñêèé ãîñóäàðñòâåííûé óíèâåðñèòåò àýðîêîñìè÷åñêîãî ïðèáîðîñòðîåíèÿ
Ë. À. Ïðîêóøåâ
ÄÈÑÊÐÅÒÍÀß ÌÀÒÅÌÀÒÈÊÀ
Îñíîâû òåîðèè ãðàôîâ è àëãîðèòìèçàöèè çàäà÷ Ó÷åáíîå ïîñîáèå
Ñàíêò-Ïåòåðáóðã 2000
ÓÄÊ 519.2 ÁÁÊ 22.174 Ï80 Ïðîêóøåâ Ë. À Ï80 Äèñêðåòíàÿ ìàòåìàòèêà (îñíîâû òåîðèè ãðàôîâ è àëãîðèòìèçàöèè çàäà÷): Ó÷åá. ïîñîáèå / ÑÏáÃÓÀÏ. ÑÏá., 2000. 82 ñ.: èë. Ðàññìîòðåíû îñíîâíûå îïðåäåëåíèÿ è ïîíÿòèÿ òåîðèè ãðàôîâ, íåîáõîäèìûå äëÿ ðåøåíèÿ íåêîòîðûõ ïðèêëàäíûõ çàäà÷ äèñêðåòíîé ìàòåìàòèêè (îïðåäåëåíèå îïòèìàëüíûõ ðàññòîÿíèé ìåæäó ìíîæåñòâîì îáúåêòîâ, ïîèñê êðèòè÷åñêîãî ïóòè â çàäà÷å ñåòåâîãî ïëàíèðîâàíèÿ è óïðàâëåíèÿ, âûáîð ïðåäïî÷òèòåëüíûõ âàðèàíòîâ ñèñòåìû ïî ìíîæåñòâó êðèòåðèåâ). Îáñóæäàþòñÿ ïîäõîäû ê ðàçðàáîòêå êîìïüþòåðíûõ àëãîðèòìîâ çàäà÷ íà îñíîâå ìîäåëåé òåîðèè ãðàôîâ. Ó÷åáíîå ïîñîáèå ïðåäíàçíà÷åíî äëÿ ñòóäåíòîâ ñïåöèàëüíîñòè Ñèñòåìû àâòîìàòèçèðîâàííîãî ïðîåêòèðîâàíèÿ, à òàêæå äëÿ ñòóäåíòîâ äðóãèõ ñïåöèàëüíîñòåé, èñïîëüçóþùèõ òåîðèþ ãðàôîâ äëÿ ðåøåíèÿ çàäà÷.
Ðåöåíçåíòû: êàôåäðà ïðîìûøëåííîãî ìåíåäæìåíòà Ñàíêò-Ïåòåðáóðãñêîãî Áàëòèéñêîãî ãîñóäàðñòâåííîãî òåõíè÷åñêîãî óíèâåðñèòåòà; êàíäèäàò òåõíè÷åñêèõ íàóê äîöåíò Â.Ï. Ïîïîâ
Óòâåðæäåíî ðåäàêöèîííî-èçäàòåëüñêèì ñîâåòîì óíèâåðñèòåòà â êà÷åñòâå ó÷åáíîãî ïîñîáèÿ
©
© 2
Ñàíêò-Ïåòåðáóðãñêèé ãîñóäàðñòâåííûé óíèâåðñèòåò àýðîêîñìè÷åñêîãî ïðèáîðîñòðîåíèÿ, 2000 Ë. À. Ïðîêóøåâ, 2000
ÂÂÅÄÅÍÈÅ Òåîðèÿ ãðàôîâ, ÿâëÿÿñü ðàçäåëîì äèñêðåòíîé ìàòåìàòèêè, èñïîëüçóåòñÿ äëÿ îïèñàíèÿ è èçó÷åíèÿ îòíîøåíèé ìåæäó äèñêðåòíûìè îáúåêòàìè. Ãåîìåòðè÷åñêè îáúåêòû ìîæíî ïðåäñòàâèòü â âèäå ìíîæåñòâà òî÷åê, íàçûâàåìûõ âåðøèíàìè ãðàôà, à îòíîøåíèÿ ìåæäó íèìè ëèíèÿìè, ñâÿçûâàþùèìè âåðøèíû. Åñëè ëèíèè íå îðèåíòèðîâàíû, òî èõ íàçûâàþò ðåáðàìè, à ñàì ãðàô íåîðèåíòèðîâàííûì, à åñëè ëèíèè îðèåíòèðîâàíû, òî èõ íàçûâàþò äóãàìè, à ñàì ãðàô îðèåíòèðîâàííûì, èëè îðãðàôîì. Èìåÿ â ñâîåé îñíîâå ïðîñòåéøèå èäåè è ýëåìåíòû (òî÷êè, ñîåäèíåííûå ëèíèÿìè), òåîðèÿ ãðàôîâ ñòðîèò èç íèõ îãðîìíîå ìíîãîîáðàçèå ôîðì, íàäåëÿåò ýòè ôîðìû ðàçëè÷íûìè ñâîéñòâàìè è â ðåçóëüòàòå ñòàíîâèòñÿ ïîëåçíûì èíñòðóìåíòîì ïðè èññëåäîâàíèè ñàìûõ ðàçíîîáðàçíûõ ñèñòåì.  ñàìîì ïîíÿòèè ãðàôà ñî÷åòàþòñÿ òåîðåòèêî-ìíîæåñòâåííûå, êîìáèíàòîðíûå è òîïîëîãè÷åñêèå àñïåêòû, ÷òî äåëàåò òåîðèþ ãðàôîâ óäîáíûì, ïðîñòûì ÿçûêîì äëÿ ôîðìóëèðîâêè è ïîñòðîåíèÿ ìîäåëåé, à òàêæå ýôôåêòèâíûì è ìîùíûì èíñòðóìåíòîì ðåøåíèÿ çàäà÷, îòíîñÿùèõñÿ ê øèðîêîìó êðóãó íàó÷íûõ è èíæåíåðíûõ ïðîáëåì. Ìîæíî óïîìÿíóòü â ýòîé ñâÿçè âîïðîñû êîíñòðóèðîâàíèÿ ñècòåì àâòîìàòèçèðîâàííîãî ïðîåêòèðîâàíèÿ, ñèñòåì ïðîãðàììèðîâàíèÿ äëÿ ÝÂÌ è ñîçäàíèÿ îïåðàöèîííûõ ñèñòåì, èññëåäîâàíèÿ îïåðàöèé è óïðàâëåíèÿ, ìàòåìàòè÷åñêîé ëèíãâèñòèêè è ðàçðàáîòêè òðàíñëÿòîðîâ, êàëåíäàðíîå ïëàíèðîâàíèå ïðîìûøëåííîãî ïðîèçâîäñòâà, çàäà÷è ñåòåâîãî ïëàíèðîâàíèÿ è óïðàâëåíèÿ (ÑÏÓ), òàêòè÷åñêèå è ëîãè÷åñêèå çàäà÷è âûáîðà ëó÷øèõ îáúåêòîâ, áîëüøîé êðóã ýêîíîìè÷åñêèõ çàäà÷, èãðîâûå çàäà÷è. Âìåñòî ïîíÿòèÿ ãðàôà ÷àñòî èñïîëüçóåòñÿ ïîíÿòèå ñåòü, êîãäà êðîìå îñíîâíûõ, ÷èñòî ñòðóêòóðíûõ, îòíîøåíèé â ãðàôå çàäàþòñÿ íåêîòîðûå êîëè÷åñòâåííûå õàðàêòåðèñòèêè òî÷åê è ëèíèé. Ïðè ýòîì ìîæíî ðåøàòü ïðîáëåìû ïîñòðîåíèÿ ýëåêòðè÷åñêèõ ñåòåé, ñèñòåì ñâÿçè è èññëåäîâàíèÿ ïðîöåññîâ ïåðåäà÷è èíôîðìàöèè, âûáîðà îïòèìàëüíûõ ìàðøðóòîâ è ïîòîêîâ â ñåòÿõ, íàïðèìåð ïîñòðîåíèÿ ñåòè âûïîëíåíèÿ ðà3
áîò ïðè ïðîåêòèðîâàíèè èçäåëèÿ. Ïðè ýòîì ðåáðàì èëè (è) äóãàì ñåòè ñòàâÿòñÿ â ñîîòâåòñòâèå îïðåäåëåííûå êîëè÷åñòâåííûå õàðàêòåðèñòèêè ýíåðãèè, çàòðàò è ïîòîêà. Öåëü äàííîãî êóðñà ñîñòîèò â òîì, ÷òîáû îçíàêîìèòü ñòóäåíòîâ ñ îñíîâíûìè ïîíÿòèÿìè òåîðèè ãðàôîâ è ïåðâûìè ïðåäñòàâëåíèÿìè î ìîäåëÿõ òåîðèè ãðàôîâ, èõ ïðèëîæåíèÿõ ê ðåøåíèþ íåêîòîðûõ ïðèêëàäíûõ çàäà÷ ñ èñïîëüçîâàíèåì àëãîðèòìè÷åñêîãî ïîäõîäà è ñ âîçìîæíîñòüþ ïðèìåíåíèÿ ÝÂÌ.
4
1. ÎÑÍÎÂÍÛÅ ÎÏÐÅÄÅËÅÍÈß È ÏÎÍßÒÈß 1.1. Ýëåìåíòû òåîðèè ìíîæåñòâ Äëÿ îïðåäåëåíèÿ îñíîâíûõ ïîíÿòèé òåîðèè ãðàôîâ áóäóò èñïîëüçîâàíû íåêîòîðûå ñâåäåíèÿ èç òåîðèè ìíîæåñòâ. Ìíîæåñòâî îáðàçóåòñÿ ñîâîêóïíîñòüþ äèñêðåòíûõ îáúåêòîâ, ÿâëÿþùèõñÿ ýëåìåíòàìè ìíîæåñòâà, è îáîçíà÷àþòñÿ A = {a, b, c }, ãäå a, b, c ýëåìåíòû ìíîæåñòâà A. Ïðåäïîëàãàåòñÿ, ÷òî äëÿ êîíêðåòíûõ ýëåìåíòà à è ìíîæåñòâà À âñåãäà ìîæíî îïðåäåëèòü, ïðèíàäëåæèò ýëåìåíò à ìíîæåñòâó À (îáîçíà÷àåòñÿ à∈À) èëè íå ïðèíàäëåæèò (a∉A ). Ìíîæåñòâî À íàçûâàåòñÿ êîíå÷íûì, åñëè â íåì ñîäåðæèòñÿ êîíå÷íîå ÷èñëî ýëåìåíòîâ, íàïðèìåð, À={à1, a2,
, an}. ×èñëî n íàçûâàåòñÿ êîëè÷åñòâîì ýëåìåíòîâ À è îáîçíà÷àåòñÿ ÷åðåç |A|. Ìíîæåñòâî, ñîñòîÿùåå èç îäíîãî ýëåìåíòà, îáîçíà÷àåòñÿ ÷åðåç {a}. Ìíîæåñòâî, íå ñîäåðæàùåå ýëåìåíòîâ, íàçûâàåòñÿ ïóñòûì è îáîçíà÷àåòñÿ ∅, íàïðèìåð À=∅ îçíà÷àåò, ÷òî À ïóñòîå ìíîæåñòâî. 1.1.1. Îïåðàöèè íàä ìíîæåñòâàìè Âëîæåííîñòü ìíîæåñòâ (ïîäìíîæåñòâî) îïåðàöèÿ ⊆. Åñëè èç x∈A (ãäå x ëþáîé ýëåìåíò) ñëåäóåò x∈B, òî À íàçûâàþò ïîäìíîæåñòâîì  (À⊆Â) è ãîâîðÿò, ÷òî À âëîæåíî â  (À ñîäåðæèòñÿ â Â,  ñîäåðæèò À). Íàïðèìåð, åñëè À={à,b} è B={a, b, c}, òî À⊆Â. Äîïîëíåíèå ìíîæåñòâ îïåðàöèÿ ∪ (ñóììà). Ìíîæåñòâî À∪ âêëþ÷àåò âñå ýëåìåíòû ìíîæåñòâ À è  áåç ïîâòîðåíèÿ ýëåìåíòîâ, íàïðèìåð ïóñòü À={a, b}, B={b, c}, òîãäà À∪Â= ={a, b, c}. Ïåðåñå÷åíèå ìíîæåñòâ îïåðàöèÿ ∩. Ìíîæåñòâî À∩ âêëþ÷àåò ýëåìåíòû îáùèå äëÿ ìíîæåñòâ À è Â, íàïðèìåð: 1. Ïóñòü À={a, b}, B={b, c}, òîãäà A∩B={b}. 5
2. Ïóñòü A={a, b}, B={c, d}, òîãäà A∩B=∅. Äîïîëíåíèå ìíîæåñòâ îïåðàöèÿ \ (âû÷èòàíèå). Ìíîæåñòâî À\ âêëþ÷àåò âñå ýëåìåíòû ìíîæåñòâà À, íå ïðèíàäëåæàùèå Â, ò. å. èç À âû÷èòàþòñÿ ýëåìåíòû îáùèå ñ Â. Íàïðèìåð, ïóñòü A={a, b}, B={b, c}, òîãäà A\Â={a}. Òåîðåòèêî-ìíîæåñòâåííîå ïðîèçâåäåíèå îïåðàöèÿ ×. Ïóñòü À è  äâà ìíîæåñòâà. ×åðåç À× îáîçíà÷èì ìíîæåñòâî, ñîñòîÿùåå èç óïîðÿäî÷åííûõ ïàð (a,b), òàêèõ, ÷òî à∈À, b∈Â. Èíà÷å ãîâîðÿ, ñ∈À× òîãäà è òîëüêî òîãäà, êîãäà ñ åñòü ïàðà (a, b), ïðè÷åì à∈À, b∈B. Íàïðèìåð, ïóñòü A={a, b}, B={c, d}, òîãäà À×Â={(a, c), (a, d), (b, c), (b, d)}. Äëÿ îáëåã÷åíèÿ îáùåãî îïðåäåëåíèÿ ââåäåì ïîíÿòèå ïðîèçâåäåíèÿ ìíîæåñòâà ñàìîãî íà ñåáÿ. Óïîðÿäî÷åííûì, èëè äåêàðòîâûì (ïðÿìûì), ïðîèçâåäåíèåì ìíîæåñòâà V ñàìîãî íà ñåáÿ (êîòîðîå îáîçíà÷àåòñÿ V×V) íàçûâàåòñÿ ìíîæåñòâî âñåõ óïîðÿäî÷åííûõ ïàð (s, t), ãäå s∈V è t∈V. Çäåñü (s, t) è (t, s) ðàññìàòðèâàþòñÿ êàê ðàçëè÷íûå ýëåìåíòû, èñêëþ÷àÿ ñëó÷àé s=t. Åñëè ÷èñëî ýëåìåíòîâ |V|=n, òî V×V ñîñòîèò èç n2 óïîðÿäî÷åííûõ ïàð. Íàïðèìåð, ïóñòü V={v1, v2, v3}, òîãäà V×V={(v1, v1), (v1, v2), (v1, v3), (v2, v1), (v2, v2), (v2, v3), (v3, v1), (v3, v2), (v3, v3)}. Íåóïîðÿäî÷åííûì ïðîèçâåäåíèåì ìíîæåñòâà V ñàìîãî íà ñåáÿ (îáîçíà÷èì êàê V&V) íàçûâàåòñÿ ìíîæåñòâî âñåõ ðàçëè÷íûõ íåóïîðÿäî÷åííûõ ïàð [s, t], ïðè ýòîì ïàðû [s, t] è [t, s] ýêâèâàëåíòíû è òàê æå, êàê ïðè äåêàðòîâîì ïðîèçâåäåíèè, äîïóñêàåòñÿ ñîâïàäåíèå ýëåìåíòîâ ïàðû, ò. å. s=t. Ïðè |V|=n ìíîæåñòâî V&V ñîñòîèò èç n(n+1)/2 ðàçëè÷íûõ íåóïîðÿäî÷åííûõ ïàð. Íàïðèìåð, ïóñòü V={v 1, v 2, v 3}, òîãäà V&V={[v 1, v 1], [v 1, v 2], [v 1, v 3], [v 2, v 2], [v 2, v 3], [v 3, v 3]}. Ñïðàâåäëèâû îòíîøåíèÿ: A∩B⊆A, A∩B⊆B, A⊆A∪B, B⊆A∪B. Íàïðèìåð, åñëè A⊆B, B⊆C, òî A⊆C, ïîýòîìó èç ïðèâåäåííûõ âûøå ñîîòíîøåíèé ñëåäóåò, ÷òî A∩B⊆A∪B. Ñïðàâåäëèâû òàêæå ôîðìóëû äèñòðèáóòèâíîñòè: (A∪B)∩C=(A∩B)∪(B∩C), (A∩B)∪C=(A∪C)∩(B∪C). Ðàâåíñòâî ìíîæåñòâ îïåðàöèÿ =. A=B ñïðàâåäëèâî òîãäà è òîëüêî òîãäà, êîãäà A⊆B è A⊆B. 6
1.1.2. Îòíîøåíèå Ââåäåì ïîíÿòèå îòíîøåíèÿ. Ãîâîðÿò, ÷òî íà A çàäàíî îòíîøåíèå R, åñëè çàäàíî ïîäìíîæåñòâî R äåêàðòîâà ïðîèçâåäåíèÿ À×À (R⊆A×A). Ýëåìåíò à∈À íàõîäèòñÿ â îòíîøåíèè R ê ýëåìåíòó b∈A (çàïèñûâàåòñÿ êàê aRb) òîãäà è òîëüêî òîãäà, êîãäà (a,b)∈R. Ïðè ýòîì ñóùåñòâåí ïîðÿäîê ýëåìåíòîâ: ìîæåò áûòü, ÷òî à íàõîäèòñÿ â îòíîøåíèè R ê ýëåìåíòó b, íî b íå íàõîäèòñÿ â îòíîøåíèè R ê à. Îòíîøåíèå íàçûâàåòñÿ: à) ñèììåòðè÷íûì, åñëè aRb òîãäà è òîëüêî òîãäà, êîãäà bRa; á) ðåôëåêñèâíûì, åñëè äëÿ ëþáîãî a∈A aRa; â) òðàíçèòèâíûì, åñëè èç aRb è bRc ñëåäóåò aRc; ã) àíòèñèììåòðè÷íûì, åñëè èç aRb è bRa ñëåäóåò a=b. Èç ìíîæåñòâà âñåõ îòíîøåíèé âûäåëÿåòñÿ êëàññ îòíîøåíèé, îäíîâðåìåííî ñèììåòðè÷íûõ, òðàíçèòèâíûõ è ðåôëåêñèâíûõ. Òàêèå îòíîøåíèÿ íàçûâàþòñÿ îòíîøåíèÿìè ýêâèâàëåíòíîñòè. 1.1.3. Îòîáðàæåíèå Òåðìèíû îòîáðàæåíèå (êàê ïîíÿòèå îäíîçíà÷íîãî ñîîòâåòñòâèÿ) è ôóíêöèÿ áóäóò ðàññìàòðèâàòüñÿ êàê ñèíîíèìû. Ñ÷èòàåì, ÷òî çàäàíî îòîáðàæåíèå f : X→Y, åñëè êàæäîìó ýëåìåíòó x∈X ñîïîñòàâëåí ýëåìåíò f(x)∈Y. Ïóñòü f: X→Y íåêîòîðîå îòîáðàæåíèå. Åñëè A⊂X, òî îáðàçîì À ïðè îòîáðàæåíèè f íàçûâàåòñÿ ìíîæåñòâî ýëåìåíòîâ B⊂Y òàêîå, ÷òî y∈B òîãäà è òîëüêî òîãäà, êîãäà ñóùåñòâóåò x∈A òàêîé, ÷òî y=f(x). Ïðîîáðàçîì C⊂Y ïðè îòîáðàæåíèè f íàçûâàåòñÿ ìíîæåñòâî D⊂X òàêîå, ÷òî x∈D òîãäà è òîëüêî òîãäà, êîãäà f(x)∈C. Îáðàç è ïðîîáðàç îáîçíà÷èì ñîîòâåòñòâåííî f(A) è f 1(C). Îïåðàöèÿ âçÿòèÿ îáðàçà èëè ïðîîáðàçà ìíîæåñòâà óäîâëåòâîðÿþò ñîîòíîøåíèÿì: f f
1 1
f
(A∪B) = f 1(A) ∪ f 1(B), f (A∪B) = f (A) ∪ f (B); (A∩B) = f 1(A) ∩ f 1(B), f (A∩B) ⊂ f(A) ∩ f(B); 1
(Y \ A) = X \ f 1(A), f (X \ A) ⊃ f (X) \ f (A).
Îäíàêî íåëüçÿ óòâåðæäàòü, ÷òî f(A∩B)=f(A)∩f(B) è f(X\A)=f(X)\f(A). Äîñòàòî÷íî ðàññìîòðåòü ïîñòîÿííîå îòîáðàæåíèå f : X→Y (òàêîå, ÷òî f(x)=y0∈X äëÿ ëþáîãî x∈X). Îòîáðàæåíèå íàçûâàåòñÿ âçàèìíî-îäíîçíà÷íûì, åñëè f(x)=Y è äëÿ ëþáîãî y∈Y ìíîæåñòâî f1({y}) ñîñòîèò èç îäíîãî ýëåìåíòà. Íåòðóäíî 7
âèäåòü, ÷òî îïðåäåëåíî îòîáðàæåíèå f 1: Y→X. Èìåííî, f 1(y)=a òîãäà è òîëüêî òîãäà, êîãäà f 1({y})={a}. 1.2. Îñíîâíûå ïîíÿòèÿ äëÿ ãðàôîâ 1.2.1. Ãåîìåòðè÷åñêîå ïðåäñòàâëåíèå ãðàôîâ Ïðåæäå ÷åì îïðåäåëèòü ïîíÿòèå ãðàôà â íàèáîëåå îáùåé ôîðìå, ïîëåçíî ðàññìîòðåòü ãåîìåòðè÷åñêóþ ôîðìó ãðàôîâ. Ýòî ïîçâîëèò ñ ñàìîãî íà÷àëà ïîëó÷èòü óäîáíîå, íàãëÿäíîå ïðåäñòàâëåíèå ðàçëè÷íûõ ïîíÿòèé è ñòðóêòóð, êîòîðûå áóäóò ðàññìàòðèâàòüñÿ â äàëüíåéøåì. Ëþáîé ãðàô â àáñòðàêòíîì ñìûñëå ýêâèâàëåíòåí (ïî îòíîøåíèþ ê ñâîéñòâàì, èçó÷àåìûì â òåîðèè ãðàôîâ) íåêîòîðîìó ãåîìåòðè÷åñêîìó ãðàôó. Ïðè íåêîòîðîé èäåàëèçàöèè ìíîãèå èçâåñòíûå ñòðóêòóðû ìîæíî ðàññìàòðèâàòü êàê ãåîìåòðè÷åñêèå ãðàôû è èçó÷àòü ñ ïîìîùüþ ìåòîäîâ òåîðèè ãðàôîâ. Íàïðèìåð, â âèäå ãðàôà ìîæíî ïðåäñòàâèòü ñèñòåìó èëè ñåòü óëèö â ãîðîäå, åñëè ïðåíåáðå÷ü øèðèíîé ïîñëåäíèõ, à ïåðåñå÷åíèÿ ñ÷èòàòü òî÷êàìè. Ãåîìåòðè÷åñêèé ãðàô åñòü ãåîìåòðè÷åñêàÿ êîíôèãóðàöèÿ èëè ñòðóêòóðà â ïðîñòðàíñòâå, ñîñòîÿùàÿ èç ìíîæåñòâà òî÷åê, âçàèìîñâÿçàííûõ ìíîæåñòâîì íåïðåðûâíûõ, ñàìîíåïåðåñåêàþùèõñÿ êðèâûõ. Íà ðèñ. 1.1 ïîêàçàíî îáû÷íîå ïðåäñòàâëåíèå ãåîìåòðè÷åñêîãî ãðàôà, ñ ïîìîùüþ êîòîðîãî ìîæíî ïðîèëëþñòðèðîâàòü íåêîòîðûå òåðìèíû òåîðèè ãðàôîâ. Ñ ïîçèöèè òåîðèè ãðàôîâ ýëåìåíòû v íàçûâàþòñÿ âåðøèíàìè ãðàôà, à ñîåäèíÿþùèå èõ íåîðèåíòèðîâàííûå ëèíèè (u) ðåáðàìè èëè äóãàìè, åñëè ëèíèè ñíàáæåíû ñòðåëêàìè, è òîãäà ðàçëè÷àþò íåîðèåíòèðîâàííûé ãðàô (ðèñ.1.1,à) èëè îðèåíòèðîâàííûé ãðàô (ñîêðàùåííî îðãðàô) (ðèñ.1.1,á). Åñëè ìíîæåñòâî âåðøèí (V) è ðåáåð (äóã) (U) êîíå÷íî, òî ãðàô íàçûâàåòñÿ êîíå÷íûì. Ìû áóäåì ðàññìàòðèâàòü òîëüêî êîíå÷íûå ãðàôû. a)
v! u! v
u
u" u
v$
v" v v #
u# u$
á v u
u
v u!
u$ u"
v!
u#
v!
Ðèñ. 1.1. Ãåîìåòðè÷åñêîå ïðåäñòàâëåíèå ãðàôîâ: à íåîðèåíòèðîâàííûé ãðàô; á îðèåíòèðîâàííûé ãðàô
8
u%
Âåðøèíû, ñâÿçàííûå ðåáðîì èëè äóãîé, íàçûâàþòñÿ ñìåæíûìè. Åñëè ñìåæíûå âåðøèíû ñâÿçàíû áîëåå ÷åì îäíèì ðåáðîì èëè äóãîé, òî òàêèå ðåáðà (äóãè) íàçûâàþòñÿ êðàòíûìè, èëè ïàðàëëåëüíûìè (u3, u4 íà ðèñ. 1.1,à; u2, u3 íà ðèñ. 1.1,á), à ñàì ãðàô íàçûâàåòñÿ ìóëüòèãðàôîì, ò. å. ãðàôû íà ðèñ. 1.1 ÿâëÿþòñÿ ìóëüòèãðàôàìè. Âåðøèíû, íåñâÿçàííûå ñ äðóãèìè, íàçûâàþòñÿ èçîëèðîâàííûìè, íàïðèìåð, v4 íà ðèñ. 1.1,à. Ðåáðî (äóãà), íà÷èíàþùååñÿ è çàêàí÷èâàþùååñÿ â îäíîé òî÷êå, íàçûâàåòñÿ ïåòëåé (ïåòëè u6 íà ðèñ. 1.1,à è u7 íà ðèñ. 1.1,á). Ãîâîðÿò, ÷òî ðåáðî (äóãà) è åãî ãðàíè÷íûå òî÷êè èíöèäåíòíû äðóã äðóãó, èíà÷å ãîâîðÿ, âåðøèíû, èíöèäåíòíûå ðåáðó (äóãå), ÿâëÿþòñÿ åãî êîíöåâûìè òî÷êàìè, íàïðèìåð, íà ðèñ. 1.1,à ðåáðó u1 èíöèäåíòíû âåðøèíû v1 è v3, à âåðøèíå v3 èíöèäåíòíû ðåáðà u1, u3, u4. Âîîáùå ãîâîðÿ, ìíîæåñòâî äóã U (íî íå âåðøèí V) ìîæåò áûòü ïóñòûì, òîãäà ãîâîðÿò, ÷òî ãðàô âûðîæäåííûé. 1.2.2. Àáñòðàêòíûå ãðàôû Ãåîìåòðè÷åñêîå ïðåäñòàâëåíèå ãðàôîâ, ÿâëÿÿñü íàãëÿäíûì, òðóäíî ïîääàåòñÿ ìàòåìàòè÷åñêîé îáðàáîòêå, ïîýòîìó íåîáõîäèìî åãî ôîðìàëèçîâàòü è ïðåäñòàâèòü îïðåäåëåíèå ãðàôà â áîëåå îáùåì àáñòðàêòíîì âèäå. Õîòÿ ìíîãèå ãðàôû, ïðåäñòàâëÿþùèå ðåàëüíûå îáúåêòû (ïîñëå èõ èäåàëèçàöèè), ÿâëÿþòñÿ ãåîìåòðè÷åñêèìè ãðàôàìè, ñ òî÷êè çðåíèÿ òåîðèè ãðàôîâ, èõ åäèíñòâåííàÿ ñòðóêòóðíàÿ îñîáåííîñòü ñîñòîèò â òîì, ÷òî ñ êàæäûì ðåáðîì ñâÿçàíû äâå (âîçìîæíî ñîâïàäàþùèå) âåðøèíû. Òàêèå ðåáðà (äóãè) è âåðøèíû áûëè îïðåäåëåíû âûøå êàê âçàèìíî èíöèäåíòíûå. Ïîíÿòèå èíöèäåíòíîñòè ðåáåð (äóã) è èõ êîíöåâûõ âåðøèí ÿâëÿåòñÿ ôóíäàìåíòàëüíûì â òåîðèè ãðàôîâ, êîòîðàÿ ïîñòðîåíà ñ ó÷åòîì èìåííî ýòîé îñîáåííîñòè è íå ó÷èòûâàåò ðåàëüíîé ïðèðîäû âåðøèí è ðåáåð (äóã). Ââåäåíèå ïîíÿòèÿ àáñòðàêòíîãî ãðàôà ïîçâîëÿåò, âî-ïåðâûõ, èçáàâèòüñÿ îò ñëó÷àéíûõ ãåîìåòðè÷åñêèõ õàðàêòåðèñòèê, ñîõðàíèâ íàèáîëåå ñóùåñòâåííûå êîìáèíàòîðíûå ñâîéñòâà ãðàôà, âî-âòîðûõ, ðàñøèðèòü âîçìîæíîñòè ïðèëîæåíèÿ òåîðèè, òàê êàê ìíîãèå ðåàëüíûå ñòðóêòóðû èìåþò êîìáèíàòîðíûå ñâîéñòâà, êîòîðûå ïîëåçíî èññëåäîâàòü ñ ïîìîùüþ ìàòåìàòè÷åñêîãî àïïàðàòà òåîðèè ãðàôîâ. Íàïðèìåð, ïðè ïðîåêòèðîâàíèè ñëîæíîãî èçäåëèÿ (òåõíè÷åñêîãî èëè ïðîãðàììíîãî) â âèäå ãðàôà ìîæíî çàäàòü ñîîòíîøåíèå ìåæäó îòäåëüíûìè ðàáîòàìè, êîòîðûå ñîñòàâëÿþò ñëîæíûå ïðîåêòû.  ýòîì ñëó÷àå âåðøèíû ïðåäñòàâëÿ9
þò îòäåëüíûå ðàáîòû, à îòíîøåíèÿ èíöèäåíòíîñòè ãðàôà îòðàæàþò ïîñëåäîâàòåëüíîñòü âûïîëíåíèÿ îïðåäåëåííûõ ðàáîò. Ôîðìàëèçàöèÿ ãðàôà ìîæåò ïðèíèìàòü ðàçíûå ôîðìû, êîòîðûå ìû ðàññìîòðèì äàëåå. Íàïðèìåð, íèæåñëåäóþùàÿ òàáëèöà ñîäåðæèò âñþ èíôîðìàöèþ, íåîáõîäèìóþ äëÿ îïèñàíèÿ ãåîìåòðè÷åñêîãî ãðàôà (ðèñ. 1.1,à): Ðåáðà
Âåðøèíû, ñîîòâåòñòâóþùèå, ò. å. èíöèäåíòíûå, ðåáðàì
u1
v 1, v 3
u2
v 1, v 2
u3
v 1, v 3
u4
v 2, v 3
u5
v 5, v 6
u6
v5 v4
Ïîñêîëüêó ôîðìàëèçàöèÿ è îïåðàöèè äëÿ íåîðèåíòèðîâàííûõ è îðèåíòèðîâàííûõ ãðàôîâ èìåþò îòëè÷èÿ, ïðèâåäåì èõ àáñòðàêòíûå îïèñàíèÿ îòäåëüíî. 1.3. Îñíîâíûå ïîíÿòèÿ äëÿ íåîðèåíòèðîâàííûõ ãðàôîâ 1.3.1. Àáñòðàêòíûå îïèñàíèÿ íåîðèåíòèðîâàííûõ ãðàôîâ Ïóñòü V íåïóñòîå ìíîæåñòâî âåðøèí ãðàôà v∈V. Ðåáðîì, ñîåäèíÿþùèì äâå âåðøèíû vi è vj, íàçûâàåòñÿ íåóïîðÿäî÷åííàÿ ïàðà [vi, vj] èëè
(
)
[vj, vi]. Ðåáðî îáîçíà÷àåòñÿ u = vi , v j èëè u = v j , vi , à ìíîæåñòâî ðåáåð ãðàôà îáîçíà÷àåòñÿ U . Ìíîæåñòâî ðåáåð U ÿâëÿåòñÿ êîíå÷íûì ïîäìíîæåñòâîì íåóïîðÿäî÷åííîãî ïðîèçâåäåíèÿ V&V ñ ýëåìåíòàìè âèäà [v, w], ãäå v, w∈V è äîïóñòèìî ñîâïàäåíèå ýëåìåíòîâ ïàðû v = w. Òîãäà ãðàô G ìîæíî îïðåäåëèòü êàê ñîâîêóïíîñòü íåïóñòîãî êîíå÷íîãî ìíîæåñòâà âåðøèí V è ìíîæåñòâà ðåáåð U (âîçìîæíî ïóñòîãî) è 10
îáîçíà÷àòü G=(V, U ). Ïðè òàêîì îïðåäåëåíèè ãðàôà îòíîøåíèå èíöèäåíòíîñòè âåðøèí è ðåáåð çàäàåòñÿ íå ÿâíî. Íàïðèìåð, äëÿ ãåîìåòðè÷åñêîãî ãðàôà (ðèñ.1.2) ñîîòâåòñòâóþùèé àáñòðàêòíûé ãðàô ìîæíî îïèñàòü êàê ìíîæåñòâà: âåðøèí V={v1, v2, v3, v4} è ðåáåð U ={[v1, v2], [v2, v3], [v3, v4], [v4, v2], [v4, v1]}. Ìîæíî ââåñòè îòîáðàæåíèå èíöèäåíòíîñòè (èëè èíöèäåíöèè) à ãðàôà G. Åñëè âåðøèíû v, w∈V ÿâëÿþòñÿ ãðàíè÷íûìè (êîíöåâûìè) òî÷êàìè ðåáðà u ∈ U , òî ýòî ìîæíî îáîçíà÷èòü u ~[v, w] (÷èòàåòñÿ u ñîåäèíÿåò âåðøèíû v è w) è ââåñòè îòîáðàæåíèå Ã( u )=[v, w] ýòî îçíà÷àåò, ÷òî ðåáðî u èíöèäåíòíî êàæäîé èç âåðøèí v è w è íàîáîðîò âåðøèíû èíöèäåíòíû ðåáðó. L
L
L
u4 L"
L!
Ðèñ. 1.2. Ãåîìåòðè÷åñêèé ãðàô áåç îáîçíà÷åíèÿ ðåáåð
L"
u1
L
u5
u3
u2 L!
Ðèñ. 1.3. Ãåîìåòðè÷åñêèé ãðàô ñ îáîçíà÷åíèåì ðåáåð
Òîãäà ãðàô G ìîæíî îïèñàòü êàê ìàòåìàòè÷åñêóþ ñèñòåìó G=(V, U , Ã), ñîñòîÿùóþ èç äâóõ ìíîæåñòâ V (âåðøèí) è U (ðåáåð) è îòîáðàæåíèÿ à èíöèäåíòíîñòè ìíîæåñòâà U â V&V (ìíîæåñòâî íåóïîðÿäî÷åííûõ ïàð ýëåìåíòîâ âèäà [v, w]∈V). Íàïðèìåð, äëÿ ãåîìåòðè÷åñêîãî ãðàôà (ðèñ.1.3) ñîîòâåòñòâóþùèé àáñòðàêòíûé ãðàô ìîæíî îïèñàòü êàê ìíîæåñòâà: V={v1, v2, v3, v4}, U ={ u 1, u 2, u 3, u 4, u 5} è îòîáðàæåíèÿ èíöèäåíòíîñòè Ã={ u 1~[v1, v2], u 2~[v2, v3], u 3~[v3, v4], u 4~[v4, v1], u 5~[v4, v2]}. Ïîñêîëüêó îòîáðàæåíèå èíöèäåíòíîñòè ãðàôà à âêëþ÷àåò ìíîæåñòâî ðåáåð ãðàôà U , ïîñòîëüêó îïèñàíèå ãðàôà êàê ñîâîêóïíîñòè ìíîæåñòâà âåðøèí V è îòîáðàæåíèÿ à ìíîæåñòâà U â V&V âèäà G=(V, Ã) ïîëíîñòüþ îïðåäåëÿåò ãðàô. 11
1.3.2. Ëîêàëüíûå ñâîéñòâà íåîðèåíòèðîâàííûõ ãðàôîâ Äëÿ îïèñàíèÿ ðàçëè÷íûõ ñòðóêòóðíûõ ñâîéñòâ ãðàôîâ ïîëåçíî ââåñòè ðÿä äîïîëíèòåëüíûõ ïîíÿòèé, êîòîðûå îñîáåííî íàãëÿäíî èëëþñòðèðóþòñÿ íà ïðèìåðå ãåîìåòðè÷åñêèõ ãðàôîâ, ïîêàçàííûõ âûøå, à òàêæå íà ðèñ. 1.4. Åñëè u =[v, w], òî v è w íàçûâàþòñÿ ãðàíè÷íûìè òî÷êàìè u íåçàâèñèìî îò òîãî, ÿâëÿåòñÿ ãðàô ãåîìåòðè÷åñêèì èëè íåò. Ïåòëåé u =[v, v] íàçûâàåòñÿ ðåáðî u c åäèíñòâåííîé ãðàíè÷íîé òî÷êîé, ò. å. ïåòëÿ èíöèäåíòíà îäíîé âåðøèíå, íàïðèìåð ïåòëè u 4 è u 5 íà ðèñ. 1. 4. Ïàðàëëåëüíûìè (êðàòíûìè) íàçûâàu1 þòñÿ ðåáðà, åñëè îíè ñîåäèíÿþò îäíè L L è òå æå âåðøèíû, íàïðèìåð u 1~[v1, v2] u2 è u 2~[v1, v2].  ÷àñòíîñòè, äâå ïåòëè, u3 èíöèäåíòíûå îäíîé è òîé æå âåðøèíå, ÿâëÿþòñÿ ïàðàëëåëüíûìè, íàïðèìåð L! L" u 4 è u 5. u4 u5 Ãðàô G, èìåþùèé ïàðàëëåëüíûå ðåáðà, íàçûâàåòñÿ ìóëüòèãðàôîì, íàÐèñ. 1.4. Ïðèìåð ïðèìåð ìóëüòèãðàôû íà ðèñ. 1.1 è 1.4. íåîðèåíòèðîâàííîãî ãðàôà Ñìåæíûìè âåðøèíàìè íàçûâàþòñÿ âåðøèíû v è w, îáðàçóþùèå ãðàíè÷íûå òî÷êè ðåáðà u ~[v, w]. Îäíà âåðøèíà ìîæåò èìåòü íåñêîëüêî ñìåæíûõ âåðøèí, åñëè â íåé ñõîäÿòñÿ íåñêîëüêî ðåáåð, íàïðèìåð äëÿ âåðøèíû v2 ñìåæíûìè ÿâëÿþòñÿ âåðøèíû v1 è v3 (ðèñ. 1.4).  ÷àñòíîñòè, âåðøèíà v ñìåæíà ñàìà ñ ñîáîé, åñëè ñóùåñòâóåò ïåòëÿ, èíöèäåíòíàÿ v, íàïðèìåð âåðøèíà v3 ñìåæíà ñàìà ñ ñîáîé (ðèñ. 1. 4), â ïðîòèâíîì ñëó÷àå v íå ìîæåò áûòü ñìåæíîé ñàìà ñ ñîáîé. Ñìåæíûìè ðåáðàìè íàçûâàþòñÿ òàêèå, êîòîðûå èìåþò, ïî êðàéíåé ìåðå, îäíó îáùóþ ãðàíè÷íóþ òî÷êó. Íàïðèìåð, íà ðèñ. 1.4 ñìåæíûìè ÿâëÿþòñÿ ðåáðà u 1, u 2, u 3 ñ îáùåé âåðøèíîé v2. Ñìåæíûìè ìîæíî ñ÷èòàòü òàêæå ïàðàëëåëüíûå ðåáðà ( u 1 è u 2) è ïåòëè ( u 4 è u 5). Çàìåòèì, ÷òî ñìåæíîñòü ÿâëÿåòñÿ îòíîøåíèåì ìåæäó äâóìÿ ïîäîáíûìè ýëåìåíòàìè (ìåæäó âåðøèíàìè èëè ðåáðàìè), òîãäà êàê èíöèäåíòíîñòü åñòü îòíîøåíèå ìåæäó ðàçíîðîäíûìè ýëåìåíòàìè (âåðøèíàìè è ðåáðàìè). 12
1.3.3. Ñòåïåíü âåðøèíû Ñòåïåíüþ âåðøèíû δ(v) íàçûâàåòñÿ ÷èñëî êîíöîâ ðåáåð, èíöèäåíòíûõ âåðøèíå v (ò. å. ïåòëÿ ó÷èòûâàåòñÿ äâàæäû). Íàïðèìåð, δ(v3)=5 (ðèñ. 1.4). Èçîëèðîâàííîé âåðøèíîé íàçûâàåòñÿ òà, äëÿ êîòîðîé δ(v)=0, íàïðèìåð δ(v4)=0 (ðèñ. 1.4). Âûðîæäåííûì íàçûâàåòñÿ ãðàô, ó êîòîðîãî âñå âåðøèíû èçîëèðîâàíû. Ïóñòü äàíî |V| ÷èñëî âåðøèí, à | U | ÷èñëî ðåáåð êîíå÷íîãî ãðàôà G=(V, U ). Ïîÿâëåíèå êàæäîãî íîâîãî ðåáðà äîáàâëÿåò ïî åäèíèöå ê ñòåïåíÿì äâóõ âåðøèí (èëè â ñëó÷àå ïåòëè äîáàâëÿåò äâà ê ñòåïåíè îäíîé âåðøèíû), ïîýòîìó ñïðàâåäëèâî âûðàæåíèå
∑ δ(v) = 2| U |, ò. å.
v∈V
ýòî ÷åòíîå çíà÷åíèå. Åñëè V0 è V1 ìíîæåñòâà âåðøèí, èìåþùèõ ÷åòíûå è íå÷åòíûå ñòåïåíè ñîîòâåòñòâåííî, òî çíà÷åíèå
∑ δ(v) ÷åòíî, òàê êàê ýòî êîíå÷-
v∈V0
íàÿ ñóììà ÷åòíûõ ÷èñåë. Îòñþäà ñëåäóåò, ÷òî çíà÷åíèå
∑ δ( v ) ∑ δ ( v ) = ∑ δ ( v )
v∈V
v∈V0
v∈V1
òàêæå îáÿçàòåëüíî ÷åòíî, ÷òî äîêàçûâàåò ñëåäóþùåå óòâåðæäåíèå: â êîíå÷íîì ãðàôå ÷èñëî âåðøèí íå÷åòíîé ñòåïåíè ÷åòíî. Íàïðèìåð, äëÿ ãðàôà ðèñ.1.4 èìååì δ(v 1 )=2, δ(v 2 )=3, δ(v 3 )=5, δ(v 4 )=0, îòñþäà δ(v1)+δ(v4)=2, δ(v2)+δ(v4)=8. 1.3.4. Ðàçäåëåíèå íåîðèåíòèðîâàííîãî ãðàôà íà ñîñòàâëÿþùèå Ðàññìîòðèì ïîíÿòèÿ, èñïîëüçóåìûå äëÿ âûäåëåíèÿ âàæíåéøèõ ÷àñòåé ãðàôà. Ïóñòü çàäàí ãðàô G=(V, U ) (ðèñ.1.4). Ñóãðàôîì ãðàôà G íàçûâàåòñÿ ãðàô G'=(V, U '), ãäå U '⊂ U , ò. å. ñóãðàô ïîëó÷àåòñÿ èç èñõîäíîãî ãðàôà óäàëåíèåì íåêîòîðîãî ÷èñëà ðåáåð (ñ ñîõðàíåíèåì âåðøèí). Íàïðèìåð, íà ðèñ. 1.5,à ïîêàçàí ñóãðàô ãðàôà (ðèñ. 1.4) áåç êðàòíûõ ðåáåð è ïåòåëü. 13
à v
u1
á
v
v
u1
â v
v
u1
v
u2 u3
v"
v!
u3
v"
v!
u4
Ðèñ. 1. 5. Ïðèìåðû äåëåíèÿ ãðàôà: à ñóãðàô; á ïîäãðàô; â ÷àñòè÷íûé ãðàô
Ïîäãðàôîì ãðàôà G íàçûâàåòñÿ ãðàô G'=(V', U '), ãäå V'⊂V, U '= U ∩(V'&V'), ò. å. ïîäãðàô ïîëó÷àåòñÿ èç èñõîäíîãî ãðàôà óäàëåíèåì íåêîòîðîãî ÷èñëà âåðøèí âìåñòå ñî âñåìè ðåáðàìè, èíöèäåíòíûìè óäàëåííîé âåðøèíå. Íàïðèìåð, íà ðèñ. 1.5,á ïîêàçàí ïîäãðàô ãðàôà (ðèñ. 1.4) ïîñëå óäàëåíèÿ âåðøèíû v3 è èíöèäåíòíûõ åé ðåáåð è ïåòåëü ( u 3, u 4, u 5). ×àñòüþ (÷àñòè÷íûì ãðàôîì) ãðàôà G íàçûâàåòñÿ ãðàô G'=(V', U '), ãäå V'⊂V, U '⊂ U , ò. å. ÷àñòü ãðàôà ïîëó÷àåòñÿ èç èñõîäíîãî ãðàôà ïðèìåíåíèåì îáåèõ îïèñàííûõ îïåðàöèé. Íàïðèìåð, íà ðèñ. 1.5,â ïîêàçàíà ÷àñòü ãðàôà (ðèñ. 1.4) áåç êðàòíûõ ðåáåð è ïåòåëü ( u 2, u 4, u 5), áåç èçîëèðîâàííîé âåðøèíû v4. Èñõîäíûé ãðàô G íàçûâàåòñÿ íàäãðàôîì äëÿ âñåõ åãî ÷àñòåé. 1.3.5. Äèíàìè÷åñêèå ñâîéñòâà íåîðèåíòèðîâàííîãî ãðàôà Äî ñèõ ïîð ìû ðàññìàòðèâàëè ñòàòè÷åñêèå ñòðóêòóðíûå ñâîéñòâà ãðàôà è îòðàæàþùèå èõ ïîíÿòèÿ. Îäíàêî ãðàô îáëàäàåò è äèíàìè÷åñêèìè ñâîéñòâàìè, êîòîðûå ïîçâîëÿþò ïåðåìåùàòüñÿ ïî ñìåæíûì ðåáðàì îò îäíîé âåðøèíû ê äðóãîé. Äëÿ èçó÷åíèÿ ýòèõ ñâîéñòâ, êîòîðûå èãðàþò ôóíäàìåíòàëüíóþ ðîëü â òåîðèè ãðàôîâ, ââåäåì â ðàññìîòðåíèå ñîîòâåòñòâóþùèå ïîíÿòèÿ. Ìàðøðóòîì íàçûâàåòñÿ êîíå÷íàÿ ïîñëåäîâàòåëüíîñòü n ðåáåð ãðàôà u 1, u 2, ... , u n (íå îáÿçàòåëüíî ðàçëè÷íûõ), åñëè ñóùåñòâóåò ïîñëåäîâàòåëüíîñòü v0, v1, ... , vn èç n+1 (íå îáÿçàòåëüíî ðàçëè÷íûõ) âåðøèí òàêèõ, ÷òî u i~[vi1, vi], äëÿ i=1, 2, ... , n.
14
Äëèíîé ìàðøðóòà (n) íàçûâàåòñÿ ÷èñëî ðåáåð, êîòîðûå îí ñîäåðæèò. Ãîâîðÿò, ÷òî ìàðøðóò çàìêíóò, åñëè v0=vn, è íå çàìêíóò, åñëè v0≠vn.  ïîñëåäíåì ñëó÷àå ìîæíî ñêàçàòü, ÷òî ìàðøðóò ñîåäèíÿåò âåðøèíû v0 è vn. Çàìåòèì, ÷òî îäíî ðåáðî ìîæíî ðàññìàòðèâàòü êàê ìàðøðóò äëèíû 1. Äëÿ ãðàôà íà ðèñ. 1.6 ïîñëåäîâàv u1 u2 v! òåëüíîñòü ðåáåð u 1, u 5, u 2, u 3, u 4, v u 6 îáðàçóåò íåçàìêíóòûé ìàðøðóò u6 u4 u3 u5 äëèíû 6, ñîåäèíÿþùèé âåðøèíû v1 è v5. Åìó ñîîòâåòñòâóåò ïîñëåäîâàv" òåëüíîñòü âåðøèí v1, v2, v2, v3, v4, v# v2, v5. Åñëè çàìåíèòü â ìàðøðóòå Ðèñ. 1. 6. Ïðèìåð ãðàôà ðåáðî u 6 íà u 1, òî ïîëó÷èì ïðèìåð çàìêíóòîãî ìàðøðóòà ñ âåðøèíàìè v1, v2, v2, v3, v4, v2, v1. Öåïüþ íàçûâàåòñÿ íåçàìêíóòûé ìàðøðóò, åñëè âñå åãî ðåáðà ðàçëè÷íû. Íàïðèìåð, äëÿ ãðàôà íà ðèñ.1.6 ìîæíî âûäåëèòü ìíîæåñòâî ðåáåð u 1, u 5, u 4, u 3, u 2, îáðàçóþùèõ öåïü ñ ïîñëåäîâàòåëüíîñòüþ âåðøèí v1, v2, v2, v4, v3, v2. Öèêëîì íàçûâàåòñÿ öåïü, êîòîðàÿ íà÷èíàåòñÿ è çàêàí÷èâàåòñÿ â îäíîé è òîé æå âåðøèíå (v0=vn). Íàïðèìåð, äëÿ ãðàôà ðèñ.1.6 öèêë îáðàçóåò ïîñëåäîâàòåëüíîñòü ðåáåð u 2, u 3, u 4, u 5 ñ ïîñëåäîâàòåëüíîñòüþ âåðøèí v2, v3, v4, v2, v2. Ïðîñòîé öåïüþ íàçûâàåòñÿ öåïü, â êîòîðîé âñå n+1 âåðøèí v0, v1, ... , vn ðàçëè÷íû (î÷åâèäíî, ÷òî â ýòîì ñëó÷àå ðåáðà îáÿçàòåëüíî ðàçëè÷íû). Íàïðèìåð, äëÿ ãðàôà íà ðèñ.1.6 ïðîñòóþ öåïü ñîñòàâëÿþò ðåáðà u 6, u 2, u 3 ñ âåðøèíàìè v5, v2, v3, v4. Ïðîñòûì öèêëîì íàçûâàåòñÿ öèêë, åñëè v0= vn, íî âñå îñòàëüíûå âåðøèíû ðàçëè÷íû. Íàïðèìåð, äëÿ ãðàôà ïðîñòîé öèêë îáðàçóþò ðåáðà u 2, u 3, u 4 ñ ïîñëåäîâàòåëüíîñòüþ âåðøèí v2, v3, v4, v2. 1.3.6. Ñâÿçíîñòü íåîðèåíòèðîâàííîãî ãðàôà Ãðàô G=(V, U ) íàçûâàåòñÿ ñâÿçíûì, åñëè äëÿ âñåõ vi è vj∈V (vi≠vj) âñåãäà ñóùåñòâóåò öåïü èç vi â vj, ò. å. åñëè êàæäàÿ ïàðà ðàçëè÷íûõ âåðøèí ìîæåò áûòü ñîåäèíåíà, ïî êðàéíåé ìåðå, îäíîé öåïüþ.  ïðîòèâíîì ñëó÷àå ãðàô íàçûâàåòñÿ íåñâÿçíûì. Íàïðèìåð, ãðàô ðèñ.1.6 ÿâëÿåòñÿ ñâÿçíûì, à ãðàôû ðèñ. 1.4 è 1.7 íåñâÿçíûìè. 15
v u4
v!
u1
v
u2
u3
v$ u6
u5
v"
u7
v%
u8
v#
Ðèñ. 1.7. Ïðèìåð íåñâÿçíîãî ãðàôà
Äëÿ âåðøèíû vi îáîçíà÷èì ÷åðåç Ñ(vi) ñîâîêóïíîñòü âåðøèí ãðàôà, êîòîðûå ìîæíî ñîåäèíèòü öåïüþ ñ vi. Êîìïîíåíòîé ñâÿçíîñòè G(vi) íàçûâàåòñÿ ïîäãðàô ãðàôà G, ïîðîæäåííûé Ñ(vi). Íàïðèìåð, ãðàô G=(V, U ) íà ðèñ. 1.7 èìååò äâå êîìïîíåíòû ñâÿçíîñòè ñ ïîäìíîæåñòâàìè âåðøèí V1={v1, v2, v3, v4}, V2={v5, v6, v7}. Ïóñòü G1, G2,... êîìïîíåíòû ñâÿçíîñòè, ïîðîæäåííûå ïîäìíîæåñòâàìè âåðøèí V1, V2,... . Òîãäà 1. (∀i ∀j) Vi≠Vj, ò. å. íåò îäèíàêîâûõ ïîäìíîæåñòâ âåðøèí. 2. (∀i ∀j) Vi≠Vj ⇒ Vi ∩Vj=∅, ò. å. ïîäìíîæåñòâà âåðøèí íå ñîäåðæàò îáùèõ âåðøèí. 3. ∪ Vi = V , ò. å. îáúåäèíåíèå ïîäìíîæåñòâ âåðøèí ñîñòàâëÿåò ìíîi
æåñòâî âåðøèí ãðàôà, à òàêæå ∪ Ñ(vi)=V. vi∈V . Íà îñíîâå ïîíÿòèÿ êîìïîíåíò ñâÿçíîñòè ìîæíî äàòü äðóãîå îïðåäåëåíèå ñâÿçíîñòè ãðàôà: Ãðàô G=(V, U ) ñâÿçåí òîãäà è òîëüêî òîãäà, êîãäà ìíîæåñòâî åãî âåðøèí íåëüçÿ ðàçáèòü íà äâà íåïóñòûõ ïîäìíîæåñòâà V1 è V2 òàê, ÷òî îáå ãðàíè÷íûå òî÷êè êàæäîãî ðåáðà íàõîäÿòñÿ â îäíîì è òîì æå ïîäìíîæåñòâå. Ïóñòü G=(V, U ) ïðîèçâîëüíûé ãðàô. Çàäàäèì áèíàðíîå îòíîøåíèå ρ ìåæäó ïàðàìè âåðøèí ñëåäóþùèì îáðàçîì: v1 ρ v2 òîãäà è òîëüêî òîãäà, êîãäà v1 = v2 èëè êîãäà ñóùåñòâóåò öåïü, ñîåäèíÿþùàÿ v1 ñ v2. Îòíîøåíèå ρ ðåôëåêñèâíî (v ρ v äëÿ ëþáîãî v), ñèììåòðè÷íî (èç v1 ρ v2 ñëåäóåò v2 ρ v1) è òðàíçèòèâíî (èç v1 ρ v2 è v2 ρ v3 ñëåäóåò v1 ρ v3). Òàêèì îáðàçîì, ρ åñòü îòíîøåíèå ýêâèâàëåíòíîñòè. Îíî ðàçáèâàåò ìíîæåñòâî V åäèíñòâåííûì îáðàçîì íà êëàññû ýêâèâàëåíòíîñòè âçàèìíî ñâÿçíûõ âåðøèí. Äëÿ ãðàôà íà ðèñ. 1.7 òàêèìè êëàñ16
ñàìè ýêâèâàëåíòíîñòè ÿâëÿþòñÿ V1={v1, v2, v3, v4} è V2={v5, v6, v7}. Êàæäûé êëàññ ýêâèâàëåíòíîñòè âåðøèí âìåñòå ñ ðåáðàìè èç U , èíöèäåíòíûìè ýòèì âåðøèíàì, îáðàçóåò ñâÿçíûé ïîäãðàô, íàçûâàåìûé ïðîñòî êîìïîíåíòîé ñâÿçíîñòè ãðàôà G. Êîìïîíåíòà Gi ãðàôà G ÿâëÿåòñÿ ìàêñèìàëüíî ñâÿçíûì ïîäãðàôîì â òîì ñìûñëå, ÷òî ãðàô Gi íå èìååò ñâÿçíîãî ñîáñòâåííîãî íàäãðàôà. Îòñþäà ñëåäóåò åùå îäíî îïðåäåëåíèå êîìïîíåíòû ñâÿçíîñòè: Ïîäãðàô G' ãðàôà G íàçûâàåòñÿ êîìïîíåíòîé ñâÿçíîñòè ãðàôà G, åñëè 1) G' ñâÿçåí, 2) G' îáëàäàåò ñâîéñòâîì ìàêñèìàëüíîñòè, ò. å. åñëè G'' íåêîòîðûé äðóãîé ñâÿçíûé ïîäãðàô G è G'⊂ G'', òî ãðàôû G' è G'' ñîâïàäàþò. 1.3.7. Äåðåâüÿ è ëåñà â ãðàôå Äåðåâîì íàçûâàåòñÿ ñâÿçíûé ãðàô áåç öèêëîâ. Ãðàô ÿâëÿåòñÿ äåðåâîì òîãäà è òîëüêî òîãäà, êîãäà êàæäàÿ ïàðà ðàçëè÷íûõ âåðøèí ñîåäèíÿåòñÿ îäíîé è òîëüêî îäíîé öåïüþ. Ñâÿçíîñòü äåðåâà îçíà÷àåò ñóùåñòâîâàíèå, ïî êðàéíåé ìåðå, îäíîé òàêîé öåïè, à èç îòñóòñòâèÿ öèêëîâ ñëåäóåò ñóùåñòâîâàíèå åäèíñòâåííîé òàêîé öåïè. Ëåñîì èç K äåðåâüåâ íàçûâàåòñÿ ãðàô áåç öèêëîâ, ñîñòîÿùèé èç K êîìïîíåíò. Èç ãðàôà íà ðèñ.1.7 ïóòåì óäàëåíèÿ ðåáåð, çàìûêàþùèõ öèêëû, ìîæíî ïîëó÷èòü ðàçëè÷íûå âàðèàíòû äåðåâüåâ, íàïðèìåð òàêèå, êàê íà ðèñ.1.8. a v
á u1
v
u4
v!
v$
u7
v%
v
u6 u3
v"
v
u1
u6
u2
v#
v!
u3
v$
v"
v% u8
v#
Ðèñ. 1.8. Ïðèìåðû íåñâÿçíîãî ãðàôà â âèäå ëåñà èç äâóõ äåðåâüåâ
Óäàëåíèå ëþáîãî ðåáðà èç äåðåâà äåëàåò åãî íåñâÿçíûì, òàê êàê óäàëÿåìîå ðåáðî ñîñòàâëÿåò åäèíñòâåííóþ öåïü, ñîåäèíÿþùóþ åãî ãðàíè÷íûå òî÷êè. Ñëåäîâàòåëüíî, äåðåâî ìîæíî òàêæå îïðåäåëèòü êàê ìèíèìàëüíî ñâÿçíûé ãðàô, ãäå ìèíèìàëüíîñòü ïîíèìàåòñÿ â òîì ñìûñëå, ÷òî 17
îí íå ñîäåðæèò ïîäãðàôà, êîòîðûé ñîñòîèò èç âñåõ åãî âåðøèí è ÿâëÿåòñÿ ñâÿçíûì. Åñëè äåðåâî D ÿâëÿåòñÿ ïîäãðàôîì ãðàôà G, òî ðåáðà G, êîòîðûå ïðèíàäëåæàò äåðåâó D, íàçûâàþòñÿ âåòâÿìè äåðåâà D, à ðåáðà, íå ïðèíàäëåæàùèå äåðåâó D, õîðäàìè îòíîñèòåëüíî äåðåâà D. Åñëè âñå âåðøèíû G ïðèíàäëåæàò äåðåâó D, òî ãîâîðÿò, ÷òî äåðåâî ïîêðûâàåò ãðàô G. Ïðè ýòîì òîëüêî ñâÿçíûå ãðàôû èìåþò ïîêðûâàþùèå äåðåâüÿ è òîëüêî äåðåâüÿ èìåþò åäèíñòâåííûå ïîêðûâàþùèå äåðåâüÿ. Ðèñ. 1.8 èëëþñòðèðóåò îáùåå ñâîéñòâî äåðåâüåâ: êàæäîå äåðåâî ñ n âåðøèíàìè èìååò â òî÷íîñòè n 1 ðåáðî. Ïðèìåíèâ ýòîò ðåçóëüòàò ê êàæäîìó äåðåâó ëåñà, ìîæíî ñêàçàòü: ëåñ èç K äåðåâüåâ, ñîäåðæàùèé n âåðøèí, èìååò â òî÷íîñòè n k ðåáåð. 1.3.8. Ñïåöèàëüíûå êëàññû íåîðèåíòèðîâàííûõ ãðàôîâ Êëàññèôèêàöèÿ ãðàôîâ çàâèñèò îò ñòðóêòóðíûõ ïðèçíàêîâ, êîòîðûå èñïîëüçóþòñÿ â êà÷åñòâå îñíîâû äëÿ êëàññèôèêàöèè, íàïðèìåð, ãðàôû ìîæíî ðàçáèòü íà ñâÿçíûå è íåñâÿçíûå. Âîçìîæíû è äðóãèå ðàçíîâèäíîñòè ãðàôîâ. Îáûêíîâåííûì íàçûâàåòñÿ ãðàô, êîòîðûé íå ñîäåðæèò ïåòåëü è ïàðàëëåëüíûõ ðåáåð. Âî ìíîãèõ ñëó÷àÿõ äîñòàòî÷íî ðàññìàòðèâàòü òîëüêî îáûêíîâåííûå ãðàôû. Íàïðèìåð, ñâÿçíîñòü ãðàôà (èëè îòñóòñòâèå åå) íå ìåíÿåòñÿ, åñëè óäàëèòü âñå ïåòëè è ïàðàëëåëüíûå ðåáðà. Îáûêíîâåííûé ãðàô ìîæíî òàêæå îïðåäåëèòü êàê ãðàô, íå èìåþùèé öèêëîâ, êîòîðûå ñîäåðæàò ìåíåå òðåõ ðåáåð, òàê êàê öèêë èç äâóõ ðåáåð îáðàçóåòñÿ ïàðàëëåëüíûìè ðåáðàìè. Ïîëíûì íàçûâàåòñÿ ãðàô, â êîòîðîì ëþáûå äâå ðàçëè÷íûå âåðøèíû ÿâëÿþòñÿ ñìåæíûìè, ò. å. ñîåäèíÿþòñÿ ðåáðîì. Îáû÷íî ýòîò òåðìèí ïðèìåíÿåòñÿ ê îáûêíîâåííûì ãðàôàì, äëÿ êîòîðûõ ñóùåñòâóåò òîëüêî îäèí ïîëíûé ãðàô ñ ôèêñèðîâàííûì ÷èñëîì âåðøèí. Ñëåäîâàòåëüíî, âûðàæåíèå ïîëíûé ãðàô ñ k âåðøèíàìè îäíîçíà÷íî îïðåäåëÿåò ãðàô. Íà ðèñ. 1.9 èçîáðàæåí ïîëíûé ãðàô ñ ÷åòûðüìÿ âåðøèíàìè. Åñëè ñòåïåíü âåðøèíû δ(v)=k (÷èñëî ðåáåð, èíöèäåíòíûõ âåðøèíå, âêëþ÷àÿ ïàðàëëåëüíûå ðåáðà è ïåòëè) äëÿ âñåõ âåðøèí ãðàôà, òî ãðàô íàçûâàåòñÿ îäíîðîäíûì ãðàôîì ñòåïåíè k èëè ïðîñòî k-îäíîðîäíûì. Çàìåòèì, ÷òî îáûêíîâåííûé ïîëíûé ãðàô, èìåþùèé k âåðøèí, ÿâëÿåòñÿ (k1)îäíîðîäíûì. Íàïðèìåð, ãðàô íà ðèñ. 1.9 ÿâëÿåòñÿ 3-îäíîðîäíûì. Ãðàô íàçûâàåòñÿ k-ñâÿçíûì, åñëè ëþáàÿ ïàðà ðàçëè÷íûõ âåðøèí v è w ñîåäèíåíà, ïî êðàéíåé ìåðå, k öåïÿìè, êîòîðûå íå èìåþò îáùèõ âåð18
v
v!
v
V
V
v"
Ðèñ. 1.9. Ïðèìåð îáûêíîâåííîãî ïîëíîãî ãðàôà
Ðèñ. 1.10. Äâóäîëüíûé ãðàô
øèí, èñêëþ÷àÿ, êîíå÷íî, v è w. Íàïðèìåð, ëþáîé ïðîñòîé öèêë (èñêëþ÷àÿ ïåòëè) îáðàçóþò 2-ñâÿçíûé ãðàô. Íà ðèñ.1.9 èçîáðàæåí 4-ñâÿçíûé ãðàô. Ïðè k=1 ýòî ïîíÿòèå ñîâïàäàåò ñ ïîíÿòèåì îáû÷íîé ñâÿçíîñòè. Íàïðèìåð, äåðåâî ýòî îäíîñâÿçíûé ãðàô. Äâóäîëüíûì íàçûâàåòñÿ ãðàô, â êîòîðîì âåðøèíû ìîãóò áûòü ðàçáèòû íà äâà íåïåðåñåêàþùèõñÿ ïîäìíîæåñòâà V1 è V2 òàê, ÷òî êàæäîå ðåáðî èìååò îäíó ãðàíè÷íóþ òî÷êó â V1, à äðóãóþ â V2.  îáùåì ñëó÷àå ãðàô íàçûâàåòñÿ k-äîëüíûì, åñëè ìíîæåñòâî åãî âåðøèí ìîæíî ðàçáèòü íà k íåïåðåñåêàþùèõñÿ ïîäìíîæåñòâ {V1, V2,
, Vk} òàê, ÷òî íå ñóùåñòâóåò ðåáåð, ñîåäèíÿþùèõ âåðøèíû îäíîãî è òîãî æå ïîäìíîæåñòâà. Äâóäîëüíûé ãðàô èçîáðàæàþò, ðàçìåùàÿ ìíîæåñòâà âåðøèí V1 è V2 â ðàçíûõ ñòîëáöàõ (èëè ñòðîêàõ), êàê ïîêàçàíî íà ðèñ. 1.10. 1.3.9. Ìàòðè÷íîå ïðåäñòàâëåíèå ãðàôîâ Ìàòðèöà èíöèäåíöèé Äëÿ óäîáñòâà îáðàáîòêè ãðàôîâ ñ èñïîëüçîâàíèåì ÝÂÌ ëó÷øå âñåãî ïîäõîäèò ìàòðè÷íàÿ ôîðìà ïðåäñòàâëåíèÿ ãðàôà. Ïóñòü G ãðàô, èìåþùèé n âåðøèí è m ðåáåð. Ãðàô G ìîæíî îïèñàòü ìàòðèöåé èíöèäåíöèé A ðàçìåðîì n×m, ñòðîêè è ñòîëáöû êîòîðîé ñîîòâåòñòâóþò âåðøèíàì è ðåáðàì ãðàôà. Ýëåìåíò ìàòðèöû aij ïðèíèìàåò çíà÷åíèå 1 èëè 0 â çàâèñèìîñòè îò òîãî, èíöèäåíòíî j-å ðåáðî i-é âåðøèíå èëè íåò. Äëÿ ïåòëè âñå ýëåìåíòû ñòîëáöà ñ÷èòàþòñÿ ðàâíûìè 0. Ìàòðèöû, ñîäåðæàùèå òîëüêî ýëåìåíòû 1 èëè 0, íàçûâàþòñÿ áóëåâûìè ìàòðèöàìè. Íà ðèñ. 1.11 ïðåäñòàâëåí äâóõêîìïîíåíòíûé ãðàô è åãî ìàòðèöà èíöèäåíöèé. Íåêîòîðûå ñâîéñòâà ãðàôà ïðîÿâëÿþòñÿ â åãî ìàòðèöå èíöèäåíöèé. Íàïðèìåð, òàê êàê ðåáðî ãðàôà èíöèäåíòíî òî÷íî äâóì âåðøèíàì, òî êàæäûé 19
à
v"
u9
u4
u5
v
u1 u2
v
v$
u6
v!
u3
u7 v#
v%
u8
u1 u2 u3 u4 u5 u6 u7 u8 u9
á) L1 L2 L A7×9= 3 L4 L5 L6 L7
0 0 0 0 0 0 0
1 1 0 0 0 0 0
0 1 1 0 0 0 0
0 1 0 1 0 0 0
0 0 1 1 0 0 0
0 0 0 0 1 1 0
0 0 0 0 1 1 0
0 0 0 0 1 0 1
0 0 0 0 0 1 1
Ðèñ.1.11. Ìàòðè÷íîå ïðåäñòàâëåíèå ãðàôà à ãðàô; á ìàòðèöà èíöèäåíöèé
ñòîëáåö ìàòðèöû èíöèäåíöèé ñîäåðæèò ðîâíî äâå 1, ïðè÷åì äëÿ êðàòíûõ ðåáåð â îäèíàêîâûõ ñòðîêàõ. Èñêëþ÷åíèå ñîñòàâëÿåò ïåòëÿ, òàê êàê îíà äâàæäû èíöèäåíòíà îäíîé è òîé æå âåðøèíå. Ñòîëáåö, ñîîòâåòñòâóþùèé ïåòëå, ñîñòîèò èç íóëåé. Òàêèì îáðàçîì, ìàòðèöà èíöèäåíöèé íå óêàçûâàåò íà ñóùåñòâîâàíèå ïåòåëü äëÿ êîíêðåòíîé âåðøèíû, ïîýòîìó ïðè èçó÷åíèè ãðàôîâ ñ ïîìîùüþ òàêèõ ìàòðèö æåëàòåëüíî èñêëþ÷àòü ïåòëè. Ïðè ñîîòâåòñòâóþùåé íóìåðàöèè ðåáåð è âåðøèí ãðàôà êàæäàÿ åãî êîìïîíåíòà ñîîòâåòñòâóåò ïîäìàòðèöå ìàòðèöû èíöèäåíöèé, êîòîðàÿ â ýòîì ñëó÷àå èìååò áëî÷íóþ ñòðóêòóðó ñëåäóþùåãî âèäà: A1 0 A= ... 0
0 A2 ... 0
... 0 ... 0 , ... ... ... A n
ãäå Ài ìàòðèöà èíöèäåíöèé, ñîîòâåòñòâóþùàÿ i-é êîìïîíåíòå ãðàôà. Áëî÷íî-äèàãîíàëüíîå ïðåäñòàâëåíèå ãðàôà ìîæíî ïîëó÷èòü ïîñëåäîâà20
òåëüíîé íóìåðàöèåé ðåáåð è âåðøèí âíóòðè êàæäîé êîìïîíåíòû è ìåæäó êîìïîíåíòàìè, êàê ïîêàçàíî â ïðèìåðå, èëè íåïîñðåäñòâåííî ñ ïîìîùüþ ïîäñòàíîâêè ñòðîê è ñòîëáöîâ ìàòðèöû èíöèäåíöèé. Ìîæíî óòâåðæäàòü, ÷òî äâà ãðàôà èçîìîðôíû, åñëè îíè èìåþò îäíè è òå æå ìàòðèöû èíöèäåíöèé ñ òî÷íîñòüþ äî ïåðåñòàíîâîê ñòðîê è ñòîëáöîâ. Òàêèì îáðàçîì, ìàòðèöà èíöèäåíöèé îáåñïå÷èâàåò ïîëíîå îïèñàíèå ãðàôà (åñëè ïåòëè èñêëþ÷åíû). Ìàòðèöà ñìåæíîñòè âåðøèí Äëÿ íåîðèåíòèðîâàííûõ ãðàôîâ ìîæíî îïðåäåëèòü ìàòðèöó ñìåæíîñòè âåðøèí (èëè ïðîñòî ìàòðèöó ñìåæíîñòè). Ýòî êâàäðàòíàÿ ìàòðèöà S-ðàçìåðà n×n, ãäå ñòðîêè è ñòîëáöû ñîîòâåòñòâóþò âåðøèíàì ãðàôà, à ýëåìåíò si j ðàâåí ÷èñëó ðåáåð, èíöèäåíòíûõ îäíîâðåìåííî i-é è j-é âåðøèíàì. Òàêèì îáðàçîì, äëÿ ãðàôà íà ðèñ. 1.11 èìååì ìàòðèöó ñìåæíîñòè L1 L2 L S7×7= 3 L4 L5 L6 L7
L1 L2 L3 L4 L5 L6 L7 1 1 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 1 0 0 0 0 1 1 0 0 0 0 . 0 0 0 0 0 2 1 0 0 0 0 2 0 1 0 0 0 0 1 1 0
Ìàòðèöà ñìåæíîñòè íåîðèåíòèðîâàííîãî ãðàôà (áåç ïåòåëü) ñèììåòðè÷íà îòíîñèòåëüíî ãëàâíîé äèàãîíàëè, ïîñêîëüêó ïàðå âåðøèí (vi, vj) èíöèäåíòíû îäèíàêîâûå ðåáðà [vi, vj]=[vj, vi], ò. å. äîñòàòî÷íî ðàññìàòðèâàòü òîëüêî ïîëîâèíó ìàòðèöû âûøå ãëàâíîé äèàãîíàëè. Î÷åâèäíî, ÷òî ìàòðèöà ñìåæíîñòè îáûêíîâåííîãî ãðàôà (áåç ïåòåëü è êðàòíûõ ðåáåð) ÿâëÿåòñÿ áóëåâîé ìàòðèöåé. 1.3.10. Èçîìîðôèçì ãðàôîâ. Ïëîñêèé ãðàô Âåðíåìñÿ ê ïîíÿòèþ ãåîìåòðè÷åñêîãî ãðàôà, ðàñøèðèâ åãî. Îáîçíà÷èì n-ìåðíîå åâêëèäîâî ïðîñòðàíñòâî εn. Åâêëèäîâî n-ìåðíîå ïðîñòðàíñòâî åñòü ìíîæåñòâî ïîñëåäîâàòåëüíîñòåé èç n äåéñòâèòåëüíûõ ÷èñåë x = (x1,
, xn), â êîòîðîì ðàññòîÿíèå ìåæäó ëþáûìè äâóìÿ òî÷êàìè x = (x1,
,xn) è y = (y1,
, yn) îïðåäåëåíî ñëåäóþùèì îáðàçîì:
21
d ( x, y ) =
n
∑ ( xi − yi )2
.
i =1
Ïðîñòîé íåçàìêíóòîé êðèâîé â ïðîñòðàíñòâå εn íàçûâàåòñÿ íåïðåðûâíàÿ, ñàìîíåïåðåñåêàþùàÿñÿ êðèâàÿ, ñîåäèíÿþùàÿ äâå ðàçëè÷íûå òî÷êè â εn (ò. å. êðèâàÿ, ïîëó÷åííàÿ íåïðåðûâíîé äåôîðìàöèåé ïðÿìîëèíåéíîãî îòðåçêà). Àíàëîãè÷íî ïðîñòîé çàìêíóòîé êðèâîé íàçûâàåòñÿ íåïðåðûâíàÿ ñàìîíåïåðåñåêàþùàÿñÿ êðèâàÿ, êîíå÷íûå òî÷êè êîòîðîé ñîâïàäàþò. Ãåîìåòðè÷åñêèé ãðàô â ïðîñòðàíñòâå εn åñòü ìíîæåñòâî V={vi} òî÷åê ïðîñòðàíñòâà εn è ìíîæåñòâî U={ui} ïðîñòûõ êðèâûõ, óäîâëåòâîðÿþùèõ ñëåäóþùèì óñëîâèÿì: 1. Êàæäàÿ çàìêíóòàÿ êðèâàÿ â U ñîäåðæèò òîëüêî îäíó òî÷êó v∈V. 2. Êàæäàÿ íåçàìêíóòàÿ êðèâàÿ â U ñîäåðæèò ðîâíî äâå òî÷êè ìíîæåñòâà V, êîòîðûå ÿâëÿþòñÿ åå ãðàíè÷íûìè òî÷êàìè. 3. Êðèâûå â U íå èìåþò îáùèõ òî÷åê, çà èñêëþ÷åíèåì òî÷åê èç ìíîæåñòâà V. Ðàíåå áûëî îòìå÷åíî, ÷òî ëþáîé ãðàô â àáñòðàêòíîì ñìûñëå èäåíòè÷åí, èëè, èñïîëüçóÿ áîëåå ïðèíÿòûé òåðìèí, èçîìîðôåí íåêîòîðîìó ãåîìåòðè÷åñêîìó ãðàôó. Ãîâîðÿò, ÷òî ãðàôû G=(V, U ) è G'=(V', U ') èçîìîðôíû äðóã äðóãó, åñëè ñóùåñòâóåò âçàèìíî îäíîçíà÷íîå ñîîòíîøåíèå ìåæäó V è V' è ìåæäó U è U ', ñîõðàíÿþùåå îòíîøåíèå èíöèäåíòíîñòè. Èíà÷å ãîâîðÿ, ðåáðî u èíöèäåíòíî âåðøèíå v ãðàôà G òîãäà è òîëüêî òîãäà, êîãäà èíöèäåíòíû ñîîòâåòñòâóþùèå ýëåìåíòû u ' è v' â ãðàôå G'. Åñëè ãðàô G èçîìîðôåí ãåîìåòðè÷åñêîìó ãðàôó G', òî G' íàçûâàåòñÿ ãåîìåòðè÷åñêîé ðåàëèçàöèåé ãðàôà G. Ãðàô íàçûâàåòñÿ ïëîñêèì òîãäà è òîëüêî òîãäà, êîãäà îí èìååò ãåîìåòðè÷åñêóþ ðåàëèçàöèþ â ïðîñòðàíñòâå ε2, ò. å. íà ïëîñêîñòè. Íàïðèìåð, ãðàô G íà ðèñ. 1.12,à ïëîñêèé, òàê êàê îí èçîìîðôåí ãðàôó G', èçîáðàæåííîìó ðÿäîì. à
G: v
v!
á)
G:
v
v
v
v"
Ðèñ. 1.12. Ïëîñêèé ãðàô
22
v!
v"
Ðèñ. 1.12 èëëþñòðèðóåò î÷åâèäíûé, íî âàæíûé ôàêò: ãåîìåòðè÷åñêèé ãðàô ìîæåò áûòü ïëîñêèì, äàæå åñëè åãî íåëüçÿ ïðåîáðàçîâàòü â ïëîñêèé ãðàô ñ ïîìîùüþ íåïðåðûâíîé äåôîðìàöèè. Õîòÿ G è G' èìåþò ñóùåñòâåííûå îòëè÷èÿ ñ òî÷êè çðåíèÿ òîïîëîãèè, ñ òî÷êè çðåíèÿ òåîðèè ãðàôîâ îíè ýêâèâàëåíòíû. v Îáûêíîâåííûé ïîëíûé ãðàô, êîòîðûé èìååò íàèìåíüøåå ÷èñëî âåðøèí è íå ÿâëÿåòñÿ ïëîñêèì, åñòü ïîëíûé ãðàô èç v# v ïÿòè âåðøèí (ðèñ. 1.13). Åñëè â ïðîñòðàíñòâå ε2 òîëüêî îãðàíè÷åííûé êëàññ êîíå÷íûõ ãðàôîâ èìååò ãåîìåòðè÷åñêóþ ðåàëèçàöèþ, òî äëÿ ïðîñòðàíñòâà ε3 ñïðàâåäëèâî ñëåäóþùåå óòv" v! âåðæäåíèå: ëþáîé êîíå÷íûé ãðàô G èìååò ãåîìåòðè÷åñêóþ ðåàëèçàöèþ â ε3. Ðèñ. 1.13. Íåïëîñêèé ãðàô Î÷åâèäíî, ÷òî åñëè ëþáîé ãðàô ñîäåðæèò òàêîé ïÿòèâåðøèííûé ãðàô (èëè, âîîáùå, ëþáîé íåïëîñêèé ãðàô) â êà÷åñòâå ïîäãðàôà, òî îí îáÿçàòåëüíî íåïëîñêèé. 1.4. Îñíîâíûå ïîíÿòèÿ äëÿ îðèåíòèðîâàííûõ ãðàôîâ Âî ìíîãèõ ñëó÷àÿõ ïðè îïèñàíèè ãðàôà ëèíèÿì, ñîåäèíÿþùèì âåðøèíû ãðàôà, íåîáõîäèìî çàäàòü îðèåíòàöèþ (íàïðàâëåíèå), è òîãäà ëèíèè íàçûâàþòñÿ äóãàìè (ñòðåëêàìè), à ãðàô îðèåíòèðîâàííûì (îðãðàôîì). Ñòðóêòóðíîå ðàçëè÷èå ìåæäó íåîðèåíòèðîâàííûì ãðàôîì è îðãðàôîì ñîñòîèò â òîì, ÷òî â ïåðâîì ñëó÷àå ãðàíè÷íûå òî÷êè ðåáðà îáðàçóþò íåóïîðÿäî÷åííóþ, à âî âòîðîì óïîðÿäî÷åííóþ ïàðó âåðøèí. Íà ðèñ. 1.14 ïîêàçàíî, ÷òî ðåáðî ýêâèâàëåíòíî ïðîòèâîïîëîæíî íàïðàâëåííûì äóãàì.
à vi
á vj
vi
vj
Ðèñ. 1.14. Ðåáðî è äóãè ãðàôà
Íåîáõîäèìîñòü ââåäåíèÿ îðèåíòàöèè ëèíèé ãðàôà âîçíèêàåò ïî äâóì ïðè÷èíàì. Âî-ïåðâûõ, äóãà ïðåäñòàâëÿåò îòíîøåíèå ìåæäó ïàðîé íå23
ñèììåòðè÷íûõ âåðøèí. Íàïðèìåð, â ñèñòåìå ãîðîäñêèõ óëèö íåîáõîäèìî èçîáðàçèòü óëèöû ñ îäíîñòîðîííèì äâèæåíèåì. Âî-âòîðûõ, ââåäåíèå îðèåíòàöèè íåîáõîäèìî äëÿ óñòàíîâëåíèÿ ñèñòåìû êîîðäèíàò è óñòðàíåíèÿ íåîäíîçíà÷íîñòåé. Íàïðèìåð, ïðè ñîåäèíåíèè ýëåêòðè÷åñêèõ ïðèáîðîâ îäíî íàïðàâëåíèå íåîáõîäèìî îáîçíà÷èòü êàê ïîëîæèòåëüíîå äëÿ òîãî, ÷òîáû îäíîçíà÷íî îïèñàòü ðàñïðåäåëåíèå ýëåêòðè÷åñêîãî òîêà. Ïðåäñòàâèì ôîðìàëüíîå îïèñàíèå îðãðàôà, îïèðàÿñü íà ñòðóêòóðíûå òåðìèíû, ââåäåííûå äëÿ íåîðèåíòèðîâàííûõ ãðàôîâ. Îðãðàô G ìîæíî îïðåäåëèòü êàê ñîâîêóïíîñòü G=(V, U), ãäå V={v1,
, vn} ìíîæåñòâî âåðøèí ãðàôà, à U⊂V×V êîíå÷íîå ïîäìíîæåñòâî óïîðÿäî÷åííîãî (äåêàðòîâà) ïðîèçâåäåíèÿ V×V, îáðàçóþùåå ìíîæåñòâî äóã ãðàôà. Äóãó (ñòðåëêó), ñîåäèíÿþùóþ âåðøèíû vi, vj, îáîçíà÷àþò (vi, vj), ãäå vi íà÷àëî äóãè, à vj êîíåö äóãè. Ãîâîðÿò, ÷òî äóãà íàïðàâëåíà îò âåðøèíû vi ê âåðøèíå vj, èëè, ÷òî äóãà èñõîäèò èç âåðøèíû vi è âõîäèò â âåðøèíó vj. Äëÿ óäîáñòâà äóãè òàêæå îáîçíà÷àþò îäíîé áóêâîé: uij=(vi, vj), uk=(vi, vj) èëè u=(vi, vj). Ïðèìåð îðãðàôà ïðèâåäåí íà ðèñ. 1.15. v u v u%
u
u"
v"
u!
u$ u& u' v#
V v!
u#
L1 L S5×5= 2 L3 L4 L5
L1 L2 L3 L4 L5 0 1 0 0 0 1 0 2 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 1 1
Ðèñ. 1.15. Îðèåíòèðîâàííûé ãðàô è åãî ìàòðèöà ñìåæíîñòè
Îðãðàô íà ðèñ. 1.15 ñîñòîèò èç ìíîæåñòâà âåðøèí V={v1,v2,v3,v4,v5} è ìíîæåñòâà äóã U={u1=(v1, v2), u2=(v2, v1), u3=(v2, v3), u4=(v2, v3), u5= =(v3, v3), u6=(v3, v4), u7=(v4, v1), u8=(v5, v4), u9=(v5, v5)}. Ìàòðèöà ñìåæíîñòè âåðøèí îðãðàôà Îðãðàô ìîæíî îïèñàòü êâàäðàòíîé ìàòðèöåé ñìåæíîñòè Sn×n, ãäå n = | S | êîëè÷åñòâî âåðøèí ãðàôà, à ýëåìåíò sij ðàâåí êîëè÷åñòâó äóã (vi, vj), ò. å. ñòðåëîê, èäóùèõ îò âåðøèíû vi ê vj (ðèñ. 1.15). Ñìåæíûìè äóãàìè íàçûâàþòñÿ äóãè, èìåþùèå îáùóþ ãðàíè÷íóþ òî÷êó, íàïðèìåð, äóãè u1, u2, u3, u4 ñìåæíûå îòíîñèòåëüíî âåðøèíû v2 (ðèñ. 1.15). 24
Ñìåæíûìè âåðøèíàìè íàçûâàþòñÿ äâå ðàçëè÷íûå âåðøèíû vi, vj, åñëè ñóùåñòâóåò õîòÿ áû îäíà äóãà, èäóùàÿ îò îäíîé èç íèõ ê äðóãîé, íàïðèìåð, âåðøèíû v1 è v2, v1 è v4 ñìåæíû, à v1 è v3 íå ñìåæíû (ðèñ.1.15). Ïåòëåé íàçûâàåòñÿ äóãà (vi, vi), ãäå íà÷àëî è êîíåö äóãè ñîâïàäàþò, íàïðèìåð, ïåòëè u5=(v3, v3) è u9=(v5, v5) (ðèñ. 1.15). Êðàòíûìè íàçûâàþòñÿ äóãè, ãðàíè÷íûå òî÷êè êîòîðûõ ñîâïàäàþò. Ïðè ýòîì åñëè a1=(v, w) è b2=(v, w), òî äóãè a1 è b2 íàçûâàþòñÿ ïàðàëëåëüíûìè, à åñëè c3 = (w, v), òî äóãè a1 è c3 áóäåì íàçûâàòü âñòðå÷íûìè. Íàïðèìåð, ó ãðàôà íà ðèñ.1.15 åñòü êðàòíûå ïàðàëëåëüíûå äóãè u3 è u4 è âñòðå÷íûå äóãè u1 è u2. Ãðàô áåç ïàðàëëåëüíûõ äóã îïèñûâàåòñÿ áóëåâîé ìàòðèöåé ñìåæíîñòè. Ìóëüòèãðàôîì íàçûâàåòñÿ ãðàô ñ êðàòíûìè äóãàìè, ò. å. ãðàô íà ðèñ. 1.15 ÿâëÿåòñÿ ìóëüòèãðàôîì. Äóãà è åå ãðàíè÷íûå âåðøèíû èíöèäåíòíû äðóã äðóãó. Äóãà u=(v, w) ñ÷èòàåòñÿ ïîëîæèòåëüíî èíöèäåíòíîé åå êîíå÷íîé âåðøèíå w, ãîâîðÿò, ÷òî äóãà (ñòðåëêà) çàõîäèò â âåðøèíó w. Äóãà u ñ÷èòàåòñÿ îòðèöàòåëüíî èíöèäåíòíîé åå íà÷àëüíîé âåðøèíå v, ãîâîðÿò, ÷òî äóãà èñõîäèò èç ýòîé âåðøèíû. ×èñëî äóã, çàõîäÿùèõ â âåðøèíó v, íàçûâàåòñÿ ïîëîæèòåëüíîé ñòåïåíüþ v è îáîçíà÷àåòñÿ ÷åðåç δ+(v). Îòðèöàòåëüíàÿ ñòåïåíü v îïðåäåëÿåòñÿ àíàëîãè÷íî äëÿ èñõîäÿùèõ äóã è îáîçíà÷àåòñÿ δ(v). Îðèåíòèðîâàííàÿ ïåòëÿ, èíöèäåíòíàÿ v, ñ÷èòàåòñÿ ïîëîæèòåëüíî è îòðèöàòåëüíî èíöèäåíòíîé ñ v. Ñòåïåíü âåðøèíû ðàâíà δ(v)= δ+(v)+ δ(v). Ó÷èòûâàÿ, ÷òî êàæäàÿ äóãà ïîëîæèòåëüíî èíöèäåíòíà âåðøèíå è îòðèöàòåëüíî èíöèäåíòíà òàêæå îäíîé âåðøèíå, ïîëó÷èì
∑ δ + (v ) = ∑ δ − (v ) = U
v∈V
v∈V
,
ãäå |U| îçíà÷àåò ÷èñëî äóã ãðàôà. Âûøå áûëî ïîêàçàíî äëÿ íåîðèåíòèðîâàííîãî ãðàôà
∑ δ( v ) = 2 U
v∈V
.
1.4.1. Äóãè, èíöèäåíòíûå ïîäìíîæåñòâó âåðøèí Ïóñòü çàäàí ãðàô G=(V, U) è íåïóñòîå ïîäìíîæåñòâî V1 ìíîæåñòâà V (V1⊂V). Ãîâîðÿò, ÷òî äóãà u = (vi, vj) çàõîäèò â V1, åñëè vi∉V1, à vj∈V1 25
(êîíåö äóãè vj íàõîäèòñÿ â V1). Åñëè æå vi∈V1, à vj∉V1, òî ãîâîðÿò, ÷òî äóãà u èñõîäèò èç V1 (íà÷àëî äóãè vi íàõîäèòñÿ â V1).  îáîèõ ñëó÷àÿõ äóãó u íàçûâàþò èíöèäåíòíîé ïîäìíîæåñòâó V1. Îáîçíà÷èì ÷åðåç U + V1 è U −V ìíîæåñòâà äóã, çàõîäÿùèõ â V1 è èñõîäÿùèõ èç íåãî. Íàïðèìåð, 1 äëÿ ãðàôà íà ðèñ.1.15
U +V = {u1=(v1, v2)}, U −V1 = {u2=(v2, v1), u6(v3, v4)}. 1
Åñëè ïîäìíîæåñòâî ñâîäèòñÿ ê îäíîé âåðøèíå, òî äóãó íàçûâàþò èíöèäåíòíîé ýòîé âåðøèíå (çàõîäÿùåé â íåå èëè èñõîäÿùåé èç íåå). Îáîçíà÷èì ÷åðåç Ãv ïîäìíîæåñòâî âåðøèí V, ñìåæíûõ ñ v, â êîòîðûå ìîæíî ïðèéòè ïî èíöèäåíòíûì äóãàì (ñòðåëêè èñõîäÿò èç v) èëè èíà÷å ïîäìíîæåñòâî êîíöîâ äóã, èìåþùèõ íà÷àëîì âåðøèíó v. Íàïðèìåð, äëÿ ãðàôà íà ðèñ. 1.15 Ãv1 = {v2}, Ãv2 = {v1, v3}, Ãv3 = {v3, v4}, Ãv4 = {v1}, Ãv5 = {v4, v5}. Ïî ìàòðèöå ñìåæíîñòè S ìîæíî âûäåëèòü ïîäìíîæåñòâî Ãvi ïî i-é ñòðîêå, ãäå íåíóëåâûå ýëåìåíòû sij óêàçûâàþò íà âåðøèíû vj∈Ãvi. Ýòî îòîáðàæåíèå èíöèäåíòíîñòè è ñìåæíîñòè ïîçâîëÿåò îïðåäåëèòü ãðàô êàê ïàðó G=(V, Ã), îáðàçîâàííóþ ìíîæåñòâîì âåðøèí V è ìíîãîçàäà÷íûì îòîáðàæåíèåì à ìíîæåñòâà V â ñåáÿ. Ýëåìåíò vi∈V íàçûâàþò âåðøèíîé, à ïàðó (vi, vj), ãäå vj∈Ãvi, äóãîé. Ãðàô G èìååò ïîðÿäîê n, åñëè ÷èñëî âåðøèí |V|=n. Îòîáðàæåíèå à ìîæíî îïðåäåëèòü äëÿ ëþáîãî ïîäìíîæåñòâà èç V, íàïðèìåð äëÿ ãðàôà íà ðèñ. 1.15 Ã{v1, v2} = Ãv1 ∪ Ãv2 = {v2}∪{v1, v3} = {v1, v2, v3}. Îïðåäåëèì ãðàô G1 ñ ïîìîùüþ îáðàòíîãî îòîáðàæåíèÿ Ã1: G1 = (V, Ã1). Ñîîòâåòñòâóþùèå ïðåäñòàâëåíèÿ ãðàôà G1 ïîëó÷àþòñÿ, åñëè Ã1v ðàññìàòðèâàòü êàê ïîäìíîæåñòâà âåðøèí, ñìåæíûõ ñ v, èç êîòîðûõ ìîæíî çàéòè â âåðøèíó v ïî èíöèäåíòíûì äóãàì, ïðè ýòîì ìàòðèöà ñìåæíîñòè ãðàôà G1 îáðàçóåòñÿ òðàíñïîíèðîâàíèåì (ïåðåñòàíîâêîé ñòðîê è ñòîëáöîâ) ìàòðèöû ñìåæíîñòè ãðàôà G. Íàïðèìåð, äëÿ ãðàôà íà ðèñ.1.15 Ã1v1={v2, v4}, Ã1v2={v1}, Ã1v3={v2, v3}, Ã1v4={v3, v5}, Ã1v5={v5}. 26
Ïî òðàíñïîíèðîâàííîé ìàòðèöå ñìåæíîñòè S ò ìîæíî âûäåëèòü Ã1vi ïî i-é ñòðîêå, ãäå íåíóëåâûå ýëåìåíòû s òij óêàçûâàþò íà âåðøèíû vj∈ Ã1vi : L1 Ò L S5×5= 2 L3 L4 L5
L1 L2 L3 L4 L5 0 1 0 1 0 1 0 0 0 0 . 0 2 1 0 0 0 0 1 0 1 0 0 0 0 1
1.4.2. Ðàçäåëåíèå îðãðàôà íà ñîñòàâëÿþùèå Ñóãðàôîì G'=(V, Ã') ãðàôà G=(V, Ã) íàçûâàåòñÿ ãðàô, åñëè (∀vi∈V) (Ã'vi ⊆ Ãvi), ò. å. èç èñõîäíîãî ãðàôà óäàëÿåòñÿ íåêîòîðîå êîëè÷åñòâî äóã (ñ ñîõðàíåíèåì âåðøèí) (ðèñ.1.16, à,á). Ïîäãðàôîì G'=(V', Ã') ãðàôà G=(V, Ã) íàçûâàåòñÿ ãðàô, åñëè V'⊂V è (∀vi∈V) (Ã'vi=V'∩Ãvi), ò. å. èç èñõîäíîãî ãðàôà óäàëÿþòñÿ íåêîòîðûå âåðøèíû âìåñòå ñî âñåìè äóãàìè, èíöèäåíòíûìè óäàëåííîé âåðøèíå (ðèñ.1.16, à,â). ×àñòè÷íûì ïîäãðàôîì G'=(V', Ã') ãðàôà G=(V, Ã) íàçûâàåòñÿ ãðàô, åñëè V'⊂V, Ã'⊂Ã, ò. å. ê èñõîäíîìó ãðàôó ïðèìåíåíû îáå îïèñàííûå âûøå îïåðàöèè (ðèñ.1.16, à, ã).
à)
á v
v
v
v
v! v"
ã
â)
v
v! v"
v
v
v v"
v"
Ðèñ. 1.16. Ðàçäåëåíèå îðãðàôà íà ïîä÷àñòè: à îðãðàô ; á ñóãðàô; â ïîäãðàô; ã ÷àñòè÷íûé ãðàô
1.4.3. Íåêîòîðûå ñïåöèàëüíûå êëàññû îðãðàôîâ Ñèììåòðè÷åñêèì íàçûâàåòñÿ ãðàô G=(V, U), â êîòîðîì (∀vi∈V, ∀vj∈V) (vi, vj)∈U ⇒ (vj, vi) ∈U ( ò. å. ëþáûå äâå ñìåæíûå âåðøèíû vi è vj ñî27
à
á
v v!
v v"
â
v
v
v! v"
v
v
v! v"
Ðèñ. 1.17. Ðàçíîâèäíîñòè îðãðàôîâ: à ñèììåòðè÷åñêèé; á àíòèñèììåòðè÷åñêèé; â ïîëíûé
åäèíåíû äâóìÿ âñòðå÷íûìè, ò. å. ïðîòèâîïîëîæíî íàïðàâëåííûìè äóãàìè) (ðèñ. 1.17,à). Àíòèñèììåòðè÷åñêèì íàçûâàåòñÿ ãðàô G=(V,U), â êîòîðîì (∀vi∈V, ∀vj∈V) (vi, vj)∈U ⇒ (vj, vi)∉U (ïàðà ñìåæíûõ âåðøèí ìîæåò áûòü ñîåäèíåíà ëèøü â îäíîì íàïðàâëåíèè, ïåòëè îòñóòñòâóþò) (ðèñ.1.17,á). Ïîëíûì íàçûâàåòñÿ ãðàô G=(V, U), â êîòîðîì (∀v i∈V, ∀v j∈V) (vi, vj)∉ U ⇒ (vj, vi)∈U (i ≠ j) (ëþáûå äâå âåðøèíû ñîåäèíåíû ïî êðàéíåé ìåðå îäíîé äóãîé, ò. å. ñìåæíû) (ðèñ. 1.17, â). Ðåôëåêñèâíûì áóäåì íàçûâàòü ãðàô, èìåþùèé ïåòëþ â êàæäîé âåðøèíå. Òðàíçèòèâíûì íàçûâàåòñÿ ãðàô, â êîòîðîì èç íàëè÷èÿ äóã u1=(v, v') è u2=(v', v'') ñëåäóåò ñóùåñòâîâàíèå äóãè u3=(v, v''). Òàêèì îáðàçîì â òðàíçèòèâíîì ãðàôå ñóùåñòâîâàíèå ëþáîãî ïóòè èç âåðøèíû v â âåðøèíó w îçíà÷àåò ñóùåñòâîâàíèå äóãè èç v â w. Ïîëíûì ãðàôîì ñ ïåòëÿìè íàçûâàåòñÿ ãðàô G=(V, Ã), åñëè (∀vi∈V) Ãvi=V (êàæäàÿ ïàðà âåðøèí, ðàçëè÷íûõ èëè íåò, ñîåäèíÿåòñÿ äóãîé, ò. å. ýòî ñèììåòðè÷åñêèé, ðåôëåêñèâíûé è òðàíçèòèâíûé ãðàô). Î÷åâèäíî, ÷òî êàæäîìó ãðàôó ìîæíî ñîïîñòàâèòü ïîëíûé ãðàô ñ ïåòëÿìè. 1.4.4. Ïåðåìåùåíèÿ â îðãðàôå Ïåðåìåùåíèÿ ïî äóãàì îðãðàôà îáóñëîâëåíû èõ îðèåíòàöèåé. Ïóòåì äëèíû n ÿâëÿåòñÿ ïîñëåäîâàòåëüíîñòü (íå îáÿçàòåëüíî ðàçëè÷íûõ) äóã (u1, u2,
, un) òàêèõ, ÷òî äëÿ ñîîòâåòñòâóþùåé ïîñëåäîâàòåëüíîñòè n+1 âåðøèí v0, v1,
, vn ñïðàâåäëèâî ui=(vi-1, vi) äëÿ i=1, 2,
, n (ò. å. êîíåö ïðåäûäóùåé äóãè ñîâïàäàåò ñ íà÷àëîì ñëåäóþùåé). Ïóòü ìîæíî çàäàòü ïîñëåäîâàòåëüíîñòüþ äóã èëè âåðøèí, 28
v! ÷åðåç êîòîðûå îí ïðîõîäèò. Íàïðèìåð, íà ðèñ.1.18 ïîñëåäîâàòåëüíîñòü u äóã (u1, u5, u5, u3) îáðàçóåò ïóòü ñ ñîv u u" u% îòâåòñòâóþùåé ïîñëåäîâàòåëüíîñòüþ u! âåðøèí (v3, v2, v2, v2, v1). u# Ïóòü íàçûâàåòñÿ çàìêíóòûì, åñëè v u$ v" v0=vn, è íåçàìêíóòûì, åñëè v0≠vn.  ïîñëåäíåì ñëó÷àå ãîâîðÿò, ÷òî ïóòü Ðèñ.1.18. Îðãðàô ñîåäèíÿåò v0 è vn èëè, òî÷íåå, ÷òî îí èäåò èç v0 â vn. Ïðîñòûì ïóòåì íàçûâàåòñÿ ïóòü, â êîòîðîì íåò ïîâòîðÿþùèõñÿ äóã, íàïðèìåð ïóòü (u1, u5, u3, u6) íà ðèñ.1.18. ñ ïîñëåäîâàòåëüíîñòüþ âåðøèí (v3, v2, v2, v1, v4). Ýëåìåíòàðíûì ïóòåì íàçûâàåòñÿ ïóòü, åñëè âñå åãî âåðøèíû ðàçëè÷íû, íàïðèìåð ýëåìåíòàðíûé ïóòü (u1, u3, u6) ñ âåðøèíàìè (v3, v2, v1, v4) íà ðèñ. 1.18. Êîíòóðîì íàçûâàåòñÿ çàìêíóòûé ïóòü, êîãäà v0=vn, íàïðèìåð êîíòóð (u7, u2, u4, u2, u6) ñ âåðøèíàìè (v4, v3,v1, v3, v1, v4) íà ðèñ.1.18. Ïðîñòûì êîíòóðîì íàçûâàåòñÿ êîíòóð, â êîòîðîì âñå äóãè ðàçëè÷íû, íàïðèìåð êîíòóð (u1, u5, u3, u4) ñ âåðøèíàìè (v3, v2, v2, v1, v3). Ýëåìåíòàðíûì êîíòóðîì íàçûâàåòñÿ êîíòóð ñ ðàçëè÷íûìè âåðøèíàìè (êðîìå íà÷àëüíîé è êîíå÷íîé, êîòîðûå ñîâïàäàþò), íàïðèìåð, êîíòóð (u1, u3, u4) ñ âåðøèíàìè (v3, v2, v1, v3) íà ðèñ.1.18. Äëèíîé ïóòè µ = (u1, u2,
, un) íàçûâàþò ÷èñëî åãî äóã è îáîçíà÷àþò ÷åðåç L(µ), íàïðèìåð íà ðèñ.1.18 µ=(u1, u5, u3,u6); L(µ)=4; µ=(u1, u3, u4); L(µ)=3. Äëÿ óäîáñòâà ââîäÿò ïîíÿòèå ïóòè íóëåâîé äëèíû (èçîëèðîâàííàÿ âåðøèíà). Îðãðàô íàçûâàåòñÿ öèêëè÷åñêèì (êîíòóðíûì), åñëè îí ñîäåðæèò, ïî êðàéíåé ìåðå, îäèí êîíòóð, è àöèêëè÷åñêèì (áåñêîíòóðíûì) â ïðîòèâíîì ñëó÷àå. Çàìåòèì, ÷òî ïåòëÿ ÿâëÿåòñÿ ñïåöèàëüíûì âèäîì êîíòóðà. Ãàìèëüòîíîâ ïóòü ýòî ýëåìåíòàðíûé ïóòü, â êîòîðîì ÷èñëî äóã íà åäèíèöó ìåíüøå ÷èñëà âåðøèí ãðàôà V. Èíà÷å ãîâîðÿ, òàêîé ïóòü ïðîõîäèò ÷åðåç âñå âåðøèíû â òî÷íîñòè ïî îäíîìó ðàçó. Ïðè çàïèñè ñ ïîìîùüþ âåðøèí ãàìèëüòîíîâ ïóòü ýòî ïåðåñòàíîâêà âåðøèí ãðàôà. Íàïðèìåð, â ãðàôå ðèñ 1.18 åñòü äâà ãàìèëüòîíîâûõ ïóòè:
29
1) ïóòü (u1, u3, u6) ñ ïîñëåäîâàòåëüíîñòüþ âåðøèí (v3,v2, v1, v4); 2) ïóòü (u6, u7, u1) ñ ïîñëåäîâàòåëüíîñòüþ âåðøèí (v1, v4, v3,v2). Àíàëîãè÷íî ãàìèëüòîíîâ êîíòóð ýòî êîíòóð, ïðîõîäÿùèé ÷åðåç âñå âåðøèíû â òî÷íîñòè ïî îäíîìó ðàçó (èñêëþ÷àÿ ïðîèçâîëüíî âûáðàííîå íà÷àëî). Íàïðèìåð, íà ðèñ.1.18 åñòü îäèí ãàìèëüòîíîâ êîíòóð (u1, u3, u6, u7) ñ ïîñëåäîâàòåëüíîñòüþ âåðøèí (v3, v2, v1, v4, v3); ïðè÷åì ëþáàÿ âåðøèíà ìîæåò áûòü âûáðàíà â êà÷åñòâå íà÷àëüíîé öèêëè÷åñêèì ñäâèãîì. 1.4.5. Îðèåíòèðîâàííûå äåðåâüÿ Îðèåíòèðîâàííûì äåðåâîì (åãî íàçûâàþò òàêæå ïðàäåðåâîì), ðàñòóùèì èç êîðíÿ v0, íàçûâàåòñÿ ãðàô G=(V,U),åñëè:
1) (∃!v0∈V) Ã1{v0}=∅ (ãäå ñèìâîëüíîå îáîçíà÷åíèå ∃! îçíà÷àåò ñóùåñòâóåò îäíà è òîëüêî îäíà), ò. å. ñóùåñòâóåò åäèíñòâåííàÿ âåðøèíà v0 (íàçûâàåìàÿ êîðíåì äåðåâà), â êîòîðóþ íå çàõîäèò íè îäíà äóãà (íåò ïðåäøåñòâóþùèõ âåðøèí); 2) (∀vi∈V)|Ã1{vi}| =1 (vi≠v0), ò. å. â êàæäóþ äðóãóþ âåðøèíó çàõîäèò òîëüêî îäíà äóãà (òîëüêî îäíà âåðøèíà ïðåäøåñòâóåò âåðøèíå vi); 3) ãðàô íå ñîäåðæèò êîíòóðîâ. Âåðøèíà vi íàçûâàåòñÿ âèñÿ÷åé, åñëè Ãvi=∅, ò. å. èç vi íå èñõîäèò äóãà (íåò ñëåäóþùåé âåðøèíû), åå òàêæå íàçûâàþò ëèñòîì. Íà ðèñ.1.19,à ïîêàçàíî ïðàäåðåâî ñ êîðíåì v0 è âèñÿ÷èìè âåðøèíàìè v3, v4, v5, v6. Òàêèì îáðàçîì, ìîæíî ñêàçàòü, ÷òî ïðàäåðåâîì ÿâëÿåòñÿ ãðàô áåç êîíòóðîâ è ïåòåëü, â êîòîðîì èç êîðíÿ äåðåâà â ëþáóþ äðóãóþ âåðøèíó ìîæíî ïðèéòè òîëüêî ïî îäíîìó ýëåìåíòàðíîìó ïóòè. v
à v
v"
v v! v#
v
á
v$
v
v v!
v" v#
A
â B v$
F
C
D
G H
E
v% v& v' v Ðèñ. 1.19. Îðèåíòèðîâàííûå äåðåâüÿ : à ïðàäåðåâî; á äâîè÷íîå äåðåâî; â âåòâÿùèéñÿ ãðàô
30
J
I
K L
Äâîè÷íûì äåðåâîì íàçûâàåòñÿ ïðàäåðåâî, åñëè (∀vi∈V)|Ã{vi}|= 2 èëè 0, ò. å. èç êàæäîé âåðøèíû èñõîäèò äâå äóãè, åñëè ýòî íå âèñÿ÷àÿ âåðøèíà (ðèñ. 1.19,á). Âåòâÿùèìñÿ íàçûâàåòñÿ ãðàô, âñå ñâÿçíûå êîìïîíåíòû êîòîðîãî ÿâëÿþòñÿ ïðàäåðåâüÿìè (ðèñ 1.19,â). 1.4.6. Îðãðàôû è áèíàðíûå îòíîøåíèÿ Ïóñòü V ìíîæåñòâî îáúåêòîâ, ïîäëåæàùèõ èññëåäîâàíèþ ïóòåì èõ ïîïàðíîãî (áèíàðíîãî) ñðàâíåíèÿ. Ìíîæåñòâî âñåõ óïîðÿäî÷åííûõ ïàð v,v'∈V îáîçíà÷àåòñÿ V×V (äåêàðòîâî ïðîèçâåäåíèå). Ïîäìíîæåñòâî B⊆V×V íàçûâàåòñÿ áèíàðíûì îòíîøåíèåì, ò. å. (v,v')∈B. Áèíàðíîå îòíîøåíèå íàçûâàåòñÿ: ðåôëåêñèâíûì, åñëè (v,v')∈B; àíòèðåôëåêñèâíûì, åñëè (v,v)∉B; ñèììåòðè÷íûì, åñëè (v,v')∈B → (v',v)∈B; àíòèñèììåòðè÷íûì, åñëè (v,v')∈B è (v',v)∈B → v=v'; àñèììåòðè÷íûì, åñëè (v,v')∈B → (v',v)∉B; òðàíçèòèâíûì, åñëè (v,v')∈B è (v',v'')∈B → (v,v'')∈B; ëèíåéíûì, åñëè (v,v')∈B èëè (v',v)∈B. Áèíàðíûå îòíîøåíèÿ ëåãêî ïðåäñòàâëÿþòñÿ â âèäå îðãðàôà, ïðè ýòîì âåðøèíû ãðàôà ñîîòâåòñòâóþò îáúåêòàì ñðàâíåíèÿ vi∈V, à äóãè îòîáðàæàþò áèíàðíîå îòíîøåíèå ìåæäó îáúåêòàìè. Åñëè (v, v')∈B, òî ïðîâîäèòñÿ äóãà èç v â v', ïðè ýòîì v íà÷àëî, à v' êîíåö äóãè, ò. å. äóãà îïðåäåëÿåòñÿ ïàðîé (v,v'). Êàê ïîêàçàíî âûøå, ïîñëåäîâàòåëüíîñòü äóã (vi-1, vi), i=1, 2,
, n, ñîñòàâëÿåò ïóòü â ãðàôå. Êîíå÷íûé ïóòü, ó êîòîðîãî v0=vn, îáðàçóåò êîíòóð. Äóãà (v, v) íàçûâàåòñÿ ïåòëåé (îòðàæàåò ðåôëåêñèâíîå îòíîøåíèå).  äåéñòâèòåëüíîñòè, ëþáîå áèíàðíîå îòíîøåíèå Â, îïðåäåëåííîå íà ìíîæåñòâå V, ìîæåò áûòü ïðåäñòàâëåíî îðèåíòèðîâàííûì ãðàôîì, âåðøèíû êîòîðîãî ñîîòâåòñòâóþò ýëåìåíòàì V. Ãðàô ïîëíîñòüþ îïèñûâàåò îòíîøåíèå ïåðå÷èñëåíèåì âñåõ ñâÿçíûõ ýëåìåíòîâ. Òàêèì îáðàçîì, îðãðàô, â íåêîòîðîì ñìûñëå, ÿâëÿåòñÿ èñ÷åðïûâàþùåé ôîðìîé ïðåäñòàâëåíèÿ îòíîøåíèÿ, ò. å. îí ïîëíîñòüþ ïåðå÷èñëÿåò âñå ïàðû, äëÿ êîòîðûõ ðàññìàòðèâàåìîå îòíîøåíèå èìååò ìåñòî. Ðàññìîòðåííûå âûøå îïèñàíèÿ ñïåöèàëüíûõ êëàññîâ îðãðàôîâ, íå èìåþùèõ ïàðàëëåëüíûõ ðåáåð, àíàëîãè÷íû òåðìèíîëîãèè áèíàðíûõ îòíîøåíèé. Äåéñòâèòåëüíî, ðåôëåêñèâíûì íàçûâàåòñÿ ãðàô, èìåþùèé ïåòëþ (v, v) â êàæäîé âåðøèíå, ñèììåòðè÷åñêèì ÿâëÿåòñÿ ãðàô, â êîòîðîì êàæäîé äóãå u=(v, w), ñîîòâåòñòâóåò âñòðå÷íàÿ äóãà u'=(w, v), òðàíçèòèâíûì íàçûâàåòñÿ ãðàô, â êîòîðîì èç ñóùåñòâîâàíèÿ äóã u1=(v, v') è u2=(v', v'') ñëåäóåò ñóùåñòâîâàíèå äóãè u3=(v, v''). 31
1.4.7. Òðàíçèòèâíûå çàìûêàíèÿ Äëÿ òîãî ÷òîáû äàòü ôîðìàëèçîâàííîå îïðåäåëåíèå ñèëüíî ñâÿçíîãî ãðàôà, èãðàþùåãî âàæíóþ ðîëü ïðè ðåøåíèè ìíîãèõ çàäà÷ ìåòîäàìè òåîðèè ãðàôîâ, ââåäåì ïîíÿòèå òðàíçèòèâíîãî è îáðàòíîãî òðàíçèòèâíîãî çàìûêàíèÿ. Âûøå ìû îáîçíà÷èëè ÷åðåç Ãv ïîäìíîæåñòâî ñìåæíûõ âåðøèí-êîíöîâ äóã, èìåþùèõ íà÷àëîì âåðøèíó v, à ÷åðåç Ãv ïîäìíîæåñòâî ñìåæíûõ âåðøèííà÷àëà äóã, èìåþùèõ êîíöîì âåðøèíó v. Îáîçíà÷èì ÷åðåç Ãnv ïîäìíîæåñòâî òåõ âåðøèí, â êîòîðûå ìîæíî ïðèéòè èç âåðøèíû v, èñïîëüçóÿ ïóòè äëèíû n (èëè, áûòü ìîæåò, ìåíüøåé), à ÷åðåç à nv ïîäìíîæåñòâî òåõ âåðøèí, èç êîòîðûõ ìîæíî ïðèéòè â âåðøèíó v, èñïîëüçóÿ ïóòè äëèíû n (èëè, âîçìîæíî, ìåíüøåé). Íàïðèìåð, äëÿ ãðàôà íà ðèñ.1.20,à èìååì: Ãv1={v2, v3}, Ãv2={v1, v4, v5}, Ãv3={v4}, Ãv4={v1}, Ãv5={v4}; Ã2v1=Ã{Ãv1}=Ã{v2, v3}=Ãv2∪Ãv3={v1, v4, v5}∪{v4}={v1, v4, v5}; Ã3v1=Ã{Ã2v1}=Ã{v1, v4, v5}=Ãv1∪Ãv4∪Ãv5= ={v2, v3}∪{v1}∪{v4}={v1, v2, v3, v4}; Ã1v1={v2, v4}; Ã1v2={v1}; Ã1v3={v1}; Ã1v4={v2, v3, v5}; Ã1v5={v2}; Ã2v4=Ã{Ãv4}=Ã{v2, v3, v5}=Ãv2 ∪ Ãv3 ∪ Ãv5= ={v1}∪{v1}∪{v2}={v1, v2}; Ã3v4=Ã{Ã2v4}=Ã{v1, v2}=Ãv1 ∪ Ãv2={v2,v4}∪{v1}={v1, v2, v4}.
à
v
v#
á
v
v v
v" v!
v!
Ðèñ. 1.20. Îðãðàôû
32
v"
v#
v$
Òðàíçèòèâíûì çàìûêàíèåì íàçûâàåòñÿ ìíîãîçíà÷íîå îòîáðàæåíèå, îïðåäåëÿåìîå ôîðìóëîé Γˆ vi = {vi } ∪ Γvi ∪ Γ 2 vi ∪ ... ,
ò. å. òðàíçèòèâíîå çàìûêàíèå åñòü ìíîæåñòâî âåðøèí, â êîòîðûå ìîæíî ïðèéòè èç âåðøèíû vi ïî íåêîòîðîìó ïóòè áåç ïîâòîðåíèÿ äóã. Àíàëîãè÷íî îïðåäåëÿåòñÿ îáðàòíîå òðàíçèòèâíîå çàìûêàíèå: Γˆ − vi = {vi } ∪ Γ −1vi ∪ Γ −2 vi ∪ ... ,
ò. å. îáðàòíîå òðàíçèòèâíîå çàìûêàíèå åñòü ìíîæåñòâî âåðøèí, èç êîòîðûõ ïîïàäàþò â âåðøèíó vi ïî íåêîòîðîìó ïóòè áåç ïîâòîðåíèÿ äóã. Íàïðèìåð, äëÿ ãðàôà íà ðèñ.1.20,à àíàëîãè÷íî
È v1 = V, È v2= V, È v3 = V, È v4 = V, È v5 = V,
È v1=V, È v2=V, È v3=V, È v4=V, È v5=V, ò. å. èç êàæäîé âåðøèíû ìîæíî ïðèéòè â ëþáóþ äðóãóþ âåðøèíó. Äëÿ ãðàôà íà ðèñ. 1.20,á Ãv6 = {v6}, ò. å. èç âåðøèíû v6 íåëüçÿ ïîïàñòü íè â îäíó èç äðóãèõ âåðøèí, òîãäà êàê à v6 = V, ò. å. â âåðøèíó v6 ìîæíî ïðèéòè èç ëþáûõ äðóãèõ âåðøèí ãðàôà.
1.4.8. Ñèëüíî ñâÿçíûé îðãðàô Ñèëüíî ñâÿçíûì ãðàôîì G = (V, Ã) íàçûâàåòñÿ ãðàô, åñëè (∀vi ∈ V)È vi = V ,
ò. å. äëÿ ëþáûõ äâóõ âåðøèí vi, vj ñóùåñòâóåò ïóòü, èäóùèé èç vi â vj. Íàïðèìåð, ãðàô íà ðèñ 1.20,à ÿâëÿåòñÿ ñèëüíî ñâÿçàííûì, à åãî íàäãðàô íà ðèñ.1.20,á íå ÿâëÿåòñÿ òàêîâûì. Ñèëüíî ñâÿçíûé ãðàô ìîæíî îïðåäåëèòü òàêæå ñ ïîìîùüþ óñëîâèÿ (∀vi ∈ V)È − vi = V .
Áèíàðíîå îòíîøåíèå ñóùåñòâóåò ïóòü èç vi â vj ÿâëÿåòñÿ îòíîøåíèåì ÷àñòè÷íîãî ïîðÿäêà íà ìíîæåñòâå âåðøèí V, òàê êàê îíî òðàíçèòèâíî è ðåôëåêñèâíî. Áèíàðíîå îòíîøåíèå ñóùåñòâóåò ïóòü èç vi â vj è ïóòü èç vj â vi çàäàåò îòíîøåíèå ýêâèâàëåíòíîñòè (R), òàê êàê îíî, êðîìå òîãî, ñèììåòðè÷íî. Ýòî áèíàðíîå îòíîøåíèå ïîðîæäàåò êîíòóðû â ãðàôå. Çíà÷èò, ñèëüíî ñâÿçíûé ãðàô ýòî ãðàô, ñîäåðæàùèé êîíòóðû. 33
1.5. Ðåàëèçàöèÿ àëãîðèòìîâ òåîðèè ãðàôîâ íà ÝÂÌ Ðåøåíèå çàäà÷ ñ ïðèìåíåíèåì ìåòîäîâ òåîðèè ãðàôîâ äîëæíî ïîä÷èíÿòüñÿ îáùåé ïîñëåäîâàòåëüíîñòè ýòàïîâ ðåøåíèÿ çàäà÷ ñ ïðèìåíåíèåì ÝÂÌ. 1-é ýòàï ïîñòàíîâêà çàäà÷è. Äàåòñÿ ôîðìóëèðîâêà çàäà÷è, öåëåé åå ðåøåíèÿ è îãðàíè÷åíèé íà ñîäåðæàòåëüíîì åñòåñòâåííîì ÿçûêå. 2-é ýòàï ôîðìàëèçàöèÿ çàäà÷è. Ñîäåðæàòåëüíîå îïèñàíèå çàäà÷è ïåðåâîäèòñÿ íà ôîðìàëèçîâàííûé ÿçûê èñïîëüçóåìîé ìàòåìàòè÷åñêîé òåîðèè, ò. å. ñîçäàåòñÿ ìàòåìàòè÷åñêàÿ ìîäåëü çàäà÷è. 3-é ýòàï âûáîð ÷èñëåííîãî ìåòîäà ðåøåíèÿ çàäà÷è â ñîîòâåòñòâèè ñ çàäàííûìè êðèòåðèÿìè, íàïðèìåð ïðè èñïîëüçîâàíèè ÝÂÌ òàêèìè êðèòåðèÿìè ìîãóò áûòü âðåìÿ ðåøåíèÿ è îáúåì çàíèìàåìîé ïàìÿòè. 4-é ýòàï àëãîðèòìèçàöèÿ. Ïðè ïîñòðîåíèè àëãîðèòìîâ îáðàáîòêè ãðàôîâ äîëæíû ñîáëþäàòüñÿ îáùèå ñâîéñòâà àëãîðèòìîâ. 1. Äèñêðåòíîñòü. Ïðèìåíåíèå àëãîðèòìà îñóùåñòâëÿåòñÿ â äèñêðåòíîì âðåìåíè â ñîîòâåòñòâèè ñ ïîñëåäîâàòåëüíîñòüþ ïðàâèë, äåéñòâèé, îïåðàöèé, øàãîâ, ïðîöåäóð ïî îáðàáîòêå ãðàôîâ. 2. Äåòåðìèíèðîâàííîñòü. Äåéñòâèÿ íàä ãðàôîì â ñîîòâåòñòâèè ñ ïðàâèëàìè îáðàáîòêè äîëæíû áûòü ïðîñòûìè è îïðåäåëåííûìè, ïðè ýòîì ìîãóò èñïîëüçîâàòüñÿ èçâåñòíûå ïðîöåäóðû. 3. Ðåçóëüòàòèâíîñòü. Àëãîðèòì ñîñòîèò èç ñîâîêóïíîñòè êîíå÷íîãî ÷èñëà ïðàâèë è äåéñòâèé, êîòîðûå äîëæíû îò èñõîäíûõ äàííûõ ïðèâåñòè ê èñêîìîìó ðåçóëüòàòó çà êîíå÷íîå ÷èñëî øàãîâ. Âûáîð ïðàâèë è äåéñòâèé çàâèñèò òîëüêî îò ðåçóëüòàòîâ ïðåäûäóùèõ øàãîâ, íàïðèìåð îò ðåçóëüòàòà àíàëèçà âåðøèí ñìåæíûõ ñ äàííîé âåðøèíîé. 4. Ìàññîâîñòü. Àëãîðèòì äîëæåí ïðèìåíÿòüñÿ äëÿ öåëîãî êëàññà çàäà÷, à íå îäíîé çàäà÷è. Îäíàêî, åñëè ðåøåíèå çàäà÷è ïðåäñòàâëåíî â âèäå àëãîðèòìà ñ ñîáëþäåíèåì ñâîéñòâ 14, îí ìîæåò èìåòü ñâîþ ñïåöèôèêó, ñâÿçàííóþ ñ ÿçûêîì òåîðèè ãðàôîâ è îòðàæàþùóþñÿ â åãî ôîðìóëèðîâêå. Èìååòñÿ îïðåäåëåííîå ðàçëè÷èå â ñòåïåíè ïîäãîòîâëåííîñòè çàïèñè àëãîðèòìîâ äëÿ èõ ðåàëèçàöèè íà ÝÂÌ. Ïîýòîìó íåîáõîäèìî ïðèâåñòè àëãîðèòì, íàïèñàííûé íà ñîäåðæàòåëüíîì óðîâíå è íà óðîâíå àáñòðàêöèé òåîðèè ãðàôîâ, ê âèäó ìàøèííî-îðèåíòèðîâàííûõ àëãîðèòìîâ. Ìàøèííî-îðèåíòèðîâàííûìè, ò. å. êîìïüþòåðíûìè, ÿâëÿþòñÿ àëãîðèòìû, êîòîðûå ìîæíî çàïèñûâàòü â âèäå ïðîãðàììû äëÿ ÝÂÌ. 5-é ýòàï ïðîãðàììèðîâàíèå. ÝÂÌ ìîæåò áûòü ïðèìåíåíà äëÿ ðåøåíèÿ çàäà÷è òåîðèè ãðàôîâ òîëüêî ïîñëå òîãî, êàê åå àëãîðèòì áóäåò 34
çàïèñàí â âèäå ïðîãðàììû, ò. å. äåòàëüíûõ èíñòðóêöèé ïî îáðàáîòêå ãðàôà íà ÿçûêå, ïîíÿòíîì ÝÂÌ.  ïðîãðàììå äîëæíî áûòü ïðåäóñìîòðåíî, êàêèå äàííûå è â êàêîì âèäå äîëæíû áûòü ââåäåíû â ÝÂÌ äëÿ èõ ïîñëåäóþùåé îáðàáîòêè. ×àùå âñåãî ãðàô ââîäèòñÿ â ÝÂÌ ñ ïîìîùüþ ìàòðèöû ñìåæíîñòè âåðøèí. Íàïðèìåð, äëÿ ãðàôà G=(V,U) áåç ïàðàëëåëüíûõ äóã ìàòðèöà ñìåæíîñòè ýòî êâàäðàòíàÿ áóëåâà ìàòðèöà ||Sij|| ðàçìåðîì n×n, ãäå n ÷èñëî âåðøèí ãðàôà. Ýëåìåíò Sij = 1, åñëè äóãà(vi, vj)∈ U, è Sij = 0 â ïðîòèâíîì ñëó÷àå. Êðîìå òîãî, ìîæåò ïîòðåáîâàòüñÿ ââåäåíèå äîïîëíèòåëüíîé èíôîðìàöèè î ãðàôå â âèäå ìàññèâîâ (ìàòðèö è âåêòîðîâ). Âîçìîæíî äóãàì è/èëè âåðøèíàì ìîãóò áûòü ïðèïèñàíû íåêîòîðûå ÷èñëà (óñëîâíî ãîâîðÿ, äëèíû äóã, âåñà âåðøèí), îòðàæàþùèå äîïîëíèòåëüíûå ñâîéñòâà ñâÿçåé ìåæäó âåðøèíàìè. Íàïðèìåð, äëèíà äóãè ýòî ðàññòîÿíèå ìåæäó óäàëåííûìè îáúåêòàìè, ïðåäñòàâëåííûìè âåðøèíàìè ãðàôà. Ïðîãðàììà äîëæíà ÷åòêî ïðåäïèñàòü ïîñëåäîâàòåëüíîñòü îïåðàöèé, êîòîðûå íóæíî ïðîèçâåñòè íàä ìàòðèöåé ñìåæíîñòè ãðàôà, äðóãèìè âõîäíûìè äàííûìè è ïðîìåæóòî÷íûìè ðåçóëüòàòàìè (ìàòðèöàìè, âåêòîðàìè, ÷èñëàìè), ôîðìèðóåìûìè â ïðîöåññå ðåøåíèÿ, ÷òîáû ïîëó÷èòü âûõîäíûå ðåçóëüòàòû, à òàêæå ïðåäóñìîòðåòü, â êàêîì âèäå ýòè ðåçóëüòàòû áóäóò âûäàíû ÝÂÌ äëÿ ïîëüçîâàòåëÿ. 6-é ýòàï îòëàäêà, ò. å. ïîèñê è èñïðàâëåíèå ñèíòàêñè÷åñêèõ (ôîðìàëüíûõ) îøèáîê, à òàêæå ñåìàíòè÷åñêèõ (ñìûñëîâûõ) îøèáîê ñ èñïîëüçîâàíèåì ñïåöèàëüíûõ òåñòîâûõ äàííûõ. 7-é ýòàï èñïîëüçîâàíèå îòëàæåííîé ïðîãðàììû äëÿ ðàñ÷åòîâ ñ ðåàëüíûìè èñõîäíûìè äàííûìè. 8-é ýòàï èíòåðïðåòàöèÿ ðåçóëüòàòîâ, ïîëó÷åííûõ â õîäå ðàáîòû ïðîãðàììû è ðåêîìåíäàöèè ïî èõ èñïîëüçîâàíèþ. Ïîñëå ýòèõ êðàòêèõ çàìå÷àíèé íåòðóäíî ïîíÿòü, êàêàÿ áîëüøàÿ äèñòàíöèÿ, êàê ïðàâèëî, èìååòñÿ ìåæäó ôîðìóëèðîâêîé àëãîðèòìà íà ÿçûêå òåîðèè ãðàôîâ è ïðîãðàììîé äëÿ ÝÂÌ. Èìåííî ðàçðàáîòêà êîìïüþòåðíîãî àëãîðèòìà äîëæíà áûòü ðåçóëüòàòîì ýòàïîâ ôîðìàëèçàöèè è àëãîðèòìèçàöèè ïðè ðåøåíèè ïðèêëàäíûõ çàäà÷ ñ ïðèìåíåíèåì òåîðåòè÷åñêèõ ìîäåëåé òåîðèè ãðàôîâ. Íèæå áóäåò ðàññìîòðåíî ðåøåíèå íåêîòîðûõ çàäà÷ ñ èñïîëüçîâàíèåì àëãîðèòìîâ òåîðèè ãðàôîâ ñ âîçìîæíûì ïðèìåíåíèåì êîìïüþòåðíûõ àëãîðèòìîâ. 35
2. ÇÀÄÀ×È Î ÏÓÒßÕ Â ÎÐÃÐÀÔÅ Àëãîðèòìû ýòèõ çàäà÷ èãðàþò áîëüøóþ ðîëü â òåîðèè ãðàôîâ, ïîñêîëüêó ñ èõ ïîìîùüþ ðåøàþòñÿ ìíîãèå ïðèêëàäíûå çàäà÷è. Íàïðèìåð, ýòî çàäà÷è î ñóùåñòâîâàíèè ïóòåé ìåæäó âåðøèíàìè ãðàôà, î êîëè÷åñòâå ïóòåé ìåæäó äâóìÿ âåðøèíàìè, î ïóòè ñ íàèìåíüøèì ÷èñëîì äóã ìåæäó âåðøèíàìè, î êðàò÷àéøåì ïóòè ìåæäó äâóìÿ âåðøèíàìè, î äëèííåéøåì ïî âðåìåíè ïóòè îò íà÷àëüíîé âåðøèíû äî êîíå÷íîé âåðøèíû ãðàôà (òàê íàçûâàåìûé êðèòè÷åñêèé ïóòü), î äåðåâå êðàò÷àéøèõ ðàññòîÿíèé è äðóãèå çàäà÷è. 2.1. Ñóùåñòâîâàíèå ïóòåé â îðãðàôå Ïîñòàíîâêà çàäà÷è.  îðãðàôå òðåáóåòñÿ îïðåäåëèòü, ñóùåñòâóþò ëè êàêèå-ëèáî ïóòè ìåæäó âåðøèíàìè ãðàôà. Ïóñòü N0 = {1,2,3, ...} ìíîæåñòâî íàòóðàëüíûõ ÷èñåë áåç íóëÿ. Äëÿ ãðàôà G=(V, Ã) ïóòü ïîëîæèòåëüíîé äëèíû èç âåðøèíû vi â vj ñóùåñòâóåò, åñëè (∃p ∈ N 0 ) v j ∈ à p vi .
(2.1)
Åñëè ðàññìàòðèâàòü ïóòè äëèíû íîëü, òî (2.1) ìîæíî çàïèñàòü òàê:
v j ∈ È vi ,
(2.2)
ò. å.vj âõîäèò â ìíîæåñòâî òðàíçèòèâíîãî çàìûêàíèÿ âåðøèíû vi. 2.1.1. Ìåòîä ðåøåíèÿ çàäà÷è î ïóòÿõ â ãðàôå Áóëåâà ìàòðèöà ñìåæíîñòè ||S||n×n ãðàôà G=(V, Ã) áåç ïàðàëëåëüíûõ äóã ïîêàçûâàåò, êàêèå ñóùåñòâóþò ïóòè äëèíû 1 (íàïðèìåð, ðèñ. 2.1), ïðè ýòîì |V| = n. Ïðèìåíèì ê ìàòðèöå ||S|| îïåðàöèè áóëåâûõ óìíîæåíèÿ è ñëîæåíèÿ. Ïóñòü ||S||2 = ||S||∧||S||, ||S||4 = ||S||2∧||S||2, ....................... 36
òîãäà 2r −1
2r
S ij = S i1
2r −1
2r −1
2r −1
2r −1
∧ S 1 j ∨ S i 2 ∧ S 2 j ∨ L ∨ S in
2r −1
∧ S nj
,
ãäå i, j=1(1)n (èçìåíåíèå îò 1 ñ øàãîì 1 äî n); ∧ áóëåâî óìíîæåíèå; ∨ áóëåâî ñëîæåíèå; r íîìåð íîâîé áóëåâîé ìàòðèöû. A
||S|| 6×6: ) * + , .
B
F
C
E
)
*
+
,
.
D Ðèñ. 2.1. Ãðàô è åãî áóëåâà ìàòðèöà ñìåæíîñòè
Óìíîæåíèå ïðîäîëæàåòñÿ äî òåõ ïîð, ïîêà íå ñðàâíÿþòñÿ äâå ïîñëå2r
2r −1
r −1
äíèå ìàòðèöû S = S . Òîãäà íåíóëåâûå ýëåìåíòû ìàòðèöû S 2 ïîêàæóò, êàêèå âåðøèíû â ãðàôå ñâÿçàíû êàêèìè-ëèáî ïóòÿìè. Ïðèìåð Íà ðèñ.2.1 èçîáðàæåí ãðàô è åãî ìàòðèöà ñìåæíîñòè ||S||, à íà ðèñ.2.2 ïðåäñòàâëåíû ìàòðèöû ||S||2, ||S||4, ||S||8. ||S||2: ||S||4: ||S||8: ) * + , .
)
*
+
,
.
) * + , .
)
*
+
,
.
) * + , .
)
*
+
,
.
Ðèñ. 2.2. Áóëåâû ìàòðèöû ñóùåñòâîâàíèÿ ïóòåé ìåæäó âåðøèíàìè ãðàôà
37
Ìàòðèöà ||S||2 ïîêàçûâàåò, êàêèå ñóùåñòâóþò ïóòè äëèíû 2 èëè ìåíüøå. Ïîñêîëüêó ||S||4 = ||S||8, ïîñòîëüêó ||S||4 ïîêàçûâàåò, êàêèå âåðøèíû â ãðàôå ñâÿçàíû ïóòÿìè. 2.1.2. Îïèñàíèå ìàøèííîãî àëãîðèòìà çàäà÷è î ñóùåñòâîâàíèè ïóòåé â ãðàôå Âîçìîæíûé âàðèàíò àëãîðèòìà çàäà÷è îïðåäåëåíèÿ ñóùåñòâîâàíèÿ ïóòåé â ãðàôå ìîæåò âêëþ÷àòü ñëåäóþùèå øàãè. 1. Ââåñòè áóëåâó ìàòðèöó ñìåæíîñòè (S) è åå ðàçìåð (n). 2.Ñêîïèðîâàòü ìàòðèöó S â ðàáî÷óþ ìàòðèöó R (R=S), ñáðîñèòü ñ÷åò÷èê íîâûõ ìàòðèö (r=0). 3. Ñ ïîìîùüþ ïðîöåäóðû áóëåâîãî óìíîæåíèÿ ìàòðèö âû÷èñëèòü íîâóþ ìàòðèöó R1=R ∧ S, âûâåñòè åå è óâåëè÷èòü ñ÷åò÷èê r = r+1. 4.  öèêëàõ ïî ñòðîêàì (i) è ñòîëáöàì (j) ìàòðèöû ïîýëåìåíòíî ñðàâíèâàòü R1ij è Rij. Åñëè R1ij ≠ Rij, òî ñêîïèðîâàòü R=R1 è ïåðåéòè ê øàãó 3, èíà÷å âûâåñòè ñ÷åò÷èê äëèí ïóòåé L = 2r1 êàê ðåçóëüòàò ðåøåíèÿ çàäà÷è. 2.2. Ïåðåñ÷åò ïóòåé â îðãðàôå Ïîñòàíîâêà çàäà÷è.  îòëè÷èå îò ïðåäûäóùåé çàäà÷è òðåáóåòñÿ âû÷èñëèòü êîëè÷åñòâî ïóòåé êîíêðåòíîé äëèíû (êàê ÷èñëî äóã) ìåæäó êàæäîé ïàðîé âåðøèí ãðàôà. 2.2.1. Ìåòîä ðåøåíèÿ çàäà÷è ïåðåñ÷åòà ïóòåé Ïåðåñ÷åò ðàçëè÷íûõ ïóòåé äëèíû r îñóùåñòâëÿåòñÿ ïîëó÷åíèåì ñòåïåíåé èñõîäíîé ìàòðèöû ñìåæíîñòè ãðàôà (||S||) ñ ïîìîùüþ îïåðàöèè ëèíåéíîé àëãåáðû îáû÷íîãî óìíîæåíèÿ äâóõ ìàòðèö: ||S|| äàåò ÷èñëî ïóòåé äëèíû 1, ||S||2 = ||S||×||S|| äàåò ÷èñëî ïóòåé äëèíû 2. ||S||3=||S||2×||S|| äàåò ÷èñëî ïóòåé äëèíû 3, .. . . . . . . . . . . ||S||L=||S||L1×||S|| äàåò ÷èñëî ïóòåé äëèíû L äëÿ êàæäîé ïàðû âåðøèí (vi,vj), ãäå Sijk = Sik1−1 ⋅ S1 j + Sik2−1 ⋅ S2 j + ... + Sink −1 ⋅ Snj =
38
n
∑ Simk −1 ⋅ Smj , k ≥ 2.
m =1
Çíà÷åíèå L îïðåäåëÿåòñÿ â ïðåäûäóùåé çàäà÷å ñóùåñòâîâàíèÿ ïóòåé â ãðàôå êàê ðåçóëüòèðóþùåå çíà÷åíèå ñòåïåíè ìàòðèöû, ïîñëå êîòîðîé íà÷èíàåòñÿ ïîâòîðåíèå ïóòåé.  ïðåäûäóùåì ïðèìåðå L=4. Ïðèìåð Äëÿ ãðàôà (ðèñ.2.1) ìàòðèöû (ðèñ.2.3) äàþò ÷èñëî ïóòåé äëèí ñîîòâåòñòâåííî k=1,2,3,4. Íàïðèìåð, èìååòñÿ ïÿòü ïóòåé äëèíû 3 îò B ê D (ñì. ||S||3), äåâÿòü ïóòåé äëèíû 4 îò B ê D (ñì. ||S||4). 2.2.2. Îïèñàíèå ìàøèííîãî àëãîðèòìà ïåðåñ÷åòà ïóòåé â ãðàôå Àëãîðèòì ïåðåñ÷åòà äëèí ïóòåé ìîæíî îïèñàòü ñëåäóþùèì îáðàçîì: 1. Ââåñòè ìàòðèöó ñìåæíîñòè (S), åå ðàçìåð (n) è êîíå÷íóþ äëèíó ïóòè (L), ïîëó÷åííóþ â ïðåäûäóùåé çàäà÷å. 1. Ñêîïèðîâàòü S â ðàáî÷óþ ìàòðèöó R. 2.  öèêëå k=2(1)L èñïîëüçîâàòü ïðîöåäóðó óìíîæåíèÿ äâóõ ìàòðèö (R1=R×S), âûâîäèòü ìàòðèöó R1 êàê ðåçóëüòàò è êîïèðîâàòü R1 â R. ||S||: ||S||2:
) * + , .
)
*
+
,
.
||S||3: ) * ) * ! + , - .
) * + , .
)
* + ,
. !
||S||4: + , - . ! ! # ! $ !
) * + , .
) * ! ! #
+ ! #
, - . $ " % ' & ! ! # !
Ðèñ. 2.3. Ìàòðèöû ïåðåñ÷åòà äëèí ïóòåé ìåæäó âåðøèíàìè ãðàôà
39
2.3. Ïóòü ñ íàèìåíüøèì ÷èñëîì äóã. Ïîèñê òðàíçèòèâíîãî çàìûêàíèÿ âåðøèí Ïîñòàíîâêà çàäà÷è. Ïóñòü çàäàí ïðîèçâîëüíûé ãðàô G=(V,U). Òðåáóåòñÿ ïîñòðîèòü òàêîé ïóòü, ñîåäèíÿþùèé äâå çàäàííûå âåðøèíû v è w, êîòîðûé ñîäåðæèò íàèìåíüøåå ÷èñëî äóã (ýòî ïóòü ìèíèìàëüíîé äëèíû, åñëè ñ÷èòàòü, ÷òî äëèíû âñåõ äóã îäèíàêîâû, ò. å. ýëåìåíòàðíûé ïóòü). 2.3.1. Ìåòîä ðåøåíèÿ çàäà÷è ïîèñêà ïóòè ñ íàèìåíüøèì ÷èñëîì äóã Ðàññìîòðèì àëãîðèòì ýòîé çàäà÷è, êîòîðûé ïðîèëëþñòðèðîâàí íà ðèñ. 2.4. Àëãîðèòì ìîæíî ðàçäåëèòü íà äâà ýòàïà: ïðÿìîé õîä ïðèñâàèâàíèå âåðøèíàì ãðàôà ìåòîê; îáðàòíûé õîä îïðåäåëåíèå ìèíèìàëüíîãî ïóòè îò êîíå÷íîé âåðøèíû äî èñõîäíîé. Ïðÿìîé õîä: 1. Ïðèñâîèòü âåðøèíå v ìåòêó 0. 2. Åñëè xi ∈ Ãv è xi≠ v, òî ïðèñâîèòü êàæäîé òàêîé âåðøèíå ìåòêó 1, (ò. å. ýòî âåðøèíû-êîíöû äóã, èñõîäÿùèõ èç âåðøèíû v, êðîìå ñàìîé âåðøèíû v, ïðè ýòîì èñêëþ÷àþòñÿ ïåòëè). 3. Ïóñòü X(m) (m=0,1,2,...) ìíîæåñòâî âåðøèí, èìåþùèõ ìåòêó m. Âåðøèíàì X(m + 1) = {x ∈ ÃX(m), x ∉ X(k ) ïðè k ≤ m} (ò. å. âåðøèíàì êîíöàì äóã, èñõîäÿùèõ èç âåðøèí ìíîæåñòâà Õ(m), êðîìå âåðøèí, óæå ïîëó÷èâøèõ ìåòêè ðàíåå, òåì ñàìûì èñêëþ÷àþòñÿ êîíòóðû) ïðèñâîèòü ìåòêè m+1. 4. Ïðîöåññ ïðèñâîåíèÿ âåðøèíàì ìåòîê ïðåêðàòèòü, êàê òîëüêî âåðøèíà w ïîëó÷èò ìåòêó n (w∈X(n)). Îáðàòíûé õîä: 5. Ðàññìîòðåòü âåðøèíû xi1 , xi2 ,..., xin òàêèå, ÷òî xi1 ∈ X(n1), w ∈ à xi1 , xi2 ∈ X(n2), xi1 ∈ à xi2 , ..................................... xin ∈ X(0), xin −1 ∈ à xin . x x Ïóòü µ = ( v = in , in −1 , . .., xi2 , xi1 , w ) äàåò ðåøåíèå çàäà÷è. Çàìå÷àíèå. Åñëè íà íåêîòîðîì øàãå íåâîçìîæíî ïðèñâîåíèå ìåòêè m+1 âåðøèíàì, ïîñêîëüêó ìíîæåñòâî ÃX(m) ïóñòî è âåðøèíà w íå ïîëó÷èëà ìåòêè, òî ýòî îçíà÷àåò, ÷òî â ãðàôå G íå ñóùåñòâóåò ïóòè, ñîåäèíÿþùåãî âåðøèíó v ñ âåðøèíîé w. 40
X(0)
X(1)
X(m)
X(m+1)
X(n2)
X(n1)
X(n)
x (1)
x(1)
v(0) xin
...
... xi2
xin−1
w(n)
xi1
Ðèñ. 2.4. Ïðîöåññ ïîèñêà ïóòè ìåæäó âåðøèíàìè v è w
Ðàññìîòðåííûé àëãîðèòì îïèñûâàåò ïðîöåññ íàõîæäåíèÿ òðàíçèòèâíîãî çàìûêàíèÿ È v, îòîáðàæàþùåãî äåðåâî êðàò÷àéøèõ ïóòåé, èñõîäÿùèõ îò ëþáîé âåðøèíû v êàê îò êîðíÿ äåðåâà. Àíàëîãè÷íî ìîæåò áûòü îïèñàí ïðîöåññ íàõîæäåíèÿ îáðàòíîãî òðàíçèòèâíîãî çàìûêàíèÿ È v, ò. å. ìíîæåñòâà âåðøèí, èç êîòîðûõ ìîæíî ïîïàñòü â v ïî êðàò÷àéøåìó ïóòè. Ïðèìåð Äëÿ ãðàôà G íà ðèñ. 2.5,à ïîêàçàíû ìåòêè âåðøèí, íà÷èíàÿ ñ âåðøèíû B, ïîëîæèòåëüíûå äëÿ òðàíçèòèâíîãî çàìûêàíèÿ È B è îòðèöàòåëüíûå äëÿ îáðàòíîãî òðàíçèòèâíîãî çàìûêàíèÿ È B.
à
C(2,1)
á) || S ||: D(1,1)
B(0)
A(3,2)
B(0)
È B E(2)
D(1)
) * + , -
E(2)
ˆ â ÃÂ:
È – Â:
) * + , -
! ˆ ÃB
D(1)
A(2)
B(0)
A(3) C(2) C(1) Ðèñ. 2.5. Ïóòè â ãðàôå ñ íàèìåíüøèì ÷èñëîì äóã äëÿ âåðøèíû Â: à ãðàô ñ ìåòêàìè È B è È B; á ìàòðèöà ñìåæíîñòè ãðàôà S è çàìûêàíèé È B è È B; â ãðàôû çàìûêàíèé âåðøèíû Â
41
Ïðèíöèïû ïîñòðîåíèÿ ìàøèííîãî àëãîðèòìà ïîèñêà òðàíçèòèâíîãî è îáðàòíîãî òðàíçèòèâíîãî çàìûêàíèé ðàññìîòðèì íà ïðèìåðå ïîëó÷åíèÿ È B è È B íà îñíîâå àíàëèçà ìàòðèöû ñìåæíîñòè ãðàôà (ðèñ. 2.5,á). ˆ , Ñïðàâà îò ìàòðèöû ñìåæíîñòè S íàõîäèòñÿ âåêòîð-ñòîëáåö äëÿ à− ˆ à âíèçó âåêòîð-ñòðîêà äëÿ à  . Ðàññìîòðèì ïîðÿäîê çàïîëíåíèÿ ñòîëˆ . áöà àˆ çàïèñûâàåì íîëü (íà÷àëüíàÿ âåðøèíà). 1.  ïîçèöèþ  ñòîëáöà à2.  ñòðîêå  ìàòðèöû S åäèíèöà íàõîäèòñÿ â ïîçèöèÿõ, ñîîòâåòñòâóþùèõ âåðøèíàì, â êîòîðûå åñòü ïóòü äëèíû 1, ïîýòîìó â ïîçèöèþ ˆ çàïèñûâàåì 1. D ñòîëáöà à3. Ñòðîêà D ìàòðèöû ñîäåðæèò 1 â ñòîëáöàõ, ñîîòâåòñòâóþùèõ âåðøèíàì, êîòîðûå îòñòîÿò â ãðàôå îò âåðøèíû D íà îäíó äóãó, à çíà÷èò, êðàò÷àéøèé ïóòü äî íèõ îò âåðøèíû  ðàâåí 2 äóãàì. ˆ , ñîîòâåòñòâóþùèõ åäèíè÷íûì ïîçèöèÿì Åñëè â êëåòêàõ ñòîëáöà àñòîëáöîâ â ñòðîêå D ìàòðèöû, óæå íàõîäÿòñÿ ÷èñëà, òî îíè íå ìåíÿþòñÿ (Â, D), à â ïóñòûå êëåòêè Ñ è Å çàïèñûâàåì 2. Òåì ñàìûì èñêëþ÷àþòñÿ ïåòëè (íàïðèìåð, â âåðøèíå D) è êîíòóðû (íàïðèìåð, äóãà (D,B)), è ïðîäîëæàåòñÿ ðîñò äåðåâà êðàò÷àéøèõ ïóòåé îò âåðøèíû Â. 4. Ïîâòîðÿåì ï. 3 äëÿ âåðøèí Ñ, Å è äðóãèõ, óâåëè÷èâàÿ äëèíó ïóòè íà 1, äî òåõ ïîð, ïîêà ýòî âîçìîæíî. Àíàëîãè÷íî äåéñòâóåì äëÿ ïîëó÷åíèÿ È −  , íî ïðè ýòîì íåîáõîäèìî òðàíñïîíèðîâàòü ìàòðèöó ñìåæíîñòè (ïîìåíÿòü ñòðîêè è ñòîëáöû ìåñòàìè) è èñïîëüçîâàòü ðàññìîòðåííûé àëãîðèòì èëè âûïîëíÿòü àíàëèç èñõîäíîé ìàòðèöû ïî ñòîëáöàì. ×èñëà, ïîëó÷åííûå â ñòðîêå È −  , äàþò ìèíèìàëüíûå äëèíû ïóòåé (÷èñëà äóã) èç òåõ âåðøèí, èç êîòîðûõ ìîæíî ïîïàñòü â âåðøèíó B, íàïðèìåð èç âåðøèíû Å íåëüçÿ ïîïàñòü â  íèêàêèì ïóòåì. 2.3.2. Îïèñàíèå àëãîðèòìà ïîèñêà òðàíçèòèâíîãî çàìûêàíèÿ Ìàøèííûé àëãîðèòì äîëæåí îáåñïå÷èâàòü ïîèñê òðàíçèòèâíîãî çàìûêàíèÿ (âåêòîð Z) äëÿ ëþáîé íà÷àëüíîé âåðøèíû (Ê) ãðàôà. Âîçìîæíûé âàðèàíò àëãîðèòìà ìîæåò âêëþ÷àòü ñëåäóþùèå îñíîâíûå øàãè. 1. Ââîä ìàòðèöû ñìåæíîñòè S, åå ðàçìåðà (n) è íîìåðà íà÷àëüíîé âåðøèíû (k). 2. Óñòàíîâêà íà÷àëüíîãî çíà÷åíèÿ âåêòîðà Z â öèêëå (i=1(l)n, Zi= 1). 3. Óñòàíîâêà Zk=0 (íà÷àëüíàÿ âåðøèíà), L=0 (ñ÷åò÷èê äëèíû ïóòè). 4. Öèêë àíàëèçà íåîáðàáîòàííûõ âåðøèí: 42
5. { Ñ=0 ; (ñ÷åò÷èê îáðàáîòàííûõ âåðøèí) 6. öèêë i=1(1)n (çàïîëíåíèå âåêòîðà Z) (âåðøèíà íå óäàëåíà íà äëèíó L, òî) { åñëè (Zi≠L ) { C=C+1; ( ïîäñ÷åò òàêèõ âåðøèí ) ïðîäîëæåíèå öèêëà i; } èíà÷å 7. öèêë j=1(1)n (ïî ïîçèöèÿì ñòðîêè i ìàòðèöû S) (âåðøèíà j âõîäèò â çàìû{åñëè (Sij = 1 è Zj < 0 ) êàíèå è åùå íå âêëþ÷åíà,òî) Zj = L+1; (çàíåñåíèå äëèíû ïóòè äî âåðøèíû j â Zj) 8. } êîíåö öèêëà j) 9. } (êîíåö öèêëà i) 10. L=L+1; (èçìåíåíèå ñ÷åò÷èêà äëèíû ïóòè ) 11.} ïîêà (Ñ < n); (íå âñå âåðøèíû îáðàáîòàíû, ïðîäîëæàòü öèêë àíàëèçà) 12. Âûâîä ðåçóëüòàòà: Z (âåêòîð òðàíçèòèâíîãî çàìûêàíèÿ).
43
3. ÇÀÄÀ×È ÎÁ ÎÏÒÈÌÀËÜÍÛÕ ÐÀÑÑÒÎßÍÈßÕ Â ïðåäûäóùåé çàäà÷å ìû ñ÷èòàëè, ÷òî äëèíû âñåõ äóã ãðàôà G(V,U) áûëè ðàâíû, íàïðèìåð L(u)=1. Ðàññìîòðèì òåïåðü ñëó÷àé, êîãäà êàæäîé äóãå u ïîñòàâëåíî â ñîîòâåòñòâèå ÷èñëî L(u)>0, íàçûâàåìîå äëèíîé äóãè.  çàâèñèìîñòè îò êîíêðåòíîãî ïðèëîæåíèÿ, ýòî ÷èñëî ìîæåò áûòü ìåðîé ôèçè÷åñêîãî ðàññòîÿíèÿ, âðåìåíè, ñòîèìîñòè èëè äðóãîãî âàæíîãî ïàðàìåòðà. Ðàññìîòðèì îáùóþ ïîñòàíîâêó çàäà÷è îá îïòèìàëüíûõ ðàññòîÿíèÿõ íà ïðèìåðå çàäà÷è ñåòåâîãî ïëàíèðîâàíèÿ è óïðàâëåíèÿ (ÑÏÓ) îïåðàöèÿìè, íàçûâàåìûõ òàêæå çàäà÷àìè òèïà ÏÅÐÒ ( PERT). Îðãðàô ÿâëÿåòñÿ åñòåñòâåííûì ñðåäñòâîì äëÿ îïèñàíèÿ è àíàëèçà ñëîæíûõ ïðîåêòîâ, òðåáóþùèõ âûïîëíåíèÿ áîëüøîãî ÷èñëà âçàèìîñâÿçàííûõ îïåðàöèé (ðàáîò). Ïðîåêòîì ìîæåò áûòü, íàïðèìåð, ïðîöåññ ðàçðàáîòêè, ïîñòðîåíèÿ è ïðîâåðêè íåêîòîðîãî èçäåëèÿ, â òîì ÷èñëå è ñ èñïîëüçîâàíèåì ÑÀÏÐ (ñèñòåìû àâòîìàòèçèðîâàííîãî ïðîåêòèðîâàíèÿ) èëè ïðîöåññ ïðîåêòèðîâàíèÿ è ñòðîèòåëüñòâà çäàíèÿ, âêëþ÷àÿ ýòàïû ïîëó÷åíèÿ è ïîäãîòîâêè ìåñòà ñòðîèòåëüñòâà.  îáùåì ñëó÷àå ïðåäïîëîæèì, ÷òî ðàññìàòðèâàåòñÿ íåêîòîðûé ïðîåêò P è ìíîæåñòâî âñåõ îïåðàöèé, ñâÿçàííûõ ñ âûïîëíåíèåì ïðîåêòà, ìîæíî ðàçäåëèòü íà îòäåëüíûå íåïåðåñåêàþùèåñÿ îïåðàöèè P{a1,a2, ... ,an}. Õîòÿ íåêîòîðûå îïåðàöèè ìîãóò áûòü íåçàâèñèìû äðóã îò äðóãà, â îáùåì ñëó÷àå ìåæäó íèìè ñóùåñòâóåò çàâèñèìîñòü ïî âðåìåíè, íàïðèìåð îïåðàöèÿ ai äîëæíà çàêîí÷èòüñÿ, ÷òîáû ìîãëà íà÷àòüñÿ îïåðàöèÿ aj. Åñëè çàäàíû âñå òàêèå çàâèñèìîñòè, òî èõ óäîáíî ïðåäñòàâèòü â âèäå îðãðàôà, êàê ïîêàçàíî íà ðèñ. 2.6. Êàæäàÿ äóãà ãðàôà ñîîòâåòñòâóåò îäíîé îïåðàöèè, à êàæäàÿ âåðøèíà, íàçûâàåìàÿ ñîáûòèåì, ñîîòâåòñòâóåò íåêîòîðîìó ìîìåíòó âðåìåíè. Äëÿ âûïîëíåíèÿ îïåðàöèè ài âûäåëÿåòñÿ íåêîòîðîå âðåìÿ t(ai), ÷òî îòðàæåíî ÷èñëàìè íà äóãàõ ãðàôà. Äëèíà (ò. å. ñóììà âðåìåííûõ èíòåðâàëîâ) ëþáîãî ïóòè èç v1 â vi ñîîòâåòñòâóåò íèæíåé ãðàíèöå âðåìåíè, èçìåðÿåìîãî îò íà÷àëà ïðîåêòà äî íàñòóïëåíèÿ ñîáûòèÿ vi, ïîñëå 44
êîòîðîãî ìîãóò áûòü íà÷àòû îïåðàöèè, èìåþùèå vi â êà÷åñòâå íà÷àëüíîé âåðøèíû. 5
v"(5)
v$(10) 3
4 2 v(0)
3 3
1
v (3)
v!(4)
3
2
2
v#(8) 4
v&(13)
4 2 v%(8)
Ðèñ. 3.1. Ãðàô âûïîëíåíèÿ îïåðàöèé ïðîåêòà
Ïðè ðàñ÷åòàõ êàæäîé âåðøèíå óäîáíî ïîñòàâèòü â ñîîòâåòñòâèå ÷èñëî (âðåìÿ) ñëåäóþùèì îáðàçîì: Ò(v1)=0, T(vi)=max{t(µ)} (i≠1), ãäå t(µ) îçíà÷àåò äëèíó ïóòè è ìàêñèìóì îïðåäåëÿåòñÿ ïî âñåì ïóòÿì èç v1 â vi. Äëèíîé ïóòè µ íàçûâàåòñÿ ñóììà äëèí äóã, âõîäÿùèõ â µ: L(µ) = ∑ L(u ) . u∈µ
Äëèííåéøèé ïî âðåìåíè ïóòü îò íà÷àëüíîãî ñîáûòèÿ v1 äî êîíå÷íîãî ñîáûòèÿ vn íàçûâàåòñÿ êðèòè÷åñêèì ïóòåì, êîòîðûé ìîæåò áûòü íå åäèíñòâåííûì, íàïðèìåð äëÿ ãðàôà íà ðèñ. 3.1 åñòü äâà êðèòè÷åñêèõ ïóòè (ïî âåðøèíàì ãðàôà): µ1 = (v1 , v2 , v4 , v5 , v6 , v8 ), L (µ1 ) = 13, µ 2 = (v1 , v2 , v4 , v6 , v8 ), L (µ 2 ) = 13.
Äëèíà êðèòè÷åñêîãî ïóòè ñîîòâåòñòâóåò êðàò÷àéøåìó âðåìåíè, çà êîòîðîå ìîãóò áûòü âûïîëíåíû âñå îïåðàöèè ïðîåêòà, à çíà÷èò, è âåñü ïðîåêò â öåëîì. Çàìåòèì, ÷òî ïî ñâîåé ïðèðîäå ãðàô, ïðåäñòàâëÿþùèé ïðîöåññ âûïîëíåíèÿ îïåðàöèé, ÿâëÿåòñÿ àöèêëè÷åñêèì. Íàëè÷èå öèêëà ñîçäàëî áû íåâîçìîæíóþ ñèòóàöèþ, êîãäà íè îäíà èç îïåðàöèé öèêëà íå ìîãëà áû íà÷àòüñÿ ïåðâîé, ïîñêîëüêó ëþáàÿ èç íèõ çàâèñèò îò äðóãîé îïåðàöèè. 45
 äàëüíåéøåì ìû áóäåì ïîëüçîâàòüñÿ òåðìèíîëîãèåé, ñîîòâåòñòâóþùåé ðàññòîÿíèÿì, õîòÿ âñåãäà íóæíî ïîìíèòü è î äðóãèõ èíòåðïðåòàöèÿõ. Îòìåòèì äâå âàæíåéøèå õàðàêòåðèñòèêè äëèíû, ñóùåñòâåííûå äëÿ äàëüíåéøåãî ðàññìîòðåíèÿ. 1. Äëèíà äîëæíà áûòü àääèòèâíà (äëèíà ñîâîêóïíîñòè äóã ðàâíà ñóììå äëèí îòäåëüíûõ äóã). 2. Äëèíà äîëæíà èñïîëüçîâàòüñÿ â êà÷åñòâå öåëåâîé ôóíêöèè, êîòîðóþ íåîáõîäèìî îïòèìèçèðîâàòü (ìèíèìèçèðîâàòü èëè ìàêñèìèçèðîâàòü) ïðè îãðàíè÷åíèÿõ íà äîïóñòèìûå ìíîæåñòâà äóã. Äëÿ ãðàôà ñ êîíòóðàìè (öèêëè÷åñêîãî) ìîæíî ãîâîðèòü òîëüêî î çàäà÷å îòûñêàíèÿ ìèíèìàëüíûõ ïóòåé ãðàôà, à â àöèêëè÷åñêîì ãðàôå ìîæíî èñêàòü êàê ìèíèìàëüíûé, òàê è ìàêñèìàëüíûé ïóòü ìåæäó âåðøèíàìè ãðàôà. 3.1. Ïîèñê ìèíèìàëüíûõ ïóòåé â ãðàôå Ïîñòàíîâêà çàäà÷è. Äëÿ ïðîèçâîëüíîãî îðãðàôà G(V, U), ãäå äëÿ ∀u ∈U ñîïîñòàâëåíî ÷èñëî L(u) > 0 (äëèíà äóãè), íåîáõîäèìî íàéòè ïóòü µ ìèíèìàëüíîé äëèíû, ñîåäèíÿþùèé âåðøèíó v0 c âåðøèíîé vn. 3.1.1. Ìåòîä ðåøåíèÿ çàäà÷è ïîèñêà ìèíèìàëüíîãî ïóòè Ñóùåñòâóåò íåñêîëüêî ìåòîäîâ ðåøåíèÿ ýòîé çàäà÷è, ñðåäè êîòîðûõ ðàññìîòðèì àëãîðèòì Ôîðäà, îïèñûâàåìûé ñëåäóþùèìè ïðàâèëàìè, êîòîðûå ìîæíî ðàçäåëèòü íà äâà ýòàïà: ïðÿìîé õîä âû÷èñëåíèå è íàçíà÷åíèå ìåòîê âåðøèíàì ãðàôà; îáðàòíûé õîä îïðåäåëåíèå ìèíèìàëüíîãî ïóòè. Ïðÿìîé õîä. 1. Íàçíà÷åíèå íîìåðîâ âåðøèíàì. Ïåðåèìåíîâàòü âåðøèíû ãðàôà G òàê, ÷òîáû èñõîäíàÿ âåðøèíà ïîëó÷èëà íîìåð 0, åñëè ýòî íåîáõîäèìî. 2. Ïðèñâîåíèå íà÷àëüíûõ ìåòîê. Ïðèñâîèòü êàæäîé âåðøèíå vi ìåòêó λi òàê, ÷òîáû λ0 = 0, λi = ∞ ïðè i > 0 (ïîä ñèìâîëîì ∞ çäåñü ñëåäóåò ïîíèìàòü äîñòàòî÷íî áîëüøîå ïîëîæèòåëüíîå çíà÷åíèå). 3. Óìåíüøåíèå ìåòîê. Íàéòè òàêóþ äóãó (vi , v j ) , äëÿ êîòîðîé λ j λ i > L (vi , v j ) . Ó âåðøèíû v j çàìåíèòü ìåòêó λ j íà íîâóþ ìåòêó λ ' j = λi + L (vi , v j ) , åñëè λ'j < λj. 4. Ïåðåñ÷åò ìåòîê. Ïðèìåíÿòü ïðàâèëî 3 äî òåõ ïîð, ïîêà äëÿ êàæäîé äóãè (vi , v j ) íå ñòàíåò ñïðàâåäëèâûì íåðàâåíñòâî λj λi ≥ L (vi , v j ) . 46
Îáðàòíûé õîä. 5. Â ìíîæåñòâå Ã1vn íàéòè òàêóþ âåðøèíó v p1 , ÷òî
λn = λp + L(vp , vn) èëè λn λp = L(vp , vn). 1 1 1 1 Àíàëîãè÷íî, â ìíîæåñòâå Ã1vp íàéòè òàêóþ âåðøèíó vp , ÷òîáû áûëî 1 2 ñïðàâåäëèâî ðàâåíñòâî λp = λp + L(vp ,vp ) èëè λp λp = L(vp ,vp ) è ò. ä. 1 2 2 1 1 2 2 1 Ïîñëå íåêîòîðîãî ÷èñëà øàãîâ âåðøèíà vp ñîâïàäåò ñ âåðøèíîé v0. k Ïóòü µ = ( v0=vp ,vp , ... ,vp , vp , vn ) ìèíèìàëüíûé è åãî äëèíà k k1 2 1 L(µ) = λn. Ïðèìåð Ïðîèëëþñòðèðóåì ðàáîòó àëãîðèòìà ïîèñêà ìèíèìàëüíîãî ïóòè äëÿ ãðàôà íà ðèñ. 3.2. 4
v[∞,7]
v"[∞,15,11]
15
7 v[0]
8
2
9
v![∞,9]
16
v$[∞,25,19]
5 8 7
3 v [∞,8]
2
4
6
6
4
v#[∞,14,13]
Ðèñ. 3.2. Îðãðàô ñ äëèíàìè äóã è ìåòêàìè âåðøèí
Ýòàï 1 (ïðÿìîé õîä) âû÷èñëåíèå íîâûõ ìåòîê ïðè âåðøèíàõ. Ïðèïèñûâàåì âåðøèíå v0 ìåòêó 0, à îñòàëüíûì âåðøèíàì ìåòêó ∞. Íàõîäèì íîâûå ìåòêè, êîòîðûå ïîêàçàíû â êâàäðàòíûõ ñêîáêàõ ïðè âåðøèíàõ ãðàôà: 1. L(v0, v1)=7, λ'1=0+7< λ1=∞, îñòàåòñÿ λ1=7; 2. L(v0, v2)=8, λ'2=0+8< λ2=∞, îñòàåòñÿ λ2=8; 3. L(v0, v3)=9, λ'3=0+9< λ3=∞, îñòàåòñÿ λ3=9; 4. L(v0, v4)=15, λ'4=0+15< λ4=∞; 5. L(v1, v4)=4, λ'4=7+4=11< λ4=15, îñòàåòñÿ λ4=11; 6. L(v2, v3)=3, λ'3=8+3=11 > λ3=9; 47
7. L(v2, v5)=6, λ'5=8+6=14< λ5=∞, 8. L(v3, v4)=2, λ'4=9+2=11= λ4=11, 9. L(v3, v5)=4, λ'5=9+4=13 < λ5=14, îñòàåòñÿ λ5=13; 10. L(v3, v6)=16, λ'6=9+16=25 < λ6=∞, 11. L(v4, v6)=8, λ'6=11+8=19 < λ6=25, 12. L(v5, v3)=2, λ'3=13+2=15 > λ3=9, 13. L(v5, v6)=6, λ'6=13+6=19, îñòàåòñÿ λ6=19. Ýòàï 2 (îáðàòíûé õîä) îïðåäåëåíèå ìèíèìàëüíîãî ïóòè. Èç âåðøèíû v6 íàõîäèì: 1. λ6 L(v4, v6)=198=11=λ4, λ4 L(v1, v4)=114=7=λ1, λ1 L(v0, v1)=77=0=λ0, çíà÷èò, ïóòü µ=( v0, v1, v4, v6) ìèíèìàëüíûé. 2. λ6 L(v3, v6)=1916=3<λ3=9, çíà÷èò, äóãà (v3, v6) íå âõîäèò â ìèíèìàëüíûé ïóòü. 3. λ6 L(v5, v6)=196=13=λ5, λ5 L(v3, v5)=134=9=λ3, λ3 L(v0, v3)=99=0=λ0, çíà÷èò, ïóòü µ = ( v0, v3, v5, v6) ìèíèìàëüíûé. 4. Òàê æå ìîæíî äîêàçàòü, ÷òî ïóòü µ=( v0, v3, v4, v6) ìèíèìàëüíûé. 3.1.2. Îáîñíîâàíèå àëãîðèòìà Ôîðäà Äîêàæåì, ÷òî ïîñëå êîíå÷íîãî ÷èñëà ïðèìåíåíèé ïðàâèëà 3 äëÿ êàæäîé äóãè ãðàôà ñòàíåò ñïðàâåäëèâûì íåðàâåíñòâî λjλi ≤ L(vi,vj) (ïðàâèëî 4). Íà ëþáîì øàãå èçìåíåíèÿ ìåòêà λj>0 ïðè j≠0 (ìåòêà λ0=0), ÷òî ìîæíî äîêàçàòü ïî èíäóêöèè. 1. Äåéñòâèòåëüíî, ïðè ïåðâîì ïðèìåíåíèè ïðàâèëà 3 áóäåò èçìåíåíà ìåòêà λk ó îäíîé èç âåðøèí vk, ñìåæíûõ ñ âåðøèíîé v0 (vk∈Ãv0). Ýòà âåðøèíà vk ïîëó÷èò íîâóþ ìåòêó λk = L(v0,vk)>0, íàïðèìåð v4[15]. Ïðåäïîëîæèì, ÷òî ïîñëå ïðèìåíåíèÿ ïðàâèëà 3 m ðàç (m>1), ñòàíåò ñïðàâåäëèâûì óòâåðæäåíèå, ÷òî λ0=0, λi>0 äëÿ i>0. Íà m+1-ì øàãå êàêàÿ-òî âåðøèíà vj ïîëó÷èò íîâóþ ìåòêó λj = λi + L(vi,vj). Íî â ñèëó ïðåäïîëîæåíèÿ èíäóêöèè λi ≥ 0, êðîìå òîãî, L(vi,vj)>0, ïîýòîìó λj>0. 48
2. Íåòðóäíî çàìåòèòü, ÷òî ïðè êàæäîì èçìåíåíèè ìåòêà âåðøèíû ãðàôà óìåíüøàåòñÿ íà ïîëîæèòåëüíóþ âåëè÷èíó, íå ìåíüøóþ, ÷åì ìèíèìàëüíàÿ ðàçíîñòü äëèí ïóòåé ãðàôà. Èç ýòèõ äâóõ óòâåðæäåíèé ñëåäóåò, ÷òî ìåòêà ëþáîé âåðøèíû ãðàôà ìîæåò èçìåíÿòüñÿ ëèøü êîíå÷íîå ÷èñëî ðàç. Òàê êàê âåðøèí êîíå÷íîå ìíîæåñòâî, òî ïðàâèëî 3 ìîæåò ïðèìåíÿòüñÿ ëèøü êîíå÷íîå ÷èñëî ðàç. Ðàññìîòðèì îáðàòíûé ýòàï è ïîêàæåì, ÷òî, ïðèìåíÿÿ ïðàâèëî 5, ìû ìîæåì íàéòè ìèíèìàëüíûå ïóòè. Äåéñòâèòåëüíî, òàê êàê â ðåçóëüòàòå ïðèìåíåíèÿ ïðàâèëà 3 ìåòêà λn ìîíîòîííî óìåíüøàåòñÿ, òî ìû ïðèäåì ê òàêîé âåðøèíå vp (ýòî íà÷àëî 1 äóãè, ñ ïîìîùüþ êîòîðîé â ïîñëåäíèé ðàç óìåíüøèëàñü ìåòêà λn), ÷òî λn λp = L(vp , vn), íàïðèìåð λ6 λ4= L(v4, v6). 1
1
Ïî ýòîé æå ïðè÷èíå íàéäåòñÿ âåðøèíà vp , äëÿ êîòîðîé ñîáëþäàåòñÿ 2 ñîîòâåòñòâèå λp λp = L(vp ,vp ) è ò. ä. 1
2
2
1
Ïî óñëîâèþ çàäà÷è äëèíà äóãè ãðàôà L(vi, vj)>0, ïîýòîìó ìåòêè λn, λp , λp , ... îáðàçóþò ñòðîãî óáûâàþùóþ ïîñëåäîâàòåëüíîñòü íåîòðèöà1 2 òåëüíûõ ÷èñåë, îòëè÷àþùèõñÿ äðóã îò äðóãà íà âåëè÷èíó, áîëüøóþ èëè ðàâíóþ äëèíå êðàò÷àéøåé äóãè ãðàôà. Ñëåäîâàòåëüíî, ïðè íåêîòîðîì k ïîëó÷èì λp = 0, vp = v0. (Âåðøèíà v0 âûäåëåíà òåì, ÷òî åé â ñèëó ïðàâèk k ëà 1 ñ ñàìîãî íà÷àëà ïðèñâîåíà ìåòêà λ0=0 è â ôîðìèðîâàíèè ýòîé ìåòêè íå ó÷àñòâóþò äóãè ãðàôà). Ïîêàæåì, ÷òî µ = ( v0=vp ,vp , ... ,vp , vp , vn ) ìèíèìàëüíûé ïóòü ñî k k1 2 1 çíà÷åíèåì äëèíû ïóòè L(µ)=λn, ò. å. çíà÷åíèå L( v0,vi , vi ,
,vi , vn) ëþ1 2 m áîãî äðóãîãî ïóòè ìåæäó v0 è vn íå ìåíüøå λn. Èìååì íåðàâåíñòâà (ïî ïðàâèëó 4): λi λ0 ≤ L(v0, vi ), 1 1 + λi λi ≤ L(vi ,vi ), 2 1 1 2
.., + λn λi ≤ L(vi , vn). m m Ñêëàäûâàÿ ýòè íåðàâåíñòâà, ïîëó÷èì (ïðè λ0=0) λn ≤ L( v0,vi , vi ,
,vi , vn). 1
2
m
49
 òî æå âðåìÿ ïî ïîñòðîåíèþ ïóòè µ èìååì L(µ) = λn, îòêóäà ñëåäóåò L(µ) ≤ L( v0,vi , vi ,
,vi , vn), 1 2 m ò. å. µ = ( v0=vp ,vp , ... ,vp , vp , vn ) ìèíèìàëüíûé ïóòü. k k1 2 1 Êàê ïîêàçàíî â ïðèìåðå, ìèíèìàëüíûé ïóòü â ãðàôå ìîæåò áûòü íå îäèí. 3.1.3. Ïîñòðîåíèå ìàøèííîãî àëãîðèòìà ïîèñêà ìèíèìàëüíûõ ïóòåé â ãðàôå Èñõîäíûìè äàííûìè ÿâëÿþòñÿ ìàòðèöà ñìåæíîñòè ãðàôà äëÿ n âåðøèí (||S|| n×n) è ìàòðèöà äëèí äóã ãðàôà (||L|| n×n), íàïðèìåð äëÿ ãðàôà íà ðèñ. 3.2 ýòè ìàòðèöû èìåþò âèä, ïðèâåäåííûé íà ðèñ. 3.3. S: 0 1 2 3 4 5 6
L: 0 0 0 1 1 0 0 0
1 1 0 0 0 0 0 0
2 1 0 0 0 0 0 0
3 1 0 1 0 0 1 0
4 1 1 0 1 0 0 0
5 0 0 1 1 0 0 1
6 0 0 0 1 1 1 0
0 1 2 3 4 5 6
0 0 0 7 5 0 0 0
1 7 0 0 0 0 0 0
2 8 0 0 0 0 0 0
3 4 9 15 0 4 3 0 0 2 0 0 2 0 0 0
5 6 0 0 0 0 6 0 4 16 0 8 0 6 4 0
Ðèñ. 3.3. Ìàòðèöû ñìåæíîñòè è äëèí äóã ãðàôà
Ìàòðèöà äëèí äóã ãðàôà ïî ñóòè âêëþ÷àåò âñþ èíôîðìàöèþ î ãðàôå, ÷òî äåëàåò ìàòðèöó ñìåæíîñòè èçëèøíåé äëÿ äàííîé çàäà÷è. Äëÿ ïîñòðîåíèÿ àëãîðèòìà íåîáõîäèìû âåêòîð ìåòîê âåðøèí (Ì) è ìàòðèöà ðåçóëüòàòîâ, ñîäåðæàùàÿ âåðøèíû êðàò÷àéøèõ ïóòåé (||Ê|| n×n). Ïîñòðîåíèå ìàøèííîãî àëãîðèòìà îñíîâàíî íà àíàëèçå ìàòðèöû äëèí äóã ãðàôà (L), ïîñòåïåííîì çàïîëíåíèè âåêòîðà ìåòîê âåðøèí (Ì) íîâûìè ìåòêàìè è ïîëó÷åíèè ìàòðèöû êðàò÷àéøèõ ïóòåé (Ê).  ðåçóëüòàòå âåêòîð ìåòîê (Ì) îòðàæàåò ìèíèìàëüíûå ðàññòîÿíèÿ ìåæäó íà÷àëüíîé âåðøèíîé v0 è îñòàëüíûìè âåðøèíàìè. Ìàòðèöà êðàò÷àéøèõ ïóòåé (Ê) îòðàæàåò èíôîðìàöèþ î ïîäãðàôå ìèíèìàëüíûõ ïóòåé èñõîäíîãî ãðàôà ìåæäó íà÷àëüíîé âåðøèíîé v0 è êîíå÷íîé âåðøèíîé vn. 50
3.1.4. Îïèñàíèå ìàøèííîãî àëãîðèòìà Ôîðäà Ïîñêîëüêó çàäà÷à ìîæåò èìåòü íåñêîëüêî âàðèàíòîâ ðåøåíèÿ, òî âîçìîæíûé àëãîðèòì ìîæåò âêëþ÷àòü ñëåäóþùèå îñíîâíûå øàãè. 1. Ââîä ìàòðèöû äëèí äóã ãðàôà (L) è åå ðàçìåðà (n). 2. Óñòàíîâêà íà÷àëüíûõ çíà÷åíèé: 1) âåêòîðà ìåòîê: Ì0=0; i=1(1)n1, Ìi=max; ãäå max ìàêñèìàëüíî äîïóñòèìîå ÷èñëî äàííîãî òèïà; 2) îáíóëåíèå âñïîìîãàòåëüíîãî âåêòîðà âåðøèí, âõîäÿùèõ â êðèòè÷åñêèå ïóòè, V è ìàòðèöû êðàò÷àéøèõ ïóòåé Ê. Ïðÿìîé õîä (Ðåàëèçàöèÿ ïðàâèë 3 è 4 àëãîðèòìà Ôîðäà öèêëû ïîèñêà ñìåæíûõ âåðøèí ãðàôà ïî ñòðîêàì i è ñòîëáöàì j è îáíîâëåíèå ìåòîê âåðøèí): 3. Öèêë i=0(1)n1 (ïî ñòðîêàì ìàòðèöû L) 4. Öèêë j=0(1)n1 (ïî ñòîëáöàì ìàòðèöû L) (åñòü ìåòêà, åñëè (Lij>0 è Ìj Ìi>Lij) òðåáóþùàÿ èçìåíåíèÿ, òî) { MN=Mi + Lij ; (âû÷èñëåíèå íîâîé ìåòêè (MN) âåðøèíû j) (íîâàÿ ìåòêà ìåíüøå ñòàðîé, òî) åñëè (MN < Mj) Ìj=MN; (èçìåíåíèå ìåòêè âåðøèíû j) } Îáðàòíûé õîä (Ðåàëèçàöèÿ ïðàâèëà 5 àëãîðèòìà Ôîðäà ïîèñê âåðøèí êðàò÷àéøèõ ïóòåé): (êîíå÷íàÿ âåðøèíà êðàò÷àéøåãî ïóòè) 5. Vn-1=1; 6. Öèêë j=n1(1)0 (îáðàòíûé öèêë ïî âåðøèíàì, íà÷èíàÿ ñ ïîñëåäíåé) (âåðøèíà âõîäèò â êðàò÷àéøèé ïóòü, òî) åñëè (Vj=1) 7. Öèêë i=0(1)n1 (ïîèñê ïðåäøåñòâóþùèõ âåðøèí i, ñìåæíûõ ñ âåðøèíîé j) (ðàçíîñòü ìåòîê ñìåæíûõ {åñëè (Lij>0 è Ìj Ìi=Lij) âåðøèí ðàâíà äëèíå äóãè ìåæäó íèìè, òî) { Kij= Lij ; (çàïîëíåíèå ìàòðèöû êðàò÷àéøèõ ïóòåé) (âêëþ÷åíèå âåðøèíû i â âåêòîð V) Vi=1; } } (êîíåö öèêëîâ i è j) 8. Âûâîä ìàòðèöû ñìåæíîñòè Ê ( ïîäãðàôà êðàò÷àéøèõ ïóòåé) è âåêòîðà ìåòîê âåðøèí M (äëèí êðàò÷àéøèõ ïóòåé îò âåðøèíû V0). Ïî ìàòðèöå Ê íåîáõîäèìî ïîñòðîèòü äëÿ èñõîäíîãî ãðàôà ïîäãðàô êðàò÷àéøèõ ïóòåé îò âåðøèíû v0 ê vn. 51
à) M: Âåðøèíû 0 Ìåòêè 0
1 7
2 8
3 9
4 5 6 11 13 19
â) K:
á) v [7] 7
4
v" [11]
9 v [0]
8
2 4 v! [9]
6 v# [13]
v$ [19]
0 1 2 3 4 5 6
0 0 0 0 0 0 0 0
1E 7 0 0 0 0 0 0
2 0 0 0 0 0 0 0
3 9 0 0 0 0 0 0
4 0 4 0 2 0 0 0
5 0 0 0 4 0 0 0
6 0 0 0 0 8 6 0
Ðèñ. 3.4. Ðåçóëüòàòû ïîèñêà ìèíèìàëüíûõ ïóòåé â ãðàôå: à âåêòîð ìåòîê M (äëèí êðàò÷àéøèõ ïóòåé îò âåðøèíû v0 äî îñòàëüíûõ); á ïîäãðàô êðàò÷àéøèõ ïóòåé îò âåðøèíû v0 äî v6; â ìàòðèöà äëèí ïóòåé (Ê) ïîäãðàôà
Íà ðèñ. 3.4 ïðåäñòàâëåíû ðåçóëüòàòû îáðàáîòêè ìàòðèöû äëèí äóã L (ðèñ. 3.3) èñõîäíîãî ãðàôà íà ðèñ. 3.2 â ñîîòâåòñòâèè ñ àëãîðèòìîì Ôîðäà. 3.2. Ïîèñê ìàêñèìàëüíîãî ïóòè â ãðàôå áåç êîíòóðîâ Àëãîðèòì Ôîðäà ìîæåò áûòü èñïîëüçîâàí äëÿ îòûñêàíèÿ ìàêñèìàëüíîãî ïóòè (èëè êðèòè÷åñêîãî ïóòè â çàäà÷å ñåòåâîãî ïëàíèðîâàíèÿ è óïðàâëåíèÿ) â àöèêëè÷åñêîì ãðàôå. Äîñòàòî÷íî ïîëîæèòü íà÷àëüíûå ìåòêè âåðøèí λi=0, i=0, 1, 2,
, n, à çàòåì çàìåíÿòü λj íà λ'j=λi+L(vi, vj), åñëè λ'j>λj, äî òåõ ïîð, ïîêà âîçìîæíî óâåëè÷èâàòü λj.
52
4. ÇÀÄÀ×À ÂÛÁÎÐÀ ÏÐÅÄÏÎ×ÒÈÒÅËÜÍÛÕ ÂÀÐÈÀÍÒΠÈÑÑËÅÄÓÅÌÎÉ ÑÈÑÒÅÌÛ 4.1. Îáùàÿ ïîñòàíîâêà çàäà÷è Ïðè ïðîåêòèðîâàíèè ñëîæíîé ñèñòåìû, êàê ïðàâèëî, èññëåäóåòñÿ íåñêîëüêî âàðèàíòîâ ñèñòåìû, ïðè ýòîì âîçíèêàþò ïðîáëåìû êàê ïðè îöåíêå ýôôåêòèâíîñòè ñèñòåìû, òàê è ïðè âûáîðå íàèáîëåå ýôôåêòèâíîãî, à çíà÷èò, è ïðåäïî÷òèòåëüíîãî âàðèàíòà. Ïîä ýôôåêòèâíîñòüþ ñèñòåìû ïîíèìàåòñÿ ìåðà ñîîòâåòñòâèÿ ñèñòåìû ñâîåìó íàçíà÷åíèþ, ò. å. ñòåïåíü ïðèñïîñîáëåííîñòè åå äëÿ ðåøåíèÿ ïîñòàâëåííûõ ïåðåä íåé çàäà÷, êîòîðàÿ îöåíèâàåòñÿ çàäàííîé öåëåâîé ôóíêöèåé f (ôóíêöèåé êðèòåðèÿ ýôôåêòèâíîñòè). Òðóäíîñòü ñîñòîèò â òîì, ÷òî ýôôåêòèâíîñòü ñëîæíîé ñèñòåìû íå ìîæåò áûòü îöåíåíà îäíèì ïîêàçàòåëåì, äàæå óíèâåðñàëüíûì, ïîñêîëüêó îíà ÿâëÿåòñÿ ôóíêöèåé áîëüøîãî êîëè÷åñòâà ôàêòîðîâ è êðèòåðèåâ ýôôåêòèâíîñòè âñåõ ïîäñèñòåì, âõîäÿùèõ â ðàññìàòðèâàåìóþ ñèñòåìó. Ýôôåêòèâíîñòü ñëîæíîé ñèñòåìû íåîáõîäèìî îöåíèâàòü ñ ðàçëè÷íûõ òî÷åê çðåíèÿ ñ ïîìîùüþ ÷àñòíûõ ïîêàçàòåëåé êà÷åñòâà åå ôóíêöèîíèðîâàíèÿ, â îáùåì ñëó÷àå ïðîòèâîðå÷èâûõ, íàïðèìåð ãàáàðèòû, âåñ, ïðîïóñêíàÿ ñïîñîáíîñòü, íàäåæíîñòü, ñëîæíîñòü àëãîðèòìîâ ôóíêöèîíèðîâàíèÿ, ñòîèìîñòü ïðîèçâîäñòâà è ýêñïëóàòàöèè è ò. ï. Òàêèì îáðàçîì, êðèòåðèé ýôôåêòèâíîñòè ñëîæíîé ñèñòåìû ÿâëÿåòñÿ âåêòîðíûì F={fn}, n = 1, N , ãäå fn ÷àñòíûå ïîêàçàòåëè êà÷åñòâà (êðèòåðèè ýôôåêòèâíîñòè) ôóíêöèîíèðîâàíèÿ ñëîæíîé ñèñòåìû. Ïîäîáíàÿ ïðîáëåìà âîçíèêàåò è ïðè ýêñïåðòíîì àíàëèçå âûáèðàåìûõ îáúåêòîâ, êîãäà îáúåêòû, íàïðèìåð êâàðòèðà, îöåíèâàåòñÿ íåñêîëüêèìè ñïåöèàëèñòàìè (ýêñïåðòàìè) ïî íåñêîëüêèì ïîêàçàòåëÿì (ìåòðàæ, óäîáñòâà, ñòîèìîñòü, óäàëåííîñòü îò òðàíñïîðòà èëè öåíòðà ãîðîäà è äð.). Ïðè ýòîì îöåíêè ýêñïåðòîâ ìîãóò îòëè÷àòüñÿ âåñüìà ñóùåñòâåííî. 53
Âîçíèêàåò îáùàÿ ïðîáëåìà îöåíêè Ì âàðèàíòîâ èññëåäóåìîé ñèñòåìû (îáúåêòîâ) ïî N êðèòåðèÿì è âûáîðà íàèáîëåå ïðåäïî÷òèòåëüíûõ èç íèõ (æåëàòåëüíî âûáðàòü îäèí âàðèàíò), ñ òî÷êè çðåíèÿ âñåõ êðèòåðèåâ. Òàêèì îáðàçîì, ýòó ïðîáëåìó âûáîðà ìîæíî ðàçáèòü íà äâà ýòàïà. Íà ïåðâîì ýòàïå âàðèàíòû ñèñòåìû èññëåäóþòñÿ ïî ìíîæåñòâó êðèòåðèåâ F={fn}, n = 1, N . Ðåçóëüòàòû èññëåäîâàíèÿ (îöåíèâàíèÿ) âñåõ Ì âàðèàíòîâ ñâîäÿòñÿ â ìàòðèöó îöåíîê ||Ð||M×N, îòîáðàæàþùóþ ñòàòè÷åñêè óñòîé÷èâûå èëè äåòåðìèíèðîâàííûå îöåíêè ïîêàçàòåëåé êà÷åñòâà Ì âàðèàíòîâ ïî N êðèòåðèÿì.  íàøåì ïîñëåäóþùåì ðàññìîòðåíèè çàäà÷è ìû áóäåì ñ÷èòàòü ýòè äàííûå (M, N, P) êàê èñõîäíûå. Âòîðîé ýòàï çàêëþ÷àåòñÿ â ïîñëåäîâàòåëüíîé îáðàáîòêå ìàòðèöû îöåíîê Ð. Íåîáõîäèìî èç ñîâîêóïíîñòè èíäèâèäóàëüíûõ îöåíîê âàðèàíòîâ ïî çàäàííîìó íàáîðó êðèòåðèåâ âûðàáîòàòü ãðóïïîâîå ðåøåíèå î ïîðÿäêå ïðåäïî÷òåíèÿ àëüòåðíàòèâíûõ âàðèàíòîâ, ò. å. äîëæíà áûòü ðåøåíà ïðîáëåìà ãðóïïîâîãî âûáîðà. Ôîðìàëèçàöèÿ è ðåøåíèå ýòîé çàäà÷è ïîêàçàíû äàëåå. 4.2. Ïîëó÷åíèå ñðàâíèìûõ îöåíîê Ïóñòü ðmn îöåíêà m-ãî âàðèàíòà ïî êðèòåðèþ fn. Îöåíêè ðmn, m = 1, M , ÿâëÿþòñÿ àáñîëþòíûìè, îíè ïîëó÷åíû â åñòåñòâåííîé äëÿ êàæäîãî êðèòåðèÿ øêàëå è ðàñïîëîæåíû â íåêîòîðîì äèàïàçîíå [pmin(n), pmax(n)]. Ïðè ýòîì äëÿ îäíèõ êðèòåðèåâ pmax ÿâëÿåòñÿ íàèëó÷øåé èç ïîëó÷åííûõ îöåíîê, äëÿ äðóãèõ íàèõóäøåé, ò. å. òàêèå îöåíêè ïî ðàçíûì êðèòåðèÿì ÿâëÿþòñÿ íåñðàâíèìûìè. Ïåðâûé øàã îáðàáîòêè ìàòðèöû îöåíîê Ð çàêëþ÷àåòñÿ â ïðåîáðàçîâàíèè ýëåìåíòîâ ìàòðèöû ñ öåëüþ ïîëó÷åíèÿ ñðàâíèìûõ îöåíîê ïóòåì ïðèâåäåíèÿ èõ ê åäèíîìó ìàñøòàáó è íà÷àëó îòñ÷åòà. Ýòà çàäà÷à ìîæåò áûòü ðåøåíà ðàçëè÷íûìè ìåòîäàìè, íàïðèìåð ðàíæèðîâàíèåì îöåíîê. Ðàíæèðîâàíèå ïðåäñòàâëÿåòñÿ ïðîöåäóðîé âû÷èñëåíèÿ îöåíîê â ðàíãîâîé øêàëå, êîòîðóþ ìîæíî îïèñàòü ñëåäóþùèì îáðàçîì. Îáîçíà÷èì pl (n), px (n) ñîîòâåòñòâåííî ëó÷øóþ è õóäøóþ îöåíêè ïî êðèòåðèþ fn∈F, n = 1, N . Îöåíêè ïî êðèòåðèþ fn äëÿ âñåõ âàðèàíòîâ íàõîäÿòñÿ â äèàïàçîíå px (n) ≤ ðmn ≤ pl(n), m = 1, M . 54
Ïîñòðîåíèå øêàëû îöåíîê Sn çàêëþ÷àåòñÿ â çàäàíèè ÷èñëà ãðàäàöèé D (ðàíãîâ, äåëåíèé) øêàëû è îïðåäåëåíèè öåíû äåëåíèÿ øêàëû dn= ( pl (n) px (n)) / D. Áëèçêèå îöåíêè (ñ òî÷íîñòüþ äî öåíû äåëåíèÿ) ìîãóò ïîïàñòü â îäèí ðàíã øêàëû Sn, ò. å. ýòè îöåíêè ýêâèâàëåíòíû â äàííîé øêàëå Sn, çíà÷èò, D îïðåäåëÿåò êîëè÷åñòâî êëàññîâ ýêâèâàëåíòíîñòåé â ìàòðèöå îöåíîê. Èç èñõîäíîé ìàòðèöû îöåíîê Ð àáñîëþòíûå îöåíêè pmn ïðåîáðàçóþòñÿ â ðàíæèðîâàííûå îöåíêè rmn ñëåäóþùèì îáðàçîì: äëÿ pl (n) ïîëàãàåì rmn = D, äëÿ îñòàëüíûõ âû÷èñëÿåì ïî ôîðìóëå rmn = [( ðmn px(n)) / dn +1], ãäå [x] áëèæàéøåå öåëîå ÷èñëî, ìåíüøåå èëè ðàâíîå õ, ò. å. öåëàÿ ÷àñòü õ. Îöåíêè rmn ñîîòâåòñòâóþò ðàíãó, ò. å. áîëåå ïðåäïî÷òèòåëüíîìó îáúåêòó ñîîòâåòñòâóåò áîëåå âûñîêèé ðàíã. Ïðåîáðàçîâàííàÿ òàêèì îáðàçîì ìàòðèöà ðàíæèðîâàííûõ îöåíîê ||R||M×N ñîäåðæèò ñðàâíèìûå ïî ðàçëè÷íûì êðèòåðèÿì îöåíêè, ïîñêîëüêó ðàíæèðîâàííûå îöåíêè òåðÿþò àáñîëþòíûé âåñ è çíàê, ñïåöèôè÷íîñòü, îïðåäåëÿåìóþ öåíîé äåëåíèÿ øêàëû äàííîãî êðèòåðèÿ, ñîõðàíÿÿ îòíîñèòåëüíûé âåñ, ò. å. ïîëîæåíèå â ðàíãîâîé øêàëå. 4.3. Ïîëó÷åíèå ãðóïïîâûõ îöåíîê Âòîðîé øàã îáðàáîòêè ìàòðèöû îöåíîê Ð ñîñòîèò â âûðàáîòêå ãðóïïîâîãî ïðåäïî÷òåíèÿ âàðèàíòîâ íà îñíîâå èíäèâèäóàëüíûõ ðàíæèðîâàííûõ îöåíîê ìàòðèöû R, ïîëó÷åííîé â ðåçóëüòàòå ñîãëàñîâàíèÿ îáùåé øêàëû îöåíîê. Ïðîñòåéøèé ñïîñîá ïîëó÷åíèÿ ãðóïïîâîé îöåíêè ñîñòîèò â òîì, ÷òî êàæäîìó êðèòåðèþ fn ñòàâèòñÿ â ñîîòâåòñòâèå ÷èñëî ln, íàçûâàåìîå âåñîì êðèòåðèÿ fn. Ñîâîêóïíîñòü { ln}, n = 1, N , óïîðÿäî÷èâàåò ìíîæåñòâî F={fn} ïî ñòåïåíè âàæíîñòè êðèòåðèåâ. Ãðóïïîâàÿ îöåíêà îïðåäåëÿåòñÿ êàê âåêòîð G = RM×N ×L, ãäå L={ln }, n = 1, N , à ýëåìåíòû âåêòîðà G îïðåäåëÿþòñÿ âûðàæåíèåì gm =
N
∑ rmnln , n =1
îòñþäà ìîæíî ïîëó÷èòü óñðåäíåííûå çíà÷åíèÿ 55
gm = gm / N = (
N
∑ rmnln ) / N
, m = 1, M ,
n =1
ãäå M êîëè÷åñòâî âàðèàíòîâ. Âàðèàíòû îáúåêòîâ ñðàâíåíèÿ óïîðÿäî÷èâàþòñÿ â ñîîòâåòñòâèè ñî çíà÷åíèåì âåëè÷èí gm èëè g m , ïðè ýòîì âàðèàíò ñ ìàêñèìàëüíûì çíà÷åíèåì gm ( g m ) ÿâëÿåòñÿ íàèáîëåå ïðåäïî÷òèòåëüíûì. Åñëè îáðàçóåòñÿ ìíîæåñòâî íåðàçëè÷èìûõ ïî gm âàðèàíòîâ, òî äàëüíåéøåå óïîðÿäî÷åíèå îñóùåñòâëÿåòñÿ ñ ïîìîùüþ ëåêñèãðàôè÷åñêîãî ïîðÿäêà. Ïðèíèìàåòñÿ, ÷òî âàðèàíò v1 ïðåäïî÷òèòåëüíåå âàðèàíòà v2, åñëè îöåíêà v1 ïî ñàìîìó âàæíîìó ïîêàçàòåëþ âûøå, ÷åì îöåíêà v2, ïðè ðàâåíñòâå ýòèõ îöåíîê âàðèàíòû ñðàâíèâàþòñÿ ïî ïîêàçàòåëþ, ñëåäóþùåìó ïî âàæíîñòè è ò. ä. Ïðèìåð Ðàññìîòðèì øàãè îáðàáîòêè ìàòðèöû îöåíîê ÐM×N äëÿ ñëåäóþùèõ èñõîäíûõ äàííûõ: êîëè÷åñòâî îáúåêòîâ ñðàâíåíèÿ (âàðèàíòîâ) Ì=4, êîëè÷åñòâî êðèòåðèåâ (ôóíêöèé ïðåäïî÷òåíèÿ) N=6, ìàòðèöà îöåíîê Ð4×6: 1 2 3 4
1 2 2,5 102 3 57 5,7 32 17 52
3 0,1 0,9 0,4 1,1
4 5 2 3,5 1 0 10 5 0 5
6 4 0 2 3
Ïåðâûé øàã îáðàáîòêè Ð ïîëó÷åíèå îòíîñèòåëüíûõ îöåíîê. Äèàïàçîíû îöåíîê ïî êðèòåðèÿì fn→[px(n), pl(n)] è öåíû äåëåíèé øêàë Sn ïðè ÷èñëå ðàíãîâ D=10: f1→[3, 17], d1 = 2, f2→[102, 32], d2 = 7, f3→[0,1; 1,1], d3 = 0,1, f4→[10, 0], d4 = 1, f5→[5, 5], d5 = 1, f6→[0, 4], d6 = 0,4. 56
Ðàíæèðîâàííàÿ ìàòðèöà îöåíîê R4×6: 1 2 3 4
1 3 1 5 10
2 1 7 10 7
3 1 9 4 10
4 9 10 1 10
5 20 6 1 10
6 10 1 6 8
Âòîðîé øàã ïîëó÷åíèå ãðóïïîâûõ îöåíîê. Âåñà êðèòåðèåâ:
fn
1
2
3
4
5
6
ln
3
2
2
3
1
1
Ãðóïïîâûå îöåíêè âàðèàíòîâ: g1 = 3⋅3+2⋅1+2⋅1+3⋅9+1⋅2+1⋅10 = 52, g1 =8,7, g2 = 3⋅1+2⋅7+2⋅9+3⋅10+1⋅6+1⋅1 = 72, g2 = 12, g3 = 3⋅5+2⋅10+2⋅4+3⋅1+1⋅1+1⋅6 = 53, g3 = 8,7, g4 = 3⋅10+2⋅7+2⋅10+3⋅10+1⋅10+1⋅8 = 112, g4 = 18,67. Èñõîäÿ èç óñðåäíåííûõ ãðóïïîâûõ îöåíîê âàðèàíò 4 ìîæíî ñ÷èòàòü ïðåäïî÷òèòåëüíûì èç ðàññìàòðèâàåìûõ âàðèàíòîâ ñðàâíåíèÿ. Îäíàêî ïî ïîâîäó óñðåäíåííûõ ãðóïïîâûõ îöåíîê ìîæíî ñêàçàòü òî æå, ÷òî è î ñðåäíåé òåìïåðàòóðå áîëüíûõ â áîëüíèöå èëè îòíîñèòåëüíî ñðåäíèõ îöåíîê ýêñïåðòîâ. Ýòè îöåíêè íèâåëèðóþò ðàçëè÷èÿ â ôóíêöèÿõ ïðåäïî÷òåíèÿ, îíè îòðàæàþò òî îáùåå, ÷òî åñòü â èíäèâèäóàëüíûõ îöåíêàõ, è ñãëàæèâàþò áîëåå òîíêèå îòíîøåíèÿ ìåæäó ðàçëè÷íûìè êðèòåðèÿìè. Çàäà÷ó âûáîðà ïðåäïî÷òèòåëüíûõ âàðèàíòîâ ìîæíî ðåøèòü äðóãèì ñïîñîáîì ïðîèçâîäÿ àíàëèç ïðåäïî÷òåíèé ñðåäè àëüòåðíàòèâíûõ âàðèàíòîâ ïóòåì èõ ïîïàðíîãî ñðàâíåíèÿ. Ñôîðìóëèðóåì ýòó çàäà÷ó âûáîðà êàê çàäà÷ó òåîðèè ãðàôîâ. 4.4. Ôîðìàëèçàöèÿ çàäà÷è âûáîðà ïðåäïî÷òèòåëüíûõ îáúåêòîâ Ïóñòü V ìíîæåñòâî îáúåêòîâ (âàðèàíòîâ) ñðàâíåíèÿ, ïðè÷åì V =Ì (êîëè÷åñòâî îáúåêòîâ), à F ìíîæåñòâî êðèòåðèåâ (ôóíêöèé ïðåäïî÷òåíèÿ), ïî êîòîðûì ìîæíî îöåíèâàòü ýòè îáúåêòû, è F=N (êîëè÷åñòâî ôóíêöèé). Âåëè÷èíû pn, íàçûâàåìûå îöåíêàìè, îòðàæàþò ðàçëè÷èå ìåæäó ýëåìåíòàìè V ïî êðèòåðèþ fn∈F, n = 1, N , ò. å. ïðåäñòàâëÿþò ñîáîé îòîáðàæåíèå pn : 57
V→fn, êîòîðîå ïîçâîëÿåò âûïîëíèòü ñðàâíåíèå ïî êðèòåðèþ fn. Îáîçíà÷èì ÷åðåç Fn ìíîæåñòâî îöåíîê, êîòîðûå ìîæíî ïîëó÷èòü, èññëåäóÿ ýëåìåíòû V ñ òî÷êè çðåíèÿ êðèòåðèÿ fn. Ïðè àíàëèçå ïî âñåì êðèòåðèÿì êàæäîìó ýëåìåíòó v∈V ñòàâèòñÿ â ñîîòâåòñòâèå ïîñëåäîâàòåëüíîñòü èç N îöåíîê, âçÿòûõ èç ìíîæåñòâ F1,
, FN, ò. å. ñ êàæäûì ýëåìåíòîì ìíîæåñòâà V ñîïîñòàâëÿåòñÿ ýëåìåíò äåêàðòîâà ïðîèçâåäåíèÿ F '= F1× F2×
× FN.. Ñòàâèòñÿ çàäà÷à âûïîëíèòü ñðàâíåíèå îáúåêòîâ ìíîæåñòâà V ñ ïîìîùüþ ìíîãîìåðíîãî ñîñòîÿíèÿ F' = F1× F2×
× FN. ñ öåëüþ âûáîðà îäíîãî èëè íåñêîëüêèõ îáúåêòîâ, ÿâëÿþùèõñÿ íàèëó÷øèìè ñ òî÷êè çðåíèÿ ìíîæåñòâà êðèòåðèåâ F. Ïðåäñòàâèì ðåøåíèå çàäà÷è ïîïàðíîãî ñðàâíåíèÿ îáúåêòîâ íà ÿçûêå òåîðèè ãðàôîâ. Ìíîæåñòâî âñåõ óïîðÿäî÷åííûõ ïàð v, v'∈V îáîçíà÷àåòñÿ V×V. Ïîäìíîæåñòâî B⊆V×V íàçûâàåòñÿ áèíàðíûì îòíîøåíèåì, ò. å. (v,v') ∈B. Âûøå ìû ðàññìîòðåëè ñîîòâåòñòâèå ìåæäó áèíàðíûì îòíîøåíèåì è îðãðàôîì, ïðè ýòîì âåðøèíû ãðàôà ñîîòâåòñòâóþò îáúåêòàì ñðàâíåíèÿ vi∈V, à äóãè îòðàæàþò áèíàðíîå îòíîøåíèå ìåæäó îáúåêòàìè. Íàïîìíèì, ÷òî åñëè (v,v') ∈B, òî â ãðàôå ïðîâîäèòñÿ äóãà èç v â v', ïðè ýòîì v íà÷àëî, à v' êîíåö äóãè, ò. å. äóãà îïðåäåëÿåòñÿ ïàðîé (v,v'). Ïîñëåäîâàòåëüíîñòü äóã (vi, vi+1), i=1,2,
, k1, íàçûâàåòñÿ ïóòåì. Êîíå÷íûé ïóòü, ó êîòîðîãî v1=vk, îáðàçóåò êîíòóð. Äóãà (v, v) íàçûâàåòñÿ ïåòëåé. Êàê èçâåñòíî, áèíàðíîå îòíîøåíèå íàçûâàåòñÿ ðåôëåêñèâíûì, åñëè (v,v) ∈B (ò. å. ãðàô ñ ïåòëÿìè); àíòèðåôëåêñèâíûì, åñëè (v,v) ∉B (ò. å. ãðàô áåç ïåòåëü); ñèììåòðè÷íûì, åñëè (v,v') ∈B ↔ (v',v) ∈B (ò. å. äëÿ êàæäîé ïàðû ñìåæíûõ âåðøèí åñòü âñòðå÷íûå äóãè); àíòèñèììåòðè÷íûì, åñëè (v,v') ∈B è (v',v) ∈B → v=v' (ò. å. âåðøèíû ñî âñòðå÷íûìè äóãàìè ðàññìàòðèâàþòñÿ êàê îäíà âåðøèíà); àñèììåòðè÷íûì, åñëè (v,v') ∈B → (v',v) ∉B (ò. å. ãðàô áåç âñòðå÷íûõ äóã ìåæäó ïàðàìè âåðøèí); òðàíçèòèâíûì, åñëè (v,v') ∈B è (v',v'') ∈B → (v,v'') ∈B (ò. å. åñëè ëþáûå òðè ïîñëåäîâàòåëüíûå âåðøèíû ñâÿçàíû äâóìÿ ïîñëåäîâàòåëüíûìè äóãàìè, òî ñóùåñòâóåò äóãà ìåæäó ïåðâîé è òðåòüåé âåðøèíàìè); ëèíåéíûì, åñëè (v,v') ∈B èëè (v',v) ∈B (ò. å. ëþáûå äâå âåðøèíû ñâÿçàíû õîòÿ áû îäíîé äóãîé). Ðàññìîòðèì òåïåðü ìíîæåñòâî êðèòåðèåâ F. Êàæäûé ÷àñòíûé êðèòåðèé fn∈F çàäàåò íàïðàâëåíèå âîçðàñòàíèÿ ïðåäïî÷òåíèÿ îáúåêòîâ, â ñîîòâåòñòâèè ñ óâåëè÷åíèåì èõ îöåíîê, îïðåäåëÿåìûõ â êîëè÷åñòâåííîé èëè ðàíãîâîé øêàëå, ò. å. ìîæíî çàäàòü áèíàðíîå îòíîøåíèå ïðåäïî÷58
òåíèÿ (ïðåâîñõîäñòâà) Pf , êîòîðîå ñâÿçûâàåò ïàðó îáúåêòîâ ìíîæåñòâà V: (v,v') ∈ Pf , åñëè îöåíêà p(v) ≤ p(v'). Äëÿ êàæäîãî ÷àñòíîãî êðèòåðèÿ fn ìîæíî ïîñòðîèòü ãðàô Gn=(V,Un) (çäåñü Un ìíîæåñòâî âñåõ äóã ãðàôà Gn), â êîòîðîì ïðîâîäèòñÿ äóãà (v,v')∈Un, åñëè îöåíêà pn(v)
÷àñòíûå ãðàôû G n äëÿ êðèòåðèåâ fn (n= 1,6 ) ïî ÷åòûðåì âåðøèíàì (îáúåêòàì v1,v2,v3,v4), ãäå ÷èñëà ïðè âåðøèíàõ ýòî çíà÷åíèÿ ðàíæèðîâàííûõ îöåíîê îáúåêòîâ ñðàâíåíèÿ. Ïîñëå ñîâìåùåíèÿ âåðøèí è íàëîæåíèÿ äóã ïîëó÷èì ìóëüòèãðàô GV (ðèñ. 4.2,à), ãäå ÷èñëà ïðè äóãàõ ïîêàçûâàþò êîëè÷åñòâî ïàðàëëåëüíûõ äóã äàííîãî íàïðàâëåíèÿ. 1
v! 5
v 7
v! 10
v 9
3
10
1 v
7
1 v
v
v
v→G
v
v! 1
10 9
v"
10 v"
v v"→G"
v →G
v
v"
v!
6 2 v
v"
1 10
v#→G#
v!
v!→G!
v 1
v"
4 10
v! 6
10 v
v"
8
v$→G$
Ðèñ.4.1. ×àñòíûå ãðàôû Gn
 ìóëüòèãðàôå GV íàðóøàåòñÿ òðàíçèòèâíîñòü îòíîøåíèÿ íåðàçëè÷èìîñòè, âñëåäñòâèå íåîáõîäèìîñòè ñðàâíèâàòü ïî íåñêîëüêèì êðèòåðèÿì. Íåîáõîäèìî ââåñòè íîâîå îòíîøåíèå, êîòîðîå òðàíñôîðìèðîâàëî áû ìóëüòèãðàô GV â ãðàô G=(V,U), âîñïðîèçâîäÿùèé êâàçèïîðÿäîê íà ìíîæåñòâå V ñ ó÷åòîì îöåíîê ïî âñåì êðèòåðèÿì. Ïðåîáðàçîâàíèå GV → G=(V,U) ñâîäèòñÿ ê óñòàíîâëåíèþ ïðàâèëà, êîòîðîå ïîçâîëÿåò çàìåíèòü ìíîæåñòâî äóã ìåæäó âåðøèíàìè v è v' â GV ê äóãå (v,v')∈U èëè (v',v)∈U â ãðàôå G. Ñàìîå ïðîñòîå ïðàâèëî ïðåîáðàçîâàíèÿ GV→G ñâîäèòñÿ ê ïðèíöèïó ãîëîñîâàíèÿ (áîëüøèíñòâà), ïî êîòîðîìó â ãðàôå G ïðîâîäèòñÿ äóãà (v,v'), åñëè â ãðàôå GV êîëè÷åñòâî äóã (v,v') ïðåâûøàåò ÷èñëî äóã (v',v), à â ñëó÷àå ðàâåíñòâà ïðîâîäÿòñÿ âñòðå÷íûå äóãè (v,v') è (v',v), ïðè ýòîì âåñà äóã ïîëàãàþòñÿ îäèíàêîâûìè, ò. å. èãíîðèðóåòñÿ 60
êîëè÷åñòâî ïàðàëëåëüíûõ äóã, âàæíîñòü êðèòåðèåâ è âåëè÷èíû îöåíîê ïî ðàçíûì êðèòåðèÿì. Äëÿ ó÷åòà ïîñëåäíèõ ïàðàìåòðîâ èñïîëüçóþòñÿ áîëåå ñëîæíûå ïðàâèëà è àëãîðèòìû ïðåîáðàçîâàíèÿ GV→G=(V,U). Èñïîëüçóÿ ïðèíöèï ãîëîñîâàíèÿ (áîëüøèíñòâà) êàê îòíîøåíèå ïðåâîñõîäñòâà, èç ãðàôà GV (ðèñ. 4.2,à) ìîæíî ëåãêî ïîëó÷èòü ãðàô G=(V,U) (ðèñ. 4.2,á), êîòîðûé ìîæåò áûòü íå òðàíçèòèâíûì, íåñìîòðÿ íà òî, ÷òî âñå èñõîäíûå ãðàôû GV òðàíçèòèâíû. Ãðàô G îòðàæàåòñÿ áóëåâîé ìàòðèöåé ñìåæíîñòè ÂÌ×Ì (ðèñ. 4.2,â), â êîòîðîé ýëåìåíò bij=1, åñëè äóãà (v,v')∈U (ñòðåëêà èäåò îò v ê v'), ò. å. âåðøèíà v' ïðåâîñõîäèò (áîëåå ïðåäïî÷òèòåëüíà) v, â ïðîòèâíîì ñëó÷àå bij=0.
à
G 8:
3 3
v
3 4
v
5
1
6 v"
1 5
â B"×"
G: v
3
2 2
á
v!
v!
1
2
3
4
1
0
1
1
1
2
0
0
1
1
3
1
1
0
1
4
0
0
0
0
v v" Ðèñ. 4.2. Ïðåîáðàçîâàíèå ìóëüòèãðàôà GV → G: à ìóëüòèãðàô GV ; á ãðàô G=(V, U); â ìàòðèöà ñìåæíîñòè ãðàôà G
Òàêèì îáðàçîì, â ðåçóëüòàòå äâóõ øàãîâ îáðàáîòêè èñõîäíîé ìàòðèöû îöåíîê PÌ×N ïîëó÷åíà áóëåâà ìàòðèöà ÂÌ×Ì, îòðàæàþùàÿ ãðàô G ïðåâîñõîäñòâà (ïðåäïî÷òåíèÿ) âåðøèí (îáúåêòîâ ñðàâíåíèÿ). 61
4.5. Ìåòîäû è àëãîðèòìû âûáîðà ïðåäïî÷òèòåëüíûõ îáúåêòîâ 4.5.1. Ìåòîä è àëãîðèòì ïîèñêà êîíòóðîâ â ãðàôå Ðàññìîòðèì ãðàô G êàê ïàðó G= (V, Ã), ãäå à ïðåäñòàâëÿåò ìíîãîçíà÷íîå îòîáðàæåíèå ìíîæåñòâà âåðøèí V â ñåáÿ, íàïðèìåð, êàê áûëî ïîêàçàíî âûøå Ãv, îáîçíà÷àåò ìíîæåñòâî âåðøèí-êîíöîâ äóã, èìåþùèõ ˆ è È − v ïðåäñòàâëÿþò òðàíçèòèâíîå è îáðàòíîå íà÷àëîì âåðøèíó v; Ãv òðàíçèòèâíîå çàìûêàíèå äëÿ âåðøèíû v. Îòñóòñòâèå òðàíçèòèâíîñòè â ãðàôå ïðåâîñõîäñòâà îáúåêòîâ ñðàâíåíèÿ G ñâèäåòåëüñòâóþò î íàëè÷èè êîíòóðîâ, îáúåäèíÿþùèõ ïîäìíîæåñòâà îáúåêòîâ, íåðàçëè÷èìûõ ïî èíôîðìàöèè, ñîäåðæàùåéñÿ â ãðàôå, â ñîîòâåòñòâèè ñ îòíîøåíèåì íåðàçëè÷èìîñòè Nf äëÿ îáúåêòîâ ñ îäèíàêîâûìè îöåíêàìè p(v)=p(v') : (v,v')∈Nf. Ýòî îòíîøåíèå Nf ÿâëÿåòñÿ òàêæå îòíîøåíèåì ýêâèâàëåíòíîñòè (òðàíçèòèâíûì, ðåôëåêñèâíûì è ñèììåòðè÷íûì). Ïóñòü Ê ÿâëÿåòñÿ êîíòóðîì â ãðàôå G, òîãäà îáúåêòû v∈Ê ìîæíî ðàññìàòðèâàòü êàê ýêâèâàëåíòíûå, ò. å. êîíòóðû îáðàçóþò êëàññû ýêâèâàëåíòíîñòåé (Ê1,
, Êm ) è ïðåäñòàâëÿþòñÿ â ãðàôå êàê òðàíçèòèâíûå, ðåôëåêñèâíûå, ñèììåòðè÷íûå ïîäãðàôû, îïðåäåëåííûå âûøå (ñì. ï. 1.4.8) êàê ñèëüíî ñâÿçíûå ãðàôû. Òàêèì îáðàçîì ìíîæåñòâî îáúåêòîâ V (âåðøèí ãðàôà G) ìîæíî ðàçëîæèòü íà êëàññû Ê1,
, Êm, êàæäûé èç êîòîðûõ åñòü êîíòóð, ò. å. ñèëüíî ñâÿçíûé ãðàô. Ìàêñèìàëüíûì ñèëüíî ñâÿçíûì ïîäãðàôîì G' ãðàôà G=(V,Ã) íàçûâàåòñÿ òàêîé ïîäãðàô, äëÿ êîòîðîãî íå ñóùåñòâóåò ñèëüíî ñâÿçíîãî ãðàôà G'', ñòðîãî ñîäåðæàùåãî G'. Ëåãêî ïîêàçàòü, ÷òî ïîäìíîæåñòâî êëàññîâ {Êi}, i= 1,m , óïîðÿäî÷èâàþòñÿ îòíîøåíèåì R': ñóùåñòâóåò ïóòü èç êëàññà Êr â Ês. Îòíîøåíèå R' ðåôëåêñèâíî è òðàíçèòèâíî. Îíî òàêæå àñèììåòðè÷íî (ò. å. â ãðàôå íåò âñòðå÷íûõ äóã), òàê êàê åñëè áû ñóùåñòâîâàëè ïóòè êàê èç Êr â Ês, òàê è èç Ês â Êr , òî Êr è Ês ñëåäîâàëî áû îáúåäèíèòü â îäèí êëàññ, ÷òî ïðîòèâîðå÷èò èõ ìàêñèìàëüíîñòè. Ïåðâûé øàã óïîðÿäî÷åíèÿ ãðàôà ïðåâîñõîäñòâà G = (V,Ã) ñîñòîèò â íàõîæäåíèè êîíòóðîâ ãðàôà è ðàññìîòðåíèè èõ êàê îòäåëüíûõ îáúåêòîâ. Ìåòîä ïîèñêà êîíòóðîâ ñîñòîèò â ðàçëîæåíèè ãðàôà íà êëàññû ýêâèâàëåíòíîñòåé: 62
åñëè Ê(vi) êëàññ, ñîäåðæàùèé âåðøèíó vi, òî
ˆ −1vi , Ê(vi) = È vi ∩ à ò. å. êîíòóð äëÿ íåêîòîðîé âåðøèíû vi åñòü ïîäìíîæåñòâî âåðøèí, îáðàçóåìîå ïåðåñå÷åíèåì ìíîæåñòâ òðàíçèòèâíîãî è îáðàòíîãî òðàíçèòèâíîãî çàìûêàíèé äëÿ âåðøèíû vi.  ÷àñòíîñòè, êëàññ Ê(vi) ìîæåò ñîñòîÿòü è èç îäíîé âåðøèíû vi. Àëãîðèòì ìåòîäà âêëþ÷àåò ñëåäóþùèå îñíîâíûå øàãè. 1. Äëÿ îáðàáàòûâàåìûõ âåðøèí âûáèðàåì íà÷àëüíóþ âåðøèíó vi è
ˆ −1v , Ê(v ). îïðåäåëÿåì È vi , à i i 2. Óäàëÿåì èç äàëüíåéøåãî àíàëèçà âåðøèíû èç Ê(vi) ïóòåì ïîäàâëåíèÿ èõ ñâÿçåé, äëÿ ÷åãî â ìàòðèöå ñìåæíîñòè íåîáõîäèìî îáíóëèòü ñòðîêè è ñòîëáöû äëÿ âåðøèí èç êëàññà Ê(vi). 3. Åñëè åñòü åùå íåîáðàáîòàííûå âåðøèíû, òî ïåðåéòè íà øàã 1. Ïðèìåð Äëÿ ãðàôà G=(V,U), ãäå V=11 (ðèñ. 4.3) íèæå ïðåäñòàâëåí ïðîöåññ ïîëó÷åíèÿ êîíòóðîâ îò íà÷àëüíûõ âåðøèí. Ðåçóëüòèðóþùèé âåêòîð V äîëæåí ñîäåðæàòü íîìåðà êîíòóðîâ, ïðè âåðøèíàõ èõ îáðàçóþùèõ. v
v
v
v
v!
v' v&
v#
v"
v$ v% Ðèñ. 4.3. Îðãðàô G
Ýòàï 1. Îáðàáîòêà èñõîäíîé ìàòðèöû ñìåæíîñòè S. Íà÷àëüíàÿ âåðøèíà v1 îòìå÷åíà çíà÷åíèåì 0 â âåêòîðàõ çàìûêàíèé. 63
||S||: 1 2 3 4 5 6 7 8 9 10 11
1 0 1 0 0 0 0 0 0 0 1 1
2 0 1 0 0 0 0 0 0 0 0 0
3 0 0 1 0 0 0 0 0 1 0 0
4 0 0 1 1 1 0 0 0 0 1 0
5 0 0 0 1 0 0 0 0 0 1 1
6 0 0 0 0 0 1 0 0 0 0 1
7 1 0 0 0 0 0 0 0 0 0 0
8 0 1 0 0 0 1 0 0 0 0 0
9 0 0 1 0 0 0 0 0 0 1 0
10 0 0 1 0 0 0 0 0 0 0 0
11 0 1 0 0 0 0 1 0 0 0 1
ˆ Ãv 1 0 1 1 4 3 3 1 4 1 1 2
È −1v1 0 1 2 1 1 1 2 1 3 1 1 Çíà÷åíèåì 1 îòìå÷åíû âåðøèíû, íå âîøåäøèå â çàìûêàíèÿ. Îñòàëüíûå âåðøèíû âõîäÿò â ïðÿìîå è (èëè) îáðàòíîå òðàíçèòèâíûå çàìûêàíèÿ îò íà÷àëüíîé âåðøèíû v1 â ñîîòâåòñòâèè ñ àëãîðèòìîì ï. 2.3.2: ˆ ={v1, v4, v5, v6, v7, v8, v11 } (òðàíçèòèâíîå çàìûêàíèå Z). Ãv 1
È −1v1 ={v1, v2, v3, v7, v9, v10, v11} (îáðàòíîå òðàíçèòèâíîå çàìûêàíèå ZÎ). Âåðøèíû, âîøåäøèå â îáà çàìûêàíèÿ, îáðàçóþò êîíòóð K1 : ˆ ∩ È −1v = {v1, v7, v11}. K1(v1)= Ãv 1 1
 âåêòîðå V â ïîçèöèÿõ âåðøèí ñ íîìåðàìè 1, 7, 11 çàíîñèòñÿ íîìåð êîíòóðà Ê1, ò. å. 1 : 1 2 3 4 5 6 7 8 9 10 11 Íîìåðà âåðøèí ãðàôà: Âåêòîð íîìåðîâ êîíòóðîâ V : 1 0 0 0 0 0 1 0 0 0 1  ìàòðèöå ñìåæíîñòè S îáíóëÿþòñÿ ñòðîêè è ñòîëáöû ñ íîìåðàìè 1, 7, 11, òåì ñàìûì âåðøèíû ñ ýòèìè íîìåðàìè èñêëþ÷àþòñÿ èç äàëüíåéøåãî àíàëèçà. Åñëè â âåêòîðå V åñòü íåîáðàáîòàííûå âåðøèíû (çíà÷åíèå íîìåðà êîíòóðà = 0), òî ïðîäîëæàþòñÿ ýòàïû ïîèñêà êîíòóðîâ â ãðàôå. Ýòàï 2. Îáðàáîòêà ìàòðèöû S ïîñëå ïîäàâëåíèÿ ñâÿçåé âåðøèí {v1, v7, v11}. Íà÷àëüíàÿ âåðøèíà v2 = 0. 64
||S||:
1 2 3 4 5 6 7 8 9 10 11
1 0 0 0 0 0 0 0 0 0 0 0
2 0 1 0 0 0 0 0 0 0 0 0
3 0 0 1 0 0 0 0 0 1 0 0
4 0 0 1 1 1 0 0 0 0 1 0
5 0 0 0 1 0 0 0 0 0 1 0
6 0 0 0 0 0 1 0 0 0 0 0
7 0 0 0 0 0 0 0 0 0 0 0
8 0 1 0 0 0 1 0 0 0 0 0
9 0 0 1 0 0 0 0 0 0 1 0
10 0 0 1 0 0 0 0 0 0 0 0
11 0 1 0 0 0 0 0 0 0 0 0
ˆ Ãv 1 1 0 1 1 1 1 1 1 1 1 1
È −1v1 1 0 1 1 1 1 1 1 1 1 1 ˆ ={v2, v8 } (òðàíçèòèâíîå çàìûêàíèå Z). Ãv 1
È −1v1 ={v2} (îáðàòíîå òðàíçèòèâíîå çàìûêàíèå ZÎ). Âåðøèíû, âîøåäøèå â îáà çàìûêàíèÿ, îáðàçóþò êîíòóð K2 : ˆ ∩ È −1v = {v }, ò. å. êîíòóð âêëþ÷àåò òîëüêî îäíó âåðøèK2(v2)= Ãv 2 2 2
íó.
 âåêòîðå V â ïîçèöèè âåðøèíû ñ íîìåðîì 2 çàíîñèòñÿ íîìåð êîíòóðà K2, ò. å. 2 : 1 2 3 4 5 6 7 8 9 10 11 Íîìåðà âåðøèí ãðàôà: 1 2 0 0 0 0 1 0 0 0 1 Âåêòîð íîìåðîâ êîíòóðîâ V : Àíàëîãè÷íî ïîëó÷àþòñÿ ñëåäóþùèå êëàññû ýêâèâàëåíòíîñòåé (ðåêîìåíäóåòñÿ ïðîâåðèòü ñàìîñòîÿòåëüíî): K3(v3) = {v3, v9, v10 }; K4(v4) = {v4, v5 }; K5(v6) = {v6}; K6(v8) = {v8}.  ðåçóëüòàòå ïîëíîé îáðàáîòêè ìàòðèöû ñìåæíîñòè S ìîæíî ïîëó÷èòü âåêòîð V, ñîäåðæàùèé íîìåðà êîíòóðîâ â ïîçèöèÿõ âåðøèí, âêëþ÷åííûõ â äàííûé êîíòóð: 1 2 3 4 5 6 7 8 9 10 11 Íîìåðà âåðøèí ãðàôà: 1 2 3 4 4 5 1 6 3 3 1 Âåêòîð íîìåðîâ êîíòóðîâ V: Ðàññìîòðåííûé âûøå ïðîöåññ îáðàáîòêè ìàòðèöû ñìåæíîñòè S è ïîëó÷åíèÿ âåêòîðà êîíòóðîâ V ìîæíî ïðåäñòàâèòü â âèäå ìàøèííîãî àëãîðèòìà. 65
4.5.2. Îïèñàíèå ìàøèííîãî àëãîðèòìà ïîèñêà êîíòóðîâ â ãðàôå Âîçìîæíûé âàðèàíò ìàøèííîãî àëãîðèòìà ìîæåò âêëþ÷àòü ñëåäóþùèå îñíîâíûå øàãè. 1. Ââîä ìàòðèöû ñìåæíîñòè îðãðàôà (S) è åå ðàçìåðà (n). 2. Îáíóëåíèå V âåêòîðà âåðøèí êàê íåîáðàáîòàííûõ è NK-ñ÷åò÷èêà êîíòóðîâ. 3. Öèêë i=1(1)n (ïî âåðøèíàì âåêòîðà V) { åñëè (Vi = 0) (âåðøèíà íå îáðàáîòàíà) { ïîëó÷åíèå ïî ïîäïðîãðàììå äëÿ âåðøèíû Vi âåêòîðà òðàíçèòèâíîãî çàìûêàíèÿ (Z); òðàíñïîíèðîâàíèå ìàòðèöû S (ST); ïîëó÷åíèå âåêòîðà îáðàòíîãî òðàíçèòèâíîãî çàìûêàíèÿ (ZÎ); NK=NK + 1; (ïîëó÷åíèå íîìåðà êîíòóðà) 4. öèêë j=i(1)n (äëÿ îïðåäåëåíèÿ âåðøèí êîíòóðà) {åñëè (Zj≥0 è ZÎj≥0 ) (íàéäåíà âåðøèíà êîíòóðà) { Vj=NK; (çàíåñåíèå íîìåðà êîíòóðà â âåêòîð V ) 5. öèêë m=1(1)n(ïîäàâëåíèå ñâÿçåé âåðøèí êîíòóðà) { Smj=0; Sjm=0; (îáíóëåíèå ñòðîêè è ñòîëáöà j â S ) } (êîíåö öèêëà ïî m) } } (êîíåö öèêëà ïî j ) } } (êîíåö öèêëà ïî i ) 6. Âûâîä ðåçóëüòàòîâ: V, NK (âåêòîð êîíòóðîâ è èõ êîëè÷åñòâî). Íà îñíîâå ïîëó÷åííîãî âåêòîðà êîíòóðîâ V ìîæíî èçîáðàçèòü îðãðàô G ñ âûäåëåííûìè êëàññàìè ýêâèâàëåíòíîñòåé ( êîíòóðàìè). 4.5.3. Ïîñòðîåíèå ãðàôà êîíòóðîâ Ðèñ. 4.4,à ïîêàçûâàåò, êàê ìîæíî óïîðÿäî÷èòü êëàññû ýêâèâàëåíòíûõ îáúåêòîâ, îáðàçóþùèõ êîíòóðû, äëÿ ãðàôà íà ðèñ. 4.3. Íà ðèñ. 4.4,á ïîêàçàí ãðàô ñàìèõ êîíòóðîâ êàê îòäåëüíûõ îáúåêòîâ, ïîñëå óäàëåíèÿ êðàòíûõ äóã ìåæäó êîíòóðàìè. Ïîäîáíîå ïðåäñòàâëåíèå êîíòóðà â âèäå îäíîãî îáúåêòà íàçûâàåòñÿ ñòÿãèâàíèåì êîíòóðà. Ãðàô êîíòóðîâ, ïîëó÷åííûé íà îñíîâå îòíîøåíèÿ R': ñóùåñòâóåò ïóòü èç êëàññà Kr â Ks, ÿâëÿåòñÿ òðàíçèòèâíûì, ðåôëåêñèâíûì, àñèììåòðè÷íûì (íå èìååò âñòðå÷íûõ äóã), çíà÷èò, îí îòðàæàåò ÷àñòè÷íûé ïîðÿäîê, ò. å. ÿâëÿåòñÿ êâàçèñåðèåé, à ïîñêîëüêó â ñèëó îòíîøåíèÿ íåðàçëè÷èìîñòè 66
(ýêâèâàëåíòíîñòè) ýëåìåíòîâ êîíòóðà ((v,v')∈Nf è (v,v')∈Nf → v=v') îíè ñâåäåíû (ñòÿíóòû) ê îäíîìó îáúåêòó (K), ïîñòîëüêó ãðàô êîíòóðîâ ÿâëÿåòñÿ òàêæå àíòèñèììåòðè÷íûì, ò. å. îòðàæàåò ïîëíûé ïîðÿäîê, èëè ñåðèþ.
à K!
á v!
v
v'
v"
v#
K!
K v
v K"
K
v%
v v$
K K
v& K$
K"
K#
K$
K#
Ðèñ. 4.4. Ãðàô, ðàçëîæåííûé íà ìàêñèìàëüíî ñèëüíî ñâÿçíûå ïîäãðàôû (êîíòóðû): à ãðàô êëàññîâ ýêâèâàëåíòíûõ îáúåêòîâ; á ãðàô êîíòóðîâ
Ãðàô êëàññîâ ýêâèâàëåíòíîñòåé ÿâëÿåòñÿ àöèêëè÷åñêèì, à äëÿ âûÿâëåíèÿ â íåì ïîðÿäêà, êîòîðûé íå âûãëÿäèò î÷åâèäíûì, ñóùåñòâóþò ðàçëè÷íûå ìåòîäû óïîðÿäî÷åíèÿ âåðøèí, êîòîðûå áóäóò ðàññìîòðåíû íèæå. 4.6. Ðàçáèåíèå àöèêëè÷åñêîãî ãðàôà íà óðîâíè Ïîñòàíîâêà çàäà÷è.  ýòîé çàäà÷å îñóùåñòâëÿåòñÿ óïîðÿäî÷åíèå âåðøèí ïî óðîâíÿì ïîñëåäîâàòåëüíîñòåé äóã â àöèêëè÷åñêîì ãðàôå. 4.6.1. Ïîðÿäêîâàÿ ôóíêöèÿ ãðàôà Ðàññìîòðèì ãðàô áåç êîíòóðîâ G=(V,Ã) è îïðåäåëèì åãî ïîäìíîæåñòâà N0, N1, ... , Nr ñëåäóþùèì îáðàçîì: N0={ vi vi ∈V, È −1vi =∅}, ãäå ñèìâîë ÷èòàåòñÿ êàê åñëè, ò. å. N0 ýòî ïîäìíîæåñòâî âåðøèí V, åñëè èì íå ïðåäøåñòâóåò íè îäíà âåðøèíà (íåò âõîäÿùèõ äóã) ; N1={ vi vi ∈V N0, È −1vi ⊂ N0}, ò. å. N1 ïîäìíîæåñòâî èç îñòàâøèõñÿ âåðøèí-êîíöîâ äóã, ïðè÷åì âåðøèíû-íà÷àëà äóã, íàõîäÿòñÿ â ïðåäøåñòâóþùåì ìíîæåñòâå N0 ; 67
N2={ vi vi ∈V( N0 ∪N1 ), È −1vi ⊂ N0 ∪N1}, ò. å. N2 ïîäìíîæåñòâî èç îñòàâøèõñÿ âåðøèí-êîíöîâ äóã, ïðè÷åì âåðøèíû-íà÷àëà äóã ìîãóò íàõîäèòüñÿ â ëþáûõ ïðåäûäóùèõ ìíîæåñòâàõ; íàêîíåö, r −1
Nr={ vi vi ∈ V
U
k =0
N k , È −1v ⊂ i
r −1
U N k }, ãäå r òàêîå íàèìåíüøåå
k =0
÷èñëî, ÷òî ÃNr=∅, ò. å. èç âåðøèí ýòîãî ïîäìíîæåñòâà íå èñõîäèò íè îäíà äóãà (ýòî âèñÿ÷èå âåðøèíû). Ïîäìíîæåñòâà Nk, k=0, 1, 2,
, r îáðàçóþò ðàçáèåíèå V è óïîðÿäî÷åíû îòíîøåíèåì ñëåäîâàíèÿ (→) : Nk →Nk' ⇔ k
à) B A F
E
A C B C D D E F
0 1 0 1 0 0 A
0 0 0 0 0 0 B
0 1 0 1 1 1 C
0 0 0 0 0 0 D
1 1 0 1 0 0 E
1 0 0 0 0 0 F
C0 C1 C2 C3
A 2 0 1 1
B C 0 4 1 2 1 2 1 0
D E 0 3 1 1 1 0 1 1
F 1 1 0 1
N0={B,D} N1={A} N2={E,F} N3={C}
Ðèñ. 4.5. Âûäåëåíèå óðîâíåé àöèêëè÷åñêîãî ãðàôà: à èñõîäíûé ãðàô G; á ìàòðèöà ñìåæíîñòè è óðîâíè ãðàôà
68
Øàã 1. Îáðàçóåì ñòðîêó Ñ0, çàïèñûâàÿ äëÿ êàæäîé âåðøèíû êîëè÷åñòâî ïðåäøåñòâóþùèõ åé âåðøèí, äëÿ ÷åãî íåîáõîäèìî ïðîñóììèðîâàòü çíà÷åíèÿ â ñòîëáöàõ ìàòðèöû ãðàôà.  ìíîæåñòâî N0 âîéäóò âåðøèíû B è D, êîòîðûì íå ïðåäøåñòâóåò íè îäíà âåðøèíà (íóëè â ñîîòâåòñòâóþùèõ ïîçèöèÿõ ñòðîêè Ñ0). Øàã 2. Çàïîëíÿåì ñòðîêó Ñ1 ñëåäóþùèì îáðàçîì : 1) â ïîçèöèÿõ ñòðîêè Ñ1, â êîòîðûõ áûë 0 â ñòðîêå Ñ0 (B, D), çàïèøåì 1 (âåðøèíû îáðàáîòàíû, ò. å. ïîïàëè íà ñâîé óðîâåíü); 2) èñêëþ÷àåì âåðøèíû ïðåäûäóùåãî óðîâíÿ N0 ïóòåì îáíóëåíèÿ ñòðîê B è D ìàòðèöû S; 3) ñóììèðóåì ñòîëáöû, êðîìå B è D. Âåðøèíû, êîòîðûì ñîîòâåòñòâóþò íóëè â ñòðîêå C1, ñîñòàâëÿþò óðîâåíü N1, â ïðèìåðå ýòî âåðøèíà A. Øàã i. Àíàëîãè÷íî øàãó 2 çàïîëíÿåì ñòðîêó Ñi è çàïèñûâàåì óðîâíè Ni äî òåõ ïîð, ïîêà âîçìîæíî. Çàìå÷àíèå. Åñëè ãðàô ñîäåðæèò êîíòóð, òî îáÿçàòåëüíî ïîÿâèòñÿ ñòðîêà Ñi áåç íóëåé. Îòñþäà ñëåäóåò, ÷òî îïèñàííûé àëãîðèòì äàåò âîçìîæíîñòü óñòàíîâèòü íàëè÷èå êîíòóðîâ â ãðàôå. Íà ðèñ. 4.6,à ïîêàçàí èñõîäíûé ãðàô (ðèñ.4.5,à), ðàçáèòûé íà óðîâíè. Êàæäîé âåðøèíå vi ýòîãî ãðàôà ñîîòâåòñòâóåò íåêîòîðîå Nk, ò. å. íåêîòîðîå k∈{0,1,2,3}. Ýòà ïîðÿäêîâàÿ ôóíêöèÿ vi→k çàäàåòñÿ òàáëèöåé: Âåðøèíà A Óðîâåíü (k ) 1
à
A
B 0
C 3
á
F C
B
V
D 0
E 2 V!
V$ V#
E
D
V"
V N
F 2
N
N
N!
N
N
N
Ðèñ. 4.6. Ãðàô, ðàçáèòûé íà óðîâíè: à èñõîäíûé ãðàô; á ãðàô ñ íîâûìè âåðøèíàìè
N!
69
Ïîðÿäêîâàÿ ôóíêöèÿ ïîçâîëÿåò ïåðåíóìåðîâàòü âåðøèíû òàê, ÷òî âåðøèíû óðîâíÿ Ni èìåþò íîìåðà ìåíüøèå, ÷åì âåðøèíû óðîâíÿ Ni+1 (ðèñ. 4.6,á.). Ïîðÿäêîâàÿ ôóíêöèÿ èãðàåò âàæíóþ ðîëü âî ìíîãèõ êîìáèíàòîðíûõ çàäà÷àõ, íàïðèìåð ïîçâîëÿåò ðåøèòü çàäà÷ó âûáîðà ïðåäïî÷òèòåëüíûõ îáúåêòîâ. 4.6.2. Îïèñàíèå ìàøèííîãî àëãîðèòìà ðàçáèåíèÿ ãðàôà íà óðîâíè Âîçìîæíûé âàðèàíò àëãîðèòìà âêëþ÷àåò ñëåäóþùèå øàãè. 1. Ââîä ìàòðèöû ñìåæíîñòè (S) ãðàôà è åå ðàçìåðà (n); 2. k=0; (íà÷àëüíûé íîìåð óðîâíÿ ðàçáèåíèÿ ãðàôà) v=0; (ñ÷åò÷èê îáðàáîòàííûõ âåðøèí) 3. Öèêë j=1(1)n C[j]=0; (îáíóëåíèå âåêòîðà Ñ) 4. Íà÷àëî öèêëà ïî v (öèêë ïî îáðàáàòûâàåìûì âåðøèíàì) { k0=0; (ñ÷åò÷èê íóëåâûõ ñòîëáöîâ â öèêëå îáðàáîòêè âåðøèí) 5. Öèêë j=1(1)n (çàïîëíåíèå âåêòîðîâ C è N) 6. { åñëè (C[j] ≠ 1) (âåðøèíà j íå îáðàáîòàíà ) { sum=0; (íà÷àëî ñ÷åòà 1 äëÿ ñòîëáöà) 7. öèêë i=1(1)n sum = sum+S[i,j]; (ñóììèðîâàíèå ñòîëáöà j) 8. åñëè (sum≠0) (ñòîëáåö j íå ïóñòîé) C[j]=sum; (çàïîëíåíèå Cj ) 9. èíà÷å { C[j] = 1 ; (âåðøèíà îáðàáîòàíà) N[j]=k ; (çàïèñü óðîâíÿ âåðøèíû) v = v+1 ; (ïîäñ÷åò îáðàáîòàííûõ âåðøèí) k0=k0+1; (ïîäñ÷åò íóëåâûõ ñòîëáöîâ) } } ( êîíåö öèêëà ïî j) 10. åñëè (k0 ≠ 0 ) (åñòü íóëåâûå ñòîëáöû) 11. { öèêë i=1(1)n (èñêëþ÷åíèå â S ñòðîê îáðàáîòàííûõ âåðøèí) 12. { åñëè (N[i]=k) ( âåðøèíà i ïîïàëà íà óðîâåíü k) 13. öèêë j=1(1)n S[i,j]=0; ( îáíóëåíèå ñòðîêè i ) } (êîíåö öèêëà ïî i) 14. k=k+1; (ïîëó÷åíèå íîâîãî íîìåðà óðîâíÿ) 70
} (åñëè íåò íóëåâûõ ñòîëáöîâ) 15. èíà÷å { âûâîä ñîîáùåíèÿ ( ãðàôå åñòü êîíòóðû) ; ïåðåõîä íà êîíåö àëãîðèòìà ï.18 ; } 16. } ïîêà (v<=n) ; (óñëîâèå ïðîäîëæåíèÿ öèêëà ïî v ï. 4) 17. Âûâîä N ; 18. Êîíåö àëãîðèòìà.
(âåêòîð íîìåðîâ óðîâíåé âåðøèí)
4.6.3. Ïîðÿäêîâàÿ ôóíêöèÿ êëàññîâ ýêâèâàëåíòíîñòåé ãðàôà. Âûäåëåíèå ïðåäïî÷òèòåëüíûõ îáúåêòîâ ñðàâíåíèÿ Êàê ïîêàçàíî â ï. 4.6.1, ãðàô áåç êîíòóðîâ ìîæíî óïîðÿäî÷èòü ïî óðîâíÿì â ñîîòâåòñòâèè ñ ïîðÿäêîâîé ôóíêöèåé. Ðàññìîòðèì êëàññû ýêâèâàëåíòíîñòåé ãðàôà ( êîíòóðû, ìàêñèìàëüíî ñèëüíî ñâÿçíûå ïîäìíîæåñòâà âåðøèí). Êàê ìû âèäåëè â ï. 4.5.3, ýòè êëàññû óïîðÿäî÷åíû è ãðàô êëàññîâ ýêâèâàëåíòíîñòåé (ðèñ. 4.4,á) íå èìååò êîíòóðîâ, ïîýòîìó ìîæíî îïðåäåëèòü åãî óðîâíè. Íàïðèìåð, ïîñëå ïðèìåíåíèÿ àëãîðèòìà ðàçáèåíèÿ ãðàôà íà óðîâíè íà ðèñ. 4.7 ïîêàçàíû óðîâíè äëÿ ãðàôà êëàññîâ ýêâèâàëåíòíîñòåé (ðèñ. 4.4,á). Èñõîäíûé ãðàô íà ðèñ. 4.3 áûë ïîñòðîåí íà îñíîâå îòíîøåíèÿ ïðåäïî÷òåíèÿ ( ïðåâîñõîäñòâà ñì. ï. 4.4) P f : (v,v')∈P f, ò. å. v' ïðåâîñõîäèò v, à ãðàô êîíòóðîâ (ðèñ. 4.4,á) áûë ïîñòðîåí íà îñíîâå îòíîøåíèÿ R': åñòü ïóòü èç K r â K s, çíà÷èò, âèñÿ÷èå âåðøèíû (íå èìåþùèå ïðåâîñõîäÿùèõ âåðøèí) ãðàôà íà ðèñ. 4.7 (ò. å. êëàññû K 4 ={v 4, v 5} è K 6 ={v 8}) ñîK! K" äåðæàò âåðøèíû-îáúåêòû ñðàâíåíèÿ, êîòîðûå ÿâëÿþòñÿ ïðåäïî÷òèK òåëüíûìè â äàííîì àíàëèçå è íåK# ñðàâíèìû ìåæäó ñîáîé ïî èíôîðK K$ ìàöèè, ñîäåðæàùåéñÿ â ãðàôå. Òàêèì îáðàçîì, çàäà÷à âûáîðà ïðåäïî÷òèòåëüíûõ îáúåêòîâ èç ìíîæåN N N N! ñòâà ñðàâíèâàåìûõ ìåæäó ñîáîé ïî Ðèñ. 4.7. Óðîâíè ãðàôà íåñêîëüêèì êðèòåðèÿì ðåøåíà, íî êëàññîâ ýêâèâàëåíòíîñòåé ýòî íå åäèíñòâåííûé ìåòîä. 71
4.7. Âûäåëåíèå ÿäåð ãðàôà  òåîðèè ãðàôîâ âîçìîæíî èñïîëüçîâàòü ìåòîäû îòûñêàíèÿ ÿäåð ãðàôà G, ñîñòîÿùèõ èç ïîäìíîæåñòâà íåñðàâíèìûõ ìåæäó ñîáîé îáúåêòîâ, êàê îñíîâó äëÿ âûäåëåíèÿ íàèáîëåå ïðåäïî÷òèòåëüíûõ îáúåêòîâ. Ðàññìîòðèì ïîíÿòèÿ è ïîäõîäû, íåîáõîäèìûå äëÿ ðåøåíèÿ ýòîé çàäà÷è. 4.7.1. Âíóòðåííå óñòîé÷èâîå ïîäìíîæåñòâî Ïóñòü çàäàí ãðàô G=(V,Ã) ; ïîäìíîæåñòâî S⊂V íàçûâàåòñÿ âíóòðåííå óñòîé÷èâûì, åñëè S∩ÃS=∅, ò. å. íèêàêèå äâå âåðøèíû S íå ñìåæíû (íå ñâÿçàíû äóãîé ). Èç îïðåäåëåíèÿ ñëåäóåò, ÷òî âåðøèíà, èìåþùàÿ ïåòëþ (v,v), íå ìîæåò ïðèíàäëåæàòü âíóòðåííå óñòîé÷èâîìó ïîäìíîæåñòâó, ïîýòîìó äàëåå áóäóò ðàññìàòðèâàòüñÿ òîëüêî ãðàôû áåç ïåòåëü. Äëÿ ãðàôà ñ ïåòëÿìè ìîæíî ðàññìàòðèâàòü ñîîòâåòñòâóþùèé ãðàô áåç ïåòåëü. Ïðèìåð Ðàññìîòðèì ãðàô íà ðèñ. 4.8. Ïîäìíîæåñòâà S1={A,D}, S2={B,E}, S3={A,C,D} âíóòðåííå óñòîé÷èâû. Ïðîâåðèì ýòî, íàïðèìåð, äëÿ S1 : ÃA={B,E}, ÃD={E}, B C ÃS1=ÃA∪ÃD={B,E}, S1 ∩ÃS1={A,D}∩{B,E}=∅. Ìàêñèìàëüíîå âíóòðåííå óñòîé÷èâîå ïîäA D ìíîæåñòâî. Ýòî âíóòðåííå óñòîé÷èâîå ïîäìíîæåñòâî, íå ÿâëÿþùååñÿ ñîáñòâåííûì ïîäE ìíîæåñòâîì íèêàêîãî äðóãîãî âíóòðåííå óñÐèñ. 4.8. Îðãðàô òîé÷èâîãî ïîäìíîæåñòâà. Íàïðèìåð, â ïðåáåç ïåòåëü äûäóùåì ïðèìåðå S1⊂S3, ãäå S3 ìàêñèìàëüíîå âíóòðåííå óñòîé÷èâîå ïîäìíîæåñòâî. Ãðàô ìîæåò îáëàäàòü íåñêîëüêèìè ìàêñèìàëüíûìè âíóòðåííå óñòîé÷èâûìè ïîäìíîæåñòâàìè. 4.7.2. Ìåòîä ïîèñêà ñåìåéñòâà ìàêñèìàëüíûõ âíóòðåííå óñòîé÷èâûõ ïîäìíîæåñòâ (ìåòîä Ìàãó) Ýòîò ìåòîä èñïîëüçóåò ñâîéñòâà áóëåâûõ óðàâíåíèé. Ïóñòü S íåêîòîðîå âíóòðåííå óñòîé÷èâîå ïîäìíîæåñòâî. Ëþáîé âåðøèíå ãðàôà vi∈V ïîñòàâèì â ñîîòâåòñòâèå áóëåâó ïåðåìåííóþ xi, ïîëàãàÿ, ÷òî, åñëè vi ∉ S, òî xi = 0 èëè xi = 1 . Ââåäåì ïåðåìåííóþ αij: äëÿ j≠i, åñëè vj∈Ãvi (ò. å. âåðøèíû ñìåæíûå, vj êîíåö äóãè), òî αij=1, 72
åñëè vj∉Ãvi (ò. å. âåðøèíû íåñìåæíûå), òî αij=0, ÷òî ñîîòâåòñòâóåò ìàòðèöå ñìåæíîñòè. Äëÿ ëþáîé ïàðû âåðøèí vi è vj (ñ ó÷åòîì S∩ÃS=∅) ñïðàâåäëèâî óòâåðæäåíèå : (i≠j ; vi∈Ãvj èëè vj∈Ãvi) ⇒ (vi∉S èëè vj∉S), (çäåñü èëè îçíà÷àåò îïåðàöèþ íåèñêëþ÷àþùåå èëè), ò. å. òîëüêî îäèí èç êîíöîâ äóãè ìîæåò âõîäèòü â S, ëèáî îáà íå âõîäÿò. Ýòî ìîæíî çàïèñàòü òàê äëÿ âåðøèí, íå âõîäÿùèõ â S (ïðè i≠j):
(αij ∨ α ji ) ∨ xi ∨ õ j = 1, èëè (αij α ji ) ∨ xi ∨ õ j = 1. Âûïîëíèâ áóëåâî óìíîæåíèå ïî âñåì âåðøèíàì ãðàôà, ïðèõîäèì ê óðàâíåíèþ
(
)
Ô S = ∏∏ αij α ji ∨ xi ∨ õ j = 1 , j ≠i
i
çäåñü ∨ çíàê äèçúþíêöèè; ∏ çíàê áóëåâà óìíîæåíèÿ (êàæäûé ÷ëåí ó÷èòûâàåòñÿ îäèí ðàç). Èìåÿ â âèäó, ÷òî S ∩ Ã1S = ∅, ò. å. ìíîæåñòâî âåðøèí èç âíóòðåííå óñòîé÷èâîãî ïîäìíîæåñòâà è âíå åãî íå ïåðåñåêàþòñÿ, ìîæíî óïðîñòèòü ýòî óðàâíåíèå, çàìåíèâ âûðàæåíèå αij α ji íà αij
(
)
Ô S = ∏∏ αij ∨ xi ∨ õ j = 1, i
j ≠i
èëè Ô S = ∏ xi ∨ ∏ αij ∨ õ j j ≠i i
(
) = 1.
(4.1)
Äëÿ äàëüíåéøåãî óïðîùåíèÿ óðàâíåíèÿ íåîáõîäèìî ðàñêðûòü ñêîáêè è ïðèâåñòè ïîäîáíûå ÷ëåíû ñ ó÷åòîì îïåðàöèè ïîãëîùåíèÿ : x∨x⋅y=x è îïåðàöèè ïðèâåäåíèÿ ïîäîáíûõ ÷ëåíîâ x⋅x=x.  ðåçóëüòàòå óïðîùåíèÿ ïîëó÷èì, ÷òî äëÿ êàæäîãî ÷ëåíà óðàâíåíèÿ ÔS ñîâîêóïíîñòü âñåõ âåðøèí, ñîîòâåòñòâóþùèõ ïåðåìåííûì, íå ïðåäñòàâëåííûì â íåì, îáðàçóåò ìàêñèìàëüíîå âíóòðåííå óñòîé÷èâîå ïîäìíîæåñòâî ãðàôà. 73
4.8. A B C D E
Ïðèìåð Ðàññìîòðèì áóëåâó ìàòðèöó (ðèñ.4.9) îðãðàôà ïðåäñòàâëåííîãî íà ðèñ. A 0 1 0 0 0
B 1 0 0 0 0
C 0 1 0 0 0
D 0 1 0 0 1
E 1 0 0 1 0
Ðèñ. 4.9. Áóëåâà ìàòðèöà îðãðàôà
Äëÿ ýëåìåíòîâ ìàòðèöû αi j = 1 ïîëó÷àåì ÷ëåíû óðàâíåíèÿ âèäà α AB ∨ a ∨ b = 0 ∨ a ∨ b = a ∨ b ,
à äëÿ ýëåìåíòîâ ìàòðèöû αij=0 :
α AÑ ∨ a ∨ ñ = 1 ∨ a ∨ ñ = 1. Ïîñêîëüêó ÷ëåíû óðàâíåíèÿ âèäà ( a ∨ b ) è ( b ∨ a ) ïîäîáíû, òî óðàâíåíèå ÔS ñ ðàçíûìè ÷ëåíàìè èìååò âèä
Ô S = (a ∨ b ) (a ∨ e ) (b ∨ ñ )(b ∨ d )(d ∨ e ) = 1.
Óïðîùàÿ, ïîëó÷àåì Ô S = (a ∨ be )(b ∨ ñd )(d ∨ e ) = 1,
è, íàêîíåö, Ô S = abd ∨ añd ∨ be = 1. Òàêèì îáðàçîì, ãðàô íà ðèñ. 4.8 îáëàäàåò òðåìÿ ìàêñèìàëüíûìè âíóòðåííå óñòîé÷èâûìè ïîäìíîæåñòâàìè : {C,E}, {B,E}, {A,C,D}. 4.7.3. Âíåøíå óñòîé÷èâîå ïîäìíîæåñòâî Ïóñòü çàäàí ãðàô G=(V,Ã) ; ïîäìíîæåñòâî T⊂V íàçûâàåòñÿ âíåøíå óñòîé÷èâûì, åñëè (∀v∉T) T∩Ãv ≠ ∅, ò. å. âåðøèíà v, íå ïðèíàäëåæàùàÿ Ò, ñâÿçàíà ïî êðàéíåé ìåðå ñ îäíîé âåðøèíîé èç Ò äóãîé, íà÷àëî êîòîðîé ëåæèò â VÒ. Ýòî ìîæíî çàïèñàòü òàêæå â ñëåäóþùåì âèäå: (∀v ∈ V) ({v}∪Ãv) ∩T ≠ ∅. (4.2) Ïðèìåð Äëÿ ãðàôà íà ðèñ. 4.8 ïîäìíîæåñòâî {C,D,E} âíåøíå óñòîé÷èâîå, ÷òî ëåãêî ïðîâåðÿåòñÿ : T={C,D,E}, ÃA={B,E}, ÃB={A,C,D}, T∩ÃA={C,D,E}∩{B,E}={E}≠∅, T∩ÃB={C,D,E}∩{A,C,D}={C,D}≠∅. Î÷åâèäíî, ÷òî åñëè Ò⊂Ò'⊂V, òî Ò' âíåøíå óñòîé÷èâîå ïîäìíîæåñòâî. Ëþáàÿ âèñÿ÷àÿ âåðøèíà v (Ãv=∅, ò. å. èç íåå íå èñõîäèò äóãà) ïðèíàäëåæèò êàæäîìó âíåøíå óñòîé÷èâîìó ïîäìíîæåñòâó. 74
Ìèíèìàëüíîå âíåøíå óñòîé÷èâîå ïîäìíîæåñòâî íå ñîäåðæèò ñòðîãî íèêàêîãî äðóãîãî âíåøíå óñòîé÷èâîãî ïîäìíîæåñòâà, íàïðèìåð äëÿ ãðàôà íà ðèñ. 4.8 ïîäìíîæåñòâî {C,E} âíåøíå óñòîé÷èâîå è ìèíèìàëüíîå. Ãðàô ìîæåò îáëàäàòü íåñêîëüêèìè ìèíèìàëüíûìè âíåøíå óñòîé÷èâûìè ïîäìíîæåñòâàìè. 4.7.4. Ìåòîä ïîèñêà ñåìåéñòâà ìèíèìàëüíûõ âíåøíå óñòîé÷èâûõ ïîäìíîæåñòâ (ìåòîä Ìàãó) Èç óñëîâèÿ (4.2) ñëåäóåò, ÷òî ïîäìíîæåñòâî Ò äîëæíî ñîäåðæàòü âìåñòå ñ vi ïî êðàéíåé ìåðå îäíó èç âåðøèí Ãvi. Ñëåäîâàòåëüíî, ñïðàâåäëèâî óñëîâèå (∀vi ∈V) ( vi ∈T èëè (∃vj)( vj ∈Ò è vj ∈Ãvi)). Ïóñòü xi =1, åñëè vi∈Ò è αij=1 (αij îïðåäåëåíî âûøå), òîãäà
∏ xi ∨ ∑ αij x j = 1, i
i
Òàê êàê (∀vi) xi ∨ ∑ αij x j = ∑ αij x j , j i
òî
ÔT =
∏∑ αij x j = 1. i
(4.3)
j
Ïðè ðàçëîæåíèè ÔT ïîñëå îïåðàöèé ïîãëîùåíèÿ (x∨x⋅y=x) è ïðèâåäåíèÿ ïîäîáíûõ ÷ëåíîâ êàæäûé ÷ëåí ýòîãî ðàçëîæåíèÿ äàåò ìèíèìàëüíîå âíåøíå óñòîé÷èâîå ïîäìíîæåñòâî. Äåéñòâèòåëüíî, òàêîé ÷ëåí íå ñîäåðæèò ïåðåìåííûõ ñ îòðèöàíèåì, è ïîýòîìó èç ìíîæåñòâà âåðøèí vi, ñîîòâåòñòâóþùèõ ïåðåìåííûì xi, âñòðå÷àþùèõñÿ â ýòîì ÷ëåíå, íåëüçÿ óäàëèòü íè îäíó. Ïðèìåð Ðàññìîòðèì ãðàô (ðèñ. 4.8) è åãî áóëåâó ìàòðèöó (ðèñ. 4.9). Òàê, äëÿ 1-é ñòðîêè ìàòðèöû ìîæíî ïîëó÷èòü âûðàæåíèå αAA a ∨ αAB b ∨ αAE e = a ∨ b ∨ e. Àíàëîãè÷íûå âûðàæåíèÿ ìîæíî ïîëó÷èòü äëÿ îñòàëüíûõ ñòðîê.  ñèëó (4.3) ÔT = (a ∨ b ∨ e) (b ∨ a ∨ c ∨ d) c (d ∨ e) = 1. 75
Óïðîùàÿ, èìååì
ÔT = (a ∨ b ∨ e) c (d ∨ e) = 1, èëè ÔT = acd ∨ bcd ∨ ce = 1. Òàêèì îáðàçîì, ãðàô îáëàäàåò òðåìÿ ìèíèìàëüíûìè âíåøíå óñòîé÷èâûìè ïîäìíîæåñòâàìè : {A,C,D}, {B,C,D}, {C,E}. 4.7.5. ßäðà ãðàôà Ïóñòü çàäàí ãðàô G=(V,Ã). Ïîäìíîæåñòâî N⊂V íàçûâàåòñÿ ÿäðîì ãðàôà G, åñëè N îäíîâðåìåííî âíóòðåííå è âíåøíå óñòîé÷èâîå ïîäìíîæåñòâî, ò. å. (∀vi ∈N) N∩Ãvi=∅, (ò. å. âåðøèíû N íå ñìåæíû); (∀vj ∉N) N∩Ãvj≠∅, (ò. å. â N âõîäÿò êîíöû äóã, íà÷àëà êîòîðûõ âíå N). Îòñþäà ñëåäóåò, ÷òî ÿäðî ñîäåðæèò âñÿêóþ âåðøèíó vi ñ Ãvi = ∅ (ò. å. âèñÿ÷óþ âåðøèíó) è íå ñîäåðæèò âåðøèí ñ ïåòëÿìè. Î÷åâèäíî, ÷òî ∅ íå åñòü ÿäðî ãðàôà. Ãðàô ìîæåò îáëàäàòü íåñêîëüêèìè ÿäðàìè èëè âîîáùå íå èìåòü ÿäðà. 4.7.6. Ïîèñê ÿäåð ãðàôà ( ìåòîä Ìàãó) Ïîëàãàåì xi =1, åñëè vi ∈N è ðàññìîòðèì óðàâíåíèÿ ÔS=1 è ÔÒ=1. Òàê êàê ýòè ðàâåíñòâà äîëæíû âûïîëíÿòüñÿ, òî ÔN = ÔS·ÔÒ = 1, ò. å.
∏ i
xi ∨
∏( j ≠i
αij ∨ õ j
)
èëè
∏∑ i
j
αij x j = 1,
∏ xi ∑ αij x j ∨ xi ∏ (αij ∨ õ j ) = 1. i
j
j ≠i
(3.4)
 ðåçóëüòàòå ðåøåíèÿ óðàâíåíèÿ ÔN ïîëó÷èì ÿäðà ãðàôà. Ïðèìåð Äëÿ ãðàôà íà ðèñ. 4.8. ñîãëàñíî (3.4) ïî áóëåâîé ìàòðèöå íà ðèñ.4.9 íàõîäèì ÷ëåíû óðàâíåíèÿ ÔN (çàìå÷àÿ, ÷òî xx =0, õõ=õ, õ∨õy=x) : a (a ∨ b ∨ e) ∨ a ( b e ) = a (b ∨ e) ∨ a ( b e ), b ( a ∨ b ∨ c ∨ d) ∨ b ( a ñ d ) = b ( a ∨ c ∨ d) ∨ b ( a ñ d ),
76
d (d ∨ e) ∨ d e = d e ∨ d e ,
e (d ∨ e) ∨ e d = d e ∨ d e. ÔN = ( a b ∨ a e ∨ a b e ) ( b a ∨ b c ∨ b d) c ( d e ∨ d e ) = = ( a b ∨ a e ∨ a b e )( b c) ( d e∨d e ) = = ( a b ce ∨ a b c e ) ( d e ∨ d e ) = a b c d e ∨ a b cd e = 1, ò. å. ÔN = a b c d e ∨ a b cd e = 1. Òàêèì îáðàçîì, ãðàô îáëàäàåò äâóìÿ ÿäðàìè : N1={C,E} è N2={A,C,D}, êîòîðûå âûäåëåíû íà ðèñ. 4.10. Èç ðèñ. 4.10 âèäíî, ÷òî ìåæäó âåðøèíàìè ÿäðà ïðîèçâîëüíîãî ãðàôà ìîæåò íàðóøàòüñÿ îòíîøåíèå ïðåâîñõîäñòâà : (v,v')∈U, åñëè (v,v')∈Pf, ò. å. åñëè v' ïðåâîñõîäèò v, òî ñóùåñòâóåò äóãà (v,v')∈U. Ýòî ïðîèñõîäèò âñëåäñòâèå ïðèñóòñòâèÿ êîíòóðîâ â ãðàôå, íàïðèìåð âåðøèíû êîíòóðà {E,D}, ïðèíàäëåæàò ðàçíûì ÿäðàì, à òàêæå èç-çà íàðóøåíèÿ îòíîøåíèÿ òðàíçèòèâíîñòè ìåæäó âåðøèíàìè ÿäåð, íàïðèìåð ìåæäó âåðøèíàìè A è C åñòü ïóòü (À,Â,Ñ). Ïîýòîìó ïîèñê ïðåäïî÷òèòåëüíûõ îáúåêòîâ ñ èñïîëüçîâàíèåì ÿäåð ãðàôà ìîæíî ðàçáèòü íà äâà ýòàïà. B
C
N
N
D
A E
Ðèñ. 4.10. Ãðàô ñ âûäåëåííûìè ÿäðàìè
1 ýòàï.  èñõîäíîì ãðàôå îñóùåñòâëÿåòñÿ ïîèñê êëàññîâ ýêâèâàëåíòíîñòåé âåðøèí (ò. å. êîíòóðîâ) â ñîîòâåòñòâèè ñ àëãîðèòìîì ï. 4.5.2 è òðàíñôîðìàöèÿ èñõîäíîãî ãðàôà â ãðàô êëàññîâ ýêâèâàëåíòíîñòåé, êîòîðûé ÿâëÿåòñÿ ãðàôîì áåç êîíòóðîâ, ò. å. àöèêëè÷åñêèì. 2 ýòàï.  òåîðèè ãðàôîâ äîêàçàíà ñëåäóþùàÿ òåîðåìà : ãðàô áåç êîíòóðîâ âñåãäà îáëàäàåò ÿäðîì. Íà îñíîâå ýòîé òåîðåìû îñóùåñòâëÿåòñÿ ïîèñê ÿäåð àöèêëè÷åñêîãî ãðàôà è âûäåëåíèå ñðåäè íèõ âèñÿ77
à
á K! B
K
K! N
C K
A
D E
N
K
K
Ðèñ. 4.11. Ïîèñê ïðåäïî÷òèòåëüíûõ îáúåêòîâ: à âûäåëåíèå êëàññîâ ýêâèâàëåíòíîñòåé âåðøèí; á âûäåëåíèå ÿäåð ãðàôà
÷èõ âåðøèí. Ýòîò ïðîöåññ ïîèñêà ïðåäïî÷òèòåëüíûõ îáúåêòîâ ïðîèëëþñòðèðîâàí íà ðèñ. 4.11. 4.7.7. Âûäåëåíèå ïðåäïî÷òèòåëüíûõ îáúåêòîâ â ÿäðàõ ãðàôà Ðàññìîòðèì ñïîñîá, êîòîðûé ââîäèò â ïðîöåññ ïîèñêà ÿäåð ãðàôà îòíîøåíèå ïðåâîñõîäñòâà, ÷òî ïîçâîëÿåò îáúåäèíèòü â îäèí àëãîðèòì ýòàïû âûäåëåíèÿ êîíòóðîâ â ãðàôå è ïîèñêà ïðåäïî÷òèòåëüíûõ îáúåêòîâ â ÿäðàõ ãðàôà ïóòåì ñòÿãèâàíèÿ êîíòóðîâ. Ïóñòü Pf îòíîøåíèå ïðåâîñõîäñòâà : (v,v')∈Pf → (v,v')∈U â ãðàôå G=(V,U).  äóãå (v,v') âåðøèíó-êîíåö äóãè (v') áóäåì íàçûâàòü îñòàâëÿåìîé (ïðåâîñõîäÿùåé, ïðåäïî÷òèòåëüíîé), à âåðøèíó-íà÷àëî äóãè èñêëþ÷àåìîé. Ïóñòü Ð ìíîæåñòâî îñòàâëÿåìûõ âåðøèí v', à VP ìíîæåñòâî èñêëþ÷àåìûõ âåðøèí v. Ìíîæåñòâî Ð äîëæíî óäîâëåòâîðÿòü ñëåäóþùèì äâóì ñâîéñòâàì: 1) âíóòðåííåé óñòîé÷èâîñòè: ∀ v∈P è ∀ v'∈P → (v, v')∉U, ò. å. íèêàêîé îáúåêò èç ìíîæåñòâà Ð íå ïðåâîñõîäèòñÿ äðóãèì îáúåêòîì èç Ð; 2) âíåøíåé óñòîé÷èâîñòè : ∀ v∈VP ∃ v'∈P → (v,v')∈U, ò. å. äëÿ ëþáîé èç èñêëþ÷àåìûõ âåðøèí v ñóùåñòâóåò ñðåäè îñòàâëÿåìûõ ïî êðàéíåé ìåðå îäíà âåðøèíà v', êîòîðàÿ ïðåâîñõîäèò v. 78
Ïîäìíîæåñòâî âåðøèí, óäîâëåòâîðÿþùèõ îáîèì ñâîéñòâàì, ñîñòàâëÿþò ÿäðà ãðàôà ñ ó÷åòîì îòíîøåíèÿ ïðåäïî÷òåíèÿ Ðf. Ïóñòü å∈K (ãäå K êîíòóð) åñòü ýëåìåíò (îáúåêò), ðàññìàòðèâàåìûé êàê ýêâèâàëåíòíûé äðóãèì îáúåêòàì èç êîíòóðà K â ãðàôå G. Ïîëîæèì, ÷òî v∈VK ïðåâîñõîäèò å, åñëè ñóùåñòâóåò e'∈K òàêîé, ÷òî v ïðåâîñõîäèò e', ò. å. v ïðåâîñõîäèò K â öåëîì, òàêîå ïðåîáðàçîâàíèå â òåîðèè ãðàôîâ íàçûâàåòñÿ ñòÿãèâàíèåì êîíòóðà K. Íà îñíîâå ââåäåííîãî îòíîøåíèÿ ïðåâîñõîäñòâà ðàçðàáîòàí àëãîðèòì, êîòîðûé ïîçâîëÿåò âåñòè ïîèñê ÿäåð ãðàôà ñîâìåñòíî ñî ñòÿãèâàíèåì âñòðå÷àþùèõñÿ êîíòóðîâ. Îñíîâíûå ýòàïû àëãîðèòìà : 1. Ðåøåíèå çàäà÷è ïîèñêà êîíòóðîâ â ãðàôå è ïîëó÷åíèå âåêòîðà V ñ íîìåðàìè êîíòóðîâ. 2.  öèêëàõ ïðîñìîòðà êîíòóðîâ è âåðøèí âíå êîíòóðà îïðåäåëåíèå âåðøèí âíå êîíòóðà, ïðåâîñõîäÿùèõ õîòÿ áû îäíó âåðøèíó êîíòóðà, è èñêëþ÷åíèå òàêîãî êîíòóðà èç âåêòîðà V. Îñòàâøèåñÿ â âåêòîðå V âåðøèíû è êîíòóðû ñîñòàâëÿþò ÿäðà ãðàôà. Åñëè ÿäåð ãðàôà áîëüøå îäíîãî, òî îíè íåñðàâíèìû ïî èíôîðìàöèè, ñîäåðæàùåéñÿ â ãðàôå, ïîýòîìó íåîáõîäèì äîïîëíèòåëüíûé àíàëèç îáúåêòîâ ñðàâíåíèÿ. 4.7.8. Îïèñàíèå ìàøèííîãî àëãîðèòìà ïîèñêà ÿäåð ãðàôà Âîçìîæíûé âàðèàíò àëãîðèòìà âêëþ÷àåò ñëåäóþùèå øàãè. 1. Ââîä áóëåâîé ìàòðèöû ñìåæíîñòè ãðàôà (S) è åå ðàçìåðà (n). 2. Âûçîâ ïîäïðîãðàììû ïîèñêà êîíòóðîâ CONTUR (S, n, V, nk), ãäå S, n âõîäíûå äàííûå, à ðåçóëüòàòû: V âåêòîð íîìåðîâ êîíòóðîâ â ãðàôå, nk êîëè÷åñòâî êîíòóðîâ. 3. Öèêë k=1(1)nk (ïî íîìåðàì êîíòóðîâ) 4. { öèêë i=1(1)n (âûäåëåíèå âåðøèí êîíòóðà) (âåðøèíà Vi âõîäèò â êîíòóð k ) 5. { åñëè (Vi=k) 6. { öèêë j=1(1)n (âûäåëåíèå âåðøèí âíå êîíòóðà) ( âåðøèíà âíå êîíòóðà Vj 7. { åñëè (Vi ≠Vj ∧ Sij =1) ïðåâîñõîäèò âåðøèíó èç êîíòóðà Vi ) 8. { öèêë m=1(1)n (èñêëþ÷åíèå âåðøèí êîíòóðà) (ýòî âåðøèíà êîíòóðà ) 9. { åñëè (Vm=k) (èñêëþ÷åíèå íîìåðà êîíòóðà Vm=0 ; èç âåêòîðà V ) 10. } (êîíåö öèêëà ïî m) 79
11. ïåðåõîä íà ïðîäîëæåíèå öèêëà ïî k ; 12. } 13. } (êîíåö öèêëà ïî j) 14. } 15. } (êîíåö öèêëà ïî i) 16. } (êîíåö öèêëà ïî k) 17. Âûâîä âåêòîðà V ( íîìåðà êîíòóðîâ, îáðàçóþùèõ ÿäðà ãðàôà).
Áèáëèîãðàôè÷åñêèé ñïèñîê 1. Êîôìàí À. Ââåäåíèå â ïðèêëàäíóþ êîìáèíàòîðèêó. Ì.: Íàóêà, 1975. 480 ñ. 2. Áåëîâ Â. Â. è äð. Òåîðèÿ ãðàôîâ. Ì.: Âûñøàÿ øêîëà, 1976. 392 ñ. 3. Áàñàêåð Ð., Ñààòè Ò. Êîíå÷íûå ãðàôû è ñåòè. Ì.: Íàóêà, 1974. 386 ñ. 4. Ïðîêóøåâ Ë. À. Äèñêðåòíàÿ ìàòåìàòèêà 2: Ìåòîäè÷åñêèå óêàçàíèÿ ïî àëãîðèòìèçàöèè çàäà÷ òåîðèè ãðàôîâ/ ÃÓÀÏ. ÑÏá., 1998. 24 ñ.
80
ÎÃËÀÂËÅÍÈÅ Ââåäåíèå ....................................................................................................
3
1. ÎÑÍÎÂÍÛÅ ÎÏÐÅÄÅËÅÍÈß È ÏÎÍßÒÈß .................................. 5 1.1. Ýëåìåíòû òåîðèè ìíîæåñòâ ........................................................ 5 1.2. Îñíîâíûå ïîíÿòèÿ äëÿ ãðàôîâ .................................................... 8 1.3. Îñíîâíûå ïîíÿòèÿ äëÿ íåîðèåíòèðîâàííûõ ãðàôîâ ................ 10 1.4. Îñíîâíûå ïîíÿòèÿ äëÿ îðèåíòèðîâàííûõ ãðàôîâ .................... 23 1.5. Ðåàëèçàöèÿ àëãîðèòìîâ òåîðèè ãðàôîâ íà ÝÂÌ ....................... 34 2. ÇÀÄÀ×È Î ÏÓÒßÕ Â ÎÐÃÐÀÔÅ ........................................................ 2.1. Ñóùåñòâîâàíèå ïóòåé â îðãðàôå ................................................ 2.2. Ïåðåñ÷åò ïóòåé â îðãðàôå ............................................................ 2.3. Ïóòü ñ íàèìåíüøèì ÷èñëîì äóã. Ïîèñê òðàíçèòèâíîãî çàìûêàíèÿ âåðøèí ........................................................................
36 36 38 40
3. ÇÀÄÀ×È ÎÁ ÎÏÒÈÌÀËÜÍÛÕ ÐÀÑÑÒÎßÍÈßÕ ............................ 44 3.1. Ïîèñê ìèíèìàëüíûõ ïóòåé â ãðàôå ............................................ 46 3.2. Ïîèñê ìàêñèìàëüíîãî ïóòè â ãðàôå áåç êîíòóðîâ .................... 52 4. ÇÀÄÀ×À ÂÛÁÎÐÀ ÏÐÅÄÏÎ×ÒÈÒÅËÜÍÛÕ ÂÀÐÈÀÍÒΠÈÑÑËÅÄÓÅÌÎÉ ÑÈÑÒÅÌÛ ................................................................ 4.1. Îáùàÿ ïîñòàíîâêà çàäà÷è ............................................................ 4.2. Ïîëó÷åíèå ñðàâíèìûõ îöåíîê .................................................... 4.3. Ïîëó÷åíèå ãðóïïîâûõ îöåíîê ..................................................... 4.4. Ôîðìàëèçàöèÿ çàäà÷è âûáîðà ïðåäïî÷òèòåëüíûõ îáúåêòîâ .... 4.5. Ìåòîäû è àëãîðèòìû âûáîðà ïðåäïî÷òèòåëüíûõ îáúåêòîâ ..... 4.6. Ðàçáèåíèå àöèêëè÷åñêîãî ãðàôà íà óðîâíè ............................... 4.7. Âûäåëåíèå ÿäåð ãðàôà .................................................................. Áèáëèîãðàôè÷åñêèé ñïèñîê ....................................................................
53 53 54 55 57 62 67 72 80
81
Ó÷åáíîå èçäàíèå
Ïðîêóøåâ Ëåâ Àíòîíîâè÷
ÄÈÑÊÐÅÒÍÀß ÌÀÒÅÌÀÒÈÊÀ Îñíîâû òåîðèè ãðàôîâ è àëãîðèòìèçàöèè çàäà÷ Ó÷åáíîå ïîñîáèå
Ðåäàêòîð Ã. Ä. Áàêàñòîâà Êîìïüþòåðíàÿ âåðñòêà Þ. Ñ. Áàðäóêîâîé, À. Í. Êîëåøêî
Ëèöåíçèÿ ËÐ ¹ 020341 îò 07.05.97. Ñäàíî â íàáîð 26.09.00. Ïîäïèñàíî ê ïå÷àòè 20.12.00. Ôîðìàò 60×84 1/16. Áóìàãà òèï. ¹3. Ïå÷àòü îôñåòíàÿ. Óñë. ïå÷. ë. 2,9. Óñë. êð.-îòò. 3,0. Ó÷. -èçä. ë. 3,15. Òèðàæ 100 ýêç. Çàêàç ¹
Ðåäàêöèîííî-èçäàòåëüñêèé îòäåë Ëàáîðàòîðèÿ êîìïüþòåðíî-èçäàòåëüñêèõ òåõíîëîãèé Îòäåë îïåðàòèâíîé ïîëèãðàôèè ÑÏáÃÓÀÏ 190000, Ñàíêò-Ïåòåðáóðã, óë. Á. Ìîðñêàÿ, 67