ðóññ | óêð

ßçûêè ïðîãðàììèðîâàíèÿ

ÏàñêàëüÑèÀññåìáëåðJavaMatlabPhpHtmlJavaScriptCSSC#DelphiÒóðáî Ïðîëîã

Êîìïüþòåðíûå ñåòèÑèñòåìíîå ïðîãðàììíîå îáåñïå÷åíèåÈíôîðìàöèîííûå òåõíîëîãèèÏðîãðàììèðîâàíèå

Âñå î ïðîãðàììèðîâàíèè


Linux Unix Àëãîðèòìè÷åñêèå ÿçûêè Àíàëîãîâûå è ãèáðèäíûå âû÷èñëèòåëüíûå óñòðîéñòâà Àðõèòåêòóðà ìèêðîêîíòðîëëåðîâ Ââåäåíèå â ðàçðàáîòêó ðàñïðåäåëåííûõ èíôîðìàöèîííûõ ñèñòåì Ââåäåíèå â ÷èñëåííûå ìåòîäû Äèñêðåòíàÿ ìàòåìàòèêà Èíôîðìàöèîííîå îáñëóæèâàíèå ïîëüçîâàòåëåé Èíôîðìàöèÿ è ìîäåëèðîâàíèå â óïðàâëåíèè ïðîèçâîäñòâîì Êîìïüþòåðíàÿ ãðàôèêà Ìàòåìàòè÷åñêîå è êîìïüþòåðíîå ìîäåëèðîâàíèå Ìîäåëèðîâàíèå Íåéðîêîìïüþòåðû Ïðîåêòèðîâàíèå ïðîãðàìì äèàãíîñòèêè êîìïüþòåðíûõ ñèñòåì è ñåòåé Ïðîåêòèðîâàíèå ñèñòåìíûõ ïðîãðàìì Ñèñòåìû ñ÷èñëåíèÿ Òåîðèÿ ñòàòèñòèêè Òåîðèÿ îïòèìèçàöèè Óðîêè AutoCAD 3D Óðîêè áàçû äàííûõ Access Óðîêè Orcad Öèôðîâûå àâòîìàòû Øïàðãàëêè ïî êîìïüþòåðó Øïàðãàëêè ïî ïðîãðàììèðîâàíèþ Ýêñïåðòíûå ñèñòåìû Ýëåìåíòû òåîðèè èíôîðìàöèè

Êëàññû ÿçûêîâ, îñíîâàííûå íà ðàíäîìèçàöèè


Äàòà äîáàâëåíèÿ: 2015-01-16; ïðîñìîòðîâ: 815; Íàðóøåíèå àâòîðñêèõ ïðàâ


Âåðîÿòíîñòíàÿ ìàøèíà îòëè÷àåòñÿ îò äåòåðìèíèðîâàííîé òåì, ÷òî â ëåâîé ÷àñòè èíñòðóêöèè ïîÿâëÿåòñÿ åùå îäèí ñèìâîë - âûõîäíîå çíà÷åíèå äàò÷èêà ñëó÷àéíûõ ÷èñåë ñ êîíå÷íûì àëôàâèòîì, êîòîðûé íà êàæäîì øàãå ðàáîòû âûäàåò ñâîè çíà÷åíèÿ ðàâíîâåðîÿòíî è íåçàâèñèìî îò çíà÷åíèé, âûäàííûõ íà äðóãèõ øàãàõ. Âåðîÿòíîñòü “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. Ýòî âîçìîæíî ñ âåðîÿòíîñòüþ 2i.

Ñóììàðíàÿ âåðîÿòíîñòü äîïóñêàíèÿ âõîäà 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-1a n-2…a0, èëè

p-1 = a 0 + 2a1 + 4a 2 +…+2 n-1a n-1, ãäå êàæäîå a i åñòü 0 èëè 1. Òîãäà

x p -1 =xa 0 + 2a1 + 4a2 +…+2 n -1a n -1

åñòü ïðîèçâåäåíèå ñòåïåíåé x 2i, äëÿ êîòîðûõ 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). š



<== ïðåäûäóùàÿ ëåêöèÿ | ñëåäóþùàÿ ëåêöèÿ ==>
Ïðîáëåìû, ðàçðåøèìûå â ïîëèíîìèàëüíîì ïðîñòðàíñòâå | Ãëàâà VI. Ïðèáëèæåííûå àëãîðèòìû


Êàðòà ñàéòà Êàðòà ñàéòà óêð


Óðîêè php mysql Ïðîãðàììèðîâàíèå

Îíëàéí ñèñòåìà ñ÷èñëåíèÿ Êàëüêóëÿòîð îíëàéí îáû÷íûé Èíæåíåðíûé êàëüêóëÿòîð îíëàéí Çàìåíà ðóññêèõ áóêâ íà àíãëèéñêèå äëÿ âåáìàñòåðîâ Çàìåíà ðóññêèõ áóêâ íà àíãëèéñêèå

Àïïàðàòíîå è ïðîãðàììíîå îáåñïå÷åíèå Ãðàôèêà è êîìïüþòåðíàÿ ñôåðà Èíòåãðèðîâàííàÿ ãåîèíôîðìàöèîííàÿ ñèñòåìà Èíòåðíåò Êîìïüþòåð Êîìïëåêòóþùèå êîìïüþòåðà Ëåêöèè Ìåòîäû è ñðåäñòâà èçìåðåíèé íåýëåêòðè÷åñêèõ âåëè÷èí Îáñëóæèâàíèå êîìïüþòåðíûõ è ïåðèôåðèéíûõ óñòðîéñòâ Îïåðàöèîííûå ñèñòåìû Ïàðàëëåëüíîå ïðîãðàììèðîâàíèå Ïðîåêòèðîâàíèå ýëåêòðîííûõ ñðåäñòâ Ïåðèôåðèéíûå óñòðîéñòâà Ïîëåçíûå ðåñóðñû äëÿ ïðîãðàììèñòîâ Ïðîãðàììû äëÿ ïðîãðàììèñòîâ Ñòàòüè äëÿ ïðîãðàììèñòîâ Còðóêòóðà è îðãàíèçàöèÿ äàííûõ


 


Íå íàøëè òî, ÷òî èñêàëè? Google âàì â ïîìîùü!

 
 

© life-prog.ru Ïðè èñïîëüçîâàíèè ìàòåðèàëîâ ïðÿìàÿ ññûëêà íà ñàéò îáÿçàòåëüíà.

Ãåíåðàöèÿ ñòðàíèöû çà: 0.078 ñåê.