Âåðîÿòíîñòíàÿ ìàøèíà îòëè÷àåòñÿ îò äåòåðìèíèðîâàííîé òåì, ÷òî â ëåâîé ÷àñòè èíñòðóêöèè ïîÿâëÿåòñÿ åùå îäèí ñèìâîë - âûõîäíîå çíà÷åíèå äàò÷èêà ñëó÷àéíûõ ÷èñåë ñ êîíå÷íûì àëôàâèòîì, êîòîðûé íà êàæäîì øàãå ðàáîòû âûäàåò ñâîè çíà÷åíèÿ ðàâíîâåðîÿòíî è íåçàâèñèìî îò çíà÷åíèé, âûäàííûõ íà äðóãèõ øàãàõ. Âåðîÿòíîñòü “p” âû÷èñëåíèÿ íà âåðîÿòíîñòíîé ìàøèíå íà âõîäå “x” ðåçóëüòàòà “y” ðàâíà ñóììå âåðîÿòíîñòåé âñåõ ðåàëèçàöèé “y” íà âõîäå “x”. Ãîâîðÿò, ÷òî ìàøèíà âûäàåò ðåçóëüòàò “y” äëÿ âõîäà “x” ñî ñëîæíîñòüþ m (âðåìåííîé, ëåíòî÷íîé) è âåðîÿòíîñòüþ “p”, åñëè íà âõîäå “x” ñ âåðîÿòíîñòüþ íå ìåíüøåé p, èçðàñõîäîâàâ íå áîëåå m åäèíèö (øàãîâ, ÿ÷ååê ïàìÿòè), ìàøèíà îñòàíàâëèâàåòñÿ ñ ðåçóëüòàòîì “y”. Òàêèì îáðàçîì, äëÿ âåðîÿòíîñòíîé ìàøèíû âîçìîæíî, õîòÿ è ñ ìàëîé äîëåé âåðîÿòíîñòè, ïîëó÷èòü íåâåðíûé ðåçóëüòàò.
Áûñòðîäåéñòâèå âåðîÿòíîñòíûõ ìàøèí ïî ñðàâíåíèþ ñ äåòåðìèíèðîâàííûìè îáúÿñíÿåòñÿ òåì, ÷òî äëÿ âåðîÿòíîñòíîé ìàøèíû âîçìîæíû ðàçëè÷íûå ðåàëèçàöèè åå ðàáîòû íà îäíîì è òîì æå àðãóìåíòå, è âåðîÿòíîñòü òîãî, ÷òî ñðåäè ýòèõ ðåàëèçàöèé íàéäóòñÿ ñðàâíèòåëüíî êîðîòêèå ìîæåò áûòü äîñòàòî÷íî âûñîêîé.
Äâå òåîðåìû Ôðåéâàëüäà1) ïîêàçûâàþò, ÷òî ïåðåõîä ê âåðîÿòíîñòíûì âû÷èñëåíèÿì ïðèâîäèò ê âûèãðûøó íå òîëüêî âî âðåìåíè, íî è â ïðîñòðàíñòâå (åìêîñòè).
Çäåñü áóäóò ðàññìîòðåíû äâà êëàññà ÿçûêîâ, îïðåäåëÿåìûõ ìàøèíàìè Òüþðèíãà, èñïîëüçóþùèìè ïðè âû÷èñëåíèÿõ ñëó÷àéíûå ÷èñëà. Ïðèìåðîì ðàäîìèçèðîâàííîãî àëãîðèòìà ìîæåò ñëóæèòü àëãîðèòì “áûñòðîé ñîðòèðîâêè”: èç ñïèñêà a1 , a2 ,…,a n âûáèðàåòñÿ âåäóùèé ýëåìåíò a v , ïîñëå ÷åãî ñïèñîê ðàñïàäàåòñÿ íà äâà – ñîîòâåòñòâåííî, ìåíüøèõ è áîëüøèõ a v ýëåìåíòîâ. Äàëåå ìîæíî ðåêóðñèâíî îòñîðòèðîâàòü îáà ñïèñêà, â ðåçóëüòàòå ïîëó÷èòñÿ îòñîðòèðîâàííûé ñïèñîê a1 , a2 ,…,a n . Âûáîð âåäóùåãî ýëåìåíòà â ñïèñêå ñëó÷àåí ñ âåðîÿòíîñòüþ 1/n. Îæèäàåìîå âðåìÿ âûïîëíåíèÿ áûñòðîé ñîðòèðîâêè O(n log2 n).
Ïðèìåð ìàøèíû Òüþðèíãà, èñïîëüçóþùåé ðàíäîìèçàöèþ.
Èñïîëüçóåì ìíîãîëåíòî÷íóþ ìàøèíó Òüþðèíãà (ðèñ. 11.6), ïåðâàÿ ëåíòà êîòîðîé ñîäåðæèò âõîä; âòîðàÿ (ñëó÷àéíàÿ ëåíòà ) – ñëó÷àéíóþ ïîñëåäîâàòåëüíîñòü èç 0 è 1, çàïèñûâàåìûõ â ïóñòûå ÿ÷åéêè íà êàæäîì øàãå ðàáîòû ìàøèíû; òðåòüÿ è ò.ä. ëåíòû – ðàáî÷èå.
Ðèñ. 11.6.
Ðåàëèçóåì ñ ïîìîùüþ ïîäîáíîé ìàøèíû âåðñèþ áûñòðîé ñîðòèðîâêè.
1. Ñïèñîê íà ïåðâîé ëåíòå çàêëþ÷åí ìåæäó ìàðêåðàìè è èìååò äëèíó m; èñïîëüçóåì log2 m ñëó÷àéíûõ áèòîâ âòîðîé ëåíòû, ÷òîáû âûáðàòü ñëó÷àéíîå ÷èñëî ìåæäó 1 è m.
2. Ïîìåùàåì âåäóùèé ýëåìåíò íà ëåíòó 3.
3. Êîïèðóåì ñ 1-é ëåíòû íà ëåíòó 4 ýëåìåíòû, êîòîðûå íå áîëüøå âåäóùåãî.
4. Êîïèðóåì ñ 1-é ëåíòû íà ëåíòó 5 ýëåìåíòû, êîòîðûå áîëüøå âåäóùåãî.
5. Êîïèðóåì ëåíòû 4 è 5 íà ëåíòó 1 íà ìåñòî âõîäà, ïîìåñòèâ ìåæäó íèìè ìàðêåð.
6. Åñëè êàêîé-òî èç ïîäñïèñêîâ èìååò áîëåå îäíîãî ýëåìåíòà, ïðèìåíèòü ê íåìó ýòîò æå àëãîðèòì.
Êàê è ïðè ðåàëèçàöèè íà êîìïüþòåðå, âû÷èñëåíèå íà ìàøèíå Òüþðèíãà ñ èñïîëüçîâàíèåì ñëó÷àéíûõ áèòîâ íà âòîðîé ëåíòå òðåáóåò O(n log2 n) âðåìåíè.
ßçûê ðàíäîìèçèðîâàííîé ìàøèíû Òüþðèíãà.
Îáû÷íàÿ ìàøèíà Òüþðèíãà âñåãäà äîïóñêàåò íåêîòîðûé ÿçûê, âîçìîæíî ïóñòîé. Ðàíäîìèçèðîâàííàÿ ìàøèíà ìîæåò âîîáùå íå äîïóñêàòü íèêàêîãî ÿçûêà. Äåëî â òîì, ÷òî êàæäûé âõîä w ðàíäîìèçèðîâàííîé ìàøèíû èìååò íåêîòîðóþ âåðîÿòíîñòü äîïóñêàíèÿ, çàâèñÿùóþ îò ñîäåðæèìîãî ñëó÷àéíîé ëåíòû, ïðèâîäÿùåãî ê äîïóñêàíèþ. Ïîñêîëüêó èñïîëü çóåòñÿ ëèøü êîíå÷íàÿ ÷àñòü ñëó÷àéíîé ëåíòû, âåðîÿòíîñòü ëþáîé ñëó÷àéíîé ïîñëåäîâàòåëüíîñòè ðàâíà 2 - m , ãäå m - ÷èñëî êëåòîê ñëó÷àéíîé ëåíòû, êîãäà-ëèáî ïðîñìîòðåííûõ è ïîâëèÿâøèõ íà ïåðåõîäû ìàøèíû Òüþðèíãà. Äâà ïðèìåðà äàþò ïðåäñòàâëåíèå î äâóõ êëàññàõ ÿçûêîâ, äîïóñêàåìûõ ðàíäîìèçèðîâàííûìè ìàøèíàìè Òüþðèíãà.
Ïðèìåð. Ôóíêöèÿ ïåðåõîäîâ ðàíäîìèçèðîâàííîé ìàøèíû M ïðåäñòàâëåíà íà ðèñ.11.7. Ìàøèíà M íå ìåíÿåò ñèìâîëîâ âõîäíîé ëåíòû, à òîëüêî ñäâèãàåò ãîëîâêè âïðàâî (R) èëè îñòàåòñÿ íà ìåñòå (S). Âñå âîçìîæíûå êîìáèíàöèè íà 1-é è 2-é ëåíòàõ ïðåäñòàâëåíû 0-é ñòðîêîé òàáëèöû (B –ïóñòîé ñèìâîë); 0-é ñòîëáåö – ñîñòîÿíèé ìàøèíû Ì. Êëåòêà qUVDE òàáëèöû îçíà÷àåò, ÷òî ÌÒ M ïåðåõîäèò â ñîñòîÿíèå q, çàïèñûâàåò U íà âõîäíîé ëåíòå è V- íà ñëó÷àéíîé ëåíòå, è ñäâèãàåò ãîëîâêó íà âõîäíîé ëåíòå â íàïðàâëåíèè D, à íà ñëó÷àéíîé ëåíòå – â íàïðàâëåíèè E.
Ðèñ.11.7.
Ìîæíî îïèñàòü, ÷òî äåëàåò ìàøèíà íà âõîäíîé öåïî÷êå, ñîñòîÿùåé èç 0 è 1.  íà÷àëüíîì ñîñòîÿíèè q0 ìàøèíà M îáîçðåâàåò ïåðâûé ñëó÷àéíûé áèò è â çàâèñèìîñòè îò åãî çíà÷åíèÿ äåëàåò ñëåäóþùåå:
1. Åñëè ïåðâûé ñëó÷àéíûé áèò ðàâåí 0, òî M ïðîâåðÿåò - ñîñòîèò w òîëüêî èç 0 èëè òîëüêî èç 1, â ýòîì ñëó÷àå M íå èçìåíÿåò ñèìâîëû íà 2-é ëåíòå.
1.1. Åñëè ïåðâûé áèò w ðàâåí 0, òî M ïåðåõîäèò â ñîñòîÿíèå q1 è äâèæåòñÿ ÷åðåç âñå 0 âïðàâî è îñòàíàâëèâàåòñÿ, íå äîïóñêàÿ, åñëè âñòðåòèò 1, èëè ïåðåõîäèò â äîïóñêàþùåå ñîñòîÿíèå q4 , åñëè âñòðåòèò B.
1.2. Åñëè ïåðâûé áèò w ðàâåí 1 è ïåðâûé ñëó÷àéíûé áèò ðàâåí 0, òî M ïåðåõîäèò â ñîñòîÿíèå q2 è äîïóñêàåò, åñëè âñå áèòû w ðàâíû 1.
2. Åñëè ïåðâûé ñëó÷àéíûé áèò ðàâåí 1, ìàøèíà M ñðàâíèâàåò w ñî âòîðûì è ïîñëåäóþùèìè ñëó÷àéíûìè áèòàìè, äîïóñêàÿ, åñëè îíè ñîâïàëè. Òàêèì îáðàçîì, â ñîñòîÿíèè q0 , îáîçðåâàÿ 1 íà âòîðîé ëåíòå, M ïåðåõîäèò â ñîñòîÿíèå q3 , ñäâèãàÿ ãîëîâêó íà ñëó÷àéíîé ëåíòå è îñòàâëÿÿ íà ìåñòå ãîëîâêó íà âõîäíîé.  ñîñòîÿíèè q3 ïðîâåðÿåò ñîâïàäåíèå ñîäåðæàíèÿ îáåèõ ëåíò, ñäâèãàÿ îáå ãîëîâêè âïðàâî. Åñëè îáíàðóæèâàåò íåñîâïàäåíèå, îñòàíàâëèâàåòñÿ, íå äîïóñêàÿ, à åñëè äîñòèãàåò ïðîáåëà íà âõîäíîé ëåíòå, òî äîïóñêàåò.
Âû÷èñëèì âåðîÿòíîñòü äîïóñêàíèÿ âõîäîâ. Äëÿ îäíîðîäíûõ âõîäîâ, ãäå âñòðå÷àåòñÿ òîëüêî îäèí ñèìâîë 0 èëè 1. Åñëè âõîä åñòü 0i (i ³ 1)
- ñ âåðîÿòíîñòüþ ½ ïåðâûé ñëó÷àéíûé áèò ðàâåí 0 è 0 i äîïóñêàåòñÿ;
- ñ âåðîÿòíîñòüþ ½ ïåðâûé ñëó÷àéíûé áèò ðàâåí 1 è 0 i äîïóñêàåòñÿ
òîãäà è òîëüêî òîãäà, êîãäà âñå ñëó÷àéíûå áèòû, íà÷èíàÿ ñî âòîðîãî, ðàâíû 0. Ýòî âîçìîæíî ñ âåðîÿòíîñòüþ 2 – i .
Ñóììàðíàÿ âåðîÿòíîñòü äîïóñêàíèÿ âõîäà 0i åñòü 1/2+1/2 × 2 – i = 1/2+2-( i+1) .
Äëÿ íåîäíîðîäíîãî âõîäà w, ñîäåðæàùåãî êàê 0, òàê è 1, âõîä íå äîïóñêàåòñÿ, åñëè ïåðâûé ñëó÷àéíûé áèò ðàâåí 0, äîïóñêàåòñÿ äëÿ ïåðâîãî ñëó÷àéíîãî áèòà 1 ñ âåðîÿòíîñòü 2 – i , ãäå i – äëèíà âõîäà. Îáùàÿ âåðîÿòíîñòü äîïóñêàíèÿ íåîäíîðîäíûõ öåïî÷åê ðàâíà 2-( i+1) .
Äàëåå äàíû äâà ðàçíûõ îïðåäåëåíèÿ äîïóñêàíèÿ ÿçûêîâ ðàíäîìèçèðîâàííûìè ìàøèíàìè.
Êëàññ RP
ßçûê L êëàññà RP äîïóñêàåòñÿ ðàäîìèçèðîâàííîé ìàøèíîé Òüþðèíãà M â ñëåäóþùåì ñìûñëå.
1. Åñëè w íå ïðèíàäëåæèò L, òî âåðîÿòíîñòü òîãî, ÷òî M äîïóñêàåò w ðàâíà 0.
2. Åñëè w ïðèíàäëåæèò L, òî âåðîÿòíîñòü òîãî, ÷òî M äîïóñêàåò w íå ìåíüøå ½.
3. Ñóùåñòâóåò ïîëèíîì p(n), äëÿ êîòîðîãî, åñëè w èìååò äëèíó n, òî âñå âû÷èñëåíèÿ M, íåçàâèñèìî îò ñîäåðæèìîãî ñëó÷àéíîé ëåíòû, îñòàíàâëèâàåòñÿíå áîëåå, ÷åì çà p(n) øàãîâ.
Ïóíêòû 1 è 2 îïðåäåëÿþò ðàíäîìèçèðîâàííóþ ÌÒ òèïà Ìîíòå-Êàðëî.
Ðàññìîòðåííàÿ âûøå ðàíäîìèçèðîâàííàÿ ÌÒ (ðèñ.11.13), óäîâëåòâîðÿåò óñëîâèþ 3, íî íå äîïóñêàåò íèêàêîãî ÿçûêà â ñìûñëå îïðåäåëåíèÿ RP.
Îïèøåì ðàíäîìèçèðîâàííóþ ÌÒ, óäîâëåòâîðÿþùóþ ñâîéñòâàì 1-3.
Åå âõîä èíòåðïðåòèðóåòñÿ êàê ãðàô, è âîïðîñ ñîñòîèò â òîì, åñòü ëè â ýòîì ãðàôå òðåóãîëüíèê, ò.å. òðè óçëà, ïîïàðíî ñîåäèíåííûå ðåáðàìè. Ãðàôû ñ òðåóãîëüíèêàìè ïðèíàäëåæàò ÿçûêó L èç RP , áåç – íå ïðèíàäëåæàò.
Àëãîðèòì âûáèðàåò ðåáðî (x, y) è âåðøèíó z, îòëè÷íóþ îò x è y, ñëó÷àéíûì îáðàçîì. Êàæäûé âûáîð îïðåäåëÿåòñÿ ïðîñìîòðîì íîâûõ áèòîâ íà ñëó÷àéíîé ëåíòå. Äëÿ êàæäîé âûáðàííîé òðîéêè x, y, z ÌÒ ïðîâåðÿåò, âõîäÿò ëè ðåáðà (x, z) è (y, z) â ãðàô, òîãäà âõîä ñîäåðæèò òðåóãîëüíèê.
Ïóñòü ãðàô èìååò n óçëîâ è m ðåáåð. Åñëè ãðàô èìååò õîòÿ áû îäèí òðåóãîëüíèê, òî âåðîÿòíîñòü òîãî, ÷òî òðè åãî óçëà áóäóò âûáðàíû â îäíîì ýêñïåðèìåíòå, ðàâíà (3/m)(1/(n-2)), ò.å. òðè èç m ðåáåð íàõîäÿòñÿ â òðåóãîëüíèêå, è åñëè îäíî èç íèõ âûáðàíî, òî âåðîÿòíîñòü òîãî, ÷òî áóäåò âûáðàí è òðåòèé óçåë, ðàâíà 1/(n-2). Åñëè ýêñïåðèìåíò ïîâòîðÿëñÿ k ðàç, òî âåðîÿòíîñòü íå âûáðàòü òðåóãîëüíèê ðàâíà 1-(1-3/m(n-2))k .
Âðåìÿ ðàáîòû ÌÒ. Çàïèñü n è m íå äëèííåå âõîäà, k âûáèðàåì íå áîëüøå êâàäðàòà äëèíû (ïðîïîðöèîíàëüíî n×m).  êàæäîì ýêñïåðèìåíòå âõîä ïðîñìàòðèâàåòñÿ íå áîëåå 4-õ ðàç (÷òîáû âûáðàòü ðåáðî, à çàòåì ïðîâåðèòü íàëè÷èå åùå äâóõ ðåáåð), ïîýòîìó âðåìÿ ýêñïåðèìåíòà ëèíåéíî îòíîñèòåëüíî äëèíû âõîäà. Òàêèì îáðàçîì, äî îñòàíîâà ÌÒ ñîâåðøàåò íå áîëåå, ÷åì çwô3 ïåðåõîäîâ, ò.å. âðåìÿ ðàáîòû ÌÒ ïîëèíîìèàëüíî, ò.å. óñëîâèå 3 âûïîëíÿåòñÿ.
Âñå òðè óñëîâèÿ äëÿ ÿçûêà L “ãðàôîâ ñ òðåóãîëüíèêàìè” âûïîëíåíû, òàê ÷òî L ïðèíàäëåæèò êëàññó RP. Òàêæå L ïðèíàäëåæèò êëàññó P.
Îäíàêî íàéòè ÿçûê èç êëàññà RP \ P çíà÷èòåëüíî òðóäíåå.
Äëÿ ðàñïîçíàâàíèÿ ÿçûêà L èç RP ñóùåñòâóåò ðàíäîìèçèðîâàííàÿ ìàøèíà Òüþðèíãà òèïà Ìîíòå-Êàðëî, ïîëèíîìèàëüíàÿ ïî âðåìåíè. Åñëè âõîä w Ï L, ìàøèíà íå äîïóñêàåò, à â ñëó÷àå w Î L òàêæå ìîæåò ïðîèçîéòè ëîæíûé íåãàòèâíûé èñõîä. Òàê ÷òî äëÿ ïîäòâåðæäåíèÿ äîïóñêàíèÿ îïûò íàäî ïðîâåñòè íåñêîëüêî ðàç. Ñïðàâåäëèâà ñëåäóþùàÿ òåîðåìà.
Òåîðåìà. Åñëè L ïðèíàäëåæèò RP , òî äëÿ ëþáîé êàê óãîäíî ìàëîé êîíñòàíòû c > 0 ñóùåñòâóåò ïîëèíîìèàëüíûé ïî âðåìåíè ðàíäîìèçèðî- âàííûé àëãîðèòì, ñîâåðøàþùèé ëîæíûé íåãàòèâíûé èñõîä íà âõîäå
w Î L ñ âåðîÿòíîñòüþ íå áîëüøå c.
Äîêàçàòåëüñòâî. Äëÿ ÿçûêà èç L èç RP äîïóñêàþùàÿ åãî ÌÒ äîïóñêàåò
öåïî÷êó èç L ñ âåðîÿòíîñòüþ, áîëüøåé ½, òàê ÷òî, ÷òîáû âåðîÿòíîñòü ëîæíîãî íåãàòèâíîãî èñõîäà áûëà íå áîëüøå c, íåîáõîäèìî ïîâòîðèòü
ïðîâåðêó log2 (1/c) ðàç. Ïîñêîëüêó âðåìÿ ðàáîòû ðàíäèìèçèðîâàííîé ÌÒ ïîëèíîìèàëüíî, ïîâòîðåíèå ïðîâåðêè íå íàðóøèò ïîëèíîìèàëüíîñòè.
Êëàññ ZPP.
Âòîðîé êëàññ ÿçûêîâ ZPP , èñïîëüçóþùèõ ðàíäîìèçàöèþ, äîïóñêàåòñÿ ìàøèíàìè Òüþðèíãà ñ ïîëèíîìèàëüíî îãðàíè÷åííûì îæèäàåìûì âðåìåíåì ðàáîòû. Âðåìÿ ðàáîòû ìàøèíû çàâèñèò îò çíà÷åíèé íåêîòîðûõ ñëó÷àéíûõ áèòîâ, ïîýòîìó ïîëèíîìèàëüíî îãðàíè÷åííîå âðåìÿ ðàáîòû
ýòèõ ìàøèí òîëüêî îæèäàåìîå. Ìàøèíû íàçûâàþò ÌÒ òèïà Ëàñ-Âåãàñ.
Íà âõîäàõ, ïðèíàäëåæàùèõ ÿçûêó L=L(M), ìàøèíà îñòàíàâëèâàåòñÿ, äîïóñêàÿ, â ïðîòèâíîì ñëó÷àå îñòàíàâëèâàåòñÿ áåç äîïóñêàíèÿ.
Ëåãêî äîêàçàòü, ÷òî ZPP=co-ZPP . Äîñòàòî÷íî ïåðåäåëàòü ìàøèíó òèïà Ëàã-Âåãàñ, äîïóñêàþùóþ ÿçûê L â ìàøèíó, äîïóñêàþùóþ ÿçûê L’ . Çàìêíóòîñòü êëàññà RP îòíîñèòåëüíî äîïîëíåíèÿ íå î÷åâèäíà, òàê êàê ìàøèíû òèïà Ìîíòå-Êàðëî òðàêòóþò äîïóñêàíèå è îòâåðãàíèå íåñèììåòðè÷íî. Îäíàêî ñëåäóþùèå îòíîøåíèÿ èìåþò ìåñòî.
Òåîðåìà. ZPP = RP = co-RP.
Äîêàçàòåëüñòâî. 1) RP Ç co-RP Í ZPP : Ïóñòü LÎ RP Ç co-RP , ò.å. L è L’
äîïóñêàþòñÿ ÌÒ òèïà Ìîíòå-Êàðëî ñ ïîëèíîìèàëüíî îãðàíè÷åííûì âðåìåíåì. Âîçüìåì ïîëèíîì, îãðàíè÷èâàþùèé âðåìÿ ðàáîòû îáåèõ ìàøèí. Ïîñòðîèì äëÿ L ÌÒ M òèïà Ëàñ-Âåãàñ:
1. Ñíà÷àëà ðàáîòàåò ìàøèíà äëÿ L òèïà Ìîíòå-Êàðëî, åñëè îíà äîïóñ
êàåò, M äîïóñêàåò è îñòàíàâëèâàåòñÿ.
2. Åñëè ìàøèíà äëÿ L íå äîïóñêàåò (îñòàíàâëèâàåòñÿ, íå äîïóñêàÿ), çà-
ïóñòèì ìàøèíó òèïà Ìîíòå-Êàðëî äëÿ L’ . Åñëè ýòà ÌÒ äîïóñêàåò, M îñòàíàâëèâàåòñÿ, íå äîïóñêàÿ.  ïðîòèâíîì ñëó÷àå âîçâðàùàåìñÿ ê ï.1.
M äîïóñêàåò, åñëè âõîä w Î L; M îòâåðãàåò w, åñëè w Ï L. Îæèäàåìîå âðåìÿ â îäíîì öèêëå – 2p(n). Âåðîÿòíîñòü òîãî, ÷òî îäèí öèêë ðàçðåøèò âîïðîñ íå ìåíüøå ½. Åñëè w Î L, òî ï.1 èìååò âåðîÿòíîñòü ½ ïðèâåñòè ìàøèíó M ê äîïóñêàíèþ, à åñëè w Ï L – ñòîëüêî æå øàíñîâ ïðèâåñòè M ê îòâåðãàíèþ. Òàêèì îáðàçîì, îæèäàåìîå âðåìÿ ðàáîòû ìàøèíû M íå áîëüøå 2p(n) + (1/2)2p(n) + (1/4)2p(n) + (1/8)p(n) +…= 4p(n).
2) ZPP Í RP Ç co-RP : Ïóñòü L Î ZPP , òîãäà ÿçûê L äîïóñêàåòñÿ ÌÒ M1 òèïà Ëàñ-Âåãàñ, îæèäàåìîå âðåìÿ ðàáîòû êîòîðîé - íåêîòîðûé ïîëèíîì p(n). Ïîñòðîèì äëÿ L ÌÒ M2 òèïà Ìîíòå-Êàðëî: M2 èìèòèðóåò 2p(n) øàãîâ ðàáîòû M1 . Åñëè M1 äîïóñêàåò â òå÷åíèå ýòîãî âðåìåíè, M2 òàêæå äîïóñêàåò, â ïðîòèâíîì ñëó÷àå îíà îòâåðãàåò.
Åñëè âõîä w Ï L, òî M1 íå äîïóñêàåò, åñëè w Î L, òî M1 äîïóñòèò, íî âðåìÿ åå ðàáîòû ìîæåò ïðåâûñèòü 2p(n). Ãàðàíòèÿ, ÷òî ýòî ïðîèçîéäåò â ïðåäåëàõ 2p(n) íå ìåíüøå ½. Äîïóñòèì ïðîòèâíîå: âðåìÿ ðàáîòû íå áîëüøå 2p(n) ñ âåðîÿòíîñòüþ c < ½. Òîãäà îæèäàåìîå âðåìÿ ðàáîòû M1 íà âõîäå w íå ìåíüøå (1 - c)2p(n), ïîñêîëüêó 1 – c ÿâëÿåòñÿ âåðîÿòíîñòüþ òîãî, ÷òî M1 íàäî âðåìåíè áîëüøå, ÷åì 2p(n). Íî 2(1 - c) > 1, òàê ÷òî îæèäàåìîå âðåìÿ ðàáîòû M1 áîëüøå p(n). Òîãäà è âðåìÿ äîïóñêàíèÿ ìàøèíû M2 íå ìåíüøå ½. Òàêèì îáðàçîì ïîñòðîåííàÿ ìàøèíà M2 òèïà Ìîíòå-Êàðëî ñ îãðàíè÷åííûì âðåìåíåì, ÷òî äîêàçûâàåò ïðèíàäëåæíîñòü L êëàññó RP.
Äëÿ äîêàçàòåëüñòâà òîãî, ÷òî L Î co-RP - ïî M1 ñòðîèì ÌÒ òèïà Ìîíòå-Êàðëî ñ ïîëèíîìèàëüíî îãðàíè÷åííûì âðåìåíåì äëÿ L’ .
Èç òåîðåìû 11.17 ñëåäóåò, ÷òî ZPP Í RP. Ìåñòî ýòèõ êëàññîâ ìåæäó P è NP îïðåäåëÿþò ñëåäóþùèå òåîðåìû.
Òåîðåìà. P Í ZPP.
Äîêàçàòåëüñòâî. Ëþáàÿ äåòåðìèíèðîâàííàÿ ïîëèíîìèàëüíî îãðàíè÷åííàÿ ÌÒ ÿâëÿåòñÿ òàêæå ïîëèíîìèàëüíî îãðàíè÷åííîé ÌÒ òèïà Ëàñ-Âåãàñ, íå èñïîëüçóþùåé âîçìîæíîñòè ñëó÷àéíûõ âûáîðîâ.
Òåîðåìà. RP Í NP.
Äîêàçàòåëüñòâî. Ïóñòü ÿçûê L ïðèíàäëåæèò RP . Òîãäà äîïóñêàþùàÿ L ÌÒ M1 òèïà Ìîíòå-Êàðëî. Ìîæíî ïîñòðîèòü ÍÌÒ M2 , ìîäåëèðóþùóþ ðàáîòó Ì1 è, êîãäà Ì1 ðàññìàòðèâàåò ñëó÷àéíûé áèò M2 îáà âîçìîæíûõ çíà÷åíèÿ ýòîãî áèòà çàïèñûâàåò èõ íà ñâîþ ñëó÷àéíóþ ëåíòó.
M2 äîïóñêàåò, êîãäà M1 äîïóñêàåò, è íå äîïóñêàåò â ïðîòèâíîì ñëó÷àå.
Âîçüìåì w Î L. Ïîñêîëüêó M1 èìååò âåðîÿòíîñòü äîïóñêàíèÿ áîëüøå ½, äîëæíà ñóùåñòâîâàòü ïîñëåäîâàòåëüíîñòü áèòîâ íà åå ñëó÷àéíîé ëåíòå, ïðèâîäÿùàÿ ê äîïóñêàíèþ w. M2 áåðåò ýòó ïîñëåäîâàòåëüíîñòü (óãàäûâàåò) áèòîâ è òàêæå äîïóñêàåò. Òàêèì îáðàçîì, w Î L (M2 ). Åñëè
w Ï L, òî íè îäíà ïîñëåäîâàòåëüíîñòü ñëó÷àéíûõ áèòîâ íå ïðèâîäèò M1 ê äîïóñêàíèþ, ñëåäîâàòåëüíî, íåò è ïîñëåäîâàòåëüíîñòè ñëó÷àéíûõ áèòîâ, ïðèâîäÿùåé ê äîïóñêàíèþ M2 . Òàêèì îáðàçîì, w Ï L(M2 ). ˜
Íà ðèñ.11.8 ïðåäñòàâëåíû ñîîòíîøåíèÿ ìåæäó ââåäåííûìè êëàññàìè.
Ðèñ.11.8.
Ïðèëîæåíèÿ â êðèïòîãðàôèè
Ïî ñòîéêîñòüþ êðèïòîñèñòåìû ïîíèìàþò îòñóòñòâèå ïîëèíîìèàëüíîãî àëãîðèòìà äåøèôðîâàíèÿ. Çäåñü âîçíèêàåò îäíî ñóùåñòâåííîå çàòðóäíåíèå: ñîâðåìåííîå ñîñòîÿíèå òåîðèè ñëîæíîñòè âû÷èñëåíèé íå ïîçâîëÿåò îáîñíîâûâàòü ñâåðõïîëèíîìèàëüíûå íèæíèå îöåíêè ñëîæíîñòè äëÿ êîíêðåòíûõ çàäà÷ ðàññìàòðèâàåìîãî êëàññà. Ïîýòîìó èäåò ïîèñê íàèáîëåå ñëàáûõ äîñòàòî÷íûõ óñëîâèé äëÿ ñóùåñòâîâàíèÿ ñòîéêèõ ñõåì êàæäîãî èç òèïîâ. Ïðè ýòîì ðàçëè÷àþòñÿ äâà íàïðàâëåíèÿ èññëåäîâàíèÿ – â ñàìîé òåîðèè ñëîæíîñòè è äëÿ êîíêðåòíûõ òåîðåòèêî-÷èñëîâûõ çàäà÷.
Êðèïòîãðàôèÿ è ãèïîòåçà P¹ NP
Ðàññìîòðèì ñëåäóþùèé åñòåñòâåííûé âîïðîñ: íå ÿâëÿåòñÿ ëè ãèïîòåçà
P¹ NP íåîáõîäèìûì è äîñòàòî÷íûì óñëîâèåì äëÿ ñóùåñòâîâàíèÿ ñòîé- êèõ êðèïòîãðàôè÷åñêèõ ñõåì? Íåîáõîäèìîñòü î÷åâèäíà. ×òî êàñàåòñÿ âîïðîñà î äîñòàòî÷íîñòè, òî çäåñü íàïðàøèâàåòñÿ ñëåäóþùèé ïîäõîä: âûáðàòü êàêóþ-ëèáî NP-ïîëíóþ çàäà÷ó è ïîñòðîèòü íà åå îñíîâå êðèïòîãðàôè÷åñêóþ ñõåìó, çàäà÷à âçëîìà êîòîðîé áûëà áû NP-ïîëíîé. Íà ïðàêòèêå îêàçàëîñü, ÷òî ëþáàÿ NP-ïîëíàÿ çàäà÷à ìîæåò îêàçàòüñÿ òðóäíîé ëèøü íà íåêîòîðîé áåñêîíå÷íîé ïîñëåäîâàòåëüíîñòè âõîäíûõ ñëîâ. Äåëî â òîì, ÷òî â îïðåäåëåíèè êëàññà NP çàëîæåíà ìåðà ñëîæíîñòè
“â õóäøåì ñëó÷àå”, äëÿ ñòîéêîñòè æå êðèïòîñèñòåì íåîáõîäèìà ñâåðõïîëèíîìèàëüíàÿ ñëîæíîñòü “ïî÷òè âñþäó”. Òàêèì îáðàçîì, äëÿ êðèïòîãðàôè÷åñêîé ñòîéêîñòè íåîáõîäèìî ñóùåñòâåííî áîëåå ñèëüíîå ïðåäïîëîëæåíèå, ÷åì P¹ NP.
Òåîðåòèêî-÷èñëîâîé ïîäõîä ê ñëîæíîñòè â êðèïòîãðàôèè
Òåîðèÿ ñëîæíîñòè ïðèìåíèòåëüíî ê êðèïòîãðàôèè èñïîëüçóåòñÿ ñëåäóþùèì îáðàçîì. Ïîñòðîåíèå ïóáëè÷íûõ êëþ÷åé òðåáóåò áûñòðîãî íàõîæäåíèÿ áîëüøèõ ïðîñòûõ ÷èñåë. Âåðîÿòíîñòü, ÷òî n-áèòîâîå ÷èñëî ïðîñòîå, ðàâíà 1/n. Èìåÿ ïîëèíîìèàëüíûé ïî âðåìåíè îòíîñèòåëüíî n àëãîðèòì ïðîâåðêè ïðîñòîòû, ìû ìîãëè áû, âûáèðàÿ ÷èñëà ñëó÷àéíî, ïðîâåðÿòü èõ è îñòàíàâëèâàòüñÿ, îáíàðóæèâ ïðîñòîå ÷èñëî. Ýòî äàâàëî áû íàì ïîëèíîìèàëüíûé àëãîðèòì òèïà Ëàñ-Âåãàñ. Ê ñîæàëåíèþ òàêîãî àëãîðèòìà ïðîâåðêè íà ïðîñòîòó íåò, õîòÿ è ñóùåñòâóåò ïîëèíîìèàëüíûé àëãîðèòì òèïà Ìîíòå-Êàðëî.
Áåçîïàñíîñòü øèôðîâàíèÿ, îñíîâàííîãî íà RSA-ñõåìå, çàâèñèò îò íåâîçìîæíîñòè ðàçëîæèòü ïðîèçâîëüíîå öåëîå ÷èñëî íà ïðîñòûå ìíîæèòåëè çà ïîëèíîìèàëüíîå âðåìÿ, â ÷àñòíîñòè, îò íåâîçìîæíîñòè ðàçëîæèòü öåëîå, î êîòîðîì èçâåñòíî, ÷òî îíî ðàâíî ïðîèçâåäåíèþ äâóõ áîëüøèõ ïðîñòûõ ÷èñåë. Åñëè áû îêàçàëîñü, ÷òî ìíîæåñòâî ïðîñòûõ èëè ìíîæå-
ñòâî ñîñòàâíûõ ÷èñåë îáðàçóåò NP-ïîëíûé êëàññ, òîãäà áû ïîëèíîìèàëü- íûé àëãîðèòì ðàçëîæåíèÿ ÷èñëà íà ïðîñòûå ìíîæèòåëè äîêàçûâàë áû ðàâåíñòâî N = NP , ÷òî ìàëîâåðîÿòíî. Ñ äðóãîé ñòîðîíû, áóäåò äîêàçàíî, ÷òî îáà ÿçûêà – ïðîñòûõ è ñîñòàâíûõ ÷èñåë ïðèíàäëåæàò NP. Îíè äîïîë- íÿþò äðóã äðóãà, ïîýòîìó, åñëè áû êàêîé-òî èç íèõ áûë NP-ïîëíûì, òî ìîæíî äîêàçàòü NP = co-NP , ÷òî òàêæå âûçûâàåò ñîìíåíèå. Êðîìå òîãî, ââèäó ïðèíàäëåæíîñòè ÿçûêà ïðîñòûõ ÷èñåë êëàññó RP , NP- ïîëíîòà ïîñëåäíåãî âëåêëà áû ðàâåíñòâî RP = NP , êîòîðîå òàêæå ìàëîâåðîÿòíî.
Ñëîæíîñòü âû÷èñëåíèé â ìîäóëÿðíîé àðèôìåòèêå
Ìîäóëÿðíàÿ àðèôìåòèêà èñïîëüçóåòñÿ â ïðîâåðêå ïðîñòîòû íàòóðàëüíîãî ÷èñëà, òàê ÷òî äàäèì íåêîòîðûå îöåíêè ñëîæíîñòè âû÷èñëåíèé ïî ìîäóëþ ïðîñòîãî ÷èñëà p. Äâîè÷íîå ïðåäñòàâëåíèå p çàíèìàåò n áèòîâ, ò.å. ñàìî p áëèçêî ê 2 n , òàê ÷òî ëþáîå âû÷èñëåíèå, âêëþ÷àþùåå p øà- ãîâ íå ïîëèíîìèàëüíî ïî âðåìåíè, çàíèìàåò âðåìÿ íå ìåíåå O(2 n ).
Ñëîæåíèå è óìíîæåíèå ïî ìîäóëþ p òðåáóåò âðåìÿ O(n) è O(n2 ), ñîîòâåòñòâåííî. Âîçâåäåíèå â ñòåïåíü ìåòîäîì ðåêóðñèâíîãî óäâîåíèÿ òàêæå ïîëèíîìèàëüíî. Ìåòîä ñîñòîèò â ñëåäóþùåì: âû÷èñëèòü x p-1
(èëè äðóãóþ ñòåïåíü äî p) ìîæíî ñëåäóþùèì îáðàçîì:
1. Âû÷èñëÿåì (íå áîëåå n ñòåïåíåé) x, x 2 , x 4 ,…, ïîêà ñòåïåíü íå ïðåâûñèò p-1. Êàæäîå çíà÷åíèå ÿâëÿåòñÿ n-áèòîâûì ÷èñëîì, êîòîðîå íàõîäèòñÿ çà âðåìÿ O(n2 ) ïóòåì âîçâåäåíèÿ â êâàäðàò ïðåäûäóùåãî, ïîýòîìó îáùåå âðåìÿ ðàâíî O(n3 ).
2. Íàéäåì äâîè÷íîå ïðåäñòàâëåíèå (p-1)2 = a n-1 a n-2… a0 , èëè
p-1 = a 0 + 2a1 + 4a 2 +…+2 n-1 a n-1 , ãäå êàæäîå a i åñòü 0 èëè 1. Òîãäà
x p -1 = x a 0 + 2a1 + 4a2 +…+2 n -1 a n -1
åñòü ïðîèçâåäåíèå ñòåïåíåé x 2 i , äëÿ êîòîðûõ ai = 1. Ïîñêîëüêó ýòè ñòåïåíè âû÷èñëåíû â ï.1 è ÿâëÿþòñÿ n-áèòîâûìè, èõ ïðîèçâåäåíèå ìîæíî âû÷èñëèòü çà âðåìÿ O(n3 ). Òàêèì îáðàçîì, âñå âû÷èñëåíèå x p-1 çàíèìàåò âðåìÿ O(n3 ).
Ðàíäîìèçèðîâàííàÿ ïîëèíîìèàëüíàÿ ïðîâåðêà ïðîñòîòû.
Îïèøåì, êàê ïðèìåíÿòü ðàíäîìèçèðîâàííûå àëãîðèòìû äëÿ ïîèñêà áîëüøèõ ïðîñòûõ ÷èñåë. Ïîêàæåì, ÷òî ÿçûê ñîñòàâíûõ ÷èñåë ïðèíàäëåæèò RP. Ìåòîä ãåíåðàöèè n-áèòîâûõ ïðîñòûõ ÷èñåë ñîñòîèò â ñëåäóþùåì: ñëó÷àéíî âûáèðàåòñÿ n-áèòîâîå ÷èñëî è ìíîãî ðàç ïðèìåíÿåòñÿ àëãîðèòì Ìîíòå-Êàðëî äëÿ ðàñïîçíàâàíèÿ ñîñòàâíûõ ÷èñåë. Åñëè íåêîòîðàÿ ïðîâåðêà ïîêàçàëà, ÷òî ÷èñëî ñîñòàâíîå, òî ÷èñëî òî÷íî íå ïðîñòîå. Åñëè âñå ïðîâåðêè íå ïîêàçûâàþò, ÷òî ÷èñëî ñîñòàâíîå, òî âåðîÿòíîñòü, ÷òî îíî ñîñòàâíîå íå áîëüøå 2- k , ãäå k – ÷èñëî ïðîâåðîê. Ò.å. ñ áîëüøîé äîëåé óâåðåííîñòè ìîæíî ñêàçàòü, ÷òî ÷èñëî ïðîñòîå, è ýòèì îáîñíîâàòü áåçîïàñíîñòü êðèïòîãðàôè÷åñêèõ îïåðàöèé.
Èäåÿ ðàíäîìèçèðîâàííîãî àëãîðèòìà áàçèðóåòñÿ íà òåîðåìå Ôåðìà: åñëè p – ïðîñòîå ÷èñëî, òî äëÿ ëþáîãî x, x p-1 = 1(mod p). Åñëè p - ñîñòàâíîå, òî ñóùåñòâóåò x, äëÿ êîòîðîãî x p-1 ¹ 1(mod p), äëÿ íå ìåíåå ïîëîâèíû ÷èñåë èç èíòåðâàëà [1, p-1].
Ðàíäîìèçèðîâàííûé àëãîðèòì òèïà Ìîíòå-Êàðëî äëÿ ñîñòàâíûõ ÷èñåë:
1. Âûáèðàåì ñëó÷àéíîå ÷èñëî x â èíòåðâàëå [1, p-1].
2. Âû÷èñëÿåì x p-1 (mod p). Åñëè p n-áèòîâîå, âû÷èñëåíèå çàéìåò âðåìÿ O(n3 ).
3. Åñëè x p-1 ¹ 1(mod p), òî äîïóñòèì âõîä x, â ïðîòèâíîì ñëó÷àå îñòàíîâèìñÿ áåç äîïóñêàíèÿ.
Åñëè p – ïðîñòîå, òî x p-1 = 1(mod p), ÌÒ îñòàíîâèòñÿ áåç äîïóñêàíèÿ. Ýòî îäíà âåòâü ðàáîòû ìàøèíû òèïà Ìîíòå-Êàðëî – åñëè âõîä íå ïðèíàäëåæèò ÿçûêó, òî îí íèêîãäà íå äîïóñêàåòñÿ è ïðè ïîâòîðíîì çàïóñêàíèè íà ýòîì âõîäå. Äëÿ ñîñòàâíûõ ÷èñåë “c” íå ìåíåå ïîëîâèíû ÷èñåë x èç èíòåðâàëà [1, c] óäîâëåòâîðÿþò óðàâíåíèþ Ôåðìà:
x c-1 =1 (mod c), â ÷àñòíîñòè äëÿ âçàèìíî ïðîñòûõ ñ “c”. Ýòè ÷èñëà òðåáóþò åùå îäíîé, áîëåå ñëîæíîé ïðîâåðêè, ÷òîáû óáåäèòüñÿ, ÷òî îíè ñîñòàâíûå.
Îäíàêî çäåñü íå ãîâîðèòñÿ î òîì, êàê ðàçëîæèòü ñîñòàâíîå ÷èñëî íà ìíîæèòåëè çà ïîëèíîìèàëüíîå âðåìÿ, ïî âèäèìîìó, òàêîãî, äàæå ðàíäîìèçèðîâàííîãî àëãîðèòìà íåò.  ïðîòèâíîì ñëó÷àå, êðèïòîãðàôè÷åñêèå ìåòîäû çàùèòû, îñíîâàííûå íà íåâîçìîæíîñòè ðàçëîæèòü î÷åíü áîëüøèå ÷èñëà íà ïðîñòûå ìíîæèòåëè çà ïîëèíîìèàëüíîå âðåìÿ îêàçàëèñü áû íåáåçîïàñíûìè.
Íåäåòåðìèíèðîâàííàÿ ïðîâåðêà ïðîñòîòû.
Çäåñü áóäåò äîêàçàíî, ÷òî ÿçûêè ïðîñòûõ è ñîñòàâíûõ ÷èñåë ïðèíàäëåæàò NPÇco-NP. Îòñþäà ñëåäóåò, ÷òî âåðîÿòíîñòü NP-ïîëíîòû ýòèõ ÿçûêîâ íè÷òîæíà, èíà÷å NP = co-NP, ÷òî ñîâåðøåííî íåâåðîÿòíî.
Òåîðåìà. Ìíîæåñòâî ñîñòàâíûõ ÷èñåë ïðèíàäëåæèò NP.
Äîêàçàòåëüñòâî. Ñòðîèì íåäåòåðìèíèðîâàííûé ïîëèíîìèàëüíûé àëãîðèòì ðàñïîçíàâàíèÿ ñîñòàâíûõ ÷èñåë:
1. Èìåÿ n-áèòîâîå ÷èñëî p, óãàäûâàåì ñîìíîæèòåëü q, ñîñòîÿùèé íå áîëåå, ÷åì èç n áèòîâ (q¹1, p).
2. Ðàçäåëèì p íà q è ïðîâåðèì, ÷òî rm (p, q) = 0. Åñëè ýòî òàê, òî ýòà ÷àñòü äåòåðìèíèðîâàíà è ìîæåò áûòü âûïîëíåíà çà âðåìÿ O(n2 ) íà ìíîãîëåíòî÷íîé ÌÒ.
Åñëè p - ñîñòàâíîå, òî îíî èìååò õîòÿ áû îäèí ñîìíîæèòåëü q ¹ 1, p. ÍÌÒ, óãàäûâàþùàÿ âñå âîçìîæíûå ÷èñëà, ñîäåðæàùèå íå áîëåå n áèòîâ, íà îäíîé èç âåòîê óãàäàåò q. Ýòà âåòêà âåäåò ê äîïóñêàíèþ.
Íàîáîðîò, äîïóñêàíèå ÍÌÒ îçíà÷àåò, ÷òî íàéäåí äåëèòåëü ÷èñëà p, îòëè÷íûé îò 1 è p. ßçûê îïèñàííîé ÍÌÒ ñîäåðæèò âñå ñîñòàâíûå ÷èñëà.
Ðàñïîçíàâàíèå ïðîñòûõ ÷èñåë ñ ïîìîùüþ ÍÌÒ ñëîæíåå. Ìîæíî áûëî óãàäàòü, ÷òî ÷èñëî (äåëèòåëü) íå ÿâëÿåòñÿ ïðîñòûì, íî íàäî åùå ïðîâåðèòü, ÷òî ÷èñëî p äåéñòâèòåëüíî ïðîñòîå, ò.å. ÷òî ñóùåñòâóåò ÷èñëî x ìåæäó 1 è p-1, èìåþùåå ïîðÿäîê p-1. Çíà÷èò, íè îäíî èç ÷èñåë
x 2 , x 3 ,…,x p-2 íå ðàâíî 1. Òàêàÿ ïðîâåðêà ïîòðåáóåò âðåìåíè íå ìåíåå
2 n äëÿ n-áèòîâîãî ÷èñëà p. Ïîýòîìó èñïîëüçóåì ôàêò, ÷òî äëÿ ïðîñòîãî p ïîðÿäîê x ïî mod (p) äåëèò p-1 (ord (x) ïp-1). Òàêèì îáðàçîì, äîñòàòî÷íî äëÿ ïðîñòûõ äåëèòåëåé q ÷èñëà p-1 ïðîâåðèòü, ÷òî x ( p-1) / q ¹1. ×èñëî òàêèõ ïðîâåðîê – O(n), ïîýòîìó âñå èõ ìîæíî âûïîëíèòü ñ ïîìîùüþ ïîëèíîìèàëüíîãî àëãîðèòìà.
Òåîðåìà. Ìíîæåñòâî ïðîñòûõ ÷èñåë ïðèíàäëåæèò NP.
Äîêàçàòåëüñòâî. Ïóñòü p n-áèòîâîå ÷èñëî, íå ðàâíîå 1, 2, 3.
1. Óãàäûâàåì ñïèñîê ñîìíîæèòåëåé {q1 , q2 ,…,q k }, äâîè÷íûå ïðåäñòàâëåíèÿ êîòîðûõ âìåñòå çàíèìàþò íå áîëåå 2n áèòîâ, è íè îäíî èç íèõ íå èìååò áîëåå n-1 áèòîâ. Íà êàæäîé âåòâè ÍÌÒ âðåìÿ ðàáîòû O(n).
2. Ïåðåìíîæàåì âñå ñîìíîæèòåëè qi è ïðîâåðÿåì, ðàâíî ëè èõ ïðîèçâåäåíèå p-1. Ýòî ïîòðåáóåò âðåìåíè íå áîëåå O(n2 ).
3. Åñëè ïðîèçâåäåíèå ñîâïàëî ñ p-1, ðåêóðñèâíî ïðîâåðèì, ÷òî êàæäûé ñîìíîæèòåëü ÿâëÿåòñÿ ïðîñòûì.
4. Åñëè íå âñå ñîìíîæèòåëè q ÿâëÿþòñÿ ïðîñòûìè, óãàäàåì çíà÷åíèå x è ïðîâåðèì íåðàâåíñòâî x ( p-1) / q ¹ 1 äëÿ êàæäîãî q, äåëÿùåãî p-1. Òåì ñàìûì óñòàíàâëèâàåòñÿ, ÷òî ïîðÿäîê x ðàâåí p-1, â ïðîòèâíîì ñëó÷àå ïîðÿäîê x äîëæåí äåëèòüñÿ íà îäèí èç ìíîæèòåëåé (p-1) / q .
Âîçâåäåíèå â ñòåïåíü îñóùåñòâëÿåòñÿ îïèñàííûì âûøå ýôôåêòèâíûì
àëãîðèòìîì, ñäåëàâ íå áîëåå k óìíîæåíèé (k< n), çàòðàòèâ âðåìåíè
O(n3 ), òàê ÷òî îáùåå âðåìÿ – O(n 4 ).
Ïîñòðîåííûé íåäåòåðìèíèðîâàííûé àëãîðèòì ïîëèíîìèàëåí âäîëü êàæäîé âåòâè, êðîìå øàãà 3. Ðàññìîòðèì ðåêóðñèâíîå âû÷èñëåíèå íà øàãå 3, ïðåäñòàâèâ åãî â âèäå äåðåâà, â êîðíå êîòîðîãî íàõîäèòñÿ n-áèòîâîå ÷èñëî p, ñûíîâüÿìè ÿâëÿþòñÿ óãàäàííûå ñîìíîæèòåëè ÷èñëà
p-1, ïîä êàæäûì q i óãàäûâàåìûå ñîìíîæèòåëè ÷èñëà q i –1, êîòîðûå òàêæå íàäî ïðîâåðèòü äàííîé ðåêóðñèâíîé ïðîöåäóðîé, è ò.ä. - äî ëèñòüåâ, ñîñòîÿùèõ íå áîëåå, ÷åì èç 2 áèò.
Ïðîèçâåäåíèå ñûíîâåé ìåíüøå ñàìîãî óçëà, òåì áîëåå ìåíüøå p.
Âðåìÿ ðàáîòû, âûïîëíÿåìîé äëÿ óçëà, èñêëþ÷àÿ ðàáîòó â ðåêóðñèâíûõ âûçîâàõ, îöåíèâàåòñÿ êàê a. (log2 i)4 , äëÿ íåêîòîðîé êîíñòàíòû a. Âåðõíþþ îöåíêó äëÿ ëþáîãî óðîâíÿ j ìîæíî ïîëó÷èòü ñóììèðîâàíèåì ïî óçëàì, è òàê êàê ñîîòâåòñòâóþùèå óçëàì óãàäàííûå ñîìíîæèòåëè ñîñòàâëÿþò ïðîèçâåäåíèå, íå áîëüøåå p-1, òî ñóììû îãðàíè÷åíû ñâåðõó a(log2 p)4 , ÷òî íå ïðåâîñõîäèò an4 .
Èòàê, âðåìÿ ðàáîòû íà êàæäîì óðîâíå O(n 4 ), óðîâíå íå áîëåå n, îáùåå âðåìÿ ðàáîòû íà êàæäîé âåòêå O(n5 ).