СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Лекции по дискретной математике

Категория: Математика

Нажмите, чтобы узнать подробности

Просмотр содержимого документа
«Лекции по дискретной математике»

Тема: «Алгебра высказываний».


  1. Понятие высказывания. Под высказыванием понимается такое предложение, которое либо истинно, либо ложно. Высказывание что может быть одновременно и истинным, и ложным.

Первоначальная со­вокупность некоторых простейших высказываний, называемых эле­ментарными или исходными, о каждом из которых точно извест­но, истинно оно или ложно. Высказывания обозначаются заглавными буквами латинского алфавита А, В, С, D, ... или теми же буквами с индексами внизу.

Пример:

А: «Москва – столица России»

В: «7

Обозначив истинное высказывание символом 1, а ложное - введем функцию λ, заданную на совокупности всех высказывании и принимающую значения в двухэлементном множестве {0, 1 } по следующему правилу:

λ = 1, если высказывание Р истинно,

0, если высказывание Р ложно.

Функция λ называется функцией истинности, а значение λ) - логическим значением или значением истинности высказывания Р. Для приведенных высказываний имеем логические значения λ (А) = 1, λ (В) = 0.

Из элементарных высказываний с помощью операций над выс­казываниями или логических связок строят сложные высказыва­ния.

2. Основные логические операции.

1) Отрицанием выска­зывания Р называется новое высказывание, обозначаемое Р (чи­тается: «не Р» или «не верно, что Р»), которое истинно, если высказывание Р ложно, и ложно, если высказывание Р истинно. Таблица истинности операции отрицания:

λ (Р)

λ (¬Р)

0

1

1

0






Пример. Применим операцию отрицания к высказыванию А: «Москва – столица России». Данное отрицание можно читать так: «Неверно, что А» т. е. «Москва – столица России».

λ (¬А) = λ¬ (А) = ¬ 1 = 0, т.е. высказывание ¬ А ложно.

2) Конъюнкцией двух высказываний Р и Q называется новое высказывание, обозначаемое Р ˄ Q или Р & Q (читается: «Р и Q»), которое истинно лишь в единственном случае, когда истинны оба исходных высказывания Р и Q и ложно во всех остальных случаях. Таблица истинности операции конъюнкции:

λ(Р)

λ (Q)

λ (Р ˄Q)

0

0

0

0

1

0

1

0

0

1

1

1






Пример. Применим операцию конъюнкции к высказывани­ям А, и В. Получим высказывание А ˄ В: «Москва – столица России, и 7 λ(А˄В) = λ(А)˄λ(В) = 1˄0 = 0.

3) Дизъюнкцией двух высказываний Р и Q называется новое высказывание, обо­значаемое Р v Q (читается «Р или Q»), которое истинно в тех случаях, когда хотя бы одно из высказываний Р или Q истинно, и ложно в единственном случае, когда оба высказывания Р и Q ложны. Таблица истинности операции дизъюнкции:


λ(Р)

λ(Q)

λ(Р˄Q)

0

0

0

0

1

1

1

0

1

1

1

1


Пример. Применим операцию дизъюнкцию к высказывани­ям А и В. Получим составное высказывание А v В: «Москва – столица России, или 7λ(А˅В)= λ(А)˅λ(В)=1˅0=1.

4) Импликацией двух высказываний Р и Q называется новое высказывание, обозначаемое Р → Q «читается: «если Р, то Q», или «из Р следует Q», или «Р влечет Q » или «Р достаточно для Q», или «О необходимо для Р»), которое ложно единственном случае, когда высказывание Р истинно, а Q ложно, а во всех остальных случаях — истинно. Таблица истинности операции импликации:


λ(Р)

λ(Q)

λ (Р→Q)

0

0

1

0

1

1

1

0

0

1

1

1


В высказывании Р→Q высказывание Р называется посылкой или антецедентом, а высказывание Q - следствием или консеквентом.

Пример. Высказывание А →В: «Если Москва – столица России, то 7В)=λ(А)→λ(В)=1→0=0

5) Эквивалент­ностью двух высказываний Р и Q называется новое высказывание обозначаемое Р ↔ Q (читается: «Р эквивалентно Q», или «Р необ­ходимо и достаточно для Q», или «Р тогда и только тогда, когда Q» или «Р, если и только если Q»), которое истинно в том и только в том случае, когда одновременно оба высказывания Р и Q либо истинны, либо ложны, а во всех остальных случаях - ложно. Таблица истинности операции эквивалентности:


λ(P)

λ(Q)

λ(Р↔ Q)

0

0

1

0

1

0

1

0

0

1

1

1








Пример. Высказывание «Москва – столица России тогда и только тогда, когда 7А и В, ложно, так как

λ(А↔В)=λ(А)↔(В)=1↔0 = 0.

3. Формулы логики. С помощью логических операций из простейших высказываний можно строить высказывания более сложные. Например, можно построить такое высказывание: «Если Саратов находится на берегу Невы и все люди смертны, то

А. С. Пушкин - русский математик». Построенное высказывание символически записывается так: (А ˄В) → С. Конечно, оно звучит несколько странно, поскольку соединяет в себе столь разнородные понятия которые обычно существуют раздельно друг от друга. Но нас интересует не содержание этого высказывания, а его логическое значение. Оно может быть определено, исходя из логических значений исходных высказываний А, В, С и той схемы, по которой из исходных высказываний построено сложное высказывание. Так как λ(А) = 0, λ(В) = 1, λ(С) = 0, то находим:

λ[(А˄В)→С]=λ(А ˄ В)→λ(С)=( λ(А) ˄λ(В))→ λ(С)=(0˄1)→0=0→0=1 Итак, высказывание (А ˄ В) → С истинно.

Для конструирования данного сложного высказывания из простейших высказываний А, В и С нужно применить операцию конъюнкции к первым двум высказываниям, а затем к полученному высказыванию и к третьему исходному высказыванию применить операцию импликации. Это словесное описание схемы конструирования данного сложного высказывания можно заменить описанием символическим: (X ˄ Y) → Z, где X, Y, Z — некоторые символы (переменные), вместо которых можно под любые конкретные высказывания. Такая схема конструирования составного высказывания может быть применена к различным конкретным высказываниям, а не только к высказываниям А, В, С.

В формулу (X ˄ Y) → Z вместо переменных X, Y, Z можно подставлять конкретные высказывания, после чего вся формула будет превращаться в некоторое составное высказывание. Переменные, вместо которых можно подставлять высказывания, т.е. переменные, пробегающие множество высказываний, называют пропозициональными переменными, или высказывательными переменными, или переменными высказываниями. Будем обозначать пропозициональные переменные заглавными буквами латинского алфавита Р, Q, R, S, X, Y, Z или так же буквами с индексами. Теперь дадим точное определение формулы алгебры высказывание:

  1. Каждая отдельно взятая пропозициональная переменная есть формула алгебры высказываний.

  2. Если F1и F2 формулы алгебры высказываний, то выражения

¬F1 , (F1˄F2), (F1 v F2), (F1 → F2), (F1 ↔ F2) также являют формулами алгебры высказываний.

  1. Никаких других формул алгебры высказываний, кроме полу­чающихся согласно п. 1 и 2, нет.

Для каждой формулы должна существовать конечная последовательность всех ее подформула, т.е. такая конечная последовательность, которая начинается с входящей в данную формулу пропозициональных переменных, заканчивается самой этой формулой, и каждый член этой последовательности, не являющийся пропозициональной переменной, есть либо отрицание уже имеющегося члена этой последовательности, либо получается из двух уже имеющихся членов последовательности их соединением с помощью одного из знаков логических операций и заключением полученного выражения в скобки.

Такую последовательность всех подформул данной формулы иногда называют порождающей последовательностью для формулы. Наличие такой последовательности у логического выражения служит критерием того, что выражение является формулой. Это свойство отличает формулы.

Пример. (X ˄ ¬Y) → Z – формула, (X ¬Y) → Z – не является формулой.

4. Таблица истинности и методика её построения. Для каждой формулы F алгебры высказываний найти логические значения всех тех высказываний, в которые формула превращается при подстановке вместо всех ее пропози­циональных переменных различных конкретных высказываний. При нахождении логических значений формулы, соответствующих все­возможным наборам значений ее пропозициональных перемен­ных, удобной формой записи является табличная форма.

Пример. Составим таблицу истинности для формулы (Х→ Y) v (Y→ X).

λ(Х)

λ(Y)

λ(Х→Y)

λ(Y→X)

λ((X→Y)v(Y→ X)

0

0

1

1

1

0

1

1

0

1

1

0

0

1

1

1

1

1

1

1

Первые два столбца и последний столбец составленной табли­цы задают соответствия между логическими значениями исходных высказываний и логическим значением составного высказывания, получаемого по данной формуле. Эти три столбца и образуют таблицу истинности данной формулы. Остальные два столбца носят вспомогательный, промежуточный характер.

Пример. Составим таблицу истинности для формулы

F(P, Q, R) = (Р ˄ Q)(Р↔¬R).

λ(P)

λ(Q)

λ(R)

λ(Р ˄ Q) Q)

