SlideShare a Scribd company logo
1 of 35
Download to read offline
ËÈÊÁÅÇ
        Ëåêöèÿ 3:
Ïðîïîçèöèîíàëüíàÿ ëîãèêà.
(Èñ÷èñëåíèå âûñêàçûâàíèé.)



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


         ÏÎÌÈ ÐÀÍ

       7 îêòÿáðÿ 2007




                             1 / 35
Ïëàí


1 Ôîðìóëû èñ÷èñëåíèÿ âûñêàçûâàíèé
2 Áóëåâû ôóíêöèè è èõ ïðåäñòàâëåíèå â ÊÍÔ è ÄÍÔ
3 Èíòåðïðåòàöèè, âûïîëíèìûå, ïðîòèâîðå÷èâûå ôîðìóëû,
    òàâòîëîãèè

4 Ïîëèíîìèàëüíûå ôðàãìåíòû: 2-SAT è õîðíîâñêèå
    ôîðìóëû

5 Ïðîïîçèöèîíàëüíûå ñèñòåìû äîêàçàòåëüñòâ
6 Ðåçîëþöèîííàÿ ñèñòåìà äîêàçàòåëüñòâ
7 Ìåòîä ðåçîëþöèé è divide and conquer àëãîðèòìû
8   NP   vs coNP

9 Áóëåâû ñõåìû è ñëîæíîñòü áóëåâûõ ôóíêöèé
10 Ïðåäèêàòíûå ôîðìóëû, èíòåðïðåòàöèè è ìîäåëè


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




1 Í.Ê. Âåðåùàãèí, À. Øåíü. ßçûêè è èñ÷èñëåíèÿ.
2 Ì.Â. Äìèòðèåâà. Ìåòîäû ðåøåíèÿ çàäà÷ èñêóññòâåííîãî
  èíòåëëåêòà. Àâòîìàòè÷åñêîå äîêàçàòåëüñòâî òåîðåì.




                                                        3 / 35
ßçûê ïðîïîçèöèîíàëüíûõ ôîðìóë

Γ  áåñêîíå÷íîå ìíîæåñòâî      ïðîïîçèöèîíàëüíûõ ïåðåìåííûõ.
Γ = {x1 , x2 , x3 , . . . }.
  •   Ïðîïîçèöèîíàëüíàÿ ïåðåìåííàÿ ÿâëÿåòñÿ
      ïðîïîçèöèîíàëüíîé ôîðìóëîé

  •   Åñëè   A    ïðîïîçèöèîíàëüíàÿ ôîðìóëà, òî   (A)    òîæå
      ïðîïîçèöèîíàëüíàÿ ôîðìóëà.

  •   Åñëè   A    ïðîïîçèöèîíàëüíàÿ ôîðìóëà, òî   ¬A     òîæå
      ïðîïîçèöèîíàëüíàÿ ôîðìóëà.

  •   Åñëè   A, B    ïðîïîçèöèîíàëüíûå ôîðìóëû, òî      A∧B   
      òîæå ïðîïîçèöèîíàëüíàÿ ôîðìóëà.

  •   Åñëè   A, B    ïðîïîçèöèîíàëüíûå ôîðìóëû, òî      A∨B   
      òîæå ïðîïîçèöèîíàëüíàÿ ôîðìóëà.

  •   Åñëè   A, B    ïðîïîçèöèîíàëüíûå ôîðìóëû, òî      A→B   
      òîæå ïðîïîçèöèîíàëüíàÿ ôîðìóëà.


                                                                   4 / 35
Ïðèìåðû ïðîïîçèöèîíàëüíûõ ôîðìóë




• x1 ;
• x1 ∧ ¬x1 ;
• x1 ∨ ¬x1 ;
• (x1 ∨ x2 ) → x3 ;
• (x1 ∨ ¬x2 ) ∧ (¬x1 ∨ x3 ) ∧ (x3 ∨ x2 );
• (x1 ∧ ¬x2 ) ∨ (¬x1 ∧ x3 ) ∨ (x3 ∧ x2 );




                                            5 / 35
Òàáëèöû èñòèííîñòè



                          ¬
                      a    ¬a
                      0   1
                      1   0


        ∨                 ∧               →
a   b       a∨b   a   b       a∧b   a   b  a→b
0   0       0     0   0       0     0   0   1
0   1       1     0   1       0     0   1   1
1   0       1     1   0       0     1   0   0
1   1       1     1   1       1     1   1   1




                                                 6 / 35
Èíòåðïðåòàöèÿ


Ïóñòü       ϕ  ïðîïîçèöèîíàëüíàÿ ôîðìóëà ñ ïåðåìåííûìè
x 1 , x2 , . . . , x n .
Èíòåðïðåòàöèåé ôîðìóëû ϕ íàçûâàåòñÿ îòîáðàæåíèå
σ : {x1 , x2 , . . . , xn } → {0, 1}.
Çíà÷åíèå ôîðìóëû Iσ (ϕ) ïðè çàäàííîé èíòåðïðåòàöèè
îïðåäåëÿåòñÿ èíäóêòèâíî ïî ïîñòðîåíèþ ôîðìóëû:

  • Iσ (xi ) = σ(xi );
  • Iσ ((A)) = Iσ (A);
  • Iσ (¬A) = ¬Iσ (A);
  • Iσ (A ∧ B) = Iσ (A) ∧ Iσ (B);
  • Iσ (A ∨ B) = Iσ (A) ∨ Iσ (B);
  • Iσ (A → B) = Iσ (A) → Iσ (B).


                                                          7 / 35
Áóëåâû ôóíêöèè


Îïðåäåëåíèå. Áóëåâîé ôóíêöèåé ìû íàçûâàåì ôóíêöèþ èç
{0, 1}n   â   {0, 1}.
Çàìå÷àíèå. Êàæäàÿ ïðîïîçèöèîíàëüíàÿ ôîðìóëà îò                       n
ïåðåìåííûõ çàäàåò áóëåâó ôóíêöèþ èç              {0, 1}n   â   {0, 1}.
Ïðèìåðû.

  •   Parity (÷åòíîñòü):   f (x1 , x2 , . . . , xn ) = x1 + x2 + · · · + xn mod 2
  •   Majority (áîëüøèíñòâî):
                                                                  n
                            1,     åñëè   x 1 + x2 + · · · + x n ≥
    f (x1 , x2 , . . . , xn ) =                                    2
                                 0, åñëè x + x + · · · + x  n
                                             1       2        n
                                                                   2
                                 1, åñëè x1 x2 . . . xn − ïðîñòîå ÷èñëî
  • f (x1 , x2 , . . . , xn ) =
                                 0, èíà÷å


                                                                                    8 / 35
ÊÍÔ è ÄÍÔ


Îïðåäåëåíèå. Ëèòåðàëîì íàçûâàåòñÿ ïðîïîçèöèîíàëüíàÿ
ïåðåìåííàÿ èëè åå îòðèöàíèå:      xi , ¬xi .
Îïðåäåëåíèå. Äèçúþíêòîì èëè êëîçîì íàçûâàåòñÿ äèçúþíêöèÿ
íåñêîëüêèõ (âîçìîæíî îäíîãî) ëèòåðàëîâ:        (x1 ∨ ¬x2 ∨ x3 ).
Îïðåäåëåíèå. Ôîðìóëîé â ÊÍÔ íàçûâàåòñÿ êîíúþíêöèÿ
íåñêîëüêèõ (âîçìîæíî îäíîãî) äèçúþíêòîâ:
(x1 ∨ ¬x2 ∨ x3 ) ∧ (¬x1 ∨ ¬x3 ) ∧ ¬x1 .
Îïðåäåëåíèå. Êîíúþíêòîì èëè ìîíîìîì íàçûâàåòñÿ
êîíúþíêöèÿ íåñêîëüêèõ (âîçìîæíî îäíîãî) ëèòåðàëîâ:
(x1 ∧ ¬x2 ∧ x3 ).
Îïðåäåëåíèå. Ôîðìóëîé â ÄÍÔ íàçûâàåòñÿ äèçúþíêöèÿ
íåñêîëüêèõ (âîçìîæíî îäíîãî) êîíúþíêòîâ:
(x1 ∧ ¬x2 ∧ x3 ) ∨ (¬x1 ∧ ¬x3 ) ∨ ¬x1 .


                                                                   9 / 35
Ïðåäñòàâëåíèå áóëåâûõ ôóíêöèé
                                           ôîðìóëàìè

Òåîðåìà. Ëþáóþ áóëåâó ôóíêöèþ ìîæíî çàïèñàòü â âèäå
ïðîïîçèöèîíàëüíîé ôîðìóëû â ÊÍÔ è ÄÍÔ.
Èëëþñòðàöèÿ.
        f (x1 , x2 , x3 )       Ôîðìóëà â ÄÍÔ:
 x1   x2 x3 f (x1 , x2 , x3 )   (¬x1 ∧ ¬x2 ∧ ¬x3 )∨
 0    0     0    1              (¬x1 ∧ ¬x2 ∧ x3 )∨
 0    0     1    1              (x1 ∧ ¬x2 ∧ ¬x3 )
 0    1     0    0              Ôîðìóëà â ÊÍÔ:
 0    1     1    0              (x1 ∨ ¬x2 ∨ x3 )∧
 1    0     0    1              (x1 ∨ ¬x2 ∨ ¬x3 )∧
 1    0     1    0              (¬x1 ∨ x2 ∨ ¬x3 )∧
 1    1     0    0              (¬x1 ∨ ¬x2 ∨ x3 )∧
 1    1     1    0              (¬x1 ∨ ¬x2 ∨ ¬x3 )

                                                       10 / 35
Ôîðìóëû äå Ìîðãàíà




   •   çíà÷åíèå    ¬(A ∨ B)     ñîâïàäàåò ñî çíà÷åíèåì            (¬A ∧ ¬B)
   •   çíà÷åíèå    ¬(A ∧ B)     ñîâïàäàåò ñî çíà÷åíèåì            (¬A ∨ ¬B)
Ñëåäñòâèå. Îòðèöàíèå ôîðìóëû â ÄÍÔ åñòü ôîðìóëà â ÊÍÔ
Äîêàçàòåëüñòâî.
¬((l1,1 ∧ l1,2 ∧ · · · ∧ l1,n1 ) ∨ (l2,1 ∧ l2,2 ∧ · · · ∧ l2,n2 ) ∨ . . .
∨(lk,1 ∧ lk,2 ∧ · · · ∧ lk,nk ))
ìîæíî ïåðåïèñàòü â âèäå
(¬l1,1 ∨ ¬l1,2 ∨ · · · ∨ ¬l1,n1 ) ∧ (¬l2,1 ∨ ¬l2,2 ∧ · · · ∨ ¬l2,n2 ) ∧ . . .
∧(¬lk,1 ∨ ¬lk,2 ∨ · · · ∨ ¬lk,nk )




                                                                                11 / 35
