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

41

Upload: computer-science-club

Post on 29-Jun-2015

6.077 views

Category:

Technology


1 download

TRANSCRIPT

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

ËÈÊÁÅÇ

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

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

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

âû÷èñëåíèé.

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

ÏÎÌÈ ÐÀÍ

23 ñåíòÿáðÿ 2007

1 / 41

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

Ïëàí

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

• Ýëåìåíòû òåîðèè ñëîæíîñòè: êëàññû P,LOGSPACE,NP.NP-ïîëíîòà.

2 / 41

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

Ëèòåðàòóðà

1 Í. Ê. Âåðåùàãèí, À. Øåíü. Âû÷èñëèìûå ôóíêöèè.

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

3 Ò. Êîðìåí, ×. Ëåéçåðñîí, Ð. Ðèâåñò. Àëãîðèòìû.Ïîñòðîåíèå è àíàëèç.

4 C.H. Papadimitriou. Computational complexity.

3 / 41

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

Âîïðîñ

Âîïðîñ

Âñå çíàþò, ÷òî• Ïîëèíîìèàëüíûå àëãîðèòìû ýôôåêòèâíû;• Íåèçâåñòíî ýôôåêòèâíîãî àëãîðèòìà ðàçëîæåíèÿíàòóðàëüíîãî ÷èñëà íà ìíîæèòåëè.

Ðàññìîòðèì ñëåäóþùèé àëãîðèòì ðàçëîæåíèÿ ÷èñëà n íàìíîæèòåëè:

• Ïåðåáèðàåì âñå 2 ≤ k ≤√

n;• Åñëè n äåëèòñÿ íà k , òî n = k · n

k .

Ñëîæíîñòü àëãîðèòìà íå ïðåâîñõîäèò√

n · n ≤ n2, ò.å.ïîëèíîìèàëüíà îò n. ÷åì ïðîáëåìà?

4 / 41

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

Îòâåò

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

Îïðåäåëåíèå

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

Õîðîøèé ëè àëãîðèòì, åñëè åãî ñëîæíîñòü n + C?

• Äà, îí ëèíåéíûé!• À åñëè C îïåðàöèé âûïîëíÿåòñÿ 1000 ëåò?

5 / 41

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

O, o, Ω, Θ

Îáîçíà÷åíèÿÔóíêöèè f , g : N→ R+

• f (n) = O(g(n)), åñëè ∃c > 0∃n0∀n > n0, f (n) < cg(n);

• f (n) = o(g(n)), åñëè limn→∞

f (n)g(n) = 0;

• f (n) = Ω(g(n)), åñëè ∃c > 0∃n0∀n > n0, f (n) > cg(n);• f (n) = Θ(g(n)), åñëè∃c1, c2 > 0∃n0∀n > n0, c1g(n) < f (n) < c2g(n);

f (n) = Θ(g(n)) ⇐⇒

f (n) = O(g(n))

g(n) = O(f (n))

6 / 41

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

Ïîëåçíî çíàòü

• 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

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

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

Àëãîðèòì

1 Îòñîðòèðîâàòü ïåðâóþ ïîëîâèíó ìàññèâà;

2 Îòñîðòèðîâàòü âòîðóþ ïîëîâèíó ìàññèâà;

3 Ðåçóëüòàò ñëèòü.

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

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

8 / 41

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

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

Òåîðåìà

T (n) =

d , n = 1

aT (dnbe) + Θ(nα), n > 1

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 (dn3e) + n: log3 9 = 2,T (n) = Θ(n2);

2 T (n) = 2T (dn2e) + cn: log2 2 = 1,T (n) = Θ(n log n);

3 T (n) = 2T (dn2e) + cn32 : log2 2 = 1,T (n) = Θ(n

32 ).

9 / 41

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

Èäåÿ äîêàçàòåëüñòâà

Äëÿ ïðîñòîòû ñ÷èòàåì, ÷òî n = bk ,T (n) = aT (nb ) + cnα.

T (n) = aT (nb ) + cnα = a(aT ( n

b2 ) + c(nb )α) + cnα

= c(nα + a nα

bα + a2 nα

b2α + · · ·+ ak nα

bkα )

= cnα(1 + ( abα ) + ( a

bα )2 + · · ·+ ( abα )k)

1 α < logb a ⇐⇒ a > bα ⇐⇒ abα > 1.

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

Θ(nlogb a);

2 α = logb a ⇐⇒ a = bα ⇐⇒ abα = 1.