λ(¬R) Q

λ(P↔¬R)

λ(F)

0

0

0

0

1

0

1

0

0

1

0

0

1

1

0

1

0

0

1

0

1

0

1

1

0

0

1

1

1

0

0

0

1

1

1

1

0

1

0

0

0

1

1

1

0

1

1

1

1

1

1

1

1

0

0

0


5. Законы логики. Тавтологии представляют собой схемы построения истинных высказываний, независимо от содержания и истинности составляющих высказываний. Так, если для уста­новления того, истинны или нет высказывания «Саратов основан в 1590 году», «Солнце вращается вокруг Земли», необходимо об­ладать специальными знаниями или заглянуть в специальную ли­тературу, то для выяснения значения истинности высказываний «Треугольник ABC прямоугольный, или треугольник ABC не пря­моугольный», «Неверно, что информация о наследственных при­знаках хранится в генах, и эта информация в генах не хранится» уже не нужно обладать знаниями ни в математике, ни в генетике. Вывод об истинности последних высказываний делаем, исходя не из их содержания, а из их формы, структуры. Структура первого из последних высказываний выражается формулой Xv ¬Х, а второ­го — формулой ¬(Xv ¬Х). Легко убедиться в том, что обе эти формулы суть тавтологии. Данные формулы дают две схемы по­строения всегда истинных высказываний. И такова каждая фор­мула, являющаяся тавтологией. Но главное значение тавтологий не в этом.

Основное значение тавтологий состоит в том, что некоторые из них предоставляют правильные способы построения умозаключе­ний, т.е. такие способы, которые от истинных посылок всегда приводят к истинным выводам. Термин «тавтология» имеет греческое происхождение и означает повторение одного и того же определения, суждения иными, близкими по смыслу словами. В тавтологиях, относящихся к ма­тематической логике, заключительной логической связкой явля­ется эквивалентность ↔ . Например, тавтология (Р ˄ (Q v R))↔ ((Р ˄ Q) v (Р ˄ R)) выражает одинаковость форм (формул) в ее левой и правой частях, т. е. имеется в виду семантическая одинаковость, выражаемая разными словами — формами (фор­мулами).

Основные тавтологии.

1) закон исключенного третьего Р v ¬Р;

2) закон отрицания противоречия ¬(Р ˄¬Р);

3) закон двойного отрицания ¬¬Р ↔ Р;

4) закон тождества Р→Р;

5) закон контрапозиции (Р → Q)↔(¬Q→¬Р);

6) закон силлогизма (правило цепного заключения)

((Р→Q) ˄ (Q→R)) →(Р→R);

7) закон противоположности (Р ↔ Q)↔(¬Р ↔¬Q);

8) правило добавления антецедента («истина из чего угодно») Р→ (Q →Р);

9) правило «из ложного что угодно» ¬Р→(Р→Q);

10) правило «модус поненс» (Р ˄ (Р→Q))→Q;

11) правило «модус толленс» ((Р →Q) ˄¬Q)→¬Р;

12) правило перестановки посылок (Р →(Q→ R))↔(Q→(Р→ R));

13) правило объединения (и разъединения) посылок (Р→( Q → R)) ↔((Р ˄ Q) → R);

14) правило разбора случаев ((Р→R) ˄ (Q → R)) ↔ ((Р v Q) → R);

15) правило приведения к абсурду ((¬Р→Q) ˄ (¬P→¬Q))→Р, (¬P→( Q ˄ ¬ Q)) →Р;

16) законы идемпотентности (Р ˄ Р) ↔Р, (Рv Р)↔Р;

17) законы упрощения (Р ˄ Q)→Р, Р→(Р v Q);

18) законы коммутативности (Р ˄ Q)↔(Q ˄ Р), (Р v Q)↔(Q v Р);

19) законы ассоциативности (Р˄(Q˄R))↔((Р˄Q)˄Р), (Рv(QvR))↔((Р v Q) v R);

20) законы дистрибутивности (Р˄(Q v R))↔((Р˄Q)v(Р˄R)),

(Pv(Q˄R))↔((РvQ)˄ (Рv R));

21) законы поглощения (Р ˄ (Р V Q) ↔ Р, (Р V (Р ˄ Q) ↔Р;

22) законы де Моргана ¬(Р ˄ Q)↔ (¬Р V ¬ Q), ¬(Р v Q)↔(¬Р ˄¬ Q);

23) (Р→(Q →R))→((Р → Q) →(Р→ R));

24) Р→(Q→ (Р ˄ Q));

25) (Р→R) → ((Q→ R)→((Р v Q )→Р));

26) (Р→ Q) →((Р→¬ Q) →¬Р));

27) (¬Q ˄ (Р → Q) → ¬Р;

28) (¬Р ˄ (Р v Q))→ Q

29) (Р →Q) →((Р v R) → (Q v R));

30) (Р →Q) →((Р ˄ R) → (Q ˄ R));

31) (Р→Q)→((Q→R)→(Р→R));

32) (Р → Q) v (Q→Р);

33) (¬Q →¬Р)→((¬ Q→Р) → Q);

34) ((Р →Q)˄(R→Q)↔((Рv R)→ Q);

35) ((Р→ Q) ˄(Р→R))↔(Р→( Q ˄ R));

36) Р ↔ Р;

37) (Р ↔ Q)↔(Q ↔ Р);

38) ((Р ↔ Q) ˄ (Q ↔ R)) → (Р ↔R).

39) (Р → Q)↔(¬Р v Q);

40) (Р→ Q)↔¬(P ˄ ¬Q);

41) (Р ˄ Q) ↔¬(¬Р v¬ Q);

42) (Р ˄ Q) ↔ ¬(P →¬ Q);

43) (Pv Q)↔¬(¬Р ˄ ¬ Q);

44) (Pv Q)↔ (¬Р→Q);

45) (Р↔ Q) ↔ ((Р→ Q) ˄ (Q → Р)).

6. Равносильные преобразования. Определение. Формулы F(X1, X 2, ..., Хп) и Н(X1, X 2, ..., Хп) алгебры высказываний называются равносильными (эквивалентными), если при любых значениях вхо­дящих в них пропозициональных переменных логические значе­ния получающихся из формул F и Н высказываний совпадают. Для указания равносильности формул используют обозначениеFН .

При­мер. Проверим равносильность формул ¬Х1, и ¬Х2˄(Х2 v ¬Х1). Для этого составим таблицы истинности обеих формул и убедимся, что значения истинности получающихся из них высказываний одинаковы для любых одинаковых наборов значений пропозициональных переменных X1 и Х2:

λ(Х1)

λ(Х2)

λ(¬Х1)

λ(Х2 v ¬Х1)

λ(¬Х2˄ (Х2 v ¬Х1))

0

0

1

1

1

0

1

1

1

1

1

0

0

0

0

I

1

0

1

0

Теорема (признак равносильности формул). Две формулы Fи Н алгебры высказываний равносильны тогда и только тогда, когда формула F↔Н является тавтологией:

F H=FH.

Отметим, что равносильность формул — это не (логическая) операция над формулами, а отношение между формулами логики высказываний. Это означает, что если Fи H формулы, то выра­жение F H уже не является формулой алгебры высказываний; оно — утверждение о некотором взаимоотношении между форму­лами F и Н, лишь сокращенная (символическая) запись утвержде­ния (высказывания) «F равносильна H» об этих формулах. Это ут­верждение либо истинно, либо ложно, т.е. F и H либо находятся в отношении равносильности, либо нет.

Следствие. Отношение равносильности между формулами алгебры высказываний:

а) рефлексивно: F  F;

б) симметрично: если F1  F 2, то F2  F1,

в) транзитивно: если F1  F 2 и F 2 F 3, то F1  F3,

т. е. отношение равносильности является отношением эквивалент­ности.

Теорема. Справедливы следующие равносильности:

1) ¬¬РР;

2) Р→Q ¬Q→¬Р;

3) Р↔ Q¬Р↔¬ Q;

4) Р→(Q→R)(Р ˄ Q)→ R;

5)(Р → R) ˄ (Q→ R)(Р v Q) → R;

6) Р ˄ Р  Р;

7) Р v Р  Р;

8) Р ˄ QQ ˄ Р;

9) Р v Q Q v Р;

10) Р ˄ (Q ˄ R)  (Р ˄ Q) ˄ R;

11) Р v (Q v R)  (Р v Q) v R;

12) Р ˄ (Q v R)  (Р ˄ Q) v (Р ˄ R);

13)Pv(Q ˄ R) (Pv Q) ˄ (Р v R);

14) Р ˄ (Р v Q) Р;