Âûïîëíèìîñòü, îáùåçíà÷èìîñòü,
                                 ïðîòèâîðå÷èâîñòü


Îïðåäåëåíèå. Ïðîïîçèöèîíàëüíàÿ ôîðìóëà íàçûâàåòñÿ
âûïîëíèìîé , åñëè ñóùåñòâóåò òàêàÿ èíòåðïðåòàöèÿ, ïðè
êîòîðîé çíà÷åíèå ôîðìóëû ðàâíÿåòñÿ   1.
Îïðåäåëåíèå. Ïðîïîçèöèîíàëüíàÿ ôîðìóëà íàçûâàåòñÿ
íåâûïîëíèìîé (èëè ïðîòèâîðå÷èâîé) , åñëè ïðè âñåõ
èíòåðïðåòàöèÿõ çíà÷åíèå ôîðìóëû ðàâíÿåòñÿ   0.
Îïðåäåëåíèå. Ïðîïîçèöèîíàëüíàÿ ôîðìóëà íàçûâàåòñÿ
îáùåçíà÷èìîé (èëè òàâòîëîãèåé) , åñëè ïðè âñåõ
èíòåðïðåòàöèÿõ çíà÷åíèå ôîðìóëû ðàâíÿåòñÿ   1.
Îïðåäåëåíèå. Ïðîïîçèöèîíàëüíàÿ ôîðìóëà íàçûâàåòñÿ
íåîáùåçíà÷èìîé   , åñëè ïðè ñóùåñòâóåò èíòåðïðåòàöèÿ, ïðè
êîòîðîé çíà÷åíèå ôîðìóëû ðàâíÿåòñÿ   0.


                                                            12 / 35
Î ñëîæíîñòè...



•   Çàäà÷à îïðåäåëåíèÿ ïî ôîðìóëå â ÊÍÔ, âûïîëíèìà ëè
    îíà, ÿâëÿåòñÿ ñëîæíîé (NP-òðóäíîé).

•   Ïðîâåðèòü ôîðìóëó â ÊÍÔ, ÿâëÿåòñÿ ëè îíà òàâòîëîãèåé,
    î÷åíü ïðîñòî. Äîñòàòî÷íî ïðîâåðèòü, ÷òî â êàæäîì
    äèçúþíêòå åñòü ïàðà: ïåðåìåííàÿ è åå îòðèöàíèå.

•   Çàäà÷à îïðåäåëåíèÿ ïî ôîðìóëå â ÄÍÔ, âûïîëíèìà ëè
    îíà, ÿâëÿåòñÿ ïðîñòîé: äîñòàòî÷íî ïðîâåðèòü, åñòü ëè â
    íåé êîíúþíêò, â êîòîðûé îäíîâðåìåííî íå âõîäèò
    ïåðåìåííàÿ è åå îòðèöàíèå.

•   Ïðîâåðèòü ôîðìóëó â ÄÍÔ, ÿâëÿåòñÿ ëè îíà òàâòîëîãèåé,
    ñëîæíî (NP-òðóäíî).




                                                             13 / 35
Ïîëèíîìèàëüíûå ôðàãìåíòû
Îïðåäåëåíèå. Ôîðìóëà â ÊÍÔ íàçûâàåòñÿ õîðíîâñêîé , åñëè â
êàæäé äèçúþíêò íå áîëåå îäíîé ïåðåìåííîé âõîäèò áåç
îòðèöàíèÿ. Ïðèìåð:
(¬x1 ∨ ¬x2 ∨ x3 ) ∧ (¬x1 ∨ x2 ) ∧ (¬x2 ∨ ¬x4 ) ∧ (x3 ).
Òåîðåìà. Âûïîëíèìîñòü õîðíîâñêîé ôîðìóëû ìîæíî ïðîâåðèòü
çà ïîëèíîìèàëüíîå âðåìÿ.
Äîêàçàòåëüñòâî. Âõîä: õîðíîâñêàÿ ôîðìóëó         ϕ
  1 Ïóñòü    U  äèçúþíêòû, ñîñòîÿùèå èç îäíîãî ëèòåðàëà.
  2   Åñëè x ∈ U è ¬x ∈ U , òî ôîðìóëà íåâûïîëíèìà.

  3   Ïîäñòàâèòü â ϕ ïðàâèëüíîå çíà÷åíèå äëÿ âñåõ ëèòåðàëîâ
      èç U .

  4   Åñëè U íå ïóñòî, âåðíóòüñÿ ê øàãó 1.

  5 Ïîñëå ïîäñòàíîâîê õîðíîâñêàÿ ôîðìóëà îñòàëàñü
      õîðíîâñêîé. Çíà÷èò, òåïåðü âñå äèçúþíêòû ñîäåðæàò
      áîëåå, ÷åì 1 ïåðåìåííóþ è õîòÿ áû îäíó ñ îòðèöàíèåì.

  6 Ïîäñòàâèì    0   âìåñòî âñåõ ïåðåìåííûõ.
                                                              14 / 35
Ïîëèíîìèàëüíûå ôðàãìåíòû: 2-SAT

Îïðåäåëåíèå. 2-SAT - ýòî ÿçûê âûïîëíèìûõ ôîðìóë â 2-ÊÍÔ.
Íàïðèìåð:      (x1 ∨ ¬x2 ) ∧ (x3 ∨ ¬x2 ) ∧ (x1 )
Òåîðåìà. Ðàñïîçíàòü ÿçûê         2 − SAT ìîæíî              çà ïîëèíîìèàëüíîå
(ëèíåéíîå) âðåìÿ.
Äîêàçàòåëüñòâî.

  •   Èçáàâèìñÿ îò âñåõ îäíîýëåìåíòíûõ äèçúþíêòîâ
      ïîäñòàíîâêîé â íèõ ïðàâèëüíîãî çíà÷åíèÿ.

  •   Ñîïîñòàâèì ôîðìóëå ñ             n       ïåðåìåííûìè x1 , x2 , . . . , xn
      îðèåíòèðîâàííûé ãðàô ñ                   2n âåðøèíàìè:
      x1 , x2 , . . . , xn , ¬x1 , ¬x2 , . . . , ¬xn .
  •   Åñëè ôîðìóëà ñîäåðæèò äèçúþíêò                    (a ∨ b),   òî ñîåäèíèì
      ðåáðîì:    (¬a, b)    è   (¬b, a)
      Ñìûñë: Åñëè åñòü ðåáðî              (x, y )   è ìû ïðèñâîèëè çíà÷åíèå
      x := 1,   òî ìû îáÿçàíû ïðèñâîèòü çíà÷åíèå                   y := 1.

                                                                                  15 / 35
2-SAT: ïîëèíîìèàëüíûé àëãîðèòì


•   Ãðàô îáëàäàåò ñâîéñòâîì êîñîñèììåòðè÷íîñòè: åñëè åñòü
    ïóòü èç     a   â   b,   òî åñòü ïóòü èç        ¬b    â   ¬a.
•   Åñëè â ãðàôå åñòü ïóòü èç â                    ¬a   è èç    ¬a   â   a,   òî ôîðìóëà
    íåâûïîëíèìà (íå ïðèñâîèòü çíà÷åíèå ïåðåìåííîé                                    a).
    Ïîêàæåì, ÷òî åñëè òàêèõ                   a   íåò, òî ôîðìóëà âûïîëíèìà.

•   Èíäóêöèÿ ïî ÷èñëó äèçúþíêòîâ. Áàçà: 1 äèçúþíêò.

•   Ïóñòü   x   òàêîé ëèòåðàë, ÷òî íåò ïóòè èç                    x â ¬x . Ïóñòü Vx            
    ìíîæåñòâî âåðøèí, äîñòèæèìûõ èç                           x (x ∈ Vx ).
•   Ïîäñòàâèì âñåì ëèòåðàëàì èç                      Vx   çíà÷åíèå        1.
•   Ïîëó÷èâøàÿñÿ ôîðìóëà íå ñîäåðæèò îäíîýëåìåíòíûõ
    äèçúþêíòîâ.

•   Êîíôëèêòîâ íå áûëî: åñëè èç                     x   áûë ïóòü â        y    è â   ¬y ,   òî èç
    y   áûë ïóòü â       ¬x ,   ò.å. èç   x   áûë ïóòü â        ¬x ,   ïðîòèâîðå÷èå.


                                                                                                    16 / 35
Ïðîïîçèöèîíàëüíûå ñèñòåìû
                                     äîêàçàòåëüñòâ



•   Ìû äîêàçûâàåì, ÷òî ôîðìóëà ÿâëÿåòñÿ òàâòîëîãèåé.
    (Èíîãäà, ÷òî åå îòðèöàíèå ÿâëÿåòñÿ ïðîòèâîðå÷èåì).

•   Äîêàçàòåëüñòâî  ýòî ñòðîêà.

•   Äîêàçàòåëüñòâî ìîæíî ëåãêî ïðîâåðèòü (çà
    ïîëèíîìèàëüíîå âðåìÿ). Íàéòè äîêàçàòåëüñòâî, âîçìîæíî,
    ñëîæíî.

•   Êîððåêòíîñòü: åñëè ôîðìóëà èìååò äîêàçàòåëüñòâî, òî îíà
    òàâòîëîãèÿ.

•   Ïîëíîòà: âñå òàâòîëîãèè èìåþò äîêàçàòåëüñòâà.




                                                              17 / 35
Ãèëüáåðòîâñêàÿ ñèñòåìà H
11 ñõåì àêñèîì:
 1. A → (B → A)
 2. (A → (B → C )) → ((A → B) → (A → C ))
 3. (A ∧ B) → A
 4. (A ∧ B) → B
 5. A → (B → (A ∧ B))
 6. A → (A ∨ B)
 7. B → (A ∨ B)
 8. (A → C ) → ((B → C ) → (A ∨ B → C ))
 9. ¬A → (A → B)
 10. (A → B) → ((A → ¬B) → ¬A)
 11. A ∨ ¬A
Ïðàâèëî âûâîäà (modus ponens):


                        A; (A → B)
                             B

                                                 18 / 35
Ðåçîëþöèîííàÿ ñèñòåìà




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

•   Ïðèâåäåì ôîðìóëó â ÄÍÔ ýêâèâàëåíòíûìè
    ïðåîáðàçîâàíèÿìè.

•   Ôîðìóëà â ÄÍÔ - òàâòîëîãèÿ     ⇐⇒   åå îòðèöàíèå -
    ïðîòèâîðå÷èå â ÊÍÔ.




                                                         19 / 35
