Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
ËÈÊÁÅÇ
               Ëåêöèÿ 2:
Åùå íåìíîãî òåîðèè ñëîæíîñòè âû÷èñëåíèé.
          Êîíå÷íûå àâòîìàòû.


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


                ÏÎÌÈ ÐÀÍ

             30 ñåíòÿáðÿ 2007




                                           1 / 34
Ïëàí




1 Åùå íåìíîãî òåîðèè ñëîæíîñòè âû÷èñëåíèé
    • Ïðèìåðû NP-ïîëíûõ çàäà÷
    • LOGSPACE ⊆ P ⊆ NP ⊆ PSPACE ⊆ EXP
    • Âåðîÿòíîñòíûå àëãîðèòìû. Êëàññû RP è BPP
2 Êîíå÷íûå àâòîìàòû
    •   Íåäåòåðìèíèðîâàííûå êîíå÷íûå àâòîìàòû

    •   Ðåãóëÿðíûå âûðàæåíèÿ, àâòîìàòíûå ãðàììàòèêè

    •   Pumping ëåììà




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




1 À. Êèòàåâ, À. Øåíü, Ì. Âÿëûé. Êëàññè÷åñêèå è êâàíòîâûå
  âû÷èñëåíèÿ.

2 C.H. Papadimitriou. Computational complexity.
3 Á.Ê. Ìàðòûíåíêî. ßçûêè è òðàíñëÿöèè.
4 À. Øåíü. Ïðîãðàììèðîâàíèå: òåîðåìû è çàäà÷è.




                                                           3 / 34
Íàïîìèíàíèå


• P       êëàññ ÿçûêîâ, äëÿ êîòîðûõ ñóùåñòâóåò ïîëèíîì         p(n)
    è àëãîðèòì, ðàáîòàþùèé âðåìÿ           O(p(n)),   ðàñïîçíàþùèé
    ýòîò ÿçûê.

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

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

•   Òåîðåìà Êóêà-Ëåâèíà: SAT            NP-ïîëíûé    ÿçûê.




                                                                       4 / 34
3-SAT



3-SAT: ÿçûê âûïîëíèìûõ ôîðìóë â 3-ÊÍÔ. Íàïðèìåð:
(x ∨ y ∨ ¬z) ∧ (¬x ∨ y ∨ t) ∧ (¬x ∨ ¬y ∨ ¬t).
Òåîðåìà. ßçûê 3-SAT          NP-ïîëíûé
Äîêàçàòåëüñòâî Ñâîäèì SAT ê 3-SAT.

  •   Ïåðåïèñûâàåì äëèííóþ äèçúþíêöèþ               (x1 ∨ x2 ∨ x3 ∨ . . . xm )
      â íåñêîëüêî êîðîòêèõ

  •   Âìåñòî   (x1 ∨ x2 ∨ x3 ∨ · · · ∨ xm )   çàïèøåì

                                =z1
      (x1 ∨ x2 ∨ z1 ) ∧ (z1 = (x3 ∨ · · · ∨ xm ))




                                                                                 5 / 34
Ïðîäîëæåíèå äîêàçàòåëüñòâà




•   Çàïèñûâàåì â 3-ÊÍÔ ðàâåíñòâà:          z = (y1 ∨ y2 ∨ · · · ∨ yk )
•   Åñëè   k = 2,   òî ýòî çàâåäîìî ìîæíî ñäåëàòü çà        O(1).
•   Åñëè   k  2,   òî ïåðåïèøåì    (z = y1 ∨ y2 ∨ · · · ∨ yk )   â âèäå

                                                     =z2
    (z = (y1 ∨ z2 )) ∧ (z2 = (y2 ∨ · · · ∨ zk )).
•   Ïîñëåäíåå ðàâåíñòâî ñîäåðæèò ìåíüøå ïåðåìåííûõ

•   Ýòà ïðîöåäóðà çàéìåò ïîëèíîìèàëüíîå âðåìÿ




                                                                           6 / 34
Íåçàâèñèìîå ìíîæåñòâî

Çàäà÷à î íåçàâèñèìîì ìíîæåñòâå: åñòü ëè â äàííîì ãðàôå   k
âåðøèí, ïîïàðíî íåñîåäèíåííûõ ðåáðîì? Ñâåäåì 3-SAT ê ýòîé
çàäà÷å.




Ó ôîðìóëû åñòü âûïîëíÿþùèé íàáîð, åñëè â ãðàôå åñòü
íåçàâèñèìîå ìíîæåñòâî òàêîãî æå ðàçìåðà, ÷òî è êîëè÷åñòâî
êëîçîâ.

                                                             7 / 34
Íåçàâèñèìîå ìíîæåñòâî è CLIQUE




Òåîðåìà.    Çàäà÷à î íåçàâèñèìîì ìíîæåñòâå   NP-ïîëíà.
Ñëåäñòâèå. Çàäà÷à CLIQUE (ïî ãðàôó òðåáóåòñÿ îïðåäåëèòü,
åñòü ëè â íåì ïîëíûé ïîäãðàô ðàçìåðà   k ) NP-ïîëíà.
Äîêàçàòåëüñòâî.   ×òîáû ñâåñòè çàäà÷ó î íåçàâèñèìîì
ìíîæåñòâå ê çàäà÷å CLIQUE, äîñòàòî÷íî èíâåðòèðîâàòü ðåáðà:
íàðèñîâàòü ðåáðî òàì, ãäå åãî íå áûëî è ñòåðåòü ðåáðî òàì, ãäå
îíî áûëî.




                                                                 8 / 34
PSPACE

Îïðåäåëåíèå.        L ∈ PSPACE, åñëè ñóùåñòâóåò ïîëèíîì p(n)              è
àëãîðèòì, ðàñïîçíàþùèé       L, ñëîæíîñòü êîòîðîãî ïî ïàìÿòè
O(p(n)).
Òåîðåìà.      NP ⊂ PSPACE
Äîêàçàòåëüñòâî.

  •   Ïóñòü   L ∈ NP .    ßçûêó   L   ñîîòâåòñòâóåò îòíîøåíèå    R(x, y ).
  • |y |  |x|k .   Áóäåì ïåðåáèðàòü âñå        y   äëèíû íå áîëåå, ÷åì   |x|k
  •   Ïðèíèìàåì      x,   åñëè òàêîé    y   íàøåëñÿ, îòâåðãàåì èíà÷å.

  •   Åñëè äëÿ ðàçíûõ       y   ïåðåèñïîëüçîâàòü ñòàðóþ ïàìÿòü, òî
      ìîæíî îãðàíè÷èòñÿ ïîëèíîìèàëüíîé ïàìÿòüþ.




                                                                                 9 / 34
EXP

Îïðåäåëåíèå.    L ∈ EXP,   åñëè ñóùåñòâóåò ïîëèíîì       p(n)       è
àëãîðèòì, ðàñïîçíàþùèé     L,   ñëîæíîñòü êîòîðîãî ïî âðåìåíè
O(2p(n) ).
Òåîðåìà.     PSPACE ⊆ EXP
Äîêàçàòåëüñòâî.   (Àíàëîãè÷íî     LOGSPACE ⊆ P)
  •   Êîíôèãóðàöèÿ ÌÒ: ñîäåðæèìîå ëåíòû, ñîñòîÿíèå,
      ïîëîæåíèå ãîëîâêè
                                             k
  •   Êîíôèãóðàöèé íå áîëüøå, ÷åì     |Σ|n       äëÿ íåêîòîðîãî         k
  •   Êîíôèãóðàöèè íå ìîãóò ïîâòîðÿòüñÿ
                                                  k       k+1
  •   Çíà÷èò, âðåìÿ ðàáîòû îãðàíè÷åíî    |Σ|n = O(2n            )




                                                                            10 / 34
×òî ìû óæå çíàåì?




        LOGSPASE ⊆ P ⊆ NP ⊆ PSPACE ⊆ EXP

Èçâåñòíî:

  • P  EXP
  • LOGSPACE    PSPACE




                                             11 / 34
Âåðîÿòíîñòíûå àëãîðèòìû




•   Èñïîëüçóþò ñëó÷àéíûå áèòû (ïîäáðàñûâàþò ìîíåòêó)

•   Ìîãóò èíîãäà âûäàâàòü íåïðàâèëüíûé îòâåò

•   Äëÿ êàæäîãî âõîäà c êàêîé-òî âåðîÿòíîñòüþ äàþò
    ïðàâèëüíûé îòâåò. Âåðîÿòíîñòü ïðè ýòîì áåðåòñÿ òîëüêî
    ïî ñëó÷àéíûì ÷èñëàì .




                                                            12 / 34
Ïðèìåð âåðîÿòíîñòíîãî àëãîðèòìà