15) Р v(Р ˄ Q) Р;

16) ¬(P ˄ Q) ¬Pv¬ Q;

17) ¬(Рv Q) ¬Р ˄¬Q;

18) Р ↔ QQ↔Р;

19) Р→Q¬Р v Q;

20) Р→ Q¬(P ˄¬ Q);

21) Р ˄ Q  ¬(Р → ¬ Q);

22) Р v Q ¬Р→ Q;

23) Р↔ Q(Р→ Q) ˄ (Q→Р);

24) Р v ¬P  1, Р ˄ ¬P0;

25) Pv11,P˄1P;

26) Р v0Р, Р˄00

Используя приведенные в теореме равносильности, можно от од­ной формулы переходить к равносильной ей формуле. Такой переход называется равносильным преобразованием исходной формулы. Равносильные преобразования формул применяются прежде всего для упрощения формул.

Пример. Упростим формулу

¬(Х1→¬X2) ˄¬(Х2→¬Х1)¬(¬X1 v ¬Х2)˄¬(¬X2v¬Х1)  ¬(¬X1 v ¬Х2)˄¬(¬X1v¬Х2)  ¬(¬X1 v ¬Х2) ¬¬X1 ˄ ¬¬Х2 Х1 ˄ Х2.

7. Нормальные формы для формул алгебры высказываний.

Для каждой формулы алгебры высказываний можно указать равносильную ей формулу, содержащую из логических связок лишь отрицание, конъюнкцию и дизъюнкцию. Например: XvY, (X˄¬Y)vY, (Х˄¬Y)v((Xv¬X) ˄Y).

Среди всевозможных выражений формулы через конъюнкцию, дизъюнкцию и отрицание некоторые играют важную роль как в алгебре высказываний, так и в ее приложениях. Рассмотрение таких выражений, называемых совершенными нормальными формами.

Конъюнктивным одночленом от переменных Х1, Х2, ..., Хп называется конъюнкция этих переменных их отрицаний. Здесь «и» употребляется в неисключающем смысле, т. е. в конъюнктивный одночлен может входить одновременно и переменная, и ее отрицание. Например: Х1˄Х2, Х1˄¬Х2˄Х3.

Дизъюнктивным одночленом от переменных Х1, Х2, ..., Хп называется дизъюнкция этих переменных их отрицаний. Здесь «или» употребляется в неисключающем смысле, т. е. в дизъюнктивный одночлен может входить одновременно и переменная, и ее отрицание. Например: Х12, Х1v¬Х23.

Дизъюнктивной нормальной формой называется дизъюнкция конъюнктивных одночленов. Например: (Х1˄Х2)v(Х1˄¬Х2˄Х3).

Конъюнктивной нормальной формой называется конъюнкция дизъюнктивных одночленов. Например: (Х12) ˄(Х1v¬Х23).

Всякая формула, обладающая как дизъюнктивной, так и конъюнктивной нормальной формой, используя законы де Моргана, свойство дистрибутивности.

Среди множества дизъюнк­тивных (равно как и конъюнктивных) нормальных форм, кото­рыми обладает данная формула алгебры высказываний, существует уникальная форма: она единственна для данной формулы. Это так называемая совершенная дизъюнктивная нормальная форма (среди конъюнктивных форм - совершенная конъюнктивная нормаль­ная форма).

Одночлен (конъюнктивный или дизъюнктив­ный) от переменных Х1, Х2, ..., Хn называется совершенным, если в него от каждой пары Xi, ¬Xi, (i = 1, 2,..., п) входит только один представитель (Xi или ¬Xi). Нормальная форма (дизъюнктивная или конъюнктивная) от переменных Х1, Х2, ..., Хп называется совершенной от этих переменных, если в нее входят лишь совершен­ие одночлены (конъюнктивные или дизъюнктивные соответствен­но) от Х1, Х2, Хп.

Например: совершенная конъюнктивная нормальная форма от четырех переменных Х1, Х2, Х3, Х4: (X1v X2v X3 v Х4) ˄(¬X1v X2v ¬X3 v Х4);

совершенная дизъюнктивная нормальная форма: (Х˄У)v (¬Х˄У)v(Х˄¬У).

Введем обозначение, которое будет удобно в дальнейшем:

Хα = X, если α = 1,

¬X, если α = 0.

Легко проверить, что 00 = 1, 01 = 0, 1° = 0, 11 = 1, т. е. Хα = 1 тогда и только тогда, когда X = α, и Хα = 0 тогда и только тогда, Х≠α. Введем еще одно обозначение. Вместо дизъюнкции Х1 v Х2 v ... vХn будем писать Vni=1Xi. Например: V(α, β)(Xα ˄ Хβ) = (Х0˄У0) v (Х0 ˄ У1) v (X1 ˄ У0) v (X1 ˄ У1) =

(¬Х˄¬У) v (¬Х˄У) v (X ˄ ¬У) v (X˄ У).

Теорема (о представлении формул алгебры высказываний совершенными дизъюнктивными нормальными формулами). Каж­дая не тождественно ложная формула алгебры высказываний от п аргументов имеет единственную (с точностью до перестановки дизъ­юнктивных членов) совершенную дизъюнктивную нормальную форму.

Введем обозначение, которое будет удобно в дальнейшем:

βХ = X, если β = 0,

¬X, если β = 1.

Легко проверить, что 00=0, 10 =1, 01 =1, 11= 0, т. е. βХ = 1 тогда и только тогда, когда Х≠β и βХ= 0 тогда и только тогда, Х=β.

Введем еще одно обозначение. Вместо дизъюнкции Х1 v Х2 v ... vХn будем писать ˄ ni=1Xi.

Например: ˄ (α, β)(αХ v βХ) = (0Хv 0У) ˄ (0 Хv 1У) ˄ (1Хv 0У) ˄ (1Х v 1У) =

(Х v У) ˄ (Х v ¬У) ˄ (¬X v У) ˄ (¬X v ¬У).

Теорема (о представлении формул алгебры высказываний совершенными конъюнктивными нормальными формулами). Каж­дая формула алгебры высказываний от п переменных, не являющаяся тавтологией, имеет единственную (с точностью до перестановки конъ­юнктивных членов) совершенную конъюнктивную нормальную форму.

Эти два способа проистекают из двух способов задания формулы алгебры высказываний: с помощью таблицы ее значений или с помощью аналитической формы записи.

Правило (алгоритм) отыскания совершенной дизъюнктивной нормальной формы для данной формулы: нужно выбрать все те наборы значений ее переменных, на которых формула принимает значение 1, для каждого такого набopa выписать совершенный конъюнктивный одночлен, принимающий значение 1 на этом наборе и только на нем, полученные совершенные конъюнктивные одночлены соединить знаками дизъюнкциии.

Правило (алгоритм) отыскания совершенной конъюнктивной нормальной формы для данной формулы: нужно выбрать все те наборы значений ее переменных, на которых формула принимает значение 0, для каждого такого набора выписать совершенный дизъюнктивный одночлен, принимающий зна­чение 0 на этом наборе и только на нем, полученные совершенные дизъюнктивные одночлены соединить знаками конъюнкции.

Пример. Пусть формула F(X, У, Z) задана следу­ющей таблицей своих значений:

X

У

Z

F(X, Y, Z)

0

0

0

1

0

0

1

0

0

1

0

1

0

1

1

1

1

0

0

1

1

0

1

0

1

1

0

0

1

1

1

1

Таким образом, она принимает значения 1 на следующих на­борах значений своих переменных (или при следующих конкрети­зациях): (0, 0, 0), (0, 1,0), (0, 1, 1), (1, 0, 0), (1, 1, 1). Запишем пре­дыдущую формулу разложения в СДН-форму для случая п = 3 и применим ее в нашей ситуации:

F(X,Y,Z)=(Х0˄У0˄Z0) v (Х0˄ У1˄Z0) v (Х0˄У1˄Z1) v (X1˄У0˄Z°) v (Х1˄У1 ˄ Z1) = (¬Х˄¬У˄¬Z)v(¬Х˄У˄¬Z)v (¬Х˄Y˄Z)v(X˄¬У˄¬Z)v(Х˄ У˄ Z).

Пример. Для формулы F(X, У,Z) из предыдущего примера найдем ее СКН-форму. Для этого сначала отметим все те наборы значений переменных, на которых она принимает значение 0: (0, 0, 1), (1, 0, 1), (1, 1, 0). Теперь запишем формулу разложения в СКН-форму для случая п = 3 и применим ее в нашей ситуации:

F(X,Y,Z)=(0Х v 0У v 1Z) ˄ (1Х v 0У v 1Z) ˄ (1Х v 1У v 0Z) =

= (ХvУv¬Z) ˄ (¬Хv Уv ¬Z) ˄ (¬Хv ¬УvZ).