Ïðèâåäåíèå ôîðìóëû â ÄÍÔ



  •   Èçáàâëÿåìñÿ îò èìïëèêàöèè:   A→B    çàìåíÿåì íà    ¬A ∨ B .
  •   Ïî ïðàâèëàì äå Ìîðãàíà ïðîíîñèì îòðèöàíèÿ äî
      ïåðåìåííûõ

  •   Ïîëüçóÿñü äèñòðèáóòèâíîñòüþ   A ∧ (C ∨ D) = A ∧ C ∨ A ∧ D
      ðàñêðûâàåì ñêîáêè.

  •   Óïðîùàåì, âûêèäûâàÿ íåâûïîëíèìûå êîíúþíêòû

Ïðèìåð. ((A ∨ C ) → B) ∧ (A ∨ C )
èçáàâëÿåìñÿ îò èìïëèêàöèè:  (¬(A ∨ C ) ∨ B) ∧ (A ∨ C )
ïðîíîñèì îòðèöàíèÿ: ((¬A ∧ ¬C ) ∨ B) ∧ (A ∨ C )
ðàñêðûâàåì ñêîáêè:
(¬A ∧ ¬C ∧ A) ∨ (¬A ∧ ¬C ∧ C ) ∨ (B ∧ A) ∨ (B ∧ C )
óïðîùàåì: (B ∧ A) ∨ (B ∧ C )



                                                                    20 / 35
Ðåçîëþöèè



Ñ ïîìîùüþ ìåòîäà ðåçîëþöèé ìû ïîêàçûâàåì
ïðîòèâîðå÷èâîñòü ôîðìóëû â ÊÍÔ. Âûâîäèì ïðîòèâîðå÷èå èç
ìíîæåñòâà äèçúþíêòîâ. Øàã çà øàãîì âûâîäèì íîâûå
äèçúþíêòû èç óæå èìåþùèõñÿ ïî ïðàâèëó:


                             (A ∨ x); (B ∨ ¬x)
                                               ,
                                 (A ∨ B)
ãäå   A   è   B   íå ñîäåðæàò êîíôëèêòóþùèõ ëèòåðàëîâ.
Êîððåêòíîñòü: åñëè âûïîëíèìû           (A ∨ x)     è   (B ∨ ¬x),   òî
âûïîëíèì è         (A ∨ B)
Äîêàçàòåëüñòâî:         âûâîä ïóñòîãî äèçúþíêòà




                                                                        21 / 35
Ïðèìåð




(x1 ∨¬x2 )∧(¬x1 ∨x2 )∧(x2 ∨¬x3 )∧(x3 ∨¬x2 )∧(x1 ∨x3 )∧(¬x1 ∨¬x3 )
      (x1 ∨¬x2 );(x2 ∨¬x3 )
  1        (x1 ∨¬x3 )
      (x1 ∨¬x3 );(x1 ∨x3 )
  2           (x1 )
      (x1 );(¬x1 ∨x2 )
  3         (x2 )
      (x2 );(¬x2 ∨x3 )
  4         (x3 )
      (x3 );(¬x1 ∨¬x3 )
  5         (¬x1 )
      (x1 );(¬x1 )
  6




                                                                    22 / 35
Ïîëíîòà ìåòîäà ðåçîëþöèé
Òåîðåìà. Èç ìíîæåñòâà äèçúþíêòîâ ëþáîé ïðîòèâîðå÷èâîé
ôîðìóëû â ÊÍÔ ìîæíî ïî ïðàâèëàì ðåçîëþöèè âûâåñòè
ïóñòîé äèçúþíêò        .
Äîêàçàòåëüñòâî. Äîêàçûâàåì èíäóêöèåé ïî ÷èñëó ïåðåìåííûõ.
  •   Åñëè ïåðåìåííàÿ îäíà è ôîðìóëà ïðîòèâîðå÷èâà, òî â íåé
                                                           (x);(¬x)
      åñòü äèçúþíêòû       (x)   è   (¬x).   Ïðèìåíÿåì                .
  •   Ïåðåõîä. Âûáåðåì ïåðåìåííóþ                x.   Ñäåëàåì ïîäñòàíîâêó
      x := 1   âî âñå äèçúþíöêèè. Âûïîëíåííûå äèçúþíêöèè
      âûêèíåì.
  •   Ïîäñòàâëåííàÿ ôîðìóëà òîæå ïðîòèâîðå÷èâà. Ïî
      èíäóêöèîííîìó ïðåäëîæåíèþ, ñóùåñòâóåò âûâîä ïóñòîé
      äèçúþíêöèè       .
  •   Êîãäà ìû âåðíåì ëèòåðàë              ¬x   âî âñå äèçúþíêöèè,
      ïîëó÷èòñÿ ëèáî êîððåêòíûé âûâîä ïðîòèâîðå÷èÿ                        , ëèáî
      âûâîä    (¬x).
  •   Àíàëîãè÷íî, äåëàÿ ïîäñòàíîâêó              x := 0,   ïîëó÷èì ëèáî
                                                                            x;¬x
      âûâîä     , ëèáî âûâîä         x,   îñòàåòñÿ ïðèìåíèòü ïðàâèëî               .
                                                                                       23 / 35
Àëãîðèòìû divide and conquer



Àëãîðèòì äëÿ ïðîâåðêè ôîðìóëû íà âûïîëíèìîñòü. Ñõåìà
àëãîðèòìà:
Âõîä: Ôîðìóëà       F   â ÊÍÔ

  1 Åñëè   F   ñîäåðæèò ïóñòîé äèçúþíêò, òî âûäàòü
    'íåâûïîëíèìà'

  2 Åñëè â     F   íåò äèçúþíêòîâ, òî âûäàòü âûïîëíèìà

  3 Âûáèðàåì êàêèì-ëèáî îáðàçîì ëèòåðàë        x
  4 Ðåêóðñèâíî âûçûâàåì àëãîðèòì äëÿ ôîðìóëû         F [x := 0],
    åñëè îòâåò âûïîëíèìà, òî âûäàòü âûïîëíèìà

  5 Ðåêóðñèâíî âûçûâàåì àëãîðèòì äëÿ ôîðìóëû         F [x := 1],
    åñëè îòâåò âûïîëíèìà, òî âûäàòü âûïîëíèìà




                                                                   24 / 35
Ðåçîëþöèè vs divide and conquer


(x ∨ y ∨ z) ∧ (x ∨ y ∨ ¬z) ∧ (x ∨ t ∨ ¬y ) ∧ (¬t ∨ x) ∧ (¬x ∨ y ) ∧
(¬y ∨ z) ∧ (¬y ∨ ¬z)




                                                                      25 / 35
Êëàññ co-NP




Îïðåäåëåíèå. ßçûê   L∈   co-NP òîãäà è òîëüêî òîãäà, êîãäà
L ∈ NP. (L =Σ∗   L)
Ëåììà. SAT co-NP ïîëíûé.
Äîêàçàòåëüñòâî. L ∈ co-NP ⇐⇒ L ∈ NP.       Çíà÷èò,   L   ñâîäèòñÿ ê
SAT, ò.å. ñóùåñòâóåò òàêàÿ ïîëèíîìèàëüíî âû÷èñëèìàÿ
ôóíêöèÿf , ÷òî x ∈ L ⇐⇒ f (x) ∈    SAT. Ýòî ìîæíî ïåðåïèñàòü
x ∈ L ⇐⇒ f (x) ∈ SAT .
Çàìå÷àíèå. Ñîâïàäàþò ëè êëàññû    NP   è co-NP  ýòî îòêðûòûé
âîïðîñ.




                                                                      26 / 35
NP    vs co-NP

Ëåììà. Åñëè SAT   ∈   co-NP, òî   NP=co-NP.
Äîêàçàòåëüñòâî. SAT   ∈   co-NP   ⇐⇒ SAT ∈ NP ⇐⇒
ñóùåñòâóåò ïîëèíîìèàëüíî îãðàíè÷åííîå è ïîëèíîìèàëüíî
ïðîâåðÿåìîå îòíîøåíèå      R ⊂ Σ∗ × Σ∗ , ÷òî
SAT = {x|∃y : (x, y ) ∈ R}.
Ïóñòü L ∈ NP, L ñâîäèòñÿ ê SAT. Ò.å., ñóùåñòâóåò òàêàÿ
ïîëèíîìèàëüíî âû÷èñëèìàÿ ôóíêöèÿ f , ÷òî x ∈ L ⇐⇒ f (x) ∈
SAT (äîïîëíèòåëüíî íóæíî ïîòðåáîâàòü |f (x)| ≥ |x|).
Ñëåäîâàòåëüíî, x ∈ L ⇐⇒ f (x) ∈ SAT .
L = {x|∃y (f (x), y ) ∈ R} ∈ NP. Çíà÷èò, L ∈ co-NP. Ò.å. NP ⊂
co-NP.
Ïóñòü L ∈ co-NP, L ñâîäèòñÿ ê SAT . Ò.å., ñóùåñòâóåò òàêàÿ
ïîëèíîìèàëüíî âû÷èñëèìàÿ ôóíêöèÿ f , ÷òî
x ∈ L ⇐⇒ f (x) ∈ SAT . L = {x|∃y (f (x), y ) ∈ R} ∈ NP. Çíà÷èò,
co-NP ⊂ NP.
Ñëåäñòâèå. co-NP = NP ⇐⇒ SAT ∈ co-NP ⇐⇒ SAT ∈ NP

                                                                  27 / 35
Ñèñòåìû äîêàçàòåëüñòâ è         NP   vs co-NP




SAT ∈ NP   îçíà÷àåò, ÷òî äëÿ êàæäîé íåâûïîëíèìîé ôîðìóëû
ñóùåñòâóåò ïîëèíîìèàëüíîå ïî ðàçìåðó è ïîëèíîìèàëüíî
ïðîâåðÿåìîå äîêàçàòåëüñòâî.
Çíà÷èò, åñëè åñòü ñèñòåìà äîêàçàòåëüñòâ, â êîòîðîé âñå
ôîðìóëû èç   SAT   èìåþò êîðîòêèå (ïîëèíîìèàëüíûå)
îïðîâåðæåíèÿ, òî co-NP   = NP.
Äëÿ ðåçîëþöèîííîé ñèñòåìû ñóùåñòâóþò ôîðìóëû, êîòîðûå
èìåþò ýêñïîíåíöèàëüíûå ðåçîëþöèîííûå îïðîâåðæåíèÿ.




                                                           28 / 35