Çàäà÷à.   Äàí äâóäîëüíûé ãðàô
G (V1 , V2 , E ⊂ V1 × V2 ), |V1 | = |V2 | = n, |E | = m.   Òðåáóåòñÿ
îïðåäåëèòü, åñòü ëè â ýòîì ãðàôå ñîâåðøåííîå ïàðîñî÷åòàíèå
èëè íåò. Ò.å., ìîæíî ëè åãî âåðøèíû ðàçáèòü íà ïàðû òàê,
÷òîáû â êàæäîé ïàðå âåðøèíû áûëè ñîåäèíåíû ðåáðîì.

  •   Ïîñòðîèì ñèìâîëüíóþ ìàòðèöó ñìåæíîñòè ãðàôà                G.
               xi,j ,   åñëè   (i, j) ∈ E
      Ai,j =
                   0,   åñëè   (i, j) ∈ E
  •   Îïðåäåëèòåëü       det A    ýòî ìíîãî÷ëåí îò    m   ïåðåìåííûõ   xi,j .
                           n
  • det A =        σ(π)         Ai,π[i]
               π          i=1
  • det A   íå íóëåâîé ìíîãî÷ëåí            ⇐⇒   â ãðàôå åñòü
      ñîâåðøåííîå ïàðîñî÷åòàíèå.



                                                                                 13 / 34
Êàê ïðîâåðèòü íåâûðîæäåííîñòü
                                          ñèìâîëüíîé ìàòðèöû?
•   Åñëè áû ìàòðèöà áûëà íåâûðîæäåííîé, òû ìû áû
    ïîñ÷èòàëè îïðåäåëèòåëü ïî ìåòîäó Ãàóññà, ïðèâåäÿ åå ê
    äèàãîíàëüíîé.
•   Ëåììà.     p(x1 , x2 , . . . , xm )    íåíóëåâîé ìíîãî÷ëåí, ñòåïåíü
    êàæäîé ïåðåìåííîé íå ïðåâîñõîäèò                 1. Òîãäà ñðåäè íàáîðîâ
    (a1 , a2 , . . . , am ) ∈ {0, 1, 2, . . . M − 1}m , íå áîëåå, ÷åì
    mM m−1 îáíóëÿåò p .
    Äîêàçàòåëüñòâî. Èíäóêöèÿ ïî m.
      • m = 1. p(x1 ) = ax1 + b           èìååò íå áîëåå îäíîãî êîðíÿ.

      • m → m + 1.
        p(x1 , x2 , . . . , xm+1 ) = q(x1 , x2 , . . . , xm )xm+1 + r (x1 , x2 , . . . , xm ).
        Åñëè q(a1 , a2 , . . . , am ) = 0, òî íàéäåòñÿ íå áîëåå îäíîãî

        am+1 , ÷òî p(a1 , . . . , am+1 ) = 0. Íàáîðîâ (a1 , a2 , . . . , am ),
                                                           m−1
        îáíóëÿþùèõ q íå áîëüøå, ÷åì mM

      • Èòîãî íàáîðîâ (a1 , a2 , . . . , am+1 ), îáíóëÿþùèõ p íå áîëåå,
                 m
        ÷åì M        + mM m−1 · M = (m + 1)M m .
                                                                                                 14 / 34
Àëãîðèòì


 1 Âûáèðàåì      M = 2m;
 2 Âûáèðàåì      a1 , a2 , . . . , am   ñëó÷àéíî èç   {0, 1, 2, . . . M − 1}m ;
 3 Ñ÷èòàåì ïî ìåòîäó Ãàóññà îïðåäåëèòåëü                  A,   åñëè âìåñòî      xk
     ïîñòàâèòü   ak .
 4 Åñëè îïðåäåëèòåëü îòëè÷åí îò íóëÿ, òî âûäàòü
     ïàðîñî÷åòàíèå åñòü

 5 Åñëè îïðåäåëèòåëü ðàâåí íóëþ, òî âûäàòü âîçìîæíî íåò


Àíàëèç

 •   Åñëè ïàðîñî÷åòàíèÿ íåò, òî îòâåò áóäåò âîçìîæíî íåò
                                                                    1
 •   Åñëè ïàðîñî÷åòàíèå åñòü, òî ñ âåðîÿòíîñòüþ                 ≥   2 , îòâåò
     áóäåò: ïàðîñî÷åòàíèå åñòü




                                                                                     15 / 34
RP

Îïðåäåëåíèå. Êëàññ           RP   ñîñòîèò èç ÿçûêîâ     L,   äëÿ êîòîðûõ
ñóùåñòâóåò ïîëèíîìèàëüíûé ïî âðåìåíè âåðîÿòíîñòíûé
àëãîðèòì     A:
  •   åñëè   x ∈ L,   òî   A(x) = 0
                                                1
  •   åñëè   x ∈ L,   òî   Pr{A(x) = 1} ≥       2

Êîììåíòàðèé

  •                   1
      Êîíñòàíòó
                      2 ìîæíî çàìåíèòü íà ëþáóþ ñòðîãî ìåæäó               0   è
      1.
  •   Åñëè ïîâòîðèòü àëãîðèòì             k   ðàç è âûäàòü   1,   åñëè õîòÿ áû
      îäèí èç îòâåòîâ áûë         1,   òî âåðîÿòíîñòü íåâåðíîãî îòâåòà
                                   1
      áóäåò íå áîëüøå, ÷åì            .
                                   2k




                                                                                   16 / 34
P ⊆ RP ⊆ NP
Ëåììà 1.      P ⊆ RP
Äîêàçàòåëüñòâî.    Àëãîðèòì èç      P   äîïóñêàåò îøèáêó ñ
âåðîÿòíîñòüþ     0.
Ëåììà 2.      RP ⊆ NP
Äîêàçàòåëüñòâî.

  •   Ïóñòü   L ∈ RP, A   âåðîÿòíîñòíûé àëãîðèòì äëÿ ÿçûêà             L.
  •   Îïðåäåëèì îòíîøåíèå        R . R = {(x, r )|Ar (x) = 1},   ãäå   Ar
      èñïîëüçóåò ñòðîêó    r   âìåñòî ñëó÷àéíûõ áèòîâ.

  • R    ïîëèíîìèàëüíî îãðàíè÷åííîå è ïðîâåðÿåìîå.


Êîììåíòàðèé

RP-ìàøèíû      ìîæíî ïðåäñòàâëÿòü ñåáå, êàê
íåäåòåðìèíèðîâàííûå, êîòîðûå ïðèíèìàþò âõîä, åñëè õîòÿ áû
ïîëîâèíà ïîäñêàçîê ïðèâîäÿò â ïðèíèìàþùåå ñîñòîÿíèå.



                                                                            17 / 34
BPP

Îïðåäåëåíèå. Êëàññ          BPP   ñîñòîèò èç ÿçûêîâ   L,   äëÿ êîòîðûõ
ñóùåñòâóåò ïîëèíîìèàëüíûé ïî âðåìåíè âåðîÿòíîñòíûé
àëãîðèòì     A,   òàêîé ÷òî
                                            3
  •   åñëè   x ∈ L,   òî   Pr{A(x) = 1} ≥   4
                                            3
  •   åñëè   x ∈ L,   òî   Pr{A(x) = 0} ≥   4

Êîììåíòàðèé

  •                   3                                      1
      Êîíñòàíòó
                      4 ìîæíî çàìåíèòü íà ëþáóþ áîëüøóþ, ÷åì 2 .
  •   Ìîæíî ëè ýêñïîíåíöèàëüíî ïîíèçèòü âåðîÿòíîñòü îøèáêè
      ïîâòîðåíèåì?




                                                                         18 / 34
Ïîíèæåíèå âåðîÿòíîñòè îøèáêè

Òåîðåìà. (Îöåíêè ×åðíîâà)                  Ïîëîæèì    x1 , x2 , . . . , xn
íåçàâèñèìûå ñëó÷àéíûå ïåðåìåííûå, ïðèíèìàþùèå çíà÷åíèÿ                                           1
                                                                              n
è   0   c âåðîÿòíîñòÿìè        p   è   1−p   ñîîòâåòñòâåííî.      X =              xi .   Òîãäà
                                                                             i=1
                                                              θ2
äëÿ âñåõ     0 ≤ θ ≤ 1, Pr{X ≥ (1 + θ)pn} ≤ e −                3
                                                                 pn

    •   Ïîëîæèì       θ = 1.
    •   Ïîâòîðèì      BPP-àëãîðèòì n          ðàç   xi = 1,   åñëè    i -é   îòâåò áûë
                                                                                            1
        îøèáî÷íûé. Âåðîÿòíîñòü ýòîãî ñîáûòèÿ ðàâíÿåòñÿ                              p≤      4.
             n                         p
    • Pr{         xi ≥ n } ≤ e − 3 n
                       2
            i=1
    •   Èòîãîâûì îòâåòîì áóäåò îòâåò, êîòîðûé âñòðå÷àëñÿ
        áîëüøå âñåãî ðàç.




                                                                                                     19 / 34