T (n) = Θ(nαk) = Θ(nα logb n) = Θ(nlogb a log n);

3 α > logb a ⇐⇒ a < bα ⇐⇒ abα < 1.

T (n) = Θ(nα).

10 / 41

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

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

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

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

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

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

11 / 41

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

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

Àëôàâèò

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

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

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

12 / 41

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

ßçûêè è ôóíêöèè

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

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

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

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

13 / 41

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

Ìàøèíà Òüþðèíãà

• Áåñêîíå÷íàÿ â îäíó ñòîðîíó ëåíòà, ðàçäåëåííàÿ íà ÿ÷åéêè. ñàìîé ëåâîé ÿ÷åéêå íàïèñàí ñèìâîë ..

• Q êîíå÷íîå ìíîæåñòâî ñîñòîÿíèé. q0 ∈ Q íà÷àëüíîåñîñòîÿíèå. qf ∈ Q êîíå÷íîå ñîñòîÿíèå.

• Σ àëôàâèò ñèìâîëîâ, êîòîðûå ìîãóò áûòü çàïèñàíû íàëåíòå. ., ”_” ∈ Σ.

• Ãîëîâêà ìàøèíû óêàçûâàåò íà îäíó èç ÿ÷ååê ëåíòû• Ïðàâèëî ïåðåõîäà: δ : Σ× Q → Σ× Q × →,←, •• Ñîãëàñíî ïðàâèëó ïåðåõîäà ìàøèíà ïî ñèìâîëó, íàêîòîðûé óêàçûâàåò ãîëîâêà, è ïî òåêóùåìó ñîñòîÿíèþ,ïèøåò íà ýòî ìåñòî íîâûé ñèìâîë, ïåðåõîäèò â íîâîåñîñòîÿíèå è, âîçìîæíî, ñäâèãàåò ãîëîâêó íà 1 ñèìâîëâëåâî èëè âïðàâî.

• Íà÷èíàåò ðàáîòó â ñîñòîÿíèè q0, ãîëîâêà óêàçûâàåò íàïåðâûé ñèìâîë. Çàêàí÷èâàåò â ñîñòîÿíèè qf .

14 / 41

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

Ïðèìåð

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

Äëÿ ïðîñòîòû ñ÷èòàåì, ÷òî ÷èñëî çàïèñàíî çàäîì íàïåðåä.

• (q0, 0) 7→ (qf , 1, •);• (q0, 1) 7→ (q0, 0,→);• (q0,_) 7→ (qf , 1, •).

15 / 41

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

Ïðèìåð

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

Òåïåðü ÷èñëî çàïèñàíî íîðìàëüíî

• (q0, 0) 7→ (q0, 0,→);• (q0, 1) 7→ (q0, 1,→);• (q0,_) 7→ (q1,_,←);• (q1, 0) 7→ (qf , 1, •);• (q1, 1) 7→ (q1, 0,←);• (q1, .) 7→ (q2, .,→);• (q2, 0) 7→ (q3, 1,→);• (q3, 0) 7→ (q3, 0,→);• (q3,_) 7→ (qf , 0, •).

16 / 41

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

Ìàøèíà Òüþðèíãà

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

17 / 41

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

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

Âðåìÿ

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

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

Ïàìÿòü

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

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

18 / 41

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

Ìíîãîëåíòî÷íàÿ ìàøèíà Òüþðèíãà

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

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

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

19 / 41

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

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

• Ïðàâèëà ïåðåõîäà íåîäíîçíà÷íû. Âîçìîæíî, ÷òîñóùåñòâóåò íåñêîëüêî ïðàâèë äëÿ îäíîé ïàðû (ñèìâîë,ñîñòîÿíèå);

• ÍÌÒ ïðèíèìàåò ñëîâî x , åñëè ñóùåñòâóåòïîñëåäîâàòåëüíîñòü ëåãàëüíûõ øàãîâ, ïðèâîäÿùèõ âñîñòîÿíèå qyes ;

• Îïðåäåëåíèå íå ñèììåòðè÷íî îòíîñèòåëüíî îòâåòîâ yes èno;

• Ìîæíî ñ÷èòàòü, ÷òî ìàøèíà ñíàáæåíà äîïîëíèòåëüíîéëåíòîé, äîñòóïíîé òîëüêî äëÿ ÷òåíèÿ ñëåâà íàïðàâî. Íàýòîé ëåíòå çàïèñàíà ïîäñêàçêà (êàêîå èç ïðàâèë ñåé÷àñïðèìåíÿòü). Ìàøèíà ïðèíèìàåò x , åñëè ñóùåñòâóåòïîäñêàçêà, ñ êîòîðîé îíà ïîïàäåò â ñîñòîÿíèå qyes ;

