Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Основы математической обработки информации. Часть I. Алгебра логики. Практикум по решению задач

.pdf
Скачиваний:
0
Добавлен:
09.08.2026
Размер:
438 Кб
Скачать

Запись Ф(А, В) означает, что формула Ф содержит простые высказывания А и В.

Подформулойназываетсятакаячастьформулы, котораясамаявляется формулой.

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

Порядок расстановки скобок в формулах:

2.,

3.,

Самой сильной логической операцией является: , Затем: и , а самыми слабыми: и .

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

Например, формула ¬ A B С В является сокращенной записью формулы ((¬ A) B) (C В). Скобки могут изменить приоритет операций: например, в формуле (¬ (А С)) (C В) действия будут выполняться в другом порядке. Сначала эквиваленция, затем отрицание. Потом импликация B и C, а затем дизъюнкция результата отрицания и импликации.

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

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

Алгоритм построения таблиц истинности для сложных высказываний

1. Определить количество строк в таблице:

количество строк = 2n + строка для заголовка, где n — количество простых высказываний, входящих в формулу.

2. Определить количество столбцов:

количество столбцов = количество простых высказываний в формуле + количество логических операций;

определить количество простых высказываний;восстановить полную скобочную запись;

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

11

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

Задача. Составить таблицу истинности следующей формулы

А В А В.

ВформулувходитдвапростыхвысказыванияA иB. Рассчитаемчисло строк в таблице истинности: 22 + 1 = 5.

Выпишем все возможные интерпретации для простых высказываний

A и B.

А

В

 

 

 

 

 

А В А В

 

 

 

 

 

 

 

 

1

1

 

 

 

 

 

 

1

0

 

 

 

 

 

 

0

1

 

 

 

 

 

 

0

0

 

 

 

 

 

 

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

После этого станет возможным заполнить голову таблицы.

А

В

А

В

А В

А В

А В А В

1 1

1 0

0 1

0 0

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

А

В

А

В

А В

А В

А В А В

 

 

 

 

 

 

 

1

1

0

0

1

0

0

 

 

 

 

 

 

 

1

0

0

1

0

1

1

0

1

1

0

1

0

0

 

 

 

 

 

 

 

0

0

1

1

1

0

0

 

 

 

 

 

 

 

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

12

4. ПОНЯТИЯ ТОЖДЕСТВЕННО ИСТИННОЙ ФОРМУЛЫ, ТОЖДЕСТВЕННО ЛОЖНОЙ ФОРМУЛЫ И РАВНОСИЛЬНОСТИ ДВУХ ФОРМУЛ, РАВНОСИЛЬНЫЕ ПРЕОБРАЗОВАНИЯ

Формула (А1, А2, …АN) называется тождественно истинной или тавтологией, если при любых интерпретациях простых высказываний, входящих в нее, принимает значение «истинно». Обозначают .

Пример: А (В А)

А

В

В А

А (В А)

 

 

 

 

1

1

1

1

 

 

 

 

0

0

1

1

 

 

 

 

0

1

0

1

 

 

 

 

0

0

1

1

 

 

 

 

Формула (А1, А2, …АN) называетсятождественноложнойформулой илипротиворечием, еслиприлюбыхинтерпретацияхпростыхвысказываний, входящих в нее, принимает значение «ложь». Обозначают Ʌ .

Пример: А А

А

А

А А

1

0

0

 

 

 

0

1

0

 

 

 

Формулы (А1, А2, …АN) иΦ(А1, А2, …АN) являютсяравносильными, если при любых интерпретациях простых высказываний, входящих в нее,

истинностные значения формул и Φ совпадают. Обозначают Φ. В логике высказываний выработаны основные равносильные фор-

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

№ п/п

Закон

Название закона и комментарий

 

 

 

1

¬ (¬А) А -

Закон двойного отрицания

2

А В В А

Законы коммутативности относи-

 

 

тельно конъюнкции и дизъюнкции

3

А B B A

 

4

А (В С) (А В) С

Законы ассоциативности относи-

 

 

тельно конъюнкции и дизъюнкции

5

A (B C) (А B) C

 

13

№ п/п

Закон

Название закона и комментарий

 

 

 

6

¬(А B) (¬A) (¬B)

Законы Де Моргана

7

¬ (А В) (¬ А) (¬ B)

 

8

А (В С) (А В) (А С)

Законы дистрибутивности

9

A (B С) (A B) (A C)

10

A B ¬ A B

 

11

А В (А В) (В А)

 

12

А (A В) А

Законы поглощения

13

A (A В) А

 

14

A А А

Законы идемпотентности

15

A A А

 

 

 

Конъюнкция произвольного выска-

16

А А

зывания и тождественно истинного