Êîíå÷íûå àâòîìàòû


Êîíå÷íûé àâòîìàò ñîñòîèò èç:

  • Q    êîíå÷íîå ìíîæåñòâî ñîñòîÿíèé

  • q0 ∈ Q    íà÷àëüíîå ñîñòîÿíèå

  • F ⊂Q      ìíîæåñòâî êîíå÷íûõ ñîñòîÿíèé

  • Σ    êîíå÷íûé âõîäíîé àëôàâèò

  • δ :Q ×Σ→Q        ôóíêöèÿ ïåðåõîäà

Àâòîìàò íà÷èíàåò ðàáîòó â ñîñòîÿíèè   q0 .   Îí ÷èòàåò ñèìâîëû
îäèí çà äðóãèì è ïåðåõîäèò ñîãëàñíî ôóíêöèè ïåðåõîäà â íîâîå
ñîñòîÿíèå. Åñëè, ïðî÷èòàâ âõîä, àâòîìàò ïðèäåò â êîíå÷íîå
ñîñòîÿíèå, òî îí ýòîò âõîä ïðèíèìàåò, â ïðîòèâíîì ñëó÷àå âõîä
îòâåðãàåòñÿ.




                                                                 20 / 34
Ïðèìåð
Îïèøåì êîíå÷íûé àâòîìàò, êîòîðûé ïðèíèìàåò âñå ñòðîêè, â
êîòîðûõ ñîäåðæèòñÿ ïîäñòðîêà ÏÎÌÈ.

  • Q = {q0 , qï , qî , qì , qè , qf }, F = {qf }
  • (q0 , Σ  {Ï}) → q0
  • (q0 , Ï) → qï
  • (qï , Σ  {Ï,Î}) → q0
  • (qï , Î) → qî
  • (qî , Σ  {Ï,Ì}) → q0
  • (qî , Ì) → qì
  • (qì , Σ  {Ï,È}) → q0
  • (qì , È) → qf
  • (q0,ï,î,ì , Ï) → qÏ
  • (qf , Σ) → qf

                                                             21 / 34
Íåäåòåðìèíèðîâàííûé êîíå÷íûé
                                                       àâòîìàò


  •   Ôóíêöèÿ ïåðåõîäà íåîäíîçíà÷íà:        δ : Q × Σ → 2Q
  •   ÍÊÀ ïðèíèìàåò ñëîâî, åñëè ñóùåñòâóåò ëåãàëüíàÿ
      ïîñëåäîâàòåëüíîñòü øàãîâ, ïðèâîäÿùèõ ïîñëå ïðî÷òåíèÿ
      ñëîâà â êîíå÷íîå ñîñòîÿíèå.

Òåîðåìà.    Ïî ëþáîìó ÍÊÀ ìîæíî ïîñòðîèò
äåòåðìèíèðîâàííûé êîíå÷íûé àâòîìàò, ïðèíèìàþùèé òîò æå
ÿçûê.
Äîêàçàòåëüñòâî.    Ó äåòåðìèíèðîâàííîãî àâòîìàòà ìíîæåñòâîì
ñîñòîÿíèé áóäóò ïîäìíîæåñòâà         Q . S = 2Q , s ⊂ Q .   Íà÷àëüíîå
ñîñòîÿíèå   s0 = {q0 }   . Ïðàâèëî   ïåðåõîäà: (s, a) →           δ(q).
                                                            q∈s
Êîíå÷íûå ñîñòîÿíèÿ       Fs = {s ∈ S|F ∩ S = ∅}.

                                                                          22 / 34
Ðåãóëÿðíûå âûðàæåíèÿ


Îïðåäåëèì ÿçûê ðåãóëÿðíûõ âûðàæåíèé.
Àëôàâèòîì ýòîãî ÿçûêà áóäåò íåêèé àëôàâèò            Γ   è íå âõîäÿùèå
â íåãî ñèìâîëû      Λ, , (, ), ∗, |.
  •   Áóêâû àëôàâèòà       Γ    ðåãóëÿðíûå âûðàæåíèÿ;

  •   Ñèìâîëû     Λ,    ðåãóëÿðíûå âûðàæåíèÿ;

  •   Åñëè  A1 , A2 , . . . An  ðåãóëÿðíûå âûðàæåíèÿ,    òî
      (A1 A2 . . . An )  ðåãóëÿðíîå âûðàæåíèå;
  •   Åñëè  A1 , A2 , . . . An  ðåãóëÿðíûå âûðàæåíèÿ,    òî
      (A1 |A2 | . . . |An )  ðåãóëÿðíîå âûðàæåíèå;
  •   Åñëè   A    ðåãóëÿðíîå âûðàæåíèå, òî    A∗   ðåãóëÿðíîå
      âûðàæåíèå.




                                                                         23 / 34
Ñìûñë ðåãóëÿðíûõ âûðàæåíèé



Êàæäîìó ðåãóëÿðíîìó âûðàæåíèþ ìû ñîïîñòàâèì ÿçûê:

  •   Áóêâå èç   Γ   ñîîòâåòñòâóåò îäíîýëåìåíòíûé ÿçûê èç ýòîé
      áóêâû;

  •   Ñèìâîëó         ïóñòîé ÿçûê,       Λ     ÿçûê èç ïóñòîãî ñëîâà;

  •   Âûðàæåíèþ      (A1 A2 . . . An ) ñîîòâåòñòâóåò       êîíêàòåíàöèÿ
      ÿçûêîâ äëÿ     A1 , A2 , . . . , An .
  •   Âûðàæåíèþ      (A1 |A2 | . . . |An )    ñîîòâåòñòâóåò îáúåäèíåíèå
      ÿçûêîâ äëÿ     A1 , A2 , . . . , An .
  •   Âûðàæåíèþ       A∗   ñîîòâåòñòâóåò ÿçûê, ñëîâà êîòîðîãî ìîæíî
      ðàçðåçàòü íà ÷àñòè, ïðèíàäëåæàùèå               A.




                                                                          24 / 34
Ïðèìåðû ðåãóëÿðíûõ âûðàæåíèé




• (a|b)∗    âñå ñëîâà èç áóêâ   a   è   b;
• (aa)∗    âñå ñëîâà èç ÷åòíîãî ÷èñëà áóêâ   a;
• (Γ ∗ (ÏÎÌÈ)Γ∗)     âñå ñëîâà, ñîäåðæàùèå ïîäñòðîêó
  ÏÎÌÈ.




                                                        25 / 34
Àâòîìàò ïî âûðàæåíèþ

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

  •   Äëÿ   :   Q = F = {qo };   Äëÿ   Λ:   êîíå÷íîå ñîñòîÿíèå
      íåäîñòèæèìî;

  • a ∈ Γ: Q = {q0 , q1 , qf }, F = {qf }(q0 , a) →
      qf , (q0 , Γ  {a}) → q1 , (q1 , Γ) → q1 ;
  •   Ïîêàæåì, êàê ïî àâòîìàòàì          A1   è   A2   ïîñòðîèòü àâòîìàò,
      êîòîðûé ïðèìåò ÿçûê, êîíêàòåíàöèþ ÿçûêîâ äëÿ                     A1   è   A2 .
      Äîáàâèì âî âñå êîíå÷íûå ñîñòîÿíèÿ àâòîìàòà                  A1   ïðàâèëà,
      ñîîòâåòñòâóþùèå íà÷àëüíîìó ñîñòîÿíèþ                 A2 .


                                                                                       26 / 34
Àâòîìàò ïî âûðàæåíèþ (ïðîäîëæåíèå)



•   Ïîêàæåì, êàê ïî àâòîìàòàì   A1   è   A2   ïîñòðîèòü àâòîìàò,
    êîòîðûé ïðèìåò ÿçûê, îáúåäèíåíèå ÿçûêîâ äëÿ               A1   è    A2 .
    Äîáàâèì â íà÷àëüíîå ñîñòîÿíèå àâòîìàòà            A1    ïðàâèëî,
    ñîîòâåòñòâóþùåå íà÷àëüíîìó ñîñòîÿíèþ àâòîìàòà                  A2 .