• Ìîæíî äîêàçàòü, ÷òî åñëè íåêîòîðàÿ ÍÌÒ ïðîâåðÿåòïðèíàäëåæíîñòü ÿçûêó L, òî ñóùåñòâóåò èäåòåðìèíèðîâàííàÿ ÌÒ, ïðîâåðÿþùàÿ ïðèíàäëåæíîñòüÿçûêó L. 20 / 41

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

Ñëîæíîñòíûå ïàðàìåòðû ÍÌÒ

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

21 / 41

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

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

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

22 / 41

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

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

• Ìàøèíó Òüþðèíãà ìîæíî çàïèñàòü: àëôàâèò, ñîñòîÿíèÿ,ïðàâèëà... Êàæäîé ÌÒ ñîîòâåòñòâóåò ñòðî÷êà â íåêîòîðîìàëôàâèòå.

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

23 / 41

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

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

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

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

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

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

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

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

24 / 41

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

Ïðîñòåéøèå ñâîéñòâà

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

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

25 / 41

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

Âîïðîñû

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

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

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

Äà.

26 / 41

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

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

• Âñå çàïèñè ìàøèí Òüþðèíãà ìîæíî ïåðåíóìåðîâàòü ñïîìîùüþ àëãîðèòìà.

• Çàïèñü < n > îáîçíà÷àåò ÌÒ ñ íîìåðîì n.• Ðàññìîòðèì ÿçûê

L = n| < n > íå îñòàíàâëèâàåòñÿ íà âõîäå n• Ïóñòü L ïåðå÷èñëèì àëãîðèòìîì ñ íîìåðîì k .• Åñëè k ∈ L, òî < k > íå îñòàíàâëèâàåòñÿ íà k =⇒ < k >íå ïåðå÷èñëÿåò L.

• Åñëè k 6∈ L, òî < k > îñòàíàâëèâàåòñÿ íà k =⇒ < k > íåïåðå÷èñëÿåò L.

• Ïðîòèâîðå÷èå. Çíà÷èò L íå ïåðå÷èñëÿåòñÿ íèêàêèìàëãîðèòìîì.

• L àëãîðèòìè÷åñêè íåðàçðåøèì.

27 / 41

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

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

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

• L = n| < n > îñòàíàâëèâàåòñÿ íà âõîäå n;• L íåðàçðåøèì, òàê êàê èíà÷å è ÿçûê L áûë áûðàçðåøèìûì;

• L ïåðå÷èñëèì: ìîäåëèðóåì ìàøèíó < n > íà âõîäå n èæäåì, ïîêà îíà îñòàíîâèòñÿ.

28 / 41

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

Êîììåíòàðèé

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

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

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

Åñëè áû çàäà÷à îñòàíîâêè áûëà áû ðàçðåøèìà, òî ìîæíî áûëîáû äîêàçàòü Âåëèêóþ òåîðåìó Ôåðìà òàê:

1 Ìàøèíà M íà ïóñòîì âõîäå ïåðåáèðàåò âñåx , y , z , n ∈ N, n > 2 è îñòàíàâëèâàåòñÿ, åñëè xn + yn = zn.

2 Óçíàåì, îñòàíàâëèâàåòñÿ ëè ìàøèíà M íà ïóñòîì âõîäå.

29 / 41

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

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

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

30 / 41

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

LogSpace ⊆ P

• LogSpace ýòî êëàññ ÿçûêîâ, êîòîðûå ðàñïîçíàþòñÿìàøèíàìè, êîòîðûå èñïîëüçóþò O(log n) ïàìÿòè. (Âõîä èâûõîä íå ñ÷èòàþòñÿ, ìîæíî ñ÷èòàòü, ÷òî äëÿ íèõ åñòüîòäåëüíàÿ ëåíòà).

• Äîêàæåì, ÷òî LogSpace ⊆ P.• Êîíôèãóðàöèÿ ÌÒ: ñîäåðæèìîå ëåíò, òåêóùåå ñîñòîÿíèå,ïîëîæåíèå ãîëîâêè.

