ËÈÊÁÅÇ

Ëåêöèÿ 1: Òåîðåìà î ðåêóððåíòíûõ îöåíêàõ.

   Ìàøèíû Òüþðèíãà. Îñíîâû òåîðèè

âû÷èñëèìîñòè. Îñíîâû òåîðèè ñëîæíîñòè

              âû÷èñëåíèé.



             Äìèòðèé Èöûêñîí

                 ÏÎÌÈ ÐÀÍ

              23 ñåíòÿáðÿ 2007




                                            1 / 41
Ïëàí




• Òåîðåìà î ðåêóððåíòíûõ îöåíêàõ
• Ìàøèíû Òüþðèíãà
• Ýëåìåíòû òåîðèè âû÷èñëèìîñòè: ðàçðåøèìûå è
 ïåðå÷èñëèìûå ÿçûêè
• Ýëåìåíòû òåîðèè ñëîæíîñòè: êëàññû P, LOGSPACE, NP.
 NP-ïîëíîòà.




                                                       2 / 41
Ëèòåðàòóðà




1   Í. Ê. Âåðåùàãèí, À. Øåíü. Âû÷èñëèìûå ôóíêöèè.
2   À.Êèòàåâ, À.Øåíü, Ì.Âÿëûé. Êëàññè÷åñêèå è êâàíòîâûå
    âû÷èñëåíèÿ.
3   Ò. Êîðìåí, ×. Ëåéçåðñîí, Ð. Ðèâåñò. Àëãîðèòìû.
    Ïîñòðîåíèå è àíàëèç.
4   C.H. Papadimitriou. Computational complexity.




                                                          3 / 41
Âîïðîñ


Âîïðîñ

Âñå çíàþò, ÷òî
  • Ïîëèíîìèàëüíûå àëãîðèòìû ýôôåêòèâíû;
  • Íåèçâåñòíî ýôôåêòèâíîãî àëãîðèòìà ðàçëîæåíèÿ
    íàòóðàëüíîãî ÷èñëà íà ìíîæèòåëè.
Ðàññìîòðèì ñëåäóþùèé àëãîðèòì ðàçëîæåíèÿ ÷èñëà n íà
ìíîæèòåëè:
                          √
  • Ïåðåáèðàåì âñå 2 ≤ k ≤ n;
  • Åñëè n äåëèòñÿ íà k , òî n = k · k .
                                     n
                                       √
Ñëîæíîñòü àëãîðèòìà íå ïðåâîñõîäèò         n · n ≤ n2 , ò.å.
ïîëèíîìèàëüíà îò n.
 ÷åì ïðîáëåìà?

                                                               4 / 41
Îòâåò

Îòâåò

Ñëîæíîñòü àëãîðèòìà èçìåðÿåòñÿ êàê ôóíêöèÿ îò äëèíû
çàïèñè âõîäíûõ äàííûõ. ×èñëî n çàïèñûâàåòñÿ l = log10 n
çíàêàìè. n2 = 102 log10 n = 102l  ýêñïîíåíòà îò l .
Îïðåäåëåíèå

Ñëîæíîñòü àëãîðèòìà â õóäøåì ñëó÷àå, êàê ôóíêöèÿ îò äëèíû
âõîäà n  ýòî ìàêñèìóì âðåìåíè ðàáîòû ïî âñåì âõîäàì
äëèíû n.
Ñëîæíîñòü àëãîðèòìîâ îáû÷íî èçìåðÿþò àñèìïòîòè÷åñêè:
  • Îïåðàöèè èñïîëíÿþòñÿ ðàçëè÷íîå âðåìÿ è òî÷íîé
    êîíñòàíòû íèêòî íå çíàåò
Õîðîøèé ëè àëãîðèòì, åñëè åãî ñëîæíîñòü n + C ?
  • Äà, îí ëèíåéíûé!
  • À åñëè C îïåðàöèé âûïîëíÿåòñÿ 1000 ëåò?
                                                            5 / 41
O , o , Ω, Θ


Îáîçíà÷åíèÿ

Ôóíêöèè f , g : N → R+
  • f (n) = O(g (n)), åñëè ∃c  0∃n0 ∀n  n0 , f (n)  cg (n);
                                 f (n)
  • f (n) = o(g (n)), åñëè lim           = 0;
                             n→∞ g (n)
  • f (n) = Ω(g (n)), åñëè ∃c  0∃n0 ∀n  n0 , f (n)  cg (n);
  • f (n) = Θ(g (n)), åñëè
    ∃c1 , c2  0∃n0 ∀n  n0 , c1 g (n)  f (n)  c2 g (n);
                          f (n) = O(g (n))
f (n) = Θ(g (n)) ⇐⇒
                          g (n) = O(f (n))




                                                                 6 / 41
Ïîëåçíî çíàòü




• f (n), g (n)  ìíîãî÷ëåíû, deg f = deg g =⇒ f = Θ(g );
• f (n), g (n)  ìíîãî÷ëåíû, deg f  deg g =⇒ f = o(g );
• log2 n = o(nk );
• log2 n = Θ(loga n) = Θ( êîëè÷åñòâî öèôð â ÷èñëå n);
• nk = o(2n );
• nk = o(nlog n ).




                                                           7 / 41
Ïðèìåð: ñîðòèðîâêà ôîí-Íåéìàíà




Àëãîðèòì


 1   Îòñîðòèðîâàòü ïåðâóþ ïîëîâèíó ìàññèâà;
 2   Îòñîðòèðîâàòü âòîðóþ ïîëîâèíó ìàññèâà;
 3   Ðåçóëüòàò ñëèòü.

Àíàëèç ñëîæíîñòè

 • Ñëèÿíèå óïîðÿäî÷åííûõ ìàññèâîâ Θ(n);
 • Ðåêóððåíòíîå ñîîòíîøåíèå: T (n) = 2T (   n
                                            2   ) + Θ(n).




                                                            8 / 41
Òåîðåìà î ðåêóððåíòíûõ îöåíêàõ

Òåîðåìà

                          
                           d,                 n=1
               T (n) =           n
                           aT (   ) + Θ(nα ), n  1
                                 b

 1   Åñëè α  logb a, òî T (n) = Θ(nlogb a );
 2   Åñëè α = logb a, òî T (n) = Θ(nlogb a log n);
 3   Åñëè α  logb a, òî T (n) = Θ(nα ).

Ïðèìåðû


 1   T (n) = 9T (   n
                    3   ) + n: log3 9 = 2, T (n) = Θ(n2 );
 2   T (n) = 2T (   n
                    2   ) + cn: log2 2 = 1, T (n) = Θ(n log n);
                               3                             3
 3   T (n) = 2T (   n
                    2   ) + cn 2 : log2 2 = 1, T (n) = Θ(n 2 ).
                                                                  9 / 41
Èäåÿ äîêàçàòåëüñòâà



Äëÿ ïðîñòîòû ñ÷èòàåì, ÷òî n = b k , T (n) = aT ( b ) + cnα .
                                                       n
             n        α = a(aT ( n ) + c( n )α ) + cnα
T (n) = aT ( b ) + cn               b2         b
= c(n α + a nα + a2 nα + · · · + ak nα )
            b α      b 2α              b kα

= cnα (1 + ( ba ) + ( ba )2 + · · · + ( ba )k )
               α        α                α


  1   α  logb a ⇐⇒ a  b α ⇐⇒ ba  1.  α

      T (n) = Θ(nα ( ba )k ) = Θ(ak ) = Θ(alogb n ) = Θ(alogb a·loga n ) =
                      α

      Θ(nlogb a );
  2   α = logb a ⇐⇒ a = b α ⇐⇒ ba = 1.
                                     α

      T (n) = Θ(nα k) = Θ(nα logb n) = Θ(nlogb a log n);
  3   α  logb a ⇐⇒ a  b α ⇐⇒           a
                                        bα    1.
      T (n) = Θ(nα ).



                                                                             10 / 41
Ìîäåëè âû÷èñëåíèé


Çà÷åì îíè íóæíû


  • Ìàòåìàòè÷åñêîå îïðåäåëåíèå ïîíÿòèÿ àëãîðèòì;
  • Ñòðîãîå îïðåäåëåíèå ñëîæíîñòè àëãîðèòìà;
  • Âîçìîæíîñòü ÷òî-òî äîêàçûâàòü ïðî âñå àëãîðèòìû.
    Äîêàçûâàòü íåâîçìîæíîñòü àëãîðèòìà.

Êàêèå Âû çíàåòå ìîäåëè âû÷èñëåíèÿ?



ß çíàþ: λ-èñ÷èñëåíèå, ìàøèíà Òüþðèíãà, ÐÀÌ-ìàøèíà,
ìàøèíà Ïîñòà, íîðìàëüíûå àëãîðèòìû Ìàðêîâà...
Ïî÷òè ëþáîé ÿçûê ïðîãðàììèðîâàíèÿ ìîæåò âûñòóïàòü â ðîëè
ìîäåëè âû÷èñëåíèÿ, åñëè åñòü âîçìîæíîñòü èñïîëüçîâàòü
íåîãðàíè÷åííîå êîëè÷åñòâî ïàìÿòè.

                                                           11 / 41
Îñíîâíûå îïðåäåëåíèÿ




Àëôàâèò

Àëôàâèò  ýòî íåêîòîðîå êîíå÷íîå ìíîæåñòâî ñèìâîëîâ.
Ñòàíäàðòíîå îáîçíà÷åíèå: Σ.

Ñëîâà â àëôàâèòå

Ñëîâî  ýòî êîíå÷íàÿ ïîñëåäîâàòåëüíîñòü ñèìâîëîâ. Åñëè Σ 
àëôàâèò, òî Σ∗  ìíîæåñòâî âñåõ ñëîâ â àëôàâèòå.
Íàïðèìåð: Σ = {a, b}, òî Σ∗ = {λ, a, b, aa, ab, ba, bb, aaa, . . . },
ãäå λ  ïóñòîå ñëîâî.




                                                                        12 / 41