•   Ïîêàæåì, êàê ïî àâòîìàòó   A,   ïðèíèìàþùåìó ÿçûê              L,
    ïîñòðîèòü àâòîìàò, ïðèíèìàþùèé ÿçûê             L∗.   Äëÿ ýòîãî
    ñäåëàåì íîâîå íà÷àëüíîå ñîñòîÿíèå         q0   (ñòàðîå îñòàâèì)
    Äîáàâèì âñå ïðàâèëà, êîòîðûå áûëè ó ñòàðîãî, ñäåëàåì                   q0
    êîíå÷íûì ñîñòîÿíèåì, êðîìå òîãî âî âñå êîíå÷íûå
    ñîñòîÿíèÿ äîáàâèì ïðàâèëà, êàêèå åñòü ó          q0 .




                                                                                27 / 34
Ðåãóëÿðíîå âûðàæåíèå ïî àâòîìàòó
Òåîðåìà.         Ïî ëþáîìó êîíå÷íîìó àâòîìàòó ìîæíî ïîñòðîèòü
ðåóãëÿðíîå âûðàæåíèå, êîòîðîå çàäàåò òîò æå ÿçûê, ÷òî
ïðèíèìàåò àâòîìàò.
Äîêàçàòåëüñòâî.
  •   Äëÿ ÍÊÀ ìîæíî ñ÷èòàòü, ÷òî ó íåãî åñòü âñåãî 1 êîíå÷íîå
      ñîñòîÿíèå. Åãî ìîæíî ìîäèôèöèðîâàòü ñëåäóþùèì
      îáðàçîì: äîáàâèòü ñîñòîÿíèå              qf ,   èç âñåõ ñîñòîÿíèé, îòêóäà
      ìîæíî ïîïàñòü â êîíå÷íîå, äîáàâèòü àíàëîãè÷íûé ïåðåõîä
      â   qf .   Äîáàâèòü åùå îäíî íåêîíå÷íîå ñîñòîÿíèå                     q∞ ,    è âñå
      øàãè èç      qf   íàïðàâèòü â    q∞ ,   è èç    q∞   âñå ïðàâèëà âåäóò â
      íåãî ñàìîãî.
  •   Ïóñòü âåðøèíû ÍÊÀ ïðîíóìåðîâàíû ÷èñëàìè                              1, 2, . . . , k .
      Âåðøèíà ñ íîìåðîì         1      íà÷àëüíàÿ, âåðøèíà ñ íîìåðîì
      k    åäèíñòâåííàÿ êîíå÷íàÿ.
  •   Îáîçíà÷èì ÷åðåç        Di,j,s   ìíîæåñòâî âñåõ ñëîâ, êîòîðûå
      ìîæíî ïðî÷èòàòü, íà ïóòè èç âåðøèíû                    i   â   j,   åñëè ïî ïóòè
      ìîæíî çàõîäèòü òîëüêî â âåðøèíû c íîìåðàìè                            1, 2, . . . , s .   28 / 34
Ðåãóëÿðíîå âûðàæåíèå ïî àâòîìàòó
                                               (ïðîäîëæåíèå)



•   ßçûê, çàäàâàåìûé àâòîìàòîì            D1,k,k .
•   Èíäóêöèåé ïî     s   äîêàçûâàåì ðåãóëÿðíîñòü âûðàæåíèÿ          Di,j,s .
•   Áàçà   s = 0. Di,j,0   ëèáî ïóñò ëèáî ñîñòîèò èç ïóñòîãî ñëîâà,
    ëèáî èç áóêâû

•   Êàê îïðåäåëèòü       Di,j,s+1 ?   Îòìåòèì âñå çàõîäû â ñîñòîÿíèå
    s + 1.
•
             Di,j,s+1 = Di,j,s |(Di,s+1,s Ds+1,s+1,s ∗ Ds+1,j,s )




                                                                               29 / 34
Èòîãî




•   ßçûêè çàäàâàåìûå íåäåòåðìèíèðîâàííûìè àâòîìàòàìè è
    äåòåðìèíèðîâàííûìè ñîâïàäàþò.

•   ßçûêè çàäàâàåìûå àâòîìàòàìè è ðåãóëÿðíûìè
    âûðàæåíèÿìè ñîâïàäàþò.

•   Òàêèå ÿçûêè íàçûâàþò: àâòîìàòíûìè èëè ðåãóëÿðíûìè.




                                                         30 / 34
Àâòîìàòíûå ãðàììàòèêè


Ïóñòü   N    ìíîæåñòâî íåòåðìèíàëüíûõ ñèìâîëîâ, à        T   
ìíîæåñòâî òåðìèíàëüíûõ ñèìâîëîâ.     S ∈N        íà÷àëüíûé
íåòåðìèíàëüíûé ñèìâîë.
P  ìíîæåñòâî ïðàâèë     âèäà   A → qB   èëè   A → q,   ãäå
A, B ∈ N, q ∈ T .
Ïðàâèëà ìîæíî ïðèìåíÿòü äðóã çà äðóãîì è îñòàíîâèòñÿ, åñëè
òåêóùåå ñëîâî íå ñîäåðæèò íåòåðìèíàëüíûõ ñèìâîëîâ.
Ïðèìåð.
N = {S, A}, T = {a, b}, P = {S → aA, A → b, A → aS}. Ìîæíî
âûâîäèòü òàê: S → aA → aaS → aaaA → aaab .
ßçûê: ñîñòîèò èç íå÷åòíîãî ÷èñëà áóêâ a, çà êîòîðîé ñëåäóåò b .
Óïðàæíåíèå. Äîêàæèòå, ÷òî àâòîìàòíûå ãðàììàòèêè çàäàþò â
òî÷íîñòè ðåãóëÿðíûå ÿçûêè.




                                                                  31 / 34
Pumping ëåììà
Ëåììà ñ ïîìîùüþ êîòîðîé ìîæíî äîêàçàòü, ÷òî ÿçûê íå
ÿâëÿåòñÿ àâòîìàòíûì.
Ëåììà.    Äëÿ ëþáîãî ðåãóëÿðíîãî ÿçûêà         L ñóùåñòâóåò ÷èñëî n,
÷òî ëþáóþ ñòðîêó         α ∈ L, |α|  n ìîæíî ïðåäñòàâèòü â âèäå
α = uvw ,    ãäå   |v |  1 è äëÿ âñåõ k ñëîâî uv k w ∈ L.
Äîêàçàòåëüñòâî.

  •   Ïóñòü   n    ÷èñëî ñîñòîÿíèé äåòåðìèíèðîâàííîãî ÊÀ,
      ïðèíèìàþùåãî         L;
  •   Åñëè   α ∈ L, |α|  3n + 1, òî â ïðîöåññå ïðèíÿòèÿ ñëîâà α
      êàêîå-òî ñîñòîÿíèå q âñòðåòèëîñü íå ìåíåå 3-õ ðàç.
      Îáîçíà÷èì ñòðî÷êó äî ïåðâîãî âõîæäåíèÿ â ñîñòîÿíèå q çà
      u , ñòðî÷êó ìåæäó ïåðâûì è ïîñëåäíèì ñîñòîÿíèåì q çà v ,
      è îñòàâøóþñÿ ÷àñòü çà w .

  •   Òàê êàê     q   âñòðåòèëîñü íå ìåíåå 3-õ ðàç, òî   |v |  1.
  •                           k
      Î÷åâèäíî, ÷òî ñòðî÷êà uv w òîæå áóäåò ïðèíèìàòüñÿ.

                                                                       32 / 34
Ïðèìåð èñïîëüçîâàíèÿ pumping ëåììû



Ïðèìåð.       ßçûê   L = { 11..1 |p −   ïðîñòîå} íå ÿâëÿåòñÿ
                          p øòóê
ðåãóëÿðíûì.
Äîêàçàòåëüñòâî.        Åñëè áû îí áûë ðåãóëÿðíûì, òî íàøëîñü áû
òàêîå   n,   ÷òî äëÿ   p  n 11..1 = uvw , |v |  1   è äëÿ âñåõ   k
                             p øòóê
uv k w ∈ L. Ïóñòü |v | = d  1, |u| + |w | = a. Òîãäà ïðè âñåõ k  0
÷èñëî kd + a äîëæíî áûòü ïðîñòûì. Âûáåðåì k = d + a + 1:
(d + a + 1)d + a = (d + a)(d + 1)  íå ÿâëÿåòñÿ ïðîñòûì.
Çàäà÷à.      ßâëÿåòñÿ ëè ÿçûê ïðîñòûõ ÷èñåë, çàïèñàííûõ â 10-é
ñèñòåìå ñ÷èñëåíèÿ àâòîìàòíûì?




                                                                       33 / 34
Çàäà÷è




•   ßâëÿåòñÿ ëè ÿçûê   {an b n c n |n ∈ N}   ðåãóëÿðíûì?

•   ßâëÿåòñÿ ëè ÿçûê ïàëèíäðîìîâ ðåãóëÿðíûì?

•   Äîêàæèòå, ÷òî ÿçûê äåñÿòè÷íûõ ÷èñåë, äåëÿùèõñÿ íà         3
    ÿâëÿåòñÿ ðåãóëÿðíûì.