• Ó LogSpace-ìàøèíû ñîñòîÿíèé |Q| = O(1);• ïîëîæåíèé ãîëîâêè O(n2);• ñîäåðæèìîãî ëåíò: |Σ|c log n = O(nc);• Èòîãî: O(nc+2) êîíôèãóðàöèè.• Åñëè äâå êîíôèãóðàöèè ïîâòîðèëèñü, òî ìàøèíà íåçàêîí÷èò ðàáîòó.

• Âûâîä: âðåìÿ ðàáîòû òàêîé ìàøèíû ïîëèíîìèàëüíî.

31 / 41

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

Êëàññû 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

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

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

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

1 RSAT : ïàðû (ôîðìóëà â ÊÍÔ, åå âûïîëíÿþùèé íàáîð).((x ∨ y) ∧ (¬x ∨ ¬y), [x 7→ 1, y 7→ 0]) ∈ RSAT

2 RHAM : ïàðû (ãðàô, åãî Ãàìèëüòîíîâ ïóòü);

3 RCLIQUE : ïàðû (ãðàô + ÷èñëî k , åãî êëèêà ðàçìåðà k);

4 R3−COLORIG : ïàðû (ãðàô, ðàñêðàñêà åãî âåðøèí â 3 öâåòàïðàâèëüíûì îáðàçîì);

33 / 41

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

P vs NP

Ïðåäëîæåíèå: P ⊆ NP

Åñëè L ∈ P, ìîæíî ðàññìîòðåòü R = (x , λ), x ∈ L, ãäå λ ïóñòîå ñëîâî.

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

Îòêðûòûé âîïðîñ: ÿâëÿåòñÿ ëè âêëþ÷åíèå P ⊆ NPñòðîãèì

34 / 41

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

Ñâåäåíèÿ

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

Çàäà÷à ïîèñêà 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

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

NP-òðóäíûå çàäà÷è

Îïðåäåëåíèå

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

36 / 41

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

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

Îïðåäåëèì îòíîøåíèå RBH :(< M, x , 11 . . . 1︸ ︷︷ ︸

t øòóê>, y) ∈ RBH ⇐⇒ ÌÒ M íà âõîäå (x , y)

îñòàíàâëèâàåòñÿ çà íå áîëåå, ÷åì t øàãîâ â ïðèíèìàþùåìñîñòîÿíèè (qyes).

Òåîðåìà: RBH åñòü NP-ïîëíàÿ

• RBH ∈ NP, òàê êàê ìîæíî ïðîâåðèòü çà ïîëèíîìèàëüíîåâðåìÿ ìîäåëèðîâàíèåì;

• RBH ïîëèíîìèàëüíî îãðàíè÷åííî: |y | < t;

• Ïóñòü R ∈ NP, ïóñòü A ïðîâåðÿþùàÿ ÌàøèíàÒüþðèíãà, îãðàíè÷åííàÿ ïîëèíîìîì nk .

• Ñâåäåíèå: x 7→< A, x , 11 . . . 1︸ ︷︷ ︸nk øòóê

>

37 / 41

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

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

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

38 / 41

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

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

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

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

Îïðåäåëåíèå

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

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

39 / 41

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

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

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

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

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

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

40 / 41

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

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

1 Äîêàæèòå, ÷òî íåò àëãîðèòìà, êîòîðûé îïðåäåëÿë áû,çàêîí÷èò ëè ÌÒ ðàáîòó íà ïóñòîì âõîäå.

2 Ñóùåñòâóåò ëè àëãîðèòì, ïðîâåðÿþùèé, ðàáîòàåò ëèäàííàÿ ÌÒ ïîëèíîìèàëüíîå âðåìÿ èëè íåò?

3 Äîêàæèòå, ÷òî íå ñóùåñòâóåò àëãîðèòìà, êîòîðûéîïðåäåëèë áû ïî ÌÒ M îïðåäåëèë áû, ÿâëÿåòñÿ ëèïîñëåäîâàòåëüíîñòü M(1),M(2),M(3) . . . ïåðèîäè÷åñêîé ñíåêîòîðîãî ìåñòà.

4 Äîêàæèòå NP-ïîëíîòó ìîäèôèöèðîâàííîé çàäà÷è îáîãðàíè÷åííîé îñòàíîâêå: (< M, x >, y) ∈ R ′

BH , åñëè ÌÒ Mîñòàíàâëèâàåòñÿ â ïðèíèìàþùåì ñîñòîÿíèè çà íå áîëåå,÷åì |x |2 øàãîâ.

41 / 41