Второй способ приведения формул алгебры высказываний к с вершенной нормальной форме основан на равносильных преобразованиях данной формулы. В этом случае формула должна быть задана в аналитической форме. Для приведения формулы к совершенной нормальной форме нужно сначала привести ее к дизъюнктивной (или конъюнктивной) нормальной форме. Отметим, что одной из сфер применения нормальных форм является та, где требуется получить аналитическое выражение для формулы алгебры высказываний, которая задана своей таблицей значений (таблицей истинности).









Тема: «Булевы функции»

  1. Понятие булевой функции. Булевой функцией от одного аргумента называется функция f, заданная на множестве из двух элементов и принимающая значения в том же двухэлементном множестве.

Элементы двухэлементного множества будем обозначать 0 и 1. Таким образом f: {0,1}→{0,1}. Нетрудно перечислить все буле­вы функции от одного аргумента:

х

f0(х)

f1(х)

f2(х)

f3(х)

0

0

0

1

1

1

0

1

0

1

Составленная таблица означает, что, например, булева функ­ция f2 на аргументах 0 и 1 действует следующим образом: f2(0) =1 и f2(1) = 0. Всего имеется четыре различных булевых функций от одного аргумента:

f0(x) =0 — функция, тождественно равная 0 (тождественный нуль);

f1(x)=х — тождественная функция;

f2(х) = х — функция, называемая отрицанием;

f3(х) = 1 — функция, тождественно равная 1 (тождественная единица).

Булевой функцией от двух аргументов называется функция f, заданная на множестве {0,1} х {0,1} и принимающая значения в двухэлемент­ном множестве {0,1}. Другими словами, булева функция от двух аргументов сопоставляет любой упорядоченной паре, составленой элементов 0 и 1 (а таких упорядоченных пар будет четыре), ниш о, либо 1.

Перечислим все возможные булевы функции от двух аргумен­тов в форме следующей таблицы:



0

·

→´

х

←′

у

+

V

у′

х′

1

х

у

f0

f1

f2

f3

f4

f5

f6

f7

f8

f9

f10

f11

f12

f13

f14

fl5

0

0

0

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

0

1

0

0

0

0

1

1

1

1

0

0

0

0

1

1

1

1

1

0

0

0

1

1

0

0

1

1

0

0

1

1

0

0

1

1

1

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

Заметим: функции пронумерованы так, что номер функции, за­писанный в двоичной системе счисления, дает последовательность значений соответствующей функции. Например, двоичная запись числа 13имеет вид: 1101. Соответствующая функция f13(x, у) прини­май следующие значения: f3(0, 0)=1, f13(0,1)=1, f3(1, 0)=0, f3(1,1) = 1.

f0(x,у)=0 и f15(x,у)=1 - тождественный ноль и тождественная единица;

f1(x, у) называется конъюнкцией;

f14 (x, у)=х  у, называется штрихом Шеффера или отрицание конъюнкции;

f7(x, у) = х v у называется дизъюнкцией;

f8(x, у) = х↓у, называется стрелкой Пирса (функция Вебба) или отрицание дизъюнкции;

f13(x, у)=х→у, называется импликацией;

f11(x, у) =х←у, называется антиимпликацией или обратной импликацией; потому что представляет собой импиликацию с по­сылкой у и следствием х.

f 9 (х, у) называется эквивалентностью и обозначает­ся х ↔у

f 6(x, у), являющаяся отрицанием функции f 9 (х, у), называется сложением по модулю два, или суммой Жегалкина, и обозначается х+ у.

f l2(x, у) = х' – отрицание х.

f l0(x, у) = у' – отрицание у.

Теорема. Для булевых функций выполняются следующие равенства:

а) (идемпотентность дизъюнкции и конъюнкции);
б) (коммутативность дизъюнкции и конъюнкции);
в) (ассоциативность дизъюнкции и конъюнкции);
г) ;
д) ;
е) (дистрибутивность дизъюнкции относительно конъюнкции и дистрибутивность конъюнкции относительно дизъюнкции);
ж) (законы поглощения);
з) (законы де Моргана);
и) ;
к) .

Теорема. Для булевых функций справедливы следующие равенства:

а) ;
б) (коммутативность эквивалентности);
в) (ассоциативность эквивалентности);
г) ;
д) ;
е) ;
ж) ;
з) ;
и) ;
к) ;
л) ;
м) ;
н) .

Теорема. Справедливы следующие равенства, выражающие одни булевы функции через другие:

а) ;
б) ;
в) ;
г) ;
д) ;

е) xy=(xy)∙(yx);
ж) ;
з) ;
и) ;
к) ;
л) ;
м) .


2. Применение булевых функций к теории дискретных преобразователей информации.

Булевы функции широко применяются при описании работы дискретных управляющих систем (контактных схем, схем из функциональных элементов, логических сетей и т.д.), при исследовании некоторых электрических цепей, так называемых релейно-контактных схем.

Под релейно-контактной схемой понимается Устройство из проводников и двухпозиционных контактов. Оно может быть предназначено, например, для соединения (или разъединения) полюсов источника тока с некоторым потребителем. Контакты релейно-контактной схемы могут быть двух типов: замыкающие и размыкающие. Каждый контакт подключен к некоторому реле (переключателю). К одному реле может быть подключено несколько контактов — как замыкающих, так и размыкающих. Технически реле представляет собой катушку с металлическим сердечником (магнитопроводом), вблизи которого находится соответствующий контакт.

Когда через катушку пропускается электрический ток, металлический сердечник намагничивается и замыкает все находящиеся при нем замыкающие контакты. Одновременно все размыкающие контакты, относящиеся к данному реле, размыкаются. Поскольку замыкающие контакты при отсутствии в реле электрического тока разомкнуты, то они называются также нормально разомкнутыми. Аналогично, размыкающие контакты называются также нормально замкнутыми. При обесточивании обмоток реле (т.е. когда реле отключается) все замыкающие контакты снова размыкаются, а все размыкающие, замыкаются.

Каждому реле ставится в соответствие своя булева переменная х1, или х2, …или хn, которая принимает значение 1, когда реле срабатывает, и принимает значение 0 при отключении реле. На чертеже все замыкающие контакты, подключенные к реле х, обозначаются тем же символом х, а все размыкающие контакты, подключенные к этому реле, обозначаются отрицанием х/. Это означает, что при срабатывании реле  х все его замыкающие контакты х проводят ток и им сопоставляется значение 1, а все размыкающие контакты  х/ не проводят электрический ток и им сопоставляется значение 0. При отключенном реле  создается противоположная ситуация: все его замыкающие контакты х разомкнуты, т. е. в этот момент им сопоставляется (переменная  принимает) значение 0, а все его размыкающие контакты  замкнуты, т. е. в этот момент им сопоставляется (другими словами, переменная х/ принимает) значение 1.

Всей релейно-контактной схеме тогда ставится в соответствие булева переменная у, зависящая от булевых переменных х1,  х2, … хn, сопоставленным тем реле, которые участвуют в схеме. Если при данном наборе состояний реле х1,  х2, … хn (некоторые из этих реле находятся в рабочем состоянии под током, остальные отключены, т.е. "обесточены") вся релейно-контактная схема проводит электрический ток, то переменной  ставится в соответствие (другими словами, переменная  принимает) значение 1. Если же при этом наборе состояний реле  х1,  х2, … хn схема не проводит электрический ток, то считаем, что переменная у принимает значение 0. Поскольку каждый набор состояний реле х1,  х2, … хn характеризуется набором, составленным из нулей и единиц и имеющим длину n, то данная релейно-контактная схема определяет некоторое правило, по которому каждому такому набору длины n, составленному из нулей и единиц, сопоставляется либо 0, либо 1. Таким образом, каждая релейно-контактная схема, в которой занято независимых реле (контактов в ней может быть  n или больше), определяет некоторую булеву функцию  y от  n аргументов. Она принимает значение 1 на тех и только тех наборах значений аргументов х1,  х2, … хn, которые соответствуют тем состояниям реле , при которых данная схема проводит электрический ток. Такая булева функция  y=f(х1,  х2, … хn ) называется функцией проводимости данной релейно-контактной схемы.

Таким образом, теория булевых функций предоставляет математические модели реальных физических релейно-контактных схем.

Рассмотрим некоторые релейно-контактные схемы и найдем их функции проводимости. Первая схема состоит из двух последовательно соединенных контактов  x и y, т. е. контактов, связанных с двумя независимыми реле  x и y, каждое из которых срабатывает независимо от другого:





Ясно, что данная схема проводит электрический ток тогда и только тогда, когда оба контакта  x и y  замкнуты, т. е. только тогда, когда оба переменных x и y  принимают значение 1. Булева функция от двух аргументов x и y, удовлетворяющая такому условию, нам хорошо известна. Это конъюнкция xy. Таким образом, функцией проводимости релейно-контактной схемы, состоящей из двух последовательно соединенных контактов x и y, является конъюнкция. Говорят, что последовательное соединение двух контактов реализует конъюнкцию соответствующих этим контактам булевых переменных.