высказывания равносильна этому

 

 

 

 

произвольному высказыванию

 

 

Конъюнкция произвольного выска-

17

А Ʌ Ʌ

зывания и тождественно ложного

высказывания является тождествен-

 

 

 

 

но ложным высказыванием

 

 

Дизъюнкция произвольного выска-

18

A

зывания и тождественно истинного

высказывания является тождествен-

 

 

 

 

но истинным высказыванием

 

 

Дизъюнкция произвольного выска-

19

A Ʌ A

зывания и тождественно ложного

высказывания равносильна этому

 

 

 

 

произвольному высказыванию

20

А (¬ А) Ʌ

Конъюнкция любого высказывания

и его отрицания является тожде-

 

 

ственно ложным высказыванием

 

A (¬ А)

Дизъюнкция любого высказывания

21

и его отрицания является тожде-

 

 

ственно истинным высказыванием

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

В основе равносильных преобразований лежит утверждение о том,

что, если в исходной формуле Φ1 заменить входящую в нее подфор-

мулу Ψ1 на равносильную ей формулу Ψ2, то полученная в ходе этой замены формула Φ2 будет равносильна исходной.

14

5. ПРИМЕРЫ РЕШЕНИЯЙ ЗАДАЧ НА РАВНОСИЛЬНЫЕ ПРЕОБРАЗОВАНИЯ

Задача 1. Упростить формулу (A → B) ˄ (B →A) ˄ (A ˅ B).

(A → B) ˄ (B →A) ˄ (A ˅ B) Для первой и второй импликации применим закон №11, и заменим импликацию на дизъюнкцию.

(¬ A ˅ B) ˄ (¬ B ˅A) ˄ (A ˅ B) Ко второй дизъюнкции применим закон коммутативности № 3

(¬ A ˅ B) ˄ ((A ˅ ¬ B) ˄ (A ˅ B)) Ко второй и третьей дизъюнкции применим закон ассоциативности № 4

(¬ A ˅ B) ˄ (A ˅ (¬ B ˄ B))

К ¬B˄B применим закон № 20

(¬ A ˅ B) ˄ (A ˅ Ʌ)

КA ˅Ʌ применим закон № 19

(¬ A ˅ B) ˄A

Применим закон ассоциативности

(¬ A ˄A) ˅ (B ˄A)

К первой конъюнкции применим

 

закон № 20

Ʌ ˅ (B ˄A)

Кдизъюнкцииприменимзакон№19

(B ˄A)

 

Задача 2. Доказать равносильность двух формул с помощью равносильных преобразований A ˄ B ˄ ¬ C ¬ (A → (B → ¬ C)).

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

¬(A → (B → C)) Для второй импликации применим закон

11, заменим импликацию на дизъюнкцию.

¬(A → (¬ B ˅ С)) Первую импликацию заменим на дизъюнк-

цию, применив закон № 11.

¬(¬ A ˅ (¬ B ˅ С)) Применим закон Де Моргана № 7

¬(¬ A) ˄ ¬ (¬ B ˅ С) ) Ко второму конъюнкту применим закон

Де Моргана № 7

¬ (¬ A) ˄ ¬ (¬ B) ˄ ¬ С К первому и второму конъюнктам применим закон двойного отрицания

A ˄ B ˄ ¬ С

15

6. ПРИМЕРЫ РЕШЕНИЙ СЮЖЕТНЫХ ЗАДАЧ

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

Задача 1. В соревнованиях планировали участвовать три атлета (A, B, C). После начала соревнований стало известно, что следующие высказывания являются истинными:

1.АтлетA участвует в соревнованиях, а атлет B — не участвует.

2.Неверно, что из двух атлетов B и C в соревнованиях участвует только один.

Определите, какие атлеты в результате приняли участие в соревнованиях. В ответе укажите имена атлетов, которые приняли участие в соревнованиях.

Решение. Решим задачу двумя способами: методом равносильных преобразований и построением таблицы истинности.

Вырабатываематомарныевысказывания: A = «АтлетсименемАпринимал участие в соревнованиях». Аналогичным образом обозначим высказыванияB иC. Далееформализуемобаусловиязадачииобъединим их в конъюнкцию. Так как по условию задачи первое и второе условия принимают значение «истинно», то и конъюнкция, составленная из них, тоже принимает значение «истинно».

Изусловийзадачисоставляемсложноевысказывание, котороеописывает совокупное условие — кто участвовал в соревнованиях:

[(A ˄ ¬ B) ˄ ¬ (B ˅ C)] = 1.

Вариант 1. Решение методом равносильных преобразований

Применяем закон де Моргана ко второй скобке: [(A ˄ ¬ B) ˄ (¬ B ˄ ¬ C)] = 1.

