SlideShare ist ein Scribd-Unternehmen logo
1 von 41
Downloaden Sie, um offline zu lesen
ËÈÊÁÅÇ

Ëåêöèÿ 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

Weitere ähnliche Inhalte

Was ist angesagt?

20071014 introductory course_itsykson_lecture04
20071014 introductory course_itsykson_lecture0420071014 introductory course_itsykson_lecture04
20071014 introductory course_itsykson_lecture04Computer Science Club
 
Олон хувьсагчтай функцийн үндэс
Олон хувьсагчтай функцийн үндэсОлон хувьсагчтай функцийн үндэс
Олон хувьсагчтай функцийн үндэсBattur
 
Олон хувьсагчтай функцийн экстремум
Олон хувьсагчтай функцийн экстремумОлон хувьсагчтай функцийн экстремум
Олон хувьсагчтай функцийн экстремумBattur
 
9 геом мерзляк_полонский_2009_рус
9 геом мерзляк_полонский_2009_рус9 геом мерзляк_полонский_2009_рус
9 геом мерзляк_полонский_2009_русAira_Roo
 
9 алг мерзляк_полонский_2009_рус
9 алг мерзляк_полонский_2009_рус9 алг мерзляк_полонский_2009_рус
9 алг мерзляк_полонский_2009_русAira_Roo
 
решебник и гдз по математике за 1 класс петерсон, 2011 год
решебник и гдз по математике за 1 класс   петерсон, 2011 годрешебник и гдз по математике за 1 класс   петерсон, 2011 год
решебник и гдз по математике за 1 класс петерсон, 2011 годИван Иванов
 
Михаил Ройзнер - Рекомендательные системы и факторизационые модели
Михаил Ройзнер - Рекомендательные системы и факторизационые моделиМихаил Ройзнер - Рекомендательные системы и факторизационые модели
Михаил Ройзнер - Рекомендательные системы и факторизационые моделиYandex
 
Д. М. Ицыксон. Вводный курс. Лекция 2
Д. М. Ицыксон. Вводный курс. Лекция 2Д. М. Ицыксон. Вводный курс. Лекция 2
Д. М. Ицыксон. Вводный курс. Лекция 2Computer Science Club
 
решебник и гдз по математике за 1 класс моро, 2011 год
решебник и гдз по математике за 1 класс   моро, 2011 годрешебник и гдз по математике за 1 класс   моро, 2011 год
решебник и гдз по математике за 1 класс моро, 2011 годИван Иванов
 
20090215 hardnessvsrandomness itsykson_lecture01
20090215 hardnessvsrandomness itsykson_lecture0120090215 hardnessvsrandomness itsykson_lecture01
20090215 hardnessvsrandomness itsykson_lecture01Computer Science Club
 
Дмитрий Васильев - Задачи ассиметричной криптографии
Дмитрий Васильев - Задачи ассиметричной криптографииДмитрий Васильев - Задачи ассиметричной криптографии
Дмитрий Васильев - Задачи ассиметричной криптографииYandex
 
лекции по электродинамике. часть 2. специальная теория относительности и элек...
лекции по электродинамике. часть 2. специальная теория относительности и элек...лекции по электродинамике. часть 2. специальная теория относительности и элек...
лекции по электродинамике. часть 2. специальная теория относительности и элек...Иван Иванов
 
Нэг хувьсагчийн функц
Нэг хувьсагчийн функцНэг хувьсагчийн функц
Нэг хувьсагчийн функцBattur
 

Was ist angesagt? (18)

20071014 introductory course_itsykson_lecture04
20071014 introductory course_itsykson_lecture0420071014 introductory course_itsykson_lecture04
20071014 introductory course_itsykson_lecture04
 
Олон хувьсагчтай функцийн үндэс
Олон хувьсагчтай функцийн үндэсОлон хувьсагчтай функцийн үндэс
Олон хувьсагчтай функцийн үндэс
 
Олон хувьсагчтай функцийн экстремум
Олон хувьсагчтай функцийн экстремумОлон хувьсагчтай функцийн экстремум
Олон хувьсагчтай функцийн экстремум
 
9 геом мерзляк_полонский_2009_рус
9 геом мерзляк_полонский_2009_рус9 геом мерзляк_полонский_2009_рус
9 геом мерзляк_полонский_2009_рус
 
9 алг мерзляк_полонский_2009_рус
9 алг мерзляк_полонский_2009_рус9 алг мерзляк_полонский_2009_рус
9 алг мерзляк_полонский_2009_рус
 
решебник и гдз по математике за 1 класс петерсон, 2011 год
решебник и гдз по математике за 1 класс   петерсон, 2011 годрешебник и гдз по математике за 1 класс   петерсон, 2011 год
решебник и гдз по математике за 1 класс петерсон, 2011 год
 
Михаил Ройзнер - Рекомендательные системы и факторизационые модели
Михаил Ройзнер - Рекомендательные системы и факторизационые моделиМихаил Ройзнер - Рекомендательные системы и факторизационые модели
Михаил Ройзнер - Рекомендательные системы и факторизационые модели
 
presentation
presentationpresentation
presentation
 
Д. М. Ицыксон. Вводный курс. Лекция 2
Д. М. Ицыксон. Вводный курс. Лекция 2Д. М. Ицыксон. Вводный курс. Лекция 2
Д. М. Ицыксон. Вводный курс. Лекция 2
 
