- •Логические основы построения компьютера
- •Основные понятия
- •Примеры
- •Примеры
- •Таблицы истинности
- •Таблицы истинности
- •Понятие булевой функции
- •Понятие булевой функции
- •Понятие булевой функции
- •Понятие булевой функции
- •Формулы для преобразования булевых функций
- •Физическая интерпретация
- •7.5. Упражнения на использование языка логики высказываний
- •Интересно отметить, что и рыцари и лжецы могут произносить фразу "Я - рыцарь".
- •УпроститьПримерыданное выражение:задач
- •Примеры задач
- •Вопросы:
Формулы для преобразования булевых функций
Набор формул: |
|
a & (~a v b) == a & b |
||
|
~~a == a - закон снятия двойного |
|||
|
отрицания |
|
a v (~a & b) == a v b |
|
|
a & a == a - закон идемпотентности |
|
(a & b) v (a & ~b) == a - закон |
|
|
a v a == a - закон идемпотентности |
|
склеивания |
|
|
a & 0 == 0 |
|
(a v b) & (a v ~b) == a - закон |
|
|
a & 1 == a |
|
склеивания |
|
|
a v 0 == a |
Свойства логических функций: |
||
|
a & b == b & a - коммутативность |
|||
|
a v 1 == 1 |
|||
|
a & ~a == 0 - закон противоречия |
|
конъюнкции |
|
|
a v b == b v a - коммутативность |
|||
|
a v ~a == 1 - закон исключенного третьего |
|||
|
дизъюнкции |
|||
|
~(a & b) == ~a v ~b - закон Де Моргана |
|
||
|
a & (b & c) == (a & b) & c - |
|||
|
~(a v b) == ~a & ~b - закон Де Моргана |
|||
|
ассоциативность конъюнкции |
|||
|
a & b == ~(~a v ~b) - закон Де Моргана |
|
a v (b v c) == (a v b) v c - |
|
|
a v b == ~(~a & ~b) - закон Де Моргана |
|
ассоциативность дизъюнкции |
|
|
a => b == ~a v b - выражение импликации |
|
a & (b v c) == (a & b) v (a & c) - |
|
|
через отрицание и дизъюнкцию |
|
дистрибутивность конъюнкции |
|
|
|
|||
|
|
|||
|
a <=> b == (a => b) & (b => a) |
|
относительно дизъюнкции |
|
|
a & (b v a) == a - закон поглощения |
|
a v (b & c) == (a v b) & (a v c) - |
|
|
a v (b & a) == a - закон поглощения |
|
дистрибутивность дизъюнкции |
|
|
|
|
относительно конъюнкции |
|
Физическая интерпретация
7.5. Упражнения на использование языка логики высказываний
В качестве упражнения предлагается разобраться в следующих небольших задачах, записать каждую из них на языке логики высказываний и ответить на поставленные в конце задачи вопросы. Примеры носят название «рыцари и лжецы».
1.Предположим, что А говорит: "Или я лжец, или В рыцарь". Кто из двух персонажей А и В рыцарь и кто лжец?
2.Предположим, что А говорит: "Или я лжец, или два плюс два - пять". К какому заключению можно прийти на основании этого утверждения?
3.Предположим, что А высказывает утверждение: "Я лжец, а В не лжец". Кто из островитян А и
Врыцарь и кто лжец?
Приведем краткое решение подобного рода задач.
1. Запишем высказывание А в символьной форме: {A-л v B-p}. Рассмотрим 2 случая:
A - рыцарь: {0 v B-p == 1}, дизъюнкция будет истинной только если {B-p == 1}, т.е. В - рыцарь. A - лжец: {1 v B-p == 0}, такая дизъюнкция не может быть ложной, следовательно, А - не лжец. Ответ: А - рыцарь, В - рыцарь.
2. Высказывание А в символьной форме: {A-л v 0}. Рассмотрим 2 случая:
A- рыцарь: {0 v 0 == 1}
A- лжец: {1 v 0 == 0}
Оба выражения неверные. Решения нет.
3. B этом случае: {A-л & B-p}:
A - рыцарь: {0 & B-p == 1}, конъюнкция не может быть истинной, если хотя бы один из конъюнктов ложное высказывание.
A - лжец: {1 & B-p == 0}, чтобы конъюнкция была ложной при одном истинном конъюнкте, второй должен быть ложным, т.е. если А - лжец, высказывание "В - рыцарь" - ложное.
Ответ: А и В - лжецы.
Интересно отметить, что и рыцари и лжецы могут произносить фразу "Я - рыцарь". В устах рыцаря это истинное высказывания, лжеца - ложное. А высказывание "Я - лжец" не может принадлежать ни рыцарю, ни лжецу (т.н. парадокс лжеца), т.к. если рыцарь произнесет "Я - лжец", то это будет ложное высказывание, что непозволитетельно в подобных условиях, а
если эту фразу скажет лжец, то она окажется истинной, что опять же противоречит нашим условиям. 
И еще несколько интересных примеров:
Если кто-то на острове рыцарей и лжецов скажет: "Если я рыцарь, то X", этот кто-то обязательно окажется рыцарем, а высказывание X - истинным. Убедимся в этом:
Предположим, что кто-то это А. Запишем высказывание {А-р => X}. Если А - лжец, то {А-р == 0}. Выражение {0 => X == 0} не будет верным ни при каких значениях высказывания X, т.к. импликация с ложным основанием может быть только истинной. А если А - рыцарь, то {А-р == 1} и в выражении {1 => X == 1} значение высказывания X должно быть истинным.
Предположим, A утверждает: "Если я рыцарь, то и B - рыцарь." Следуя предыдущему рассуждению, можно убедиться, что и A, и B - рыцари.
Если же на вопрос "Вы рыцарь?" A ответит: "Если я рыцарь, то я съем свою шляпу", то аналогичным образом нетрудно убедиться в том, что А все-таки придется съесть шляпу.
В случае, когда A произносит: "Если я рыцарь, то 2 + 2 = 4", A опять будет рыцарем.
Гораздо интереснее, если А утверждает: "Если B рыцарь, то я лжец." Если А - рыцарь, то {В-р => 0 == 1}; выражение верно только если {В-р == 0}, т.е. В - лжец. Предположив, что А - лжец, получаем {В-р => 1 == 0}. Это выражение не будет верным ни при каких значения высказывания "В - рыцарь". Итак, А - рыцарь, а B - лжец.
Для понятия ''высказывание'' иногда используют термин ''пропозиция'', что является дословным переводом с английского. Мы этот термин не используем, но говорим ''пропозициональный'' в смысле относящийся к логике высказываний. Центральными понятиями данной части являются пропозициональные формулы и пропозициональный вывод.
УпроститьПримерыданное выражение:задач
not X and not Y or not X and Y or X and Y not X and not Y or not X and Y or X and Y = ?
Существует еще один способ решения логических задач с помощью составления таблиц истинности, строки которой соответствуют элементам одного из рассматриваемых в условии задачи множеств, столбцы - элементам другого, пересечение строки и столбца - комбинации двух элементов разных множеств. Как правило, элементами таблицы истинности являются 0 или 1, хотя возможны и другие символы определяющие истину и ложь. С помощью такой таблицы анализируются условия задачи, делаются выводы, проверяется избыточность, полнота и правильность выводов.
Задача 1.
Жили-были две фигуры: Круг и Квадрат. На их улицах было 3 дома: один дом был с окном и трубой, другой - с окном, но без трубы, а третий - с трубой, но без окна. Каждая фигура жила в своем доме. Круг и Квадрат жили в домах с окнами. Квадрат любил тепло и часто топил печку. Кто в каком доме жил?
Задача 2.
Встретились три подруги - Белова, Краснова и Чернова. На одной из них было черное платье, на другой - красное, на третьей - белое. Девочка в белом платье сказала Черновой: "Нам троим надо поменяться платьями, а то цвета наших платьев не соответствуют нашим фамилиям". Кто в какое платье был одет?
Задача 3.
На одном званом вечере среди гостей оказалось пять офицеров: пехотинец, артиллерист, летчик, связист и сапер. Один из них капитан, трое - майоры и один - полковник. Дамы окружили офицеров таким вниманием, что все остальные гости оказались просто забытыми. Из разговоров удалось выяснить следующие:
1) У Петра такое же звание, как и у его друга сапера.
2) Офицер-связист и Николай - большие друзья.
3) Офицер-летчик вместе с Владимиром и Александром недавно были в гостях у Николая.
4) Незадолго до званого вечера у артиллериста и сапера почти одновременно вышли из строя радиоприемники. Оба обратились к Александру с просьбой зайти к ним и помочь связисту устранить неисправность, и с тех пор приемники у обоих работают отлично.
5) Николай чуть было не стал летчиком, но потом по совету своего друга сапера избрал иной род войск.
6) Петр по званию старше Александра, а Владимир старше Николая.
7) Андрей накануне званого вечера был в гостях у Александра.
Определите звание каждого офицера и род войск, в котором он служит.
Эта задача позволяет продемонстрировать еще один способ построения таблицы истинности. Сразу строим заполненную таблицу (в каждый столбец, соответствующий элементу одного из рассматриваемых в условии задачи множеств, вписываются все элементы других множеств), а затем вычеркиваем противоречащие условию записи.
Примеры задач
Задача 4.
На одном званом вечере среди гостей оказались пять офицеров: пехотинец, артиллерист, летчик, связист
исапер. Дамы окружили офицеров таким вниманием, что все остальные гости оказались просто забытыми. Из разговоров удалось выяснить следующее:
1) У трех офицеров, включая Петра, одно и то же звание, причем один из них - сапер. 
2) Офицер-связист и Николай - большие друзья.
3) Офицер-летчик вместе с Владимиром и Александром недавно были у кого-то в гостях.
4) Незадолго до званого вечера у артиллериста вышел из строя радиоприемник. Он обратился к Александру с просьбой зайти к нему и помочь связисту устранить неисправность.
5) Николай чуть было не стал летчиком, но потом по совету своего друга сапера избрал иной род войск.
6) Петр по званию старше Александра, а Владимир старше Петра.
7) Андрей накануне званого вечера был в гостях у Александра.
Определите для каждого офицера род войск, в котором он служит.
Задача 5.
Три молодые супружеские пары собрались как-то раз на дружеский ужин. Завязалась беседа. Были высказаны следующие утверждения:
1) Андрей. Каждый из трех мужей на 5 лет старше своей жены.
2) Ева. Не стану скрывать - я сама старшая из всех жен.
3) Игорь. Нам с Юлией вместе 52 года.
4) Леонид. Всем нам шестерым вместе 151 год.
5) Юлия. Нам с Леонидом вместе 48 лет.
К сожалению, Марта так и не смогла принять участие в застольной беседе, поскольку ей пришлось выполнять хлопотливые обязанность хозяйки дома и она то и дело отлучалась на кухню.
Кому сколько лет и кто на ком женат?
Вопросы:
1.Что такое высказывание, логика высказываний, логический закон?
2.В каких случаях высказывание является простым или сложным, истинным или ложным?
3.Символика обозначения логических связок.
4.Что такое таблица истинности? Способы изображения таблиц истинности.
5.Количество комбинаций для n высказываний?
6.Что такое булева функция, их задание?
7.Булевы функции одной переменной (обозначение и таблицы истинности).
8.Булевы функции двух переменных (обозначение и таблицы истинности).
9.Формулы преобразования булевых функций.
10.Использование языка логики высказываний при решении задач.