ßçûêè è ôóíêöèè




ßçûê

ßçûêîì íàä àëôàâèòîì Σ íàçûâàåòñÿ ïîäìíîæåñòâî Σ∗ .

Ïðèìåðû ÿçûêîâ

ßçûê ïðîñòûõ ÷èñåë, ÿçûê ÷åòíûõ ÷èñåë, ÿçûê äâóäîëüíûõ
ãðàôîâ, ÿçûê âûïîëíèìûõ ôîðìóë â ÊÍÔ è ò.ä.

Ñîãëàøåíèå

Ñ÷èòàåì, ÷òî ëþáîé àëãîðèòì ëèáî ïðîâåðÿåò ïðèíàäëåæíîñòü
âõîäíîãî ñëîâà íåêîòîðîìó ÿçûêó, ëèáî âû÷èñëÿåò çíà÷åíèå
ôóíêöèè Σ∗ → Σ∗ .




                                                            13 / 41
Ìàøèíà Òüþðèíãà

• Áåñêîíå÷íàÿ â îäíó ñòîðîíó ëåíòà, ðàçäåëåííàÿ íà ÿ÷åéêè.
     ñàìîé ëåâîé ÿ÷åéêå íàïèñàí ñèìâîë .
•   Q  êîíå÷íîå ìíîæåñòâî ñîñòîÿíèé. q0 ∈ Q  íà÷àëüíîå
    ñîñòîÿíèå. qf ∈ Q  êîíå÷íîå ñîñòîÿíèå.
•   Σ  àëôàâèò ñèìâîëîâ, êîòîðûå ìîãóò áûòü çàïèñàíû íà
    ëåíòå. , ”_” ∈ Σ.
•   Ãîëîâêà ìàøèíû óêàçûâàåò íà îäíó èç ÿ÷ååê ëåíòû
•   Ïðàâèëî ïåðåõîäà: δ : Σ × Q → Σ × Q × {→, ←, •}
•   Ñîãëàñíî ïðàâèëó ïåðåõîäà ìàøèíà ïî ñèìâîëó, íà
    êîòîðûé óêàçûâàåò ãîëîâêà, è ïî òåêóùåìó ñîñòîÿíèþ,
    ïèøåò íà ýòî ìåñòî íîâûé ñèìâîë, ïåðåõîäèò â íîâîå
    ñîñòîÿíèå è, âîçìîæíî, ñäâèãàåò ãîëîâêó íà 1 ñèìâîë
    âëåâî èëè âïðàâî.
•   Íà÷èíàåò ðàáîòó â ñîñòîÿíèè q0 , ãîëîâêà óêàçûâàåò íà
    ïåðâûé ñèìâîë. Çàêàí÷èâàåò â ñîñòîÿíèè qf .
                                                             14 / 41
Ïðèìåð




Ïðèáàâëåíèå åäèíè÷êè â 2-îé ñèñòåìå ñ÷èñëåíèÿ



Äëÿ ïðîñòîòû ñ÷èòàåì, ÷òî ÷èñëî çàïèñàíî çàäîì íàïåðåä.
  • (q0 , 0) → (qf , 1, •);
  • (q0 , 1) → (q0 , 0, →);
  • (q0 , _) → (qf , 1, •).




                                                          15 / 41
Ïðèìåð


Ïðèáàâëåíèå åäèíè÷êè â 2-îé ñèñòåìå ñ÷èñëåíèÿ



Òåïåðü ÷èñëî çàïèñàíî íîðìàëüíî
  • (q0 , 0) → (q0 , 0, →);
  • (q0 , 1) → (q0 , 1, →);
  • (q0 , _) → (q1 , _, ←);
  • (q1 , 0) → (qf , 1, •);
  • (q1 , 1) → (q1 , 0, ←);
  • (q1 , ) → (q2 , , →);
  • (q2 , 0) → (q3 , 1, →);
  • (q3 , 0) → (q3 , 0, →);
  • (q3 , _) → (qf , 0, •).

                                                  16 / 41
Ìàøèíà Òüþðèíãà




Âõîä ìàøèíû Òüþðèíãà  òî, ÷òî çàïèñàíî íà ëåíòå. Çà
âõîäîì ñëåäóåò áåñêîíå÷íîå ÷èñëî ïðîáåëîâ.
Âûõîä ìàøèíû Òüþðèíãà  òî, ÷òî çàïèñàíî íà ëåíòå ïîñëå
òîãî, êàê ìàøèíà ïðèøëà â êîíå÷íîå ñîñòîÿíèå.
Åñëè ìàøèíà Òüþðèíãà ïðîâåðÿåò ïðèíàäëåæíîñòü ÿçûêó, òî
óäîáíî èìåòü äâà êîíå÷íûõ ñîñòîÿíèÿ: qyes è qno .
Ìàøèíà Òüþðèíãà ìîæåò:
  • çàêîí÷èòü ðàáîòó;
  • ðàáîòàòü áåñêîíå÷íî.




                                                          17 / 41
Ñëîæíîñòíûå ïàðàìåòðû

Âðåìÿ


 • Âðåìåíåì ðàáîòû ìàøèíû Òüþðèíãà íà âõîäå x íàçûâàåì
   êîëè÷åñòâî øàãîâ, êîòîðîå ìàøèíà äåëàåò, ÷òîáû ïðèéòè â
   êîíå÷íîå ñîñòîÿíèå.
 • Âðåìåííîé ñëîæíîñòüþ ìàøèíû Òüþðèíãà íàçûâàåì
   ìàêñèìóì ïî âñåì âõîäàì äëèíû n âðåìåíè ðàáîòû
   ìàøèíû íà ýòèõ âõîäàõ.

Ïàìÿòü

 • Ñëîæíîñòüþ ïî ïàìÿòè ðàáîòû ìàøèíû Òüþðèíãà íà
   âõîäå x íàçûâàåì êîëè÷åñòâî ÿ÷ååê, â êîòîðûõ ïîáûâàëà
   ãîëîâêà ìàøèíû.
 • Åìêîñòíîé ñëîæíîñòüþ ìàøèíû Òüþðèíãà íàçûâàåì
   ìàêñèìóì ïî âñåì âõîäàì äëèíû n ñëîæíîñòè ïî ïàìÿòè
   ðàáîòû ìàøèíû íà ýòèõ âõîäàõ.
                                                             18 / 41
Ìíîãîëåíòî÷íàÿ ìàøèíà Òüþðèíãà




Åñòü k ëåíò, ãîëîâêà åñòü íà êàæäîé ëåíòå.
Ïðàâèëî ïåðåõîäà: δ : Σk × Q → Σk × Q × {→, ←, •}k
Ôàêò

Ïî ëþáîé ìíîãîëåíòî÷íîé ìàøèíå Òüþðèíãà ìîæíî ïîñòðîèòü
îäíîëåíòî÷íóþ ìàøèíó Òüþðèíãà, âû÷èñëÿþùóþ òó æå
ôóíêöèþ. Ïðè÷åì ñëîæíîñòíûå õàðàêòåðèñòèêè ýòîé ìàøèíû
áóäóò ëèøü â ïîëèíîì ðàç õóæå.

Çàìå÷àíèå

Èíîãäà óäîáíî ñ÷èòàòü, ÷òî ìàøèíà ñíàáæåíà ñïåöèàëüíîé
âõîäíîé ëåíòîé, äîñòóïíîé òîëüêî äëÿ ÷òåíèÿ è âûõîäíîé
ëåíòîé, äîñòóïíîé äëÿ çàïèñè, íî áåç èñïðàâëåíèé.



                                                          19 / 41
Íåäåòåðìèíèðîâàííàÿ ìàøèíà Òüþðèíãà

• Ïðàâèëà ïåðåõîäà íåîäíîçíà÷íû. Âîçìîæíî, ÷òî
    ñóùåñòâóåò íåñêîëüêî ïðàâèë äëÿ îäíîé ïàðû (ñèìâîë,
    ñîñòîÿíèå);
•   ÍÌÒ ïðèíèìàåò ñëîâî x , åñëè ñóùåñòâóåò
    ïîñëåäîâàòåëüíîñòü ëåãàëüíûõ øàãîâ, ïðèâîäÿùèõ â
    ñîñòîÿíèå qyes ;
•   Îïðåäåëåíèå íå ñèììåòðè÷íî îòíîñèòåëüíî îòâåòîâ yes è
    no ;
•   Ìîæíî ñ÷èòàòü, ÷òî ìàøèíà ñíàáæåíà äîïîëíèòåëüíîé
    ëåíòîé, äîñòóïíîé òîëüêî äëÿ ÷òåíèÿ ñëåâà íàïðàâî. Íà
    ýòîé ëåíòå çàïèñàíà ïîäñêàçêà (êàêîå èç ïðàâèë ñåé÷àñ
    ïðèìåíÿòü). Ìàøèíà ïðèíèìàåò x , åñëè ñóùåñòâóåò
    ïîäñêàçêà, ñ êîòîðîé îíà ïîïàäåò â ñîñòîÿíèå qyes ;
•   Ìîæíî äîêàçàòü, ÷òî åñëè íåêîòîðàÿ ÍÌÒ ïðîâåðÿåò
    ïðèíàäëåæíîñòü ÿçûêó L, òî ñóùåñòâóåò è
    äåòåðìèíèðîâàííàÿ ÌÒ, ïðîâåðÿþùàÿ ïðèíàäëåæíîñòü
    ÿçûêó L.                                                20 / 41
Ñëîæíîñòíûå ïàðàìåòðû ÍÌÒ