geom_9_merzlyak
geom_9_merzlyakgeom_9_merzlyak
geom_9_merzlyak
 
решебник и гдз по математике за 1 класс моро, 2011 год
решебник и гдз по математике за 1 класс   моро, 2011 годрешебник и гдз по математике за 1 класс   моро, 2011 год
решебник и гдз по математике за 1 класс моро, 2011 год
 
20090215 hardnessvsrandomness itsykson_lecture01
20090215 hardnessvsrandomness itsykson_lecture0120090215 hardnessvsrandomness itsykson_lecture01
20090215 hardnessvsrandomness itsykson_lecture01
 
Дмитрий Васильев - Задачи ассиметричной криптографии
Дмитрий Васильев - Задачи ассиметричной криптографииДмитрий Васильев - Задачи ассиметричной криптографии
Дмитрий Васильев - Задачи ассиметричной криптографии
 
Ορόσημο Φροντιστήριο (Αθήνα). Βοήθημα μαθηματικών Α' λυκείου 2015 |
Ορόσημο Φροντιστήριο (Αθήνα). Βοήθημα μαθηματικών Α' λυκείου 2015 |Ορόσημο Φροντιστήριο (Αθήνα). Βοήθημα μαθηματικών Α' λυκείου 2015 |
Ορόσημο Φροντιστήριο (Αθήνα). Βοήθημα μαθηματικών Α' λυκείου 2015 |
 
лекции по электродинамике. часть 2. специальная теория относительности и элек...
лекции по электродинамике. часть 2. специальная теория относительности и элек...лекции по электродинамике. часть 2. специальная теория относительности и элек...
лекции по электродинамике. часть 2. специальная теория относительности и элек...
 
2013 03 17_computer_science_seminar
2013 03 17_computer_science_seminar2013 03 17_computer_science_seminar
2013 03 17_computer_science_seminar
 
Нэг хувьсагчийн функц
Нэг хувьсагчийн функцНэг хувьсагчийн функц
Нэг хувьсагчийн функц
 
20091004 mfcs itsykson_lecture04
20091004 mfcs itsykson_lecture0420091004 mfcs itsykson_lecture04
20091004 mfcs itsykson_lecture04
 

Andere mochten auch

Andere mochten auch (8)

Pulseras
PulserasPulseras
Pulseras
 
Pulseras
PulserasPulseras
Pulseras
 
Bachelor's_degree_Altukhov
Bachelor's_degree_AltukhovBachelor's_degree_Altukhov
Bachelor's_degree_Altukhov
 
reference letter_Yutian Lu
reference letter_Yutian Lureference letter_Yutian Lu
reference letter_Yutian Lu
 
Arezzo Frameless Bypass Door Catalog Sheet
Arezzo Frameless Bypass Door Catalog SheetArezzo Frameless Bypass Door Catalog Sheet
Arezzo Frameless Bypass Door Catalog Sheet
 
Test
TestTest
Test
 
B A S E D E D A T O S E S T A M P A D O
B A S E  D E  D A T O S  E S T A M P A D OB A S E  D E  D A T O S  E S T A M P A D O
B A S E D E D A T O S E S T A M P A D O
 
Attieh Steels Ltd Reference
Attieh Steels Ltd ReferenceAttieh Steels Ltd Reference
Attieh Steels Ltd Reference
 

Mehr von Computer Science Club

20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugsComputer Science Club
 
20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugsComputer Science Club
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugsComputer Science Club
 
20140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture1220140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture12Computer Science Club
 
20140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture1120140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture11Computer Science Club
 
20140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture1020140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture10Computer Science Club
 
20140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture0920140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture09Computer Science Club
 
20140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture0220140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture02Computer Science Club
 
20140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture0120140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture01Computer Science Club
 
20140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-0420140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-04Computer Science Club
 
20140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture0120140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture01Computer Science Club
 

Mehr von Computer Science Club (20)

20141223 kuznetsov distributed
20141223 kuznetsov distributed20141223 kuznetsov distributed
20141223 kuznetsov distributed
 
Computer Vision
Computer VisionComputer Vision
Computer Vision
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs
 
20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs
 
20140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture1220140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture12
 
20140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture1120140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture11
 
20140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture1020140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture10
 
20140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture0920140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture09
 
20140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture0220140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture02
 
20140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture0120140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture01
 
20140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-0420140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-04
 
20140223-SuffixTrees-lecture01-03
20140223-SuffixTrees-lecture01-0320140223-SuffixTrees-lecture01-03
20140223-SuffixTrees-lecture01-03
 
20140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture0120140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture01
 
20131106 h10 lecture6_matiyasevich
20131106 h10 lecture6_matiyasevich20131106 h10 lecture6_matiyasevich
20131106 h10 lecture6_matiyasevich
 
20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich
 
20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich
 
20131013 h10 lecture4_matiyasevich
20131013 h10 lecture4_matiyasevich20131013 h10 lecture4_matiyasevich
20131013 h10 lecture4_matiyasevich
 
20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich
 
20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich
 

Д. М. Ицыксон. Вводный курс. Лекция 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