Вторая релейно-контактная схема состоит из двух параллельно соединенных контактов  x и y:






Ясно, что эта схема проводит электрический ток в том и только в том случае, когда по меньшей мере один из контактов (х или у) замкнут, т.е. лишь в случае, когда хотя бы одна из булевых переменных ( х или у) принимает значение 1. Булева функция от двух аргументов  x и y , удовлетворяющая этому условию, также хорошо нам известна. Это, дизъюнкция. Таким образом, функцией проводимости релейно-контактной схемы, состоящей из двух параллельно соединенных контактов x и y, является дизъюнкция. Говорят, что параллельное соединение двух контактов реализует дизъюнкцию соответствующих этим контактам булевых переменных.

Итак, с помощью релейно-контактных схем можно реализовывать булевы функции: конъюнкцию, дизъюнкцию и отрицание. Поскольку всякая булева функция может быть выражена через конъюнкцию, дизъюнкцию и отрицание, причем отрицание стоит лишь непосредственно около переменных и не стоит ни около каких внутренних скобок, а конъюнкция, дизъюнкция и отрицание, как показано только что, реализуются на релейно-контактных схемах, то и всякая булева функция может быть реализована с помощью релейно-контактной схемы, т. е. может быть построена такая схема, для которой данная булева функция служит функцией проводимости.

Реализуем, например, в виде релейно-контактных схем булевы функции — импликацию и эквивалентность. Для этого выразим их через конъюнкцию, дизъюнкцию и отрицание. Такие выражения известны: , xy=(xy)∙(yx)=(х/˅у) ∙(у/˅х). Предлагается самостоятельно нарисовать схему, реализующую функцию xy. Релейно-контактная схема, реализующая функцию xy, будет состоять из двух последовательно соединенных ветвей, первая из которых реализует булеву функцию /˅у), а вторая — булеву функцию /˅х). В свою очередь, первая из ветвей будет состоять из двух параллельных участков, один из которых содержит контакт х/, а второй — контакт у. Аналогично, вторая ветвь также будет состоять из двух параллельных участков, один из которых содержит контакт х, а другой — контакт у/. Изображаем полученную релейно-контактную схему (чтобы упростить рисунки, не будем изображать сами контакты, а ограничимся символом булевой переменной, соответствующей данному контакту):







Составление релейно-контактных схем с заданными условиями работы называется задачей синтеза релейно-контактных схем и является первой важной задачей, состоящей в том, что требуется построить схему, которая проводила бы электрический ток лишь при вполне определенных задаваемых условиях.

Естественно было бы выбирать для каждой булевой функции самую простую или одну из самых простых реализующих ее релейно-контактных схем. Поэтому упрощение релейно-контактных схем называется задачей анализа таких схем и является второй важной задачей теории релейно-контактных схем. Две релейно-контактные схемы, составленные из одних и тех же реле, называются равносильными, если одна из них проводит ток тогда и только тогда, когда другая схема проводит ток. Другими словами, две схемы, составленные из одних и тех же реле, равносильны, если они обладают одинаковыми функциями проводимости, зависящими от одних и тех же переменных. Из двух равносильных схем более простой считается та, которая содержит меньшее число контактов. Задача упрощения релейно-контактной схемы состоит в нахождении более простой равносильной ей схемы. Обычно она решается следующим образом. Для данной релейно-контактной схемы записывается ее функция проводимости. Затем эта функция с помощью тождественных преобразований, использующих известные свойства булевых функций, упрощается, т.е. сводится к функции, имеющей меньшее число вхождений переменных, нежели исходная функция. Наконец строится релейно-контактная схема, отвечающая упрощенной булевой функции.














Тема: «Предикаты»

1. Понятие предиката. Логические операции над предикатами.

В высказывании все четко: это — конкрет­ное утверждение о конкретных объектах — истинное или ложное. Предикат — предложение, похожее на высказывание, но все же им не являющееся: о нем нельзя судить, истинно оно или ложно. Дадим точное определение.

Определенным на множествах М1, М2, ..., Мп п-местным предикатом называется предложение, содержащее п переменных х1, х2, ..., хп, превращающееся в высказывание при подстановке вместо этих переменных любых конкретных элемен­тов из множеств М1, М2, ..., Мп соответственно.

Для п -местного предиката будем использовать обозначение Р(х1, х2, ..., хп). Переменные х1, х2, хп называют предметными, а элементы множеств М1, М2, ..., Мп, которые эти переменные про­бегают, — конкретными предметами. Всякий п-местный предикат Р(х1, х2,… хп), определенный на множествах М1, М2, ..., Мп представляет собой функцию п аргументов, заданную на указан­ных множествах и принимающую значения в множестве всех высказываний. Поэтому предикат называют также функцией-выска­зыванием.

Например. Предложение «Река х впадает в озеро Байкал» является одноместным предикатом, определенным над множеством всех названий рек. Подставив вместо предметной пе­ременной х название «Баргузин», получим высказывание «Река Баргузин впадает в озеро Байкал». Это высказывание истинно. Поставив вместо предметной переменной х название «Днепр», полу­чим ложное высказывание «Река Днепр впадает в озеро Байкал».

Отметим еще один подход к понятию предиката. Как отмеча­лось, предикат Р(х1, х2,… хп), определенный на множествах М1, М2, ..., Мп, превращается в конкретное высказывание Р(а1, а2, ..., ап), если вместо предметных переменных х1, х2,… хп подставить в него конкретные предметы (элементы а1, а2, ..., ап) из множеств М1, М2, ..., Мп соответственно. Это высказывание может быть либо истинным, либо ложным, т.е. его логическое значение равно 1 или 0. Следовательно, данный предикат определяет функцию п аргумен­тов, заданную на множествах М1, М2, ..., Мп и принимающую зна­чение в двухэлементном множестве {0, 1}. Иногда эту функцию и называют предикатом.

Предикат Р(х1, х2,… хп), заданный на множествах М1, М2, ..., Мп, называется:

а) тождественно истинным, если при любой подстановке вместо

переменных х1, х2,… хп любых конкретных предметов а1, а2, ..., ап из множеств М1, М2, ..., Мп соответственно он превращается в истинное высказывание Р(а1, а2, ..., ап);

б) тождественно ложным, если при любой подстановке вмес­то переменных х1, х2,… хп любых конкретных предметов из мно­жеств М1, М2, ..., Мп соответственно он превращается в ложное высказывание;

в) выполнимым (опровержимым), если существует по меньшей мере один набор конкретных предметов а1, а2, ..., ап из мно­жеств М1, М2, ..., Мп соответственно, при подстановке которых вместо соответствующих предметных переменных в предикат Р(х1, х2,… хп) последний превратится в истинное (ложное) выска­зывание Р(а1, а2, ..., ап).

Например. Одноместный предикат «Город х распо­ложен на берегу реки Волги», определенный на множестве назва­ний городов, является выполнимым, потому что существуют го­рода, названия которых превращают данный предикат в истин­ное высказывание, или, иначе, удовлетворяют этому предикату (например, Ульяновск, Саратов и т. д.). Но данный предикат не будет тождественно истинным, потому что существуют города, названия которых превращают его в ложное высказывание, или, иначе, не удовлетворяют этому предикату (например, Прага, Якутск и т.д.). Этот же предикат являет собой пример опровержи­мого, но не тождественно ложного предиката.

Логические операции

1) Отрицанием п-местного предиката Р(х1, х2, ..., хп), определенного на множествах М1, М2,…, Мп, называется новый п-местный предикат, определен­ный на тех же множествах, обозначаемый ¬Р (х1, х2, ..., хп) (читается: «неверно, что Р(х1, х2, ..., хп)»), который превращается в истинное высказывание при всех тех и только тех значениях пред­метных переменных, при которых исходное высказывание превращается в ложное высказывание.

Например, нетрудно понять, что отрицанием одноместного предиката

«х ≤3», определенного на множестве R, является одно­местный предикат

«х 3», определенный на том же множестве R. Отрицанием предиката «Река х впадает в озеро Байкал» является предикат «Река х не впадает в озеро Байкал» (оба одноместных предиката определены на множестве названий рек).

2) Конъюнкцией п- местного предиката Р(х1, х2, ..., хп), определенного на множествах М1, М2,…, Мп, и т-местного предиката Q(y1, у2, …, ут), определенный на множествах N1, N2, ..., Nm, называется новый (п + т) -местным предикат, определенный на множествах М1, М2,…, Мп, N1, N2, ..., Nm, обозначаемый Р(х1, х2, ..., хп) ^ Q(y1, у2, …, ут) (читается «Р(х1, х2, ..., хп) и Q(y1, у2, …, ут)»), который превращается в истинное высказывание при всех тех и только тех значениях предметных переменных, при которых оба исходных предиката пре­вышаются в истинные высказывания.

