SlideShare a Scribd company logo
ËÈÊÁÅÇ
        Ëåêöèÿ 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
 
Aprendizaxe interxeneracional pw
Aprendizaxe interxeneracional pwAprendizaxe interxeneracional pw
Aprendizaxe interxeneracional pw
Docencia_Formación_Emprego
 
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 ines
nonoano_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
 
Ativ76clau
Ativ76clauAtiv76clau
Ativ76clau
claudia7colo
 
Planningfarmersmarkets
PlanningfarmersmarketsPlanningfarmersmarkets
Planningfarmersmarkets
Jamey 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

20141223 kuznetsov distributed
20141223 kuznetsov distributed20141223 kuznetsov distributed
20141223 kuznetsov distributed
Computer Science Club
 
Computer Vision
Computer VisionComputer Vision
Computer Vision
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_bugs
Computer 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_bugs
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_bugs
Computer 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_lecture11
Computer 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