Âðåìÿ è ïàìÿòü ÍÌÒ ñ÷èòàþòñÿ, êàê ìàêñèìóì ïî âñåì
âàðèàíòàì ïðèìåíåíèÿ ïðàâèëà äî ïðèõîäà â êîíå÷íîå
ñîñòîÿíèå. Åñëè ìàøèíà íå îñòàíàâëèâàåòñÿ ïðè êàêîì-òî
âûáîðå ïðàâèë, òî âðåìÿ ðàáîòû ñ÷èòàåòñÿ áåñêîíå÷íûì.




                                                         21 / 41
Òåçèñ ×åð÷à-Òüþðèíãà




Ëþáîé àëãîðèòì ìîæíî ðåàëèçîâàòü â âèäå ìàøèíû Òüþðèíãà.




                                                           22 / 41
Ýëåìåíòû òåîðèè âû÷èñëèìîñòè




• Ìàøèíó Òüþðèíãà ìîæíî çàïèñàòü: àëôàâèò, ñîñòîÿíèÿ,
 ïðàâèëà... Êàæäîé ÌÒ ñîîòâåòñòâóåò ñòðî÷êà â íåêîòîðîì
 àëôàâèòå.
• Ìàøèí Òüþðèíãà ñ÷åòíîå ÷èñëî.
• Óíèâåðñàëüíàÿ ìàøèíà Òüþðèíãà. Ñóùåñòâóåò òàêàÿ
 ìàøèíà Òüþðèíãà U , êîòîðàÿ ïî çàïèñè ìàøèíû
 Òüþðèíãà M è âõîäó x ìîäåëèðóåò ïîâåäåíèå ìàøèíû M
 íà âõîäå x . Ïðè ýòîì ñëîæíîñòíûå ïàðàìåòðû ìàøèíû U
 íå áîëåå, ÷åì â ïîëèíîì îò çàïèñè M è |x| õóæå.




                                                          23 / 41
Ðàçðåøèìûå è ïåðå÷èñëèìûå ÿçûêè




Σ  àëôàâèò, L ⊂ Σ∗  ÿçûê.
ßçûê L íàçûâàåòñÿ àëãîðèòìè÷åñêè ðàçðåøèìûì, åñëè
ñóùåñòâóåò òàêàÿ ìàøèíà Òüþðèíãà M , ÷òî

      x ∈ L ⇐⇒ M(x) îñòàíàâëèâàåòñÿ â ñîñòîÿíèè qyes
      x ∈ L ⇐⇒ M(x) îñòàíàâëèâàåòñÿ â ñîñòîÿíèè qno
ßçûê L íàçûâàåòñÿ ïåðå÷èñëèìûì, åñëè ñóùåñòâóåò òàêàÿ
ìàøèíà Òüþðèíãà M , ÷òî

      x ∈ L ⇐⇒ M(x) îñòàíàâëèâàåòñÿ â ñîñòîÿíèè qyes
      x ∈ L ⇐⇒ M(x) íå îñòàíàâëèâàåòñÿ



                                                        24 / 41
Ïðîñòåéøèå ñâîéñòâà



Ëåììà 1

Ëþáîé ðàçðåøèìûé ÿçûê ÿâëÿåòñÿ ïåðå÷èñëèìûì.
Äîñòàòî÷íî ñîñòîÿíèå qno çàìåíèòü íà q∞ è äîáàâèòü ïðàâèëà
(q∞ , ∗) → (q∞ , ∗, →)

Ëåììà 2

ßçûê L  ïåðå÷èñëèì ⇐⇒ ñóùåñòâóåò ÌÒ M , êîòîðàÿ,
ðàáîòàÿ íà ïóñòîì âõîäå, ðàíî èëè ïîçäíî íàïå÷àòàåò ëþáîé
ýëåìåíò ÿçûêà L áåç ïîâòîðåíèé. (Ìàøèíà M ìîæåò ðàáîòàòü
áåñêîíå÷íî äîëãî).
⇐ Ìàøèíà M áóäåò æäàòü, ïîêà M íàïå÷àòàåò ñëîâî x .
⇒ M ìîäåëèðóåò M : 1 øàã íà ïåðâîì âõîäå, 2 øàãà íà
ïåðâîì, 2 øàãà íà âòîðîì, 3 øàãà íà ïåðâîì, âòîðîì, òðåòüåì,
4 øàãà...

                                                               25 / 41
Âîïðîñû




Ñóùåñòâóþò ëè íåïåðå÷èñëèìûå ÿçûêè?

Ñóùåñòâóþò, òàê êàê ìàøèí Òüþðèíãà ñ÷åòíî, à ÿçûêîâ
êîíòèíóóì.
Íåêîíñòðóêòèâíîå äîêàçàòåëüñòâî
Ñóùåñòâóþò ëè àëãîðèòìè÷åñêè íåðàçðåøèìûå, íî

ïåðå÷èñëèìûå ÿçûêè?

Äà.




                                                      26 / 41
Ïðèìåð íåïåðå÷èñëèìîãî ÿçûêà


• Âñå çàïèñè ìàøèí Òüþðèíãà ìîæíî ïåðåíóìåðîâàòü ñ
  ïîìîùüþ àëãîðèòìà.
• Çàïèñü  n  îáîçíà÷àåò ÌÒ ñ íîìåðîì n.
• Ðàññìîòðèì ÿçûê
  L = {n|  n  íå îñòàíàâëèâàåòñÿ íà âõîäå n}
• Ïóñòü L ïåðå÷èñëèì àëãîðèòìîì ñ íîìåðîì k .
• Åñëè k ∈ L, òî  k  íå îñòàíàâëèâàåòñÿ íà k =⇒  k 
  íå ïåðå÷èñëÿåò L.
• Åñëè k ∈ L, òî  k  îñòàíàâëèâàåòñÿ íà k =⇒  k  íå
  ïåðå÷èñëÿåò L.
• Ïðîòèâîðå÷èå. Çíà÷èò L íå ïåðå÷èñëÿåòñÿ íèêàêèì
  àëãîðèòìîì.
• L  àëãîðèòìè÷åñêè íåðàçðåøèì.

                                                          27 / 41
Ïðèìåð ïåðå÷èñëèìîãî, íî íå

                             ðàçðåøèìîãî ÿçûêà




• L = {n|  n  îñòàíàâëèâàåòñÿ íà âõîäå n};
• L íåðàçðåøèì, òàê êàê èíà÷å è ÿçûê L áûë áû
  ðàçðåøèìûì;
• L ïåðå÷èñëèì: ìîäåëèðóåì ìàøèíó  n  íà âõîäå n è
  æäåì, ïîêà îíà îñòàíîâèòñÿ.




                                                       28 / 41
Êîììåíòàðèé



  • Çàäà÷à îñòàíîâêè ÌÒ: ïî ÌÒ è åå âõîäó îïðåäåëèòü,
      îñòàíîâèòñÿ îíà èëè íåò. Ýòà çàäà÷à àëãîðèòìè÷åñêè
      íåðàçðåøèìà;
  • Ìåòîä äîêàçàòåëüñòâà: äèàãîíàëèçàöèÿ;
  • Âñå ðåçóëüòàòû îá àëãîðèòìè÷åñêîé íåðàçðåøèìîñòè
      èñïîëüçóþò íåðàçðåøèìîñòü çàäà÷è îñòàíîâêè ÌÒ.

Âåëèêàÿ òåîðåìà Ôåðìà

Åñëè áû çàäà÷à îñòàíîâêè áûëà áû ðàçðåøèìà, òî ìîæíî áûëî
áû äîêàçàòü Âåëèêóþ òåîðåìó Ôåðìà òàê:
  1   Ìàøèíà M íà ïóñòîì âõîäå ïåðåáèðàåò âñå
      x, y , z, n ∈ N, n  2 è îñòàíàâëèâàåòñÿ, åñëè x n + y n = z n .
  2   Óçíàåì, îñòàíàâëèâàåòñÿ ëè ìàøèíà M íà ïóñòîì âõîäå.

                                                                         29 / 41
Ýëåìåíòû òåîðèè ñëîæíîñòè âû÷èñëåíèé




Êëàññ   P
ßçûê L ïðèíàäëåæèò êëàññó P, åñëè äëÿ íåãî ñóùåñòâóåò
àëãîðèòì, âðåìÿ ðàáîòû êîòîðîãî ïîëèíîìèàëüíî îò äëèíû
âõîäíûõ äàííûõ, êîòîðûé ðàñïîçíàåò ýòîò ÿçûê.
P  êëàññ ôóíêöèé, âû÷èñëèìûõ çà ïîëèíîìèàëüíîå âðåìÿ
Ïðèíÿòî ñ÷èòàòü, ÷òî çàäà÷è, äëÿ êîòîðûõ ñóùåñòâóåò
ïîëèíîìèàëüíûé àëãîðèòì, ðåàëüíî ðåøàòü íà ïðàêòèêå. Õîòÿ
ýòî íå âñåãäà òàê...




                                                            30 / 41
LogSpace ⊆ P
• LogSpace  ýòî êëàññ ÿçûêîâ, êîòîðûå ðàñïîçíàþòñÿ
  ìàøèíàìè, êîòîðûå èñïîëüçóþò O(log n) ïàìÿòè. (Âõîä è
  âûõîä íå ñ÷èòàþòñÿ, ìîæíî ñ÷èòàòü, ÷òî äëÿ íèõ åñòü
  îòäåëüíàÿ ëåíòà).
• Äîêàæåì, ÷òî LogSpace ⊆ P.
• Êîíôèãóðàöèÿ ÌÒ: ñîäåðæèìîå ëåíò, òåêóùåå ñîñòîÿíèå,
  ïîëîæåíèå ãîëîâêè.
