Ключевые слова:
- алгебра логики
- высказывание
- логическая операция
- конъюнкция
- дизъюнкция
- отрицание
- логическое выражение
- таблица истинности
- законы логики
Ключевые слова:
Алгебра в широком смысле этого слова — наука об общих операциях, аналогичных сложению и умножению, которые могут выполняться над разнообразными математическими объектами. Многие математические объекты (целые и рациональные числа, многочлены, векторы, множества) вы изучаете в школьном курсе алгебры, где знакомитесь с такими разделами математики, как алгебра чисел, алгебра многочленов, алгебра множеств и т. д.
Для информатики важен раздел математики, называемый алгеброй логики; объектами алгебры логики являются высказывания.
Высказывание — это предложение на любом языке, содержание которого можно однозначно определить как истинное или ложное.
Например, относительно предложений «Великий русский учёный М. В. Ломоносов родился в 1711 году» и «Two plus six Is eight» можно однозначно сказать, что они истинны. Предложение «Зимой воробьи впадают в спячку» ложно. Следовательно, эти предложения являются высказываниями.
В русском языке высказывания выражаются повествовательными предложениями. Но не всякое повествовательное предложение является высказыванием.
Например, предложение «Это предложение является ложным» не является высказыванием, так как относительно него нельзя сказать, истинно оно или ложно, без того, чтобы не получить противоречие. Действительно, если принять, что предложение истинно, то это противоречит сказанному. Если же принять, что предложение ложно, то отсюда следует, что оно истинно.
Относительно предложения «Компьютерная графика — самая интересная тема в курсе школьной информатики» также нельзя однозначно сказать, истинно оно или ложно. Подумайте сами почему.
Побудительные и вопросительные предложения высказываниями не являются.
Например, не являются высказываниями такие предложения, как: «Запишите домашнее задание», «Как пройти в библиотеку?», «Кто к нам пришёл?».
Высказывания могут строиться с использованием знаков различных формальных языков — математики, физики, химии и т. п.
Примерами высказываний могут служить:
Не являются высказываниями числовые выражения, но из двух числовых выражений можно составить высказывание, соединив их знаками равенства или неравенства. Например:
Не являются высказываниями и равенства или неравенства, содержащие переменные. Например, предложение «X < 12» становится высказыванием только при замене переменной каким-либо конкретным значением: «5 < 12» — истинное высказывание; «12 < 12» — ложное высказывание.
Обоснование истинности или ложности высказываний решается теми науками, к сфере которых они относятся. Алгебра логики отвлекается от смысловой содержательности высказываний. Её интересует только то, истинно или ложно данное высказывание. В алгебре логики высказывания обозначают буквами и называют логическими переменными. При этом если высказывание истинно, то значение соответствующей ему логической переменной обозначают единицей (А = 1), а если ложно — нулём (Б = 0). 0 и 1, обозначающие значения логических переменных, называются логическими значениями.
Алгебра логики определяет правила записи, вычисления значений, упрощения и преобразования высказываний.
Оперируя логическими переменными, которые могут быть равны только 0 или 1, алгебра логики позволяет свести обработку информации к операциям с двоичными данными. Именно аппарат алгебры логики положен в основу компьютерных устройств хранения и обработки информации. С применением элементов алгебры логики вы будете встречаться и во многих других разделах информатики.
Высказывания бывают простые и сложные. Высказывание называется простым, если никакая его часть сама не является высказыванием. Сложные (составные) высказывания строятся из простых с помощью логических операций.
Рассмотрим основные логические операции, определённые над высказываниями. Все они соответствуют связкам, употребляемым в естественном языке.
Конъюнкция
Рассмотрим два высказывания: А = «Основоположником алгебры логики является Джордж Буль», В = «Исследования Клода Шеннона позволили применить алгебру логики в вычислительной технике». Очевидно, новое высказывание «Основоположником алгебры логики является Джордж Буль, и исследования Клода Шеннона позволили применить алгебру логики в вычислительной технике» истинно только в том случае, когда одновременно истинны оба исходных высказывания.
Самостоятельно установите истинность или ложность трёх рассмотренных высказываний.
Конъюнкция — логическая операция, ставящая в соответствие каждым двум высказываниям новое высказывание, являющееся истинным тогда и только тогда, когда оба исходных высказывания истинны.
Для записи конъюнкции используются следующие знаки: ∧, •, И, &. Например: А ∧ В, А • В, А И В, А & Б.
Конъюнкцию можно описать в виде таблицы, которую называют таблицей истинности:
В таблице истинности перечисляются все возможные значения исходных высказываний (столбцы А и В), причём соответствующие им двоичные числа, как правило, располагают в порядке возрастания: 00, 01, 10, 11. В последнем столбце записан результат выполнения логической операции для соответствующих операндов.
Иначе конъюнкцию называют логическим умножением. Подумайте почему.
Дизъюнкция
Рассмотрим два высказывания: А = «Идея использования в логике математической символики принадлежит Готфриду Вильгельму Лейбницу», В = «Лейбниц является основоположником бинарной арифметики». Очевидно, новое высказывание «Идея использования в логике математической символики принадлежит Готфриду Вильгельму Лейбницу или Лейбниц является основоположником бинарной арифметики» ложно только в том случае, когда одновременно ложны оба исходных высказывания.
Самостоятельно установите истинность или ложность трёх рассмотренных высказываний.
Дизъюнкция — логическая операция, которая каждым двум высказываниям ставит в соответствие новое высказывание, являющееся ложным тогда и только тогда, когда оба исходных высказывания ложны.
Для записи дизъюнкции используются следующие знаки: ∨, |, ИЛИ, +. Например: A∨B, А|В, А ИЛИ Б, А+Б.
Дизъюнкция определяется следующей таблицей истинности:
Иначе дизъюнкцию называют логическим сложением. Подумайте почему.
Инверсия
Инверсия — логическая операция, которая каждому высказыванию ставит в соответствие новое высказывание, значение которого противоположно исходному.
Для записи инверсии используются следующие знаки: НЕ, ¬, ‾. Например: НЕ А, ¬А, .
Инверсия определяется следующей таблицей истинности:
Инверсию иначе называют логическим отрицанием.
Отрицанием высказывания «У меня дома есть компьютер» будет высказывание «Неверно, что у меня дома есть компьютер» или, что в русском языке то же самое, «У меня дома нет компьютера». Отрицанием высказывания «Я не знаю китайский язык» будет высказывание «Неверно, что я не знаю китайский язык» или, что в русском языке одно и то же, «Я знаю китайский язык». Отрицанием высказывания «Все юноши 9-х классов — отличники» является высказывание «Неверно, что все юноши 9-х классов — отличники», другими словами, «Не все юноши 9-х классов — отличники».
Таким образом, при построении отрицания к простому высказыванию либо используется речевой оборот «неверно, что ...», либо отрицание строится к сказуемому, тогда к соответствующему глаголу добавляется частица «не».
Любое сложное высказывание можно записать в виде логического выражения — выражения, содержащего логические переменные, знаки логических операций и скобки. Логические операции в логическом выражении выполняются в следующей очерёдности: инверсия, конъюнкция, дизъюнкция. Изменить порядок выполнения операций можно с помощью расстановки скобок.
Логические операции имеют следующий приоритет: инверсия, конъюнкция, дизъюнкция.
Пример 1. Пусть А = «На Web-странице встречается слово "крейсер"», В = «На Web-странице встречается слово "линкор"». Рассматривается некоторый сегмент сети Интернет, содержащий 5 000 000 Web-страниц. В нём высказывание А истинно для 4800 страниц, высказывание В — для 4500 страниц, а высказывание A v В — для 7000 страниц. Для какого количества Web-страниц в этом случае будут истинны следующие выражения и высказывание?
а) НЕ (А ИЛИ В);
б) А & В;
в) На Web-странице встречается слово "крейсер" и не встречается слово " линкор".
Решение. Изобразим множество всех Web-страниц рассматриваемого сектора сети Интернет кругом, внутри которого разместим два круга: одному из них соответствует множество Web-страниц, где истинно высказывание А, второму — где истинно высказывание В (рис. 1.3).
Рис. 1.3.
Графическое изображение множеств Web-страниц
Изобразим графически множества Web-страниц, для которых истинны выражения и высказывание а) - в) (рис. 1.4)
Рис. 1.4.
Графическое изображение множеств Web-страниц, для которых истинны выражения и высказывание а) - в)
Построенные схемы помогут нам ответить на вопросы, содержащиеся в задании.
Выражение А ИЛИ В истинно для 7000 Web-страниц, а всего страниц 5 000 000. Следовательно, выражение А ИЛИ В ложно для 4 993 000 Web-страниц. Иначе говоря, для 4 993 000 Web-страниц истинно выражение НЕ (А ИЛИ В).
Выражение A ∨ B истинно для тех Web-страниц, где истинно А (4800), а также тех Web-страниц, где истинно В (4500). Если бы все Web-страницы были различны, то выражение A v В было бы истинно для 9300 (4800 + 4500) Web-страниц. Но, согласно условию, таких Web-страниц всего 7000. Это значит, что на 2300 (9300 - 7000) Web-страницах встречаются оба слова одновременно. Следовательно, выражение А & В истинно для 2300 Web-страниц.
Чтобы выяснить, для скольких Web-страниц истинно высказывание А и одновременно ложно высказывание В, следует из 4800 вычесть 2300. Таким образом, высказывание «На Web-странице встречается слово "крейсер" И не встречается слово "линкор" » истинно на 2500 Web-страницах.
Самостоятельно запишите логическое выражение, соответствующее рассмотренному высказыванию.
На сайте Федерального центра информационно-образовательных ресурсов (http://fcoir.edu.ru/) размещён информационный модуль «Высказывание. Простые и сложные высказывания. Основные логические операции». Знакомство с этим ресурсом позволит вам расширить представления по изучаемой теме.
Для логического выражения можно построить таблицу истинности, показывающую, какие значения принимает выражение при всех наборах значений входящих в него переменных. Для построения таблицы истинности следует:
Построим таблицу истинности для логического выражения A ∨ А & В. В нём две переменные, две операции, причём сначала выполняется конъюнкция, а затем — дизъюнкция. Всего в таблице будет четыре столбца:
Наборы входных переменных — это целые числа от О до 3, представленные в двухразрядном двоичном коде: 00, 01, 10, 11. Заполненная таблица истинности имеет вид:
Обратите внимание, что последний столбец (результат) совпал со столбцом А. В таком случае говорят, что логическое выражение A ∨ А & Б равносильно логическому выражению А.
Рассмотрим основные свойства (законы) алгебры логики.
А & В = В & А;
A ∨ B = В ∨ А.
(А & В) & С = А & (B & С);
(A ∨ B) ∨ C = A ∨(B ∨ C).
При одинаковых знаках операций скобки можно ставить произвольно или вообще опускать.
А & (В ∨ С) = (А & В) ∨ (А & С);
A ∨ (B & С) = (A ∨ В) & (A ∨ С).
Двойное отрицание исключает отрицание.
Из двух противоречивых высказываний об одном и том же предмете одно всегда истинно, а второе — ложно, третьего не дано.
А & А = А;
A ∨ А = А.
А & 0 = 0; А & 1 = А;
A ∨ O = A; A ∨ l = l.
Законы алгебры логики могут быть доказаны с помощью таблиц истинности.
Докажем распределительный закон для логическического сложения:
A ∨ (В & С) = (А ∨ В) & (A ∨ С).
Совпадение столбцов, соответствующих логическим выражениям в левой и правой частях равенства, доказывает справедливость распределительного закона для логического сложения.
Пример 2. Найдём значение логического выражения для числа Х = 0.
Решение. При X = 0 получаем следующее логическое выражение: . Так как логические выражения 0 < 3, 0 < 2 истинны, то, подставив их значения в логическое выражение, получаем: 1&Т = 1&0 = 0.
Рассмотрим несколько способов решения логических задач.
Задача 1. Коля, Вася и Серёжа гостили летом у бабушки. Однажды один из мальчиков нечаянно разбил любимую бабушкину вазу. На вопрос, кто разбил вазу, они дали такие ответы:
Серёжа: 1) Я не разбивал. 2) Вася не разбивал.
Вася: 3) Серёжа не разбивал. 4) Вазу разбил Коля.
Коля: 5) Я не разбивал. 6) Вазу разбил Серёжа.
Бабушка знала, что один из её внуков, назовём его правдивым, оба раза сказал правду; второй, назовём его шутником, оба раза сказал неправду; третий, назовём его хитрецом, один раз сказал правду, а другой раз — неправду. Назовите имена правдивого, шутника и хитреца. Кто из внуков разбил вазу?
Решение. Пусть К = «Коля разбил вазу», В = «Вася разбил вазу», С = «Серёжа разбил вазу». Составим таблицу истинности, с которой представим высказывания каждого мальчика 1.
1 С учётом того, что ваза разбита одним внуком, можно было составлять не всю таблицу, а только её фрагмент, содержащий следуюнще наборы входных переменных: 001, 010, 100.
Исходя из того, что знает о внуках бабушка, следует искать в таблице строки, содержащие в каком-либо порядке три комбинации значений: 00, 11, 01 (или 10). Таких строк в таблице оказалось две (они отмечены галочками). Согласно второй из них, вазу разбили Коля и Вася, что противоречит условию. Согласно первой из найденных строк, вазу разбил Серёжа, он же оказался хитрецом. Шутником оказался Вася. Имя правдивого внука — Коля.
Задача 2. В соревнованиях по гимнастике участвуют Алла, Валя, Сима и Даша. Болельщики высказали предположения о возможных победителях:
По окончании соревнований оказалось, что в каждом из предположений только одно из высказываний истинно, другое ложно. Какое место на соревнованиях заняла каждая из девушек, если все они оказались на разных местах?
Решение. Рассмотрим простые высказывания:
C1 = «Сима заняла первое место»;
В2 = «Валя заняла второе место»;
С2 = «Сима заняла второе место»;
Д3 = «Даша заняла третье место»;
А2 = «Алла заняла второе место»;
Д4 = «Даша заняла четвёртое место».
Так как в каждом из трёх предположений одно из высказываний истинно, а другое ложно, то можно заключить следующее:
Логическое произведение истинных высказываний будет истинным:
(С1 + В2) • (С2 + Д3) • (А2 + Д4) = 1.
На основании распределительного закона преобразуем левую часть этого выражения:
(С1 • С2 + С1 • Д3 + В2 • С2 + В2 • Д3) • (А2 + Д4) = 1.
Высказывание С1 • С2 означает, что Сима заняла и первое, и второе места. Согласно условию задачи, это высказывание ложно. Ложным является и высказывание В2 • С2. Учитывая закон операций с константой 0, запишем:
(С1•Д3 + В2•Д3)•(А2+Д4) = 1.
Дальнейшее преобразование левой части этого равенства и исключение заведомо ложных высказываний дают:
С1 • Д3 • А2 + С1 • Д3 • Д4 + В2 • Д3 • А2 + В2 • Д3 • Д4 = 1.
C1 • Д3 • А2 = 1.
Из последнего равенства следует, что С1 = 1, Д3 = 1, А2 = 1. Это означает, что Сима заняла первое место, Алла — второе, Даша — третье. Следовательно, Валя заняла четвёртое место.
Познакомиться с другими способами решения логических задач, а также принять участие в Интернет-олимпиадах и конкурсах по их решению вы сможете на сайте «Математика для школьников» (http://www.kenqyry.com/).
На сайте http://www.kaser.com/ вы сможете скачать демонстрационную версию очень полезной, развивающей логику и умение рассуждать логической головоломки Шерлок.
Алгебра логики — раздел математики, играющий важную роль в конструировании автоматических устройств, разработке аппаратных и программных средств информационных и коммуникационных технологий.
Вы уже знаете, что любая информация может быть представлена в дискретной форме — в виде фиксированного набора отдельных значений. Устройства, которые обрабатывают такие значения (сигналы), называются дискретными. Дискретный преобразователь, который выдаёт после обработки двоичных сигналов значение одной из логических операций, называется логическим элементом.
На рис. 1.5 приведены условные обозначения (схемы) логических элементов, реализующих логическое умножение, логическое сложение и инверсию.
Рис 1.5.
Логические элементы
Логический элемент И (конъюнктор) реализует операцию логического умножения (рис. 1.5, а). Единица на выходе этого элемента появится только тогда, когда на всех входах будут единицы.
Логический элемент ИЛИ (дизъюнктор) реализует операцию логического сложения (рис. 1.5, б). Если хотя бы на одном входе будет единица, то на выходе элемента также будет единица.
Логический элемент НЕ (инвертор) реализует операцию отрицания (рис. 1.5, в). Если на входе элемента О, то на выходе 1 и наоборот.
Компьютерные устройства, производящие операции над двоичными числами, и ячейки, хранящие данные, представляют собой электронные схемы, состоящие из отдельных логических элементов. Более подробно эти вопросы будут раскрыты в курсе информатики 10-11 классов.
Пример 3. Проанализируем электронную схему, т. е. выясним, какой сигнал должен быть на выходе при каждом возможном наборе сигналов на входах.
Решение. Все возможные комбинации сигналов на входах А к В внесём в таблицу истинности. Проследим преобразование каждой пары сигналов при прохождении их через логические элементы и запишем полученный результат в таблицу. Заполненная таблица истинности полностью описывает рассматриваемую электронную схему.
Таблицу истинности можно построить и по логическому выражению, соответствующему электронной схеме. Последний логический элемент в рассматриваемой схеме — конъюнктор. В него поступают сигналы от входа Л и от инвертора. В свою очередь, в инвертор поступает сигнал от входа В. Таким образом,
Составить более полное представление о логических элементах и электронных схемах вам поможет работа с тренажёром «Логика» (http://kpolyakov. narod. ru/prog/logic. htm).
Высказывание — это предложение на любом языке, содержание которого можно однозначно определить как истинное или ложное.
Основные логические операции, определённые над высказываниями: инверсия, конъюнкция, дизъюнкция.
Таблицы истинности для основных логических операций:
При вычислении логических выражений сначала выполняются действия в скобках. Приоритет выполнения логических операций:
На них изображены известные вам из курса физики параллельное и последовательное соединения переключателей. В первом случае, чтобы лампочка загорелась, должны быть включены оба переключателя. Во втором случае достаточно, чтобы был включён один из переключателей. Попытайтесь самостоятельно провести аналогию между элементами электрических схем и объектами и операциями алгебры логики:
По запросу сомики & гуппи было найдено 0 сайтов, по запросу сомики & меченосцы — 20 сайтов, а по запросу меченосцы & гуппи — 10 сайтов.
Сколько сайтов будет найдено по запросу сомики | меченосцы | гуппи?
Для скольких сайтов рассматриваемого сегмента ложно высказывание «Сомики — ключевое слово сайта ИЛИ меченосцы — ключевое слово сайта ИЛИ гуппи — ключевое слово сайта»?
1) ЕЛЕНА;
2) ВАДИМ;
3) АНТОН;
4) ФЁДОР
Смит: «Я не делал этого. Браун сделал это».
Джон: «Браун не виновен. Смит сделал это».
Браун: «Я не делал этого. Джон не делал этого».
Суд установил, что один из них дважды солгал, другой дважды сказал правду, третий один раз солгал, один раз сказал правду. Кто из подозреваемых должен быть оправдан?