Так как операнды связаны конъюнкцией, то по закону ассоциативности можно переставить скобки: [A ˄ (¬ B ˄ ¬ B) ˄ ¬ C] = 1.

Теперьприменимзаконидемпотентности. Получаем: [A ˄¬ B ˄¬ C] = 1. Последнее выражение означает, что в соревнованиях принимал уча-

стие атлет А и не принимали участие атлеты В и С.

Вариант 2. Решение методом построения таблицы истинности

Первые три столбца соответствуют трем простым высказываниям A, B и C, последующие столбцы соответствуют количеству подформул,

16

которые могут быть выделены из итоговой формулы. Строки таблицы соответствуют всевозможным интерпретациям истинностных значений простых высказыванийA, B и C (в нашем случае 23 = 8 строк).

А

В

С

¬ B

A ˄ ¬ B

B ˅ C

¬ (B ˅ C)

(A ˄ ¬ B) ˄ (¬ B ˄ ¬ C)

0

0

0

1

0

0

1

0

0

0

1

1

0

1

0

0

0

1

0

0

0

1

0

0

0

1

1

0

0

1

0

0

1

0

0

1

1

0

1

1

1

0

1

1

1

1

0

0

1

1

0

0

0

1

0

0

1

1

1

0

0

1

0

0

Итоговая формула принимает значение «истинно» в пятой сверху строке. Истинностные интерпретации (первые три столбца) для этой строки свидетельствуют о том, что высказывание А принимает значение «истинно», остальныевысказывания, B иС, принимаютзначение«ложь». Это означает, что принимал участие в соревнованиях атлет с именемA.

Ответ: А

Задача 2. В турнире планировали участвовать три игрока (B, C, D). После начала турнира стало известно, что следующие высказывания являются истинными:

1.Неверно, что из двух игроков C и D в турнире участвуют оба.

2.В ходе турнира игрок B победил игрока D.

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

Решение. Рассмотрим решение задачи двумя способами методом равносильных преобразований и методом построения таблицы истинности.

Сначала построим формулу, которая позволит формализовать условие задачи. Обозначаем символами B = «Атлет с именем B участвовал в соревнованиях», аналогично сформируем высказывания C и D. Формализуем первое условие задачи: ¬ ( C D) и второе условие задачи: B D. По условию они принимают значение «истинно»: [¬ (C D)] = 1 и [B D] = 1, поэтому итоговая конъюнкция тоже принимает значение

«истинно»: [¬ (C D) ˄ (B D)] = 1.

Вариант 1. Метод построения таблицы истинности

Рассчитаем все возможные интерпретации, описывающие участие 3-х атлетов в турнире. Получим 8 строк: 23 = 8. Выделим подформулы

17

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

D

В

С

С ˄ D

¬ (С ˄ D)

(B ˄ D)

¬ (С ˄ D) ˄ (В ˄ D)

0

0

0

0

1

0

0

 

 

 

 

 

 

 

0

0

1

0

1

0

0

 

 

 

 

 

 

 

0

1

0

0

1

0

0

0

1

1

0

1

0

0

 

 

 

 

 

 

 

1

0

0

0

1

0

0

 

 

 

 

 

 

 

1

0

1

1

0

0

0

1

1

0

0

1

1

1

 

 

 

 

 

 

 

1

1

1

1

0

1

0

 

 

 

 

 

 

 

Выделяем предпоследнюю строку в таблице. При интерпретации [B] = 1, [D] = 1, и[C] = 0, итоговаяформулапринимаетзначение«истина». Вспоминаем, как мы сформировали высказывания B, C и D. Теперь мы готовы сделатьвыводи ответить навопрос задачи: «Из трехигроков приняли участие в турнире игроки с именами B и D».

Вариант 2. Решение методом равносильных преобразований

¬ (С ˄ D) ˄ (В ˄ D) Применяем закон Де Моргана к первой скобке: (¬ С ˅ ¬D) ˄ (В ˄ D) Применяем закон дистрибутивности

(¬ С ˄ В ˄ D) ˅ (¬ D ˄ B ˄ D) . Применяя законы коммутативности и идемпотентности ко второму дизъюнкту, получим:

¬ D ˄ B ˄ D (¬ D ˄ D) ˄ B Ʌ ˄ B Ʌ

Возвращаясь к исходной формуле, видим, что она приобрела вид: (¬ С ˄ В ˄ D) ˅ Ʌ. Следовательно, в выражении остается только левый дизъюнкт: ¬ С ˄ В ˄ D. Эта формула должна принимать значение «истинно». Это возможно при [С] = 0, [B] = 1, [D] = 1.

Это означает, что в соревнованиях принимали участие атлеты В и D и не принимал участие атлет С.