• Ó LogSpace-ìàøèíû ñîñòîÿíèé |Q| = O(1);
• ïîëîæåíèé ãîëîâêè O(n2 );
• ñîäåðæèìîãî ëåíò: |Σ|c log n = O(nc );
• Èòîãî: O(nc+2 ) êîíôèãóðàöèè.
• Åñëè äâå êîíôèãóðàöèè ïîâòîðèëèñü, òî ìàøèíà íå
  çàêîí÷èò ðàáîòó.
• Âûâîä: âðåìÿ ðàáîòû òàêîé ìàøèíû ïîëèíîìèàëüíî.
                                                          31 / 41
Êëàññû   NP   è   NP

• R  áèíàðíîå îòíîøåíèå, ò.å. R ⊆ Σ∗ × Σ∗ ;
• R íàçûâàåòñÿ ïîëèíîìèàëüíî îãðàíè÷åííûì, åñëè ∃k
  ∀x, y , (x, y ) ∈ R =⇒ |y |  |x|k ;
• R íàçûâàåòñÿ ïîëèíîìèàëüíî ïðîâåðÿåìûì, åñëè
  ñóùåñòâóåò ïîëèíîìèàëüíûé àëãîðèòì, êîòîðûé ïî (x, y )
  ïðîâåðÿåò, âåðíî ëè, ÷òî (x, y ) ∈ R .
• Çàäà÷à ïîèñêà, àññîöèèðîâàííàÿ ñ R : ïî x íàéòè y òàê,
  ÷òîáû (x, y ) ∈ R .
• ßçûê, àññîöèèðîâàííûé ñ R : L = {x|∃y : (x, y ) ∈ R}.
• NP  êëàññ çàäà÷ ïîèñêà, àññîöèèðîâàííûõ c
  ïîëèíîìèàëüíî ïðîâåðÿåìûìè è ïîëèíîìèàëüíî
  îãðàíè÷åííûìè îòíîøåíèÿìè.
• NP  êëàññ ÿçûêîâ.

                                                           32 / 41
Ïðèìåðû ïîëèíîìèàëüíî îãðàíè÷åííûõ

                         è ïðîâåðÿìûõ îòíîøåíèé




1   RSAT : ïàðû (ôîðìóëà â ÊÍÔ, åå âûïîëíÿþùèé íàáîð).
    ((x ∨ y ) ∧ (¬x ∨ ¬y ), [x → 1, y → 0]) ∈ RSAT
2   RHAM : ïàðû (ãðàô, åãî Ãàìèëüòîíîâ ïóòü);
3   RCLIQUE : ïàðû (ãðàô + ÷èñëî k , åãî êëèêà ðàçìåðà k );
4   R3−COLORIG : ïàðû (ãðàô, ðàñêðàñêà åãî âåðøèí â 3 öâåòà
    ïðàâèëüíûì îáðàçîì);




                                                              33 / 41
P vs NP



Ïðåäëîæåíèå:   P ⊆ NP
Åñëè L ∈ P, ìîæíî ðàññìîòðåòü R = {(x, λ), x ∈ L}, ãäå λ 
ïóñòîå ñëîâî.
Çàìå÷àíèå: ÿçûê   L ∈ NP   ìîæåò áûòü ðàñïîçíàí

ïîëèíîìèàëüíîé ÍÌÒ

Âòîðóþ ÷àñòü îòíîøåíèÿ R ìîæíî èñïîëüçîâàòü, êàê ïîäñêàçêó
ê ÍÌÒ. Ïîëèíîìèàëüíîñòü ñëåäóåò èç ïîëèíîìèàëüíîé
ïðîâåðÿåìîñòè R .
Îòêðûòûé âîïðîñ: ÿâëÿåòñÿ ëè âêëþ÷åíèå      P ⊆ NP
ñòðîãèì




                                                             34 / 41
Ñâåäåíèÿ


Ñâåäåíèå ïî Ëåâèíó

Çàäà÷à ïîèñêà R1 ñâîäèòñÿ ê çàäà÷å ïîèñêà R2 , åñëè
ñóùåñòâóþò òàêèå ïîëèíîìèàëüíûå àëãîðèòìû f è g , ÷òî
  • ∃yR1 (x, y ) ⇐⇒ ∃zR2 (f (x), z);
  • R1 (x, g (x, y )) ⇐⇒ R2 (f (x), y ).

Ñâåäåíèå ïî Êóêó

Çàäà÷à ïîèñêà R1 ñâîäèòñÿ ê çàäà÷å ïîèñêà R2 , åñëè çàäà÷ó
ïîèñêà R1 ìîæíî ðåøèòü çà ïîëèíîìèàëüíîå âðåìÿ, ïðè
óñëîâèè, ÷òî çàäà÷ó R2 ìû óìååì ðåøàòü çà 1 øàã.

Ëåììà

Åñëè R1 ñâîäèòñÿ ê R2 , òî åñëè R2 ìîæíî ðåøèòü çà
ïîëèíîìèàëüíîå âðåìÿ, òî è R1 ìîæíî ðåøèòü çà
ïîëèíîìèàëüíîå âðåìÿ.
                                                             35 / 41
NP-òðóäíûå     çàäà÷è




Îïðåäåëåíèå

Çàäà÷à ïîèñêà R íàçûâàåòñÿ NP-òðóäíîé, åñëè âñå çàäà÷è
ïîèñêà èç NP ñâîäÿòñÿ ê íåé.
Çàäà÷à ïîèñêà R íàçûâàåòñÿ NP-ïîëíîé, åñëè îíà NP-òðóäíà è
ïðèíàäëåæèò NP.




                                                             36 / 41
Çàäà÷à îá îãðàíè÷åííîé îñòàíîâêå

Îïðåäåëèì îòíîøåíèå RBH :
( M, x, 11 . . . 1 , y ) ∈ RBH ⇐⇒ ÌÒ M íà âõîäå (x, y )
         t øòóê
îñòàíàâëèâàåòñÿ çà íå áîëåå, ÷åì t øàãîâ â ïðèíèìàþùåì
ñîñòîÿíèè (qyes ).

Òåîðåìà:   RBH   åñòü   NP-ïîëíàÿ
  • RBH ∈ NP, òàê êàê ìîæíî ïðîâåðèòü çà ïîëèíîìèàëüíîå
    âðåìÿ ìîäåëèðîâàíèåì;
  • RBH ïîëèíîìèàëüíî îãðàíè÷åííî: |y |  t ;
  • Ïóñòü R ∈ NP, ïóñòü A  ïðîâåðÿþùàÿ Ìàøèíà
    Òüþðèíãà, îãðàíè÷åííàÿ ïîëèíîìîì nk .
  • Ñâåäåíèå: x → A, x, 11 . . . 1 
                            nk   øòóê

                                                            37 / 41
Òåîðåìà Êóêà-Ëåâèíà




RSAT   åñòü   NP-ïîëíàÿ
Èäåÿ äîêàçàòåëüñòâà: ñ ïîìîùüþ ÊÍÔ ôîðìóë êîäèðóåòñÿ
ìàøèíà Òüþðèíãà, øàãè ìàøèíû Òüþðèíãà. È çàäà÷à îá
îãðàíè÷åííîé îñòàíîâêå RBH ñâîäèòñÿ ê RSAT .




                                                       38 / 41
Ñâåäåíèå äëÿ ÿçûêîâ




Ñâåäåíèå ïî Êàðïó

ßçûê L1 ñâîäèòñÿ ê ÿçûêó L2 , åñëè ñóùåñòâóåò ïîëèíîìèàëüíî
âû÷èñëèìàÿ ôóíêöèÿ f , ÷òî x ∈ L1 ⇐⇒ f (x) ∈ L2 .

Îïðåäåëåíèå

ßçûê L íàçûâàåòñÿ NP  òðóäíûì, åñëè ëþáîé ÿçûê èç NP
ñâîäèòñÿ ê íåìó. È NP -ïîëíûì, åñëè îí ê òîìó æå
ïðåíàäëåæèò NP.

Çàìå÷àíèå

Ñâåäåíèå ïî Ëåâèíó äëÿ çàäà÷ ïîèñêà âëå÷åò ñâåäåíèå ïî
Êàðïó äëÿ ÿçûêîâ. Çíà÷èò, ÿçûê âûïîëíèìûõ ôîðìóë SAT
ÿâëÿåòñÿ NP -ïîëíûì.


                                                              39 / 41
Îò çàäà÷ ïîèñêà ê ÿçûêàì




RSAT   ñâîäèòñÿ ïî Êóêó ê SAT

Åñëè ôîðìóëà ϕ âûïîëíèìà, òî âûïîëíèìà ëèáî ϕ[x → 1],
ëèáî ϕ[x → 0]. Âûáèðàåì ïðàâèëüíîå çíà÷åíèå ïåðåìåííîé x è
ïîäñòàâëÿåì åãî.

Çàìå÷àíèå: íå âñåãäà çàäà÷à ïîèñêà ñâîäèòñÿ ê ÿçûêó

Ïðèìåð: ïðîâåðèòü ÷èñëî íà ïðîñòîòó ìîæíî çà
ïîëèíîìèàëüíîå âðåìÿ, à ðàñêëàäûâàòü íà ìíîæèòåëè áûñòðî
íèêòî íå óìååò.




                                                             40 / 41
Óïðàæíåíèÿ è çàäà÷è



1   Äîêàæèòå, ÷òî íåò àëãîðèòìà, êîòîðûé îïðåäåëÿë áû,
    çàêîí÷èò ëè ÌÒ ðàáîòó íà ïóñòîì âõîäå.
2   Ñóùåñòâóåò ëè àëãîðèòì, ïðîâåðÿþùèé, ðàáîòàåò ëè
    äàííàÿ ÌÒ ïîëèíîìèàëüíîå âðåìÿ èëè íåò?
3   Äîêàæèòå, ÷òî íå ñóùåñòâóåò àëãîðèòìà, êîòîðûé
    îïðåäåëèë áû ïî ÌÒ M îïðåäåëèë áû, ÿâëÿåòñÿ ëè
    ïîñëåäîâàòåëüíîñòü M(1), M(2), M(3) . . . ïåðèîäè÷åñêîé ñ
    íåêîòîðîãî ìåñòà.