Áóëåâû ñõåìû
Áóëåâà ñõåìà - ýòî

  • Îðèåíòèðîâàííûé ãðàô áåç öèêëîâ
  • Ðîâíî îäíà âåðøèíà, èç êîòîðîé íå âûõîäèò ðåáåð (âûõîä)
  • n âåðøèí â êîòîðûå íå âõîäÿò ðåáðà
  • Âñå îñòàëüíûå âåðøèíû ïîìå÷åíû ëîãè÷åñêèìè ñâÿçêàìè
    ∨, ∧, ¬.   (àðíîñòü ñâÿçêè äîëæíà ðàâíÿòüñÿ ÷èñëó
    èñõîäÿùèõ ðåáåð)




                                                              29 / 35
Ñõåìíàÿ ñëîæíîñòü áóëåâûõ ôóíêöèé


•   Ðàçìåð ñõåìû  ýòî êîëè÷åñòâî âåðøèí â ãðàôå,
    çàäàþùåé ñõåìó.

•   Ñõåìíàÿ ñëîæíîñòü ôóíêöèè  ýòî ìèíèìàëüíûé ðàçìåð
    ñõåìû, âû÷èñëÿþùåé ýòó ôóíêöèþ.

•   Ñõåìó ðàçìåðà   k   ìîæíî çàïèñàòü ñ ïîìîùüþ      O(k log k)
    áèòîâ.
                                n                        n n/2
•   Êîëè÷åñòâî ñõåì ðàçìåðà    22   íå ïðåâîñõîäèò   2O( 2 2   )
                                                                   .

•   Êîëè÷åñòâî áóëåâûõ ôóíêöèé îò      n   ïåðåìåííûõ ðàâíÿåòñÿ
      n
    22 .
•   Çíà÷èò, ñóùåñòâóåò áóëåâà ôóíêöèÿ, ñëîæíîñòü êîòîðîé íå
              n
    ìåíåå    22 .
•   Îòêðûòûé âîïðîñ: ïîñòðîèòü ôóíêöèþ áîëüøîé ñõåìíîé
    ñëîæíîñòüþ.


                                                                       30 / 35
ßçûê ïðåäèêàòíûõ ôîðìóë

Γ  áåñêîíå÷íîå ìíîæåñòâî ïðåäìåòíûõ ïåðåìåííûõ.
Γ = {x1 , x2 , x3 , . . . }.
       (i ) (i )
F = {f1 1 , f2 2 ...}  ìíîæåñòâî ôóíêöèîíàëüíûõ ñèìâîëîâ   ñ
óêàçàíèåì èõ àðíîñòè, ik ≥ 0 (â ýòîì ìíîæåñòâå åñòü
áåñêîíå÷íîå ÷èñëî ôóíêöèîíàëüíûõ ñèìâîëîâ ëþáîé àðíîñòè).
Îïðåäåëåíèå. Òåðìû:

  •   Ïðåäìåòíàÿ ïåðåìåííàÿ            x ∈Γ       òåðì.

  •   Åñëè f
                 (i) ∈ F, à t , t , . . . , t  òåðìû, òî
                                    1 2      i
      f (i) (t1 , t2 , . . . , ti )  òåðì.
Ïðèìåð.

  • f (0) ()    òåðì;

  •   f (2) (x, y )  òåðì;
  • f (2) (g (1) (x), h(3) (x, y , g (1) (x)))    òåðì.



                                                                31 / 35
ßçûê ïðåäèêàòíûõ ôîðìóë


            (i )       (i )
P = {p1 1 , p2 2 ...}              ìíîæåñòâî ïðåäèêàòíûõ ñèìâîëîâ ñ
óêàçàíèåì èõ àðíîñòè, ik                   ≥0   (â ýòîì ìíîæåñòâå åñòü
áåñêîíå÷íîå ÷èñëî ïðåäèêàòíûõ ñèìâîëîâ ëþáîé àðíîñòè).
Îïðåäåëåíèå. Àòîìàðíîé ôîðìóëîé íàçûâàåòñÿ ñòðî÷êà âèäà
p (i) (t1 , t2 , . . . , ti ),   ãäå   p (i) ∈ P,   à   t1 , t2 , . . . , ti    òåðìû.
Îïðåäåëåíèå. Ïðåäèêàòíàÿ ôîðìóëà

    •   Åñëè       A    àòîìàðíàÿ ôîðìóëà, òî                     A    ïðåäèêàòíàÿ
        ôîðìóëà.

    •   Åñëè  A, B  ïðåäèêàòíûå ôîðìóëû, òî
        (A), ¬A, A ∨ B, A ∧ B, A → B  ïðåäèêàòíûå                                   ôîðìóëû.

    •   Åñëè       A    ïðåäèêàòíàÿ ôîðìóëà,                    x ∈ Γ,        òî   ∀xA   è   ∃xA
        ÿâëÿþòñÿ ïðåäèêàòíûìè ôîðìóëàìè.




                                                                                                    32 / 35
Ïðèìåðû ïðåäèêàòíûõ ôîðìóë




  •   p(f(x))  ñâîáîäíàÿ ïåðåìåííàÿ            x;
  • p1 (f1 (x)) ∨ p2 ()    ñâîáîäíàÿ ïåðåìåííàÿ       x;
  • ∀x∃y (p1 (z) ∨ p1 (x))     ñâîáîäíàÿ ïåðåìåííàÿ        z;
  • ∀x(p1 (f (x))) → ∃yp1 (y )     çàìêíóòàÿ ôîðìóëà;

  • ∀y (p1 (x, y ) ∨ ∃zp2 (f (x, y ), g (x)))    ñâîáîäíàÿ ïåðåìåííàÿ
      x.
Îïðåäåëåíèå. Ïåðåìåííàÿ íàçûâàåòñÿ ñâîáîäíîé, åñëè îíà íå
âõîäèò â îáëàñòü äåéñòâèÿ êâàíòîðà ïî ýòîé ïåðåìåííîé.
Ôîðìóëà áåç ñâîáîäíûõ ïåðåìåííûõ íàçûâàåòñÿ çàìêíóòîé.




                                                                         33 / 35
Èíòåðïðåòàöèÿ



Ïóñòü      ϕ  ïðåäèêàòíàÿ ôîðìóëà ñî ñâîáîäíûìè ïåðåìåííûìè
                                                          (i ) (i )     (i )
x1 , x2 , . . . , xk , ôóíêöèîíàëüíûìè ñèìâîëàìè f1 1 , f2 2 , . . . , fm m
                                    (j1 ) (j2 )     (jn )
è ïðåäèêàòíûìè ñèìâîëàìè p1 , p2 , . . . pn .
Èíòåðïðåòàöèåé ôîðìóëû ϕ íàçûâàåòñÿ ìíîæåñòâî M ,
                                        (i )    i
çàäàííûå íà íåì îòîáðàæåíèÿ f s : M s → M è ïðåäèêàòû
p (jr ) : M jr → {0, 1}, êàæäîé ïåðåìåííîé x ñîïîñòàâëåí ýëåìåíò
                                                  l
M.
Äëÿ êàæäîé òàêîé èíòåðïðåòàöèè ìîæíî ïîñ÷èòàòü çíà÷åíèå
ôîðìóëû.
Ìîäåëüþ íàçûâàåòñÿ èíòåðïðåòàöèÿ, â êîòîðîé çíà÷åíèå
ôîðìóëû ðàâíÿåòñÿ       1.



                                                                               34 / 35
Ïðèìåðû



• ∀x(p(x) → q(x)).
                                           .                 .
  Â èíòåðïðåòàöèè       M = Z, p(x) = x    .   4, q(x) = x   .   2
                                           .                 .
  çíà÷åíèå ôîðìóëû 1.
                                           .                 .
  Â èíòåðïðåòàöèè       M = Z, p(x) = x    .   3, q(x) = x   .   2
                                           .                 .
  çíà÷åíèå ôîðìóëû 0.

• ∀x(p(f (x))) → ∀xp(x)      Â èíòåðïðåòàöèè      M = Z,
             .
  p(x) = x   .   2, f (x) = 2x   çíà÷åíèå ôîðìóëû 0.
             .
• (p() ∨ q()) ∧ (p() ∨ ¬q())       ïðîïîçèöèîíàëüíûå
  ôîðìóëû  ýòî ÷àñòíûé ñëó÷àé ïðåäèêàòíûõ. Åñëè â
  ïðåäèêàòíûõ ôîðìóëàõ ñîäåðæàòñÿ òîëüêî íóëüìåñòíûå
  ïðåäèêàòû è íåò êâàíòîðîâ, ïðåäìåòíûõ ïåðåìåííûõ è
  ôóíêöèîíàëüíûõ ñèìâîëîâ.




                                                                     35 / 35

More Related Content

Viewers also liked

безопасность веб приложений сегодня. дмитрий евтеев. зал 4
безопасность веб приложений сегодня. дмитрий евтеев. зал 4безопасность веб приложений сегодня. дмитрий евтеев. зал 4
безопасность веб приложений сегодня. дмитрий евтеев. зал 4rit2011
 
I pv6 малоизвестные подробности. андрей пантюхин. зал 2
I pv6   малоизвестные подробности. андрей пантюхин. зал 2I pv6   малоизвестные подробности. андрей пантюхин. зал 2
I pv6 малоизвестные подробности. андрей пантюхин. зал 2rit2011
 
разработчики с марса, пользователи с венеры. место встречи – сайт. к. стернин...
разработчики с марса, пользователи с венеры. место встречи – сайт. к. стернин...разработчики с марса, пользователи с венеры. место встречи – сайт. к. стернин...
разработчики с марса, пользователи с венеры. место встречи – сайт. к. стернин...rit2011
 
типология личности и прогноз отношений по а. афанасьеву. сергей котырев. зал 2
типология личности и прогноз отношений по а. афанасьеву. сергей котырев. зал 2типология личности и прогноз отношений по а. афанасьеву. сергей котырев. зал 2
типология личности и прогноз отношений по а. афанасьеву. сергей котырев. зал 2rit2011
 
Manual manajemen-pendataan
Manual manajemen-pendataanManual manajemen-pendataan
Manual manajemen-pendataanEko Daresdi
 
Painel de cotrolo(beatriz, carina, carolina e ines)
Painel de cotrolo(beatriz, carina, carolina e ines)Painel de cotrolo(beatriz, carina, carolina e ines)
Painel de cotrolo(beatriz, carina, carolina e ines)nonoano_terceira
 
Comprar um computador beatriz e ines
Comprar um computador beatriz e inesComprar um computador beatriz e ines
Comprar um computador beatriz e inesnonoano_terceira
 