Например, конъюнкцией двух одноместных предикатов «х -3» и «х3», определенных на R, будет одноместный предикат «(х -3)^(х х 3», который равносилен предикату «|х|

3) Дизъюнкцией п-местного предиката Р(х1, х2, ..., хп), определенного на множе­ствах М1, М2,…, Мп, и п-местного предиката Q(y1, у2, ..., ут), определенного на множествах N1, N2, ..., Nm, называется новый (п + т)-местный предикат, определенный на множествах М1, М2,…, Мп, N1, N2, ..., Nm, обозначаемый Р(х1, х2, ..., хп)Q(y1, у2, …, ут) (читается «Р(х1, х2, ..., хп) или Q(y1, у2, …, ут)»), который превращается в истинное высказывание при всех тех и только тех значениях предметных переменных, при которых в истинное вы­сказывание превращается по меньшей мере один из исходных предикатов.

Например, дизъюнкцией двух одноместных предикатов «х — четное число» и «х — простое число», определенных на N, является одноместный предикат, определенный на N: «х — четное или простое число».

4) Импликация Р(х1, х2,…, хп) → Q(y1, у2, ..., ут) определяется как такой предикат, что для любых предметов а1М1, а2€М2, ..., ап Мп, и b1N1, b2N2, ..., bmNm высказывание Р(а1, а2,…, ап) → Q(b 1, b 2, ..., b т) является импликацией высказываний Р(а1, а2,…,ап) и Q(b 1, b 2, ..., b т). Аналогично определяется эквивалентность двух предикатов. Не­трудно проверить, что импликация двух предикатов, зависящих от одних и тех же переменных, есть тождественно истинный пре­дикат тогда и только тогда, когда ее заключение является след­ствием посылки, а эквивалентность тождественно истинна, если и только если исходные предикаты равносильны. Свойства этих операций над предикатами, подобно свойствам операций отри­цания, конъюнкции и дизъюнкции над предикатами, получаются из соответствующих тавтологий


2. Кванторы существования и общности.

Известно, что для превращения одномест­ного предиката в высказывание нужно подставить вместо его пе­ременной какой-нибудь конкретный предмет из области задания предиката. Имеется еще один способ для такого превращения - это применение к предикату операций связывания квантором общ­ности или квантором существования. Каждая из этих операций ставит в соответствие одноместному предикату некоторое высказывание, истинное или ложное в зависимости от исходного пре­диката.

Операцией связывания квантором общности называется правило, по которому каждому одноместному преди­кату Р(х), определенному на множестве М, сопоставляется высказывание, обозначаемое ( x)(P(x)) (читается: «для всякого [зна­чения] х Р(х) [истинное высказывание]»), которое истинно в том н только в том случае, когда предикат Р(х) тождественно исти­нен, и ложно в противном случае.

Высказывание ( x)(P(x)) называется уни­версальным высказыванием для предиката Р(х). Символ происхо­дит от первой буквы англ. all «все». Сам символ ( x) также называют квантором общности по переменной х.

Например, рассмотрим два одноместных предиката на множе­стве N:«1 x)(l≤х) — «для всякого х число 1 не превосходит х». Второй предикат опровер­жим, поэтому операция связывания квантором общности, при­мененная к нему, дает ложное высказывание: ( x)(x|30) — «для любого х число х является делителем числа 30».

Операцией связывания квантором существова­ния называется правило, по которому каждому одноместному пре­дикату Р(х), определенному на множестве М, ставится в соответ­ствие высказывание, обозначаемое ( х)(Р(х)) (читается: «существует[значение] х, такое, что Р(х) [истинное высказывание]»), кото­рое ложно в том и только в том случае, когда Р(х) тождественно ложен, и истинно в противном случае.

При чтении высказывания ( х)(Р(х)) слова в квадратных скоб­ках могут опускаться. Высказывание ( x)(Р(x)) называется экзис­тенциальным высказыванием для предиката Р(х). Символ проис­ходит от первой буквы англ. exist — «существовать». Сам символ х также называют квантором существования по переменной х.

Например, рассмотрим два одноместных предиката, опреде­ленных на множестве N: «х = х+ 1» и «х| 30». Первый предикат тождественно ложный, поэтому применение к нему операции связывания квантором существования дает ложное высказыва­ние: ( х)(х = х+ 1) — «существует натуральное число, равное себе плюс 1». Второй предикат выполним, поэтому операция связыва­ния квантором существования, примененная к нему, дает истин­ное высказывание: ( х)(х|30) — «существует натуральное число, делящее число 30».

Подобно выражению ( x)(Р(x)), в выражении ( х)(Р(х)) пе­ременная х также перестает быть переменной в обычном смысле слова: это — связанная переменная.

В математике часто встречаются выраже­ния вида «по меньшей мере п» («хотя бы п»), «не более чем п», «п и только п» («ровно п», «точно л»), где п — натуральное число. Эти выражения называют численными кванторами. Они имеют чисто логический смысл, потому что их можно выразить без чис­лительных на языке кванторов общности и существования, без логических операций над предикатами и знака = , обозначающего тождество (совпадение) объектов. Рассмотрим ряд случаев.

  1. п = 1. Предложение «По меньшей мере один объект обладает свойством Р» имеет тот же смысл, что и предложение «Существует объект, обладающий свойством Р», т.е. ( х)(Р(х)). Далее, предложение «Не более чем один объект обладает свой­ством Р» равнозначно по смыслу предложению «Если есть объек­ты, обладающие свойством Р, то они совпадают», т.е.( x)( у)[(Р(x)^Р(у)) →х = у]. Наконец, предложение «Один и только один объект обладает свойством Р» равнозначно конъюнкции высказываний:

( х)(Р(х))^( x)( y)[(P(x)^(Р(у))→х = у]. Сопоставление одноместному предикату Р(х) высказывания носит название операции связывания квантором существования и единственности, а само высказывание иногда обозначают так: ( !х)(Р(х)). Символ !х называют квантором существования и единственности по переменной х.

  1. п = 2. Предложение «По меньшей мере два объекта обладают свойством Р» означает то же, что и предложение «Существуют два различных объекта, обладающих свойством Р», т.е.

( х)( у)(Р(х)^Р(у)^х≠у). Далее, предложение «Не более чем два объекта обладают свой­ством Р» равнозначно по смыслу предложению «Каковы бы ни были объекты х, у, z, если все они обладают свойством Р, то по меньшей мере два из них совпадают», которое символически за­писывается так:

( x)( у)( z)[(Р(x)^Р(у)^P(z))(x = yvx = zvy=z]. Наконец, предложение «Два и только два объекта обладают свойством Р» совпадает по смыслу с конъюнкцией высказываний. Совершенно аналогично выражаются через обычные кванторы и логические операции численные кванторы при п 2.

Нередки в математической практике обороты следующего вида: «Всякий объект, обладающий свой­ством Р, обладает также и свойством Q» и «Среди объектов, об­ладающих свойством Р, существует объект, обладающий также и свойством Q». Первое высказывание равнозначно по смыслу вы­сказыванию «Всякий объект, если он обладает свойством Р, то он обладает и свойством Q», которое на языке логики предикатов записывается так: ( х)(Р(х)→ Q (х)).

Сопоставление двум данным одноместным предикатам Р(х) и Q(x) высказывания носит название операции связывания ог­раниченным квантором общности, а само высказывание иног­да обозначают ( P(x))( Q (x)).

Символ Р(х) также называют ограниченным квантором общ­ности.

Например, высказывание «Для всякого х 1 справедливо ln х 0» на языке логики предикатов записывается как ( x)(x 1→ ln х 0), а с использованием ограниченного квантора общности записыва­ется в виде ( x 1)( ln х 0).

Второе из приведенных в начале настоящего пункта высказы­ваний равнозначно по смыслу высказыванию «Существует объект, обладающий свойством Р и обладающий свойством Q», которое на языке логики предикатов записывается так: ( х)(Р(х)^ Q(х))

Сопоставление двум данным одноместным предикатам Р(х) и Q(x) высказывания носит название операции связывания ог­раниченным квантором существования, а само высказывание иногда обозначается ( P(x))(Q(x)).

Символ Р(х) также называют ограниченным квантором су­ществования.

Например, (ложное) высказывание «Существует действительное число, квадрат которого равен -1» на языке логики предикатов за­пишется так:

( х)(х€R ^ х2 = -1), или с использованием ограни­ченного квантора существования запишется в виде ( х€R)(x2 = -1).


3. Формулы и тавтологии логики предикатов.

Это понятие вводится аналогично понятию формулы алгебры высказываний. Сначала задается алфавит символов, из которых будут составляться фор­мулы:

предметные переменные: х, у, z, хi, yi, zi, (i € N);

нульместные предикатные переменные: Р, Q, R, Pi, Qi, Ri (i€N);

n-местные (n 1) предикатные переменные: Р( , ..., ), Q( , ..., ), R( , ..., ), Рi{ , ..., ), Qi( , ..., ), Ri( , ..., ) (i€N) с указанием числа свободных мест в них;

символы логических операций: ¬, ^, v, →, ↔;

кванторы: , ;

вспомогательные символы: ( , ) — скобки; , — запятая.

Формулы логики предикатов:

1) каждая нуль-местная предикатная переменная есть формула;

  1. если Р( , ..., ) — п-местная предикатная переменная, то Р(х1,… хn) есть формула, в которой все предметные переменные х1,..., хп свободны;

  2. если F — формула, то ¬F также формула. Свободные (свя­занные) предметные переменные в формуле ¬F те и только те, которые являются свободными (связанными) в F;

  3. если F1, F2 формулы и если предметные переменные, входящие одновременно в обе эти формулы, свободны в каждой из них, то выражения (F1 ^F2), (F1 v F2), (F1 → F2), (F1↔ F2) также являются формулами. При этом предметные переменные, свободные (связанные) хотя бы в одной из формул F1, F2, назы­ваются свободными (связанными) и в новых формулах;

  4. если F — формула и х — предметная переменная, входя­щая в F свободно, то выражения ( x)(F) и ( х)(F) также явля­ются формулами, в которых переменная х связанная, а все ос­тальные предметные переменные, входящие в формулу F свобод­но или связанно, остаются и в новых формулах соответственно такими же;

  5. никаких других формул логики предикатов, кроме получа­ющихся согласно пп. 1- 5, нет.

Формулы, определенные в п. 1 и п. 2, называются элементарны­ми (или атомарными). Формулы, не являющиеся элементарными, называются составными.

Например, Р, Q(x, у, z), R(x1, х2) элементарные формулы, а

( у)(Р(х, у, z)), ( х)( у)(Р(х, у, z)), ((( x)(P(x))^Q)→¬( у) (R(x, у))) составные формулы.

Классификационные определения для формул логики предикатов.

1). Формула логики предикатов называется вы­полнимой (опровержимой) на множестве М, если при некоторой подстановке вместо предикатных переменных конкретных преди­катов, заданных на этом множестве, она превращается в выпол­нимый (опровержимый) предикат.