4   Äîêàæèòå NP-ïîëíîòó ìîäèôèöèðîâàííîé çàäà÷è îá
    îãðàíè÷åííîé îñòàíîâêå: ( M, x , y ) ∈ RBH , åñëè ÌÒ M
    îñòàíàâëèâàåòñÿ â ïðèíèìàþùåì ñîñòîÿíèè çà íå áîëåå,
    ÷åì |x|2 øàãîâ.


                                                                41 / 41

Д. М. Ицыксон. Вводный курс. Лекция 1

  • 1.
    ËÈÊÁÅÇ Ëåêöèÿ 1: Òåîðåìàî ðåêóððåíòíûõ îöåíêàõ. Ìàøèíû Òüþðèíãà. Îñíîâû òåîðèè âû÷èñëèìîñòè. Îñíîâû òåîðèè ñëîæíîñòè âû÷èñëåíèé. Äìèòðèé Èöûêñîí ÏÎÌÈ ÐÀÍ 23 ñåíòÿáðÿ 2007 1 / 41
  • 2.
    Ïëàí • Òåîðåìà îðåêóððåíòíûõ îöåíêàõ • Ìàøèíû Òüþðèíãà • Ýëåìåíòû òåîðèè âû÷èñëèìîñòè: ðàçðåøèìûå è ïåðå÷èñëèìûå ÿçûêè • Ýëåìåíòû òåîðèè ñëîæíîñòè: êëàññû P, LOGSPACE, NP. NP-ïîëíîòà. 2 / 41
  • 3.
    Ëèòåðàòóðà 1 Í. Ê. Âåðåùàãèí, À. Øåíü. Âû÷èñëèìûå ôóíêöèè. 2 À.Êèòàåâ, À.Øåíü, Ì.Âÿëûé. Êëàññè÷åñêèå è êâàíòîâûå âû÷èñëåíèÿ. 3 Ò. Êîðìåí, ×. Ëåéçåðñîí, Ð. Ðèâåñò. Àëãîðèòìû. Ïîñòðîåíèå è àíàëèç. 4 C.H. Papadimitriou. Computational complexity. 3 / 41
  • 4.
    Âîïðîñ Âîïðîñ Âñå çíàþò, ÷òî • Ïîëèíîìèàëüíûå àëãîðèòìû ýôôåêòèâíû; • Íåèçâåñòíî ýôôåêòèâíîãî àëãîðèòìà ðàçëîæåíèÿ íàòóðàëüíîãî ÷èñëà íà ìíîæèòåëè. Ðàññìîòðèì ñëåäóþùèé àëãîðèòì ðàçëîæåíèÿ ÷èñëà n íà ìíîæèòåëè: √ • Ïåðåáèðàåì âñå 2 ≤ k ≤ n; • Åñëè n äåëèòñÿ íà k , òî n = k · k . n √ Ñëîæíîñòü àëãîðèòìà íå ïðåâîñõîäèò n · n ≤ n2 , ò.å. ïîëèíîìèàëüíà îò n.  ÷åì ïðîáëåìà? 4 / 41
  • 5.
    Îòâåò Îòâåò Ñëîæíîñòü àëãîðèòìà èçìåðÿåòñÿêàê ôóíêöèÿ îò äëèíû çàïèñè âõîäíûõ äàííûõ. ×èñëî n çàïèñûâàåòñÿ l = log10 n çíàêàìè. n2 = 102 log10 n = 102l ýêñïîíåíòà îò l . Îïðåäåëåíèå Ñëîæíîñòü àëãîðèòìà â õóäøåì ñëó÷àå, êàê ôóíêöèÿ îò äëèíû âõîäà n ýòî ìàêñèìóì âðåìåíè ðàáîòû ïî âñåì âõîäàì äëèíû n. Ñëîæíîñòü àëãîðèòìîâ îáû÷íî èçìåðÿþò àñèìïòîòè÷åñêè: • Îïåðàöèè èñïîëíÿþòñÿ ðàçëè÷íîå âðåìÿ è òî÷íîé êîíñòàíòû íèêòî íå çíàåò Õîðîøèé ëè àëãîðèòì, åñëè åãî ñëîæíîñòü n + C ? • Äà, îí ëèíåéíûé! • À åñëè C îïåðàöèé âûïîëíÿåòñÿ 1000 ëåò? 5 / 41
  • 6.
    O , o, Ω, Θ Îáîçíà÷åíèÿ Ôóíêöèè f , g : N → R+ • f (n) = O(g (n)), åñëè ∃c 0∃n0 ∀n n0 , f (n) cg (n); f (n) • f (n) = o(g (n)), åñëè lim = 0; n→∞ g (n) • f (n) = Ω(g (n)), åñëè ∃c 0∃n0 ∀n n0 , f (n) cg (n); • f (n) = Θ(g (n)), åñëè ∃c1 , c2 0∃n0 ∀n n0 , c1 g (n) f (n) c2 g (n); f (n) = O(g (n)) f (n) = Θ(g (n)) ⇐⇒ g (n) = O(f (n)) 6 / 41
  • 7.
    Ïîëåçíî çíàòü • f(n), g (n) ìíîãî÷ëåíû, deg f = deg g =⇒ f = Θ(g ); • f (n), g (n) ìíîãî÷ëåíû, deg f deg g =⇒ f = o(g ); • log2 n = o(nk ); • log2 n = Θ(loga n) = Θ( êîëè÷åñòâî öèôð â ÷èñëå n); • nk = o(2n ); • nk = o(nlog n ). 7 / 41
  • 8.
    Ïðèìåð: ñîðòèðîâêà ôîí-Íåéìàíà Àëãîðèòì 1 Îòñîðòèðîâàòü ïåðâóþ ïîëîâèíó ìàññèâà; 2 Îòñîðòèðîâàòü âòîðóþ ïîëîâèíó ìàññèâà; 3 Ðåçóëüòàò ñëèòü. Àíàëèç ñëîæíîñòè • Ñëèÿíèå óïîðÿäî÷åííûõ ìàññèâîâ Θ(n); • Ðåêóððåíòíîå ñîîòíîøåíèå: T (n) = 2T ( n 2 ) + Θ(n). 8 / 41
  • 9.
    Òåîðåìà î ðåêóððåíòíûõîöåíêàõ Òåîðåìà   d, n=1 T (n) = n  aT ( ) + Θ(nα ), n 1 b 1 Åñëè α logb a, òî T (n) = Θ(nlogb a ); 2 Åñëè α = logb a, òî T (n) = Θ(nlogb a log n); 3 Åñëè α logb a, òî T (n) = Θ(nα ). Ïðèìåðû 1 T (n) = 9T ( n 3 ) + n: log3 9 = 2, T (n) = Θ(n2 ); 2 T (n) = 2T ( n 2 ) + cn: log2 2 = 1, T (n) = Θ(n log n); 3 3 3 T (n) = 2T ( n 2 ) + cn 2 : log2 2 = 1, T (n) = Θ(n 2 ). 9 / 41
  • 10.
    Èäåÿ äîêàçàòåëüñòâà Äëÿ ïðîñòîòûñ÷èòàåì, ÷òî n = b k , T (n) = aT ( b ) + cnα . n n α = a(aT ( n ) + c( n )α ) + cnα T (n) = aT ( b ) + cn b2 b = c(n α + a nα + a2 nα + · · · + ak nα ) b α b 2α b kα = cnα (1 + ( ba ) + ( ba )2 + · · · + ( ba )k ) α α α 1 α logb a ⇐⇒ a b α ⇐⇒ ba 1. α T (n) = Θ(nα ( ba )k ) = Θ(ak ) = Θ(alogb n ) = Θ(alogb a·loga n ) = α Θ(nlogb a ); 2 α = logb a ⇐⇒ a = b α ⇐⇒ ba = 1. α T (n) = Θ(nα k) = Θ(nα logb n) = Θ(nlogb a log n); 3 α logb a ⇐⇒ a b α ⇐⇒ a bα 1. T (n) = Θ(nα ). 10 / 41
  • 11.
    Ìîäåëè âû÷èñëåíèé Çà÷åì îíèíóæíû • Ìàòåìàòè÷åñêîå îïðåäåëåíèå ïîíÿòèÿ àëãîðèòì; • Ñòðîãîå îïðåäåëåíèå ñëîæíîñòè àëãîðèòìà; • Âîçìîæíîñòü ÷òî-òî äîêàçûâàòü ïðî âñå àëãîðèòìû. Äîêàçûâàòü íåâîçìîæíîñòü àëãîðèòìà. Êàêèå Âû çíàåòå ìîäåëè âû÷èñëåíèÿ? ß çíàþ: λ-èñ÷èñëåíèå, ìàøèíà Òüþðèíãà, ÐÀÌ-ìàøèíà, ìàøèíà Ïîñòà, íîðìàëüíûå àëãîðèòìû Ìàðêîâà... Ïî÷òè ëþáîé ÿçûê ïðîãðàììèðîâàíèÿ ìîæåò âûñòóïàòü â ðîëè ìîäåëè âû÷èñëåíèÿ, åñëè åñòü âîçìîæíîñòü èñïîëüçîâàòü íåîãðàíè÷åííîå êîëè÷åñòâî ïàìÿòè. 11 / 41
  • 12.
    Îñíîâíûå îïðåäåëåíèÿ Àëôàâèò Àëôàâèò ýòî íåêîòîðîå êîíå÷íîå ìíîæåñòâî ñèìâîëîâ. Ñòàíäàðòíîå îáîçíà÷åíèå: Σ. Ñëîâà â àëôàâèòå Ñëîâî ýòî êîíå÷íàÿ ïîñëåäîâàòåëüíîñòü ñèìâîëîâ. Åñëè Σ àëôàâèò, òî Σ∗ ìíîæåñòâî âñåõ ñëîâ â àëôàâèòå. Íàïðèìåð: Σ = {a, b}, òî Σ∗ = {λ, a, b, aa, ab, ba, bb, aaa, . . . }, ãäå λ ïóñòîå ñëîâî. 12 / 41
  • 13.
    ßçûêè è ôóíêöèè ßçûê ßçûêîìíàä àëôàâèòîì Σ íàçûâàåòñÿ ïîäìíîæåñòâî Σ∗ . Ïðèìåðû ÿçûêîâ ßçûê ïðîñòûõ ÷èñåë, ÿçûê ÷åòíûõ ÷èñåë, ÿçûê äâóäîëüíûõ ãðàôîâ, ÿçûê âûïîëíèìûõ ôîðìóë â ÊÍÔ è ò.ä. Ñîãëàøåíèå Ñ÷èòàåì, ÷òî ëþáîé àëãîðèòì ëèáî ïðîâåðÿåò ïðèíàäëåæíîñòü âõîäíîãî ñëîâà íåêîòîðîìó ÿçûêó, ëèáî âû÷èñëÿåò çíà÷åíèå ôóíêöèè Σ∗ → Σ∗ . 13 / 41
  • 14.
    Ìàøèíà Òüþðèíãà • Áåñêîíå÷íàÿâ îäíó ñòîðîíó ëåíòà, ðàçäåëåííàÿ íà ÿ÷åéêè.  ñàìîé ëåâîé ÿ÷åéêå íàïèñàí ñèìâîë . • Q êîíå÷íîå ìíîæåñòâî ñîñòîÿíèé. q0 ∈ Q íà÷àëüíîå ñîñòîÿíèå. qf ∈ Q êîíå÷íîå ñîñòîÿíèå. • Σ àëôàâèò ñèìâîëîâ, êîòîðûå ìîãóò áûòü çàïèñàíû íà ëåíòå. , ”_” ∈ Σ. • Ãîëîâêà ìàøèíû óêàçûâàåò íà îäíó èç ÿ÷ååê ëåíòû • Ïðàâèëî ïåðåõîäà: δ : Σ × Q → Σ × Q × {→, ←, •} • Ñîãëàñíî ïðàâèëó ïåðåõîäà ìàøèíà ïî ñèìâîëó, íà êîòîðûé óêàçûâàåò ãîëîâêà, è ïî òåêóùåìó ñîñòîÿíèþ, ïèøåò íà ýòî ìåñòî íîâûé ñèìâîë, ïåðåõîäèò â íîâîå ñîñòîÿíèå è, âîçìîæíî, ñäâèãàåò ãîëîâêó íà 1 ñèìâîë âëåâî èëè âïðàâî. • Íà÷èíàåò ðàáîòó â ñîñòîÿíèè q0 , ãîëîâêà óêàçûâàåò íà ïåðâûé ñèìâîë. Çàêàí÷èâàåò â ñîñòîÿíèè qf . 14 / 41
  • 15.
    Ïðèìåð Ïðèáàâëåíèå åäèíè÷êè â2-îé ñèñòåìå ñ÷èñëåíèÿ Äëÿ ïðîñòîòû ñ÷èòàåì, ÷òî ÷èñëî çàïèñàíî çàäîì íàïåðåä. • (q0 , 0) → (qf , 1, •); • (q0 , 1) → (q0 , 0, →); • (q0 , _) → (qf , 1, •). 15 / 41
  • 16.
    Ïðèìåð Ïðèáàâëåíèå åäèíè÷êè â2-îé ñèñòåìå ñ÷èñëåíèÿ Òåïåðü ÷èñëî çàïèñàíî íîðìàëüíî • (q0 , 0) → (q0 , 0, →); • (q0 , 1) → (q0 , 1, →); • (q0 , _) → (q1 , _, ←); • (q1 , 0) → (qf , 1, •); • (q1 , 1) → (q1 , 0, ←); • (q1 , ) → (q2 , , →); • (q2 , 0) → (q3 , 1, →); • (q3 , 0) → (q3 , 0, →); • (q3 , _) → (qf , 0, •). 16 / 41
  • 17.
    Ìàøèíà Òüþðèíãà Âõîä ìàøèíûÒüþðèíãà òî, ÷òî çàïèñàíî íà ëåíòå. Çà âõîäîì ñëåäóåò áåñêîíå÷íîå ÷èñëî ïðîáåëîâ. Âûõîä ìàøèíû Òüþðèíãà òî, ÷òî çàïèñàíî íà ëåíòå ïîñëå òîãî, êàê ìàøèíà ïðèøëà â êîíå÷íîå ñîñòîÿíèå. Åñëè ìàøèíà Òüþðèíãà ïðîâåðÿåò ïðèíàäëåæíîñòü ÿçûêó, òî óäîáíî èìåòü äâà êîíå÷íûõ ñîñòîÿíèÿ: qyes è qno . Ìàøèíà Òüþðèíãà ìîæåò: • çàêîí÷èòü ðàáîòó; • ðàáîòàòü áåñêîíå÷íî. 17 / 41
  • 18.
    Ñëîæíîñòíûå ïàðàìåòðû Âðåìÿ •Âðåìåíåì ðàáîòû ìàøèíû Òüþðèíãà íà âõîäå x íàçûâàåì êîëè÷åñòâî øàãîâ, êîòîðîå ìàøèíà äåëàåò, ÷òîáû ïðèéòè â êîíå÷íîå ñîñòîÿíèå. • Âðåìåííîé ñëîæíîñòüþ ìàøèíû Òüþðèíãà íàçûâàåì ìàêñèìóì ïî âñåì âõîäàì äëèíû n âðåìåíè ðàáîòû ìàøèíû íà ýòèõ âõîäàõ. Ïàìÿòü • Ñëîæíîñòüþ ïî ïàìÿòè ðàáîòû ìàøèíû Òüþðèíãà íà âõîäå x íàçûâàåì êîëè÷åñòâî ÿ÷ååê, â êîòîðûõ ïîáûâàëà ãîëîâêà ìàøèíû. • Åìêîñòíîé ñëîæíîñòüþ ìàøèíû Òüþðèíãà íàçûâàåì ìàêñèìóì ïî âñåì âõîäàì äëèíû n ñëîæíîñòè ïî ïàìÿòè ðàáîòû ìàøèíû íà ýòèõ âõîäàõ. 18 / 41
  • 19.
    Ìíîãîëåíòî÷íàÿ ìàøèíà Òüþðèíãà Åñòük ëåíò, ãîëîâêà åñòü íà êàæäîé ëåíòå. Ïðàâèëî ïåðåõîäà: δ : Σk × Q → Σk × Q × {→, ←, •}k Ôàêò Ïî ëþáîé ìíîãîëåíòî÷íîé ìàøèíå Òüþðèíãà ìîæíî ïîñòðîèòü îäíîëåíòî÷íóþ ìàøèíó Òüþðèíãà, âû÷èñëÿþùóþ òó æå ôóíêöèþ. Ïðè÷åì ñëîæíîñòíûå õàðàêòåðèñòèêè ýòîé ìàøèíû áóäóò ëèøü â ïîëèíîì ðàç õóæå. Çàìå÷àíèå Èíîãäà óäîáíî ñ÷èòàòü, ÷òî ìàøèíà ñíàáæåíà ñïåöèàëüíîé âõîäíîé ëåíòîé, äîñòóïíîé òîëüêî äëÿ ÷òåíèÿ è âûõîäíîé ëåíòîé, äîñòóïíîé äëÿ çàïèñè, íî áåç èñïðàâëåíèé. 19 / 41
  • 20.
    Íåäåòåðìèíèðîâàííàÿ ìàøèíà Òüþðèíãà •Ïðàâèëà ïåðåõîäà íåîäíîçíà÷íû. Âîçìîæíî, ÷òî ñóùåñòâóåò íåñêîëüêî ïðàâèë äëÿ îäíîé ïàðû (ñèìâîë, ñîñòîÿíèå); • ÍÌÒ ïðèíèìàåò ñëîâî x , åñëè ñóùåñòâóåò ïîñëåäîâàòåëüíîñòü ëåãàëüíûõ øàãîâ, ïðèâîäÿùèõ â ñîñòîÿíèå qyes ; • Îïðåäåëåíèå íå ñèììåòðè÷íî îòíîñèòåëüíî îòâåòîâ yes è no ; • Ìîæíî ñ÷èòàòü, ÷òî ìàøèíà ñíàáæåíà äîïîëíèòåëüíîé ëåíòîé, äîñòóïíîé òîëüêî äëÿ ÷òåíèÿ ñëåâà íàïðàâî. Íà ýòîé ëåíòå çàïèñàíà ïîäñêàçêà (êàêîå èç ïðàâèë ñåé÷àñ ïðèìåíÿòü). Ìàøèíà ïðèíèìàåò x , åñëè ñóùåñòâóåò ïîäñêàçêà, ñ êîòîðîé îíà ïîïàäåò â ñîñòîÿíèå qyes ; • Ìîæíî äîêàçàòü, ÷òî åñëè íåêîòîðàÿ ÍÌÒ ïðîâåðÿåò ïðèíàäëåæíîñòü ÿçûêó L, òî ñóùåñòâóåò è äåòåðìèíèðîâàííàÿ ÌÒ, ïðîâåðÿþùàÿ ïðèíàäëåæíîñòü ÿçûêó L. 20 / 41
  • 21.
    Ñëîæíîñòíûå ïàðàìåòðû ÍÌÒ Âðåìÿè ïàìÿòü ÍÌÒ ñ÷èòàþòñÿ, êàê ìàêñèìóì ïî âñåì âàðèàíòàì ïðèìåíåíèÿ ïðàâèëà äî ïðèõîäà â êîíå÷íîå ñîñòîÿíèå. Åñëè ìàøèíà íå îñòàíàâëèâàåòñÿ ïðè êàêîì-òî âûáîðå ïðàâèë, òî âðåìÿ ðàáîòû ñ÷èòàåòñÿ áåñêîíå÷íûì. 21 / 41
  • 22.
    Òåçèñ ×åð÷à-Òüþðèíãà Ëþáîé àëãîðèòììîæíî ðåàëèçîâàòü â âèäå ìàøèíû Òüþðèíãà. 22 / 41
  • 23.
    Ýëåìåíòû òåîðèè âû÷èñëèìîñòè •Ìàøèíó Òüþðèíãà ìîæíî çàïèñàòü: àëôàâèò, ñîñòîÿíèÿ, ïðàâèëà... Êàæäîé ÌÒ ñîîòâåòñòâóåò ñòðî÷êà â íåêîòîðîì àëôàâèòå. • Ìàøèí Òüþðèíãà ñ÷åòíîå ÷èñëî. • Óíèâåðñàëüíàÿ ìàøèíà Òüþðèíãà. Ñóùåñòâóåò òàêàÿ ìàøèíà Òüþðèíãà U , êîòîðàÿ ïî çàïèñè ìàøèíû Òüþðèíãà M è âõîäó x ìîäåëèðóåò ïîâåäåíèå ìàøèíû M íà âõîäå x . Ïðè ýòîì ñëîæíîñòíûå ïàðàìåòðû ìàøèíû U íå áîëåå, ÷åì â ïîëèíîì îò çàïèñè M è |x| õóæå. 23 / 41
  • 24.
    Ðàçðåøèìûå è ïåðå÷èñëèìûåÿçûêè Σ àëôàâèò, L ⊂ Σ∗ ÿçûê. ßçûê L íàçûâàåòñÿ àëãîðèòìè÷åñêè ðàçðåøèìûì, åñëè ñóùåñòâóåò òàêàÿ ìàøèíà Òüþðèíãà M , ÷òî x ∈ L ⇐⇒ M(x) îñòàíàâëèâàåòñÿ â ñîñòîÿíèè qyes x ∈ L ⇐⇒ M(x) îñòàíàâëèâàåòñÿ â ñîñòîÿíèè qno ßçûê L íàçûâàåòñÿ ïåðå÷èñëèìûì, åñëè ñóùåñòâóåò òàêàÿ ìàøèíà Òüþðèíãà M , ÷òî x ∈ L ⇐⇒ M(x) îñòàíàâëèâàåòñÿ â ñîñòîÿíèè qyes x ∈ L ⇐⇒ M(x) íå îñòàíàâëèâàåòñÿ 24 / 41
  • 25.
    Ïðîñòåéøèå ñâîéñòâà Ëåììà 1 Ëþáîéðàçðåøèìûé ÿçûê ÿâëÿåòñÿ ïåðå÷èñëèìûì. Äîñòàòî÷íî ñîñòîÿíèå qno çàìåíèòü íà q∞ è äîáàâèòü ïðàâèëà (q∞ , ∗) → (q∞ , ∗, →) Ëåììà 2 ßçûê L ïåðå÷èñëèì ⇐⇒ ñóùåñòâóåò ÌÒ M , êîòîðàÿ, ðàáîòàÿ íà ïóñòîì âõîäå, ðàíî èëè ïîçäíî íàïå÷àòàåò ëþáîé ýëåìåíò ÿçûêà L áåç ïîâòîðåíèé. (Ìàøèíà M ìîæåò ðàáîòàòü áåñêîíå÷íî äîëãî). ⇐ Ìàøèíà M áóäåò æäàòü, ïîêà M íàïå÷àòàåò ñëîâî x . ⇒ M ìîäåëèðóåò M : 1 øàã íà ïåðâîì âõîäå, 2 øàãà íà ïåðâîì, 2 øàãà íà âòîðîì, 3 øàãà íà ïåðâîì, âòîðîì, òðåòüåì, 4 øàãà... 25 / 41
  • 26.
    Âîïðîñû Ñóùåñòâóþò ëè íåïåðå÷èñëèìûåÿçûêè? Ñóùåñòâóþò, òàê êàê ìàøèí Òüþðèíãà ñ÷åòíî, à ÿçûêîâ êîíòèíóóì. Íåêîíñòðóêòèâíîå äîêàçàòåëüñòâî Ñóùåñòâóþò ëè àëãîðèòìè÷åñêè íåðàçðåøèìûå, íî ïåðå÷èñëèìûå ÿçûêè? Äà. 26 / 41
  • 27.
    Ïðèìåð íåïåðå÷èñëèìîãî ÿçûêà •Âñå çàïèñè ìàøèí Òüþðèíãà ìîæíî ïåðåíóìåðîâàòü ñ ïîìîùüþ àëãîðèòìà. • Çàïèñü n îáîçíà÷àåò ÌÒ ñ íîìåðîì n. • Ðàññìîòðèì ÿçûê L = {n| n íå îñòàíàâëèâàåòñÿ íà âõîäå n} • Ïóñòü L ïåðå÷èñëèì àëãîðèòìîì ñ íîìåðîì k . • Åñëè k ∈ L, òî k íå îñòàíàâëèâàåòñÿ íà k =⇒ k íå ïåðå÷èñëÿåò L. • Åñëè k ∈ L, òî k îñòàíàâëèâàåòñÿ íà k =⇒ k íå ïåðå÷èñëÿåò L. • Ïðîòèâîðå÷èå. Çíà÷èò L íå ïåðå÷èñëÿåòñÿ íèêàêèì àëãîðèòìîì. • L àëãîðèòìè÷åñêè íåðàçðåøèì. 27 / 41
  • 28.
    Ïðèìåð ïåðå÷èñëèìîãî, íîíå ðàçðåøèìîãî ÿçûêà • L = {n| n îñòàíàâëèâàåòñÿ íà âõîäå n}; • L íåðàçðåøèì, òàê êàê èíà÷å è ÿçûê L áûë áû ðàçðåøèìûì; • L ïåðå÷èñëèì: ìîäåëèðóåì ìàøèíó n íà âõîäå n è æäåì, ïîêà îíà îñòàíîâèòñÿ. 28 / 41
  • 29.
    Êîììåíòàðèé •Çàäà÷à îñòàíîâêè ÌÒ: ïî ÌÒ è åå âõîäó îïðåäåëèòü, îñòàíîâèòñÿ îíà èëè íåò. Ýòà çàäà÷à àëãîðèòìè÷åñêè íåðàçðåøèìà; • Ìåòîä äîêàçàòåëüñòâà: äèàãîíàëèçàöèÿ; • Âñå ðåçóëüòàòû îá àëãîðèòìè÷åñêîé íåðàçðåøèìîñòè èñïîëüçóþò íåðàçðåøèìîñòü çàäà÷è îñòàíîâêè ÌÒ. Âåëèêàÿ òåîðåìà Ôåðìà Åñëè áû çàäà÷à îñòàíîâêè áûëà áû ðàçðåøèìà, òî ìîæíî áûëî áû äîêàçàòü Âåëèêóþ òåîðåìó Ôåðìà òàê: 1 Ìàøèíà M íà ïóñòîì âõîäå ïåðåáèðàåò âñå x, y , z, n ∈ N, n 2 è îñòàíàâëèâàåòñÿ, åñëè x n + y n = z n . 2 Óçíàåì, îñòàíàâëèâàåòñÿ ëè ìàøèíà M íà ïóñòîì âõîäå. 29 / 41
  • 30.
    Ýëåìåíòû òåîðèè ñëîæíîñòèâû÷èñëåíèé Êëàññ P ßçûê L ïðèíàäëåæèò êëàññó P, åñëè äëÿ íåãî ñóùåñòâóåò àëãîðèòì, âðåìÿ ðàáîòû êîòîðîãî ïîëèíîìèàëüíî îò äëèíû âõîäíûõ äàííûõ, êîòîðûé ðàñïîçíàåò ýòîò ÿçûê. P êëàññ ôóíêöèé, âû÷èñëèìûõ çà ïîëèíîìèàëüíîå âðåìÿ Ïðèíÿòî ñ÷èòàòü, ÷òî çàäà÷è, äëÿ êîòîðûõ ñóùåñòâóåò ïîëèíîìèàëüíûé àëãîðèòì, ðåàëüíî ðåøàòü íà ïðàêòèêå. Õîòÿ ýòî íå âñåãäà òàê... 30 / 41
  • 31.
    LogSpace ⊆ P •LogSpace ýòî êëàññ ÿçûêîâ, êîòîðûå ðàñïîçíàþòñÿ ìàøèíàìè, êîòîðûå èñïîëüçóþò O(log n) ïàìÿòè. (Âõîä è âûõîä íå ñ÷èòàþòñÿ, ìîæíî ñ÷èòàòü, ÷òî äëÿ íèõ åñòü îòäåëüíàÿ ëåíòà). • Äîêàæåì, ÷òî LogSpace ⊆ P. • Êîíôèãóðàöèÿ ÌÒ: ñîäåðæèìîå ëåíò, òåêóùåå ñîñòîÿíèå, ïîëîæåíèå ãîëîâêè. • Ó LogSpace-ìàøèíû ñîñòîÿíèé |Q| = O(1); • ïîëîæåíèé ãîëîâêè O(n2 ); • ñîäåðæèìîãî ëåíò: |Σ|c log n = O(nc ); • Èòîãî: O(nc+2 ) êîíôèãóðàöèè. • Åñëè äâå êîíôèãóðàöèè ïîâòîðèëèñü, òî ìàøèíà íå çàêîí÷èò ðàáîòó. • Âûâîä: âðåìÿ ðàáîòû òàêîé ìàøèíû ïîëèíîìèàëüíî. 31 / 41
  • 32.
    Êëàññû NP è NP • R áèíàðíîå îòíîøåíèå, ò.å. R ⊆ Σ∗ × Σ∗ ; • R íàçûâàåòñÿ ïîëèíîìèàëüíî îãðàíè÷åííûì, åñëè ∃k ∀x, y , (x, y ) ∈ R =⇒ |y | |x|k ; • R íàçûâàåòñÿ ïîëèíîìèàëüíî ïðîâåðÿåìûì, åñëè ñóùåñòâóåò ïîëèíîìèàëüíûé àëãîðèòì, êîòîðûé ïî (x, y ) ïðîâåðÿåò, âåðíî ëè, ÷òî (x, y ) ∈ R . • Çàäà÷à ïîèñêà, àññîöèèðîâàííàÿ ñ R : ïî x íàéòè y òàê, ÷òîáû (x, y ) ∈ R . • ßçûê, àññîöèèðîâàííûé ñ R : L = {x|∃y : (x, y ) ∈ R}. • NP êëàññ çàäà÷ ïîèñêà, àññîöèèðîâàííûõ c ïîëèíîìèàëüíî ïðîâåðÿåìûìè è ïîëèíîìèàëüíî îãðàíè÷åííûìè îòíîøåíèÿìè. • NP êëàññ ÿçûêîâ. 32 / 41
  • 33.
    Ïðèìåðû ïîëèíîìèàëüíî îãðàíè÷åííûõ è ïðîâåðÿìûõ îòíîøåíèé 1 RSAT : ïàðû (ôîðìóëà â ÊÍÔ, åå âûïîëíÿþùèé íàáîð). ((x ∨ y ) ∧ (¬x ∨ ¬y ), [x → 1, y → 0]) ∈ RSAT 2 RHAM : ïàðû (ãðàô, åãî Ãàìèëüòîíîâ ïóòü); 3 RCLIQUE : ïàðû (ãðàô + ÷èñëî k , åãî êëèêà ðàçìåðà k ); 4 R3−COLORIG : ïàðû (ãðàô, ðàñêðàñêà åãî âåðøèí â 3 öâåòà ïðàâèëüíûì îáðàçîì); 33 / 41
  • 34.
    P vs NP Ïðåäëîæåíèå: P ⊆ NP Åñëè L ∈ P, ìîæíî ðàññìîòðåòü R = {(x, λ), x ∈ L}, ãäå λ ïóñòîå ñëîâî. Çàìå÷àíèå: ÿçûê L ∈ NP ìîæåò áûòü ðàñïîçíàí ïîëèíîìèàëüíîé ÍÌÒ Âòîðóþ ÷àñòü îòíîøåíèÿ R ìîæíî èñïîëüçîâàòü, êàê ïîäñêàçêó ê ÍÌÒ. Ïîëèíîìèàëüíîñòü ñëåäóåò èç ïîëèíîìèàëüíîé ïðîâåðÿåìîñòè R . Îòêðûòûé âîïðîñ: ÿâëÿåòñÿ ëè âêëþ÷åíèå P ⊆ NP ñòðîãèì 34 / 41
  • 35.
    Ñâåäåíèÿ Ñâåäåíèå ïî Ëåâèíó Çàäà÷àïîèñêà R1 ñâîäèòñÿ ê çàäà÷å ïîèñêà R2 , åñëè ñóùåñòâóþò òàêèå ïîëèíîìèàëüíûå àëãîðèòìû f è g , ÷òî • ∃yR1 (x, y ) ⇐⇒ ∃zR2 (f (x), z); • R1 (x, g (x, y )) ⇐⇒ R2 (f (x), y ). Ñâåäåíèå ïî Êóêó Çàäà÷à ïîèñêà R1 ñâîäèòñÿ ê çàäà÷å ïîèñêà R2 , åñëè çàäà÷ó ïîèñêà R1 ìîæíî ðåøèòü çà ïîëèíîìèàëüíîå âðåìÿ, ïðè óñëîâèè, ÷òî çàäà÷ó R2 ìû óìååì ðåøàòü çà 1 øàã. Ëåììà Åñëè R1 ñâîäèòñÿ ê R2 , òî åñëè R2 ìîæíî ðåøèòü çà ïîëèíîìèàëüíîå âðåìÿ, òî è R1 ìîæíî ðåøèòü çà ïîëèíîìèàëüíîå âðåìÿ. 35 / 41
  • 36.
    NP-òðóäíûå çàäà÷è Îïðåäåëåíèå Çàäà÷à ïîèñêà R íàçûâàåòñÿ NP-òðóäíîé, åñëè âñå çàäà÷è ïîèñêà èç NP ñâîäÿòñÿ ê íåé. Çàäà÷à ïîèñêà R íàçûâàåòñÿ NP-ïîëíîé, åñëè îíà NP-òðóäíà è ïðèíàäëåæèò NP. 36 / 41
  • 37.
    Çàäà÷à îá îãðàíè÷åííîéîñòàíîâêå Îïðåäåëèì îòíîøåíèå RBH : ( M, x, 11 . . . 1 , y ) ∈ RBH ⇐⇒ ÌÒ M íà âõîäå (x, y ) t øòóê îñòàíàâëèâàåòñÿ çà íå áîëåå, ÷åì t øàãîâ â ïðèíèìàþùåì ñîñòîÿíèè (qyes ). Òåîðåìà: RBH åñòü NP-ïîëíàÿ • RBH ∈ NP, òàê êàê ìîæíî ïðîâåðèòü çà ïîëèíîìèàëüíîå âðåìÿ ìîäåëèðîâàíèåì; • RBH ïîëèíîìèàëüíî îãðàíè÷åííî: |y | t ; • Ïóñòü R ∈ NP, ïóñòü A ïðîâåðÿþùàÿ Ìàøèíà Òüþðèíãà, îãðàíè÷åííàÿ ïîëèíîìîì nk . • Ñâåäåíèå: x → A, x, 11 . . . 1 nk øòóê 37 / 41
  • 38.
    Òåîðåìà Êóêà-Ëåâèíà RSAT åñòü NP-ïîëíàÿ Èäåÿ äîêàçàòåëüñòâà: ñ ïîìîùüþ ÊÍÔ ôîðìóë êîäèðóåòñÿ ìàøèíà Òüþðèíãà, øàãè ìàøèíû Òüþðèíãà. È çàäà÷à îá îãðàíè÷åííîé îñòàíîâêå RBH ñâîäèòñÿ ê RSAT . 38 / 41
  • 39.
    Ñâåäåíèå äëÿ ÿçûêîâ Ñâåäåíèåïî Êàðïó ßçûê L1 ñâîäèòñÿ ê ÿçûêó L2 , åñëè ñóùåñòâóåò ïîëèíîìèàëüíî âû÷èñëèìàÿ ôóíêöèÿ f , ÷òî x ∈ L1 ⇐⇒ f (x) ∈ L2 . Îïðåäåëåíèå ßçûê L íàçûâàåòñÿ NP òðóäíûì, åñëè ëþáîé ÿçûê èç NP ñâîäèòñÿ ê íåìó. È NP -ïîëíûì, åñëè îí ê òîìó æå ïðåíàäëåæèò NP. Çàìå÷àíèå Ñâåäåíèå ïî Ëåâèíó äëÿ çàäà÷ ïîèñêà âëå÷åò ñâåäåíèå ïî Êàðïó äëÿ ÿçûêîâ. Çíà÷èò, ÿçûê âûïîëíèìûõ ôîðìóë SAT ÿâëÿåòñÿ NP -ïîëíûì. 39 / 41
  • 40.
    Îò çàäà÷ ïîèñêàê ÿçûêàì RSAT ñâîäèòñÿ ïî Êóêó ê SAT Åñëè ôîðìóëà ϕ âûïîëíèìà, òî âûïîëíèìà ëèáî ϕ[x → 1], ëèáî ϕ[x → 0]. Âûáèðàåì ïðàâèëüíîå çíà÷åíèå ïåðåìåííîé x è ïîäñòàâëÿåì åãî. Çàìå÷àíèå: íå âñåãäà çàäà÷à ïîèñêà ñâîäèòñÿ ê ÿçûêó Ïðèìåð: ïðîâåðèòü ÷èñëî íà ïðîñòîòó ìîæíî çà ïîëèíîìèàëüíîå âðåìÿ, à ðàñêëàäûâàòü íà ìíîæèòåëè áûñòðî íèêòî íå óìååò. 40 / 41
  • 41.
    Óïðàæíåíèÿ è çàäà÷è 1 Äîêàæèòå, ÷òî íåò àëãîðèòìà, êîòîðûé îïðåäåëÿë áû, çàêîí÷èò ëè ÌÒ ðàáîòó íà ïóñòîì âõîäå. 2 Ñóùåñòâóåò ëè àëãîðèòì, ïðîâåðÿþùèé, ðàáîòàåò ëè äàííàÿ ÌÒ ïîëèíîìèàëüíîå âðåìÿ èëè íåò? 3 Äîêàæèòå, ÷òî íå ñóùåñòâóåò àëãîðèòìà, êîòîðûé îïðåäåëèë áû ïî ÌÒ M îïðåäåëèë áû, ÿâëÿåòñÿ ëè ïîñëåäîâàòåëüíîñòü M(1), M(2), M(3) . . . ïåðèîäè÷åñêîé ñ íåêîòîðîãî ìåñòà. 4 Äîêàæèòå NP-ïîëíîòó ìîäèôèöèðîâàííîé çàäà÷è îá îãðàíè÷åííîé îñòàíîâêå: ( M, x , y ) ∈ RBH , åñëè ÌÒ M îñòàíàâëèâàåòñÿ â ïðèíèìàþùåì ñîñòîÿíèè çà íå áîëåå, ÷åì |x|2 øàãîâ. 41 / 41