Roxtec Cable Transit Seals - Roxtec CF32 Cable Transit Frame
Roxtec Cable Transit Seals - Roxtec CF32 Cable Transit FrameRoxtec Cable Transit Seals - Roxtec CF32 Cable Transit Frame
Roxtec Cable Transit Seals - Roxtec CF32 Cable Transit FrameThorne & Derrick International
 
Faktorisasi a ljabar
Faktorisasi a ljabarFaktorisasi a ljabar
Faktorisasi a ljabarNur Fadzri
 
Planningfarmersmarkets
PlanningfarmersmarketsPlanningfarmersmarkets
PlanningfarmersmarketsJamey Coughlin
 
20081109 auctions nikolenko_lecture07
20081109 auctions nikolenko_lecture0720081109 auctions nikolenko_lecture07
20081109 auctions nikolenko_lecture07Computer Science Club
 

Viewers also liked (16)

безопасность веб приложений сегодня. дмитрий евтеев. зал 4
безопасность веб приложений сегодня. дмитрий евтеев. зал 4безопасность веб приложений сегодня. дмитрий евтеев. зал 4
безопасность веб приложений сегодня. дмитрий евтеев. зал 4
 
20130224 tsp csclub_spb
20130224 tsp csclub_spb20130224 tsp csclub_spb
20130224 tsp csclub_spb
 
I pv6 малоизвестные подробности. андрей пантюхин. зал 2
I pv6   малоизвестные подробности. андрей пантюхин. зал 2I pv6   малоизвестные подробности. андрей пантюхин. зал 2
I pv6 малоизвестные подробности. андрей пантюхин. зал 2
 
разработчики с марса, пользователи с венеры. место встречи – сайт. к. стернин...
разработчики с марса, пользователи с венеры. место встречи – сайт. к. стернин...разработчики с марса, пользователи с венеры. место встречи – сайт. к. стернин...
разработчики с марса, пользователи с венеры. место встречи – сайт. к. стернин...
 
типология личности и прогноз отношений по а. афанасьеву. сергей котырев. зал 2
типология личности и прогноз отношений по а. афанасьеву. сергей котырев. зал 2типология личности и прогноз отношений по а. афанасьеву. сергей котырев. зал 2
типология личности и прогноз отношений по а. афанасьеву. сергей котырев. зал 2
 
Aprendizaxe interxeneracional pw
Aprendizaxe interxeneracional pwAprendizaxe interxeneracional pw
Aprendizaxe interxeneracional pw
 
Manual manajemen-pendataan
Manual manajemen-pendataanManual manajemen-pendataan
Manual manajemen-pendataan
 
Painel de cotrolo(beatriz, carina, carolina e ines)
Painel de cotrolo(beatriz, carina, carolina e ines)Painel de cotrolo(beatriz, carina, carolina e ines)
Painel de cotrolo(beatriz, carina, carolina e ines)
 
Comprar um computador beatriz e ines
Comprar um computador beatriz e inesComprar um computador beatriz e ines
Comprar um computador beatriz e ines
 
Бегичев Руслан. Фрактал
Бегичев Руслан. ФракталБегичев Руслан. Фрактал
Бегичев Руслан. Фрактал
 
Roxtec Cable Transit Seals - Roxtec CF32 Cable Transit Frame
Roxtec Cable Transit Seals - Roxtec CF32 Cable Transit FrameRoxtec Cable Transit Seals - Roxtec CF32 Cable Transit Frame
Roxtec Cable Transit Seals - Roxtec CF32 Cable Transit Frame
 
Ffurflen gais
Ffurflen gaisFfurflen gais
Ffurflen gais
 
Faktorisasi a ljabar
Faktorisasi a ljabarFaktorisasi a ljabar
Faktorisasi a ljabar
 
Ativ76clau
Ativ76clauAtiv76clau
Ativ76clau
 
Planningfarmersmarkets
PlanningfarmersmarketsPlanningfarmersmarkets
Planningfarmersmarkets
 
20081109 auctions nikolenko_lecture07
20081109 auctions nikolenko_lecture0720081109 auctions nikolenko_lecture07
20081109 auctions nikolenko_lecture07
 

More from 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
 