2). Формула логики предикатов называется тож­дественно истинной (тождественно ложной) на множестве М, если при всякой подстановке вместо предикатных переменных любых конкретных предикатов, заданных на этом множестве, она пре­вращается в тождественно истинный (тождественно ложный) предикат.

3). Формула логики предикатов называется общезначимой, или тавтологией (тождественно ложной или проти­воречием), если при всякой подстановке вместо предикатных пе­ременных любых конкретных предикатов, заданных на каких угодно множествах, она превращается в тождественно истинный (тожде­ственно ложный) предикат. (Тот факт, что формула F является тавтологией, обозначается, как и в алгебре высказываний, F.)

Теорема 1. Всякая формула, получающаяся из тавтологии ал­гебры высказываний заменой входящих в нее пропозициональных пе­ременных произвольными предикатными переменными, является тав­тологией логики предикатов.

Теорема 2. (законы де Моргана для кванторов). Следующие формулы логики предикатов являются тавтологиями:

а) ¬( х)(Р(х))↔( x)(¬Р(x));

б) ¬( х)(Р(х))↔( x)(¬Р(x)).

Следствие (выражение кванторов одного через другой). Следующие формулы логики предикатов являются тавтологиями:

а) ¬( х)(Р(х))↔¬( x)(¬Р(x));

б) ¬( х)(Р(х))↔¬( x)(¬Р(x)).

Теорема 3 (законы пронесения кванторов через конъюнк­цию и дизъюнкцию). Следующие формулы логики предикатов явля­ются тавтологиями:

а) ( x)(P(x) ^Q(x))↔( x)(P(x))^( x)(Q(x));

б) ( х)(Р(х) vQ(x))↔( x)(jP(x))v( х)( Q (х));

в) ( x)(Р(x) vQ) ↔( x)(P(x)) vQ;

г) ( х)(Р(х)^Q)↔( х)(Р(х))^Q.

Теорема 4. (законы пронесения кванторов через импликацию). Следующие формулы логики предикатов являются тавтологиями:

а) ( x)(P(x)→Q)↔(( х)(Р(х))→ Q);

б) ( х)(Р(х)→ Q)↔ (( x)(P(x))→ Q;

в) ( x)( Q→Р(х))↔(Q→( x)(P(x)));

г) ( x)(Q→Р(х))↔(Q → ( х)(Р(х))).

Теорема 5. (законы удаления квантора общности и введе­ния квантора существования). Следующие формулы логики предика­тов являются тавтологиями:

а) ( x)(Р(x))→Р(у);

б) Р(у)→( х)(Р(х)).

Теорема 6. (законы коммутативности для кванторов). Следу­ющие формулы логики предикатов являются тавтологиями:

а) ( x)( y)(P(x,у)) ( y)( x)(P(x, у));

б) ( х)( у)(Р(х,у)) ↔ ( у)( х)(Р(х, у));

в) ( y)( x)(P(x,у)) →( x)( у)(Р(х, у)).
















Тема: «Элементы теории алгоритмов»

1. Интуитивное представление об алгоритмах.

Понятие алгоритма стихийно формиро­валось с древнейших времен. Современный человек понимает под алгоритмом четкую систему инструкций о выполнении в опреде­ленном порядке некоторых действий для решения всех задач какого-то данного класса.

Многочисленные и разнообразные алгоритмы окружают нас буквально во всех сферах жизни и деятельности. Многие наши действия доведены до бессознательного автоматизма, мы порой и не осознаем, что они регламентированы определенным алгорит­мом — четкой системой инструкций. Например, наши действия при входе в магазин «Универсам» (сдать свою сумку, получить корзину с номером, пройти в торговый зал, заполнить корзину продуктами, оплатить покупку в кассе, предъявить чек контроле­ру, взять свою сумку, переложить в нее продукты, сдать корзину, покинуть магазин). Второй пример — приготовление манной каши (500 мл молока довести до кипения, при тщательном помешивании засыпать 100 г манной крупы, при помешивании довести до кипения и варить 10 минут). Автоматизм выполнения этих и мно­гих других действий не позволяет нам осознавать их алгоритми­ческую сущность.

Но есть немало таких действий, выполняя которые, мы тща­тельно следуем той или иной инструкции. Это главным образом непривычные действия, профессионально не свойственные нам. Например, если вы фотографируете один-два раза в год, то, ку­пив проявитель для пленки, будете весьма тщательно следовать инструкции (алгоритму) по его приготовлению: «Содержимое большого пакета растворить в 350 мл воды при температуре 18— 20 °С. Там же растворить содержимое малого пакета. Объем раство­ра довести до 500 мл. Раствор профильтровать. Проявлять 3 — 4 ро­ликовых фотопленки». Второй пример: если вы никогда раньше не пекли торт, то, получив рецепт (алгоритм) его приготовле­ния, постараетесь выполнить в указанной последовательности все d o предписания.

Большое количество алгоритмов встречается при изучении ма­тематики буквально с первых классов школы. Это прежде всего алгоритмы выполнения четырех арифметических действий над различными числами — натуральными, целыми, дробными, ком­плексными. Вот пример такого алгоритма: «Чтобы из одной деся­тичной дроби вычесть другую, надо: 1) уравнять число знаков после запятой в уменьшаемом и вычитаемом; 2) записать вычита­емое под уменьшаемым так, чтобы запятая оказалась под запя­той; 3) произвести вычитание так, как вычитают натуральные числа; 4) поставить в полученной разности запятую под запяты­ми в уменьшаемом и вычитаемом».

Одним словом, алгоритмы широко распространены как в прак­тике, так и в науке и требуют более внимательного к себе отно­шения и тщательного изучения методами математической науки.

Каждый алгоритм предполагает наличие некоторых начальных, или исходных, данных, а в результате применения приводит к по­лучению определенного искомого результата. Например, в алго­ритме с проявителем начальные данные — содержимое большого и малого пакетов, вода. Искомый результат — готовый к употреб­лению проявитель для пленки. При вычислении ранга матрицы начальными данными служит прямоугольная таблица, составлен­ная из т* п рациональных чисел, результат — натуральное число, являющееся рангом данной матрицы.

Применение каждого алгоритма осуществляется путем выполнения дискретной цепочки (последовательности) неких эле­ментарных действий. Эти действия называют шагами, а процесс их выполнения называют алгоритмическим процессом. Таким обра­зом, отмечается свойство дискретности алгоритма.

