2
0.1 Ïðåäèñëîâèå ðåäàêòîðà ïåðåâîäà Øèðîêîå ïðèìåíåíèå ÝÂÌ ñîçäàëî íîâûé æàíð ìàòåìàòè÷åñêîé ëèòåðàòóðû.  êíèãàõ ýòî...
114 downloads
182 Views
2MB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
2
0.1 Ïðåäèñëîâèå ðåäàêòîðà ïåðåâîäà Øèðîêîå ïðèìåíåíèå ÝÂÌ ñîçäàëî íîâûé æàíð ìàòåìàòè÷åñêîé ëèòåðàòóðû.  êíèãàõ ýòîãî æàíðà èçëîæåíèå íà÷èíàåòñÿ ñ òåîðåòè÷åñêîãî îáçîðà è çàêàí÷èâàåòñÿ îïèñàíèåì àëãîðèòìîâ, ïðàêòè÷åñêè ãîòîâûõ ê àâòîìàòè÷åñêîìó èñïîëíåíèþ íà ÝÂÌ. Êîíå÷íî, íîâèçíà òàêîãî ïîäõîäà îòíîñèòåëüíà è òðàäèöèÿ çàâåðøåíèÿ ìàòåìàòè÷åñêîãî òðàêòàòà ïðàâèëàìè âû÷èñëåíèé âîñõîäèò, ïî ìåíüøåé ìåðå, ê àë-Õîðåçìè. Íî âñå æå îîðìëåíèå îïåðàöèîííîãî áàãàæà ìàòåìàòèêè â âèäå ìàøèííûõ ïðîãðàìì ñóùåñòâåííî îòëè÷àåò íîâûå êíèãè îò êëàññè÷åñêèõ èíæåíåðíûõ ðóêîâîäñòâ ïî ïðèêëàäíîé ìàòåìàòèêå, îòëè÷íûì ïðèìåðîì êîòîðûõ ñëóæèò èçâåñòíûé ñïðàâî÷íèê È.Í. Áðîíøòåéíà è Í.Í. Ñåìåíäÿåâà. Ïåðâûå ïóáëèêàöèè ïîäîáíîãî ðîäà îòíîñèëèñü ê òðàäèöèîííûì ðàçäåëàì âû÷èñëèòåëüíîé ìàòåìàòèêè. Äàëüíåéøåå ðàñøèðåíèå êðóãà çàäà÷, ðåøàåìûõ íà ÝÂÌ, ïîòðåáîâàëî âûõîäà íà ìîäåëè äèñêðåòíîé ìàòåìàòèêè, ÷òî ïðèâåëî ê ïîäëèííîìó âîçðîæäåíèþ òåîðèè ãðàîâ è êîìáèíàòîðèêè, êîòîðûå çà íåñêîëüêî äåñÿòêîâ ëåò òðàíñîðìèðîâàëèñü èç ðàçäåëîâ ¾äîñóãîâîé¿ ìàòåìàòèêè â ïåðâîñòåïåííûé èíñòðóìåíò ðåøåíèÿ îãðîìíîãî ÷èñëà çàäà÷. Ïîñëå âûõîäà ïåðâûõ òðåõ òîìîâ åùå íå çàâåðøåííîé ìîíóìåíòàëüíîé ñåðèè ¾Èñêóññòâî ïðîãðàììèðîâàíèÿ äëÿ ÝÂÌ¿ Ä. Êíóòà [ò.1 ¾Îñíîâíûå àëãîðèòìû¿ (Ì.: Ìèð, 1976), ò.2 ¾Ïîëó÷èñëåííûå àëãîðèòìû¿ (Ì.: Ìèð, 1977), ò.3 ¾Ñîðòèðîâêà è ïîèñê¿ (Ì.: Ìèð, 1978)℄ àíàëîãè÷íûõ ðóêîâîäñòâ íå ïîÿâëÿëîñü â òå÷åíèå äëèòåëüíîãî âðåìåíè.  îòå÷åñòâåííîé ëèòåðàòóðå ñëåäîâàëî áû â ñâÿçè ñ ýòèì îòìåòèòü ðóêîâîäñòâî Â.À. Åâñòèãíååâà ¾Ïðèìåíåíèå òåîðèè ãðàîâ â ïðîãðàììèðîâàíèè¿ (Ì.: Íàóêà, 1985). Ïðè âñåé îáñòîÿòåëüíîñòè ýòîé êíèãè îíà äàëåêî íå èñ÷åðïûâàåò îïåðàöèîííûé çàïàñ äèñêðåòíîé ìàòåìàòèêè. Óæå â õîäå åå íàïèñàíèÿ àâòîð è ðåäàêòîð ïîçíàêîìèëèñü ñ ïðåäëàãàåìîé âíèìàíèþ ÷èòàòåëåé ìîíîãðàèåé ïîëüñêîãî ñïåöèàëèñòà Âèòîëüäà Ëèïñêîãî è óâèäåëè, íàñêîëüêî îíà õîðîøà è ïîëåçíà. Íå ñòîèò ïðåäâîñõèùàòü àâòîðñêîå âñòóïëåíèå ê ìîíîãðàèè Â. Ëèïñêîãî, äà è åå îãëàâëåíèå ãîâîðèò ñàìî çà ñåáÿ. Õîòåëîñü áû òîëüêî îáðàòèòü âíèìàíèå ÷èòàòåëåé íà ñâîåîáðàçíîå ñî÷åòàíèå òðàäèöèîííîãî è íîâàòîðñêîãî ïîäõîäîâ ê èçëîæåíèþ ìàòåðèàëà, êîòîðûé îñîáåííî ïðîÿâëÿåòñÿ ïðè èçëîæåíèè êîìáèíàòîðíûõ çàäà÷, èìåþùèõ äàâíþþ èñòîðèþ. Èìåííî ýòî îáñòîÿòåëüñòâî ïîáóæäàåò âûñêàçàòü íå ñòîëüêî êðèòè÷åñêîå çàìå÷àíèå, ñêîëüêî ïîæåëàíèå àâòîðàì áóäóùèõ êíèã. Åùå íåðåøåííîé ïðîáëåìîé èçëîæåíèÿ ìàòåìàòè÷åñêîé òåîðèè, çàâåðøàþùåéñÿ àëãîðèòìàìè, ÿâëÿåòñÿ îòñóòñòâèå äîêàçàòåëüíîé ëîãè÷åñêîé ñâÿçè ìåæäó òåîðåòè÷åñêèì ìàòåðèàëîì è àëãîðèòìàìè. Äîêàçàòåëüíîå ïðîãðàììèðîâàíèå â åãî ëîãè÷åñêîì è òðàíñîðìàöèîííîì ïîäõîäàõ ïðåäëàãàåò òå èëè èíûå ïðîöåäóðû ñèñòåìàòè÷åñêîãî èçâëå÷åíèÿ àëãîðèòìà èç ñïåöèèêàöèè çàäà÷è,
0.2. Îò àâòîðà
3
èñïîëüçóþùèå îòíîøåíèÿ è àêòû ñîîòâåòñòâóþùåé òåîðèè, îäíàêî ìû åùå äàëåêè îò òîãî, ÷òîáû èçëàãàòü ýòè ïðîöåäóðû â ñòàíäàðòíîì è íåïðèíóæäåííîì ñòèëå, âîøåäøåì â îáûäåííóþ íàó÷íî-ëèòåðàòóðíóþ ïðàêòèêó. Àêòóàëüíîñòü ýòîé ïðîáëåìû ïîñòîÿííî íàðàñòàåò, îñîáåííî ïîòîìó, ÷òî ÷àñòî ïðàêòè÷åñêàÿ ðåàëèçàöèÿ àëãîðèòìîâ òðåáóåò èõ îïðåäåëåííîé ìîäèèêàöèè, êîòîðàÿ íå äîëæíà ñíèæàòü ñòåïåíü ìàòåìàòè÷åñêîé äîñòîâåðíîñòè îêîí÷àòåëüíîãî âàðèàíòà ïðîãðàììû. Ýòî ïðåäèñëîâèå ïðèõîäèòñÿ çàêîí÷èòü ïå÷àëüíîé âåñòüþ î áåçâðåìåííîé êîí÷èíå àâòîðà ýòîé ìîíîãðàèè, ïîñëåäîâàâøåé ïîñëå òÿæåëîé áîëåçíè 30 ìàÿ 1985 ã. íà 36-ì ãîäó æèçíè. Çà 14 ëåò èíòåíñèâíîé íàó÷íîé äåÿòåëüíîñòè Â. Ëèïñêèé îïóáëèêîâàë ñâûøå ïÿòèäåñÿòè ðàáîò ïî êîìáèíàòîðèêå, òåîðèè èíîðìàöèîííîãî ïîèñêà è âû÷èñëèòåëüíîé ãåîìåòðèè, à òàêæå íàïèñàë òðè ìîíîãðàèè: ¾Êîìáèíàòîðíûå àñïåêòû òåîðèè èíîðìàöèîííîãî ïîèñêà¿ (1975 ã.), äàííàÿ ìîíîãðàèÿ (1982 ã.) è ¾Êîìáèíàòîðíûé àíàëèç¿ (ïîñìåðòíîå èçäàíèå 1987 ã.). Ïåðåâîä÷èêè è àâòîð ýòèõ ñòðîê ïîñâÿùàþò ñâîé ñêðîìíûé òðóä äîáðîé ïàìÿòè îäíîãî èç âåäóùèõ ïðåäñòàâèòåëåé ïîëüñêîé èíîðìàòèêè, ä-ðà íàóê, äîöåíòà Âèòîëüäà Ëèïñêîãî. Àêàäåìãîðîäîê, ÿíâàðü 1987 ã. À.Ï. Åðøîâ
0.2 Îò àâòîðà Ñåé÷àñ òðóäíî áûëî áû, ïîæàëóé, íàçâàòü ðàçäåë òåîðåòè÷åñêîé èíîðìàòèêè, â êîòîðîì â òå÷åíèå ïîñëåäíåãî äåñÿòèëåòèÿ áûëè áû äîñòèãíóòû áîëüøèå óñïåõè, íåæåëè â êîíñòðóèðîâàíèè è àíàëèçå êîìáèíàòîðíûõ àëãîðèòìîâ. Ñ îäíîé ñòîðîíû, áûëî îáíàðóæåíî ìíîãî íîâûõ, áîëåå ýåêòèâíûõ ìåòîäîâ ðåøåíèÿ êîìáèíàòîðíûõ çàäà÷ ñ ïîìîùüþ ÝÂÌ, ñ äðóãîé ïîëó÷åíû òåîðåòè÷åñêèå ðåçóëüòàòû, ñâèäåòåëüñòâóþùèå âñå áîëåå ÿâíî î òîì, ÷òî äëÿ øèðîêîãî êëàññà ïðîáëåì íå ñóùåñòâóåò ¾äîñòàòî÷íî ýåêòèâíûõ¿ àëãîðèòìîâ. Ýåêòèâíûå êîìáèíàòîðíûå àëãîðèòìû íàõîäÿò ïðèìåíåíèå âî ìíîãèõ îáëàñòÿõ íå÷èñëåííîé îáðàáîòêè èíîðìàöèè, îñîáåííî â äèñêðåòíîé îïòèìèçàöèè è â èññëåäîâàíèè îïåðàöèé.  íàñòîÿùåé êíèãå ïðåäñòàâëåíû íåêîòîðûå ðàçäåëû êîìáèíàòîðèêè, ïðè÷åì îñîáîå âíèìàíèå óäåëåíî êîíñòðóêòèâíîìó àëãîðèòìè÷åñêîìó ïîäõîäó ðÿäîì ñ îáñóæäàåìûìè êîìáèíàòîðíûìè ïðîáëåìàìè, êàê ïðàâèëî, ïðèâîäÿòñÿ àëãîðèòìû èõ ðåøåíèÿ âìåñòå ñ àíàëèçîì èõ âû÷èñëèòåëüíîé ñëîæíîñòè. Ýòè àëãîðèòìû ïðåäñòàâëÿþò ñîáîé ñæàòûå âàðèàíòû ïðîãðàìì, íàïèñàííûõ íà ÿçûêå Ïàñêàëü. Íà âûáîð îáñóæäàåìûõ ïðîáëåì, â áîëüøîé ìåðå ñëó÷àé-
4 íûé, ïðèíèìàÿ âî âíèìàíèå îãðàíè÷åííûé îáúåì êíèãè, à òàêæå îáøèðíîñòü ðàññìàòðèâàåìîé îáëàñòè, îêàçàëè âëèÿíèå êàê èíòåðåñû àâòîðà, òàê è æåëàíèå ñêîðåé äîïîëíèòü, íåæåëè ïðîäóáëèðîâàòü äâå äðóãèå êíèãè ñ ðîäñòâåííîé òåìàòèêîé, ïîäãîòîâëåííûå ê èçäàíèþ â ñåðèè ¾Áèáëèîòåêà òåõíîëîãèè ïðîãðàììèðîâàíèÿ¿ [2℄ è â ñåðèè ¾Èíîðìàòèêà¿ [76℄. Ïåðâàÿ, ñàìàÿ áîëüøàÿ ãëàâà äàííîé êíèãè ñîäåðæèò èçëîæåíèå íàèáîëåå êëàññè÷åñêèõ ðàçäåëîâ êîìáèíàòîðèêè (ïåðåñòàíîâêè, ðàçáèåíèÿ ìíîæåñòâ è ÷èñåë, áèíîìèàëüíûå êîýèöèåíòû, ïðîèçâîäÿùèå óíêöèè, è ò.ä.), à òàêæå ìíîãèå íåîáÿçàòåëüíî êëàññè÷åñêèå àëãîðèòìû ãåíåðèðîâàíèÿ óïîìÿíóòûõ êîìáèíàòîðíûõ îáúåêòîâ. Âî âòîðîé ãëàâå ïðåäñòàâëåíû îñíîâíûå ìåòîäû, èñïîëüçóåìûå ïðè êîíñòðóèðîâàíèè àëãîðèòìîâ íà ãðààõ, â îñîáåííîñòè ìåòîäû ñèñòåìàòè÷íîãî îáõîäà ãðàîâ. Òåìàòèêà, ñâÿçàííàÿ ñ ãðààìè, çàòðàãèâàåòñÿ è â äâóõ ñëåäóþùèõ ãëàâàõ: â îäíîé èç íèõ îáñóæäàþòñÿ ìåòîäà íàõîæäåíèÿ êðàò÷àéøèõ ïóòåé â ãðààõ, ðåáðàì êîòîðûõ ïðèïèñàíû ïðîèçâîëüíûå ¾äëèíû¿, â äðóãîé îñíîâíîå âíèìàíèå ñêîíöåíòðèðîâàíî íà çàäà÷å îòûñêàíèÿ ìàêñèìàëüíîãî ïîòîêà â ñåòè (ò.å. â ãðàå ñ îïðåäåëåííûìè ¾ïðîïóñêíûìè ñïîñîáíîñòÿìè¿ ðåáåð).  ïîñëåäíåé ãëàâå ðàññìàòðèâàåòñÿ ïðèìåíåíèå êîìáèíàòîðíîãî ïîíÿòèÿ ìàòðîèäà äëÿ ðåøåíèÿ íåêîòîðîãî êëàññà îïòèìèçàöèîííûõ çàäà÷. Êíèãà ïðåäíàçíà÷åíà äëÿ ïðîãðàììèñòîâ, æåëàþùèõ ðàñøèðèòü ñâîè çíàíèÿ â îáëàñòè êîìáèíàòîðíûõ àëãîðèòìîâ, à òàêæå ïîïîëíèòü ñâîè ïðàêòè÷åñêèå çíàíèÿ òåîðåòè÷åñêèìè. Îò ÷èòàòåëÿ òðåáóþòñÿ ýëåìåíòàðíûå ñâåäåíèÿ èç ìàòåìàòèêè, à òàêæå çíàêîìñòâî ñ ÿçûêîì ïðîãðàììèðîâàíèÿ Ïàñêàëü [36, 75℄ è íåêîòîðûé îïûò ïðîãðàììèðîâàíèÿ íà ÿçûêå âûñîêîãî óðîâíÿ.  çàêëþ÷åíèå õî÷ó ïîáëàãîäàðèòü ä-ðà íàóê Âèêòîðà Ìàðåêà çà ðÿä öåííûõ çàìå÷àíèé, êîòîðûå ïîçâîëèëè óñòðàíèòü ïîãðåøíîñòè ïåðâîíà÷àëüíîãî âàðèàíòà ýòîé êíèãè. Âàðøàâà, äåêàáðü 1980 Âèòîëüä Ëèïñêèé
ëàâà 1
Ââåäåíèå â êîìáèíàòîðèêó 1.1 Îñíîâíûå ïîíÿòèÿ  ýòîì ðàçäåëå ïðèâîäÿòñÿ îñíîâíûå îïðåäåëåíèÿ è îáîçíà÷åíèÿ, îòíîñÿùèåñÿ ê èñïîëüçóåìûì ëîãè÷åñêèì è òåîðåòèêî-ìíîæåñòâåííûì ïîíÿòèÿì, à òàêæå ïðåäñòàâëåííûå â ïðèâîäèìûõ íèæå àëãîðèòìàõ. Íà÷íåì ñ ëîãè÷åñêèõ è òåîðåòèêî-ìíîæåñòâåííûõ ïîíÿòèé (÷èòàòåëÿ, çàèíòåðåñîâàííîãî â áîëåå ãëóáîêîì çíàêîìñòâå ñ ýòèìè ïîíÿòèÿìè, ìû îòñûëàåì ê ðàáîòàì [49℄ è [57℄). Ìû áóäåì óïîòðåáëÿòü ëîãè÷åñêèå ñâÿçêè _ (èëè), ^ (è), : (íå), ) (åñëè : : :, òî), , (òîãäà è òîëüêî òîãäà, êîãäà). Òîò àêò, ÷òî x åñòü ýëåìåíò ìíîæåñòâà X , áóäåì çàïèñûâàòü â âèäå x 2 X , åãî îòðèöàíèå â âèäå x 2 = X . Ìíîæåñòâî òåõ ýëåìåíòîâ ìíîæåñòâà X , êîòîðûå óäîâëåòâîðÿþò óñëîâèþ , áóäåì îáîçíà÷àòü ÷åðåç fx 2 X g (èëè fx g, åñëè èçâåñòíî, î êàêîì ìíîæåñòâå X èäåò ðå÷ü), çàïèñü æå fa1 ; : : : ; an g áóäåò îáîçíà÷àòü ìíîæåñòâî, ýëåìåíòû êîòîðîãî ñóòü a1 ; : : : ; an (â ÷àñòíîñòè, åäèíñòâåííûì ýëåìåíòîì ìíîæåñòâà fag ÿâëÿåòñÿ a). Òåîðåòèêî-ìíîæåñòâåííûå îïåðàöèè îáúåäèíåíèÿ, ïåðåñå÷åíèÿ è ðàçíîñòè îáîçíà÷àþòñÿ ñîîòâåòñòâåííî \, [ è n, ïóñòîå ìíîæåñòâî îáîçíà÷àåòñÿ ?. Òîò àêò, ÷òî ìíîæåñòâî A ñîäåðæèòñÿ â ìíîæåñòâå B (ò.å. A åñòü ïîäìíîæåñòâî ìíîæåñòâà B ), áóäåò çàïèñûâàòüñÿ â âèäå A B èëè B A (âñåãäà èìåþò ìåñòî âêëþ÷åíèÿ ? A, A A); ñèìâîë ¾¿ çàðåçåðâèðîâàí äëÿ ñëó÷àÿ, êîãäà èñêëþ÷àåòñÿ ðàâåíñòâî A B (ïðè ýòîì áóäåì ãîâîðèòü, ÷òî A åñòü ñîáñòâåííîå ïîäìíîæåñòâî ìíîæåñòâà B ). Ìíîæåñòâî âñåõ ïîäìíîæåñòâ ìíîæåñòâà X áóäåì îáîçíà÷àòü ÷åðåç } X , ìîùíîñòü ìíîæåñòâà X (ò.å. ÷èñëî åãî ýëåìåíòîâ) ÷åðåç jX j. Ïîñëåäîâàòåëüíîñòü äëèíû n, ÷ëåíû êîòîðîé ñóòü a1 ; : : : ; an , áóäåì îáîçíà÷àòü ÷åðåç ha1 ; : : : ; an i, ëèáî ïðîñòî ÷åðåç a1 ; : : : ; an èëè a1 : : : an . Ïîñëåäîâàòåëü-
:
= ( )
5
:
ëàâà 1. Ââåäåíèå â êîìáèíàòîðèêó
6
íîñòü ha; bi äëèíû äâà áóäåì íàçûâàòü óïîðÿäî÷åííîé ïàðîé. Äåêàðòîâî ïðîèçâåäåíèå A B ìíîæåñòâ A è B îïðåäåëÿåòñÿ êàê ìíîæåñòâî âñåâîçìîæíûõ ïàð ha; bi, ãäå a 2 A, b 2 B . Ïîä áèíàðíûì îòíîøåíèåì (ñ ëåâîé îáëàñòüþ A è ïðàâîé îáëàñòüþ B ) ïîäðàçóìåâàåòñÿ ïðîèçâîëüíîå ïîäìíîæåñòâî R A B . Åñëè A B , òî áóäåì ãîâîðèòü î áèíàðíîì îòíîøåíèè íà ìíîæåñòâå A. Âìåñòî ha; bi 2 R ÷àñòî ïèøóò aRb. Ïî ïîâîäó îòíîøåíèÿ R íà ìíîæåñòâå X ãîâîðÿò, ÷òî îíî:
=
(à) ðåëåêñèâíî, åñëè (á) òðàíçèòèâíî, åñëè (â) ñèììåòðè÷íî, åñëè
xRx äëÿ êàæäîãî x 2 X ,
(xRy ^ yRz) ) xRz äëÿ ïðîèçâîëüíûõ x; y; z 2 X , xRy ) yRx äëÿ ïðîèçâîëüíûõ x; y 2 X ,
(ã) àíòèñèììåòðè÷íî, åñëè
X.
(xRy ^ yRx) ) x = y äëÿ ïðîèçâîëüíûõ x; y 2
Ïðîèçâîëüíîå áèíàðíîå îòíîøåíèå, îáëàäàþùåå ñâîéñòâàìè ðåëåêñèâíîñòè, òðàíçèòèâíîñòè è ñèììåòðè÷íîñòè, íàçûâàåòñÿ îòíîøåíèåì ýêâèâàëåíòíîñòè, à îáëàäàþùåå ñâîéñòâàìè ðåëåêñèâíîñòè, òðàíçèòèâíîñòè è àíòèñèììåòðè÷íîñòè, îòíîøåíèåì ÷àñòè÷íîé óïîðÿäî÷åííîñòè. Îòíîøåíèå ÷àñòè÷íîé óïîðÿäî÷åííîñòè îáû÷íî îáîçíà÷àåòñÿ ÷åðåç ¾¿, à ïàðà hX; i íàçûâàåòñÿ ÷àñòè÷íî óïîðÿäî÷åííûì ìíîæåñòâîì. Áóäåì ïðèìåíÿòü òàêæå î÷åâèäíûå îáîçíà÷åíèÿ, òàêèå êàê x y äëÿ y x, x < y äëÿ x y ^ x 6 y è ò.ä. Ïðèìåðîì ÷àñòè÷íî óïîðÿäî÷åííîãî ìíîæåñòâà ìîæåò ñëóæèòü ìíîæåñòâî öåëûõ ÷èñåë ñ îòíîøåíèåì äåëèìîñòè, ìíîæåñòâî öåëûõ (èëè âåùåñòâåííûõ) ÷èñåë ñ îáû÷íûì îòíîøåíèåì ìåíüøå èëè ðàâíî ¾¿, à òàêæå ìíîæåñòâî } X ñ îòíîøåíèåì âêëþ÷åíèÿ . Åñëè óíêöèÿ (îòîáðàæåíèå) f ñîïîñòàâëÿåò êàæäîìó ýëåìåíòó x 2 X ýëåìåíò f x 2 Y , òî áóäåì ïèñàòü f X ! Y (òàêàÿ óíêöèÿ ìîæåò òðàêòîâàòüñÿ êàê îòíîøåíèå R X Y ñ òåì ñâîéñòâîì, ÷òî äëÿ êàæäîãî x 2 X ñóùåñòâóåò â R òî÷íî îäíà ïàðà âèäà hx; y i, y 2 Y , äëÿ íàøèõ æå öåëåé äîñòàòî÷íî, îäíàêî, èíòóèòèâíîãî ïîíÿòèÿ óíêöèè). Äëÿ ïðîèçâîëüíûõ A 2 X , B 2 Y îïðåäåëèì
=
( )
:
()
f (A) = fy 2 Y
: ñóùåñòâóåò òàêîå x 2 A; ÷òî y = f (x)g f (B ) = fx 2 X : f (x) 2 B g (âìåñòî f (fbg) áóäåì ïðîñòî ïèñàòü f (b). Åñëè f (X ) = Y , òî áóäåì ãîâîðèòü î óíêöèè èç X íà Y . Ôóíêöèÿ f : X ! Y 1
1
1
íàçûâàåòñÿ îáðàòèìîé (âçàèìíî îäíîçíà÷íîé), åñëè äëÿ ïðîèçâîëüíûõ a; b 2 X
a 6= b ) f (a) 6= f (b):
1.1. Îñíîâíûå ïîíÿòèÿ
7
Ìû ÷àñòî áóäåì èñïîëüçîâàòü ïîíÿòèå ãðàà (ñì. [9℄,[31℄). Ïîä íåîðèåíòèðîâàííûì ãðàîì (èëè êîðî÷å ãðàîì) áóäåì äîíèìàòü òàêóþ ïðîèçâîëüíóþ ïàðó G hV; E i, ÷òî
=
E ffu; vg : u; v 2 V
^ u 6= vg:
=
Îðèåíòèðîâàííûì ãðàîì 1 áóäåì íàçûâàòü òàêóþ ïðîèçâîëüíóþ ïàðó G hV; E i, ÷òî E 2 V V è â îáîèõ ñëó÷àÿõ ìíîæåñòâà V è E áóäåì íàçûâàòü ñîîòâåòñòâåííî ìíîæåñòâîì âåðøèí è ìíîæåñòâîì ðåáåð 2 ãðàà G. ðà îáû÷íî èçîáðàæàåòñÿ íà ïëîñêîñòè â âèäå ìíîæåñòâà òî÷åê, ñîîòâåòñòâóþùèõ âåðøèíàì, è ñîåäèíÿþùèõ èõ ëèíèé, ñîîòâåòñòâóþùèõ ðåáðàì.3 Ëèíèÿ, èçîáðàæàþùàÿ ðåáðî fu; v g, èëè hu; v i4 , ñîåäèíÿåò òî÷êè, èçîáðàæàþùèå âåðøèíû u,v ïðè÷åì âî âòîðîì ñëó÷àå ñòðåëêà îáîçíà÷àåò íàïðàâëåíèå îò u ê v (ðèñ. 1.1).  êîíòåêñòå îïðåäåëåííîãî ãðàà G hV; E i áóäåì ÷àñòî èñïîëüçîâàòü îáîçíà÷åíèÿ u v , u ! v âìåñòî fu; v g 2 E è hu; v i 2 E ñîîòâåòñòâåííî. Åñëè ðåáðî e èìååò âèä fu; v g èëè hu; v i, òî áóäåì ãîâîðèòü, ÷òî ðåáðî e èíöèäåíòíî âåðøèíàì u è v , â òî âðåìÿ êàê âåðøèíû u è v ñìåæíû ìåæäó ñîáîé. Ñòåïåíü âåðøèíû îïðåäåëèì êàê ÷èñëî ðåáåð, èíöèäåíòíûõ åé.5 Âåðøèíó íóëåâîé ñòåïåíè áóäåì íàçûâàòü èçîëèðîâàííîé (íàïðèìåð, âåðøèíà v5 íà ðèñ.1.1, à). Ïóòåì â ãðàå G hV; E i íàçîâåì ïîñëåäîâàòåëüíîñòü âåðøèí v0 ; v1 ; : : : ; vn , òàêóþ, ÷òî k è vi vi+1 (èëè vi ! vi+1 , åñëè ãðà G îðèåíòèðîâàííûé), ; : : : ; k .6 Âåðøèíû v0 è vk áóäåì íàçûâàòü ñîîòâåòñòâåííî íà÷àëîì è i êîíöîì ïóòè, à ÷èñëî k äëèíîé ïóòè. Ïóòü, íà÷àëî è êîíåö êîòîðîãî ñîâïàäàþò, áóäåì íàçûâàòü öèêëîì 7 . Åñëè âñå âåðøèíû ïóòè v1 ; : : : ; vk ðàçëè÷íû, òî áóäåì ãîâîðèòü îá ýëåìåíòàðíîì ïóòè. Ñîîòâåòñòâåííî öèêë v1 ; : : : ; vk (v1 vk ) áóäåì íàçûâàòü ýëåìåíòàðíûì, åñëè âåðøèíû v1 ; : : : ; vk ðàçëè÷íû. Ïîäãðàîì ãðàà G hV; E i áóäåì íàçûâàòü òàêîé ïðîèçâîëüíûé ãðà G0 hV 0 ; E 0 i, ÷òî
=
=0
1
0
=
=
=
=
èëè êîðî÷å Ýëåìåíòû ìíîæåñòâà äëÿ îðãðàà íàçûâàþòñÿ Äóãà â îðãðàå èçîáðàæàåòñÿ ëèíèåé ñî ñòðåëêîé, óêàçûâàþùåé îðèåíòàöèþ äóãè, ò.å. íàïðàâëåíèå îò åå íà÷àëà ê êîíöó. 4 Óãëîâûå ñêîáêè èñïîëüçóþòñÿ äëÿ îáîçíà÷åíèÿ äóã îðãðàà. 5 Äëÿ âåðøèí îðãðàà îïðåäåëÿþòñÿ (÷èñëî çàõîäÿùèõ â âåðøèíó äóã) è (÷èñëî âûõîäÿùèõ äóã). Ñòåïåíü âåðøèíû îïðåäåëÿåòñÿ êàê ñóììà ïîëóñòåïåíåé çàõîäà è èñõîäà. 6 Òåðìèí ¾ïóòü¿ â òåîðèè ãðàîâ èñïîëüçóåòñÿ òîëüêî â îòíîøåíèè îðãðàîâ, äëÿ ãðàîâ èñïîëüçóþòñÿ òåðìèíû ¾öåïü¿ èëè ¾ìàðøðóò¿. 7 Ââåäåííûé òàê òåðìèí ¾öèêë¿ â òåîðèè ãðàîâ èñïîëüçóåòñÿ òîëüêî â îòíîøåíèè ãðàîâ, äëÿ îðãðàîâ èñïîëüçóåòñÿ òåðìèí ¾êîíòóð¿. 1 2 3
îðãðàîì
Ïðèì. ïåðåâ.
äóãàìè
E
Ïðèì. ïåðåâ.
Ïðèì. ïåðåâ.
Ïðèì. ïåðåâ.
ïîëóñòåïåíè çàõîäà
èñõîäà
Ïðèì. ïåðåâ.
Ïðèì. ïåðåâ.
Ïðèì. ïåðåâ.
ëàâà 1. Ââåäåíèå â êîìáèíàòîðèêó
8
u
(à)
u
v
v
1
u
v
5
3
v 8
u
v
v
u u u u u u
u
v
5
v
4
v
u
7
1
3
6
u
-
v
8
7
6
v
v
u u Æ u u u - Iu
v v
v
6
4
2
v
(á)
v
2
v
9
10
v
11
èñ. 1.1: à) íåîðèåíòèðîâàííûé ãðà á) íåîðèåíòèðîâàííûé ãðà
V0 V
è E 0 E .8 Ïóñòü G hV; E i ïðîèçâîëüíûé íåîðèåíòèðîâàííûé ãðà, è ïóñòü v 2 V . Ïóñòü A ìíîæåñòâî òåõ âåðøèí u 2 V , ê êîòîðûì ñóùåñòâóåò ïóòü èç v. Ìíîæåñòâî A âìåñòå ñ ðåáðàìè ãðàà G, èíöèäåíòíûìè âåðøèíàì èç A, îïðåäåëÿåò íåêîòîðûé ïîäãðà, íàçûâàåìûé êîìïîíåíòîé ñâÿçíîñòè ãðàà G. Î÷åâèäíî, ÷òî ìíîæåñòâà âåðøèí êîìïîíåíò ñâÿçíîñòè ïðîèçâîëüíîãî ãðàà ïîïàðíî íå ïåðåñåêàþòñÿ. Íàïðèìåð, äëÿ ãðàà íà ðèñ.1.1, à ýòî ñóòü ìíîæåñòâà V1 fv1 ; v2 ; v3 ; v4 ; v6 g, V2 fv5 g è V3 fv7 ; v8 ; v9 ; v10 ; v11 ; v12 g. Áóäåì ãîâîðèòü, ÷òî ãðàû G hV; E i, G0 hV 0 ; E 0 i èçîìîðíû, åñëè ñóùåñòâóåò òàêîå âçàèìíî îäíîçíà÷íîå îòîáðàæåíèå f èç V íà V 0 , ÷òî äëÿ ïðîèçâîëüíûõ u; v 2 V èìååì fu; v g 2 E , ff u ; f v g 2 E 0 (hu; v i 2 E , hf u ; f v i 2 E 0 â ñëó÷àå îðèåíòèðîâàííûõ ãðàîâ). Îáû÷íî èçîìîðíûå ãðàû íå ðàçëè÷àþòñÿ ìåæäó ñîáîé. Äëÿ ïðîèçâîëüíîãî âåùåñòâåííîãî ÷èñëà x ìû áóäåì óïîòðåáëÿòü îáîçíà-
=
=
=
= = = () ()
() ()
8  îòå÷åñòâåííîé ëèòåðàòóðå ïî òåîðèè ãðàîâ ãðà íàçûâàåòñÿ ÷àùå ãðàà, , ïîä ïîäãðàîì æå ïîíèìàåòñÿ ÷àñòè÷íûé ãðà, óäîâëåòâîðÿþùèé èëè äîïîëíèòåëüíîìó óñëîâèþ 8 ( 2 ^ f g 2 ) f g 2 )). G
÷àñòè÷íûì
0
÷àñòüþ
ãðàîì
x; y
x; y
V
0
x; y
E
x; y
E
0
Ïðèì. ïåðåâ.
1.1. Îñíîâíûå ïîíÿòèÿ
9
÷åíèÿ bx è dxe ñîîòâåòñòâåííî äëÿ íàèáîëüøåãî öåëîãî ÷èñëà, íå ïðåâîñõîäÿùåãî x, è äëÿ íàèìåíüøåãî öåëîãî ÷èñëà, íå ìåíüøåãî x, íàïðèìåð b : , d : e ,b : ,d : e .
35 =4
35 = 4
35 = 3
35 = 3
Ïåðåéäåì òåïåðü ê ïîíÿòèÿì, ñâÿçàííûì ñ àëãîðèòìàìè. Àëãîðèòìû áóäåì îáû÷íî çàïèñûâàòü íà ÿçûêå ïðîãðàììèðîâàíèÿ, ÿâëÿþùèìñÿ íåîðìàëüíîé âåðñèåé ÿçûêà Ïàñêàëü [36,75℄. Åñëè ðåàëèçàöèÿ êàêîãî-ëèáî ðàãìåíòà ïðîãðàììû î÷åâèäíà, íî òðóäîåìêà è çàòåìíÿåò èäåþ àëãîðèòìà, òî òàêîé ðàãìåíò áóäåì èíîãäà çàìåíÿòü îïèñàíèåì íà åñòåñòâåííîì ÿçûêå. Ìû áóäåì òàêæå ïðèìåíÿòü íåîðìàëüíûå êîíñòðóêöèè, òàêèå êàê, íàïðèìåð, öèêëû (for x 2 X do P (âûïîëíÿòü êîìàíäó P äëÿ âñåõ ýëåìåíòîâ x ìíîæåñòâà X â ïðîèçâîëüíîé ïîñëåäîâàòåëüíîñòè)), ÑÒÅÊ ( x (ïîìåñòèòü çíà÷åíèå ïåðåìåííîé x â ñòåê), x ) ÑÒÅÊ (ñ÷èòàòü ýëåìåíò x èç âåðøèíû ñòåêà è ïðèíÿòü åãî çà çíà÷åíèå ïåðåìåííîé x), Î×ÅÅÄÜ ( x (âêëþ÷èòü x â î÷åðåäü â êà÷åñòâå ïîñëåäíåãî ýëåìåíòà), x ) Î×ÅÅÄÜ (âçÿòü ïåðâûé ýëåìåíò èç î÷åðåäè è ïðèíÿòü åãî â êà÷åñòâå çíà÷åíèÿ ïåðåìåííîé x) è ò.ä. Ìû áóäåì îáû÷íî îïóñêàòü îïèñàíèÿ òèïîâ è ïåðåìåííûõ (èíîãäà äëÿ èçáåæàíèÿ íåäîðàçóìåíèé áóäåì ïîìåùàòü ñîîòâåòñòâóþùèå ïîÿñíåíèÿ â êîììåíòàðèé). Ïåðåìåííàÿ, ïîÿâëÿþùàÿñÿ â ïðîöåäóðå, ðàññìàòðèâàåòñÿ êàê ëîêàëüíàÿ äëÿ äàííîé ïðîöåäóðû, èñêëþ÷àÿ òîò ñëó÷àé, êîãäà â êîììåíòàðèè ñêàçàíî ÷òî-ëèáî èíîå. Ñòðîêè ïðîãðàììû íóìåðóþòñÿ òàê, ÷òîáû ìîæíî áûëî óêàçàòü íà ¾öèêë 17¿, ¾áëîê 9¿ è ò.ä. Îñíîâíûì ïàðàìåòðîì àëãîðèòìà, êîòîðûé áóäåò íàñ èíòåðåñîâàòü, ÿâëÿåòñÿ åãî âû÷èñëèòåëüíàÿ ñëîæíîñòü (èëè ïðîñòî ñëîæíîñòü), ò.å. ÷èñëî øàãîâ, âûïîëíÿåìûõ àëãîðèòìîì â õóäøåì ñëó÷àå êàê óíêöèÿ ðàçìåðíîñòè çàäà÷è, ïðåäñòàâëåííîé âõîäíûìè äàííûìè. Íàïðèìåð, åñëè àëãîðèòì ïðèíèìàåò êàê äàííûå ïðîèçâîëüíûé ãðà G hV; E i, òî ïîä ðàçìåðíîñòüþ ààäà÷è ìîæíî ïîíèìàòü jV j. Ñëîæíîñòü àëãîðèòìà îïðåäåëÿåòñÿ òîãäà êàê óíêöèÿ f , òàêàÿ ÷òî f n ðàâíî íàèáîëüøåìó ÷èñëó øàãîâ àëãîðèòìà äëÿ ïðîèçâîëüíîãî ãðàà ñ n âåðøèíàìè. Ìîæíî òàêæå ñ÷èòàòü ðàçìåðíîñòüþ çàäà÷è ïàðó hjV j; jE ji òîãäà ñëîæíîñòüþ ÿâëÿåòñÿ óíêöèÿ äâóõ ïåðåìåííûõ è f n; m ðàâíî íàèáîëüøåìó ÷èñëó øàãîâ, âûïîëíÿåìûõ àëãîðèòìîì äëÿ ïðîèçâîëüíîãî ãðàà ñ n âåðøèíàìè è m ðåáðàìè. Îñòàåòñÿ åùå îáúÿñíèòü òî÷íåå, ÷òî ìû ïîíèìàåì ïîä ¾øàãîì¿ àëãîðèòìà. Äîïóñòèì, ÷òî íàøè ïðîãðàììû òðàíñëèðóþòñÿ íà ìàøèííûé ÿçûê òèïè÷íîé ÝÂÌ, èìåþùåé â íàáîðå ñâîèõ êîìàíä êîìàíäû ïåðåíîñà ñëîâà èç ïàìÿòè â áóåð è íàîáîðîò, àðèìåòè÷åñêèå îïåðàöèè ñëîæåíèÿ, âû÷èòàíèÿ, óìíîæåíèÿ è äåëåíèÿ, óñëîâíûå ïåðåõîäû, îïåðàöèè ââîäà-âûâîäà, à òàêæå êîñâåííîé àäðåñàöèè, âûïîëíåííîé àïïàðàòíî (ò.å. îïðåäåëåíèå àðãóìåíòà îïåðàöèè ÷åðåç àäðåñ ÿ÷åéêè ïàìÿòè, ñîäåðæàùåé àäðåñ ýòîãî àðãóìåíòà). Âûïîëíåíèå ëþáîé èç óêàçàííûõ âûøå êîìàíä ìû è áóäåì ñ÷èòàòü øàãîì àëãîðèòìà. Î÷åâèäíî, ÷òî ïðè òàêîì îïðåäåëåíèè øàãà ñëîæíîñòü àëãîðèòìà çàâèñèò îò êîíêðåòíîãî âèäà ìàøèííûõ êîìàíä. Îäíàêî íàñ íèêîãäà íå áóäåò èíòåðåñîâàòü
=
()
(
)
ëàâà 1. Ââåäåíèå â êîìáèíàòîðèêó
10
òî÷íàÿ ñëîæíîñòü àëãîðèòìà, à òîëüêî àñèìïòîòè÷åñêàÿ ñëîæíîñòü, ò.å. àñèìïòîòè÷åñêàÿ ñêîðîñòü óâåëè÷åíèÿ ÷èñëà øàãîâ àëãîðèòìà, êîãäà ðàçìåðíîñòü çàäà÷è íåîãðàíè÷åííî ðàñòåò (÷òîáû ìîæíî áûëî ãîâîðèòü î òàêîé ñêîðîñòè ðîñòà, ïðåäïîëàãàåì, ÷òî îáúåì ïàìÿòè íàøåãî êîìïüþòåðà íåîãðàíè÷åííûé, à òàêæå, ÷òî êàæäàÿ ÿ÷åéêà ïàìÿòè ìîæåò ñîäåðæàòü ïðîèçâîëüíî áîëüøîå öåëîå ÷èñëî). ßñíî, ÷òî ïðè äâóõ ïðîèçâîëüíûõ ¾ðàçóìíûõ¿ ñïîñîáàõ òðàíñëÿöèè ñîîòâåòñòâóþùèå ñëîæíîñòè ðàçëè÷àþòñÿ íå áîëåå ÷åì íà ìóëüòèïëèêàòèâíóþ ïîñòîÿííóþ, à èõ ñêîðîñòü ðîñòà îäèíàêîâà. ×èòàòåëÿ, æåëàþùåãî óòî÷íèòü ïðèâåäåííûå âûøå î÷åíü íåîðìàëüíûå ðàññóæäåíèÿ, îòñûëàåì ê ðàáîòàì [1℄ è [2℄. Ïðè ñðàâíåíèè ñêîðîñòè ðîñòà äâóõ óíêöèé f n è g n (ñ íåîòðèöàòåëüíûìè çíà÷åíèÿìè) î÷åíü óäîáíû ñëåäóþùèå îáîçíà÷åíèÿ:
()
()
f (n) = O(g(n)) , ñóùåñòâóþò êîíñòàíòû C; N > 0, òàêèå C g(n) äëÿ âñåõ n N f (n) = (g(n)) , ñóùåñòâóþò êîíñòàíòû C; N > 0, òàêèå C g(n) äëÿ ëþáîãî n N .
( ) = ( ( )) ( ( )) ( ( )) () () ( ( ))
( ( )) ( )= (( )) ( ) ( )
÷òî
f (n)
÷òî
f (n)
( ) = ( ( ))
Êîíå÷íî, f n g n òîãäà è òîëüêî òîãäà, êîãäà g n Ofn . Ñèìâîëû O g n è g n ÷èòàþòñÿ ñîîòâåòñòâåííî: ¾ïîðÿäêà íå áîëåå ÷åì g n ¿ è ¾ïîðÿäêà íå ìåíåå ÷åì g n ¿. Åñëè ñëîæíîñòü êàêîãî-ëèáî àëãîðèòìà åñòü O g n , òî ìû ãîâîðèì, ÷òî ýòîò àëãîðèòì ¾çàòðà÷èâàåò ïîðÿäêà O g n âðåìåíè¿9 . Ïîäîáíûì æå îáðàçîì îïðåäåëÿþòñÿ ñèìâîëû O g n1 ; : : : ; nk è g n1 ; : : : ; nk äëÿ óíêöèè ìíîãèõ ïåðåìåííûõ, íàïðèìåð: f n1 ; : : : ; nk O g n1 ; : : : ; nk , ñóùåñòâóþò êîíñòàíòû C; N , òàêèå ÷òî f n1 ; : : : ; nk g n1 ; : : : ; nk äëÿ âñåõ n1 ; : : : ; nk N Îïðåäåëåííóþ òàêèì îáðàçîì ñëîæíîñòü èíîãäà íàçûâàþò âðåìåííîé ñëîæíîñòüþ â îòëè÷èå îò ñëîæíîñòè ïî ïàìÿòè, îïðåäåëÿþùåé âåëè÷èíó îáúåìà ïàìÿòè, èñïîëüçîâàííîãî àëãîðèòìîì, êàê óíêöèþ ðàçìåðíîñòè çàäà÷è.
( ( )) ))
((
0
1.2 Ôóíêöèè è ðàçìåùåíèÿ Êëàññè÷åñêîé çàäà÷åé êîìáèíàòîðèêè ÿâëÿåòñÿ çàäà÷à îïðåäåëåíèÿ ÷èñëà ñïîñîáîâ ðàçìåùåíèÿ íåêîòîðûõ îáúåêòîâ â êàêîì-òî êîëè÷åñòâå ¾ÿùèêîâ¿ òàê, ÷òîáû áûëè âûïîëíåíû çàäàííûå îãðàíè÷åíèÿ. Ýòó çàäà÷ó ìîæíî ñîðìóëèðîâàòü íåñêîëüêî áîëåå îðìàëüíî ñëåäóþùèì îáðàçîì. Äàíû ìíîæåñòâà X , Y , ïðè÷åì jX j n, jY j m. Ñêîëüêî ñóùåñòâóåò óíêöèé f X ! Y , óäîâëåòâîðÿþùèõ çàäàííûé îãðàíè÷åíèÿì? Ýëåìåíòû ìíîæåñòâà X ñîîòâåòñòâóþò
=
9
Ñèìâîëüíóþ çàïèñü = ( ( )) è ( ) =
f (n)
O g n
h n
=
f (n)
:
=
( ( )) íå ñëåäóåò òðàêòîâàòü êàê ðàâåíñòâî; íàïðèìåð, èç , êîíå÷íî, íå âûòåêàåò ( ) = ( ).
O (g (n))
O g n
f n
h n
1.2. Ôóíêöèè è ðàçìåùåíèÿ
11
:
îáúåêòàì, ýëåìåíòû ìíîæåñòâà Y ÿùèêàì, à êàæäàÿ óíêöèÿ f X ! Y îïðåäåëÿåò íåêîòîpoe ðàçìåùåíèå, óêàçûâàÿ äëÿ êàæäîãî îáúåêòà x 2 X ÿùèê f x 2 Y , â êîòîðîì äàííûé îáúåêò íàõîäèòñÿ. Äðóãóþ òðàäèöèîííóþ èíòåðïðåòàöèþ ïîëó÷èì, òðàêòóÿ Y êàê ìíîæåñòâî ¾öâåòîâ¿, a f x êàê ¾öâåò îáúåêòà x¿. Íàøà çàäà÷à, òàêèì îáðàçîì, ýêâèâàëåíòíà âîïðîñó, ñêîëüêèìè ñïîñîáàìè ìîæíî ïîêðàñèòü îáúåêòû òàê, ÷òîáû áûëè ñîáëþäåíû íåêîòîðûå îãðàíè÷åíèÿ.
()
()
Çàìåòèì, ÷òî áåç ïîòåðè îáùíîñòè ìîæåì âñåãäà ñ÷èòàòü, ÷òî X = 1; : : : ; n è = 1; : : : ; m. Êàæäóþ óíêöèþ f ìîæíî òîãäà îòîæäåñòâèòü ñ ïîñëåäîâàòåëüíîñòüþ hf (1); : : : ; f (n)i.
Y
Íàøà çàäà÷à èìååò ñàìûé ïðîñòîé âèä, åñëè íå íàêëàäûâàåòñÿ íèêàêèõ îãðàíè÷åíèé íà ðàçìåùåíèÿ. Èìååò ìåñòî ñëåäóþùàÿ òåîðåìà. Òåîðåìà 1.1.
ðàâíî
mn .
Åñëè
jX j = n, jY j = m, òî ÷èñëî âñåõ óíêöèé f : X ! Y
=1
Äîêàçàòåëüñòâî. Ñ÷èòàÿ, ÷òî X ; : : : ; n, ñâîäèì íàøó çàäà÷ó ê âîïðîñó î ÷èñëå âñåõ ïîñëåäîâàòåëüíîñòåé hy1 ; : : : ; yn i ñ ÷ëåíàìè èç m-ýëåìåíòíîãî ìíîæåñòâà Y . Êàæäûé ÷ëåí ïîñëåäîâàòåëüíîñòè yi ìû ìîæåì âûáðàòü m ñïîñîáàìè, ÷òî äàåò mn âîçìîæíîñòåé âûáîðà ïîñëåäîâàòåëüíîñòè hy1 ; : : : ; yn i. Ëåãêî òàêæå íàéòè ÷èñëî ðàçìåùåíèé, äëÿ êîòîðûõ êàæäûé ÿùèê ñîäåðæèò íå áîëåå îäíîãî îáúåêòà òàêèå ðàçìåùåíèÿ ñîîòâåòñòâóþò âçàèìíî îäíîçíà÷íûì óíêöèÿì. Îáîçíà÷èì ÷åðåç m n ÷èñëî âñåõ âçàèìíî îäíîçíà÷íûõ óíêöèé èç n-ýëåìåíòíîãî ìíîæåñòâà â m-ýëåìåíòíîå ìíîæåñòâî.
[ ℄
Òåîðåìà 1.2.
óíêöèé
Åñëè jX j ðàâíî
f :X!Y
= n, jY j = m, òî ÷èñëî âñåõ âçàèìíî îäíîçíà÷íûõ
[m℄n = m(m 1) : : : (m (ïîëàãàåì
n + 1)
(1.1)
[m℄ = 1). 0
Äîêàçàòåëüñòâî. Áóäåì îïðåäåëÿòü íà ýòîò ðàç ÷èñëî èíúåêòèâíûõ (ò.å. èìåþùèõ âñå ðàçëè÷íûå ÷ëåíû) ïîñëåäîâàòåëüíîñòåé hy1 ; : : : ; yn i ñ ÷ëåíàìè èç ìíîæåñòâà Y . Ýëåìåíò y1 òàêîãî ìíîæåñòâà ìû ìîæåì âûáðàòü m ñïîñîáàìè, ýëåìåíò y2 m ñïîñîáàìè, â îáùåì ñëó÷àå åñëè óæå âûáðàíû ýëåìåíòû y1 ; : : : ; yi 1 , òî â êà÷åñòâå yi ìîæåì âûáðàòü ëþáîé èç m i ýëåìåíòîâ ìíîæåñòâà Y nfy1 ; : : : ; yi 1 g (ïðèíèìàåì n m, åñëè n > m, òî î÷åâèäíî, ÷òî è m n è èñêîìîå ÷èñëî óíêöèé ðàâíû íóëþ). (Ýòî äàåò m m ::: m n âîçìîæíîñòåé âûáîðà èíúåêòèâíûõ ïîñëåäîâàòåëüíîñòåé hy1 ; : : : ; yn i)
1
+1 ( 1) (
[ ℄
Ïðèâåäåì â êà÷åñòâå ïðèìåðà
+ 1)
[4℄ = 24 ïîñëåäîâàòåëüíîñòè äëèíû 3 ñ ýëå3
ëàâà 1. Ââåäåíèå â êîìáèíàòîðèêó
12 ìåíòàìè èç ìíîæåñòâà
X = f1; 2; 3; 4g:
h1; 2; 3i h1; 2; 4i h1; 3; 2i h1; 3; 4i h1; 4; 2i h1; 4; 3i
= [℄ = (
h2; 1; 3i h2; 1; 4i h2; 3; 1i h2; 3; 4i h2; 4; 1i h2; 4; 3i
h3; 1; 2i h3; 1; 4i h3; 2; 1i h3; 2; 4i h3; 4; 1i h3; 4; 2i
h4; 1; 2i h4; 1; 3i h4; 2; 1i h4; 2; 3i h4; 3; 1i h4; 3; 2i
:
Åñëè m n, òî êàæäàÿ âçàèìíî îäíîçíà÷íàÿ óíêöèÿ f X ! Y ÿâëÿåòñÿ âçàèìíî îäíîçíà÷íûì îòîáðàæåíèåì ìíîæåñòâà X íà ìíîæåñòâî Y .  òàêîì ñëó÷àå n n nn : : : îáîçíà÷àåì n (n àêòîðèàë). Êàæäîå âçàèìíî îäíîçíà÷íîå îòîáðàæåíèå f X ! X íàçûâàåòñÿ ïåðåñòàíîâêîé ìíîæåñòâà X . Êàê ÷àñòíûé ñëó÷àé òåîðåìû 1.2 ïîëó÷àåì ñëåäóþùóþ òåîðåìó. Òåîðåìà 1.3. ×èñëî ïåðåñòàíîâîê n-ýëåìåíòa b íîãî ìíîæåñòâà ðàâíî n a Ïåðåñòàíîâêè ìû áóäåì îáñóæäàòü â ïîñëåb äóþùèõ ðàçäåëàõ, ñåé÷àñ æå îñòàíîâèìñÿ åùå íà a b îäíîì òèïå ðàçìåùåíèÿ îáúåêòîâ ïî ÿùèêàì. Ïðåäa b ïîëîæèì, ÷òî ìû ðàçìåùàåì n îáúåêòîâ ïî m ÿùèêàì òàê, ÷òîáû êàæäûé ÿùèê ñîäåðæàë áû ab ïîñëåäîâàòåëüíîñòü, à íå ìíîæåñòâî, êàê ïðåæäå, ba ïîìåùåííûõ â íåì îáúåêòîâ. Äâà ðàçìåùåíèÿ íàçîâåì ðàâíûìè, åñëè â êàæäîì ÿùèêå ñîäåðæèòñÿ a b îäíà è òà æå ïîñëåäîâàòåëüíîñòü îáúåêòîâ. àça b ìåùåíèÿ òàêîãî òèïà áóäåì íàçûâàòü óïîðÿäîab ÷åííûìè ðàçìåùåíèÿìè n îáúåêòîâ ïî m ÿùèêàì. Îáîçíà÷èì ÷èñëî òàêèõ óïîðÿäî÷åíèé ÷åðåç ba m n. ab Òåîðåìà 1.4. ×èñëî óïîðÿäî÷åííûõ ðàçìåùåíèé n îáúåêòîâ ïî m ÿùèêàì ðàâíî ba
1)
:
1
!
!
[ ℄
èñ. 1.2: àçìåùåíèå (óïîðÿäî÷åííîå) ýëåìåíòîâ a,b â òðåõ ÿùèêàõ
[m℄n = m(m + 1) : : : (m + n 1) (ïîëàãàåì [m℄ = 1).
(1.2)
0
Äîêàçàòåëüñòâî. Áóäåì ñòðîèòü óïîðÿäî÷åííîå ðàçìåùåíèå, äîáàâëÿÿ ïî î÷åðåäè íîâûå îáúåêòû. Ïåðâûé îáúåêò ìû ìîæåì ðàçìåñòèòü m ñïîñîáàìè, âòîðîé m ñïîñîáàìè, èáî åãî ìîæíî ðàçìåñòèòü â îäíîì èç m ïóñòûõ ÿùèêîâ èëè â ÿùèêå, ñîäåðæàùåì ïåðâûé îáúåêò, ïåðåä íèì èëè ïîñëå íåãî.  îáùåì ñëó÷àå ïðåäïîëîæèì, ÷òî óæå ðàçìåùåíî i îáúåêòîâ, ïðè÷åì äëÿ k ; ; : : : ; m â k-ì ÿùèêå íàõîäÿòñÿ rk îáúåêòîâ. Òîãäà
+1
1
=1 2
1
1.3. Ïåðåñòàíîâêè: ðàçëîæåíèå íà öèêëû, çíàê ïåðåñòàíîâêè
13
i-é îáúåêò ìîæåì äîáàâèòü â k-é ÿùèê rk + 1 ñïîñîáàìè, ÷òî äàåò â ñóììå
(r + 1) + : : : + (rm + 1) = (r + : : : + rm) + m = m + i 1 1
1
âîçìîæíîñòåé. Òàêèì îáðàçîì, âñåõ óïîðÿäî÷åííûõ ðàçìåùåíèé áóäåò
1) : : : (m + n 1). b
[3℄ = 12
m(m +
Íà ðèñ. 1.2 ïðåäñòàâëåíû 2 óïîðÿäî÷åííûõ ðàçìåùåíèé ýëåìåíòîâ a, â òðåõ ÿùèêàõ. Ïðèâåäåì â çàêëþ÷åíèå ñëåäóþùèå ïðîñòûå çàâèñèìîñòè:
[m℄n = (m n + l)[m℄n [m℄n = m!=n!; n [m℄ = [m + n 1℄n:
1
;
(1.3) (1.4) (1.5)
1.3 Ïåðåñòàíîâêè: ðàçëîæåíèå íà öèêëû, çíàê ïåðåñòàíîâêè Íàïîìíèì, ÷òî ïåðåñòàíîâêîé10 n-ýëåìåíòíîãî ìíîæåñòâà X íàçûâàåòñÿ ïðîèçâîëüíàÿ âçàèìíî îäíîçíà÷íàÿ óíêöèÿ f X ! X . Îáû÷íî ïåðåñòàíîâêà îïðåäåëÿåòñÿ ñ ïîìîùüþ òàáëèöû ñ äâóìÿ ñòðîêàìè, èç êîòîðûõ êàæäàÿ ñîäåðæèò âñå ýëåìåíòû ìíîæåñòâà X , ïðè÷åì ýëåìåíò f x ïîìåùàåòñÿ ïîä ýëåìåíòîì x. Äëÿ ïðèìåðà ðàññìîòðèì òàêóþ ïåðåñòàíîâêó f ìíîæåñòâà fa; b; ; dg, ÷òî
:
()
f (a) = d; f (b) = a; f (ñ) = b; f (d) = b;
îíà çàïèñûâàåòñÿ â âèäå
f
=
a b d d a b
Åñëè ïîðÿäîê ýëåìåíòîâ â âåðõíåé ñòðîêå èêñèðîâàí, òî êàæäîé ïåðåñòàíîâêå îäíîçíà÷íî ñîîòâåòñòâóåò ïîñëåäîâàòåëüíîñòü, ñîäåðæàùàÿñÿ â íèæíåé ñòðîêå, íàïðèìåð äëÿ ïåðåñòàíîâêè f ýòî åñòü hd; a; b; i. Ïîýòîìó áóäåì íàçûâàòü èíîãäà ïðîèçâîëüíóþ èíúåêòèâíóþ ïîñëåäîâàòåëüíîñòü äëèíû n ñ ýëåìåíòàìè èç ìíîæåñòâà X ïåðåñòàíîâêîé n-ýëåìåíòíîãî ìíîæåñòâà X .  íàøèõ èññëåäîâàíèÿõ ïðèðîäà ýëåìåíòîâ ìíîæåñòâà X íåñóùåñòâåííà ïðèìåì äëÿ ïðîñòîòû X f ; : : : ; ng. Îáîçíà÷èì ìíîæåñòâî âñåõ ïåðåñòàíîâîê ýòîãî ìíîæåñòâà ÷åðåç Sn . Ïðîèçâîëüíàÿ ïåðåñòàíîâêà f 2 Sn áóäåò îáû÷íî
= 1
10 Îáû÷íî óíêöèÿ : ! íàçûâàåòñÿ ïîäñòàíîâêîé, à ïåðåñòàíîâêîé íàçûâàåòñÿ âòîðàÿ ñòðîêà òàáëèöû, îïðåäåëÿþùåé ïîäñòàíîâêó.  ýòîì ðàçäåëå è äàëåå òåðìèí ¾ïåðåñòàíîâêà¿ èñïîëüçóåòñÿ äëÿ îáîçíà÷åíèÿ îáîèõ ïîíÿòèé, ÷òî, îäíàêî, íå ïðèâîäèò ê êàêîé-ëèáî äâóñìûñëåííîñòè. f
X
X
Ïðèì. ïåðåâ.
ëàâà 1. Ââåäåíèå â êîìáèíàòîðèêó
14
= f (i). Ïîä ñóïåðïî-
îòîæäåñòâëÿòüñÿ ñ ïîñëåäîâàòåëüíîñòüþ ha1 ; : : : ; an i, ãäå ai çèöèåé ïåðåñòàíîâîê f è g ìû áóäåì ïîíèìàòü ïåðåñòàíîâêó ñëåäóþùèì îáðàçîì:
fg, îïðåäåëÿåìóþ
fg(i) = f (g(i)):
Îòìåòèì, ÷òî äëÿ ñóïåðïîçèöèè äâóõ ïåðåñòàíîâîê, ñêàæåì
f
= 15 23 32 41 54
g=
1 2 3 4 5 ; 2 5 3 1 4
äîñòàòî÷íî èçìåíèòü ïîðÿäîê ñòîëáöîâ â ïåðåñòàíîâêå f òàêèì îáðàçîì, ÷òîáû â ïåðâîé ñòðîêå ïîëó÷èòü ïîñëåäîâàòåëüíîñòü, èìåþùóþñÿ âî âòîðîé ñòðîêå ïåðåñòàíîâêè g , òîãäà âòîðàÿ ñòðîêà ïåðåñòàíîâêè f äàåò ñóïåðïîçèöèþ fg .  íàøåì ñëó÷àå
= 15 23 32 41 54 g = 53 34 22 15 41 ; fg = 13 24 32 45 51 f
Ïåðåñòàíîâêó
e=
1 2 1 2
::: n ::: n
=
=
áóäåì íàçûâàòü òîæäåñòâåííîé ïåðåñòàíîâêîé. Î÷åâèäíî, ÷òî ef fe f äëÿ ïðîèçâîëüíîé ïåðåñòàíîâêè f 2 Sn . Ëåãêî òàêæå çàìåòèòü, ÷òî êàæäàÿ ïåðåñòàíîâêà f 2 Sn îäíîçíà÷íî îïðåäåëÿåò ïåðåñòàíîâêó f 1 , òàêóþ ÷òî ff 1 f 1 f e. Áóäåì íàçûâàòü åå ïåðåñòàíîâêîé, îáðàòíîé ê f . ×òîáû åå îïðåäåëèòü, äîñòàòî÷íî ïîìåíÿòü ìåñòàìè ñòðîêè â çàïèñè ïåðåñòàíîâêè f . Íàïðèìåð, äëÿ
=
=
f
ïîëó÷àåì
f Sn
1
= 13 24 32 41 55
= 31 42 23 14 55 = 14 23 31 42 55
Èç íàøèõ ðàññóæäåíèé ñëåäóåò, ÷òî äëÿ ïðîèçâîëüíûõ ïåðåñòàíîâîê f; g; h 2 âûïîëíÿþòñÿ óñëîâèÿ fg h f gh (1.6)
( ) = ( ) fe = ef = f
(1.7)
1.3. Ïåðåñòàíîâêè: ðàçëîæåíèå íà öèêëû, çíàê ïåðåñòàíîâêè ff
1
=f
1
f
15
=å
(1.8)
×òîáû îòðàçèòü ýòîò àêò, áóäåì ãîâîðèòü, ÷òî Sn îáðàçóåò ãðóïïó îòíîñèòåëüíî îïåðàöèè ñóïåðïîçèöèè. Ýòó ãðóïïó áóäåì íàçûâàòü ñèììåòðè÷åñêîé ãðóïïîé ñòåïåíè n. Ïðîèçâîëüíîå ïîäìíîæåñòâî G Sn , äëÿ êîòîðîãî âûïîëíåíû óñëîâèÿ
f; g 2 G ) fg 2 G f 2G)f
1
2G
áóäåì íàçûâàòü ãðóïïîé ïåðåñòàíîâîê ñòåïåíè n. Êàæäóþ ïåðåñòàíîâêó f 2 Sn ìîæíî ïðåäñòàâèòü ãðàè÷åñêè ñ ïîìîùüþ îðèåíòèðîâàííîãî ãðàà ñ ìíîæåñòâîì âåðøèí X f ; : : : ; ng, â êîòîðîì x ! y òîãäà è òîëüêî òîãäà, êîãäà f x y. Èç êàæäîé âåðøèíû x âûõîäèò â òî÷íîñòè îäíî ðåáðî, à èìåííî hx; f x i. Ïîäîáíûì æå îáðàçîì óáåæäàåìñÿ, ÷òî åäèíñòâåííûì ðåáðîì, âõîäÿùèì â âåðøèíó x, ÿâëÿåòñÿ hf 1 x ; xi . Ëåãêî çàìåòèòü, ÷òî, âûõîäÿ èç ïðîèçâîëüíîé âåðøèíû x0 è ðàññìàòðèâàÿ ïî î÷åðåäè âåðøèíû x1 f x0 , x2 f x ; : : :, ìû äîéäåì ïîñëå êîíå÷íîãî ÷èñëà øàãîâ äî âåðøèíû x0 , ò.å. xi f xi 1 x0 äëÿ íåêîòîðîãî i . Îòñþäà ñëåäóåò, ÷òî íàø ãðà ñîñòîèò èç íåêîòîðîãî ÷èñëà ýëåìåíòàðíûõ öèêëîâ ñ ðàçëè÷íûìè ìíîæåñòâàìè âåðøèí, â ñóììå äàþùèõ âñå ìíîæåñòâî X . Ïðåäïîëîæèì, ÷òî â ýòîì ðàçëîæåíèè ïîÿâëÿþòñÿ k öèêëîâ
= 1
()= ()
= ( )
ai
( )
0
()
= ( 1) = ( )=
1
! a i ! : : : ! anii ! a i ; 1 = 1; : : : ; k: ( )
( )
1
( )
1
0
Êàæäîìó öèêëó ñîîòâåòñòâóåò ïåðåñòàíîâêà h
i
fi = a i a i : : : anii ( )
( )
0
1
( ) 1
;
íàçûâàåìàÿ òàêæå öèêëîì (äëèíû ni ), êîòîðàÿ îïðåäåëÿåòñÿ ñëåäóþùèì îáðàçîì:
fi a i = a i ; fi a i = a i ; : : : ; fi anii n fi (x) = x äëÿ x 2 X n a i ; a i ; : : : ; anii ( )
( )
( )
( )
0
1
1
2
( )
( )
0
1
=ai ; ( )
( )
1
( )
o
0
+1
Íàøó ïåðåñòàíîâêó ìîæíî ïðåäñòàâèòü â âèäå ñóïåðïîçèöèè öèêëîâ
f
=
h
a a : : : an1 (1)
(1)
0
1
ih
(1) 1
a a : : : an2 (2)
(2)
0
1
i
(2) 1
h
: : : a k a k : : : ankk ( )
( )
0
1
i
( ) 1
Òàêîå ïðåäñòàâëåíèå ïåðåñòàíîâêè áóäåì íàçûâàòü ðàçëîæåíèåì íà öèêëû. Áóäåì ãîâîðèòü, ÷òî ïåðåñòàíîâêà f åñòü ïåðåñòàíîâêà òèïà h1 ; : : : ; i i, åñëè îíà ñîäåðæèò â ðàçëîæåíèè íà öèêëû â òî÷íîñòè i öèêëîâ äëèíû i, i ; ; : : : ; n.
=1 2
ëàâà 1. Ââåäåíèå â êîìáèíàòîðèêó
16
1
Òèï h1 ; : : : ; n i îáû÷íî çàïèñûâàåòñÿ ñèìâîëè÷åñêè 1 : : : nn (åñëè i îïóñêàåòñÿ). Íàïðèìåð, ïåðåñòàíîâêà
f
= 0, òî
= 17 25 31 44 52 63 76
èìååò ñëåäóþùåå ðàçëîæåíèå íà öèêëû:
= [1763℄[25℄[4℄; ñëåäîâàòåëüíî, îíà èìååò òèï 1 2 4 . Ýòî ïðîèëëþñòðèðîâàíî íà ðèñ. 1.3. Ïàðó hai ; aj i, i < j , áóäåì íàçûâàòü èíâåðñèåé ïåðåñòàíîâêè ha ; : : : ; an i, åñëè ai > aj . Äëÿ ïðîèçâîëüíîé ïåðåñòàíîâêè f 2 Sn îáîçíà÷èì ÷åðåç I (f ) ÷èñëî åå èíâåðñèé, f
1
1
1
1
à òàêæå îïðåäåëèì çíàê ýòîé ïåðåñòàíîâêè ñëåäóþùèì îáðàçîì:
sgn(f ) = ( 1)I f : Ïåðåñòàíîâêó f íàçîâåì ÷åòíîé, åñëè sgn(f ) = 1, è íå÷åòíîé, åñëè sgn(f ) = 1. Ïðîèëëþñòðèðóåì ýòè ïîíÿòèÿ íà ðÿäå ïðèìåðîâ. Òîæäåñòâåííàÿ ïåðåñòàíîâêà h1; : : : ; ni íå ñîäåðæèò íèêàêèõ èíâåðñèé, è, ñëåäîâàòåëüíî, I (e) = 0, è äëÿ ëþáîãî n ýòà ïåðåñòàíîâêà áóäåò ÷åòíîé. Ïåðåñòàíîâêà hn; n 1; : : : ; 1i ñîäåðæèò n(n 1)=2 èíâåðñèé (÷èñëî âñåõ ïàð hi; j i, i 6= j , ðàâíî [n℄ = n(n 1), ïðè÷åì êàæäîé ïàðå hi; j i, i < j , ñîîòâåòñòâóåò ïàðà hj; ii, j > i). Òàêèì îáðàçîì, íàøà ïåðåñòàíîâêà áóäåò ÷åòíîé äëÿ n âèäà 4k èëè 4k +1 è íå÷åòíîé â îñòàëüíûõ ñëó÷àÿõ. Ïåðåñòàíîâêà h2; 4; 3; 5; 1i èìååò ñëåäóþùèå èíâåðñèè: h2; 1i, h4; 3i, h4; 1i, h3; 1i, h5; 1i, ñëåäîâàòåëüíî, ÿâëÿåòñÿ íå÷åòíîé. (
)
2
u
u
u u 6? u
Çíàê ïåðåñòàíîâêè ìîæíî îïðå7 6 2 äåëèòü ñ ïîìîùüþ íåïîñðåäñòâåííîãî ïîäñ÷åòà âñåõ èíâåðñèé, îäíàêî òàêîé àëãîðèòì â îáùåì ñëó4 ÷àå òðåáóåò êîëè÷åñòâà øàãîâ òàêîãî æå ïîðÿäêà, ÷òî è ÷èñëî èíâåðñèé, ò.å. ïî ìåíüøåé ìåðå n2 . 1 3 5 Îïèøåì òåïåðü àëãîðèòì ñëîæíîñòè O n . Äëÿ ýòîé öåëè íàì àçëîæåíèå ïåðåñòàíîâêè èñ. 1.3: 1 2 3 4 5 6 7 íà öèêëû ïîíàäîáèòñÿ íåñêîëüêî ëåìì. 7 5 1 4 2 3 6 Ïðîèçâîëüíóþ ïåðåñòàíîâêó, ÿâëÿþùóþñÿ öèêëîì äëèíû 2, áóäåì íàçûâàòü òðàíñïîçèöèåé. Âàæíóþ ðîëü â äàëüíåéøèõ ðàññóæäåíèÿõ áóäóò èãðàòü òðàíñïîçèöèè ñîñåäíèõ ýëåìåíòîâ, ò.å. òðàíñïîçèöèè âèäà i i . Ëåììà 1.5. Ïðîèçâîëüíóþ ïåðåñòàíîâêó f 2 Sn ìîæíî ïðåäñòàâèòü â âèäå ñóïåðïîçèöèè I f òðàíñïîçèöèé ñîñåäíèõ ýëåìåíòîâ.
6
( )
()
[
+ 1℄
()
u
-
?
u
1.3. Ïåðåñòàíîâêè: ðàçëîæåíèå íà öèêëû, çíàê ïåðåñòàíîâêè
17
Äîêàçàòåëüñòâî. Çàìåòèì ïðåæäå âñåãî, ÷òî åñëè f èìååò âèä ha1 ; : : : ; an i èt i i , òî ñóïåðïîçèöèÿ ft èìååò âèä ha1 ; : : : ; ai 1 ; ai+1 ; ai ; ai+2 ; : : : ; an i. Îáîçíà÷èì ÷åðåç ri ÷èñëî èíâåðñèé, ðàñïîëîæåííûõ ïåðåä ýëåìåíòîì i:
=[
+ 1℄
ri = jfj : j < i ^ aj > ai gj : Ëåãêî çàìåòèòü, ÷òî â ha1 ; : : : ; an i ìû ìîæåì ïåðåñòàâèòü ýëåìåíò íà ïåðâóþ ïîçèöèþ, ïðîèçâåäÿ r1 òðàíñïîçèöèé ñîñåäíèõ ýëåìåíòîâ, çàòåì ýëåìåíò 2 ïåðåñòàâèòü íà âòîðóþ ïîçèöèþ, ïðîèçâåäÿ r2 òðàíñïîçèöèé ñîñåäíèõ ýëåìåíòîâ è ò.ä.  êîíöå êîíöîâ ïîñëå r1 : : : rn I f øàãîâ ïîëó÷èì ïîñëåäîâàòåëüíîñòü h ; : : : ; ni. Ýòî îçíà÷àåò, ÷òî ft1 : : : tI (f ) e, ãäå t1 ; : : : ; tI (f ) òðàíñïîçèöèè ñîñåäíèõ ýëåìåíòîâ. Èòàê,
+ + = () =
1
f = (t : : : tI f
) = tI f : : : t ; ÷òî çàâåðøàåò äîêàçàòåëüñòâî ëåììû, ãäå t = t äëÿ ïðîèçâîëüíîé òðàíñïîçè1
(
)
1
1
(
1
1
)
1
öèè.
Ëåììà 1.6.
Äëÿ ïðîèçâîëüíûõ ïåðåñòàíîâîê
f; g 2 Sn
sgn(fg) = sgn(f ) sgn(g): Äîêàçàòåëüñòâî. Ïîëîæèì ñíà÷àëà, ÷òî g åñòü òðàíñïîçèöèÿ âèäà t
1℄. Åñëè f = ha ; : : : ; ani, òî ft = ha ; : : : ; ai
= [i i+
1
1
è, î÷åâèäíî,
I (ft) =
1
; ai ; ai ; ai ; : : : ; a n i +1
I (f ) + 1; I (f ) 1;
sgn( ) = ( 1)
+2
åñëè ai åñëè ai
= sgn( )
< ai > ai
+1 +1
I (f )  îáîèõ ñëó÷àÿõ ft f . Ïðîèçâîëüíóþ ïåðåñòàíîâêó g ìû ìîæåì íà îñíîâå ïðåäûäóùåé ëåììû ïðåäñòàâèòü â âèäå t1 ; : : : ; tk , ãäå t1 ; : : : ; tk ñóòü òðàíñïîçèöèè ñîñåäíèõ ýëåìåíòîâ è k I g . Èìååì
= ()
sgn(fg) = sgn(ft ; : : : ; tk ) = sgn(ft ; : : : ; tk ) = = ( 1)k sgn(f ) = sgn(g) sgn(f ): 1
1
1
Êàæäàÿ òðàíñïîçèöèÿ åñòü íå÷åòíàÿ ïåðåñòàíîâêà. Âîîáùå k. çíàê ïðîèçâîëüíîãî öèêëà äëèíû k ðàâåí Äîêàçàòåëüñòâî. Ïåðâàÿ ÷àñòü ëåììû âûòåêàåò èç òîãî àêòà, ÷òî ïîñëåäîâàòåëüíîñòü h ; : : : ; i ; j; i ;:::;j ; i; j ; : : : ; ni ìîæíî ïðåîáðàçîâàòü â ïîñëåäîâàòåëüíîñòü h ; : : : ; ni, ïðîèçâåäÿ ñïåðâà j i òðàíñïîçèöèé j Ëåììà 1.7.
1
1
1
+1
( 1) 1 +1
[
ëàâà 1. Ââåäåíèå â êîìáèíàòîðèêó
18
1 j ℄; [j 2 j 1℄; : : : ; [i i + 1℄, à çàòåì (j i) 1 òðàíñïîçèöèé [i + 1 i + 2℄, [i + 2 i + 3℄; : : : ; [j 1 j ℄. Ýòî îçíà÷àåò, ÷òî òðàíñïîçèöèÿ [i j ℄ ìîæåò áûòü ïðåäñòàâëåíà â âèäå ñóïåðïîçèöèè (j i)+(j i) 1 = 2(j i) 1 òðàíñïîçèöèé ñîñåäíèõ ýëåìåíòîâ. Ñîãëàñíî ïðåäûäóùèì ëåììàì, çíàê íàøåé òðàíñïîçèöèè [i j ℄ ðàâåí ( 1) j i = 1. Âòîðàÿ ÷àñòü ëåììû åñòü ñëåäñòâèå ïåðâîé è òîãî àêòà, ÷òî ïðîèçâîëüíûé öèêë [a : : : ak ℄ åñòü ñóïåðïîçèöèÿ k 1 òðàíñïîçèöèé: [a : : : ak ℄ = [a a ℄[a a ℄ : : : [ak ak ℄ 2(
)
1
1
1
Ëåììà 1.8.
åòñÿ îðìóëîé
1
2
2
3
Çíàê ïðîèçâîëüíîé ïåðåñòàíîâêè
sgn f = (
1
f
1
òèïà 1 : : : nn îïðåäåëÿ-
bn= P2 2j j 1) =1
Äîêàçàòåëüñòâî. Åñëè f èìååò â ðàçëîæåíèè íà öèêëû òî÷íî i öèêëîâ äëèíû i, òî ïî ïðåäûäóùèì ëåììàì
sgn(f ) =
n Y i=1
( 1)
i
1
i
=
bn= Y 2
i=1
( 1)2j = ( 1)2
4 +:::
+
Çàìåòèì, ÷òî î ÷èñëå èíâåðñèé ïåðåñòàíîâêè ìíîæåñòâà X ìû ìîæåì ãîâîðèòü òîëüêî â ñëó÷àå X f ; : : : ; ng, áîëåå îáùî: êîãäà íà ìíîæåñòâå X îïðåäåëåí ëèíåéíûé ïîðÿäîê. Îäíàêî çíàê ïåðåñòàíîâêè çàâèñèò òîëüêî îò åå òèïà è, ñëåäîâàòåëüíî, íå çàâèñèò îò òîãî, êàê óïîðÿäî÷åíî ìíîæåñòâî X . Îáåùàííûé ýåêòèâíûé ìåòîä îïðåäåëåíèÿ çíàêà ïåðåñòàíîâêè îñíîâàí íà çíàíèè òèïà ýòîé ïåðåñòàíîâêè è íà èñïîëüçîâàíèè ëåììû 1.8. Àëãîðèòì 1.9. (Îïðåäåëåíèå çíàêà ïåðåñòàíîâêè) Äàííûå: Ïðîèçâîëüíàÿ ïåðåñòàíîâêà f 2 Sn , çàäàííàÿ â âèäå ïîñëåäîâàòåëüíîñòè ; : : : ; P n (P i f i ). åçóëüòàò: Ïî çàâåðøåíèè ðàáîòû àëãîðèòìà s f.
= 1
[1℄
1 2 3 4 5 6 7
begin
[ ℄ [℄= ()
= sgn( )
s := 1; i := 1 to n do ÍÎÂÛÉ[i℄:=èñòèíà; for i := 1 to n do if ÍÎÂÛÉ[i℄ then (*íàéäåí öèêë, ñîäåðæàùèé i*) begin j := P [i℄; while j 6= i do
for
1.4. åíåðèðîâàíèå ïåðåñòàíîâîê 8 9 10 11
begin end;
end;
19
[℄
ÍÎÂÛÉ i :=ëîæü;
s := s; j := P [j ℄;
end
1
Ýòîò àëãîðèòì ïðîñìàòðèâàåò ïîñëåäîâàòåëüíî ïîçèöèè ; : : : ; n ïåðåñòàíîâêè (öèêë 4) è êàæäûé ðàç, êîãäà ýëåìåíò P i íå áûë åùå ïðîàíàëèçèðîâàí (ÍÎÂÛÉ i = èñòèíà), âûÿâëÿåòñÿ öèêë, ê êîòîðîìó ýòîò ýëåìåíò ïðèíàäëåæèò (áëîê 6). Çàìåòèì, ÷òî åñëè ýòîò öèêë èìååò äëèíó k , òî öèêë 7 èñïîëíÿåòñÿ k ðàç. Ïðè ïîñëåäîâàòåëüíûõ èñïîëíåíèÿõ ýòîãî öèêëà çíàê ïåðåìåííîé s èçìåíÿåòñÿ íà ïðîòèâîïîëîæíûé òîãäà è òîëüêî òîãäà, êîãäà k ÷åòíî. Ïåðâîíà÷àëüíîå çíà÷åíèå ïåðåìåííîé s ðàâíî åäèíèöå, è, ñëåäîâàòåëüíî, ïîñëå îáíàðóp , ãäå ð åñòü ÷èñëî öèêëîâ ÷åòíîé äëèíû. Ïî ëåììå æåíèÿ âñåõ öèêëîâ s 1.8 èìååì s f. Ëåãêî òàêæå óáåäèòüñÿ, ÷òî ÷èñëî øàãîâ àëãîðèòìà â òî÷íîñòè ðàâíî n äëÿ ïðîèçâîëüíîé ïåðåñòàíîâêè f 2 Sn . ×òîáû ýòî äîêàçàòü, çàìåòèì, ÷òî ñóììàðíîå ÷èñëî øàãîâ, èñïîëíÿåìûõ â öèêëå 4, íå ñ÷èòàÿ øàãîâ âî âíóòðåííåì áëîêå 6, åñòü O n . Ñóììàðíîå ÷èñëî øàãîâ, èñïîëíÿåìûõ â áëîêå 6 â ïðîöåññå ðàáîòû àëãîðèòìà, ðàâíî ñóììå äëèí âñåõ öèêëîâ, ÷òî â ñâîþ î÷åðåäü ðàâíî O n . Ýòî äàåò îáùóþ ñëîæíîñòü O n .
[℄
[℄
1
= sgn( )
= ( 1)
()
()
()
1.4 åíåðèðîâàíèå ïåðåñòàíîâîê !
Çàéìåìñÿ àëãîðèòìîì ãåíåðèðîâàíèÿ âñåõ n ïåðåñòàíîâîê n-ýëåìåíòíîãî ìíîæåñòâà. Ýòîé ïðîáëåìå ïîñâÿùåíî ìíîãî ïóáëèêàöèé (ñì., íàïðèìåð, ñòàòüþ [60℄). Îíà èìååò äàâíþþ èñòîðèþ, åå âîçíèêíîâåíèå ìîæíî îòíåñòè ê íà÷àëó XVII âåêà, êîãäà â Àíãëèè çàðîäèëîñü îñîáîå èñêóññòâî êîëîêîëüíîãî áîÿ, îñíîâàííîãî, åñëè ãîâîðèòü óïðîùåííî, íà âûáèâàíèè íà n ðàçíûõ êîëîêîëàõ âñåõ n ïåðåñòàíîâîê [14℄, [74℄. Ïåðåñòàíîâêè ýòè ñëåäîâàëî âûáèâàòü ¾ïî ïàìÿòè¿, ÷òî ñïîñîáñòâîâàëî ðàçðàáîòêå ñòîðîííèêàìè ýòîãî èñêóññòâà ïåðâûõ ïðîñòûõ ìåòîäîâ ñèñòåìàòè÷åñêîãî ïåðå÷èñëåíèÿ âñåõ ïåðåñòàíîâîê (áåç ïîâòîðåíèé). Íåêîòîðûå èç ýòèõ íåçàñëóæåííî çàáûòûõ ìåòîäîâ áûëè ïåðåîòêðûòû â íàñòîÿùåå âðåìÿ â ñâÿçè ñ ïîÿâëåíèåì öèðîâûõ ìàøèí. Ýòî èñêóññòâî õîòÿ è ìàëî èçâåñòíîå â Ïîëüøå ïðîñóùåñòâîâàëî äî íàøèõ äíåé, ïîñêîëüêó çíàìåíèòàÿ ¾Êíèãà ðåêîðäîâ èííåñà¿ [29℄ ñîäåðæèò óïîìèíàíèå î âûáèâàíèè âñåõ ïåðåñòàíîâîê íà 8 êîëîêîëàõ â 1963 ãîäó; óñòàíîâëåíèå ýòîãî ðåêîðäà ïîòðåáîâàëî 17 ÷àñîâ 58 1/2 ìèíóò! Êîíå÷íî, èñïîëüçîâàíèå öèðîâûõ ìàøèí ïîçâîëÿåò ãåíåðèðîâàòü ïåðåñòàíîâêè çíà÷èòåëüíî áûñòðåå, îäíàêî ðàçíèöà íå òàê óæ âåëèêà, êàê ìîæíî áûëî áû ïîäóìàòü çà 18 ÷àñîâ äàæå ñàìàÿ áûñòðàÿ
!
8! = 40320
ëàâà 1. Ââåäåíèå â êîìáèíàòîðèêó
20
ìàøèíà íå ñìîæåò ïîëó÷èòü âñå ïåðåñòàíîâêè n-ýëåìåíòíîãî ìíîæåñòâà, åñëè n>13 (ñ äðóãîé ñòîðîíû, ïåðåñòàíîâêè 8-ýëåìåíòíîãî ìíîæåñòâà ìîæíî ïîëó÷èòü â òå÷åíèå äîëè ñåêóíäû). Ýòî ïðîñòîå ñëåäñòâèå òîãî àêòà, ÷òî n ðàñòåò âåñüìà áûñòðî ñ ðîñòîì n.  ýòîì ðàçäåëå ìû îïèøåì òðè ðàçíûõ ìåòîäà ãåíåðèðîâàíèÿ ïîñëåäîâàòåëüíîñòè âñåõ n ïåðåñòàíîâîê n-ýëåìåíòíîãî ìíîæåñòâà. Áóäåì ïðåäïîëàãàòü, ÷òî ýëåìåíòû íàøåãî ìíîæåñòâà çàïîìèíàþòñÿ â âèäå ýëåìåíòîâ ìàññèâà P ; : : : ; P n . Âî âñåõ òðåõ ìåòîäàõ ýëåìåíòàðíîé îïåðàöèåé, êîòîðàÿ ïðèìåíÿåòñÿ ê ìàññèâó P , ÿâëÿåòñÿ ïîýëåìåíòíàÿ òðàíñïîçèöèÿ, ò.å. îáìåí çíà÷åíèÿìè ïåðåìåííûõ P i è P j , ãäå i; j n. Ýòó îïåðàöèþ áóäåì îáîçíà÷àòü ÷åðåç P i Pj. Î÷åâèäíî, ÷òî îíà ýêâèâàëåíòíà ïîñëåäîâàòåëüíîñòè êîìàíä
!
!
[℄
[℄
[1℄
1
[℄
[ ℄ :=: [ ℄
pom := P [i℄; P [i℄ := P [j ℄; P [j ℄ := pom;
pom åñòü íåêîòîðàÿ âñïîìîãàòåëüíàÿ ïåðåìåííàÿ. Ïåðâûé èç ìåòîäîâ, êîòîðûé ìû îïèøåì, ëåã÷å âñåãî ïîíÿòü, åñëè â êà÷åñòâå ïåðåñòàâëÿåìûõ ýëåìåíòîâ âçÿòü ÷èñëà ; ; : : : ; n. Íà ìíîæåñòâå âñåõ ïåðåñòàíîâîê áîëåå îáùî: íà ìíîæåñòâå âñåõ ïîñëåäîâàòåëüíîñòåé äëèíû n ñ ýëåìåíòàìè èç ìíîæåñòâà X f ; : : : ; ng îïðåäåëÿåòñÿ ëåêñèêîãðàè÷åñêèé ïîðÿäîê:
ãäå
12
= 1
hx ; x ; : : : ; xn i < hy ; y ; : : : ; yn i , 9k 1 (xk yk ^ (xi = yi )8i < k) 1
2
1
2
12
Çàìåòèì, ÷òî åñëè âìåñòî ÷èñåë ; ; : : : ; n âçÿòü áóêâû a; b; : : : ; z ñ åñòåñòâåííûì ïîðÿäêîì a < b < < : : : < z , òî ëåêñèêîãðàè÷åñêèé ïîðÿäîê îïðåäåëÿåò ñòàíäàðòíóþ ïîñëåäîâàòåëüíîñòü, â êîòîðîé ñëîâà äëèíû n ïîÿâëÿþòñÿ â ñëîâàðå. Ïîäîáíûì æå îáðàçîì îïðåäåëÿåòñÿ àíòèëåêñèêîãðàè÷åñêèé ïîðÿäîê, îáîçíà÷àåìûé ÷åðåç <0 , ñ òîé ðàçíèöåé, ÷òî êàê î÷åðåäíîñòü ïîçèöèé â ïîñëåäîâàòåëüíîñòè, òàê è óïîðÿäî÷åíèå ýëåìåíòîâ ìíîæåñòâà X îáðàòíû ïî îòíîøåíèþ ê èñõîäíûì:
hx ; x ; : : : ; xn i <0 hy ; y ; : : : ; yni , 9k 1 (xk > yk ^ (xi = yi )8i < k) 1
2
1
2
Äëÿ ïðèìåðà ïðèâåäåì ïåðåñòàíîâêè ìíîæåñòâà X è÷åñêîì (à) è àíòèëåêñèêîãðàè÷åñêîì (á) ïîðÿäêå:
1 1 2 2 3 3
(à) 2 3 1 3 1 2
3 2 3 1 2 1
1 2 1 3 2 3
(á) 2 1 3 1 3 2
3 3 2 2 1 1
= f1; 2; 3g â ëåêñèêîãðà-
1.4. åíåðèðîâàíèå ïåðåñòàíîâîê
21
Àëãîðèòì ãåíåðèðîâàíèÿ ïåðåñòàíîâîê â àíòèëåêñèêîãðàè÷åñêîì ïîðÿäêå ñîðìóëèðîâàòü íåìíîãî óäîáíåå. Çàìåòèì ñ ýòîé öåëüþ, ÷òî ïîñëåäîâàòåëüíîñòü ïåðåñòàíîâîê ìíîæåñòâà f ; : : : ; ng â ýòîì ñëó÷àå èìååò ñëåäóþùèå ñâîéñòâà, âûòåêàþùèå íåïîñðåäñòâåííî èç îïðåäåëåíèÿ:
1
(À1)  ïåðâîé ïåðåñòàíîâêå ýëåìåíòû èäóò â ðàñòóùåé ïîñëåäîâàòåëüíîñòè, â ïîñëåäíåé â óáûâàþùåé; äðóãèìè ñëîâàìè, ïîñëåäíÿÿ ïåðåñòàíîâêà îáðàùåíèå ïåðâîé. (À2) Íàøó ïîñëåäîâàòåëüíîñòü ìîæíî ðàçäåëèòü íà n áëîêîâ äëèíû (n 1)!, ñîîòâåòñòâóþùèõ óáûâàþùèì çíà÷åíèÿì ýëåìåíòà â ïîñëåäíåé ïîçèöèè. Ïåðâûå n 1 ïîçèöèé áëîêà, ñîäåðæàùåãî ýëåìåíò p â ïîñëåäíåé ïîçèöèè, îïðåäåëÿþò ïîñëåäîâàòåëüíîñòü ïåðåñòàíîâîê ìíîæåñòâà f1; : : : ; ngnfpg
â àíòèëåêñèêîãðàè÷åñêîì ïîðÿäêå.
Ýòè ñâîéñòâà îïðåäåëÿþò ñëåäóþùèé ïðîñòîé ðåêóðñèâíûé àëãîðèòì: Àëãîðèòì 1.10. ( åíåðèðîâàíèå âñåõ ïîñëåäîâàòåëüíîñòåé â àíòèëåêñèêîãðàè÷åñêîì ïîðÿäêå.) Äàííûå: n. åçóëüòàò: Ïîñëåäîâàòåëüíîñòü ïåðåñòàíîâîê ìíîæåñòâà f ; : : : ; ng â àíòèëåêñèêîãðàè÷åñêîì ïîðÿäêå.
1
( )
1. pro edure REV ERSE m ; (*îáðàùåíèå ïîñëåäîâàòåëüíîñòè P ; : : : ; P m , ìàññèâ P ãëîáàëüíûé*) 2. begin i ;j m; 3. while i < j do 4. begin P i Pj;i i ;j j 5. end 6. end; (*REV ERSE *) 7. pro edure ANT Y LEX m ; (*ìàññèâ P ãëîáàëüíûé*) 8. begin 9. if m then (*P ; : : : ; P n ñîäåðæèò íîâóþ ïåðåñòàíîâêó *) 10. write(P ; : : : ; P n ) 11. else 12. for i to m do 13. begin ANT Y LEX m ; 14. if i < m then 15. begin P i P m ; REV ERSE m 16. end 17. end 18. end; (*ANT Y LEX *)
:= 1 :=
[1℄
[ ℄
[ ℄ :=: [ ℄ := + 1 :=
=1
[1℄ := 1
( ) [1℄ [℄
1
[℄
( 1) [ ℄ :=: [ ℄
(
1)
ëàâà 1. Ââåäåíèå â êîìáèíàòîðèêó
22 19. 20. 21. 22.
begin
(* ãëàâíàÿ ïðîãðàììà*)
i := 1 to n do P [i℄ := i; ANT Y LEX (n)
for end
×òîáû ïîíÿòü, êàê ðàáîòàåò ýòîò àëãîðèòì, îòìåòèì ïðåæäå âñåãî, ÷òî âûïîëíåíèå ïðîöåäóðû REV ERSE m ïðèâîäèò ê îáðàùåíèþ î÷åðåäíîñòè â ïîñëåäîâàòåëüíîñòè ýëåìåíòîâ P ; : : : ; P m . ×òîáû äîêàçàòü ïðàâèëüíîñòü àëãîðèòìà, äîñòàòî÷íî ïîêàçàòü èíäóêöèåé ïî m, ÷òî åñëè P < : : : < P m , òî âûçîâ ANT Y LEX m ïðèâîäèò ê ãåíåðèðîâàíèþ âñåõ ïåðåñòàíîâîê ìíîæåñòâà fP ; : : : ; P m g â àíòèëåêñèêîãðàè÷åñêîì ïîðÿäêå (ïðè íåèçìåííûõ çíà÷åíèÿõ P m ; : : : ; P n ). Ïðåäïîëîæèì, ÷òî P i ai , i m, a1 < : : : < am , è ðàññìîòðèì öèêë 12. Ýåêò âûïîëíåíèÿ ïåðâîé èòåðàöèè ýòîãî öèêëà áóäåò ñëåäóþùèé:
[1℄
( )
[ ℄
( ) [1℄ [ ℄ [ + 1℄ [℄
P [1℄ a am 1
P [2℄ a am 2
[1℄
[℄=
: : : P [m am a
2℄
2
P [m am a
1℄
1
P [m℄ am am
[ ℄
1
âûïîëíåíèÿ ) (ïîñëå òðàíñïîçèöèè am am 2 a2 a1 am 1 P P m) (ïîñëå âûïîëíåíèÿ a1 a2 am 2 am am 1 REV ERSE m ) (Ìû âîñïîëüçîâàëèñü çäåñü èíäóêòèâíûì ïðåäïîëîæåíèåì î òîì, ÷òî ANT Y LEX m êîððåêòíî ãåíåðèðóåò âñå ïåðåñòàíîâêè ýëåìåíòîâ a1 ; : : : ; am 1 â àíòèëåêñèêîãðàè÷åñêîì ïîðÿäêå) Àíàëîãè÷íûì ñïîñîáîì, èíäóêöèåé ïî i, äîêàçûâàåì, ÷òî i-ÿ èòåðàöèÿ öèêëà 12 ïðèâîäèò ê ãåíåðèðîâàíèþ âñåõ ïåðåñòàíîâîê ýëåìåíòîâ a1 ; : : : ; am i ; am i+2; : : : ; am ïðè P m am i+1 . Ñîãëàñíî ñâîéñòâó À2 ýòî îçíà÷àåò, ÷òî ANT Y LEX m ãåíåðèðóåò âñå ïåðåñòàíîâêè ýëåìåíòîâ ai ; : : : ; am â àíòèëåêñèêîãðàè÷åñêîì ïîðÿäêå. Ñëåäóåò îòìåòèòü, ÷òî óñëîâèå P i i, t n, â íà÷àëå ðàáîòû ïðîãðàììû (ñì. ñòðîêà 20) áûëî ñóùåñòâåííî òîëüêî äëÿ îáëåã÷åíèÿ ïîíèìàíèÿ ðàáîòû àëãîðèòìà. Ñàì àëãîðèòì ñîðìóëèðîâàí â òåðìèíàõ ïîçèöèé, çíà÷åíèÿ êîòîðûõ ïîäâåðãàþòñÿ èçìåíåíèÿì, è â íåì íè â êîåé ìåðå íå èñïîëüçóåòñÿ ñîäåðæàíèå ïåðåìåííûõ P ; : : : ; P n . àññìîòðèì òåïåðü, ñêîëüêî òðàíñïîçèöèé âûïîëíÿåò àëãîðèòì 1.10 ïðè ãåíåðèðîâàíèè êàæäîé ñëåäóþùåé ïåðåñòàíîâêè. Ëåãêî îòìåòèòü, ÷òî ýòî ÷èñëî åñòü âåëè÷èíà ïåðåìåííàÿ: êàæäàÿ âòîðàÿ ïåðåñòàíîâêà ïîëó÷èëàñü çà ñ÷åò îäíîé òðàíñïîçèöèè P P , íî íàðÿäó ñ íèìè èìåþòñÿ è òàêèå, êîòîðûå òðåáóþò b n = b n = òðàíñïîçèöèé. Õîòÿ ñðåäíåå ÷èñëî òðàíñïîçèöèé, ïðèõîäÿùèõñÿ íà êàæäóþ ïåðåñòàíîâêó, íåâåëèêî (ñì. çàäà÷ó 1.13), îäíàêî â íåêîòîðûõ ïðèëîæåíèÿõ ëó÷øèì áûë áû àëãîðèòì, â êîòîðîì êàæäàÿ ñëåäóþùàÿ ïåðåñòàíîâêà îáðàçóåòñÿ èç ïðåäûäó1
(
2
2
1
(ïîñëå
ANT Y LEX (m
1)
[1℄ :=: [ ℄ (
1)
1)
( )
[ ℄=
[℄= 1
[1℄
[℄
[1℄ :=: [2℄ ( 1) 2 +1 = ( +1) 2
1.4. åíåðèðîâàíèå ïåðåñòàíîâîê
23
ùåé ñ ïîìîùüþ âûïîëíåíèÿ îäíîé òðàíñïîçèöèè. Ýòî ìîæåò îêàçàòüñÿ ñóùåñòâåííûì â ñèòóàöèè, êîãäà ñ êàæäîé ïåðåñòàíîâêîé ñâÿçàíû íåêîòîðûå âû÷èñëåíèÿ è êîãäà ñóùåñòâóåò âîçìîæíîñòü èñïîëüçîâàíèÿ ÷àñòè÷íûõ ðåçóëüòàòîâ, ïîëó÷åííûõ äëÿ ïðåäûäóùåé ïåðåñòàíîâêè, åñëè ïîñëåäîâàòåëüíûå ïåðåñòàíîâêè ìàëî îòëè÷àþòñÿ äðóã îò äðóãà. Ïîêàæåì ñåé÷àñ, ÷òî òàêîé àëãîðèòì äåéñòâèòåëüíî âîçìîæåí. Åãî îñíîâíóþ ñõåìó ìîæíî îïèñàòü ñ ïîìîùüþ ñëåäóþùåé ðåêóðñèâíîé ïðîöåäóðû:
( )
1. pro edure P ERM m ; (*ìàññèâ P ãëîáàëüíûé*) 2. begin 3. if m then (*P ; : : : ; P n ñîäåðæèò íîâóþ ïåðåñòàíîâêó*) 4. write(P ; : : : ; P n ) 5. else 6. for i to m do 7. begin P ERM m ; 8. if i < m then P B m; i Pm 9. end 10. end
=1
[1℄ := 1
[1℄ [℄
[℄
(
1)
[ [
℄℄ :=: [ ℄
Çàäà÷åé ýòîé ïðîöåäóðû ÿâëÿåòñÿ ãåíåðèðîâàíèå âñåõ ïåðåñòàíîâîê ýëåìåíòîâ P ; : : : ; P n ÷åðåç ïîñëåäîâàòåëüíîå ãåíåðèðîâàíèå âñåõ ïåðåñòàíîâîê ýëåìåíòîâ P ; : : : ; P n è çàìåíó ýëåìåíòà P n íà îäèí èç ýëåìåíòîâ P ; : : : ; P n , îïðåäåëÿåìûé èç ìàññèâà B m; i , i < m n. Î÷åâèäíî, ÷òî äëÿ òîãî ÷òîáû ýòà ñõåìà ðàáîòàëà ïðàâèëüíî, ìû äîëæíû îïðåäåëèòü ìàññèâ B òàê, ÷òîáû ãàðàíòèðîâàòü, ÷òî êàæäàÿ òðàíñïîçèöèÿ P B m; i P m â ñòðîêå 8 ââîäèëà áû íîâûé ýëåìåíò â P n . Ïðåäñòàâèì òåïåðü àëãîðèòì, â êîòîðîì çíà÷åíèå B m; i âû÷èñëÿåòñÿ äèíàìè÷åñêè êàê óíêöèÿ îò m è i [44℄ Àëãîðèòì 1.11 ( åíåðèðîâàíèå âñåõ ïåðåñòàíîâîê çà ìèíèìàëüíîå ÷èñëî òðàíñïîçèöèé.) Äàííûå: n. åçóëüòàò: Ïîñëåäîâàòåëüíîñòü ïåðåñòàíîâîê ìíîæåñòâà f ; : : : ; ng, â êîòîðîì êàæäàÿ ïîñëåäóþùàÿ ïåðåñòàíîâêà îáðàçóåòñÿ èç ïðåäûäóùåé ïóòåì âûïîëíåíèÿ îäíîé òðàíñïîçèöèè.
[1℄
1℄
[℄
[1℄
[
[ 1℄
℄
[
℄ 1
[℄
[℄
[1℄
[ [
℄℄ :=: [ ℄
1
1. 2. 3. 4. 5. 6. 7. 8.
pro edure begin
B (m; i);
mod 2=0) and (m > 2) then i < m 1 then B := i else B := m 2 else B := m 1 end; (*B *) pro edure P ERM (m); (* ìàññèâ P ãëîáàëüíûé*) if
(m
if
[
ëàâà 1. Ââåäåíèå â êîìáèíàòîðèêó
24
9. begin 10. if m then (*P ; : : : ; P m íîâàÿ ïåðåñòàíîâêà*) 11. write (P ; : : : ; P n ) 12. else 13. for i to m do 14. begin P ERM m ; 15. if i < m then P B m; i Pm 16. end 17. end; (*P ERM *) 18. begin (* ãëàâíàÿ ïðîãðàììà*) 19. for i to n do P i i; 20. P ERM n 21. end
=1
[1℄ := 1
:= 1 ()
[1℄ [℄
[ ℄
(
1)
[ (
)℄ :=: [ ℄
[ ℄ :=
Îòìåòèì, ÷òî äëÿ íå÷åòíîãî m òðàíñïîçèöèÿ â ñòðîêå 15 ñâîäèòñÿ ê P [m 1℄ :=: P [m℄, äëÿ êàæäîãî i < m äëÿ ÷åòíîãî m çíà÷åíèå P [m℄ ìåíÿåòñÿ ïîñëåäîâàòåëüíî íà çíà÷åíèÿ P [1℄; P [2℄; : : : ; P [m 3℄; P [m 2℄; P [m 1℄ (P [1℄ äëÿ m 2). Äëÿ êàæäîãî m 1 îïðåäåëèì ïåðåñòàíîâêó 'm ñëåäóþùèì îáðàçîì: 'm (i) = èíäåêñ j , òàêîé ÷òî P [j ℄ ñîäåðæèò íà÷àëüíîå çíà÷åíèå ïåðåìåííîé P [i℄ ïîñëå âûïîëíåíèÿ P ERM (m). Íàïðèìåð, åñëè ñíà÷àëà ïåðåìåííûå P [1℄; : : : ; P [4℄ ñîäåðæàò ïîñëåäîâàòåëüíîñòü 1 2 3 4, òî ëåãêî óáåäèòüñÿ, ÷òî ïîñëå âûïîëíåíèÿ P ERM (4) ýòà ïîñëåäîâàòåëü-
íîñòü èçìåíèòñÿ íà 4 1 2 3. Ýòî îçíà÷àåò, ÷òî '4 ÿâëÿåòñÿ öèêëîì 1 2 3 4. Ïîêàæåì òåïåðü, ÷òî àëãîðèòì 1.11 êîððåêòåí; òî÷íåå, äîêàæåì äëÿ êàæäîãî m âûïîëíèìîñòü ñëåäóþùåãî óñëîâèÿ: Óñëîâèå Wm . Âûïîëíåíèå P ERM m âûçûâàåò ãåíåðèðîâàíèå âñåõ ïåðåñòàíîâîê ýëåìåíòîâ P ; : : : ; P m , ïðè÷åì 'm åñòü òðàíñïîçèöèÿ m m , åñëè m íå÷åòíîå (m > ), èëè öèêë : : : m , åñëè m ÷åòíî. Äîêàçàòåëüñòâî îñóùåñòâëÿåòñÿ èíäóêöèåé ïî m òàê, êàê ýòî îáû÷íî äåëàåòñÿ ïðè äîêàçàòåëüñòâå êîððåêòíîñòè ðåêóðñèâíûõ àëãîðèòìîâ. Ëåãêî óáåäèòüñÿ íåïîñðåäñòâåííî, ÷òî óñëîâèÿ W1 è W2 âûïîëíÿþòñÿ. Ïðåäïîëîæèì, ÷òî m . Äîêàæåì âûïîëíèìîñòü Wm , ïðåäïîëàãàÿ èñòèííîñòü Wm 1 . Äîêàçàòåëüñòâî ðàçîáüåì íà äâå ÷àñòè â çàâèñèìîñòè îò òîãî, ÷åòíîå m èëè íå÷åòíîå. Ñëó÷àé 1, m íå÷åòíîå.  ñèëó èíäóêòèâíîãî ïðåäïîëîæåíèÿ âûïîëíåíèå P ERM m â ñòðîêå 14 ïðèâîäèò êàæäûé ðàç ê ñäâèãó çíà÷åíèé P ; : : : ; P m âäîëü öèêëà :::m . Òàêèì îáðàçîì, òðàíñïîçèöèÿ P m Pm â ñòðîêå 15 âûáèðàåò êàæäûé ðàç ðàçëè÷íûå ýëåìåíòû â P m . Åñëè âíà÷àëå P i ai , i m, òî â P m ïîìåùàþòñÿ ïîî÷åðåäíî ýëåìåíòû am , am 2 ,
1
[1℄ 1
[ ℄
( )
[1 2
℄
[
1℄
3
( 1)
1℄
[℄=
1
[1 2
1℄ [ ℄
[1℄ [ [ ℄ :=: [ 1℄ [ ℄
1.4. åíåðèðîâàíèå ïåðåñòàíîâîê 0 1 2
×èñëî âûïîëíåííûõ èòåðàöèé öèêëà 13
::: m m m m
P [1℄
P [2℄
P [m
a am am
a a a
am am am
am am am am
a a a a
1
3 2 1
25
2 2 1
1 1 1 1
am am am am
3℄ 3 3 3
4 4 4 4
P [m
am am am am am am am
Òàáëèöà 1.1: Èçìåíåíèå çíà÷åíèé ïåðåìåííûõ íèÿ ïðîöåäóðû P ERM m ïðè m ÷åòíîì
( )
am
2℄ 2 1 2
1 3 2 3
P [m
am am am am am am am
1℄ 1 2 1
2 1 3 2
P [m℄
am a a 1 2
am am am am
3 2 1 1
P [1℄; : : : ; P [m℄ âî âðåìÿ âûïîëíå-
( )
ãåíåðèðóåò âñå ïåðåñòàíîâêè 3 , . . . , a1 , am 1 . Ñëåäîâàòåëüíî, P ERM m ýëåìåíòîâ P ; : : : ; P m . Çàìåòèì, ÷òî ñäâèã P ; : : : ; P m âäîëü öèêëà :::m , à çàòåì âûïîëíåíèå òðàíñïîçèöèè P m Pm ýêâèâàëåíòíî ñäâèãó P ; : : : ; P m âäîëü öèêëà :::m m m m äëèíû m. Åñëè áû òðàíñïîçèöèÿ â ñòðîêå 15 âûïîëíÿëàñü äëÿ êàæäîãî i m, òî âûïîëíåíèå öèêëà 13 âûçâàëî áû âîçâðàùåíèå âñåõ ýëåìåíòîâ íà ñâîè èñõîäíûå ìåñòà.  äåéñòâèòåëüíîñòè æå ïîñëåäíÿÿ òðàíñïîçèöèÿ äëÿ i n íå âûïîëíÿåòñÿ. Ñëåäîâàòåëüíî, 'm m; m . Ñëó÷àé 2, m ÷åòíîå. Ïðîñëåäèì çà ñîäåðæàíèåì ìàññèâà P âî âðåìÿ èñïîëíåíèÿ P ERM m . Èçìåíåíèÿ, êîòîðûì ïîäâåðãàåòñÿ îí, ïðåäñòàâëåíû â òàáë. 1.1. Èç ýòîé òàáëèöû ñëåäóåò, ÷òî êàæäûé ýëåìåíò ïîÿâëÿåòñÿ â P m , ñëåäîâàòåëüíî, P ERM m ãåíåðèðóåò âñå ïåðåñòàíîâêè, è ÷òî 'm ÿâëÿåòñÿ öèêëîì : : : m . Äîêàçàòåëüñòâî ïðàâèëüíîñòè àëãîðèòìà òåì ñàìûì çàêîí÷åíî. Àëãîðèòì 1.11 îáëàäàåò îäíèì ñâîéñòâîì, êîòîðîå ìîæåò îêàçàòüñÿ ïîëåçíûì â íåêîòîðûõ ïðèëîæåíèÿõ. Ïðåäñòàâèì ñåáå, ÷òî ìû èùåì ïåðåñòàíîâêó, óäîâëåòâîðÿþùóþ îïðåäåëåííûì óñëîâèÿì.  òàêîé ñèòóàöèè, åñëè äëÿ íåêîòîðîãî m çíà÷åíèÿ P m ; : : : ; P n íå óäîâëåòâîðÿþò òðåáóåìûì îãðàíè÷åíèÿì, òî íåò íåîáõîäèìîñòè â âûçîâå P ERM m è â ïðîõîæäåíèè âñåõ m ïåðåñòàíîâîê ýëåìåíòîâ P ; : : : ; P m . Ýòè ïåðåñòàíîâêè ìû ìîæåì îïóñòèòü, âûïîëíÿÿ ïåðåñòàíîâêó ýëåìåíòîâ P ; : : : ; P m , îáîçíà÷àåìóþ ÷åðåç 'm . Çàìåòèì, ÷òî ïåðåñòàíîâêè 'm èìåþò â íàøåì ñëó÷àå î÷åíü ïðîñòóþ îðìó. Ïîñëåäíèé àëãîðèòì ãåíåðèðîâàíèÿ ïåðåñòàíîâîê, êîòîðûé ìû çäåñü ïðåäñòàâëÿåì, ñòðîèò ïîñëåäîâàòåëüíîñòü, â êîòîðîé ðàçíèöà ìåæäó äâóìÿ ïîñëåäîâàòåëüíûìè ïåðåñòàíîâêàìè åùå ìåíüøå: êàæäàÿ ñëåäóþùàÿ îáðàçóåòñÿ èç ïðåäûäóùåé ñ ïîìîùüþ îäíîêðàòíîé òðàíñïîçèöèè ñîñåäíèõ ýëåìåíòîâ. Ýòîò
[1℄
[ ℄
[1 2
[
[1℄ [ 1℄ [ ℄ :=: [ 1℄ 3 2 1℄
[1 2
1℄ [1℄
=
1℄
=
( )
[1 2
℄
[ ℄
( )
[ +1℄ [℄ ( ) [1℄ [ ℄ [1℄ [ ℄
[ ℄
!
ëàâà 1. Ââåäåíèå â êîìáèíàòîðèêó
26
1 2 1 3 2 3 1 2 1 4 2 4 1 3 1 4 3 4 2 3 2 4 3 4
(à) 2 1 3 1 3 2 2 1 4 1 4 2 3 1 4 1 4 3 3 2 4 2 4 3
3 3 2 2 1 1 4 4 2 2 1 1 4 4 3 3 1 1 4 4 3 3 2 2
4 4 4 4 4 4 3 3 3 3 3 3 2 2 2 2 2 2 1 1 1 1 1 1
(á) 2 1 3 2 1 3 3 4 2 3 4 2 1 4 3 1 4 3 2 4 1 2 4 1
1 2 2 3 3 1 4 3 3 2 2 4 4 1 1 3 3 4 4 2 2 1 1 4
3 3 1 1 2 2 2 2 4 4 3 3 3 3 4 4 1 1 1 1 4 4 2 2
4 4 4 4 4 4 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3
1 2 2 2 3 3 3 1 1 3 3 3 4 4 4 1 1 4 4 4 2 2 2 1
(â) 2 1 3 3 2 2 1 3 3 1 4 4 3 3 1 4 4 1 2 2 4 4 1 2
3 3 1 4 4 1 2 2 4 4 1 2 2 1 3 3 2 2 1 3 3 1 4 4
4 4 4 1 1 4 4 4 2 2 2 1 1 2 2 2 3 3 3 1 1 3 3 3
èñ. 1.4: Ïîñëåäîâàòåëüíîñòè ïåðåñòàíîâîê, ïîëó÷åííûå ñ ïîìîùüþ: à) àëãîðèòìà 1.10; á) àëãîðèòìà 1.11; â) àëãîðèòìà 1.12 àëãîðèòì îáû÷íî ïðèïèñûâàåòñÿ Äæîíñîíó [38℄ è Òðîòòåðó [68℄. Åãî èäåþ ëåã÷å âñåãî ïðîèëëþñòðèðîâàòü íà ïðèìåðå. Ïðåäïîëîæèì, ÷òî óæå ïîñòðîåíà ïîñëåäîâàòåëüíîñòü ïåðåñòàíîâîê ýëåìåíòîâ ; ; : : : ; n, îáëàäàþùàÿ ýòèì ñâîéñòâîì, íàïðèìåð: 2 3, 3 2 äëÿ n . Òîãäà òðåáóåìóþ ïîñëåäîâàòåëüíîñòü ïåðåñòàíîâîê ýëåìåíòîâ ; ; : : : ; n ïîëó÷èì, âñòàâëÿÿ ýëåìåíò 1 âñåìè âîçìîæíûìè ñïîñîáàìè â êàæäóþ ïåðåñòàíîâêó ýëåìåíòîâ ; ; : : : ; n.  íàøåì ñëó÷àå ïîëó÷àåì
12
23
=3
23 1 2 2 1 2 3 3 2 3 1 1 3
3 3 1 1 2 2
 îáùåì âèäå ýëåìåíò 1 ïîìåùàåòñÿ ìåæäó ïåðâîé è ïîñëåäíåé ïîçèöèÿìè ïîïåðåìåííî âïåðåä è íàçàä n ðàç. Íà îñíîâå ýòîé êîíñòðóêöèè ìîæíî
(
1)!
1.4. åíåðèðîâàíèå ïåðåñòàíîâîê
27
ëåãêî ïîëó÷èòü ðåêóðñèâíûé àëãîðèòì, ãåíåðèðóþùèé òðåáóåìóþ ïîñëåäîâàòåëüíîñòü ïåðåñòàíîâîê äëÿ ïðîèçâîëüíîãî n. Îäíàêî ýòîò ìåòîä, ïðèìåíåííûé íåïîñðåäñòâåííî, èìååò íåäîñòàòîê: ïîñëåäîâàòåëüíîñòü ïåðåñòàíîâîê ñòðîèòñÿ ¾öåëèêîì¿ è òîëüêî ïîñëå îêîí÷àíèÿ âñåãî ïîñòðîåíèÿ åå ìîæíî ñ÷èòûâàòü. Î÷åâèäíî, ÷òî ðåøåíèå òàêîãî òèïà ïîòðåáîâàëî áû îãðîìíîãî îáúåìà ïàìÿòè. Ïîýòîìó ìû ñåé÷àñ ïîêàæåì íåðåêóðñèâíûé âàðèàíò ýòîãî àëãîðèòìà.  ýòîì âàðèàíòå äëÿ êàæäîãî i, i < n, áóëåâà ïåðåìåííàÿ P R i ñîäåðæèò èíîðìàöèþ î òîì, ïåðåíîñèòñÿ ëè ýëåìåíò i âïåðåä (P R i =èñòèíà) èëè æå íàçàä (P R i =ëîæü), ïåðåìåííàÿ æå C i ïîêàçûâàåò, êàêóþ èç âîçìîæíûõ n i ïîçèöèé ýëåìåíò 1 çàíèìàåò îòíîñèòåëüíî ýëåìåíòîâ i ; : : : ; n íà ñâîåì ïóòè âïåðåä èëè íàçàä. Ïîçèöèþ ýëåìåíòà 1 â òàáëèöå P îïðåäåëÿåì íà îñíîâàíèè åãî ïîçèöèè â áëîêå, ñîäåðæàùåì i; i ; : : : ; n, à òàêæå íà îñíîâàíèè ÷èñëà ýëåìåíòîâ èç ; ; : : : ; i , êîòîðûå íàõîäÿòñÿ ñëåâà îò ýòîãî áëîêà. Ýòî ÷èñëî, áóäó÷è çíà÷åíèåì ïåðåìåííîé x, âû÷èñëÿåòñÿ êàê ÷èñëî ýëåìåíòîâ j < i, êîòîðûå, äâèãàÿñü íàçàä, äîñòèãëè áû ñâîåãî êðàéíåãî ëåâîãî ïîëîæåíèÿ (C j n j , P R j =ëîæü). Êàæäàÿ íîâàÿ ïåðåñòàíîâêà îáðàçóåòñÿ òðàíñïîçèöèåé ñàìîãî ìåíüøåãî èç ýëåìåíòîâ j , êîòîðûé íå íàõîäèòñÿ â ãðàíè÷íîì ïîëîæåíèè (ò.å., C j < n j ) ñ åãî ëåâûì èëè ïðàâûì ñîñåäîì. Ýòî ðåàëèçóåò ïðèâåäåííûé íèæå àëãîðèòì. Äîêàçàòåëüñòâî åãî ïðàâèëüíîñòè ïðåäîñòàâëÿåòñÿ ÷èòàòåëþ.
1
[℄
[℄
12
1
[℄
[℄
1
+1
+1
[ ℄=
[℄ [℄
+1
+1
Àëãîðèòì 1.12. ( åíåðèðîâàíèå âñåõ ïåðåñòàíîâîê ñ ìèíèìàëüíûì ÷èñëîì òðàíñïîçèöèé ñîñåäíèõ ýëåìåíòîâ)
Äàííûå: n.
1
åçóëüòàò: Ïîñëåäîâàòåëüíîñòü ïåðåñòàíîâîê ìíîæåñòâà f ; : : : ; ng, â êîòîðîé êàæäàÿ ïîñëåäóþùàÿ îáðàçóåòñÿ â ðåçóëüòàòå âûïîëíåíèÿ îäíîêðàòíîé òðàíñïîçèöèè ñîñåäíèõ ýëåìåíòîâ.
1. 2. 3. 4. 5. 6. 7.
begin for
i := 1 to n do begin P [i℄ := i; C [i℄ := 1; P R[i℄:=èñòèíà; end;
C [n℄ := 0; (*òàê, ÷òîáû C [i℄ 6= n i + 1 â ñòðîêå 10 äëÿ i = n*) write(P [1℄; : : : ; P [n℄); i := 1;
ëàâà 1. Ââåäåíèå â êîìáèíàòîðèêó
28 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
while
i < n do begin i := 1; x := 0; while C [i℄ = n i + 1 do begin P R[i℄:=not P R[i℄; C [i℄ := 1; if P R[i℄ then x := x + 1; i := i + 1 end;
if
i < n then begin
(* âûïîëíåíèå òðàíñïîçèöèè *) if P R i then k C i x; else k n i C i x; Pk Pk ; write(P ; : : : ; P n );
[℄ := [ ℄ + := +1 [ ℄+ [ ℄ :=: [ + 1℄ [1℄ [℄ C [i℄ := C [i℄ + 1
end end end
Îòìåòèì, ÷òî â ýòîì àëãîðèòìå, êàê è â äâóõ ïðåäûäóùèõ, íå èñïîëüçóåòñÿ íè â êàêîé ìåðå çíàíèå çíà÷åíèé ïåðåìåííûõ P ; : : : ; P n . Ýòî î÷åâèäíî, òàê êàê äàííûå ïåðåìåííûå ïîÿâëÿþòñÿ òîëüêî â ñòðîêå 19 (åñëè íå ñ÷èòàòü èíèöèàëèçàöèè â ñòðîêå 3 è âûâîäà ðåçóëüòàòîâ).
[1℄
[℄
Íà ðèñ. 1.4 ïðåäñòàâëåíû ïîñëåäîâàòåëüíîñòè ïåðåñòàíîâîê, ïîëó÷åííûå äëÿ
n = 4 ïðè ïîìîùè àëãîðèòìîâ 1.10, 1.11 è 1.12.
Óêàæåì â çàêëþ÷åíèå îäíó ëþáîïûòíóþ èíòåðïðåòàöèþ ïîñëåäîâàòåëüíîñòè, ïîëó÷åííîé ñ ïîìîùüþ àëãîðèòìà 1.12. àññìîòðèì ñ ýòîé öåëüþ ãðà Gn , âåðøèíû êîòîðîãî ñîîòâåòñòâóþò âñåì ïåðåñòàíîâêàì ìíîæåñòâà f ; : : : ; ng è â êîòîðîì äâå âåðøèíû, ñîîòâåòñòâóþùèå ïåðåñòàíîâêàì f è g , ñîåäèíåíû ðåáðîì òîãäà è òîëüêî òîãäà, êîãäà g îáðàçóåòñÿ èç f îäíîêðàòíîé òðàíñïîçèöèåé ñîñåäíèõ ýëåìåíòîâ (òàêèì îáðàçîì, êàæäàÿ âåðøèíà ñîåäèíåíà â òî÷íîñòè ñ n äðóãèìè âåðøèíàìè). Íåòðóäíî çàìåòèòü, ÷òî ïîñëåäîâàòåëüíîñòü ïåðåñòàíîâîê, ïîëó÷åííàÿ ïðè ïîìîùè àëãîðèòìà 1.12, ñîîòâåòñòâóåò ãàìèëüòîíîâó ïóòè â Gn , ò.å. ïóòè, ñîäåðæàùåìó êàæäóþ âåðøèíó ãðàà â òî÷íîñòè îäèí ðàç. Ýòî ïðîèëëþñòðèðîâàíî íà ðèñ. 1.5 äëÿ n èn .
1
1
=3
=4
1.5. Ïîäìíîæåñòâà ìíîæåñòâà, ìíîæåñòâà ñ ïîâòîðåíèÿìè, ...
29
èñ. 1.5: Èíòåðïðåòàöèÿ ïîñëåäîâàòåëüíîñòè ïåðåñòàíîâîê, ïîëó÷åííîé ñ ïîìîùüþ àëãîðèòìà 1.12
1.5 Ïîäìíîæåñòâà ìíîæåñòâà, ìíîæåñòâà ñ ïîâòîðåíèÿìè, ãåíåðèðîâàíèå ïîäìíîæåñòâ ìíîæåñòâà =
2
Êàæäîå n-ýëåìåíòíîå ìíîæåñòâî X fx1 ; : : : ; xn g èìååò â òî÷íîñòè n ïîäìíîæåñòâ. ×òîáû óáåäèòüñÿ â ýòîì, äîñòàòî÷íî êàæäîìó ïîäìíîæåñòâó Y X ñîïîñòàâèòü áèíàðíóþ ïîñëåäîâàòåëüíîñòü (ò.å. ñ ÷ëåíàìè 0 èëè 1) b1 ; b2 ; : : : ; bn , îïðåäåëÿåìóþ ñëåäóþùèì îáðàçîì:
bi =
0; 1;
åñëè xi åñëè xi
2= Y; 2 Y:
Òåì ñàìûì ìû óñòàíàâëèâàåì âçàèìíî îäíîçíà÷íîå ñîîòâåòñòâèå ìåæäó ýëåìåíòàìè ìíîæåñòâà } X âñåõ ïîäìíîæåñòâ ìíîæåñòâà X è âñåìè áèíàðíûìè ïîñëåäîâàòåëüíîñòÿìè äëèíû n. ×èñëî òàêèõ ïîñëåäîâàòåëüíîñòåé â òî÷íîñòè ðàâíî n , à çíà÷èò â ñèëó óñòàíîâëåííîãî ñîîòâåòñòâèÿ èìååò ìåñòî ðàâåíñòâî j} X j n. Îïðåäåëåííàÿ íàìè ïîñëåäîâàòåëüíîñòü b1 b2 : : : bn ñòàíîâèòñÿ óäîáíûì ìàøèííûì ïðåäñòàâëåíèåì ïîäìíîæåñòâà Y , îñîáåííî â ñèòóàöèè, êîãäà ìîùíîñòü ìíîæåñòâà X íåâåëèêà è ïîñëåäîâàòåëüíîñòü b1 b2 : : : bn ìîæåò áûòü çàêîäèðîâàíà â âèäå îäíîãî ìàøèííîãî ñëîâà. Òàêîå ïðåäñòàâëåíèå ïîäñêàçûâàåò ïðîñòîé
( )
2 ( ) =2
ëàâà 1. Ââåäåíèå â êîìáèíàòîðèêó
30
ìåòîä ãåíåðèðîâàíèÿ âñåõ ïîäìíîæåñòâ. Äîñòàòî÷íî çàìåòèòü, ÷òî êàæäàÿ áèíàðíàÿ ïîñëåäîâàòåëüíîñòü bn 1 bn 2 : : : b0 ñîîòâåòñòâóåò âçàèìíî îäíîçíà÷íîìó Pn 1 i öåëîìó ÷èñëó èç èíòåðâàëà r n , à èìåííî ÷èñëó r i=0 bi , äëÿ êîòîðîãî bn 1 bn 2 : : : b0 åñòü äâîè÷íîå ïðåäñòàâëåíèå. Ýòî ÷èñëî áóäåì îáîçíà÷àòü ÷åðåç bn 1 bn 2 : : : b0 . Òàêèì îáðàçîì, ìû ìîæåì ïîñëåäîâàòåëüíî ïîëó÷àòü âñå ÷èñëà èç èíòåðâàëà r n (íà÷èíàÿ, íàïðèìåð, ñ 0 è äîáàâëÿÿ 1 íà êàæäîì øàãå), à èõ äâîè÷íûå ïðåäñòàâëåíèÿ äàäóò âñå ïîäìíîæåñòâà n-ýëåìåíòíîãî ìíîæåñòâà. Ýòîò ìåòîä îñîáåííî âûãîäåí äëÿ ðåàëèçàöèè íà âíóòðåííåì ÿçûêå ìàøèíû.  íåêîòîðûõ ñèòóàöèÿõ íàì âàæíî, ÷òîáû êàæäîå ïîñëåäóþùåå ïîëó÷åííîå ïîäìíîæåñòâî íàèìåíüøèì îáðàçîì îòëè÷àëîñü îò ïðåäûäóùåãî. Îáúÿñíåíèå ïîëåçíîñòè àëãîðèòìà òàêîãî òèïà ñîâåðøåííî àíàëîãè÷íî ñëó÷àþ àëãîðèòìîâ 1.11 è 1.12 ãåíåðèðîâàíèÿ ïåðåñòàíîâîê: ïðè ïðîâåäåíèè ðåàëüíûõ âû÷èñëåíèé, ñâÿçàííûõ ñ êàæäûì ïîëó÷åííûì ïîäìíîæåñòâîì, èìååòñÿ âîçìîæíîñòü èñïîëüçîâàòü ÷àñòè÷íûå ðåçóëüòàòû, ïîëó÷åííûå äëÿ ïðåäûäóùåãî ïîäìíîæåñòâà. Çàìåòèì, ÷òî â ñëó÷àå îïèñàííîãî âûøå àëãîðèòìà, îñíîâàííîãî íà äâîè÷íîì ïðåäñòàâëåíèè ÷èñåë, ïîñëåäîâàòåëüíî ïîëó÷àåìûå ïîäìíîæåñòâà ìîãóò ñèëüíî îòëè÷àòüñÿ äðóã îò äðóãà: íàïðèìåð, ïîñëå n -ýëåìåíòíîãî ìíîæåñòâà, îòâå÷àþùåãî ÷èñëó : : : , èäåò îäíîýëåìåíòíîå ìíîæåñòâî, îòâå÷àþùåå ÷èñëó ::: . Îïèøåì òåïåðü äðóãîé ìåòîä, ïðè êîòîðîì êàæäîå ïîñëåäóþùåå ïîäìíîæåñòâî ïîëó÷àåòñÿ èç ïðåäûäóùåãî äîáàâëåíèåì èëè óäàëåíèåì îäíîãî ýëåìåíòà. Îïèðàåòñÿ îí íà ñëåäóþùåå ïðîñòîå íàáëþäåíèå. Åñëè ïîñëåäîâàòåëüíîñòü k áèíàðíûõ ïîñëåäîâàòåëüíîñòåé äëèíû k , C1 ; C2 ; : : : ; Cm ñîäåðæèò âñå m ïðè÷åì Ci îòëè÷àåòñÿ îò Ci+1 â òî÷íîñòè â îäíîé êîîðäèíàòå i ;:::;m , òî ïîñëåäîâàòåëüíîñòü
0
[
℄ 0
2 1
=
2
2 1
(
011 1
100 0
1)
=2
C 0; C 0; : : : ; Cm 0; Cm1; Cm
( =1
1)
1; : : : ; C 1 ñîäåðæèò âñå áèíàðíûå ïîñëåäîâàòåëüíîñòè äëèíû k + 1, ïðè÷åì êàæäûå äâå 1
2
1
1
ñîñåäíèå ïîñëåäîâàòåëüíîñòè áóäóò îòëè÷àòüñÿ â òî÷íîñòè â îäíîé êîîðäèíàòå. Ýòèì íåïîñðåäñòâåííî îïðåäåëÿåòñÿ íåêîòîðûé àëãîðèòì ðåêóððåíòíîãî ïîñòðîåíèÿ ïîñëåäîâàòåëüíîñòè âñåõ ïîäìíîæåñòâ. Ïîëó÷àåìàÿ ýòèì ñïîñîáîì ïîñëåäîâàòåëüíîñòü C1 ; : : : ; C2n íàçûâàåòñÿ áèíàðíûì êîäîì ðýÿ ïîðÿäêà n. Îïèøåì òåïåðü íåðåêóððåíòíóþ âåðñèþ ýòîãî àëãîðèòìà. Àëãîðèòì 1.13. ( åíåðèðîâàíèå âñåõ ïîäìíîæåñòâ n-ýëåìåíòíîãî ìíîæåñòâà.) Äàííûå: n. åçóëüòàò: Ïîñëåäîâàòåëüíîñòü âñåõ ïîäìíîæåñòâ n-ýëåìåíòíîãî ìíîæåñòâà, â êîòîðîé êàæäîå ïîñëåäóþùåå ïîäìíîæåñòâî ïîëó÷àåòñÿ èç ïðåäûäóùåãî äîáàâëåíèåì èëè óäàëåíèåì åäèíñòâåííîãî ýëåìåíòà. Êàæäîå ïîäìíîæåñòâî ïðåä-
1.5. Ïîäìíîæåñòâà ìíîæåñòâà, ìíîæåñòâà ñ ïîâòîðåíèÿìè, ... ñòàâëÿåòñÿ áèíàðíîé ïîñëåäîâàòåëüíîñòüþ
31
B [1℄; : : : ; B [n℄.
1. begin 2. for i to n do B i ; (*ïóñòîå ìíîæåñòâî*) 3. i ; (* i=÷èñëó ñãåíåðèðîâàííûõ äî ýòîãî ìîìåíòà ïîäìíîæåñòâ*) 4. repeat 5. write(B ; : : : ; B n ); 6. i i ;p ;j i; 7. while j mod 2=0 do p 1 i*) 8. begin (*j 9. j j= ; p p 10. end; (*p Qi *) 11. if p n then B p B p (*ñìåíà ïîçèöèè p*) 12. until p > n 13. end
:= 1 := 0
[ ℄ := 0
[1℄ [℄ := + 1 := 1 := 2 = = 2 := + 1 = ( )+1 [ ℄ := 1 [ ℄
0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0
0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0
0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
èñ. 1.6: Ïîñëåäîâàòåëüíîñòü ìíîæåñòâ, ïîðîæäåííûõ àëãîðèòìîì 1.13 äëÿ n
=4
Äîêàæåì òåïåðü, ÷òî îïèñàííûé àëãîðèòì äåéñòâèòåëüíî ãåíåðèðóåò âñå áèíàðíûå ïîñëåäîâàòåëüíîñòè äëèíû n. Ïóñòü Q i îáîçíà÷àåò íàèáîëüøóþ ñòåïåíü äâîéêè, êîòîðàÿ äåëèò i. Åñëè ìû ïðåäñòàâèì i â äâîè÷íîì âèäå êàê i bn bn 1 : : : b1 , òî, fj bj g. Ïîêàî÷åâèäíî, èìååì Q i æåì âíà÷àëå, ÷òî ïîñëå âûõîäà èç âíóòðåííåãî öèêëà 7 áóäåì èìåòü p Q i . Ñ ýòîé öåëüþ çàìåòèì, ÷òî äî âõîäà â öèêë j p 1 i (ãäå p , j i) è êàæäàÿ èòåðàöèÿ öèêëà íå íàðóøàåò ýòîãî ðàâåíñòâà (òàê êàê j= (p+1) 1 j p 1 . Ïîñëå âûõîäà èç öèêëà j íå÷åòíî, ñëåäîâàòåëüíî, Q i p , ò.å. äåéñòâèòåëüíî p Q i . Ïðåäïîëîæèì òåïåðü, ÷òî k < n è ÷òî â ïåðâûõ k èòåðàöèÿõ öèêëà 3 áûëè ïîëó÷åíû âñå k áèíàðíûå ïîñëåäîâàòåëüíîñòè b1 b2 : : : bn , òàêèå ÷òî bk+1 : : : bn (ýòî î÷åâèäíî ñïðàâåäëèâî äëÿ k ).  ïîñëåäíåé èç ýòèõ k èòåðàöèé ïåðåìåííàÿ i ïðèíèìàåò çíà÷åíèå k (ñòðîêà 7). Ïåðåìåííàÿ p ïîëó÷àåò çíà÷åíèå Q k k , è, ñëåäîâàòåëüíî, íàñòóïàåò èçìåíåíèå çíà÷åíèÿ ïåðåìåííîé B k ñ 0 íà 1. àññìîòðèì òåïåðü ïîñëåäîâàòåëüíîñòü
()
=[ ℄ ( ) + 1 = min : = 1 = ( )+1 2 = =1 = ( 2)2 = 2 ()= 1 = ( )+1 2 2 = = =0 =0
2 2 (2 ) + 1 = + 1
Q(2k + 1) + 1; Q(2k + 2) + 1; : : : ; Q(2k
[ + 1℄
+1
)+1
(1.9)
32 0
ëàâà 1. Ââåäåíèå â êîìáèíàòîðèêó
t -= 1 t t t t -= 2 t6 t -t t t t -? t6 t t t- t t - t t t ? t t ? t 6 t t t 6 =4 t -= 3 t t- t n
1
01
11
00
10 1010
1011
n
1111
1101
0011
1011
0001
011
010
111
110
001
000
n
0110
0100
101
100
1001
1110
1100
0100
0000
1010
n
1000
èñ. 1.7: àìèëüòîíîâû ïóòè â n-ìåðíûõ êóáàõ
2 2
çíà÷åíèé ïåðåìåííîé p, ñãåíåðèðîâàííûõ â ïîñëåäóþùèõ k èòåðàöèÿõ öèêëà 3. Îòìåòèì, ÷òî Q k m Q k m äëÿ m k (ýòîò àêò ñòàíîâèòñÿ îñîáåííî î÷åâèäíûì, åñëè ðàññìàòðèâàòü ñëîæåíèå ÷èñåë k m è k m, çàïèñàííûõ â äâîè÷íîé îðìå). Ïîñëåäîâàòåëüíîñòü (1.9) ÿâëÿåòñÿ çåðêàëüíûì îòîáðàæåíèåì ïîñëåäîâàòåëüíîñòè çíà÷åíèé ïåðåìåííîé p, ïîëó÷åííûõ â ïåðâûõ k èòåðàöèÿõ öèêëà 3. Îòñþäà ñëåäóåò, ÷òî è ïîñëåäîâàòåëüíîñòè B ; B ; : : : ; B k , ïîëó÷åííûå â ïåðâûõ k èòåðàöèÿõ, ïîÿâëÿþòñÿ â îáðàòíîì ïîðÿäêå â ïîñëåäóþùèõ k èòåðàöèÿõ. Ýòî äàåò âñå áèíàðíûå ïîñëåäîâàòåëüíîñòè b1 b2 : : : bn , òàêèå, ó êîòîðûõ bk+1 : : : bn , ïîëó÷åííûå â ïåðâûõ k+1 èòåðàöèÿõ. Îòñþäà ñòàíîâèòñÿ ÿñíî, ÷òî íàø àëãîðèòì ãåíåðèðóåò âñå áèíàðíûå ïîñëåäîâàòåëüíîñòè äëèíû n â òàêîì æå ïîðÿäêå, ÷òî è ïðåäûäóùèé ðåêóðñèâíûé àëãîðèòì. Ïîñëåäîâàòåëüíîñòü ïîäìíîæåñòâ, ïîëó÷åííûõ ïðè ïîìîùè àëãîðèòìà äëÿ n , ïðåäñòàâëåíà íà ðèñ. 1.6.
(2 + ) = (2
)
0
2
[1℄ [2℄
2
[℄
2
2
=4
2 =
=
1
2 +
=0
Ìîæíî ïîêàçàòü, ÷òî ñðåäíåå ÷èñëî øàãîâ, íåîáõîäèìûõ äëÿ ãåíåðèðîâàíèÿ êàæäîãî ñëåäóþùåãî ïîäìíîæåñòâà (íå ñ÷èòàÿ ïðîöåäóðû íàïèñàíèÿ ýòîãî ïîäìíîæåñòâà), îãðàíè÷åíî êîíñòàíòîé, íå çàâèñÿùåé îò n (ñì. çàäà÷ó 1.21). Ïîñëåäîâàòåëüíîñòü ïîäìíîæåñòâ, ïîëó÷åííûõ ñ ïîìîùüþ àëãîðèòìà 1.13, ìîæíî òàê æå, êàê ìû ýòî äåëàëè äëÿ ïîñëåäîâàòåëüíîñòè ïåðåñòàíîâîê, ïîëó÷åííûõ ñ ïîìîùüþ àëãîðèòìà 1.12, ïðîèëëþñòðèðîâàòü íà ãðàå, âåðøèíû êîòîðîãî ñîîòâåòñòâóþò áèíàðíûì ïîñëåäîâàòåëüíîñòÿì äëèíû n è äâå âåðøèíû êîòîðî-
1.5. Ïîäìíîæåñòâà ìíîæåñòâà, ìíîæåñòâà ñ ïîâòîðåíèÿìè, ...
33
ãî ñîåäèíåíû ðåáðîì, åñëè ñîîòâåòñòâóþùèå ïîñëåäîâàòåëüíîñòè îòëè÷àþòñÿ â òî÷íîñòè â îäíîé ïîçèöèè. Òàêîé ãðà áóäåì íàçûâàòü (äâîè÷íûì) n-ìåðíûì êóáîì. Î÷åâèäíî, ÷òî ïîñëåäîâàòåëüíîñòü, ïîëó÷åííàÿ ñ ïîìîùüþ íàøåãî àëãîðèòìà, ñîîòâåòñòâóåò ãàìèëüòîíîâó ïóòè â ýòîì ãðàå. Íà ðèñ. 1.7 ýòî ïðîäåìîíñòðèðîâàíî äëÿ n ; ; ; .  íåêîòîðûõ ïðèëîæåíèÿõ áîëåå åñòåñòâåííûì, íåæåëè ïîíÿòèå ìíîæåñòâà, ÿâëÿåòñÿ ìíîæåñòâî ñ ïîâòîðåíèÿìè. Êàæäûé ýëåìåíò ìíîæåñòâà ñ ïîâòîðåíèÿìè ìîæåò ïîÿâëÿòüñÿ â ýòîì ìíîæåñòâå íåñêîëüêî ðàç, ÷èñëî ýòèõ âõîæäåíèé ÿâëÿåòñÿ ñóùåñòâåííûì è íîñèò íàçâàíèå êðàòíîñòè ýëåìåíòà â ìíîæåñòâå. Ìíîæåñòâî ñ ïîâòîðåíèÿìè, ñîäåðæàùåå, íàïðèìåð, ýëåìåíò a êðàòíîñòè 2, ýëåìåíò b êðàòíîñòè 3 è ýëåìåíò êðàòíîñòè 1, áóäåì îáîçíà÷àòü a; a; b; b; b; ñ èëè a; b; ñ . Ïîðÿäîê ýëåìåíòîâ íå ñóùåñòâåí:
=1 2 3 4
(2
3
(
1 )
)
(a; a; b; b; b; ) = (b; a; b; a; ; b) = : : : Ñóùåñòâåííà òîëüêî êðàòíîñòü êàæäîãî ýëåìåíòà èìååì
(a; a; b; b; b; ) 6= (a; b; ) â îòëè÷èå îò ðàâåíñòâà ìíîæåñòâ
fa; a; b; b; b; g = fa; b; g: Åñëè â íåêîòîðîì ìíîæåñòâå ñ ïîâòîðåíèÿìè êðàòíîñòü êàæäîãî ýëåìåíòà ðàâíà åäèíèöå, òî, î÷åâèäíî, ìû ìîæåì îòîæäåñòâëÿòü åãî ñ îáû÷íûì ìíîæåñòâîì. Ïóñòü A, B äâà ìíîæåñòâà ñ ïîâòîðåíèÿìè. Áóäåì ãîâîðèòü, ÷òî A åñòü ïîäìíîæåñòâî B (îáîçíà÷åíèå A B ), åñëè êðàòíîñòü êàæäîãî ýëåìåíòà â A íå áîëüøå êðàòíîñòè ýòîãî ýëåìåíòà â B . Ïóñòü X ìíîæåñòâî ñ ïîâòîðåíèÿìè, ñîäåðæàùåå r ðàçíûõ ýëåìåíòîâ x1 ; : : : ; xr ñ êðàòíîñòÿìè k1 ; : : : ; kr ñîîòâåòñòâåííî. ×èñëî jX j k1 : : : kr áóäåì íàçûâàòü ìîùíîñòüþ X . Êàæäîìó ïîäìíîæåñòâó A X îäíîçíà÷íî ñîîòâåòñòâóåò ïîñëåäîâàòåëüíîñòü
= + +
hm ; : : : ; mr i; 0 m k ; : : : ; 0 mr kr ; 1
1
ãäå mi îáîçíà÷àåò êðàòíîñòü ýëåìåíòà ÷èñëî âñåõ ïîäìíîæåñòâ A X ðàâíî
1
Xi
â
A.
Îòñþäà ñðàçó æå ñëåäóåò, ÷òî
(k + 1)(k + 1) : : : (kr + 1): 1
2
(1.10)
(1.11)
Ýòè ïîäìíîæåñòâà, à òî÷íåå ñîîòâåòñòâóþùèå èì ïîñëåäîâàòåëüíîñòè (1.10), ìîæíî ãåíåðèðîâàòü ñïîñîáîì, ïîäîáíûì òîìó, êîòîðûé áûë èñïîëüçîâàí â
34
002
001
000
012
u
011
u
010
u
u
u
u
u
u
u
111
u
u
212
u
112
102
101
ëàâà 1. Ââåäåíèå â êîìáèíàòîðèêó
202
u
u
201
u
211
u
210
u
110
u
200
100
èñ. 1.8: àìèëüòîíîâ ïóòü â ãðàå, ñîîòâåñòâóþùåì ïîäìíîæåñòâàì ìíîæåñòâà ñ ïîâòîðåíèÿìè x1 ; x1 ; x2 ; x3 ; x3
(
)
àëãîðèòìå 1.13. Äëÿ ýòîãî äîñòàòî÷íî çàìåòèòü, ÷òî åñëè ïîñëåäîâàòåëüíîñòü C1 ; C2 ; : : : ; Ñm ñîäåðæèò âñå p k1 k2 : : : ks ïîñëåäîâàòåëüíîñòåé m1 ; : : : ; ms , m1 k1 ; : : : ; ms ks , òî ïîñëåäîâàòåëüíîñòü
= ( + 1)( + 1) ( + 1) 0 C 0; C 0; : : : ; Cp 0; Cp 1; Cp 1; : : : ; C 1; C 2; C 2; Cp 2; Cp 3; : : : (1.12) äëèíû p(ks + 1) ñîäåðæèò âñå ïîñëåäîâàòåëüíîñòè hm ; : : : ; ms i, 0 m k ; : : : ; 0 ms ks . Î÷åâèäíî, ÷òî ïîñëåäîâàòåëüíîñòü ïîäìíîæåñòâ, ïî0
1
2
1
+1
1
1
1
2
1
+1
+1
1
+1
ëó÷åííàÿ ñ ïîìîùüþ òàêîãî ïîñòðîåíèÿ, áóäåò îáëàäàòü òàêèì ñâîéñòâîì, ÷òî êàæäîå ïîñëåäóþùåå ïîäìíîæåñòâî îáðàçóåòñÿ èç ïðåäûäóùåãî äîáàâëåíèåì èëè óäàëåíèåì îäíîãî ýëåìåíòà. Ïðåäîñòàâëÿÿ ÷èòàòåëþ èñêëþ÷èòü ðåêóðñèþ èç ýòîãî àëãîðèòìà, ïðîèëëþñòðèðóåì åãî ñ ïîìîùüþ ãàìèëüòîíîâà ïóòè â íåêîòîðîì ãðàå (ðèñ. 1.8). Ýòîò ðèñóíîê èíòåðïðåòèðóåòñÿ òàê æå, êàê è ðèñ. 1.7.
1.6 k-ýëåìåíòíûå ïîäìíîæåñòâà, áèíîìèàëüíûå êîýèöèåíòû ×èñëî âñåõ k-ýëåìåíòíûõ ïîäìíîæåñòâ n-ýëåìåíòíîãî ìíîæåñòâà áóäåì îáîçíà ÷àòü nk . Ñèìâîë nk íàçûâàåòñÿ áèíîìèàëüíûì êîýèöèåíòîì, èñõîäÿ èç ñëå-
1.6. k-ýëåìåíòíûå ïîäìíîæåñòâà, áèíîìèàëüíûå êîýèöèåíòû äóþùåé îðìóëû äëÿ n-é ñòåïåíè áèíîìà
(x + y)n =
x + y:
n X n
k
k=0
35
xk y n
k
(1.13)
×òîáû óáåäèòüñÿ â èñòèííîñòè ýòîé îðìóëû, äîñòàòî÷íî çàìåòèòü, ÷òî êîýèöèåíò ïðè xk y n k ðàâåí ÷èñëó ñïîñîáîâ, êîòîðûìè èç n ñîìíîæèòåëåé x y : : : x y ìîæíî âûáðàòü k ñîìíîæèòåëåé. Î÷åâèäíî, nk äëÿ k > n. Íàïîìíèì, ÷òî k -ýëåìåíòíûå ïîäìíîæåñòâà n-ýëåìåíòíîãî ìíîæåñòâà íàçûâàëèñü â ñòàðîé ëèòåðàòóðå ïî êîìáèíàòîðèêå k-÷ëåííûìè êîìáèíàöèÿìè äëÿ n-÷ëåííîãî ìíîæåñòâà áåç ïîâòîðåíèé. Ñ áèíîìèàëüíûìè êîýèöèåíòàìè ñâÿçàíî ìíîãî èíòåðåñíûõ òîæäåñòâ. Âîò íåêîðûå èç íèõ.
( + ) ( + )
=0
n X n
i
i=0
= 2n
(1.14)
Ýòà îðìóëà ñëåäóåò èç òîãî, ÷òî ñóììà ñëåâà âûðàæàåò ÷èñëî âñåõ ïîäìíîæåñòâ n-ýëåìåíòíîãî ìíîæåñòâà. n X n
i
i=0
i = n2n
1
(1.15)
Äëÿ äîêàçàòåëüñòâà ýòîé îðìóëû ñîñòàâèì ñïèñîê, ñîäåðæàùèé ïî ïîðÿä- êó âñå ïîäìíîæåñòâà n-ýëåìåíòíîãî ìíîæåñòâà X . Ýòîò ñïèñîê ñîäåðæèò ni i-ýëåìåíòíûõ ïîäìíîæåñòâ äëÿ i ; : : : ; n, òàêèì îáðàçîì, åãî äëèíà (òàê íàçûâàåìîå ÷èñëî ïîÿâëåíèé ýëåìåíòîâ ìíîæåñòâà X ) âûðàæàåòñÿ ñóììîé â ëåâîé ÷àñòè îðìóëû (1.15). Ñ äðóãîé ñòîðîíû, êàæäûé ýëåìåíò x 2 X ïîÿâëÿåòñÿ â ñïèñêå n 1 ðàç, òàê êàê òàêîâî ÷èñëî ïîäìíîæåñòâ, ñîäåðæàùèõ x (èõ ñòîëüêî, ñêîëüêî èìååòñÿ âñåõ ïîäìíîæåñòâ ìíîæåñòâà X nfxg). Ïîýòîìó äëèíà íàøåãî ñïèñêà ðàâíà n n 1 . Äîêàçàòåëüñòâî òåì ñàìûì çàêîí÷åíî.
=1
2
2
n k
=
n
n k
(1.16)
Ýòî ïðÿìîå ñëåäñòâèå òîãî àêòà, ÷òî êàæäîìó k -ýëåìåíòíîìó ïîäìíîæåñòâó X Y îäíîçíà÷íî ñîîòâåòñòâóåò n k -ýëåìåíòíîå ïîäìíîæåñòâî X nY ìíîæåñòâà X .
n k
=
n
1 + n 1 k k 1
(1.17)
Ýòà îðìóëà ïîëó÷àåòñÿ èç ñëåäóþùèõ ðàññóæäåíèé. Çàèêñèðóåì íåêîòîðûé ýëåìåíò x n-ýëåìåíòíîãî ìíîæåñòâà X . Ìíîæåñòâî âñåõ k -ýëåìåíòíûõ
ëàâà 1. Ââåäåíèå â êîìáèíàòîðèêó
36
ïîäìíîæåñòâ ìíîæåñòâà X ðàñïàäàåòñÿ íà äâà íåïåðåñåêàþùèõñÿ êëàññà: êëàññ ïîäìíîæåñòâ, êîòîðûå ñîäåðæàò ýëåìåíò x, è êëàññ ïîäìíîæåñòâ, êîòîðûå åãî íå ñîäåðæàò. Ìîùíîñòü ïåðâîãî êëàññà ñîñòàâëÿåò n k 1 , à âòîðîãî nk 11 , ò.å. ñòîëüêî, ñêîëüêî èìååòñÿ k -ýëåìåíòíûõ ïîäìíîæåñòâ ó ìíîæåñòâà X nfxg. Òîæäåñòâî (1.17) òåñíî ñâÿçàíî ñî ñëåäóþùèì òðåóãîëüíèêîì Ïàñêàëÿ:
(
1)
1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 ::: ::: :::
Åñëè ïåðåíóìåðîâàòü ïî ïîðÿäêó ñòðîêè ýòîãî òðåóãîëüíèêà ÷èñëàìè 0,1,2,. . . , òî i-ÿ ñòðîêà îêàæåòñÿ ñîñòîÿùåé èç ÷èñåë
0
1
i
i
i i
:::
 ñèëó îðìóëû (1.17) êàæäîå èç íèõ, êðîìå êðàéíèõ, ðàâíûõ åäèíèöå, ìîæíà ïîëó÷èòü êàê ñóììó ÷èñåë, íàõîäÿùèõñÿ íàä íèì â ïðåäûäóùåì ðÿäó. Ýòî äà¼ò ïðîñòîé ìåòîä ïîñòðîåíèÿ òðåóãîëüíèêà Ïàñêàëÿ, à òåì ñàìûì íàõîæäåíèÿ êîýèöèåíòîâ ðàçëîæåíèÿ x y i îíè çàäàþòñÿ i-é ñòðîêîé òðåóãîëüíèêà (ñð. ñ (1.13)). Äîêàæåì åù¼ îäíî òîæäåñòâî, ñâÿçàííîå ñ áèíîìèàëüíûìè êîýèöèåíòàìè, à èìåííî òîæäåñòâî Êîøè:
( + )
m+n k
=
k X m s=0
s
n
k s
(1.18)
Äëÿ ýòîãî ïðåäñòàâèì ñåáå, ÷òî èç ãðóïïû, ñîñòîÿùåé èç m ìóæ÷èí è n æåíùèí, ìû õîòèì âûáðàòü k ÷åëîâåê. Ìû ìîæåì ñäåëàòü ýòî mk+n ñïîñîáàìè (ëåâàÿ ÷àñòü òîæäåñòâà). Âñå k -ýëåìåíòíûå ïîäìíîæåñòâà íàøåãî ìíîæåñòâà ìîæíî êëàññèèöèðîâàòü ïî ÷èñëó ìóæ÷èí â ïîäìíîæåñòâå, k -ýëåìåíòíîå ïîäìíîæåñòâî, ñîäåðæàùåå s ìóæ÷èí, ìîæíî ïîëó÷èòü, âûáèðàÿ ñíà÷àëà s ìóæ÷èí n ñïîñîáîâ. Òàîäíèì èç m ñïîñîáîâ, à çàòåì k s æåíùèí îäíèì èç s k s êèì îáðàçîì, ÷èñëî âñåõ âîçìîæíûõ ïîäìíîæåñòâ èç k ÷åëîâåê, âêëþ÷àþùèõ s n ìóæ÷èí, ðàâíî m s k s . Îòñþäà íåïîñðåäñòâåííî ñëåäóåò îðìóëà (1.18) Îòìåòèì, ÷òî äëÿ m k n äàííàÿ îðìóëà ïðèîáðåòàåò âèä
(
= =
)
n n 2n = X
2
n
i=0
s
(1.19)
1.6. k-ýëåìåíòíûå ïîäìíîæåñòâà, áèíîìèàëüíûå êîýèöèåíòû Ìû õîòèì äîêàçàòü åù¼ îäíî òîæäåñòâî:
n k
k m
=
n m
n m n k
37
(1.20)
Äëÿ äîêàçàòåëüñòâà ïîäñ÷èòàåì ÷èñëî òàêèõ ïàð hK; M i ïîäìíîæåñòâà nýëåìåíòíîãî ìíîæåñòâà X , ÷òî K k, jM j m. Ñ îäíîé ñòîðîíû, M , jK j ïîäìíîæåñòâî K ìîæíî âûáðàòü nk ñïîñîáàìè, à ïîäìíîæåñòâî M K ìîæíî k ñïîñîáàìè, ÷òî äà¼ò n k âîçìîæíûõ ïàð (ëåâàÿ ÷àñòü (1.20)). Ñ âûáðàòü m k m n ïîäìíîæåñòâ M X ìîæíî âûáðàòü n m äðóãîé ñòîðîíû, äëÿ êàæäîãî èç m n k ñïîñîáàìè íàäìíîæåñòâî K M , òàê êàê òàêîå íàäìíîæåñòâî K îäíîçíà÷íî îïðåäåëÿåòñÿ ÷åðåç k m -ýëåìåíòíîå ïîäìíîæåñòâî X nK n m -ýëåìåíòíîãî n n m ìíîæåñòâà X nM . Èñêîìîå ÷èñëî ïàð hK; M i ðàâíî, òàêèì îáðàçîì, m n k (ïðàâàÿ ÷àñòü (1.20)). Äàäèì òåïåðü îðìóëó, ïîçâîëÿþùóþ âû÷èñëÿòü nk íåïîñðåäñòâåííî.
=
(
=
)
(
)
Òåîðåìà 1.14
(1.21) = [nk℄!k = k!(nn! k)! = n(n 11) 2: :::(:n: kk + 1) Äîêàçàòåëüñòâî. Êàæäàÿ èç [n℄k èíúåêòèâíûõ ïîñëåäîâàòåëüíîñòåé äëèíû
n k
k
îïðåäåëÿåò k -ýëåìåíòíîå ïîäìíîæåñòâî, ñîñòîÿùåå èç ýëåìåíòîâ, ïîÿâëÿþùèõñÿ â ýòîé ïîñëåäîâàòåëüíîñòè, ïðè÷¼ì îäíî è òî æå ïîäìíîæåñòâî S ïîëó÷àåì â òî÷íîñòè èç k ïîñëåäîâàòåëüíîñòåé, ñîîòâåòñòâóþùèì âñåì ïåðåñòàíîâêàì [n℄k . Òåïåðü äîñòàòî÷íî âîñïîëüçîâàòüñÿ òåîðåìîé ìíîæåñòâà S . Îòñþäà nk k! 1.2. Îòìåòèì, ÷òî ýòà òåîðåìà ïîçâîëÿåò äîêàçàòü âñå òîæäåñòâà, ðàññìîòðåííûå â ýòîì ðàçäåëå. Íàïðèìåð, äëÿ (1.17) èìååì
!
=
= k!(nn! k)! = k!(nn! k)! n n k + nk (n 1)! + (n 1)! = n 1 + n k!(n 1 k)! (k 1)!(n k)! k k n k
=
= 1 1
Îäíàêî òàêîå ¾àëãåáðàè÷åñêîå¿ äîêàçàòåëüñòâî, îñíîâàííîå íà ìåõàíè÷åñêîì ïðåîáðàçîâàíèè âûðàæåíèé, ãîðàçäî ìåíåå ïîíÿòíî, ÷åì ¾êîìáèíàòîðíîå¿ äîêàçàòåëüñòâî, äàííîå âûøå. Ñ äðóãîé ñòîðîíû, îðìóëà (1.21) ïîçâîëÿåò ëåãêî äîêàçàòü ñëåäóþùåå ñâîéñòâî áèíîìèàëüíûõ êîýèöèåíòîâ:
n
n
n < < ::: < 0 1 bn=2 = = dn=n2e > dn=2ne + 1 > : : : > nn
(1.22)
ëàâà 1. Ââåäåíèå â êîìáèíàòîðèêó
38
1
(n > ). Äîñòàòî÷íî çàìåòèòü, ÷òî
: : : (n i) = 1n(n2 : 1) = i+1 : : i (i + 1) n i n(n 1) : : : (n i + 1) == ni + 1i ni i+1 1 2::: i n
(n i)=(i + 1) > 1 äëÿ i < (n 1)=2, ò.å. äëÿ i < bn=2 , àíàëîãè÷íî (n i)=(i +1) < 1 äëÿ i > (n 1)=2, ò.å. äëÿ i dn=2e è (n bn=2 )=(dn=2e +1) = dn=2e=bn=2 = 1, åñëè n íå÷¼òíî (äëÿ ÷¼òíîãî n èìååì bn=2 = dn=2e è ðàâåíñòâî
Èìååì
â (1.22), î÷åâèäíî, âûïîëíÿåòñÿ). Çàéì¼ìñÿ òåïåðü îòûñêàíèåì ÷èñëà k -ýëåìåíòíûõ ïîäìíîæåñòâ ìíîæåñòâà ñ ïîâòîðåíèÿìè k x1 ; : : : ; k xn . Äðóãèìè ñëîâàìè, çàäàäèìñÿ âîïðîñîì, ñêîëüêèìè ñïîñîáàìè ìîæíî ïîðîäèòü k -ýëåìåíòíîå ìíîæåñòâî ñ ïîâòîðåíèÿìè, èìåÿ â ðàñïîðÿæåíèè n ðàçíûõ ýëåìåíòîâ, ñêàæåì ; : : : ; n, èç êîòîðûõ êàæäûé ìîæåò èñïîëüçîâàòüñÿ ïðîèçâîëüíîå êîëè÷åñòâî ðàç. Ñëåäóåò îòìåòèòü, ÷òî ýòî ÷èñëî ðàâíî ÷èñëó íåóáûâàþùèõ ïîñëåäîâàòåëüíîñòåé äëèíû k ñ ýëåìåíòàìè èç ìíîæåñòâà f ; : : : ; ng. Ýòî âûòåêàåò èç òîãî àêòà, ÷òî ýëåìåíòû êàæäîãî ïîäìíîæåñòâà ìîæíî îäíîçíà÷íî ðàññòàâèòü â íåóáûâàþùóþ ïîñëåäîâàòåëüíîñòü. Î÷åâèäíî, ÷òî ïîäìíîæåñòâàì áåç ïîâòîðåíèé ñîîòâåòñòâóþò âîçðàñòàþùèå ïîñëåäîâàòåëüíîñòè. Òåîðåìà 1.15. ×èñëî k -ýëåìåíòíûõ ïîäìíîæåñòâ ìíîæåñòâà k x1 ; : : : ; k xn ðàâíî
(
)
1
1
(
)
n+k k
1
(1.23)
Äîêàçàòåëüñòâî. Ìû äîëæíû îïðåäåëèòü ÷èñëî óáûâàþùèõ ïîñëåäîâàòåëüíîñòåé ha1 ; : : : ; an i ñ ýëåìåíòàìè èç ìíîæåñòâà f ; : : : ; ng. Êàæäóþ òàêóþ ïîñëåäîâàòåëüíîñòü ìîæíî ðàçäåëèòü íà n ÷àñòåé, ãäå i-ÿ ÷àñòü ñîäåðæèò íåêîòîðîå, áûòü ìîæåò íóëåâîå, ÷èñëî ñëåäóþùèõ äðóã çà äðóãîì ýëåìåíòîâ i. Åñëè ìû îòäåëèì ýòè ÷àñòè îäíó îò äðóãîé n íóëÿìè, èñïîëüçîâàííûìè â êà÷åñòâå ðàçäåëèòåëåé, òî ïîëó÷èì ïîñëåäîâàòåëüíîñòü äëèíû k n . Íàïðèìåð, äëÿ n , k ïîñëåäîâàòåëüíîñòè h ; ; ; i ñîîòâåòñòâóåò ïîñëåäîâàòåëüíîñòü h ; ; ; ; ; ; ; i. Ïîñëåäíÿÿ ïîñëåäîâàòåëüíîñòü îäíîçíà÷íî îïðåäåëÿåòñÿ ðàçìåùåíèåì ïîÿâëÿþùèõñÿ â íåé íóëåé. Äåéñòâèòåëüíî, ìû ìîæåì âîññòàíîâèòü å¼, çàïîëíÿÿ ÷àñòü äî ïåðâîãî íóëÿ ýêçåìïëÿðàìè ýëåìåíòà 1, ÷àñòü îò ïåðâîãî äî âòîðîãî íóëÿ ýêçåìïëÿðàìè ýëåìåíòà 2 è ò.ä. À ÷èñëî ðàçìåùåíèé n íóëåé íà k n ïîçèöèÿõ ðàâíî
1
=5 =4 02200405 +
1 2245
+1
1 k+n 1 k+n 1 k+n 1 = (k + n 1) (n 1) = n 1 k
1
1.7. åíåðèðîâàíèå k-ýëåìåíòíûõ ïîäìíîæåñòâ
39
Ïîëó÷åííîå òàêèì îáðàçîì ÷èñëî ïîäìíîæåñòâ ñ ïîâòîðåíèÿìè ìîæíî çàïèñàòü íåñêîëüêî èíà÷å:
k+n 1 n 1
k = n(n + 1) : :k: !(n + k 1) = [nk℄!
(1.24)
Äàäèì êîìáèíàòîðíóþ èíòåðïðåòàöèþ ýòîãî òîæäåñòâà. Íàïîìíèì ñ ýòîé öåëüþ, ÷òî n k åñòü ÷èñëî óïîðÿäî÷åííûõ ðàçìåùåíèé k ýëåìåíòîâ x1 ; : : : ; xk â n ÿ÷åéêàõ. Îòìåòèì, ÷òî êàæäîìó òàêîìó ðàçìåùåíèþ, ñîäåðæàùåìó ri ýëåìåíòîâ â i-é ÿ÷åéêå, ñîîòâåòñòóåò k -ýëåìåíòíîå ïîäìíîæåñòâî r1 y1 ; : : : ; rn yn ìíîæåñòâà ñ ïîâòîðåíèÿìè k y1 ; : : : ; k yn .  ýòîì óïîðÿäî÷åíèè ñóùåñòâåííî òîëüêî ÷èñëî ýëåìåíòîâ â êàæäîé èç ÿ÷ååê. Òàêèì îáðàçîì, ðàçìåùåíèÿì
[℄
(
ÿ÷åéêà 1
x x
x x
3
ÿ÷åéêà 2
)
ÿ÷åéêà 3
x x
2
4
(
)
1
2
5 2
x x
1 3
x x
4 5
3
ñîîòâåòñòâóåò îäíî è òî æå ïîäìíîæåñòâî y1 ; y3 . ßñíî, ÷òî êàæäûå äâà ðàçìåùåíèÿ, ñîîòâåòñòâóþùèå îäíîìó è òîìó æå ïîäìíîæåñòâó, îòëè÷àþòñÿ ïåðåñòàíîâêîé îáúåêòîâ x1 ; : : : ; xk .  ðåçóëüòàòå ÷èñëî âñåõ k -ýëåìåíòíûõ ïîäìíîæåñòâ ìíîæåñòâà ñ ïîâòîðåíèÿìè k y1 ; : : : ; k yn ðàâíî n k =k . Î÷åâèäíî, ÷òî ýòî ðàññóæäåíèå âìåñòå ñ îðìóëîé (1.24) ïðåäñòàâëÿåò ñîáîé äðóãîå äîêàçàòåëüñòâî òåîðåìû 1.15.
(
)
[℄ !
1.7 åíåðèðîâàíèå k-ýëåìåíòíûõ ïîäìíîæåñòâ Îïèøåì ñåé÷àñ äâà àëãîðèòìà ãåíåðèðîâàíèÿ âñåõ k -ýëåìåíòíûõ ïîäìíîæåñòâ n-ýëåìåíòíîãî ìíîæåñòâà X . Áåç îãðàíè÷åíèÿ îáùíîñòè ìîæíî ïðèíÿòü X f ; : : : ; ng. Òîãäà êàæäîìó k-ýëåìåíòíîìó ïîäìíîæåñòâó âçàèìíî îäíîçíà÷íî ñîîòâåòñòâóåò âîçðàñòàþùàÿ ïîñëåäîâàòåëüíîñòü äëèíû k ñ ýëåìåíòàìè èç X : íàïðèìåð, ïîäìíîæåñòâó f ; ; g ñîîòâåòñòâóåò ïîñëåäîâàòåëüíîñòü h ; ; i. Ìîæíî ëåãêî óêàçàòü àëãîðèòì, ñ ïîìîùüþ êîòîðîãî ãåíåðèðóþòñÿ âñå òàêèå ïîñëåäîâàòåëüíîñòè â ëåêñèêîãðàè÷åñêîì ïîðÿäêå. Äîñòàòî÷íî ñ ýòîé öåëüþ çàìåòèòü, ÷òî ïðè òàêîì ïîðÿäêå ïîñëåäîâàòåëüíîñòüþ, íåïîñðåäñòâåííî ñëåäóþùåé çà ïîñëåäîâàòåëüíîñòüþ ha1 ; : : : ; ak i, ÿâëÿåòñÿ
=
1
351
135
hb ; : : : ; bk i = ha ; : : : ; ap ; ap + 1; ap + 2; : : : ; ap + k p + 1i; 1
ãäå
1
1
p = maxfi : ai < n k + 1g:
ëàâà 1. Ââåäåíèå â êîìáèíàòîðèêó
40
hb ; : : : ; bk i,
Áîëåå òîãî, ïîñëåäîâàòåëüíîñòüþ, íåïîñðåäñòâåííî ñëåäóþùåé çà ÿâëÿåòñÿ
1
h ; : : : ; k i = hb ; : : : ; bp0 ; bp0 + 1; bp0 + 2; : : : ; bp0 + k p0 + 1i; 1
1
ãäå
1
= n;
p
k;
1;
åñëè bk åñëè bk
1
1
Ýòî ïðèâîäèò ê ñëåäóþùåìó ïðîñòîìó àëãîðèòìó. Àëãîðèòì 1.16. ( åíåðèðîâàíèå âñåõ k -ýëåìåíòíûõ ïîäìíîæåñòâ ìíîæåñòâà f ; : : : ; ng â ëåêñèêîãðàè÷åñêîì ïîðÿäêå.) Äàííûå: n, k . åçóëüòàò: ïîñëåäîâàòåëüíîñòü âñåõ k -ýëåìåíòíûõ ïîäìíîæåñòâ ìíîæåñòâà f ; : : : ; ng â ëåêñèêîãðàè÷åñêîì ïîðÿäêå.
1
1
1. begin 2. 3. 4. 5. 6. 7. 8. 9. 10. end
i := 1 to k do A[i℄ := i; (*ïåðâîå ïîäìíîæåñòâî*) p := k; while p 1 do begin write (A[1℄; : : : ; A[k ℄); if A[k ℄ = n then p := p 1 else p := k; if p 1 then for i := k downto p do A[i℄ := A[p℄ + i p+1
for
end
1
6
Ïîñëåäîâàòåëüíîñòü âñåõ 4-ýëåìåíòíûõ ïîäìíîæåñòâ ìíîæåñòâà f ; : : : ; g, ïîëó÷åííàÿ ñ ïîìîùüþ ýòîãî àëãîðèòìà, ïðåäñòàâëåíà íà ðèñ. 1.9. Äðóãîé àëãîðèòì, êîòîðûé ìû îïèøåì íèæå, ãåíåðèðóåò âñå k -ýëåìåíòíûå ïîäìíîæåñòâà òàêèì îáðàçîì, ÷òî êàæäîå ïîñëåäóþùåå ïîäìíîæåñòâî îáðàçóåòñÿ èç ïðåäûäóùåãî óäàëåíèåì îäíîãî ýëåìåíòà è äîáàâëåíèåì äðóãîãî. Ýòîò àëãîðèòì ïðåäñòàâèì â ðåêóðñèâíîé îðìå. Îáîçíà÷èì ñ ýòîé öåëüþ ÷åðåç G n; k ñïèñîê, ñîäåðæàùèé âñå k -ýëåìåíòíûå ïîäìíîæåñòâà ìíîæåñòâà f ; : : : ; ng, â êîòîðîì ïåðâûì ïîäìíîæåñòâîì ÿâëÿåòñÿ f ; : : : ; k g, ïîñëåäíèì f ; ; : : : ; k ; ng è êàæäîå ñëåäóþùåå ïîäìíîæåñòâî îáðàçóåòñÿ èç ïðåäûäóùåãî óäàëåíèåì íåêîòîðîãî ýëåìåíòà è äîáàâëåíèåì äðóãîãî. Îòìåòèì, ÷òî åñëè G n ;k è G n ;k óæå ïîñòðîåíû, òî G n; k ìîæíî îïðåäåëèòü ñëåäóþùèì îáðàçîì:
1
1
( 1
1)
G(n; k) = G(n
( ) 1; k); G(n 1; k 1) [ fng;
1
( )
12 ( 1 )
(1.25)
1.7. åíåðèðîâàíèå k-ýëåìåíòíûõ ïîäìíîæåñòâ 1 1 1 1 1 1 1 1 1 1 2 2 2 2 3
2 2 2 2 2 2 2 3 3 4 3 5 3 4 4
3 3 3 4 4 5 4 4 5 5 4 4 5 5 5
41
4 5 6 5 6 6 5 6 6 6 5 6 6 6 6
èñ. 1.9: Ïîñëåäîâàòåëüíîñòü 4-ýëåìåíòíûõ ïîäìíîæåñòâ ìíîæåñòâà ïîñòðîåííàÿ ïðè ïîìîùè àëãîðèòìà 1.16.
(
1
1)
(
f1; : : : ; 6g,
1
1)
ãäå G n ;k [ fng îáîçíà÷àåò ñïèñîê, îáðàçîâàííûé èç G n ; k èçìåíåíèåì ïîðÿäêà ýëåìåíòîâ ñïèñêà íà îáðàòíûé è ïîñëåäóþùèì äîáàâëåíèåì ýëåìåíòà n ê êàæäîìó ìíîæåñòâó. Äåéñòâèòåëüíî, G n ; k ñîäåðæèò âñå kýëåìåíòíûå ïîäìíîæåñòâà ìíîæåñòâà f ; : : : ; ng, íå ñîäåðæàùèå n, G n ;k [ fng âñå k-ýëåìåíòíûå ïîäìíîæåñòâà, ñîäåðæàùèå n, ïðè÷åì ïîñëåäíèì ïîäìíîæåñòâîì â ñïèñêå G n ; k ÿâëÿåòñÿ f ; ; : : : ; k ; n g, à ïåðâûì ïîäìíîæåñòâîì â ñïèñêå G n ;k [ fng ÿâëÿåòñÿ f ; ; : : : ; k ; ng. Íà ðèñ. 1.10 ïîêàçàí ïðîöåññ ïîñòðîåíèÿ ñïèñêà G ; .
(
1
1)
(
(
1 ) 1 1)
12 (4 2)
1 ) 1 12
(
1
1
1
( )
Ñïèñêó G n; k ìû ìîæåì òàê æå, êàê è â ñëó÷àå ãåíåðèðîâàíèÿ âñåõ ïîäìíîæåñòâ, ïîñòàâèòü â ñîîòâåòñòâèå íåêîòîðûé ãàìèëüòîíîâ ïóòü â ãðàå, âåðøèíû êîòîðîãî ñîîòâåòñòâóþò äâóõýëåìåíòíûì ïîäìíîæåñòâàì ìíîæåñòâà f ; ; ; g, ïðè÷åì âåðøèíû, ñîîòâåòñòâóþùèå ïîäìíîæåñòâàì A è B , ñîåäèíåíû ðåáðîì òîãäà è òîëüêî òîãäà, êîãäà jA \ B j k . Ýòî ïðîèëëþñòðèðîâàíî íà ðèñ. 1.11.
1234
=
1=1
Ïðåäîñòàâëÿåì ÷èòàòåëþ ñàìîìó èçáàâèòüñÿ îò ðåêóðñèè â îïèñàííîì àëãîðèòìå (ñì. çàäà÷ó 1.29)
ëàâà 1. Ââåäåíèå â êîìáèíàòîðèêó
42
G(4;H2)HH HH; 1) [ f4g G(3; H 2) G (3 HH HH HHH H H G(1; 2) G(2; 0) [ f3; 4g G (2; 1) [ f4g G (2; 1) [ f3g ; 1) [ f4g G(1; 0) [ f2; 3g G (1; 1) [ f3g G(1; 0) [ f2; 4g G(1 f1; 2g
f2; 3g
f1; 3g
f3; 4g
f2; 4g
èñ. 1.10: Ïîñòðîåíèå ñïèñêà
u
f1; 4g
G(4; 2).
u
f2; 4g QQQ AA QQ A 3 QQ A QAQA f2; 3g Q ? f1; 4g AAQQ A QQ 3 AA QQ A QQ f3; 4g
u
u
u
f1; 3g
u
f1; 2g
èñ. 1.11: àìèëüòîíîâ ïóòü â ãðàå, ñîîòâåòñòâóþùåì âñåì äâóõýëåìåíòíûì ïîäìîæåñãâàì ìíîæåñòâà f ; ; ; g.
1234
1.8. àçáèåíèÿ ìíîæåñòâà
43
1.8 àçáèåíèÿ ìíîæåñòâà
Ïîä ðàçáèåíèåì n-ýëåìåíòíîãî ìíîæåñòâà X íà k áëîêîâ áóäåì ïîíèìàòü ïðîèçâîëüíîå ñåìåéñòâî fB1 ; : : : ; Bk g, òàêîå ÷òî B1 [ B2 [ : : : [ Bk X , Bi \ Bj ? äëÿ i < j k è Bi 6 ? äëÿ i k . Ïîäìíîæåñòâà B1 ; : : : ; Bk áóäåì íàçûâàòü áëîêàìè ñåìåéñòâà . Ìíîæåñòâî âñåõ ðàçáèåíèé ìíîæåñòâà X íà k áëîêîâ X . Î÷åâèäíî, áóäåì îáîçíà÷àòü k X , à ìíîæåñòâî âñåõ ðàçáèåíèé ÷åðåç ÷òî X 1 X [ ::: [ n X (áîëåå òîãî, f 1 X ; : : : ; n X g ÿâëÿåòñÿ ðàçáèåíèåì ìíîæåñòâà X ). Ñ ðàçáèåíèåì ñâÿçàíî ïîíÿòèå îòíîøåíèÿ ýêâèâàëåíòíîñòè. Êàæäîìó ðàçáèåíèþ ìû ìîæåì ïîñòàâèòü â ñîîòâåòñòâèå îòíîøåíèå ýêâèâàëåíòíîñòè
=
1
=
= 1 ( ) ( ) = ( ) ( ) ( )
( )
E () =
[
B 2
=
( ) ( )
(B B)
(1.26)
()
(ýëåìåíòû x; y 2 X íàõîäÿòñÿ â îòíîøåíèè E òîãäà è òîëüêî òîãäà, êîãäà îíè ïðèíàäëåæàò îäíîìó è òîìó æå áëîêó ðàçáèåíèÿ ). È íàîáîðîò, êàæäîìó îòíîøåíèþ ýêâèâàëåíòíîñòè E íà ìíîæåñòâå X ìû ìîæåì ïîñòàâèòü â ñîîòâåòñòâèå ðàçáèåíèå X=E fx=E x 2 X g; (1.27)
=
:
ãäå x=E îáîçíà÷àåò êëàññ ýêâèâàëåíòíîñòè ýëåìåíòà ýëåìåíòîâ, íàõîäÿùèõñÿ â îòíîøåíèè E ê ýëåìåíòó x:
x=E = fy 2 X : xEy):
x,
ò.å. ìíîæåñòâî âñåõ (1.28)
Íåòðóäíî çàìåòèòü, ÷òî îðìóëû (1.26) è (1.27) îïðåäåëÿþò âçàèìíî îäíîçíà÷íîå ñîîòâåòñòâèå ìåæäó ðàçáèåíèÿìè è îòíîøåíèÿìè ýêâèâàëåíòíîñòè íà ìíîæåñòâå X . Åñëè ; 2 X è êàæäûé áëîê B 2 ÿâëÿåòñÿ ñóììîé íåêîòîðîãî ÷èñëà áëîêîâ ðàçáèåíèÿ , òî áóäåì ãîâîðèòü, ÷òî åñòü èçìåëü÷åíèå ðàçáèåíèÿ , è áóäåì ïèñàòü . Íàïðèìåð:
( )
ff1g; f2; 5g; f4; 6g; f3gg ff1; 2; 3; 5g; f4; 6gg: Ëåãêî ïðîâåðèòü, ÷òî òîãäà è òîëüêî òîãäà, êîãäà äëÿ îòíîøåíèé ýêâè-
âàëåíòíîñòè, ñîîòâåòñòâóþùèõ äàííûì ðàçáèåíèÿì, âûïîëíÿåòñÿ ñîîòíîøåíèå E E . Î÷åâèäíî, ÷òî îïðåäåëåííîå òàêèì îáðàçîì îòíîøåíèå ÿâëÿåòñÿ ÷àñòè÷íûì óïîðÿäî÷åíèåì íà ìíîæåñòâå X . Íåêîòîðûå ñâîéñòâà ìíîæåñòâà X , óïîðÿäî÷åííîãî ñ ïîìîùüþ îòíîøåíèÿ èçìåëü÷åíèÿ, íàïîìèíàþò àíàëîãè÷íûå ñâîéñòâà ìíîæåñòâà X , óïîðÿäî÷åííîãî íà îñíîâå âêëþ÷åíèÿ. Îñòàíîâèìñÿ ñåé÷àñ íà îäíîì èç òàêèõ ñâîéñòâ. ×àñòè÷íî óïîðÿäî÷åííîå ìíîæåñòâî hA; i áóäåì íàçûâàòü ðåøåòêîé, åñëè äëÿ ïðîèçâîëüíûõ ýëåìåíòîâ x; y 2 A ñóùåñòâóþò òàêèå ýëåìåíòû à; b 2 A, ÷òî
() ( )
()
( )
( )
ëàâà 1. Ââåäåíèå â êîìáèíàòîðèêó
44
(à) a x, a èìååì a, (á) b x, b èìååì b.
y
è äëÿ ïðîèçâîëüíîãî ýëåìåíòà , òàêîãî ÷òî
x, y,
y
è äëÿ ïðîèçâîëüíîãî ýëåìåíòà , òàêîãî ÷òî
x, y,
Òàêèå ýëåìåíòû, åñëè îíè ñóùåñòâóþò, îäíîçíà÷íî îïðåäåëÿþòñÿ ÷åðåç x è y . Äåéñòâèòåëüíî, äëÿ ïðîèçâîëüíûõ ýëåìåíòîâ a1 ; a2 , îòâå÷àþùèõ óñëîâèþ (à), èìååì a2 a1 è a1 a2 , ò.å. a1 a2 ; àíàëîãè÷íî äîêàçûâàåòñÿ (á). Ýëåìåíò a áóäåì íàçûâàòü íèæíåé ãðàíèöåé ýëåìåíòîâ x, y è îáîçíà÷àòü x ^ y , à ýëåìåíò b áóäåì íàçûâàòü âåðõíåé ãðàíèöåé è îáîçíà÷àòü x _ y. Ïðèìåðîì ðåøåòêè ÿâëÿåòñÿ h} X ; i. Î÷åâèäíî, ÷òî â ýòîì ñëó÷àå èìååì A ^ B A \ B è A _ B A [ B. Òåîðåìà 1.17. Ìíîæåñòâî X , óïîðÿäî÷åííîå íà îñíîâå îòíîøåíèÿ èçìåëü÷åíèÿ , îáðàçóåò ðåøåòêó, ïðè÷åì
=
=
=
^ = fA \ B : (A 2 ) ^ (B 2 ) ^ (A \ B 6= ?)g;
(1.29)
E ( ^ ) = E () \ E ();
(1.30)
ò. å. à ðàçáèåíèå
( ) ( )
_
îïðåäåëÿåòñÿ ñëåäóþùèì îáðàçîì:
ñóùåñòâóåò k 1 è òàêàÿ ïîñëåäîâàòåëüíîñòü hx; yi 2 E ( _ ) , x ; : : : ; xk , ÷òî x = x , y = xk è hxi ; xi i 2 E () èëè hxi ; xi i 2 E ( ) äëÿ i = 1; 2; : : : ; k 1. 1
1
+1
+1
(1.31) Äîêàçàòåëüñòâî. Îòìåòèì ïðåæäå âñåãî, ÷òî ïðîñòûì ñëåäñòâèåì îïðåäåëåíèÿ îòíîøåíèÿ ýêâèâàëåíòíîñòè ÿâëÿåòñÿ òîò àêò, ÷òî ïåðåñå÷åíèå äâóõ îòíîøåíèé ýêâèâàëåíòíîñòè åñòü îòíîøåíèå ýêâèâàëåíòíîñòè. Òàêèì îáðàçîì, E \ E åñòü îòíîøåíèå ýêâèâàëåíòíîñòè, êîòîðîå â ñâîþ î÷åðåäü îäíîçíà÷íî îïðåäåëÿåò íåêîòîðîå ðàçáèåíèå , òàêîå ÷òî E \ E E (ñð. (1.27)). Î÷åâèäíî, ÷òî E E , E E , à, ñëåäîâàòåëüíî, , . Áîëåå òîãî, äëÿ êàæäîãî ðàçáèåíèÿ 0 , òàêîãî ÷òî 0 , 0 , èìååì E 0 E , E 0 E è â ðåçóëüòàòå E 0 E \ E E ò.å. 0 . Ñëåäîâàòåëüíî, ^ , ÷òî è äîêàçûâàåò îðìóëó (1.30). Îòìåòèì, ÷òî x; y 2 E ^ E \ E òîãäà è òîëüêî òîãäà, êîãäà x è y ïðèíàäëåæàò ê îäíîìó è òîìó æå áëîêó ðàçáèåíèÿ è ê îäíîìó áëîêó ðàçáèåíèÿ , ò.å. x; y 2 A \ B , ãäå A 2 è B 2 . Ïîñëåäíåå è äîêàçûâàåò îðìóëó (1.29). Ïðåäïîëîæèì òåïåðü, ÷òî R áèíàðíîå îòíîøåíèå, îïðåäåëåííîå ïðàâîé ÷àñòüþ îðìóëû (1.31). Íåòðóäíî ïðîâåðèòü, ÷òî R îòíîøåíèå ýêâèâàëåíòíîñòè. Äåéñòâèòåëüíî, xRx (äîñòàòî÷íî ïðèíÿòü k ), xRy âëå÷åò çà ñîáîé yRx (äîñòàòî÷íî ðàññìîòðåòü ïîñëåäîâàòåëüíîñòü xk ; xk 1 ; : : : ; x1 ) è xRy, yRz
()
( )
()
() () () () ( ) () = ( )= ( ) ( )
() ( )
()
( )= ( )
()
( )= ( )
=1
1.9. ×èñëà Ñòèðëèíãà âòîðîãî è ïåðâîãî ðîäà
45
âëåêóò çà ñîáîé xRz (äîñòàòî÷íî ðàññìîòðåòü êîíêàòåíàöèþ ñîîòâåòñòâóþùèõ ïîñëåäîâàòåëüíîñòåé). Îòíîøåíèå R îäíîçíà÷íî îïðåäåëÿåò ðàçáèåíèå , òàêîå ÷òî E R. Î÷åâèäíî, ÷òî E R E è E R E , ò.å. è . Ïðåäïîëîæèì òåïåðü, ÷òî 0 ïðîèçâîëüíîå ðàçáèåíèå, òàêîå ÷òî 0 , 0 , è ïóñòü hx; y i 2 E . Òîãäà ñóùåñòâóåò ïîñëåäîâàòåëüíîñòü x x1 ; x2 ; : : : ; xk y , óäîâëåòâîðÿþùàÿ ïðàâîé ÷àñòè îðìóëû (1.31), è, ñëåäîâàòåëüíî, hxi ; xk+1 i 2 E [ E E 0 , i k . Âñëåäñòâèå òðàíçèòèâíîñòè îòíîøåíèÿ E 0 èìååì hx; y i 2 E 0 . Òàêèì îáðàçîì, ìû äîêàçàëè, ÷òî 0 , à ñëåäîâàòåëüíî, è _ .
( )=
=
()
= () ( )
= ()
()
= ()
()
()
=
( )1 ( )
1.9 ×èñëà Ñòèðëèíãà âòîðîãî è ïåðâîãî ðîäà ( )
×èñëî Ñòèðëèíãà âòîðîãî ðîäà S n; k îïðåäåëÿåòñÿ êàê ÷èñëî ðàçáèåíèé ýëåìåíòíîãî ìíîæåñòâà íà k áëîêîâ:
S (n; k) = jk (X )j;
(4 2) = 7
ãäå
jX j = n:
n-
(1.32)
Íàïðèìåð, S ; , òàê êàê ñóùåñòâóþò â òî÷íîñòè 7 ðàçáèåíèé ìíîæåñòâà f ; : : : ; g íà äâà áëîêà:
1
4
( )=0
ff1; 2; 3g; f4gg ff1; 2; 4g; f3gg ff1; 3; 4g; f2gg ff1; 2g; f3; 4gg ff1; 3g; f2; 4gg ff1; 4g; f2; 3gg ff1g; f2; 3; 4gg
(0 0) = 1
Î÷åâèäíî, ÷òî S n; k äëÿ k > n. Ïðèìåì òàêæå S ; , òàê êàê ïóñòîå ñåìåéñòâî áëîêîâ ÿâëÿåòñÿ â ñîîòâåòñòâèè ñ îïðåäåëåíèåì ðàçáèåíèåì ïóñòîãî ìíîæåñòâà. Ñ ÷èñëàìè Ñòèðëèíãà âòîðîãî ïîðÿäêà ñâÿçàíî, êàê è ñ áèíîìèàëüíûìè êîýèöèåíòàìè, ìíîãî ëþáîïûòíûõ òîæäåñòâ. Äîêàæåì ñíà÷àëà òîæäåñòâî, íàïîìèíàþùåå òîæäåñòâî (1.17), ñâÿçàííîå ñ òðåóãîëüíèêîì Ïàñêàëÿ:
S (n; k) = S (n
1; k 1) + kS (n 1; k) S (n; n) = 1 S (n; 0) = 0
äëÿ äëÿ äëÿ
0 < k < n; n 0; n > 0:
(1.33) (1.34) (1.35)
Ôîðìóëû (1.34) è (1.35) î÷åâèäíû. Äëÿ äîêàçàòåëüñòâà îðìóëû (1.33) ðàññìîòðèì ìíîæåñòâî âñåõ ðàçáèåíèé ìíîæåñòâà f ; : : : ; ng íà k áëîêîâ. Ýòî ìíîæåñòâî ðàñïàäàåòñÿ íà äâà ðàçëè÷íûõ êëàññà: òåõ ðàçáèåíèé, êîòîðûå ñîäåðæàò
1
ëàâà 1. Ââåäåíèå â êîìáèíàòîðèêó
46
n
n k
0
1
2
3
4
5
6
7
8
9
10
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
2
0
1
1
0
0
0
0
0
0
0
0
3
0
1
3
1
0
0
0
0
0
0
0
4
0
1
7
6
1
0
0
0
0
0
0
5
0
1
15
25
10
1
0
0
0
0
0
6
0
1
31
90
65
15
1
0
0
0
0
7
0
1
63
301
350
140
21
1
0
0
0
8
0
1
127
966
1,701
1,050
266
28
1
0
0
9
0
1
255
3,025
7,770
6,951
2,646
462
36
1
0
10
0
1
511
9,330
34,105
42,525
22,827
5,880
750
45
1
Òàáëèöà 1.2: ×èñëà Ñòèðëèíãà âòîðîãî ðîäà îäíîýëåìåíòíûé áëîê fng, è òåõ ðàçáèåíèé, äëÿ êîòîðûõ n ÿâëÿåòñÿ ýëåìåíòîì áîëüøåãî (ïî êðàéíåé ìåðå äâóõýëåìåíòíîãî) áëîêà. Ìîùíîñòü ïåðâîãî êëàññà ðàâíà S n ; k , ò.å. òàêîâà, êàêîâî ÷èñëî ðàçáèåíèé ìíîæåñòâà f ; : : : ; n g íà k áëîêîâ. Ìîùíîñòü äðóãîãî êëàññà ñîñòàâëÿåò kS n ; k , òàê êàê êàæäîìó ðàçáèåíèþ ìíîæåñòâà f ; : : : ; n g íà k áëîêîâ ñîîòâåòñòâóåò â ýòîì êëàññå â òî÷íîñòè k ðàçáèåíèé, îáðàçîâàííûõ äîáàâëåíèåì ýëåìåíòà n ïîî÷åðåäíî ê êàæäîìó áëîêó. Ôîðìóëû (1.33), (1.34) è (1.35) ïîçâîëÿþò ëåãêî âû÷èñëÿòü çíà÷åíèÿ S n; k äàæå äëÿ áîëüøèõ çíà÷åíèé n è k .  òàáë. 1.2 ïðåäñòàâëåíû ÷èñëà S n; k äëÿ n; k . Îòìåòèì, ÷òî ýòó òàáëèöó ìîæíî òðàêòîâàòü êàê ¾òðåóãîëüíèê Ñòèðëèíãà¿, â êîòîðîì êàæäîå çíà÷åíèå, êðîìå êðàéíèõ, ðàâíûõ åäèíèöå, ìîæíî ïîëó÷èòü êàê ñóììó ÷èñåë, íàõîäÿùèõñÿ íàä íèì, à èìåííî ÷èñëà, ðàñïîëîæåííîãî â òî÷íîñòè íàä íèì è óìíîæåííîãî íà k , è ÷èñëà íàä íèì ñ ëåâîé ñòîðîíû. Âîò ïðèìåð äðóãîé ðåêóððåíòíîé çàâèñèìîñòè, ñâÿçàííîé ñ ÷èñëàìè Ñòèðëèíãà âòîðîãî ðîäà:
1
( 1
1)
1
( ) ( ) 0
S (n; k) =
1
(
1 )
1
1
10
nX1 n i=k
1
1S (i; k 1) äëÿ k 2 i
(1.36)
( )
Äëÿ äîêàçàòåëüñòâà òîæäåñòâà ðàññìîòðèì ìíîæåñòâî âñåõ ðàçáèåíèé S n; k ìíîæåñòâà X f ; : : : ; ng. Ýòî ìíîæåñòâî ðàñïàäàåòñÿ íà ðàçëè÷íûå êëàññû, ñîîòâåòñòâóþùèå ðàçíûì ïîäìíîæåñòâàì ìíîæåñòâà X , êîòîðûå ÿâëÿþòñÿ áëîêàìè, ñîäåðæàùèìè ýëåìåíò n. Îòìåòèì, ÷òî äëÿ êàæäîãî b-ýëåìåíòíîãî ïîäìíîæåñòâà B X , ñîäåðæàùåãî ýëåìåíò n, ñóùåñòâóåò â òî÷íîñòè S n b; k ðàçáèåíèé ìíîæåñòâà X íà k áëîêîâ, ñîäåðæàùèõ B â êà÷åñòâå áëîêà. Äåéñòâèòåëüíî, êàæäîå òàêîå ðàçáèåíèå îäíîçíà÷íî ñîîòâåòñòâóåò ðàçáèåíèþ ìíîæåñòâà X nB íà k áëîêîâ. b-ýëåìåíòíîå ìíîæåñòâî B X , ñîäåðæàùåå ýëåìåíò n,
= 1
(
1
1)
1.9. ×èñëà Ñòèðëèíãà âòîðîãî è ïåðâîãî ðîäà ìîæíî âûáðàòü nb
1 1
ñïîñîáàìè; òàêèì îáðàçîì, Pn (k 1) n 1 b 1 S n Pnb=1 (k 1) n 1S n b=1 n b Pn 1 n 1S i; k i=k 1 i
S (n; k) =
= =
×èñëî Áåëëà æåñòâà
47
( (
(
b; k b; k 1):
1) = 1) =
Bn îïðåäåëÿåòñÿ êàê ÷èñëî âñåõ ðàçáèåíèé n-ýëåìåíòíîãî ìíîBn = j(X )j;
Äðóãèìè ñëîâàìè,
Bn =
n X k=0
ãäå
jX j = n
(1.37)
S (n; k)
(1.38)
Äîêàæåì òåïåðü ñëåäóþùóþ ïðîñòóþ ðåêóððåíòíóþ çàâèñèìîñòü, ñâÿçàííóþ ñ ÷èñëàìè Áåëëà:
Bn
+1
=
=1
n X n i=0
i
Bi
(1.39)
(ïðèíèìàåì B0 ). Äîêàçàòåëüñòâî ïðîâîäèòñÿ àíàëîãè÷íî äîêàçàòåëüñòâó òîæäåñòâà (1.36). Ìíîæåñòâî âñåõ ðàçáèåíèé ìíîæåñòâà X f ; : : : ; n g ìîæíî ðàçáèòü íà ðàçëè÷íûå êëàññû â çàâèñèìîñòè îò áëîêà B , ñîäåðæàùåãî ýëåìåíò n , èëè ÷òî ðàâíîçíà÷íî â çàâèñèìîñòè îò ìíîæåñòâà X nB . Äëÿ êàæäîãî ìíîæåñòâà X nB f ; : : : ; ng ñóùåñòâóåò â òî÷íîñòè j X nB j BjX nB j ðàçáèåíèé ìíîæåñòâà X , ñîäåðæàùèõ B â êà÷åñòâå áëîêà. ðóïïèðóÿ íàøè êëàññû â çàâèñèìîñòè îò ìîùíîñòè ìíîæåñòâà X nB , ïîëó÷àåì îðìóëó (1.39). ×èñëà Bn äëÿ n ïðåäñòàâëåíû â òàáë. 1.3. Ñóùåñòâóåò ñòðîãàÿ çàâèñèìîñòü ìåæäó ÷èñëàìè S n; k è ÷èñëîì âñåõ óíêöèé èç n-ýëåìåíòíîãî ìíîæåñòâà íà k -ýëåìåíòíîå ìíîæåñòâî, ò.å. óíêöèé f X ! Y, f X Y äëÿ jX j n, jY j k. Êàæäîé òàêîé óíêöèè f ìîæíî ïîñòàâèòü â ñîîòâåòñòâèå ñëåäóþùåå ðàçáèåíèå ìíîæåñòâà X íà k áëîêîâ:
+1
= 1
+1
(
)=
1
0
( )=
20
( )
=
=
N (f ) = ff
:
(y) : y 2 Y g; (1.40) íàçûâàåìîå ÿäðîì óíêöèè f (óñëîâèå f (X ) = Y äàåò ãàðàíòèþ òîãî, ÷òî ïîäìíîæåñòâà f (y ) íåïóñòûå). Ñ äðóãîé ñòîðîíû, íåòðóäíî çàìåòèòü, ÷òî êàæäîìó ðàçáèåíèþ 2 k (X ) ñîîòâåòñòâóåò â òî÷íîñòè k ! óíêöèé èç X íà Y , òàêèõ ÷òî N (f ) = . Êàæäàÿ òàêàÿ óíêöèÿ âçàèìíî îäíîçíà÷íî ñîîòâåòñòâóåò 1
1
ñîîòíåñåíèþ áëîêîâ ðàçáèåíèÿ ýëåìåíòàì ìíîæåñòâà Y . Îáîçíà÷àÿ ÷åðåç sn;k ÷èñëî óíêöèé èç X íà Y , ïîëó÷àåì, ñëåäîâàòåëüíî,
sn;k = k!S (n; k)
(1.41)
ëàâà 1. Ââåäåíèå â êîìáèíàòîðèêó
48
Ïîëüçóÿñü ýòîé îðìóëîé, ìû ìîæåì äîêàçàòü åùå îäíî ñâîéñòâî ÷èñåë Ñòèðëèíãà âòîðîãî ðîäà, êîòîðîå êàñàåòñÿ ñâÿçè ìåæäó ìíîãî÷ëåíàìè xk è ìíîãî÷ëåíàìè xk x x ::: x k : (1.42)
[℄ = (
n
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Bn
1 1 2 5 15 52 203 877 4,140 21,147 115,975 678,570 4,213,597 27,644,437 190,899,322 1,382,958,545 10,480,142,147 82,864,869,804 682,076,806,159 5,832,742,205,057 51,724,158,235,372
1) (
+ 1)
Ïðîèçâîëüíûé ìíîãî÷ëåí P (x) îò íåèçâåñòíîãî x ñòåïåíè n ìû ìîæåì îäíîçíà÷íî ïðåäñòàâèòü êaê n P P (x) = ak [x℄k . Ýòî ÷àñòíûé ñëó÷àé òîãî î÷åk=0
âèäíîãî àêòà, ÷òî ñóùåñòâóåò îäíîçíà÷íîå ðàçëî-
P (x) =
n P
ak pk (x) äëÿ ïðîèçâîëüíîé ïîñëåäîâàòåëüíîñòè ìíîãî÷ëåíîâ p (x), p (x); : : :, òàêîé ÷òî pk (x) åñòü ìíîãî÷ëåí ñòåïåíè k äëÿ êàæäîãî k 0. Äðóãèìè ñëîâàìè, êàæäàÿ òàêàÿ ïîñëåäîâà-
æåíèå
k=0
0
1
òåëüíîñòü îáðàçóåò áàçèñ â ëèíåéíîì ïðîñòðàíñòâå ìíîãî÷ëåíîâ. Îêàçûâàåòñÿ, ÷òî ÷èñëà Ñòèðëèíãà âòîðîãî ðîäà â òî÷íîñòè ðàâíû êîýèöèåíòàì ïåðåõîäà îò áàçèñà ; x; x2 ; : : : ê áàçèñó ; x 1 ; x 2 ; : : :. Òåîðåìà 1.18. Äëÿ êàæäîãî n
1
xn =
n X i=0
1[℄ [℄ 0
S (n; k)[x℄k :
(1.43)
Äîêàçàòåëüñòâî. Ïðåäïîëîæèì ñíà÷àëà, ÷òî x íåîòðèöàòåëüíîå öåëîå ÷èñëî. Ïîäñ÷èòàåì äâóìÿ ñïîñîáàìè ÷èñëî âñåõ óíêöèé f A ! B , ãäå jAj n, jB j x. Ñ îäíîé ñòîðîíû, îíî ðàâíî xn (ñì. òåîðåìó 1.1). Ñ äðóãîé ñòîðîíû, ìíîæåñòâî òàÒàáëèöà 1.3: ×èñëà Áåë- êèõ óíêöèé f ìû ìîæåì êëàññèèöèðîâàòü îòíîñèòåëüíî ìíîæåñòâà f A . Î÷åâèäíî, ÷òî êàæäàÿ ëà Bn óíêöèÿ f ÿâëÿåòñÿ îòîáðàæåíèåì ìíîæåñòâà A íà ìíîæåñòâî f A , òàêèì îáðàçîì, äëÿ ïðîèçâîëüíîãî ïîäìíîæåñòâà Y B , ãäå jY j k, ÷èñëî âñåõ óíêöèé f A ! B , òàêèõ ÷òî f A Y , ðàâíî sn;k , ò.å. â ñîîòâåòñòâèè ñ îðìóëîé (1.41) k S n; k . Ó÷èòûâàÿ òîò àêò, ÷òî ïîäìíîæåñòâî Y ìîùíîñòè k ìîæíî âûáðàòü nk ñïîñîáàìè, ïîëó÷àåì â êîíå÷íîì èòîãå
=
:
=
( )
=
( )
:
xn
=
( )=
! ( )
x X x
n X
k=0
k=0
k
k!S (n; k) =
[x℄k S (n; k)
(1.44)
( )=0
(âåðõíèé èíäåêñ ñóììèðîâàíèÿ ìîæíî çàìåíèòü ñ x íà n, òàê êàê S n; k äëÿ k > n è x k äëÿ k < x). Ïîñêîëüêó ðàâåíñòâî ìíîãî÷ëåíîâ âûïîëíÿåòñÿ
[ ℄ =0
1.9. ×èñëà Ñòèðëèíãà âòîðîãî è ïåðâîãî ðîäà n
n k
0
0 1 2 3 4 5 6 7 8 9 10
1 0 0 0 0 0 0 0 0 0 0
1
2
0 0 1 0 1 1 2 3 6 11 24 50 120 274 720 1:764 5:040 13:068 40:320 109:584 362:380 1:026:576
3
49
4
0 0 0 0 0 0 1 0 6 1 35 10 225 85 1:642 735 13:132 6:769 118:124 67:284 1:172:700 723:680
5
6
7
0 0 0 0 0 0 0 0 0 0 1 0 15 1 175 21 1:960 322 22:449 4:536 269:325 63:273
8
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 28 1 546 36 9:450 870
9 10
0 0 0 0 0 0 0 0 0 1 45
0 0 0 0 0 0 0 0 0 0 1
Òàáëèöà 1.4: ×èñëà Ñòèðëèíãà ïåðâîãî ðîäà
0
äëÿ ïðîèçâîëüíîãî öåëîãî ÷èñëà x , ýòè ìíîãî÷ëåíû òîæäåñòâåííî ðàâíû (òàê êàê èõ ðàçíîñòü ëèáî ÿâëÿåòñÿ òîæäåñòâåííî ðàâíîé íóëþ, ëèáî èìååò áåñêîíå÷íîå ÷èñëî íóëåé). ×èñëà Ñòèðëèíãà ïåðâîãî ðîäà s n; k îïðåäåëÿþòñÿ êàê êîýèöèåíòû ïðè ïîñëåäîâàòåëüíûõ ñòåïåíÿõ ïåðåìåííîé x â ìíîãî÷ëåíå x k :
( )
[x℄n =
n X k=0
[℄
s(n; k)xk :
( )
(1.45)
Äðóãèìè ñëîâàìè, ÷èñëà s n; k èãðàþò îáðàòíóþ ðîëü â îòíîøåíèè ê ÷èñëàì S n; k ïîçâîëÿþò ïåðåéòè îò áàçèñà ; x 1 ; x 2 ; : : : ê áàçèñó ; x; x2 ; : : :. Î÷åâèäíî, ÷òî s n; k äëÿ k > n. ×èñëà s n; k óäîáíî âû÷èñëÿòü, ïîëüçóÿñü ñëåäóþùèìè ðåêóððåíòíûìè çàâèñèìîñòÿìè:
( )
1[℄ [℄ ( )
( )=0
s(n; k) = s(n
1; k 1) (n 1)s(n 1; k) s(n; n) = 1 s(n; n) = 0
1
äëÿ äëÿ äëÿ
0 < k < n; n 0; n > 0:
(1.46) (1.47) (1.48)
Ôîðìóëû (1.47) è (1.48) î÷åâèäíû, îðìóëó (1.46) ïîëó÷àåì, ñðàâíèâàÿ êîýèöèåíòû ïðè xk ñ îáåèõ ÷àñòåé ðàâåíñòâà
[x℄n = [x℄n (x 1
n + 1):
(1.49)
ëàâà 1. Ââåäåíèå â êîìáèíàòîðèêó
50 Òî åñòü èìååì n P k=0
s(n; k)xk = (x n + 1)
=
nP1 k=0 n
s(n
1; k)xk
nP1 k=0
s(n
1; k)xk = n
(n 1) P s(n; k)xk =
+1
1
k=0
= P (s(n 1; k 1) (n 1)s(n 1; k)) xk + k +s(n 1; n 1)xn (n 1)s(n 1; 0)  òàáë. 1.4 ïðåäñòàâëåíû ÷èñëà s(n; k ) äëÿ 0 n; k 10. 1
=1
1.10 åíåðèðîâàíèå ðàçáèåíèé ìíîæåñòâà Îïèøåì òåïåðü àëãîðèòì ãåíåðèðîâàíèÿ âñåõ ðàçáèåíèé ìíîæåñòâà. Èäåþ ýòîãî àëãîðèòìà ëåã÷å âñåãî îáúÿñíèòü, ñîðìóëèðîâàâ åãî â ðåêóððåíòíîé îðìå. Îòìåòèì ñíà÷àëà, ÷òî êàæäîå ðàçáèåíèå ìíîæåñòâà f ; : : : ; ng îäíîçíà÷íî îïðåäåëÿåò ðàçáèåíèå n 1 ìíîæåñòâà f ; : : : ; n g, âîçíèêøåå èç ïîñëå óäàëåíèÿ ýëåìåíòà n èç ñîîòâåòñòâóþùåãî áëîêà (è óäàëåíèÿ îáðàçîâàâøåãîñÿ ïóñòîãî áëîêà, åñëè ýëåìåíò n îáðàçîâûâàë îäíîýëåìåíòíûé áëîê). Íàïðîòèâ, åñëè äàíî ðàçáèåíèå fB1 ; : : : ; Bk g ìíîæåñòâà f ; : : : ; n g, ëåãêî íàéòè âñå ðàçáèåíèÿ ìíîæåñòâà f ; : : : ; ng, òàêèå ÷òî n 1 , ò.å. ñëåäóþùèå ðàçáèåíèÿ:
1
=
1
1 =
1
1
1
B [ fng; B ; : : : ; Bk B ; B 2 [ fng; : : : ; Bk ::::::::::::::: B ; B ; : : : ; Bk [ fng B ; B ; : : : ; Bk ; fng 1
2
1
1
2
1
2
(1.50)
Ýòî ïîäñêàçûâàåò ñëåäóþùèé ïðîñòîé ðåêóððåíòíûé ìåòîä ãåíåðèðîâàíèÿ âñåõ ðàçáèåíèé: åñëè íàì äàí ñïèñîê Ln 1 âñåõ ðàçáèåíèé ìíîæåñòâà f ; : : : ; n g, òî ñïèñîê Ln âñåõ ðàçáèåíèé ìíîæåñòâà f ; : : : ; ng áóäåì ñîçäàâàòü, çàìåíÿÿ êàæäîå ðàçáèåíèå â ñïèñêå Ln 1 íà ñîîòâåòñòâóþùóþ åìó ïîñëåäîâàòåëüíîñòü (1.50). Îòìåòèì, ÷òî ïðè ýòîì ìû ìîæåì ãàðàíòèðîâàòü, ÷òî ðàçáèåíèÿ, èäóùèå äðóã çà äðóãîì, áóäóò ìàëî îòëè÷àòüñÿ äðóã îò äðóãà, òî÷íåå ãîâîðÿ, ìû ìîæåì ïðèíÿòü, ÷òî êàæäîå ñëåäóþùåå ðàçáèåíèå â ñïèñêå îáðàçóåòñÿ èç ïðåäûäóùåãî ïîñðåäñòâîì óäàëåíèÿ íåêîòîðîãî ýëåìåíòà èç íåêîòîðîãî áëîêà (ýòî ìîæåò ïîâëå÷ü çà ñîáîé óäàëåíèå îäíîýëåìåíòíîãî áëîêà) è äîáàâëåíèÿ åãî â äðóãîé
1
1
1
1.10. åíåðèðîâàíèå ðàçáèåíèé ìíîæåñòâà L
:
L
:
L
:
1
2
3
51
!(1) QQ ! ! ! QQQ ! !! (1) (2) (1 2)
(1 2) (3)
(1) (2) (3)
(1 2 3)
(1) (2 3) (1 3) (2)
èñ. 1.12: Ïîñòðîåíèå ñïèñêîâ
L ,L 1
2
è
L
3
.
áëîê ëèáî ñîçäàíèÿ èç íåãî îäíîýëåìåíòíîãî áëîêà. Äåéñòâèòåëüíî, ïîñëåäîâàòåëüíûå ðàçáèåíèÿ ïîñëåäîâàòåëüíîñòè (1.50) îòâå÷àþò ýòîìó óñëîâèþ. Åñëè îáðàòèòü ïîðÿäîê ïîñëåäîâàòåëüíîñòè (1.50) äëÿ êàæäîãî âòîðîãî ðàçáèåíèÿ ñïèñêà Ln 1 , òî ýëåìåíò n áóäåò äâèãàòüñÿ ïîïåðåìåííî âïåðåä è íàçàä, è ðàçáèåíèÿ ¾íà ñòûêå¿ ïîñëåäîâàòåëüíîñòåé, îáðàçîâàííûõ èç ñîñåäíèõ ðàçáèåíèé ñïèñêà Ln 1 , áóäóò ìàëî îòëè÷àòüñÿ äðóã îò äðóãà (ïðè óñëîâèè, ÷òî ñîñåäíèå ðàçáèåíèÿ ñïèñêà Ln 1 ìàëî îòëè÷àþòñÿ îäèí îò äðóãîãî). Íà ðèñ. 1.12 ïîêàçàíî ïîñòðîåíèå ñïèñêà Ln äëÿ n ; ; (ðàçáèåíèÿ ïðåäñòàâëåíû â íåñêîëüêî óïðîùåííîé çàïèñè, íàïðèìåð (1 2) (3) îçíà÷àåò ff ; g; f gg . Äàäèì ñåé÷àñ íåðåêóððåíòíóþ ðåàëèçàöèþ ýòîãî àëãîðèòìà (ýòî èçìåíåííàÿ âåðñèÿ àëãîðèòìà, îïèñàííîãî â [39℄). àçáèåíèå ìíîæåñòâà f ; : : : ; ng ìû áóäåì ïðåäñòàâëÿòü ñ ïîìîùüþ ïîñëåäîâàòåëüíîñòè áëîêîâ, óïîðÿäî÷åííîé ïî âîçðàñòàíèþ ñàìîãî ìàëåíüêîãî ýëåìåíòà â áëîêå. Ýòîò íàèìåíüøèé ýëåìåíò áëîêà ìû áóäåì íàçûâàòü íîìåðîì áëîêà. Îòìåòèì, ÷òî íîìåðà ñîñåäíèõ áëîêîâ, âîîáùå ãîâîðÿ, íå ÿâëÿþòñÿ ñîñåäíèìè íàòóðàëüíûìè ÷èñëàìè.  ýòîì àëãîðèòìå ìû áóäåì èñïîëüçîâàòü ïåðåìåííûå ÏÅÄ i , ÑËÅÄ i , i n, ñîäåðæàùèå ñîîòâåòñòâåííî íîìåð ïðåäûäóùåãî è íîìåð ñëåäóþùåãî áëîêà äëÿ áëîêà ñ íîìåðîì i (ÑËÅÄ i , åñëè áëîê ñ íîìåðîì i ÿâëÿåòñÿ ïîñëåäíèì áëîêîì ðàçáèåíèÿ). Äëÿ êàæäîãî ýëåìåíòà i, i n, íîìåð áëîêà, ñîäåðæàùåãî ýëåìåíò i, áóäåò õðàíèòüñÿ â ïåðåìåííîé ÁËÎÊ i , íàïðàâëåíèå, â êîòîðîì ¾äâèæåòñÿ¿ ýëåìåíò i, áóäåò çàêîäèðîâàíî â áóëåâñêîé ïåðåìåííîé ÂÏÅ i (ÂÏÅ i =true, åñëè i äâèæåòñÿ âïåðåä; çäåñü ìîæíî çàìåòèòü íåêîòîðîå ïîäîáèå àëãîðèòìó 1.12). Àëãîðèòì 1.19. ( åíåðèðîâàíèå âñåõ ðàçáèåíèé ìíîæåñòâà f ; ; : : : ; ng). Äàííûå: n. åçóëüòàò: Ïîñëåäîâàòåëüíîñòü âñåõ ðàçáèåíèé ìíîæåñòâà f ; : : : ; ng, â êîòîðîé êàæäîå ñëåäóþùåå ðàçáèåíèå îáðàçóåòñÿ èç ïðåäûäóùåãî ïóòåì ïåðåíåñåíèÿ åäèíñòâåííîãî ýëåìåíòà â äðóãîé áëîê.
=123
12 3 )
1
[℄
[℄=0
1
[℄
[℄ 1
[℄
[℄
12
1
ëàâà 1. Ââåäåíèå â êîìáèíàòîðèêó
52
1. begin 2. for i to n do (*ïîìåñòèòü i â ïåðâûé áëîê*) 3. begin ÁËÎÊ i ; ÂÏÅ i := èñòèíà; 4. end; 5. ÑËÅÄ ; 6. âûïèñàòü ðàçáèåíèå; 7. j n; (*j =àêòèâíûé ýëåìåíò*) 8. while j > do 9. begin k ÁËÎÊ j ; 10. if ÂÏÅ j then (*j äâèæåòñÿ âïåðåä*) 11. begin 12. if ÑËÅÄ[k ℄=0 then (*k åñòü ïîñëåäíèé áëîê*) 13. begin ÑËÅÄ k j ; ÏÅÄ j k; ÑËÅÄ j 14. end; 15. if ÑËÅÄ k > j then (*j îáðàçóåò íîâûé áëîê*) 16. begin ÏÅÄ j k; ÑËÅÄ j ÑËÅÄ k ; 17. ÏÅÄ ÑËÅÄ j j ; ÑËÅÄ k j 18. end; 19. ÁËÎÊ j ÑËÅÄ k 20. end 21. else (*j äâèæåòñÿ íàçàä*) 22. begin ÁËÎÊ j ÏÅÄ k ; 23. if k j then (*j îáðàçóåò îäíîýëåìåíòíûé áëîê*) 24. if ÑËÅÄ k then ÑËÅÄ ÏÅÄ k 25. else begin ÑËÅÄ ÏÅÄ k ÑËÅÄ k ; 26. ÏÅÄ ÑËÅÄ k ÏÅÄ k 27. end 28. end; 29. âûïèñàòü ðàçáèåíèå; 30. j n; 31. while (j > ) and 32. ((ÂÏÅ j and (ÁËÎÊ j j )) or (not ÂÏÅ j and (ÁËÎÊ j ))) do 33. begin ÂÏÅ j :=not ÂÏÅ j ; j j ; 34. end 35. end 36. end
:= 1
[ ℄ := 1
[℄
[1℄ := 0
:=
1
:=
[℄
[℄
[ ℄ :=
[ ℄ :=
[ ℄ := 0
[℄
[ ℄ := [ ℄ := [℄ [ [ ℄℄ := [ ℄ := [ ℄ := [℄
=
:=
[℄
1 [ ℄=
[ ℄ := [℄ [ ℄=0 [ [ ℄℄ := 0 [ [ ℄℄ := [℄ [ [ ℄℄ := [℄
[℄
[℄ [ ℄ :=
1
1
[ ℄=1
Ýòîò àëãîðèòì ñòðîèò ñíà÷àëà ðàçáèåíèå ff ; : : : ; ngg (öèêë 2) îòìåòèì, ÷òî ýòî ïåðâîå ðàçáèåíèå â ñïèñêå Ln , ñîçäàííîì ïðè ïîìîùè îïèñàííîãî íàìè ðåêóððåíòíîãî ìåòîäà. Çàäà÷à îñíîâíîãî öèêëà 8 ïåðåìåùåíèå ¾àêòèâíîãî¿ ýëåìåíòà j â ñîñåäíèé áëîê ïðåäûäóùèé èëè ïîñëåäóþùèé (â ïîñëåäíåì
1.10. åíåðèðîâàíèå ðàçáèåíèé ìíîæåñòâà ( ( ( ( ( ( ( ( ( ( ( ( ( ( (
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
53
234) 23)(4) 2)(3)(4) 2)(34) 24)(3) 4)(2)(3) )(24)(3) )(2)(34) )(2)(3)(4) )(23)(4) )(234) 4)(23) 34)(2) 3)(24) 3)(2)(4)
èñ. 1.13: Ïîñëåäîâàòåëüíîñòü ðàçáèåíèé ìíîæåñòâà àëãîðèòìîì 1.19
f1; 2; 3; 4g, ïîðîæäåííàÿ
ñëó÷àå ìîæåò âîçíèêíóòü íåîáõîäèìîñòü ñîçäàíèÿ íîâîãî áëîêà âèäà fj g), à çàòåì îïðåäåëåíèå àêòèâíîãî ýëåìåíòà âî âíîâü îáðàçîâàííîì ðàçáèåíèè. Èç îïèñàííîãî ðåêóððåíòíîãî ïîñòðîåíèÿ ñëåäóåò, ÷òî äàííûé ýëåìåíò ïåðåìåùàåòñÿ òîëüêî òîãäà, êîãäà âñå ýëåìåíòû, áîëüøèå åãî, äîñòèãàþò ñâîåãî êðàéíåãî ëåâîãî èëè ïðàâîãî ïîëîæåíèÿ; òî÷íåå, àêòèâíûé ýëåìåíò j ÿâëÿåòñÿ òàêèì íàèìåíüøèì ýëåìåíòîì, ÷òî äëÿ êàæäîãî áîëüøåãî ýëåìåíòà j âûïîëíÿåòñÿ îäíî èç äâóõ ñëåäóþùèõ óñëîâèé:
[℄
[℄=
1. ÂÏÅ j and (ÁËÎÊ j j ), ò.å. ýëåìåíò äâèæåòñÿ âïåðåä è äîñòèãàåò ñâîåãî êðàéíåãî ïðàâîãî ïîëîæåíèÿ (î÷åâèäíî, j íå ìîæåò áûòü ýëåìåíòîì áëîêà ñ íàèìåíüøèì ýëåìåíòîì, áîëüøèì j ). 2.
[℄
[ ℄=1
ÂÏÅ j and (ÁËÎÊ j ), ò.å. ýëåìåíò j äâèæåòñÿ íàçàä è äîñòèãàåò ñâîåãî êðàéíåãî ëåâîãî ïîëîæåíèÿ (â ïåðâîì áëîêå).
not
Ýòîò ïðèíöèï ðåàëèçóåòñÿ â ñòðîêàõ 3034. Çàîäíî ìåíÿåòñÿ íàïðàâëåíèå äâèæåíèÿ ýëåìåíòîâ j > j . Äîïîëíèòåëüíûì óñëîâèåì öèêëà 31 ÿâëÿåòñÿ j > , òàê êàê èç ñàìîãî ïðåäñòàâëåíèÿ ðàçáèåíèÿ ñëåäóåò, ÷òî j íå ìîæåò áûòü àêòèâíûì ýëåìåíòîì (î÷åâèäíî, ÷òî ýëåìåíò 1 âñåãäà ÿâëÿåòñÿ ýëåìåíòîì áëîêà ñ íîìåðîì 1). Åñëè êàæäûé èç ýëåìåíòîâ j > îòâå÷àåò óñëîâèþ (1) èëè (2), òî ëåãêî óáåäèòüñÿ, ÷òî óæå ïîðîæäåíû âñå ðàçáèåíèÿ.  òàêîì ñëó÷àå íà âûõîäå
=1
1
1
ëàâà 1. Ââåäåíèå â êîìáèíàòîðèêó
54
=
öèêëà 31 èìååì j i è ñëåäóåò âûõîä èç îñíîâíîãî öèêëà 8, ò.å. èìååì îêîí÷àíèå ðàáîòû àëãîðèòìà. Èç ðåêóððåíòíîñòè àëãîðèòìà âûòåêàåò òàêæå, ÷òî àêòèâíûì ýëåìåíòîì äëÿ ïåðâîãî ðàçáèåíèÿ ñïèñêà Ln , ò.å. äëÿ ff ; : : : ; ngg, ÿâëÿåòñÿ ýëåìåíò n. Òàêîå æå çíà÷åíèå ïðèïèñûâàåòñÿ ïåðåìåííîé j ïåðåä âõîäîì â öèêë 8 (ñòðîêà 7). Ïðîàíàëèçèðóåì òåïåðü ïðîöåññ ïåðåíîñà àêòèâíîãî ýëåìåíòà (ñòðîêè 928). Ñíà÷àëà îòûñêèâàåòñÿ íîìåð áëîêà, ñîäåðæàùåãî àêòèâíûé ýëåìåíò; ïóñòü ýòî áóäåò k . Åñëè ýòîò ýëåìåíò äâèæåòñÿ âïåðåä, äîñòàòî÷íî ïåðåíåñòè åãî â áëîê ñ íîìåðîì ÑËÅÄ k (ñì. ñòðîêó 19), à â äâóõ îñòàëüíûõ ñëó÷àÿõ ïåðåìåííóþ ÑËÅÄ k íóæíî ñíà÷àëà ìîäèèöèðîâàòü. Ïåðâûé ñëó÷àé èìååò ìåñòî, êîãäà ÑËÅÄ k , ò.å. êîãäà k åñòü íîìåð ïîñëåäíåãî áëîêà ðàçáèåíèÿ. Òîãäà j îáðàçóåò îäíîýëåìåíòíûé áëîê; ïðè ýòîì äîñòàòî÷íî ïðèíÿòü ÑËÅÄ k j è ñîîòâåòñòâåííî èçìåíèòü çíà÷åíèÿ ïåðåìåííûõ ÑËÅÄ j è ÏÅÄ j (ñì. ñòðîêó 13). Âòîðîé ñëó÷àé èìååò ìåñòî, êîãäà ÑËÅÄ k > j , îí ðàññìàòðèâàåòñÿ àíàëîãè÷íî. Óñëîâèå ÑËÅÄ k > j îçíà÷àåò, ÷òî âñå áëîêè ñïðàâà îò áëîêà ñ íîìåðîì k ñîäåðæàò ýëåìåíòû, áîëüøèå j (âñå ýòè ýëåìåíòû çàíèìàþò ñâîè êðàéíèå ïðàâûå ïîçèöèè, â ïðîòèâíîì ñëó÷àå j íå áûë áû àêòèâíûì ýëåìåíòîì). Èç ðåêóððåíòíîñòè àëãîðèòìà ëåãêî âûòåêàåò, ÷òî â ýòîì ñëó÷àå íóæíî ñîçäàòü îäíîýëåìåíòíûé áëîê, ñîäåðæàùèé j . Ýòî âûïîëíÿåòñÿ â ñòðîêàõ 1617 (åäèíñòâåííàÿ ðàçíèöà ñ ïåðâûì ñëó÷àåì ñîñòîèò â òîì, ÷òî â äàííîì ñëó÷àå âíîâü ñîçäàííûé áëîê íå ÿâëÿåòñÿ ïîñëåäíèì áëîêîì ðàçáèåíèÿ).  ñèòóàöèè, êîãäà ýëåìåíò j äâèæåòñÿ íàçàä (ñì. ñòðîêó 21), äîñòàòî÷íî ïîìåñòèòü åãî â ïðåäûäóùèé áëîê (ñì. ñòðîêó 22) è âûïîëíèòü ñîîòâåòñòâóþùåå èçìåíåíèå çíà÷åíèé ïåðåìåííûõ ÑËÅÄ è ÏÅÄ, åñëè j ñîçäàâàë îäíîýëåìåíòíûé áëîê ýòî èìååò ìåñòî â òî÷íîñòè òîãäà, êîãäà ÁËÎÊ j k j , òàê êàê êàæäûé ýëåìåíò m > j áëîêà ñ íîìåðîì j áûë áû âûáðàí àêòèâíûì ýëåìåíòîì â öèêëå 31. Íà ðèñ. 1.13 ïðåäñòàâëåíû âñå ðàçáèåíèÿ ìíîæåñòâà f ; : : : ; g, ïîðîæäåííûå àëãîðèòìîì. Ìîæíî ïîêàçàòü, ÷òî ñðåäíåå ÷èñëî øàãîâ, íåîáõîäèìûõ äëÿ ïîñòðîåíèÿ êàæäîãî ñëåäóþùåãî ðàçáèåíèÿ, îãðàíè÷åíî ïîñòîÿííîé, íå çàâèñÿùåé îò n (ñð. ñ çàäà÷åé 1.38; êîíå÷íî, çäåñü íå ó÷èòûâàåòñÿ ÷èñëî øàãîâ, íåîáõîäèìûõ äëÿ íàïèñàíèÿ ðàçáèåíèÿ).
1
[℄ [ ℄=0
[℄
[℄
[℄
[℄
[℄
[ ℄ :=
[ ℄= =
1
4
1.11 àçáèåíèÿ ÷èñåë Çàéìåìñÿ òåïåðü ñëåäóþùåé çàäà÷åé: ñêîëüêèìè ñïîñîáàìè ìîæíî çàïèñàòü äàííîå íàòóðàëüíîå ÷èñëî n â âèäå ñóììû
0
n=b
1
+ : : : + bk ;
(1.51)
ãäå k; b1 ; : : : ; bk > . Ïðè ýòîì áóäåì ñ÷èòàòü ñóììû ýêâèâàëåíòíûìè, åñëè îíè îòëè÷àþòñÿ òîëüêî ïîðÿäêîì ñëàãàåìûõ. Êëàññ ýêâèâàëåíòíûõ ñóìì âè-
1.11. àçáèåíèÿ ÷èñåë
55
äà (1.51) ìû ìîæåì îäíîçíà÷íî ïðåäñòàâèòü ïîñëåäîâàòåëüíîñòÿìè a1 ; : : : ; ak ãäå a1 : : : ak è ÷èñëà a1 ; : : : ; ak ÿâëÿþòñÿ ÷èñëàìè b1 ; : : : ; bk , óïîðÿäî÷åííûìè ïî íåâîçðàñòàíèþ (àíàëîãè÷íûì îáðàçîì ìû ïðåäñòàâëÿëè ïîäìíîæåñòâà ìíîæåñòâà âîçðàñòàþùèìè ïîñëåäîâàòåëüíîñòÿìè è ïîäìíîæåñòâà ìíîæåñòâà ñ ïîâòîðåíèÿìè íåóáûâàþùèìè ïîñëåäîâàòåëüíîñòÿìè). Êàæäóþ òàêóþ ïîñëåäîâàòåëüíîñòü a1 ; : : : ; ak áóäåì íàçûâàòü ðàçáèåíèåì ÷èñëà n íà k ñëàãàåìûõ. ×èñëî ðàçáèåíèé ÷èñëà n íà k ñëàãàåìûõ áóäåì îáîçíà÷àòü P n; k , à ÷èñëî âñåõ ðàçáèåíèé ÷èñëà n (íà ïðîèçâîëüíîå ÷èñëî ñëàãàåìûõ) ÷åðåç P n . Î÷åâèäíî, ÷òî
( ) ()
P (n) =
n X i=0
(0 0) = (0) = 1
P (n; k);
n>0
(1.52)
(ïðèíèìàåì P ; P ). Íàïðè7 ìåð, P , à âñå ðàçáèåíèÿ ÷èñëà 7 ïðåä6 1 ñòàâëåíû íà ðèñ. 1.14. 5 2 Èñïîëüçóÿ î÷åíü ïðîñòîé ñïîñîá ïðåäñòàâ5 1 1 ëåíèÿ ðàçáèåíèÿ ÷èñëà, íàçûâàåìûé äèàãðàì4 3 ìîé Ôåððåðñà, ìîæíî äîêàçàòü ìíîãî ëþáî4 2 1 ïûòíûõ ñâîéñòâ ÷èñåë P n . Äèàãðàììà Ôåð4 1 1 1 ðåðñà äëÿ ðàçáèåíèÿ n a1 : : : ak ñîñòî3 3 1 èò èç k ñòðîê, ñîîòâåòñòâóþùèõ ñëàãàåìûì 3 2 2 ðàçáèåíèÿ, ïðè÷åì i-ÿ ñòðîêà ñîäåðæèò ïî3 2 1 1 ñëåäîâàòåëüíîñòü èç ai òî÷åê (ðèñ. 1.15). 3 1 1 1 1 Êàæäîìó ðàçáèåíèþ ÷èñëà n îäíîçíà÷íî 2 2 2 1 ñîîòâåòñòâóåò ñîïðÿæåííîå ðàçáèåíèå ýòî2 2 1 1 1 ãî ÷èñëà, êîòîðîå ïîëó÷àåòñÿ òðàíñïîçèöè2 1 1 1 1 1 åé äèàãðàììû Ôåððåðñà (ïåðåìåíà ðîëÿìè 1 1 1 1 1 1 1 ñòðîê è ñòîëáöîâ) (ñì. çàäà÷ó 1.15). Ëåãêî çàìåòèòü, ÷òî òðàíñïîçèöèÿ äèàãðàììû Ôåð- èñ. 1.14: Ïîñëåäîâàòåëüíîñòü ðåðñà îïðåäåëÿåò âçàèìíî îäíîçíà÷íîå ñîîò- ðàçáèåíèé ÷èñëà 7, ïîëó÷åííàÿ âåòñòâèå ìåæäó ðàçáèåíèÿìè ÷èñëà n íà k ñ ïîìîùüþ àëãîðèòìà 1.22 ñëàãàåìûõ è ðàçáèåíèÿìè ÷èñëà n ñ íàèáîëüøèì ñëàãàåìûì, ðàâíûì k . Îòìåòèì ýòîò àêò: Òåîðåìà 1.20. ×èñëî ðàçáèåíèé ÷èñëà n íà k ñëàãàåìûõ ðàâíî ÷èñëó ðàçáèåíèé ÷èñëà n ñ íàèáîëüøèì ñëàãàåìûì, ðàâíûì k . Äîêàæåì åùå îäíó òåîðåìó ýòîãî òèïà. Òåîðåìà 1.21. ×èñëî ðàçáèåíèé ÷èñëà n íà ïîïàðíî ðàçëè÷èìûå ñëàãàåìûå ðàâíî ÷èñëó ðàçáèåíèé ÷èñëà n íà íå÷åòíûå ñëàãàåìûå. Äîêàçàòåëüñòâî. Óñòàíîâèì âçàèìíî îäíîçíà÷íîå ñîîòâåòñòâèå ìåæäó ðàçáèåíèÿìè, î êîòîðûõ èäåò ðå÷ü â òåîðåìå. àññìîòðèì ðàçáèåíèå ÷èñëà n íà
(7) = 15
() = + +
ëàâà 1. Ââåäåíèå â êîìáèíàòîðèêó
56 íå÷åòíûå ñëàãàåìûå
1 i p. Ïóñòü
b ; : : : ; bp , 1
ãäå ñëàãàåìîå bi ïîÿâëÿåòñÿ â ðàçáèåíèè ri ðàç,
ri = 2q1 + 2q2 + : : :
åñòü äâîè÷íîå ïðåäñòàâëåíèå ÷èñëà ri . Ïðîèçâåäåì òåïåðü çàìåíó ri ñëàãàåìûõ bi íà ïîïàðíî ðàçëè÷èìûå ñëàãàåìûå
b
1
2q1 ;
b
2
2q2 ;
:::
(q
> q > : : :)
uu uu uu uu u u uu uu u u 1
2
uu uu uu uu uu uu uu uu
(ýòà çàìåíà ñîõðàíÿåò ñóììó ñëàãàåìûõ ðàçáèåíèÿ). Ïîâòîðÿÿ ýòó îïåðàöèþ äëÿ êàæäî16=4+4+3+3+1+1 16=6+4+4+2 ãî i, i p, è óïîðÿäî÷èâàÿ ñëàãàåìûå ïî íåâîçðàñèñ. 1.15: Äèàãðàììà Ôåððåðñà äëÿ ðàçáèåíèÿ òàíèþ, ïîëó÷àåì â ðåçóëüòàòå ÷èñëà è ñîïðÿæåííîãî åìó ðàçáèåíèÿ. ðàçáèåíèÿ ÷èñëà n íà ïîïàðíî ðàçëè÷èìûå ñëàãàåìûå. Ýòî ñëåäóåò èç òîãî àêòà, ÷òî êàæäîå íàòóðàëüíîå ÷èñëî ìîæíî îäíîçíà÷íî ïðåäñòàâèòü â âèäå ïðîèçâåäåíèÿ íå÷åòíîãî ÷èñëà íà ñòåïåíü äâîéêè.  êà÷åñòâå ïðèìåðà ïðîâåäåì îïèñàííîå ïðåîáðàçîâàíèå äëÿ ðàçáèåíèÿ 26 = 7+5+5+3+3+1+1+1:
1
7 + 5 + 5 + 3 + 3 + 1 + 1 + 1 = 7 2 + 5 2 + 3 2 + 1 (2 + 2 ) = = 7 + 10 + 6 + 2 + 1 = 10 + 7 + 6 + 2 + 1: 0
1
1
1
0
Ëåãêî çàìåòèòü, ÷òî ìîæíî âûïîëíèòü îáðàòíîå ïðåîáðàçîâàíèå äëÿ ïðîèçâîëüíîãî ðàçáèåíèÿ íà ïîïàðíî ðàçëè÷èìûå ñëàãàåìûå, ïðåäñòàâëÿÿ êàæäîå ñëàãàåìîå êàê p q , ãäå p íå÷åòíîå, ãðóïïèðóÿ çàòåì ñëàãàåìûå â çàâèñèìîñòè îò ¾íå÷åòíîãî ìíîæèòåëÿ¿ p è çàìåíÿÿ êàæäóþ òàêóþ ãðóïïó p q1 ; p q2 : : : íà r q1 q2 : : : ñëàãàåìûõ, ðàâíûõ p. Òàêèì îáðàçîì, îïèñàííîå ïðåîáðàçîâàíèå îïðåäåëÿåò âçàèìíî îäíîçíà÷íîå ñîîòâåòñòâèå ìåæäó ðàçáèåíèÿìè íà íå÷åòíûå ñëàãàåìûå è ðàçáèåíèÿìè íà ïîïàðíî ðàçëè÷èìûå ñëàãàåìûå. Äðóãèå òåîðåìû ýòîãî òèïà ñîðìóëèðîâàíû â çàäà÷àõ 1.391.41. Ïîêàæåì òåïåðü ïðîñòîé àëãîðèòì ãåíåðèðîâàíèÿ âñåõ ðàçáèåíèé ÷èñëà. Îí áóäåò ãåíåðèðîâàòü ðàçáèåíèÿ â ïîðÿäêå, îáðàòíîì ëåêñèêîãðàè÷åñêîìó, ò.å. ðàçáèåíèå n 1 : : : i (1.53)
2
2
=2 +2 +
2
= + +
áóäåò ïîðîæäåíî íåîáÿçàòåëüíî íåïîñðåäñòâåííî ïîñëå ðàçáèåíèÿ
n=a
1
+ : : : + ak
(1.54)
1.11. àçáèåíèÿ ÷èñåë
57
min( )
òîãäà è òîëüêî òîãäà, êîãäà ñóùåñòâóåò èíäåêñ p k; l , òàêîé ÷òî p < ap è m am äëÿ m < p (ñð. ñ ðèñ. 1.14). Î÷åâèäíî, ÷òî ïåðâûì ðàçáèåíèåì â ýòîì ïîðÿäêå ÿâëÿåòñÿ ðàçáèåíèå, ñîäåðæàùåå îäíî ñëàãàåìîå, ðàâíîå n, à ïîñëåäíèì ðàçáèåíèå íà n ñëàãàåìûõ, ðàâíûõ åäèíèöå. Çàäàäèìñÿ âîïðîñîì, êàê âûãëÿäèò ðàçáèåíèå, íåïîñðåäñòâåííî ñëåäóþùåå çà ðàçáèåíèåì (1.54). Áóäåì èñêàòü ðàçáèåíèå, êîòîðîå èìååò ñàìîå áîëüøîå ÷èñëî íà÷àëüíûõ ñëàãàåìûõ, ðàâíûõ íà÷àëüíûì ñëàãàåìûì ðàçáèåíèÿ (1.54) îáîçíà÷èì ýòè ñëàãàåìûå a1 ; : : : ; at 1 , è îñòàâøèåñÿ ñëàãàåìûå êîòîðîãî îïðåäåëÿþòñÿ ðàçáèåíèåì, íåïîñðåäñòâåííî èäóùèì çà ðàçáèåíèåì s at at+1 : : : ak . Ëåãêî çàìåòèòü, ÷òî ýòè óñëîâèÿ îäíîçíà÷íî îïðåäåëÿþò
=
1
= +
+ +
t = maxfi : ai > 1g: Òàêèì îáðàçîì, çàäà÷à ñâîäèòñÿ ê íàõîæäåíèþ ðàçáèåíèÿ, íåïîñðåäñòâåííî èäóùåãî çà ðàçáèåíèåì
s = at + 1| + :{z: : + 1}; at > 1: k t ðàç
Íåòðóäíî çàìåòèòü, ÷òî òàêîå ðàçáèåíèå èìååò âèä
s = l| + :{z: : + }l +(s mod l); bs=l ðàç
=
1
l at .  àëãîðèòìå, êîòîðûé ìû ñåé÷àñ îïèøåì, ðàçáèåíèå áóäåò ïðåäñòàâëåíî ïåðåìåííûìè S ,. . . , S d , ñîäåðæàùèìè ïîïàðíî ðàçëè÷èìûå ñëàãàåìûå ðàçáèåíèÿ S > : : : > S d , à òàêæå ïåðåìåííûìè R ; : : : ; R d , ãäå R i ñîäåðæèò èíîðìàöèþ î òîì, ñêîëüêî ðàç ñëàãàåìîå S i ïîÿâëÿåòñÿ â ðàçáèåíèè (R i > ). Ýòî ïîçâîëÿåò íàõîäèòü êàæäîå ñëåäóþùåå ðàçáèåíèå çà ÷èñëî øàãîâ, îãðàíè÷åííîå íåêîòîðîé ïîñòîÿííîé, íå çàâèñÿùåé îò n. Àëãîðèòì 1.22. (Íàõîæäåíèå âñåõ ðàçáèåíèé ÷èñëà) Äàííûå: n. åçóëüòàò: ïîñëåäîâàòåëüíîñòü ðàçáèåíèé ÷èñëà n â ïîðÿäêå, îáðàòíîì ëåêñèêîãðàè÷åñêîìó. ãäå
( [1℄ [℄ 0
1. 2. 3. 4. 5. 6.
begin
[1℄
[℄ [ ℄)
[1℄ [℄
S [1℄ := n; R[1℄ := 1; n := 1; (*ïåðâîå ðàçáèåíèå*)
[℄
[℄
emphâûïèñàòü ðàçáèåíèå; S > do (*íàõîæäåíèå ñëåäóþùåãî ðàçáèåíèÿ*) begin sum ; (*sum = ñóììà óñòðàíåííûõ ñëàãàåìûõ*) if S d then (*óäàëåíèå ñëàãàåìûõ, ðàâíûõ åäèíèöå*)
while
[1℄ 1
:= 0 [ ℄=1
ëàâà 1. Ââåäåíèå â êîìáèíàòîðèêó
58 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
1 sum := sum + S [d℄; R[d℄ := R[d℄ 1; l := S [d℄ 1; R[d℄ > 0 d := d + 1; S [d℄ := l; R[d℄:=sum l; l:=sum l; l 6= 0 (*äîáàâèòü ïîñëåäíåå ñëàãàåìîå, ðàâíîå l*) d := d + l; S [d℄ := l; R[d℄ := 1 begin
end;
sum := sum + R[d℄; d := d
if
then
div
mod
if
then
begin
end; âûïèñàòü ðàçáèåíèå
end end
1.12 Ïðîèçâîäÿùèå óíêöèè  êîìáèíàòîðíûõ çàäà÷àõ íà ïîäñ÷åò ÷èñëà îáúåêòîâ ïðè íàëè÷èè íåêîòîðûõ îãðàíè÷åíèé èñêîìûì ðåøåíèåì ÷àñòî ÿâëÿåòñÿ ïîñëåäîâàòåëüíîñòü a0 ; a1 ; a2 ; : : :, ãäå ak ÷èñëî èñêîìûõ îáúåêòîâ ¾ðàçìåðíîñòè¿ k . Íàïðèìåð, åñëè ìû èùåì ÷èñëî ðàçáèåíèé ÷èñëà, òî ìîæåì ïðèíÿòü ak P k , åñëè èùåì ÷èñëî ïîän è ò.ä.  ýòîì ñëó÷àå óäîáíî ìíîæåñòâ n-ýëåìåíòíîãî ìíîæåñòâà, òî ak k ïîñëåäîâàòåëüíîñòè a0 ; a1 ; a2 ; : : : ïîñòàâèòü â ñîîòâåòñòâèå îðìàëüíûé ðÿä
=
A(x) =
1 X
k=0
= ()
ak x k ;
(1.55)
íàçûâàåìûé ïðîèçâîäÿùåé óíêöèåé äëÿ äàííîé ïîñëåäîâàòåëüíîñòè. Íàçâàíèå ¾îðìàëüíûé ðÿä¿ îçíà÷àåò, ÷òî (1.55) ìû òðàêòóåì òîëüêî êàê óäîáíóþ çàïèñü íàøåé ïîñëåäîâàòåëüíîñòè â äàííîì ñëó÷àå íåñóùåñòâåííî, äëÿ êàêèõ (äåéñòâèòåëüíûõ èëè êîìïëåêñíûõ) çíà÷åíèé ïåðåìåííîé x îí ñõîäèòñÿ, Ïîýòîìó ìû íèêîãäà íå áóäåì âû÷èñëÿòü çíà÷åíèå òàêîãî ðÿäà äëÿ êîíêðåòíîãî çíà÷åíèÿ ïåðåìåííîé x, ìû áóäåì òîëüêî âûïîëíÿòü íåêîòîðûå îïåðàöèè íà òàêèõ ðÿäàõ, à çàòåì îïðåäåëÿòü êîýèöèåíòû ïðè îòäåëüíûõ ñòåïåíÿõ ïåðåìåííîé x. Äëÿ ïðîèçâîëüíûõ ðÿäîâ
A(x) =
1 X
k=0
ak xk ;
ìû îïðåäåëèì îïåðàöèþ ñëîæåíèÿ:
A(x) + B (x) =
B (x) = 1 X k=0
1 X
k=0
bk xk ;
( ak + b x ) x k ;
(1.56)
1.12. Ïðîèçâîäÿùèå óíêöèè
59
îïåðàöèþ óìíîæåíèÿ íà ÷èñëî (äåéñòâèòåëüíîå èëè êîìïëåêñíîå):
pA(x) =
1 X k=0
pak xk ;
(1.57)
è ïðîèçâåäåíèå Êîøè (êîðîòêî: ïðîèçâåäåíèå):
A(x) B (x) =
1 X k=0
k xk ;
ãäå
k = a bk + a bk 0
Åñëè ak = 0 an xn + : : : + a .
äëÿ
k > n,
1
1
+ : : : + ak b = 0
(1.58) k X i=0
ai bk i :
(1.59)
òî ðÿä (1.55) áóäåì îòîæäåñòâëÿòü ñ ìíîãî÷ëåíîì
0
Èç ìàòåìàòè÷åñêîãî àíàëèçà èçâåñòíî (ñì., íàïðèìåð, [41℄), ÷òî åñëè ðÿä (1.55) ñõîäèòñÿ â íåêîòîðîé îêðåñòíîñòè íóëÿ, òî åãî ñóììà A x ÿâëÿåòñÿ àíàëèòè÷åñêîé óíêöèåé â ýòîé îêðåñòíîñòè è
()
ak = A k
( )
(0)=k!
k = 0; 1; 2; : : :
(0) () ()
() () () ()
(1.60)
=0
(A(k) îáîçíà÷àåò çíà÷åíèå k -é ïðîèçâîäíîé óíêöèè A x äëÿ x ; ðÿä (1.55) ýòî íå ÷òî èíîå, êàê ðÿä Ìàêëîðåíà óíêöèè A x ). Áîëåå òîãî, åñëè A x , B x ÿâëÿþòñÿ àíàëèòè÷åñêèìè óíêöèÿìè â îêðåñòíîñòè íóëÿ, òî îðìóëû (1.56) (1.59) áóäóò ñïðàâåäëèâû, åñëè A x è B x òðàêòîâàòü êàê çíà÷åíèÿ óíêöèé A è B â òî÷êå x, à ðÿäû ïîíèìàòü â îáû÷íîì ñìûñëå, ò.å. òàê, êàê â ìàòåìàòè÷åñêîì àíàëèçå. Ýòî ñîõðàíÿþùåå îïåðàöèè âçàèìíî îäíîçíà÷íîå ñîîòâåòñòâèå ìåæäó ðÿäàìè, ñõîäÿùèìèñÿ â îêðåñòíîñòè íóëÿ, è óíêöèÿìè, àíàëèòè÷åñêèìè â îêðåñòíîñòè íóëÿ, ïîçâîëÿåò îòîæäåñòâèòü îðìàëüíûé ðÿä (1.55) ñ îïðåäåëåííîé ÷åðåç íåãî àíàëèòè÷åñêîé óíêöèåé â ñëó÷àå ðÿäîâ, ñõîäÿùèõñÿ â îêðåñòíîñòè íóëÿ (íåñìîòðÿ íà òî, ÷òî ðÿäû ìû áóäåì òðàêòîâàòü âñåãäà êàê îðìàëüíûå ðÿäû, ò.å. òîëüêî êàê îðìàëüíóþ çàïèñü èõ êîýèöèåíòîâ). Òàêèì îáðàçîì, áóäåì ïèñàòü, íàïðèìåð,
1 X k=0
xk = (1 x) ;
1 X k=0
1
1 xk = e x k!
ëàâà 1. Ââåäåíèå â êîìáèíàòîðèêó
60
è ò. ä. Íàéäåì òåïåðü ïðîèçâîäÿùèå óíêöèè äëÿ íåêîòîðûõ ïðîñòûõ ïîñëåäîâàòåëüíîñòåé. Â ñîîòâåòñòâèè ñ (1.13) èìååì
1 X
n n k X n k x = x = (1 + x)n ; k k k
k=0
(1.61)
=0
òàêèì îáðàçîì, äëÿ çàäàííîãî n; n; n : : : åñòü x n. 0 1 2 Èìååì
(1 + ) 1 X k=0
n
2k xk =
ïðîèçâîäÿùàÿ óíêöèÿ ïîñëåäîâàòåëüíîñòè
1 X k=0
(2x)k = (1 2x)
1
;
1248
2
è, ñëåäîâàòåëüíî, ïðîèçâîäÿùàÿ óíêöèÿ ïîñëåäîâàòåëüíîñòè ; ; ; ; : : : ; n ; : : : åñòü x 1 . Ïîëüçóÿñü òåì, ÷òî àíàëèòè÷åñêóþ óíêöèþ ìîæíî äèåðåíöèðîâàòü ïî÷ëåííî, ìîæíî íàïèñàòü
(1 2 ) 1 X k=0
kxk = x
1 X k=0
kxk
1
= x dxd
1 X k=0
xk = x
d (1 x) dx
1
= x(1
x) ; 2
0123 (1 + )
è, ñëåäîâàòåëüíî, ïðîèçâîäÿùàÿ óíêöèÿ äëÿ ïîñëåäîâàòåëüíîñòè ; ; ; ; : : : åñòü x x 2. Ïîçíàêîìèìñÿ ïîáëèæå ñ îðìóëîé (1.61). Êàæäûé ìíîæèòåëü x ìû ìîæåì òðàêòîâàòü êàê ñîîòâåòñòâóþùèé íåêîòîðîìó ýëåìåíòó ai ìíîæåñòâà X fa1 ; : : : ; an g è êàê ïðåäñòàâëÿþùèé äâà âîçìîæíûõ ÷èñëà ïîÿâëåíèé ýòîãî ýëåìåíòà â ïîäìíîæåñòâå: íóëü ðàç (ñëàãàåìîå x0 ) è îäèí ðàç (ñëàãàåìîå x1 x). Î÷åâèäíî, ÷òî êàæäîå ïîäìíîæåñòâî ìíîæåñòâà X îäíîçíà÷íî îïðåäåëÿåòñÿ óêàçàíèåì ÷èñëà ïîÿâëåíèé â íåì êàæäîãî èç ýëåìåíòîâ, ò.å. âûáîðîì îäíîãî èç ñëàãàåìûõ èç êàæäîãî ìíîæèòåëÿ ïðîèçâåäåíèé x : : : x . Îïðåäåëåííîå òàêèì îáðàçîì ñëàãàåìîå ðàçëîæåíèÿ ýòîãî ïðîèçâåäåíèÿ äàåò âêëàä â êîýèöèåíò ïðè xk , ãäå k ìîùíîñòü íàøåãî ïîäìíîæåñòâà, ðàâíûé åäèíèöå. Ýòî ðàññóæäåíèå åñòåñòâåííûì îáðàçîì ïåðåíîñèòñÿ íà ñèòóàöèþ, â êîòîðîé ÷èñëî ïîÿâëåíèé ýëåìåíòà ìîæåò áûòü áîëüøèì åäèíèöû, ò.å. íà ìíîæåñòâà ñ ïîâòîðåíèÿìè. Ïðåäïîëîæèì, íàïðèìåð, ÷òî X a1; a2; a3; a4 , è îáîçíà÷èì ÷åðåç k ÷èñëî k -ýëåìåíòíûõ ïîäìíîæåñòâ ýòîãî ìíîæåñòâà ñ ïîâòîðåíèÿìè.  ñèëó ðàññóæäåíèÿ, àíàëîãè÷íîãî ïðèâåäåííîìó âûøå, ïðîèçâîäÿùàÿ óíêöèÿ äëÿ ïîñëåäîâàòåëüíîñòè 0 ; 1 ; 2 ; : : : ðàâíà
(1
)
= =
=1
(1+ ) (1+ )
= (2
1 P
k xk = (1 + x + x = 1 + 4x + 9x + 15x
k=0
2
2
3
3
1
4 )
)(1 + x + x + x )(1 + x)(1 + x + x + x + x ) = + 20x + 22x + 20x + 15x + 9x + 4x + x : 2
4
3
5
2
6
7
8
3
9
4
10
1.12. Ïðîèçâîäÿùèå óíêöèè
61
Ñîîòâåòñòâóþùèì ïîäáîðîì i-ãî ìíîæèòåëÿ ìîæíî íàêëàäûâàòü ïðîèçâîëüíûå îãðàíè÷åíèÿ íà ÷èñëî âõîæäåíèé ýëåìåíòà ai . Íàïðèìåð, ýòîò ìíîæèòåëü èìååò âèä x3 x7 , åñëè i-é ýëåìåíò ìîæåò ïîÿâëÿòüñÿ 0, 3 èëè 7 ðàç, 2 4 x x ::: x2 1 , åñëè ýòîò ýëåìåíò ìîæåò ïîÿâëÿòüñÿ ïðîèçâîëüíîå ÷åòíîå ÷èñëî ðàç è ò.ä.  ÷àñòíîñòè, åñëè ìû íå íàëàãàåì íèêàêèõ îãðàíè÷åíèé íà ÷èñëî âõîæäåíèé ýëåìåíòà ai , i n, òî ïðîèçâîäÿùàÿ óíêöèÿ èìååò âèä
(1 + + ) 1+ + + = (1 )
1
(1 + x + x + : : :) : : : (1 + x + x + : : :) = (1
x) : : : (1 x) = (1 x) n : Åñëè âñïîìíèòü, ÷òî k -ÿ ïðîèçâîäíàÿ óíêöèè (1 x) n ðàâíà 2
dk (1 x) dxk
2
1
1
= ( n)( n 1) : : : ( n k + 1)(1 x) n k ( 1)k = [n℄k (1 è ðàçëîæèòü (1 x) n â ðÿä Ìàêëîðåíà, òî ïîëó÷èì 1 k 1 n + k 1 X X (1 x) n = [nk℄! xk = xk ; k k k n
=0
x)
n k;
=0
÷òî äàåò åùå îäíî íåçàâèñèìîå äîêàçàòåëüñòâî òåîðåìû 1.15. Ïðîèçâîäÿùèå óíêöèè ÿâëÿþòñÿ òàêæå óäîáíûì èíñòðóìåíòîì äëÿ äîêàçàòåëüñòâà òîæäåñòâ, ñâÿçàííûõ ñ áèíîìèàëüíûìè êîýèöèåíòàìè. Íàïðèìåð, (1.18) ìîæíî ïîëó÷èòü, ñðàâíèâàÿ êîýèöèåíòû â îáåèõ ÷àñòÿõ ðàâåíñòâà mP +n m+nxk k k=0 m n P m i P nxj x i j i=0 j =0
= (1 + x)m n = (1 + x)m (1 + x)n =
+
=
k mP +n P m n xk s k s k=0 s=0
(ìû âîñïîëüçîâàëèñü çäåñü îðìóëîé ïðîèçâåäåíèÿ Êîøè äâóõ ðÿäîâ, â íàøåì ñëó÷àå ýòî îðìóëà ïðîèçâåäåíèÿ ìíîãî÷ëåíîâ). Ïîêàæåì òåïåðü, êàê ïðîèçâîäÿùèå óíêöèè ìîæíî ïðèìåíÿòü â íåêîòîðûõ çàäà÷àõ, ñâÿçàííûõ ñ ðàçáèåíèåì ÷èñåë. Îòìåòèì ñíà÷àëà, ÷òî êàæäîå ðàçáèåíèå n a1 : : : ak ìîæíî îäíîçíà÷íî ïðåäñòàâèòü ïîñëåäîâàòåëüíîñòüþ h1 ; : : : ; n i, ãäå i îáîçíà÷àåò ÷èñëî ñëàãàåìûõ, ðàâíûõ i, ò.å. i jfj aj i ^ j kgj. Èìååì, î÷åâèäíî,
=
+
1
+
=
n X i=1
:
=
ii = n
0
è êàæäàÿ ïîñëåäîâàòåëüíîñòü h1 ; : : : ; n i (1 ; : : : ; n ) îòâå÷àþùàÿ ýòîìó óñëîâèþ, îäíîçíà÷íî îïðåäåëÿåò ðàçáèåíèå ÷èñëà n, ñîäåðæàùåå i ñëàãàåìûõ, ðàâíûõ i, i n.
1
ëàâà 1. Ââåäåíèå â êîìáèíàòîðèêó
62
()
Îáîçíà÷èì ÷åðåç Ph n ÷èñëî ðàçáèåíèé ÷èñëà n íà ñëàãàåìûå, íå ïðåâûøàþùèå h. Òåîðåìà 1.23. Ïðîèçâîäÿùàÿ óíêöèÿ äëÿ ïîñëåäîâàòåëüíîñòè Ph , Ph , Ph , . . . ðàâíà
(0) (1) (2) (1 + x + x + x + : : :)(1 + x + x + x + : : :) : : : (1 + xh + x h + x h + : : :) = = (1 x) (1 x ) : : : (1 xh ) 2
3
1
2
2
4
1
6
2
3
1
Äîêàçàòåëüñòâî. Ñîãëàñíî îïðåäåëåíèþ ïðîèçâåäåíèå h ðÿäîâ ñ ïðàâîé ñòîðîíû ÿâëÿåòñÿ ñóììîé ñëàãàåìûõ âèäà x1 x22 : : : xnn (i íîìåð ÷ëåíà, âûáðàííîãî èç i-ãî ðÿäà). Òàêèì îáðàçîì, êîýèöèåíò ïðè xn ðàâåí ÷èñëó ïîñëåPh n, à, ñëåäîâàòåëüíî, â ñîîòäîâàòåëüíîñòåé h1 ; : : : ; n i, òàêèõ ÷òî i=1 ii âåòñòâèè ñ íàøèìè ïðåäûäóùèìè çàìå÷àíèÿìè îí ðàâåí Ph n . Àíàëîãè÷íûì îáðàçîì äîêàçûâàåòñÿ ñëåäóþùàÿ òåîðåìà: Òåîðåìà 1.24. Ïðîèçâîäÿùàÿ óíêöèÿ äëÿ ïîñëåäîâàòåëüíîñòè P ,P , P , . . . ðàâíà
=
()
(0) (1) (2) (1 +1x + x + x + : : :)(1 + x + x + x + : : :) : : : (1 + xh + x h + x h + : : :) : : : = = Q (1 xh ) 2
3
2
4
6
2
3
1
h=1
Çàìå÷àíèå.  ýòîì ìåñòå ñëåäîâàëî áû ñòðîãî îïðåäåëèòü ðÿä, ÿâëÿþùèéñÿ áåñêîíå÷íûì ïðîèçâåäåíèåì ðÿäîâ F1 x F2 x : : :. Îáîçíà÷èì ÷åðåç In x ¾÷àñòè÷íîå ïðîèçâåäåíèå¿ F1 x F2 x : : : Fn x è ÷åðåç pn íàèìåíüøóþ íåíóëåâóþ ñòåïåíü ñ íåíóëåâûì êîýèöèåíòîì â Fn x (äëÿ ïðîèçâåäåíèÿ (1.62) èìååì pn n). Ïîëîæèì, ÷òî êîýèöèåíò ïðè íóëåâîé ñòåïåíè â êàæäîì èç ðÿäîâ Fn x ðàâåí åäèíèöå è ÷òî pn 1 (îáà ýòèõ ïðåäïîëîæåíèÿ âû-
()
() ()
= ()
lim
()
() ()
()
=
n!1
()
ïîëíåíû äëÿ ïðîèçâåäåíèÿ (1.62)). Òîãäà êîýèöèåíò ïðè xn â Im x îäèí è òîò æå äëÿ âñåõ m, áîëüøèõ íåêîòîðîãî ÷èñëà mn (òàêîãî, ÷òî pm > n äëÿ m > mn ). Èìåííî ýòîò êîýèöèåíò ìû ïðèíèìàåì êàê êîýèöèåíò ïðè xn â ðÿäå, îïðåäåëåííîì áåñêîíå÷íûì ïðîèçâåäåíèåì F1 x F2 x : : : . Òåõíèêà ïðîèçâîäÿùèõ óíêöèé ïîçâîëÿåò ïðîâåñòè ïðîñòûå äîêàçàòåëüñòâà íåêîòîðûõ ñâîéñòâ ðàçáèåíèé ÷èñëà. Ïðèâåäåì â êà÷åñòâå ïðèìåðà äðóãîå äîêàçàòåëüñòâî òåîðåìû 1.21. Îòìåòèì â ýòîé ñâÿçè, ÷òî ïðîèçâîäÿùàÿ óíêöèÿ äëÿ ðàçáèåíèé íà ïîïàðíî ðàçëè÷èìûå ñëàãàåìûå (ò.å. äëÿ ïîñëåäîâàòåëüíîñòè r1 ; r2 ; : : :, ãäå rn ÷èñëî ðàçáèåíèé ÷èñëà n íà ïîïàðíî ðàçëè÷èìûå ñëàãàåìûå) ðàâíà
()
R(x) = (1 + x)(1 + x
2
()
)(1 + x ) : : : (1 + xk ) : : : ; 3
à ïðîèçâîäÿùàÿ óíêöèÿ äëÿ ðàçáèåíèé íà íå÷åòíûå ñëàãàåìûå ðàâíà
N (x) = (1 x)
1
(1
x
3
)
1
: : : (1 x
k
2
1
)
1
::::
1.12. Ïðîèçâîäÿùèå óíêöèè
63
1 + xk = (1 xx36 : : : =
Ïîëüçóÿñü çàâèñèìîñòüþ 2 4 R x 11 xx 11 xx2
( )=
x
1
1
k
2
1 1
x
)=(1
xk ), ïîëó÷àåì
x3
1 1
: : : = N (x):
x5
1 1
(1.62)
Ïðèâåä¼ì åùå äâà ïðèìåðà ïðèìåíåíèÿ ïðîèçâîäÿùèõ óíêöèè. Ïåðâûé îòíîñèòñÿ ê òàê íàçûâàåìûì ÷èñëàì Ôèáîíà÷÷è F n . Ýòè ÷èñëà ÿâëÿþòñÿ ðåøåíèåì ðåêóððåíòíîãî óðàâíåíèÿ
()
Fn
+1
= Fn + Fn
ñ íà÷àëüíûìè óñëîâèÿìè
F
0
Ïðîèçâîäÿùàÿ óíêöèÿ ðÿåò óðàâíåíèþ
1
; n 1;
(1.63)
=F =1
(1.64)
1
F (x) äëÿ ïîñëåäîâàòåëüíîñòè F ; F ; F ; : : : óäîâëåòâî0
1
2
1 P Fk xk = 1 + x + (Fk + Fk ) xk = k k 1 1 = 1 + x + x P Fk x k + x P Fk x k = k k = 1 + x + x F (x) + x(F (x) 1) = 1 + (x + x )F (x):
F (x) =
1 P
2
1
=2
=0
2
2
2
2
1
1
=2
=2
2
Îòñþäà ïîëó÷àåì ïðîèçâîäÿùóþ óíêöèþ äëÿ ÷èñåë Ôèáîíà÷÷è
1
Íàéäÿ êîðíè óðàâíåíèÿ ax bx , ãäå
(1
)(1
)
F (x) = (1 x x
2
)
1
= 0, ïîëó÷àåì ðàçëîæåíèå 1 p p 1 + 5; b = 1 5 a= 2 2 x
x
x
2
x
2
=
Òåïåðü, èñïîëüçóÿ ìåòîä íåîïðåäåëåííûõ êîýèöèåíòîâ, íàéä¼ì
1
Ab + Ba)x = A +(1 B ax()(1 : bx) Ñðàâíèâàÿ êîýèöèåíòû â ÷èñëèòåëå, ïîëó÷àåì A + B = 1, ò.å. B = 1 A, à äàëåå Ab + (1 A)a = 0, ÷òî äàåò A = a=(a b), B = b=(a b); òàêèì îáðàçîì,
(1
ax)(1 bx)
F (x) = A(1 ax)
1
+ B(1
è îêîí÷àòåëüíî
Fk =
p1
5
=1
bx) 2 4
A + B ax 1 bx
1
=A p
1+ 5 2
1 X k=0
ak xk
!k+1
+B 1
1 X
k=0
p
2
5
bk xk
=
!k+1 3 5:
1 ak+1 X
k=0
bk k x a b +1
(1.65)
ëàâà 1. Ââåäåíèå â êîìáèíàòîðèêó
64
=1
=1
=2
0
1
2
3
=5
u u
u u u
u
u u
u
u
u
u
A AA
u
èñ. 1.16: Áèíàðíûå äåðåâüÿ ñ
u u u
u
uA
u u
AA
k âåðøèíàìè, k=0,1,2,3.
Ýòîò ìåòîä ìîæíî ïåðåíåñòè íà ïðîèçâîëüíûå ëèíåéíûå ðåêóððåíòíûå óðàâíåíèÿ ñ ïîñòîÿííûìè êîýèöèåíòàìè (ñì. çàäà÷ó 1.46).  êà÷åñòâå ïîñëåäíåãî ïðèìåðà ïðèìåíåíèÿ ïðîèçâîäÿùèõ óíêöèé âû÷èñëèì ÷èñëî áèíàðíûõ äåðåâüåâ ñ n âåðøèíàìè. Ïîä áèíàðíûì äåðåâîì ñ n âåðøèíàìè ìû ïîíèìàåì ïóñòîå äåðåâî Ò ?, åñëè n , èëè òðîéêó T hL; r; P i, ãäå r âåðøèíà, íàçûâàåìàÿ êîðíåì äåðåâà, L (ëåâîå ïîääåðåâî) áèíàðíîå äåðåâî ñ l âåðøèíàìè, P (ïðàâîå ïîääåðåâî) áèíàðíîå äåðåâî ñ p âåðøèíàìè èl p n. Áóäåì ãîâîðèòü, ÷òî áèíàðíûå äåðåâüÿ T1 è T2 èçîìîðíû, è ïèñàòü T1 T2 , åñëè T1 T2 ? èëè T1 hL1 ; r1 ; P1 i, Ò2 hL2 ; r2 ; P2 i, ãäå L1 L2 è P1 P2 . Îáîçíà÷èì ÷åðåç k ÷èñëî íåèçîìîðíûõ áèíàðíûõ äåðåâüåâ ñ k âåðøèíàìè (ðèñ. 1.16). Èç äàííîãî ðåêóðñèâíîãî îïðåäåëåíèÿ ñëåäóåò, ÷òî 0 è åñëè s k , òî ñóùåñòâóåò â òî÷íîñòè s k 1 s íåèçîìîðíûõ äåðåâüåâ âèäà hL; r; P i, ãäå L áèíàðíîå äåðåâî ñ s âåðøèíàìè. ×èñëî s ìîæåò ïðèíèìàòü ëþáîå èç çíà÷åíèé ìåæäó 0 è k , ñëåäîâàòåëüíî,
=
+ +1 =
=
=
=0
=
=
=
=1
1
k = k
0
+ k + : : : + k ; k > 0: (1.66) Íåèçîìîðíûå áèíàðíûå äåðåâüÿ äëÿ k = 0; 1; 2;P 3 1ïðåäñòàâëåíû íà ðèñ. 1.16. k àññìîòðèì ïðîèçâîäÿùóþ óíêöèþ C (x) = k k x . àâåíñòâî (1.66) âåñüìà íàïîìèíàåò îðìóëó äëÿ êîýèöèåíòîâ ïðîèçâåäåíèÿ Êîøè C (x)C (x) = 0
1
1
2
1
0
=0
1.12. Ïðîèçâîäÿùèå óíêöèè
65
C (x), òî÷íåå ãîâîðÿ, èìååò ìåñòî óðàâíåíèå 2
C (x) = xC (x) + 1 2
èëè
xC (x) C (x) + 1 = 0: (1.67) Ïîêàæåì òåïåðü, ÷òî ñóùåñòâóåò óíêöèÿ C (x), àíàëèòè÷åñêàÿ â îêðåñòíî2
ñòè íóëÿ, óäîâëåòâîðÿþùàÿ ýòîìó óðàâíåíèþ.  ñèëó óïîìÿíóòîãî âûøå âçàèìíî îäíîçíà÷íîãî ñîîòâåòñòâèÿ ìåæäó ðÿäàìè è àíàëèòè÷åñêèìè óíêöèÿìè êîýèöèåíòû ýòîãî ðåøåíèÿ îïðåäåëÿþò îðìàëüíûé ðÿä, óäîâëåòâîðÿþùèé óðàâíåíèþ (1.67). àññìàòðèâàÿ (1.67) êàê êâàäðàòíîå óðàâíåíèå ñ íåèçâåñòíîé C x (çíà÷åíèå èñêîìîé àíàëèòè÷åñêîé óíêöèè â òî÷êå x), ïîëó÷àåì äëÿ x 6
()
=0
1 p1 4x C (x) =
(1.68)
2x
p
1 4x = (1 4x) = â ðÿä Ìàêëîðåíà. Äëÿ k > 0 èìååì 12 dk 1 1 : : : k + 1 (1 1 4x) 12 k ( 4)k = dxk (1 4x) = = 2k ( 1) 1 3 5 : : : (2k 3)(1 4x) 2 k
àçëîæèì
1 2
è, ñëåäîâàòåëüíî,
p
1
1
1
1
2
2
2
2
1
1 4x = 1 P k k::: k k 1 = 1 P k k :::k k k 1 = 1 2 P k kk xk 2
1 3 5
2
=1
(2
! 2 4 1
2
xk =
(2
3)
2)!
xk = 1
!
=1
(2
2)
1
2 P k kk k=1
(2
2)!
!(
1)!
xk =
2
1
k=1
Îòñþäà âèäíî, ÷òî äëÿ ïîëó÷åíèÿ ðåøåíèÿ ñ ïîëîæèòåëüíûìè êîýèöèåíòàìè ñëåäóåò âûáðàòü çíàê ìèíóñ â (1.68). Òàêèì îáðàçîì, èìååì
p 1 1 2k 1 1 2k 2 X 1 4x = X 1 C (x) = xk = xk 2x k k + 1 k 1 k k k 1
=1
=1
Îòñþäà îêîí÷àòåëüíî ïîëó÷àåì
2k 1
k = k+1 k
(1.69)
×èñëà k íàçûâàþòñÿ ÷èñëàìè Êàòàëàíà; îíè ÷àñòî ïîÿâëÿþòñÿ â êîíòåêñòå öåëîãî ðÿäà äðóãèõ êîìáèíàòîðíûõ çàäà÷ (ñì. çàäà÷è 1.47, 1.48). ÷èñëî ! Êàòàëàíà
ëàâà 1. Ââåäåíèå â êîìáèíàòîðèêó
66
'$ '$ '$ &% &% &%
'$ '$ &% &%
jA [ B [ C j = jAj + jB j + jC j jA \ B j jA \ B j jA \ B j + jA \ B \ C j
jA [ B j = jAj + jB j jA \ B j
èñ. 1.17: Ïðîñòûå ÷àñòíûå ñëó÷àè ïðèíöèïà âêëþ÷åíèÿ è èñêëþ÷åíèÿ
1.13 Ïðèíöèï âêëþ÷åíèÿ è èñêëþ÷åíèÿ Îñíîâíàÿ òåîðåìà, êîòîðóþ ìû äîêàæåì â ýòîì ðàçäåëå, åñòü îáîáùåíèå î÷åâèäíîé îðìóëû
jA [ B j = jAj + jB j jA \ B j:
êîòîðàÿ ñïðàâåäëèâà äëÿ ïðîèçâîëüíûõ ìíîæåñòâ A, B (ðèñ. 1.17). Ïðåäïîëîæèì, ÷òî äàíû ïîäìíîæåñòâà A1 ; : : : ; An (íåîáÿçàòåëüíî ðàçëè÷íûå) íåêîòîðîãî êîíå÷íîãî ìíîæåñòâà X , è ìû èùåì ìîùíîñòü èõ îáúåäèíåíèÿ A1 [ : : : [ An .  êà÷åñòâå ïåðâîãî ¾ïðèáëèæåíèÿ¿ ýòîé ìîùíîñòè ìû ìîæåì ïðèíÿòü
jA j + : : : + jAn j: 1
(1.70)
=
îäíàêî ýòî ÷èñëî â îáùåì ñëó÷àå ñëèøêîì áîëüøîå, òàê êàê åñëè Ai \ Aj 6 ?, òî ýëåìåíòû ïåðåñå÷åíèÿ Ai \ Aj ñ÷èòàþòñÿ äâàæäû. Ïîïðîáóåì èñïðàâèòü ñèòóàöèþ, âû÷èòàÿ èç (1.70) ñóììó X
i<jn
jAi \ Aj j:
(1.71)
1
Íî â òàêîì ñëó÷àå ìû ïîëó÷èì ñëèøêîì ìàëåíüêîå ÷èñëî, òàê êàê åñëè Ai \ Aj \ Ak 6 ?, òî ýëåìåíòû ïåðåñå÷åíèÿ Ai \ Aj \ Ak ñ÷èòàþòñÿ â (1.71) òðèæäû. P Ñëåäóþùèì øàãîì ìîæåò áûòü äîáàâëåíèå ñóììû 1i<j
=
1.13. Ïðèíöèï âêëþ÷åíèÿ è èñêëþ÷åíèÿ (Ïðèíöèï âêëþ÷åíèÿ è èñêëþ÷åíèÿ).
Òåîðåìà 1.25
n S Ai i=1
n P
=
67
i=1
P
i<jn jAi \ Aj j + 1)n jA \ : : : \ An j
jAi j
P
:::+(
1
i<j
1
1
1
=1
Äîêàçàòåëüñòâî. Ïðèìåíèì èíäóêöèþ ïî n. Äëÿ n òåîðåìà î÷åâèäíî ñïðàâåäëèâà. Ïðåäïîëîæèì, ÷òî äëÿ ïðîèçâîëüíûõ ïîäìíîæåñòâ A1 ; : : : ; An 1 n[1 Ai i=1
=
nX1 i=1
X
jAi j
jAi \ Aj j + : : : + ( 1)n jA \ : : : \ An j 2
i<jn
1
1
1
1
Ïðèìåíÿÿ ýòó îðìóëó ê ñóììå
( A [ : : : [ A n ) \ An = 1
n[1
1
i=1
(Ai \ An);
ïîëó÷àåì n[1 Ai i=1
\
à îòñþäà
An
=
nX1 i=1
n S Ai i=1
=
i=1
i<jn
1
n S A i i=1
n
= P jAi j
X
jAi \ An j
[
P
i<jn
1
An
=
jAi \ Aj \ An j+: : :+( 1)n jA \ : : : \ An j ; 2
1
1
nS1 Ai i=1
nS1 Ai i=1
+ jAnj
\
An
=
jAi \ Aj j + : : : + ( 1)n jA \ : : : \ An j : 1
1
Ïîêàæåì òåïåðü íåñêîëüêî ïðèìåðîâ ïðèìåíåíèÿ ïðèíöèïà âêëþ÷åíèÿ è èñêëþ÷åíèÿ. Òåîðåìà 1.26. Åñëè jX j n, jY j m, òî ÷èñëî âñåõ óíêöèé èç X íà Y (ò.å. óíêöèé f X ! Y , òàêèõ ÷òî f X Y ), ðàâíî
=
:
sn;m =
=
m X1 i=0
( )=
( 1)
i
m (m i)n: i
=
(1.72)
Äîêàçàòåëüñòâî. Ïóñòü Y fy1 ; : : : ; ym g. Îáîçíà÷èì ÷åðåç Ai ìíîæåñòâî òàêèõ óíêöèé f X ! Y , äëÿ êîòîðûõ yi 2 = f X . Òîãäà î÷åâèäíî, ÷òî
:
f (X ) 6= Y
( )
,f 2
m [ i=1
Ai
ëàâà 1. Ââåäåíèå â êîìáèíàòîðèêó
68
:
Ìû çíàåì, ÷òî ÷èñëî âñåõ óíêöèé f X ! Y ðàâíî mn (òåîðåìà 1.1), äîñòàòî÷íî, òàêèì îáðàçîì, îïðåäåëèòü ìîùíîñòü îáúåäèíåíèÿ A1 [ : : : [ Am . Îòìåòèì ñíà÷àëà, ÷òî äëÿ ïðîèçâîëüíîé ïîñëåäîâàòåëüíîñòè p1 < : : : < pi m ïåðåñå÷åíèå Ap1 \ : : : \ Api åñòü ìíîæåñòâî âñåõ óíêöèé f X ! Y , òàêèõ = f X , à, ñëåäîâàòåëüíî, ìîùíîñòü ýòîãî ïåðåñå÷åíèÿ ñîñòàâ÷òî yp1 ; : : : ; ypn 2 ëÿåò m p n ñòîëüêî, ñêîëüêî èìååòñÿ óíêöèé f X ! Y nfyp1 ; : : : ; ypn g. i-ýëåìåíòíîå ìíîæåñòâî fyp1 ; : : : ; ypn g ìû ìîæåì âûáðàòü mi ñïîñîáàìè, è, ñëåäîâàòåëüíî, ñîãëàñíî ïðèíöèïó âêëþ÷åíèÿ è èñêëþ÷åíèÿ èìååì
1
(
( )
)
:
nS1 A i i=0 mP1
sn;m = nm
:
=
i=0
= mn ( 1)i
nP1
( 1)i i m(m i)n : i
1
=0
m i
(m i)n =
Ñòîèò îòìåòèòü, ÷òî â ñèëó îðìóëû (1.41) òåîðåìà äàåò ïðîñòóþ îðìóëó äëÿ âû÷èñëåíèÿ ÷èñåë Ñòèðëèíãà âòîðîãî ðîäà:
Sn;k =
1 sn;k = 1 kX ( 1)ik(k i)n: i k! k! i 1
(1.73)
=0
Äðóãèì ïðèìåíåíèåì ïðèíöèïà âêëþ÷åíèÿ è èñêëþ÷åíèÿ ìîæåò ñëóæèòü îïðåäåëåíèå ÷èñëà ïîäìíîæåñòâ èç k ýëåìåíòîâ ìíîæåñòâà ñ ïîâòîðåíèÿìè X k1 a1 ;: : : ; kn n (ïîêà íàïîìíèì òîëüêî, ÷òî òàêèõ ïîäìíîæåñòâ íàñ÷èòûâàåòñÿ nk , åñëè k1 : : : kn k, è n+kk 1 , åñëè k1 ; : : : ; kn k). Çàìåòèì, ÷òî ýòà ïðîáëåìà ðàâíîñèëüíà ïðîáëåìå îïðåäåëåíèÿ ÷èñëà öåëî÷èñëåííûõ ðåøåíèé ñèñòåìû
(
=
) =
=
=
+ : : : + xn = k; 0 xi ki äëÿ i = 1; : : : ; n:
x
1
Ìåòîä ðåøåíèÿ ýòîé çàäà÷è ïðîèëëþñòðèðóåì íà ïðèìåðå. Ïóñòü . Ñîçäàäèì ìíîæåñòâà 2 3 , k
a ;3a ;7a 1
) = 11
X
= (4
A = ìíîæåñòâî âñåõ k-ýëåìåíòíûõ ïîäìíîæåñòâ ìíîæåñòâà ñ ïîâòîðåíèÿìè (k a ; k a ; k a ), A = ìíîæåñòâî òàêèõ Y 2 A, êîòîðûå ñîäåðæàò áîëåå ÷åì 4 âõîæäåíèÿ 1
1
ýëåìåíòà
2
a
1
3
,
A
Y
2 A, êîòîðûå ñîäåðæàò áîëåå ÷åì 3 âõîæäåíèÿ
A
Y
2 A, êîòîðûå ñîäåðæàò áîëåå ÷åì 7 âõîæäåíèé
2 = ìíîæåñòâî òàêèõ ýëåìåíòà a2 , 3 = ìíîæåñòâî òàêèõ ýëåìåíòà a3 .
1.13. Ïðèíöèï âêëþ÷åíèÿ è èñêëþ÷åíèÿ
=
69
= = 78 5=6 11 ) = = 28 = = = 10 =6 (11 11
=
n+k 1 3+11 1 13 Èìååì jAj , î÷åâèäíî, ÷òî jA1 j ñîñòàâëÿåò k 11 11 ñòîëüêî, ñêîëüêî èìååòñÿ 6-ýëåìåíòíûõ (k ìíîæåñòâà ) ïîäìíîæåñòâ 3+6 1 8 ñ ïîâòîðåíèÿìè a a a , àíàëîãè÷íî 1; 2; 3 , ò.å. 6 6 9 3+3 1 5 jA2 j 3+77 1 , jA3 j . Òàêæå ëåãêî çàìåòèòü, 7 3 3 3+2 1 4 ÷òî jA1 \ A2 j ñòîëüêî, ñêîëüêî èìååòñÿ äâóõýëåìåíòíûõ 2 2 (k ) ïîäìíîæåñòâ ìíîæåñòâà ñ ïîâòîðåíèÿìè a 1 ; a2 ; a 3 , è A2 \ A3 A1 \ A3 ?. Ïîäìíîæåñòâî Y 2 A ÿâëÿåòñÿ ïîäìíîæåñòâîì ìíîæåñòâà ñ ïîâòîðåíèÿìè X òîãäà è òîëüêî òîãäà, êîãäà îíî íå ïðèíàäëåæèò A1 ,A2 è A3 , à ñëåäîâàòåëüíî, ïî ïðèíöèïó âêëþ÷åíèÿ è èñêëþ÷åíèÿ èñêîìîå ÷èñëî k -ýëåìåíòíûõ ïîäìíîæåñòâ ìíîæåñòâà ñ ïîâòîðåíèÿìè X ðàâíî jAj jA1 j jA2 j jA3 j jA1 \ A2 j jA1 \ A3 j jA2 \ A3 j jA1 \ A2 \ A3 j . Íàêîíåö ìû îñòàíîâèìñÿ åùå íà îäíîì ïðèìåíåíèè ïðèíöèïà âêëþ÷åíèÿ è èñêëþ÷åíèÿ: íà îïðåäåëåíèè ÷èñëà èíâåðñèé íà n-ýëåìåíòíîì ìíîæåñòâå. Ïîä èíâåðñèåé íà ìíîæåñòâå f ; : : : ; ng ìû áóäåì ïîíèìàòü ïðîèçâîëüíóþ ïåðåñòàíîâêó f ýòîãî ìíîæåñòâà, òàêóþ ÷òî f i 6 i äëÿ i n. Îáîçíà÷èì ÷åðåç Dn ìíîæåñòâî âñåõ èíâåðñèé íà ìíîæåñòâå f ; : : : ; ng è
(11 11 = = 36 = = 5 4=2 = = =
11
)
+ + = 78 28 36 10 + 6 + 0 + 0 0 = 10
+
1
()=
1
1
Ai = ff 2 Sn : f (i) = ig; i = 1; : : : ; n
1
(íàïîìíèì, ÷òî Sn îçíà÷àåò ìíîæåñòâî âñåõ ïåðåñòàíîâîê ìíîæåñòâà f ; : : : ; ng). Ïåðåñòàíîâêà f ÿâëÿåòñÿ èíâåðñèåé òîãäà è òîëüêî òîãäà, êîãäà îíà íå ïðèíàäëåæèò íè ê îäíîìó èç ìíîæåñòâ Ai , à, ñëåäîâàòåëüíî, ñîãëàñíî ïðèíöèïó âêëþ÷åíèÿ è èñêëþ÷åíèÿ
jDn j = jSn j
n X i=1
X
jAi j +
i<jn
jAi \ Aj j : : : + ( 1)n jA \ : : : \ An j : 1
1
1
Äëÿ ïðîèçâîëüíîé ïîñëåäîâàòåëüíîñòè p1 < : : : < pi n ïåðåñå÷åíèå Ap1 \ : : : \ Api ÿâëÿåòñÿ ìíîæåñòâîì òàêèõ ïåðåñòàíîâîê f , äëÿ êîòîðûõ f pj pj äëÿ j i, è çíà÷èò, jAp1 \ : : : \ Api j n i . Çàìåòèâ, ÷òî ïîñëåäîâàòåëüíîñòü p1 < : : : < pi n ìîæíî âûáðàòü ni ñïîñîáàìè, ïîëó÷àåì â èòîãå
( )=
1
=(
1
n
n
)!
jDn j = P ( 1)n ni (n i)! = P ( 1)i ni = : i i
= n! 1
=0 1
1!
+
1
1
2!
3!
!
+ : : : + ( 1)n n =0
!
1
!
Ñòîèò îòìåòèòü, ÷òî ñóììà â ñêîáêàõ ÿâëÿåòñÿ íà÷àëüíûì ÷ëåíîì ðÿäà P1 i 1 . Ýòî îçíà÷àåò, ÷òî èíâåðñèè ñîñòàâëÿþò e 1 : ::: i=0 i! âñåõ ïåðåñòàíîâîê.
e
1
=
( 1)
= 0 36788
ëàâà 1. Ââåäåíèå â êîìáèíàòîðèêó
70
1.14 Çàäà÷è
1.  ñîðåâíîâàíèÿõ ïðèíèìàþò ó÷àñòèå 8 ñïîðòñìåíîâ. Ñêîëüêèìè ñïîñîáàìè ìîãóò áûòü ðàçäåëåíû ìåäàëè (çîëîòûå, ñåðåáðÿíûå è áðîíçîâûå)? 2. Äîêàçàòü, ÷òî ÷èñëî ñïîñîáîâ, êîòîðûìè ìîæíî ðàññàäèòü n ÷åëîâåê ñðåäè m ÷åëîâåê çà êðóãëûì ñòîëîì, ðàâíî m n =n. (àçìåùåíèÿ, îòëè÷àþùèåñÿ òîëüêî öèêëè÷åñêèì ïåðåìåùåíèåì âîêðóã ñòîëà, ñ÷èòàåì ðàâíûìè).
[ ℄
3. Ñêîëüêî ÷èñåë ìåæäó 1000 è 10000 ñîñòîÿò èç íå÷¼òíûõ öèð, ñêîëüêî èç ðàçëè÷íûõ öèð? 4. Ñêîëüêî ñóùåñòâóåò âîçìîæíûõ ðåçóëüòàòîâ, êîòîðûìè ìîãóò îêîí÷èòüñÿ ñîðåâíîâàíèÿ, â êîòîðûõ ñòàðòóåò 10 ÷åëîâåê â òð¼õ âèäàõ ñïîðòà, åñëè êàæäûé ÷åëîâåê ñòàðòóåò â îäíîì, ïðîèçâîëüíî âûáðàííîì âèäå ñïîðòà? (Ïîä ðåçóëüòàòîì ñîðåâíîâàíèÿ ìû áóäåì ïîíèìàòü ðàñïðåäåëåíèå ìåñò äëÿ âñåõ ñïîðòñìåíîâ, ñòàðòóþùèõ â êàæäîì âèäå). 5. Ñêîëüêî ïàëèíäðîìîâ äëèíû n ìîæíî îáðàçîâàòü, èñïîëüçóÿ 26 áóêâ àëàâèòà? (Ïàëèíäðîìîì íàçûâàåòñÿ ïðîèçâîëüíîå âûðàæåíèå, êîòîðîå ÷èòàåòñÿ îäèíàêîâî êàê ñëåâà íàïðàâî, òàê è â îáðàòíîì íàïðàâëåíèè, íàïðèìåð, òîïîò). 6. Äîêàçàòü, ÷òî ïîðÿäîê ïðîèçâîëüíîé ãðóïïû G Sn ÿâëÿåòñÿ äåëèòåëåì ïîðÿäêà Sn . (Óêàçàíèå: ïîêàçàòü, ÷òî ìíîæåñòâà âèäà fG ffg g 2 G; f 2 Sn g ñîñòàâëÿþò ðàçáèåíèå ãðóïïû Sn íà íåïåðåñåêàþùèåñÿ jGjýëåìåíòíûå áëîêè).
=
7. Äîêàçàòü, ÷òî ÷èñëî ïåðåñòàíîâîê
(
n! 1 1 22 :::nn 1 !2 !:::n !
)
f
2 Sn
òèïà
11 22 : : : nn
:
ðàâíî
8. Äîêàçàòü, ÷òî ïåðåñòàíîâêè f; g 2 Sn ÿâëÿþòñÿ ïåðåñòàíîâêàìè îäíîãî è òîãî æå òèïà òîãäà è òîëüêî òîãäà, êîãäà ñóùåñòâóåò ïåðåñòàíîâêà h 2 Sn , òàêàÿ, ÷òî g hfh 1 .
=
=
9. Ïåðåñòàíîâêà f 2 Sn íàçûâàåòñÿ èíâîëþöèåé, åñëè f f e. Äîêàçàòü, ÷òî f 2 Sn ÿâëÿåòñÿ èíâîëþöèåé òîãäà è òîëüêî òîãäà, êîãäà îíà èìå2 n , è ÷òî ïðîèçâîëüíàÿ ïåðåñòàíîâêà ÿâëÿåòñÿ åò òèï 1 2 1 ñóïåðïîçèöèåé äâóõ èíâîëþöèé.
1 2 ( +2 = )
10. Äëÿ ïåðåñòàíîâêè ha1 ; : : : ; an i îïðåäåëèì èíâåðñèâíûé âåêòîð êàê hd1 ; : : : ; dn i, ãäå di jfj < i aj > ai gj. Äîêàçàòü, ÷òî èíâåðñèâíûé âåêòîð îäíîçíà÷íî îïðåäåëÿåò ïåðåñòàíîâêó.
=
:
1.14. Çàäà÷è
71
11. Äîêàçàòü, ÷òî ìíîæåñòâî âñåõ ÷¼òíûõ ïåðåñòàíîâîê îáðàçóåò ãðóïïó. 12. Äîêàçàòü, ÷òî àëãîðèòì 1.10 áóäåò ãåíåðèðîâàòü âñå ïåðåñòàíîâêè (â íåñêîëüêî èíîé î÷åð¼äíîñòè), åñëè óáðàòü êîìàíäó P i P m â ñòðîêå 15. Ïóñòü f1 ; f2 ; : : : ; fn! áóäåò ïîñëåäîâàòåëüíîñòü ïåðåñòàíîâîê, ïîëó÷åííûõ ñ ïîìîùüþ òàêîãî ìîäèèöèðîâàííîãî àëãîðèòìà. Äîêàçàòü, ÷òî ïîñëåäîâàòåëüíîñòü n ýëåìåíòîâ f1 1 i ; f2 1 i ; : : : ; fn!1 i ÿâëÿåòñÿ äëÿ êàæäîãî i i n îäèíàêîâîé ñ òî÷íîñòüþ äî öèêëè÷åñêîãî ñäâèãà (ñð. [45℄).
[ ℄ :=: [ ℄
(1
)
!
()
()
()
13. Äîêàçàòü, ÷òî àññèìïòîòè÷åñêîå çíà÷åíèå (äëÿ n ! 1) ñðåäíåãî ÷èñëà òðàíñïîçèöèé, ïðèõîäÿùèõñÿ íà êàæäóþ ïåðåñòàíîâêó, ïîëó÷åííóþ ïðè 1 x2k P ïîìîùè àëãîðèòìà 1.10, ðàâíî , åñ; ::: x (2k)!
osh1 = 1 543
osh =
k=0
ëè æå àëãîðèòì ìîäèèöèðîâàí òàê,êàê â ïðåäûäóùåéçàäà÷å, òî ýòî 1 x2k+1 P . çíà÷åíèå ñîñòàâëÿåò ; ::: x (2k+1)!
sinh 1 = 1 175 0 0
sinh =
k=0
! 1
14. Äîêàçàòü, ÷òî êàæäîå ìîæíî îäíîçíà÷íî ïðåäñòàPn 1 èç ÷èñåë ; : : : ; n âèòü â âèäå j d k , ãäå d i , ïðè÷¼ì ïîñëåäîâàòåëüíîñòè i k=1 k dk 1 ; : : : ; d1 , ñîîòâåòñòâóþùèå î÷åðåäíûì ÷èñëàì, ïîÿâëÿþòñÿ â ëåêñèêîãðàè÷åñêîì ïîðÿäêå. Ïðåëîæèòå àëãîðèòì ïîñòðîåíèÿ ïîñëåäîâàòåëüíîñòè hdk 1 ; : : : ; d1 i, ñîîòâåòñòâóþùåé ÷èñëó j .
=
!
15. Óäàëèòü ðåêóðñèþ èç àëãîðèòìà 1.11. Îïèñàòü òàêóþ ðåàëèçàöèþ, â êîòîðîé ÷èñëî øàãîâ, íåîáõîäèìûõ äëÿ ïîñòðîåíèÿ êàæäîé ñëåäóþùåé ïåðåñòàíîâêè (íå òîëüêî ñðåäíåå çíà÷åíèå ÷èñëà øàãîâ!) îãðàíè÷åíî êîíñòàíòîé, íå çàâèñÿùåé îò n. (Óêàçàíèå: ðàññìîòðèì ëåêñèêîãðàè÷åñêè óïîðÿäî÷åííûé ñïèñîê Ln âñåõ ïîñëåäîâàòåëüíîñòåé h n ; : : : ; 2 i, ãäå i i. Äîêàçàòü, ÷òî i-ÿ òðàíñïîçèöèÿ, ïðîâåä¼ííàÿ àëãîðèòìîì 1.11, èìååò âèä P B p; p P p , ãäå p fi i < ig, à h n ; : : : ; 2 i åñòü j -ÿ ïîñëåäîâàòåëüíîñòü â ñïèñêå Ln . Äàëüíåéøèå ïîñëåäîâàòåëüíîñòè â ñïèñêå Ln ìîæíî ýåêòèâíî ãåíåðèðîâàòü, ïðåäñòàâëÿÿ ïîñëåäîâàòåëüíîñòü h n ; : : : ; 2 i ïîñëåäîâàòåëüíîñòüþ h n ; : : : ; 2 i, ãäå i , åñëè i i è i i â ïðîòèâíîì ñëó÷àå, èëè æå, èñïîëüçóÿ áóåð, àêòè÷åñêèì ñîäåðæàíèåì êîòîðîãî âñåãäà ÿâëÿåòñÿ ïîñëåäîâàòåëüíîñòü a1 ; b1 ; a2 ; b2 ; : : : ; as ; bs , òàêàÿ, ÷òî
1
[ [
℄℄ :=: [ ℄
= min :
s [ q=1
=1
=
=
fi : aq i bq g = fi : i < ig
Íàéáîëüøèé ýëåìåíò áóåðà îïðåäåëÿåò ðàíåå óïîìÿíóòûé èíäåêñ.)
ëàâà 1. Ââåäåíèå â êîìáèíàòîðèêó
72
16. Íàïèñàòü ïðîãðàììó, ðåàëèçóþùóþ ¾îáû÷íóþ¿ íåðåêóðñèâíóþ âåðñèþ àëãîðèòìà 1.11, à òàêæå âåðñèþ, îïèñàííóþ â ïðåäûäóùåé çàäà÷å. Ïðîâåðèòü ýìïèðè÷åñêè, âûïîëíèâ ïðîãðàììó, ñèëüíåå ëè ïîñëåäíÿÿ âåðñèÿ â ñìûñëå âðåìåíè, íåîáõîäèìîãî äëÿ ïîñòðîåíèÿ êàæäîé ñëåäóþùåé ïåðåñòàíîâêè. 17. Ïðåäïîëîæèì, ÷òî äëÿ êàæäîãî íå÷¼òíîãî m èìååò ìåñòî ñîîòíîøåíèå B m; : : : B m; m b(m), è ÷òî äëÿ ïðîèçâîëüíîãî íå÷¼òíîãî m ïîñëåäîâàòåëüíîñòü B m; ,. . . ,B m; m óäîâëåòâîðÿåò îäíîìó èç ñëåäóþùèõ óñëîâèé:
[ 1℄ = 4
= [
1℄ = [ 1℄ 1
[
1℄
1
(i) Êàæäûé èç ýëåìåíòîâ ; : : : ; m ïîÿâëÿåòñÿ â íåé â òî÷íîñòè îäèí ðàç, ïðè÷¼ì ðàññòîÿíèå ìåæäó ïîçèöèÿìè, ñîäåðæàùèìè m è b(m 1) ÷¼òíîå (ðàññòîÿíèÿ ìåæäó ïîçèöèÿìè i; j ïîíèìàåì êàê ji j j).
1
1
1
1
(ii) Êàæäûé èç ýëåìåíòîâ ìíîæåñòâà f ; : : : ; m gnfm ; b(m 1)g ïîÿâëÿåòñÿ äâàæäû, ïðè÷¼ì ðàññòîÿíèå ìåæäó ýòèìè âõîæäåíèÿìè íå÷¼òíîå.
()
Äîêàçàòü, ÷òî â ýòîì ñëó÷àå ïðîöåäóðà P ERM n ãåíåðèðóåò âñå ïåðåñòàíîâêè ýëåìåíòîâ P ; : : : ; P n , ïðè÷åì 'n (ñì. äîêàçàòåëüñòâî êîððåêòíîñòè àëãîðèòìà 1.11) ÿâëÿåòñÿ òðàíñïîçèöèåé äëÿ êàæäîãî íå÷¼òíîãî n è öèêëîì äëèíû n äëÿ êàæäîãî ÷¼òíîãî n (ñð. [44℄).
[1℄
[℄
3
18. Ïîëüçóÿñü ïðåäûäóùèì çàäàíèåì, äîêàçàòü, ÷òî ñëåäóþùèå âàðèàíòû ïðîöåäóðû B m; i â àëãîðèòìå 1.11 ïðèâîäÿò ê ïðàâèëüíîìó àëãîðèòìó ãåíåðèðîâàíèÿ âñåõ ïåðåñòàíîâîê:
(
(1)
if
(m
mod
)
2=0)
then
i>1 then B :=m i else B :=m 2 else B :=m 1 if
m mod 2 = 0 then if (i=1) or (i=m 1) then B:=m else B :=i else B :=1
(2)
if
(3)
if
(m
else
(4)
if
mod
B :=m
2 = 0) and (i>2) (*Wells[71℄*)
1
m mod 2 = 0 then B :=i B :=1 (*Heap[32℄*)
else
then
1
B :=m i
1.14. Çàäà÷è (5)
if
73
m mod 2 = 0 then B :=i B :=m 2
else
Êàêîé âèä èìååò ïåðåñòàíîâêà 'n â êàæäîì èç ýòèõ ñëó÷àåâ? Äàòü äðóãèå âîçìîæíûå âàðèàíòû ýòîé ïðîöåäóðû. 19. Äîêàçàòü, ÷òî ñðåäíåå ÷èñëî øàãîâ, íåîáõîäèìîå äëÿ ãåíåðèðîâàíèÿ êàæäîé ñëåäóþùåé ïåðåñòàíîâêè â àëãîðèòìå 1.12, îãðàíè÷åíî êîíñòàíòîé, íå çàâèñÿùåé îò n. Ïðåäñòàâèòü òàêîé âàðèàíò àëãîðèòìà, â êîòîðîì ýòî çàìå÷àíèå ñïðàâåäëèâî òàêæå äëÿ ÷èñëà øàãîâ äëÿ êàæäîé êîíêðåòíîé ïåðåñòàíîâêè (ñð. ñ çàäà÷åé 1.15). 20. Àëãîðèòìû 1.11 è 1.12 ãåíåðèðóþò ïîñëåäîâàòåëüíîñòè, ñîäåðæàùèå ïîïåðåìåííî ÷¼òíûå è íå÷¼òíûå ïåðåñòàíîâêè (ïî÷åìó?). Âåðíî ëè ýòî çàìå÷àíèå äëÿ àëãîðèòìà 1.10? 21. Äîêàçàòü, ÷òî ñðåäíåå ÷èñëî øàãîâ, íåîáõîäèìîå äëÿ ãåíåðèðîâàíèÿ êàæäîãî ñëåäóþùåãî ïîäìíîæåñòâà ñ ïîìîùüþ àëãîðèòìà 1.13, îãðàíè÷åíî êîíñòàíòîé, íå çàâèñÿùåé îò n. Ïðåäëîæèòü âàðèàíò àëãîðèòìà, â êîòîðîì ýòî âåðíî òàêæå äëÿ êàæäîãî êîíêðåòíîãî ïîäìíîæåñòâà (ñì. çàäà÷ó 1.15). 22. Ïðåäëîæèòü íåðåêóðñèâíóþ âåðñèþ àëãîðèòìà, ãåíåðèðóþùåãî âñå ïîäìíîæåñòâà ñ ïîâòîðåíèÿìè.
+1
23. Èñïîëüçîâàòü àëãîðèòì 1.13 äëÿ ðåøåíèÿ ñëåäóþùåé çàäà÷è: äàíû n d-ìåðíûõ âåêòîðîâ a1 ; : : : ; an ; s ñ öåëûìè êîîðäèíàòàìè. Ïðîâåðèòü, ñóùåP ñòâóåò ëè ïîäìíîæåñòâî J f ; : : : ; ng, òàêîå ÷òî j 2J aj s.
1
=
24. Äîêàçàòü òîæäåñòâà
1 + n 2 + : : : + n k; 1 k 2 0 n+1 n n 1 n 2 n k = + + + :::+ k+1 k k k k n+1 k
=
n k
+
n k
äâóìÿ ñïîñîáàìè: ìíîãîêðàòíî ïðèìåíÿÿ îðìóëó (1.17) è ïðèäàâàÿ ïðàâîé ÷àñòè íåêîòîðóþ êîìáèíàòîðíóþ èíòåðïðåòàöèþ (íàïðèìåð, â ïåðâîì òîæäåñòâå nk jj åñòü ÷èñëî k -ýëåìåíòíûõ ïîäìíîæåñòâ A 2 f ; : : : ; ng, òàêèõ ÷òî fi i 2= Ag j ).
min :
=
0
ëàâà 1. Ââåäåíèå â êîìáèíàòîðèêó
74
=
25. Äîêàçàòü òîæäåñòâî n nk 11 k nk , ïîäñ÷èòàâ äâóìÿ ñïîñîáàìè ïàðû ha; K i, ãäå a 2 K è K ÿâëÿåòñÿ k -ýëåìåíòíûì ïîäìíîæåñòâîì èêñèðîâàííîãî n-ýëåìåíòíîãî ìíîæåñòâà X . Èñïîëüçîâàòü ýòî òîæäåñòâî äëÿ âûâîäà îðìóëû (1.21) 26. Äîêàçàòü, ÷òî ïðîèçâåäåíèå k ïðîèçâîëüíûõ ïîñëåäîâàòåëüíûõ íàòóðàëüíõ ÷èñåë äåëèòñÿ íà k . (Óêàçàíèå: ðàññìîòðåòü áèíîìèàëüíûé êîýèk ). öèåíò n+ k
!
27. Äîêàçòü, ÷òî äëÿ ïðîçâîëüíûõ íàòóðàëüíûõ ÷èñåë
[p + q℄n = [p + q℄n =
n X n k=0
k
[p℄k [q℄n
n X n k=0
k
[p℄k [q℄n
p; q; n
k;
k:
(Óêàçàíèå: äëÿ äîêàçàòåëüñòâà ïåðâîãî òîæäåñòâà ïîäñ÷èòàéòå äâóìÿ S ñïîñîáàìè ÷èñëî âñåõ âçàèìíî îäíîçíà÷íûõ óíêöèé f X ! P Q, ãäå jX j n, jP j p, jQj q, P T Q ?. Äëÿ âòîðîãî òîæäåñòâà íàéòè ïîäîáíóþ èíòåðïðåòàöèþ â òåðìèíàõ ðàçìåùåíèé, óïîðÿäî÷åííûõ â p q ÿ÷åéêàõ.)
=
=
=
:
=
+
28. Äîêàçàòü, ÷òî
(x + x + : : : + xp) = 1
2
n
X
n1 +:::+np =n
n xn1 : : : xnp p ; n n : : : np 1
2
1
=
n! êîìáèíàòîðíóþ èíòåðïðåòàöèþ êîýèãäå n1 n2n:::np n1 !n2 !:::np ! . Äàéòå n öèåíòîâ. ×åìó ðàâíî kn k ?
29. Äàòü íåðåêóðñèâíóþ âåðñèþ àëãîðèòìà ãåíåðèðîâàíèÿ k -ýëåìåíòíûõ ïîäìíîæåñòâ, îñíîâàííóþ íà îðìóëå (1.25). Ïîêàçàòü, ÷òî ðåêóððåíòíàÿ çàâèñèìîñòü
G(n
G(n; k) = G(n 1; k); 2; k 2) [ fn 1; ng, G (n 2; k) [ fng
îïðåäåëÿåò òàêæå íåêîòîðûé ñïèñîê k -ýëåìåíòíûõ ïîäìíîæåñòâ, â êîòîðîì ñîñåäíèå ïîäìíîæåñòâà ìàëî îòëè÷àþòñÿ äðóã îò äðóãà. Äàòü íåðåêóðñèâíûé àëãîðèòì, îñíîâàííûé íà ýòîé çàâèñèìîñòè.
1.14. Çàäà÷è
75
30. Ïîêàçàòü, ÷òî V ðåø¼òêà V W W Vðàçáèåíèé íå ÿâëÿåòñÿ äèñòðèáóòèâíîé, ò.å. 6 . Óêàçàòü ñîîòâåòñòâóþùèå ðàçáèåíèÿ , , .
(
)=(
) (
)
31. Äîêàçàòü, ÷òî ÷èñëî ïîñëåäîâàòåëüíîñòåé äëèíû n ñ ýëåìåíòàìè èç k ýëåìåíòíîãî ìíîæåñòâà, ñîäåðæàùèõ êàæäûé ýëåìåíò ýòîãî ìíîæåñòâà ïî êðàéíåé ìåðå îäèí ðàç, ðàâíî k S n; k .
! ( )
+
1 2 1 2
32. àçáèåíèå n-ýëåìåíòíîãî ìíîæåñòâà X èìååò òèï 1 2 : : : nn (ãäå 1 2 : : : nn n), åñëè îíî ñîäåðæèò i i-ýëåìåíòíûõ áëîêîâ äëÿ i ; ; : : : ; n. Äîêàçàòü, ÷òî ÷èñëî ðàçáèåíèé òèïà 1 2 : : : nn ðàâíî n! . 1 !:::n !(1!)1 :::(n!)n
2 + + =12 (
=
)
33. Îáîçíà÷èì äëÿ êàæäîãî
gk
( )
k0 k
= dxd k g(x);
f
k
( )
k
= dyd k f (y) jy
gx
= ( )
Äîêàçàòü, ÷òî
n X X n! g k1 : : : g n kn dn j f f (g(x)) = dxn k !(1!)k1 : : : kn !(n!)kn k1 +k2 +:::+kn =j j k1 +2k2 +:::+nkn =n k1 ;k2 ;:::;kn 0 (1)
(
)
( )
1
=0
Ïîêàçàòü,
f
j
( )
g
(1)
k1
÷òî
ñóììà êîýèöèåíòîâ ïðè kn ) ðàâíà ÷èñëó Áåëëà Bn .
::: g n (
âñåõ
ñëàãàåìûõ
âèäà
0
34. Äîêàçàòü, ÷òî äëÿ êàæäîãî m ìàðèöà ÷èñåë Ñòèðëèíãà ïåðâîãî ðîäà s n; k 0n;km åñòü îáðàòíàÿ ìàòðèöà äëÿ ìàòðèöû ÷èñåë Ñòèðëèíãà âòîðîãî ðîäà S n; k 0n;km
[ ( )℄
[ ( )℄
35. Äîêàçàòü, ÷òî
[x℄n =
n X k=0
( )
js(n; k)j xk
36. Äîêàçàòü, ÷òî js n; k j åñòü ÷èñëî òåõ ïåðåñòàíîâîê n-ýëåìåíòíîãî ìíîæåñòâà, êîòîðûå èìåþò â ðàçáèåíèè íà öèêëû â òî÷íîñòè k öèêëîâ. 37. àññìîòðèì ñëåäóþùóþ ïðîãðàììó:
ëàâà 1. Ââåäåíèå â êîìáèíàòîðèêó
76
min := 1 for i:=1 to n do if P [i℄ < min then min:=P [i℄; Äîêàçàòü, ÷òî âåðîÿòíîñòü òîãî, ÷òî äëÿ ïðîèçâîëüíî âûáðàííîé ïåðåñòàíîâêè P ; : : : ; P n êîìàíäà min P i áóäåò âûïîëíÿòüñÿ â òî÷íîñòè k ðàç, ñîñòàâëÿåò js n; k j=n . Äîêàçàòü, ÷òî ñðåäíåå ÷èñëî âûïîëíåíèé óêàçàííîé êîìàíäû äëÿ ïðîèçâîëüíî âûáðàííîé ïåðåñòàíîâêè åñòü O n,
[1℄
[℄ ( ) !
òî÷íîå çíà÷åíèå ðàâíî
n! ïåðåñòàíîâêàõ.)
n P
k=1
:= [ ℄
(log )
1 k! . (Óêàçàíèå: ïîäñ÷èòàòü ÷èñëî öèêëîâ âî âñåõ
38. Äîêàçàòü, ÷òî ñðåäíåå ÷èñëî øàãîâ, íåîáõîäèìûõ äëÿ ïîñòðîåíèÿ êàæäîãî ñëåäóþùåãî ðàçáèåíèÿ â àëãîðèòìå 1.19, îãðàíè÷åíî êîíñòàíòîé, íå çàâèñÿùåé îò n. Äàòü ìîäèèêàöèþ àëãîðèòìà, ãàðàíòèðóþùóþ îãðàíè÷åííîñòü ýòîãî ÷èñëà êîíñòàíòîé äëÿ êàæäîãî ïîðîæä¼ííîãî ðàçáèåíèÿ (ñð. ñ çàäà÷åé 1.15). 39. Äîêàçàòü, ÷òî ÷èñëî ðàçáèåíèé ÷èñëà n, â êîòîðîì íè îäíî èç ñëàãàåìûõ íå ïðåâîñõîäèò k , ðàâíî ÷èñëó ðàçáèåíèé ÷èñëà n k íà k ñëàãàåìûõ, ò.å. P n k; k .
( +
+
)
40. Äîêàçàòü, ÷òî ÷èñëî ñàìîñîïðÿæ¼ííûõ ðàçáèåíèé ÷èñëà n (ò.å. ðàâíûõ ñîïðÿæ¼ííîìó ðàçáèåíèþ) ðàâíî ÷èñëó ðàçáèåíèé ÷èñëà n íà ïîïàðíî ðàçëè÷íûå íå÷¼òíûå ñëàãàåìûå.
()
()
41. Îáîçíà÷èì ÷åðåç E n è O n ñîîòâåòñòâåííî ÷èñëî ðàçáèåíèé ÷èñëà n íà ïîïàðíî ðàçëè÷èìûå ÷¼òíûå ñëàãàåìûå è íà ïîïàðíî ðàçëè÷èìûå íå÷¼òíûå ñëàãàåìûå. Äîêàçàòü, ÷òî
E (n) O(n) =
( 1)k ; 0
(3
åñëè n èìååò âèä k 2 k â ïðîòèâíîì ñëó÷àå
( )
)=2
42. àçðàáîòàòü àëãîðèòì ãåíåðèðîâàíèÿ âñåõ P n; k ðàçáèåíèé ÷èñëà n íà k ñëàãàåìûõ â ïîðÿäêå, îáðàòíîì ëåêñèêîãðàè÷åñêîìó, òàêîé ÷òî ÷èñëî øàãîâ, íåîáõîäèìûõ äëÿ ïîñòðîåíèÿ êàæäîãî ñëåäóþùåãî ðàçáèåíèÿ, îãðàíè÷åíî êîíñòàíòîé, íå çàâèñÿùåé îò n. 43. ÿä
1 X k k x k=0
k!
1.14. Çàäà÷è
77
áóäåì íàçûâàòü ýêñïîíåíöèàëüíîé ïðîèçâîäÿùåé óíêöèåé äëÿ ïîñëåäîâàòåëüíîñòè 0 ; 1 ; : : :. Ïóñòü k ÷èñëî ðàçëè÷íûõ ïîñëåäîâàòåëüíîñòåé äëèíû k ñ ýëåìåíòàìè èç ìíîæåñòâà Y fy1; : : : ; yn g, â êîòîðûõ ÷èñëî ïîÿâëåíèé ýëåìåíòà yi ïðèíàäëåæèò ìíîæåñòâó fmi1 ; mi2 ; : : :g mi1 < mi2 < : : : . Äîêàçàòü, ÷òî ýêñïîíåíöèàëüíàÿ ïðîèçâîäÿùàÿ óíêöèÿ äëÿ ïîñëåäîâàòåëüíîñòè 0 ; 1 ; : : : åñòü
=
(
)
(x) =
m x 11
xm12 + +::: m ! m ! 11
m x 21
xm22 xmn1 xmn2 + + ::: ::: + +::: m ! m ! mn ! mn !
12
21
22
1
2
44. Äîêàçàòü, ÷òî
Fn
+1
=
n X n
k+1 k
k=0
=
b nX= n k+1 k k (
+1) 2
=0
45. Äîêàçàòü, ÷òî ÷èñëî áèíàðíûõ ïîñëåäîâàòåëüíîñòåé äëèíû n, íå ñîäåðæàùèõ åäèíèö íè íà êàêèõ äâóõ ñîñåäíèõ ïîçèöèÿõ, ðàâíî ÷èñëó Ôèááîíà÷÷è Fn+1 . 46. Îïèñàòü ìåòîä ðåøåíèÿ âîçâðàòíûõ óðàâíåíèé âèäà
C an + C an 0
1
+ : : : + Cr an r = 0
1
(ñ íà÷àëüíûìè óñëîâèÿìè, îïðåäåëÿþùèìè çíà÷åíèÿ a0 ; a1 ; : : : ; an 1 ) ïðè ïîìîùè ïðîèçâîäÿùèõ óíêöèé, àíàëîãè÷íûé ìåòîäó, èñïîëüçîâàííîìó äëÿ íàõîæäåíèÿ îðìóëû (1.65), îïðåäåëÿþùåé ÷èñëà Ôèááîíà÷÷è. 47. Ïóñòü pn ÷èñëî âñåâîçìîæíûõ ðàñïîëîæåíèé ñêîáîê â ïðîèçâåäåíèè x0 : : : xn (íàïðèìåð, p2 , òàê êàê èìååòñÿ äâà ñïîñîáà ðàññòàíîâêè ñêîáîê: x0 x1 x2 , x0 x1 x2 ). Äîêàçàòü, ÷òî pn ðàâíî ÷èñëó Êàòàëàíà n .
(
)
(
=2
)
48. Äîêàçàòü, ÷òî ÷èñëî ñïîñîáîâ, êîòîðûìè ìîæíî ðàçáèòü ïëîñêèé âûïóêëûé n -óãîëüíèê íà ðàçëè÷íûå òðåóãîëüíèêè ñ ïîìîùüþ n äèàãîíàëåé, íå ïåðåñåêàþùèõñÿ âíóòðè ýòîãî n -óãîëüíèêà, ðàâíî ÷èñëó Êàòàëàíà n .
( + 2)
49. Îáîçíà÷èì ÷åðåç êàçàòü, ÷òî
(n) ãäå
(x) êîëè÷åñòâî ïðîñòûõ ÷èñåë, íå ïðåâîñõîäÿùèõ x. Äî-
pn = n 1 p
k = ( n)
1
( + 2)
X
ik
1
n pi
+
X
i<jk
1
n pi pj
: : :+(
1)k
n ; p p : : : pk 1
2
ëàâà 1. Ââåäåíèå â êîìáèíàòîðèêó
78
()
50. Îáîçíà÷èì ÷åðåç ' n êîëè÷åñòâî íàòóðàëüíûõ ÷èñåë, íå ïðåâîñõîäÿùèõ n è âçàèìíî ïðîñòûõ ñ n (ò.å. íå èìåþùèõ îáùåãî äåëèòåëÿ, áîëüøåãî åäèíèöû). Äîêàçàòü, ÷òî 0
'(n) = n 1 ãäå
q ; : : : ; qm 1
m X i=1
n qi
+
n ijm qi qj X
1
::: +(
1)m q q 1
2
1
: : : qm
1 A
=n
m Y i=1
ÿâëÿþòñÿ ðàçëè÷íûìè ïðîñòûìè äåëèòåëÿìè ÷èñëà n.
1 q1i ;
ëàâà 2
Àëãîðèòìû íà ãðààõ 2.1 Ìàøèííîå ïðåäñòàâëåíèå ãðàîâ Î÷åâèäíî, ÷òî íàèáîëåå ïîíÿòíûé è ïîëåçíûé äëÿ ÷åëîâåêà ñïîñîá ïðåäñòàâëåíèÿ ãðàà èçîáðàæåíèå ãðàà íà ïëîñêîñòè â âèäå òî÷åê è ñîåäèíÿþùèõ èõ ëèíèé áóäåò ñîâåðøåííî áåñïîëåçíûì, åñëè ìû çàõîòèì ðåøàòü ñ ïîìîùüþ ÝÂÌ çàäà÷è, ñâÿçàííûå ñ ãðààìè. Âûáîð ñîîòâåòñòâóþùåé ñòðóêòóðû äàííûõ äëÿ ïðåäñòàâëåíèÿ ãðàîâ èìååò ïðèíöèïèàëüíîå âëèÿíèå íà ýåêòèâíîñòü àëãîðèòìîâ, ïîýòîìó ìû ïîäðîáíåå îñòàíîâèìñÿ íà ýòîé ïðîáëåìå. Ìû ïîêàæåì íåñêîëüêî ðàçëè÷íûõ ñïîñîáîâ ïðåäñòàâëåíèÿ è êðàòêî ðàçáåðåì èõ îñíîâíûå äîñòîèíñòâà è íåäîñòàòêè. Ìû áóäåì ðàññìàòðèâàòü êàê îðèåíòèðîâàííûå, òàê è íåîðèåíòèðîâàííûå ãðàû. ðà ìû áóäåì âñåãäà îáîçíà÷àòü G hV; E i, ãäå V îáîçíà÷àåò ìíîæåñòâî âåðøèí, à E ìíîæåñòâî ðåáåð1 , ïðè÷åì E V V äëÿ îðèåíòèðîâàííîãî ãðàà è E ffx; y g x; y 2 V ^ x 6 y g äëÿ íåîðèåíòèðîâàííîãî ãðàà. Áóäåì òàêæå èñïîëüçîâàòü îáîçíà÷åíèÿ jV j n è jE j m.  òåîðèè ãðàîâ êëàññè÷åñêèì ñïîñîáîì ïðåäñòàâëåíèÿ ãðàà ñëóæèò ìàòðèöà èíöèäåíöèé. Ýòî ìàòðèöà A ñ n ñòðîêàìè, ñîîòâåòñòâóþùèìè âåðøèíàì, è m ñòîëáöàìè, ñîîòâåòñòâóþùèìè ðåáðàì. Äëÿ îðèåíòèðîâàííîãî ãðàà ñòîëáåö, ñîîòâåòñòâóþùèé äóãå hx; y i 2 E , ñîäåðæèò â ñòðîêå, ñîîòâåòñòâóþùåé âåðøèíå x, 1 â ñòðîêå, ñîîòâåòñòâóþùåé âåðøèíå y , è íóëè âî âñåõ îñòàëüíûõ ñòðîêàõ (ïåòëþ, ò.å. äóãó âèäà hx; xi, óäîáíî ïðåäñòàâëÿòü èíûì çíà÷åíèåì â ñòðîêå x, íàïðèìåð, 2).  ñëó÷àå íåîðèåíòèðîâàííîãî ãðàà ñòîëáåö, ñîîòâåò-
=
:
=
=
=
1
1  îòå÷åñòâåííîé ëèòåðàòóðå ðåáðà îðèåíòèðîâàííîãî ãðàà ïðèíÿòî íàçûâàòü . äàëüíåéøåì ìû áóäåì óïîòðåáëÿòü ýòîò òåðìèí âåçäå, ãäå ðå÷ü èäåò îá îðãðààõ, èñïîëüçóÿ òåðìèí ¾ðåáðî¿ êàê áîëåå îáùèé. äóãàìè
Ïðèì. ïåðåâ.
79
ëàâà 2. Àëãîðèòìû íà ãðààõ
80
(à)
uHHj*HHuu6*u?uu6 2
5
1
4
3
6
1 2 3 4 5 6
2
1 2 3 4 5 6
2
6 6 6 6 6 6 4
-1 1 0 0 0 0
-1 0 1 0 0 0
0 1 -1 0 0 0
0 0 -1 1 0 0
0 0 0 1 -1 0
0 0 0 0 -1 1
0 0 0 0 1 -1
0 0 1 1 0 0
0 0 0 1 1 0
0 0 0 1 0 1
3 7 7 7 7 7 7 5
(á)
u uu HuuHHu 3
1 HHH 2
4
6
5
6 6 6 6 6 6 4
1 1 0 0 0 0
1 0 1 0 0 0
1 0 0 0 1 0
0 1 1 0 0 0
0 1 0 0 1 0
0 0 0 0 1 1
3 7 7 7 7 7 7 5
èñ. 2.1: à) îðèåíòèðîâàííûé ãðà è åãî ìàòðèöà èíöèäåíöèé; á) íåîðèåíòèðîâàííûé ãðà è åãî ìàòðèöà èíöèäåíöèé ñòâóþùèé ðåáðó fx; y g, ñîäåðæèò 1 â ñòðîêàõ, ñîîòâåòñòâóþùèõ x è y , è íóëè â îñòàëüíûõ ñòðîêàõ. Ýòî ïðîèëëþñòðèðîâàíî íà ðèñ. 2.1. Ñ àëãîðèòìè÷åñêîé òî÷êè çðåíèÿ ìàòðèöà èíöèäåíöèé ÿâëÿåòñÿ, âåðîÿòíî, ñàìûì õóäøèì ñïîñîáîì ïðåäñòàâëåíèÿ ãðàà, êîòîðûé òîëüêî ìîæíî ñåáå ïðåäñòàâèòü. Âî-ïåðâûõ, îí òðåáóåò mn ÿ÷ååê ïàìÿòè, ïðè÷åì áîëüøèíñòâî ýòèõ ÿ÷ååê âîîáùå çàíÿòî íóëÿìè. Íåóäîáåí òàêæå äîñòóï ê èíîðìàöèè. Îòâåò íà ýëåìåíòàðíûå âîïðîñû òèïà ¾ñóùåñòâóåò ëè äóãà hx; y i?¿, ¾ê êàêèì âåðøèíàì âåäóò ðåáðà èç x?¿ òðåáóåò â õóäøåì ñëó÷àå ïåðåáîðà âñåõ ñòîëáöîâ ìàòðèöû, à ñëåäîâàòåëüíî, m øàãîâ. Ëó÷øèì ñïîñîáîì ïðåäñòàâëåíèÿ ãðàà ÿâëÿåòñÿ ìàòðèöà ñìåæíîñòè, îïðåäåëÿåìàÿ êàê ìàòðèöà B bij ðàçìåðà n n, ãäå bij , åñëè ñóùåñòâóåò ðåáðî, èäóùåå èç âåðøèíû x â âåðøèíó y , è bij â ïðîòèâíîì ñëó÷àå. Çäåñü
=[ ℄
=0
=1
2.1. Ìàøèííîå ïðåäñòàâëåíèå ãðàîâ (à) . 1 2 3 4 5 6
1 0 0 0 0 0 0
2 1 0 1 0 0 0
3 1 0 0 0 0 0
4 0 0 1 0 1 0
5 0 0 0 0 0 1
(á) . 1 2 3 4 5 6
6 0 0 0 0 1 0
1 0 1 1 0 1 0
81 2 1 0 1 0 1 0
3 1 1 0 1 0 0
4 0 0 1 0 1 1
5 1 1 0 1 0 1
6 0 0 0 1 1 0
èñ. 2.2: Ìàòðèöû ñìåæíîñòè äëÿ ãðàîâ íà ðèñ. 2.1. ìû ïîäðàçóìåâàåì, ÷òî ðåáðî fx; y g íåîðèåíòèðîâàííîãî ãðàà èäåò êàê îò x ê y , òàê è îò y ê x, òàê ÷òî ìàòðèöà ñìåæíîñòè òàêîãî ãðàà âñåãäà ÿâëÿåòñÿ ñèììåòðè÷íîé. Ýòî ïðîèëëþñòðèðîâàíî íà ðèñ. 2.2. Îñíîâíûì ïðåèìóùåñòâîì ìàòðèöû ñìåæíîñòè ÿâëÿåòñÿ òîò àêò, ÷òî çà îäèí øàã ìîæíî ïîëó÷èòü îòâåò íà âîïðîñ ¾ñóùåñòâóåò ëè ðåáðî èç x â y ?¿. Íåäîñòàòêîì æå ÿâëÿåòñÿ òîò àêò, ÷òî íåçàâèñèìî îò ÷èñëà ðåáåð îáúåì çàíÿòîé ïàìÿòè ñîñòàâëÿåò n2 . Íà ïðàêòèêå ýòî íåóäîáñòâî ìîæíî èíîãäà óìåíüøèòü, õðàíÿ öåëóþ ñòðîêó (ñòîëáåö) ìàòðèöû â îäíîì ìàøèííîì ñëîâå ýòî âîçìîæíî äëÿ ìàëûõ n.  êà÷åñòâå åùå îäíîãî àðãóìåíòà ïðîòèâ èñïîëüçîâàíèÿ ìàòðèöû ñìåæíîñòè ïðèâåäåì òåîðåìó î ÷èñëå øàãîâ, êîòîðîå äîëæåí âûïîëíèòü àëãîðèòì, ïðîâåðÿþùèé íà îñíîâå ìàòðèöû ñìåæíîñòè íåêîòîðîå ñâîéñòâî ãðàà. Ïóñòü P íåêîòîðîå ñâîéñòâî ãðàà (P G èëè P G â çàâèñèìîñòè îò òîãî, îáëàäàåò èëè íå îáëàäàåò G íàøèì ñâîéñòâîì). Ïðåäïîëîæèì, ÷òî ñâîéñòâî P óäîâëåòâîðÿåò ñëåäóþùèì òðåì óñëîâèÿì:
( )=0
(a)
( )=1
P (G) = P (G), åñëè ãðàû G è G0
( )=0
èçîìîðíû;
(0) = 1
(á) P G äëÿ ïðîèçâîëüíîãî ïóñòîãî ãðàà hV; ?i è P äëÿ ïðîèçâîëüíîãî ïîëíîãî ãðàà hV; P2 V i ñ äîñòàòî÷íî áîëüøèì ÷èñëîì âåðøèí;
( )
( )
( )
(â) äîáàâëåíèå ðåáðà íå íàðóøàåò ñâîéñòâà P , ò.å. P G P G0 äëÿ ïðîèçâîëüíûõ ãðàîâ G hV; E i è G0 hV; E 0 i, òàêèõ ÷òî E E 0 .
=
=
Ïðèìåðîì òàêîãî ñâîéñòâà P ÿâëÿåòñÿ ñóùåñòâîâàíèå öèêëà (â ãðàå, èìåþùåì ïî êðàéíåé ìåðå òðè âåðøèíû). Òåîðåìà 2.1. Åñëè P ñâîéñòâî ãðàà, îòâå÷àþùåå óñëîâèÿì (à), (á), (â), òî êàæäûé àëãîðèòì, ïðîâåðÿþùèé ñâîéñòâî P (ò.å. âû÷èñëÿþùèé çíà÷åíèå P G äëÿ äàííîãî ãðàà G) íà îñíîâå ìàòðèöû ñìåæíîñòè, âûïîëíÿåò â õóäøåì ñëó÷àå n2 øàãîâ, ãäå n ÷èñëî âåðøèí ãðàà.
( )
( )
ëàâà 2. Àëãîðèòìû íà ãðààõ
82 (à) 1 2 (á) 1 2
1 3
3 2
3 4
5 4
5 6
4 5
1 3
1 5
2 3
2 5
3 4
4 5
4 6
5 6
èñ. 2.3: Ñïèñêè ð¼áåð, ñîîòâåòñòâóþùèå ãðààì íà ðèñ. 2.1. Ýòà òåîðåìà ñïðàâåäëèâà òàêæå äëÿ îðèåíòèðîâàííûõ ãðàîâ è äëÿ ñâîéñòâ, íå çàâèñÿùèõ îò ïåòåëü ãðàà, ò.å. îòâå÷àþùèõ äîïîëíèòåëüíîìó óñëîâèþ
P (G) = P (G0 ) äëÿ ïðîèçâîëüíûõ îðèåíòèðîâàííûõ ãðàîâ G = hV; E i, 0 G = hV; E [ hv; vii; v 2 V .
(ã)
Äîêàçàòåëüñòâî òåîðåìû ÷èòàòåëü ìîæåò íàéòè â ðàáîòàõ [5℄ è [59℄. Áîëåå ýêîíîìíûì â îòíîøåíèè ïàìÿòè (îñîáåííî â ñëó÷àå íåïëîòíûõ ãðàîâ, êîãäà m ãîðàçäî ìåíüøå n2 ) ÿâëÿåòñÿ ìåòîä ïðåäñòàâëåíèÿ ãðàà ñ ïîìîùüþ ñïèñêà ïàð, ñîîòâåòñòâóþùèõ åãî ðåáðàì. Ïàðà hx; y i ñîîòâåòñòâóåò äóãå hx; yi, åñëè ãðà îðèåíòèðîâàííûé, è ðåáðó fx; yg â ñëó÷àå íåîðèåíòèðîâàííîãî ãðàà (ðèñ. 2.3). Î÷åâèäíî, ÷òî îáúåì ïàìÿòè â ýòîì ñëó÷àå ñîñòàâëÿåò m. Íåóäîáñòâîì ÿâëÿåòñÿ áîëüøîå ÷èñëî øàãîâ ïîðÿäêà m â õóäøåì ñëó÷àå, íåîáõîäèìîå äëÿ ïîëó÷åíèÿ ìíîæåñòâà âåðøèí, ê êîòîðûì âåäóò ðåáðà èç äàííîé âåðøèíû. Ñèòóàöèþ ìîæíî çíà÷èòåëüíî óëó÷øèòü, óïîðÿäî÷èâ ìíîæåñòâî ïàð ëåêñèêîãðàè÷åñêè è ïðèìåíÿÿ äâîè÷íûé ïîèñê, íî ëó÷øèì ðåøåíèåì âî ìíîãèõ ñëó÷àÿõ îêàçûâàåòñÿ ñòðóêòóðà äàííûõ, êîòîðóþ ìû áóäåì íàçûâàòü ñïèñêàìè èíöèäåíòíîñòè. Îíà ñîäåðæèò äëÿ êàæäîé âåðøèíû v 2 V ñïèñîê âåðøèí u, òàêèõ ÷òî v ! u (èëè v u â ñëó÷àå íåîðèåíòèðîâàííîãî ãðàà). Òî÷íåå, êàæäûé ýëåìåíò òàêîãî ñïèñêà ÿâëÿåòñÿ çàïèñüþ r, ñîäåðæàùåé âåðøèíó r:ñòðîêà è óêàçàòåëü r:ñëåä íà ñëåäóþùóþ çàïèñü â ñïèñêå (r:ñëåä = nil äëÿ ïîñëåäíåé çàïèñè â ñïèñêå). Íà÷àëî êàæäîãî ñïèñêà õðàíèòñÿ â òàáëèöå ÍÀ×ÀËÎ, òî÷íåå, ÍÀ×ÀËÎ v ÿâëÿåòñÿ óêàçàòåëåì íà íà÷àëî ñïèñêà, ñîäåðæàùåãî âåðøèíû èç ìíîæåñòâà fu v ! ug (fu v ug äëÿ íåîðèåíòèðîâàííîãî ãðàà). Âåñü òàêîé ñïèñîê îáû÷íî íåîðìàëüíî áóäåì îáîçíà÷àòü ÇÀÏÈÑÜ u , à öèêë, âûïîëíÿþùèé îïðåäåëåííóþ îïåðàöèþ äëÿ êàæäîãî ýëåìåíòà u èç ýòîãî ñïèñêà â ïðîèçâîëüíîé, íî ÷åòêî óñòàíîâëåííîé ïîñëåäîâàòåëüíîñòè, ñîîòâåòñòâóþùåé î÷åðåäíîñòè ýëåìåíòîâ â ñïèñêå, áóäåì çàïèñûâàòü ¾for u 2 ÇÀÏÈÑÜ v do : : :¿.
2
[℄
:
:
[℄
[℄
Îòìåòèì, ÷òî äëÿ íåîðèåíòèðîâàííûõ ãðàîâ êàæäîå ðåáðî fu; v g ïðåäñòàâëåíî äâàæäû: ÷åðåç âåðøèíó v â ñïèñêå ÇÀÏÈÑÜ u è ÷åðåç âåðøèíó u â ñïèñêå
[℄
2.2. Ïîèñê â ãëóáèíó â ãðàå
83
(à)
(á)
ÍÀ×ÀËÎ
ÍÀ×ÀËÎ
1 2 3 4 5 6
r- r r- r rr-- r 2
3 nil
2
4 nil
2 5 nil
4 nil
nil
nil
1 2 3 4 5 6
rr-rr-rr--
2 1 1 3 1 4
rr -rr -rr --
rr -rr -r- r-
3 3 2 5 2 5 nil
5 nil 5 nil 4 nil 6 nil 4
6 nil
[ ℄ v 2 V , ñîîòâåòñòâóþùèå ãðààì
èñ. 2.4: Ñïèñêè èíöèäåíòíîñòè ÇÀÏÈÑÜ v , íà ðèñ. 2.1.
[℄
ÇÀÏÈÑÜ v . Âî ìíîãèõ àëãîðèòìàõ ñòðóêòóðà ãðàà äèíàìè÷åñêè ìîäèèöèðóåòñÿ äîáàâëåíèåì è óäàëåíèåì ðåáåð.  òàêèõ ñëó÷àÿõ ïîëàãàåì, ÷òî â íàøèõ ñïèñêàõ èíöèäåíòíîñòè ýëåìåíò ñïèñêà ÇÀÏÈÑÜ u , ñîäåðæàùèé âåðøèíó v, ñíàáæåí óêàçàòåëåì íà ýëåìåíò ñïèñêà ÇÀÏÈÑÜ u , ñîäåðæàùèé âåðøèíó u, è ÷òî êàæäûé ýëåìåíò ñïèñêà ñîäåðæèò óêàçàòåëü íå òîëüêî ê ñëåäóþùåìó ýëåìåíòó, íî è ê ïðåäûäóùåìó. Òîãäà óäàëÿÿ íåêîòîðûé ýëåìåíò èç ñïèñêà, ìû ìîæåì ëåãêî çà ÷èñëî øàãîâ, îãðàíè÷åííîå êîíñòàíòîé, óäàëèòü äðóãîé ýëåìåíò, ïðåäñòàâëÿþùèé òî æå ñàìîå ðåáðî, íå ïðîñìàòðèâàÿ ñïèñîê, ñîäåðæàùèé ýòîò ýëåìåíò (ñì. çàäà÷ó 2.3). Àíàëîãè÷íûì ñïîñîáîì îïðåäåëÿåì äëÿ êàæäîé âåðøèíû v íåîðèåíòèðîâàííîãî ãðàà ñïèñîê ÏÅÄØ v , ñîäåðæàùèé âåðøèíû èç ìíîæåñòâà fu u ! v g. ×èñëî ÿ÷ååê ïàìÿòè, íåîáõîäèìîå äëÿ ïðåäñòàâëåíèÿ ãðàà ñ ïîìîùüþ ñïèñêîâ èíöèäåíòíîñòè, áóäåò, î÷åâèäíî, èìåòü ïîðÿäîê m n. Íà ðèñ. 2.4 ïðåäñòàâëåíû ñïèñêè èíöèäåíòíîñòè, ñîîòâåòñòâóþùèå ãðààì íà ðèñ. 2.1.
[℄ [℄
[℄
:
+
2.2 Ïîèñê â ãëóáèíó â ãðàå Ñóùåñòâóåò ìíîãî àëãîðèòìîâ íà ãðààõ, â îñíîâå êîòîðûõ ëåæèò ñèñòåìàòè÷åñêèé ïåðåáîð âåðøèí ãðàà, òàêîé ÷òî êàæäàÿ âåðøèíà ïðîñìàòðèâàåòñÿ â òî÷íîñòè îäèí ðàç. Ïîýòîìó âàæíîé çàäà÷åé ÿâëÿåòñÿ íàõîæäåíèå õîðîøèõ ìåòîäîâ ïîèñêà â ãðàå. Âîîáùå ãîâîðÿ, ìåòîä ïîèñêà ¾õîðîø¿, åñëè
(à) îí ïîçâîëÿåò àëãîðèòìó ðåøåíèÿ èíòåðåñóþùåé íàñ çàäà÷è ëåãêî ¾ïîãðóçèòüñÿ¿ â ýòîò ìåòîä è (á) êàæäîå ðåáðî ãðàà àíàëèçèðóåòñÿ íå áîëåå îäíîãî ðàçà (èëè, ÷òî ñóùåñòâåííî íå ìåíÿåò ñèòóàöèè, ÷èñëî ðàç, îãðàíè÷åííîå êîíñòàíòîé).
ëàâà 2. Àëãîðèòìû íà ãðààõ
84
Îïèøåì òåïåðü òàêîé ìåòîä ïîèñêà â íåîðèåíòèðîâàííîì ãðàå, êîòîðûé ñòàë îäíîé èç îñíîâíûõ ìåòîäèê ïðîåêòèðîâàíèÿ ãðàîâûõ àëãîðèòìîâ. Ýòîò ìåòîä íàçûâàåòñÿ ïîèñêîì â ãëóáèíó (àíãë. depth first sear h [66℄) ïî ïðè÷èíàì, êîòîðûå, êàê ìû íàäååìñÿ, âñêîðå ñòàíóò ÿñíûìè. Îáùàÿ èäåÿ ýòîãî ìåòîäà ñîñòîèò â ñëåäóþùåì. Ìû íà÷èíàåì ïîèñê ñ íåêîòîðîé èêñèðîâàííîé âåðøèíû v0 . çàòåì âûáèðàåì ïðîèçâîëüíóþ âåðøèíó u, ñìåæíóþ ñ v0 , è ïîâòîðÿåì íàø ïðîöåññ îò u.  îáùåì ñëó÷àå ïðåäïîëîæèì, ÷òî ìû íàõîäèìñÿ â âåðøèíå v . Åñëè ñóùåñòâóåò íîâàÿ (åùå íåïðîñìîòðåííàÿ) âåðøèíà u, u v , òî ìû ðàññìàòðèâàåì ýòó âåðøèíó (îíà ïåðåñòàåò áûòü íîâîé), è, íà÷èíàÿ ñ íåå, ïðîäîëæàåì ïîèñê. Åñëè æå íå ñóùåñòâóåò íè îäíîé íîâîé âåðøèíû, ñìåæíîé ñ v , òî ìû ãîâîðèì, ÷òî âåðøèíà v èñïîëüçîâàíà, âîçâðàùàåìñÿ â âåðøèíó, èç êîòîðîé ìû ïîïàëè â v , è ïðîäîëæàåì ïðîöåññ (åñëè v v0 , òî ïîèñê çàêîí÷åí). Äðóãèìè ñëîâàìè, ïîèñê â ãëóáèíó èç âåðøèíû v îñíîâûâàåòñÿ íà ïîèñêå â ãëóáèíó èç âñåõ íîâûõ âåðøèí, ñìåæíûõ ñ v . Ýòî ìîæíî ëåãêî çàïèñàòü ñ ïîìîùüþ ñëåäóþùåé ðåêóðñèâíîé ïðîöåäóðû:
=
1 pro edure W G(v ) (*ïîèñê â ãëóáèíó èç âåðøèíû v , ïåðåìåííûå ÍÎÂÛÉ, ÇÀÏÈÑÜ ãëîáàëüíûå *) 2 begin ðàññìîòðåòü v ; ÍÎÂÛÉ v :=ëîæü; 3 for u 2 ÇÀÏÈÑÜ v do 4 if ÍÎÂÛÉ u then W G u 5 end (*âåðøèíà v èñïîëüçîâàíà*)
[℄
[℄ [℄
()
Ïîèñê â ãëóáèíó â ïðîèçâîëüíîì, íåîáÿçàòåëüíî ñâÿçíîì ãðàå ïðîâîäèòñÿ ñîãëàñíî ñëåäóþùåìó àëãîðèòìó: 1. 2. 3. 4. 5.
begin for
v 2 V do ÍÎÂÛÉ[v℄:=èñòèíà; for v 2 V do if ÍÎÂÛÉ[u℄ then W G(v )
end
Ïîêàæåì òåïåðü, ÷òî ýòîò àëãîðèòì ïðîñìàòðèâàåò êàæäóþ âåðøèíó â òî÷íîñòè îäèí ðàç è åãî ñëîæíîñòü ïîðÿäêà O m n . Îòìåòèì ñíà÷àëà, ÷òî âûçîâ W G v âëå÷åò çà ñîáîé ïðîñìîòð âñåõ âåðøèí ñâÿçíîé êîìïîíåíòû ãðàà, ñîäåðæàùåé v (åñëè ÍÎÂÛÉ u =èñòèíà äëÿ êàæäîé âåðøèíû u ýòîé êîìïîíåíòû). Ýòî íåïîñðåäñòâåííî ñëåäóåò èç ñòðóêòóðû ïðîöåäóðû W G: ïîñëå ïîñåùåíèÿ âåðøèíû (ñòðîêà 2) ñëåäóåò âûçîâ ïðîöåäóðû W G äëÿ âñåõ åå íîâûõ ñîñåäåé. Îòìåòèì òàêæå, ÷òî êàæäàÿ âåðøèíà ïðîñìàòðèâàåòñÿ íå áîëåå îäíîãî ðàçà, òàê êàê ïðîñìàòðèâàòüñÿ ìîæåò òîëüêî âåðøèíà u, äëÿ êîòîðîé ÍÎÂÛÉ v =èñòèíà, ñðàçó æå ïîñëå ïîñåùåíèÿ ýòîé âåðøèíû èñïîëíÿåòñÿ êîìàíäà ÍÎÂÛÉ u :=ëîæü (ñòðîêà 2).
( + )
()
[℄
[℄
[℄
2.2. Ïîèñê â ãëóáèíó â ãðàå
85
Íàø àëãîðèòì íà÷èíàåò ïîèñê ïîî÷åðåäíî îò êàæäîé åùå íå ïðîñìîòðåííîé âåðøèíû, ñëåäîâàòåëüíî, ïðîñìàòðèâàþòñÿ âñå âåðøèíû ãðàà (íåîáÿçàòåëüíî ñâÿçíîãî). ×òîáû îöåíèòü âû÷èñëèòåëüíóþ ñëîæíîñòü àëãîðèòìà, îòìåòèì ñíà÷àëà, ÷òî ÷èñëî øàãîâ â îáîèõ öèêëàõ (ñòðîêè 2 è 3) ïîðÿäêà n, íå ñ÷èòàÿ øàãîâ, âûïîëíåíèå êîòîðûõ èíèöèèðîâàíî âûçîâîì ïðîöåäóðû W G. Ýòà ïðîöåäóðà âûïîëíÿåòñÿ íå áîëåå n ðàç âî âòîðîì öèêëå ñðàçó ïîñëå ïîñåùåíèÿ êàæäîé èç âåðøèí äëÿ êàæäîãî èç åå íîâûõ ñîñåäåé, èòîãî ñóììàðíî O n m ðàç. Ïîëíîå ÷èñëî øàãîâ, âûïîëíÿåìûõ öèêëîì â ñòðîêå 3 ïðîöåäóðû W G (íå ñ÷èòàÿ øàãîâ, âûïîëíÿåìûõ W G n ), äëÿ âñåõ âûçîâîâ ýòîé ïðîöåäóðû áóäåò ïîðÿäêà m, ãäå m - ÷èñëî ðåáåð. Ýòî äàåò îáùóþ ñëîæíîñòü àëãîðèòìà O m n . Îòìåòèì, ÷òî àëãîðèòì ïîèñêà â ãëóáèíó â ïðîèçâîëüíîì ãðàå ìîæíî ëåãêî ìîäèèöèðîâàòü òàê, ÷òîáû îí âû÷èñëÿë ñâÿçíûå êîìïîíåíòû ýòîãî ãðàà. Çàèêñèðóåì ýòîò àêò: Ñëåäñòâèå 2.2. Ñâÿçíûå êîìïîíåíòû ïðîèçâîëüíîãî ãðàà, ïðåäñòàâëåííîãî ñïèñêàìè èíöèäåíòíîñòè, ìîæíî âû÷èñëèòü çà âðåìÿ O n m .  ñâÿçè ñ òåì, ÷òî ïîèñê â ãëóáèíó èãðàåò âàæíóþ ðîëü â ïðîåêòèðîâàíèè àëãîðèòìîâ íà ãðààõ, ïðåäñòàâèì òàêæå íåðåêóðñèâíóþ âåðñèþ ïðîöåäóðû W G. åêóðñèÿ óäàëÿåòñÿ ñòàíäàðòíûì ñïîñîáîì ïðè ïîìîùè ñòåêà (ñì., íàïðèìåð, [1℄). Êàæäàÿ ïðîñìîòðåííàÿ âåðøèíà ïîìåùàåòñÿ â ñòåê è óäàëÿåòñÿ èç ñòåêà ïîñëå èñïîëüçîâàíèÿ.
( + )
()
( + )
( + )
1
1. pro edure W G (v ); (* ïîèñê â ãëóáèíó â ãðàå, íà÷èíàÿ ñ âåðøèíû v íåðåêóðñèâíàÿ âåðñèÿ ïðîöåäóðû W G; ïðåäïîëàãàåì, ÷òî â íà÷àëå ïðîöåññà ïîèñêà P u = óêàçàòåëü íà ïåðâóþ çàïèñü ñïèñêà ÇÀÏÈÑÜ u äëÿ êàæäîé âåðøèíû u; ìàññèâû P , ÍÎÂÛÉ ãëîáàëüíûå*) 2. begin ÑÒÅÊ ?; CT EK ( v;ðàññìîòðåòü v; ÍÎÂÛÉ v :=ëîæü; 3. while ÑÒÅÊ 6 ? do 4. begin t top ÑÒÅÊ ; (*t âåðõíèé ýëåìåíò ñòåêà*) (*íàéòè ïåðâóþ íîâóþ âåðøèíó â ñïèñêå ÇÀÏÈÑÜ*) 5. if P t =nil then b:=ëîæü 6. else b:=not ÍÎÂÛÉ P t " :ñòðîêà ; 7. while b do 8. begin P t P t :ñëåä; 9. if p t =nil then b:=ëîæü 10. else b:= not ÍÎÂÛÉ P t " :ñòðîêà 11. end; 12. if p t = nil then (*íàéäåíà íîâàÿ âåðøèíà *) 13. begin t P t " :ñòðîêà; CT EK ( t; 14. ðàññìîòðåòü t; ÍÎÂÛÉ t := ëîæü 15. end
[℄
[℄
:=
[℄
= := (
)
[℄
[ ()
[ ℄ := [ ℄ [℄
[℄
:= [ ℄
℄
[ [℄
[℄
℄
86
u u u u Hu HHu u u u u A u AAu u
3(9)
2(2)
1(1)
5(5)
7(8) 6(4)
8(6)
4(3)
12(11)
10(12)
ëàâà 2. Àëãîðèòìû íà ãðààõ
13(10)
9(7)
11(13)
èñ. 2.5: Íóìåðàöèÿ âåðøèí ãðàà (â ñêîáêàõ), ñîîòâåòñòâóþùàÿ î÷åðåäíîñòè, â êîòîðîé îíè ïðîñìàòðèâàþòñÿ â ïðîöåññàå ïîèñêà â ãëóáèíó. 16. 17. 18. 19.
else
(*âåðøèíà t èñïîëüçîâàíà*) t ( ÑÒÅÊ (*óäàëèòü âåðõíèé ýëåìåíò ñòåêà*)
end end
Êîððåêòíîñòü ýòîé ïðîöåäóðû ìîæíî äîêàçàòü ïóòåì íåçíà÷èòåëüíîé ìîäèèêàöèè àíàëèçà ïðîöåäóðû W G. Ìû îñòàâëÿåì ýòî ÷èòàòåëþ. Íà ðèñ. 2.5 ïîêàçàí ãðà, âåðøèíû êîòîðîãî ïåðåíóìåðîâàíû â ñîîòâåòñòâèè ñ òåì ïîðÿäêîì, â êîòîðîì îíè ïðîñìàòðèâàþòñÿ â ïðîöåññå ïîèñêà â ãëóáèíó (ìû îòîæäåñòâëÿåì ýòè âåðøèíû ñ ÷èñëàìè 1, : : :, 10 è ïîëàãàåì, ÷òî â ñïèñêå ÇÀÏÈÑÜ u âåðøèíû óïîðÿäî÷åíû ïî âîçðàñòàíèþ). Ìåòîäèêà ïîèñêà â ãëóáèíó î÷åâèäíûì îáðàçîì ïåðåíîñèòñÿ íà îðèåíòèðîâàííûå ãðàû. Íåòðóäíî ïðîâåðèòü, ÷òî â ñëó÷àå îðèåíòèðîâàííîãî ãðàà ðåçóëüòàòîì âûçîâà ïðîöåäóðû W G u , à òàêæå W G v áóäåò ïîñåùåíèå çà O n m øàãîâ âñåõ âåðøèí u, òàêèõ ÷òî ñóùåñòâóåò ïóòü èç v â u (ñì. çàäà÷ó 2.11).
[℄
( + )
()
1( )
2.3 Ïîèñê â øèðèíó â ãðàå Òåïåðü ðàññìîòðèì íåñêîëüêî èíîé ìåòîä ïîèñêà â ãðàå, íàçûâàåìûé ïîèñêîì â øèðèíó (àíãë.: breadth first sear h). Ïðåæäå ÷åì îïèñàòü åãî, îòìåòèì, ÷òî ïðè ïîèñêå â ãëóáèíó ÷åì ïîçäíåå áóäåò ïîñåùåíà âåðøèíà, òåì ðàíüøå îíà áóäåò èñïîëüçîâàíà òî÷íåå, òàê áóäåò ïðè äîïóùåíèè, ÷òî âòîðàÿ âåðøèíà ïîñåùàåòñÿ ïåðåä èñïîëüçîâàíèåì ïåðâîé. Ýòî ïðÿìîå ñëåäñòâèå òîãî àêòà,
2.3. Ïîèñê â øèðèíó â ãðàå
87
÷òî ïðîñìîòðåííûå, íî åùå íå èñïîëüçîâàííûå âåðøèíû ñêàïëèâàþòñÿ â ñòåêå. Ïîèñê â øèðèíó, ãðóáî ãîâîðÿ, îñíîâûâàåòñÿ íà çàìåíå ñòåêà î÷åðåäüþ. Ïîñëå òàêîé ìîäèèêàöèè ÷åì ðàíüøå ïîñåùàåòñÿ âåðøèíà (ïîìåùàåòñÿ â î÷åðåäü), òåì ðàíüøå îíà èñïîëüçóåòñÿ (óäàëÿåòñÿ èç î÷åðåäè). Èñïîëüçîâàíèå âåðøèíû ïðîèñõîäèò ñ ïîìîùüþ ïðîñìîòðà ñðàçó âñåõ åùå íåïðîñìîòðåííûõ ñîñåäåé ýòîé âåðøèíû. Âñÿ ïðîöåäóðà ïðåäñòàâëåíà íèæå 1. pro edure W S (v ); (* ïîèñê â øèðèíó â ãðàå ñ íà÷àëîì â âåðøèíå v ; ïåðåìåííûå ÍÎÂÛÉ, ÇÀÏÈÑÜ ãëîáàëüíûå*) 2. begin 3. Î×ÅÅÄÜ ?; Î×ÅÅÄÜ ( v; ÍÎÂÛÉ v :=ëîæü 4. while Î×ÅÅÄÜ 6 ? do 5. begin p ( Î×ÅÅÄÜ; ïîñåòèòü p; 6. for u 2 ÇÀÏÈÑÜ p do 7. if ÍÎÂÛÉ u then 8. begin Î×ÅÅÄÜ ( u; ÍÎÂÛÉ u :=ëîæü 9. end 10. end 11. end
:=
[℄
=
[℄ [℄
[℄
Ñïîñîáîì, àíàëîãè÷íûì òîìó, êàêîé áûë ïðèìåíåí äëÿ ïîèñêà â ãëóáèíó, ìîæíî ëåãêî ïîêàçàòü, ÷òî âûçîâ ïðîöåäóðû W S u ïðèâîäèò ê ïîñåùåíèþ âñåõ âåðøèí ñâÿçíîé êîìïîíåíòû ãðàà, ñîäåðæàùåé âåðøèíó v , ïðè÷åì êàæäàÿ âåðøèíà ïðîñìàòðèâàåòñÿ â òî÷íîñòè îäèí ðàç. Âû÷èñëèòåëüíàÿ ñëîæíîñòü ïîèñêà â øèðèíó òàêæå èìååò ïîðÿäîê m n, òàê êàê êàæäàÿ âåðøèíà ïîìåùàåòñÿ â î÷åðåäü è óäàëÿåòñÿ èç î÷åðåäè â òî÷íîñòè îäèí ðàç, à ÷èñëî èòåðàöèé öèêëà 6, î÷åâèäíî, áóäåò èìåòü ïîðÿäîê ÷èñëà ðåáåð ãðàà. Îáà âèäà ïîèñêà â ãðàå â ãëóáèíó è â øèðèíó ìîãóò áûòü èñïîëüçîâàíû äëÿ íàõîæäåíèÿ ïóòè ìåæäó èêñèðîâàííûìè âåðøèíàìè v è u. Äîñòàòî÷íî íà÷àòü ïîèñê â ãðàå ñ âåðøèíû v è âåñòè åãî äî ìîìåíòà ïîñåùåíèÿ âåðøèíû u. Ïðåèìóùåñòâîì ïîèñêà â ãëóáèíó ÿâëÿåòñÿ òîò àêò, ÷òî â ìîìåíò ïîñåùåíèÿ âåðøèíû u ñòåê ñîäåðæèò ïîñëåäîâàòåëüíîñòü âåðøèí, îïðåäåëÿþùóþ ïóòü èç v â u. Ýòî ñòàíîâèòñÿ î÷åâèäíûì, åñëè îòìåòèòü, ÷òî êàæäàÿ âåðøèíà, ïîìåùàåìàÿ â ñòåê, ÿâëÿåòñÿ ñîñåäîì âåðõíåãî ýëåìåíòà â ñòåêå. Îäíàêî íåäîñòàòêîì ïîèñêà â ãëóáèíó ÿâëÿåòñÿ òî, ÷òî ïîëó÷åííûé òàêèì îáðàçîì ïóòü â îáùåì ñëó÷àå íå áóäåò êðàò÷àéøèì ïóòåì èç v â u. Îò ýòîãî íåäîñòàòêà ñâîáîäåí ìåòîä íàõîæäåíèÿ ïóòè, îñíîâàííûé íà ïîèñêå â øèðèíó. Ìîäèèöèðóåì ïðîöåäóðó W S , çàìåíÿÿ ñòðîêè 79 íà
()
+
if
[℄
ÍÎÂÛÉ u then begin Î×ÅÅÄÜ ( u; ÍÎÂÛÉ u :=ëîæü; ÏÅÄÛÄÓÙÈÉ u end
[℄
[ ℄ := p
88
u u u u Hu HHu u u u u A u AAu u
3(12)
2(2)
1(1)
5(9)
7(6) 6(5)
8(13)
4(3)
12(4)
10(7)
ëàâà 2. Àëãîðèòìû íà ãðààõ
13(11)
9(10)
11(8)
èñ. 2.6: Íóìåðàöèÿ âåðøèí ãðàà íà ðèñ. 2.5 (â ñêîáêàõ), ñîîòâåòñòâóþùàÿ î÷åðåäíîñòè, â êîòîðîé îíè ïðîñìàòðèâàþòñÿ â ïðîöåññå ïîèñêà â øèðèíó.
Ïî îêîí÷àíèè ðàáîòû ìîäèèöèðîâàííîé òàêèì îáðàçîì ïðîöåäóðû òàáëèöà ÏÅÄÛÄÓÙÈÉ ñîäåðæèò äëÿ êàæäîé ïðîñìîòðåííîé âåðøèíû u âåðøèíó ÏÅÄÛÄÓÙÈÉ u , èç êîòîðîé ìû ïîïàëè â u. Îòìåòèì, ÷òî êðàò÷àéøèé ïóòü èç u â v îáîçíà÷àåòñÿ ïîñëåäîâàòåëüíîñòüþ âåðøèí u u1 ; u2 ; : : : ; uk v, ãäå ui+1 ÏÅÄÛÄÓÙÈÉ ui äëÿ i < k è k ÿâëÿåòñÿ ïåðâûì èíäåêñîì i, äëÿ êîòîðîãî ui v . Äåéñòâèòåëüíî, â î÷åðåäè ïîìåùåíû ñíà÷àëà âåðøèíû, íàõîäÿùèåñÿ íà ðàññòîÿíèè 0 îò v (ò.å. ñàìà âåðøèíà v ), çàòåì ïîî÷åðåäíî âñå íîâûå âåðøèíû, äîñòèæèìûå èç v , ò.å. âåðøèíû, íàõîäÿùèåñÿ íà ðàññòîÿíèè 1 îò v , è ò.ä. Ïîä ðàññòîÿíèåì çäåñü ìû ïîíèìàåì äëèíó êðàò÷àéøåãî ïóòè. Ïðåäïîëîæèì òåïåðü, ÷òî ìû óæå ðàññìîòðåëè âñå âåðøèíû, íàõîäÿùèåñÿ íà ðàññòîÿíèè, íå ïðåâîñõîäÿùåì r, îò v , ÷òî î÷åðåäü ñîäåðæèò âñå âåðøèíû, íàõîäÿùèåñÿ îò v íà ðàññòîÿíèè r, è òîëüêî ýòè âåðøèíû è ÷òî òàáëèöà ÏÅÄÛÄÓÙÈÉ ïðàâèëüíî îïðåäåëÿåò êðàò÷àéøèé ïóòü îò êàæäîé, óæå ïðîñìîòðåííîé âåðøèíû äî u ñïîñîáîì, îïèñàííûì âûøå. Èñïîëüçîâàâ êàæäóþ âåðøèíó p, íàõîäÿùóþñÿ â î÷åðåäè, íàøà ïðîöåäóðà ïðîñìàòðèâàåò íåêîòîðûå íîâûå âåðøèíû, è êàæäàÿ òàêàÿ íîâàÿ âåðøèíà u íàõîäèòñÿ, î÷åâèäíî, íà ðàññòîÿíèè r îò v , ïðè÷åì, îïðåäåëÿÿ ÏÅÄÛÄÓÙÈÉ u p, ìû ïðîäëåâàåì êðàò÷àéøèé ïóòü îò p äî v äî êðàò÷àéøåãî ïóòè îò u äî v . Ïîñëå èñïîëüçîâàíèÿ âñåõ âåðøèí èç î÷åðåäè, íàõîäÿùèõñÿ íà ðàññòîÿíèè r îò v , îíà (î÷åðåäü), î÷åâèäíî, ñîäåðæèò ìíîæåñòâî âåðøèí, íàõîäÿùèõñÿ íà ðàññòîÿíèè r îò v , è ëåãêî çàìåòèòü, ÷òî óñëîâèå èíäóêöèè âûïîëíÿåòñÿ è äëÿ ðàññòîÿíèÿ r .
[℄
=
=
[ ℄
=
1
=
+1
[ ℄ :=
+1
+1
Íà ðèñ. 2.6 ïðåäñòàâëåí ãðà, âåðøèíû êîòîðîãî çàíóìåðîâàíû ñîãëàñíî î÷åðåäíîñòè, â êîòîðîé îíè ïîñåùàþòñÿ â ïðîöåññå ïîèñêà â ãëóáèíó.
2.4. Ñòÿãèâàþùèå äåðåâüÿ (êàðêàñû)
89
Êàê è â ñëó÷àå ïîèñêà â ãëóáèíó, ïðîöåäóðó W S ìîæíî èñïîëüçîâàòü áåç âñÿêèõ ìîäèèêàöèé è òîãäà, êîãäà ñïèñêè èíöèäåíòíîñòè ÇÀÏÈÑÜ v ; v 2 V , îïðåäåëÿþò íåêîòîðûé îðèåíòèðîâàííûé ãðà. Î÷åâèäíî, ÷òî òîãäà ïîñåùàþòñÿ òîëüêî òå âåðøèíû, äî êîòîðûõ ñóùåñòâóåò ïóòü îò âåðøèíû, ñ êîòîðîé ìû íà÷èíàåì ïîèñê (ñì. çàäà÷ó 2.12).
[℄
2.4 Ñòÿãèâàþùèå äåðåâüÿ (êàðêàñû) Äåðåâîì íàçûâàåòñÿ ïðîèçâîëüíûé íåîðèåíòèðîâàííûé ñâÿçíûé ãðà áåç öèêëîâ. Äëÿ ïðîèçâîëüíîãî ñâÿçíîãî íåîðèåíòèðîâàííîãî ãðàà G hV; E i êàæäîå äåðåâî hV; T i, ãäå T E , áóäåì íàçûâàòü ñòÿãèâàþùèì äåðåâîì 2 ãðàà G. åáðà òàêîãî äåðåâà áóäåì íàçûâàòü âåòâÿìè, à âñå îñòàëüíûå ðåáðà ãðàà áóäåì íàçûâàòü õîðäàìè (î÷åâèäíî, ÷òî î âåòâÿõ è õîðäàõ â ãðàå ìû ìîæåì ãîâîðèòü òîëüêî â êîíòåêñòå èêñèðîâàííîãî ñòÿãèâàþùåãî äåðåâà). Îòìåòèì, ÷òî êàæäîå äåðåâî ñ n âåðøèíàìè èìååò n ðåáåð. Ýòîò àêò ìîæíî ïðîñòî äîêàçàòü, ïðèìåíÿÿ èíäóêöèþ îòíîñèòåëüíî n. Î÷åâèäíî, ÷òî ýòî ñïðàâåäëèâî äëÿ n . Åñëè n > , òî îòìåòèì ñíà÷àëà, ÷òî â êàæäîì äåðåâå ñ n âåðøèíàìè ñóùåñòâóåò ¾âèñÿ÷àÿ¿ âåðøèíà, ò.å. âåðøèíà ñòåïåíè 1. Äåéñòâèòåëüíî, ðàññìîòðèì â òàêîì äåðåâå ïðîèçâîëüíûé ïóòü v1 v2 : : : vk ñ ìàêñèìàëüíîé äëèíîé (vi 6 vj äëÿ i 6 j ). Âåðøèíû vi ; vk ¾âèñÿ÷èå¿, òàê êàê íè îò îäíîé èç íèõ íåëüçÿ ïðîâåñòè âòîðîãî ðåáðà íè ê îäíîé èç âåðøèí v1 ; : : : ; vn (äåðåâî íå ñîäåðæèò öèêëîâ), íè ê ëþáîé äðóãîé âåðøèíå (ïóòü ìàêñèìàëüíûé). Óäàëÿÿ èç íàøåãî äåðåâà âåðøèíó vk è ðåáðî fvk 1 ; vk g (ëèáî âåðøèíó v1 è ðåáðî fv1 ; v2 g), ïîëó÷àåì, î÷åâèäíî, äåðåâî ñ n âåðøèíàìè, êîòîðîå â ñèëó èíäóêòèâíîãî ïðåäïîëîæåíèÿ èìååò n ðåáåð. Ñëåäîâàòåëüíî, íàøå ïåðâîíà÷àëüíîå äåðåâî èìåëî n n ðåáåð. Ïðîöåäóðû ïîèñêà â ãëóáèíó è â øèðèíó ìîæíî ïðîñòûì ñïîñîáîì èñïîëüçîâàòü äëÿ íàõîæäåíèÿ ñòÿãèâàþùèõ äåðåâüåâ.  îáîèõ ñëó÷àÿõ äîñòèæåíèå íîâîé âåðøèíû u èç âåðøèíû v âûçûâàåò âêëþ÷åíèå â äåðåâî ðåáðà fu; v g. Àëãîðèòì 2.3. (Íàõîæäåíèå ñòÿãèâàþùåãî äåðåâà ñâÿçíîãî ãðàà ìåòîäîì ïîèñêà â ãëóáèíó.) Äàííûå: Ñâÿçíûé ãðà G hV; E i, çàäàííûé ñïèñêàìè èíöèäåíòíîñòè ÇÀÏÈÑÜ v ; v 2 V . åçóëüòàòû: Ñòÿãèâàþùåå äåðåâî hV; T i ãðàà G.
=
1
=1
1
=
=
2+1=
[℄
1
2
1
=
1 pro edure W GD(v ); (*ïîèñê â ãëóáèíó, ñîåäèíåííûé ñ íàõîæäåíèåì ðåáðà äåðåâà; ïåðåìåííûå ÍÎÂÛÉ, ÇÀÏÈÑÜ, T ãëîáàëüíûå*)
2
 ëèòåðàòóðå ïî òåîðèè ãðàîâ øèðîêî ðàñïðîñòðàíåíû òàêæå òåðìèíû
Ïðèì. ïåðåâ.
êàðêàñ
è
îñòîâ
ëàâà 2. Àëãîðèòìû íà ãðààõ
90
[℄
2 begin ÍÎÂÛÉ v :=ëîæü; 3 for u 2 ÇÀÏÈÑÜ v do 4 if ÍÎÂÛÉ u then (*fv; ug íîâàÿ âåòâü*) 5 begin T T [ fv; ug; W GD u 6 end 7 end; (* WGD*) 8 begin (* ãëàâíàÿ ïðîãðàììà*) 9 for u 2 V do ÍÎÂÛÉ[u℄:=èñòèíà; (*èíèöèàëèçàöèÿ*) 10 T ?; (*T =ìíîæåñòâî íàéäåííûõ ê ýòîìó ìîìåíòó âåòâåé*) 11 W GD r (*r ïðîèçâîëüíàÿ âåðøèíà ãðàà*) 12 end
:=
[℄ [℄ :=
()
()
Äëÿ äîêàçàòåëüñòâà òîãî, ÷òî àëãîðèòì 2.3 êîððåêòíî ñòðîèò ñòÿãèâàþùåå äåðåâî ïðîèçâîëüíîãî ñâÿçíîãî ãðàà, äîñòàòî÷íî îòìåòèòü ñëåäóþùèå òðè àêòà. Âî-ïåðâûõ, â ìîìåíò äîáàâëåíèÿ ê ìíîæåñòâó T íîâîé âåòâè fv; ug (ñòðîêà 5) â hV; E i ñóùåñòâóåò ïóòü èç r â v (ýòîò àêò ìû äîêàçûâàåì ïî èíäóêöèè). Òàêèì îáðàçîì, àëãîðèòì ñòðîèò ñâÿçíûé ãðà. Âî-âòîðûõ, êàæäàÿ íîâàÿ âåòâü fu; vg, äîáàâëÿåìàÿ ê ìíîæåñòâó T , ñîåäèíÿåò óæå ðàññìîòðåííóþ âåðøèíó v (ò.å. ÍÎÂÛÉ v =ëîæü) ñ íîâîé âåðøèíîé u. Îòñþäà ñëåäóåò, ÷òî ïîñòðîåííûé ãðà hV; T i íå ñîäåðæèò öèêëîâ. Äåéñòâèòåëüíî, ïîñëåäíÿÿ âåòâü, ¾çàìûêàþùàÿ¿ öèêë, äîëæíà áûëà áû ñîåäèíèòü äâå óæå ðàññìîòðåííûå âåðøèíû. È íàêîíåö, â-òðåòüèõ, èç ñâîéñòâà ïîèñêà â ãëóáèíó ñëåäóåò, ÷òî ïðîöåäóðà W GD ïðîñìàòðèâàåò âñå âåðøèíû ñâÿçíîãî ãðàà. Ñëåäîâàòåëüíî, ãðà hV; T i, ïîñòðîåííûé íàøèì àëãîðèòìîì, åñòü ñòÿãèâàþùåå äåðåâî ãðàà G. Âû÷èñëèòåëüíàÿ ñëîæíîñòü àëãîðèòìà åñòü, î÷åâèäíî, O n m , ò.å., òîãî æå ïîðÿäêà, ÷òî è ïîèñê â ãëóáèíó. Ïðèìåð ñòÿãèâàþùåãî äåðåâà, ïîñòðîåííîãî àëãîðèòìîì 2.3, ïðèâåäåí íà ðèñ. 2.7, à. Êàæäîå ñòÿãèâàþùåå äåðåâî, ïîñòðîåííîå óêàçàííûì àëãîðèòìîì, èìååò ëþáîïûòíîå ñâîéñòâî, êîòîðîå ìû ñåé÷àñ îïèøåì. Âåðøèíó r, ñ êîòîðîé ìû íà÷èíàåì ïîèñê â ãðàå, íàçîâåì êîðíåì ñòÿãèâàþùåãî äåðåâà hV; T i. Î÷åâèäíî, ÷òî â äåðåâå hV; T i ñóùåñòâóåò â òî÷íîñòè îäèí ïóòü îò ïðîèçâîëüíîé âåðøèíû ê êîðíþ (ñì. çàäà÷ó 10). Äëÿ äâóõ ðàçëè÷íûõ âåðøèí v è u äåðåâà hV; T i áóäåì ãîâîðèòü, ÷òî u ÿâëÿåòñÿ ïîòîìêîì âåðøèíû v , åñëè v ëåæèò íà ïóòè (â äåðåâå hV; T i) èç u â êîðåíü. Åñëè ïðè ýòîì èìååò ìåñòî v u, òî áóäåì ãîâîðèòü, ÷òî u ñûí âåðøèíû v , à v îòåö âåðøèíû u. Òåîðåìà 2.4. Ïóñòü hV; T i ñòÿãèâàþùåå äåðåâî ñâÿçíîãî ãðàà G hV; E i, ïîñòðîåííîå àëãîðèòìîì 2.3, è ïóñòü fu; v g 2 E . Òîãäà ëèáî u ïîòîìîê v , ëèáî v - ïîòîìîê u. Äîêàçàòåëüñòâî. Ïðåäïîëîæèì áåç îãðàíè÷åíèÿ îáùíîñòè, ÷òî âåðøèíà v áóäåò ïðîñìîòðåíà ðàíüøå, ÷åì u. àññìîòðèì ïðîöåññ ïîèñêà â ãëóáèíó, íà÷èíàÿ ñ âåðøèíû v . Î÷åâèäíî, ÷òî ïî îêîí÷àíèè åãî äîëæíî áûòü ÍÎÂÛÉ u =ëîæü,
[℄
( + )
=
[℄
2.4. Ñòÿãèâàþùèå äåðåâüÿ (êàðêàñû)
u
8
u u u u u u u u 6
2
(à)
u
9
5
8
7
u u u u u u u u 9
6
5
4
3
91
2
(á)
1
7 4
3
1
èñ. 2.7: Ñòÿãèâàþùèå äåðåâüÿ, ïîñòðîåííûå ñ ïîìîùüþ àëãîðèòìà 2.3 (à) è àëãîðèòìà 2.5 (á). èáî v u. Íî ýòî îçíà÷àåò, ÷òî ðåáðà, äîáàâëåííûå â ìíîæåñòâî T â òå÷åíèå ýòîãî ïðîöåññà, ñîäåðæàò ïóòü èç v â u, îòêóäà ñëåäóåò, ÷òî v ëåæèò íà ïóòè èç u â êîðåíü. Ïîäîáíûì æå ñïîñîáîì ìîæíî ïîñòðîèòü ñòÿãèâàþùåå äåðåâî, èñïîëüçóÿ ìåòîä ïîèñêà â øèðèíó. Àëãîðèòì 2.5. (Íàõîæäåíèå ñòÿãèâàþùåãî äåðåâà ñâÿçíîãî ãðàà ìåòîäîì ïîèñêà â øèðèíó.) Äàííûå: Ñâÿçíûé ãðà G hV; E i, ïðåäñòàâëåííûé ñïèñêàìè èíöèäåíòíîñòè ÇÀÏÈÑÜ v ; v 2 V . åçóëüòàòû: Ñòÿãèâàþùåå äåðåâî hV; T i ãðàà G.
=
[℄
1 begin 2 for u 2 V do ÍÎÂÛÉ u :=èñòèíà; (*èíèöèàëèçàöèÿ*) 3 T ?; (*T ìíîæåñòâî íàéäåííûõ ê ýòîìó ìîìåíòó âåòâåé*) 4 Î×ÅÅÄÜ ?; Î×ÅÅÄÜ ( r; 5 ÍÎÂÛÉ r :=ëîæü; (*êîðåíü ñòÿãèâàþùåãî äåðåâà*) 6 while Î×ÅÅÄÜ 6 ? do 7 begin v ( Î×ÅÅÄÜ; 8 for u 2 ÇÀÏÈÑÜ v do 9 if ÍÎÂÛÉ u then (*fv; ug íîâàÿ âåòâü*) 10 begin Î×ÅÅÄÜ ( u; ÍÎÂÛÉ u :=ëîæü;
[℄
:=
[℄
11 12 13
:=
=
end end end
[℄ [℄ T := T [ fv; ug
=
[℄
ëàâà 2. Àëãîðèòìû íà ãðààõ
92
Ñïîñîáîì, àíàëîãè÷íûì èñïîëüçîâàííîìó äëÿ àëãîðèòìà 2.3, ìîæíî äîêàçàòü, ÷òî äàííûé àëãîðèòì êîððåêòíî ñòðîèò ñòÿãèâàþùåå äåðåâî äëÿ ïðîèçâîëüíîãî ñâÿçíåãî ãðàà çà O m n øàãîâ. Íà ðèñ. 2.7, á äàí ïðèìåð ñòÿãèâàþùåãî äåðåâà, ïîñòðîåííîãî àëãîðèòìîì 2.5. àññóæäåíèÿ ðàçä. 2.3 ïðèâîäÿò íåïîñðåäñòâåííî ê ñëåäóþùåé òåîðåìå: Òåîðåìà 2.6. Ïóñòü hV; T i ñòÿãèâàþùåå äåðåâî ñâÿçíîãî ãðàà G hV; E i, ïîñòðîåííîå ïðè ïîìîùè àëãîðèòìà 2.5. Òîãäà ïóòü â hV; T i èç ïðîèçâîëüíîé âåðøèíû u äî êîðíÿ r ÿâëÿåòñÿ êðàò÷àéøèì ïóòåì èç u â r â ãðàå G.  ãë. 3 îñîáî îáñóæäàåòñÿ áîëåå îáùàÿ çàäà÷à îòûñêàíèÿ êðàò÷àéøèõ ïóòåé â ãðàå, ðåáðàì êîòîðîãî ïðèïèñàíû ¾äëèíû¿, íå îáÿçàòåëüíî ðàâíûå åäèíèöå. àññóæäåíèÿ äàííîãî ðàçäåëà ëåãêî ïåðåíîñÿòñÿ íà ïðîèçâîëüíûå ãðàû, íå îáÿçàòåëüíî ñâÿçíûå. Ìàêñèìàëüíûé ïîäãðà áåç öèêëîâ ïðîèçâîëüíîãî ãðàà G íàçûâàåòñÿ ñòÿãèâàþùèì ëåñîì ãðàà G. Î÷åâèäíî, ÷òî ñòÿãèâàþùèé ëåñ ãðàà ñ k êîìïîíåíòàìè ñâÿçíîñòè îïðåäåëÿåòñÿ ÷åðåç ñòÿãèâàþùèå äåðåâüÿ ýòèõ êîìïîíåíò è, ñëåäîâàòåëüíî, ñîäåðæèò n k ðåáåð.
( + )
=
1
2.5 Îòûñêàíèå óíäàìåíòàëüíîãî ìíîæåñòâà öèêëîâ â ãðàå Òåñíî ñâÿçàíà ñ çàäà÷åé íàõîæäåíèÿ ñòÿãèâàþùåãî äåðåâà çàäà÷à ïîñòðîåíèÿ óíäàìåíòàëüíîãî ìíîæåñòâà öèêëîâ. Åñëè ê ñòÿãèâàþùåìó äåðåâó hV; T i ãðàà G hV; E i ìû äîáàâèì ïðîèçâîëüíóþ õîðäó e 2 E nT , òî íåòðóäíî îòìåòèòü, ÷òî âîçíèêøèé ïðè ýòîì ïîäãðà hV; T [ fegi ñîäåðæèò â òî÷íîñòè îäèí öèêë3 , êîòîðûé ìû áóäåì îáîçíà÷àòü ÷åðåç Ce . Î÷åâèäíî, ÷òî Ce ñîäåðæèò ðåáðî e. fCe e 2 E nT g áóäåì íàçûâàòü óíäàìåíòàëüíûì ìíîæåÌíîæåñòâî C ñòâîì öèêëîâ ãðàà G (îòíîñèòåëüíî ñòÿãèâàþùåãî äåðåâà hV; T i). Íàçâàíèå ¾óíäàìåíòàëüíûé¿ ñâÿçàíî ñ òåì àêòîì, ÷òî, êàê ìû äîêàæåì ïîçäíåå, êàæäûé öèêë ãðàà G ìîæíî íåêîòîðûì åñòåñòâåííûì ñïîñîáîì ïîëó÷èòü èç öèêëîâ ìíîæåñòâà C . Ââåäåì äëÿ ïðîèçâîëüíûõ ìíîæåñòâ A è B îïåðàöèþ
=
=
:
A B = (A [ B )n(A \ B ): Ìíîæåñòâî A B áóäåì íàçûâàòü ñèììåòðè÷åñêîé ðàçíîñòüþ ìíîæåñòâ A è B. Îòìåòèì, ÷òî ñèììåòðè÷åñêàÿ ðàçíîñòü ìíîæåñòâ A1 ; : : : ; Ak ñîäåðæèò íåçàâèñèìî îò ðàññòàíîâêè ñêîáîê â òî÷íîñòè òå ýëåìåíòû, êîòîðûå ïîÿâëÿþòñÿ â 3
 ýòîì ðàçäåëå ïîä öèêëîì ìû âñåãäà áóäåì ïîíèìàòü ýëåìåíòàðíûé öèêë
2.5. Îòûñêàíèå óíäàìåíòàëüíîãî ìíîæåñòâà öèêëîâ â ãðàå
93
íå÷åòíîì ÷èñëå ìíîæåñòâ Ai . Äåéñòâèòåëüíî, ýòî íåòðóäíî äîêàçàòü èíäóêöèåé ïî k . Äëÿ k èk ýòî, î÷åâèäíî, òàê. Äëÿ k > íàøà ñèììåòðè÷åñêàÿ ðàçíîñòü èìååò âèä A B , ãäå A ÿâëÿåòñÿ ñèììåòðè÷åñêîé ðàçíîñòüþ ìíîæåñòâ A1 ; : : : ; Ap è B ñèììåòðè÷åñêîé ðàçíîñòüþ ìíîæåñòâ Ap+1 ; : : : ; Ap+q , ãäå p; q < k è p q k . Ìíîæåñòâî A B ñîäåðæèò â òî÷íîñòè òå ýëåìåíòû, êîòîðûå ïîÿâëÿþòñÿ òîëüêî â îäíîì èç ìíîæåñòâ A èëè B . Ïîëüçóÿñü èíäóêòèâíûì ïðåäïîëîæåíèåì, ñäåëàåì âûâîä, ÷òî A B ÿâëÿåòñÿ ìíîæåñòâîì òåõ ýëåìåíòîâ, êîòîðûå ïîÿâëÿþòñÿ â íå÷åòíîì ÷èñëå ìíîæåñòâ èç A1 ; : : : ; Ap è â ÷åòíîì ÷èñëå èç Ap+1 ; : : : ; Ap+q , èëè æå â íå÷åòíîì ÷èñëå ìíîæåñòâ èç Ap+1 ; : : : ; Ap+q è â ÷åòíîì ÷èñëå ìíîæåñòâ èç A1 ; : : : ; Ap . À ýòî â òî÷íîñòè ìíîæåñòâî òåõ ýëåìåíòîâ, êîòîðûå ïîÿâëÿþòñÿ â íå÷åòíîì ÷èñëå ìíîæåñòâ èç A1 ; : : : ; Ak . Èç äîêàçàííîãî âûøå ñâîéñòâà ñëåäóåò, ÷òî ìû ìîæåì îïóñòèòü ñêîáêè â ñèììåòðè÷åñêîé ðàçíîñòè ïðîèçâîëüíîãî ÷èñëà ìíîæåñòâ è ïèñàòü A1 A2 : : : Ak . Ìíîæåñòâî C ðåáåð ãðàà íàçûâàåòñÿ ïñåâäîöèêëîì, åñëè êàæäàÿ âåðøèíà ãðàà hV; C i èìååò ÷åòíóþ ñòåïåíü. Ïðèìåðîì ïñåâäîöèêëà ÿâëÿåòñÿ ïóñòîå ìíîæåñòâî è ïðîèçâîëüíûé öèêë ãðàà. Ëåììà 2.7. Ñèììåòðè÷åñêàÿ ðàçíîñòü ïðîèçâîëüíîãî ÷èñëà ïñåâäîöèêëîâ ÿâëÿåòñÿ ïñåâäîöèêëîì. Äîêàçàòåëüñòâî. Î÷åâèäíî, ÷òî äîñòàòî÷íî ðàññìîòðåòü ñëó÷àé äâóõ ïñåâäîöèêëîâ C1 è C2 . Îáîçíà÷èì äëÿ ïðîèçâîëüíîé âåðøèíû v ÷åðåç S1 v è S2 v ìíîæåñòâî ðåáåð ñîîòâåòñòâåííî èç C1 è C2 , èíöèäåíòíûõ ñ v . Ìíîæåñòâà S1 v è S2 v èìåþò ÷åòíóþ ìîùíîñòü, ÷åòíîé ÿâëÿåòñÿ òàêæå ìîùíîñòü ìíîæåñòâà ðåáåð èç C1 C2 , èíöèäåíòíûõ ñ v , òàê êàê jS1 v S2 v j jS1 v j jS2 v j
=1
=2
2
+ =
()
() 2jS (v) \ S (v)j 1
()
() ()
()= ()+ ()
2
Òåïåðü ìû ìîæåì äîêàçàòü òåîðåìó î óíäàìåíòàëüíîì ìíîæåñòâå öèêëîâ. Ïóñòü G hV; E i ñâÿçíûé íåîðèåíòèðîâàííûé ãðà, à hV; T i åãî ñòÿãèâàþùåå äåðåâî. Ïðîèçâîëüíûé öèêë ãðàà G ìîæíî îäíîçíà÷íî ïðåäñòàâèòü êàê ñèììåòðè÷åñêóþ ðàçíîñòü íåêîòîðîãî ÷èñëà óíäàìåíòàëüíûõ öèêëîâ.  îáùåì ñëó÷àå ïðîèçâîëüíûé ïñåâäîöèêë C ãðàà G ìîæíî îäíîçíà÷íî âûðàçèòü êàê Òåîðåìà 2.8.
=
C=
M
e2C nT
Ce :
(2.1) L
Äîêàçàòåëüñòâî. Ñèììåòðè÷åñêàÿ ðàçíîñòü e2C nT Ce , ÿâëÿþùàÿñÿ ïñåâäîöèêëîì â ñèëó ïðåäûäóùåé ëåììû, ñîñòîèò èç ìíîæåñòâà õîðä C nT è íåêîòîðûõ âåòâåé. Ýòî âûòåêàåò èç òîãî àêòà, ÷òî êàæäàÿ õîðäà e 2 C nT ïðèíàäëåæèò â òî÷íîñòè ê îäíîìó óíäàìåíòàëüíîìó öèêëó, à èìåííî ê Ce . Ìíîæåñòâî
`
C
M
e2C nT
Ce :
(2.2)
ëàâà 2. Àëãîðèòìû íà ãðààõ
94
ÿâëÿåòñÿ òàêæå â ñèëó ïðåäûäóùåé ëåììû ïñåâäîöèêëîì, ïðè÷åì îí ìîæåò ñîäåðæàòü òîëüêî âåòâè. Îäíàêî íè îäèí íåïóñòîé ïñåâäîöèêë íå ìîæåò ñîäåðæàòüñÿ â T , òàê êàê êàæäûé íåïóñòîé ïîäãðà áåç öèêëîâ ñîäåðæèò âåðøèíó ñòåïåíè 1 (¾âèñÿ÷óþ¿). Îòñþäà ñëåäóåò, ÷òî ìíîæåñòâî (2.2) ïóñòîå, ÷òî ýêâèâàëåíòíî ðàâåíñòâó (2.1). Îäíîçíà÷íîñòü ïðåäñòàâëåíèÿ (2.1), ëåãêî ñëåäóåò èç òîãî, ÷òî öèêë Ce ÿâëÿåòñÿ åäèíñòâåííûì óíäàìåíòàëüíûì öèêëîì, ñîäåðæàùèì õîðäó e (e 2 E nT ) Òåîðåìà, êîòîðóþ ìû äîêàçàëè, èìååò î÷åíü ïðîñòóþ èíòåðïðåòàöèþ â òåðìèíàõ ëèíåéíûõ ïðîñòðàíñòâ. Ïóñòü E fe1 ; : : : ; em g è êàæäîìó ïñåâäîöèêëó C ïîñòàâëåí â ñîîòâåòñòâèå âåêòîð ha1 ; : : : ; an i, ãäå
=
ai =
1; 0
åñëè ei 2 C; â ïðîòèâíîì ñëó÷àå
Ñóììå òàêèõ âåêòîðîâ â ïðåäïîëîæåíèè, ÷òî ñóììû êîîðäèíàò áåðóòñÿ ïî ìîäóëþ 2, ñîîòâåòñòâóåò ñèììåòðè÷åñêàÿ ðàçíîñòü íåêîòîðûõ ïñåâäîöèêëîâ. Ëåììà 2.7 óòâåðæäàåò, ÷òî âåêòîðû, ïîñòàâëåííûå â ñîîòâåòñòâèå ïñåâäîöèêëàì, îáðàçóþò ïîäïðîñòðàíñòâî m-ìåðíîãî ëèíåéíîãî ïðîñòðàíñòâà íàä äâóõýëåìåíòíûì ïîëåì (ñîñòîÿùèì èç 0 è 1 ñ îïåðàöèÿìè ñëîæåíèÿ ïî ìîäóëþ 2 è óìíîæåíèÿ). Îòìåòèì, ÷òî ïðîèçâîëüíàÿ ëèíåéíàÿ êîìáèíàöèÿ â ïðîñòðàíñòâå íàä äâóõýëåìåíòíûì ïîëåì ñîîòâåòñòâóåò ñèììåòðè÷åñêîé ðàçíîñòè, òàê êàê åäèíñòâåííûì íåíóëåâûì ýëåìåíòîì (êîýèöèåíòîì) ìîæåò áûòü òîëüêî 1.  ñâîþ î÷åðåäü òåîðåìà 2.8 ãîâîðèò, ÷òî óíäàìåíòàëüíûå öèêëû îïðåäåëÿþò áàçèñ íàøåãî ïîäïðîñòðàíñòâà. Íàõîæäåíèå óíäàìåíòàëüíîãî ìíîæåñòâà öèêëîâ èìååò ñóùåñòâåííîå çíà÷åíèå ïðè àíàëèçå ýëåêòðè÷åñêèõ öåïåé. Òî÷íåå ãîâîðÿ, êàæäîìó óíäàìåíòàëüíîìó öèêëó â ãðàå, ñîîòâåòñòâóþùåìó äàííîé ýëåêòðè÷åñêîé öåïè, ìû ìîæåì ñîïîñòàâèòü óðàâíåíèå, îïðåäåëÿþùåå çàêîí Êèðõãîà äëÿ íàïðÿæåíèé (ñì., íàïðèìåð, [61℄): ñóììà ïàäåíèÿ íàïðÿæåíèé âäîëü öèêëà ðàâíà íóëþ. Òîãäà íè îäíî èç ýòèõ óðàâíåíèé íå çàâèñèò îò îñòàëüíûõ, îò íèõ æå çàâèñèò ïðîèçâîëüíîå óðàâíåíèå, îïðåäåëÿþùåå çàêîí Êèðõãîà äëÿ ïðîèçâîëüíîãî öèêëà ãðàà. Îïèøåì òåïåðü ïðîñòîé àëãîðèòì íàõîæäåíèÿ ìíîæåñòâà óíäàìåíòàëüíûõ öèêëîâ. Ýòîò àëãîðèòì îñíîâûâàåòñÿ íà ïîèñêå â ãëóáèíó è èìååò ñòðóêòóðó, àíàëîãè÷íóþ ðåêóðñèâíîìó àëãîðèòìó íàõîæäåíèÿ ñòÿãèâàþùåãî äåðåâà (àëãîðèòì 2.3). Êàæäàÿ íîâàÿ âåðøèíà, âñòðå÷àþùàÿñÿ â ïðîöåññå ïîèñêà, ïîìåùàåòñÿ â ñòåê, ïðåäñòàâëåííûé òàáëèöåé ÑÒÅÊ, è óäàëÿåòñÿ èç ñòåêà ïîñëå èñïîëüçîâàíèÿ. Î÷åâèäíî, ÷òî ñòåê âñåãäà ñîäåðæèò ïîñëåäîâàòåëüíîñòü âåðøèí ñ ðàññìàòðèâàåìîé â äàííûé ìîìåíò âåðøèíû v äî êîðíÿ. Ïîýòîìó æå åñëè àíàëèçèðóåìîå íàìè ðåáðî fv; ug çàìûêàåò öèêë (ò.å. W GN v > W GN u > è u íå íàõîäèòñÿ íåïîñðåäñòâåííî ïîä âåðõíèì ýëåìåíòîì ñòåêà), òî âåðøèíà u
[℄
[℄ 0
2.6. Íàõîæäåíèå êîìïîíåíò äâóñâÿçíîñòè
95
òàêæå â ñèëó òåîðåìû 2.4 íàõîäèòñÿ â ñòåêå è öèêë, çàìûêàåìûé ðåáðîì fv; ug ïðåäñòàâëåí âåðõíåé ãðóïïîé ýëåìåíòîâ ñòåêà, íà÷èíàÿ ñ v è êîí÷àÿ âåðøèíîé u. Àëãîðèòì 2.9. (Íàõîæäåíèå ìíîæåñòâà ýëåìåíòàðíûõ öèêëîâ ãðàà.) Äàííûå: ðà G hV; E i, ïðåäñòàâëåííûé ñïèñêàìè èíöèäåíòíîñòè ÇÀÏÈÑÜ v , v 2V. åçóëüòàòû: Ìíîæåñòâî ýëåìåíòàðíûõ öèêëîâ ãðàà G.
=
[℄
1. pro edure ÖÈÊË(u); (* íàõîæäåíèå óíäàìåíòàëüíîãî ìíîæåñòâà öèêëîâ äëÿ êîìïîíåíòû ñâÿçíîñòè, ñîäåðæàùåé âåðøèíó u, ïåðåìåííûå d, num, ÑÒÅÊ, ÇÀÏÈÑÜ, W GN ãëîáàëüíûå*) 2. begin d d ; CT EK d v; num num ; W GN v num; 3. for u 2 ÇÀÏÈÑÜ v do 4. if W GN u then ÖÈÊË u 5. else if (u 6 ÑÒÅÊ d ) and (W GN v > W GN u ) then (* fv; ug çàìûêàåò íîâûé öèêë *) 6. âûïèñàòü öèêë ñ âåðøèíàìè 7. ÑÒÅÊ d ; ÑÒÅÊ d ; : : : ; ÑÒÅÊ , ãäå ÑÒÅÊ 8. d d (*èñïîëüçîâàííàÿ âåðøèíà v óäàëÿåòñÿ èç ñòåêà *) 9. end; (*ÖÈÊË*) 10. begin (* ãëàâíàÿ ïðîãðàììà*) 11. for v 2 V do W GN v ; num ; (*èíèöèàëèçàöèÿ*) 12. d ; ÑÒÅÊ ; (*d=÷èñëî ýëåìåíòîâ â ñòåêå*) 13. for v 2 V do 14. if W GN v then ÖÈÊË u 15. end
:= + 1
:=
1
:= 0
[ ℄ := := [℄ [ ℄=0 () = [ 1℄ [℄
[
[ ℄ := 0 [0℄ := 0 [ ℄=0
1℄
+1
[ ℄ :=
[℄
[℄
[℄
[ ℄ = u;
:= 0
()
Îöåíèì òåïåðü âû÷èñëèòåëüíóþ ñëîæíîñòü ýòîãî àëãîðèòìà. Îòìåòèì ñíà÷àëà, ÷òî îáùåå ÷èñëî øàãîâ, íå ñ÷èòàÿ âûïèñûâàíèÿ öèêëîâ (ñòðîêè 6, 7) êàê è âî âñåõ àëãîðèòìàõ, îñíîâàííûõ íà ïîèñêå â ãëóáèíó, èìååò ïîðÿäîê O n m . Ê ýòîìó ñëåäóåò ïðèáàâèòü ñóììàðíóþ äëèíó âñåõ öèêëîâ. Ýòà äëèíà íå ïðåâîñõîäèò m n n, ÷òî äàåò îáùóþ ñëîæíîñòü àëãîðèòìà O nm n (èëè O nm , åñëè îòáðîñèòü âûðîæäåííûé ñëó÷àé m ).
( + ) ( )
(
+ 1)
=0
2.6 Íàõîæäåíèå êîìïîíåíò äâóñâÿçíîñòè =
(
+ )
Âåðøèíó a íåîðèåíòèðîâàííîãî ãðàà G hV; E i áóäåì íàçûâàòü òî÷êîé ñî÷ëåíåíèÿ, åñëè óäàëåíèå ýòîé âåðøèíû è âñåõ èíöèäåíòíûõ åé ðåáåð âåäåò ê óâåëè÷åíèþ ÷èñëà êîìïîíåíò ñâÿçíîñòè ãðàà. àâíîçíà÷íîå óòâåðæäåíèå ñîñòîèò â òîì, ÷òî a ÿâëÿåòñÿ òî÷êîé ñî÷ëåíåíèÿ, åñëè ñóùåñòâóþò âåðøèíû v
ëàâà 2. Àëãîðèòìû íà ãðààõ
96 (à)
á)
u u u u u u u u u u
uu u u
`D `` DD D DD
u`D ``u u u u DDu Du u u u u u u u DDu u u u u
èñ. 2.8: à) ðà ñ òî÷êàìè ñî÷ëåíåíèÿ; á) Áëîêè ýòîãî ãðàà è u, îòëè÷íûå îò a, òàêèå, ÷òî êàæäûé ïóòü èç u â v , à ìû ïðåäïîëàãàåì, ÷òî ñóùåñòâóåò ïî êðàéíåé ìåðå îäèí òàêîé ïóòü, ïðîõîäèò ÷åðåç âåðøèíó a. Íåîðèåíòèðîâàííûé ãðà íàçûâàåòñÿ äâóñâÿçíûì, åñëè îí ñâÿçíûé è íå ñîäåðæèò òî÷åê ñî÷ëåíåíèÿ. Ïðîèçâîëüíûé ìàêñèìàëüíûé äâóñâÿçíûé ïîäãðà ãðàà G íàçûâàåòñÿ êîìïîíåíòîé äâóñâÿçíîñòè èëè áëîêîì ýòîãî ãðàà. Äâóñâÿçíîñòü ãðàà î÷åíü æåëàòåëüíûé ïðèçíàê äëÿ íåêîòîðûõ ïðèëîæåíèé. Ïðåäñòàâèì ñåáå, ÷òî âåðøèíû ãðàà èçîáðàæàþò óçëû íåêîòîðîé èíîðìàöèîííîé ñåòè, à ðåáðà ñîîòâåòñòâóþò ëèíèÿì ïåðåäà÷è. Åñëè íàø ãðà äâóñâÿçíûé, òî âûõîä èç ñòðîÿ îòäåëüíîãî óçëà w íèêîãäà íå ïðèâåäåò ê ïîòåðå ñîåäèíåíèÿ ìåæäó ëþáûìè äâóìÿ óçëàìè, îòëè÷íûìè îò w. Çíàíèå áëîêîâ ãðàà òàêæå î÷åíü âàæíî, åñëè ïðèíÿòü âî âíèìàíèå òî, ÷òî ìíîãèå ãðàîâûå çàäà÷è, òàêèå êàê íàõîæäåíèå âñåõ ýëåìåíòàðíûõ öèêëîâ èëè óñòàíîâëåíèå àêòà ïëàíàðíîñòè ãðàà (ãðà íàçûâàåòñÿ ïëàíàðíûì, åñëè åãî ìîæíî òàê íà÷åðòèòü íà ïëîñêîñòè, ÷òîáû íèêàêèå äâà ðåáðà íå ïåðåñåêàëèñü), ïðèâîäÿò åñòåñòâåííûì ïóòåì ê àíàëîãè÷íûì çàäà÷àì äëÿ áëîêîâ äàííîãî ãðàà. Îòìåòèì, ÷òî åñëè hV1 ; B1 i, hV2 ; B2 i äâà ðàçíûõ áëîêà ãðàà G, òî V1 \ V2 ? èëè V1 \ V2 fag, ãäå a òî÷êà ñî÷ëåíåíèÿ ãðàà G. Äåéñòâèòåëüíî, ðàññìîòðèì ïîäãðà hV1 [ V2 ; B1 [ B2 i. Åñëè áûëî áû jV1 \ V2 j , ýòîò ïîäãðà áûë áû äâóñâÿçíûì âîïðåêè ïðåäïîëîæåíèþ î ìàêñèìàëüíîñòè hV1 ; B1 i è hV2 ; B2 i. Íåâîçìîæåí òàêæå ñëó÷àé V1 \ V2 fag, ãäå a íå ÿâëÿåòñÿ òî÷êîé ñî÷ëåíåíèÿ ãðàà G. Èáî òîãäà â G ñóùåñòâóåò ïóòü ìåæäó âåðøèíàìè u 2 V1 , u 6 a è u 2 V2 , v 6 a, íå âêëþ÷àþùèé âåðøèíó a. Íåòðóäíî îòìåòèòü, ÷òî ïîäãðà,
=
=
2
=
=
=
2.6. Íàõîæäåíèå êîìïîíåíò äâóñâÿçíîñòè
97
âîçíèêàþùèé èç hV1 [ V2 ; B1 [ B2 i äîáàâëåíèåì âåðøèí è ðåáåð ýòîãî ïóòè, áóäåò äâóñâÿçíûì, ÷òî ïðîòèâîðå÷èò ïðåäïîëîæåíèþ î ìàêñèìàëüíîñòè hV1 ; B1 i è hV2 ; B2 i. Íà ðèñ. 2.8 äàí ïðèìåð ãðàà, èìåþùåãî òî÷êè ñî÷ëåíåíèÿ è áëîêè. Íàõîæäåíèå òî÷åê ñî÷ëåíåíèÿ è áëîêîâ ãðàà ÿâëÿåòñÿ êëàññè÷åñêîé çàäà÷åé, êîòîðóþ ìîæíî ýåêòèâíî ðåøèòü ïîãðóæåíèåì â ïðîöåäóðó ïîèñêà â ãëóáèíó (ñì. Òàðüÿí [66℄). Ïðåæäå ÷åì ïðåäñòàâèòü ÷àñòíûé àëãîðèòì, ñäåëàåì ïðåäâàðèòåëüíî íåñêîëüêî çàìå÷àíèé. Òåîðåìà 2.10. Ïóñòü D hV; T i ñòÿãèâàþùåå äåðåâî ñ êîðíåì r ñâÿçíîãî ãðàà G hV; E i, ïîñòðîåííîå ñ ïîìîùüþ ïîèñêà â ãëóáèíó (àëãîðèòì 2.3). Âåðøèíà v 2 V ÿâëÿåòñÿ òî÷êîé ñî÷ëåíåíèÿ ãðàà G òîãäà è òîëüêî òîãäà, êîãäà ëèáî v r è r èìååò ïî êðàéíåé ìåðå äâóõ ñûíîâåé â D, ëèáî v 6 r è ñóùåñòâóåò ñûí w âåðøèíû u, òàêîé ÷òî íè w, íè êàêîé-ëèáî åãî ïîòîìîê íå ñâÿçàíû ðåáðîì íè ñ îäíèì ïðåäêîì âåðøèíû v . Äîêàçàòåëüñòâî. àññìîòðèì ñíà÷àëà ñëó÷àé v r. Åñëè âåðøèíà v èìååò òîëüêî îäíîãî ñûíà (ëèáî ÿâëÿåòñÿ èçîëèðîâàííîé âåðøèíîé), òî åå óñòðàíåíèå íå óâåëè÷èò ÷èñëà êîìïîíåíò ñâÿçíîñòè, èáî ýòî íå íàðóøàåò ñâÿçíîñòè äåðåâà. Åñëè îíà èìååò ïî ìåíüøåé ìåðå äâóõ ñûíîâåé, òî ïîñëå óäàëåíèÿ âåðøèíû v ýòè ñûíîâüÿ ëåæàò â ðàçíûõ êîìïîíåíòàõ ñâÿçíîñòè. Äåéñòâèòåëüíî, èç òåîðåìû 2.4 âûòåêàåò, ÷òî êàæäûé ïóòü ìåæäó äâóìÿ ðàçëè÷íûìè ñûíîâüÿìè äîëæåí ïðîõîäèòü ÷åðåç êîðåíü â ïðîòèâíîì ñëó÷àå îí ñîäåðæàë áû õîðäó fu; tg, ãäå íè u íå ÿâëÿåòñÿ ïîòîìêîì t, íè t íå ÿâëÿåòñÿ ïîòîìêîì u. Àíàëîãè÷íî, äëÿ ñëó÷àÿ v 6 r. Åñëè ïîñëå óñòðàíåíèÿ âåðøèíû v ñóùåñòâóåò ïóòü îò åå ñûíà w äî êîðíÿ, òî, êàê è â ïðåäûäóùåì ñëó÷àå èç òåîðåìû 2.4, ñëåäóåò, ÷òî ýòîò ïóòü äîëæåí ñîäåðæàòü ðåáðî, ñîåäèíÿþùåå w èëè íåêîòîðîãî ïîòîìêà âåðøèíû w ñ íåêîòîðûì ïðåäêîì âåðøèíû u. Èäåÿ àëãîðèòìà ñëåäóþùàÿ: âåäåì ïîèñê â ãëóáèíó â ãðàå, íà÷èíàÿ ñ íåêîòîðîé âåðøèíû r, âû÷èñëÿÿ äëÿ êàæäîé âåðøèíû u äâà ïàðàìåòðà: W GN v è L v . Ïåðâûé èç íèõ ýòî ïðîñòî íîìåð âåðøèíû v â ïîðÿäêå, â êîòîðîì âåðøèíû ïîñåùàþòñÿ ïðè ïîèñêå â ãëóáèíó, íà÷èíàÿ ñ âåðøèíû r. Åñëè ÷åðåç D hV; T i ìû îáîçíà÷èì äåðåâî, ñîîòâåòñòâóþùåå íàøåìó ïîèñêó â ãëóáèíó, òî äðóãîé ïàðàìåòð îïðåäåëÿåò íàèìåíüøåå çíà÷åíèå W GN u , ãäå u v èëè âåðøèíà u ñâÿçàíà õîðäîé ñ âåðøèíîé v èëè åå ïðîèçâîëüíûì ïîòîìêîì â D. Ïàðàìåòð L v ëåãêî âû÷èñëèòü ïî èíäóêöèè îòíîñèòåëüíî äåðåâà D, åñëè ìû çíàåì L w äëÿ âñåõ ñûíîâåé w âåðøèíû v . Îáîçíà÷èâ
=
=
=
=
=
=
[℄
[℄ =
[℄
[ ℄
=
[℄
[ ℄ = min
A = minfL[w℄ : w ñûí âåðøèíû vg; B = minfW GN [u℄ : fu; vg 2 E nT g;
[℄
)
èìååì L v fW GN v ; A; B . Èç òåîðåìû 2.10 ñëåäóåò, ÷òî v ÿâëÿåòñÿ òî÷êîé ñî÷ëåíåíèÿ èëè êîðíåì òîãäà è òîëüêî òîãäà, êîãäà L w W GN v äëÿ íåêîòîðîãî ñûíà u âåðøèíû v
[ ℄
[℄
ëàâà 2. Àëãîðèòìû íà ãðààõ
98 (ïîëàãàåì, ÷òî
n > 1).
(Íàõîæäåíèå êîìïîíåíò äâóñâÿçíîñòè ãðàà). Äàííûå: ðà G hV; E i áåç èçîëèðîâàííûõ âåðøèí, ïðåäñòàâëåííûé ñïèñêàìè èíöèäåíòíîñòè ÇÀÏÈÑÜ v , v 2 V . åçóëüòàòû: Ìíîæåñòâà ðåáåð âñåõ êîìïîíåíò äâóñâÿçíîñòè. Àëãîðèòì 2.11.
=
[℄
1. pro edure ÄÂÓÑÂ(v ,ð); (* ïîèñê â ãëóáèíó, íà÷èíàÿ ñ âåðøèíû v è ïîëàãàÿ, ÷òî p ÿâëÿåòñÿ îòöîì âåðøèíû u â ýòîì ïðîöåññå; ïàðàëëåëüíî âûïèñûâàþòñÿ ðåáðà íàéäåííûõ êîìïîíåíò äâóñâÿçíîñòè; ïåðåìåííûå num, L, W GN , ÑÒÅÊ ãëîáàëüíûå*) 2. begin num num ; W GN v num; 3. L v W GN v ; 4. for u 2 ÇÀÏÈÑÜ v do 5. if W GN u then (*âåðøèíà u íîâàÿ, fv; ug âåòâü*) 6. begin ÑÒÅÊ ( fv; ug; ÄÂÓÑ u; v ; 7. Lv L v ;L u ; 8. if L u W GN v then (*v åñòü êîðåíü èëè òî÷êà ñî÷ëåíåíèÿ, à âåðõíÿÿ ÷àñòü ñòåêà äî fv; ug âêëþ÷èòåëüíî ñîäåðæèò êîìïîíåíòó äâóñâÿçíîñòè*) 9. begin (*âûïèñàòü ðåáðà êîìïîíåíòû äâóñâÿçíîñòè*) 10. repeat å ( ÑÒÅÊ; write(e) 11. until e fv; ug; 12. write(';')(*çíàê êîíöà êîìïîíåíòû äâóñâÿçíîñòè*) 13. end 14. end 15. else (*W GN u >0, ò.e. u óæå áûëà ïîñåùåíà*) 16. if (u 6 p) and (W GN u < W GN u ) then 4 (* ðåáðî fv; ug õîðäà è íå âêëþ÷àåòñÿ â ñòåê*) 17. begin ÑÒÅÊ ( fv; ug; 18. L v minfL v ; W GN u 19. end 20. end; (*ÄÂÓÑÂ*) 21. begin (*ãëàâíàÿ ïðîãðàììà*) 22. for u 2 V do W GN u ; (*èíèöèàëèçàöèÿ*) 23. CT EK ?; num ; 24. for u 2 V do 25. if W GN u then ÄÂÓÑ u; 26. end
[ ℄ :=
:=
+1 [ ℄ := [℄ [℄ [ ℄=0 [ ℄ := min( [ ℄ [ ℄) [℄ [℄
( )
=
=
[℄
[℄
[ ℄ :=
:=
[℄
[ ℄ := 0 := 0 [ ℄=0
[℄
[ ℄)
( 0)
(v; 0) (ñòðîêà 25) äëÿ åùå íå
Ïîêàæåì òåïåðü, ÷òî âûçîâ ïðîöåäóðû ÄÂÓÑÂ
2.7. Ýéëåðîâû ïóòè
99
ðàññìàòðèâàâøåéñÿ âåðøèíû v âëå÷åò çà ñîáîé âûäåëåíèå è èêñèðîâàíèå âñåõ áëîêîâ êîìïîíåíòû ñâÿçíîñòè ãðàà, ñîäåðæàùåé âåðøèíó v . Äîêàçàòåëüñòâî ïðîâîäèòñÿ ìåòîäîì èíäóêöèè ïî ÷èñëó áëîêîâ ýòîé êîìïîíåíòû. Åñëè êîìïîíåíòà ñâÿçíîñòè íå ñîäåðæèò òî÷åê ñî÷ëåíåíèÿ, òî íåòðóäíî îòìåòèòü, ÷òî âûçîâ ÄÂÓÑ v; ïðèâîäèò ê çàñûëêå â ñòåê âñåõ ðåáåð ýòîé êîìïîíåíòû, à çàòåì (ñì. öèêë 10) çàïèñü ýòèõ ðåáåð. Ïðåäïîëîæèì òåïåðü, ÷òî íàøà êîìïîíåíòà ñîäåðæèò k > áëîêîâ è ÷òî àëãîðèòì ðàáîòàåò êîððåêòíî äëÿ ïðîèçâîëüíîé êîìïîíåíòû, ñîäåðæàùåé ìåíåå k áëîêîâ. àññìîòðèì ïåðâîå âñòðåòèâøååñÿ ðåáðî fv; ug, òàêîå ÷òî L u W GN v â ñòðîêå 8. Ñîãëàñíî íàøèì ïðåäûäóùèì ðàññóæäåíèÿì ýòî íåðàâåíñòâî îçíà÷àåò, ÷òî v êîðåíü èëè òî÷êà ñî÷ëåíåíèÿ. Íè îäèí èç ïîòîìêîâ âåðøèíû u (â äåðåâå ïîèñêà â ãëóáèíó, ðåàëèçîâàííîì ñîîòâåòñòâóþùèì àëãîðèòìîì) íå ÿâëÿåòñÿ òî÷êîé ñî÷ëåíåíèÿ, è â ðåçóëüòàòå ðåáðà âåðõíåé ÷àñòè ñòåêà äî fv; ug âêëþ÷èòåëüíî ÿâëÿþòñÿ ðåáðàìè ãðàà, ñîåäèíÿþùèìè ïîòîìêîâ âåðøèíû v âìåñòå ñ ñàìîé u, è òåì ñàìûì ñîçäàþò áëîê, êîòîðûé âûïèñûâàåòñÿ â öèêëå 10. Ìîäèèöèðóåì òåïåðü íàøó êîìïîíåíòó, óäàëèâ îïèñàííûé âûøå áëîê (íå óäàëÿÿ âåðøèíó v ). Ìîäèèöèðîâàííàÿ òàêèì îáðàçîì êîìïîíåíòà èìååò k áëîê, è âûïîëíåíåíèå äëÿ íåå ïðîöåäóðû ÄÂÓÑ v; âûçûâàåò â ñèëó èíäóêòèâíîãî ïðåäïîëîæåíèÿ êîððåêòíóþ çàïèñü ýòèõ áëîêîâ. Äåéñòâèÿ àëãîðèòìà äëÿ ìîäèèöèðîâàííîé êîìïîíåíòû îòëè÷àþòñÿ îò äåéñòâèé â ñëó÷àå ñ èñõîäíîé êîìïîíåíòîé òîëüêî òåì, ÷òî äëÿ ïåðâîé âñòðå÷åííîé òî÷êè ñî÷ëåíåíèÿ (èñõîäíîé êîìïîíåíòû) v öèêë 4 íå âûïîëíÿåòñÿ äëÿ âåðøèí u, ïðèíàäëåæàùèõ óäàëåííîìó áëîêó. Îòñþäà ëåãêî ñëåäóåò, ÷òî ÄÂÓÑ u; êîððåêòíî îïðåäåëÿåò âñå k áëîêîâ íàøåé êîìïîíåíòû ñâÿçíîñòè, à òåì ñàìûì âåñü àëãîðèòì êîððåêòíî îïðåäåëÿåò âñå áëîêè ãðàà. Îöåíèì òåïåðü âû÷èñëèòåëüíóþ ñëîæíîñòü àëãîðèòìà. Öèêëû 22 è 25 òðåáóþò O n øàãîâ, ïðè÷åì äëÿ âòîðîãî öèêëà íå ó÷èòûâàþòñÿ øàãè, âûïîëíÿåìûå ïðè âûçîâå ÄÂÓÑ v; äëÿ êàæäîé åùå íåðàññìîòðåííîé âåðøèíû. Òàêîé âûçîâ äëÿ êîìïîíåíòû ñâÿçíîñòè ñ ni âåðøèíàìè è mi ðåáðàìè òðåáóåò O ni mi øàãîâ, íå ñ÷èòàÿ øàãîâ â öèêëå 10, òàê êàê òàêàÿ ïðîöåäóðà âåäåò â êîìïîíåíòå ïîèñê â ãëóáèíó, òðåáóÿ ÷èñëî øàãîâ, îãðàíè÷åííîå êîíñòàíòîé äëÿ êàæäîãî ïðîñìàòðèâàåìîãî ðåáðà. Êàæäîå ðåáðî óäàëÿåòñÿ èç ñòåêà è ïîïàäàåò â ñïèñîê ðåáåð áëîêà â òî÷íîñòè îäèí ðàç, ÷òî äàåò â ñóììå O m øàãîâ, ñîâåðøàåìûõ öèêëîì 10 âî âðåìÿ åãî âûïîëíåíèÿ âñåãî àëãîðèòìà. Ñóììèðóÿ âñå ýòè ñëàãàåìûå, ïîëó÷àåì â èòîãå îáùóþ ñëîæíîñòü àëãîðèòìà, ðàâíóþ O n m .
( 0)
1
[℄
[℄
1
( 0)
( 0)
()
( 0)
( + )
( )
( + )
2.7 Ýéëåðîâû ïóòè Ýéëåðîâûì ïóòåì â ãðàå íàçûâàåòñÿ ïðîèçâîëüíûé ïóòü, ïðîõîäÿùèé ÷åðåç êàæäîå ðåáðî ãðàà â òî÷íîñòè îäèí ðàç, ò.å. ïóòü v1 ; : : : ; vm+1 , òàêîé ÷òî êàæäîå ðåáðî e 2 E ïîÿâëÿåòñÿ â ïîñëåäîâàòåëüíîñòè v1 ; : : : ; vm+1 â òî÷íîñòè îäèí
ëàâà 2. Àëãîðèòìû íà ãðààõ
100
=
=
ðàç êàê e fvi ; vi+1 g äëÿ íåêîòîðîãî i. Åñëè vi vm+1 , òî òàêîé ïóòü íàçûâàåòñÿ ýéëåðîâûì öèêëîì. Çàäà÷à ñóùåñòâîâàíèÿ ýéëåðîâà ïóòè â çàäàííîì ãðàå áûëà ðåøåíà Ýéëåðîì â 1736 ã., è ïðåäñòàâëåííîå èì íåîáõîäèìîå è äîñòàòî÷íîå óñëîâèå ñóùåñòâîâàíèÿ òàêîãî ïóòè (ñì. òåîðåìó 2.12) ñ÷èòàåòñÿ ïåðâîé â èñòîðèè òåîðåìîé òåîðèè ãðàîâ. Òåîðåìà 2.12. Ýéëåðîâ ïóòü â ãðàå ñóùåñòâóåò òîãäà è òîëüêî òîãäà, êîãäà ãðà ñâÿçíûé è ñîäåðæèò íå áîëåå ÷åì äâå âåðøèíû íå÷åòíîé ñòåïåíè. Äîêàçàòåëüñòâî. Äîêàçàòåëüñòâî äîñòàòî÷íîñòè óñëîâèÿ òåîðåìû áóäåò ñëåäñòâèåì àíàëèçà àëãîðèòìà íàõîæäåíèÿ ýéëåðîâà ïóòè, êîòîðûé ìû îïèøåì â äàííîì ðàçäåëå. Íåîáõîäèìîñòü óñëîâèÿ î÷åâèäíà, òàê êàê åñëè âåðøèíà v , îòëè÷íàÿ îò v1 è vm+1 , ïîÿâëÿåòñÿ â ýéëåðîâîì ïóòè v1 ; : : : ; vm+1 k ðàç, òî ýòî îçíà÷àåò, ÷òî ñòåïåíü ýòîé âåðøèíû â ãðàå ñîñòàâëÿåò k . Îòñþäà ñëåäóåò, ÷òî âåðøèíû íå÷åòíîé ñòåïåíè, åñëè îíè ñóùåñòâóþò, ÿâëÿþòñÿ êîíöàìè ýéëåðîâà ïóòè. Çäåñü ñëåäóåò îòìåòèòü, ÷òî íå ñóùåñòâóåò ãðàîâ ñ îäíîé òîëüêî âåðøèíîé íå÷åòíîé ñòåïåíè. Äåéñòâèòåëüíî, îáîçíà÷àÿ ñòåïåíü âåðøèíû v ÷åðåç d v , èìååì
2
()
X
v2V
d(v) = 2m;
èáî â óêàçàííîé âûøå ñóììå êàæäîå ðåáðî fv; ug ñ÷èòàåòñÿ äâàæäû: îäèí ðàç â d u è îäèí ðàç â d v . Îòñþäà ñëåäóåò, ÷òî ÷èñëî âåðøèí íå÷åòíîé ñòåïåíè âñåãäà ÷åòíî. Åñëè â ñâÿçíîì ãðàå íåò âåðøèí íå÷åòíîé ñòåïåíè, òî êàæäûé ýéëåðîâ ïóòü ÿâëÿåòñÿ öèêëîì, òàê êàê êîíöû ýéëåðîâà ïóòè, íå ÿâëÿþùåãîñÿ öèêëîì, âñåãäà âåðøèíû íå÷åòíîé ñòåïåíè. Ïðåäïîëîæèì, ÷òî u è v åäèíñòâåííûå âåðøèíû íå÷åòíîé ñòåïåíè ñâÿçíîãî ãðàà G hV; E i, è îáðàçóåì ãðà G äîáàâëåíèåì äîïîëíèòåëüíîé âåðøèíû t è ðåáåð fu; tg è fv; tg (èëè ïðîñòî fu; v g, åñëè fu; v g 2 = E ). Òîãäà G ñâÿçíûé ãðà áåç âåðøèí íå÷åòíîé ñòåïåíè, à ýéëåðîâû ïóòè â G áóäóò â î÷åâèäíîì âçàèìíî îäíîçíà÷íîì ñîîòâåòñòâèè ñ ýéëåðîâûìè öèêëàìè â G .  ñèëó ýòîãî â îñòàâøåéñÿ ÷àñòè äàííîãî ðàçäåëà ìû áóäåì çàíèìàòüñÿ òîëüêî ýéëåðîâûìè öèêëàìè. Àëãîðèòì 2.13 (Íàõîæäåíèå ýéëåðîâîãî öèêëà). Äàííûå: Ñâÿçíûé ãðà G hV; E i áåç âåðøèí íå÷åòíîé ñòåïåíè, ïðåäñòàâëåííûé ñïèñêàìè ÇÀÏÈÑÜ v ,v 2 V . åçóëüòàòû: Ýéëåðîâ öèêë, ïðåäñòàâëåííûé ïîñëåäîâàòåëüíîñòüþ âåðøèí â ñòåêå ÑÅ.
()
()
=
[℄
1. 2. 3. 4.
begin
:=
:=
=
ÑÒÅÊ ?; ÑÅ ?; v:=ïðîèçâîëüíàÿ âåðøèíà ãðàà; CT EK ( v;
2.7. Ýéëåðîâû ïóòè 5. 6. 7. 8. 9.
while
=?
ÑÒÅÊ 6 begin
10. 11. 12. 13. 14. 15. 16. 17.
101 do
v := top(ÑÒÅÊ);(*v=âåðõíèé ýëåìåíò ñòåêà*) if ÇÀÏÈÑÜ[v ℄ 6= ? then begin u:=ïåðâàÿ âåðøèíà ñïèñêà ÇÀÏÈÑÜ[v ℄; ÑÒÅÊ ( u; (*óäàëèòü ðåáðî fv; ug èç ãðàà*) ÇÀÏÈÑÜ[v ℄ := ÇÀÏÈÑÜ[v ℄nfug; ÇÀÏÈÑÜ[u℄ := ÇÀÏÈÑÜ[u℄nfv g; v := u end else
[ ℄=
(*ÇÀÏÈÑÜ v ?*) v ( ÑÒÅÊ, CE
begin
(u
end end end
uu u uHHHu uHHHuPPPPPu HH HH HHu
Ïðèíöèïû äåéñòâèÿ àëãîðèòìà ìîæ4 íî îáúÿñíèòü ñëåäóþùèì îáðàçîì: ïóñòü 5 3 v0 âåðøèíà, âûáðàííàÿ â ñòðîêå 6 3. Öèêë 5 íà÷èíàåò ñòðîèòü ïóòü ñ 1 íà÷àëîì â v0 , ïðè÷åì âåðøèíû ýòî8 9 ãî ïóòè ïîìåùàþòñÿ â ÑÒÅÊ, à ðå2 áðà óäàëÿþòñÿ èç ãðàà. Ýòè äåéñòâèÿ ïðîäîëæàþòñÿ âïëîòü äî òî7 ãî ìîìåíòà, êîãäà ïóòü íåëüçÿ óäëè1, 2, 3, 4, 5, 6, 7, 2, 8, 6, 9, 7, 8, 5, 3, 1 íèòü, âêëþ÷èâ â íåãî íîâóþ âåðøèíó, ò.å. êîãäà ÇÀÏÈÑÜ v ? â ñòðîêå 7. Îòìåòèì, ÷òî òîãäà äîëæíî áûòü èñ. 2.9: ðà è ýéëåðîâ öèêë â ýòîì v v0 , òàê êàê â ëþáîì äðóãîì ñëó- ãðàå, íàéäåííûé ñ ïîìîùüþ àëãîðèò÷àå ýòî îçíà÷àëî áû, ÷òî ñòåïåíü âåð- ìà 2.13. øèíû v íå÷åòíàÿ. Òàêèì îáðàçîì, èç íàøåãî ãðàà áûë óäàëåí öèêë, à âåðøèíû ýòîãî öèêëà íàõîäÿòñÿ â ñòåêå ÑÒÅÊ. Îòìåòèì, ÷òî â ãðàå, ìîäèèöèðîâàííîì òàêèì ñïîñîáîì, ñòåïåíü ïðîèçâîëüíîé âåðøèíû îñòàíåòñÿ ÷åòíîé. Âåðøèíà v v0 ïåðåíîñèòñÿ òåïåðü èç ñòåêà ÑÒÅÊ â ñòåê ÑÅ, à ¾î÷åðåäíîé¿ âåðøèíîé u ñòàíîâèòñÿ âåðõíèé ýëåìåíò ñòåêà ÑÒÅÊ. Ïðîöåññ ïîâòîðÿåòñÿ, íà÷èíàÿ ñ ýòîé âåðøèíû (åñëè ÇÀÏÈÑÜ v 6 ?), â ðåçóëüòàòå ÷åãî âñëåäñòâèå ÷åòíîñòè ñòåïåíè âñåõ âåðøèí íàõîäèòñÿ è ïîìåùàåòñÿ â ñòåê ÑÒÅÊ, íåêîòîðûé öèêë, ïðîõîäÿùèé ÷åðåç âåðøèíó v . Ýòî ïðîäîëæàåòñÿ äî òîãî ìîìåíòà, êîãäà ÑÒÅÊ íå ñòàíåò ïóñòûì. Î÷åâèäíî, ÷òî âåðøèíû, ïîìåùàåìûå â ñòåê ÑÅ, îáðàçóþò íåêîòîðûé ïóòü, ïðè÷åì âåðøèíà v ïåðåíîñèòñÿ â ñòåê ÑÅ òîëüêî òîãäà, êîãäà ÇÀÏÈÑÜ v ?, ò.å. êîãäà âñå ðåáðà, èíöèäåíòíûå ñ ýòîé âåðøèíîé, ïðåäñòàâ-
[ ℄=
=
=
[ ℄=
[ ℄=
ëàâà 2. Àëãîðèòìû íà ãðààõ
102
ëåíû (ïàðàìè ñîñåäíèõ âåðøèí) â îäíîì èç ñòåêîâ. Îòñþäà ëåãêî ñëåäóåò, ÷òî ïî îêîí÷àíèè àëãîðèòìà ñòåê ÑÅ ñîäåðæèò ýéëåðîâ öèêë. Îöåíèì òåïåðü âû÷èñëèòåëüíóþ ñëîæíîñòü íàøåãî àëãîðèòìà. Äëÿ ýòîãî îòìåòèì, ÷òî êàæäàÿ èòåðàöèÿ ãëàâíîãî öèêëà (ñòðîêà 5) ëèáî ïîìåùàåò âåðøèíó â ñòåê ÑÒÅÊ è óäàëÿåò ðåáðî èç ãðàà, ëèáî ïåðåíîñèò âåðøèíó èç ñòåêà ÑÒÅÊ â ñòåê ÑÅ. Òàêèì îáðàçîì, ÷èñëî èòåðàöèé ýòîãî öèêëà O m .  ñâîþ î÷åðåäü ÷èñëî øàãîâ â êàæäîé èòåðàöèè îãðàíè÷åíî êîíñòàíòîé. Ìû ïðåäïîëàãàåì çäåñü, ÷òî êàæäûé èç ñïèñêîâ èíöèäåíòíîñòè ÇÀÏÈÑÜ v , v 2 V , ðåàëèçîâàí òàêèì îáðàçîì, ÷òî êàæäàÿ âåðøèíà â ýòîì ñïèñêå ñîäåðæèò óêàçàòåëè íà ïðåäûäóùóþ è ïîñëåäóþùóþ âåðøèíû, è âåðøèíà u â ñïèñêå ÇÀÏÈÑÜ v ñîäåðæèò óêàçàòåëü íà âåðøèíó v â ñïèñêå ÇÀÏÈÑÜ u . Ýòî äàåò âîçìîæíîñòü óñòðàíèòü ðåáðî fv; ug (ñòðîêà 10) çà âðåìÿ, îãðàíè÷åííîå êîíñòàíòîé (ñì. ðàçä. 2.1). Èç ïðèâåäåííûõ âûøå ðàññóæäåíèé ìîæíî ñäåëàòü âûâîä, ÷òî îáùàÿ ñëîæíîñòü àëãîðèòìà åñòü O m . Î÷åâèäíî, ÷òî ýòîò àëãîðèòì îïòèìàëüíûé, òàê êàê óæå îäíî âûïèñûâàíèå ýéëåðîâà öèêëà òðåáóåò m øàãîâ. Íà ðèñ. 2.9 ïðåäñòàâëåí ãðà è íåêîòîðûé ýéëåðîâ öèêë, íàéäåííûé àëãîðèòìîì 2.13.
( )
[℄
[℄
[℄
( )
( )
2.8 Àëãîðèòìû ñ âîçâðàòîì (ba k-tra king) àññìîòðèì òåïåðü çàäà÷ó, ðàññìîòðåííóþ â ïðåäûäóùåì ïàðàãðàå, ñ òîé ðàçíèöåé, ÷òî íà ýòîò ðàç íàñ áóäóò èíòåðåñîâàòü ïóòè, ïðîõîäÿùèå â òî÷íîñòè îäèí ðàç ÷åðåç êàæäóþ âåðøèíó (à íå êàæäîå ðåáðî) äàííîãî ãðàà. Ýòà íåáîëüøàÿ, êàê ìîãëî áû ïîêàçàòüñÿ, ìîäèèêàöèÿ ïðèâîäèò, êàê ìû óáåäèìñÿ, ê çíà÷èòåëüíîìó èçìåíåíèþ õàðàêòåðà ïðîáëåìû. Âñïîìíèì, ÷òî ïóòü ñ óêàçàííûì ñâîéñòâîì íàçûâàåòñÿ ãàìèëüòîíîâûì ïóòåì (ãàìèëüòîíîâ öèêë îïðåäåëÿåòñÿ î÷åâèäíûì îáðàçîì). Ïðèìåð ãàìèëüòîíîâà ïóòè â ãðàå è ãðàà, â êîòîðîì òàêîãî ïóòè íå ñóùåñòâóåò, ïîêàçàí íà ðèñ. 2.10.  îòëè÷èå îò ýéëåðîâûõ ïóòåé íå èçâåñòíî íè îäíîãî ïðîñòîãî íåîáõîäèìîãî è äîñòàòî÷íîãî óñëîâèÿ äëÿ ñóùåñòâîâàíèÿ ãàìèëüòîíîâûõ ïóòåé è ýòî íåñìîòðÿ íà òî, ÷òî ýòà çàäà÷à îäíà èç öåíòðàëüíûõ â òåîðèè ãðàîâ. Íå èçâåñòåí òàêæå àëãîðèòì, êîòîðûé ïðîâåðÿë áû ñóùåñòâîâàíèå ãàìèëüòîíîâà ïóòè â ïðîèçâîëüíîì ãðàå, èñïîëüçóÿ ÷èñëî øàãîâ, îãðàíè÷åííîå ìíîãî÷ëåíîì îò ïåðåìåííîé n (÷èñëà âåðøèí â ãðàå). Èìåþòñÿ íåêîòîðûå îñíîâàíèÿ, íî íåò ìàòåìàòè÷åñêîãî äîêàçàòåëüñòâà òîãî, ÷òîáû ïðåäïîëàãàòü, ÷òî òàêîå ïîëîæåíèå âåùåé âûçâàíî íå ñòîëüêî íàøèì íåçíàíèåì, à ñêîðåå òåì àêòîì, ÷òî òàêîãî àëãîðèòìà íå ñóùåñòâóåò. Ïðîáëåìà ñóùåñòâîâàíèÿ ãàìèëüòîíîâà ïóòè ïðèíàäëåæèò ê êëàññó òàê íàçûâàåìûõ NP-ïîëíûõ çàäà÷ [27℄. Äåòàëüíîå îáñóæäåíèå ýòèõ çàäà÷ âûõîäèò çà ðàìêè ýòîé êíèãè. Îòìåòèì çäåñü òîëüêî, ÷òî ýòî øèðîêèé êëàññ çàäà÷, âêëþ÷àþùèé óíäàìåíòàëüíûå çàäà÷è èç òåîðèè
2.8. Àëãîðèòìû ñ âîçâðàòîì (ba k-tra king) à)
uR
uR
u
uR
u u u u u u á)
u
6 R6
u
u
103
èñ. 2.10: à) àìèëüòîíîâ ïóòü â ãðàå; á) ðà, â êîòîðîì íå ñóùåñòâóåò ãàìèëüòîíîâà ïóòè. ãðàîâ, ëîãèêè, òåîðèè ÷èñåë, äèñêðåòíîé îïòèìèçàöèè è äðóãèõ äèñöèïëèí, íè äëÿ îäíîé èç êîòîðûõ íåèçâåñòåí ïîëèíîìèàëüíûé àëãîðèòì (ò.å. ñ ÷èñëîì øàãîâ, îãðàíè÷åííûì ïîëèíîìîì îò ðàçìåðíîñòè çàäà÷è), ïðè÷åì ñóùåñòâîâàíèå ïîëèíîìèàëüíîãî àëãîðèòìà äëÿ õîòÿ áû îäíîé èç íèõ àâòîìàòè÷åñêè âëåêëî áû çà ñîáîé ñóùåñòâîâàíèå ïîëèíîìèàëüíûõ àëãîðèòìîâ äëÿ âñåõ ýòèõ çàäà÷. Èìåííî àêò óíäàìåíòàëüíîñòè ìíîãèõ NP-ïîëíûõ çàäà÷ â ðàçëè÷íûõ îáëàñòÿõ è òî, ÷òî, íåñìîòðÿ íà íåçàâèñèìûå äðóã îò äðóãà óñèëèÿ ñïåöèàëèñòîâ â ýòèõ îáëàñòÿõ, íå óäàëîñü íàéòè ïîëèíîìèàëüíîãî àëãîðèòìà íè äëÿ îäíîé èç ýòèõ çàäà÷, ñêëîíÿåò ê ïðåäïîëîæåíèþ, ÷òî òàêîãî àëãîðèòìà íå ñóùåñòâóåò. Âåðíåìñÿ ê êîíêðåòíîé çàäà÷å ñóùåñòâîâàíèÿ ãàìèëüòîíîâà ïóòè. Î÷åâèäíûé àëãîðèòì, êîòîðûé ìû ìîæåì ïðèìåíèòü, ýòî ¾ïîëíûé ïåðåáîð âñåõ âîçìîæíîñòåé¿: ãåíåðèðóåì âñå n ðàçëè÷íûõ ïîñëåäîâàòåëüíîñòåé âåðøèí è äëÿ êàæäîé èç íèõ ïðîâåðÿåì, îïðåäåëÿåò ëè îíà ãàìèëüòîíîâ ïóòü. Òàêèå äåéñòâèÿ òðåáóþò ïî ìåíüøåé ìåðå n n øàãîâ, íî óíêöèÿ îò n ïîäîáíîãî âèäà ðàñòåò áûñòðåå, ÷åì ïðîèçâîëüíûé ìíîãî÷ëåí, è äàæå áûñòðåå, ÷åì ïðîèçâîëüíàÿ ýêñïîíåíöèàëüíàÿ óíêöèÿ âèäà àn , a > , èáî
!
!
1
n!n > bn=2 bn= = abn= 2
2
log
a bn=2
Îïèøåì òåïåðü îáùèé ìåòîä, ïîçâîëÿþùèé çíà÷èòåëüíî ñîêðàòèòü ÷èñëî øàãîâ â àëãîðèòìàõ òèïà ïîëíîãî ïåðåáîðà âñåõ âîçìîæíîñòåé. ×òîáû ïðèìåíèòü ýòîò ìåòîä, èñêîìîå ðåøåíèå äîëæíî èìåòü âèä ïîñëåäîâàòåëüíîñòè hx1 ; : : : ; xn i. Îñíîâíàÿ èäåÿ ìåòîäà ñîñòîèò â òîì, ÷òî ìû ñòðîèì íàøå ðåøåíèå ïîñëåäîâàòåëüíî, íà÷èíàÿ ñ ïóñòîé ïîñëåäîâàòåëüíîñòè " (äëèíû 0). Âîîáùå, èìåÿ äàííîå ÷àñòè÷íîå ðåøåíèå hx1 ; : : : ; xi i, ìû ñòàðàåìñÿ íàéòè òàêîå äîïóñòèìîå çíà÷åíèå xi+1 , îòíîñèòåëüíî êîòîðîãî ìû íå ìîæåì ñðàçó çàêëþ÷èòü, ÷òî hx1 ; : : : ; õi ; xi i ìîæíî ðàñøèðèòü äî íåêîòîðîãî ðåøåíèÿ (ëèáî hx1 ; : : : ; xi+1 i óæå ÿâëÿåòñÿ ðåøåíèåì). Åñëè òàêîå ïðåäïîëàãàåìîå, íî åùå íå èñïîëüçîâàííîå çíà÷åíèå xi+1 ñóùåñòâóåò, òî ìû äîáàâëÿåì åãî ê íàøåìó ÷àñòè÷íîìó ðåøåíèþ è ïðîäîëæàåì ïðîöåññ äëÿ ïîñëåäîâàòåëüíîñòè hx1 ; : : : ; xi ; xi+1 i. Åñëè åãî íå ñóùåñòâóåò, òî ìû âîçâðàùàåìñÿ ê íàøåìó ÷àñòè÷íîìó ðåøåíèþ hx1 ; : : : ; xi 1 i è
+1
ëàâà 2. Àëãîðèòìû íà ãðààõ
104
ïðîäîëæàåì íàø ïðîöåññ, îòûñêèâàÿ íîâîå, åùå íå èñïîëüçîâàííîå äîïóñòèìîå çíà÷åíèå x0i îòñþäà íàçâàíèå ¾àëãîðèòì ñ âîçâðàòîì¿ (àíãë.: ba ktra king). Òî÷íåå ãîâîðÿ, ìû ïðåäïîëàãàåì, ÷òî äëÿ êàæäîãî k > ñóùåñòâóåò íåêîòîðîå ìíîæåñòâî Ak , èç êîòîðîãî ìû áóäåì âûáèðàòü êàíäèäàòîâ äëÿ k -é êîîðäèíàòû ÷àñòè÷íîãî ðåøåíèÿ. Î÷åâèäíî, ÷òî ìíîæåñòâà Ak äîëæíû áûòü îïðåäåëåíû òàêèì îáðàçîì, ÷òî äëÿ êàæäîãî öåëî÷èñëåííîãî ðåøåíèÿ hx1 ; : : : ; xn i íàøåé çàäà÷è è äëÿ êàæäîãî k n ìíîæåñòâî Ak ñîäåðæàëî ýëåìåíò xk (íà ïðàêòèêå ìû íå ìîæåì âîîáùå èñêëþ÷èòü ñèòóàöèþ, êîãäà ìíîæåñòâî Ak ñîäåðæèò íåêîòîðûå ¾ëèøíèå¿ ýëåìåíòû, íå ïîÿâëÿþùèåñÿ â k -é êîîðäèíàòå íè îäíîãî öåëî÷èñëåííîãî ðåøåíèÿ). Ìû ïðåäïîëàãàåì òàêæå, ÷òî ñóùåñòâóåò íåêîòîðàÿ ïðîñòàÿ óíêöèÿ, êîòîðàÿ ïðîèçâîëüíîìó ÷àñòè÷íîìó ðåøåíèþ hx1 ; : : : ; xi i ñòàâèò â ñîîòâåòñòâèå çíà÷åíèå P x1 ; : : : ; xi (èñòèíà ëèáî ëîæü) òàêèì îáðàçîì, ÷òî åñëè P x1 ; : : : ; xi =ëîæü, òî ïîñëåäîâàòåëüíîñòü hx1 ; : : : ; xi i íåñîìíåííî íåëüçÿ ðàñøèðèòü äî ðåøåíèÿ. Åñëè P x1 ; : : : ; xi =èñòèíà, òî ìû ãîâîðèì, ÷òî çíà÷åíèå xi äîïóñòèìî (äëÿ ÷àñòè÷íîãî ðåøåíèÿ hx1 ; : : : ; xi 1 i , íî ýòî îòíþäü íå îçíà÷àåò, ÷òî hx1 ; : : : ; xi 1 i îáÿçàòåëüíî ðàñøèðÿåòñÿ äî ïîëíîãî ðåøåíèÿ. Ýòîò ïðîöåññ ìîæíî çàïèñàòü â âèäå ñëåäóþùåé ñõåìû:
0
(
1 2 3 4
(
)
)
(
)
)
begin
k := 1;
while if
k > 0 do
ñóùåñòâóåò åùå íå èñïîëüçîâàííûé ýëåìåíò òàêîé ÷òî P X ; : : : ; X k ;y
y 2 Ak ,
( [1℄ [ 1℄ ) X [k℄ := y; (* ýëåìåíò y èñïîëüçîâàí*) hX [1℄; : : : ; X [k℄i ÿâëÿåòñÿ öåëî÷èñëåííûì ðåøåíèåì write(X [1℄; : : : ; X [k℄); k := k + 1
then
5 6 7 8 9 10
else
11 12
end
begin if
then
end
(* âîçâðàò íà áîëåå êîðîòêîå ÷àñòè÷íîé ðåøåíèå; âñå ýëåìåíòû ìíîæåñòâà Ak âíîâü ñòàíîâÿòñÿ íåèñïîëüçîâàííûìè *)
k := k
1
Ýòîò àëãîðèòì íàõîäèò âñå ðåøåíèÿ â ïðåäïîëîæåíèè, ÷òî ìíîæåñòâà Ak êîíå÷íûå è ÷òî ñóùåñòâóåò n, òàêîå ÷òî P x1 ; : : : ; xn =ëîæü äëÿ âñåõ x1 2 A1 ; : : : ; xn 2 An (ïîñëåäíåå óñëîâèå îçíà÷àåò, ÷òî âñå ðåøåíèÿ èìåþò äëèíó ìåíüøå n). Ïîêàæåì íàëè÷èå áîëåå îáùåãî ñâîéñòâà:
(
0
1
)
Ïóñòü s > , è ïóñòü hx1 ; : : : ; xs i íåêîòîðîå ÷àñòè÷íîå ðåøåíèå, ïîñòðîåííîå àëãîðèòìîì. àññìîòðèì ïåðâóþ èòåðàöèþ öèêëà
2.8. Àëãîðèòìû ñ âîçâðàòîì (ba k-tra king)
=
[℄=
105
1 (
3, äëÿ êîòîðîé k s, X i xi , i s. Íà÷èíàÿ ñ ýòîé èòåðàöèè, àëãîðèòì ãåíåðèðóåò âñå öåëî÷èñëåííûå ðåøåíèÿ, ÿâëÿþùèåñÿ ðàñøèðåíèåì ïîñëåäîâàòåëüíîñòè x1 ; : : : ; xs 1 , è ïðèõîäèò ê ñîñòîÿíèþ, êîãäà k s .
) 1 Î÷åâèäíî, ÷òî äëÿ s = 1 ïðèâåäåííîå âûøå ñâîéñòâî îçíà÷àåò ïðîñòî êîððåêòíîñòü àëãîðèòìà. Äîêàçàòåëüñòâî ýòîãî ñâîéñòâà â îáùåì âèäå ïðîâîäèòñÿ ïî èíäóêöèè ¾íàçàä¿ îòíîñèòåëüíî s. Îíî èìååò ìåñòî äëÿ s = n, ïîòîìó ÷òî =
íå ñóùåñòâóåò íè îäíîãî äîïóñòèìîãî ýëåìåíòà äëÿ hx1 ; : : : ; xs 1 i è ñðàçó æå âûïîëíÿåòñÿ âòîðîå óñëîâèå óñëîâíîãî îïåðàòîðà â ñòðîêå 10, ò.å. ïåðåìåííàÿ k ïðèíèìàåò çíà÷åíèå s . Ïðåäïîëîæèì òåïåðü ïðàâèëüíîñòü íàøåãî ñâîéñòâà äëÿ íåêîòîðîãî s > . Ïîêàæåì åãî ïðàâèëüíîñòü äëÿ s . Ïóñòü hx1 ; : : : ; xs 2 i ïðîèçâîëüíîå ÷àñòè÷íîå ðåøåíèå, ïîñòðîåííîå íàøèì àëãîðèòìîì; ðàññìîòðèì ïåðâóþ èòåðàöèþ öèêëà 3, äëÿ êîòîðîé k s ,Xi Xi , i s . Åñëè ñóùåñòâóåò ýëåìåíò y , äîïóñòèìûé äëÿ hx1 ; : : : ; xs 2 i, òî ïîñòðîåíèå äàåò ÷àñòè÷íîå ðåøåíèå hx1 ; : : : ; xs 2 ; y i (ñòðîêà 5) è ïåðåìåííàÿ k ïðèíèìàåò çíà÷åíèå s (ñòðîêà 8). Çàòåì ñîãëàñíî íàøåìó èíäóêòèâíîìó ïðåäïîëîæåíèþ áóäóò ñãåíåðèðîâàíû âñå ðåøåíèÿ, ÿâëÿþùèåñÿ ðàñøèðåíèåì ïîñëåäîâàòåëüíîñòè hx1 ; : : : ; xs ; yi, è ìû ïðèõîäèì ê ñîñòîÿíèþ, êîãäà k s , ïîñëå ÷åãî ïðîöåññ ïîâòîðÿåòñÿ äëÿ ñëåäóþùåãî íåèñïîëüçîâàííîãî ýëåìåíòà y , äîïóñòèìîãî äëÿ hx1 ; : : : ; xs 2 i, ïîêà íå áóäóò èñïîëüçîâàíû âñå òàêèå ýëåìåíòû (òàêàÿ ñèòóàöèÿ ìîæåò ïîÿâèòüñÿ ñðàçó ñ ñàìîãî íà÷àëà). Ïåðåìåííàÿ k óìåíüøàåòñÿ òîãäà íà 1 è ïðèíèìàåò çíà÷åíèå s (ñòðîêà 11). Èç ïðèâåäåííûõ âûøå ðàññóæäåíèé ñëåäóåò, ÷òî àëãîðèòì ïðàâèëüíî ïîðîæäàåò âñå ðåøåíèÿ, ÿâëÿþùèåñÿ ðàñøèðåíèåì ïîñëåäîâàòåëüíîñòè hx1 ; : : : ; xs 1 i, ÷òî çàâåðøàåò äîêàçàòåëüñòâî øàãà èíäóêöèè. Äîêàçàííîå íàìè ñâîéñòâî ïðèâîäèò íåïîñðåäñòâåííî ê ñëåäóþùåìó ïðîñòîìó è î÷åâèäíîìó ðåêóðñèâíîìó âàðèàíòó ñõåìû àëãîðèòìà ñ âîçâðàòîì:
1
1
1 1 [℄=
=
1
=
1
1
1
2
1 pro edure AP (k ); (*ãåíåðèðîâàíèå âñåõ ðåøåíèé, ÿâëÿþùèõñÿ ðàñøèðåíèåì ïîñëåäîâàòåëüíîñòè X ; : : : ; X k ; ìàññèâ X ãëîáàëüíûé *) 2 begin 3 for y 2 Ak òàêîãî, ÷òî P X ;:::;X k ; y do 4 begin X k y; 5 if X ; : : : ; X k åñòü öåëî÷èñëåííîå ðåøåíèå then 6 write(X ; : : : ; X k ); 7 AP k 8 end 9 end
[1℄
( [1℄ [ ℄ := [1℄ [℄ [1℄ [℄ ( + 1)
[
[
1℄
1℄ )
åíåðèðîâàíèå âñåõ öåëî÷èñëåííûõ ðåøåíèé ìîæíî âûçâàòü âûçîâîì AP
(1).
ëàâà 2. Àëãîðèòìû íà ãðààõ
106
Ïðåäñòàâëåíèå àëãîðèòìà ñ âîçâðàòîì ìû íà÷àëè ñ íåñêîëüêî áîëåå ñëîæíîãî íåðåêóðñèâíîãî âàðèàíòà òîëüêî ïîòîìó, ÷òî â ðåêóðñèâíîì âàðèàíòå ¾âîçâðàò¿ íå ïîÿâëÿåòñÿ â ÿâíîì âèäå, áóäó÷è ÷àñòüþ ðåàëèçàöèè ìåõàíèçìà ðåêóðñèè. Ïðèìåíèì òåïåðü àëãîðèòì ñ âîçâðàòîì äëÿ íàõîæäåíèÿ ãàìèëüòîíîâà öèêëà â ãðàå G hV; E i. Êàæäûé òàêîé öèêë ìîæíî ïðåäñòàâèòü ïîñëåäîâàòåëüíîñòüþ hx1 ; x2 ; : : : ; xn+1 i, ïðè÷åì x1 xn v0 , ãäå v0 íåêîòîðàÿ èêñèðîâàííàÿ âåðøèíà ãðàà, xi xi+1 äëÿ i n è xi 6 õj äëÿ i < j n. Ñîãëàñíî ýòèì óñëîâèÿì ìû ìîæåì ïîëîæèòü:
=
=
Ak = V; P (x ; : : : ; xk 1
1
+1 =
=
1
1; y) , y 2 ÇÀÏÈÑÜ[xk 1℄ ^ y 2= fx ; : : : ; xk g: 1
1
Àëãîðèòì 2.14. (Íàõîæäåíèå âñåõ ãàìèëüòîíîâûõ öèêëîâ â ãðàå.) Äàííûå: ðà G hV; E i, ïðåäñòàâëåííûé ñïèñêàìè èíöèäåíòíîñòè ÇÀÏÈÑÜ v , v 2 V . åçóëüòàòû: Ñïèñîê âñåõ ãàìèëüòîíîâûõ öèêëîâ ãðàà G.
=
[℄
1 pro edure ÀÌÈËÜÒ(k ) (* ãåíåðèðîâàíèå âñåõ ãàìèëüòîíîâûõ öèêëîâ, ÿâëÿþùèõñÿ ðàñøèðåíèåì ïîñëåäîâàòåëüíîñòè hX ; : : : ; X k i; ìàññèâû X , DOP ãëîáàëüíûå *) 2 begin 3 for y 2 ÇÀÏÈÑÜ X k do 4 if (k n ) and (y v0 ) then write(X ; : : : ; X n ; v0 ) 5 else if DOP [y℄ then 6 begin X k y; DOP y :=ëîæü; 7 ÀÌÈËÜÒ k ; 8 DOP y :=èñòèíà 9 end 10 end; (* ÀÌÈËÜÒ*) 11 begin (*ãëàâíàÿ ïðîãðàììà*) 12 for v 2 V do DOP v :=èñòèíà; (* èíèöèàëèçàöèÿ*) 13 X v0 ;(*v0 -ïðîèçâîëüíàÿ èêñèðîâàííàÿ âåðøèíà ãðàà*) 14 DOP v0 :=ëîæü; 15 ÀÌÈËÜÒ(2); 16 end
[1℄
= +1
[ [
1℄℄ =
[
[1℄
1℄
[℄
[ ℄ := [℄ ( + 1) [℄
[1℄ := [ ℄
[℄
àáîòó ýòîãî àëãîðèòìà, òàê æå êàê è ïðîèçâîëüíîãî àëãîðèòìà ñ âîçâðàòîì, ìîæíî ïðîèëëþñòðèðîâàòü ïðîöåññîì ïîèñêà â íåêîòîðîì äåðåâå. Êàæäàÿ âåðøèíà äåðåâà åñòåñòâåííûì îáðàçîì ñîîòâåòñòâóåò íåêîòîðîé ïîñëåäîâàòåëüíîñòè hx1 ; : : : ; xk i, ïðè÷åì âåðøèíû, ñîîòâåòñòâóþùèå ïîñëåäîâàòåëüíîñòÿì âèäà hx1 ; : : : ; xk ; yi, ÿâëÿþòñÿ ñûíîâüÿìè ýòîé âåðøèíû (êîðåíü ñîîòâåòñòâóåò ïóñòîé ïîñëåäîâàòåëüíîñòè "). àññìîòðèì ïîëíîå äåðåâî D, ñîñòîÿùåå èç âñåõ
2.8. Àëãîðèòìû ñ âîçâðàòîì (ba k-tra king)
u
PPPPP 2 PPH4 2 HH HH 5 5 3 3 1 5 3 A AA A A A 4 5 4 2 2 3 5 3 A A A A 1 A 5 4 4 1 A 3 1 A 5 2 1 A 3 12 4
107
u u u u u u u u u u u u u u uu uu u u u u u u uu u u u muu mu mu um 1
1
1
èñ. 2.11: ðà è äåðåâî, èëëþñòðèðóþùèå àëãîðèòì ñ âîçâðàòîì íàõîæäåíèÿ âñåõ ãàìèëüòîíîâûõ öèêëîâ â ýòîì ãðàå.
0
âîçìîæíûõ ïîñëåäîâàòåëüíîñòåé âèäà hx1 ; : : : ; xk i, ãäå k n è xi 2 Ai äëÿ i k, è âðåìåííî äîïóñòèì, ÷òî êàæäûé ýëåìåíò y 2 A ÿâëÿåòñÿ äîïóñòèìûì äëÿ hx1 ; : : : ; xk i, åñëè k n, è íè îäèí ýëåìåíò íå ÿâëÿåòñÿ äîïóñòèìûì äëÿ hx1 ; : : : ; xk 1 i, åñëè k > n; äðóãèìè ñëîâàìè,
1
1
P (x ; : : : ; xk ; kk ) = 1
1
èñòèíà ëîæü
1
;
;
åñëè åñëè
kn k>n
(1)
(xi 2 Ai äëÿ i k ). Òîãäà íåòðóäíî îòìåòèòü, ÷òî âûçîâ AP âûçûâàåò ïîèñê â ãëóáèíó âî âñåì äåðåâå D (íà÷èíàÿ îò êîðíÿ "). Äëÿ ñëó÷àÿ ìåíåå òðèâèàëüíîé óíêöèè P , îïðåäåëÿþùåé äîïóñòèìîñòü âåðøèí, ïðîöåññ ïîèñêà ¾îïóñêàåò¿ ðàññìîòðåíèå âåðøèí ïîääåðåâà ñ êîðíåì â êàæäîé âñòðå÷åííîé ¾íåäîïóñòèìîé¿ âåðøèíå (ò.å. âåðøèíå, ñîîòâåòñòâóþùåé ïîñëåäîâàòåëüíîñòè hx1 ; : : : ; xk i, äëÿ êîòîðîé P x1 ; : : : ; xk =ëîæü).  ýòîì, ñîáñòâåííî ãîâîðÿ, çàêëþ÷àåòñÿ ýåêòèâíîñòü àëãîðèòìà ñ âîçâðàòîì â îòíîøåíèè ïîëíîãî ïåðåáîðà âñåõ âîçìîæíîñòåé. Äëÿ àëãîðèòìà 2.14 ýòî èëëþñòðèðóåòñÿ ðèñ. 2.11.
(
)
Ñëåäóåò îòìåòèòü, ÷òî äëÿ áîëüøèíñòâà ïðèëîæåíèé ÷èñëî øàãîâ àëãîðèòìà ñ âîçâðàòîì õîòÿ è áóäåò ìåíüøå, ÷åì â ñëó÷àå ïîëíîãî ïåðåáîðà, îäíàêî æå â íàèõóäøåì ñëó÷àå ðàñòåò ïî ýêñïîíåíòå ñ âîçðàñòàíèåì ðàçìåðíîñòè çàäà÷è. Ýòî ñïðàâåäëèâî è äëÿ ñëó÷àÿ, êîãäà ìû èùåì òîëüêî îäíî, à íå âñå ðåøåíèÿ (òîãäà ìû ïðîñòî ïðåðûâàåì âûïîëíåíèå àëãîðèòìà ïîñëå ïîëó÷åíèÿ ïåðâîãî ðåøåíèÿ; îòìåòèì, ÷òî, êîãäà çàäà÷à íå èìååò ðåøåíèÿ, ýòà ìîäèèêàöèÿ íå âëèÿåò íà õîä âûïîëíåíèÿ àëãîðèòìà).
ëàâà 2. Àëãîðèòìû íà ãðààõ
108
2.9 Çàäà÷è
2.1. Äîêàçàòü, ÷òî äëÿ ïðîèçâîëüíîãî íåîðèåíòèðîâàííîãî ãðàà ìàòðèöà ñìåæíîñòè B âûðàæàåòñÿ ÷åðåç ìàòðèöó èíöèäåíòíîñòè A ñëåäóþùèì îáðàçîì:
B = A AT
diag[d ; : : : ; dn ℄; 1
[
ãäå AT åñòü òðàíñïîíèðîâàííàÿ ìàòðèöà A, di ñòåïåíü i-é âåðøèíû, diag d1 ; : : : ; dn ìàòðèöà ðàçìåðà n n ñ ýëåìåíòàìè d1 ; : : : ; dn íà ãëàâíîé äèàãîíàëè. 2.2. Äëÿ ïðîèçâîëüíîãî íåîðèåíòèðîâàííîãî ãðàà îïðåäåëèì ìàòðèöó ñîñåäñòâà ðåáåð C
ij , ãäå ij , åñëè i-å è j -e ðåáðà èíöèäåíòíû ñ îáùåé âåðøèíîé, è ij â ïðîòèâíîì ñëó÷àå (ïðèíèìàåì ii ). Êàê ìîæíî âûðàçèòü ìàòðèöó C ÷åðåç ìàòðèöó èíöèäåíòíîñòè? Îïðåäåëÿåò ëè ìàòðèöà ñîñåäñòâà ðåáåð ãðà ñ òî÷íîñòüþ äî èçîìîðèçìà? 2.3. Ïðåäñòàâèòü äåòàëüíóþ ðåàëèçàöèþ ñïèñêîâ èíöèäåíòíîñòè è ïðîöåäóð óäàëåíèÿ è äîáàâëåíèÿ ðåáåð çà âðåìÿ, îãðàíè÷åííîå êîíñòàíòîé (ñëåäóåò ïîìíèòü, ÷òî ïðè óäàëåíèè ðåáðà u; v íåîáõîäèìî óäàëèòü ñîîòâåòñòâóþùèå ýëåìåíòû èç îáîèõ ñïèñêîâ ÇÀÏÈÑÜ u è ÇÀÏÈÑÜ v , ìû ïðåäïîëàãàåì, ÷òî óêàçàòåëü íà îäèí èç ýòèõ ýëåìåíòîâ ïðåäñòàâëåí êàê ïàðàìåòð ïðîöåäóðû). 2.4. Íàïèñàòü ïðîöåäóðû ïåðåõîäà ìåæäó êàæäûìè äâóìÿ ñïîñîáàìè ïðåäñòàâëåíèÿ ãðàà, îïèñàííûìè â ðàçä. 2.1, è îöåíèòü âû÷èñëèòåëüíóþ ñëîæíîñòü óêàçàííûõ ïðîöåäóð. 2.5. Íåêîòîðûå ãðàîâûå àëãîðèòìû èñïîëüçóþò òîëüêî O n èëè O n m èç n2 ýëåìåíòîâ ìàòðèöû ñìåæíîñòè B .  òî æå âðåìÿ â íà÷àëå àëãîðèòìà ñëåäóåò èíèöèàëèçàöèÿ âñåõ ýëåìåíòîâ ìàòðèöû B , â ðåçóëüòàòå ÷åãî ñëîæíîñòü àëãîðèòìà àâòîìàòè÷åñêè ñòàíîâèòñÿ ðàâíîé n2 . Ïðåäëîæèòü ñïîñîá, ïîçâîëÿþùèé èçáåæàòü ñòîëü äîðîãóþ èíèöèàëèçàöèþ. Óêàçàíèå: äëÿ êàæäîãî ýëåìåíòà bij , èñïîëüçîâàííîãî àëãîðèòìîì ïåðâûé ðàç, ïîìåùàåì â ñòåê óêàçàòåëü íà ýòîò ýëåìåíò, à ïðè bij ðàçìåùàåì óêàçàòåëü íà ñîçäàííûé òàêèì îáðàçîì íîâûé ýëåìåíò ñòåêà. ×òîáû ïðîâåðèòü, áûë ëè äàííûé ýëåìåíò èíèöèàëèçèðîâàí ðàíåå, äîñòàòî÷íî ïîñìîòðåòü, âåäåò ëè óêàçàòåëü ïðè bij ê óêàçàòåëþ â ñòåêå, îïðåäåëÿþùåìó âîçâðàò ê bij ) [1℄. 2.6. Ïðåäëîæèòü àëãîðèòì ñëîæíîñòè O n ïðîâåðêè, ñîäåðæèò ëè äàííûé îðèåíòèðîâàííûé ãðà, çàäàííûé ìàòðèöåé ñìåæíîñòè, âåðøèíó, ê êîòîðîé ïðèìûêàþò äóãè îò îñòàëüíûõ n âåðøèí è èç êîòîðîé íå èñõîäèò íè îäíà äóãà (òàêîé àëãîðèòì ïîêàçûâàåò, ÷òî óñëîâèå (â) â òåîðåìå 2.1 ñóùåñòâåííî). 2.7. Èññëåäîâàòü ìåòîä, îòëè÷àþùèéñÿ îò ïîèñêà â øèðèíó òîëüêî òåì, ÷òî âíîâü äîñòèãíóòàÿ âåðøèíà ïîìåùàåòñÿ â ñòåê (òàêîé àëãîðèòì îïèñûâàåòñÿ â òî÷íîñòè ïðîöåäóðîé W S , â êîòîðîé Î×ÅÅÄÜ çàìåíåíà íà ÑÒÅÊ) [35℄. 2.8. Èññëåäîâàòü ìåòîä ïîèñêà â ãðàå, ïðè êîòîðîì ïîñåùåííûå, íî åùå íå èñïîëüçîâàííûå âåðøèíû ïîìåùàþòñÿ â î÷åðåäü, è êîòîðûé òî÷íåå ìîæíî
=0
=[ ℄
=1
=0
[℄
[℄
()
( )
()
1
( + )
℄
2.9. Çàäà÷è
109
îïèñàòü ñëåäóþùèì ñïîñîáîì: ðàññìàòðèâàåì ïîñëåäíþþ (ïîçæå âñåõ ïîìåùåííóþ) âåðøèíó u èç î÷åðåäè (âíà÷àëå ýòî áóäåò ïðîèçâîëüíàÿ âåðøèíà ãðàà). Åñëè ñóùåñòâóåò íîâàÿ âåðøèíà u 2 ÇÀÏÈÑÜ v , òî ìû ïîìåùàåì åå â êîíöå î÷åðåäè è ïîâòîðÿåì ïðîöåññ äî òåõ ïîð, ïîêà ïîìåùåííàÿ â î÷åðåäü âåðøèíà íå èìååò íîâûõ ñîñåäåé (ýòîò ðàãìåíò íàïîìèíàåò ïîèñê â ãëóáèíó). Çàòåì èññëåäóåì ïåðâóþ (ðàíüøå âñåãî ïîìåùåííóþ) âåðøèíó èç î÷åðåäè. Åñëè ó ýòîé âåðøèíû ñóùåñòâóåò íîâûé ñîñåä, òî ìû ñòàâèì åãî â êîíåö î÷åðåäè è ïîâòîðÿåì äëÿ ýòîé âåðøèíû îïèñàííûé âûøå ïðîöåññ ïîèñêà â ãëóáèíó.  ïðîòèâíîì ñëó÷àå ïåðâàÿ âåðøèíà èý î÷åðåäè èñïîëüçîâàíà, è ìû óáèðàåì åå èç î÷åðåäè, à çàòåì ðàññìàòðèâàåì ñëåäóþùóþ çà íåé âåðøèíó. Âåñü ïðîöåññ ïîâòîðÿåòñÿ äî òåõ ïîð, ïîêà î÷åðåäü íå áóäåò ïóñòîé. Ïðåäñòàâèòü äåòàëüíóþ ðåàëèçàöèþ äàííîãî ìåòîäà. 2.9. Äîêàçàòü, ÷òî ïðèâåäåííàÿ íèæå ïðîöåäóðà ïðîñìàòðèâàåò êàæäóþ âåðøèíó ãðàà â òî÷íîñòè îäèí ðàç.
[℄
pro edure ÏÎÈÑÊ(r ); (*âíà÷àëå ÑÒÀÒÓÑ v =íîâûé äëÿ êàæäîé
[℄
begin
v 2V*
ïîñåòèòü r ; ÑÒÀÒÓÑ[r℄:=ïîñåùåííûé; ñóùåñòâóåò â V ïîñåùåííàÿ âåðøèíà do begin u:=ïðîèçâîëüíàÿ ïîñåùåííàÿ âåðøèíà; if ñóùåñòâóåò íîâàÿ u 2 ÇÀÏÈÑÜ v then begin u:=ïåðâàÿ íîâàÿ âåðøèíà ñïèñêà ÇÀÏÈÑÜ v ; ïîñåòèòü u; ÑÒÀÒÓÑ u :=ïîñåùåííàÿ
while
[℄
[℄
[℄
end else end
[℄
ÑÒÀÒÓÑ v :=èñïîëüçîâàííàÿ
end
Ïîêàçàòü, ÷òî ïîèñê â ãëóáèíó è â øèðèíó, à òàêæå ìåòîäû, îïèñàííûå â çàäà÷àõ 2.7 è 2.8, ìîæíî ðàññìàòðèâàòü êàê ÷àñòíûå ñëó÷àè ýòîé ïðîöåäóðû. 2.10. Ïóñòü D hV; T i ïîäãðà ñâÿçíîãî ãðàà G hV; E i. Äîêàçàòü, ÷òî ñëåäóþùèå óñëîâèÿ ýêâèâàëåíòíû:
=
(a)
=
D ÿâëÿåòñÿ ñòÿãèâàþùèì äåðåâîì ãðàà G.
jT j = jE j 1 è D íå ñîäåðæèò öèêëîâ. (â) Äëÿ êàæäîé ïàðû âåðøèí u; v 2 V ñóùåñòâóåò â D â òî÷íîñòè îäèí (á)
ïóòü èç
u â v.
=
1
(ã) jT j jE j è äëÿ êàæäîé ïàðû âåðøèí áû îäèí ïóòü èç u â v .
u; v 2 V
ñóùåñòâóåò â
D õîòÿ
ëàâà 2. Àëãîðèòìû íà ãðààõ
110
=
1
(ä) jT j jE j è äëÿ êàæäîé ïàðû âåðøèí áîëåå ÷åì îäèí ïóòü èç u â v .
u; v 2 V
ñóùåñòâóåò â
D
íå
2.11. àññìîòðåòü äåòàëüíåå ìåòîä ïîèñêà â ãëóáèíó äëÿ îðèåíòèðîâàííûõ ãðàîâ, óïîìÿíóòûé â êîíöå 2.2. Ïîêàçàòü, ÷òî åñëè â îðèåíòèðîâàííîì ãðàå G ñóùåñòâóåò ïóòü èç âåðøèíû r ê êàæäîé äðóãîé âåðøèíå, òî àëãîðèòì 2.3 (èçìåíåííûé òàê, ÷òî â ñòðîêå 5 äîáàâëÿåòñÿ äóãà hv; ui) ñòðîèò ïîäãðà hV; T i, êîòîðûé ïðè èãíîðèðîâàíèè îðèåíòàöèè äóã ÿâëÿåòñÿ ñòÿãèâàþùèì äåðåâîì ãðàà G. Ïîêàçàòü, ÷òî â hV; T i ñóùåñòâóåò â òî÷íîñòè îäèí ïóòü èç r ê êàæäîé âåðøèíå v 2 V . Ìîæíî ëè ïåðåíåñòè òåîðåìó 2.4 íà îðèåíòèðîâàííûå ãðàû? Êàê ñëåäîâàëî áû åå òîãäà èçìåíèòü? 2.12. àññìîòðåòü äåòàëüíåå ìåòîä ïîèñêà â øèðèíó â îðèåíòèðîâàííîì ãðàå. Ïîêàçàòü, ÷òî åñëè â îðèåíòèðîâàííîì ãðàå G ñóùåñòâóåò ïóòü èç âåðøèíû r ê êàæäîé äðóãîé âåðøèíå, òî àëãîðèòì 2.5 íàõîäèò ïîäãðà hV; T i, ñîäåðæàùèé â òî÷íîñòè îäèí ïóòü èç r ê êàæäîé äðóãîé âåðøèíå, ïðè÷åì ýòî êðàò÷àéøèé ïóòü â G. 2.13. Èñïîëüçóéòå ïîèñê â ãëóáèíó äëÿ íàõîæäåíèÿ â ñâÿçíîì ãðàå íåîðèåíòèðîâàííîãî öèêëà (ñ ïîâòîðÿþùèìèñÿ ðåáðàìè è âåðøèíàìè), ïðîõîäÿùåãî êàæäîå ðåáðî â êàæäîì íàïðàâëåíèè â òî÷íîñòè îäèí ðàç. 2.14. Ìîñòîì ãðàà G íàçûâàåòñÿ êàæäîå ðåáðî, óäàëåíèå êîòîðîãî ïðèâîäèò ê óâåëè÷åíèþ ÷èñëà ñâÿçíûõ êîìïîíåíò ãðàà. Ïðåäñòàâèòü àëãîðèòì íàõîæäåíèÿ âñåõ ìîñòîâ ãðàà çà âðåìÿ O m n . (Óêàçàíèå: èñïîëüçóéòå ïîèñê â ãëóáèíó êàê â ñëó÷àå îòûñêàíèÿ òî÷åê ñî÷ëåíåíèÿ.) 2.15. ðà G hV; E i íàçûâàåòñÿ äâóäîëüíûì, åñëè ñóùåñòâóåò ðàçáèåíèå V A [ B , A \ B ?, òàêîå ÷òî êàæäîå ðåáðî e 2 E èìååò âèä e fa; bg, a 2 A, b 2 B . Äîêàçàòü, ÷òî ãðà ÿâëÿåòñÿ äâóäîëüíûì òîãäà è òîëüêî òîãäà, êîãäà îí íå ñîäåðæèò ïðîñòûõ öèêëîâ íå÷åòíîé äëèíû. Ïðåäëîæèòü äâà àëãîðèòìà, ïðîâåðÿþùèõ, áóäåò ëè äàííûé ãðà äâóäîëüíûì, çà âðåìÿ O m n îäèí, îñíîâàííûé íà ïîèñêå â ãëóáèíó, äðóãîé íà ïîèñêå â øèðèíó. 2.16. Íàïèñàòü àëãîðèòì, ïðîâåðÿþùèé çà âðåìÿ O m n àöèêëè÷íîñòü äàííîãî îðèåíòèðîâàííîãî ãðàà. 2.17. Îðèåíòèðîâàííûé ãðà íàçûâàåòñÿ ñèëüíî ñâÿçíûì, åñëè äëÿ êàæäîé ïàðû âåðøèí u è v ñóùåñòâóåò ïóòü èç u â v . Ïîä êîìïîíåíòîé ñèëüíîé ñâÿçíîñòè ïîíèìàåòñÿ ïðîèçâîëüíûé ìàêñèìàëüíûé ñèëüíî ñâÿçíûé ïîäãðà. Ïîêàçàòü, ÷òî êîìïîíåíòû ñèëüíîé ñâÿçíîñòè îïðåäåëÿþò ðàçáèåíèå ìíîæåñòâà âåðøèí íà íåïåðåñåêàþùèåñÿ íåïóñòûå ïîäìíîæåñòâà. Íàïèñàòü àëãîðèòì íàõîæäåíèÿ êîìïîíåíò ñèëüíîé ñâÿçíîñòè çà âðåìÿ O m n . (Óêàçàíèå: èñïîëüçîâàòü ïîèñê â ãëóáèíó.) 2.18. Íàïèñàòü àëãîðèòì íàõîæäåíèÿ çà âðåìÿ O m n âñåõ ïðîñòûõ êîíòóðîâ îðèåíòèðîâàííîãî ãðàà, ãäå ÷èñëî êîíòóðîâ. (Óêàçàíèå: èñïîëüçîâàòü ïîèñê â ãëóáèíó.)
( + )
=
= =
=
( + ) ( + )
( + ) ( ( + ))
2.9. Çàäà÷è
111
2.19. Ïðåäëîæèòü íåîáõîäèìîå è äîñòàòî÷íîå óñëîâèå ñóùåñòâîâàíèÿ ýéëåðîâûõ êîíòóðîâ â îðèåíòèðîâàííîì ãðàå (èäåíòè÷íîå óñëîâèþ äëÿ íåîðèåíòèðîâàííûõ ãðàîâ). Ïîêàçàòü, ÷òî àëãîðèòì 2.13 (ïîñëå óäàëåíèÿ ñòðîêè 9) ïðàâèëüíî ñòðîèò ýéëåðîâ êîíòóð äëÿ îðèåíòèðîâàííîãî ãðàà. 2.20. Öèêëîì äå Áð¼éíà ïîðÿäêà n íàçûâàåòñÿ öèêëè÷åñêàÿ áèíàðíàÿ ïîñëåäîâàòåëüíîñòü äëèíû n, â êîòîðîé êàæäàÿ èç n áèíàðíûõ ïîñëåäîâàòåëüíîñòåé äëèíû n âûñòóïàåò êàê ïîäïîñëåäîâàòåëüíîñòü n ïîñëåäîâàòåëüíûõ ÷ëåíîâ. Äîêàçàòü ñóùåñòâîâàíèå öèêëà äå Áð¼éíà ïîðÿäêà n äëÿ êàæäîãî n . (Óêàçàíèå: ðàññìîòðåòü ãðà, âåðøèíû êîòîðîãî ñîîòâåòñòâóþò áèíàðíûì ïîñëåäîâàòåëüíîñòÿì äëèíû n , à êàæäîå ðåáðî ñîîòâåòñòâóåò áèíàðíîé ïîñëåäîâàòåëüíîñòè äëèíû n, ïðè÷åì ðåáðî b1 : : : bn âåäåò îò b1 : : : bn 1 ê b2 : : : bn . Äîêàçàòü ñóùåñòâîâàíèå ýéëåðîâà ïóòè â òàêîì ãðàå [8℄.) 2.21. Èçìåíèòü ïðåäñòàâëåííóþ â 2.8 ñõåìó àëãîðèòìà ñ âîçâðàòîì òàê, ÷òîáû îí îïðåäåëÿë òîëüêî îäíî ðåøåíèå, à íå âñå. 2.22. Äîêàçàòü, ïðåäñòàâèâ ñîîòâåòñòâóþùèå ãðàû, ÷òî ÷èñëî øàãîâ â àëãîðèòìå 2.14 (â íàèõóäøåì ñëó÷àå) ðàñòåò ýêñïîíåíöèàëüíî ñ ðîñòîì n. 2.23. Èñïîëüçîâàòü àëãîðèòì ñ âîçâðàòîì äëÿ ðåøåíèÿ ñëåäóþùèõ çàäà÷:
2
2
1
1
(à) Íàõîæäåíèå ðàçìåùåíèÿ 8 âçàèìíî íå íàïàäàþùèõ äðóã íà äðóãà åðçåé íà øàõìàòíîé äîñêå. (á) Íàõîæäåíèå êëèêè íàèáîëüøåé ìîùíîñòè â íåîðèåíòèðîâàííîì ãðàå. (Êëèêîé íàçûâàåòñÿ ïðîèçâîëüíîå ïîäìíîæåñòâî âåðøèí, â êîòîðîì êàæäàÿ ïàðà ðàçëè÷íûõ âåðøèí ñîåäèíåíà ðåáðîì ãðàà.) (â) Íàõîæäåíèå ðàñêðàñêè âåðøèí ãðàà ìèíèìàëüíûì ÷èñëîì öâåòîâ òàê, ÷òîáû íè îäíî ðåáðî íå ñîåäèíÿëî äâóõ âåðøèí îäíîãî öâåòà. (ã) Äëÿ äàííûõ öåëûõ ÷èñåë P a1 ; : : : ; an , b íàõîæäåíèå ìíîæåñòâà èíäåêñîâ aj b, åñëè òàêîå ìíîæåñòâî J ñóùåñòâóåò.
J f1; : : : ; ng, òàêîãî ÷òî
j 2J
=
(ä) Óñòàíîâëåíèå èçîìîðèçìà äâóõ ãðàîâ.
ëàâà 3
Íàõîæäåíèå êðàò÷àéøèõ ïóòåé â ãðàå 3.1 Íà÷àëüíûå ïîíÿòèÿ
=
 ýòîé ãëàâå ìû áóäåì ðàññìàòðèâàòü îðèåíòèðîâàííûå ãðàû G hV; E i, äóãàì êîòîðûõ ïðèïèñàíû âåñà. Ýòî îçíà÷àåò, ÷òî êàæäîé äóãå hv; ui 2 E ïîñòàâëåíî â ñîîòâåòñòâèå íåêîòîðîå âåùåñòâåííîå ÷èñëî a u; v , íàçûâàåìîå âåñîì äàííîé äóãè. Ïîëàãàåì, êðîìå òîãî, ÷òî a u; v 1, åñëè u 9 v. Åñëè ïîñëåäîâàòåëüíîñòü âåðøèí v0 ; v1 ; : : : ; vp (3.1)
( )
( )=
îïðåäåëÿåò ïóòü â
G, òî åãî äëèíà îïðåäåëÿåòñÿ êàê ñóììà p X i=1
a(vi ; vi ) 1
(Îòìåòèì, ÷òî åñëè â ïðîèçâîëüíîì ãðàå ìû ïðèìåì âåñ êàæäîé äóãè ðàâíûì åäèíèöå, òî ìû ïîëó÷èì îáû÷íîå îïðåäåëåíèå äëèíû ïóòè êàê ÷èñëà äóã; êàê è ðàíåå, ïðèíèìàåì, ÷òî äëèíà ïóòè ðàâíà ïðè p .) Íàñ áóäåò èíòåðåñîâàòü íàõîæäåíèå êðàò÷àéøåãî ïóòè ìåæäó èêñèðîâàííûìè âåðøèíàìè s; t 2 V . Äëèíó òàêîãî êðàò÷àéøåãî ïóòè ìû áóäåì îáîçíà÷àòü d s; t è íàçûâàòü ðàññòîÿíèåì îò s äî t (ðàññòîÿíèå, îïðåäåëåííîå òàêèì îáðàçîì, ìîæåò áûòü îòðèöàòåëüíûì). Åñëè íå ñóùåñòâóåò íè îäíîãî ïóòè èç s â t, òî ïîëàãàåì d s; t 1. Îòìåòèì, ÷òî åñëè êàæäûé êîíòóð íàøåãî ãðàà èìååò ïîëîæèòåëüíóþ äëèíó, òî êðàò÷àéøèé ïóòü áóäåò âñåãäà ýëåìåíòàðíûì ïóòåì, ò.å.
0
=0
( )
( )=
112
3.1. Íà÷àëüíûå ïîíÿòèÿ
113
â ïîñëåäîâàòåëüíîñòè (3.1) íå áóäåò ïîâòîðîâ. Ñ äðóãîé ñòîðîíû, åñëè â ãðàå ñóùåñòâóåò êîíòóð îòðèöàòåëüíîé äëèíû, òî ðàññòîÿíèå ìåæäó íåêîòîðûìè ïàðàìè âåðøèí ñòàíîâèòñÿ íåîïðåäåëåííûì, ïîòîìó ÷òî, îáõîäÿ ýòîò êîíòóð äîñòàòî÷íîå ÷èñëî ðàç, ìû ìîæåì ïîêàçàòü ïóòü ìåæäó ýòèìè âåðøèíàìè ñ äëèíîé, ìåíüøåé ïðîèçâîëüíîãî âåùåñòâåííîãî ÷èñëà.  òàêîì ñëó÷àå ìîæíî áûëî áû ãîâîðèòü î äëèíå êðàò÷àéøåãî ýëåìåíòàðíîãî ïóòè, îäíàêî çàäà÷à, ïîñòàâëåííàÿ òàêèì îáðàçîì, âåðîÿòíî áóäåò çíà÷èòåëüíî áîëåå ñëîæíîé, òàê êàê, â ÷àñòíîñòè, îíà ñîäåðæèò â ñåáå çàäà÷ó ñóùåñòâîâàíèÿ ãàìèëüòîíîâà ïóòè (ñì. çàäà÷ó 3.1). Ìîæíî äàòü ìíîãî ïðàêòè÷åñêèõ èíòåðïðåòàöèé çàäà÷è î êðàò÷àéøèõ ïóòÿõ. Íàïðèìåð, âåðøèíû ìîãóò ñîîòâåòñòâîâàòü ãîðîäàì, à êàæäàÿ äóãà íåêîòîðîìó ïóòè, äëèíà êîòîðîãî ïðåäñòàâëåíà âåñîì äóãè. Ìû èùåì çàòåì êðàò÷àéøèå ïóòè ìåæäó ãîðîäàìè. Âåñ äóãè òàêæå ìîæåò ñîîòâåòñòâîâàòü ñòîèìîñòè (èëè âðåìåíè) ïåðåäà÷è èíîðìàöèè ìåæäó âåðøèíàìè.  òàêîì ñëó÷àå ìû èùåì ñàìûé äåøåâûé (èëè ñàìûé ñêîðûé) ïóòü ïåðåäà÷è èíîðìàöèè. Åùå îäíó ñèòóàöèþ ìû ïîëó÷àåì, êîãäà âåñ äóãè hu; v i ðàâåí âåðîÿòíîñòè p u; v áåçàâàðèéíîé ðàáîòû êàíàëà ïåðåäà÷è èíîðìàöèè. Åñëè ïðåäïîëîæèòü, ÷òî àâàðèè êàíàëîâ íå çàâèñÿò äðóã îò äðóãà, òî âåðîÿòíîñòü èñïðàâíîñòè ïóòè ïåðåäà÷è èíîðìàöèè ðàâíà ïðîèçâåäåíèþ âåðîÿòíîñòåé ñîñòàâëÿþùèõ åãî äóã. Çàäà÷ó íàõîæäåíèÿ íàèáîëåå íàäåæíîãî ïóòè ëåãêî ìîæíî ñâåñòè ê çàäà÷å î êðàò÷àéøåì ïóòè, çàìåíÿÿ âåñà p u; v íà
( )
( ) a(u; v) = log p(u; v):
Åùå ñ îäíèì ïðèëîæåíèåì çàäà÷è î êðàò÷àéøåì ïóòè ìû ïîçíàêîìèìñÿ â ðàçä. 3.4.  äàííîì ðàçäåëå ìû äàäèì àëãîðèòìû íàõîæäåíèÿ ðàññòîÿíèÿ ìåæäó âåðøèíàìè, à íå ñàìèõ ïóòåé. Îäíàêî, çíàÿ ðàññòîÿíèå, ìû ìîæåì ïðè óñëîâèè ïîëîæèòåëüíîé äëèíû âñåõ êîíòóðîâ ëåãêî îïðåäåëèòü êðàò÷àéøèå ïóòè. Äëÿ ýòîãî äîñòàòî÷íî îòìåòèòü, ÷òî äëÿ ïðîèçâîëüíûõ s; t 2 V (s 6 t) ñóùåñòâóåò âåðøèíà v , òàêàÿ ÷òî
=
d(s; t) = d(s; v) + a(v; t):
Äåéñòâèòåëüíî, òàêèì ñâîéñòâîì îáëàäàåò ïðåäïîñëåäíÿÿ âåðøèíà ïðîèçâîëüíîãî êðàò÷àéøåãî ïóòè èç s â t. Äàëåå ìû ìîæåì íàéòè âåðøèíó u, äëÿ êîòîðîé d s; v d s; u a u; v , è ò.ä. Èç ïîëîæèòåëüíîñòè äëèíû âñåõ êîíòóðîâ ëåãêî ñëåäóåò, ÷òî ñîçäàííàÿ òàêèì îáðàçîì ïîñëåäîâàòåëüíîñòü t; u; v; : : : íå ñîäåðæèò ïîâòîðåíèé è îêàí÷èâàåòñÿ âåðøèíîé s. Î÷åâèäíî, ÷òî îíà îïðåäåëÿåò (ïðè îáðàùåíèè î÷åðåäíîñòè) êðàò÷àéøèé ïóòü èç s â t. Òàêèì îáðàçîì, ìû ïîëó÷àåì ñëåäóþùèé àëãîðèòì: Àëãîðèòì 3.1. (Íàõîæäåíèå êðàò÷àéøåãî ïóòè).
( ) = ( )+ ( )
ëàâà 3. Íàõîæäåíèå êðàò÷àéøèõ ïóòåé â ãðàå
114
[℄
Äàííûå: ðàññòîÿíèÿ D v îò èêñèðîâàííîé âåðøèíû s äî âñåõ îñòàëüíûõ âåðøèí v 2 V , èêñèðîâàííàÿ âåðøèíà t, ìàòðèöà âåñîâ ðåáåð A u; v , u; v 2 V . åçóëüòàòû: ÑÒÅÊ ñîäåðæèò ïîñëåäîâàòåëüíîñòü âåðøèí, îïðåäåëÿþùóþ êðàò÷àéøèé ïóòü èç s â t. 1 2 3 4 5 6 7 8 9
begin
ÑÒÅÊ while
[ ℄
:= ?; ÑÒÅÊ ( t; v := t;
v 6= s do begin
u:= âåðøèíà, äëÿ êîòîðîé ÑÒÅÊ ( u; v u;
D[v℄ = D[u℄ + A[u; v℄;
:=
end end
=
=
Ïóñòü hV; E i îðèåíòèðîâàííûé ãðà, jV j n, jE j m. Åñëè âûáîð âåðøèíû u â ñòðîêå 5 ïðîèñõîäèò â ðåçóëüòàòå ïðîñìîòðà âñåõ âåðøèí, òî ñëîæíîñòü íàøåãî àëãîðèòìà O n2 . Åñëè ìû ïðîñìàòðèâàåì òîëüêî ñïèñîê ÏÅÄØ v , ñîäåðæàùèé âñå âåðøèíû u, òàêèå ÷òî u ! v , òî â ýòîì ñëó÷àå ñëîæíîñòü áóäåò Om. Îòìåòèì, ÷òî â ñëó÷àå ïîëîæèòåëüíûõ âåñîâ ðåáåð çàäà÷à î êðàò÷àéøåì ïóòè â íåîðèåíòèðîâàííîì ãðàå ëåãêî ñâîäèòñÿ ê àíàëîãè÷íîé çàäà÷å äëÿ íåêîòîðîãî îðèåíòèðîâàííîãî ãðàà. Ñ ýòîé öåëüþ äîñòàòî÷íî çàìåíèòü êàæäîå ðåáðî fu; vg äâóìÿ äóãàìè hu; vi è hv; ui, êàæäàÿ ñ òàêèì æå âåñîì, ÷òî è fu; vg. Îäíàêî â ñëó÷àå íåïîëîæèòåëüíûõ âåñîâ ýòî ïðèâîäèò ê âîçíèêíîâåíèþ êîíòóðîâ ñ íåïîëîæèòåëüíîé äëèíîé.  äàííîé ãëàâå ìû âñåãäà áóäåì ïðåäïîëàãàòü, ÷òî G hV; E i ÿâëÿåòñÿ îðèåíòèðîâàííûì ãðàîì, n jV j, m jE j.  öåëÿõ óïðîùåíèÿ èçëîæåíèÿ è èçáåæàíèÿ âûðîæäåííûõ ñëó÷àåâ ïðè îöåíêå ñëîæíîñòè àëãîðèòìîâ áóäåì ïðèíèìàòü m n (ò.å. n O m ). Ýòî èñêëþ÷àåò ñèòóàöèè, ïðè êîòîðûõ ¾áîëüøèíñòâî¿ âåðøèí èçîëèðîâàííûå. Áóäåì ïðåäïîëàãàòü òàêæå, ÷òî âåñà äóã çàïîìèíàþòñÿ â ìàññèâå A u; v , u; v 2 V (A u; v ñîäåðæèò âåñ a u; v ).
( )
[℄
( )
=
= ( )
( )
= = ( ) [ ℄
=
[ ℄
3.2 Êðàò÷àéøèå ïóòè îò èêñèðîâàííîé âåðøèíû Áîëüøèíñòâî èçâåñòíûõ àëãîðèòìîâ íàõîæäåíèÿ ðàññòîÿíèÿ ìåæäó äâóìÿ èêñèðîâàííûìè âåðøèíàìè s è t îïèðàåòñÿ íà äåéñòâèÿ, êîòîðûå â îáùèõ ÷åðòàõ ìîæíî ïðåäñòàâèòü ñëåäóþùèì îáðàçîì: ïðè äàííîé ìàòðèöå âåñîâ äóã A u; v , u; v 2 V , âû÷èñëÿåò íåêîòîðûå âåðõíèå îãðàíè÷åíèÿ D u íà ðàññòîÿíèÿ îò s äî
[℄
[ ℄
3.2. Êðàò÷àéøèå ïóòè îò èêñèðîâàííîé âåðøèíû âñåõ âåðøèí
115
v 2 V . Êàæäûé ðàç, êîãäà ìû óñòàíàâëèâàåì, ÷òî D[u℄ + A[u; v℄ < D[v℄;
[℄
(3.2)
[ ℄ := [ ℄ + [ ℄
îöåíêó D v óëó÷øàåì: D u D u A u; v . Ïðîöåññ ïðåðûâàåòñÿ, êîãäà äàëüíåéøåå óëó÷øåíèå íè îäíîãî èç îãðàíè÷åíèé íåâîçìîæíî. Ëåãêî ìîæíî ïîêàçàòü, ÷òî çíà÷åíèå êàæäîé èç ïåðåìåííûõ D u ðàâíî òîãäà d s; u ðàññòîÿíèþ îò s äî v. Çàìåòèì, ÷òî, äëÿ òîãî ÷òîáû îïðåäåëèòü ðàññòîÿíèå îò s äî t, ìû âû÷èñëÿåì çäåñü ðàññòîÿíèÿ îò s äî âñåõ âåðøèí ãðàà. Íå èçâåñòåí íè îäèí àëãîðèòì íàõîæäåíèÿ ðàññòîÿíèÿ ìåæäó äâóìÿ èêñèðîâàííûìè âåðøèíàìè, êîòîðûé áûë áû ñóùåñòâåííûì îáðàçîì áîëåå ýåêòèâíûì, íåæåëè èçâåñòíûå àëãîðèòìû îïðåäåëåíèÿ ðàññòîÿíèÿ îò èêñèðîâàííîé âåðøèíû äî âñåõ îñòàëüíûõ. Îïèñàííàÿ íàìè îáùàÿ ñõåìà ÿâëÿåòñÿ íåïîëíîé, òàê êàê îíà íå îïðåäåëÿåò î÷åðåäíîñòè, â êîòîðîé âûáèðàþòñÿ âåðøèíû u è v äëÿ ïðîâåðêè óñëîâèÿ (3.2). Ýòà î÷åðåäíîñòü îêàçûâàåò, êàê áóäåò äîêàçàíî, î÷åíü ñèëüíîå âëèÿíèå íà ýåêòèâíîñòü àëãîðèòìà. Îïèøåì òåïåðü áîëåå äåòàëüíî ìåòîäû íàõîæäåíèÿ ðàññòîÿíèÿ îò èêñèðîâàííîé âåðøèíû, íàçûâàåìîé èñòî÷íèêîì, åãî âñåãäà áóäåì îáîçíà÷àòü ÷åðåç s, äî âñåõ îñòàëüíûõ âåðøèí ãðàà. Ñíà÷àëà ïðåäñòàâèì àëãîðèòì äëÿ îáùåãî ñëó÷àÿ, â êîòîðîì ïðåäïîëàãàåì òîëüêî îòñóòñòâèå êîíòóðîâ ñ îòðèöàòåëüíîé äëèíîé. Ñ ýòèì àëãîðèòìîì îáû÷íî ñâÿçûâàþò èìåíà Ë.. Ôîðäà [22℄ è .Å. Áåëëìàíà [3℄. Àëãîðèòì 3.2. (Íàõîæäåíèå ðàññòîÿíèÿ îò èñòî÷íèêà äî âñåõ âåðøèí ìåòîä ÔîðäàÁåëëìàíà.) Äàííûå: Îðèåíòèðîâàííûé ãðà hV; E i ñ n âåðøèíàìè ñ âûäåëåííûì èñòî÷íèêîì s 2 V , ìàòðèöà âåñîâ äóã A u; v , u; v 2 V (ãðà íå ñîäåðæèò êîíòóðîâ îòðèöàòåëüíîé äëèíû). åçóëüòàòû: àññòîÿíèÿ îò èñòî÷íèêà äî âñåõ âåðøèí ãðàà: D v d s; v , v 2V.
[℄
( )
[ ℄
[ ℄= ( )
1. 2. 3. 4. 5. 6.
begin for for
v 2 V do D[v℄ := A[s; v℄; D[s℄ := 0; k := 1 to n 2 do for v 2 V nfsg do for u 2 V do D [u℄ := min(D [v ℄; D [u℄ + A[u; v ℄)
end
()
Äîêàæåì ïðàâèëüíîñòü ýòîãî àëãîðèòìà. Äëÿ ýòîãî îáîçíà÷èì ÷åðåç d(m) v äëèíó êðàò÷àéøåãî èç ïóòåé èç s â v , ñîäåðæàùèõ íå áîëåå m äóã (d(m) v 1, åñëè íå ñóùåñòâóåò íè îäíîãî òàêîãî ïóòè). Òîãäà èìååì
( )=
dm (
+1)
(v) = minfd m (u) + a(u; v) : u 2 V g; (
)
v 2 V:
(3.3)
ëàâà 3. Íàõîæäåíèå êðàò÷àéøèõ ïóòåé â ãðàå
116
()
( )+
 ñàìîì äåëå, äëÿ êàæäîãî u 2 V î÷åâèäíî èìååì d(m+1) v d(m) u a u; v , ïðè÷åì ðàâåíñòâî ïîÿâëÿåòñÿ, êîãäà u ÿâëÿåòñÿ ïðåäïîñëåäíåé âåðøèíîé ïðîèçâîëüíîãî êðàò÷àéøåãî ïóòè èç s â v . Ïîêàæåì òåïåðü, ÷òî åñëè ïðè âõîäå â î÷åðåäíóþ èòåðàöèþ
( )
d(s; v) D[v℄ d m (v) (
òî ïî îêîí÷àíèè ýòîé èòåðàöèè
d(s; v) D[v℄ d m (
8v 2 V;
)
+1)
(v)
(3.4)
8v 2 V:
(3.5)
 ñàìîì äåëå, ïðåäïîëàãàÿ âûïîëíåíèå óñëîâèÿ (3.4) è àíàëèçèðóÿ äåéñòâèå îïåðàòîðà â ñòðîêå 5, ìû âèäèì, ÷òî ïî îêîí÷àíèè íàøåé èòåðàöèè öèêëà 3 èìååì n o
d(s; v) D[v℄ min d m (u) + a(u; v) : u 2 V ; (
)
÷òî, ïðèíèìàÿ âî âíèìàíèå ðàâåíñòâî (3.3), äàåò óñëîâèå (3.5). Îòìåòèì, ÷òî ïðè âõîäå â öèêë 3 èìååì D v d 1 v , v 2 V , ñëåäîâàòåëüíî, ïîñëå âûïîëíåíèÿ n èòåðàöèé ýòîãî öèêëà áóäóò âûïîëíÿòüñÿ íåðàâåíñòâà d s; v D v d(m+1) v , v 2 V . Òåïåðü äîñòàòî÷íî ïîêàçàòü, ÷òî d(n 1) v d s; v . Ýòî ñïðàâåäëèâî, ïîñêîëüêó êàæäûé ïóòü áîëåå ÷åì ñ n äóãàìè ñîäåðæèò êîíòóð, óñòðàíåíèå êîòîðîãî íå óâåëè÷èâàåò äëèíû ïóòè (âåäü ìû ïðåäïîëàãàåì îòñóòñòâèå êîíòóðîâ îòðèöàòåëüíîé äëèíû). Òåì ñàìûì çàêîí÷åíî äîêàçàòåëüñòâî êîððåêòíîñòè àëãîðèòìà. Î÷åâèäíî, ÷òî âðåìåííàÿ ñëîæíîñòü àëãîðèòìà åñòü O n3 . Ìû ìîæåì, êîíå÷íî, çàêîí÷èòü âû÷èñëåíèÿ, êîãäà âûïîëíåíèå öèêëà 4 íå âûçûâàåò èçìåíåíèÿ íè îäíîé èç ïåðåìåííûõ D v , v 2 V . Ýòî ìîæåò íàñòóïèòü äëÿ k < n , îäíàêî òàêàÿ ìîäèèêàöèÿ àëãîðèòìà íå èçìåíÿåò ñóùåñòâåííûì îáðàçîì åãî ñëîæíîñòè. Äëÿ ðåäêèõ ãðàîâ (m n2 ) óäîáíåå ïðåäñòàâëÿòü ãðà ñïèñêàìè èíöèäåíòíîñòè ÏÅÄØ u , v 2 V . Çàìåíÿÿ ñòðîêó 5 íà
( ) ( )
[ ℄= ( )
2 ()
[℄
( )=
1
( )
[℄
2
[℄
u 2 ÏÅÄØ[v℄ do D[v℄ := min(D[v℄; D[u℄ + A[a; v℄), ïîëó÷àåì àëãîðèòì ñî ñëîæíîñòüþ O(nm). for
àáîòà àëãîðèòìà ÔîðäàÁåëëìàíà ïðîèëëþñòðèðîâàíà íà ðèñ. 3.1 (V
=
f1; : : : ; 5g, âåñà äóã äàíû ÷èñëàìè â ñêîáêàõ, öèêëû 4 è 5 âûïîëíÿþòñÿ â ïîðÿäêå
âîçðàñòàíèÿ íîìåðîâ âåðøèí).
3.3 Ñëó÷àé íåîòðèöàòåëüíûõ âåñîâ àëãîðèòì Äåéêñòðû Èçâåñòíû áîëåå ýåêòèâíûå àëãîðèòìû äëÿ äâóõ âàæíûõ ñëó÷àåâ, à èìåííî: êîãäà âåñà âñåõ äóã íåîòðèöàòåëüíû èëè êîãäà ãðà áåñêîíòóðíûé. Ñíà÷àëà
3.3. Ñëó÷àé íåîòðèöàòåëüíûõ âåñîâ àëãîðèòì Äåéêñòðû
uJ
u
JJ(3)
(1) J 6 s=1 (8) ?
J^J(2) ?(1) R (-5) J (3)
- JJ 2
u
u
5
117
3
(3)
2
1 1 1 6 1 1 3 6 A=6 6 1 1 1 4 1 1 2
1 3
3
3 8 77 1 5 77 1 1 5 1 1 1 4 1
u
4
(4)
k 1 2 3
D[1℄ 0 0 0 0
D[1℄ 1 1 1 1
D[2℄
D[3℄
4 4 4
4 3 3
1
1
D[4℄ 3 -1 -1 -1
èñ. 3.1: àáîòà àëãîðèòìà ÔîðäàÁåëëìàíà îïèøåì àëãîðèòì äëÿ ïåðâîãî ñëó÷àÿ àëãîðèòì Äåéêñòðû [11℄. Âòîðûì ñëó÷àåì çàéìåìñÿ â ñëåäóþùåì ïàðàãðàå. Àëãîðèòì 3.3. (Íàõîæäåíèå ðàññòîÿíèÿ îò èñòî÷íèêà äî âñåõ îñòàëüíûõ âåðøèí â ãðàå ñ íåîòðèöàòåëüíûìè âåñàìè äóã ìåòîä Äåéêñòðû.) Äàííûå: Îðèåíòèðîâàííûé ãðà hV; E i ñ âûäåëåííûì èñòî÷íèêîì s 2 V , ìàòðèöà âåñîâ äóã A u; v , u; v 2 V (âñå âåñà íåîòðèöàòåëüíû). åçóëüòàòû: àññòîÿíèÿ îò èñòî÷íèêà äî âñåõ âåðøèí ãðàà D v d s; v ; v 2 V.
[ ℄
1. 2. 3. 4. 5. 6.
begin
[ ℄= ( )
v 2 V do D[v℄ := A[s; v℄; D[s℄ := 0; T := V nfsg; while T 6= ? do
for
begin
7. 8. 9. 10.end
end
u := ïðîèçâîëüíàÿ âåðøèíà r 2 T , òàêàÿ, ÷òî D[r℄ = minfD[p℄ : p 2 T g; T := T nfug; for v 2 T do D [v ℄ := min(D [v ℄; D [u℄ + A[u; v ℄)
×òîáû ïîíÿòü äåéñòâèå àëãîðèòìà, ïîêàæåì, ÷òî ñëåäóþùåå óñëîâèå ÿâëÿ-
ëàâà 3. Íàõîæäåíèå êðàò÷àéøèõ ïóòåé â ãðàå
118 åòñÿ èíâàðèàíòîì öèêëà 4:
8v 2 V nT D[v℄ = d(s; v); 8v 2 T
D[v℄ = äëèíå êðàò÷àéøåãî èç òåõ ïóòåé èç s â v;
(3.6)
äëÿ êîòîðûõ ïðåäïîñëåäíÿÿ âåðøèíà ïðèíàäëåæèò ìíîæåñòâó V nT:
u $
 ñàìîì äåëå, â ñòðîêå 5 ìû íàõîäèì âåðøèíó u 2 T , òàêóþ ÷òî çíà÷åíèå D u ÿâëÿåòñÿ ìèíèìàëüíûì (èç âñåõ) çíà÷åíèåì D t , äëÿ t 2 T . Ïîêàæåì, ÷òî D u d s; u . Ýòî èìåíT íî òàê, ïîòîìó ÷òî åñëè êðàò÷àéøèé ïóòü èç s â u èìååò äëèíó ìåíüøå D u , òî â ñèëó âòîðîé s t ÷àñòè óñëîâèÿ (3.6) åãî ïðåäïîñëåäíÿÿ âåðøèíà ïðèíàäëåæèò ìíîæåñòâó T . Ïóñòü t áóäåò ïåðâîé âåðøèíîé ïóòè, ïðèíàäëåæàùåé ìíîèñ. 3.2: Îáîñíîâàíèå àëãîðèò- æåñòâó T (ñì. ðèñ. 3.2). Íà÷àëüíûé îòðåçîê ìà Äåéêñòðû íàøåãî ïóòè èç s â t ñîñòàâëÿåò êðàò÷àéøèé ïóòü èç s â t, ïðè÷åì åãî ïðåäïîñëåäíÿÿ âåðøèíà íå ïðèíàäëåæèò ìíîæåñòâó T . Ïî âòîðîé ÷àñòè óñëîâèÿ (3.6) èìååì D t d s; t . Èñïîëüçóÿ ïðåäïîëîæåíèå î íåîòðèöàòåëüíîñòè âåñîâ, ïîëó÷àåì
[℄
u
u
[ ℄= ( ) [℄
u %
[℄
[℄= ( )
D[t℄ = d(s; t) d(s; u) < D[u℄ âîïðåêè ïðèíöèïó, ïî êîòîðîìó áûëà âûáðàíà âåðøèíà u. Òàêèì îáðàçîì, D u d s; u è ìû ìîæåì â ñòðîêå 7 óäàëèòü u èç ìíîæåñòâà T , íå íàðóøàÿ ïåðâîé ÷àñòè óñëîâèÿ (3.3). ×òîáû îáåñïå÷èòü âûïîëíåíèå òàêæå è âòîðîé ÷àñòè ýòîãî óñëîâèÿ, ñëåäóåò åùå ïðîâåðèòü ïóòè èç s â v 2 T , ïðåäïîñëåäíÿÿ âåðøèíà â êîòîðûõ åñòü u, è âûïîëíèòü àêòóàëèçàöèþ ïåðåìåííûõ D v , v 2 T . Èìåííî ýòî âûïîëíÿåò öèêë 8. Î÷åâèäíî, ÷òî óñëîâèå (3.6) âûïîëíÿåòñÿ ïðè âõîäå â öèêë 4. Ïî îêîí÷àíèè äåéñòâèÿ àëãîðèòìà T ?, à ñëåäîâàòåëüíî, ñîãëàñíî óñëîâèþ (3.6), D u d s; v , v 2 V . Ïåðåéäåì òåïåðü ê îöåíêå ñëîæíîñòè àëãîðèòìà Äåéêñòðû. Öèêë 4 âûïîëíÿåòñÿ n ðàç, ïðè÷åì êàæäîå åãî âûïîëíåíèå òðåáóåò O n øàãîâ: O n øàãîâ äëÿ íàõîæäåíèÿ âåðøèíû u â ñòðîêå 6 (ïðåäïîëàãàåì, ÷òî ìíîæåñòâî T ïðåäñòàâëåíî ñïèñêîì) è O n øàãîâ äëÿ âûïîëíåíèÿ öèêëà 8. Òàêèì îáðàçîì, ñëîæíîñòü àëãîðèòìà åñòü O n2 . Òùàòåëüíî ïîäáèðàÿ ñòðóêòóðû äàííûõ, ìîæíî ïîëó÷èòü âàðèàíò àëãîðèòìà ñî ñëîæíîñòüþ O m n . Äëÿ ýòîãî ìíîæåñòâî T íóæíî ïðåäñòàâèòü áèíàðíûì äåðåâîì ñ âûñîòîé O n è ñ òàêèì ñâîéñòâîì, ÷òî äëÿ ïðîèçâîëüíûõ
[ ℄= ( )
[℄
=
( )
1
[℄=
()
() ( ) ( log ) (log )
()
3.3. Ñëó÷àé íåîòðèöàòåëüíûõ âåñîâ àëãîðèòì Äåéêñòðû åãî âåðøèí
119
uèv åñëè
u ñûí v, òî D[u℄ D[v℄
(3.7)
(ïîäîáíàÿ ñòðóêòóðà äàííûõ èñïîëüçóåòñÿ â àëãîðèòìå ñîðòèðîâêè Heapsort, ñì. [21℄, [1℄). Âåðøèíà u, äëÿ êîòîðîé çíà÷åíèå D u ìèíèìàëüíî, ÿâëÿåòñÿ òîãäà êîðíåì äåðåâà. Ýòîò êîðåíü ìîæíî óñòðàíèòü çà O n øàãîâ, ñîõðàíÿÿ ñâîéñòâî óìåíüøåíèÿ çíà÷åíèÿ D j íà êàæäîì ïóòè äî êîðíÿ. Äîñòàòî÷íî ñìåñòèòü íà ìåñòî êîðíÿ åãî ñûíà s ñ áîëüøèì (èëè ðàâíûì) çíà÷åíèåì D j , çàòåì íà îñâîáîäèâøååñÿ ìåñòî ïåðåäâèíóòü ñûíà âåðøèíû s ñ áîëüøèì çíà÷åíèåì D j è ò.ä. Åñëè ãðà ïðåäñòàâëåí ñïèñêàìè ÇÀÏÈÑÜ u , u 2 V , òî ñòðîêó 8 ìîæíî çàìåíèòü íà
[℄
[℄
[℄
[℄
for
(log )
[℄
v 2 ÇÀÏÈÑÜ[u℄ do if D [u℄ + A[u; v ℄ < D [v ℄ then begin
D[v℄ := D[u℄ + A[u; v℄;
ïåðåäâèíóòü âåðøèíó â äåðåâå â íàïðàâëåíèè êîðíÿ òàê, ÷òîáû ñîõðàíèòü óñëîâèå (3.7)
end
Åñëè ïðåäïîëîæèòü ñóùåñòâîâàíèå òàáëèöû óêàçàòåëåé íà âåðøèíû íàøåãî äåðåâà, òî ïåðåäâèæåíèå âåðøèíû v , î êîòîðîé èäåò ðå÷ü â äàííîé ÷àñòè ðàçäåëà, ìîæåò áûòü îñóùåñòâëåíî çà O n øàãîâ. Äîñòàòî÷íî çàìåíÿòü v ïîî÷åðåäíî âåðøèíàìè, íàõîäÿùèìèñÿ íåïîñðåäñòâåííî íàä íåé.  àëãîðèòìå, ìîäèèöèðîâàííîì òàêèì ñïîñîáîì, êàæäàÿ äóãà ãðàà àíàëèçèðóåòñÿ â òî÷íîñòè îäèí ðàç, ïðè÷åì ñ ýòèì ñâÿçàíî O n øàãîâ íà ïåðåäâèæåíèå ñîîòâåòñòâóþùåé âåðøèíû â äåðåâå, ïðåäñòàâëÿþùåì ìíîæåñòâî T . Ýòî äàåò â ñóììå O m n øàãîâ. Ñþäà íóæíî äîáàâèòü O n n øàãîâ, íåîáõîäèìûõ äëÿ ïîñòðîåíèÿ íàøåãî äåðåâà è äëÿ óñòðàíåíèÿ n ðàç èç íåãî êîðíÿ. Îáùàÿ ñëîæíîñòü àëãîðèòìà åñòü O m n (ñì. çàäà÷ó 3.6). Íåèçâåñòíî, ñóùåñòâóåò ëè àëãîðèòì ñëîæíîñòè O m íàõîæäåíèÿ ðàññòîÿíèÿ îò èêñèðîâàííîé âåðøèíû äî âñåõ îñòàëüíûõ âåðøèí ãðàà ñ íåîòðèöàòåëüíûìè âåñàìè âñåõ äóã. Ìîæíî ïîêàçàòü, ÷òî ñóùåñòâóåò êîíñòàíòà C , òàêàÿ ÷òî ýòà çàäà÷à äëÿ ïðîèçâîëüíîãî k > ìîæåò áûòü ðåøåíà çà âðåìÿ Ck m n1+1=k (ñì. [37℄). àáîòà àëãîðèòìà Äåéêñòðû ïðîèëëþñòðèðîâàíà íà ðèñ. 3.3 (V f ; : : : ; g, âåñà äóã äàíû â ñêîáêàõ, çíà÷åíèÿ D v , v 2 T , îáîçíà÷åíû êðóæêàìè, ìèíèìàëüíûå çíà÷åíèÿ äâîéíûìè êðóæêàìè).
(log )
(log ) ( log ) 1
( log )
( log )
( +
( )
0
)
[℄
= 1
6
ëàâà 3. Íàõîæäåíèå êðàò÷àéøèõ ïóòåé â ãðàå
120
u
u
HJ H (5) (7)- 6 J HHjHHH3*(1) J (1)6 J (1) J^ ? (2)J 6 J (1) (2) JJ 4 (-4) 5 s=1 2
u u
u
(3)
u u u
hl 1jj 1jlh 11jj 1jj hl jj jlh hl
D[1℄ D[2℄ D[3℄ D[4℄ D[5℄ D[6℄ 0 0 0 0 0
u
1 1 1 1 1
6 4 4 4
3 3 3 3
8 8 5 5
7 7 6
èñ. 3.3: àáîòà àëãîðèòìà Äåéêñòðû
u u u
7 -(3) 8 XXXX XX(Xz5)X (1) (1) 6 *-(2) ( 6) ( 5) 5 4 - - 6 (4)X-XXX t = 9 H s =1H H(1)H *(7) (10) *(5): jHH H -
u
2
(2)
u
u
3
èñ. 3.4: Ñàìûé äëèííûé ïóòü â áåñêîíòóðíîì ãðàå
3.4 Ïóòè â áåñêîíòóðíîì îðãðàå Çàéìåìñÿ òåïåðü âòîðûì ñëó÷àåì, äëÿ êîòîðîãî èçâåñòåí àëãîðèòì íàõîæäåíèÿ ðàññòîÿíèé îò èêñèðîâàííîé âåðøèíû çà âðåìÿ O n2 , à èìåííî ñëó÷àåì, êîãäà ãðà ÿâëÿåòñÿ áåñêîíòóðíûì (âåñà äóã ìîãóò áûòü ïðîèçâîëüíûìè). Ñíà÷àëà äîêàæåì ñëåäóþùóþ ëåììó. Ëåììà 3.4.  ïðîèçâîëüíîì áåñêîíòóðíîì ãðàå âåðøèíû ìîæíî ïåðåíóìåðîâàòü òàê, ÷òî êàæäàÿ äóãà áóäåò èìåòü âèä hvi ; vj i, ãäå i < j . Ïðèìåð òàêîé íóìåðàöèè ïðèâåäåí íà ðèñ. 3.4. Äëÿ äîêàçàòåëüñòâà ïðåäëîæèì àëãîðèòì, êîòîðûé êîíñòðóèðóåò òàêóþ íóìåðàöèþ. Àëãîðèòì 3.5. (Íóìåðàöèÿ âåðøèí áåñêîíòóðíîãî ãðàà.) Äàííûå: Îðèåíòèðîâàííûé áåñêîíòóðíûé ãðà hV; E i, îïðåäåëÿåìûé ñïèñêàìè èíöèäåíòíîñòè ÇÀÏÈÑÜ v , v 2 V . åçóëüòàòû: Äëÿ êàæäîé âåðøèíû v 2 V íîìåð NR v , òàêîé ÷òî äëÿ ïðîèçâîëüíîé äóãè hu; v i 2 E âûïîëíÿåòñÿ íåðàâåíñòâî NR u < NR v .
( )
[℄
1.
begin
[℄ [℄
[℄
3.4. Ïóòè â áåñêîíòóðíîì îðãðàå 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
for for
v 2 V do ×ÇÀÕ[v℄ := 0;(*×ÇÀÕ[v℄=÷èñëî äóã, çàõîäÿùèõ â v*) u 2 V do for v 2 ÇÀÏÈÑÜ[u℄ do ×ÇÀÕ[u℄ := ×ÇÀÕ[u℄ + 1;
ÑÒÅÊ for
121
:= ?;
v2V
do
[ ℄=0 CT EK ( v; =? u ( ÑÒÅÊ; num := num + 1; NR[u℄ := num; v 2 ÇÀÏÈÑÜ[u℄ ×ÇÀÕ[v ℄ := ×ÇÀÕ[v ℄ 1; ×ÇÀÕ[v ℄ = 0 ÑÒÅÊ ( v
×ÇÀÕ v num ; while ÑÒÅÊ 6 if
:= 0
begin
then
do
for
do
begin
if
then
end end end
Àëãîðèòì îñíîâûâàåòñÿ íà ñëåäóþùåì ïðîñòîì àêòå: â ïðîèçâîëüíîì (íåïóñòîì) áåñêîíòóðíîì ãðàå ñóùåñòâóåò âåðøèíà, â êîòîðóþ íå çàõîäèò íè îäíà äóãà. ×òîáû óáåäèòüñÿ â ýòîì, âûáåðåì ïðîèçâîëüíóþ âåðøèíó w1 ãðàà, çàòåì íåêîòîðóþ âåðøèíó w2 , òàêóþ ÷òî w2 ! w1 , çàòåì âåðøèíó w3 , òàêóþ ÷òî w3 ! w2 , è ò.ä. ×åðåç êîíå÷íîå ÷èñëî øàãîâ ìû äîëæíû äîéòè äî íåêîòîðîé âåðøèíû wi , â êîòîðóþ íå çàõîäèò íè îäíà äóãà, èáî â ñèëó áåñêîíòóðíîñòè íè îäíà âåðøèíà íå ìîæåò ïîâòîðÿòüñÿ â ïîñëåäîâàòåëüíîñòè w1 ; w2 ; : : : .  íàøåì àëãîðèòìå âåðøèíû, â êîòîðûå íå çàõîäèò íè îäíà äóãà, íàêàïëèâàþòñÿ â ñòåêå.  ñòðîêå 10 âûáèðàåòñÿ âåðõíèé ýëåìåíò ñòåêà u (ýòî ìîã áû áûòü ïðîèçâîëüíûé ýëåìåíò ñòåêà), è ýòîé âåðøèíå ïðèñâàèâàåòñÿ ñàìûé ìàëåíüêèé èç åùå íåèñïîëüçîâàííûõ íîìåðîâ. Òàêèì îáðàçîì, ìû ãàðàíòèðóåì, òî ÷òî âñå äóãè, âûõîäÿùèå èç ýòîé âåðøèíû, âåäóò ê âåðøèíàì ñ áîëüøèìè íîìåðàìè. Çàòåì âåðøèíà u âìåñòå ñ âûõîäÿùèìè èç íåå äóãàìè óäàëÿåòñÿ èç ãðàà. Ýòî ïðèâîäèò ê óìåíüøåíèþ íà åäèíèöó ÷èñëà äóã, çàõîäÿùèõ â êàæäóþ âåðøèíó v , òàêóþ ÷òî u ! v , ýòî ÷èñëî çàïîìèíàåòñÿ â ×ÇÀÕ v . Åñëè äëÿ êàêîé-íèáóäü èç âåðøèí v ýòî ÷èñëî ñâîäèòñÿ ê íóëþ, òî v ïîìåùàåòñÿ â ñòåê.  ñèëó áåñêîíòóðíîñòè ãðàà è íàøèõ ïðåäûäóùèõ çàìå÷àíèé ïîëíîå îïóñòîøåíèå ñòåêà, âûçûâàþùåå îêîí÷àíèå âûïîëíåíèÿ àëãîðèòìà (ñì. öèêë 9), íàñòóïàåò íå ðàíüøå, ÷åì ïîñëå ïðèñâîåíèÿ íîìåðîâ âñåì âåðøèíàì ãðàà. Ëåãêî çàìåòèòü, ÷òî êàæäàÿ äóãà àíàëèçèðóåòñÿ àëãîðèòìîì îäèí ðàç â ñòðîêå 4 è îäèí ðàç â ñòðîêå 12. Òàêèì îáðàçîì, ñëîæíîñòü àëãîðèòìà åñòü O m (âñïîìíèì, ÷òî îñòàåòñÿ â ñèëå ïðåäïîëîæåíèå m n ), â ïðîòèâíîì ñëó÷àå ñëåäîâàëî áû íàïèñàòü Om n. Ñîãëàñíî àëãîðèòìó 3.5 ïðè îïèñàíèè àëãîðèòìà íàõîæäåíèÿ ïóòåé â áåñ-
[℄
( + )
= ( )
( )
ëàâà 3. Íàõîæäåíèå êðàò÷àéøèõ ïóòåé â ãðàå
122
êîíòóðíîì ãðàå ìû ìîæåì ïðåäïîëîæèòü, ÷òî êàæäàÿ äóãà èäåò èç âåðøèíû ñ ìåíüøèì íîìåðîì â âåðøèíó ñ áîëüøèì íîìåðîì. Àëãîðèòì 3.6. (Íàõîæäåíèå ðàññòîÿíèé îò èñòî÷íèêà äî âñåõ âåðøèí â áåñêîíòóðíîì ãðàå.)
=
Äàííûå: Îðèåíòèðîâàííûé ãðà hV; E i, ãäå V fv1 ; : : : ; vn g, è äëÿ ïðîèçâîëüíîé äóãè hvi ; vj i 2 E èìååì i < j . Ýòîò ãðà îïðåäåëåí ñïèñêàìè èíöèäåíòíîñòè ÏÅÄØ u , v 2 V .
[℄
åçóëüòàòû: àññòîÿíèÿ îò
1; : : : ; n. 1. 2. 3. 4. 5. 6.
begin
D[v
v
1
äî âñåõ âåðøèí ãðàà:
D[vi ℄
= d(v ; vi), i = 1
℄ := 0;
j := 2 to n do D[vi ℄ := 1; for j := 2 to n do for vi 2 ÏÅÄØ[vj ℄ do D [vj ℄ := min(D [vj ℄; D [vi ℄ + A[vi ; vj ℄)
for
1
end
Íåòðóäíî äîêàçàòü èíäóêöèåé ïî j , ÷òî ïîñëå âûïîëíåíèÿ öèêëà 4 äëÿ íåêîòîðîãî çíà÷åíèÿ j âûïîëíÿåòñÿ ðàâåíñòâî D vi d v 1 ; vi , i ; : : : ; j . Äîñòàòî÷íî âîñïîëüçîâàòüñÿ òåì àêòîì, ÷òî âñå ïðîìåæóòî÷íûå âåðøèíû êðàò÷àéøåãî ïóòè èç v1 â vj èìåþò íîìåðà ìåíüøå j .
[ ℄= (
Ñëîæíîñòü àëãîðèòìà åñòü O â ñòðîêå 5 â òî÷íîñòè îäèí ðàç.
) =1
(m), òàê êàê êàæäàÿ äóãà hvi ; vj i àíàëèçèðóåòñÿ
Àëãîðèòìû 3.5 è 3.6 ìîãóò íàéòè ïðèìåíåíèå â ìåòîäàõ óïðàâëåíèÿ âûïîëíåíèåì ïðîåêòà, íàçûâàåìûõ PERT (Proje t Evaluation and Review Te hnique) èëè CPM (Criti al Path Method). Ýòè ìåòîäû îñíîâûâàþòñÿ íà ïîñòðîåíèè ãðàà (ñåòè PERT èëè ñåòè CPM ), äóãè êîòîðîãî ñîîòâåòñòâóþò íåêîòîðûì ýëåìåíòàðíûì çàäà÷àì, ñîñòàâëÿþùèì ïðîåêò, à èõ âåñà óêàçûâàþò íà âðåìÿ, íåîáõîäèìîå äëÿ ðåøåíèÿ îòäåëüíûõ çàäà÷. Êðîìå ýòîãî, ìû ïðåäïîëàãàåì, ÷òî äëÿ ïðîèçâîëüíûõ äóã ýòîãî ãðàà hu; v i è hv; ti çàäà÷à, èçîáðàæàåìàÿ äóãîé hu; v i, äîëæíà áûòü çàêîí÷åíà ïåðåä íà÷àëîì ðåøåíèÿ çàäà÷è, èçîáðàæàåìîé äóãîé hv; ti. Ëåãêî çàìåòèòü, ÷òî òàêîé ãðà äîëæåí áûòü áåñêîíòóðíûì. Íàøåé çàäà÷åé ÿâëÿåòñÿ íàõîæäåíèå ñàìîãî äëèííîãî ïóòè èç âåðøèíû s, ñîîòâåòñòâóþùåé íà÷àëó ïðîåêòà, äî âåðøèíû t, ñîîòâåòñòâóþùåé åãî îêîí÷àíèþ (ñì. ðèñ. 3.4). Òàêîé ïóòü íàçûâàåòñÿ êðèòè÷åñêèì ïóòåì. Åãî äëèíà îïðåäåëÿåò âðåìÿ, íåîáõîäèìîå äëÿ ðåàëèçàöèè âñåãî ïðîåêòà. Î÷åâèäíî, ÷òî ýòà çàäà÷à ñâîäèòñÿ ê çàäà÷å î êðàò÷àéøåì ïóòè ïóòåì èçìåíåíèÿ çíàêà êàæäîãî âåñà a u; v , ãäå u ! v , íà îáðàòíûé.
( )
3.5. Êðàò÷àéøèå ïóòè ìåæäó âñåìè ïàðàìè âåðøèí, òðàíç. çàìûêàíèå ...
123
3.5 Êðàò÷àéøèå ïóòè ìåæäó âñåìè ïàðàìè âåðøèí, òðàíçèòèâíîå çàìûêàíèå îòíîøåíèÿ Î÷åâèäíî, ÷òî çàäà÷ó îïðåäåëåíèÿ ðàññòîÿíèÿ ìåæäó âñåìè ïàðàìè âåðøèí ìîæíî ðåøèòü, èñïîëüçóÿ n ðàç (ïîî÷åðåäíî äëÿ êàæäîé âåðøèíû) îäèí èç îïèñàííûõ ðàíåå ìåòîäîâ íàõîæäåíèÿ ðàññòîÿíèé îò èêñèðîâàííîé âåðøèíû. Òàêèì îáðàçîì, ìû ïîëó÷àåì àëãîðèòì ñî ñëîæíîñòüþ O n4 (ïðè èñïîëüçîâàíèè ìåòîäà ÔîðäàÁåëëìàíà) èëè O n3 äëÿ áåñêîíòóðíûõ ãðàîâ èëè íåîòðèöàòåëüíûõ âåñîâ. Îäíàêî îêàçûâàåòñÿ, ÷òî â îáùåì ñëó÷àå n-êðàòíîå èñïîëüçîâàíèå ìåòîäà ÔîðäàÁåëëìàíà íå ÿâëÿåòñÿ íàèëó÷øèì ìåòîäîì. Ïîêàæåì òåïåðü äâà áîëåå ýåêòèâíûõ ìåòîäà. Äëÿ ýòîãî ðàññìîòðèì îðèåíòèðîâàííûé ãðà G hV; E i, ãäå V fv1 ; : : : ; vn g, è ïðåäïîëîæèì, ÷òî A aij åñòü ìàòðèöà âåñîâ (aij a vi ; vj ). Îáîçíà÷èâ (m) ÷åðåç dij äëèíó êðàò÷àéøåãî ïóòè èç vi è vj , ñîäåðæàùåãî íå áîëåå m äóã, ïîëó÷àåì ñëåäóþùèå î÷åâèäíûå óðàâíåíèÿ (ñð. ñ (3.3)):
( )
( )
=
=[ ℄
= (
)
=
åñëè i = j = 10;; åñëè i 6= j n o = min dikm + akj : 1 k n :
dij
(3.8)
(0)
dijm (
+1)
(
(3.9)
)
Îòìåòèì, ÷òî óðàâíåíèå (3.9) îáíàðóæèâàåò íåêîòîðîå ñõîäñòâî ñ îïðåäåëåíèåì ïðîèçâåäåíèÿ äâóõ êâàäðàòíûõ ìàòðèö. Åñëè îïåðàöèþh òðàêòîâàòü i (m+1) ÿâëÿåòêàê ¾ñóììó¿, îïåðàöèþ ¾+¿ êàê ¾ïðîèçâåäåíèå¿, òî ìàòðèöà dij
min
h
m)
i
=[ ℄
aij . Îáîçíà÷èì òàêîå ¾ïðîèçâåäåíèå¿ ñÿ ¾ïðîèçâåäåíèåì¿ ìàòðèö dij è A äâóõ ìàòðèö A è B ÷åðåç A B è îòìåòèì, ÷òî äëÿ ýòîé îïåðàöèè åäèíè÷íûì ýëåìåíòîì ñëóæèò ìàòðèöà (
2
0 1 1 1 3 6 1 0 1 1 7 6 7 7 U =6 6 1 1 0 1 7 6 . . . . 7 4 ..
..
..
.. 5
1 1 1 0
Èç óðàâíåíèé (3.8) è (3.9) òåïåðü ëåãêî ñëåäóåò, ÷òî
dijm (
)
= ((| : : : ((A A){z A) : : :) A}) m
ðàç
Âîçìîæåí îäèí èç äâóõ ñëåäóþùèõ ñëó÷àåâ:
h
dij
(0)
i
(m 1)
=U è (3.10)
ëàâà 3. Íàõîæäåíèå êðàò÷àéøèõ ïóòåé â ãðàå
124 1.
=
dijn n î÷åâèäíî dij
dijn (
1)
(
)
(
m)
è â ðåçóëüòàòå dij 1) d v i ; vj . (
= (
)
=
dijn (
1)
äëÿ êàæäîãî
n. Òîãäà
m
6= dijn . Ýòî îçíà÷àåò, ÷òî ñóùåñòâóåò êîíòóð îòðèöàòåëüíîé äëèíû. Ïðîèçâåäåíèå A B äâóõ ìàòðèö ðàçìåðíîñòè n n ìîæíî âû÷èñëèòü çà
2.
dijn (
1)
(
)
( )
1
âðåìÿ O n3 (n ñëîæåíèé è n ñðàâíåíèéhíà êàæäûé èç n2 ýëåìåíòîâ ïðîi (n 1) èçâåäåíèÿ A B ). Ñëåäîâàòåëüíî, ìàòðèöó dij è òåì ñàìûì ðàññòîÿíèå
( )
ìåæäó âñåìè ïàðàìè âåðøèí ìîæíî âû÷èñëèòü çà âðåìÿ O n4 . Ïîêà ñëîæíîñòü ýòîãî àëãîðèòìà òàêàÿ æå, êàê è äëÿ ñëó÷àÿ n-êðàòíîãî èñïîëüçîâàíèÿ àëãîðèòìà ÔîðäàÁåëëìàíà. Îäíàêî ìû ìîæåì åå ñíèçèòü, åñëè çàìåòèì, ÷òî îïåðàöèÿ ¾¿ àññîöèàòèâíà (ò.å. A B C A B C , ñì. çàäà÷ó 3.8). Ýòîò àêò ïîçâîëÿåò âû÷èñëÿòü ïðîèçâåäåíèå (3.10), ïîî÷åðåäíî âîçâîäÿ ìàòðèöó A â êâàäðàò è òåì ñàìûì çàìåíÿÿ n óìíîæåíèå ìàòðèöû d ne óìíîæåíèÿìè. Òàêèì îáðàçîì, ìû ïîëó÷àåì àëãîðèòì ñëîæíîñòè O n3 n, îòûñêèâàþùèé ðàññòîÿíèÿ ìåæäó âñåìè ïàðàìè âåðøèí â ãðàå áåç êîíòóðîâ îòðèöàòåëüíîé äëèíû. Àâòîðàìè åùå áîëåå ýåêòèâíîãî àëãîðèòìà ÿâëÿþòñÿ Óîðøàëë [70℄ è Ôëîéä (m) [20℄. Èäåÿ ýòîãî àëãîðèòìà ñëåäóþùàÿ. Îáîçíà÷èì ÷åðåç dij äëèíó êðàò÷àéøåãî èç ïóòåé èç vi â vj ñ ïðîìåæóòî÷íûìè âåðøèíàìè â ìíîæåñòâå fv1 ; : : : ; vm g. Òîãäà èìååì ñëåäóþùèå óðàâíåíèÿ:
(
)
=
(
)
1
= aij ;
dij 0
dijm (
+1)
= min
log ( log )
(3.11)
m dijm ; dim (
)
(
)
+ dmjm (
)
:
(3.12)
Îáîñíîâàíèå âòîðîãî óðàâíåíèÿ äîñòàòî÷íî ïðîñòîå. àññìîòðèì êðàò÷àéøèé ïóòü èç vi â vj ñ ïðîìåæóòî÷íûìè âåðøèíàìè èç ìíîæåñòâà fv1 ; : : : ; vm ; vm+1 g. (m+1) d(ijm) . Åñëè æå îí ñîäåðæèò vm+1 , Åñëè ýòîò ïóòü íå ñîäåðæèò vm+1 , òî dij òî, äåëÿ ïóòü íà îòðåçêè îò vi äî vm+1 è îò vm+1 äî vj , ïîëó÷àåì ðàâåíñòâî m) m) . d(mj d(ijm+1) d(im Óðàâíåíèÿ (3.11) è (3.12) äàþò âîçìîæíîñòü ëåãêî âû÷èñëèòü ðàññòîÿíèÿ d vi ; vj d(ijn) , i; j n. Àëãîðèòì 3.7. (Âû÷èñëåíèå ðàñòîÿíèé ìåæäó âñåìè ïàðàìè âåðøèí ìåòîä Ôëîéäà.) Äàííûå: Ìàòðèöà âåñîâ äóã A i; j , i; j n îðèåíòèðîâàííîãî ãðàà áåç êîíòóðîâ îòðèöàòåëüíîé äëèíû. åçóëüòàòû: àññòîÿíèÿ ìåæäó âñåìè ïàðàìè âåðøèí D i; j d v i ; vj .
=
=
(
)=
+
1
[ ℄1
[ ℄= (
)
3.5. Êðàò÷àéøèå ïóòè ìåæäó âñåìè ïàðàìè âåðøèí, òðàíç. çàìûêàíèå ... 1. 2. 3. 4. 5. 6. 7. 8. 9.
begin
125
i := 1 to n do for j := 1 to n do D [i; j ℄ := A[i; j ℄; for i := 1 to n do D [i; i℄ := 0; for m := 1 to n do for i := 1 to n do for j := 1 to n do D[i; j ℄ := min(D[i; j ℄; D[i; m℄ + D[m; j ℄)
for
end
Îáîñíîâàíèå êîððåêòíîñòè àëãîðèòìà ïðåäîñòàâëÿåì ÷èòàòåëþ. Î÷åâèäíî, ÷òî ñëîæíîñòü ýòîãî àëãîðèòìà åñòü O n3 . Ñòîèò îòìåòèòü, ÷òî òàêóþ æå ñëîæíîñòü èìåë àëãîðèòì ÔîðäàÁåëëìàíà íàõîæäåíèÿ ðàññòîÿíèé îò èêñèðîâàííîé âåðøèíû äî âñåõ îñòàëüíûõ âåðøèí. Ëþáîïûòíî, ÷òî äëÿ îáùåãî ñëó÷àÿ (ò.å. áåç ïðåäïîëîæåíèÿ î íåîòðèöàòåëüíîñòè âåñîâ ëèáî î áåñêîíòóðíîñòè ãðàà) íå èçâåñòåí íè îäèí àëãîðèòì íàõîæäåíèÿ ðàññòîÿíèÿ ìåæäó îäíîé èêñèðîâàííîé ïàðîé âåðøèí, êîòîðûé áûë áû çíà÷èòåëüíî ýåêòèâíåå àëãîðèòìà íàõîæäåíèÿ ðàññòîÿíèé ìåæäó âñåìè ïàðàìè âåðøèí. Ñ çàäà÷åé îïðåäåëåíèÿ êðàò÷àéøèõ ïóòåé â ãðàå òåñíî ñâÿçàíà çàäà÷à òðàíçèòèâíîãî çàìûêàíèÿ áèíàðíîãî îòíîøåíèÿ. Âñïîìíèì, ÷òî ïîä áèíàðíûì îòíîøåíèåì íà ìíîæåñòâå V ìû ïîíèìàåì ïðîèçâîëüíîå ïîäìíîæåñòâî E V V . Òàêîå îòíîøåíèå ÿâëÿåòñÿ òðàíçèòèâíûì, åñëè óäîâëåòâîðÿåòñÿ óñëîâèå
( )
(x; y) 2 E ^ (y; z) 2 E ) (x; z) 2 E
8x; y; z 2 E . Îòìåòèì, ÷òî áèíàðíîå îòíîøåíèå E V V ìîæíî îäíîçíà÷íî ïðåäñòàâèòü îðèåíòèðîâàííûì ãðàîì G = hV; E i. Äëÿ ïðîèçâîëüíîãî òàêîãî îòíîøåíèÿ ìû îïðåäåëÿåì
E = f(x; y) :
â
hV; E i ñóùåñòâóåò ïóòü íåíóëåâîé äëèíû èç x â yg:
Íåòðóäíî çàìåòèòü, ÷òî E òðàíçèòèâíîå îòíîøåíèå íà ìíîæåñòâå V è E E . Áîëåå òîãî, E ÿâëÿåòñÿ íàèìåíüøèì òðàíçèòèâíûì îòíîøåíèåì, ñîäåðæàùèì E , ò.å. äëÿ ïðîèçâîëüíîãî òðàíçèòèâíîãî îòíîøåíèÿ F E âûïîëíÿåòñÿ âêëþ÷åíèå E F . Îòíîøåíèå E íàçûâàåòñÿ òðàíçèòèâíûì çàìûêàíèåì îòíîøåíèÿ E . Åñëè îòíîøåíèå E ïðåäñòàâèòü â âèäå ãðàà hV; E i, â êîòîðîì êàæäàÿ äóãà èìååò âåñ 1, òî òðàíçèòèâíîå çàìûêàíèå E ìîæíî âû÷èñëèòü ñ ïîìîùüþ àëãîðèòìà 3.7 çà âðåìÿ O n3 ; ïîñëå çàâåðøåíèÿ ðàáîòû àëãîðèòìà èìååì
( )
hvi ; vj i 2 E , D[i; j ℄ < 1
ëàâà 3. Íàõîæäåíèå êðàò÷àéøèõ ïóòåé â ãðàå
126
Ïðè âû÷èñëåíèè òðàíçèòèâíîãî çàìûêàíèÿ óäîáíî ïðèíÿòü
A[i; j ℄ =
0; 1;
(âìåñòî 1)
hvi ; vj i 2= E hvi ; vj i 2 E
åñëè åñëè
(3.13)
Òîãäà ñòðîêó 7 àëãîðèòìà 3.7 ìû ìîæåì çàìåíèòü íà
D[i; j ℄ := D[i; j ℄ _ (D[i; m℄ ^ D[m; j ℄);
ãäå
_ è ^ îáû÷íûå áóëåâû îïåðàöèè: _ 0 1 0 1
0 1
1 1
^ 0 1
0 0 0
1 0 1
Ïîñëå çàâåðøåíèÿ ðàáîòû àëãîðèòìà, ìîäèèöèðîâàííîãî òàêèì îáðàçîì (ïðèíàäëåæàùåãî Óîðøàëëó [70℄), î÷åâèäíî, èìååì
D[i; j ℄ =
1; 0;
åñëè åñëè
hvi ; vj i 2 E ; hvi ; vj i 2= E :
Çäåñü ñëåäóåò îòìåòèòü, ÷òî èçâåñòåí àëãîðèòì ïîñòðîåíèÿ òðàíçèòèâíîãî çàìûêàíèÿ, áîëåå ýåêòèâíûé, ÷åì àëãîðèòì Óîðøàëëà (ñì. [53℄). Îí èñïîëüçóåò ñâÿçü ýòîé çàäà÷è ñ óìíîæåíèåì ìàòðèö, îáñóæäàâøóþñÿ â íà÷àëå ýòîãî ïàðàãðàà, ýòà ñâÿçü äëÿ ìàòðèö A, îïðåäåëÿåìûõ ðàâåíñòâîì (3.13), ïðèâîäèò ê îáû÷íîìó óìíîæåíèþ áóëåâûõ ìàòðèö ïî îðìóëå
ij =
n _
k=1
(aik ^ bkj )
Îêàçûâàåòñÿ (ñì. [64℄), ÷òî òàêîå óìíîæåíèå ìîæíî âûïîëíèòü çà âðåìÿ log 7 1 , ÷òî äàåò àëãîðèòì ïîñòðîåíèÿ òðàíçèòèâíîãî çàìûêàíèÿ, èìåþùåãî ñëîæíîñòü O nlog 7 n . Òàêîé àëãîðèòì èìååò ñêîðåå òåîðåòè÷åñêîå çíà÷åíèå, ïîñêîëüêó ìåòîä óìíîæåíèÿ ìàòðèö çà âðåìÿ O nlog 7 ÿâëÿåòñÿ äîâîëüíî ñëîæíûì è, ñëåäîâàòåëüíî, îáíàðóæèâàåò ñâîå ïðåèìóùåñòâî ïåðåä îáû÷íûì ¾øêîëüíûì¿ ìåòîäîì òîëüêî ïðè î÷åíü áîëüøèõ çíà÷åíèÿõ n. Íà ïðàêòèêå îáû÷íî ñàìûì ýåêòèâíûì îêàçûâàåòñÿ àëãîðèòì Óîðøàëëà, ñîîòâåòñòâóþùèì îáðàçîì çàïðîãðàììèðîâàííûé (ñì. [65℄ è çàäà÷ó 3.9). Äðóãèì ñïîñîáîì ïîñòðîåíèÿ òðàíçèòèâíîãî çàìûêàíèÿ îòíîøåíèÿ E ÿâëÿåòñÿ ïðèìåíåíèå ïîèñêà â ãëóáèíó (èëè â øèðèíó) â ãðàå hV; E i. Ýòîò ñïîñîá îñîáåííî âûãîäåí, êîãäà îòíîøåíèå E ñèììåòðè÷íî; î÷åâèäíî, ÷òî òîãäà òðàíçèòèâíîå çàìûêàíèå ñòðîèòñÿ îòäåëüíî äëÿ êàæäîé ñâÿçíîé êîìïîíåíòû, íà êîòîðûå ðàçáèâàåòñÿ íåîðèåíòèðîâàííûé ãðà, îïðåäåëÿåìûé îòíîøåíèåì E , è ýòî ïîñòðîåíèå ìîæåò áûòü ïîëó÷åíî çà âðåìÿ O m n . Äåòàëè îñòàâëÿåì ÷èòàòåëþ (ñì. çàäà÷ó 3.12).
O(n
)
(
log )
(
)
( + )
1
Ïîêàçàòåëü log 7 ìîæåò áûòü íåìíîãî óìåíüøåí (ñì. [55℄)
3.6. Çàäà÷è
127
3.6 Çàäà÷è =
3.1. Ïóñòü G hV; E i ïðîèçâîëüíûé îðèåíòèðîâàííûé ãðà. Çàèêñèðóåì íåêîòîðóþ âåðøèíó s 2 V , äîáàâèì íîâóþ âåðøèíó t, çàìåíèì êàæäóþ äóãó hv; si 2 Å íà äóãó hv; ti è ïîñòàâèì â ñîîòâåòñòâèå êàæäîé äóãå ïîëó÷åííîãî ãðàà âåñ . Äîêàçàòü, ÷òî êðàò÷àéøèé ýëåìåíòàðíûé ïóòü èç s â t èìååò äëèíó n òîãäà è òîëüêî òîãäà, êîãäà â G ñóùåñòâóåò ãàìèëüòîíîâ êîíòóð. 3.2. Ìîäèèöèðîâàòü àëãîðèòì 3.1 òàê, ÷òîáû îí îïðåäåëÿë
1
(à) êðàò÷àéøèé ýëåìåíòàðíûé ïóòü èç
s â t;
(á) âñå êðàò÷àéøèå ïóòè èç s â t â ïðåäïîëîæåíèè, ÷òî ãðà íå ñîäåðæèò êîíòóðîâ îòðèöàòåëüíîé äëèíû (ìîæåò ñîäåðæàòü êîíòóðû íóëåâîé äëèíû).
Ïðîâåñòè àíàëèç ïðåäëîæåííûõ àëãîðèòìîâ. 3.3. Èçìåíèòü àëãîðèòìû 3.2, 3.3 è 3.6 òàê, ÷òîáû îíè îïðåäåëÿëè êðàò÷àéøèå ïóòè èç s äî îñòàëüíûõ âåðøèí, íå èñïîëüçóÿ àëãîðèòì 3.1. (Óêàçàíèå: äëÿ êàæäîé âåðøèíû v 2 V ñëåäóåò çàïîìèíàòü è àêòèâèçèðîâàòü âî âðåìÿ ðàáîòû àëãîðèòìà òàêóþ âåðøèíó P RE v , ÷òî
[℄
D[v℄ = D[P RE [v℄℄ + A[P RE [v℄; v℄:) 3.4. Ìîæíî ëè óñëîâèÿ (3.4) è (3.5) çàìåíèòü ðàâåíñòâàìè
D[v℄ = d(m)(v);
D[v℄ = d(m + 1)(v)
?
3.5. Äîêàçàòü, ÷òî â ãðàå áåç êîíòóðîâ ñ íåïîëîæèòåëüíîé äëèíîé óðàâíåíèÿ
d(s; s) = d(s; v) =
0; min fd(s; u) + a(u; v) : u 2 V nfvgg îäíîçíà÷íî îïðåäåëÿþò ðàññòîÿíèÿ d(s; v ), v 2 V . Äàòü ïðèìåð ãðàà ñ öèê-
ëîì (êîíòóðîì) äëèíû 0, äëÿ êîòîðîãî ýòà ñèñòåìà óðàâíåíèé èìååò áåñêîíå÷íî ìíîãî ðåøåíèé. 3.6. Äîïîëíèòü äåòàëè îïèñàíèÿ è àíàëèçà âàðèàíòà àëãîðèòìà Äåéêñòðû ñî ñëîæíîñòüþ O m n. 3.7. Îïðåäåëèòü êðàò÷àéøèé ïóòü èç s â t â ãðàå íà ðèñ. 3.4. 3.8. Äîêàçàòü, ÷òî îïåðàöèÿ ¾¿, îïðåäåëåííàÿ äëÿ êâàäðàòíûõ ìàòðèö A aij è B bij ðàçìåðíîñòè n n îðìóëîé A B
ij , ãäå ij faik bkj k ng, ÿâëÿåòñÿ àññîöèàòèâíîé. 3.9. Äîêàçàòü, ÷òî ñëåäóþùàÿ ìîäèèêàöèÿ àëãîðèòìà Óîðøàëëà ñòîèò òðàíçèòèâíîå çàìûêàíèå îòíîøåíèÿ [65℄:
( log )
=[ ℄ min +
=[ ℄ :1
=[ ℄
=
ëàâà 3. Íàõîæäåíèå êðàò÷àéøèõ ïóòåé â ãðàå
128
E îïðåäåëåíî ìàòðèöåé A, ñì. (3.13)*) m := 1 to n do for i := 1 to n do if A[i; m℄ = 1 then for j := 1 to n do A[i; j ℄ := A[i; j ℄ _ A[m; j ℄ end (*A[i; j ℄ = 1 , hvi ; vj i 2 Å*) begin
(*îòíîøåíèå
for
Ïðåäïîëîæèì, ÷òî ñòðîêà ìàòðèöû A ïîìåùàåòñÿ â ìàøèííîì ñëîâå è öèêë 5 ìû òðàêòóåì êàê îäíó ýëåìåíòàðíóþ îïåðàöèþ (ëîãè÷åñêîå ñëîæåíèå m-é ñòðîêè ñ 1-é). Êàêîâà òîãäà ñëîæíîñòü àëãîðèòìà? 3.10. Ìîäèèöèðîâàòü àëãîðèòì Ôëîéäà òàê, ÷òîáû êðîìå ðàññòîÿíèé D i; j îí îïðåäåëÿë ìàòðèöó M i; j , ãäå M i; j åñòü íàèáîëüøèé íîìåð âåðøèíû íåêîòîðîãî êðàò÷àéøåãî ïóòè èç vi â vj (M i; j , åñëè ýòîò ïóòü íå ñîäåðæèò ïðîìåæóòî÷íûõ âåðøèí). Äîêàçàòü, ÷òî ðåêóðñèâíàÿ ïðîöåäóðà
[ ℄
pro edure begin if
[ ℄
[ ℄
[ ℄=0
ÂÛÏÈÑÀÒÜÏÓÒÜ(i,j );
M [i; j ℄ = 0 then if i = j
write(i) write(i,j )
then else
else begin
(i; M [i; j ℄); (M [1; j ℄; j )
ÂÛÏÈÑÀÒÜÏÓÒÜ ÂÛÏÈÑÀÒÜÏÓÒÜ end end
()
âûïèñûâàåò êðàò÷àéøèé ïóòü èç vi â vj çà âðåìÿ O n . Íàïèñàòü íåðåêóðñèâíûé âàðèàíò ýòîé ïðîöåäóðû. 3.11. Ïîä ïðîïóñêíîé ñïîñîáíîñòüþ ïóòè áóäåì ïîíèìàòü íàèìåíüøèé âåñ äóãè ýòîãî ïóòè. Íàïèñàòü àëãîðèòì, îïðåäåëÿþùèé íàèáîëüøèå ïðîïóñêíûå ñïîñîáíîñòè ïóòåé ìåæäó
(à) èêñèðîâàííîé ïàðîé âåðøèí; (á) âñåìè ïàðàìè âåðøèí.
3.12. Îïèðàÿñü íà ìåòîä ïîèñêà â ãëóáèíó, íàïèñàòü àëãîðèòì, ñòðîÿùèé òðàíçèòèâíîå çàìûêàíèå ïðîèçâîëüíîãî îòíîøåíèÿ E V V çà âðåìÿ O n2 mn , è àëãîðèòì ñëîæíîñòè O n2 äëÿ ñèììåòðè÷íûõ îòíîøåíèé.
)
( )
( +
ëàâà 4
Ïîòîêè â ñåòÿõ è ðîäñòâåííûå çàäà÷è 4.1 Ìàêñèìàëüíûé ïîòîê â ñåòè =
=
Ïîä ñåòüþ ìû áóäåì ïîíèìàòü ïàðó S hG; i, ãäå G hV; E i ïðîèçâîëüíûé îðèåíòèðîâàííûé ãðà, à E ! R óíêöèÿ, êîòîðàÿ êàæäîé äóãå hv; ui ñòàâèò â ñîîòâåòñòâèå íåîòðèöàòåëüíîå âåùåñòâåííîå ÷èñëî u; v , íàçûâàåìîå ïðîïóñêíîé ñïîñîáíîñòüþ ýòîé äóãè. Ìíîæåñòâà V è E íàçûâàþòñÿ ñîîòâåòñòâåííî ìíîæåñòâîì âåðøèí è ìíîæåñòâîì äóã ñåòè S . Äëÿ ïðîèçâîëüíîé óíêöèè
E!R (4.1)
:
è ïðîèçâîëüíîé âåðøèíû u ñåòè
Divf (v) = ( )
S
( )
:
ðàññìîòðèì âåëè÷èíó
X
u:v!u
f (u; v)
X
u:u!v
f (u; v)
Div ( )
Åñëè f u; v ìû èíòåðïðåòèðóåì êàê ïîòîê èç u â v , òî âåëè÷èíà f v îïðåäåëÿåò ¾êîëè÷åñòâî ïîòîêà¿, âûõîäÿùåãî èç âåðøèíû v . Ýòà âåëè÷èíà ìîæåò áûòü ïîëîæèòåëüíîé (åñëè èç âåðøèíû v áîëüøå âûõîäèò, ÷åì âõîäèò â íåå), îòðèöàòåëüíîé (åñëè â âåðøèíó âõîäèò áîëüøå, ÷åì âûõîäèò èç íåå, ò.å. íàñòóïàåò ¾íàêîïëåíèå¿ ïîòîêà â âåðøèíå u) è, íàêîíåö, ðàâíîé íóëþ. Ïîñëåäíèé ñëó÷àé íàñ áóäåò èíòåðåñîâàòü áîëåå âñåãî. Âûäåëèì â íàøåé ñåòè äâå âåðøèíû èñòî÷íèê s è ñòîê t (s 6 t). Ïîä ïîòîêîì èç s â t â ñåòè S ìû áóäåì ïîíèìàòü ïðîèçâîëüíóþ óíêöèþ âèäà (4.1), äëÿ êîòîðîé âûïîëíÿþòñÿ óñëîâèÿ
=
0 f (u; v) (u; v) äëÿ êàæäîé äóãè (u; v) 2 E 129
(4.2)
ëàâà 4. Ïîòîêè â ñåòÿõ è ðîäñòâåííûå çàäà÷è
130 è
Divf (v) = 0 äëÿ êàæäîé âåðøèíû v 2 V nfs; tg:
Âåëè÷èíó
(4.3)
W (f ) = Divf (s)
áóäåì íàçûâàòü âåëè÷èíîé ïîòîêà f . Ñîãëàñíî îïèñàííîìó âûøå, ìû èìååì çäåñü äåëî ñ ïîòîêîì, êîòîðûé íå âîçíèêàåò è íå íàêàïëèâàåòñÿ íè â îäíîé èç âåðøèí, îòëè÷íûõ îò s, t, è êîòîðûé óäîâëåòâîðÿåò ñëåäóþùåìó óñëîâèþ: ÷åðåç äóãó hu; v i ìû ìîæåì ïðîïóñòèòü íå áîëåå ÷åì u; v åäèíèö ïîòîêà. Òàêîé ïîòîê ìîæåò îïèñûâàòü ïîâåäåíèå ãàçà èëè æèäêîñòè â òðóáîïðîâîäå, ïîòîêè àâòîìîáèëåé â ñåòè àâòîñòðàä, ïåðåñûëêó òîâàðîâ ïî æåëåçíîé äîðîãå (áåç õðàíåíèÿ èõ íà ïðîìåæóòî÷íûõ ñòàíöèÿõ), ïåðåäà÷ó èíîðìàöèè â èíîðìàöèîííîé ñåòè è ò.ä. Ìû áóäåì èíòåðåñîâàòüñÿ ãëàâíûì îáðàçîì íàõîæäåíèåì ìàêñèìàëüíîãî ïîòîêà (ò.å. ïîòîêà ñ ìàêñèìàëüíîé âåëè÷èíîé) â çàäàííîé ñåòè. Äîêàæåì ñíà÷àëà íåñêîëüêî ïðîñòûõ è èíòóèòèâíî î÷åâèäíûõ àêòîâ. Ïîä ðàçðåçîì P(A) ñåòè S, ñîîòâåòñòâóþùèì ïîäìíîæåñòâó A V (A 6 ?, A 6 V ), ìû ïîíèìàåì ìíîæåñòâî äóã hu; v i 2 E , òàêèõ ÷òî u 2 A è v 2 V nA, ò.å.
( )
=
=
P (A) = E \ (A (V nA)): Äëÿ ïðîèçâîëüíîãî ïîòîêà f â ñåòè S ïîòîê ÷åðåç ðàçðåç P åñòåñòâåííûì îáðàçîì:
f (A; V nA) =
Ëåììà 4.1.
Åñëè
X
e2P (A)
(A) îïðåäåëÿåòñÿ
f (e)
s 2 A è t 2 V nA, òî äëÿ ïðîèçâîëüíîãî ïîòîêà f W (f ) = f (A; V nA) f (V nA; A):
Div ( ) = 0
èç
sât (4.4)
Äîêàçàòåëüñòâî. Ñóììèðóåì óðàâíåíèÿ (4.3) äëÿ âñåõ v 2 A. Ýòà f v ñóììà ñêëàäûâàåòñÿ èç íåêîòîðîãî ÷èñëà ñëàãàåìûõ f u; v , ñíàáæåííûõ çíàêîì ïëþñ è ìèíóñ, ïðè÷åì õîòÿ áû îäíà èç âåðøèí u, v ïðèíàäëåæèò ìíîæåñòâó A. Åñëè îáå âåðøèíû ïðèíàäëåæàò A, òî f u; v ïîÿâëÿåòñÿ ñî çíàêîì ïëþñ â f u è ñî çíàêîì ìèíóñ â f v (è íå ïîÿâëÿåòñÿ â âûðàæåíèè f r íè äëÿ îäíîãî r, îòëè÷íîãî îò u è v ), ÷òî â ñóììå äàåò 0. Êàæäîå èç ñëàãàåìûõ f u; v , u 2 V nA, v 2 A ïîÿâëÿåòñÿ â òî÷íîñòè îäèí ðàç ñî çíàêîì ïëþñ â f u , ÷òî â ñóììå äàåò f A; V nA . Àíàëîãè÷íûå ñëàãàåìûå f u; v , u 2 V nA, v 2 A îòâå÷àþò çà ñëàãàåìîå f V nA; A â (4.4). Ñ äðóãîé ñòîðîíû íàøà ñóììà ðàâíà W f , èáî f u äëÿ êàæäîãî u 2 Anfsg. f s
Div ( ) ( ) Div ( ) Div ( ) = ( )
Div ( )
( ) ( ) Div ( ) = 0
( )
( )
Div ( )
( )
4.1. Ìàêñèìàëüíûé ïîòîê â ñåòè Ïðèíèìàÿ
131
A = V nftg, ïîëó÷àåì â ýòîì ÷àñòíîì ñëó÷àå èç ëåììû 4.1
Divf (s) = W (f ) = f (V nftg; ftg) f (ftg; V nftg) = = (f (V nftg; ftg) f (ftg; V nftg)) = Divf (f );
÷òî âûðàæàåò èíòóèòèâíî ïîíÿòíûé àêò: â ñòîê âõîäèò â òî÷íîñòè òàêîå êîëè÷åñòâî ïîòîêà, êàêîå âûõîäèò èç èñòî÷íèêà.  îáùåì âèäå ëåììà 4.1 ãîâîðèò, ÷òî îáùåå êîëè÷åñòâî ïîòîêà ìîæíî èçìåðèòü â ïðîèçâîëüíîì ðàçðåçå, îòäåëÿþùåì s îò t. Îïðåäåëèì ïðîïóñêíóþ ñïîñîáíîñòü ðàçðåçà P A ñëåäóþùèì îáðàçîì:
(A; V nA) =
X
e2P (A)
( )
(e):
Ïîä ìèíèìàëüíûì ðàçðåçîì, ðàçäåëÿþùèì s è t, ìû áóäåì ïîíèìàòü ïðîèçâîëüíûé ðàçðåç P A , s 2 A, t 2 V nA ñ ìèíèìàëüíîé ïðîïóñêíîé ñïîñîáíîñòüþ.
( )
Îäíèì èç óíäàìåíòàëüíûõ àêòîâ òåîðèè ïîòîêîâ â ñåòÿõ ÿâëÿåòñÿ êëàññè÷åñêàÿ òåîðåìà î ìàêñèìàëüíîì ïîòîêå è ìèíèìàëüíîì ðàçðåçå. Òåîðåìà 4.2 (Ôîðä è Ôàëêåðñîí [23℄). Âåëè÷èíà êàæäîãî ïîòîêà èç s â t íå ïðåâîñõîäèò ïðîïóñêíîé ñïîñîáíîñòè ìèíèìàëüíîãî ðàçðåçà, ðàçäåëÿþùåãî s è t, ïðè÷åì ñóùåñòâóåò ïîòîê, äîñòèãàþùèé ýòîãî çíà÷åíèÿ. Äîêàçàòåëüñòâî. Ïóñòü P A ìèíèìàëüíûé ðàçðåç.  ñèëó ëåììû 4.1 äëÿ ïðîèçâîëüíîãî ïîòîêà f èìååì
( )
W (f ) = f (P A; V nA) f (V nA; A) f (A; V nA) =
(e) = (A; V nA): = e2P A (
(4.5)
)
Ñóùåñòâîâàíèå ïîòîêà, äëÿ êîòîðîãî óêàçàííîå íåðàâåíñòâî ïåðåõîäèò â ðàâåíñòâî (òàêîé ïîòîê, î÷åâèäíî, ìàêñèìàëåí), áîëåå ãëóáîêèé àêò. Ìû ïîëó÷àåì åãî êàê ñëåäñòâèå àíàëèçà àëãîðèòìà, ïðåäñòàâëåííîãî â ñëåäóþùåì ðàçäåëå. Âñå èçâåñòíûå àëãîðèòìû ïîñòðîåíèÿ ìàêñèìàëüíîãî ïîòîêà îñíîâûâàþòñÿ íà ïîñëåäîâàòåëüíîì óâåëè÷åíèè ïîòîêà, ïðè÷åì ìîäèèêàöèÿ ïîòîêà, óâåëè÷èâàþùàÿ åãî âåëè÷èíó, ÷àùå âñåãî îïèðàåòñÿ íà ìåòîä óâåëè÷èâàþùèõ öåïåé. Áóäåì ãîâîðèòü, ÷òî äóãà îòíîñèòåëüíî ïîòîêà f , åñëè
èëè
e
ñåòè S ÿâëÿåòñÿ äîïóñòèìîé äóãîé èç
u
â
v
e = hu; vi è f (e) < (e)
(4.6)
e = hv; ui è f (e) > 0:
(4.7)
ëàâà 4. Ïîòîêè â ñåòÿõ è ðîäñòâåííûå çàäà÷è
132
 çàâèñèìîñòè îò òîãî, êàêîå èç ïðèâåäåííûõ óñëîâèé èìååò ìåñòî, ïåðâîå èëè âòîðîå, áóäåì ãîâîðèòü ñîîòâåòñòâåííî î ñîãëàñîâàííîé èëè íåñîãëàñîâàííîé äîïóñòèìîé äóãå èç u â v . Óâåëè÷èâàþùåé öåïüþ (äëèíû l) äëÿ äàííîãî ïîòîêà f èç s â t íàçûâàåòñÿ ïðîèçâîëüíàÿ çíàêîïåðåìåííàÿ ïîñëåäîâàòåëüíîñòü (ïîïàðíî ðàçëè÷íûõ) âåðøèí è äóã
v ; e ; v ; e ; v ; : : : ; v l ; el ; v l ; 0
=
=
1
1
2
2
(4.8)
1
òàêàÿ ÷òî v0 s, vl t, è äëÿ êàæäîãî i l äóãà ei äîïóñòèìà èç vi 1 â vi îòíîñèòåëüíî ïîòîêà f . Çíàíèå óâåëè÷èâàþùåé öåïè âèäà (4.8) ïîçâîëÿåò ëåãêî óâåëè÷èòü âåëè÷èíó ïîòîêà f íà
Æ = min f(ei ) : 1 i lg ; ãäå
ei :
(ei) =
(ei ) f (ei ); f (ei );
åñëè äóãà ei ñîãëàñîâàíà, åñëè äóãà ei íå ñîãëàñîâàíà.
Äëÿ ýòîãî äîñòàòî÷íî óâåëè÷èòü íà
Æ
ïîòîê ïî êàæäîé ñîãëàñîâàííîé äóãå
f 0(ei ) = f (ei ) + Æ;
à òàêæå óìåíüøèòü íà
Æ ïîòîê ïî êàæäîé íåñîãëàñîâàííîé äóãå ei : f 0(ei ) = f (ei ) Æ:
( )= ( )
Îïðåäåëåííàÿ òàêèì îáðàçîì óíêöèÿ f (ìû ïîëàãàåì f 0 e f e äëÿ äóã e, íå ïðèíàäëåæàùèõ öåïè (4.8)) ÿâëÿåòñÿ ïîòîêîì. Äåéñòâèòåëüíî, èçìåíåíèå âåëè÷èíû , îñíîâûâàåòñÿ íà åå óâåëè÷åíèè íà Æ , ñâÿçàííîì f vi , i l ñ èçìåíåíèåì ïîòîêà ïî ei+1 , è óìåíüøåíèè åå íà Æ , ñâÿçàííîì ñ èçìåíåíèåì ïîòîêà ïî ei ýòî íå çàâèñèò îò òèïà äóãè ei , ei+1 .  ñóììå ýòè èçìåíåíèÿ 0 vi êîìïåíñèðóþòñÿ è â ðåçóëüòàòå ( il ). Âûïîëf vi f 0 íÿåòñÿ òàêæå óñëîâèå f e e äëÿ êàæäîé äóãè e. Âåëè÷èíà æå ïîòîêà óâåëè÷èâàåòñÿ íà Æ :
Div ( ) 1
1
0
()
Div ( ) = Div ( ) = 0 1 ()
1
W (f 0 ) = Div0f (s) = Divf (s) + Æ = W (f ) + Æ:
Íà ðèñ. 4.1 ïîêàçàí ïðîöåññ óâåëè÷åíèÿ ïîòîêà âäîëü óâåëè÷èâàþùåéñÿ öåïè. Ïîòîê f e ïî êàæäîé äóãå e óêàçàí âîçëå ñîîòâåòñòâóþùèõ äóã, â ñêîáêàõ óêàçàíà ïðîïóñêíàÿ ñïîñîáíîñòü äóã e . Óâåëè÷èâàþùàÿ öåïü èìååò âèä
()
()
v ; hv ; v i; v ; hv ; v i; v ; hv ; v i; v ; hv ; v i; v ; hv ; v i; v ; hv ; v i; v ; 1
1
3
3
2
3
2
5
2
= (
5
5
6
)=1
6
7
6
÷òî äàåò óâåëè÷åíèå ïîòîêà íà Æ v 4 ; v5 ñ 10 äî 11. Òåîðåìà 4.3. Ñëåäóþùèå òðè óñëîâèÿ ýêâèâàëåíòíû:
7
7
8
8
4.1. Ìàêñèìàëüíûé ïîòîê â ñåòè
u
u
133
v 6(6)
JHJHHH 0(2) 0(2)
10(10) 4(4) J JYHHHv R
6
0(1) 4(9) v = t s=v 4(5)? 6(8)J℄ J 0(3)
6(9) J J ?
0(2) R - J 4(4) v v 10(10) v v v 6(6) á) JHJHHH
0(2) 0(2)
10(10) 4(4) J YHHHv R JJ℄
6
1(1) 3(9) v = t s=v 3(5)? 5(8)J 0(3)
? J
7(9) 1(2) R J
- J 10(10) 4(4) v
à)
2
1
u
u
u u
2
1
u u
u
u
v
3
8
7
5
u
v
u
4
u
3
6
6
u
4
u
v
8
u
7
5
èñ. 4.1: Óâåëè÷åíèå ïîòîêà âäîëü óâåëè÷èâàþùåé öåïè: à) ïåðåä ìîäèèêàöèåé, á) ïîñëå ìîäèèêàöèè.
(à) Ïîòîê èç
s â t ìàêñèìàëåí.
(á) Íå ñóùåñòâóåò óâåëè÷èâàþùåé öåïè äëÿ f . (â)
W (f ) = (A; V nA) äëÿ íåêîòîðîãî A V , òàêîãî ÷òî s 2 A, t 2= A.
Äîêàçàòåëüñòâî. (à) ) (á). Åñëè ïîòîê ìàêñèìàëåí, òî î÷åâèäíî, ÷òî äëÿ íåãî íå ñóùåñòâóåò óâåëè÷èâàþùåé öåïè, èáî ñóùåñòâîâàíèå òàêîé öåïè äåëàëî áû âîçìîæíûì óâåëè÷åíèå ïîòîêà. (á) ) (â) Ïðåäïîëîæèì, ÷òî äëÿ íåêîòîðîãî ïîòîêà f íå ñóùåñòâóåò óâåëè÷èâàþùåé öåïè. Îïðåäåëèì ìíîæåñòâî A V êàê ìíîæåñòâî âåðøèí v , äëÿ êîòîðûõ ñóùåñòâóåò öåïü
v ; e ; v ; e ; v ; : : : ; vk 0
0
=
1
1
2
2
1; ek; vk
=
1
òàêàÿ ÷òî k , v0 s, vk v è ei äóãà, äîïóñòèìàÿ èç vi 1 â vi , i k . Î÷åâèäíî, ÷òî s 2 A, a t 2 = A, ïîñêîëüêó ýòî îçíà÷àëî áû ñóùåñòâîâàíèå óâåëè÷èâàþùåé öåïè äëÿ f . àññìîòðèì ðàçðåç P A . Äëÿ êàæäîé äóãè e 2 P A
( )
( )
ëàâà 4. Ïîòîêè â ñåòÿõ è ðîäñòâåííûå çàäà÷è
134
( )= ( ) ( )= (
äîëæíî âûïîëíÿòüòüñÿ ðàâåíñòâî f e
e ñîãëàñíî îïðåäåëåíèþ ìíîæåñòâà A (ñì. óñëîâèå (4.6)), òàêèì îáðàçîì, f A; V nA A; V nA . Ïîëüçóÿñü îïðåäåëåíèåì ìíîæåñòâà A, àíàëîãè÷íûì îáðàçîì ïîëó÷àåì f V nA; A (ñì. óñëîâèå (4.7)).  ñèëó ëåììû 4.1 îòñþäà âûòåêàåò, ÷òî
) (
)=0
w(f ) = f (A; V nA) f (V nA; A) = (A; V nA): (â) ) (à) ñëåäóåò èç óæå äîêàçàííîãî àêòà, ÷òî âåëè÷èíà ïðîèçâîëüíîãî ïîòîêà íå ïðåâîñõîäèò A; V nA (ñì. (4.5)). Íåòðóäíî ïðîâåðèòü, ÷òî ïîòîê íà ðèñ. 4.1, á ìàêñèìàëüíûé. ¾Íàñûùåííûé¿ ðàçðåç P A , ïîÿâëÿþùèéñÿ â äîêàçàòåëüñòâå òåîðåìû 4.3, îáîçíà÷åí ÷åðåç A fv1 ; v2 ; v3 ; v5 g. Äëÿ òîãî ÷òîáû èç òåîðåìû 4.3 âûâåñòè òåîðåìó î ìàêñèìàëüíîì ïîòîêå è ìèíèìàëüíîì ðàçðåçå, íàì åùå íå õâàòàåò îäíîé, äîâîëüíî òîíêîé äåòàëè. (Ïðåæäå ÷åì ÷èòàòü äàëüøå, ïðåäëàãàåì ÷èòàòåëþ äîãàäàòüñÿ, êàêîé èìåííî.) Ýòèì íåäîñòàþùèì àêòîì ÿâëÿåòñÿ ïðîñòî ñóùåñòâîâàíèå ìàêñèìàëüíîãî ïîòîêà â ïðîèçâîëüíîé ñåòè. Äðóãèìè ñëîâàìè, íóæíî ïîêàçàòü, ÷òî íåâîçìîæíà ñèòóàöèÿ, â êîòîðîé, íàïðèìåð, äëÿ êàæäîãî " > ñóùåñòâóåò ïîòîê ñ âåëè÷èíîé, ïðåâîñõîäÿùåé ", íî íå ñóùåñòâóåò ïîòîêà ñ âåëè÷èíîé, ðàâíîé 7 (ñòîèò îòìåòèòü, ÷òî ïîäîáíîé ïðîáëåìû äëÿ ìèíèìàëüíîãî ðàçðåçà íå ñóùåñòâóåò ÷èñëî ðàçëè÷íûõ ðàçðåçîâ â îòëè÷èå îò ÷èñëà ðàçëè÷íûõ ïîòîêîâ ÿâëÿåòñÿ êîíå÷íûì). Ýòîò ïðîñòîé àêò, ÿâëÿþùèéñÿ â ñóùíîñòè ñëåäñòâèåì íåñòðîãîñòè íåðàâåíñòâà â óñëîâèè (4.2), ìîæíî äîêàçàòü ìíîãèìè ñïîñîáàìè. Ìû äîêàæåì åãî â ñëåäóþùåì ðàçäåëå ïóòåì àíàëèçà íåêîòîðîãî àëãîðèòìà ïîñòðîåíèÿ ìàêñèìàëüíîãî ïîòîêà.
(
=
)
( )
7
0
4.2 Àëãîðèòì ïîñòðîåíèÿ ìàêñèìàëüíîãî ïîòîêà àññóæäåíèÿ ïðåäûäóùåãî ðàçäåëà ïîäñêàçûâàþò èäåþ ñëåäóþùåãî ïðîñòîãî àëãîðèòìà ïîñòðîåíèÿ ìàêñèìàëüíîãî ïîòîêà. Íà÷èíàÿ ñ ïðîèçâîëüíîãî ïîòîêà (íàïðèìåð, f e äëÿ êàæäîé äóãè e 2 E ), ìû èùåì óâåëè÷èâàþùèå öåïè è óâåëè÷èâàåì âäîëü íèõ àêòè÷åñêèé ïîòîê. Îäíàêî çäåñü âîçíèêàþò äâà âîïðîñà. Âî-ïåðâûõ, çàêîí÷èòñÿ ëè ðàáîòà òàêîãî àëãîðèòìà ÷åðåç êîíå÷íîå ÷èñëî øàãîâ è, âî-âòîðûõ, áóäåò ëè ïîëó÷åííûé ïîòîê ìàêñèìàëüíûì. Îòâåò íà âòîðîé âîïðîñ â ïðåäïîëîæåíèè, ÷òî àëãîðèòì îñòàíîâèòñÿ ÷åðåç êîíå÷íîå ÷èñëî øàãîâ èç-çà íåâîçìîæíîñòè îòûñêàòü íîâûå óâåëè÷èâàþùèå öåïè, áóäåò óòâåðäèòåëüíûì, ÷òî íåïîñðåäñòâåííî ñëåäóåò èç òåîðåìû 4.3. Ñ äðóãîé ñòîðîíû, Ôîðä è Ôàëêåðñîí â ðàáîòå [23℄ äàëè â íåêîòîðîì ñìûñëå îòðèöàòåëüíûé îòâåò íà ïåðâûé âîïðîñ. À èìåííî, îíè ïðèâåëè ïðèìåð ñåòè, â êîòîðîé ìîæíî òàê ¾çëîóìûøëåííî¿ ïîäáèðàòü î÷åðåäíûå ðàññìàòðèâàåìûå óâåëè÷èâàþùèå öåöè, ÷òî ïðîöåññ íèêîãäà íå êîí÷èòñÿ; áîëåå
( )=0
4.2. Àëãîðèòì ïîñòðîåíèÿ ìàêñèìàëüíîãî ïîòîêà
135
òîãî, âåëè÷èíà ïîòîêà â òå÷åíèå âñåãî âðåìåíè áóäåò ìåíüøå îäíîé ÷åòâåðòè âåëè÷èíû ìàêñèìàëüíîãî ïîòîêà. Ýäìîíäñ è Êàðï (ñì. [17℄) ïîêàçàëè, ÷òî åñëè ìû óâåëè÷èâàåì àêòè÷åñêèé ïîòîê âñåãäà âäîëü êðàò÷àéøåé óâåëè÷èâàþùåé öåïè, òî ìàêñèìàëüíûé ïîòîê ñòðîèòñÿ ñ èñïîëüçîâàíèåì íå áîëåå mn= öåïåé (êàê îáû÷íî, n jV j) è m jE j). Îòûñêàíèå êðàò÷àéøåé öåïè ëåãêî ðåàëèçîâàòü ïðè ïîìîùè àëãîðèòìà, àíàëîãè÷íîãî ïîèñêó â øèðèíó (ñì. ðàçä. 2.3). Òî÷íåå ãîâîðÿ, íà÷èíàÿ îò èñòî÷íèêà s, ìû âåäåì ïîèñê â øèðèíó â ãðàå Gf , ñîñòîÿùåì èç äóã hu; v i, òàêèõ ÷òî â íàøåé ñåòè ñóùåñòâóåò äóãà, äîïóñòèìàÿ îò u äî v îòíîñèòåëüíîãî àêòè÷åñêîãî ïîòîêà f , âïëîòü äî ìîìåíòà äîñòèæåíèÿ ñòîêà t. Î÷åâèäíî, ÷òî íàéäåííûé â ðåçóëüòàòå ýòîãî ïðîöåññà êðàò÷àéøèé ïóòü èç s â t ñîîòâåòñòâóåò êðàò÷àéøåé óâåëè÷èâàþùåé öåïè èç s â t â èñõîäíîé ñåòè. Ïðèíèìàÿ âî âíèìàíèå, ÷òî ïðîöåññ ïîèñêà â øèðèíó ìû ìîæåì âûïîëíèòü çà âðåìÿ O m n , ìû ìîæåì îöåíèòü ñëîæíîñòü âñåãî àëãîðèòìà ïîñòðîåíèÿ ìàêñèìàëüíîãî ïîòîêà êàê O mn m n . Íå áóäåì çàíèìàòüñÿ çäåñü äåòàëÿìè ýòîãî àëãîðèòìà, òàê êàê íèæå â äàííîì ïàðàãðàå ìû ïðåäñòàâèì áîëåå ýåêòèâíûé ìåòîä, èìåþùèé ñëîæíîñòü O n2 . Ëþáîïûòíûé ìåòîä èñïîëüçîâàë äëÿ ïîñòðîåíèÿ ìàêñèìàëüíîãî ïîòîêà Äèíèö â ðàáîòå [13℄. Ýòîò ìåòîä îñíîâàí íà ïîñòðîåíèè íåêîòîðîé âñïîìîãàòåëüíîé áåñêîíòóðíîé ñåòè (ò.å. ñ ãðàîì, íå ñîäåðæàùèì êîíòóðîâ), ñòðóêòóðà êîòîðîé òî÷íî îòîáðàæàåò âñå êðàò÷àéøèå óâåëè÷èâàþùèå öåïè èç s â t îòíîñèòåëüíî àêòè÷åñêîãî ïîòîêà f . Îáîçíà÷èì òàêóþ ñåòü ÷åðåç Sf . Ìû ñòðîèì åå ïðè ïîìîùè ïîèñêà â øèðèíó â óæå óïîìÿíóòîì ãðàå Gf ñ äóãàìè, îïðåäåëÿåìûìè äîïóñòèìûìè îòíîñèòåëüíî àêòè÷åñêîãî ïîòîêà f äóãàìè â èñõîäíîé ñåòè. Ñåòü Sf ñîäåðæèò èñòî÷íèê s, ñòîê t è äóãè ãðàà Gf âèäà hv; ui, ãäå u íàõîäèòñÿ íà ðàññòîÿíèè d, a v íà ðàññòîÿíèè d îò s, d l, ãäå l åñòü äëèíà ñåòè Sf , ò.å. ðàññòîÿíèå îò s äî t â ãðàå Gf . Ïðîïóñêíóþ ñïîñîáíîñòü f u; v ìû îïðåäåëÿåì êàê u; v f u; v èëè êàê f v; u â çàâèñèìîñòè îò òîãî, ïðåäñòàâëÿåò ëè äóãà hu; v i ñîãëàñîâàííóþ äóãó èëè íåò (èëè ñóììó ýòèõ çíà÷åíèé), åñëè îäíîâðåìåííî ñóùåñòâóþò ñîãëàñîâàííàÿ è íåñîãëàñîâàííàÿ äóãè, äîïóñòèìûå îò u ê v .
2
=
=
( + )
( ( + ))
( )
+1
0
( )
( )
( )
( )
Íèæå ïðåäñòàâëåíà ïðîöåäóðà P SA, ñòðîÿùàÿ ñåòü Sf . Èñõîäíàÿ ñåòü S ïðåäñòàâëåíà ñïèñêàìè èíöèäåíòíîñòè ÇÀÏÈÑÜ v , ÏÅÄØ v , v 2 V , è ìàññèâîì ïðîïóñêíûõ ñïîñîáíîñòåé äóã C u; v , u; v 2 V , à àêòè÷åñêèé ïîòîê f îïðåäåëÿåòñÿ ìàññèâîì F u; v , u; v 2 V . Ïåðåìåííûå, îòíîñÿùèåñÿ ê ïîñòðîåííîé âñïîìîãàòåëüíîé ñåòè Sf , îòëè÷àþòñÿ îò ïåðåìåííûõ, îòíîñÿùèõñÿ ê èñõîäíîé ñåòè S , ïåðâîé áóêâîé X : èìååì ìíîæåñòâî âåðøèí XV , ñïèñêè èíöèäåíòíîñòè X ÇÀÏÈÑÜ v , X ÏÅÄØ v , x 2 XV , è ìàññèâû ïðîïóñêíûõ ñïîñîáíîñòåé XC è ïîòîêîâ XF . àññòîÿíèå äî âåðøèíû îò èñòî÷íèêà â ñåòè Sf çàïîìèíàåòñÿ â ìàññèâå ÄËÈÍÀ. Ñòðóêòóðà ïðîöåäóðû P SA ñëåäóþùàÿ: çà èíèöèàëèçàöèåé â ñòðîêàõ 37 ñëåäóåò ïîèñê â øèðèíó â ãðàå Gf , íà÷èíàÿ îò èñòî÷íèêà
[ ℄
[℄
[℄
[ ℄
[℄
[℄
ëàâà 4. Ïîòîêè â ñåòÿõ è ðîäñòâåííûå çàäà÷è
136
s (ñì. ãëàâíûé öèêë â ñòðîêå 10). Âåðøèíû v, ïîñëåäîâàòåëüíî ïîñåùàåìûå â ïðîöåññå ïîèñêà, ïîìåùàþòñÿ â î÷åðåäü (ñòðîêè 13 è 21), êàæäàÿ âåðøèíà u, âûáèðàåìàÿ èç î÷åðåäè (ñòðîêà 11), èñïîëüçóåòñÿ â äâóõ öèêëàõ (ñòðîêè 12 è 20). Ïåðâûé èç íèõ èùåò ñîãëàñîâàííûå äîïóñòèìûå äóãè hu; v i, âòîðîé íåñîãëàñîâàííûå äîïóñòèìûå äóãè hv; ui. Îòìåòèì, ÷òî ñåòü ìîæåò îäíîâðåìåííî ñîäåðæàòü ñîãëàñîâàííóþ äîïóñòèìóþ äóãó hu; v i è íåñîãëàñîâàííóþ äîïóñòèìóþ äóãó hv; ui. Äóãà hv; ui, âêëþ÷àåìàÿ â Sf , èìååò â òàêîì ñëó÷àå ïðîïóñêíóþ ñïîñîáíîñòü, ðàâíóþ ñóììå ïðîïóñêíûõ ñïîñîáíîñòåé, âíîñèìûõ ýòèìè äóãàìè (ñì. ñòðîêè 24 è 28). 1. pro edure P SA; (*ïîñòðîåíèå âñïîìîãàòåëüíîé áåñêîíòóðíîé ñåòè Sf ; ïåðåìåííûå V , XV , ÏÅÄØ, ÇÀÏÈÑÜ, X ÏÅÄØ, X ÇÀÏÈÑÜ, ÄËÈÍÀ, C , F , XC , XF , s, t ãëîáàëüíûå*) 2. begin 3. for u 2 V do (*èíèöèàëèçàöèÿ*) 4. begin ÄËÈÍÀ u 1; X ÏÅÄØ u ?; X ÇÀÏÈÑÜ u ?; 5. for v 2 V do XC u; v ; 6. for v 2 V do XF u; v ;(*èíèöèàëèçàöèÿ íóëåâîãî ïîòîêà*) 7. end; 8. Î×ÅÅÄÜ ?; XV ?; ÄËÈHA s ; (*ïîèñê â øèðèíó, íà÷èíàÿ îò èñòî÷íèêà s*) 9. Î×ÅÅÄÜ ( s; 10. while Î×ÅÅÄÜ 6 ? do 11. begin u ( Î×ÅÅÄÜ; XV XV [ fug; 12. for v 2 ÇÀÏÈÑÜ u do (*ïîèñê ñîãëàñîâàííûõ äóã*) 13. if (ÄËÈÍÀ u < ÄËÈÍÀ v ÄËÈÍÀ t ) and (F u; v < C u; v ) then 14. begin if ÄËÈÍÀ v 1 then Î×ÅÅÄÜ ( v ;(*v íîâàÿ*) 15. ÄËÈÍÀ v ÄËÈÍÀ u ; (*äîáàâèòü hu; v i ê ñåòè Sf *) 16. X ÇÀÏÈÑÜ u X ÇÀÏÈÑÜ u [ fvg; 17. X ÏÅÄØ v X ÏÅÄØ v [ fug; 18. XC u; v C u; v F u; v 19. end; 20. for v 2 ÏÅÄØ u do (*ïîèñê íåñîãëàñîâàííûõ äóã*) 21. if (ÄËÈÍÀ u < ÄËÈÍÀ v ÄËÈÍÀ t ) and (F v; u > ) then 22. begin if ÄËÈÍÀ y 1 then Î×ÅÅÄÜ ( v (*íîâûé*) 23. ÄËÈÍÀ v ÄËÈÍÀ u ; 24. if XC u; v then
:=
[ ℄ := [ ℄ := 0 [ ℄ := 0 :=
[ ℄ :=
[ ℄ :=
[ ℄ := 0
=
:= [℄ [℄ [ [ ℄ [ ℄ [ ℄= [ ℄ := [ ℄ := [ ℄ := [ ℄ := [ ℄ [℄ [℄ [ [ ℄ 0 [ ℄= [ ℄ := [ ℄=0
℄
[℄
[ ℄+1 [℄ [℄ [ ℄
℄
[ ℄+1
[℄
4.2. Àëãîðèòì ïîñòðîåíèÿ ìàêñèìàëüíîãî ïîòîêà 25. 26. 27. 28. 29. 30. 31.
137
(*äîáàâèòü hu; v i ê ñåòè Sf *) begin X ÇÀÏÈÑÜ u X ÇÀÏÈÑÜ u [ fvg; X ÏÅÄØ v X ÏÅÄØ v [ fug end;
[ ℄ := [ ℄ := XC [u; v℄ := XC [u; v℄ + F [v; u℄
[℄ [℄
end end end
[℄=
=
Ïóñòü ïî îêîí÷àíèè ðàáîòû ïðîöåäóðû ÄËÈÍÀ t l. Åñëè l 1, òî ýòî îçíà÷àåò, ÷òî ìû â íàøåì ïðîöåññå íå äîñòèãëè ñòîêà t, ò.å. â íàøåé ñåòè íå ñóùåñòâóåò óâåëè÷èâàþùåé öåïè îò s ê t.  ñèëó òåîðåìû 4.3 àêòè÷åñêèé ïîòîê â ñåòè S ìàêñèìàëüíûé. Åñëè l < 1, òî êðàò÷àéøàÿ óâåëè÷èâàþùàÿ öåïü èç s â t èìååò äëèíó l, áîëåå òîãî, ëåãêî îòìåòèòü, ÷òî ïóòè èç s â t âî âñïîìîãàòåëüíîé ñåòè âçàèìíî îäíîçíà÷íî ñîîòâåòñòâóþò óâåëè÷èâàþùèì öåïÿì äëèíû l â èñõîäíîé ñåòè (ñòðîãî ãîâîðÿ, íåêîòîðûå èç ýòèõ ¾óâåëè÷èâàþùèõ öåïåé¿ ìîãóò èñïîëüçîâàòü îäíîâðåìåííî ñîãëàñîâàííóþ è íåñîãëàñîâàííûå äóãè, äîïóñòèìûå îò u äî v ). Ñòîèò îòìåòèòü, ÷òî ïîñëå äîñòèæåíèÿ ñòîêà, êîãäà ÄËÈÍÀ t < 1, âíîâü âñòðå÷àåìûå âåðøèíû óæå íå ðàññìàòðèâàþòñÿ â ïðîöåäóðå P SA (ñì. óñëîâèÿ â ñòðîêàõ 13 è 21), òàê êàê íè îäíà òàêàÿ âåðøèíà, íàõîäÿñü íà ðàññòîÿíèè l îò s, íå ìîæåò áûòü âåðøèíîé öåïè äëèíû l èç s â t. Íåòðóäíî îöåíèòü ñëîæíîñòü ïðîöåäóðû P SA. Êàæäàÿ âåðøèíà u ïîìåùàåòñÿ â î÷åðåäü è óäàëÿåòñÿ èç íåå íå áîëåå îäíîãî ðàçà. Êàæäàÿ äóãà, èíöèäåíòíàÿ ñ v , àíàëèçèðóåòñÿ â òî÷íîñòè îäèí ðàç (â öèêëàõ 12 èëè 20), ïðè÷åì ÷èñëî øàãîâ äëÿ êàæäîé òàêîé äóãè îãðàíè÷åíî êîíñòàíòîé. Òàêèì îáðàçîì, îáùåå ÷èñëî øàãîâ áóäåò èìåòü ïîðÿäîê n m, ÷òî äîìèíèðóåòñÿ n2 øàãàìè èíèöèàëèçàöèè ìàññèâîâ XC è XF (ñòðîêè 5 è 6). Òàêèì îáðàçîì, âñïîìîãàòåëüíóþ áåñêîíòóðíóþ ñåòü ìîæíî ïîñòðîèòü çà âðåìÿ O n2 (ìîæíî áûëî áû èçáåæàòü äîðîãîñòîÿùåé èíèöèàëèçàöèè ìàññèâîâ XC è XF , îäíàêî ïðèìåíåíèå òàêîé ìîäèèöèðîâàííîé ïðîöåäóðû ñî ñëîæíîñòüþ O n m íå èçìåíèëî áû îöåíêè O n3 äëÿ âñåãî àëãîðèòìà ïîñòðîåíèÿ ìàêñèìàëüíîãî ïîòîêà). Èäåÿ Äèíèöà îñíîâûâàåòñÿ íà ðàçáèåíèè ïðîöåññà óâåëè÷åíèÿ ïîòîêà âäîëü óâåëè÷èâàþùèõ öåïåé íà àçû, ñîîòâåòñòâóþùèå èñïîëüçîâàíèþ êðàò÷àéøèõ öåïåé îïðåäåëåííîé äëèíû. Ôàçà íà÷èíàåòñÿ ñ ïîñòðîåíèÿ âñïîìîãàòåëüíîé áåñêîíòóðíîé ñåòè, çàòåì âî âñïîìîãàòåëüíîé ñåòè íàõîäèòñÿ òàê íàçûâàåìûé ïñåâäîìàêñèìàëüíûé ïîòîê. Ïñåâäîìàêñèìàëüíûì ïîòîêîì â ñåòè Sf äëèíû l ìû íàçûâàåì ïðîèçâîëüíûé ïîòîê f â Sf , òàêîé ÷òî â Sf íå ñóùåñòâóåò óâåëè÷èâàþùåé öåïè äëèíû l îòíîñèòåëüíî ïîòîêà f , äðóãèìè ñëîâàìè, äëÿ ïðîèçâîëüíîãî ïóòè èç s â t â Sf , îïðåäåëåííîãî ïîñëåäîâàòåëüíîñòüþ âåðøèí
[℄
+
( ) ( + )
( )
v ; v ; : : : ; vl 0
1
(v = s; vl = t); 0
138 (à)
ëàâà 4. Ïîòîêè â ñåòÿõ è ðîäñòâåííûå çàäà÷è
u
u u u u u u u u u u u uu uu u u u u u u v
(á)
v
HHH1(2) QQ1(1) 1(1) 1(1) 3 HHH 0-(1) v Qs QQ t = v > j H s = v H-HH 1(1) QQ v 2-(2) v 1(1) t = v s QQ s=v 0(2)Q ZZZZ 0(1) Ôàçà 1 R0(1)? ZZ}ZZZ 1(1) v ~ (â) 1(1) Sf1 2(2) ? v 0(2) v v 1(1)-ZZZZZ v - PP1(1) 1 1(1) 1(1) Pq PP t = v 1(1) s = v PP R 1 Ôàçà 2 q PP -1(1) P 0(2) v 0(2) v Sf2 (ã) Ôàçà 3 2(2) 2(2) 2(2) 2(2) 2(2) t=v S v v v v s=v 2
1
1
6
3
2
3
u
7
7
5
3
5
6
4
1
5
1
5
4
6
3
7
u
7
4
f3
èñ. 4.2: à) Ñåòü S è ìàêñèìàëüíûé ïîòîê â ýòîé ñåòè; á), â), ã) Âñïîìîãàòåëüíûå áåñêîíòóðíûå ñåòè, ñîîòâåòñòâóþùèå ïîñëåäîâàòåëüíûì àçàì àëãîðèòìà Äèíèöà ñ ïñåâäîìàêñèìàëüíûìè ïîòîêàìè â êàæäîé èç íèõ.
0
(
)= (
)
ñóùåñòâóåò äóãà hvi ; vi+1 i, i < l, òàêàÿ ÷òî f vi ; vi+1
f vi ; vi+1 . Ïñåâäîìàêñèìàëüíûé ïîòîê çàòåì ¾ïåðåíîñèòñÿ¿ èç âñïîìîãàòåëüíîé ñåòè â ïåðâîíà÷àëüíóþ ñåòü: ïîòîê f u; v ñêëàäûâàåòñÿ ñ f u; v , à åñëè ýòî âûçûâàåò ïåðåïîëíåíèå äóãè, ò.å. ïðåâûøåíèå ïîòîêà íàä ïðîïóñêíîé ñïîñîáíîñòüþ äóãè
u; v , òî ýòîò ¾èçáûòîê¿ ëèêâèäèðóåòñÿ ñîîòâåòñòâóþùèì óìåíüøåíèåì ïîòîêà f v; u (òàêèì îáðàçîì, ðåçóëüòàòîì íàøåé ìîäèèêàöèè âñåãäà ÿâëÿåòñÿ óâåëè÷åíèå f u íà f u; v è óìåíüøåíèå f v íà f u; v ). Íåòðóäíî ïðîâåðèòü, ÷òî òàêàÿ ìîäèèêàöèÿ ïîòîêà, ïðîâåäåííàÿ äëÿ âñåõ äóã hu; v i âñïîìîãàòåëüíîé ñåòè, îïðåäåëÿåò íåêîòîðûé íîâûé ïîòîê f 0 , òàêîé ÷òî W f 0 W f W f . Ôàçó ñ÷èòàåì çàêîí÷åííîé. Ìåòîä Äèíèöà îñíîâûâàåòñÿ íà âûïîëíåíèè ïîñëåäîâàòåëüíûõ àç, íà÷èíàÿ ñ íóëåâîãî ïîòîêà, âïëîòü äî ìîìåíòà, ïîêà ïîòîê â íàøåé ñåòè íå ñòàíåò ìàêñèìàëüíûì. Ýòî ïîêàçàíî íà ðèñ. 4.2 (êàê îáû÷íî, ïðè êàæäîé äóãå óêàçàíû ïîòîê ïî ýòîé äóãå è â ñêîáêàõ åå ïðîïóñêíàÿ ñïîñîáíîñòü). Íà÷èíàÿ ñ íóëåâîãî ïîòîêà f0 â ñåòè S , ìû ïîëó÷àåì âñïîìîãàòåëüíóþ áåñêîíòóðíóþ ñåòü Sf (ðèñ. 4.2, á). Ìû íàõîäèì â íåé ïñåâäîìàêñèìàëüíûé ïîòîê (ìåòîä ýåêòèâíîãî ïîñòðîåíèÿ òàêîãî ïîòîêà áóäåò ðàçîáðàí äàëåå) è ïåðåíîñèì åãî â ñåòü S , ïîëó÷àÿ ïîòîê f1 . Çàòåì ìû ñòðîèì ñåòü Sf1 (ðèñ. 4.2, â) è íàéäåííûé â íåé ïñåâäîìàêñèìàëüíûé ïîòîê ïåðåíîñèì â ñåòü S , ÷òî äàåò ïîòîê f2 .  ïîñëåäíåé àçå ìû ñòðîèì
( )
( )
( )
Div ( )
( )+ ( )
( )
( )
Div ( )
( )
( )=
4.2. Àëãîðèòì ïîñòðîåíèÿ ìàêñèìàëüíîãî ïîòîêà
139
ñåòü Sf2 (ðèñ. 4.2, ã). Ïîñëå ïåðåíåñåíèÿ ïñåâäîìàêñèìàëüíîãî ïîòîêà èç Sf2 â S ïîëó÷àåì â S ïîòîê f (ïîêàçàííûé íà ðèñ. 4.2, à), êîòîðûé ÿâëÿåòñÿ ìàêñèìàëüíûì, èáî W f
fsg; V nfsg) (ñì. òåîðåìó 4.3). èñ. 4.2, â õîðîøî èëëþñòðèðóåò òîò àêò, ÷òî ïñåâäîìàêñèìàëüíûé ïîòîê íå äîëæåí áûòü ìàêñèìàëüíûì. Äåéñòâèòåëüíî, ïñåâäîìàêñèìàëüíûé ïîòîê, ïîêàçàííûé íà ýòîì ðèñóíêå, ìû ìîæåì óâåëè÷èòü âäîëü ñëåäóþùåé óâåëè÷èâàþùåé öåïè äëèíû 5:
( )=4= (
v ; hv ; v i; v ; hv ; v i; v ; hv ; v i; v ; hv ; v i; v ; hv ; v i; v 1
1
5
5
5
4
4
3
4
3
3
6
6
6
7
7
Îòìåòèì åùå, ÷òî äóãà hv4 ; v3 i ñåòè Sf2 (ðèñ. 4.2, ã) âîçíèêëà èç äâóõ ïðîòèâîïîëîæíî íàïðàâëåííûõ äóã ñåòè S . Ìåòîä Äèíèöà ýåêòèâåí â îñíîâíîì èç-çà òîãî, ÷òî íåçàâèñèìî îò ïðîïóñêíîé ñïîñîáíîñòè äóã ÷èñëî àç íå ïðåâûøàåò n. Äëÿ äîêàçàòåëüñòâà ýòîãî àêòà îáîçíà÷èì ÷åðåç Sk âñïîìîãàòåëüíóþ áåñêîíòóðíóþ ñåòü, ïîñòðîåííóþ â k-é àçå, à ÷åðåç lk äëèíó ýòîé ñåòè. (Âíèìàíèå: ïîñëåäíèé âûçîâ ïðîöåäóðû P SA, â êîòîðîì íå äîñòèãàåòñÿ ñòîê, çà àçó íå ñ÷èòàåòñÿ.) Ëåììà 4.4. Åñëè ÷èñëî àç ïðåâûøàåò k , òî lk < lk+1 Äîêàçàòåëüñòâî. Îáîçíà÷èì ÷åðåç dk v ðàññòîÿíèå â Sk îò s äî u. Íóæíî äîêàçàòü, ÷òî dk+1 t > dk t . àññìîòðèì â Sk+1 ïðîèçâîëüíûé ïóòü v0 ; v1 ; : : : ; vlk+1 èç s v0 â t vlk+1 . Ïðåäïîëîæèì, ÷òî äëÿ íåêîòîðîãî p lk+1 âñå âåðøèíû vi , i p, ïðèíàäëåæàò ñåòè Sk . Ïîêàæåì ñíà÷àëà, ÷òî òîãäà
=
=
()
()
()
0
dk (vi
) dk (vi ) + 1; 0 i p: (4.9) Äîïóñòèì, ÷òî ýòî íå òàê, ò.å. ÷òî dk (vi ) > d(vi )+1 äëÿ íåêîòîðîãî i. Ñîãëàñíî +1
+1
ïðàâèëàì ïîñòðîåíèÿ ñåòè Sk ýòî îçíà÷àåò, ÷òî Sk íå ñîäåðæèò äóã hvi ; vi+1 i (è, î÷åâèäíî, íå ñîäåðæèò òàêæå äóã hvi+1 ; vi i. Òàêèì îáðàçîì, âî âðåìÿ k -é àçû â S íå ìîäèèöèðóåòñÿ íè ïîòîê èç vi â vi+1 , íè èç vi+1 â vi . Îäíàêî ýòî ïðîòèâîðå÷èò ñóùåñòâîâàíèþ â íà÷àëå k -é àçû äóãè â S , äîïóñòèìîé îò vi äî vi+1 , êîòîðîé íå áûëî â íà÷àëå k-é àçû. Ýòî ïðîòèâîðå÷èå äîêàçûâàåò íåðàâåíñòâà (4.9). Èç ýòèõ íåðàâåíñòâ, ó÷èòûâàÿ, ÷òî dk v0 , èíäóêöèåé ïî i âûâîäèì, ÷òî dk vi i dk+1 vi ; ip (4.10)
( + 1)
( )=0
( )
=
( ) 0
Åñëè âñå âåðøèíû ïóòè v0 ; v1 ; : : : ; vlk+1 ïðèíàäëåæàò ñåòè Sk , òî îòñþäà ñëåäóåò íåðàâåíñòâî dk t dk+1 t . àâåíñòâî dk t dk+1 t áûëî áû âîçìîæíî, òîëüêî êîãäà dk vi dk+1 vi , i lk+1 , íî ëåãêî çàìåòèòü, ÷òî ïîâòîðåíèå ïóòè â Sk è Sk+1 ïðîòèâîðå÷èëî áû ïñåâäîìàêñèìàëüíîñòè ïîòîêà, íàéäåííîãî â Sk . Ñëåäîâàòåëüíî, äîëæíî áûòü dk+1 t > dk t . àññìîòðèì òåïåðü ñëó÷àé, êîãäà ñóùåñòâóåò âåðøèíà ïóòè v0 ; v1 ; : : : ; vlk+1 , íå ïðèíàäëåæàùàÿ Sk . Ïóñòü vp+1 ïåðâàÿ òàêàÿ âåðøèíà (î÷åâèäíî, ÷òî
() ( )=
() ( )0
( )=
()
()
()
1
ëàâà 4. Ïîòîêè â ñåòÿõ è ðîäñòâåííûå çàäà÷è
140
p+1 lk
1
). àññóæäàÿ àíàëîãè÷íî ïðåäûäóùåìó, ìû ìîæåì ñäåëàòü âûâîä, +1 ÷òî ïîÿâëåíèå â Sk+1 äóãè hvp ; vp+1 i, êîòîðîé íå áûëî â Sk , ìîæåò áûòü âûçâàíî òîëüêî òåì, ÷òî dk vp dk t , è äî âåðøèíû vp+1 ìû äîõîäèì óæå ïîñëå äîñòèæåíèÿ ñòîêà t (òàê ÷òî îíà íå âêëþ÷àåòñÿ â Sk ). Ó÷èòûâàÿ (4.10) è òîò àêò, ÷òî âåðøèíû v0 ; v1 ; : : : ; vp 1 ïðèíàäëåæàò ñåòè Sk , ïîëó÷àåì
( )= () 1
lk = dk (t) = dk (vp ) + 1 < dk
(vp ) + 1 = p + 1 lk : Ïðèíèìàÿ âî âíèìàíèå òî, ÷òî l 1 è lk n 1 äëÿ ïðîèçâîëüíîãî k , ïîëó÷àåì ×èñëî àç â ìåòîäå Äèíèöà íå ïðåâûøàåò n 1. +1
+1
1
Ñëåäñòâèå 4.5.
Íàì îñòàëîñü òîëüêî ðàññìîòðåòü ýåêòèâíûé àëãîðèòì ïîñòðîåíèÿ ïñåâäîìàêñèìàëüíîãî ïîòîêà âî âñïîìîãàòåëüíîé áåñêîíòóðíîé ñåòè. Àâòîðàìè ìåòîäà, êîòîðûé ìû îïèøåì, ÿâëÿþòñÿ Ìàëõîòðè, Êóìàðà è Ìàõåøâàðè [48℄, ìåòîä ðåàëèçóåòñÿ â ïðîöåäóðå MAXP SA, îïèñàííîé íèæå. ×òîáû îïèñàòü ýòó ïðîöåäóðó, ââåäåì ïîíÿòèå ïîòåíöèàëà âåðøèíû ñåòè, ò.å. ìàêñèìàëüíîãî êîëè÷åñòâà ïîòîêà, êîòîðûé ìîæíî ¾ïðîïóñòèòü¿ ÷åðåç ýòó âåðøèíó. Îí îïðåäåëÿåòñÿ êàê ìèíèìóì äâóõ âåëè÷èí: ìàêñèìàëüíîãî âîçìîæíîãî ïîòîêà â âåðøèíó v (âõîäíîé ïîòåíöèàë) è ìàêñèìàëüíîãî âîçìîæíîãî ïîòîêà èç âåðøèíû v (âûõîäíîé ïîòåíöèàë). Òî÷íåå, ïîòåíöèàë âåðøèíû v ïðîèçâîëüíîé ñåòè S hG; i ñ èñòî÷íèêîì s è ñòîêîì t ðàâåí
=
(v) = min fÏÂÕ(v); ÏÂÛÕ(v)g ;
Ï ãäå
(v) =
(
ÏÂÕ è
(v) =
ÏÂÛÕ
P
(u; v); 1;
u:u!v (
P
(u; v); 1;
u:v!u
v 6= s; åñëè v = s:
åñëè
v 6= t; åñëè v = t:
åñëè
Ïðîöåäóðà MAXP SA ñíà÷àëà âû÷èñëÿåò ïîòåíöèàëû âñåõ âåðøèí âî âñïîìîãàòåëüíîé áåñêîíòóðíîé ñåòè (ñòðîêè 312), ïîìåùàÿ âåðøèíû ñ íóëåâûì ïîòåíöèàëîì â ñòåê ÑÒÅÊ. Î÷åâèäíî, ÷òî âåðøèíó ñ íóëåâûì ïîòåíöèàëîì ìîæíî óäàëèòü èç ñåòè âìåñòå ñî âñåìè èíöèäåíòíûìè åé äóãàìè, íå îêàçûâàÿ âëèÿíèÿ íà êàêîé-ëèáî ïîòîê â ýòîé ñåòè. Óäàëåíèå òàêîé âåðøèíû, à òî÷íåå, èíöèäåíòíûõ åé äóã, ìîæåò âûçâàòü îáðàùåíèå â íóëü ïîòåíöèàëîâ íåêîòîðûõ ñîñåäíèõ âåðøèí, óäàëåíèå êîòîðûõ îáðàùàåò â íóëü ïîòåíöèàëû äðóãèõ âåðøèí è ò.ä. Ýòîò ïðîöåññ ðåàëèçóåòñÿ â öèêëå 17. Ïîñëå âûõîäà èç ýòîãî öèêëà (êîãäà ÑÒÅÊ ?) ìíîæåñòâî XN ñîäåðæèò âåðøèíû âñïîìîãàòåëüíîé áåñêîíòóðíîé ñåòè ñ íåíóëåâûì ïîòåíöèàëîì (âû÷èñëÿåìûì â ñåòè, ìîäèèöèðîâàííîé ïîñëåäîâàòåëüíûì óäàëåíèåì âåðøèí ñ íóëåâûì ïîòåíöèàëîì). Åñëè XN 6 ?, òî
=
=
4.2. Àëãîðèòì ïîñòðîåíèÿ ìàêñèìàëüíîãî ïîòîêà
141
íàñòóïàåò âàæíûé ìîìåíò: â XN èùåòñÿ âåðøèíà r ñ ìèíèìàëüíûì ïîòåíöèàëîì p Ï r (ñòðîêè 3841). Çàòåì ìû íàõîäèì â íàøåé áåñêîíòóðíîé ñåòè ïîòîê èç r â t âåëè÷èíû p (ñòðîêè 4265) è ïîòîê èç s â r âåëè÷èíû p (ñòðîêè 6691); â ñóììå ýòî äàåò ïîòîê èç s â t âåëè÷èíû p. Îïèøåì ïåðâóþ ÷àñòü ïîòîê èç r â t; âòîðàÿ ÷àñòü ïîëíîñòüþ àíàëîãè÷íà. Íàø ïîòîê áóäåò èñïîëüçîâàòü òîëüêî ñîãëàñîâàííûå âî âñïîìîãàòåëüíîé áåñêîíòóðíîé ñåòè äîïóñòèìûå äóãè, à ìåòîä ýòîãî âû÷èñëåíèÿ èíòóèòèâíî ëó÷øå âñåãî îáúÿñíèòü ñëåäóþùèì îáðàçîì. Ïðåäñòàâèì ñåáå, ÷òî â âåðøèíå r ìû ïîìåñòèëè ¾ãðóç¿ âåëè÷èíû Qr p è õîòèì ýòîò ãðóç ¾ïðîòîëêíóòü¿ äî ñòîêà t òàê, ÷òîáû êîëè÷åñòâî ãðóçà, ïåðåìåùàåìîå ïî ëþáîé äóãå, íå ïðåâûøàëî åå ïðîïóñêíîé ñïîñîáíîñòè. Äëÿ ýòîãî ìû âåäåì â íàøåé ñåòè ïîèñê â øèðèíó, íà÷èíàÿ ñ âåðøèíû r. Êàê îáû÷íî ïðè ïîèñêå â øèðèíó äîñòèãíóòûå, íî åùå íå èñïîëüçîâàííûå âåðøèíû çàïîìèíàþòñÿ â î÷åðåäè. Êàæäàÿ âåðøèíà u, âûáèðàåìàÿ èç î÷åðåäè (ñòðîêà 43) è íå ÿâëÿþùàÿñÿ ñòîêîì, ¾ðàçãðóæàåòñÿ¿ (ñòðîêè 4964). Ýòî çàêëþ÷àåòñÿ â ïåðåíåñåíèè ãðóçà Q v â âåðøèíû u, ê êîòîðûì âåäóò äóãè èç v . Ýòîò ãðóç ïåðåíîñèòñÿ â íåñêîëüêî ïåðâûõ âåðøèí â ñïèñêå X ÇÀÏÈÑÜ v , ïðè÷åì ãðóç, ïåðåíåñåííûé â êàæäóþ òàêóþ âåðøèíó, çà èñêëþ÷åíèåì, ìîæåò áûòü, ïîñëåäíåé, ðàâåí ïðîïóñêíîé ñïîñîáíîñòè XC v; u . Òàêèì æå ñïîñîáîì íà âñåõ èñïîëüçîâàííûõ äóãàõ hv; ui, çà èñêëþ÷åíèåì, ìîæåò áûòü, ïîñëåäíåé, óñòàíàâëèâàåòñÿ ïîòîê XF v; u XC u; v , è ýòè ¾íàñûùåííûå¿ äóãè ìû ìîæåì óñòðàíèòü èç ñåòè (ñòðîêè 5760; âñïîìíèì, ÷òî ìû èùåì ïñåâäîìàêñèìàëüíûé ïîòîê, ñëåäîâàòåëüíî, ìîæíî îãðàíè÷èòüñÿ ñîãëàñîâàííûìè äîïóñòèìûìè äóãàìè âñïîìîãàòåëüíîé áåñêîíòóðíîé ñåòè). Óñòðàíåíèå äóã ñîïðîâîæäàåòñÿ ñîîòâåòñòâóþùèì óìåíüøåíèåì ïîòåíöèàëîâ (ñòðîêè 4446). Âåðøèíû ñåòè ïîñåùàþòñÿ ñîãëàñíî ñõåìå ïîèñêà â øèðèíó, à ñëåäîâàòåëüíî, åñëè d ÄËÈÍÀ r , âåñü ãðóç èç âåðøèíû r ïåðåíîñèòñÿ â âåðøèíû, íàõîäÿùèåñÿ íà ðàññòîÿíèè d îò s, è äàëåå â âåðøèíû, íàõîäÿùèåñÿ íà ðàññòîÿíèè d îò s è ò.ä., ïîêà âåñü ãðóç íå äîñòèãíåò ñòîêà t. Îòìåòèì, ÷òî ãðóç, äîñòèãàþùèé êàæäîé âåðøèíû u, íå ïðåâûøàåò p, è ýòó âåðøèíó ìû ìîæåì ðàçãðóçèòü (åñëè v 6 t), òàê êàê p, áóäó÷è ðàâíûì ìèíèìàëüíîìó ïîòåíöèàëó, íåñîìíåííî íå ïðåâûøàåò âûõîäíîãî ïîòåíöèàëà âåðøèíû v . Ïîñëå ïîñòðîåíèÿ àíàëîãè÷íûì ñïîñîáîì ïîòîêà âåëè÷èíû p èç s â r çàêîí÷åíà ïåðâàÿ èòåðàöèÿ ãëàâíîãî öèêëà (ñòðîêà 15), ñîñòîÿùàÿ â óäàëåíèè âåðøèí ñ íóëåâûì ïîòåíöèàëîì è â óâåëè÷åíèè ïîòîêà íà âåëè÷èíó ìèíèìàëüíîãî â äàííûé ìîìåíò ïîòåíöèàëà. Äàëüíåéøèå èòåðàöèè ñëåäóþò âïëîòü äî ìîìåíòà, êîãäà óæå íåò âåðøèí ñ íåíóëåâûì ïîòåíöèàëîì (ò.å. XN ?). Î÷åâèäíî, ÷òî íàéäåííûé òîãäà â íàøåé ñåòè ïîòîê ÿâëÿåòñÿ ïñåâäîìàêñèìàëüíûì.
= ()
[℄=
[℄
[℄
[ ℄
[ ℄=
[ ℄
=
[℄
+2
=
=
+1
ëàâà 4. Ïîòîêè â ñåòÿõ è ðîäñòâåííûå çàäà÷è
142
1. pro edure MAXP SA; (*ïîñòðîåíèå ïñåâäîìàêñèìàëüíîãî ïîòîêà âî âñïîìîãàòåëüíîé áåñêîíòóðíîé ñåòè ìåòîäîì Ìàëõîòðè, Êóìàðà è Ìàõåøâàðè; ïåðåìåííûå XV , XC , XF , X ÏÅÄØ, X ÇÀÏÈÑÜ, s, r ãëîáàëüíûå *) 2. begin 3. ÑÒÅÊ ?; (*ÑÒÅÊ áóäåò ñîäåðæàòü âåðøèíû ñ íóëåâûì ïîòåíöèàëîì*) 4. for v 2 XV do (*îïðåäåëåíèå ïîòåíöèàëà âåðøèíû v *) 5. begin ÏBX v ; ÏÂÛÕ v ; 6. if v s then ÏÂÕ u 1 7. else for u 2 ÕÏÅÄØ v do ÏÂÕ v ÏÂÕ v XC u; v ; 8. if v t then ÏÂÛÕ v 1 9. else for u 2 ÕÇÀÏÈÑÜ v do ÏÂÛÕ u ÏÂÛÕ v XC v; u ; 10. Ïv ÏÂÕ v ; ÏÂÛÕ v ; 11. if Ï v then CT EK ( v 12. end; 13. for v 2 XV do Q v ; (*èíèöèàëèçàöèÿ ãðóçîâ â âåðøèíàõ*) 14. XN XV ; (*XN áóäåò ñîäåðæàòü âåðøèíû ñ íåíóëåâûì ïîòåíöèàëîì*) 15. while XN 6 ? do (* ãëàâíûé öèêë *) 16. begin (* óäàëåíèå âåðøèí ñ íóëåâûì ïîòåíöèàëîì*) 17. while ÑÒÅÊ 6 ? do 18. begin v ( ÑÒÅÊ; XN XN nfvg; (*óäàëåíèå äóã, âõîäÿùèõ â v *) 19. for u 2 ÕÏÅÄØ v do (*óäàëåíèå äóãè hu; v i*) 20. begin ÏÂÛÕ u ÏÂÛÕ u XC u; v XF u; v ; 21. X ÇÀÏÈÑÜ u X ÇÀÏÈÑÜ u nfvg; X ÏÅÄØ v X ÏÅÄØ v nfug; 22. if Ï u 6 then (*ìîäèèêàöèÿ Ï u *) 23. begin Ï u ÏÂÕ u ; ÏÂÛÕ u ; 24. if Ï u then ÑÒÅÊ ( u 25. end 26. end (*óäàëåíèå äóã, èñõîäÿùèõ èç v *) 27. for u 2 ÕÇÀÏÈÑÜ v do (*óäàëåíèå äóãè hv; ui*) 28. begin ÏÂÕ u ÏÂÕ u XC v; u XF v; u ; 29. X ÏÅÄØ u X ÏÅÄØ u nfvg; X ÇÀÏÈÑÜ v X ÇÀÏÈÑÜ v nfug;
:=
=
[ ℄ := 0
=
:=
[ ℄ := 0 [ ℄ := [℄ [ ℄ := [ ℄+ [ ℄ [ ℄ := [℄ [ ℄ := [ ℄+ [ ℄ [℄ [ ℄)
[ ℄ := min( [ ℄=0 [ ℄ := 0 =
=
:=
[℄ [ ℄ := [℄ ( [ ℄ [ ℄ := [℄ [ ℄ := [℄ [ ℄=0 [℄ [ ℄ := min( [ ℄ [ ℄) [ ℄=0 [℄ [ ℄ := [℄ ( [ ℄ [ ℄ := [℄ [ ℄ := [℄
[ ℄)
[ ℄)
4.2. Àëãîðèòì ïîñòðîåíèÿ ìàêñèìàëüíîãî ïîòîêà 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61.
if
[ ℄ 6= 0
Ïu
begin
143
(*ìîäèèêàöèÿ Ï[u℄*) [ ℄ := min(ÏÂÕ[u℄; ÏÂÛÕ[u℄); [ ℄=0 ÑÒÅÊ ( u then
Ïu if Ï u
then
end end end;
(*XN ÿâëÿåòñÿ ìíîæåñòâîì âåðøèí ñ íåíóëåâûì ïîòåíöèàëîì*) if XN 6 ? then (*ïîòîê åùå íå ÿâëÿåòñÿ ìàêñèìàëüíûì*)
=
begin
(*íàõîæäåíèå âåðøèíû r ñ ìèíèìàëüíûì ïîòåíöèàëîì*) p := 1; for v 2 V N do if Ï[v ℄ < p then begin r := v ; p := Ï[r ℄ end; (*ïîñòðîåíèå ïîòîêà âåëè÷èíû p èç r â t*) Î×ÅÅÄÜ ?; Î×ÅÅÄÜ ( r; Q r p; repeat v ( Î×ÅÅÄÜ; ÏÂÕ v ÏÂÕ v Qv; ÏÂÛÕ v ÏÂÛÕ v Qv; Ïv Ïv Qv; if Ï v then CT EK ( v ; if
:= [ ℄ := [℄ [℄ [ ℄ := [℄ [℄ [ ℄ := [ ℄ [ ℄ [ ℄=0 v=t Q[v℄ := p
[ ℄ :=
then
else
(*ðàçãðóçêà âåðøèíû v *) u:=ïåðâàÿ âåðøèíà â ñïèñêå X ÇÀÏÈÑÜ[v℄; while Q[v ℄ > 0 do begin if Q[u℄ = 0 then Î×ÅÅÄÜ ( u; delta := min(Q[v℄; XC [v; u℄ XF [v; u℄); XF [u; v℄ := XF [u; v℄ + delta; Q[v℄ := Q[v℄ delta; Q[u℄ := Q[u℄ + delta; if XF [v; u℄ = XC [v; u℄ then (*óäàëåíèå hv; ui*) begin X ÇÀÏÈÑÜ[v ℄ := X ÇÀÏÈÑÜ[v ℄nfug; X ÏÅÄØ[u℄ := X ÏÅÄØ[u℄nfvg
begin
end;
ëàâà 4. Ïîòîêè â ñåòÿõ è ðîäñòâåííûå çàäà÷è
144 62. 63.
if
64. 65. 66.
end
(*êîíåö ðàçãðóçêè âåðøèíû v *) until v t; (*ïîòîê èç r â t íàéäåí*) (*ïîñòðîåíèå ïîòîêà âåëè÷èíû p èç s â r*) Î×ÅÅÄÜ ?; Î×ÅÅÄÜ ( r; Q r p; repeat v ( Î×ÅÅÄÜ; if v 6 r then (*Ï u åùå íå óìåíüøåí*) begin ÏÂÕ v ÏÂÕ v Qv; ÏÂÛÕ v ÏÂÛÕ v Qv; Ïv Ïv Qv; if Ï v then CT EK ( v end; end
=
:=
67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96.
Q[v℄ > 0 then u:=ñëåäóþùàÿ ïîñëå u âåðøèíà ñïèñêà X ÇÀÏÈÑÜ[v ℄
=
if
[ ℄ :=
[℄ [ ℄ := [℄ [℄ [ ℄ := [℄ [℄ [ ℄ := [ ℄ [ ℄ [ ℄=0 Q[v℄ := 0
v = s then
else
(*ðàçãðóçêà âåðøèíû v *) u:=ïåðâàÿ âåðøèíà â ñïèñêå X ÏÅÄØ[v℄; while Q[v ℄ > 0 do begin if Q[u℄ = 0 then Î×ÅÅÄÜ ( u; delta := min(Q[v℄; XC [u; v℄ XF [u; v℄); XF [u; v℄ := XF [u; v℄ + delta; Q[v℄ := Q[v℄ delta; Q[u℄ := Q[u℄ + delta; if XF [u; v ℄ = XC [u; v ℄ then (* óäàëåíèå hu; v i*) begin X ÇÀÏÈÑÜ[u℄ := X ÇÀÏÈÑÜ[u℄nfv g; X ÏÅÄØ[v℄ := X ÏÅÄØ[v℄nfug
begin
end;
if
Q[v℄ > 0 then u:=ñëåäóþùàÿ ïîñëå u âåðøèíà â ñïèñêå X ÏÅÄØ[v ℄
end
(*êîíåö ðàçãðóçêè âåðøèíû v *) until v s (*íàéäåí ïîòîê èç s â r*) end (*êîíåö óâåëè÷åíèÿ ïîòîêà âäîëü åäèíè÷íîé âåðøèíû*) end (*êîíåö ãëàâíîãî öèêëà*) (*êîíåö ïðîöåäóðû MAXP SA*) end
=
end
Îöåíèì òåïåðü ÷èñëî øàãîâ, âûïîëíÿåìûõ ïðîöåäóðîé MAXP SA. Îïðåäåëåíèå ïîòåíöèàëîâ (ñòðîêè 312) òðåáóåò O n m øàãîâ, ïîñêîëüêó êàæäàÿ äó-
( + )
4.2. Àëãîðèòì ïîñòðîåíèÿ ìàêñèìàëüíîãî ïîòîêà
145
[℄
[℄
ãà hu; v i àíàëèçèðóåòñÿ íå áîëåå äâóõ ðàç: ïðè âû÷èñëåíèè ÏÂÛÕ u è ÏBX v . Îáùåå ÷èñëî øàãîâ âî âñåõ èòåðàöèÿõ ãëàâíîãî öèêëà, âûïîëíÿåìûõ ðàãìåíòîì ïðîöåäóðû, óäàëÿþùèì âåðøèíû ñ ïóëåâûì ïîòåíöèàëîì (ñòðîêè 1735), òàêæå ïîðÿäêà O n m , òàê êàê êàæäàÿ âåðøèíà çàíîñèòñÿ â ÑÒÅÊ â òî÷íîñòè îäèí ðàç, à ïðè óäàëåíèè ýòîé âåðøèíû èç ñòåêà óäàëÿþòñÿ âñå èíöèäåíòíûå åé äóãè (öèêëû 19 è 27), òàê ÷òî êàæäàÿ äóãà óäàëÿåòñÿ íå áîëåå îäíîãî ðàçà. Êàæäàÿ èòåðàöèÿ ãëàâíîãî öèêëà âûçûâàåò îáðàùåíèå â íóëü ïîòåíöèàëà õîòÿ áû îäíîé âåðøèíû, à èìåííî âåðøèíû r. Òàêèì îáðàçîì, ÷èñëî èòåðàöèé ýòîãî öèêëà íå ïðåâîñõîäèò n. Êàæäàÿ. èòåðàöèÿ, êðîìå ïðîàíàëèçèðîâàííîãî óæå ïðîöåññà óäàëåíèÿ âåðøèí ñ íóëåâûì ïîòåíöèàëîì, ñîäåðæèò äâå ÷àñòè, ÿâëÿþùèåñÿ â îñíîâíîì ïðîöåññàìè ïîèñêà â øèðèíó îò r äî t è îò s äî r. Ñëîæíîñòü ýòèõ ÷àñòåé ïîðÿäêà ÷èñëà àíàëèçèðóåìûõ äóã. Àíàëèç äóãè ìîæåò áûòü ¾óíè÷òîæàþùèì¿, êîãäà àíàëèçèðóåìàÿ äóãà íàñûùàåòñÿ ïîòîêîì è óäàëÿåòñÿ èç ñåòè, èëè ¾íåóíè÷òîæàþùèì¿, êîãäà äóãà îñòàåòñÿ â ñåòè è ìîæåò áûòü ïðîàíàëèçèðîâàíà â ïîñëåäóþùèõ èòåðàöèÿõ ãëàâíîãî öèêëà. Î÷åâèäíî, ÷òî â òå÷åíèå âñåõ èòåðàöèé ãëàâíîãî öèêëà ìû àíàëèçèðóåì óíè÷òîæàþùèì ñïîñîáîì O m äóã, à âî âðåìÿ êàæäîé èòåðàöèè íåóíè÷òîæàþùèì ñïîñîáîì àíàëèçèðóåì íå áîëåå n äóã, ïî îäíîé íà êàæäóþ ïîñåùàåìóþ âåðøèíó.  ñóììå ýòî äàåò ÷èñëî øàãîâ âî âñåõ èòåðàöèÿõ ãëàâíîãî öèêëà ïîðÿäêà m n2 , ò.å. O n2 . Îòñþäà ìû äåëàåì âûâîä, ÷òî îáùàÿ âû÷èñëèòåëüíàÿ ñëîæíîñòü ïðîöåäóðû MAXP SA ðàâíà O n2 . Âî âðåìÿ íàøåãî àíàëèçà ìû ïðåäïîëàãàëè, ÷òî óäàëåíèå äóã èç íàøåé ñåòè (ñòðîêè 19, 27, 58 è 85) ìîæíî âûïîëíèòü çà âðåìÿ, îãðàíè÷åííîå êîíñòàíòîé. Ýòî âîçìîæíî, åñëè ïîÿâëåíèå âåðøèíû v â ñïèñêå X ÇÀÏÈÑÜ u è âåðøèíû u â ñïèñêå X ÏÅÄØ v âçàèìíî ñâÿçàíû óêàçàòåëÿìè è êàæäûé ýëåìåíò ñïèñêà ñîäåðæèò óêàçàòåëü êàê íà ïðåäûäóùèé, òàê è íà ïîñëåäóþùèé ýëåìåíòû ñïèñêà. Òåïåðü ìû ìîæåì ñîáðàòü óæå îïèñàííûå ïðîöåäóðû P SA è MAXP SA â ïîëíûé àëãîðèòì ïîñòðîåíèÿ ìàêñèìàëüíîãî ïîòîêà. Àëãîðèòì 4.6. (Ïîñòðîåíèå ìàêñèìàëüíîãî ïîòîêà â ñåòè.) Äàííûå: Ñåòü, ïðåäñòàâëåííàÿ ñïèñêàìè èíöèäåíòíîñòè ÏÅÄØ v , ÇÀÏÈÑÜ v , v 2 V , ïðîïóñêíûå ñïîñîáíîñòè u; v , u; v 2 V . åçóëüòàòû: Ìàêñèìàëüíûé ïîòîê F u; v , u; v 2 V .
( + )
( )
+
( )
( )
[℄
[℄
[ ℄
1. 2. 3. 4. 5. 6.
[℄
[ ℄
begin
u 2 V do for v 2 V do F [u; v ℄ := 0; (*íóëåâîé íà÷àëüíûé ïîòîê*) repeat P SA; (*ïîñòðîåíèå âñïîìîãàòåëüíîé áåñêîíòóðíîé ñåòè*) if ÄËÈÍÀ[t℄ 6= 1 then (*ïîòîê F íå ÿâëÿåòñÿ ìàêñèìàëüíûì*) begin MAXP SA;
for
(*ïîñòðîåíèå ìàêñèìàëüíîãî ïîòîêà âî âñïîìîãàòåëüíîé ñåòè*) (*ïåðåíåñòè ïîòîê èç âñïîìîãàòåëüíîé ñåòè â ãëàâíóþ*)
[℄
ëàâà 4. Ïîòîêè â ñåòÿõ è ðîäñòâåííûå çàäà÷è
146 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
for
u 2 XV do(*XV =ìíîæåñòâî âåðøèí âñïîìîãàòåëüíîé ñåòè*) for v 2 XV do begin F [u; v ℄ := F [u; v ℄ + XF [u; v ℄; if F [u; v ℄ > C [u; v ℄ then begin F [v; u℄ := F [v; u℄ (F [u; v℄ C [u; v℄); F [u; v℄ := C [u; v℄ end end
(*êîíåö àçû*) ÄËÈÍÀ t 1 (*ïîòîê
end until
[ ℄=
end
F
ìàêñèìàëüíûé*)
Èñõîäÿ èç ïðîâåäåííîãî óæå àíàëèçà ïðîöåäóð P SA è MAXP SA, à òàêæå èç òîãî, ÷òî ÷èñëî àç íå ïðåâûøàåò n (ñì. ñëåäñòâèå 4.5), ïîëó÷àåì Ñëåäñòâèå 4.7.
âðåìÿ
O(n
3
).
Àëãîðèòì 4.6 ïðàâèëüíî ñòðîèò ìàêñèìàëüíûé ïîòîê çà
Îòìåòèì, ÷òî àíàëèçîì ýòîãî àëãîðèòìà ìû äîêàçàëè ñóùåñòâîâàíèå ìàêñèìàëüíîãî ïîòîêà â ïðîèçâîëüíîé ñåòè è òåì ñàìûì ïðåäîñòàâèëè íåäîñòàþùèé ðàãìåíò äëÿ äîêàçàòåëüñòâà óíäàìåíòàëüíîé òåîðåìû î ìàêñèìàëüíîì ïîòîêå è ìèíèìàëüíîì ðàçðåçå (òåîðåìà 4.2). Ñòîèò îòìåòèòü, ÷òî àëãîðèòì 4.6 íå ïîäõîäèò íåïîñðåäñòâåííî ïîä ñõåìó ïîñëåäîâàòåëüíîãî óâåëè÷åíèÿ ïîòîêà âäîëü óâåëè÷èâàþùèõ öåïåé, îäíàêî ìåòîä, èñïîëüçîâàííûé â ýòîì àëãîðèòìå, ìîæíî ñ÷èòàòü îáîáùåíèåì ìåòîäèêè óâåëè÷èâàþùèõ öåïåé. Óâåëè÷åíèå ïîòîêà (íà çíà÷åíèå, ðàâíîå ìèíèìàëüíîìó ïîòåíöèàëó) ïðîèñõîäèò âäîëü íåñêîëüêî áîëåå îáùåé ñòðóêòóðû, ÷åì åäèíè÷íàÿ óâåëè÷èâàþùàÿ öåïü îò s äî t. Ýòó ñòðóêòóðó ìîæíî áûëî áû íàçâàòü ¾êðàòíîé óâåëè÷èâàþùåé öåïüþ¿ îò s äî t, ïðîõîäÿùåé ÷åðåç âåðøèíó r (ñ ìèíèìàëüíûì ïîòåíöèàëîì). Èñïîëüçîâàíèå òàêîé êðàòíîé öåïè ïðèâîäèò ê óäàëåíèþ èç ñåòè õîòÿ áû îäíîé âåðøèíû, à íå îäíîé äóãè, êàê â ñëó÷àå åäèíè÷íîé óâåëè÷èâàþùåé öåïè îòñþäà ìåíüøåå ÷èñëî èòåðàöèé è òåì ñàìûì ëó÷øàÿ îöåíêà ñëîæíîñòè àëãîðèòìà.  çàêëþ÷åíèå ñîðìóëèðóåì ñëåäóþùåå î÷åâèäíîå, íî âàæíîå ñâîéñòâî àëãîðèòìà 4.6. Òåîðåìà 4.7. Åñëè âñå ïðîïóñêíûå ñïîñîáíîñòè äóã ÿâëÿþòñÿ öåëûìè ÷èñëàìè, òî ìàêñèìàëüíûé ïîòîê f , ïîñòðîåííûé àëãîðèòìîì 4.6 öåëî÷èñëåííûé, ò.å. f e ÿâëÿåòñÿ öåëûì ÷èñëîì äëÿ êàæäîé äóãè e.
()
4.3. Íàéáîëüøèå ïàðîñî÷åòàíèÿ â äâóäîëüíûõ ãðààõ
147
4.3 Íàéáîëüøèå ïàðîñî÷åòàíèÿ â äâóäîëüíûõ ãðààõ =
Ïàðîñî÷åòàíèåì â íåîðèåíòèðîâàííîì ãðàå G hV; E i íàçûâàåòñÿ ïðîèçâîëüíîå ìíîæåñòâî ðåáåð M E , òàêîå ÷òî íèêàêèå äâà ðåáðà èç M íå èíöèäåíòíû îäíîé âåðøèíå. Äðóãèìè ñëîâàìè, M åñòü ïàðîñî÷åòàíèå, åñëè äëÿ êàæäûõ äâóõ ðåáåð e1 ; e2 2 M èìååì ëèáî e1 e2 , ëèáî e1 \ e2 ?. Äëÿ êàæäîãî ðåáðà hu; vi 2 M ìû ãîâîðèì, ÷òî M ñî÷åòàåò u ñ v, à êàæäóþ âåðøèíó, íå ïðèíàäëåæàùóþ íè îäíîìó ðåáðó ïàðîñî÷åòàíèÿ, áóäåì íàçûâàòü ñâîáîäíîé. Îñîáåííî èíòåðåñíû çàäà÷è, ñâÿçàííûå ñ ïàðîñî÷åòàíèÿìè â äâóäîëüíûõ ãðààõ, ò.å. â íåîðèåíòèðîâàííûõ ãðààõ G hV; E i, òàêèõ ÷òî ìíîæåñòâà èõ âåðøèí ìîæíî ðàçáèòü íà íåïåðåñåêàþùèåñÿ ìíîæåñòâà V X [ Y , X \ Y ?, ïðè÷åì êàæäîå ðåáðî e 2 E èìååò âèä e hx; y i, ãäå x 2 X , y 2 Y (ñì. çàäà÷ó 4.15). Äâóäîëüíûé ãðà áóäåì îáîçíà÷àòü hX; Y; E i (ýòî îáîçíà÷åíèå ïðåäïîëàãàåò èêñàöèþ íåêîòîðîãî ðàçáèåíèÿ ìíîæåñòâà âåðøèí íà ìíîæåñòâà X è Y îíî íå îïðåäåëÿåòñÿ îäíîçíà÷íî ÷åðåç ìíîæåñòâà V è E ).  ýòîì ðàçäåëå ìû çàéìåìñÿ çàäà÷åé íàõîæäåíèÿ íàèáîëüøåãî ïàðîñî÷åòàíèÿ â çàäàííîì äâóäîëüíîì ãðàå. Ýòî êëàññè÷åñêàÿ çàäà÷à êîìáèíàòîðèêè, èçâåñòíàÿ òàêæå ïîä íàçâàíèåì ¾çàäà÷è î ñóïðóæåñêèõ ïàðàõ¿. Òàêîå íàçâàíèå ñâÿçàíî ñî ñëåäóþùåé èíòåðïðåòàöèåé. Ïóñòü X è Y ñîîòâåòñòâåííî ìíîæåñòâà þíîøåé è äåâóøåê, è ïóñòü hx; y i 2 E îçíà÷àåò, ÷òî þíîøà x çíàêîì ñ äåâóøêîé y . Òîãäà êàæäîå ïàðîñî÷åòàíèå M ñîîòâåòñòâóåò âîçìîæíîìó ìíîæåñòâó ñóïðóæåñêèõ ïàð, â êîòîðîì êàæäàÿ ïàðà îáðàçîâàíà èç þíîøè è äåâóøêè, çíàêîìûõ ìåæäó ñîáîé, ïðè÷åì êàæäûé ÷åëîâåê ó÷àñòâóåò íå áîëåå ÷åì â îäíîé ïàðå. Îêàçûâàåòñÿ, ÷òî çàäà÷ó íàõîæäåíèÿ íàèáîëüøåãî ïàðîñî÷åòàíèÿ â äâóäîëüíîì ãðàå ìîæíî ïðîñòûì ñïîñîáîì ñâåñòè ê ïîñòðîåíèþ ìàêñèìàëüíîãî ïîòîêà â íåêîòîðîé ñåòè. Ïóñòü H hX; Y; E i ïðîèçâîëüíûé äâóäîëüíûé ãðà. Ïîñòðîèì ñåòü S H ñ èñòî÷íèêîì s, ñòîêîì t (s 6 t è s; t 2 = X [ Y ), ìíîæåñòâîì âåðøèí
=
=
=
( )
=
=
=
=
=
V = fs; tg [ X [ Y;
ìíîæåñòâîì äóã
E = fhs; xi : x 2 X g [ fhy; ti : y 2 Y g [ fhx; yi : x 2 X ^ y 2 Y ^ hx; yi 2 E g è ïðîïóñêíîé ñïîñîáíîñòüþ (u; v ) = 1 äëÿ êàæäîé äóãè hu; v i 2 E . Íà ðèñ. 4.3 ïîêàçàíî ïîñòðîåíèå ñåòè S (H ) äëÿ íåêîòîðîãî äâóäîëüíîãî ãðà-
à. Îòìåòèì, ÷òî ñîãëàñíî òåîðåìå 4.7 â S H ñóùåñòâóåò ìàêñèìàëüíûé íóëüåäèíè÷íûé ïîòîê, ò.å. ìàêñèìàëüíûé ïîòîê f , òàêîé ÷òî f e èëè f e äëÿ êàæäîé äóãè e 2 E .
( )
( )=0
( )=1
148
u u u u u
ëàâà 4. Ïîòîêè â ñåòÿõ è ðîäñòâåííûå çàäà÷è
1
2
3
4
u u u u
H
u u u u u
y
x XZXZXXXXy xZ HH H ZZZy HHH X s ZXX t ZZXXXxZXXXXy ZZ x ZZ XX ZXXXZXZ y XZX
y x X ZXZXXXX y ZZ x ZZ y XXXX x Z ZZ XX y XXXZXZ x XZX y
1
u u u u
1
1
u
2
3
4
2
2
4
4
5
S (H )
5
( )
u
3
3
èñ. 4.3: Ïîñòðîåíèå ñåòè S H äëÿ äâóäîëüíîãî ãðàà H è íóëü-åäèíè÷íûé ïîòîê, ñîîòâåòñòâóþùèé ïàðîñî÷åòàíèþ M ffx1 ; y2 g; fx3 ; y5 g; fx4 ; y3 gg.
=
Òåîðåìà 4.8. Ñóùåñòâóåò âçàèìíî îäíîçíà÷íîå ñîîòâåòñòâèå ìåæäó ïàðîñî÷åòàíèÿìè â H è íóëü-åäèíè÷íûìè ïîòîêàìè â S H , ïðè êîòîðîì ïàðîñî÷åòàíèþ M ffx1 ; y1 g; : : : ; fxk ; yk gg ìîùíîñòè k (xi 2 X , yi 2 Y äëÿ i k) ñîîòâåòñòâóåò ïîòîê fM âåëè÷èíû k, îïðåäåëÿåìûé ñëåäóþùèì îáðàçîì: fM s; xi fM xi ; yi fM yi ; t ; < i < k: (4.11)
1
( )
= (
)= (
)= ( )=1 1 è fM (e) = 0 äëÿ îñòàëüíûõ äóã e ñåòè S (H ); ïîòîêó f âåëè÷èíû k ñîîòâåòñòâóåò ïàðîñî÷åòàíèå Mf , jMf j = k , îïðåäåëÿåìîå ñëåäóþùèì îáðàçîì: Mf = ffx; yg : x 2 X ^ y 2 Y ^ f (x; y) = 1g: (4.12) Äîêàçàòåëüñòâî. Åñëè M = ffx ; y g; : : : ; fxk ; yk gg ïàðîñî÷åòàíèå ìîùíîñòè k , òî âåðøèíû x ; : : : ; xk , à òàêæå y ; : : : ; yk ïîïàðíî ðàçëè÷íû. Îòñþäà ñðàçó æå ñëåäóåò, ÷òî DivfM (xi ) = DivfM (yi ) = 0, 0 i k , ò.å. óíêöèÿ fM , îïðåäåëÿåìàÿ îðìóëîé (4.11), ÿâëÿåòñÿ ïîòîêîì èç s â t â S (H ). Ëåãêî çàìåòèòü òàêæå, ÷òî ðàçíûì ïàðîñî÷åòàíèÿì M ñîîòâåòñòâóþò ðàçíûå ïîòîêè fM . Ñ äðóãîé ñòîðîíû, åñëè f íóëü-åäèíè÷íûé ïîòîê â S (H ), òî êîëè÷åñòâî ïî1
1
1
1
òîêà, ïðèáûâàþùåãî â (à ñëåäîâàòåëüíî, è âûòåêàþùåãî èç) êàæäóþ âåðøèíó
x 2 X , íå ïðåâîñõîäèò åäèíèöû (åäèíñòâåííàÿ äóãà, âõîäÿùàÿ â x, ýòî äóãà hs; xi ñ ïðîïóñêíîé ñïîñîáíîñòüþ, ðàâíîé 1). Îòñþäà ñëåäóåò, ÷òî â ìíîæåñòâå Mf , îïðåäåëÿåìîì (4.12), íåò ðåáåð âèäà hx; y i, hx; y i, y 6= y . Ïî àíàëîãè÷íûì ïðè÷èíàì â Mf íåò ðåáåð âèäà hx ; y i, hx ; y i, x 6= x . Ñëåäîâàòåëüíî, Mf ÿâëÿåòñÿ ïàðîñî÷åòàíèåì â H . Íåòðóäíî òàêæå îòìåòèòü, ÷òî îòîáðàæåíèå f ! Mf ÿâëÿåòñÿ îáðàòíûì ê îòîáðàæåíèþ M ! fM , ò.å. fMf = f è MfM = M . 1
1
2
2
1
1
2
2
4.3. Íàéáîëüøèå ïàðîñî÷åòàíèÿ â äâóäîëüíûõ ãðààõ
149
Òåîðåìà 4.8 ïîçâîëÿåò èñïîëüçîâàòü ïðîèçâîëüíûé àëãîðèòì ïîñòðîåíèÿ ìàêñèìàëüíîãî ïîòîêà (öåëî÷èñëåííîãî) äëÿ îïðåäåëåíèÿ ìàêñèìàëüíîãî ïàðîñî÷åòàíèÿ. Èñïîëüçóÿ àëãîðèòì 4.6, ìû íàõîäèì íàèáîëüøåå ïàðîñî÷åòàíèå çà O n3 øàãîâ. Îêàçûâàåòñÿ, îäíàêî, ÷òî îñîáàÿ îðìà ñåòè S H ïîçâîëÿåò ïîñòðîèòü áîëåå ýåêòèâíûé àëãîðèòì. Ýòîò àëãîðèòì, àâòîðàìè êîòîðîãî ÿâëÿþòñÿ Õîïêðîò è Êàðï [33℄, èñïîëüçóåò îáùóþ ñõåìó Äèíèöà, ò.å. ñîñòîèò èç àç, ñîîòâåòñòâóþùèõ óâåëè÷åíèþ ïîòîêà âäîëü êðàò÷àéøèõ óâåëè÷èâàþùèõñÿ öåïåé îïðåäåëåííîé äëèíû. Îñîáûé âèä ñåòè ïîçâîëÿåò, îäíàêî, êàê îãðàíè÷èòü ÷èñëî àç, òàê è ïîñòðîèòü áîëåå ýåêòèâíûé àëãîðèòì ïîñòðîåíèÿ ïñåâäîìàêñèìàëüíîãî ïîòîêà â êàæäîé àçå. Îòìåòèì ñíà÷àëà, ÷òî êàæäàÿ óâåëè÷èâàþùàÿ öåïü â S H áóäåò íå÷åòíîé äëèíû è áóäåò ñîñòîÿòü ïîñëå îòáðàñûâàíèÿ ïåðâîé è ïîñëåäíåé äóã èç ïîñëåäîâàòåëüíîñòè ïîïåðåìåííî ÷åðåäóþùèõñÿ ñîãëàñîâàííûõ è íåñîãëàñîâàííûõ äóã (íà÷èíàþùåéñÿ è çàêàí÷èâàþùåéñÿ ñîãëàñîâàííîé äóãîé). Äëÿ äàííîãî ïàðîñî÷åòàíèÿ M ìû áóäåì íàçûâàòü ÷åðåäóþùåéñÿ öåïüþ (äëèíû l k èç X â Y ) îòíîñèòåëüíî M ïðîèçâîëüíîå ìíîæåñòâî äóã P E âèäà
( )
( )
( )
= 2 +1
P
= ffx ; y g; fy ; x g; fx ; y g; : : : ; fyk ; xk g; fxk ; yk gg; 0
1
1
1
1
2
+1
(4.13)
0
ãäå k > , âñå âåðøèíû x0 ; : : : ; xk ; y1 ; : : : ; yk+1 ðàçëè÷íû, x0 ñâîáîäíàÿ âåðøèíà â X , yk+1 ñâîáîäíàÿ âåðøèíà â Y , êàæäàÿ âòîðàÿ äóãà ïðèíàäëåæèò M , ò.å.
P \ M = ffy ; x g; fy ; x g; : : : ; fyk ; xk gg 1
1
2
2
Î÷åâèäíî, ÷òî ÷åðåäóþùóþñÿ öåïü ìîæíî îäíîçíà÷íî îïðåäåëèòü ïîñëåäîâàòåëüíîñòüþ x0 , y1 , x1 , y2 ,. . . , yk , xk , yk+1 . àçóìååòñÿ, ÷òî ïðè îïèñàííîì â òåîðåìå 4.8 ñîîòâåòñòâèè ìåæäó ïàðîñî÷åòàíèÿìè â H è íóëü-åäèíè÷íûìè ïîòîêàìè â ñåòè S H ÷åðåäóþùàÿñÿ öåïü (4.13) åñòåñòâåííûì îáðàçîì ñîîòâåòñòâóåò íåêîòîðîé óâåëè÷èâàþùåé öåïè îòíîñèòåëüíî ïîòîêà fM â S H , à èìåííî öåïè
( )
( )
s; hs; x i; x ; hx ; y i; y ; hy ; x i; x ; hx ; y i; y ; : : : ; yk ; hyk ; xk i; xk ; hxk ; yk i; yk ; hyk ; ti; t; 0
0
0
1
1
1
+1
1
1
+1
1
2
2
+1
ïðè÷åì óâåëè÷åíèå ïîòîêà fM âäîëü ýòîé öåïè äàåò ïîòîê, ñîîòâåòñòâóþùèé ïàðîñî÷åòàíèþ, îïðåäåëåííîìó ñèììåòðè÷åñêîé ðàçíîñòüþ M P . Ýòî ïðîèëëþñòðèðîâàíî íà ðèñ. 4.4. Èç ïðèâåäåííûõ âûøå ðàññóæäåíèé íåïîñðåäñòâåííî âûòåêàåò ñëåäóþùàÿ òåîðåìà. Òåîðåìà 4.9. (Áåðæ). Ïàðîñî÷åòàíèå M â äâóäîëüíîì ãðàå H íàèáîëüøåå òîãäà è òîëüêî òîãäà, êîãäà â H íå ñóùåñòâóåò ÷åðåäóþùåéñÿ öåïè îòíîñèòåëüíî M .
150
u u u u u
u u u u u
u u u u u
ëàâà 4. Ïîòîêè â ñåòÿõ è ðîäñòâåííûå çàäà÷è
u u u u u
u u u u u
u u u u u
HHH H HHH HH H HHHH HH H HHHH H HH
H HH H HHH HH H HH HH HH H HH H H H HH
HHH H HHH HH HHH HH HH HH HH H H HH
M
P
M P
èñ. 4.4: Óâåëè÷åíèå ïàðîñî÷åòàíèÿ
M
âäîëü ÷åðåäóþùåéñÿ öåïè
P.
àññìîòðèì, êàê âûãëÿäèò ïñåâäîìàêñèìàëüíûé ïîòîê âî âñïîìîãàòåëüíîé áåñêîíòóðíîé ñåòè, ïîñòðîåííîé äëÿ ñåòè S H è íåêîòîðîãî öåëî÷èñëåííîãî, à ñëåäîâàòåëüíî, íóëü-åäèíè÷íîãî ïîòîêà â ýòîé ñåòè. Ïîòåíöèàë êàæäîé âåðøèíû, îòëè÷íîé îò s è t, ñîñòàâëÿåò 0 èëè 1, òàê êàê âõîäíîé ïîòåíöèàë êàæäîé âåðøèíû x 2 X è âûõîäíîé ïîòåíöèàë êàæäîé âåðøèíû y 2 Y , âî âñïîìîãàòåëüíîé ñåòè ðàâåí åäèíèöå. Íåòðóäíî çàìåòèòü, ÷òî ¾óâåëè÷èâàþùàÿ êðàòíàÿ öåïü¿, íàéäåííàÿ íà êàæäîé èòåðàöèè ãëàâíîãî öèêëà ïðîöåäóðû MAXP SA (ñì. ïðåäûäóùèé ðàçäåë), èìååò âèä îäèíî÷íîé óâåëè÷èâàþùåé öåïè. Áîëåå òîãî, âñå ïðîìåæóòî÷íûå âåðøèíû (ò.å. îòëè÷íûå îò s è t) òàêîé öåïè èìåþò ïîòåíöèàë, ðàâíûé åäèíèöå, à, ñëåäîâàòåëüíî, ïðè óâåëè÷åíèè ïîòîêà âäîëü ýòîé öåïè èõ ïîòåíöèàë óáûâàåò äî íóëÿ è îíè óäàëÿþòñÿ èç ñåòè. Òåïåðü ÿñíî, ÷òî âî âñïîìîãàòåëüíîé áåñêîíòóðíîé ñåòè äëèíû l ïîòîê èäåò âäîëü ìàêñèìàëüíîãî ìíîæåñòâà ïóòåé äëèíû l èç s â t ñ ïîïàðíî íåïåðåñåêàþùèìèñÿ ìíîæåñòâàìè ïðîìåæóòî÷íûõ âåðøèí. Ýòîìó ìíîæåñòâó åñòåñòâåííûì îáðàçîì ñîîòâåòñòâóåò ìàêñèìàëüíîå ìíîæåñòâî ÷åðåäóþùèõñÿ öåïåé äëèíû l ñ ïîïàðíî íåïåðåñåêàþùèìèñÿ ìíîæåñòâàìè âåðøèí (ïîä ¾ìàêñèìàëüíûì¿ ìû ïîäðàçóìåâàåì òàêîå ìíîæåñòâî, êîòîðîå íåëüçÿ óâåëè÷èòü íà äîïîëíèòåëüíóþ ÷åðåäóþùóþñÿ öåïü äëèíû l è íà ìíîæåñòâî âåðøèí, íå ñîäåðæàùåå íè îäíîé âåðøèíû ïðåæíèõ öåïåé). Íèæå äåòàëüíî îïèñàí àëãîðèòì 4.10, íîñÿùèé èìÿ ÕîïêðîòàÊàðïà.  ýòîì àëãîðèòìå âñïîìîãàòåëüíàÿ áåñêîíòóðíàÿ ñåòü, à òî÷íåå âñïîìîãàòåëüíûé áåñêîíòóðíûé ãðà, ïîñêîëüêó ïðîïóñêíûå ñïîñîáíîñòè âñåõ ðåáåð ðàâíû åäèíèöå, ñòðîèòñÿ ïðè ïîìîùè ïðîöåäóðû P GA. ×òîáû îáúÿñíèòü åå äåéñòâèå, óäîáíî ââåñòè â ðàññìîòðåíèå äëÿ äàííîãî äâóäîëüíîãî ãðàà H hX; Y; E i è ïàðîñî÷åòàíèÿ M â H îðèåíòèðîâàííûé ãðà HM ïîñðåäñòâîì îðèåíòàöèè
( )
+2
+2
=
4.3. Íàéáîëüøèå ïàðîñî÷åòàíèÿ â äâóäîëüíûõ ãðààõ
151
âñåõ ðåáåð e 2 M îò Y ê X è âñåõ ðåáåð e 2 E nM îò X ê Y (ïóòè â HM îò ñâîáîäíîé âåðøèíû â X äî ñâîáîäíîé âåðøèíû â Y â òî÷íîñòè ñîîòâåòñòâóþò ÷åðåäóþùèìñÿ öåïÿì îòíîñèòåëüíî M ). Ïðîöåäóðà P GA ñíà÷àëà ñòðîèò äóãè îò èñòî÷íèêà s äî âñåõ ñâîáîäíûõ âåðøèí x 2 X (ñòðîêè 610). Äàëåå ïðîâîäèòñÿ ïîèñê â øèðèíó â ãðàå HM , íà÷èíàÿ îò ñâîáîäíûõ âåðøèí â X . Ïðè íàõîæäåíèè êàæäîé ñâîáîäíîé âåðøèíû y 2 Y äîáàâëÿåì âî âñïîìîãàòåëüíûé áåñêîíòóðíûé ãðà äóãó hy; ti (ñòðîêè 14 17), ïðè÷åì ñ ìîìåíòà äîáàâëåíèÿ ïåðâîé òàêîé äóãè ìû óæå â ïðîöåññå ïîèñêà íå ðàññìàòðèâàåì âåðøèí, íàõîäÿùèõñÿ íà ðàññòîÿíèè, áîëüøåì èëè ðàâíîì ðàññòîÿíèþ îò s äî t (ñì. óñëîâèå â ñòðîêå 20). Óâåëè÷åíèå ñóùåñòâóþùåãî ïàðîñî÷åòàíèÿ âäîëü ìàêñèìàëüíîãî ìíîæåñòâà êðàò÷àéøèõ óâåëè÷èâàþùèõ öåïåé ñ ïîïàðíî ðàçëè÷íûìè ìíîæåñòâàìè âåðøèí ðåàëèçóåòñÿ ïðîöåäóðîé ÔÀÇÀ. Îíà âåäåò ïîèñê â ãëóáèíó âî âñïîìîãàòåëüíîì áåñêîíòóðíîì ãðàå, íà÷èíàÿ ñ s. ëàâíûé öèêë â ñòðîêå 40 íàïîìèíàåò íåðåêóðñèâíóþ ïðîöåäóðó ïîèñêà â ãëóáèíó W G (ñì. 2.2). Êàæäûé ðàç, êîãäà â íàøåì ïðîöåññå ìû äîñòèãàåì ñòîêà t (ñì. ñòðîêó 50), ñîäåðæèìûì ñòåêà ÑÒÅÊ ÿâëÿåòñÿ ïîñëåäîâàòåëüíîñòü âåðøèí, ïðåäñòàâëÿþùàÿ íåêîòîðóþ ÷åðåäóþùóþñÿ öåïü (îòìåòèì, ÷òî ñòîê t íå ïîìåùàåòñÿ â ÑÒÅÊ, òåì ñàìûì âñå âðåìÿ ÍÎÂÛÉ t =èñòèíà è, ñëåäîâàòåëüíî, t ìîæåò ïîñåùàòüñÿ ìíîãîêðàòíî). Öèêë 52 âûïîëíÿåò ìîäèèêàöèþ ìàññèâà ÑÎ×ÅÒ, ñîîòâåòñòâóþùåãî óâåëè÷åíèþ ïàðîñî÷åòàíèÿ âäîëü òàêîé öåïè. Îòìåòèì, ÷òî åñëè âî âðåìÿ âûïîëíåíèÿ íàøåé ïðîöåäóðû íåêîòîðîé âåðøèíå v 2 V ïðèïèñûâàåòñÿ çíà÷åíèå ÍÎÂÛÉ v :=ëîæü, òî ýòà ïðîöåäóðà ëèáî íàõîäèò çàòåì ÷åðåäóþùóþñÿ öåïü, ïðîõîäÿùóþ ÷åðåç ýòó âåðøèíó, ëèáî óñòàíàâëèâàåò, ÷òî íå ñóùåñòâóåò íè îäíîé öåïè, ïðîõîäÿùåé ÷åðåç ýòó âåðøèíó è íå ïåðåñåêàþùåé íè îäíîé èç ðàíåå íàéäåííûõ öåïåé. Îòñþäà ëåãêî ñëåäóåò, ÷òî ïðîöåäóðà ÔÀÇÀ íàõîäèò ìàêñèìàëüíîå ìíîæåñòâî íåïåðåñåêàþùèõñÿ êðàò÷àéøèõ ÷åðåäóþùèõñÿ öåïåé. Êîððåêòíîñòü âñåãî àëãîðèòìà ñëåäóåò èç àíàëèçà ìåòîäà Äèíèöà, ïðîâåäåííîãî â ïðåäûäóùåì ðàçäåëå.
1
[℄
[℄
Àëãîðèòì 4.10.
êðîòàÊàðïà.)
(Íàõîæäåíèå íàèáîëüøåãî ïàðîñî÷åòàíèÿ ìåòîäîì Õîï-
Äàííûå: Äâóäîëüíûé ãðà äåíòíîñòè ÇÀÏÈÑÜ x , x 2 X .
[℄
H
= hX; Y; E i, ïðåäñòàâëåííûé ñïèñêàìè èíöè-
åçóëüòàòû: Íàèáîëüøåå ïàðîñî÷åòàíèå, ïðåäñòàâëåííîå ìàññèâîì ÑÎ×ÅÒ (ÑÎ×ÅÒ v åñòü âåðøèíà, ñî÷åòàþùàÿñÿ ñ v (à åñëè v ñâîáîäíàÿ âåðøèíà, ÑÎ×ÅÒ v )).
[℄ [ ℄=0
1. pro edure P GA; (*ïîñòðîåíèå âñïîìîãàòåëüíîãî áåñêîíòóðíîãî ãðàà; ïåðåìåííûå V , XV , X , Y , ÑÎ×ÅÒ, ÇÀÏÈÑÜ, X ÇÀÏÈÑÜ, s, t ãëîáàëüíûå*)
ëàâà 4. Ïîòîêè â ñåòÿõ è ðîäñòâåííûå çàäà÷è
152
2. begin 3. for u 2 V [ fs; tg do (*èíèöèàëèçàöèÿ*) 4. begin ÄËÈÍÀ u 1; X ÇÀÏÈÑÜ u ? 5. end; (*ïîìåñòèòü ñâîáîäíûå âåðøèíû x 2 X â î÷åðåäü è â ñïèñîê X ÇÀÏÈÑÜ s *) 6. Î×ÅÅÄÜ ?; XV fsg; ÄËÈÍÀ s ; 7. for x 2 X do 8. if ÑÎ×ÅÒ x then (*x ñâîáîäíàÿ*) 9. begin Î×ÅÅÄÜ ( x; X ÇÀÏÈÑÜ s X ÇÀÏÈÑÜ s [ fxg; ÄËÈÍÀ x 10. end; (*ïîèñê â øèðèíó, íà÷èíàÿ ñî ñâîáîäíûõ âåðøèí â X *) 11. while Î×ÅÅÄÜ 6 ? do 12. begin u ( Î×ÅÅÄÜ; XV XV [ fug; 13. if u 2 Y then 14. if ÑÎ×ÅÒ u then (*u ñâîáîäíàÿ, äîáàâèòü äóãó hu; ti*) 15. begin X ÇÀÏÈÑÜ u X ÇÀÏÈÑÜ u [ ftg; XV XV [ ftg; 16. ÄËÈÍÀ t ÄËÈÍÀ u 17. end 18. else (*ÑÎ×ÅÒ u 6 *) 19. begin x ÑÎ×ÅÒ u ; 20. if ÄËÈÍÀ t 1 then (*äîáàâèòü äóãó hu; xi*) 21. begin Î×ÅÅÄÜ ( x; X ÇÀÏÈÑÜ u X ÇÀÏÈÑÜ u [ fxg; 22. ÄËÈÍÀ x ÄËÈÍÀ u 23. end 24. end 25. else (*u 2 X *) 26. for y 2 ÇÀÏÈÑÜ u do 27. if ÄËÈÍÀ u < ÄËÈÍÀ y then (*ÄËÈÍÀ y ÄËÈÍÀ u èëè 1*) 28. begin if ÄËÈÍÀ y 1 then Î×ÅÅÄÜ ( y; (*y íîâàÿ*) 29. X ÇÀÏÈÑÜ u X ÇÀÏÈÑÜ u [ fyg; ÄËÈÍÀ y ÄËÈÍÀ u 30. end 31. end 32. end; (*P GA*)
[ ℄ :=
[ ℄ :=
:=
[ ℄ := 0
:=
[℄
[ ℄=0
[ ℄ :=
=
[℄
[ ℄ := 1
:=
[ ℄=0
[ ℄ := [℄ [ ℄ := [ ℄+1 [ ℄=0 := [℄ [ ℄= [ ℄ := [℄ [ ℄ := [ ℄+1 [℄ [℄ [℄ [ ℄= [ ℄+1 [ ℄= [ ℄ := [℄ [ ℄ := [ ℄+1
:=
4.3. Íàéáîëüøèå ïàðîñî÷åòàíèÿ â äâóäîëüíûõ ãðààõ
153
33. pro edure ÔÀÇÀ (*óâåëè÷åíèå ñóùåñòâóþùåãî ïàðîñî÷åòàíèÿ âäîëü ìàêñèìàëüíîãî ìíîæåñòâà ïóòåé èç s â t ñ ïîïàðíî ðàçëè÷íûìè ìíîæåñòâàìè ïðîìåæóòî÷íûõ âåðøèí âî âñïîìîãàòåëüíîì áåñêîíòóðíîì ãðàå; ïåðåìåííûå XV , ÍÀ×ÀËÎ, X ÇÀÏÈÑÜ, ÑÎ×ÅÒ, s, t ãëîáàëüíûå*) 34. begin 35. for u 2 XV do (*èíèöèàëèçàöèÿ*) 36. begin ÍÎÂÛÉ u :=èñòèíà; 37. P u ÍÀ×ÀËÎ u (*ÍÀ×ÀËÎ u óêàçàòåëü íà íà÷àëî ñïèñêà X ÇÀÏÈÑÜ u ; P u =óêàçàòåëü íà àêòè÷åñêè àíàëèçèðóåìûé ýëåìåíò ñïèñêà X ÇÀÏÈÑÜ u *) 38. end; (*ïîèñê â ãëóáèíó âî âñïîìîãàòåëüíîì áåñêîíòóðíîì ãðàå, íà÷èíàÿ ñ èñòî÷íèêà s*) 39. CT EK ?; CT EK ( s; ÍÎÂÛÉ s ëîæü; 40. while ÑÒÅÊ 6 ? do (*ãëàâíûé öèêë*) 41. begin u top ÑÒÅÊ ; (*u âåðõíèé ýëåìåíò ñòåêà*) 42. (*îòûñêàíèå ïåðâîé íîâîé âåðøèíû â ñïèñêå X ÇÀÏÈÑÜ u *) 43. if P u =nil then b:=ëîæü else b:=not ÍÎÂÛÉ P u " :âåðø ; 44. while b do 45. begin P u P u " :ñëåä; 46. if P u =nil then b:=ëîæü 47. else b:=not ÍÎÂÛÉ P u " :âåðø 48. end; 49. if P u 6 nil then (*íàéäåíà íîâàÿ âåðøèíà*) 50. if P u " :âåðø t then (*íàéäåíà ÷åðåäóþùàÿñÿ öåïü*) 51. (*óâåëè÷åíèå ñóùåñòâóþùåãî ïàðîñî÷åòàíèÿ âäîëü ÷åðåäóþùåéñÿ öåïè, õðàíÿùåéñÿ â ñòåêå*) 52. while top ÑÒÅÊ 6 s do 53. begin y ( ÑÒÅÊ; x ( ÑÒÅÊ; 54. ÑÎ×ÅÒ x y; ÑÎ×ÅÒ y x 55. end 56. (*â ñòåêå îñòàëñÿ òîëüêî èñòî÷íèê s*) 57. else (* P u " :âåðø 6 t*) 58. begin v P u :âåðø; CT EK ( v; ÍÎÂÛÉ v :=ëîæü 59. end 60. else (*P u =nil, ò.e. â ñïèñêå X ÇÀÏÈÑÜ u óæå íåò íîâûõ âåðøèí*) 61. u ( CT EK (*óäàëèòü âåðõíèé ýëåìåíò ñòåêà*)
[℄
[ ℄ :=
[℄
[℄
[℄
:=
[℄
[ ℄ :=
= := ( [℄
)
[℄
[ [℄
[ ℄ := [ ℄ [℄
[ ℄= [℄
℄
[ [℄
℄
=
(
)= [ ℄ :=
[ ℄ :=
[℄ = := [ ℄
[℄
[℄
[℄
[℄
ëàâà 4. Ïîòîêè â ñåòÿõ è ðîäñòâåííûå çàäà÷è
154 62. 63. 64. 65. 66. 67. 68. 69.
end end;
(*ÔÀÇÀ*)
begin
(*ãëàâíàÿ ïðîãðàììà*)
v 2 V do CO×ÅÒ[v℄ := 0; (*èíèöèàëèçàöèÿ; ïàðîñî÷åòàíèå ïóñòîå*) P GA; (*ïîñòðîåíèå âñïîìîãàòåëüíîãî áåñêîíòóðíîãî ãðàà*) repeat ÔÀÇÀ; P GA until not XV [t℄
for
end
Áîëüøàÿ ýåêòèâíîñòü p àëãîðèòìà ÕîïêðîòàÊàðïà îáúÿñíÿåòñÿ òåì, ÷òî ïîðÿäîê ÷èñëà àç åñòü n. Äëÿ äîêàçàòåëüñòâà îãðàíè÷åííîñòè ÷èñëà àç íàì áóäåò íåîáõîäèìà ñëåäóþùàÿ ëåììà. Ëåììà 4.11. Ïóñòü M è N äâà ïàðîñî÷åòàíèÿ â äâóäîëüíîì ãðàå H hX; Y; E i, è ïóñòü jM j r < s jN j. Òîãäà ñèììåòðè÷åñêàÿ ðàçíîñòü M N ñîäåðæèò íå ìåíåå s r ÷åðåäóþùèõñÿ öåïåé îòíîñèòåëüíî M ñ ïîïàðíî ðàçëè÷íûìè ìíîæåñòâàìè âåðøèí. Äîêàçàòåëüñòâî. àññìîòðèì ãðà H hX; Y; M N i è îáîçíà÷èì ÷åðåç C1 ; : : : ; Cp êîìïîíåíòû ñâÿçíîñòè ýòîãî ãðàà. Êàæäàÿ âåðøèíà ãðàà H ïðèíàäëåæèò íå áîëåå ÷åì îäíîìó ðåáðó èç M nN è íå áîëåå ÷åì îäíîìó ðåáðó èç N nM (òàê êàê M è N ïàðîñî÷åòàíèÿ). Îòñþäà ñëåäóåò, ÷òî êàæäàÿ êîìïîíåíòà ñâÿçíîñòè Ci èìååò îäèí èç òðåõ ñëåäóþùèõ âèäîâ:
=
=
=
=
1. èçîëèðîâàííàÿ âåðøèíà; 2. öèêë ÷åòíîé äëèíû ñ ðåáðàìè ïîïåðåìåííî èç
M nN
è
N nM ;
3. öåïü ñ ðåáðàìè ïîïåðåìåííî èç M nN è N nM (ýòî íå îáÿçàòåëüíî ÷åðåäóþùàÿñÿ öåïü: îáà åå êîíöà ìîãóò ïðèíàäëåæàòü X èëè îáà Y ). Îáîçíà÷èì ÷åðåç
Ei
ìíîæåñòâî ðåáåð êîìïîíåíòû
Ci
è ðàññìîòðèì âåëè÷èíó
= jEi \ N j jEi \ M j. Èìååì Æi = f 1; 0; 1g, ïðè÷åì Æi = 1 òîãäà è òîëüêî òîãäà, êîãäà Ci ÷åðåäóþùàÿñÿ öåïü îòíîñèòåëüíî M . Áîëåå òîãî, Æi = 1 äëÿ
Æi
íå ìåíåå ÷åì p P i=1
s r óêàçàòåëåé, òàê êàê p P
p
p P
=1
=1
i=1
(jEi \ N j jEi \ M j) = P jEi \ N j i i = jN nM j jM nN j = jN j jM j = s r:
Æi =
jEi \ M j =
Ýòèì äîêàçàòåëüñòâî ëåììû çàêîí÷åíî. Òåïåðü ìû ìîæåì ïðèñòóïèòü ê äîêàçàòåëüñòâó ñóùåñòâîâàíèÿ îáúÿâëåííîãî îãðàíè÷åíèÿ íà ÷èñëî àç àëãîðèòìà ÕîïêðîòàÊàðïà.
4.3. Íàéáîëüøèå ïàðîñî÷åòàíèÿ â äâóäîëüíûõ ãðààõ
155
Òåîðåìà 4.12. ×èñëî
1, ãäå s
àç àëãîðèòìà ÕîïêðîòàÊàðïà íå ïðåâûøàåò íàèáîëüøàÿ ìîùíîñòü ïàðîñî÷åòàíèÿ â äàííîì ãðàå.
2bps +
Äîêàçàòåëüñòâî. Îáîçíà÷èì ÷åðåç P0 ; P1 ; : : : ; Ps 1 ïîñëåäîâàòåëüíûå ÷åðåäóþùèåñÿ öåïè, ïîñòðîåííûå àëãîðèòìîì, è îïðåäåëèì M0 ?, Mi Mi 1 Pi 1 äëÿ i s. Ñîãëàñíî àëãîðèòìó Pi ÿâëÿåòñÿ ÷åðåäóþùåéñÿ öåïüþ îòíîñèòåëüíî Mi , è ìû óæå çíàåì, ÷òî jP0 j jP1 j : : : jPs j (ñì. ëåììó 4.4). ×èñëî àç ýòî íå ÷òî èíîå, êàê êîëè÷åñòâî ðàçëè÷íûõ ÷èñåë ps , è ïóñòü r â ïîñëåòàêîé äîâàòåëüíîñòè jP0 j; jP1 j; : : : ; jPs 1 j. Îáîçíà÷èì r bs íàèìåíüøèé èíäåêñ, ÷òî jPr j jPr j. Ñîãëàñíî ïîñòðîåíèþ âñïîìîãàòåëüíîãî áåñêîíòóðíîãî ãðàà Pr êðàò÷àéøàÿ ÷åðåäóþùàÿñÿ öåïü îòíîñèòåëüíî Mr (àêòè÷åñêè Pi ýòî êðàò÷àéøàÿ ÷åðåäóþùàÿñÿ öåïü îòíîñèòåëüíî Mi äëÿ êàæäîãî i, íî ýòîò àêò òðåáóåò äîêàçàòåëüñòâà, ñì. çàäà÷ó 4.11). Ïî ëåììå 4.11 ñóùåñòâóåò ïî êðàéíåé ìåðå jMs j jMr j s r íåïåðåñåêàþùèõñÿ ÷åðåäóþùèõñÿ öåïåé îòíîñèòåëüíî Mr , ñëåäîâàòåëüíî, êðàò÷àéøàÿ ÷åðåäóþùàÿñÿ öåïü îòíîñèòåëüíî Mr ñîäåðæèò íå áîëåå ÷åì r = s r ðåáåð ïàðîñî÷åòàíèÿ Mr .
=
1
=
1
=
=
=
(
)
Îòñþäà
p
jPr j = jPr j s rr p+ 1 s rr +p1 == bdspses + 1 = dpsse 1 2 s 1 2b s + 1: 2
2
2
2
jP j; : : : ; jPr j ñîäåðæèò íå áîëåå ÷åì bps + 1 ðàçëè÷íûõ ÷èñåë. Ïîñëåäîâàòåëüíîñòü jPr p j; : : : ; jPs j ìîæåò ñîäåðæàòü íå áîëåå ÷åì (s 1) (r + 1) + 1 = s pr 1 = d se 1 bs äðóãèõ ÷èñåë, ÷òî â ñóììå äàåò òðåáóåìîå îãðàíè÷åíèå 2b s + 1.
Äëèíà êàæäîé öåïè íå÷åòíàÿ, à, ñëåäîâàòåëüíî, ïîñëåäîâàòåëüíîñòü
0
+1
1
Òåïåðü ëåãêî îöåíèòü ñëîæíîñòü âñåãî àëãîðèòìà 4.10. Êàê ïîèñê â øèðèíó â ïðîöåäóðå P GA, òàê è ïîèñê â ãëóáèíó p â ïðîöåäóðå ÔÀÇÀ òðåáóþò O m pn øàãîâ, ÷òî ïðè ÷èñëå àç ïîðÿäêà n äàåò îáùóþ ñëîæíîñòü O m n n èëè, åñëè èñïîëüçîâàòü òîëüêî ÷èñëî âåðøèí â êà÷åñòâå ðàçìåðíîñòè çàäà÷è, O n5=2 .
( + ) (( + ) )
(
)
Ñòîèò îòìåòèòü, ÷òî èçâåñòåí àëãîðèòì ïîñòðîåíèÿ íàèáîëüøåãî ïàðîñî÷åòàíèÿ â ïðîèçâîëüíîì íåîáÿçàòåëüíî äâóäîëüíîì ãðàå ñî ñëîæíîñòüþ O n5=2 (ñì. [19℄). Îäíàêî ýòîò àëãîðèòì íåñðàâíåííî áîëåå ñëîæíûé. Àëãîðèòì äëÿ äâóäîëüíîãî ãðàà, îòëè÷íûé îò ïðåäñòàâëåííîãî çäåñü, ïðåäëîæèë àëèë â [26℄.
(
)
ëàâà 4. Ïîòîêè â ñåòÿõ è ðîäñòâåííûå çàäà÷è
156
4.4 Ñèñòåìû ðàçëè÷íûõ ïðåäñòàâèòåëåé
Ïóñòü hA1 ; : : : ; An i ïðîèçâîëüíàÿ ïîñëåäîâàòåëüíîñòü ìíîæåñòâ (íåîáÿçàòåëüíî íåïåðåñåêàþùèõñÿ è íåîáÿçàòåëüíî ðàçëè÷íûõ). Ñèñòåìîé ðàçëè÷íûõ ïðåäñòàâèòåëåé äëÿ hA1 ; : : : ; An i áóäåì íàçûâàòü òàêóþ ïðîèçâîëüíóþ ïîñëåäîâàòåëüíîñòü ha1 ; : : : ; an i, ÷òî ai 2 Ai , i n, è ai 6 aj äëÿ i 6 j . Ìû áóäåì ãîâîðèòü, ÷òî â òàêîé ñèñòåìå ðàçëè÷íûõ ïðåäñòàâèòåëåé ýëåìåíò ai ïðåäñòàâëÿåò ìíîæåñòâî Ai . Ïðîáëåìà ñóùåñòâîâàíèÿ è ïîñòðîåíèÿ ñèñòåìû ðàçëè÷íûõ ïðåäñòàâèòåëåé èçâåñòíà âî ìíîãèõ íåîðìàëüíûõ ïîñòàíîâêàõ. Îäíà èç íèõ ýòî òàê íàçûâàåìàÿ ¾çàäà÷à î êîìèññèÿõ¿. Èìååòñÿ n êîìèññèé, ïðè÷åì Ai ìíîæåñòâî ÷ëåíîâ i-é êîìèññèè. Íóæíî â êàæäîé êîìèññèè âûáðàòü ïðåäñåäàòåëÿ òàê, ÷òîáû íè îäèí ÷åëîâåê íå áûë ïðåäñåäàòåëåì áîëåå ÷åì â îäíîé êîìèññèè. Íåòðóäíî çàìåòèòü, ÷òî çàäà÷à î êîìèññèÿõ ñâîäèòñÿ ê ÷àñòíîìó ñëó÷àþ çàäà÷è î ñóïðóæåñêèõ ïàðàõ. Äåéñòâèòåëüíî, ñîçäàäèì ìíîæåñòâà
1
X =A
1
=
=
[ : : : [ An = fx ; : : : ; xm g Y = fy ; : : : ; yn g
(4.14)
1
(4.15)
1
(ýëåìåíòû
x ; : : : ; xm ; y ; : : : ; yn ïîïàðíî ðàçëè÷íû) è 1
1
E = ffxi ; yj g : 1 i m ^ 1 j n ^ xi 2 Aj g:
(4.16)
Î÷åâèäíî, ÷òî êàæäàÿ ñèñòåìà ðàçëè÷íûõ ïðåäñòàâèòåëåé ha1 ; : : : ; an i îäíîçíà÷íî ñîîòâåòñòâóåò ïàðîñî÷åòàíèþ ìîùíîñòè n â äâóäîëüíîì ãðàå H hX; Y; E i, à èìåííî ïàðîñî÷åòàíèþ ffa1; y1 g; : : : ; fan ; yngg.
=
Ïðèíèìàÿ âî âíèìàíèå òîò àêò, ÷òî ãðà H èìååò
m + n âåðøèí è
ðåáåð, ïîëó÷àåì
n P
j =1
jAj j
Ñëåäñòâèå 4.13. Äëÿ äàííîé ïîñëåäîâàòåëüíîñòè ìíîæåñòâ hA1 ; : : : ; An i ìîæíî íàéòè ñèñòåìó ðàçëè÷íûõ ïðåäñòàâèòåëåé èëè óñòàíîâèòü, ÷òî òàp P n n j=1 jAj j . êîé ñèñòåìû íå ñóùåñòâóåò, çà âðåìÿ O Äîêàçàòåëüñòâî. ×èñëî p àç â àëãîðèòìå ÕîïêðîòàÊàðïà, ïðèìåíåííîì ê ãðàó H , íå ïðåâûøàåò b n (ñì. òåîðåìó 4.12). Îòñþäà ÷èñëî øàãîâ àëPn p ãîðèòìà èìååò ïîðÿäîê O n n j =1 jAj j . Ìîæíî ïðåäïîëàãàòü,÷òî âñå ìíîæåñòâà Ai íåïóñòûå, â ïðîòèâíîì ñëó÷àå î÷åâèäíî, ÷òî ñèñòåìû Pn ðàçëè÷íûõ ïðåäñòàâèòåëåé íå ñóùåñòâóåò. Ïðè òàêîì ïðåäïîëîæåíèè n j =1 jAj j Pn j A j , ÷òî äàåò òðåáóåìóþ îöåíêó ñëîæíîñòè àëãîðèòìà. j j =1 Äîêàæåì òåïåðü êëàññè÷åñêóþ òåîðåìó Ô. Õîëëà [30℄, äàþùóþ íåîáõîäèìîå è äîñòàòî÷íîå óñëîâèå ñóùåñòâîâàíèÿ ñèñòåìû ðàçëè÷íûõ ïðåäñòàâèòåëåé äëÿ äàííîé ïîñëåäîâàòåëüíîñòè ìíîæåñòâ.
2
2
+1 +
+
4.4. Ñèñòåìû ðàçëè÷íûõ ïðåäñòàâèòåëåé Òåîðåìà 4.14.
ñòè
157
Ñèñòåìà ðàçëè÷íûõ ïðåäñòàâèòåëåé äëÿ ïîñëåäîâàòåëüíî-
hA ; : : : ; An i ñóùåñòâóåò òîãäà è òîëüêî òîãäà, êîãäà 1
[ Aj j 2J
jJ j äëÿ êàæäîãî J f1; : : : ; ng:
(4.17)
Äîêàçàòåëüñòâî. Åñëè ñóùåñòâóåò ñèñòåìà ðàçëè÷íûõ ïðåäñòàâèòåëåé
ha ; : : : ; an i, òî äëÿ êàæäîãî J èìååì 1
[ Aj j 2J
[ j 2J
aj
f g = jJ j
Ïðåäïîëîæèì òåïåðü, ÷òî äëÿ hA1 ; : : : ; An i íå ñóùåñòâóåò ñèñòåìû ðàçëè÷íûõ ïðåäñòàâèòåëåé, è ðàññìîòðèì íàèáîëüøåå ïàðîñî÷åòàíèå M â ãðàå H hX; Y; E i, ñîîòâåòñòâóþùåì ïîñëåäîâàòåëüíîñòè hA1 ; : : : ; An i (ñì. îðìóëû (4.14), (4.15), (4.16)). Î÷åâèäíî, ÷òî jM j < n, à ñëåäîâàòåëüíî, â Y ñóùåñòâóåò ñâîáîäíàÿ âåðøèíà, äîïóñòèì b0 . Îáîçíà÷èì ÷åðåç X0 ìíîæåñòâî òåõ âåðøèí x 2 X , äî êîòîðûõ ñóùåñòâóåò ¾÷àñòè÷íàÿ ÷åðåäóþùàÿñÿ öåïü¿ èç b0 âèäà
=
b ; a ; b ; : : : ; b k ; ak ; 0
1
=
1
1
1
1
1
1
ãäå k , ak x, fai ; bi g 2 M äëÿ i k è fbi 1 ; ai g 2 E nM äëÿ i n. Î÷åâèäíî, ÷òî X0 íå ñîäåðæèò ñâîáîäíûõ âåðøèí, ïîñêîëüêó òàêàÿ âåðøèíà ñîîòâåòñòâîâàëà áû ÷åðåäóþùåéñÿ öåïè âîïðåêè ïðåäïîëîæåíèþ, ÷òî M íàèáîëüøåå ïàðîñî÷åòàíèå. Ïóñòü Y0 áóäåò ìíîæåñòâîì âåðøèí, ñî÷åòàåìûõ ïîñðåäñòâîì M ñ âåðøèíàìè èç X0 . Îáîçíà÷èì J fj j n ^ yj 2 Y0 [fb0 gg. Íåòðóäíî çàìåòèòü, ÷òî [
= :1
è, ñëåäîâàòåëüíî,
j 2J [ Aj j 2J
Aj = X
0
= jX j = jY j = jJ j 1 < jJ j; 0
0
ò.å. óñëîâèå (4.17) íå âûïîëíÿåòñÿ. Î÷åâèäíî, ÷òî òåîðåìà Õîëëà íå èìååò áîëüøîãî çíà÷åíèÿ ñ àëãîðèòìè÷åñêîé òî÷êè çðåíèÿ, òàê êàê ïðîâåðêà óñëîâèÿ (4.17) òðåáóåò ðàññìîòðåíèÿ âñåõ n âîçìîæíûõ ìíîæåñòâ J f ; : : : ; ng. Äîêàæåì åùå îäíó òåîðåìó, ñâÿçàííóþ ñ ïàðîñî÷åòàíèÿìè â äâóäîëüíîì ãðàå. Íàçîâåì âåðøèííûì ïîêðûòèåì â ãðàå G hV; E i òàêîå ïðîèçâîëüíîå
2
1
=
ëàâà 4. Ïîòîêè â ñåòÿõ è ðîäñòâåííûå çàäà÷è
158
ìíîæåñòâî P V , ÷òî êàæäîå ðåáðî e 2 E èíöèäåíòíî ñ íåêîòîðîé âåðøèíîé èç ìíîæåñòâà P . Îòìåòèì, ÷òî P ÿâëÿåòñÿ âåðøèííûì ïîêðûòèåì òîãäà è òîëüêî òîãäà, êîãäà V nP åñòü íåçàâèñèìîå ìíîæåñòâî âåðøèí, ò.å. ìíîæåñòâî âåðøèí, â êîòîðîì íèêàêèå äâå íå ñâÿçàíû ðåáðîì.  äàëüíåéøåì íàñ áóäóò èíòåðåñîâàòü íàèìåíüøèå ïî ìîùíîñòè âåðøèííûå ïîêðûòèÿ â äâóäîëüíûõ ãðààõ. Ïóñòü M íàèáîëüøåå ïàðîñî÷åòàíèå â äâóäîëüíîì ãðàå H hX; Y; E i, è ïóñòü A ìíîæåñòâî âåðøèí a 2 X [ Y , äîñòèæèìûõ èç ñâîáîäíûõ âåðøèí â X ïðè ïîìîùè ¾÷àñòè÷íûõ ÷åðåäóþùèõñÿ öåïåé¿, îïðåäåëåííûõ àíàëîãè÷íî òîìó, êàê ýòî ñäåëàíî â äîêàçàòåëüñòâå òåîðåìû Õîëëà. Ëåììà 4.15. Åñëè ãðà H íå ñîäåðæèò èçîëèðîâàííûõ âåðøèí, òî P X nA [ Y \ A ÿâëÿåòñÿ ìèíèìàëüíûì âåðøèííûì ïîêðûòèåì, a N X \ A [ Y nA ìàêñèìàëüíûì íåçàâèñèìûì ìíîæåñòâîì âåðøèí. Äîêàçàòåëüñòâî. Ñíà÷àëà ïîêàæåì, ÷òî P ÿâëÿåòñÿ âåðøèííûì ïîêðûòèåì. Ïðåäïîëîæèì, ÷òî íåêîòîðîå ðåáðî fx; y g 2 E , x 2 X , y 2 Y , íå áóäåò èíöèäåíòíûì íè ñ îäíîé èç âåðøèí ìíîæåñòâà P . Ýòî îçíà÷àåò, ÷òî x 2 A è y 2= A. Âêëþ÷åíèå fx; yg 2 M íå ìîæåò èìåòü ìåñòà, èáî â òàêîì ñëó÷àå âåðøèíà x ìîæåò áûòü äîñòèæèìà òîëüêî ñ ïîìîùüþ öåïè, ïðîõîäÿùåé ÷åðåç y , ÷òî âûçâàëî áû y 2 A. Îäíàêî è ñèòóàöèÿ, â êîòîðîé fx; y g 2 E nM , òàêæå íåâîçìîæíà, òàê êàê öåïü, äîñòèãàþùóþ x, ìîæíî áûëî áû óâåëè÷èòü íà ðåáðî fx; y g, ÷òî ñíîâà âûçûâàëî áû y 2 A. Ïîëó÷åííîå ïðîòèâîðå÷èå äîêàçûâàåò, ÷òî P ÿâëÿåòñÿ âåðøèííûì ïîêðûòèåì. Îòìåòèì, ÷òî íè îäíà âåðøèíà â P íå ÿâëÿåòñÿ ñâîáîäíîé. Äëÿ âåðøèí èç X nA ýòî âûòåêàåò íåïîñðåäñòâåííî èç îïðåäåëåíèÿ ìíîæåñòâà A, à äëÿ âåðøèí èç Y \ A èç òîãî, ÷òî ñâîáîäíàÿ âåðøèíà â Y \ A ñîîòâåòñòâîâàëà áû ÷åðåäóþùåéñÿ öåïè îòíîñèòåëüíî M âîïðåêè íàøåìó ïðåäïîëîæåíèþ î ìàêñèìàëüíîñòè jM j. Ïîäîáíûì æå îáðàçîì äîêàçûâàåì, ÷òî íå áîëåå îäíîé âåðøèíû ïðîèçâîëüíîãî ðåáðà fx; y g 2 M ïðèíàäëåæèò ìíîæåñòâó P : åñëè y 2 Y \ A, òî x 2 A è òåì ñàìûì x 2 = P . Îòñþäà ñëåäóåò, ÷òî jP j jM j. Îäíàêî êàæäîå âåðøèííîå ïîêðûòèå ïî îïðåäåëåíèþ äîëæíî ñîäåðæàòü íå ìåíåå îäíîé âåðøèíû êàæäîãî ðåáðà, à äëÿ ðåáåð ïàðîñî÷åòàíèÿ î÷åâèäíî, ÷òî ýòè âåðøèíû ïîïàðíî ðàçëè÷íû. Ñëåäîâàòåëüíî, âñåãäà äîëæíî âûïîëíÿòüñÿ jP j jM j, ÷òî äîêàçûâàåò ìèíèìàëüíîñòü íàøåãî âåðøèííîãî ïîêðûòèÿ è ðàâåíñòâî jP j jM j. Âòîðàÿ ÷àñòü ëåììû âûòåêàåò èç ïåðâîé â ñèëó íàøèõ ïðåäûäóùèõ çàìå÷àíèé è èç òîãî, ÷òî N X [ Y nP . Îòìåòèì ñëåäñòâèå èç ïðèâåäåííîãî âûøå äîêàçàòåëüñòâà; çàìåòèì, ÷òî èçîëèðîâàííûå âåðøèíû íå îêàçûâàþò íèêàêîãî âëèÿíèÿ íè íà ïàðîñî÷åòàíèÿ, íè íà âåðøèííûå ïîêðûòèÿ. Ñëåäñòâèå 4.16.  ïðîèçâîëüíîì äâóäîëüíîì ãðàå ìèíèìàëüíàÿ ìîùíîñòü âåðøèííîãî ïîêðûòèÿ ðàâíà ìàêñèìàëüíîé ìîùíîñòè ïàðîñî÷åòàíèÿ. Ñëåäóåò äàòü çäåñü äðóãóþ îðìóëèðîâêó, ýêâèâàëåíòíóþ ïðèâåäåííîé âûøå, îðìóëèðîâêó â òåðìèíàõ 0-1-ìàòðèö. Ïîä ëèíèåé òàêîé ìàòðèöû ìû
=
(
) ( ) ( )
)
=(
=
=(
)
=
4.4. Ñèñòåìû ðàçëè÷íûõ ïðåäñòàâèòåëåé
ju u ju u u
y x Z ZZ y XX ZZ x X XXXZ y x y X x XXX XX y 1
2
3
4
u u u ju
159
1
2
3
4
x x x x
y
1
1 2 3 4
1 1 0 0
y
2
0 0 0 1
y
3
1 1 1 1
y
4
0 0 0 1
y
5
0 0 0 1
5
èñ. 4.5: Èëëþñòðàöèÿ âåíãåðñêîé òåîðåìû. áóäåì ïîíèìàòü åå ñòðîêó èëè ñòîëáåö. Òåîðåìà, ïðèâîäèìàÿ íèæå, ÷àñòî íàçûâàåòñÿ òàêæå ¾âåíãåðñêîé òåîðåìîé¿. Òåîðåìà 4.17. (Êåíèã è Ýãåðâàðè). Äëÿ ïðîèçâîëüíîé 0-1-ìàòðèöû ìàêñèìàëüíàÿ ìîùíîñòü ìíîæåñòâà (ïîÿâëåíèé) åäèíèö, èç êîòîðûõ íèêàêèå äâå íå ëåæàò íà îäíîé ëèíèè, ðàâíà ìèíèìàëüíîìó ÷èñëó ëèíèé, êîòîðûìè ìîæíî ïîêðûòü âñå åäèíèöû. Äîêàçàòåëüñòâî. Äëÿ äàííîé 0-1-ìàòðèöû A aij ñ n ñòðîêàìè è m ñòîëáöàìè ïîñòðîèì äâóäîëüíûé ãðà H hX; Y; E i, ãäå X fx1 ; : : : ; xn g, Y fy1; : : : ; ymg è
=
=
=[ ℄
E = ffxi ; yj g : 1 i n ^ 1 j m ^ aij
=
= 0g
Ëåãêî îòìåòèòü, ÷òî ìíîæåñòâà åäèíèö â A, íèêàêèå äâå èç êîòîðûõ íå ëåæàò íà îäíîé ëèíèè, â òî÷íîñòè ñîîòâåòñòâóþò ïàðîñî÷åòàíèþ â H , à êàæäîå ìíîæåñòâî ëèíèé â A, ïîêðûâàþùèõ âñå åäèíèöû, ïðåäñòàâëÿåò âåðøèííîå ïîêðûòèå â H . Ñëåäîâàòåëüíî, íàøà òåîðåìà ÿâëÿåòñÿ ïðîñòî äðóãîé îðìóëèðîâêîé ñëåäñòâèÿ 4.16. Íà ðèñ. 4.5 ïðåäñòàâëåí äâóäîëüíûé ãðà ñ ìàêñèìàëüíûì ïàðîñî÷åòàíèåì è ìèíèìàëüíûì âåðøèííûì ïîêðûòèåì, à òàêæå ïðåäñòàâëåíà ñîîòâåòñòâóþùàÿ 0-1-ìàòðèöà, èëëþñòðèðóþùàÿ âåíãåðñêóþ òåîðåìó. Îòìåòèì, ÷òî ìíîæåñòâî A, ïîÿâëÿþùååñÿ â ëåììå 4.15, ìîæíî íàéòè çà âðåìÿ O jX j jY j jE j , èñïîëüçóÿ ïîèñê â ãëóáèíó (èëè â øèðèíó). Åñëè ìû âîñïîëüçóåìñÿ àëãîðèòìîì ÕîïêðîòàÊàðïà è çàìåòèì, ÷òî êàæäóþ èçîëèðîâàííóþ âåðøèíó ìîæíî óäàëèòü èç ïðîèçâîëüíîãî âåðøèííîãî ïîêðûòèÿ è ìîæíî äîáàâèòü ê êàæäîìó íåçàâèñèìîìó ìíîæåñòâó âåðøèí, òî ïîëó÷èì ñëåäñòâèå:
(
+
+ )
ëàâà 4. Ïîòîêè â ñåòÿõ è ðîäñòâåííûå çàäà÷è
160
Ñëåäñòâèå 4.18. Êàê ìèíèìàëüíîå âåðøèííîå ïîêðûòèå, òàê è ìàêñèìàëüíîå íåçàâèñèìîå ìíîæåñòâî âåðøèí â ïðîèçâîëüíîì p äâóäîëüíîì ãðàå H hX; Y; E i ìîãóò áûòü íàéäåíû çà âðåìÿ O m n n , ãäå n jX [ Y j è m jE j. Ñëåäóåò îòìåòèòü, ÷òî äëÿ çàäà÷, ïðèâåäåííûõ âûøå, íå èçâåñòåí íè îäèí ïîëèíîìèàëüíûé àëãîðèòì äëÿ ñëó÷àÿ ïðîèçâîëüíûõ, íå îáÿçàòåëüíî äâóäîëüíûõ ãðàîâ.  çàêëþ÷åíèå ýòîãî ïàðàãðàà çàéìåìñÿ çàäà÷åé ñóùåñòâîâàíèÿ îáùåé ñèñòåìû ðàçëè÷íûõ ïðåäñòàâèòåëåé äëÿ äâóõ ïîñëåäîâàòåëüíîñòåé ìíîæåñòâ hA1 ; : : : ; An i è hB1 ; : : : ; Bn i. àññìîòðåíèå òàêîé ñèñòåìû êàê ïðîñòî ñèñòåìû ðàçëè÷íûõ ïðåäñòàâèòåëåé êàê äëÿ ïåðâîé, òàê è äëÿ âòîðîé ïîñëåäîâàòåëüíîñòè íå äàåò íè÷åãî èíòåðåñíîãî: ñèòóàöèÿ ñâîäèòñÿ ïðîñòî ê ðàññìîòðåíèþ ïîñëåäîâàòåëüíîñòè hA1 \ B1 ; : : : ; An \ Bn i. Ïîýòîìó ìû îïðåäåëèì îáùóþ ñèñòåìó ðàçëè÷íûõ ïðåäñòàâèòåëåé äëÿ íàøèõ ïîñëåäîâàòåëüíîñòåé êàê ïðîèçâîëüíóþ ïîñëåäîâàòåëüíîñòü ha1 ; : : : ; an i, îáëàäàþùóþ òåì ñâîéñòâîì, ÷òî ñóùåñòâóåò ïåðåñòàíîâêà ìíîæåñòâà f ; : : : ; ng, òàêàÿ ÷òî ha1 ; : : : ; an i ÿâëÿåòñÿ ñèñòåìîé ðàçëè÷íûõ ïðåäñòàâèòåëåé äëÿ hA1 ; : : : ; An i è äëÿ hB(1) ; : : : ; B(n) i. Çàäà÷à ñóùåñòâîâàíèÿ è ïîñòðîåíèÿ òàêîé ñèñòåìû ëåãêî ñâîäèòñÿ (ñì. [23℄) ê ïîñòðîåíèþ ìàêñèìàëüíîãî íóëü-åäèíè÷íîãî ïîòîêà òåì æå ñïîñîáîì, ÷òî è äëÿ íàõîæäåíèÿ ïàðîñî÷åòàíèÿ. Ñîîòâåòñòâóþùàÿ ñåòü èìååò ìíîæåñòâî âåðøèí
= =
(( + ) )
=
1
= fs; tg [ fx ; : : : ; xng [ fu ; : : : ; umg [ fv ; : : : ; vmg [ fy ; : : : ; yng; ãäå A [: : :[An [B [: : :[Bn = fz ; : : : ; zm g. Âåðøèíà xi ñîîòâåòñòâóåò ìíîæåñòâó V
Ai ,
1
1
1
1
1
1
1
âåðøèíà yi ìíîæåñòâó Bi , à âåðøèíà uj , òàê æå êàê è âåðøèíà vj , ýëåìåíòó zj . Ìíîæåñòâî äóã ñåòè îïðåäåëÿåòñÿ ñëåäóþùèì îáðàçîì:
E=
fhs; xi i : 1 i ng [ ffxi ; uj g : 1 i n ^ 1 j m ^ zj 2 Ai g [ ffuj ; vj g : 1 j mg [ ffvj ; yi g : 1 j m ^ 1 i n ^ zj 2 Bi g [ ffyj ; tg : 1 j ng;
ïðè÷åì âñå äóãè èìåþò ïðîïóñêíóþ ñïîñîáíîñòü, ðàâíóþ åäèíèöå. Ïðåäîñòàâëÿåì ÷èòàòåëþ äîêàçàòåëüñòâî òîãî, ÷òî îáùàÿ ñèñòåìà ðàçëè÷íûõ ïðåäñòàâèòåëåé ñóùåñòâóåò òîãäà è òîëüêî òîãäà, êîãäà â îïèñàííîé âûøå ñåòè ñóùåñòâóåò ïîòîê âåëè÷èíû n, à òàêæå äåòàëåéàëãîðèòìà íàõîæäåíèÿ òàêîé ñèñòåìû p óòî÷íåíèå P n nj=1 jAj j jBj j (ñì. çàäà÷ó 4.19). ñî ñëîæíîñòüþ O Î÷åíü ïðîñò ñëó÷àé, êîãäà êàê hA1 ; : : : ; An i òàê è hB1 ; : : : ; Bn i îïðåäåëÿåò ðàçáèåíèå íåêîòîðîãî ìíîæåñòâà íà áëîêè îäèíàêîâîé ìîùíîñòè. Òåîðåìà 4.19. Ïóñòü A1 [ : : : [ An B1 [ : : : [ Bn X , jAi j jBi j k è jX j nk. Òîãäà ñóùåñòâóåò k îáùèõ ñèñòåì ðàçëè÷íûõ ïðåäñòàâèòåëåé, êîòîðûå â ñóììå èñ÷åðïûâàþò âñå ýëåìåíòû ìíîæåñòâà X .
(
=
+
)
=
=
=
=
4.4. Ñèñòåìû ðàçëè÷íûõ ïðåäñòàâèòåëåé Y
Äîêàçàòåëüñòâî. Ïîñòðîèì äâóäîëüíûé ãðà H
= fy ; : : : ; ymg,
161
= hX; Y; E i, ãäå X = fx ; : : : ; xng, 1
1
E = ffxi ; yj g : 1 i; j n ^ Ai \ Bj 6= ?g Ïîêàæåì, ÷òî â ãðàå H ñóùåñòâóåò ïàðîñî÷åòàíèå ìîùíîñòè n. Äåéñòâèòåëüíî, S äëÿ ïðîèçâîëüíîãî J f ; : : : ; ng ñóììà j 2J Aj ñîäåðæèò â òî÷íîñòè jJ jk ýëåìåíòîâ è â ðåçóëüòàòå ïåðåñåêàåòñÿ ïî êðàéíåé ìåðå ñ jJ j èç ìíîæåñòâ B1 ; : : : ; Bn . Ñëåäîâàòåëüíî, ñóùåñòâîâàíèå çàäàííîãî ïàðîñî÷åòàíèÿ âûòåêàåò èç òåîðåìû Õîëëà (ñì. òåîðåìó 4.14). Ïóñòü íàøå ïàðîñî÷åòàíèå ñî÷åòàåò xi ñ y(i) , i n. Ìíîæåñòâà Ci Ai \ B(i) , i n, íåïóñòû è íå ïåðåñåêàþòñÿ, à ñëåäîâàòåëüíî, âûáèðàÿ ïðîèçâîëüíûå ýëåìåíòû ai 2 Ci i n, ïîëó÷àåì îáùóþ ñèñòåìó ðàçëè÷íûõ ïðåäñòàâèòåëåé ha1 ; : : : ; an i. Óäàëèâ ýëåìåíòû ai , i n, èç ìíîæåñòâ Ai è Bi , t n, ïîëó÷àåì ñèòóàöèþ, èäåíòè÷íóþ ïåðâîíà÷àëüíîé, ñ òîé ðàçíèöåé, ÷òî ìîùíîñòü âñåõ ìíîæåñòâ óìåíüøåíà äî k . Ïîâòîðèâ ïðèâåäåííîå âûøå ïîñòðîåíèå k ðàç, ïîëó÷àåì k ñèñòåì ðàçëè÷íûõ ïðåäñòàâèòåëåé, î êîòîðûõ ðå÷ü èäåò â òåîðåìå. Ïîêàæåì òåïåðü ïðèìåíåíèå ýòîé òåîðåìû ê òåîðèè êîììóòàöèîííûõ ñåòåé, èñïîëüçóåìûõ â òåëåîííîé ñâÿçè. Ïðåäïîëîæèì, ÷òî äàíû äâà ìíîæåñòâà ¾àáîíåíòîâ¿ X è Y , è ïóñòü jX j jY j N . Íàøà çàäà÷à ñîñòàâèòü ïðîåêò óñòàíîâêè, ñîñòîÿùåé èç îäèíî÷íûõ ïåðåêëþ÷àòåëåé, êîòîðàÿ ìîãëà áû ðåàëèçîâàòü ñèñòåìó ñâÿçåé, îïðåäåëåííóþ âçàèìíî îäíîçíà÷íûì îòîáðàæåíèåì ' X ! Y . Òàêóþ óñòàíîâêó ìû áóäåì íàçûâàòü ïåðåñòðàèâàåìîé ñåòüþ ðàçìåðíîñòè N N . Ïðåäïîëîæèì, ÷òî êàæäûé ïåðåêëþ÷àòåëü ìîæåò íàõîäèòüñÿ â îäíîì èç äâóõ ñîñòîÿíèé: çàìêíóò è ðàçîìêíóò. Ñàìûì ïðîñòûì ðåøåíèåì, òðåáóþùèì îäíàêî N 2 ïåðåêëþ÷àòåëåé, ÿâëÿåòñÿ èñïîëüçîâàíèå îòäåëüíîãî ïåðåêëþ÷àòåëÿ ìåæäó êàæäîé ïàðîé àáîíåíòîâ hx; y i 2 X Y . åàëèçàöèÿ îòîáðàæåíèÿ ' îñíîâûâàåòñÿ íà çàìûêàíèè ïåðåêëþ÷àòåëåé äëÿ ïàð hx; ' x i, x 2 X , ïðè ðàçìûêàíèè âñåõ îñòàëüíûõ. Òàêóþ óñòàíîâêó áóäåì íàçûâàòü êîììóòàòîðîì ðàçìåðíîñòè N N . Îòìåòèì, ÷òî êàæäàÿ ïåðåñòðàèâàåìàÿ ñåòü ìîæåò ðåàëèçîâûâàòü âñå N (âçàèìíî îäíîçíà÷íûõ) îòîáðàæåíèé X íà Y , ñëåäîâàòåëüíî, îíà äîëæíà èìåòü íå ìåíåå ÷åì N âîçìîæíûõ ñîñòîÿíèé. Ïîñêîëüêó ñîñòîÿíèå îïðåäåëÿåòñÿ êîìáèíàöèåé ÷àñòíûõ (ñ äâóìÿ ñîñòîÿíèÿìè) ïåðåêëþ÷àòåëåé, òî ÷èñëî ïåðåêëþ÷àòåëåé äîëæíî áûòü íå ìåíåå ÷åì N O N N . Äàëåå áóäåò ïîêàçàíî, ÷òî ñóùåñòâóåò ïåðåñòðàèâàåìàÿ ñåòü, ñîäåðæàùàÿ O N N ïåðåêëþ÷àòåëåé.
1
=
1
1
1
1
1
1
=
=
:
()
!
!
log ! = ( log ) ( log )
=
Ïðåäïîëîæèì, ÷òî N nk , ãäå n è k öåëûå ÷èñëà, áîëüøèå åäèíèöû. Òðåõñåêöèîííóþ ñåòü Êëîñà (ñì. [4℄, [7℄, [50℄) òèïà hn; k i ìû ñòðîèì èç òðåõ ñåêöèé: ïåðâîé, ñîñòîÿùåé èç n êîììóòàòîðîâ ðàçìåðíîñòè k k , âòîðîé, ñîñòîÿùåé èç k êîììóòàòîðîâ ðàçìåðíîñòè n n, è òðåòüåé, ñîñòîÿùåé, êàê è ïåðâàÿ, èç n
ëàâà 4. Ïîòîêè â ñåòÿõ è ðîäñòâåííûå çàäà÷è
162
x
1
x
2
x
3
x
4
x
5
x
6
e e e e e e
Ñåêöèÿ 1
BB
B B
B BB J BB J JJ J
e e e e e e
Ñåêöèÿ 3
Ñåêöèÿ 2
QS Q SQQQQ Q QSS QQSQS
JJ J BB JJ BB
B QS Q BB SQQQ
BB QQSS QQSQS
èñ. 4.6: Òðåõñåêöèîííàÿ ñåòü Êëîñà òèïà
y
1
y
2
y
3
y
4
y
5
y
6
h3; 2i
êîììóòàòîðîâ ðàçìåðíîñòè k k . Ýòè ñåêöèè ñîåäèíåíû ìåæäó ñîáîé ñëåäóþùèì îáðàçîì: i-é âûõîä j -ãî êîììóòàòîðà ïåðâîé ñåêöèè ñîåäèíåí ïîñòîÿííî ñ j -ì âõîäîì i-ãî êîììóòàòîðà âòîðîé ñåêöèè, à i-é âõîä j -ãî êîììóòàòîðà òðåòüåé ñåêöèè ñîåäèíåí ñ j -ì âûõîäîì i-ãî êîììóòàòîðà âòîðîé ñåêöèè äëÿ i n, j k. Òðåõñåêöèîííàÿ ñåòü Êëîñà òèïà h ; i ïîêàçàíà íà ðèñ. 4.6. Òåîðåìà 4.20. (Ñëåïÿí [62℄, Äèãèä [10℄). Òðåõñåêöèîííàÿ ñåòü Êëîñà ÿâëÿåòñÿ ïåðåñòðàèâàåìîé ñåòüþ. Äîêàçàòåëüñòâî. Ïóñòü ' ïðîèçâîëüíîå âçàèìíî îäíîçíà÷íîå îòîáðàæåíèå X íà Y . Îáîçíà÷èì ÷åðåç Ai ìíîæåñòâî âõîäîâ i-ãî êîììóòàòîðà ïåðâîé ñåêöèè, ÷åðåç Ci ìíîæåñòâî âûõîäîâ i-ãî êîììóòàòîðà òðåòüåé ñåêöèè è
1
1
32
Bi = fx 2 X : '(x) 2 Ci g:
Î÷åâèäíî, ÷òî ìíîæåñòâà A1 ; : : : ; An , êàê è ìíîæåñòâà B1 ; : : : ; Bn , îïðåäåëÿþò äâà ðàçáèåíèÿ ìíîæåñòâà X íà áëîêè ìîùíîñòüþ k êàæäûé.  ñèëó òåîðåìû 4.19 ìíîæåñòâî X ìîæíî ïðåäñòàâèòü â âèäå ïðÿìîé ñóììû X X1 [: : :[Xk , ãäå êàæäîå èç ìíîæåñòâ Xj ÿâëÿåòñÿ ìíîæåñòâîì ýëåìåíòîâ íåêîòîðîé îáùåé ñèñòåìû ðàçëè÷íûõ ïðåäñòàâèòåëåé äëÿ hA1 ; : : : ; An i è hB1 ; : : : ; Bn i. Îòìåòèì, ÷òî äëÿ j ; : : : ; k ¾àáîíåíòîâ¿ èç ìíîæåñòâà Xj ìû ìîæåì ñîåäèíèòü ñ ñîîòâåòñòâóþùèìè ¾àáîíåíòàìè¿ â Y ÷åðåç j -é êîììóòàòîð öåíòðàëüíîé ñåêöèè. Äåé-
=
=1
4.4. Ñèñòåìû ðàçëè÷íûõ ïðåäñòàâèòåëåé
163
=
( )=
ñòâèòåëüíî, ïóñòü Xj fa1 ; : : : ; an g, ãäå ai 2 Ai , è aj 2 B(i) , ò.å. ' ai C(i) äëÿ i n è íåêîòîðîé ïåðåñòàíîâêè ìíîæåñòâà f ; : : : ; ng. Êîììóòàòîðû ïåðâîé ñåêöèè, ñîäåðæàùèå a1 ; : : : ; an , êàê è êîììóòàòîðû òðåòüåé ñåêöèè, ñîäåðæàùèå ' a1 ; : : : ; ' an , ïîïàðíî ðàçëè÷íû, à ñëåäîâàòåëüíî, äëÿ i ;:::;n ìû ìîæåì ïîñòðîèòü öåïü, ðåàëèçóþùóþ ñîåäèíåíèå ai ñ ' ai , ñîåäèíÿÿ ai ñ j -ì âûõîäîì i-ãî êîììóòàòîðà ïåðâîé ñåêöèè, çàòåì i-é âõîä ñ i -ì âûõîäîì j ãî êîììóòàòîðà âòîðîé ñåêöèè è, íàêîíåö, j -é âõîä i -ãî êîììóòàòîðà òðåòüåé ñåêöèè ñ ' ai . Íà ðèñ. 4.6 æèðíîé ëèíèåé ïîêàçàíî ñîåäèíåíèå, ðåàëèçóþùåå ñëåäóþùåå ñîîòâåòñòâèå ':
1
( )
1
( )
()
( )
'(x
=1
( ) ()
) = y ; '(x ) = y ; '(x ) = y ; '(x ) = y ; '(x ) = y ; '(x ) = y ; (X = fx ; x ; x g; X = fx ; x ; x g): Ïðåäïîëîæèì òåïåðü, ÷òî N èìååò âèä 2p (åñëè ýòî íå òàê, óâåëè÷èâàåì N äî áëèæàéøåé ñòåïåíè äâîéêè, ò.å. äî 2d N e ). Ïîñòðîèì òðåõñåêöèîííóþ ñåòü Êëîñà òèïà hN=2; 2i. Åñëè êàæäûé èç äâóõ êîììóòàòîðîâ ñðåäíåé ñåêöèè ìû çàìåíèì çàòåì òðåõñåêöèîííîé ñåòüþ Êëîñà òèïà hN=4; 2i, òî î÷åâèäíî, ÷òî 1
4
2
2
1
3
1
5
3
6
4
6
2
2
5
4
3
6
1
5
log
ïîëó÷åííàÿ ñåòü (ñ ïÿòüþ ñåêöèÿìè) îñòàíåòñÿ ïåðåñòðàèâàåìîé. Àíàëîãè÷íûå äåéñòâèÿ ìû ìîæåì ïðîäîëæàòü äî òåõ ïîð, ïîêà âñå êîììóòàòîðû íå áóäóò ðàçìåðíîñòè . Íåòðóäíî çàìåòèòü, ÷òî ïîëó÷åííàÿ ïåðåñòðàèâàåìàÿ ñåòü ñîñòîèò èç ð ñåêöèé, êàæäàÿ èç êîòîðûõ âêëþ÷àåò N= êîììóòàòîðîâ ðàçìåðíîñòè . Ñëåäîâàòåëüíî, îáùåå ÷èñëî ïåðåêëþ÷àòåëåé ðàâíî
2 2 2 +1 2 2 2 (2ð + 1) (N=2) 4 = 2N (2p + l) = 2N (2 log N + 1) = O(NlogN ):
Äðóãèì ïðèìåíåíèåì òåîðåìû 4.19 ÿâëÿåòñÿ çàäà÷à ñîñòàâëåíèÿ ðàñïèñàíèÿ çàíÿòèé.  ïðîñòåéøåé íàèáîëåå èäåàëèçèðîâàííîé îðìóëèðîâêå ýòà çàäà÷à ïðåäñòàâëåíà íåêîòîðûì ìíîæåñòâîì çàíÿòèé X ìîùíîñòè nk è äâóìÿ ðàçáèåíèÿìè X W1 [ : : : [ Wn è X S1 [ : : : [ Sn , ãäå Wi ìíîæåñòâî çàíÿòèé, ïðîâîäèìûõ i-ì ïðåïîäàâàòåëåì, a Si ìíîæåñòâî çàíÿòèé, ïðîâîäèìûõ â i-é àóäèòîðèè, ïðè÷åì ïðåäïîëàãàåì, ÷òî jWi j jSi j k, i n. Ïîñòðîåíèå, ïðîâåäåííîå â äîêàçàòåëüñòâå òåîðåìû 4.19, äàåò k îáùèõ ñèñòåì ðàçëè÷íûõ ïðåäñòàâèòåëåé äëÿ ïîñëåäîâàòåëüíîñòåé hW1 ; : : : ; Wn i è hS1 ; : : : ; Sn i, ïðè÷åì ýòè ñèñòåìû â ñóììå èñ÷åðïûâàþò âñå ìíîæåñòâî çàíÿòèé X . Åñëè, ñêàæåì, êàæäîå çàíÿòèå äëèòñÿ 1 ÷àñ, òî, ïðîâîäÿ çàíÿòèÿ, îïðåäåëåííûå j -é ñèñòåìîé â òå÷åíèå j -ãî ÷àñà, j ; : : : ; k, ìû ïîëó÷àåì ðàñïèñàíèå çàíÿòèé, â êîòîðîì âñå çàíÿòèÿ ïðîâîäÿòñÿ â òå÷åíèå k ÷àñîâ, ïðè÷åì âñå ýòî âðåìÿ çàíÿòû êàæäàÿ àóäèòîðèÿ è êàæäûé ïðåïîäàâàòåëü. Íà ïðàêòèêå ñîñòàâëåíèå ðàñïèñàíèÿ çàíÿòèé ÿâëÿåòñÿ áîëåå ñëîæíûì, ïîòîìó ÷òî ïîÿâëÿþòñÿ äîïîëíèòåëüíûå îãðàíè÷åíèÿ (÷àñòî ïðîòèâîðå÷èâûå), âîçíèêàþùèå, íàïðèìåð, èç-çà òîãî, ÷òî
=
=
=
=1
= 1
ëàâà 4. Ïîòîêè â ñåòÿõ è ðîäñòâåííûå çàäà÷è
164
íåêîòîðûå ó÷àùèåñÿ õîòÿò áûòü ñëóøàòåëÿìè ìíîãèõ êóðñîâ, êîòîðûå òåì ñàìûì íå ìîãóò ïðîõîäèòü îäíîâðåìåííî.
4.5 àçëîæåíèå íà öåïè
Ñåìåéñòâî C ïîäìíîæåñòâ êîíå÷íîãî ìíîæåñòâà X íàçûâàåòñÿ öåïüþ, åñëè äëÿ ïðîèçâîëüíûõ A; B 2 C èìååì A B èëè B A. Äðóãèìè ñëîâàìè, C ÿâëÿåòñÿ öåïüþ, åñëè ýòî ñåìåéñòâî ìîæíî ïðåäñòàâèòü êàê C fC1 ; : : : ; Ck g, ãäå k jC j è C1 C2 : : : Ck .  äàííîì ïàðàãðàå ìû çàéìåìñÿ ðàçëîæåíèåì ñåìåéñòâà } X âñåõ ïîäìíîæåñòâ ìíîæåñòâà X íà ìèíèìàëüíîå ÷èñëî öåïåé. Ïóñòü n jX j. Öåïü W áóäåì íàçûâàòü ñèììåòðè÷íîé öåïüþ â } X , åñëè îíà èìååò âèä
=
( )
=
=
( )
Cbn= j Cbn= j : : : Cbn= j ; ãäå 0 j bn=2 è jCi j = i äëÿ bn=2 j i bn=2 + j . 2
2
+1
2 +
( )
Ïîêàæåì òåïåðü ïîñòðîåíèå, êîòîðîå èç ðàçáèåíèÿ ñåìåéñòâà } X íà ñèììåòðè÷íûå öåïè ñòðîèò ðàçáèåíèå ñåìåéñòâà } X [ fag a 2 = X íà ñèììåòðè÷íûå öåïè. Äëÿ ýòîãî êàæäóþ ñèììåòðè÷íóþ öåïü A1 A2 : : : Ak â } X , ïðèíàäëåæàùóþ íàøåìó ðàçáèåíèþ, çàìåíèì ñíà÷àëà ñëåäóþùèìè äâóìÿ öåïÿìè â } X [ fag : A1 A2 : : : Ak ; (4.18)
(
(
)(
)
( )
)
A
1
[ fag A [ fag : : : Ak [ fag 2
(4.19)
Î÷åâèäíî, ÷òî òàêèì îáðàçîì ìû ïîëó÷àåì íåêîòîðîå ðàçáèåíèå ñåìåéñòâà
}(X [ fag) íà öåïè. Öåïè (4.18) è (4.19) íå áóäóò ñèììåòðè÷íûìè â }(X [ fag), íî íåòðóäíî çàìåòèòü, ÷òî èõ ìîæíî ñäåëàòü òàêèìè, ïåðåíåñÿ ïîñëåäíåå ìíîæåñòâî èç âòîðîé öåïè â ïåðâóþ:
A : : : Ak Ak [ fag; A [ fag A [ fag : : : Ak fag A
=1
1
2
1
2
1
(4.20) (4.21)
Åñëè k , òî âòîðàÿ èç ïðèâåäåííûõ âûøå öåïåé èñ÷åçàåò, ò.å. âñå ïîäìíîæåñòâà, ïîÿâëÿþùèåñÿ â (4.18) è (4.19), ìû ïîìåùàåì â îäíó ñèììåòðè÷íóþ öåïü. Íà÷èíàÿ ñ ñåìåéñòâà } ? f?g, êîòîðîå ñàìî ÿâëÿåòñÿ ñèììåòðè÷íîé öåïüþ, è ïîâòîðÿÿ îïèñàííîå âûøå ïîñòðîåíèå n ðàç, ïîëó÷àåì ðàçáèåíèå ñåìåéñòâà } X íà ñèììåòðè÷íûå öåïè. Àíòèöåïüþ â } X áóäåì íàçûâàòü òàêîå ïðîèçâîëüíîå ñåìåéñòâî A } X , ÷òî äëÿ ïðîèçâîëüíûõ A; B 2 A, A 6 B , èìååì A * B è B * A. Ïðèìåðîì àíòèöåïè ÿâëÿåòñÿ }k X , ñåìåéñòâî âñåõ k -ýëåìåíòíûõ ïîäìíîæåñòâ ìíîæåñòâà X ( k jX j). Ïóñòü } X C1 [ : : : [Cp ïðîèçâîëüíîå ðàçáèåíèå ñåìåéñòâà
( )=
( )
0
( ) ( )
=
( )=
( )
4.5. àçëîæåíèå íà öåïè
165
}(X ) íà íåïåðåñåêàþùèåñÿ öåïè, è
( )
ïóñòü A ïðîèçâîëüíàÿ àíòèöåïü â } X . ßñíî, ÷òî íå áîëåå îäíîãî ìíîæåñòâà A 2 A ïîïàäàåò â êàæäóþ èç öåïåé Ci è ÷òî îòñþäà âûòåêàåò p jAj. Ñëåäîâàòåëüíî, èìååì Ñëåäñòâèå 4.21. Ìîùíîñòü êàæäîé àíòèöåïè â } X íå ïðåâûøàåò ÷èñëà áëîêîâ â ïðîèçâîëüíîì ðàçáèåíèè ñåìåéñòâà } X íà öåïè. Åñëè áû íàì óäàëîñü óêàçàòü òàêóþ àíòèöåïü A â } X è òàêîå ðàçáèåíèå íà öåïè } X C1 [ : : : [ Cp , ïðè êîòîðîì jAj p, òî î÷åâèäíî, ÷òî A áûëî áû ìàêñèìàëüíîé àíòèöåïüþ â } X , à íàøå ðàçáèåíèå áûëî áû ðàçáèåíèåì ñåìåéñòâà } X íà ìèíèìàëüíîå ÷èñëî öåïåé.  ñóùíîñòè ëåãêî óáåäèòüñÿ, ÷òî òàêèå àíòèöåïü è ðàçáèåíèÿ ñóùåñòâóþò. Äîñòàòî÷íî ïðèíÿòü A }bn=2 X n jX j , à â êà÷åñòâå ðàçáèåíèÿ ðàññìîòðåòü ïðîèçâîëüíîå ðàçáèåíèå ñåìåéñòâà } X íà ñèììåòðè÷íûå öåïè, íàïðèìåð ðàçáèåíèå, ïîëó÷åííîå ïðèìåíåíèåì îïèñàííîãî ðåêóðñèâíîãî ïîñòðîåíèÿ. Ýòî ñëåäóåò èç òîãî, ÷òî êàæäàÿ ñèììåòðè÷íàÿ öåïü ñîäåðæèò â òî÷íîñòè îäíî bn= -ýëåìåíòíîå ìíîæåñòâî. Ïîñêîëüêó öåïè íå ïåðåñåêàþòñÿ è ïîêðûâàþò } X , òî èõ äîëæíî áûòü â òî÷íîñòè ñòîëüêî, ñêîëüêî èìååòñÿ bn= -ýëåìåíòíûõ ïîäìíîæåñòâ. Âñïîìíèì, ÷òî ÷èñëî k -ýëåìåíòíûõ ïîäìíîæåñòâ n-ýëåìåíòíîãî ìíîæåñòâà ðàâíî áèíîìèàëüíîìó êîýèöèåíòó nk (ñì. ðàçä. 1.6), è óïîðÿäî÷èì ïîëó÷åííûå àêòû. Òåîðåìà 4.22 (Øïåðíåð [63℄). Ìîùíîñòü ïðîèçâîëüíîé àíòèöåïè â } X , jX j n, íå ïðåâûøàåò bn=n2 , ò.å. }bn=2 X ìàêñèìàëüíàÿ àíòèöåïü. Òåîðåìà 4.23. Êàæäîå ðàçáèåíèå ñåìåéñòâà } X íà ñèììåòðè÷íûå öåïè ñîñòîèò èç bn=n2 öåïåé, ãäå n jX j, è ÿâëÿåòñÿ ðàçáèåíèåì ñåìåéñòâà } X íà ìèíèìàëüíîå âîçìîæíîå ÷èñëî öåïåé. Îïèøåì òåïåðü äåòàëüíóþ ðåàëèçàöèþ ïðåäëîæåííîãî ðåêóðñèâíîãî ìåòîäà ïîñòðîåíèÿ ðàçáèåíèÿ ñåìåéñòâà } X íà öåïè. Ïðèìåì X f ; : : : ; ng è ïðåäñòàâèì êàæäóþ ñèììåòðè÷íóþ öåïü C â } X çàïèñüþ, ñîäåðæàùåé ìàññèâ P ::n è ïåðåìåííûå íà÷ è êîíåö, òàêèå ÷òî
( )= ( )
( =
( ) =
( )
( ) ( )
=
) ( )
( )
2
=
2
( )
=
( )
[1 ℄
( )
( )
( )
( )
( )
= 1
C = ffP [1℄; P [2℄; : : : ; P [i℄g : íà÷ i êîíåög: Êðîìå òîãî, òàêàÿ çàïèñü ñîäåðæèò óêàçàòåëü ñëåä íà çàïèñü, ïðåäñòàâëÿþùóþ ñëåäóþùóþ öåïü ðàçáèåíèÿ. Àëãîðèòì 4.24. (Íàõîæäåíèå ðàçáèåíèÿ ñåìåéñòâà âñåõ ïîäìíîæåñòâ ìíîæåñòâà f ; : : : ; ng íà ñèììåòðè÷íûå öåïè.) Äàííûå: n. åçóëüòàòû: Ñïèñîê çàïèñåé, êàæäàÿ èç êîòîðûõ ïðåäñòàâëÿåò áëîê ðàçáèåíèÿ ñåìåéñòâà } f ; : : : ; ng íà ñèììåòðè÷íûå öåïè (ðàçá ÿâëÿåòñÿ óêàçàòåëåì íà íà÷àëî ýòîãî ñïèñêà).
1
(1
)
1 fun tion ÀÇÁÈÅÍÈÅ(k ); (*çíà÷åíèåì ýòîé óíêöèè ÿâëÿåòñÿ óêàçàòåëü íà íà÷àëî ñïèñêà çàïèñåé, êàæäàÿ èç êîòîðûõ ïðåäñòàâëÿåò ñîáîé
ëàâà 4. Ïîòîêè â ñåòÿõ è ðîäñòâåííûå çàäà÷è
166
( )
= 1
ñèììåòðè÷íóþ öåïü } X , X f ; : : : ; k g; âñå çàïèñè â ñïèñêå îïðåäåëÿþò ðàçáèåíèå ñåìåéñòâà } X íà ñèììåòðè÷íûå öåïè*) 2 begin 3 if k then (*ïîñòðîåíèå ðàçáèåíèÿ ñåìåéñòâà } ? f?g íà ñèììåòðè÷íûå öåïè åäèíñòâåííîé öåïüþ ÿâëÿåòñÿ f?g*) 4 begin new (w ); (*w = óêàçàòåëü íà çàïèñü, ïðåäñòàâëÿþùóþ öåïü*) 5 with w " do 6 begin íà÷ ; êîíåö ; ñëåä:=nil 7 end 8 end 9 else (*k > *) 10 begin w ÀÇÁÈÅÍÈÅ k ; 11 pp w; 12 while pp 6 nil do 13 with pp " do 14 begin (*ñèììåòðè÷íàÿ öåïü A1 : : : Ar , ïðåäñòàâëåííàÿ çàïèñüþ pp ", çàìåíÿåòñÿ äâóìÿ öåïÿìè: A1 A2 : : : Ak Ak [ fag è A1 [ fag A2 [ fag : : : Ak 1 fag, ïðè÷åì âòîðàÿ îïóñêàåòñÿ, åñëè r , ò.å. êîãäà pp " :íà÷ pp " :êîíåö*) 15 ïîñëåä ñëåä; 16 if íà÷ < êîíåö then (*öåïü äëèíû r > *) 17 begin (*äîáàâèòü íîâóþ öåïü A1 [ fk g : : : Ar 1 [ fk g*) 18 new(pn); pn " :ñëåä ñëåä; ñëåä pn; 19 pn " :íà÷ íà÷ ; pn " :êîíåö êîíåö; 20 pn " :P k; 21 for i to êîíåö do pn " :P i Pi 22 end; (*äîáàâèòü Ar [ fk g ê öåïè, ïðåäñòàâëåííîé çàïèñüþ pp "*) 23 êîíåö êîíåö ; P êîíåö k; 24 ðð ïñëåä 25 end 26 end; 27 A ÁÈÅÍÈÅ w 28 end; (*ÀÇÁÈÅÍÈÅ*)
( )
=0
( )=
:= 0
:=
0 :=
:= 0
(
=
=1
:=
:= [1℄ := := 2
:=
3
29 30 31
begin
1)
:=
+1
+1 [
=
1 := := [ ℄ := [ 1℄
:=
℄ :=
:=
(*ãëàâíàÿ ïðîãðàììà*) ðàçá ÀÇÁÈÅÍÈÅ n
:=
()
end
Ïðåäîñòàâëÿåì ÷èòàòåëþ ïðîâåðèòü, ÷òî ÷èñëî øàãîâ, âûïîëíÿåìûõ àëãîðèòìîì, èìååò ïîðÿäîê ñóììû äëèí âñåõ ïîëó÷åííûõ öåïåé ðàçáèåíèÿ, ò.å.
4.5. àçëîæåíèå íà öåïè O(2n ).
167
Íà ðèñ. 4.7 ïîêàçàí ñïèñîê ñèììåòðè÷íûõ öåïåé, ïîëó÷åííûõ ïðè ïîìîùè ýòîãî àëãîðèòìà äëÿ n . Îòìåòèì, ÷òî â êàæäîé èç çà1 2 3 4 5 ℄ ïèñåé ñïèñêà, ñîñòàâëåííîãî àëãî[ 5 1 2 3 ℄ ðèòìîì 4.24, ýëåìåíòû P i äëÿ [ 4 1 2 5 ℄ i > êîíåö íå îïðåäåëåíû. Åñ5 [ 4 1 ℄ ëè èõ îïðåäåëèòü ïðîèçâîëüíûì [ 3 1 4 5 ℄ ñïîñîáîì òàê, ÷òîáû ïîñëåäîâà5 [ 3 1 ℄ òåëüíîñòü P ; : : : ; P n áûëà ïå4 [ 3 5 ℄ ðåñòàíîâêîé, òî ìû ïîëó÷èì ñïè[ 2 3 4 5 ℄ ñîê ïåðåñòàíîâîê ' 1 ; '2 ; : : : ; ' m , 5 [ 2 3 ℄ m bn=n2 , ñ î÷åíü ëþáîïûòíûì 4 [ 2 5 ℄ ñâîéñòâîì. Äëÿ êàæäîãî ïîäìíîèñ. 4.7: Ñïèñîê ñèììåòðè÷íûõ öåïåé, ïî- æåñòâà A f ; : : : ; ng ñóùåñòâóåò òàêàÿ ïåðåñòàíîâêà ', ÷òî ìíîæåñòðîåííûõ àëãîðèòìîì 4.24 äëÿ n (¾[¿ ïðåäøåñòâóåò P íà÷ à ¾℄¿ ñëåäóåò çà ñòâî ïåðâûõ jAj ÷ëåíîâ ýòîé ïåðåñòàíîâêè ðàâíî A (ïåðåñòàíîâêó P êîíåö , íà÷ äëÿ ïåðâîé öåïè). ìû òðàêòóåì çäåñü êàê ïîñëåäîâàòåëüíîñòü äëèíû n). Îòìåòèì, ÷òî ñèñòåìà ìåíüøåãî ÷èñëà ïåðåñòàíîâîê ñ ïðèâåäåííûì âûøå ñâîéñòâîì íå ìîæåò ñóùåñòâîâàòü, ïîñêîëüêó êàæäîå èç m bn=n2 bn= -ýëåìåíòíûõ ïîäìíîæåñòâ äîëæíî ïîÿâëÿòüñÿ êàê íà÷àëüíûé ó÷àñòîê â êàêîé-ëèáî ïåðåñòàíîâêå. Ïîêàæåì òåïåðü ïðèìåíåíèå òàêîé ñèñòåìû ïåðåñòàíîâîê äëÿ îðãàíèçàöèè êàðòîòåê, àâòîðîì êîòîðîé ÿâëÿåòñÿ Ëóì (ñì. [47℄). Äëÿ ýòîãî ðàññìîòðèì ñèòóàöèþ, êîãäà çàïèñü â íåêîòîðîé êàðòîòåêå îïèñûâàåòñÿ ñ ïîìîùüþ n àòðèáóòîâ. Ïðåäïîëîæèì, ÷òî i-é àòðèáóò äëÿ êàæäîé êîíêðåòíîé çàïèñè ìîæåò ïðèíèìàòü îäíî èç ni çíà÷åíèé; äëÿ ïðîñòîòû îáîçíà÷èì ýòè çíà÷åíèÿ ; : : : ; ni . Ïóñòü R áóäåò ìíîæåñòâîì çàïèñåé â íàøåé êàðòîòåêå. Òîãäà êàæäàÿ çàïèñü r îïèñûâàåòñÿ ïîñëåäîâàòåëüíîñòüþ hw1 r ; : : : ; wn r i, ãäå wi r çíà÷åíèå i-ãî àòðèáóòà äëÿ r ( wi r ni ). Ìû ìîæåì ðàññîðòèðîâàòü íàøó êàðòîòåêó ¾ëåêñèêîãðàè÷åñêè¿ ìíîãèìè ñïîñîáàìè, åñëè ïðèíÿòü âî âíèìàíèå òî, ÷òî ïîíÿòèå ëåêñèêîãðàè÷åñêîãî ïîðÿäêà ïðåäïîëàãàåò íåêîòîðîå óïîðÿäî÷åíèå êîîðäèíàò îò êîîðäèíàò, çíà÷åíèÿ êîòîðûõ ¾èçìåíÿþòñÿ ìåäëåííî¿, äî êîîðäèíàò, çíà÷åíèÿ êîòîðûõ ¾èçìåíÿþòñÿ áûñòðåå âñåãî¿. Òî÷íåå, äëÿ ïðîèçâîëüíîé ïåðåñòàíîâêè ' ìíîæåñòâà f ; : : : ; ng ìû îïðåäåëÿåì ïîðÿäîê ' ñëåäóþùèì îáðàçîì:
=5
[℄
[1℄
[℄
=
[
℄
=
[ ℄
=0
1
= 5
2
1
1
()
()
()
()
1
a ; : : : ; an i = hb ; : : : ; bni èëè 9k, 1 k r, òàêîå ha ; : : : ; an i ' hb ; : : : ; bn i , h÷òî a' i = b' i äëÿ 1 i < k è a' k = b' k . 1
1
1
1
( )
( )
( )
( )
 ìåòîäå Ëóìà èñïîëüçóåòñÿ bn=n2 êîïèé êàðòîòåê, èç êîòîðûõ i-ÿ, îáîçíà÷èì åå Ki , ñîðòèðóåòñÿ â ñîîòâåòñòâèè ñ ïîðÿäêîì íà ïîñëåäîâàòåëüíîñòÿõ
ëàâà 4. Ïîòîêè â ñåòÿõ è ðîäñòâåííûå çàäà÷è
168
hw (r); : : : ; wn (r)i. Ïðåäïîëîæèì, ÷òî êàæäûé çàïðîñ, íàïðàâëåííûé â êàðòîòåêó, èìååò âèä Q = hx ; : : : ; xn i, ãäå êàæäûé ÷ëåí xn ÿâëÿåòñÿ ëèáî íåêîòîðûì çíà÷åíèåì i-ãî àòðèáóòà, 1 xi ni , ëèáî xi = , ÷òî îçíà÷àåò, ÷òî çàïðîñ íå íàëàãàåò íèêàêèõ óñëîâèé íà çíà÷åíèå i-ãî àòðèáóòà. Îòâåò íà çàïðîñ hx ; : : : ; xn i îáîçíà÷èì khx ; : : : ; xn ik è îïðåäåëèì ñëåäóþùèì îáðàçîì: khx ; : : : ; xn ik = fr 2 R : wi (r) = xi èëè wi (r) = äëÿ 1 i ng: 1
1
1
1
1
Ñóòü ìåòîäà Ëóìà ñîñòîèò â òîì, ÷òî äëÿ ïðîèçâîëüíîãî çàïðîñà Q ñóùåñòâóåò òàêîå i, ÷òî îòâåò ñîñòîèò èç îòðåçêà ïîñëåäîâàòåëüíûõ (îòíîñèòåëüíî ïîðÿäêà ' çàïèñåé â êàðòîòåêå Ki . ×òîáû äîêàçàòü ýòî ñâîéñòâî, ðàññìîòðèì ïðîèçâîëüíûé çàïðîñ Q hx1 ; : : : ; xn i. Ñîãëàñíî îñíîâíîìó ñâîéñòâó ìíîæåñòâà ïåðåñòàíîâîê '1 ; : : : ; 'm ñðåäè íèõ íàéäåòñÿ òàêàÿ ïåðåñòàíîâêà 'i , êîòîðàÿ ïåðåâîäèò â íà÷àëî Q âñå êîîðäèíàòû xi , îòëè÷íûå îò , ò.å. x'i (j ) äëÿ j k è x'i (j) äëÿ k < i n. ßñíî, ÷òî â Ki îòâåò kQk åñòü îòðåçîê ïîñëåäîâàòåëüíûõ çàïèñåé, íà÷èíàþùèéñÿ ñ çàïèñè r, òàêîé ÷òî
=
1
=
w'i
(1)
(r); : : : ; w'i n (r) = x'i (
è êîí÷àþùèéñÿ òàêîé çàïèñüþ
w'i
(1)
)
)
; : : : ; x'i k ; 1; : : : ; 1 ; ( )
r0 , ÷òî
(r0 ); : : : ; w'i n (r0 ) = x'i (
(1)
(1)
; : : : ; x 'i k ; n 'i k ( )
( +1)
; : : : ; n 'i n ; (
)
(ñèòóàöèÿ ñóùåñòâåííî íå ìåíÿåòñÿ, êîãäà â íàøåé êàðòîòåêå íåò çàïèñè
r0 ).
r èëè
Åñëè íàøè êàðòîòåêè Ki çàïîìèíàþòñÿ íà íîñèòåëå èíîðìàöèè ñ ëèíåéíîé ñòðóêòóðîé, òî òîò àêò, ÷òî âñå çàïèñè, êîòîðûå ìû õîòèì íàéòè, ñîñòàâëÿþò ñâÿçíûé îòðåçîê, çíà÷èòåëüíî îáëåã÷àåò ïðîöåññ ïîèñêà. È î÷åâèäíî, ÷òî ãëàâíûì íåóäîáñòâîì, îñîáåííî äëÿ áîëüøèõ n, ÿâëÿåòñÿ áîëüøîå ÷èñëî êîïèé íàøåé êàðòîòåêè, êîòîðûå íåîáõîäèìî õðàíèòü â ïàìÿòè.  çàêëþ÷åíèå äàííîãî ðàçäåëà ñòîèò îòìåòèòü, ÷òî áîëüøèíñòâî ðàññìîòðåííûõ íàìè òåîðåì èìåëî ìèíèìàêñíûé õàðàêòåð: â íèõ ãîâîðèëîñü, ÷òî ìèíèìóì íåêîòîðîé âåëè÷èíû ðàâåí ìàêñèìóìó íåêîòîðîé äðóãîé âåëè÷èíû. Ïðèìåðàìè ìîãóò ñëóæèòü òåîðåìà î ìàêñèìàëüíîì ïîòîêå è ìèíèìàëüíîì ðàçðåçå, âåíãåðñêàÿ òåîðåìà è òåîðåìû 4.22 è 4.23. Îêàçûâàåòñÿ, ÷òî ïîñëåäíèé ïðèìåð åñòü ÷àñòíûé ñëó÷àé îäíîé çíà÷èòåëüíî áîëåå îáùåé òåîðåìû Äèëâîðòà (ñì. [12℄), êàñàþùåéñÿ ÷àñòè÷íî óïîðÿäî÷åííîãî êîíå÷íîãî ìíîæåñòâà. Òàê æå êàê è äëÿ ñëó÷àÿ ÷àñòè÷íî óïîðÿäî÷åííîãî ìíîæåñòâà h} X ; i, äëÿ ïðîèçâîëüíîãî ÷àñòè÷íî óïîðÿäî÷åííîãî ìíîæåñòâà hP; i öåïü îïðåäåëÿåòñÿ êàê òàêîå ïðîèçâîëüíîå ïîäìíîæåñòâî L P , ÷òî x y èëè y x äëÿ ïðîèçâîëüíûõ x; y 2 L,
( )
4.5. àçëîæåíèå íà öåïè
169
à àíòèöåïü îïðåäåëÿåòñÿ êàê òàêîå ïðîèçâîëüíîå ïîäìíîæåñòâî A P , ÷òî äëÿ ïðîèçâîëüíûõ x; y 2 A
x y ) x = y:
À ýòî îáåùàííàÿ òåîðåìà Äèëâîðòà. Òåîðåìà 4.25. Äëÿ ïðîèçâîëüíîãî êîíå÷íîãî ÷àñòè÷íî óïîðÿäî÷åííîãî ìíîæåñòâà hP; i ìèíèìàëüíîå ÷èñëî öåïåé, êîòîðûå â ñóììå ïîêðûâàþò P , ðàâíî ìàêñèìàëüíîé ìîùíîñòè àíòèöåïè. Äîêàçàòåëüñòâî. Äëÿ äîêàçàòåëüñòâà âîñïîëüçóåìñÿ èíäóêöèåé îòíîñèòåëüíî ìîùíîñòè ìíîæåñòâà P . Åñëè jP j , òî î÷åâèäíî, ÷òî òåîðåìà âåðíà. Ïóñòü jP j > , L ïðîèçâîëüíàÿ ìàêñèìàëüíàÿ öåïü (ò.å. öåïü, íå ÿâëÿþùàÿñÿ ïîäìíîæåñòâîì íèêàêîé áîëüøåé öåïè), è ïóñòü m ìàêñèìàëüíàÿ ìîùíîñòü àíòèöåïè â hP; i. Ïîêàæåì, ÷òî íàøå ìíîæåñòâî P ìîæíî ïîêðûòü m öåïÿìè. Åñëè ìàêñèìàëüíàÿ ìîùíîñòü àíòèöåïè â hP nL; i ðàâíà m (î÷åâèäíî, ÷òî îíà íå ìîæåò áûòü ìåíüøå m ), òî â ñèëó èíäóêòèâíîãî ïðåäïîëîæåíèÿ ñóùåñòâóåò ðàçáèåíèå íà öåïè P nL L1 [ : : : [ Lm 1 , à îòñþäà ïîëó÷àåì òðåáóåìîå ðàçáèåíèå P L1 [ : : : [ Lm 1 [ L. Ïðåäïîëîæèì, ÷òî â hP nL; i ñóùåñòâóåò m-ýëåìåíòíàÿ àíòèöåïü A fa1 ; : : : ; am g. Ïîñòðîèì ìíîæåñòâà ýëåìåíòîâ, íàõîäÿùèõñÿ ¾íàä¿ A:
1
1
1
1 = =
=
G = fx 2 P : x > a äëÿ íåêîòîðîãî a 2 Ag è ¾ïîä¿
A:
D = fx 2 P : x < a äëÿ íåêîòîðîãî a 2 Ag
Ïðåäïîëîæèì, ÷òî L èìååò âèä l1 < : : : < lk . Òîãäà b1 2 = G, èáî â ïðîòèâíîì ñëó÷àå öåïü L ìîæíî áûëî áû óâåëè÷èòü íà íåêîòîðûé ýëåìåíò a < l1 , a 2 A, âîïðåêè ïðåäïîëîæåíèþ î ìàêñèìàëüíîñòè L. Àíàëîãè÷íûì îáðàçîì äîêàçûâàåòñÿ, ÷òî lk 2 = D. Ñëåäîâàòåëüíî, jGj < jP j, jDj < jP j è â ñèëó èíäóêòèâíîãî ïðåäïîëîæåíèÿ, ïðèìåíåííîãî ê hG; i è hD; i, ñóùåñòâóþò ðàçáèåíèÿ íà öåïè
G=G
1
[ : : : [ Gm è D = D [ : : : [ Dm : 1
Ïîñëå âîçìîæíîé ïåðåíóìåðàöèè ìíîæåñòâ öåïåé G1 ; : : : ; Gm è D1 ; : : : ; Dm ìû ìîæåì ïðåäïîëàãàòü, ÷òî ai 2 Gi \ Di , i m. Íî G [ D P , ïîñêîëüêó ñóùåñòâîâàíèå ýëåìåíòà b 2 P n G [ D ïðîòèâîðå÷èëî áû ìàêñèìàëüíîñòè àíòèöåïè A. Ñëåäîâàòåëüíî, ïîëó÷àåì òðåáóåìîå ðàçáèåíèå íà öåïè
1 )
(
P ïîëàãàÿ Li
= L [ : : : [ Ln ;
= Gi [ Di, i = 1; : : : ; m.
1
=
ëàâà 4. Ïîòîêè â ñåòÿõ è ðîäñòâåííûå çàäà÷è
170
4.6 Çàäà÷è
4.1. Äîêàçàòü, ÷òî êàæäûé ïîòîê f èç s â t ìîæíî ïðåäñòàâèòü â âèäå ñóììû f f1 : : : fk , k m (ò.å. f e f1 e : : : fk e äëÿ êàæäîé äóãè e 2 E ), ãäå fi ïîòîê âäîëü îòäåëüíîãî ïóòè èç s â t, i ; : : : ; k. Âûâåñòè îòñþäà, ÷òî ìîæíî ïîëó÷èòü ìàêñèìàëüíûé ïîòîê, ïîî÷åðåäíî óâåëè÷èâàÿ ïîòîê âäîëü ñîîòâåòñòâåííî âûáðàííûõ óâåëè÷èâàþùèõ öåïåé ñî âñåìè ñîãëàñîâàííûìè äóãàìè, íà÷àâ ñ íóëåâîãî ïîòîêà. Ïîñòðîèòü ñåòü, â êîòîðîé k m äëÿ êàæäîãî òàêîãî ðàçáèåíèÿ f f1 : : : fk . 4.2. Äîêàçàòü, ÷òî åñëè êàæäîå óâåëè÷åíèå ïîòîêà ïðîèñõîäèò âäîëü êðàò÷àéøåé óâåëè÷èâàþùåé öåïè îòíîñèòåëüíî ñóùåñòâóþùåãî ïîòîêà, òî äëèíû ïîñëåäîâàòåëüíûõ öåïåé îáðàçóþò íåóáûâàþùóþ ïîñëåäîâàòåëüíîñòü. (Ñëåäóåò îòìåòèòü, ÷òî èç ýòîãî ñâîéñòâà ëåãêî âûòåêàåò ëåììà 4.4, îäíàêî îáðàòíîå ñëåäîâàíèå íå ÿâëÿåòñÿ òàêèì î÷åâèäíûì.) 4.3. Äîêàçàòü, ÷òî åñëè êàæäîå óâåëè÷åíèå ïîòîêà ïðîèñõîäèò âäîëü êðàò÷àéøåé óâåëè÷èâàþùåé öåïè, òî, íà÷èíàÿ ñ ïðîèçâîëüíîãî ïîòîêà, ìû ïîëó÷àåì ìàêñèìàëüíûé ïîòîê ñ èñïîëüçîâàíèåì íå áîëåå ÷åì mn= óâåëè÷èâàþùèõ öåïåé (ñì. [17℄). 4.4. Ïîêàçàòü, ÷òî äëÿ ñåòè ñ ïðîïóñêíîé ñïîñîáíîñòüþ êàæäîé äóãè, ðàâíîé íóëþ èëè åäèíèöå, àëãîðèòì Äèíèöà ìîæíî ðåàëèçîâàòü çà âðåìÿ O n2=3 m (ñì. [18℄). 4.5. Ïîêàçàòü, ÷òî åñëè â ñåòè ñ öåëî÷èñëåííûìè ïðîïóñêíûìè ñïîñîáíîñòÿìè ïîòåíöèàë êàæäîé âåðøèíû, îòëè÷íîé îò s è t, ðàâåí íóëþ èëè åäèíèöå, òî àëãîðèòì Äèíèöà ìîæåò áûòü ðåàëèçîâàí çà âðåìÿ O n1=2 m (ñì. [18℄). 4.6. àññìîòðåòü ñåòü ñî ìíîãèìè âûäåëåííûìè èñòî÷íèêàìè s1 ; : : : ; sp è ñòîêàìè t1 ; : : : ; tq è çàäàííûìè ïðîäóêòèâíîñòÿìè èñòî÷íèêîâ a1 ; : : : ; ap è ñïðîñàìè ñòîêîâ b1 ; : : : ; bq , òàêèìè ÷òî a1 : : : ap b1 : : : bq . Ïðåäñòàâèòü ìåòîä ïîñòðîåíèÿ â òàêîé ñåòè ïîòîêà f , äëÿ êîòîðîãî ai äëÿ f si i sp , f tj bj äëÿ j q è äëÿ âñåõ îñòàëüíûõ f u âåðøèí ñåòè, åñëè òàêîé ïîòîê ñóùåñòâóåò. (Óêàçàíèå: äîáàâèòü ê ñåòè äîïîëíèòåëüíûå äóãè hs; si i ñ ïðîïóñêíûìè ñïîñîáíîñòÿìè ai äëÿ i ; : : : ; ð è äóãè htj ; ti ñ ïðîïóñêíûìè ñïîñîáíîñòÿìè bj , äëÿ j ; : : : ; q). 4.7. Äîáàâèòü ê çàäà÷å î ïîòîêå â ñåòè äîïîëíèòåëüíîå îãðàíè÷åíèå, ñîñòîÿùåå â òîì, ÷òî äëÿ êàæäîé âåðøèíû v , îòëè÷íîé îò s è t, êîëè÷åñòâî ïîòîêà, âòåêàþùåãî â v è âûòåêàþùåãî èç v , íå ìîæåò ïðåâûøàòü ïðîïóñêíîé ñïîñîáíîñòè g v ýòîé âåðøèíû. Êàê ñâåñòè çàäà÷ó, èçìåíåííóþ òàêèì ñïîñîáîì, ê ïåðâîíà÷àëüíîé çàäà÷å áåç ïðîïóñêíûõ ñïîñîáíîñòåé âåðøèí? (Óêàçàíèå: äëÿ êàæäîé âåðøèíû v äîáàâèòü íîâóþ âåðøèíó v , äóãó hv; v i ñ ïðîïóñêíîé ñïîñîáíîñòüþ g u è çàìåíèòü êàæäóþ äóãó âèäà hv; ui íà hv ; ui.) 4.8. Ïóñòü G îðãðà, íå ñîäåðæàùèé äóãè hs; ti. Äîêàçàòü, ÷òî ìàêñèìàëü-
= + +
( ) = ( )+ + ( ) =1
= ( )
= + +
2
(
(
0
1
Div ( ) =
()
()
1
)
)
+ + = + + Div ( ) = Div ( ) = 0 =1 =1
0
4.6. Çàäà÷è
171
íîå ÷èñëî ïóòåé â G èç s â t ñ ïîïàðíî ðàçëè÷íûìè ïðîìåæóòî÷íûìè âåðøèíàìè (ò.å. îòëè÷íûìè îò s è t) ðàâíî ìèíèìàëüíîìó ÷èñëó ïðîìåæóòî÷íûõ âåðøèí, ïîñëå óäàëåíèÿ êîòîðûõ â ãðàå íå íàéäåòñÿ íè îäíîãî ïóòè èç s â t (ñì. [52℄). (Óêàçàíèå: ðàññìîòðåòü G êàê ñåòü ñ ïðîïóñêíîé ñïîñîáíîñòüþ êàæäîé âåðøèíû, ðàâíîé åäèíèöå ñð. ñ ïðåäûäóùåé çàäà÷åé, è âîñïîëüçîâàòüñÿ òåîðåìîé î ìàêñèìàëüíîì ïîòîêå è ìèíèìàëüíîì ðàçðåçå.) 4.9. Íàïèñàòü àëãîðèòì íàõîæäåíèÿ äóã ñ òàêèì ñâîéñòâîì, ÷òî óâåëè÷åíèå ïðîïóñêíîé ñïîñîáíîñòè äóãè ïðèâîäèò ê óâåëè÷åíèþ ïîòîêà. Âñåãäà ëè ñóùåñòâóåò òàêàÿ äóãà? (Óêàçàíèå: íàéòè ìàêñèìàëüíûé ïîòîê f , à çàòåì ìíîæåñòâî A âåðøèí, äîñòèæèìûõ ñ ïîìîùüþ ÷àñòè÷íûõ óâåëè÷èâàþùèõ öåïåé èç s, è ìíîæåñòâî âåðøèí B , èç êîòîðûõ àíàëîãè÷íûì îáðàçîì ìîæíî äîñòè÷ü t. Òðåáóåìîå ìíîæåñòâî ýòî A B \ E . 4.10. àññìîòðåòü ñåòü, â êîòîðîé êàæäîé äóãå e 2 E ïðèïèñàíà, êðîìå ïðîïóñêíîé ñïîñîáíîñòè, ñòîèìîñòü h e ïîñûëêè åäèíèöû ïîòîêà ÷åðåç e. Îïðåäåëèòü ñòîèìîñòü óâåëè÷èâàþùåé öåïè êàê ñóììó ñòîèìîñòåé ñîãëàñîâàííûõ äóã ìèíóñ ñóììó ñòîèìîñòåé íåñîãëàñîâàííûõ äóã ýòîé öåïè. Äîêàçàòü, ÷òî ïîòîê f âåëè÷èíû w W f èìååò ñòîèìîñòü, íàèìåíüøóþ èç âñåõ ïîòîêîâ âåëè÷èíû w, òîãäà è òîëüêî òîãäà, êîãäà íå ñóùåñòâóåò óâåëè÷èâàþùåãî öèêëà (çàìêíóòîé öåïè) îòíîñèòåëüíî f ñ îòðèöàòåëüíîé ñòîèìîñòüþ. Ïîêàçàòü, ÷òî óâåëè÷åíèå íà Æ ïîòîêà âåëè÷èíû w íàèìåíüøåé ñòîèìîñòè âäîëü óâåëè÷èâàþùåé öåïè ñ íàèìåíüøåé ñòîèìîñòüþ ïðèâîäèò ê ïîòîêó ñ íàèìåíüøåé ñòîèìîñòüþ âåëè÷èíû w Æ . 4.11. Äîêàçàòü, ÷òî åñëè P êðàò÷àéøàÿ ÷åðåäóþùàÿñÿ öåïü îòíîñèòåëüíî ïàðîñî÷åòàíèÿ M â äâóäîëüíîì ãðàå, P 0 êðàò÷àéøàÿ ÷åðåäóþùàÿñÿ öåïü îòíîñèòåëüíî M , òî jP 0 j jP j jP \ P 0 j (ñì. [33℄). 4.12. Äîêàçàòü, ÷òî åñëè M è N ïàðîñî÷åòàíèÿ â äâóäîëüíîì ãðàå H , òî ñóùåñòâóåò òàêîå ïàðîñî÷åòàíèå R, ÷òî âåðøèíà ãðàà H áóäåò ñâîáîäíîé îòíîñèòåëüíî R òîãäà è òîëüêî òîãäà, êîãäà îíà ñâîáîäíà îòíîñèòåëüíî êàê M , òàê è N (ñì. [51℄, ñì. òàêæå ëåììó 4.11). 4.13. Äâóäîëüíûé ãðà H hX; Y; E i íàçûâàåòñÿ âûïóêëûì íà X , åñëè ìíîæåñòâî Õ ìîæíî óïîðÿäî÷èòü â ïîñëåäîâàòåëüíîñòü x1 ; : : : ; xp òàê, ÷òîáû äëÿ êàæäîãî y 2 Y ìíîæåñòâî A y fx 2 Õ x yg îáðàçîâûâàëî îòðåçîê âèäà fxP (y) ; xP (y)+1 ; : : : ; xK (y) g. Ïîäîáíûì æå îáðàçîì îïðåäåëÿåì âûïóêëîñòü íà Y . Äîêàçàòü, ÷òî åñëè ãðà H âûïóêëûé íà X , òî íàèáîëüøåå ïàðîñî÷åòàíèå ìîæíî ïîëó÷èòü, ïðîñìàòðèâàÿ ïîñëåäîâàòåëüíîñòü x1 ; : : : ; xp è ñî÷åòàÿ âåðøèíó xi ñ òîé èç ñâîáîäíûõ åùå âåðøèí y 2 Y , x y , äëÿ êîòîðîé çíà÷åíèå K y ìèíèìàëüíîå (èëè îñòàâëÿÿ âåðøèíó xi ñâîáîäíîé, åñëè òàêîé âåðøèíû y íå ñóùåñòâóåò) (ñì. 128℄). 4.14. Ïîêàçàòü, ÷òî íàèáîëüøåå ïàðîñî÷åòàíèå â äâóäîëüíîì ãðàå H hX; Y; E i, âûïóêëîì íà Õ (ñì. ïðåäûäóùóþ çàäà÷ó), ìîæíî ïîñòðîèòü çà âðåìÿ
(
)
()
= ()
+
+
= ()=
:
()
=
ëàâà 4. Ïîòîêè â ñåòÿõ è ðîäñòâåííûå çàäà÷è
172
O(jX j + jY j log jY j) è çà âðåìÿ O(jX j + jY j), åñëè H âûïóêëûé êàê íà X , òàê è íà Y . (Âíèìàíèå: ïðåäïîëàãàåì, ÷òî ãðà ïðåäñòàâëåí ìàññèâàìè çíà÷åíèé P (y) è K (y), y 2 Y ; çäåñü ñëåäóåò îòìåòèòü, ÷òî îöåíêó O(jX j + jY j log jY j) ìîæ-
íî çíà÷èòåëüíî óëó÷øèòü, êàê ýòî ïîêàçàíî â ðàáîòå [46℄, ïîëüçóÿñü íåêîòîðîé îáùåé ìåòîäèêîé, èçëîæåííîé â [67℄ è àâòîðîì êîòîðîé ÿâëÿåòñÿ . Òàðüÿí.) 4.15. Ïðèâåñòè ïðèìåð ãðàà (íåäâóäîëüíîãî), äëÿ êîòîðîãî íå âûïîëíåíî ñâîéñòâî, âûäåëåííîå â ñëåäñòâèè 4.16. 4.16. Äîêàçàòü ñëåäóþùóþ òåîðåìó, äâîéñòâåííóþ ïî îòíîøåíèþ ê âåíãåðñêîé òåîðåìå: äëÿ ïðîèçâîëüíîé 0-1-ìàòðèöû ìàêñèìàëüíîå ÷èñëî åäèíèö â ëèíèè ðàâíî ìèíèìàëüíîìó ÷èñëó ðàññåÿííûõ ìíîæåñòâ åäèíèö, ïîêðûâàþùèõ âñå åäèíèöû ìàòðèöû (ìíîæåñòâî åäèíèö íàçûâàåòñÿ ðàññåÿííûì, åñëè íèêàêèå äâå åäèíèöû íå ëåæàò íà îäíîé ëèíèè). Ñîðìóëèðîâàòü òåîðåìó â òåðìèíàõ ïàðîñî÷åòàíèé â äâóäîëüíîì ãðàå. 4.17. Áèñòîõàñòè÷åñêîé ìàòðèöåé íàçûâàåòñÿ ìàòðèöà ðàçìåðíîñòè n n ñ âåùåñòâåííûìè íåîòðèöàòåëüíûìè ýëåìåíòàìè, â êîòîðîé ñóììà ýëåìåíòîâ â êàæäîé ñòðîêå è â êàæäîì ñòîëáöå ðàâíà åäèíèöå. Ïåðåñòàíîâî÷íîé ìàòðèöåé íàçûâàåòñÿ ïðîèçâîëüíàÿ áèñòîõàñòè÷åñêàÿ 0-1-ìàòðèöà. Äîêàçàòü, ÷òî êàæäóþ áèñòîõàñòè÷åñêóþ ìàòðèöó B ìîæíî ïðåäñòàâèòü â âèäå êîìáèíàöèè B 1 P1 : : : k Pk , ãäå P1 ; : : : ; Pk ïåðåñòàíîâî÷íûå ìàòðèöû, 1 ; : : : ; k > è 1 : : : k (ñì. [6℄). 4.18. Ïåðìàíåíò ìàòðèöû A aij ðàçìåðíîñòè n n îïðåäåëÿåòñÿ ñëåäóþùèì îáðàçîì: X
+ =1
0
=
+ + +
=[ ℄
per A =
a
;(1) ; a2;(2) ; : : : ; an;(n) ;
1
1
ãäå ñóììèðîâàíèå âåäåòñÿ ïî âñåì ïåðåñòàíîâêàì s ìíîæåñòâà f ; : : : ; ng. Äîêàçàòü, ÷òî ïåðìàíåíò 0-1-ìàòðèöû A ðàçìåðíîñòè n n ðàâåí íóëþ òîãäà è òîëüêî òîãäà, êîãäà A ñîäåðæèò íóëåâóþ ïîäìàòðèöó ðàçìåðíîñòè p p, p r n (ñì.[24℄). 4.19. Óòî÷íèòü äåòàëè àëãîðèòìà íàõîæäåíèÿ îáùåé ñèñòåìû ðàçëè÷íûõ ïðåäñòàâèòåëåé äëÿ ïîñëåäîâàòåëüíîñòåé hA1 ; : : : An i è hB1 ; : : : Bn i ñî ñëîæíî!
+ = +1
ñòüþ
O
pn Pn (jA j + jB j) j =1
j
j
, ïðèâåäåííîãî â ðàçä. 4.4 (ñì. çàäà÷ó 4.5).
4.20. Ïðèâåñòè ïîñòðîåíèå ïîñëåäîâàòåëüíîñòè ñ ýëåìåíòàìè èç ìíîæåñòâà
f1; : : : ng äëèíû ln 2n ñ òàêèì ñâîéñòâîì, ÷òî êàæäîå ïîäìíîæåñòâî A f1; : : : ng ïîÿâëÿåòñÿ â ýòîé ïîñëåäîâàòåëüíîñòè êàê ïîäïîñëåäîâàòåëüíîñòü èç jAj ïîñëåäîâàòåëüíûõ ÷ëåíîâ [43℄. Óêàçàíèå: ïîñòðîèòü bk=k ïåðåñòàíîâîê ìíîæåñòâà f1; : : :k g, k = bn=2 , òàêèõ ÷òî êàæäîå ïîäìíîæåñòâî K f1; : : : ; k g 2
2
ïîÿâëÿåòñÿ êàê êîíå÷íûé îòðåçîê íåêîòîðîé èç ýòèõ ïîñëåäîâàòåëüíîñòåé, è p bp=2 , p dn= e, ïåðåñòàíîâîê ìíîæåñòâà fk ; : : : ng, òàêèõ ÷òî êàæäîå ïîäìíîæåñòâî L fk ; : : : ng ïîÿâëÿåòñÿ êàê íà÷àëüíûé îòðåçîê íåêîòîðîé èç
=
2
+1
+1
4.6. Çàäà÷è
173
ýòèõ ïåðåñòàíîâîê. Äàëåå ñëåäóåò ñîåäèíèòü ýòè ïåðåñòàíîâêè ñîîòâåòñòâóþùèì îáðàçîì. Âíèìàíèå: â ñèëó îðìóëû Ñòèðëèíãà
k bk=2
r
2 2k : k
ëàâà 5
Ìàòðîèäû 5.1 Æàäíûé àëãîðèòì ðåøåíèÿ îïòèìèçàöèîííûõ çàäà÷ àññìîòðèì ñëåäóþùóþ ìàòðèöó ñ äåéñòâèòåëüíûìè íåîòðèöàòåëüíûìè êîýèöèåíòàìè: 2 3
A=4
7 5 1 3 4 35 2 3 1
Çàéìåìñÿ ðåøåíèåì ñëåäóþùåé îïòèìèçàöèîííîé çàäà÷è. Çàäà÷à 1. Íàéòè òàêîå ïîäìíîæåñòâî ýëåìåíòîâ ìàòðèöû, ÷òî (à) â êàæäîì ñòîëáöå íàõîäèòñÿ íå áîëåå îäíîãî âûáðàííîãî ýëåìåíòà (á) ñóììà âûáðàííûõ ýëåìåíòîâ ÿâëÿåòñÿ íàèáîëüøåé èç âîçìîæíûõ. Ïîïðîáóåì ðåøèòü ýòó çàäà÷ó ñëåäóþùèì îáðàçîì: áóäåì âûáèðàòü ýëåìåíòû ïîñëåäîâàòåëüíî, ïðè÷åì êàæäûé ðàç áóäåì âûáèðàòü íàèáîëüøèé èç ýëåìåíòîâ, êîòîðûå ìû ìîæåì äîáàâèòü, íå íàðóøàÿ óñëîâèÿ (à). Áóäåì äåéñòâîâàòü òàê âïëîòü äî ìîìåíòà, ïîêà äîáàâëåíèå ïðîèçâîëüíîãî ýëåìåíòà íå íàðóøèò óñëîâèÿ (à). Àëãîðèòì òàêîãî òèïà ìû áóäåì íàçûâàòü æàäíûì. Äëÿ çàäà÷è 1 è ìàòðèöû A æàäíûé àëãîðèòì íàõîäèò ïîäìíîæåñòâî 2 4
7 5 1 3 4 3
2 3 1
3 5
êîòîðîå äåéñòâèòåëüíî äàåò íàèáîëüøóþ âîçìîæíóþ ñóììó. Íåòðóäíî îòìåòèòü, ÷òî ñ ïîìîùüþ æàäíîãî àëãîðèòìà ïðàâèëüíî íàõîäèòñÿ ðåøåíèå çàäà÷è 174
5.1. Æàäíûé àëãîðèòì ðåøåíèÿ îïòèìèçàöèîííûõ çàäà÷
175
1 äëÿ ïðîèçâîëüíîé âåùåñòâåííîé ìàòðèöû ñ íåîòðèöàòåëüíûìè ýëåìåíòàìè. àññìîòðèì íåñêîëüêî èíóþ çàäà÷ó. Çàäà÷à 2. Íàéòè òàêîå ïîäìíîæåñòâî ýëåìåíòîâ ìàòðèöû, ÷òî (à) â êàæäîì ñòîëáöå è â êàæäîé ñòðîêå íàõîäèòñÿ íå áîëåå îäíîãî âûáðàííîãî ýëåìåíòà (á) ñóììà âûáðàííûõ ýëåìåíòîâ ÿâëÿåòñÿ íàèáîëüøåé èç âîçìîæíûõ. Íà ýòîò ðàç ïðèìåíåíèå æàäíîãî àëãîðèòìà ê çàäà÷å 2 è ìàòðèöå A äàåò ïîäìíîæåñòâî 2 3
7 4 5
4
1
5 1 3 3 2 3
ñ ñóììîé 12, ÷òî íå ÿâëÿåòñÿ ïðàâèëüíûì ðåøåíèåì, ïîñêîëüêó ïîäìíîæåñòâî 2 4
7 5 1 3 4 3 2 3 1
3 5
èìååò ñóììó 13. Ñëåäîâàòåëüíî, íà âòîðîì øàãå íå ñëåäîâàëî áû áûòü æàäíûì, ìû âûèãðûâàåì â êîíå÷íîì ðåçóëüòàòå, âûáèðàÿ íåñêîëüêî ìåíüøèé ýëåìåíò (3 âìåñòî 4). Âîçíèêàåò âîïðîñ: êîãäà âûãîäíî áûòü æàäíûì? Ñîðìóëèðóåì ýòî áîëåå ñòðîãî. Ìû áóäåì ðàññìàòðèâàòü îïòèìèçàöèîííûå çàäà÷è ñëåäóþùåãî òèïà. Çàäà÷à 3. Äàíû êîíå÷íîå ìíîæåñòâî E , ñåìåéñòâî åãî ïîäìíîæåñòâ I } E è óíêöèÿ w E ! R+ , ãäå R+ îáîçíà÷àåò ìíîæåñòâî âåùåñòâåííûõ P we. íåîòðèöàòåëüíûõ ÷èñåë. Íàéòè ïîäìíîæåñòâî S 2 I ñ íàèáîëüøåé ñóììîé
( )
:
e2S
()
Êàê çàäà÷à 1, òàê è çàäà÷à 2 ÿâëÿþòñÿ ÷àñòíûìè ñëó÷àÿìè çàäà÷è 3.  îáîèõ ñëó÷àÿõ E åñòü ìíîæåñòâî ïîçèöèé ìàòðèöû, à w ñòàâèò â ñîîòâåòñòâèå ïîçèöèè hi; j i ìàòðèöû aij ÷èñëî aij . Äëÿ çàäà÷è 1
[ ℄
S 2 I , êàæäûé ñòîëáåö ñîäåðæèò íå áîëåå îäíîé ïîçèöèè èç ìíîæåñòâà S.
à â ñëó÷àå çàäà÷è 2 êàæäûé ñòîëáåö è êàæäàÿ S 2 I , ïîçèöèè èç ìíîæåñòâà S.
ñòðîêà ñîäåðæèò íå áîëåå îäíîé
Òåïåðü ìû ìîæåì ñîðìóëèðîâàòü íàø âîïðîñ ñëåäóþùèì îáðàçîì: ïðè êàêèõ óñëîâèÿõ îòíîñèòåëüíî ñåìåéñòâà I æàäíûé àëãîðèòì ïðàâèëüíî ðåøàåò çàäà÷ó 3 äëÿ ïðîèçâîëüíîé óíêöèè w)?
ëàâà 5. Ìàòðîèäû
176
Îêàçûâàåòñÿ, ÷òî íà ýòîò âîïðîñ ìîæíî íàéòè ïðîñòîé îòâåò. À èìåííî, äîñòàòî÷íî, ÷òîáû ïàðà hE; Ii îáðàçîâûâàëà òàê íàçûâàåìûé ìàòðîèä. Ñëåäóþùèé ðàçäåë äàííîé ãëàâû ïîñâÿùåí ýòèì âàæíûì êîìáèíàòîðíûì îáúåêòàì (÷èòàòåëÿ, çàèíòåðåñîâàííîãî â áîëåå ãëóáîêîì èçó÷åíèè òåîðèè ìàòðîèäîâ, îòñûëàåì ê [42℄, [72℄).
5.2 Ìàòðîèäû è èõ îñíîâíûå ñâîéñòâà Ìàòðîèäû áûëè ââåäåíû Óèòíè â ðàáîòå [73℄ â ñîâåðøåííî èíîì êîíòåêñòå, íåæåëè æàäíûå àëãîðèòìû, à èìåííî â èññëåäîâàíèÿõ àáñòðàêòíîé òåîðèè ëèíåéíîé çàâèñèìîñòè. Ñóùåñòâóåò ìíîãî ýêâèâàëåíòíûõ îïðåäåëåíèé ìàòðîèäà. Äëÿ íàñ íàèáîëåå óäîáíûì áóäåò ñëåäóþùåå îïðåäåëåíèå: Ìàòðîèäîì ìû áóäåì íàçûâàòü ïðîèçâîëüíóþ ïàðó M hE; Ii, ãäå E êîíå÷íîå ìíîæåñòâî, à I } E ñåìåéñòâî, óäîâëåòâîðÿþùåå óñëîâèÿì:
=
( )
? 2 I è åñëè A 2 I è B A, òî B 2 I. M2 Äëÿ ïðîèçâîëüíûõ A; B 2 I, òàêèõ ÷òî jB j = jAj + 1, ñóùåñòâóåò ýëåìåíò e 2 B nA, òàêîé ÷òî A [ feg 2 I. (Óñëîâèå ? 2 I èñêëþ÷àåò âûðîæäåííûé ñëó÷àé I = ?.) M1
Ìíîæåñòâà ñåìåéñòâà I ìû áóäåì íàçûâàòü íåçàâèñèìûìè ìíîæåñòâàìè, à îñòàëüíûå ïîäìíîæåñòâà èç } E nI çàâèñèìûìè ìíîæåñòâàìè ìàòðîèäà M .  ýòîì ïðîÿâëÿåòñÿ óæå óïîìÿíóòàÿ ñâÿçü ìàòðîèäîâ ñ òåîðèåé ëèíåéíîé çàâèñèìîñòè: àêñèîìû ìàòðîèäîâ âûáðàíû òàêèì îáðàçîì, ÷òîáû îíè îòðàæàëè íàèáîëåå õàðàêòåðíûå ñâîéñòâà íåçàâèñèìûõ ìíîæåñòâ ëèíåéíîãî ïðîñòðàíñòâà, òî÷íåå ãîâîðÿ, íåçàâèñèìûõ ïîäìíîæåñòâ, ñîäåðæàùèõñÿ â íåêîòîðîì êîíå÷íîì ïîäìíîæåñòâå ýòîãî ïðîñòðàíñòâà (âñïîìíèì, ÷òî ïîäìíîæåñòâî fe1 ; : : : ; en g ëèíåéíîãî ïðîñòðàíñòâà íàçûâàåòñÿ íåçàâèñèìûì, åñëè íå ñóùåñòâóåò íàáîðà ñêàëÿðîâ 1 ; : : : ; n , íå âñåõ ðàâíûõ íóëþ, òàêîãî ÷òî 1 e1 : : : n en ).  ñàìîì äåëå, î÷åâèäíî, ÷òî ïðîèçâîëüíîå ïîäìíîæåñòâî íåçàâèñèìîãî ìíîæåñòâà ëèíåéíîãî ïðîñòðàíñòâà íåçàâèñèìî. Åñëè jB j jAj äëÿ ëèíåéíî íåçàâèñèìûõ ïîäìíîæåñòâ A, B ëèíåéíîãî ïðîñòðàíñòâà, òî A ïîðîæäàåò ïðîñòðàíñòâî ðàçìåðíîñòè jAj, êîòîðîå ìîæåò ñîäåðæàòü íå áîëåå ÷åì jAj ýëåìåíòîâ ìíîæåñòâà B . Ñëåäîâàòåëüíî, ñóùåñòâóåò ýëåìåíò e 2 B nA, íå ïðèíàäëåæàùèé ýòîìó ïîäïðîñòðàíñòâó. Ìíîæåñòâî A [ feg ïîðîæäàåò ïîäïðîñòðàíñòâî ðàçìåðíîñòè jAj è, ñëåäîâàòåëüíî, ÿâëÿåòñÿ ëèíåéíî íåçàâèñèìûì. Áóäåì ãîâîðèòü, ÷òî äâà ìàòðîèäà hE; Ii è hE 0 ; I0 i èçîìîðíû, åñëè ñóùåñòâóåò âçàèìíî îäíîçíà÷íîå îòîáðàæåíèå f ìíîæåñòâà E íà ìíîæåñòâî E 0 , òàêîå ÷òî A 2 I òîãäà è òîëüêî òîãäà, êîãäà f A 2 I0 . ×àñòî ìû íå áóäåì äåëàòü ðàçëè÷èÿ ìàæäó èçîìîðíûìè ìàòðîèäàìè.
( )
=
+1
( )
+ + +1
=0
5.2. Ìàòðîèäû è èõ îñíîâíûå ñâîéñòâà
177
Äëÿ ïðîèçâîëüíîãî ïîäìíîæåñòâà C E ìû áóäåì èçó÷àòü åãî ìàêñèìàëüíûå íåçàâèñèìûå ïîäìíîæåñòâà, ò.å. íåçàâèñèìûå ïîäìíîæåñòâà A C , îáëàäàþùèå òàêèì ñâîéñòâîì: íå ñóùåñòâóåò íåçàâèñèìîãî ïîäìíîæåñòâà B , òàêîãî ÷òî A B C . Òåîðåìà 5.1. Ïóñòü E êîíå÷íîå ìíîæåñòâî, V ñåìåéñòâî åãî ïîäìíîæåñòâ, óäîâëåòâîðÿþùèõ óñëîâèþ M1. Ïðè ýòèõ ïðåäïîëîæåíèÿõ M hE; Ii ÿâëÿåòñÿ ìàòðîèäîì òîãäà è òîëüêî òîãäà, êîãäà óäîâëåòâîðÿåòñÿ óñëîâèå
=
M3 Äëÿ ïðîèçâîëüíîãî ïîäìíîæåñòâà C E êàæäûå äâà ìàêñèìàëüíûõ ïîäìíîæåñòâà ìíîæåñòâà C èìåþò îäèíàêîâóþ ìîùíîñòü.
=
Äîêàçàòåëüñòâî. Ïðåäïîëîæèì, ÷òî M hE; Ii ÿâëÿåòñÿ ìàòðîèäîì è äëÿ íåêîòîðîãî C E ñóùåñòâóþò äâà ìàêñèìàëüíûõ íåçàâèñèìûõ ïîäìíîæåñòâà A; B C , òàêèå ÷òî jB j > jAj. Âûáåðåì ïðîèçâîëüíîå ïîäìíîæåñòâî B 0 B (íåçàâèñèìîå ïî óñëîâèþ M1), òàêîå ÷òî jB 0 j jAj .  ñèëó M2 ñóùåñòâóåò òàêîé ýëåìåíò e 2 B 0 nA C , ÷òî A[feg 2 I âîïðåêè ìàêñèìàëüíîñòè ìíîæåñòâà A. Íàïðîòèâ, ïðåäïîëîæèì, ÷òî âûïîëíÿþòñÿ óñëîâèÿ M1 è M3. Âûáåðåì òàêèå ïðîèçâîëüíûå ïîäìíîæåñòâà A; B 2 I, ÷òî jB j jAj , è îáîçíà÷èì C A [ B . Äîïóñòèì, ÷òî íå ñóùåñòâóåò òàêîãî ýëåìåíòà e 2 B nA, ÷òî A [ feg 2 I. Ýòî îçíà÷àëî áû, ÷òî A ÿâëÿåòñÿ ìàêñèìàëüíûì íåçàâèñèìûì ïîäìíîæåñòâîì ìíîæåñòâà C . àñøèðÿÿ B äî ìàêñèìàëüíîãî íåçàâèñèìîãî ïîäìíîæåñòâà B C , ìû èìåëè áû jAj < jB j âîïðåêè óñëîâèþ M3. Ñëåäîâàòåëüíî, óñëîâèÿ M1 è M3 âëåêóò çà ñîáîé óñëîâèå M2. Èç òåîðåìû 5.1 ñëåäóåò, ÷òî óñëîâèÿ M1 è M3 îáðàçóþò ýêâèâàëåíòíóþ ñèñòåìó àêñèîì äëÿ ìàòðîèäîâ. Ìîùíîñòü ìàêñèìàëüíîãî ïîäìíîæåñòâà ìíîæåñòâà C E íàçûâàåòñÿ ðàíãîì ýòîãî ìíîæåñòâà è îáîçíà÷àåòñÿ ÷åðåç r C :
=
+1
=
+1
=
( )
r(C ) = maxfjAj : A 2 I ^ A C g: Î÷åâèäíî, ÷òî ïîäìíîæåñòâî C E ÿâëÿåòñÿ íåçàâèñèìûì òîãäà è òîëüêî òîãäà, êîãäà r C jC j. Êàæäîå ìàêñèìàëüíîå íåçàâèñèìîå ìíîæåñòâî ìàòðîèäà M hE; Ii áóäåì íàçûâàòü (ïî àíàëîãèè ñ ëèíåéíûìè ïðîñòðàíñòâàìè) áàçîé ýòîãî ìàòðîèäà, à ðàíã r E , ÿâëÿþùèéñÿ àíàëîãîì ðàçìåðíîñòè ëèíåéíîãî ïðîñòðàíñòâà, ðàíãîì ìàòðîèäà. Îòìåòèì âàæíîå ñëåäñòâèå òåîðåìû 5.1. Ñëåäñòâèå 5.2. Êàæäûå äâå áàçû ìàòðîèäà èìåþò îäèíàêîâîå ÷èñëî ýëåìåíòîâ. Îòìåòèì òàêæå, ÷òî êàæäîå íåçàâèñèìîå ìíîæåñòâî C 2 I ìîæíî ðàñøèðèòü äî áàçû B C ; äîñòàòî÷íî ïîî÷åðåäíî äîáàâëÿòü â C íîâûå ýëåìåíòû, ïðèñîåäèíåíèå êîòîðûõ íå íàðóøàåò íåçàâèñèìîñòè, âïëîòü äî ìîìåíòà, êîãäà òàêèõ ýëåìåíòîâ áîëüøå íå ñóùåñòâóåò. Ïîëó÷åííîå ìíîæåñòâî áóäåò ìàêñèìàëüíûì
=
( )=
( )
ëàâà 5. Ìàòðîèäû
178
íåçàâèñèìûì ìíîæåñòâîì, à ñëåäîâàòåëüíî, áàçîé. Àíàëîãè÷íî, ïðîèçâîëüíîå íåçàâèñèìîå ìíîæåñòâî A C ìîæíî ðàñøèðèòü äî ìàêñèìàëüíîãî íåçàâèñèìîãî ïîäìíîæåñòâà ìíîæåñòâà C . Îòìåòèì íåêîòîðûå ñâîéñòâà ðàíãîâ. Òåîðåìà 5.3. Äëÿ ïðîèçâîëüíûõ A; B E è e; f 2 E èìååì
R1
0 r(A) jAj,
R2 åñëè R3 R4
A B , òî r(A) r(B ),
r(A [ B ) + r(A \ B ) r(A) + r(B ),
r(A) r(A [ feg) r(A) + 1,
R5 åñëè
r(A [ feg) = r(A [ ff g) = r(A), òî r(A [ fe; f g) = r(A).
Äîêàçàòåëüñòâî. Ñâîéñòâà R1 è R2 î÷åâèäíû. Äîêàæåì R3. Ïóñòü ìàêñèìàëüíîå íåçàâèñèìîå ìíîæåñòâî â A \ B . àñøèðèì åãî äî ìàêñèìàëüíîãî íåçàâèñèìîãî ìíîæåñòâà e1 ; : : : ; ep ; f1 ; : : : ; fq A, à çàòåì äî ìàêñèìàëüíîãî íåçàâèñèìîãî ìíîæåñòâà fe1 ; : : : ; ep ; f1 ; : : : ; fq ; g1 ; : : : ; gr g A [ B . Èìååì p r A [ B , p q r A , p r p q r r A [ B , à ñëåäîâàòåëüíî,
fe ; : : : ; ep g 1
= (
) + = ( ) +
+ + = (
)
r(A [ B ) + r(A \ B ) = (p + q + r) + p = (p + q) + (p + r) r(A) + r(B ): Óñëîâèå R4 î÷åâèäíî. R5 âûòåêàåò èç R3:
r(A) r(A [ fe; f g) = r((A [ feg [ ff g)) r(A [ feg) + r(A [ ff g) r((A [ feg) \ (A [ ff g)) = = r(A) + r(A) r(A) = r(A): Ïðîäîëæàÿ àíàëîãèþ ñ ëèíåéíûìè ïðîñòðàíñòâàìè, áóäåì ãîâîðèòü, ÷òî ýëåìåíò e çàâèñèì îò ìíîæåñòâà A, åñëè r A [ feg r A , è áóäåì îáîçíà÷àòü ÷åðåç A ìíîæåñòâî âñåõ ýëåìåíòîâ, çàâèñèìûõ îò A:
(
sp( )
)= ( )
sp(A) = fe 2 E : r(A [ feg) = r(A)g: Ìíîæåñòâî A 2 E íàçûâàåòñÿ ïîäïðîñòðàíñòâîì ìàòðîèäà, åñëè A ò.å. åñëè r A [ feg rA äëÿ ïðîèçâîëüíîãî e 2 E nA. Òåîðåìà 5.4. Äëÿ ïðîèçâîëüíûõ A; B E è e; f 2 E èìååì
(
S1
)= ( )+1
A sp(A),
S2 åñëè
A B , òî sp(A) sp(B ),
= sp(A),
5.2. Ìàòðîèäû è èõ îñíîâíûå ñâîéñòâà
179
sp(sp(A)) = sp(A), S4 åñëè f 2 = sp(A) è f 2 sp(A [ feg), òî e 2 sp(A [ ff g). Äîêàçàòåëüñòâî. Óñëîâèå S1 î÷åâèäíî: åñëè e 2 A, òî r(A [ feg) = r(A), ò.å. e 2 sp(A). Äëÿ äîêàçàòåëüñòâà S2 âîñïîëüçóåìñÿ R3. Ïðåäïîëîæèì, ÷òî A B è e 2 sp(A). Òîãäà r(B ) (B [ feg) = r((A [ feg) [ B ) r(A [ feg) + r(B ) r(A [ (B \ feg)) = = r(A) + r(B) r(A) = r(B) è, ñëåäîâàòåëüíî, e 2 sp(B ). Èç óñëîâèé S1 è S2 ñëåäóåò, ÷òî sp(A) sp(sp(A)). Äîêàæåì òåïåðü ïðîòè
S3
âîïîëîæíîå âêëþ÷åíèå. Äëÿ ýòîãî íàì áóäåò íåîáõîäèìî ðàâåíñòâî
r(sp(A)) = r(A): (5.1) ×òîáû äîêàçàòü åãî, ïðåäïîëîæèì, ÷òî sp(A)nA = fe ; : : : ; ek g. Èç îïðåäåëåíèÿ sp(A) èìååì r(A [ fei g) = r(A), i = 1; : : : ; k . Ïðåäïîëîæèì, ÷òî äëÿ íåêîòîðîãî i < k èìååò ìåñòî r(A [ fe ; : : : ; ei g) = r(A). Òîãäà èç R3 ïîëó÷àåì r(A [ fe ; : : : ; ei ; ei + 1g) = r((A [ fe ; : : : ; ei g [ (A [ fei + 1g)) r(A [ fe ; : : : ; ei g) + r(A [ fei + 1g) r(A) = = r(A) + r(A) r(A) = r(A): Îòñþäà èíäóêöèåé ïî i ïîëó÷àåì òðåáóåìîå ðàâåíñòâî (5.1). Äîêàçàòåëüñòâî âêëþ÷åíèÿ sp(sp(A)) sp(A) òåïåðü ïðîñòî. Ïðåäïîëàãàÿ e 2 sp(sp(A)), ò.å. r(sp(A) [ feg) = r(sp(A)), èìååì r(A) r(A [ feg) r(sp(A) [ feg) = r(sp(A)) = r(A), ò.å. e 2 sp(A). 1
1
1
1
1
Íàêîíåö, ñâîéñòâî S4 âûòåêàåò èç îïðåäåëåíèÿ çàâèñèìîñòè ýëåìåíòà îò ìíîæåñòâà: ïðåäïîëîæèâ f 2 = A è f 2 A [ feg , èìååì
sp( ) sp( ) r(A) + 1 = r(A [ ff g) < r(A [ fe; f g) = r(A [ feg) < r(A) + 1; à îòñþäà r(A [ ff g) = r(A [ fe; f g), ò.å. e 2 sp(A [ ff g). Îòìåòèì, ÷òî èç ñâîéñòâà S3 ñëåäóåò, ÷òî sp(A) ÿâëÿåòñÿ ïîäïðîñòðàíñòâîì
ìàòðîèäà. Áóäåì íàçûâàòü åãî ïîäïðîñòðàíñòâîì, íàòÿíóòûì íà ìíîæåñòâî
A.
Ïîñëåäíèì âàæíûì ïîíÿòèåì äàííîãî ðàçäåëà ÿâëÿåòñÿ ïîíÿòèå öèêëà. Öèêëîì ìàòðîèäà ìû áóäåì íàçûâàòü êàæäîå ìèíèìàëüíîå çàâèñèìîå ìíîæåñòâî, ò.å. òàêîå çàâèñèìîå ìíîæåñòâî C , ÷òî C nfeg ÿâëÿåòñÿ íåçàâèñèìûì äëÿ ïðîèçâîëüíîãî e 2 C . Ïîíÿòèå öèêëà èìååò îñîáåííî ÿñíóþ èíòåðïðåòàöèþ äëÿ ñëó÷àÿ ãðàîâûõ ìàòðîèäîâ, î êîòîðûõ ðå÷ü ïîéäåò â ðàçä. 5.5. Òåîðåìà 5.5. Äëÿ ïðîèçâîëüíûõ öèêëîâ C , D âûïîëíÿþòñÿ óñëîâèÿ:
ëàâà 5. Ìàòðîèäû
180
C D, òî C = D, C2 Åñëè C 6= D è e 2 C \ D, òî ñóùåñòâóåò öèêë F C1 Åñëè
(C [ D)nfeg.
Äîêàçàòåëüñòâî. Óñëîâèå C1 âûðàæàåò ïðîñòî ñâîéñòâî ìèíèìàëüíîñòè, ñîäåðæàùååñÿ â îïðåäåëåíèè öèêëà. Äîêàæåì òåïåðü C2. Ìíîæåñòâà C nfeg è Dnfeg íåçàâèñèìûå, à ñëåäîâàòåëüíî, r C nfeg jC j è r Dnfeg jDj . Â ñèëó óñëîâèÿ R3
(
)=
1
(
)=
1
r(C [ D) + r(C \ D) r(C ) + r(D) = jC j + jDj 2 = jC [ Dj + jC \ Dj 2: (5.2) Ìíîæåñòâî C \ D íåçàâèñèìîå, òàê êàê îíî ÿâëÿåòñÿ ñîáñòâåííûì ïîäìíîæåñòâîì îáîèõ öèêëîâ. Îòñþäà r(C \ D) = jC \ Dj è íåðàâåíñòâî (5.2) ìîæíî ïåðåïèñàòü êàê
r(C [ D) jC [ Dj 2: (5.3) Ïðåäïîëîæèì òåïåðü, ÷òî íå ñóùåñòâóåò öèêëà F , î êîòîðîì èäåò ðå÷ü â óñëîâèè C2. Òîãäà ìíîæåñòâî (C [ D)nfeg íåçàâèñèìîå, r((C [ D)nfeg) = jC [ Dj 1 è â ðåçóëüòàòå r(C [ D) jC [ Dj 1 âîïðåêè íåðàâåíñòâó (5.3).
Îòìåòèì âàæíîå ñëåäñòâèå èç ñâîéñòâà C2. Åñëè A íåçàâèñèìîå ìíîæåñòâî, òî äëÿ ïðîèçâîëüíîãî e 2 E ìíîæåñòâî A [ feg ñîäåðæèò íå áîëåå îäíîãî öèêëà. Äîêàçàòåëüñòâî. Åñëè áû ñóùåñòâîâàëè äâà ðàçëè÷íûõ öèêëà C; D A [ feg, òî î÷åâèäíî, ÷òî ìû èìåëè áû e 2 C \ D, è âñëåäñòâèå ñâîéñòâà C2 ñóùåñòâîâàë áû öèêë F C [ D nfeg A âîïðåêè ïðåäïîëîæåíèþ î íåçàâèñèìîñòè ìíîæåñòâà A. Ñâîéñòâà ìàòðîèäîâ, ðàññìîòðåííûå âûøå, ñâÿçàíû ñ ëèíåéíî íåçàâèñèìûìè ìíîæåñòâàìè âåêòîðîâ ëèíåéíîãî ïðîñòðàíñòâà. Ïðèâåäåì äâà äðóãèõ ïðèìåðà ìàòðîèäîâ. Äëÿ ïðîèçâîëüíîãî êîíå÷íîãî ìíîæåñòâà E ïàðà hE; } E i, î÷åâèäíî, óäîâëåòâîðÿåò óñëîâèÿì M1 è M2. Áóäåì íàçûâàòü åå ñâîáîäíûì ìàòðîèäîì íà ìíîæåñòâå E .  òàêîì ìàòðîèäå êàæäîå ìíîæåñòâî A E íåçàâèñèìîå, è â ðåçóëüòàòå r A jAj. Äðóãîé ïðèìåð ïîëó÷àåì, ðàññìàòðèâàÿ ïðîèçâîëüíîå ðàçáèåíèå fD1 ; : : : ; Dk g ìíîæåñòâà E è îïðåäåëÿÿ Ñëåäñòâèå 5.6.
(
)
( )
( )=
=
I = fA E
: jA \ Dij 1 äëÿ i = 1; : : : ; kg: Îòìåòèì, ÷òî åñëè A; B 2 I è jB j = jAj + 1, òî äîëæåí ñóùåñòâîâàòü òàêîé èíäåêñ i, ÷òî Di \ A = ?, íî Di \ B 6= ?. Ýëåìåíò e 2 Di \ B ìîæíî ¾ïåðåíåñòè¿ â A è ïîëó÷èòü ìíîæåñòâî A [ feg 2 I. Ýòî äîêàçûâàåò ñïðàâåäëèâîñòü óñëîâèÿ M2. Ìàòðîèä M = hE; Ii, îïðåäåëåííûé òàêèì îáðàçîì, áóäåì íàçûâàòü ìàòðîèäîì ðàçáèåíèé. Áîëåå èíòåðåñíûå ïðèìåðû ìàòðîèäîâ áóäóò ïðèâåäåíû â ðàçä. 5.4, 5.5 è 5.6.
5.3. Òåîðåìà àìî-Ýäìîíäñà
181
5.3 Òåîðåìà àìî-Ýäìîíäñà
Âåðíåìñÿ ê æàäíûì àëãîðèòìàì, î êîòîðûõ øëà ðå÷ü â ïåðâîì ðàçäåëå. Ñîðìóëèðóåì ñíà÷àëà îáùóþ ñõåìó àëãîðèòìîâ ýòîãî òèïà. Ìû áóäåì ðàññìàòðèâàòü êîíå÷íîå ìíîæåñòâî E , óíêöèþ w: E ! R+ è ñåìåéñòâî I } E . Çíà÷åíèå w e íàçûâàåòñÿ âåñîì ýëåìåíòà e. Âåñ ïîäìíîæåñòâà A E îïðåäåëÿåòñÿ ñëåäóþùèì îáðàçîì: X
( )
()
w(A) =
Àëãîðèòì 5.7.
1 2 3 4 5 6
e2A
w(e)
(æàäíûé àëãîðèòì.)
begin
óïîðÿäî÷èòü ìíîæåñòâî E ïî óáûâàíèþ âåñîâ òàê, ÷òîáû E fe1 ; : : : ; en g, ãäå w e1 w e2 : : : w en ; S ?;
= :=
for
( )
( )
( )
i := 1 to n do if S [ fei g 2 I then S := S [ fei g
end
=
Òåîðåìà 5.8. (àäî, Ýäìîíäñ, ñì. [15℄ è [56℄). Åñëè M hE; Ii åñòü ìàòðîèä, òî ìíîæåñòâî S , íàéäåííîå æàäíûì àëãîðèòìîì, ÿâëÿåòñÿ íåçàâèñèìûì ìíîæåñòâîì ñ íàéáîëüøèì âåñîì. Íàïðîòèâ, åñëè M hE; Ii íå ÿâëÿåòñÿ ìàòðîèäîì, òî ñóùåñòâóåò òàêàÿ óíêöèÿ w E ! R+ , ÷òî S íå áóäåò íåçàâèñèìûì ìíîæåñòâîì ñ íàéáîëüøèì âåñîì. Äîêàçàòåëüñòâî. Ïðåäïîëîæèì, ÷òî M hE; Ii ÿâëÿåòñÿ ìàòðîèäîì, è ïóñòü S fs1 ; : : : ; sk g ìíîæåñòâî, ïîñòðîåííîå æàäíûì àëãîðèòìîì, ïðè÷åì w s1 w s2 : : : w sk . àññìîòðèì ïðîèçâîëüíîå íåçàâèñèìîå ìíîæåñòâî T ft1 ; : : : ; tm g, ãäå w t1 w t2 : : : w tm . Îòìåòèì ñíà÷àëà, ÷òî äîëæíî âûïîëíÿòüñÿ m k , òàê êàê âûáðàííîå æàäíûì àëãîðèòìîì ìíîæåñòâî S ÿâëÿåòñÿ áàçîé ìàòðîèäà: êàæäûé ýëåìåíò ei 2 = S , ¾îòâåðãíóòûé¿ íà íåêîòîðîì øàãå àëãîðèòìà, ÿâëÿåòñÿ çàâèñèìûì îò ìíîæåñòâà ýëåìåíòîâ, âûáðàííûõ â ïðåäûäóùèé ðàç, à ñëåäîâàòåëüíî, îò öåëîãî ìíîæåñòâà S . Äîêàæåì òåïåðü, ÷òî w T W S , òî÷íåå, ÷òî äëÿ ïðîèçâîëüíîãî i m èìååì w ti w si . Ïðåäïîëîæèì, ÷òî w ti > w si , è ðàññìîòðèì íåçàâèñèìûå ìíîæåñòâà
=
:
=
= ( ) ( ) = ( )
( ) ( ) ( )
( )
( )
( )
( )
( ) A = fs ; : : : ; si g; B = ft ; : : : ; ti ; ti g: 1
( )
1
1
1
Ñîãëàñíî óñëîâèþ M2 ñóùåñòâóåò ýëåìåíò tj , j i, òàêîé ÷òî ìíîæåñòâî fs ; : : : ; si ; tj g íåçàâèñèìîå. Èìååì w(tj ) w(ti ) w(si ), ñëåäîâàòåëüíî, ñóùåñòâóåò òàêîé èíäåêñ p i, ÷òî w(s ) : : : w(sp ) w(tj ) w(sp ) 1
1
1
1
ëàâà 5. Ìàòðîèäû
182
âîïðåêè òîìó, ÷òî sp ýëåìåíò ñ íàéáîëüøèì âåñîì, äîáàâëåíèå êîòîðîãî ê
fs ; : : : ; sp g íå íàðóøàåò åãî íåçàâèñèìîñòè. Ïîëó÷åííîå ïðîòèâîðå÷èå äîêàçûâàåò, ÷òî w(ti ) w(si ), 1 i m. Ïðåäïîëîæèì òåïåðü, ÷òî M = hE; Ii íå ÿâëÿåòñÿ ìàòðîèäîì. Åñëè íå âûïîëíÿåòñÿ óñëîâèå M1, ò.å. åñëè ñóùåñòâóþò òàêèå ìíîæåñòâà A; B E , ÷òî A B 2 I, A 2= I, òî îïðåäåëèì e 2 A; w(e) = 10;; åñëè åñëè e 2 E nA: 1
1
Ëåãêî óâèäåòü, ÷òî ìíîæåñòâî A íå ñîäåðæèòñÿ òîãäà âî ìíîæåñòâå S , âûáðàííîì æàäíûì àëãîðèòìîì.  ðåçóëüòàòå w S < w B w A . Åñëè æå óñëîâèå M1 âûïîëíÿåòñÿ, íî íå âûïîëíÿåòñÿ óñëîâèå M2, òî ñóùåñòâóþò íåçàâèñèìûå ìíîæåñòâà A, B , òàêèå ÷òî jAj k , jB j k , è äëÿ êàæäîãî e 2 B nA ìíîæåñòâî A [ feg çàâèñèìîå. Îáîçíà÷èì p jA \ B j (î÷åâèäíî, ÷òî p < k è ïóñòü < " < = k p ). Îïðåäåëèì
=
0
1(
)
w(e) =
8 < :
1 + "; 1; 0;
( ) ( )= ( ) = +1 =
åñëè e 2 A; åñëè e 2 B nA; â îñòàëüíûõ ñëó÷àÿõ:
Çàìåòèì, ÷òî ïðè âåñàõ, îïðåäåëåííûõ òàêèì îáðàçîì, æàäíûé àëãîðèòì ñíà÷àëà âûáåðåò âñå ýëåìåíòû ìíîæåñòâà A, à çàòåì îòáðîñèò âñå ýëåìåíòû e 2 B nA.  ðåçóëüòàòå áóäåò âûáðàíî ìíîæåñòâî S ñ âåñîì, ìåíüøèì âåñà ìíîæåñòâà B :
w(S ) = w(A) = k(1 + ") = (k p)(1 + ") + p(1 + ") (k p) k k p p + p(1 + ") = (k + 1 p) + p(1 + ") = w(B ): +1
Ñëåäóåò îáðàòèòü âíèìàíèå íà îäèí äîâîëüíî óäèâèòåëüíûé àêò. Ïîñêîëüêó ìû îïðåäåëèëè âåñ ïîäìíîæåñòâà êàê ñóììó âåñîâ åãî ýëåìåíòîâ, òî ìîãëî áû êàçàòüñÿ, ÷òî îïòèìàëüíîå ìíîæåñòâî S áóäåò ñóùåñòâåííûì îáðàçîì çàâèñåòü îò ÷èñëåííûõ çíà÷åíèé âåñîâ îòäåëüíûõ ýëåìåíòîâ. Îäíàêî æå ýòà çàâèñèìîñòü î÷åíü ñëàáà: ìíîæåñòâî S çàâèñèò òîëüêî îò óïîðÿäî÷åíèÿ âåñîâ îòäåëüíûõ ýëåìåíòîâ.  æàäíîì àëãîðèòìå ïîñëå ñîðòèðîâêè ýëåìåíòîâ âåñà ñîâåðøåííî ïåðåñòàþò íàñ èíòåðåñîâàòü. Ñòîèò îòìåòèòü òàêæå, ÷òî â äîêàçàòåëüñòâå òåîðåìû 5.8 ìû ïîêàçàëè, ÷òî ìíîæåñòâî S îïòèìàëüíîå â î÷åíü ñèëüíîì ñìûñëå. Ó íåãî íå òîëüêî ìàêñèìàëüíà ñóììà ýëåìåíòîâ, íî òàêæå â ëþáîì íåçàâèñèìîì ìíîæåñòâå T âåñ i-ãî ïî âåëè÷èíå ýëåìåíòà íå áîëüøå âåñà i-ãî ïî âåëè÷èíå ýëåìåíòà â S . Ýòîò àêò ìû áóäåì íàçûâàòü îïòèìàëüíîñòüþ ïî åéëó (ñì. [25℄). Òàêèì îáðàçîì, â ìàòðîèäå íåëüçÿ âûáðàòü íåçàâèñèìîå ìíîæåñòâî, ñîñòîÿùåå èç ¾ìåíüøåãî ÷èñëà áîëüøèõ ïî âåëè÷èíå (íî âåñó) ýëåìåíòîâ¿.
5.4. Ìàòðè÷íûå ìàòðîèäû
183
Îòìåòèì òàêæå, ÷òî ïðè îáðàùåíèè óïîðÿäî÷åíèÿ ýëåìåíòîâ æàäíûé àëãîðèòì âûáåðåò ìíîæåñòâî S , êîòîðîå íå òîëüêî èìååò íàèìåíüøèé âåñ, íî è i-é ïî âåëè÷èíå ýëåìåíò (ñ÷èòàÿ îò íàèìåíüøåãî) áóäåò íå áîëüøå i-ãî ïî âåëè÷èíå ýëåìåíòà ïðîèçâîëüíîé áàçû. Òåïåðü ìû ìîæåì ïîñìîòðåòü íà ïðèìåíåíèå æàäíîãî àëãîðèòìà ê çàäà÷å 1 â íà÷àëå ýòîé ãëàâû ñ îáùåé òî÷êè çðåíèÿ: ìû èìåëè òàì äåëî ñ ìàòðîèäîì ðàçáèåíèé, ïîðîæäåííûì ðàçáèåíèåì ïîçèöèé ìàòðèöû íà ñòîëáöû. Äàëåå ìû ïîçíàêîìèìñÿ ñ ïðèìåíåíèåì æàäíûõ àëãîðèòìîâ ê äðóãèì, ìåíåå áàíàëüíûì ìàòðîèäàì. Ïîêàæåì òàêæå, êàê â êîíêðåòíûõ ñëó÷àÿõ ýåêòèâíî ïðîâåðÿòü óñëîâèå S [ fei g 2 I, ïîÿâëÿþùååñÿ â ñòðîêå 6 æàäíîãî àëãîðèòìà. Âî âñåõ ñëó÷àÿõ ìû ïîëó÷èì îöåíêó ñëîæíîñòè àëãîðèòìà â âèäå ìíîãî÷ëåíà îòíîñèòåëüíî ðàçìåðíîñòè çàäà÷è, ÷òî îòíþäü íå ÿâëÿåòñÿ òèïè÷íîé ñèòóàöèåé äëÿ îïòèìèçàöèîííûõ çàäà÷.  áîëüøîé ñòåïåíè ýåêòèâíîñòü æàäíûõ àëãîðèòìîâ âûçûâàåòñÿ òåì, ÷òî ýëåìåíò, îäèí ðàç âêëþ÷åííûé â îïòèìàëüíîå ðåøåíèå, îñòàåòñÿ â íåì äî êîíöà. Çäåñü íå áûâàåò ¾ïðîâåðêè âñåõ âîçìîæíîñòåé¿, õàðàêòåðíîé äëÿ àëãîðèòìîâ ñ âîçâðàòîì (ñì. ï. 2.8), ÷òî îáû÷íî ïðèâîäèò ê ýêñïîíåíöèàëüíîìó ðîñòó ÷èñëà øàãîâ ïðè ðîñòå ðàçìåðíîñòè çàäà÷è.
5.4 Ìàòðè÷íûå ìàòðîèäû Ìàòðè÷íûå ìàòðîèäû îòëè÷àþòñÿ îò ìàòðîèäîâ, îïðåäåëÿåìûõ íåçàâèñèìûìè ïîäìíîæåñòâàìè ëèíåéíîãî ïðîñòðàíñòâà, òîëüêî âèäîì. Ïóñòü fv1 ; : : : ; vn g ýëåìåíòû íåêîòîðîãî ëèíåéíîãî ïðîñòðàíñòâà ðàçìåðíîñòè m, è ïóñòü fb1 ; : : : ; bm g áàçèñ ýòîãî ïðîñòðàíñòâà. Âåêòîðû v1 ; : : : ; vn èìåþò îäíîçíà÷íî îïðåäåëåííîå ðàçëîæåíèå îòíîñèòåëüíî áàçèñà b1 ; : : : ; bm .
v v
1 2
.. .
= =
+a +a
a b a b 11
1
12
1
vn = a n b 1
1
+:::+ +:::+
am bm am bm
+ a nb + : : : +
amn bm
21 22
b b
2 2
2
1
2
.. .
2
àññìîòðèì ìàòðèöó 2 6
A=6 6 4
a a
11 21
.. .
am
1
a a
12 22
.. .
am
2
::: a ::: a
3 n 7 2n 7 .. 7 : . 5 1
(5.4)
: : : amn
Åå ñòîëáöû, îáîçíà÷èì èõ e1 ; : : : ; en , ñîîòâåòñòâóþò âåêòîðàì v1 ; : : : ; vn , ïðè÷åì ïîäìíîæåñòâî âåêòîðîâ ëèíåéíî íåçàâèñèìî òîãäà è òîëüêî òîãäà, êîãäà
ëàâà 5. Ìàòðîèäû
184
ñîîòâåòñòâóþùåå èì ìíîæåñòâî ñòîëáöîâ ëèíåéíî íåçàâèñèìî. Îáðàòíî, ñòîëáöû ïðîèçâîëüíîé ìàòðèöû A âèäà (5.4) ìîæíî òðàêòîâàòü êàê âåêòîðû íåêîòîðîãî m-ìåðíîãî ëèíåéíîãî ïðîñòðàíñòâà. Êàæäàÿ òàêàÿ ìàòðèöà îïðåäåëÿåò ìàòðîèä M A < E; I >, ãäå E åñòü ìíîæåñòâî åå ñòîëáöîâ, a B 2 I òîãäà è òîëüêî òîãäà, êîãäà ìíîæåñòâî ñòîëáöîâ B ëèíåéíî íåçàâèñèìî. Ìàòðîèä, îïðåäåëåííûé òàêèì îáðàçîì, áóäåì íàçûâàòü ìàòðîèäîì ìàòðèöû A. Ìàòðîèä íàçûâàåòñÿ ìàòðè÷íûì, åñëè îí ÿâëÿåòñÿ (èçîìîðåí ñ) ìàòðîèäîì íåêîòîðîé ìàòðèöû. Àëãîðèòì 5.9. (Æàäíûé àëãîðèòì äëÿ ìàòðè÷íîãî ìàòðîèäà.) Äàííûå: Ìàòðèöà A ñ m ñòðîêàìè è n ñòîëáöàìè, ñòîëáöû êîòîðîé óïîðÿäî÷åíû ïî íåâîçðàñòàíèþ âåñîâ (âåñà íåîòðèöàòåëüíû). åçóëüòàòû: Íåçàâèñèìîå ìíîæåñòâî ñòîëáöîâ ñ íàéáîëüøåé ñóììîé âåñîâ (S ñîäåðæèò íîìåðà ýòèõ ñòîëáöîâ).
( )=
1. begin 2. S ?; 3. for j to n do 4. begin i ; 5. while (A i; j ) and (i < m) do i i ; 6. if A i; j 6 then (* j -é ñòîëáåö íåíóëåâîé *) 7. begin S S [ fj g; 8. for k j to n do 9. for l to m do 10. A l; k A l; k A l; j A i; k =A i; j 11. end (*A i; k äëÿ j k n*) 12. end 13. end
:=
:= 1
:= 0 [ ℄=0 := + 1 [ ℄=0 := := + 1 := 1 [ ℄ := [ ℄ [ ℄ [ ℄ [ ℄ [ ℄=0 +1
Ïðîöåññ ïðåîáðàçîâàíèÿ ìàòðèöû A, ðåàëèçóåìûé ýòèì àëãîðèòìîì, ýòî íå ÷òî èíîå, êàê èçâåñòíûé èç ÷èñëåííîãî àíàëèçà ìåòîä èñêëþ÷åíèÿ àóññà.  êàæäîé èòåðàöèè öèêëà 3 àëãîðèòì ïðîâåðÿåò (ñòðîêà 5), ñîñòîèò ëè j -é ñòîëáåö èç îäíèõ íóëåé. Åñëè äà (A i; j â ñòðîêå 6), òî î÷åâèäíî, ÷òî j -é ñòîëáåö íå ïðèíàäëåæèò íè ê îäíîìó ëèíåéíî íåçàâèñèìîìó ìíîæåñòâó ñòîëáöîâ. Åñëè íåò (A i; j 6 â ñòðîêå 6), òî ìû âêëþ÷àåì j -é ñòîëáåö â èñêîìîå ìíîæåñòâî ëèíåéíî íåçàâèñèìûõ ñòîëáöîâ è âû÷èòàåì äëÿ âñåõ k > j èç k -ãî ñòîëáöà j -é ñòîëáåö, óìíîæåííûé íà A i; k =A i; j . Ýòî íå íàðóøàåò ëèíåéíîé çàâèñèìîñòè ñòîëáöîâ, íî ïðèâîäèò ê îáðàùåíèþ â íóëü âñåõ ýëåìåíòîâ i-é ñòðîêè ñïðàâà îò A i; j (ëåãêî óâèäåòü, ÷òî ïîñëåäóþùèå èòåðàöèè öèêëà 3 íå ìåíÿþò ïîëîæåíèÿ äåë). Ïî îêîí÷àíèè ðàáîòû àëãîðèòìà ìíîæåñòâî S ñîäåðæèò íîìåðà íåíóëåâûõ ñòîëáöîâ. Ýòè ñòîëáöû ëèíåéíî íåçàâèñèìû, òàê êàê ïîñëå ñîîòâåòñòâóþùåé ïåðåñòàíîâêè ñòðîê îíè ñîäåðæàò ïîäìàòðèöó ðàçìåðîì jS j jS j ñ íóëÿìè âûøå
[ ℄=0
[ ℄=0
[ ℄ [ ℄
[ ℄
5.4. Ìàòðè÷íûå ìàòðîèäû
185
ãëàâíîé äèàãîíàëè è íåíóëåâûìè ýëåìåíòàìè íà äèàãîíàëè. Ñëîæíîñòü àëãîðèòìà ìîæíî ëåãêî îöåíèòü, åñëè çàìåòèòü, ÷òî äîìèíèðóþùåé ÷àñòüþ (O mn øàãîâ) áëîêà 4 ÿâëÿåòñÿ öèêë 8. Ýòîò áëîê âûïîëíÿåòñÿ n ðàç, ÷òî â ñóììå äàåò O n2 m øàãîâ.
( )
(
)
Ïîêàæåì òåïåðü ïðèìåð ïðèìåíåíèÿ àëãîðèòìà 5.9, ñâÿçàííûé ñ ïëàíèðîâàíèåì ýêñïåðèìåíòîâ. Âîîáùå ãîâîðÿ, áóäåì ðàññìàòðèâàòü ýêñïåðèìåíòû, â êîòîðûõ íåêîòîðûé îáúåêò îäíîâðåìåííî ïîäâåðãàåòñÿ äåéñòâèþ ìíîãèõ íåçàâèñèìûõ àêòîðîâ, ïðè÷åì ìîæíî êîëè÷åñòâåííî èçìåðèòü ñóììàðíîå èçìåíåíèå îáúåêòà. Íàøåé çàäà÷åé áóäåò îïðåäåëåíèå âëèÿíèÿ îòäåëüíûõ àêòîðîâ íà èçìåíåíèå îáúåêòà. Ïðèìåì ëèíåéíóþ. ìîäåëü, â êîòîðîé èçìåíåíèå îáúåêòà âûðàæàåòñÿ îðìóëîé
b= x 1
+ x + : : : + mxm ;
1
2
2
ãäå xi åñòü èíòåíñèâíîñòü i-ãî àêòîðà, a 1 ; : : : ; m êîýèöèåíòû, êîòîðûå íóæíî îïðåäåëèòü. Ïðîùå âñåãî áûëî áû ñîâåðøèòü m ýêñïåðèìåíòîâ, ïîäâåðãàÿ îáúåêò â i-ì ýêñïåðèìåíòå äåéñòâèþ òîëüêî i-ãî àêòîðà ñ åäèíè÷íîé èíòåíñèâíîñòüþ; òîãäà xi , xk äëÿ k 6 i, ÷òî äàåò âîçìîæíîñòü íåïîñðåäñòâåííî îïðåäåëèòü i . Îäíàêî òàêîå ðåøåíèå ÷àñòî íåâîçìîæíî ïî ÷èñòî òåõíè÷åñêèì ïðè÷èíàì. Ïðåäïîëîæèì, íàïðèìåð, ÷òî ìû íàáëþäàåì âëèÿíèå ñîäåðæàíèÿ ðàçëè÷íûõ ìèíåðàëîâ â ïî÷âå íà ðîñò óðîæàÿ íåêîòîðîé êóëüòóðû, ïðè÷åì ìû èìååì â ñâîåì ðàñïîðÿæåíèè n (n m) óäîáðåíèé, ÿâëÿþùèõñÿ ñìåñüþ ýòèõ ìèíåðàëîâ â ñòðîãî îïðåäåëåííûõ ïðîïîðöèÿõ. Óðàâíåíèÿ, ñîîòâåòñòâóþùèå âîçìîæíûì ýêñïåðèìåíòàì, ìîæíî ïðåäñòàâèòü ñëåäóþùèì îáðàçîì:
=1
a
a 1
11
1
12
a 1
.. .
n
1
=0
+ +
a
a
+
a
2
21
2
22
2
.. .
n
2
=
+ +
: : : + m am : : : + m am
+
: : : + m amn = bn
1
.. .
2
= =
b b
1 2
(5.5)
ãäå aij îáîçíà÷àåò êîëè÷åñòâî i-ãî ìèíåðàëà â j -ì ýêñïåðèìåíòå (ìû ïðåäïîëàãàåì èñïîëüçîâàíèå ñòàíäàðòíûõ êîëè÷åñòâ óäîáðåíèé è ïëîùàäåé êóëüòóð). àññìîòðèì ìàòðèöó A aij . Åå ñòîëáöû ñîîòâåòñòâóþò ýêñïåðèìåíòàì (óäîáðåíèÿì), à ñòðîêè ìèíåðàëàì. Êàæäîå ëèíåéíî íåçàâèñèìîå ìíîæåñòâî èç m ñòîëáöîâ îïðåäåëÿåò ìíîæåñòâî ýêñïåðèìåíòîâ, êîòîðûå íóæíî ïðîâåñòè, ÷òîáû âû÷èñëèòü êîýèöèåíòû 1 ; : : : ; m èç ñèñòåìû óðàâíåíèé (5.5). Åñëè óïîðÿäî÷èòü ñòîëáöû ïî íåóáûâàíèþ ñòîèìîñòè ñîîòâåòñòâóþùèõ èì ýêñïåðèìåíòîâ, òî æàäíûé àëãîðèòì îïðåäåëèò ñàìóþ äåøåâóþ ñèñòåìó ýêñïåðèìåíòîâ.
=[ ℄
ëàâà 5. Ìàòðîèäû
186
5.5 ðàîâûå ìàòðîèäû Ïóñòü
G
= hV; E i íåîðèåíòèðîâàííûé ãðà. Îïðåäåëèì M (G) = hE; Ii, ãäå : ãðà hV; Ai íå ñîäåðæèò öèêëîâg: M (G) ÿâëÿåòñÿ ìàòðîèäîì äëÿ ïðîèçâîëüíîãî ãðàà G.
I = fA E
Òåîðåìà 5.10.
Äîêàçàòåëüñòâî. Î÷åâèäíî, ÷òî óñëîâèå M1 âûïîëíÿåòñÿ.  ñèëó òåîðåìû 5.1 äîñòàòî÷íî ïîêàçàòü, ÷òî âûïîëíÿåòñÿ òàêæå óñëîâèå M3. È ýòî äåéñòâèòåëüíî òàê, ïîñêîëüêó êàæäîå ìàêñèìàëüíîå ïîäìíîæåñòâî A 2 I, ñîäåðæàùååñÿ â ìíîæåñòâå B E , ÿâëÿåòñÿ íå ÷åì èíûì, êàê ñòÿãèâàþùèì ëåñîì ãðàà hV; B i (ñì. ðàçä. 2.4). Êîëè÷åñòâî ýëåìåíòîâ êàæäîãî òàêîãî ìíîæåñòâà A ñîñòàâëÿåò, òàêèì îáðàçîì,
jV j (÷èñëî êîìïîíåíò ñâÿçíîñòè ãðàà hV; B i):
( )
Ìàòðîèä M G áóäåì íàçûâàòü ìàòðîèäîì ãðàà G. Ïðîèçâîëüíûé ìàòðîèä íàçûâàåòñÿ ãðàîâûì, åñëè îí ÿâëÿåòñÿ (èçîìîðåí ñ) ìàòðîèäîì íåêîòîðîãî ãðàà. Îòìåòèì, ÷òî öèêëû ìàòðîèäà M G ýòî íå ÷òî èíîå, êàê ìíîæåñòâà ðåáåð ýëåìåíòàðíûõ öèêëîâ; ýòî îáúÿñíÿåò ïðîèñõîæäåíèå íàçâàíèÿ ¾öèêë¿ â ñëó÷àå ïðîèçâîëüíûõ ìàòðîèäîâ. Îêàçûâàåòñÿ, ÷òî êàæäûé ãðàîâûé ìàòðîèä M G ìîæíî òðàêòîâàòü êàê ìàòðè÷íûé ìàòðîèä, ñîîòâåòñòâóþùèé ìàòðèöå èíöèäåíòíîñòè ãðàà G, ðàññìàòðèâàåìîé êàê ìàòðèöà ñ ýëåìåíòàìè èç äâóõýëåìåíòíîãî ïîëÿ Z2 f ; g. Ñëîæåíèå â òàêîì ïîëå âûïîëíÿåòñÿ ïî ìîäóëþ 2, à óìíîæåíèå êàê îáû÷íîå óìíîæåíèå öåëûõ ÷èñåë:
( )
( )
= 01
0 0 1
+ 0 1
1 1 1
0 1
0 0 0
1 0 1
Âñïîìíèì, ÷òî ñòîëáöû ìàòðèöû èíöèäåíòíîñòè ñîîòâåòñòâóþò ðåáðàì, à ñòðîêè âåðøèíàì ãðàà, ïðè÷åì ñòîëáåö, ñîîòâåòñòâóþùèé ðåáðó fu; v g, ñîäåðæèò åäèíèöû â ñòðîêàõ, ñîîòâåòñòâóþùèõ âåðøèíàì u è v , è íóëè â îñòàëüíûõ ïîçèöèÿõ. Òåîðåìà 5.11. Ïóñòü G hV; E i ïðîèçâîëüíûé ãðà è A åãî ìàòðèöà èíöèäåíòíîñòè. Ïîäìíîæåñòâî ñòîëáöîâ ìàòðèöû A ÿâëÿåòñÿ ëèíåéíî çàâèñèìûì íàä ïîëåì Z2 òîãäà è òîëüêî òîãäà, êîãäà ñîîòâåòñòâóþùåå åìó ïîäìíîæåñòâî ðåáåð ñîäåðæèò öèêë. Äîêàçàòåëüñòâî. Ïðåäïîëîæèì, ÷òî ìíîæåñòâî C 2 E ÿâëÿåòñÿ öèêëîì, è ðàññìîòðèì ñîîòâåòñòâóþùåå åìó ìíîæåñòâî ñòîëáöîâ ìàòðèöû A. Ýòî ìíîæåñòâî ñîäåðæèò â êàæäîé íåíóëåâîé ñòðîêå äâå åäèíèöû, ñëåäîâàòåëüíî, ÿâëÿåòñÿ ëèíåéíî çàâèñèìûì íàä ïîëåì Z2 ; åãî ñóììà, âû÷èñëåííàÿ ïî ìîäóëþ 2, äàåò íóëåâîé ñòîëáåö. Íàïðîòèâ, ïðåäïîëîæèì, ÷òî íåêîòîðîå íåïóñòîå ìíîæåñòâî ñòîëáöîâ ìàòðèöû A ÿâëÿåòñÿ ëèíåéíî çàâèñèìûì íàä Z2 . Ýòî îçíà÷àåò,
=
5.5. ðàîâûå ìàòðîèäû
187
÷òî îíî ñîäåðæèò íåïóñòîå ìíîæåñòâî ñòîëáöîâ ñ ñóììîé, ÿâëÿþùåéñÿ íóëåâûì ñòîëáöîì (îòìåòèì, ÷òî â ñëó÷àå ïîëÿ Z2 ëèíåéíàÿ êîìáèíàöèÿ ñ íåíóëåâûìè êîýèöèåíòàìè ýòî ïðîñòî ñóììà). Ïóñòü B E ñîîòâåòñòâóþùåå åìó ìíîæåñòâî ðåáåð. hV; B i ÿâëÿåòñÿ òîãäà ãðàîì ñ ÷åòíîé ñòåïåíüþ êàæäîé âåðùèíû. Ýòîò ãðà ñîäåðæèò öèêë, ïîñêîëüêó êàæäûé íåïóñòîé ãðà áåç öèêëîâ ñîäåðæèò ïî êðàéíåé ìåðå îäíó âåðøèíó ñòåïåíè 1.  ñèëó ýòîé òåîðåìû ìû ìîæåì èñïîëüçîâàòü àëãîðèòì 5.9 äëÿ îòûñêàíèÿ áàçû ìàòðîèäà M G ñ íàèìåíüøèì âåñîì äðóãèìè ñëîâàìè, ìèíèìàëüíîãî ñòÿãèâàþùåãî äåðåâà (â îáùåì ñëó÷àå ëåñà, ò.å. ãðàà, âñå êîìïîíåíòû ñâÿçíîñòè êîòîðîãî ÿâëÿþòñÿ äåðåâüÿìè). Ñëîæíîñòü òàêîãî ðåøåíèÿ ñîñòàâëÿåò O m2 n , ãäå n jV j è m jE j. Ñóùåñòâóþò îäíàêî çíà÷èòåëüíî áîëåå ýåêòèâíûå àëãîðèòìû. Îïèøåì îäèí èç íèõ àëãîðèòì Êðàñêàëà [40℄. Ñëåäóåò îòìåòèòü, ÷òî ýòîò àëãîðèòì ñûãðàë áîëüøóþ ðîëü â ðàçâèòèè òåîðèè, îïèñàííîé â äàííîé ãëàâå; àëãîðèòì 5.7 áûë ñîðìóëèðîâàí êàê îáîáùåíèå àëãîðèòìà Êðàñêàëà ñ ãðàîâîãî ìàòðîèäà íà ïðîèçâîëüíûå ìàòðîèäû. Àëãîðèòì 5.12. (Êðàñêàë, ñì. [40℄). Äàííûå: ðà G hV; E i â âèäå ñïèñêà ðåáåð e1 ; : : : ; em , óïîðÿäî÷åííîãî ïî íåóáûâàíèþ âåñîâ. åçóëüòàòû: Ìèíèìàëüíûé ñòÿãèâàþùèé ëåñ (S ñîäåðæèò ìíîæåñòâî åãî ðåáåð).
( )
(
)
=
=
=
1. 2. 3. 4. 5. 6. 7. 8. 9.
begin
S := ?;
:= ffvg : v 2 V g; i := 1 to m do if ei = fu; v g, ãäå u 2 A; v 2 B; A; B 2 ÀÇÁ; A 6= B begin S := S [ fei g; ÀÇÁ := (ÀÇÁnfA; B g) [ fA [ B g;
ÀÇÁ for
then
end end
 ýòîì àëãîðèòìå, ÿâëÿþùåìñÿ âàðèàíòîì æàäíîãî àëãîðèòìà äëÿ ìàòðîèäà M G , ìû ñòðîèì ñòÿãèâàþùèé ëåñ ãðàà G, øàã çà øàãîì äîáàâëÿÿ ïîñëåäîâàòåëüíî ê S ðåáðà, íå âûçûâàþùèå çàìûêàíèÿ öèêëà. ÀÇÁ ñîäåðæèò ðàçáèåíèå ìíîæåñòâà V íà ìíîæåñòâà âåðøèí êîìïîíåíò ñâÿçíîñòè ãðàà, îïðåäåëÿåìîãî òåêóùèì ñîäåðæàíèåì ìíîæåñòâà 5. åáðî ei , àíàëèçèðóåìîå â ñòðîêå 5, äîáàâëÿåì ê 5 òîãäà è òîëüêî òîãäà, êîãäà îíî èìååò îáà êîíöà â ðàçëè÷íûõ áëîêàõ ðàçáèåíèÿ ÀÇÁ, â ïðîòèâíîì ñëó÷àå åãî äîáàâëåíèå âûçâàëî áû îáðàçîâàíèå öèêëà. Ïîñëå äîáàâëåíèÿ ei ê S ñëåäóåò çàìåíèòü áëîêè A; B 2 ÀÇÁ, ñîäåðæàùèå êîíöû ðåáåð ei , èõ ñóììîé A [ B . Ñëîæíîñòü àëãîðèòìà Êðàñêàëà
( )
ëàâà 5. Ìàòðîèäû
188
u
u u u u Iu u6 6u 7
1
2
8
5
4
3
)
6
2
4
8
5
3
6
4 ÀÇÁ={{1,4,5,7,8},{2},{3,6}}
ÀÇÁ={{1,7,8},{2},{4,5},{3,6}}
178
u u u 6u u 6u Iu 6u 7
45
èñ. 5.1: Ñëèÿíèå áëîêîâ f ; ; g è f ; g ðàçáèåíèÿ ÀÇÁ. Ïðèìåð ìèíèìàëüíîãî ñòÿãèâàþùåãî äåðåâà, ïîñòðîåííîãî àëãîðèòìîì Êðàñêàëà, ïðåäñòàâëåí íà ðèñ. 5.2 (â ñêîáêàõ äàíû âåñà ðåáåð).
u
u
(10) A A (6) AA A (2) (9) AA A(8) (7) AA Q (1) A A (11) QQ AA QQ A(3) (5) (4) Q A QQA QA
u
u
u
u
u
èñ. 5.2: Ìèíèìàëüíîå ñòÿãèâàþùåå äåðåâî, ïîñòðîåííîå àëãîðèòìîì Êðàñêàëà.
ñóùåñòâåííûì îáðàçîì çàâèñèò îò ñïîñîáà ïðåäñòàâëåíèÿ ðàçáèåíèÿ ÀÇÁ è ñïîñîáà, êàêèì âûïîëíÿåòñÿ ñëèÿíèå åãî áëîêîâ. Ñóùåñòâóþò î÷åíü ýåêòèâíûå ìåòîäû ðåøåíèÿ ïîñëåäíåé çàäà÷è (ñì. [67℄). Äëÿ íàøèõ öåëåé äîñòàòî÷íî ñëåäóþùåãî ìåòîäà: êàæäûé áëîê ðàçáèåíèÿ ïðåäñòàâëÿåòñÿ îðèåíòèðîâàííûì äåðåâîì, â êîòîðîì èç êàæäîé âåðøèíû ñóùåñòâóåò ïóòü äî êîðíÿ. Êîðåíü èäåíòèèöèðóåò äàííûé áëîê. Òàêîå äåðåâî ñîäåðæèò òàêæå èíîðìàöèþ î ñâîåé âûñîòå. Èäåíòèèêàöèÿ áëîêà, ñîäåðæàùåãî äàííóþ âåðøèíó, ïðîèñõîäèò ïðîõîæäåíèåì ïóòè èç ýòîé âåðøèíû äî êîðíÿ. Ñëèÿíèå áëîêîâ A, B ïðîèñõîäèò ïóòåì äîáàâëåíèÿ äóã îò êîðíÿ äåðåâà, ïðåäñòàâëÿþùåãî îäèí áëîê, ê êîðíþ äåðåâà, ïðåäñòàâëÿþùåãî äðóãîé áëîê (ðèñ. 5.1). Åñëè ïðè ñëèÿíèè äîáàâëåííàÿ äóãà âñåãäà èäåò îò êîðíÿ äåðåâà ñ ìåíüøåé (èëè ðàâíîé) âûñîòîé, òî â õîäå àëãîðèòìà âûñîòà êàæäîãî äåðåâà íå áîëüøå ëîãàðèìà åãî âåðøèí, à òåì ñàìûì íå áîëüøå n (ñì. çàäà÷ó 5.13).
log
5.6. Ìàòðîèäû òðàíñâåðñàëåé
189
5.6 Ìàòðîèäû òðàíñâåðñàëåé =(
)
Ïóñòü A A1 ; : : : ; An ñåìåéñòâî ïîäìíîæåñòâ (íå îáÿçàòåëüíî ðàçëè÷íûõ) íåêîòîðîãî êîíå÷íîãî ìíîæåñòâà E . Áóäåì ãîâîðèòü, ÷òî ìíîæåñòâî S E ÿâëÿåòñÿ ÷àñòè÷íîé òðàíñâåðñàëüþ ñåìåéñòâà A, åñëè ñóùåñòâóåò òàêîå èíúåêòèâíîå îòîáðàæåíèå ' S ! f ; : : : ; ng, ÷òî e 2 A'(e) äëÿ êàæäîãî e 2 S . Ýòî ýêâèâàëåíòíî ñëåäóþùåìó óòâåðæäåíèþ: ìíîæåñòâî S fe1 ; : : : ; ek g ÿâëÿåòñÿ ÷àñòè÷íîé òðàíñâåðñàëüþ ñåìåéñòâà A, åñëè äëÿ íåêîòîðîé ïåðåñòàíîâêè f ìíîæåñòâà f ; : : : ; k g è äëÿ íåêîòîðîé ïîñëåäîâàòåëüíîñòè èíäåêñîâ i1 : : : ik n ïîñëåäîâàòåëüíîñòü hef (1) ; : : : ; ef (k) i ÿâëÿåòñÿ ñèñòåìîé ðàçëè÷íûõ ïðåäñòàâèòåëåé äëÿ ïîñëåäîâàòåëüíîñòè hAi1 ; : : : ; Aik i (ñì. n. 4.4). Îòìåòèì, ÷òî äëÿ ÷àñòè÷íîé òðàíñâåðñàëè S ñåìåéñòâà A1 ; : : : ; An ñóùåñòâóåò, âîîáùå ãîâîðÿ, ìíîãî ðàçëè÷íûõ âçàèìíî îäíîçíà÷íûõ óíêöèé ' S ! f ; : : : ; ng, óäîâëåòâîðÿþùèõ óñëîâèþ e 2 A'(e) , e 2 S . Îñíîâíûì ðåçóëüòàòîì äàííîãî ðàçäåëà ÿâëÿåòñÿ ñëåäóþùàÿ òåîðåìà Ýäìîíäñà è Ôàëêåðñîíà (ñì. [16℄). Òåîðåìà 5.13. Ïóñòü A A1 ; : : : ; An ñåìåéñòâî ïîäìíîæåñòâ êîíå÷íîãî ìíîæåñòâà E , è ïóñòü I ñåìåéñòâî ÷àñòè÷íûõ òðàíñâåðñàëåé ñåìåéñòâà A. Òîãäà M A hE; Ii ÿâëÿåòñÿ ìàòðîèäîì. Äîêàçàòåëüñòâî. Î÷åâèäíî, ÷òî óñëîâèå M1 âûïîëíÿåòñÿ. ×òîáû äîêàçàòü âûïîëíåíèå óñëîâèÿ M2, ïðåäïîëîæèì, ÷òî A; B 2 I, jAj k , jB j k . Ìû ìîæåì ïðåäïîëàãàòü, ÷òî A fa1 ; : : : ; ak g è B fb1 ; : : : ; bk+1 g, ãäå ai bi äëÿ i r jA \ B j. Åñëè r k, ò.å. A B , òî A [ fbk+1 g 2 I è óñëîâèå M2 âûïîëíÿåòñÿ. Ïóñòü r < k , è ïðåäïîëîæèì, ÷òî ha1 ; : : : ; ak i ÿâëÿåòñÿ ñèñòåìîé ðàçëè÷íûõ ïðåäñòàâèòåëåé äëÿ Ai1 ; : : : ; Aik , a hb1 ; : : : ; bk+1 i ÿâëÿåòñÿ ñèñòåìîé ðàçëè÷íûõ ïðåäñòàâèòåëåé äëÿ Bj1 ; : : : ; Bjk+1 , (èíäåêñû i1 ; : : : ; ik ïîïàðíî ðàçëè÷íû, êàê è j1 ; : : : ; jk+1 ). àññìîòðèì ñëåäóþùåå ïîñòðîåíèå, êîòîðîå ëèáî íàõîäèò òàêîé ýëåìåíò b 2 B nA, ÷òî A [fbg 2 I, ëèáî çàìåíÿåò ïîñëåäîâàòåëüíîñòü Ai1 ; : : : ; Aik íåêîòîðîé íîâîé ïîñëåäîâàòåëüíîñòüþ, äëÿ êîòîðîé ha1 ; : : : ; ak i òàêæå ÿâëÿåòñÿ ñèñòåìîé ðàçëè÷íûõ ïðåäñòàâèòåëåé. Ïîñòðîåíèå Âûáåðåì òàêîé èíäåêñ p k , ÷òî jp 2 = fi1; : : : ; ik g. Åñëè ìîæíî òàê âûáðàòü ýòîò èíäåêñ, ÷òîáû r p k , òî ïîñëåäîâàòåëüíîñòü ha1 ; : : : ; ak ; bð i ÿâëÿåòñÿ ñèñòåìîé ðàçëè÷íûõ ïðåäñòàâèòåëåé äëÿ Ai1 ; : : : ; Aik ; Ajp , à èç ýòîãî ñëåäóåò, ÷òî A [fbp g 2 I.  ïðîòèâíîì ñëó÷àå, ò.å. êîãäà p r, èìååì að bð è ïîñëåäîâàòåëüíîñòü ha1 ; : : : ; ak i ÿâëÿåòñÿ ñèñòåìîé ðàçëè÷íûõ ïðåäñòàâèòåëåé äëÿ Ai1 ; : : : ; Aip 1 ; Aip 1 ; : : : ; Aik . àññìîòðèì ïîäðîáíåå ýòó ïîñëåäîâàòåëüíîñòü. Åñëè ïîñëåäîâàòåëüíîñòè hi1 ; : : : ; ir i è hj1 ; : : : ; jr i ñîâïàäàþò íà q < r ïîçèöèÿõ, òî ïîñëåäîâàòåëüíîñòè hi1 ; : : : ; ip 1 ; jp ; ip+1 ; : : : ; ir i è hj1 ; : : : ; jr i ñîâïàäàþò íà p ïîçèöèÿõ, òàê
:
1
=
1
1
(
=(
)
:
1
)
( )=
1
= =
=
+1
+1
=
=
= +1 =
+1
1
=
+1
ëàâà 5. Ìàòðîèäû
190
=
êàê jp 6 ip . Ïîâòîðÿÿ íàøå ïîñòðîåíèå, ìû ëèáî íàõîäèì òðåáóåìóþ ÷àñòè÷íóþ òðàíñâåðñàëü A [ fbg, b 2 B nA ëèáî ïðèõîäèì ê ñèòóàöèè, êîãäà hi1 ; : : : ; ir i hj1 ; : : : ; jr i. Îäíàêî â ïîñëåäíåì ñëó÷àå jp 2= fi1; : : : ; ik g äëÿ íåêîòîðîãî p, r p k (âåäü íå ìîæåò áûòü fjr+1 ; : : : ; jk+1 g fir+1; : : : ; ik g. Âûïîëíåíèå íàøåãî ïîñòðîåíèÿ åùå ðàç ïðèâîäèò ê íàõîæäåíèþ òàêîãî ýëåìåíòà bð 2 B nA, ÷òî A [ fbð g 2 I. Ìàòðîèä M A íàçûâàåòñÿ ìàòðîèäîì òðàíñâåðñàëåé ñåìåéñòâà A. Îïèøåì òåïåðü æàäíûé àëãîðèòì äëÿ ìàòðîèäîâ òðàíñâåðñàëåé. Ýòîò àëãîðèòì ÿâëÿåòñÿ ìîäèèêàöèåé ìåòîäà íàõîæäåíèÿ ñèñòåì ðàçëè÷íûõ ïðåäñòàâèòåëåé (à òî÷íåå, íàéáîëüøåãî ïàðîñî÷åòàíèÿ â äâóäîëüíîì ãðàå), îñíîâàííîãî íà ìåòîäèêå ÷åðåäóþùèõñÿ öåïåé, îïèñàííîé â ãë. 4. Âñïîìíèì, ÷òî ñåìåéñòâî A1 ; : : : ; An ïîäìíîæåñòâ ìíîæåñòâà E fe1 ; : : : ; em g ìû èçîáðàæàåì äâóäîëüíûì ãðàîì H ñ âåðøèíàìè u1 ; : : : ; um ; v1 ; : : : ; vn è ðåáðàìè âèäà fui ; vj g, ãäå ei 2 Aj . Êàæäîé ñèñòåìå ðàçëè÷íûõ ïðåäñòàâèòåëåé hei1 ; : : : ; eik i ïîñëåäîâàòåëüíîñòè hAj1 ; : : : ; Ajk i (èíäåêñû j1 ; : : : ; jk ïîïàðíî ðàçëè÷íû) ñîîòâåòñòâóåò íåçàâèñèìîå ìíîæåñòâî ðåáåð M ffui1 ; vj1 g; : : : ; fuik ; vjk gg â ãðàå H . Àëãîðèòì 5.14. (Æàäíûé àëãîðèòì äëÿ ìàòðîèäà òðàíñâåðñàëåé.) Äàííûå: Ñåìåéñòâî A A1 ; : : : ; An ïîäìíîæåñòâ ìíîæåñòâà E fe1; : : : ; em g, ïðåäñòàâëåííîå ñ ïîìîùüþ äâóäîëüíîãî ãðàà G. Ýëåìåíòû e1 ; : : : ; em çàèíäåêñèðîâàíû â ïîðÿäêå íåâîçðàñòàíèÿ âåñîâ (âåñà íåîòðèöàòåëüíûå). åçóëüòàòû: ÷àñòè÷íàÿ òðàíñâåðñàëü S íàèáîëüøèì âåñîì äëÿ ñåìåéñòâà A (è ïàðîñî÷åòàíèå M ãðàà H , îïðåäåëÿþùåå óíêöèþ ' S ! f ; : : : ; ng, î êîòîðîé èäåò ðå÷ü â îïðåäåëåíèè ÷àñòè÷íîé òðàíñâåðñàëè).
= +1
+1
( )
(
)
=
=
=(
)
=
:
1. 2. 3. 4. 5. 6. 7.
1
begin
S := ?; M := ?; for i := 1 to m do if
ñóùåñòâóåò â G ÷åðåäóþùàÿñÿ öåïü ëîì â ei then begin S S [ fei g; M P M
:=
P
îòíîñèòåëüíî
M
ñ íà÷à-
:=
end end
Î÷åâèäíî, ÷òî ñëîæíîñòü ýòîãî àëãîðèòìà çàâèñèò îò ìåòîäà ïîèñêà ÷åðåäóþùåéñÿ öåïè P (ñòðîêè 4 è 5). Åñëè ìû èñïîëüçóåì ìåòîä ïîèñêà â ãëóáèíó òàê, êàê ýòî ñäåëàíî â ðàçä. 2.2, òî ÷èñëî øàãîâ,íåîáõîäèìîå äëÿ îòûñêàíèÿ öåïè, áóäåò ïîðÿäêà ÷èñëà ðåáåð â ãðàå G, ò.å.
àëãîðèòìà 5.14 áóäåò
O m
n P i=1
jAi j
O
n P
i=1
jAi j
. Òîãäà îáùàÿ ñëîæíîñòü
.
Ïðèâåäåì òåïåðü äâå çàäà÷è èç ïðàêòèêè, êîòîðûå ìîæíî ðåøàòü ñ ïîìîùüþ ýòîãî àëãîðèòìà.
5.6. Ìàòðîèäû òðàíñâåðñàëåé
191
Ïðåäïîëîæèì, ÷òî íåêèé ïðåäïðèíèìàòåëü ïðèíÿë íà ðàáîòó n ÷åëîâåê, ïðè÷åì i-é ñîòðóäíèê èìååò êâàëèèêàöèþ, ïîçâîëÿþùóþ âûïîëíÿòü ëþáóþ ðàáîòó èç íåêîòîðîãî ìíîæåñòâà Ai . n S
Ai = E = fe ; : : : ; emg è ïðåäïîëîæèì, ÷òî ïðèáûëü ïðåäïðèíèìàòåëÿ îò âûïîëíåíèÿ ðàáîòû ej ñîñòàâëÿåò w(ej ) è ÷òî êàæäûé èç ïðèíÿòûõ Îáîçíà÷èì
1
i=1
íà ðàáîòó ìîæåò âûïîëíÿòü íå áîëåå îäíîé ðàáîòû. Íóæíî íàéòè òàêîå ñîîòâåòñòâèå ðàáîò è ëþäåé, ìîãóùèõ èõ âûïîëíÿòü, ÷òîáû ïðèáûëü áûëà íàèáîëüøåé. Íà ÿçûêå ìàòðîèäîâ çàäà÷à çàêëþ÷àåòñÿ â íàõîæäåíèè áàçèñà ñ íàèáîëüøèì âåñîì ìàòðîèäà òðàíñâåðñàëåé M A , ãäå A A1 ; : : : ; An . Òî÷íåå, íóæíî íå òîëüêî íàéòè ÷àñòè÷íóþ òðàíñâåðñàëü S ñ íàèáîëüøèì âåñîì, íî òàêæå è âçàèìíî îäíîçíà÷íóþ óíêöèþ ' S ! f ; : : : ; ng, äëÿ êîòîðîé e 2 A'(e) , e 2 S . Èìåííî ýòî è äåëàåò àëãîðèòì 5.14. Ñòîèò îòìåòèòü çäåñü, ÷òî, òàê æå êàê è âî âñåõ æàäíûõ àëãîðèòìàõ, ïðåäñòàâëåííûõ â äàííîé ãëàâå, áàçà ñ íàèìåíüøèì (íàèáîëüøèì) âåñîì çàâèñèò òîëüêî îò óïîðÿäî÷åíèÿ ýëåìåíòîâ e1 ; : : : ; em ïî íåóáûâàíèþ âåñîâ. Îáîçíà÷èì ÷åðåç ei ej òîò àêò, ÷òî w ei w ej (¾ðàáîòà ej îïëà÷èâàåòñÿ íå ìåíüøå, ÷åì ðàáîòà ei ¿). Ìû çíàåì, ÷òî ìíîæåñòâî ðàáîò S fa1 ; : : : ; ak g (ãäå a1 : : : ak ) ÿâëÿåòñÿ îïòèìàëüíûì ïî åéëó, à ñëåäîâàòåëüíî, äëÿ êàæäîãî äðóãîãî ìíîæåñòâà ðàáîò T fb1; : : : ; bi g (ãäå b1 : : : bi ), êîòîðîå ìîæåò áûòü âûïîëíåíî íàíÿòûìè íà ðàáîòó, èìååì l k è bi ai äëÿ i l. Âòîðîé ïðèìåð êàñàåòñÿ íàõîæäåíèÿ îïòèìàëüíîé î÷åðåäíîñòè âûïîëíåíèÿ ðàáîò. Ïðåäïîëîæèì, ÷òî äàíî n ðàáîò e1 ; : : : ; em , ïðè÷åì âûïîëíåíèå êàæäîé èç íèõ òðåáóåò îäíîãî è òîãî æå êîëè÷åñòâà âðåìåíè, ñêàæåì îäíîãî ÷àñà. àáîòû ìû âûïîëíÿåì ïî î÷åðåäè, íå ïðåðûâàÿ íè îäíîé íà÷àòîé ðàáîòû, ïðè÷åì â êàæäûé ìîìåíò âðåìåíè ìîæåò âûïîëíÿòüñÿ íå áîëåå îäíîé ðàáîòû. Äëÿ êàæäîãî i, i m, äàí òàêæå ñðîê di âûïîëíåíèÿ ðàáîòû ei (îòñ÷èòûâàåìûé îò íóëåâîãî ìîìåíòà) è øòðà w ei , êîòîðûé âûïëà÷èâàåòñÿ çà íåâûïîëíåíèå çàäàíèÿ â ñðîê (ïðåäïîëàãàåì, ÷òî øòðà íå çàâèñèò îò òîãî, íà ñêîëüêî ÷àñîâ áûë ïðåâûøåí ñðîê). Íóæíî íàéòè î÷åðåäíîñòü âûïîëíåíèÿ ðàáîò, ìèíèìèçèðóþùóþ ñóììó øòðàîâ. Ýòó æå çàäà÷ó ìû ìîæåì ñîðìóëèðîâàòü êàê íàõîæäåíèå âûïîëíèìîãî â ñðîê ìíîæåñòâà ðàáîò ñ íàéáîëüøåé ñóììîé øòðàîâ (òóò ìû ìàêñèìèçèðóåì ñóììó øòðàîâ, ¾êîòîðûõ èçáåæàëè¿). Ïðè ýòîì íóæíî íàéòè òàêæå î÷åðåäíîñòü âûïîëíåíèÿ ðàáîò èç ýòîãî îïòèìàëüíîãî ìíîæåñòâà. Ñâÿçü ýòîé çàäà÷è ñ ìàòðîèäàìè òðàíñâåðñàëåé ñëåäóþùàÿ. Îïðåäåëèì E fe1; : : : ; emg, n di è A i fej 2 E dj ig äëÿ
( )
:
=(
)
1
( )
( )
=
=
1
1
( )
=
= max im
=
:
1 i n. Ïðè òàêèõ îáîçíà÷åíèÿõ ïðîèçâîëüíàÿ ÷àñòè÷íàÿ òðàíñâåðñàëü S ñåìåéñòâà A = (A ; : : : ; An ) îïðåäåëÿåò âûïîëíèìîå â ñðîê ìíîæåñòâî ðàáîò, ïðè÷åì âçàèìíî îäíîçíà÷íàÿ óíêöèÿ ' : S ! f1; : : : ; ng, òàêàÿ ÷òî e 2 A' e , e 2 S , îïðåäåëÿåò äëÿ êàæäîé ðàáîòû e 2 S âðåìÿ '(e), â êîòîðîå ýòà ðàáîòà 1
1
( )
ëàâà 5. Ìàòðîèäû
192
äîëæíà áûòü âûïîëíåíà. Ñëåäîâàòåëüíî, îïòèìàëüíîå ðåøåíèå S ÿâëÿåòñÿ áàçèñîì ñ íàèáîëüøèì âåñîì ìàòðîèäà òðàíñâåðñàëåé M A è åãî ìîæíî íàéòè, èñïîëüçóÿ àëãîðèòì 5.14.
( )
5.7 Çàäà÷è
( )
5.1. Äîêàçàòü, ÷òî ñåìåéñòâî B } E ÿâëÿåòñÿ áàçîé íåêîòîðîãî (îäíîçíà÷íî îïðåäåëåííîãî ñåìåéñòâîì B ) ìàòðîèäà òîãäà è òîëüêî òîãäà, êîãäà âûïîëíÿåòñÿ óñëîâèå
B1 Äëÿ ïðîèçâîëüíûõ B1 ; B2 òàêîå ÷òî B nfåg [ ff g 2 B .
( 1
)
2 B è e 2 B nB 1
2
ñóùåñòâóåò
f
2 B nB , 2
1
5.2. Äëÿ ñëåäóþùèõ ïîíÿòèé, ñâÿçàííûõ ñ ìàòðîèäàìè:
(à) ñåìåéñòâî I íåçàâèñèìûõ ìíîæåñòâ ìàòðîèäà,
B áàç ìàòðîèäà, (â) ñåìåéñòâî C öèêëîâ ìàòðîèäà, (ã) ñåìåéñòâî F ïîäïðîñòðàíñòâ ìàòðîèäà,
(á) ñåìåéñòâî
(ä) óíêöèÿ ðàíãà r, (å) îïåðàöèÿ ïîðîæäåíèÿ ïîäïðîñòðàíñòâà
sp
âûðàçèòü êàæäîå èç íèõ â òåðìèíàõ êàæäîãî èç îñòàâøèõñÿ. 5.3. Äîêàçàòü, ÷òî ñåìåéñòâî C } E ÿâëÿåòñÿ ñåìåéñòâîì öèêëîâ íåêîòîðîãî ìàòðîèäà òîãäà è òîëüêî òîãäà, êîãäà óäîâëåòâîðÿþòñÿ óñëîâèÿ C1 è C2. 5.4. Äîêàçàòü, ÷òî îïåðàöèÿ } E ! } E ÿâëÿåòñÿ îïåðàöèåé ïîðîæäåíèÿ ïîäïðîñòðàíñòâà â íåêîòîðîì ìàòðîèäå òîãäà è òîëüêî òîãäà, êîãäà âûïîëíÿþòñÿ óñëîâèÿ S1, S2, S3, S4. 5.5. Äîêàçàòü, ÷òî óíêöèÿ r ÿâëÿåòñÿ óíêöèåé ðàíãà â íåêîòîðîì ìàòðîèäå òîãäà è òîëüêî òîãäà, êîãäà âûïîëíÿþòñÿ óñëîâèÿ Rl, R2, R3 (èëè Rl, R4, R5). 5.6. Äîêàçàòü, ÷òî åñëè ýëåìåíò ïðèíàäëåæèò êàæäîé áàçå ìàòðîèäà, òî îí íå ïðèíàäëåæèò íè îäíîìó öèêëó ýòîãî ìàòðîèäà. 5.7. Ïðîâåðèòü, ÷òî äëÿ ïðîèçâîëüíîãî êîíå÷íîãî ìíîæåñòâà E è ïðîèçâîëüíîãî k jE j ïàðà M hE; Ii, ãäå I fA E jAjk g ÿâëÿåòñÿ ìàòðîèäîì. Îïðåäåëèòü äëÿ ýòîãî ìàòðîèäà ïîíÿòèÿ (à)(å) èç çàäà÷è 5.2.
( )
sp : ( )
=
=
( )
:
5.7. Çàäà÷è
193
sp( )
5.8. Äîêàçàòü, ÷òî â ïðîèçâîëüíîì ìàòðîèäå e 2 A òîãäà è òîëüêî òîãäà, êîãäà ñóùåñòâóåò öèêë C , òàêîé ÷òî C nA fåg. 5.9. Äîêàçàòü, ÷òî åñëè C1 è C2 äâà ïðîèçâîëüíûõ ðàçëè÷íûõ öèêëà ìàòðîèäà è f 2 C1 nC2 , òî äëÿ êàæäîãî å 2 C1 \ C2 íàéäåòñÿ òàêîé öèêë C3 , ÷òî f 2 C3 C1 [ C2 nfeg. 5.10. Äîêàçàòü, ÷òî åñëè B ñåìåéñòâî áàç ìàòðîèäà M hE; Ii, òî B fE nB B 2 Bg ñåìåéñòâî áàç íåêîòîðîãî ìàòðîèäà M (M íàçûâàåòñÿ ìàòðîèäîì, äâîéñòâåííûì M ). Äîêàçàòü, ÷òî óíêöèÿ ðàíãà äâîéñòâåííîãî ìàòðîèäà âûðàæàåòñÿ îðìóëîé r A jAj r E nA r E : 5.11. Äîêàçàòü, ÷òî äëÿ ïðîèçâîëüíîãî ìàòðîèäà M hE; Ii è ïðîèçâîëüíîãî ìíîæåñòâà S E ïàðà hS; I0 i, ãäå I0 fA 2 I A S g, ÿâëÿåòñÿ ìàòðîèäîì. Âñåãäà ëè áóäåò ìàòðîèäîì hS; I00 i, ãäå I00 fS \ A A 2 Ig? 5.12. Ïðèìåíèòü àëãîðèòì 5.11 ê ìàòðèöå
=
(
)
=
:
( )= =
2 6
A=6 4
1 2 7 0
4 8 13 6
2 4 14 0
=
+ ( :
1 1 1 1
3 7 1 12
)
=
=
( )
:
6 2 6 2
3 7 7: 5
(ñòîëáöû óïîðÿäî÷åíû ïî íåóáûâàíèþ âåñîâ). 5.13. Äîêàçàòü, ÷òî ïðè îïèñàííîé â ðàçä. 5.5 ðåàëèçàöèè àëãîðèòìà Êðàñêàëà âûñîòà äåðåâà, ïðåäñòàâëÿþùåãî ïðîèçâîëüíûé áëîê B ðàçáèåíèÿ ÀÇÁ, íå ïðåâûøàåò jB j. 5.14. Äîêàçàòü, ÷òî êàæäûé ìàòðîèä ðàçáèåíèÿ ÿâëÿåòñÿ ÷àñòíûì ñëó÷àåì ìàòðîèäà òðàíñâåðñàëåé. 5.15. Äîêàçàòü, ÷òî åñëè ñóùåñòâóåò ñèñòåìà ðàçëè÷íûõ ïðåäñòàâèòåëåé äëÿ hA1 ; : : : ; An i è hx1 ; : : : ; xk i ÿâëÿåòñÿ ñèñòåìîé ðàçëè÷íûõ ïðåäñòàâèòåëåé äëÿ hA1 ; : : : ; Ak i (k < n), òî ñóùåñòâóåò ýëåìåíò xk+1 è ïåðåñòàíîâêà f ìíîæåñòâà f ; : : : ; k g, òàêàÿ ÷òî hxf (1) ; : : : ; xf (k+1) i ÿâëÿåòñÿ ñèñòåìîé ðàçëè÷íûõ ïðåäñòàâèòåëåé äëÿ hA1 ; : : : ; Ak i.
log
1
+1
+1
Ïðåäìåòíûé óêàçàòåëü àëãîðèòì , 9 ãåíåðèðîâàíèÿ âñåõ ïåðåñòàíîâîê, 23, 27 âñåõ ïîäìíîæåñòâ k -ýëåìåíòíîãî ìíîæåñòâà, 30 âñåõ ïîñëåäîâàòåëüíîñòåé, 21 Äåéêñòðû, 117 Äèíèöà, 137, 138 æàäíûé , 174, 181 äëÿ ìàòðè÷íîãî ìàòðîèäà, 184 äëÿ ìàòðîèäà òðàíñâåðñàëåé, 190 Êðàñêàëà, 187 íàõîæäåíèÿ âñåõ ãàìèëüòîíîâûõ öèêëîâ, 106 âñåõ ðàçáèåíèé ÷èñëà, 57 êðàò÷àéøåãî ïóòè, 113 ìíîæåñòâà ýëåìåíòàðíûõ öèêëîâ ãðàà, 95 ðàçáèåíèÿ ñåìåéñòâà âñåõ ïîäìíîæåñòâ ìíîæåñòâà íà ñèììåòðè÷íûå öåïè, 165 ðàññòîÿíèé îò èñòî÷íèêà äî âñåõ âåðøèí â áåñêîíòóðíîì ãðàå, 122 ýéëåðîâîãî öèêëà, 100 íóìåðàöèè âåðøèí áåñêîíòóðíîãî ãðàà, 120 îïðåäåëåíèÿ çíàêà ïåðåñòàíîâêè, 18 194
ïîñòðîåíèÿ ìàêñèìàëüíîãî ïîòîêà â ñåòè, 145 ñ âîçâðàòîì, 104, 105 Óîðøàëëà, 126 Ôëîéäà, 124 ÕîïêðîòàÊàðïà, 151 àíòèöåïü, 164 Áåëëìàí .Å., 115 áèíàðíûé êîä ðýÿ ïîðÿäêà n, 30 áëîê ãðàà, 96 ðàçáèåíèÿ, 43 âåêòîð èíâåðñèâíûé, 70 âåëè÷èíà ïîòîêà, 130 âåðøèíà ãðàà , 7 èçîëèðîâàííàÿ, 7 îòåö, 90 ïîòîìîê, 90 ñâîáîäíàÿ, 147 ñûí, 90 âåñ äóãè, 112 ýëåìåíòà ìàòðîèäà, 181 âåòâü, 89 àìèëüòîí .Â., 28, 33, 41, 102 åéë Ä., 182 ãåíåðèðîâàíèå
Ïðåäìåòíûé óêàçàòåëü ìíîæåñòâà ïåðåñòàíîâîê, 20 ïîäìíîæåñòâ k-ýëååíòíûõ, 40 ðàçáèåíèé ÷èñëà, 56 ãðàíèöà âåðõíÿÿ, 44 íèæíÿÿ, 44 ãðà áåñêîíòóðíûé, 120 âûïóêëûé, 171 äâóäîëüíûé, 110, 147 äâóñâÿçíûé, 96 íåîðèåíòèðîâàííûé, 7 îðèåíòèðîâàííûé, 7 ñâÿçíûé, 8, 89 ñèëüíî ñâÿçíûé, 110 ãðàû èçîìîðíûå, 8 ãðóïïà ïåðåñòàíîâîê ñòåïåíè n, 15 ãðóïïà ñèììåòðè÷åñêàÿ ñòåïåíè n, 15 Äåéñêòðà Ý.Â., 117 Äæîíñîí Ñ.Ì., 25 Äèëâîðò .Ï., 169 Äèíèö Å.À., 135, 137 äâîè÷íûé n-ìåðíûé êóá, 33 äå Áð¼éí Í.Ä., 111 äåðåâî , 89 áèíàðíîå, 64 ñòÿãèâàþùåå ãðàà, 89 äåðåâüÿ èçîìîðíûå, 64 äèàãðàììà Ôåððåðñà, 55 äëèíà ïóòè, 8, 112 ñåòè, 135 óâåëè÷èâàþùåé öåïè, 132 äóãà, 7 çàäà÷à NP-ïîëíàÿ, 103 çàêîí Êèðõãîà, 94
195 çàìûêàíèå îòíîøåíèÿ òðàíçèòèâíîå, 125 çíàê ïåðåñòàíîâêè, 16 èçìåëü÷åíèå ðàçáèåíèÿ, 43 èíâåðñèÿ, 69 èíâîëþöèÿ, 70 èñòî÷íèê, 129 Êàðï .Ì., 149 Êåíèã Ä., 159 Êëîñ Ñ., 161 Êðàñêàë Ä.Â., 187 êëàññ ýêâèâàëåíòíîñòè, 43 êëèêà, 111 êîìáèíàöèÿ áåç ïîâòîðåíèé, 35 êîììóòàòîð ðàçìåðíîñòè N N , 161 êîìïîíåíòà äâóñâÿçíîñòè, 96 ñâÿçíîñòè, 8 ñèëüíîé ñâÿçíîñòè, 110 êîíåö ïóòè, 8 êîíòóð, 8 êîðåíü äåðåâà , 64 ñòÿãèâàþùåãî, 90 êîýèöèåíò áèíîìèàëüíûé, 35 êðàòíîñòü ýëåìåíòà, 33 ëåñ ñòÿãèâàþùèé, 92 ëèíèÿ ìàòðèöû, 159 ìàòðèöà áèñòîõàñòè÷åñêàÿ, 172 èíöèäåíöèé, 79 ïåðåñòàíîâî÷íàÿ, 172 ñìåæíîñòè, 80 ñîñåäñòâà ðåáåð, 108 ìàòðîèä , 176 áàçà, 177 ãðàà, 186
196 ãðàîâûé, 186 äâîéñòâåííûé, 193 ìàòðè÷íûé, 184 ðàíã, 177 ñâîáîäíûé, 180 òðàíñâåðñàëåé, 190 ìàòðîèäû èçîìîðíûå, 176 ìåòîä Ëóìà, 167 Ôëîéäà, 124 ìåòîä óâåëè÷èâàþùèõ öåïåé, 131 ìåòîä ÔîðäàÁåëëìàíà, 115 ìíîæåñòâî ìàòðîèäà çàâèñèìîå, 176 íåçàâèñèìîå, 176 ñ ïîâòîðåíèÿìè, 33 ÷àñòè÷íî óïîðÿäî÷åííîå, 6 ìîñò ãðàà, 110 ìîùíîñòü ìíîæåñòâà, 5 íà÷àëî ïóòè, 8 îáëàñòü ëåâàÿ, 6 ïðàâàÿ, 6 îïòèìàëüíîñòü ïî åéëó, 182 îòåö âåðøèíû, 90 îòíîøåíèå , 6 àíòèñèììåòðè÷íîå, 6 áèíàðíîå , 6, 125 òðàíçèòèâíîå çàìûêàíèå, 125 ñèììåòðè÷íîå, 6 òðàíçèòèâíîå, 6 ýêâèâàëåíòíîñòè, 6 î÷åðåäü, 9 ïàëèíäðîì, 70 ïàðà óïîðÿäî÷åííàÿ, 5 ïàðîñî÷åòàíèå, 147 ïàñêàëü (ÿçûê), 9
Ïðåäìåòíûé óêàçàòåëü ïåðåñòàíîâêà , 12 íå÷åòíàÿ, 16 îáðàòíàÿ, 14 òîæäåñòâåííàÿ, 14 ÷åòíàÿ, 16 ïåðìàíåíò ìàòðèöû, 172 ïåòëÿ, 80 ïîäãðà, 8 ïîäìíîæåñòâî , 5, 29 k-ýëåìåíòíîå, 35 ñîáñòâåííîå, 5 ïîäïðîñòðàíñòâî ìàòðîèäà , 178 íàòÿíóòîå íà ìíîæåñòâî, 179 ïîèñê â ãëóáèíó, 84 â øèðèíó, 86 ïîêðûòèå âåðøèííîå, 157 ïîðÿäîê àíòèëåêñèêîãðàè÷åñêèé, 20 ëåêñèêîãðàè÷åñêèé, 20 ÷àñòè÷íûé, 6 ïîòåíöèàë âåðøèíû ñåòè, 140 ïîòîê, 129 ïîòîê ìàêñèìàëüíûé, 130 ïñåâäîìàêñèìàëüíûé, 137 ïîòîìîê âåðøèíû, 90 ïðèíöèï âêëþ÷åíèÿèñêëþ÷åíèÿ, 66 ïðîèçâåäåíèå äåêàðòîâî, 5 Êîøè ðÿäîâ, 59 ïðîïóñêíàÿ ñïîñîáíîñòü âåðøèíû, 170 äóãè, 129 ðàçðåçà, 131 ïñåâäîöèêë, 93 ïóòü â ãðàå, 7 ãàìèëüòîíîâ, 33, 34, 41, 102 äëèíà, 8
Ïðåäìåòíûé óêàçàòåëü êîíåö, 8 êðèòè÷åñêèé, 122 íà÷àëî, 8 ýéëåðîâ, 99 àäî, 181 ðàçáèåíèå ìíîæåñòâà, 43 ÷èñëà , 55 ñàìîñîïðÿæåííîå, 76 ñîïðÿæåííîå, 55 ðàçëîæåíèå íà öèêëû, 15 ðàçìåùåíèå îáúåêòîâ ïî ÿùèêàì óïîðÿäî÷åííîå, 12 ðàçíîñòü ñèììåòðè÷åñêàÿ, 92 ðàçðåç ñåòè , 130 ìèíèìàëüíûé, 131 ðàíã ìàòðîèäà, 177 ðàññòîÿíèå, 112 ðåáðî, 7 ðåøåòêà, 43 ðÿä Ìàêëîðåíà, 59 îðìàëüíûé, 58 ñåêöèÿ êîììóòàòîðà, 161 ñåòü, 129 ñåòü CPM, 122 PERT, 122 ïåðåñòðàèâàåìàÿ ðàçìåðíîñòè N N , 161 òðåõñåêöèîííàÿ Êëîñà, 161 ñèñòåìà ðàçëè÷íûõ ïðåäñòàâèòåëåé, 156 ñèñòåìà ðàçëè÷íûõ ïðåäñòàâèòåëåé îáùàÿ, 160 ñëîæåíèå ðÿäîâ, 58 ñëîæíîñòü âðåìåííàÿ, 10
197 âû÷èñëèòåëüíàÿ, 9 ïî ïàìÿòè, 10 ñïèñîê èíöèäåíòíîñòè, 82 ñòåê, 9 ñòåïåíü âåðøèíû, 7 ñòîê, 129 ñóïåðïîçèöèÿ ïåðåñòàíîâîê, 14 ñûí âåðøèíû, 90 Òðîòòåð Õ.Ô., 25 òåîðåìà âåíãåðñêàÿ, 159 Äèëâîðòà, 169 àäîÝäìîíäñà, 181 Õîëëà, 156 òîæäåñòâî Êîøè, 36 òî÷êà ñî÷ëåíåíèÿ, 95 òðàíçèòèâíîå çàìûêàíèå îòíîøåíèÿ, 125 òðàíñâåðñàëü ÷àñòè÷íàÿ, 189 òðàíñïîçèöèÿ, 16 òðåóãîëüíèê Ïàñêàëÿ, 36, 45 Óîðøàëë Ñ., 124, 126 óâåëè÷èâàþùàÿ öåïü , 131 äëèíà, 132 Ôåððåðñ Í.Ì., 55 Ôëîéä .Â., 124 Ôîðä Ë.., 115 óíäàìåíòàëüíîå ìíîæåñòâî öèêëîâ, 92 óíêöèÿ , 6 âçàèìíî îäíîçíà÷íàÿ, 7 íà, 7 ïðîèçâîäÿùàÿ , 58 ýêñïîíåíöèàëüíàÿ, 77 ÿäðî, 47
198 Õîëë Ô., 156 Õîïêðîò Äæ., 149 õîðäà, 89 öåïü, 164 öåïü ñèììåòðè÷íàÿ, 164 ÷åðåäóþùàÿñÿ, 149 öèêë , 8, 92 ãàìèëüòîíîâ, 102 äå Áð¼éíà ïîðÿäêà n, 111 ìàòðîèäà, 179 ðàçëîæåíèÿ ïåðåñòàíîâêè, 15 ýéëåðîâ, 99 ýëåìåíòàðíûé, 8 ÷èñëî Áåëëà, 47 Ñòèðëèíãà âòîðîãî ðîäà, 45, 49 Ôèáîíà÷÷è, 63 øàã àëãîðèòìà, 10 Ýãåðâàðè Ý., 159 Ýäìîíäñ Äæ., 135, 181 ýêñïîíåíöèàëüíàÿ ïðîèçâîäÿùàÿ óíêöèÿ, 77 ýëåìåíò çàâèñèìûé îò ìíîæåñòâà, 178 ÿäðî óíêöèè, 47
Ïðåäìåòíûé óêàçàòåëü
Îãëàâëåíèå 1
0.1 Ïðåäèñëîâèå ðåäàêòîðà ïåðåâîäà . . . . . . . . . . . . . . . . . . . 0.2 Îò àâòîðà . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 3
Ââåäåíèå â êîìáèíàòîðèêó
5
1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 2
Îñíîâíûå ïîíÿòèÿ . . . . . . . . . . . . . . . . . . . . . . . . . Ôóíêöèè è ðàçìåùåíèÿ . . . . . . . . . . . . . . . . . . . . . . Ïåðåñòàíîâêè: ðàçëîæåíèå íà öèêëû, çíàê ïåðåñòàíîâêè . . åíåðèðîâàíèå ïåðåñòàíîâîê . . . . . . . . . . . . . . . . . . . Ïîäìíîæåñòâà ìíîæåñòâà, ìíîæåñòâà ñ ïîâòîðåíèÿìè, ... . . k-ýëåìåíòíûå ïîäìíîæåñòâà, áèíîìèàëüíûå êîýèöèåíòû åíåðèðîâàíèå k -ýëåìåíòíûõ ïîäìíîæåñòâ . . . . . . . . . . àçáèåíèÿ ìíîæåñòâà . . . . . . . . . . . . . . . . . . . . . . . ×èñëà Ñòèðëèíãà âòîðîãî è ïåðâîãî ðîäà . . . . . . . . . . . åíåðèðîâàíèå ðàçáèåíèé ìíîæåñòâà . . . . . . . . . . . . . . àçáèåíèÿ ÷èñåë . . . . . . . . . . . . . . . . . . . . . . . . . . Ïðîèçâîäÿùèå óíêöèè . . . . . . . . . . . . . . . . . . . . . Ïðèíöèï âêëþ÷åíèÿ è èñêëþ÷åíèÿ . . . . . . . . . . . . . . . Çàäà÷è . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. 79 . 83 . 86 . 89 . 92 . 95 . 99 . 102 . 108
Àëãîðèòìû íà ãðààõ
2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9
5 10 13 19 29 34 39 43 45 50 54 58 66 70 79
Ìàøèííîå ïðåäñòàâëåíèå ãðàîâ . . . . . . . . . . . . . . . Ïîèñê â ãëóáèíó â ãðàå . . . . . . . . . . . . . . . . . . . . Ïîèñê â øèðèíó â ãðàå . . . . . . . . . . . . . . . . . . . . Ñòÿãèâàþùèå äåðåâüÿ (êàðêàñû) . . . . . . . . . . . . . . . Îòûñêàíèå óíäàìåíòàëüíîãî ìíîæåñòâà öèêëîâ â ãðàå Íàõîæäåíèå êîìïîíåíò äâóñâÿçíîñòè . . . . . . . . . . . . . Ýéëåðîâû ïóòè . . . . . . . . . . . . . . . . . . . . . . . . . . Àëãîðèòìû ñ âîçâðàòîì (ba k-tra king) . . . . . . . . . . . Çàäà÷è . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
. . . . . . . . .
Îãëàâëåíèå
200 3
Íàõîæäåíèå êðàò÷àéøèõ ïóòåé â ãðàå
112
3.1 3.2 3.3 3.4 3.5
Íà÷àëüíûå ïîíÿòèÿ . . . . . . . . . . . . . . . . . . . . . . . . . . . Êðàò÷àéøèå ïóòè îò èêñèðîâàííîé âåðøèíû . . . . . . . . . . . Ñëó÷àé íåîòðèöàòåëüíûõ âåñîâ àëãîðèòì Äåéêñòðû . . . . . . Ïóòè â áåñêîíòóðíîì îðãðàå . . . . . . . . . . . . . . . . . . . . . Êðàò÷àéøèå ïóòè ìåæäó âñåìè ïàðàìè âåðøèí, òðàíç. çàìûêàíèå ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6 Çàäà÷è . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
Ïîòîêè â ñåòÿõ è ðîäñòâåííûå çàäà÷è
4.1 4.2 4.3 4.4 4.5 4.6 5
Ìàêñèìàëüíûé ïîòîê â ñåòè . . . . . . . . . . . . . Àëãîðèòì ïîñòðîåíèÿ ìàêñèìàëüíîãî ïîòîêà . . . Íàéáîëüøèå ïàðîñî÷åòàíèÿ â äâóäîëüíûõ ãðààõ Ñèñòåìû ðàçëè÷íûõ ïðåäñòàâèòåëåé . . . . . . . . àçëîæåíèå íà öåïè . . . . . . . . . . . . . . . . . . Çàäà÷è . . . . . . . . . . . . . . . . . . . . . . . . .
123 127 129
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
Æàäíûé àëãîðèòì ðåøåíèÿ îïòèìèçàöèîííûõ çàäà÷ Ìàòðîèäû è èõ îñíîâíûå ñâîéñòâà . . . . . . . . . . . Òåîðåìà àìî-Ýäìîíäñà . . . . . . . . . . . . . . . . . Ìàòðè÷íûå ìàòðîèäû . . . . . . . . . . . . . . . . . . . ðàîâûå ìàòðîèäû . . . . . . . . . . . . . . . . . . . Ìàòðîèäû òðàíñâåðñàëåé . . . . . . . . . . . . . . . . . Çàäà÷è . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
Ìàòðîèäû
5.1 5.2 5.3 5.4 5.5 5.6 5.7
112 114 116 120
129 134 147 156 164 170 174
174 176 181 183 186 189 192