More from 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
 

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

  • 1. ËÈÊÁÅÇ Ëåêöèÿ 3: Ïðîïîçèöèîíàëüíàÿ ëîãèêà. (Èñ÷èñëåíèå âûñêàçûâàíèé.) Äìèòðèé Èöûêñîí ÏÎÌÈ ÐÀÍ 7 îêòÿáðÿ 2007 1 / 35
  • 2. Ïëàí 1 Ôîðìóëû èñ÷èñëåíèÿ âûñêàçûâàíèé 2 Áóëåâû ôóíêöèè è èõ ïðåäñòàâëåíèå â ÊÍÔ è ÄÍÔ 3 Èíòåðïðåòàöèè, âûïîëíèìûå, ïðîòèâîðå÷èâûå ôîðìóëû, òàâòîëîãèè 4 Ïîëèíîìèàëüíûå ôðàãìåíòû: 2-SAT è õîðíîâñêèå ôîðìóëû 5 Ïðîïîçèöèîíàëüíûå ñèñòåìû äîêàçàòåëüñòâ 6 Ðåçîëþöèîííàÿ ñèñòåìà äîêàçàòåëüñòâ 7 Ìåòîä ðåçîëþöèé è divide and conquer àëãîðèòìû 8 NP vs coNP 9 Áóëåâû ñõåìû è ñëîæíîñòü áóëåâûõ ôóíêöèé 10 Ïðåäèêàòíûå ôîðìóëû, èíòåðïðåòàöèè è ìîäåëè 2 / 35
  • 3. Ëèòåðàòóðà 1 Í.Ê. Âåðåùàãèí, À. Øåíü. ßçûêè è èñ÷èñëåíèÿ. 2 Ì.Â. Äìèòðèåâà. Ìåòîäû ðåøåíèÿ çàäà÷ èñêóññòâåííîãî èíòåëëåêòà. Àâòîìàòè÷åñêîå äîêàçàòåëüñòâî òåîðåì. 3 / 35
  • 4. ßçûê ïðîïîçèöèîíàëüíûõ ôîðìóë Γ áåñêîíå÷íîå ìíîæåñòâî ïðîïîçèöèîíàëüíûõ ïåðåìåííûõ. Γ = {x1 , x2 , x3 , . . . }. • Ïðîïîçèöèîíàëüíàÿ ïåðåìåííàÿ ÿâëÿåòñÿ ïðîïîçèöèîíàëüíîé ôîðìóëîé • Åñëè A ïðîïîçèöèîíàëüíàÿ ôîðìóëà, òî (A) òîæå ïðîïîçèöèîíàëüíàÿ ôîðìóëà. • Åñëè A ïðîïîçèöèîíàëüíàÿ ôîðìóëà, òî ¬A òîæå ïðîïîçèöèîíàëüíàÿ ôîðìóëà. • Åñëè A, B ïðîïîçèöèîíàëüíûå ôîðìóëû, òî A∧B òîæå ïðîïîçèöèîíàëüíàÿ ôîðìóëà. • Åñëè A, B ïðîïîçèöèîíàëüíûå ôîðìóëû, òî A∨B òîæå ïðîïîçèöèîíàëüíàÿ ôîðìóëà. • Åñëè A, B ïðîïîçèöèîíàëüíûå ôîðìóëû, òî A→B òîæå ïðîïîçèöèîíàëüíàÿ ôîðìóëà. 4 / 35
  • 5. Ïðèìåðû ïðîïîçèöèîíàëüíûõ ôîðìóë • x1 ; • x1 ∧ ¬x1 ; • x1 ∨ ¬x1 ; • (x1 ∨ x2 ) → x3 ; • (x1 ∨ ¬x2 ) ∧ (¬x1 ∨ x3 ) ∧ (x3 ∨ x2 ); • (x1 ∧ ¬x2 ) ∨ (¬x1 ∧ x3 ) ∨ (x3 ∧ x2 ); 5 / 35
  • 6. Òàáëèöû èñòèííîñòè ¬ a ¬a 0 1 1 0 ∨ ∧ → a b a∨b a b a∧b a b a→b 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 1 1 1 0 1 1 0 0 1 0 0 1 1 1 1 1 1 1 1 1 6 / 35
  • 7. Èíòåðïðåòàöèÿ Ïóñòü ϕ ïðîïîçèöèîíàëüíàÿ ôîðìóëà ñ ïåðåìåííûìè x 1 , x2 , . . . , x n . Èíòåðïðåòàöèåé ôîðìóëû ϕ íàçûâàåòñÿ îòîáðàæåíèå σ : {x1 , x2 , . . . , xn } → {0, 1}. Çíà÷åíèå ôîðìóëû Iσ (ϕ) ïðè çàäàííîé èíòåðïðåòàöèè îïðåäåëÿåòñÿ èíäóêòèâíî ïî ïîñòðîåíèþ ôîðìóëû: • Iσ (xi ) = σ(xi ); • Iσ ((A)) = Iσ (A); • Iσ (¬A) = ¬Iσ (A); • Iσ (A ∧ B) = Iσ (A) ∧ Iσ (B); • Iσ (A ∨ B) = Iσ (A) ∨ Iσ (B); • Iσ (A → B) = Iσ (A) → Iσ (B). 7 / 35
  • 8. Áóëåâû ôóíêöèè Îïðåäåëåíèå. Áóëåâîé ôóíêöèåé ìû íàçûâàåì ôóíêöèþ èç {0, 1}n â {0, 1}. Çàìå÷àíèå. Êàæäàÿ ïðîïîçèöèîíàëüíàÿ ôîðìóëà îò n ïåðåìåííûõ çàäàåò áóëåâó ôóíêöèþ èç {0, 1}n â {0, 1}. Ïðèìåðû. • Parity (÷åòíîñòü): f (x1 , x2 , . . . , xn ) = x1 + x2 + · · · + xn mod 2 • Majority (áîëüøèíñòâî):  n  1, åñëè x 1 + x2 + · · · + x n ≥ f (x1 , x2 , . . . , xn ) = 2  0, åñëè x + x + · · · + x n 1 2 n 2 1, åñëè x1 x2 . . . xn − ïðîñòîå ÷èñëî • f (x1 , x2 , . . . , xn ) = 0, èíà÷å 8 / 35
  • 9. ÊÍÔ è ÄÍÔ Îïðåäåëåíèå. Ëèòåðàëîì íàçûâàåòñÿ ïðîïîçèöèîíàëüíàÿ ïåðåìåííàÿ èëè åå îòðèöàíèå: xi , ¬xi . Îïðåäåëåíèå. Äèçúþíêòîì èëè êëîçîì íàçûâàåòñÿ äèçúþíêöèÿ íåñêîëüêèõ (âîçìîæíî îäíîãî) ëèòåðàëîâ: (x1 ∨ ¬x2 ∨ x3 ). Îïðåäåëåíèå. Ôîðìóëîé â ÊÍÔ íàçûâàåòñÿ êîíúþíêöèÿ íåñêîëüêèõ (âîçìîæíî îäíîãî) äèçúþíêòîâ: (x1 ∨ ¬x2 ∨ x3 ) ∧ (¬x1 ∨ ¬x3 ) ∧ ¬x1 . Îïðåäåëåíèå. Êîíúþíêòîì èëè ìîíîìîì íàçûâàåòñÿ êîíúþíêöèÿ íåñêîëüêèõ (âîçìîæíî îäíîãî) ëèòåðàëîâ: (x1 ∧ ¬x2 ∧ x3 ). Îïðåäåëåíèå. Ôîðìóëîé â ÄÍÔ íàçûâàåòñÿ äèçúþíêöèÿ íåñêîëüêèõ (âîçìîæíî îäíîãî) êîíúþíêòîâ: (x1 ∧ ¬x2 ∧ x3 ) ∨ (¬x1 ∧ ¬x3 ) ∨ ¬x1 . 9 / 35
  • 10. Ïðåäñòàâëåíèå áóëåâûõ ôóíêöèé ôîðìóëàìè Òåîðåìà. Ëþáóþ áóëåâó ôóíêöèþ ìîæíî çàïèñàòü â âèäå ïðîïîçèöèîíàëüíîé ôîðìóëû â ÊÍÔ è ÄÍÔ. Èëëþñòðàöèÿ. f (x1 , x2 , x3 ) Ôîðìóëà â ÄÍÔ: x1 x2 x3 f (x1 , x2 , x3 ) (¬x1 ∧ ¬x2 ∧ ¬x3 )∨ 0 0 0 1 (¬x1 ∧ ¬x2 ∧ x3 )∨ 0 0 1 1 (x1 ∧ ¬x2 ∧ ¬x3 ) 0 1 0 0 Ôîðìóëà â ÊÍÔ: 0 1 1 0 (x1 ∨ ¬x2 ∨ x3 )∧ 1 0 0 1 (x1 ∨ ¬x2 ∨ ¬x3 )∧ 1 0 1 0 (¬x1 ∨ x2 ∨ ¬x3 )∧ 1 1 0 0 (¬x1 ∨ ¬x2 ∨ x3 )∧ 1 1 1 0 (¬x1 ∨ ¬x2 ∨ ¬x3 ) 10 / 35
  • 11. Ôîðìóëû äå Ìîðãàíà • çíà÷åíèå ¬(A ∨ B) ñîâïàäàåò ñî çíà÷åíèåì (¬A ∧ ¬B) • çíà÷åíèå ¬(A ∧ B) ñîâïàäàåò ñî çíà÷åíèåì (¬A ∨ ¬B) Ñëåäñòâèå. Îòðèöàíèå ôîðìóëû â ÄÍÔ åñòü ôîðìóëà â ÊÍÔ Äîêàçàòåëüñòâî. ¬((l1,1 ∧ l1,2 ∧ · · · ∧ l1,n1 ) ∨ (l2,1 ∧ l2,2 ∧ · · · ∧ l2,n2 ) ∨ . . . ∨(lk,1 ∧ lk,2 ∧ · · · ∧ lk,nk )) ìîæíî ïåðåïèñàòü â âèäå (¬l1,1 ∨ ¬l1,2 ∨ · · · ∨ ¬l1,n1 ) ∧ (¬l2,1 ∨ ¬l2,2 ∧ · · · ∨ ¬l2,n2 ) ∧ . . . ∧(¬lk,1 ∨ ¬lk,2 ∨ · · · ∨ ¬lk,nk ) 11 / 35
  • 12. Âûïîëíèìîñòü, îáùåçíà÷èìîñòü, ïðîòèâîðå÷èâîñòü Îïðåäåëåíèå. Ïðîïîçèöèîíàëüíàÿ ôîðìóëà íàçûâàåòñÿ âûïîëíèìîé , åñëè ñóùåñòâóåò òàêàÿ èíòåðïðåòàöèÿ, ïðè êîòîðîé çíà÷åíèå ôîðìóëû ðàâíÿåòñÿ 1. Îïðåäåëåíèå. Ïðîïîçèöèîíàëüíàÿ ôîðìóëà íàçûâàåòñÿ íåâûïîëíèìîé (èëè ïðîòèâîðå÷èâîé) , åñëè ïðè âñåõ èíòåðïðåòàöèÿõ çíà÷åíèå ôîðìóëû ðàâíÿåòñÿ 0. Îïðåäåëåíèå. Ïðîïîçèöèîíàëüíàÿ ôîðìóëà íàçûâàåòñÿ îáùåçíà÷èìîé (èëè òàâòîëîãèåé) , åñëè ïðè âñåõ èíòåðïðåòàöèÿõ çíà÷åíèå ôîðìóëû ðàâíÿåòñÿ 1. Îïðåäåëåíèå. Ïðîïîçèöèîíàëüíàÿ ôîðìóëà íàçûâàåòñÿ íåîáùåçíà÷èìîé , åñëè ïðè ñóùåñòâóåò èíòåðïðåòàöèÿ, ïðè êîòîðîé çíà÷åíèå ôîðìóëû ðàâíÿåòñÿ 0. 12 / 35
  • 13. Î ñëîæíîñòè... • Çàäà÷à îïðåäåëåíèÿ ïî ôîðìóëå â ÊÍÔ, âûïîëíèìà ëè îíà, ÿâëÿåòñÿ ñëîæíîé (NP-òðóäíîé). • Ïðîâåðèòü ôîðìóëó â ÊÍÔ, ÿâëÿåòñÿ ëè îíà òàâòîëîãèåé, î÷åíü ïðîñòî. Äîñòàòî÷íî ïðîâåðèòü, ÷òî â êàæäîì äèçúþíêòå åñòü ïàðà: ïåðåìåííàÿ è åå îòðèöàíèå. • Çàäà÷à îïðåäåëåíèÿ ïî ôîðìóëå â ÄÍÔ, âûïîëíèìà ëè îíà, ÿâëÿåòñÿ ïðîñòîé: äîñòàòî÷íî ïðîâåðèòü, åñòü ëè â íåé êîíúþíêò, â êîòîðûé îäíîâðåìåííî íå âõîäèò ïåðåìåííàÿ è åå îòðèöàíèå. • Ïðîâåðèòü ôîðìóëó â ÄÍÔ, ÿâëÿåòñÿ ëè îíà òàâòîëîãèåé, ñëîæíî (NP-òðóäíî). 13 / 35
  • 14. Ïîëèíîìèàëüíûå ôðàãìåíòû Îïðåäåëåíèå. Ôîðìóëà â ÊÍÔ íàçûâàåòñÿ õîðíîâñêîé , åñëè â êàæäé äèçúþíêò íå áîëåå îäíîé ïåðåìåííîé âõîäèò áåç îòðèöàíèÿ. Ïðèìåð: (¬x1 ∨ ¬x2 ∨ x3 ) ∧ (¬x1 ∨ x2 ) ∧ (¬x2 ∨ ¬x4 ) ∧ (x3 ). Òåîðåìà. Âûïîëíèìîñòü õîðíîâñêîé ôîðìóëû ìîæíî ïðîâåðèòü çà ïîëèíîìèàëüíîå âðåìÿ. Äîêàçàòåëüñòâî. Âõîä: õîðíîâñêàÿ ôîðìóëó ϕ 1 Ïóñòü U äèçúþíêòû, ñîñòîÿùèå èç îäíîãî ëèòåðàëà. 2 Åñëè x ∈ U è ¬x ∈ U , òî ôîðìóëà íåâûïîëíèìà. 3 Ïîäñòàâèòü â ϕ ïðàâèëüíîå çíà÷åíèå äëÿ âñåõ ëèòåðàëîâ èç U . 4 Åñëè U íå ïóñòî, âåðíóòüñÿ ê øàãó 1. 5 Ïîñëå ïîäñòàíîâîê õîðíîâñêàÿ ôîðìóëà îñòàëàñü õîðíîâñêîé. Çíà÷èò, òåïåðü âñå äèçúþíêòû ñîäåðæàò áîëåå, ÷åì 1 ïåðåìåííóþ è õîòÿ áû îäíó ñ îòðèöàíèåì. 6 Ïîäñòàâèì 0 âìåñòî âñåõ ïåðåìåííûõ. 14 / 35
  • 15. Ïîëèíîìèàëüíûå ôðàãìåíòû: 2-SAT Îïðåäåëåíèå. 2-SAT - ýòî ÿçûê âûïîëíèìûõ ôîðìóë â 2-ÊÍÔ. Íàïðèìåð: (x1 ∨ ¬x2 ) ∧ (x3 ∨ ¬x2 ) ∧ (x1 ) Òåîðåìà. Ðàñïîçíàòü ÿçûê 2 − SAT ìîæíî çà ïîëèíîìèàëüíîå (ëèíåéíîå) âðåìÿ. Äîêàçàòåëüñòâî. • Èçáàâèìñÿ îò âñåõ îäíîýëåìåíòíûõ äèçúþíêòîâ ïîäñòàíîâêîé â íèõ ïðàâèëüíîãî çíà÷åíèÿ. • Ñîïîñòàâèì ôîðìóëå ñ n ïåðåìåííûìè x1 , x2 , . . . , xn îðèåíòèðîâàííûé ãðàô ñ 2n âåðøèíàìè: x1 , x2 , . . . , xn , ¬x1 , ¬x2 , . . . , ¬xn . • Åñëè ôîðìóëà ñîäåðæèò äèçúþíêò (a ∨ b), òî ñîåäèíèì ðåáðîì: (¬a, b) è (¬b, a) Ñìûñë: Åñëè åñòü ðåáðî (x, y ) è ìû ïðèñâîèëè çíà÷åíèå x := 1, òî ìû îáÿçàíû ïðèñâîèòü çíà÷åíèå y := 1. 15 / 35
  • 16. 2-SAT: ïîëèíîìèàëüíûé àëãîðèòì • Ãðàô îáëàäàåò ñâîéñòâîì êîñîñèììåòðè÷íîñòè: åñëè åñòü ïóòü èç a â b, òî åñòü ïóòü èç ¬b â ¬a. • Åñëè â ãðàôå åñòü ïóòü èç â ¬a è èç ¬a â a, òî ôîðìóëà íåâûïîëíèìà (íå ïðèñâîèòü çíà÷åíèå ïåðåìåííîé a). Ïîêàæåì, ÷òî åñëè òàêèõ a íåò, òî ôîðìóëà âûïîëíèìà. • Èíäóêöèÿ ïî ÷èñëó äèçúþíêòîâ. Áàçà: 1 äèçúþíêò. • Ïóñòü x òàêîé ëèòåðàë, ÷òî íåò ïóòè èç x â ¬x . Ïóñòü Vx ìíîæåñòâî âåðøèí, äîñòèæèìûõ èç x (x ∈ Vx ). • Ïîäñòàâèì âñåì ëèòåðàëàì èç Vx çíà÷åíèå 1. • Ïîëó÷èâøàÿñÿ ôîðìóëà íå ñîäåðæèò îäíîýëåìåíòíûõ äèçúþêíòîâ. • Êîíôëèêòîâ íå áûëî: åñëè èç x áûë ïóòü â y è â ¬y , òî èç y áûë ïóòü â ¬x , ò.å. èç x áûë ïóòü â ¬x , ïðîòèâîðå÷èå. 16 / 35
  • 17. Ïðîïîçèöèîíàëüíûå ñèñòåìû äîêàçàòåëüñòâ • Ìû äîêàçûâàåì, ÷òî ôîðìóëà ÿâëÿåòñÿ òàâòîëîãèåé. (Èíîãäà, ÷òî åå îòðèöàíèå ÿâëÿåòñÿ ïðîòèâîðå÷èåì). • Äîêàçàòåëüñòâî ýòî ñòðîêà. • Äîêàçàòåëüñòâî ìîæíî ëåãêî ïðîâåðèòü (çà ïîëèíîìèàëüíîå âðåìÿ). Íàéòè äîêàçàòåëüñòâî, âîçìîæíî, ñëîæíî. • Êîððåêòíîñòü: åñëè ôîðìóëà èìååò äîêàçàòåëüñòâî, òî îíà òàâòîëîãèÿ. • Ïîëíîòà: âñå òàâòîëîãèè èìåþò äîêàçàòåëüñòâà. 17 / 35
  • 18. Ãèëüáåðòîâñêàÿ ñèñòåìà H 11 ñõåì àêñèîì: 1. A → (B → A) 2. (A → (B → C )) → ((A → B) → (A → C )) 3. (A ∧ B) → A 4. (A ∧ B) → B 5. A → (B → (A ∧ B)) 6. A → (A ∨ B) 7. B → (A ∨ B) 8. (A → C ) → ((B → C ) → (A ∨ B → C )) 9. ¬A → (A → B) 10. (A → B) → ((A → ¬B) → ¬A) 11. A ∨ ¬A Ïðàâèëî âûâîäà (modus ponens): A; (A → B) B 18 / 35
  • 19. Ðåçîëþöèîííàÿ ñèñòåìà • Ïðåäíàçíà÷åíà äëÿ äîêàçàòåëüñòâà ïðîòèâîðå÷èâîñòè ôîðìóë â ÊÍÔ. ×òî äåëàòü, ÷òîáû ìîæíî áûëî áû äîêàçûâàòü òàâòîëîãè÷íîñòü âñåõ ôîðìóë? • Ïðèâåäåì ôîðìóëó â ÄÍÔ ýêâèâàëåíòíûìè ïðåîáðàçîâàíèÿìè. • Ôîðìóëà â ÄÍÔ - òàâòîëîãèÿ ⇐⇒ åå îòðèöàíèå - ïðîòèâîðå÷èå â ÊÍÔ. 19 / 35
  • 20. Ïðèâåäåíèå ôîðìóëû â ÄÍÔ • Èçáàâëÿåìñÿ îò èìïëèêàöèè: A→B çàìåíÿåì íà ¬A ∨ B . • Ïî ïðàâèëàì äå Ìîðãàíà ïðîíîñèì îòðèöàíèÿ äî ïåðåìåííûõ • Ïîëüçóÿñü äèñòðèáóòèâíîñòüþ A ∧ (C ∨ D) = A ∧ C ∨ A ∧ D ðàñêðûâàåì ñêîáêè. • Óïðîùàåì, âûêèäûâàÿ íåâûïîëíèìûå êîíúþíêòû Ïðèìåð. ((A ∨ C ) → B) ∧ (A ∨ C ) èçáàâëÿåìñÿ îò èìïëèêàöèè: (¬(A ∨ C ) ∨ B) ∧ (A ∨ C ) ïðîíîñèì îòðèöàíèÿ: ((¬A ∧ ¬C ) ∨ B) ∧ (A ∨ C ) ðàñêðûâàåì ñêîáêè: (¬A ∧ ¬C ∧ A) ∨ (¬A ∧ ¬C ∧ C ) ∨ (B ∧ A) ∨ (B ∧ C ) óïðîùàåì: (B ∧ A) ∨ (B ∧ C ) 20 / 35
  • 21. Ðåçîëþöèè Ñ ïîìîùüþ ìåòîäà ðåçîëþöèé ìû ïîêàçûâàåì ïðîòèâîðå÷èâîñòü ôîðìóëû â ÊÍÔ. Âûâîäèì ïðîòèâîðå÷èå èç ìíîæåñòâà äèçúþíêòîâ. Øàã çà øàãîì âûâîäèì íîâûå äèçúþíêòû èç óæå èìåþùèõñÿ ïî ïðàâèëó: (A ∨ x); (B ∨ ¬x) , (A ∨ B) ãäå A è B íå ñîäåðæàò êîíôëèêòóþùèõ ëèòåðàëîâ. Êîððåêòíîñòü: åñëè âûïîëíèìû (A ∨ x) è (B ∨ ¬x), òî âûïîëíèì è (A ∨ B) Äîêàçàòåëüñòâî: âûâîä ïóñòîãî äèçúþíêòà 21 / 35
  • 22. Ïðèìåð (x1 ∨¬x2 )∧(¬x1 ∨x2 )∧(x2 ∨¬x3 )∧(x3 ∨¬x2 )∧(x1 ∨x3 )∧(¬x1 ∨¬x3 ) (x1 ∨¬x2 );(x2 ∨¬x3 ) 1 (x1 ∨¬x3 ) (x1 ∨¬x3 );(x1 ∨x3 ) 2 (x1 ) (x1 );(¬x1 ∨x2 ) 3 (x2 ) (x2 );(¬x2 ∨x3 ) 4 (x3 ) (x3 );(¬x1 ∨¬x3 ) 5 (¬x1 ) (x1 );(¬x1 ) 6 22 / 35
  • 23. Ïîëíîòà ìåòîäà ðåçîëþöèé Òåîðåìà. Èç ìíîæåñòâà äèçúþíêòîâ ëþáîé ïðîòèâîðå÷èâîé ôîðìóëû â ÊÍÔ ìîæíî ïî ïðàâèëàì ðåçîëþöèè âûâåñòè ïóñòîé äèçúþíêò . Äîêàçàòåëüñòâî. Äîêàçûâàåì èíäóêöèåé ïî ÷èñëó ïåðåìåííûõ. • Åñëè ïåðåìåííàÿ îäíà è ôîðìóëà ïðîòèâîðå÷èâà, òî â íåé (x);(¬x) åñòü äèçúþíêòû (x) è (¬x). Ïðèìåíÿåì . • Ïåðåõîä. Âûáåðåì ïåðåìåííóþ x. Ñäåëàåì ïîäñòàíîâêó x := 1 âî âñå äèçúþíöêèè. Âûïîëíåííûå äèçúþíêöèè âûêèíåì. • Ïîäñòàâëåííàÿ ôîðìóëà òîæå ïðîòèâîðå÷èâà. Ïî èíäóêöèîííîìó ïðåäëîæåíèþ, ñóùåñòâóåò âûâîä ïóñòîé äèçúþíêöèè . • Êîãäà ìû âåðíåì ëèòåðàë ¬x âî âñå äèçúþíêöèè, ïîëó÷èòñÿ ëèáî êîððåêòíûé âûâîä ïðîòèâîðå÷èÿ , ëèáî âûâîä (¬x). • Àíàëîãè÷íî, äåëàÿ ïîäñòàíîâêó x := 0, ïîëó÷èì ëèáî x;¬x âûâîä , ëèáî âûâîä x, îñòàåòñÿ ïðèìåíèòü ïðàâèëî . 23 / 35
  • 24. Àëãîðèòìû divide and conquer Àëãîðèòì äëÿ ïðîâåðêè ôîðìóëû íà âûïîëíèìîñòü. Ñõåìà àëãîðèòìà: Âõîä: Ôîðìóëà F â ÊÍÔ 1 Åñëè F ñîäåðæèò ïóñòîé äèçúþíêò, òî âûäàòü 'íåâûïîëíèìà' 2 Åñëè â F íåò äèçúþíêòîâ, òî âûäàòü âûïîëíèìà 3 Âûáèðàåì êàêèì-ëèáî îáðàçîì ëèòåðàë x 4 Ðåêóðñèâíî âûçûâàåì àëãîðèòì äëÿ ôîðìóëû F [x := 0], åñëè îòâåò âûïîëíèìà, òî âûäàòü âûïîëíèìà 5 Ðåêóðñèâíî âûçûâàåì àëãîðèòì äëÿ ôîðìóëû F [x := 1], åñëè îòâåò âûïîëíèìà, òî âûäàòü âûïîëíèìà 24 / 35
  • 25. Ðåçîëþöèè vs divide and conquer (x ∨ y ∨ z) ∧ (x ∨ y ∨ ¬z) ∧ (x ∨ t ∨ ¬y ) ∧ (¬t ∨ x) ∧ (¬x ∨ y ) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z) 25 / 35
  • 26. Êëàññ co-NP Îïðåäåëåíèå. ßçûê L∈ co-NP òîãäà è òîëüêî òîãäà, êîãäà L ∈ NP. (L =Σ∗ L) Ëåììà. SAT co-NP ïîëíûé. Äîêàçàòåëüñòâî. L ∈ co-NP ⇐⇒ L ∈ NP. Çíà÷èò, L ñâîäèòñÿ ê SAT, ò.å. ñóùåñòâóåò òàêàÿ ïîëèíîìèàëüíî âû÷èñëèìàÿ ôóíêöèÿf , ÷òî x ∈ L ⇐⇒ f (x) ∈ SAT. Ýòî ìîæíî ïåðåïèñàòü x ∈ L ⇐⇒ f (x) ∈ SAT . Çàìå÷àíèå. Ñîâïàäàþò ëè êëàññû NP è co-NP ýòî îòêðûòûé âîïðîñ. 26 / 35
  • 27. NP vs co-NP Ëåììà. Åñëè SAT ∈ co-NP, òî NP=co-NP. Äîêàçàòåëüñòâî. SAT ∈ co-NP ⇐⇒ SAT ∈ NP ⇐⇒ ñóùåñòâóåò ïîëèíîìèàëüíî îãðàíè÷åííîå è ïîëèíîìèàëüíî ïðîâåðÿåìîå îòíîøåíèå R ⊂ Σ∗ × Σ∗ , ÷òî SAT = {x|∃y : (x, y ) ∈ R}. Ïóñòü L ∈ NP, L ñâîäèòñÿ ê SAT. Ò.å., ñóùåñòâóåò òàêàÿ ïîëèíîìèàëüíî âû÷èñëèìàÿ ôóíêöèÿ f , ÷òî x ∈ L ⇐⇒ f (x) ∈ SAT (äîïîëíèòåëüíî íóæíî ïîòðåáîâàòü |f (x)| ≥ |x|). Ñëåäîâàòåëüíî, x ∈ L ⇐⇒ f (x) ∈ SAT . L = {x|∃y (f (x), y ) ∈ R} ∈ NP. Çíà÷èò, L ∈ co-NP. Ò.å. NP ⊂ co-NP. Ïóñòü L ∈ co-NP, L ñâîäèòñÿ ê SAT . Ò.å., ñóùåñòâóåò òàêàÿ ïîëèíîìèàëüíî âû÷èñëèìàÿ ôóíêöèÿ f , ÷òî x ∈ L ⇐⇒ f (x) ∈ SAT . L = {x|∃y (f (x), y ) ∈ R} ∈ NP. Çíà÷èò, co-NP ⊂ NP. Ñëåäñòâèå. co-NP = NP ⇐⇒ SAT ∈ co-NP ⇐⇒ SAT ∈ NP 27 / 35
  • 28. Ñèñòåìû äîêàçàòåëüñòâ è NP vs co-NP SAT ∈ NP îçíà÷àåò, ÷òî äëÿ êàæäîé íåâûïîëíèìîé ôîðìóëû ñóùåñòâóåò ïîëèíîìèàëüíîå ïî ðàçìåðó è ïîëèíîìèàëüíî ïðîâåðÿåìîå äîêàçàòåëüñòâî. Çíà÷èò, åñëè åñòü ñèñòåìà äîêàçàòåëüñòâ, â êîòîðîé âñå ôîðìóëû èç SAT èìåþò êîðîòêèå (ïîëèíîìèàëüíûå) îïðîâåðæåíèÿ, òî co-NP = NP. Äëÿ ðåçîëþöèîííîé ñèñòåìû ñóùåñòâóþò ôîðìóëû, êîòîðûå èìåþò ýêñïîíåíöèàëüíûå ðåçîëþöèîííûå îïðîâåðæåíèÿ. 28 / 35
  • 29. Áóëåâû ñõåìû Áóëåâà ñõåìà - ýòî • Îðèåíòèðîâàííûé ãðàô áåç öèêëîâ • Ðîâíî îäíà âåðøèíà, èç êîòîðîé íå âûõîäèò ðåáåð (âûõîä) • n âåðøèí â êîòîðûå íå âõîäÿò ðåáðà • Âñå îñòàëüíûå âåðøèíû ïîìå÷åíû ëîãè÷åñêèìè ñâÿçêàìè ∨, ∧, ¬. (àðíîñòü ñâÿçêè äîëæíà ðàâíÿòüñÿ ÷èñëó èñõîäÿùèõ ðåáåð) 29 / 35
  • 30. Ñõåìíàÿ ñëîæíîñòü áóëåâûõ ôóíêöèé • Ðàçìåð ñõåìû ýòî êîëè÷åñòâî âåðøèí â ãðàôå, çàäàþùåé ñõåìó. • Ñõåìíàÿ ñëîæíîñòü ôóíêöèè ýòî ìèíèìàëüíûé ðàçìåð ñõåìû, âû÷èñëÿþùåé ýòó ôóíêöèþ. • Ñõåìó ðàçìåðà k ìîæíî çàïèñàòü ñ ïîìîùüþ O(k log k) áèòîâ. n n n/2 • Êîëè÷åñòâî ñõåì ðàçìåðà 22 íå ïðåâîñõîäèò 2O( 2 2 ) . • Êîëè÷åñòâî áóëåâûõ ôóíêöèé îò n ïåðåìåííûõ ðàâíÿåòñÿ n 22 . • Çíà÷èò, ñóùåñòâóåò áóëåâà ôóíêöèÿ, ñëîæíîñòü êîòîðîé íå n ìåíåå 22 . • Îòêðûòûé âîïðîñ: ïîñòðîèòü ôóíêöèþ áîëüøîé ñõåìíîé ñëîæíîñòüþ. 30 / 35
  • 31. ßçûê ïðåäèêàòíûõ ôîðìóë Γ áåñêîíå÷íîå ìíîæåñòâî ïðåäìåòíûõ ïåðåìåííûõ. Γ = {x1 , x2 , x3 , . . . }. (i ) (i ) F = {f1 1 , f2 2 ...} ìíîæåñòâî ôóíêöèîíàëüíûõ ñèìâîëîâ ñ óêàçàíèåì èõ àðíîñòè, ik ≥ 0 (â ýòîì ìíîæåñòâå åñòü áåñêîíå÷íîå ÷èñëî ôóíêöèîíàëüíûõ ñèìâîëîâ ëþáîé àðíîñòè). Îïðåäåëåíèå. Òåðìû: • Ïðåäìåòíàÿ ïåðåìåííàÿ x ∈Γ òåðì. • Åñëè f (i) ∈ F, à t , t , . . . , t òåðìû, òî 1 2 i f (i) (t1 , t2 , . . . , ti ) òåðì. Ïðèìåð. • f (0) () òåðì; • f (2) (x, y ) òåðì; • f (2) (g (1) (x), h(3) (x, y , g (1) (x))) òåðì. 31 / 35
  • 32. ßçûê ïðåäèêàòíûõ ôîðìóë (i ) (i ) P = {p1 1 , p2 2 ...} ìíîæåñòâî ïðåäèêàòíûõ ñèìâîëîâ ñ óêàçàíèåì èõ àðíîñòè, ik ≥0 (â ýòîì ìíîæåñòâå åñòü áåñêîíå÷íîå ÷èñëî ïðåäèêàòíûõ ñèìâîëîâ ëþáîé àðíîñòè). Îïðåäåëåíèå. Àòîìàðíîé ôîðìóëîé íàçûâàåòñÿ ñòðî÷êà âèäà p (i) (t1 , t2 , . . . , ti ), ãäå p (i) ∈ P, à t1 , t2 , . . . , ti òåðìû. Îïðåäåëåíèå. Ïðåäèêàòíàÿ ôîðìóëà • Åñëè A àòîìàðíàÿ ôîðìóëà, òî A ïðåäèêàòíàÿ ôîðìóëà. • Åñëè A, B ïðåäèêàòíûå ôîðìóëû, òî (A), ¬A, A ∨ B, A ∧ B, A → B ïðåäèêàòíûå ôîðìóëû. • Åñëè A ïðåäèêàòíàÿ ôîðìóëà, x ∈ Γ, òî ∀xA è ∃xA ÿâëÿþòñÿ ïðåäèêàòíûìè ôîðìóëàìè. 32 / 35
  • 33. Ïðèìåðû ïðåäèêàòíûõ ôîðìóë • p(f(x)) ñâîáîäíàÿ ïåðåìåííàÿ x; • p1 (f1 (x)) ∨ p2 () ñâîáîäíàÿ ïåðåìåííàÿ x; • ∀x∃y (p1 (z) ∨ p1 (x)) ñâîáîäíàÿ ïåðåìåííàÿ z; • ∀x(p1 (f (x))) → ∃yp1 (y ) çàìêíóòàÿ ôîðìóëà; • ∀y (p1 (x, y ) ∨ ∃zp2 (f (x, y ), g (x))) ñâîáîäíàÿ ïåðåìåííàÿ x. Îïðåäåëåíèå. Ïåðåìåííàÿ íàçûâàåòñÿ ñâîáîäíîé, åñëè îíà íå âõîäèò â îáëàñòü äåéñòâèÿ êâàíòîðà ïî ýòîé ïåðåìåííîé. Ôîðìóëà áåç ñâîáîäíûõ ïåðåìåííûõ íàçûâàåòñÿ çàìêíóòîé. 33 / 35
  • 34. Èíòåðïðåòàöèÿ Ïóñòü ϕ ïðåäèêàòíàÿ ôîðìóëà ñî ñâîáîäíûìè ïåðåìåííûìè (i ) (i ) (i ) x1 , x2 , . . . , xk , ôóíêöèîíàëüíûìè ñèìâîëàìè f1 1 , f2 2 , . . . , fm m (j1 ) (j2 ) (jn ) è ïðåäèêàòíûìè ñèìâîëàìè p1 , p2 , . . . pn . Èíòåðïðåòàöèåé ôîðìóëû ϕ íàçûâàåòñÿ ìíîæåñòâî M , (i ) i çàäàííûå íà íåì îòîáðàæåíèÿ f s : M s → M è ïðåäèêàòû p (jr ) : M jr → {0, 1}, êàæäîé ïåðåìåííîé x ñîïîñòàâëåí ýëåìåíò l M. Äëÿ êàæäîé òàêîé èíòåðïðåòàöèè ìîæíî ïîñ÷èòàòü çíà÷åíèå ôîðìóëû. Ìîäåëüþ íàçûâàåòñÿ èíòåðïðåòàöèÿ, â êîòîðîé çíà÷åíèå ôîðìóëû ðàâíÿåòñÿ 1. 34 / 35
  • 35. Ïðèìåðû • ∀x(p(x) → q(x)). . .  èíòåðïðåòàöèè M = Z, p(x) = x . 4, q(x) = x . 2 . . çíà÷åíèå ôîðìóëû 1. . .  èíòåðïðåòàöèè M = Z, p(x) = x . 3, q(x) = x . 2 . . çíà÷åíèå ôîðìóëû 0. • ∀x(p(f (x))) → ∀xp(x)  èíòåðïðåòàöèè M = Z, . p(x) = x . 2, f (x) = 2x çíà÷åíèå ôîðìóëû 0. . • (p() ∨ q()) ∧ (p() ∨ ¬q()) ïðîïîçèöèîíàëüíûå ôîðìóëû ýòî ÷àñòíûé ñëó÷àé ïðåäèêàòíûõ. Åñëè â ïðåäèêàòíûõ ôîðìóëàõ ñîäåðæàòñÿ òîëüêî íóëüìåñòíûå ïðåäèêàòû è íåò êâàíòîðîâ, ïðåäìåòíûõ ïåðåìåííûõ è ôóíêöèîíàëüíûõ ñèìâîëîâ. 35 / 35