•   Äîêàæèòå, ÷òî   P = EXP.
•   Äîêàæèòå, ÷òî  NL ⊆ P. Ãäå NL  ÿçûê,         ïðèíèìàåìûé
    ÍÌÒ,   èñïîëüçóþùåé O(log n) ïàìÿòè.




                                                                  34 / 34

More Related Content

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

  • 1. ËÈÊÁÅÇ Ëåêöèÿ 2: Åùå íåìíîãî òåîðèè ñëîæíîñòè âû÷èñëåíèé. Êîíå÷íûå àâòîìàòû. Äìèòðèé Èöûêñîí ÏÎÌÈ ÐÀÍ 30 ñåíòÿáðÿ 2007 1 / 34
  • 2. Ïëàí 1 Åùå íåìíîãî òåîðèè ñëîæíîñòè âû÷èñëåíèé • Ïðèìåðû NP-ïîëíûõ çàäà÷ • LOGSPACE ⊆ P ⊆ NP ⊆ PSPACE ⊆ EXP • Âåðîÿòíîñòíûå àëãîðèòìû. Êëàññû RP è BPP 2 Êîíå÷íûå àâòîìàòû • Íåäåòåðìèíèðîâàííûå êîíå÷íûå àâòîìàòû • Ðåãóëÿðíûå âûðàæåíèÿ, àâòîìàòíûå ãðàììàòèêè • Pumping ëåììà 2 / 34
  • 3. Ëèòåðàòóðà 1 À. Êèòàåâ, À. Øåíü, Ì. Âÿëûé. Êëàññè÷åñêèå è êâàíòîâûå âû÷èñëåíèÿ. 2 C.H. Papadimitriou. Computational complexity. 3 Á.Ê. Ìàðòûíåíêî. ßçûêè è òðàíñëÿöèè. 4 À. Øåíü. Ïðîãðàììèðîâàíèå: òåîðåìû è çàäà÷è. 3 / 34
  • 4. Íàïîìèíàíèå • P êëàññ ÿçûêîâ, äëÿ êîòîðûõ ñóùåñòâóåò ïîëèíîì p(n) è àëãîðèòì, ðàáîòàþùèé âðåìÿ O(p(n)), ðàñïîçíàþùèé ýòîò ÿçûê. • L ∈ NP, åñëè ñóùåñòâóåò ïîëèíîìèàëüíî îãðàíè÷åííîå è ïîëèíîìèàëüíî ïðîâåðÿåìîå îòíîøåíèå R ⊆ Σ × Σ, ÷òî L = {x|∃y : (x, y ) ∈ R}. • ßçûê L ñâîäèòñÿ ê L, åñëè ïî ëþáîìó àëãîðèòìó, êîòîðûé ðàñïîçíàåò L ìîæíî ïîñòðîèòü àëãîðèòì, ðàñïîçíàþùèé L, ðàáîòàþùèé íå áîëåå, ÷åì â ïîëèíîì ðàç õóæå. • ßçûê L ∈ NP íàçûâàåòñÿ NP-ïîëíûì, åñëè ê íåìó ñâîäèòñÿ ëþáîé äðóãîé ÿçûê èç NP. • Òåîðåìà Êóêà-Ëåâèíà: SAT NP-ïîëíûé ÿçûê. 4 / 34
  • 5. 3-SAT 3-SAT: ÿçûê âûïîëíèìûõ ôîðìóë â 3-ÊÍÔ. Íàïðèìåð: (x ∨ y ∨ ¬z) ∧ (¬x ∨ y ∨ t) ∧ (¬x ∨ ¬y ∨ ¬t). Òåîðåìà. ßçûê 3-SAT NP-ïîëíûé Äîêàçàòåëüñòâî Ñâîäèì SAT ê 3-SAT. • Ïåðåïèñûâàåì äëèííóþ äèçúþíêöèþ (x1 ∨ x2 ∨ x3 ∨ . . . xm ) â íåñêîëüêî êîðîòêèõ • Âìåñòî (x1 ∨ x2 ∨ x3 ∨ · · · ∨ xm ) çàïèøåì =z1 (x1 ∨ x2 ∨ z1 ) ∧ (z1 = (x3 ∨ · · · ∨ xm )) 5 / 34
  • 6. Ïðîäîëæåíèå äîêàçàòåëüñòâà • Çàïèñûâàåì â 3-ÊÍÔ ðàâåíñòâà: z = (y1 ∨ y2 ∨ · · · ∨ yk ) • Åñëè k = 2, òî ýòî çàâåäîìî ìîæíî ñäåëàòü çà O(1). • Åñëè k 2, òî ïåðåïèøåì (z = y1 ∨ y2 ∨ · · · ∨ yk ) â âèäå =z2 (z = (y1 ∨ z2 )) ∧ (z2 = (y2 ∨ · · · ∨ zk )). • Ïîñëåäíåå ðàâåíñòâî ñîäåðæèò ìåíüøå ïåðåìåííûõ • Ýòà ïðîöåäóðà çàéìåò ïîëèíîìèàëüíîå âðåìÿ 6 / 34
  • 7. Íåçàâèñèìîå ìíîæåñòâî Çàäà÷à î íåçàâèñèìîì ìíîæåñòâå: åñòü ëè â äàííîì ãðàôå k âåðøèí, ïîïàðíî íåñîåäèíåííûõ ðåáðîì? Ñâåäåì 3-SAT ê ýòîé çàäà÷å. Ó ôîðìóëû åñòü âûïîëíÿþùèé íàáîð, åñëè â ãðàôå åñòü íåçàâèñèìîå ìíîæåñòâî òàêîãî æå ðàçìåðà, ÷òî è êîëè÷åñòâî êëîçîâ. 7 / 34
  • 8. Íåçàâèñèìîå ìíîæåñòâî è CLIQUE Òåîðåìà. Çàäà÷à î íåçàâèñèìîì ìíîæåñòâå NP-ïîëíà. Ñëåäñòâèå. Çàäà÷à CLIQUE (ïî ãðàôó òðåáóåòñÿ îïðåäåëèòü, åñòü ëè â íåì ïîëíûé ïîäãðàô ðàçìåðà k ) NP-ïîëíà. Äîêàçàòåëüñòâî. ×òîáû ñâåñòè çàäà÷ó î íåçàâèñèìîì ìíîæåñòâå ê çàäà÷å CLIQUE, äîñòàòî÷íî èíâåðòèðîâàòü ðåáðà: íàðèñîâàòü ðåáðî òàì, ãäå åãî íå áûëî è ñòåðåòü ðåáðî òàì, ãäå îíî áûëî. 8 / 34
  • 9. PSPACE Îïðåäåëåíèå. L ∈ PSPACE, åñëè ñóùåñòâóåò ïîëèíîì p(n) è àëãîðèòì, ðàñïîçíàþùèé L, ñëîæíîñòü êîòîðîãî ïî ïàìÿòè O(p(n)). Òåîðåìà. NP ⊂ PSPACE Äîêàçàòåëüñòâî. • Ïóñòü L ∈ NP . ßçûêó L ñîîòâåòñòâóåò îòíîøåíèå R(x, y ). • |y | |x|k . Áóäåì ïåðåáèðàòü âñå y äëèíû íå áîëåå, ÷åì |x|k • Ïðèíèìàåì x, åñëè òàêîé y íàøåëñÿ, îòâåðãàåì èíà÷å. • Åñëè äëÿ ðàçíûõ y ïåðåèñïîëüçîâàòü ñòàðóþ ïàìÿòü, òî ìîæíî îãðàíè÷èòñÿ ïîëèíîìèàëüíîé ïàìÿòüþ. 9 / 34
  • 10. EXP Îïðåäåëåíèå. L ∈ EXP, åñëè ñóùåñòâóåò ïîëèíîì p(n) è àëãîðèòì, ðàñïîçíàþùèé L, ñëîæíîñòü êîòîðîãî ïî âðåìåíè O(2p(n) ). Òåîðåìà. PSPACE ⊆ EXP Äîêàçàòåëüñòâî. (Àíàëîãè÷íî LOGSPACE ⊆ P) • Êîíôèãóðàöèÿ ÌÒ: ñîäåðæèìîå ëåíòû, ñîñòîÿíèå, ïîëîæåíèå ãîëîâêè k • Êîíôèãóðàöèé íå áîëüøå, ÷åì |Σ|n äëÿ íåêîòîðîãî k • Êîíôèãóðàöèè íå ìîãóò ïîâòîðÿòüñÿ k k+1 • Çíà÷èò, âðåìÿ ðàáîòû îãðàíè÷åíî |Σ|n = O(2n ) 10 / 34
  • 11. ×òî ìû óæå çíàåì? LOGSPASE ⊆ P ⊆ NP ⊆ PSPACE ⊆ EXP Èçâåñòíî: • P EXP • LOGSPACE PSPACE 11 / 34
  • 12. Âåðîÿòíîñòíûå àëãîðèòìû • Èñïîëüçóþò ñëó÷àéíûå áèòû (ïîäáðàñûâàþò ìîíåòêó) • Ìîãóò èíîãäà âûäàâàòü íåïðàâèëüíûé îòâåò • Äëÿ êàæäîãî âõîäà c êàêîé-òî âåðîÿòíîñòüþ äàþò ïðàâèëüíûé îòâåò. Âåðîÿòíîñòü ïðè ýòîì áåðåòñÿ òîëüêî ïî ñëó÷àéíûì ÷èñëàì . 12 / 34
  • 13. Ïðèìåð âåðîÿòíîñòíîãî àëãîðèòìà Çàäà÷à. Äàí äâóäîëüíûé ãðàô G (V1 , V2 , E ⊂ V1 × V2 ), |V1 | = |V2 | = n, |E | = m. Òðåáóåòñÿ îïðåäåëèòü, åñòü ëè â ýòîì ãðàôå ñîâåðøåííîå ïàðîñî÷åòàíèå èëè íåò. Ò.å., ìîæíî ëè åãî âåðøèíû ðàçáèòü íà ïàðû òàê, ÷òîáû â êàæäîé ïàðå âåðøèíû áûëè ñîåäèíåíû ðåáðîì. • Ïîñòðîèì ñèìâîëüíóþ ìàòðèöó ñìåæíîñòè ãðàôà G. xi,j , åñëè (i, j) ∈ E Ai,j = 0, åñëè (i, j) ∈ E • Îïðåäåëèòåëü det A ýòî ìíîãî÷ëåí îò m ïåðåìåííûõ xi,j . n • det A = σ(π) Ai,π[i] π i=1 • det A íå íóëåâîé ìíîãî÷ëåí ⇐⇒ â ãðàôå åñòü ñîâåðøåííîå ïàðîñî÷åòàíèå. 13 / 34
  • 14. Êàê ïðîâåðèòü íåâûðîæäåííîñòü ñèìâîëüíîé ìàòðèöû? • Åñëè áû ìàòðèöà áûëà íåâûðîæäåííîé, òû ìû áû ïîñ÷èòàëè îïðåäåëèòåëü ïî ìåòîäó Ãàóññà, ïðèâåäÿ åå ê äèàãîíàëüíîé. • Ëåììà. p(x1 , x2 , . . . , xm ) íåíóëåâîé ìíîãî÷ëåí, ñòåïåíü êàæäîé ïåðåìåííîé íå ïðåâîñõîäèò 1. Òîãäà ñðåäè íàáîðîâ (a1 , a2 , . . . , am ) ∈ {0, 1, 2, . . . M − 1}m , íå áîëåå, ÷åì mM m−1 îáíóëÿåò p . Äîêàçàòåëüñòâî. Èíäóêöèÿ ïî m. • m = 1. p(x1 ) = ax1 + b èìååò íå áîëåå îäíîãî êîðíÿ. • m → m + 1. p(x1 , x2 , . . . , xm+1 ) = q(x1 , x2 , . . . , xm )xm+1 + r (x1 , x2 , . . . , xm ). Åñëè q(a1 , a2 , . . . , am ) = 0, òî íàéäåòñÿ íå áîëåå îäíîãî am+1 , ÷òî p(a1 , . . . , am+1 ) = 0. Íàáîðîâ (a1 , a2 , . . . , am ), m−1 îáíóëÿþùèõ q íå áîëüøå, ÷åì mM • Èòîãî íàáîðîâ (a1 , a2 , . . . , am+1 ), îáíóëÿþùèõ p íå áîëåå, m ÷åì M + mM m−1 · M = (m + 1)M m . 14 / 34
  • 15. Àëãîðèòì 1 Âûáèðàåì M = 2m; 2 Âûáèðàåì a1 , a2 , . . . , am ñëó÷àéíî èç {0, 1, 2, . . . M − 1}m ; 3 Ñ÷èòàåì ïî ìåòîäó Ãàóññà îïðåäåëèòåëü A, åñëè âìåñòî xk ïîñòàâèòü ak . 4 Åñëè îïðåäåëèòåëü îòëè÷åí îò íóëÿ, òî âûäàòü ïàðîñî÷åòàíèå åñòü 5 Åñëè îïðåäåëèòåëü ðàâåí íóëþ, òî âûäàòü âîçìîæíî íåò Àíàëèç • Åñëè ïàðîñî÷åòàíèÿ íåò, òî îòâåò áóäåò âîçìîæíî íåò 1 • Åñëè ïàðîñî÷åòàíèå åñòü, òî ñ âåðîÿòíîñòüþ ≥ 2 , îòâåò áóäåò: ïàðîñî÷åòàíèå åñòü 15 / 34
  • 16. RP Îïðåäåëåíèå. Êëàññ RP ñîñòîèò èç ÿçûêîâ L, äëÿ êîòîðûõ ñóùåñòâóåò ïîëèíîìèàëüíûé ïî âðåìåíè âåðîÿòíîñòíûé àëãîðèòì A: • åñëè x ∈ L, òî A(x) = 0 1 • åñëè x ∈ L, òî Pr{A(x) = 1} ≥ 2 Êîììåíòàðèé • 1 Êîíñòàíòó 2 ìîæíî çàìåíèòü íà ëþáóþ ñòðîãî ìåæäó 0 è 1. • Åñëè ïîâòîðèòü àëãîðèòì k ðàç è âûäàòü 1, åñëè õîòÿ áû îäèí èç îòâåòîâ áûë 1, òî âåðîÿòíîñòü íåâåðíîãî îòâåòà 1 áóäåò íå áîëüøå, ÷åì . 2k 16 / 34
  • 17. P ⊆ RP ⊆ NP Ëåììà 1. P ⊆ RP Äîêàçàòåëüñòâî. Àëãîðèòì èç P äîïóñêàåò îøèáêó ñ âåðîÿòíîñòüþ 0. Ëåììà 2. RP ⊆ NP Äîêàçàòåëüñòâî. • Ïóñòü L ∈ RP, A âåðîÿòíîñòíûé àëãîðèòì äëÿ ÿçûêà L. • Îïðåäåëèì îòíîøåíèå R . R = {(x, r )|Ar (x) = 1}, ãäå Ar èñïîëüçóåò ñòðîêó r âìåñòî ñëó÷àéíûõ áèòîâ. • R ïîëèíîìèàëüíî îãðàíè÷åííîå è ïðîâåðÿåìîå. Êîììåíòàðèé RP-ìàøèíû ìîæíî ïðåäñòàâëÿòü ñåáå, êàê íåäåòåðìèíèðîâàííûå, êîòîðûå ïðèíèìàþò âõîä, åñëè õîòÿ áû ïîëîâèíà ïîäñêàçîê ïðèâîäÿò â ïðèíèìàþùåå ñîñòîÿíèå. 17 / 34
  • 18. BPP Îïðåäåëåíèå. Êëàññ BPP ñîñòîèò èç ÿçûêîâ L, äëÿ êîòîðûõ ñóùåñòâóåò ïîëèíîìèàëüíûé ïî âðåìåíè âåðîÿòíîñòíûé àëãîðèòì A, òàêîé ÷òî 3 • åñëè x ∈ L, òî Pr{A(x) = 1} ≥ 4 3 • åñëè x ∈ L, òî Pr{A(x) = 0} ≥ 4 Êîììåíòàðèé • 3 1 Êîíñòàíòó 4 ìîæíî çàìåíèòü íà ëþáóþ áîëüøóþ, ÷åì 2 . • Ìîæíî ëè ýêñïîíåíöèàëüíî ïîíèçèòü âåðîÿòíîñòü îøèáêè ïîâòîðåíèåì? 18 / 34
  • 19. Ïîíèæåíèå âåðîÿòíîñòè îøèáêè Òåîðåìà. (Îöåíêè ×åðíîâà) Ïîëîæèì x1 , x2 , . . . , xn íåçàâèñèìûå ñëó÷àéíûå ïåðåìåííûå, ïðèíèìàþùèå çíà÷åíèÿ 1 n è 0 c âåðîÿòíîñòÿìè p è 1−p ñîîòâåòñòâåííî. X = xi . Òîãäà i=1 θ2 äëÿ âñåõ 0 ≤ θ ≤ 1, Pr{X ≥ (1 + θ)pn} ≤ e − 3 pn • Ïîëîæèì θ = 1. • Ïîâòîðèì BPP-àëãîðèòì n ðàç xi = 1, åñëè i -é îòâåò áûë 1 îøèáî÷íûé. Âåðîÿòíîñòü ýòîãî ñîáûòèÿ ðàâíÿåòñÿ p≤ 4. n p • Pr{ xi ≥ n } ≤ e − 3 n 2 i=1 • Èòîãîâûì îòâåòîì áóäåò îòâåò, êîòîðûé âñòðå÷àëñÿ áîëüøå âñåãî ðàç. 19 / 34
  • 20. Êîíå÷íûå àâòîìàòû Êîíå÷íûé àâòîìàò ñîñòîèò èç: • Q êîíå÷íîå ìíîæåñòâî ñîñòîÿíèé • q0 ∈ Q íà÷àëüíîå ñîñòîÿíèå • F ⊂Q ìíîæåñòâî êîíå÷íûõ ñîñòîÿíèé • Σ êîíå÷íûé âõîäíîé àëôàâèò • δ :Q ×Σ→Q ôóíêöèÿ ïåðåõîäà Àâòîìàò íà÷èíàåò ðàáîòó â ñîñòîÿíèè q0 . Îí ÷èòàåò ñèìâîëû îäèí çà äðóãèì è ïåðåõîäèò ñîãëàñíî ôóíêöèè ïåðåõîäà â íîâîå ñîñòîÿíèå. Åñëè, ïðî÷èòàâ âõîä, àâòîìàò ïðèäåò â êîíå÷íîå ñîñòîÿíèå, òî îí ýòîò âõîä ïðèíèìàåò, â ïðîòèâíîì ñëó÷àå âõîä îòâåðãàåòñÿ. 20 / 34
  • 21. Ïðèìåð Îïèøåì êîíå÷íûé àâòîìàò, êîòîðûé ïðèíèìàåò âñå ñòðîêè, â êîòîðûõ ñîäåðæèòñÿ ïîäñòðîêà ÏÎÌÈ. • Q = {q0 , qï , qî , qì , qè , qf }, F = {qf } • (q0 , Σ {Ï}) → q0 • (q0 , Ï) → qï • (qï , Σ {Ï,Î}) → q0 • (qï , Î) → qî • (qî , Σ {Ï,Ì}) → q0 • (qî , Ì) → qì • (qì , Σ {Ï,È}) → q0 • (qì , È) → qf • (q0,ï,î,ì , Ï) → qÏ • (qf , Σ) → qf 21 / 34
  • 22. Íåäåòåðìèíèðîâàííûé êîíå÷íûé àâòîìàò • Ôóíêöèÿ ïåðåõîäà íåîäíîçíà÷íà: δ : Q × Σ → 2Q • ÍÊÀ ïðèíèìàåò ñëîâî, åñëè ñóùåñòâóåò ëåãàëüíàÿ ïîñëåäîâàòåëüíîñòü øàãîâ, ïðèâîäÿùèõ ïîñëå ïðî÷òåíèÿ ñëîâà â êîíå÷íîå ñîñòîÿíèå. Òåîðåìà. Ïî ëþáîìó ÍÊÀ ìîæíî ïîñòðîèò äåòåðìèíèðîâàííûé êîíå÷íûé àâòîìàò, ïðèíèìàþùèé òîò æå ÿçûê. Äîêàçàòåëüñòâî. Ó äåòåðìèíèðîâàííîãî àâòîìàòà ìíîæåñòâîì ñîñòîÿíèé áóäóò ïîäìíîæåñòâà Q . S = 2Q , s ⊂ Q . Íà÷àëüíîå ñîñòîÿíèå s0 = {q0 } . Ïðàâèëî ïåðåõîäà: (s, a) → δ(q). q∈s Êîíå÷íûå ñîñòîÿíèÿ Fs = {s ∈ S|F ∩ S = ∅}. 22 / 34
  • 23. Ðåãóëÿðíûå âûðàæåíèÿ Îïðåäåëèì ÿçûê ðåãóëÿðíûõ âûðàæåíèé. Àëôàâèòîì ýòîãî ÿçûêà áóäåò íåêèé àëôàâèò Γ è íå âõîäÿùèå â íåãî ñèìâîëû Λ, , (, ), ∗, |. • Áóêâû àëôàâèòà Γ ðåãóëÿðíûå âûðàæåíèÿ; • Ñèìâîëû Λ, ðåãóëÿðíûå âûðàæåíèÿ; • Åñëè A1 , A2 , . . . An ðåãóëÿðíûå âûðàæåíèÿ, òî (A1 A2 . . . An ) ðåãóëÿðíîå âûðàæåíèå; • Åñëè A1 , A2 , . . . An ðåãóëÿðíûå âûðàæåíèÿ, òî (A1 |A2 | . . . |An ) ðåãóëÿðíîå âûðàæåíèå; • Åñëè A ðåãóëÿðíîå âûðàæåíèå, òî A∗ ðåãóëÿðíîå âûðàæåíèå. 23 / 34
  • 24. Ñìûñë ðåãóëÿðíûõ âûðàæåíèé Êàæäîìó ðåãóëÿðíîìó âûðàæåíèþ ìû ñîïîñòàâèì ÿçûê: • Áóêâå èç Γ ñîîòâåòñòâóåò îäíîýëåìåíòíûé ÿçûê èç ýòîé áóêâû; • Ñèìâîëó ïóñòîé ÿçûê, Λ ÿçûê èç ïóñòîãî ñëîâà; • Âûðàæåíèþ (A1 A2 . . . An ) ñîîòâåòñòâóåò êîíêàòåíàöèÿ ÿçûêîâ äëÿ A1 , A2 , . . . , An . • Âûðàæåíèþ (A1 |A2 | . . . |An ) ñîîòâåòñòâóåò îáúåäèíåíèå ÿçûêîâ äëÿ A1 , A2 , . . . , An . • Âûðàæåíèþ A∗ ñîîòâåòñòâóåò ÿçûê, ñëîâà êîòîðîãî ìîæíî ðàçðåçàòü íà ÷àñòè, ïðèíàäëåæàùèå A. 24 / 34
  • 25. Ïðèìåðû ðåãóëÿðíûõ âûðàæåíèé • (a|b)∗ âñå ñëîâà èç áóêâ a è b; • (aa)∗ âñå ñëîâà èç ÷åòíîãî ÷èñëà áóêâ a; • (Γ ∗ (ÏÎÌÈ)Γ∗) âñå ñëîâà, ñîäåðæàùèå ïîäñòðîêó ÏÎÌÈ. 25 / 34
  • 26. Àâòîìàò ïî âûðàæåíèþ Òåîðåìà. Ïî ëþáîìó ðåãóëÿðíîìó âûðàæåíèþ ìîæíî ïîñòðîèòü êîíå÷íûé àâòîìàò, êîòîðûé ïðèíèìàåò ÿçûê, çàäàâàåìûé ýòèì âûðàæåíèåì. Äîêàçàòåëüñòâî. Èíäóêöèÿ ïî ïîñòðîåíèþ âûðàæåíèÿ. Äîñòàòî÷íî ïîñòðîèòü íåäåòåðìèíèðîâàííûé àâòîìàò. • Äëÿ : Q = F = {qo }; Äëÿ Λ: êîíå÷íîå ñîñòîÿíèå íåäîñòèæèìî; • a ∈ Γ: Q = {q0 , q1 , qf }, F = {qf }(q0 , a) → qf , (q0 , Γ {a}) → q1 , (q1 , Γ) → q1 ; • Ïîêàæåì, êàê ïî àâòîìàòàì A1 è A2 ïîñòðîèòü àâòîìàò, êîòîðûé ïðèìåò ÿçûê, êîíêàòåíàöèþ ÿçûêîâ äëÿ A1 è A2 . Äîáàâèì âî âñå êîíå÷íûå ñîñòîÿíèÿ àâòîìàòà A1 ïðàâèëà, ñîîòâåòñòâóþùèå íà÷àëüíîìó ñîñòîÿíèþ A2 . 26 / 34
  • 27. Àâòîìàò ïî âûðàæåíèþ (ïðîäîëæåíèå) • Ïîêàæåì, êàê ïî àâòîìàòàì A1 è A2 ïîñòðîèòü àâòîìàò, êîòîðûé ïðèìåò ÿçûê, îáúåäèíåíèå ÿçûêîâ äëÿ A1 è A2 . Äîáàâèì â íà÷àëüíîå ñîñòîÿíèå àâòîìàòà A1 ïðàâèëî, ñîîòâåòñòâóþùåå íà÷àëüíîìó ñîñòîÿíèþ àâòîìàòà A2 . • Ïîêàæåì, êàê ïî àâòîìàòó A, ïðèíèìàþùåìó ÿçûê L, ïîñòðîèòü àâòîìàò, ïðèíèìàþùèé ÿçûê L∗. Äëÿ ýòîãî ñäåëàåì íîâîå íà÷àëüíîå ñîñòîÿíèå q0 (ñòàðîå îñòàâèì) Äîáàâèì âñå ïðàâèëà, êîòîðûå áûëè ó ñòàðîãî, ñäåëàåì q0 êîíå÷íûì ñîñòîÿíèåì, êðîìå òîãî âî âñå êîíå÷íûå ñîñòîÿíèÿ äîáàâèì ïðàâèëà, êàêèå åñòü ó q0 . 27 / 34
  • 28. Ðåãóëÿðíîå âûðàæåíèå ïî àâòîìàòó Òåîðåìà. Ïî ëþáîìó êîíå÷íîìó àâòîìàòó ìîæíî ïîñòðîèòü ðåóãëÿðíîå âûðàæåíèå, êîòîðîå çàäàåò òîò æå ÿçûê, ÷òî ïðèíèìàåò àâòîìàò. Äîêàçàòåëüñòâî. • Äëÿ ÍÊÀ ìîæíî ñ÷èòàòü, ÷òî ó íåãî åñòü âñåãî 1 êîíå÷íîå ñîñòîÿíèå. Åãî ìîæíî ìîäèôèöèðîâàòü ñëåäóþùèì îáðàçîì: äîáàâèòü ñîñòîÿíèå qf , èç âñåõ ñîñòîÿíèé, îòêóäà ìîæíî ïîïàñòü â êîíå÷íîå, äîáàâèòü àíàëîãè÷íûé ïåðåõîä â qf . Äîáàâèòü åùå îäíî íåêîíå÷íîå ñîñòîÿíèå q∞ , è âñå øàãè èç qf íàïðàâèòü â q∞ , è èç q∞ âñå ïðàâèëà âåäóò â íåãî ñàìîãî. • Ïóñòü âåðøèíû ÍÊÀ ïðîíóìåðîâàíû ÷èñëàìè 1, 2, . . . , k . Âåðøèíà ñ íîìåðîì 1 íà÷àëüíàÿ, âåðøèíà ñ íîìåðîì k åäèíñòâåííàÿ êîíå÷íàÿ. • Îáîçíà÷èì ÷åðåç Di,j,s ìíîæåñòâî âñåõ ñëîâ, êîòîðûå ìîæíî ïðî÷èòàòü, íà ïóòè èç âåðøèíû i â j, åñëè ïî ïóòè ìîæíî çàõîäèòü òîëüêî â âåðøèíû c íîìåðàìè 1, 2, . . . , s . 28 / 34
  • 29. Ðåãóëÿðíîå âûðàæåíèå ïî àâòîìàòó (ïðîäîëæåíèå) • ßçûê, çàäàâàåìûé àâòîìàòîì D1,k,k . • Èíäóêöèåé ïî s äîêàçûâàåì ðåãóëÿðíîñòü âûðàæåíèÿ Di,j,s . • Áàçà s = 0. Di,j,0 ëèáî ïóñò ëèáî ñîñòîèò èç ïóñòîãî ñëîâà, ëèáî èç áóêâû • Êàê îïðåäåëèòü Di,j,s+1 ? Îòìåòèì âñå çàõîäû â ñîñòîÿíèå s + 1. • Di,j,s+1 = Di,j,s |(Di,s+1,s Ds+1,s+1,s ∗ Ds+1,j,s ) 29 / 34
  • 30. Èòîãî • ßçûêè çàäàâàåìûå íåäåòåðìèíèðîâàííûìè àâòîìàòàìè è äåòåðìèíèðîâàííûìè ñîâïàäàþò. • ßçûêè çàäàâàåìûå àâòîìàòàìè è ðåãóëÿðíûìè âûðàæåíèÿìè ñîâïàäàþò. • Òàêèå ÿçûêè íàçûâàþò: àâòîìàòíûìè èëè ðåãóëÿðíûìè. 30 / 34
  • 31. Àâòîìàòíûå ãðàììàòèêè Ïóñòü N ìíîæåñòâî íåòåðìèíàëüíûõ ñèìâîëîâ, à T ìíîæåñòâî òåðìèíàëüíûõ ñèìâîëîâ. S ∈N íà÷àëüíûé íåòåðìèíàëüíûé ñèìâîë. P ìíîæåñòâî ïðàâèë âèäà A → qB èëè A → q, ãäå A, B ∈ N, q ∈ T . Ïðàâèëà ìîæíî ïðèìåíÿòü äðóã çà äðóãîì è îñòàíîâèòñÿ, åñëè òåêóùåå ñëîâî íå ñîäåðæèò íåòåðìèíàëüíûõ ñèìâîëîâ. Ïðèìåð. N = {S, A}, T = {a, b}, P = {S → aA, A → b, A → aS}. Ìîæíî âûâîäèòü òàê: S → aA → aaS → aaaA → aaab . ßçûê: ñîñòîèò èç íå÷åòíîãî ÷èñëà áóêâ a, çà êîòîðîé ñëåäóåò b . Óïðàæíåíèå. Äîêàæèòå, ÷òî àâòîìàòíûå ãðàììàòèêè çàäàþò â òî÷íîñòè ðåãóëÿðíûå ÿçûêè. 31 / 34
  • 32. Pumping ëåììà Ëåììà ñ ïîìîùüþ êîòîðîé ìîæíî äîêàçàòü, ÷òî ÿçûê íå ÿâëÿåòñÿ àâòîìàòíûì. Ëåììà. Äëÿ ëþáîãî ðåãóëÿðíîãî ÿçûêà L ñóùåñòâóåò ÷èñëî n, ÷òî ëþáóþ ñòðîêó α ∈ L, |α| n ìîæíî ïðåäñòàâèòü â âèäå α = uvw , ãäå |v | 1 è äëÿ âñåõ k ñëîâî uv k w ∈ L. Äîêàçàòåëüñòâî. • Ïóñòü n ÷èñëî ñîñòîÿíèé äåòåðìèíèðîâàííîãî ÊÀ, ïðèíèìàþùåãî L; • Åñëè α ∈ L, |α| 3n + 1, òî â ïðîöåññå ïðèíÿòèÿ ñëîâà α êàêîå-òî ñîñòîÿíèå q âñòðåòèëîñü íå ìåíåå 3-õ ðàç. Îáîçíà÷èì ñòðî÷êó äî ïåðâîãî âõîæäåíèÿ â ñîñòîÿíèå q çà u , ñòðî÷êó ìåæäó ïåðâûì è ïîñëåäíèì ñîñòîÿíèåì q çà v , è îñòàâøóþñÿ ÷àñòü çà w . • Òàê êàê q âñòðåòèëîñü íå ìåíåå 3-õ ðàç, òî |v | 1. • k Î÷åâèäíî, ÷òî ñòðî÷êà uv w òîæå áóäåò ïðèíèìàòüñÿ. 32 / 34
  • 33. Ïðèìåð èñïîëüçîâàíèÿ pumping ëåììû Ïðèìåð. ßçûê L = { 11..1 |p − ïðîñòîå} íå ÿâëÿåòñÿ p øòóê ðåãóëÿðíûì. Äîêàçàòåëüñòâî. Åñëè áû îí áûë ðåãóëÿðíûì, òî íàøëîñü áû òàêîå n, ÷òî äëÿ p n 11..1 = uvw , |v | 1 è äëÿ âñåõ k p øòóê uv k w ∈ L. Ïóñòü |v | = d 1, |u| + |w | = a. Òîãäà ïðè âñåõ k 0 ÷èñëî kd + a äîëæíî áûòü ïðîñòûì. Âûáåðåì k = d + a + 1: (d + a + 1)d + a = (d + a)(d + 1) íå ÿâëÿåòñÿ ïðîñòûì. Çàäà÷à. ßâëÿåòñÿ ëè ÿçûê ïðîñòûõ ÷èñåë, çàïèñàííûõ â 10-é ñèñòåìå ñ÷èñëåíèÿ àâòîìàòíûì? 33 / 34
  • 34. Çàäà÷è • ßâëÿåòñÿ ëè ÿçûê {an b n c n |n ∈ N} ðåãóëÿðíûì? • ßâëÿåòñÿ ëè ÿçûê ïàëèíäðîìîâ ðåãóëÿðíûì? • Äîêàæèòå, ÷òî ÿçûê äåñÿòè÷íûõ ÷èñåë, äåëÿùèõñÿ íà 3 ÿâëÿåòñÿ ðåãóëÿðíûì. • Äîêàæèòå, ÷òî P = EXP. • Äîêàæèòå, ÷òî NL ⊆ P. Ãäå NL ÿçûê, ïðèíèìàåìûé ÍÌÒ, èñïîëüçóþùåé O(log n) ïàìÿòè. 34 / 34