Существенной чертой алгоритма является его массовый харак­тер, т.е. возможность применять его к обширному классу началь­ных данных, возможность достаточно широко эти начальные дан­ные варьировать. Например, задача нахождения наибольшего общего делителя чисел 4 и 6 есть единичная проблема (можно решить ее и без применения алгоритма Евклида), но задача нахождения наи­большего общего делителя произвольных натуральных чисел т и п — уже проблема массовая. Суть алгоритма Евклида состоит в том, что он приводит к желаемому результату вне зависимости от выбора конкретной пары натуральных чисел, в то время как при решении указанной единичной проблемы можно предложить та­кой способ, который окажется неприменимым для другой пары натуральных чисел.

Непременным условием, которому удовлетворяет алгоритм, является его детерминированность, или определенность. Это озна­чает, что предписания алгоритма с равным успехом могут быть выполнены любым другим человеком и в любое другое время, причем результат получится тот же самый.

Говоря о начальных данных для алгоритма, имеют в виду так называемые допустимые начальные данные, т. е. такие начальные данные, которые сформулированы в терминах данного алгоритма. Так, к числу допустимых начальных данных для алгоритма варки манной каши никак не отнесешь элементы множества натураль­ных чисел, а к числу начальных данных алгоритма Евклида — молоко и манную крупу (или даже комплексные числа).

Среди допустимых начальных данных для алгоритма могут быть такие, к которым он применим, т.е. отправляясь от которых мож­но получить искомый результат, а могут быть и такие, к которым данный алгоритм неприменим,

т. е. отправляясь от которых иско­мого результата получить нельзя. Неприменимость алгоритма к допустимым начальным данным может заключаться либо в том, что алгоритмический процесс никогда не оканчивается (в этом случае говорят, что он бесконечен), либо в том, что его выполне­ние во время одного из шагов наталкивается на препятствие, за­ходит в тупик (в этом случае говорят, что он безрезультатно об­рывается).

Итак, подводя итоги обсуждению характерных свойств и осо­бенностей алгоритма, можем сформулировать следующее интуи­тивно описательное определение этого понятия.

Под алгоритмом понимается четкая система инструкций, оп­ределяющая дискретный детерминированный процесс, ведущий от варьируемых начальных данных (входов) к искомому результа­ту (выходу), если таковой существует, через конечное число так­тов работы алгоритма; если же искомого результата не существу­ет, то вычислительный процесс либо никогда не оканчивается, либо попадает в тупик.


2. Основные определения. Машина Тьюринга.

Машина Тьюринга есть мате­матическая (воображаемая) машина, а не машина физическая. Она есть такой же математический объект, как функция, производ­ная, интеграл, группа и т.д. И так же как и другие математичес­кие понятия, понятие машины Тьюринга отражает объективную реальность, моделирует некие реальные процессы. Именно Тью­ринг предпринял попытку смоделировать действия математика (или другого человека), осуществляющего некую умственную созида­тельную деятельность. Такой человек, находясь в определенном «умонастроении» («состоянии»), просматривает некоторый текст. Затем он вносит в этот текст какие-то изменения, проникается новым «умонастроением» и переходит к просмотру последующих записей.

Машина Тьюринга действует примерно так же. Ее удобно пред­ставлять в виде автоматически работающего устройства. В каждый дискретный момент времени устройство, находясь в некотором состоянии, обозревает содержимое одной ячейки протягиваемой через устройство ленты и делает шаг, заключающийся в том, что устройство переходит в новое состояние, изменяет (или оставляет без изменения) содержимое обозреваемой ячейки и переходит к обозрению следующей ячейки — справа или слева. Причем шаг осу­ществляется на основании предписанной команды. Совокупность всех команд представляет собой программу машины Тьюринга.

Опишем теперь машину Тьюринга 0 более тщательно. Машина 0 располагает конечным числом знаков (символов, букв), обра­зующих так называемый внешний алфавит А = {а0, а1, ..., ап}. В каждую ячейку обозреваемой ленты в каждый дискретный мо­мент времени может быть записан только один символ из алфа­вита А. Ради единообразия удобно считать, что среди букв внеш­него алфавита А имеется «пустая буква», и именно она записана в пустую ячейку ленты. Условимся, что «пустой буквой» или симво­лом пустой ячейки является буква а0. Лента предполагается нео­граниченной в обе стороны, но в каждый момент времени на ней записано конечное число непустых букв.

Далее, в каждый момент времени машина способна нахо­диться в одном состоянии из конечного числа внутренних состоя­ний, совокупность которых Q = {q0, q1, ..., qn,}. Среди состояний выделяются два — начальное q1 и заключительное (или состояние остановки) q0. Находясь в состоянии q1 машина начинает рабо­тать. Попав в состояние q0, машина останавливается.

Работа машины определяется программой (функциональной схе­мой). Программа состоит из команд. Каждая команда T(i,j) (i = 1, 2, ..., m; j = 0, 1, ..., п) представляет собой выражение одного из следующих видов:

qiaj→qkal С; qiaj→qkal П; qiaj→qkal Л, где 0 ≤k≤ т; 0 ≤λ≤п. В выражениях первого вида символ С будем часто опускать.

Как же работает машина Тьюринга? Находясь в какой-либо момент времени в незаключительном состоянии (т. е. в состоянии, отличном от q0), машина совершает шаг, который полностью определяется ее текущим состоянием qi и символом aj, восприни­маемым ею в данный момент на ленте. При этом содержание шага регламентировано соответствующей командой T(i,j): qiaj→qkal X, где X €{С, П, Л}. Шаг заключается в том, что: 1) содержимое о,- обозреваемой на ленте ячейки стирается и на его место записыва­ется символ a1 (который может совпадать с aj); 2) машина переходит в новое состояние qk (оно также может совпадать с преды­дущим состоянием qi); 3) машина переходит к обозрению следу­ющей правой ячейки от той, которая обозревалась только что, если Х= П, или к обозрению следующей левой ячейки, если Х= Л, или же продолжает обозревать ту же ячейку ленты, если X = С.

В следующий момент времени (если qk q0) машина делает шаг, регламентированный командой Т(k, l): qkalqrasX и т.д.

Словом в алфавите А или в алфавите Q, или в алфавите A U Q называется любая последовательность букв соответствующего ал­фавита. Под к-й конфигурацией будем понимать изображение лен­ты машины с информацией, сложившейся на ней к началу к-го шага (или слово в алфавите А, записанное на ленту к началу к-го шага), с указанием того, какая ячейка обозревается в этот шаг и в каком состоянии находится машина. Имеют смысл лишь конеч­ные конфигурации, т.е. такие, в которых все ячейки ленты, за исключением, быть может, конечного числа, пусты. Конфигура­ция называется заключительной, если состояние, в котором при этом находится машина, заключительное.

Непустое слово а в алфавите воспринимается машиной в стандартном положении, если оно записано в последовательных ячейках ленты, все другие ячейки пусты, и машина обозревает крайнюю справа ячейку из тех, в которых записано слово а. Стандартное положение называется начальным (заключительным), если машина, воспринимающая сло­во в стандартном положении, находится в начальном состоянии q1 (соответственно в состоянии остановки q0). Наконец, будем гово­рить, что слово а перерабатывается машиной в слово β, если от слова а, воспринимаемого в начальном стандартном положении, машина после выполнения конечного числа команд приходит к слову β, воспринимаемому в положении остановки.

Пример. Дана машина Тьюринга с внешним алфавитом А ={0, 1} (здесь 0 — символ пустой ячейки), алфавитом внутренних состояний Q = {q0, q1, q2} и со следующей функциональной схе­мой (программой):

q10→q20П; q20→q01; q11→q11П; q21→q21П.

Посмотрим, в какое слово переработает эта машина слово 101, исходя из стандартного начального положения. Будем последова­тельно выписывать конфигурации машины при переработке ею этого слова. Имеем стандартное начальное положение:

q1

(1)


1

0

1





На первом шаге действует команда: q11→q11П результате на машине создается следующая конфигурация:






q1




(2)


1

0

1

0




На втором шаге действует команда:

q10→q20П и на машине создается: конфигурация:








q2



(3)


1

0

1

0

0



Наконец, третий шаг обусловлен командой: q20→q01. В резуль­тате него создается конфигурация:







q0



(4)


1

0

1

0

1



Эта конфигурация является заключительной, потому что ма­шина оказалась в состоянии остановки q0.

Создание (синтез) машин Тьюринга (т. е. написание соответствующих программ) является задачей значительно более сложной, нежели процесс примене­ния данной машины к данным словам.

Функция называется вычислимой по Тьюрингу, если существует машина Тью­ринга, вычисляющая ее, т.е. такая машина Тьюринга, которая вычисляет ее значения для тех наборов значений аргументов, для которых функция определена, и работающая вечно, если функ­ция для данного набора значений аргументов не определена.

Сконструировать машину Тьюринга — значит написать (соста­вить) ее программу. В этом процессе два этапа: сначала создается алгоритм вычисления значений функции, а затем он записывается на языке машины Тьюринга (программируется).