Ответ: B, D

Задача 3. Четырех друзей из немецкого города Бремена звали Альберт, Карл, ДитрихиФридрих, именабылитакиеже, какифамилии, причем фамилия и имя ни у кого из них не совпадали, кроме того, у Дитриха фамилия была не Альберт.

Определитефамилиюиимякаждогомальчика, еслиимяФридрихесть фамилия того мальчика, имя которого фамилия Карла.

18

Решение. Эта задача решается методом индексирования простых высказываний, под которыми мы будем подразумевать. Именуем каждое высказывание двумя символами Xy, где X — имя героя, а y — фамилия. Учтем условие задачи, о том, что фамилия и имя ни у кого из героев сюжета не совпадали, кроме того, у Дитриха фамилия была не Альберт. Это позволит нам выделить ложные высказывания: [Aa] = [Dd] = [Kk] =

= [Ff] = [Da] = 0.

Из условия задачи следует, что существуют простые высказывания Yf , Kx и Xy. Поэтому конъюнкция [Yf ˄ Kx ˄ Xy] = 1. В этой конъюнкции нужно подобрать методом исключений символы y и x. X не может быть k и f, так как не может быть героя с совпадающими именем и фамилией Карл, а также двух героев с фамилией Фридрих. АналогичноY не может быть f, так как в рассматриваемой дизъюнкции фамилия Фридрих уже задействована, поэтому такое же имя задействовать нельзя. Y не может быть k, так как уже есть герой с таким именем. Поэтому остаются только имена и фамилии Дитрих и Альберт. Дополнительное условие задачи исключает героя с именем Дитрих и фамилией Альберт, поэтому X может быть только Альберт, а Y — Дитрих, а конъюнкция примет вид: [Df ˄ Ka˄Ad] = 1. Следовательно, имена и фамилии героев: Дитрих Фридрих, Карл Альберт, Альберт Дитрих и Фридрих Карл.

Ответ: Дитрих Фридрих, Карл Альберт, Альберт Дитрих и Фридрих Карл.

Задача 4. Пытаясь вспомнить победителей прошлогоднего турнира, пять бывших зрителей заявили:

Антон был вторым, а Денис — пятым,Виктор был вторым, а Денис — первым,Григорий был вторым, а Борис — третьим,Антон был третьим, а Евгений — шестым,Виктор был третьим, а Евгений — четвертым.

Позже выяснилось, что каждый из зрителей ошибался в одном из своих высказываний. Каково было истинное распределение мест в турнире?

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

19

[A2 ˅ B5] = 1,

[V2 ˅ D3] = 1,

[G1 ˅ B3] = 1,

[A3 ˅ E6] = 1,

[V3 ˅ E4] = 1.

Составимконъюнкциюизэтихдизъюнкцийипроведемравносильные преобразования. Получим: A3 ˄B5 ˄V2 ˄G1 ˄E4. Попостроениюконъюнкции и дизъюнкций полученная формула принимает значение «истинно»:

[A3 ˄ B5 ˄ V2 ˄ G1 ˄ E4] = 1.

Ответ: Антон был третьим, Борис — пятым, Виктор — вторым, Григорий — первым, а Евгений — четвертым.

Задача 5. По подозрению в совершенном преступлении полиция маленького английского городка задержала мистера Брауна, мистера ОлдриджаимистераСмита. Один изнихбылуважаемымв городесквайром, другой — мелким чиновником, третий — известным мошенником. Впроцессеследствиясквайрговорилправду, мошенниклгал, ачиновник запутался в своих показаниях и то говорил правду, то лгал. Вот, что они утверждали:

Мистер Браун: «Я совершил это, мистер Олдридж не виновен». МистерОлдридж: «МистерБраунневиновен, преступлениесовершил

Смит».

Мистер Смит: «Я не виновен, преступник — мистер Браун». Определитефамилиисквайра, чиновникаимошенника, найдитевино-

вного, если известно, что преступление совершено в одиночку. Решение. Для формализации условия задачи, выделим простые

высказывания. Основной вопрос задачи: «Определите, кто из действующих лиц виновен». Поэтому в качестве простых высказываний возьмем факт совершения преступления каждым из героев.

B = «Преступление совершил Браун»,

O = «Преступление совершил Олдридж»,

S = «Преступление совершил Смит». Формализуем утверждения каждого из героев: Утверждение мистера Брауна: B ˄ ¬ O; Утверждение мистера Олдриджа: ¬ B ˄ S; Утверждение мистера Смита: ¬ S ˄ B.

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

Φ = (B ˄ ¬ O) ˅ (¬ B ˄ S) ˅ (¬ S ˄ B).

20

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]