Правила математической логики определяют методы обоснования математических утверждений. Греческий философ Аристотель был пионером логических рассуждений. Логические рассуждения обеспечивают теоретическую основу для многих областей математики и, следовательно, информатики. Он имеет множество практических приложений в области компьютерных наук, таких как проектирование вычислительных машин, искусственный интеллект, определение структур данных для языков программирования и т. Д.
Логика высказываний связана с утверждениями, которым могут быть присвоены значения истинности «истина» и «ложь». Цель состоит в том, чтобы проанализировать эти утверждения по отдельности или в совокупности.
- Предлогическая логика — определение
- Связки
- Тавтологии
- Противоречия
- непредвиденные обстоятельства
- Пропозициональные эквивалентности
- Тестирование по 1- му методу (таблица соответствия)
- Тестирование по 2- му методу (би-условность)
- Обратное, Обратное и Противоположительное
- Принцип двойственности
- Нормальные Формы
- Конъюнктивная нормальная форма
- Дизъюнктивная нормальная форма
- Алгебра логики
- Логические операции. Таблицы истинности
- Примеры с решением
- Логические формулы. Законы алгебры логики
- Учебное пособие: Дискретная математика
- Часть 3. Элементы алгебры логики
- 3.1 Введение в алгебру логики
- 3.2 Основные функции алгебры логики
- 3.3 Формулы алгебры логики
- Контрольные вопросы
- 3.4 Законы алгебры логики и следствия из них
- Контрольные вопросы
- 3.5 Логические функции многих переменных
- Контрольные вопросы и упражнения
- 3.7 Некоторые замкнутые классы (классы Поста). Понятие базиса
- Контрольные вопросы и упражнения
- 3.8 Методы минимизации логических функций
- Контрольные вопросы
- 3.9 Неполностью определенные логические функции
- 3.10 Формы представления булевых функций
- 3.10.1 Семантические деревья
- 3.10.2 Бинарные диаграммы решений (БДР )
- 3.11 Построение логических схем
- Контрольные вопросы
- 3.12 Логические конечные автомат ы
- 3.12.1 Процессы
- 3.12.2 Конечные автоматы
- 3.12.2.2 Конечные автоматы с памятью (последовательностные)
Видео:Логические выражения, таблицы истинности ,структурная логическая схемаСкачать
Предлогическая логика — определение
Предложение — это совокупность декларативных утверждений, которые имеют либо значение истины «истина», либо значение истины «ложь». Пропозициональное предложение состоит из пропозициональных переменных и связок. Мы обозначаем пропозициональные переменные заглавными буквами (A, B и т. Д.). Связки соединяют пропозициональные переменные.
Некоторые примеры предложений приведены ниже —
- «Человек — смертный», он возвращает истинное значение «ИСТИНА»
- «12 + 9 = 3 — 2», возвращает значение истинности «ЛОЖЬ»
Следующее не является предложением —
«А меньше 2». Это потому, что если мы не дадим конкретное значение A, мы не сможем сказать, является ли утверждение истинным или ложным.
«А меньше 2». Это потому, что если мы не дадим конкретное значение A, мы не сможем сказать, является ли утверждение истинным или ложным.
Видео:Конъюнкция, дизъюнкция, импликация, эквиваленция, отрицание. На примерах из жизни. Логика.Скачать
Связки
В логике высказываний мы обычно используем пять связок, которые:
Отрицание / НЕ ( l n o t )
Импликация / если-тогда ( r i g h t a r r o w )
Если и только если ( L e f t r i g h t a r r o w ).
Отрицание / НЕ ( l n o t )
Импликация / если-тогда ( r i g h t a r r o w )
Если и только если ( L e f t r i g h t a r r o w ).
OR ( l o r ) — Операция OR двух предложений A и B (записанная как A l o r B ) выполняется, если хотя бы любая из пропозициональных переменных A или B истинна.
Таблица истинности выглядит следующим образом —
В | A ∨ B | |
---|---|---|
Правда | Правда | Правда |
Правда | Ложь | Правда |
Ложь | Правда | Правда |
Ложь | Ложь | Ложь |
AND ( l a n d ) — Операция AND двух предложений A и B (записанная как A l a n d B ) верна, если обе пропозициональные переменные A и B верны.
Таблица истинности выглядит следующим образом —
В | A ∧ B | |
---|---|---|
Правда | Правда | Правда |
Правда | Ложь | Ложь |
Ложь | Правда | Ложь |
Ложь | Ложь | Ложь |
Отрицание ( l n o t ) — отрицание предложения A (записанного как l n o t A ) ложно, когда A истинно, и истинно, когда A ложно.
Таблица истинности выглядит следующим образом —
¬ A | |
---|---|
Правда | Ложь |
Ложь | Правда |
Импликация / если-тогда ( r i g h t a r r o w ) — импликация A r i g h t a r r o w B — это предложение «если A, то B». Это ложно, если A верно, а B ложно. Остальные случаи верны.
Таблица истинности выглядит следующим образом —
В | A → B | |
---|---|---|
Правда | Правда | Правда |
Правда | Ложь | Ложь |
Ложь | Правда | Правда |
Ложь | Ложь | Правда |
Если и только если ( L e f t r i g h t a r r o w ) — A L e f t r i g h t a r r o w B — это двухусловное логическое связующее, которое истинно, когда p и q одинаковы, т.е. оба являются ложными или оба истинны.
Таблица истинности выглядит следующим образом —
В | A ⇔ B | |
---|---|---|
Правда | Правда | Правда |
Правда | Ложь | Ложь |
Ложь | Правда | Ложь |
Ложь | Ложь | Правда |
Видео:Преобразование логических выражений / Упрощение выражений (практика) [Алгебра логики] #6Скачать
Тавтологии
Тавтология — это формула, которая всегда верна для каждого значения ее пропозициональных переменных.
Пример — Доказать, что l b r a c k ( A r i g h t a r r o w B ) l a n d A r b r a c k r i g h t a r r o w B — тавтология
Таблица истинности выглядит следующим образом —
В | A → B | (A → B) ∧ A | [(A → B) ∧ A] → B | |
---|---|---|---|---|
Правда | Правда | Правда | Правда | Правда |
Правда | Ложь | Ложь | Ложь | Правда |
Ложь | Правда | Правда | Ложь | Правда |
Ложь | Ложь | Правда | Ложь | Правда |
Как мы видим, каждое значение l b r a c k ( A r i g h t a r r o w B ) l a n d A r b r a c k r i g h t a r r o w B равно «True», это тавтология.
Видео:Построение таблиц истинностиСкачать
Противоречия
Противоречие — это формула, которая всегда ложна для каждого значения ее пропозициональных переменных.
Пример — Докажите, что ( A l o r B ) l a n d l b r a c k ( l n o t A ) l a n d ( l n o t B ) r b r a c k является противоречием
Таблица истинности выглядит следующим образом —
В | A ∨ B | ¬ A | ¬ B | (¬ A) ∧ (¬ B) | (A ∨ B) ∧ [(¬ A) ∧ (¬ B)] | |
---|---|---|---|---|---|---|
Правда | Правда | Правда | Ложь | Ложь | Ложь | Ложь |
Правда | Ложь | Правда | Ложь | Правда | Ложь | Ложь |
Ложь | Правда | Правда | Правда | Ложь | Ложь | Ложь |
Ложь | Ложь | Ложь | Правда | Правда | Правда | Ложь |
Как мы видим, каждое значение ( A l o r B ) l a n d l b r a c k ( l n o t A ) l a n d ( l n o t B ) r b r a c k равно «False», это противоречие.
Видео:Упростить логическое выражение. Алгебра логики: аксиомы и законыСкачать
непредвиденные обстоятельства
Непредвиденные обстоятельства — это формула, которая имеет как истинные, так и ложные значения для каждого значения своих пропозициональных переменных.
Пример — Доказать непредвиденную случайность в ( A l o r B ) l a n d ( l n o t A )
Таблица истинности выглядит следующим образом —
В | A ∨ B | ¬ A | (A ∨ B) ∧ (¬ A) | |
---|---|---|---|---|
Правда | Правда | Правда | Ложь | Ложь |
Правда | Ложь | Правда | Ложь | Ложь |
Ложь | Правда | Правда | Правда | Правда |
Ложь | Ложь | Ложь | Правда | Ложь |
Как мы видим, каждое значение ( A l o r B ) l a n d ( l n o t A ) имеет «True» и «False», это непредвиденное обстоятельство.
Видео:Таблица истинностиСкачать
Пропозициональные эквивалентности
Два утверждения X и Y логически эквивалентны, если выполняется любое из следующих двух условий:
Таблицы истинности каждого утверждения имеют одинаковые значения истинности.
Двухусловное утверждение X L e f t r i g h t a r r o w Y является тавтологией.
Таблицы истинности каждого утверждения имеют одинаковые значения истинности.
Двухусловное утверждение X L e f t r i g h t a r r o w Y является тавтологией.
Пример — Докажите, что l n o t ( A l o r B ) и l b r a c k ( l n o t A ) l a n d ( l n o t B ) r b r a c k эквивалентны
Тестирование по 1- му методу (таблица соответствия)
В | A ∨ B | ¬ (A ∨ B) | ¬ A | ¬ B | [(¬ A) ∧ (¬ B)] | |
---|---|---|---|---|---|---|
Правда | Правда | Правда | Ложь | Ложь | Ложь | Ложь |
Правда | Ложь | Правда | Ложь | Ложь | Правда | Ложь |
Ложь | Правда | Правда | Ложь | Правда | Ложь | Ложь |
Ложь | Ложь | Ложь | Правда | Правда | Правда | Правда |
Здесь мы видим, что значения истинности l n o t ( A l o r B ) и l b r a c k ( l n o t A ) l a n d ( l n o t B ) r b r a c k совпадают, поэтому утверждения эквивалентны.
Тестирование по 2- му методу (би-условность)
В | ¬ (A ∨ B) | [(¬ A) ∧ (¬ B)] | [¬ (A ∨ B)] ⇔ [(¬ A) ∧ (¬ B)] | |
---|---|---|---|---|
Правда | Правда | Ложь | Ложь | Правда |
Правда | Ложь | Ложь | Ложь | Правда |
Ложь | Правда | Ложь | Ложь | Правда |
Ложь | Ложь | Правда | Правда | Правда |
Поскольку l b r a c k l n o t ( A l o r B ) r b r a c k L e f t r i g h t a r r o w l b r a c k ( l n o t A ) l a n d ( l n o t B ) r b r a c k является тавтологией, утверждения эквивалентны.
Видео:Множества и операции над нимиСкачать
Обратное, Обратное и Противоположительное
Импликация / if-then ( r i g h t a r r o w ) также называется условным оператором. Он состоит из двух частей —
Как упоминалось ранее, он обозначается как p r i g h t a r r o w q .
Пример условного высказывания — «Если вы делаете свою домашнюю работу, вы не будете наказаны». Здесь «вы делаете свою домашнюю работу» — это гипотеза, p, а «вы не будете наказаны» — это заключение, q.
Обратное . Обратным условным утверждением является отрицание как гипотезы, так и заключения. Если утверждение «Если р, то q», обратное будет «Если не р, то не q». Таким образом, обратное значение p r i g h t a r r o w q равно l n o t p r i g h t a r r o w l n o t q .
Пример . Обратное выражение «Если вы делаете домашнее задание, вы не будете наказаны» — «Если вы не будете выполнять домашнее задание, вы будете наказаны».
Обратное — обратное условное утверждение вычисляется путем обмена гипотезы и заключения. Если утверждение «Если р, то д», обратное будет «Если д, то р». Обратным к p r i g h t a r r o w q является q r i g h t a r r o w p .
Пример . Обратное выражение «Если вы делаете домашнее задание, вы не будете наказаны» — «Если вы не будете наказаны, вы делаете домашнее задание».
Противоположный — Противоположный условного рассчитывается путем обмена гипотезы и заключения обратного утверждения. Если утверждение «Если p, то q», то противоположным будет «Если не q, то не p». Противоположным для p r i g h t a r r o w q является l n o t q r i g h t a r r o w l n o t p .
Пример — Противоположный вариант «Если вы делаете домашнее задание, вы не будете наказаны» — «Если вы наказаны, вы не сделали домашнее задание».
Видео:Упрощение логических выраженийСкачать
Принцип двойственности
Принцип двойственности гласит, что для любого истинного утверждения двойственное утверждение, полученное путем взаимного объединения союзов в пересечения (и наоборот) и взаимного изменения универсального множества в нулевое множество (и наоборот), также верно. Если дуальным каким-либо утверждением является само утверждение, оно называется самодвойственным утверждением.
Пример — двойственное значение ( A c a p B ) c u p C равно ( A c u p B ) c a p C
Видео:Информатика. Алгебра логики: Таблицы истинности. Центр онлайн-обучения «Фоксфорд»Скачать
Нормальные Формы
Мы можем преобразовать любое предложение в две нормальные формы —
- Конъюнктивная нормальная форма
- Дизъюнктивная нормальная форма
Конъюнктивная нормальная форма
Составной оператор находится в конъюнктивной нормальной форме, если он получен путем операции И среди переменных (включая отрицание переменных), связанных с ИЛИ. С точки зрения операций над множествами, это составное утверждение, полученное Intersection среди переменных, связанных с Unions.
( A l o r B ) з е м л я ( A l o r C ) з е м л я ( B l o r C l o r D )
( P c u p Q ) c a p ( Q c u p R )
( A l o r B ) з е м л я ( A l o r C ) з е м л я ( B l o r C l o r D )
( P c u p Q ) c a p ( Q c u p R )
Дизъюнктивная нормальная форма
Составной оператор находится в конъюнктивной нормальной форме, если он получен путем операции ИЛИ среди переменных (включая отрицание переменных), связанных с AND. С точки зрения операций над множествами, это составное утверждение, полученное объединением среди переменных, связанных с пересечениями.
( A l a n d B ) l o r ( A l a n d C ) l o r ( B l a n d C l a n d D )
Видео:3.10 Пример - доказательство равенства двух множествСкачать
Алгебра логики
Содержание:
Алгебра логики является частью, разделом бурно развивающейся сегодня науки — дискретной математики. Дискретная математика занимается изучением свойств структур конечного характера, которые возникают как внутри математики, так и в ее приложениях.
- Заметим, что классическая математика, в основном, занимается изучением свойств объектов непрерывного характера, хотя само деление математики на классическую и дискретную в значительной мере условно, поскольку между ними происходит активная циркуляция идей и методов, часто возникает необходимость исследовать модели, обладающие как дискретными, так и непрерывными свойствами.
К числу структур, изучаемых дискретной математикой, могут быть отнесены конечные группы, конечные графы, математические модели преобразователей информации типа конечных автоматов или машин Тьюринга и др. Математический аппарат алгебры логики широко используется в информатике, в частности, в таких ее разделах, как проектирование ЭВМ, теория автоматов, теория алгоритмов, теория информации, целочисленное программирование и т. д. Алгебра логики.
Понятие высказывания Алгебра логики изучает свойства функций, у которых и аргументы, и значения принадлежат заданному двухэлементному множеству (например,). Иногда вместо термина «алгебра логики» употребляют термин «двузначная логика». Отцом алгебры логики по праву считается английский математик XIX столетия Джордж Буль.
Именно он построил один из разделов формальной логики в виде некоторой «алгебры», аналогичной алгебре чисел, но не сводящейся к ней. Алгебра в широком смысле этого слова — наука об общих операциях, аналогичных сложению и умножению, которые могут выполняться не только над числами, но и над другими математическими объектами.
Существуют алгебры натуральных чисел, многочленов, векторов, матриц, множеств и т. д. Дж. Буль (1815-1864) Долгое время алгебра логики была известна достаточно узкому классу специалистов.
По этой ссылке вы найдёте полный курс лекций по высшей математике:
Прошло почти 100 лет со времени создания алгебры логики Дж. Булем, прежде чем в 1938 году выдающийся американский математик и инженер Клод Шеннон (1916-2001) показал, что алгебра логики применима для описания самых разнообразных процессов, в том числе функционирования ре-лейно-контактных и электронно-ламповых схем. Исследования в алгебре логики тесно связаны с изучением высказываний (хотя высказывание — предмет изучения формальной логики).
- С помощью высказываний мы устанавливаем свойства, взаимосвязи между объектами. Высказывание истинно, если оно адекватно отображает эту связь, в противном случае оно ложно. Примерами высказываний на естественном языке являются предложения «Сегодня светит солнце» или «Трава растет». Каждое из этих высказываний характеризует свойства или состояние конкретного объекта (в нашем примере погоды и окружающего мира). Каждое из этих высказываний несет значение «истина» или «ложь».
Однако определение истинности высказывания далеко не простой вопрос. Например, высказывание «Число — простое», принадлежащее Ферма (1601-1665), долгое время считалось истинным, пока в 1732 году Эйлер (1707-1783) не доказал, что оно ложно. В целом, обоснование истинности или ложности простых высказываний решается вне алгебры логики. Например, истинность или ложность высказывания «Сумма углов треугольника равна » устанавливается геометрией, причем в геометрии Евклида это высказывание является истинным, а в геометрии Лобачевского — ложным. Что же является высказыванием в формальной логике?
Определение 1. Высказывание — это языковое образование, в отношении которого имеет смысл говорить о его истинности или ложности (Аристотель).
Возможно вам будут полезны данные страницы:
Это словесное определение, не являющееся математически точным, только на первый взгляд кажется удовлетворительным. Оно отсылает проблему определения высказывания к проблеме определения истинности или ложности данного языкового образования. Если рассматривать в качестве высказываний любые утвердительные предложения, то это быстро приводит к парадоксам и противоречиям. Например, предложению «Это предложение является ложным» невозможно приписать никакого значения истинности без того, чтобы не получить противоречие. Действительно, если принять, что предложение истинно, то это противоречит его смыслу. Если же принять, что предложение ложно, то отсюда следует, что предложение на самом деле истинно.
- Как видно, этому предложению осмысленно нельзя приписать какое-либо значение истинности, следовательно, оно не является высказыванием. Причина этого парадокса лежит в структуре построения указанного предложения: оно ссылается на свое собственное значение. С помощью определенных ограничений на допустимые формы высказываний могут быть устранены такие ссылки на себя и, следовательно, устранены возникающие отсюда парадоксы.
Определение 2. Высказывание называется простым (элементарным)I, если никакая его часть не является высказыванием.
Высказывания могут выражаться с помощью математических, физических, химических и прочих знаков. Из двух числовых выражений можно составить высказывание, соединив их знаком равенства или неравенства. Сами числовые выражения высказываниями не являются. Не являются высказываниями и равенства или неравенства, содержащие переменные. Например, предложение «» становится высказыванием при замене переменной каким-либо конкретным значением. Предложения типа «» называют предикатами. Алгебра логики отвлекается от смысловой содержательности высказываний.
Мы можем договориться, что абсурдное по смыслу высказывание «Крокодилы летают» является истинным, и с этим значением высказывания будем работать. Вопрос о том, летают крокодилы или нет, может волновать зоологов, но никак не математиков: им этот потрясающий факт безразличен. Введение таких ограничений дает возможность изучать высказывания алгебраическими методами, позволяет ввести операции над элементарными высказываниями и с их помощью строить и изучать составные высказывания. В информатике для точного определения понятия высказывания строятся ограниченные системы форм высказываний (формальный язык), которые используются при описании алгоритмических языков, в информационных системах, для строгого формального описания алгоритмов и т. д.
Логические операции. Таблицы истинности
Употребляемые в обычной речи связки «и», «или», «не», «если . то . », «тогда и только тогда, когда . » и т. п. позволяют из уже заданных высказываний строить новые сложные высказывания. Истинность или ложность получаемых таким образом высказываний зависит от истинности и ложности исходных высказываний и соответствующей трактовки связок как логических операций над высказываниями. Для обозначения истинности, как правило, используются символы «И» и «1», а для обозначения ложности — символы «Л» и «0».
Логическая операция полностью может быть описана таблицей истинности, указывающей, какие значения принимает сложное высказывание при всех возможных значениях простых высказываний. В алгебре логики логические связки и соответствующие им логические операции имеют специальные названия и обозначаются следующим образом:
Введем перечисленные логические операции формальным образом. Высказывание, составленное из двух высказываний путем объединения их связкой «и», называется конъюнкцией или логическим умножением. Высказывая конъюнкцию, мы утверждаем, что выполняются оба события, о которых идет речь в составляющих высказываниях.
Например, сообщая: , мы выражаем в одном высказывании свое убеждение в том, что произошли оба этих события.
Определение 3. Конъюнкция — логическая операция, ставящая в соответствие каждым двум элементарным высказываниям новое высказывание, являющееся истинным тогда и только тогда, когда оба исходных высказывания истинны.
Логическая операция конъюнкция определяется следующей таблицей, которую называют таблицей истинности:
Рассмотрим два высказывания = <Завтра будет мороз) и . Очевидно, новое высказывание = истинно только в том случае, когда одновременно истинны высказывания а именно, когда истинно, что завтра будет и мороз, и снег.
Высказывание будет ложно во всех остальных случаях: будет идти снег, но будет оттепель (т. е. не будет мороза); мороз будет, а снег не будет идти; не будет мороза, и снег не будет идти. В русском языке конъюнкции соответствует не только союз «и», но и другие речевые обороты, например связки «а» или «но».
Высказывание, состоящее из двух высказываний, объединенных связкой «или», называется дизъюнкцией или логическим сложением, нестрогой дизъюнкцией.
В высказываниях, содержащих связку «или», указывается на существование двух возможных событий, из которых хотя бы одно должно быть осуществлено. Например, сообщая: <Петя читает книгу или пьет чай), мы имеем в виду, что хотя бы что-либо одно Петя делает. При этом Петя может одновременно читать книгу и пить чай. И в этом случае дизъюнкция будет истинна.
Определение 4. Дизъюнкция — логическая операция, которая каждым двум элементарным высказываниям ставит в соответствие новое высказывание, являющееся ложным тогда и только тогда, когда оба исходных высказывания ложны.
Логическая операция дизъюнкция определяется следующей таблицей истинности:
Дизъюнкция истинна, когда хотя бы одно из двух образующих ее высказываний истинно. Рассмотрим два высказывания = <Колумб был в Индии) и = . Очевидно, новое высказывание = истинно как в случае, если Колумб был в Индии, но не был в Египте, так и в случае, если он не был в Индии, но был в Египте, а также в случае, если он был и в Индии, и в Египте. Но это высказывание будет ложно, если Колумб не был ни в Индии, ни в Египте.
Союз «или» может применяться в речи и в другом, «исключающем» смысле. Тогда он соответствует другому высказыванию — разделительной, или строгой дизъюнкции. 3.2.3. Высказывание, образованное из двух высказываний, объединенных связкой «либо» (точнее: «либо только . либо только . »), называется разделительной (строгой) дизъюнкцией, исключающим ИЛИ, сложением по модулю 2.
В отличие от обычной дизъюнкции (связка «или»), в высказывании, являющемся разделительной дизъюнкцией, мы утверждаем, что произойдет только одно событие из двух. Например, сообщая: , мы утверждаем, что Петя сидит либо только на трибуне А, либо только на трибуне Б.
Определение 5. Строгая, или разделительная дизъюнкция — логическая операция, ставящая в соответствие двум элементарным высказываниям новое высказывание, являющееся истинным тогда и только тогда, когда ровно одно из двух высказываний является истинным.
Логическая операция разделительная дизъюнкция определяется следующей таблицей истинности:
Рассмотрим два высказывания — <Кошка охотится за мышами) и — <Кошка спит на диване). Очевидно, что новое высказывание истинно только в двух случаях: когда кошка охотится за мышами или когда кошка мирно спит. Это высказывание будет ложно, если кошка не делает ни того, ни другого, т. е. когда оба события не происходят. Но это высказывание будет ложным и тогда, когда предполагается, что оба события будут происходить одновременно.
Определение 6. Импликация — логическая операция, ставящая в соответствие двум элементарным высказываниям новое высказывание, являющееся ложным тогда и только тогда, когда условие (посылка) — истинно, а следствие (заключение) — ложно.
Логическая операция импликация задается следующей таблицей истинности:
Мы видим, что импликация заведомо истинна, если условие ложно. Другими словами, из неверного условия может следовать все, что угодно. Например, высказывание <Если то крокодилы летают) является истинным. Подавляющее число зависимостей между событиями можно описать с помощью импликации.
Примеры с решением
Пример 1.
Следующие две импликации являются ложными, так как в них посылки истинны, а заключения ложны:
Может показаться странным, что высказывание «Если А, то В>> всегда истинно, если посылка (высказывание Л) ложна. Но для математика это вполне естественно. В самом деле, исходя из ложной посылки, можно путем верных рассуждений получить как истинное, так и ложное утверждение. Допустим, что 1 = 2, тогда и 2 = 1. Складывая эти равенства, получим 3 = 3, т. е. из ложной посылки путем тождественных преобразований мы получили истинное высказывание.
Большинство математических теорем являются импликациями. Однако те импликации, в которых посылки (условия) и заключения (следствия) являются предложениями без взаимной (по существу) связи, не могут играть в науке важной роли. Они являются бесплодными предложениями, так как не ведут к выводам более глубокого содержания.
Логические формулы. Законы алгебры логики
Математики под словом «алгебра» подразумевают науку, которая изучает некие объекты и операции над ними. Например, школьная алгебра (алгебра действительных чисел) изучает действительные числа и операции над ними. Предметом же нашего изучения являются высказывания, операции над ними, а также логические функции. В предыдущих параграфах для обозначения высказываний мы использовали буквы. Как и в алгебре действительных чисел, введем следующие определения.
Определение 9. Логической переменной называется переменная, значением которой может быть любое высказывание.
Логические переменные (далее «переменные») обозначаются латинскими буквами, иногда снабженными индексами, как обычные алгебраические переменные: и т. п.
Понятие логической формулы является формализацией понятия сложного высказывания. Введем его индуктивно. Определение 10. Логической формулой является: 1) любая логическая переменная, а также каждая из двух логических констант — 0 (ложь) и 1 (истина); 2) если А и В — формулы, то В и А*В — тоже формулы, где знак «*» означает любую из логических бинарных операций. Формулой является, например, следующее выражение: Каждой формуле при заданных значениях входящих в нее переменных приписывается одно из двух значений — 0 или 1.
Определение 11. Формулы А и В, зависящие от одного и того же набора переменных называют равносильными или эквивалентными, если на любом наборе значений переменных они имеют одинаковые значения.
Для обозначения равносильности формул используется знак равенства, например А В. В дальнейшем будет показано, что любую формулу можно преобразовать к равносильной ей, в которой используются только аксиоматически введенные операции и отрицание. Для преобразования формул в равносильные важную роль играют следующие равенства, отражающие свойства логических операций, которые по аналогии с алгеброй вещественных чисел будем называть законами:
1) законы коммутативности
2) законы ассоциативности
3) законы поглощения (нуля и единицы)
4) законы дистрибутивности
5) закон противоречия
6) закон исключенного третьего
7) законы идемпотентности
8) закон двойного отрицания
9) законы де Моргана
10) законы поглощения
Любой из этих законов может быть легко доказан с помощью таблиц истинности.
Пример 2.
Докажем первый закон де Моргана с использованием таблиц истинности. Построим таблицу истинности для левой и правой частей закона.
Так как результирующие столбцы совпали, то формулы, стоящие в левой и правой частях закона, равносильны. Любой из законов алгебры логики может быть доказан путем логических рассуждений.
Пример 3.
Докажем первый закон поглощения путем логических рассуждений. Для этого достаточно показать, что если правая часть истинна, то и левая часть истинна, и что если левая часть истинна, то и правая часть истинна.
Пусть истинна правая часть, т. е. тогда в левой части дизъюнкция истинна по определению дизъюнкции.
Пусть истинна левая часть. Тогда по определению дизъюнкции истинна или формула или формула или обе эти формулы одновременно.
Если ложна, тогда ложна, следовательно, х может быть только истинной. Еще одним способом вывода законов являются тождественные преобразования. Пример 9. Первый закон поглощения можно вывести при помощи законов поглощения единицы и дистрибутивности:
Методы решения логических задач Исходными данными в логических задачах являются высказывания. Эти высказывания и взаимосвязи между ними бывают так сложны, что разобраться в них без использования специальных методов достаточно трудно.
Многие логические задачи связаны с рассмотрением нескольких конечных множеств и связей между их элементами. Для решения таких задач зачастую прибегают к помощи таблиц или графов, при этом успешность решения во многом зависит от удачно выбранной структуры таблицы или графа. Аппарат же алгебры логики позволяет построить формальный универсальный способ решения логических задач.
Рассмотрим, как можно использовать данный способ для решения задач.
Пример 4.
Задача «Уроки логики». На вопрос, кто из трех учащихся изучал логику, был получен ответ: «Если изучал первый, то изучал и второй, но неверно, что если изучал третий, то изучал и второй». Кто из учащихся изучал логику?
Решение. Обозначим через высказывания, состоящие в том, что соответственно первый, второй, третий учащийся изучали логику. Из условия задачи следует истинность высказывания Воспользуемся соотношением и упростим исходное высказывание:
Высказывание ложно, а следовательно, ложно и высказывание . Поэтому должно быть истинным высказывание а.это означает, что логику изучал третий учащийся, а первый и второй не изучали. Для решения следующей задачи составим логическое выражение, удовлетворяющее всем условиям, затем заполним для него таблицу истинности. Анализ полученной таблицы истинности позволит получить требуемый результат.
Пример 5.
Задача «Кто виноват?» По обвинению в ограблении перед судом предстали Иванов, Петров, Сидоров. Следствием установлено: 1) если Иванов не виновен или Петров виновен, то Сидоров виновен; 2) если Иванов не виновен, то Сидоров не виновен. Виновен ли Иванов? Решение. Рассмотрим простые высказывания: А = , В = , С = . Запишем на языке алгебры логики факты, установленные следствием: Обозначим — единое логическое выражение для всех требований задачи. Оно истинно. Составим для него таблицу истинности:
Решить данную задачу — значит указать, при каких значениях А полученное сложное высказывание F истинно. Для этого необходимо проанализировать все строки таблицы истинности, где И если хотя бы в одном из таких случаев (Иванов не виновен), то у следствия недостаточно фактов для того, чтобы обвинить Иванова в преступлении. Анализ таблицы показывает, что высказывание истинно только в тех случаях, когда истинно, т. е. Иванов в ограблении виновен. Иногда, для того чтобы решить задачу, нет необходимости составлять единое логическое выражение, удовлетворяющее всем условиям задачи, достаточно построить таблицу истинности, отражающую каждое условие задачи, и проанализировать ее.
Присылайте задания в любое время дня и ночи в ➔
Официальный сайт Брильёновой Натальи Валерьевны преподавателя кафедры информатики и электроники Екатеринбургского государственного института.
Все авторские права на размещённые материалы сохранены за правообладателями этих материалов. Любое коммерческое и/или иное использование кроме предварительного ознакомления материалов сайта natalibrilenova.ru запрещено. Публикация и распространение размещённых материалов не преследует за собой коммерческой и/или любой другой выгоды.
Сайт предназначен для облегчения образовательного путешествия студентам очникам и заочникам по вопросам обучения . Наталья Брильёнова не предлагает и не оказывает товары и услуги.
Видео:Разбор задания с прошлого урока Упрощение логических выраженийСкачать
Учебное пособие: Дискретная математика
Название: Дискретная математика Раздел: Рефераты по математике Тип: учебное пособие Добавлен 02:09:02 30 апреля 2009 Похожие работы Просмотров: 5631 Комментариев: 20 Оценило: 4 человек Средний балл: 4.3 Оценка: неизвестно Скачать | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
№ | Обозначение операции | Другие обозначения | Набор истинных значений | Название логической опции и связки | Как читается | Арифметическая модель |
12 | АÚВ | Дизъюнкция, логическое сложение, «или» | А или В | A+B-A×B | ||
23 | АÙВ | Конъюнкция, логическое умножение «и» | А и В | A×B | ||
34 | А®В | Импликация, логическое следование | 1‑A+ A×B | |||
45 | А | Эквиваленция, эквивалентность | А тогда и только тогда, когда В; А эквивалентно В | 1 – (A-B) 2 | ||
56 | АÅВ | Сумма по модулю 2, сумма Жегалкина | А плюс В; Либо А, либо В | |||
67 | А½В | Штрих Шеффера, антиконъюнкция | Неверно, что А и В; А штрих Шеффера В | |||
78 | А¯В | Стрелка Пирса, антидизъюнкция, функция Вебба, функция Даггера | Ни А, ни В; А стрелка Пирса В |
Несмотря на то, что булевых функций от любого заданного числа m двоичных переменных конечное число, их слишком много, чтобы иметь запас преобразователей для любых встретившихся отображений. Рассмотрим сначала все возможные функции от одной двоичной переменной. Их четыре, две из них – константы (0 и 1), одна – тождественная функция и только одна – функция отрицания (функция НЕ) – является нетривиальной.
p | p |
0 | 1 |
1 | 0 |
Очевидно, что число различных булевых функций от m переменных равно 2 в степени . При m = 2 это число 16, то есть всего функций от двух переменных 16, однако наиболее практически применимых из них меньше.
Суперпозиция двоичных функций может быть записана как формула, которую называют логической формулой.
Логическая формула задает функцию от трех переменных как суперпозицию функций одной и двух переменных.
Для уменьшения числа скобок вводятся приоритеты операций. Наиболее приоритетна функция отрицания. Затем идет конъюнкция, после нее – дизъюнкция. Все другие функции имеют равный приоритет, меньший, чем у дизъюнкции. Очевидно, что скобками можно установить желаемый порядок операций. Вышеприведенная формула может быть эквивалентно записана так: . Отметим, что используют и другое распределение приоритетов, в частности, полагая импликацию менее приоритетной, чем все другие функции.
Логическая формула дает возможность построить соответствующий функциональный преобразователь, если мы имеем «элементарные» или «базисные» преобразователи. Для реализации преобразователя f примера выше необходимо иметь элементы, реализующие отрицание, дизъюнкцию, конъюнкцию и сложение по модулю два (см. рис. 1).
На этом рисунке представлен пример синтаксической структуры формулы – графическое представление формулы.
Рис. 1. Синтаксическая структура формулы
Очевидным образом по формуле можно построить табличное представление функции f .
p | q | r | ||||||
0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 |
0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 1 |
0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 1 |
0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 |
1 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 |
1 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 0 |
Суперпозицией нескольких простых булевых функций можно построить более сложную функцию, в частности, булеву функцию от большего числа переменных. Поставим вопрос: можно ли суперпозицией фиксированного набора функций представить любую булеву функцию от любого числа переменных? Удивительно, но ответ на этот вопрос положителен.
Штрих Шеффера является отрицанием конъюнкции, стрелка Пирса – отрицание дизъюнкции, сумма Жегалкина – отрицание эквивалентности.
М. Жегалкин (1869–1947) – российский математик и логик, один из основоположников современной математической логики.
Чарльз Пирс (1839–1914) – американский логик, математик и естествоиспытатель. Основоположник семиотики, родоначальник прагматизма.
Видео:Решение логических выражений. Таблицы истинности. [Алгебра логики] #2Скачать
3.3 Формулы алгебры логики
Из логических переменных можно составлять различные конструкции, которые образуют формулы алгебры логики.
Пусть – некоторое множество логических переменных. По индукции определим понятие формулы алгебры логики:
1) любая логическая переменная является формулой (атомарной);
2) если и – формулы, то выражения и другие, представленные в табл. 1, являются формулами;
3) никаких других формул, кроме построенных в пунктах 1 и 2, нет.
Если формула построена из логических переменных, лежащих в множестве <x 1 , x 2 ,…, xn >, то будем писать <x 1 , x 2 ,…, xn >.
Таблицы истинности также называются интерпретациями логических операций и составляют семантику формул (т. е. придание смысла формулам) в отличие от синтаксиса формул (т. е. формальных законов их построения, данных в определении формулы).
На множестве вводится транзитивное отношение N ).
Равносильными называются два высказывания, у которых таблицы истинности совпадают.
Пример. Составим таблицу истинности функции f=(A B )
():
A | B | AB | (AB) () | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
x1 | x2 | … | xn-1 | xn | F(x1, x2,… , xn-1, xn ) |
0 | 0 | … | 0 | 0 | F (0,0,…, 0,0) |
0 | 0 | … | 0 | 1 | F (0,0,…, 0,1) |
0 | 0 | … | 1 | 0 | F (0,0,…, 1,0) |
… | … | … | … | … | … |
1 | 1 | … | 1 | 1 | F (1,1,…, 1,1) |
Вектором значений булевой функции F ( x 1 ,…, xn ) называется упорядоченный набор всех значений функции F , при которых значения упорядочены по лексикографическому порядку множества аргументов n .
Поскольку всего имеется 2 n наборов нулей и единиц (| n |=2 n ), существует ровно булевых функций F ( x 1 ,…, xn ) от n переменных:
.
При n =2 количество функций равно 16, при n =3 – 256 и т. д. На рис. 3 представлены в упорядоченном виде наборы аргументов для ряда функций – отрицания 0, функций одного, двух и трёх аргументов.
Рис. 3. Упорядоченные наборы аргументов
Пусть F – двоичная функция от n переменных. Предположим, что F не равна тождественно нулю. Пусть T 1 , T 2 , …, Tk – все точки ее определения, в которых F =1. Можно доказать, что справедлива следующая формула:
,
где , j=1,2,…, k,
Построить функцию F можно и по-другому. Если функция F не равна тождественно единице и S 1 , S 2 ,…, Sm – все точки области ее определения, в которых F =0, то справедлива формула:
,
где , j =1,2,…, m .
Из приведенных формул видно, что любую двоичную функцию можно записать, используя лишь операции ¬, , .
Основная конъюнкция – это конъюнкция основных высказываний переменных или их отрицаний. Например, .
Основная дизъюнкция – это дизъюнкция основных высказываний переменных или их отрицаний. Например, .
Конъюнктивной нормальной формой (КНФ) данной формулы называется формула, равносильная данной и представленная в виде конъюнкции основных дизъюнкций. Например, ( A + B ) ( A + C + B ) ( D + A ) .
Дизъюнктивной нормальной формой (ДНФ) данной формулы называется формула, равносильная данной и представленная в виде дизъюнкции основных конъюнкций. Например, AB + C + AC .
Теорема 1. Для того чтобы формула алгебры высказываний была тождественно истинной, необходимо и достаточно, чтобы ее КНФ содержала в каждой элементарной дизъюнкции некоторое высказывание и его отрицание.
Теорема 2. Для того чтобы формула алгебры высказываний была тождественно ложной, необходимо и достаточно, чтобы ее ДНФ содержала в каждой элементарной конъюнкции некоторое высказывание и его отрицание.
Совершенные дизъюнктивные, конъюнктивные и полиномиальные нормальные формы представления переключательных (логических) функций. Многообразие формул, посредством которых может быть выражена любая логическая функция, определяет многообразие форм логических функций, т. е. способов их записи путем применения к переменным и их группам элементарных логических операций. Наиболее удобными для практического использования оказываются совершенные нормальные формы представления сложных логических функций. В алгебре логики доказывают, что любая логическая функция F ( A , B , C ,…, N ) может быть представлена только одной совершенной дизъюнктивной нормальной формой (кроме константы нуль) или только одной совершенной конъюнктивной нормальной формой (кроме константы единица).
Пусть функция X = F ( A , B , C ) задана таблицей 4. Запись функции Х в виде логической суммы (дизъюнкции) логических произведений (конъюнкций) переменных, для которых значение функции Х равно 1, и является совершенной дизъюнктивной нормальной формой (СДНФ) представления логической функции.
A | B | C | X |
0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 |
0 | 1 | 0 | 1 |
0 | 1 | 1 | 0 |
1 | 0 | 0 | 1 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 0 |
1 | 1 | 1 | 1 |
СДНФ логической функции следует находить в такой последовательности:
1) составить произведения переменных для строк таблицы истинности, в которых Х равна 1. Если значение переменной (А, В или С ) в строке равно 0, то в произведении записывается отрицание этой переменной;
2) написать сумму произведений, для которых функция Х равна 1. Полученная сумма и является СДНФ. В общем виде
, (1)
Это правило называют правилом записи переключательной функции по единицам. Согласно этому правилу, данные табл. 4 описываются аналитическим выражением, связывающим все наборы переменных, для которых Х =1, в виде:
. (2)
Запись функции Х в виде логического произведения (конъюнкции) логических сумм (дизъюнкций) переменных, для которых функция Х равна 0, является совершенной конъюнктивной нормальной формой (СКНФ) представления логической функции.
Для табл. 4 аналитическое выражение в СДНФ, связывающее все наборы переменных, для которых Х =0, имеет вид:
. (3)
Для представления логической функции Х в СКНФ произведем операцию отрицания левой и правой частей равенства (3)
и на основании законов двойного отрицания и инверсии
. (4)
СКНФ логической функции, согласно (4), следует находить в такой последовательности:
1) составить логические суммы переменных для строк таблицы истинности, в которых функция Х равна 0. Если значение переменной (А, В или С ) в строке равно 1, то в сумме записывается отрицание этой переменной;
2) написать логическое произведение составленных логических сумм. Полученное произведение и является СКНФ. В общем виде:
, (5)
где Fi – сложные дизъюнкции.
Это правило также называют правилом построения переключательной функции по нулям.
Кроме представления функций в виде СДНФ и СКНФ используют и совершенную полиномиальную нормальную форму СПНФ. Вместо дизъюнкции может быть записана функция сложения по модулю два (сумма Жегалкина):
, (6)
где Fi – сложные конъюнкции.
Существует специальная таблица, в которой все элементарные логические операции от двух аргументов представлены в двух совершенных нормальных формах.
Нормальные формы представления переключательной функции иногда называют стандартными (табл. 5).
Многочленом Жегалкина называется многочлен, являющийся суммой константы 0 или 1 и различных одночленов, в которые все переменные входят не выше, чем в первой степени.
Теорема. Любая функция булевой алгебры может быть представлена, и притом единственным образом, с помощью полинома Жегалкина вида
J =.
Представим, например, в виде полинома выражение вида X 1 X 2 . Для этого проведем следующие рассуждения.
X1 X2 = aX1 X2 +bX1 +cX2 +k,
где а, b , с, k – неопределенные коэффициенты.
X 1 X 2 = – X 1 X 2 + X 1 + X 2 .
СПНФ образуется путем замены в СДНФ: на + и на
1 х.
,
,
В последнем случае выражение для легко можно упростить, если раскрыть скобки и взаимно сократить все одинаковые слагаемые, входящие в формулу четное число раз:
.
Подобное упрощение, которое называется минимизацией логической функции, можно осуществить и по отношению к СДНФ и СКНФ.
y | |||
0 | 0 | 0 | 0 |
1 | 0 | 0 | 1 |
0 | 1 | 0 | 0 |
1 | 1 | 0 | 1 |
0 | 0 | 1 | 1 |
1 | 0 | 1 | 0 |
0 | 1 | 1 | 0 |
1 | 1 | 1 | 1 |
Применение законов алгебры логики позволяет найти более компактные аналитические выражения для заданной функции у , т. е. минимальную дизъюнктивную нормальную форму . Приведем соответствующие формы представления функции у , заданной табл. 6:
,
и для СКНФ, т. е. минимальную КНФ:
.
После того, как найдены минимальные нормальные формы (МНФ), их рекомендуется проверить на всех наборах аргументов . Переменные или часто называют термами. Именно полный набор из n термов образует конституенту. В процессе же минимизации некоторые термы из конституент пропадут. Тогда оставшуюся часть дизъюнкта или конъюнкта называют импликантой.
Как мы только что убедились на примере, импликанты появляются в результате склейки смежных конституент, различающихся одним термом.
Контрольные вопросы и упражнения
2. Что такое вектор значений булевой функции? Приведите пример построения таблицы истинности логической функции многих переменных.
3. Сколько существует булевых функций от n переменных?
4. Что такое ДНФ и КНФ?
5. Каков алгоритм построения СДНФ? Приведите пример построения СДНФ.
6. Каков алгоритм построения СКНФ? Приведите пример построения СКНФ.
7. Составьте СКНФ и СДНФ для функции .
8. Приведите пример построения СПНФ.
Видео:ЗАКОНЫ АЛГЕБРЫ ЛОГИКИСкачать
3.7 Некоторые замкнутые классы (классы Поста). Понятие базиса
Система булевых функций <f 1 , f 2 ,…, fm > называется полной, если любая булева функция может быть выражена через функции f 1 , f 2 ,…, fm с помощью суперпозиций.
а) переименованием некоторой переменной xj какой-нибудь функции fi ;
б) подстановкой некоторой функции вместо какой-либо переменной xj любой из функций .
Суперпозиции ранга 1 образуют класс функций К 1 . Класс функций, получающийся из функций класса K s -1 суперпозицией ранга s ‑1 с помощью элементарных суперпозиций, называется классом функций K s суперпозиций ранга s . Суперпозициями функций из К 0 называются функции, входящие в какой-то из классов K s .
Согласно введенным определениям, можно говорить, что система булевых функций полна. Тогда любую булеву функцию можно представить в виде многочлена от своих переменных.
В современном компьютере цифрами являются ноль и единица. Следовательно, команды, которые выполняет процессор, суть булевы функции. Мы уже видели, что любая булева функция реализуется через конъюнкцию, дизъюнкцию и отрицание. Следовательно, можно построить нужный процессор, имея в распоряжении элементы, реализующие . Далее рассмотрим вопрос: существуют ли (и если существуют, то какие) другие системы булевых функций, обладающие тем свойством, что с их помощью можно выразить все другие функции. Рассмотрим некоторые замкнутые классы (классы Поста), их пять.
1. Класс функций, сохраняющих константу нуль (обозначается T0 или P0 ):
К этому классу относятся, например, функции ; ; ; .
2. Класс функций, сохраняющих константу единица (обозначается T1 или P1 ):
К нему относятся все нечетные функции.
3. Класс самодвойственных функций (обозначается T* или S):
Пример и .
Функция называется двойственной по отношению к функции , если . Двойственная функция получается из исходной при замене значений всех переменных, а также значений функции на противоположные, т. е. в таблице истинности нужно заменить 0 на 1, 1 на 0.
Пример. Двойственной к функции является функция, соответствующая формуле , т. е. или : . Аналогично , .
Если ,
то .
Таким образом, функция, двойственная суперпозиции функций, есть соответствующая суперпозиция двойственных функций.
Этот принцип удобен при нахождении двойственных функций, представленных формулами, содержащими лишь конъюнкции, дизъюнкции и отрицание. В этом случае в исходной формуле конъюнкции заменяются на дизъюнкции, а дизъюнкции – на конъюнкции. Таким образом, ДНФ соответствует КНФ, КНФ – ДНФ, СДНФ – СКНФ, СКНФ – СДНФ.
Пример. ,
если , то и .
Функция называется самодвойственной, если .
Пример. Покажем, что формула задает самодвойственную функцию.
Убедимся, что на всех противоположных наборах значений переменных и формула принимает противоположные значения. Действительно, составим таблицу истинности:
x | y | z | |
0 | 0 | 0 | 0 |
0 | 0 | 0 | 1 |
0 | 0 | 1 | 0 |
1 | 0 | 1 | 1 |
0 | 1 | 0 | 0 |
1 | 1 | 0 | 1 |
1 | 1 | 1 | 0 |
1 | 1 | 1 | 1 |
Получаем , , , .
4. Класс монотонных функций (обозначается TM или M):
, где , , , .
5. Класс линейных функций (обозначается TL или L):
.
Эквивалентность является линейной функцией . Стрелка Пирса – нет, .
, , ,…, ,
, ,…, . (7)
Таким образом, проверка линейности сводится к нахождению коэффициентов по формулам (7) и сопоставлению таблиц истинности данной формулы и полученной формулы .
Пример. Проверим, является ли линейной функция . Имеем , , . Таким образом, . Сопоставляя таблицы истинности формул и , убеждаемся, что они не совпадают. Вывод: функция нелинейна.
Линейность функции можно также определить с помощью следующей теоремы.
Теорема Жегалкина. Всякая булева функция представима полиномом Жегалкина, т. е. в виде , где в каждом наборе (i 1 ,…, ik ) все ij различны, а суммирование ведется по некоторому множеству таких несовпадающих наборов. Представление булевой функции в виде полинома Жегалкина единственно с точностью до порядка слагаемых.
Полином Жегалкина называется нелинейным (линейным), если он (не) содержит произведения переменных.
Таким образом, линейность булевой функции равносильна линейности соответствующего полинома Жегалкина.
Для получения полинома Жегалкина булевой функции, находящейся в СДНФ, используются аксиомы булевой алгебры, аксиомы булева кольца и равенства, выражающие операции через операции этого булева кольца: и т. д.
Пример. Определим линейность функции .
Полученный полином Жегалкина является нелинейным, и, следовательно, функция f также нелинейна.
Заметим, что если в эквивалентности формулы являются различными конституентами единицы, то их произведение равно 0, и тогда . Следовательно, для получения полинома Жегалкина из СДНФ можно сразу заменить .
Отметим, что каждый класс Поста замкнут относительно операций замены переменных и суперпозиции, т. е. с помощью этих операций из функций, принадлежащих данному классу, можно получить только функции из этого же класса.
Пример. Определим, к каким классам Поста относится булева функция .
Так как f (0,0)=1, а f (1,1)=0, то и . Поскольку , то . Так как f (0,0)>f (1,1), то . Полином Жегалкина для функции имеет вид в силу равенства . Поэтому данная функция нелинейна. Таким образом, можно составить следующую таблицу
Функция | Классы | ||||
Р0 | Р1 | S | М | L | |
х | у | Нет | Нет | Нет | Нет | Нет |
Теорема Поста. Система F булевых функций тогда и только тогда является полной, когда для каждого из классов P 0 , P 1 , S , M , L в системе F найдется функция, не принадлежащая этому классу.
В силу теоремы Поста функция х | у образует полную систему, т. е. с помощью штриха Шеффера можно получить любую булеву функцию. В частности, .
Система булевых функций называется базисом , если она полна, а удаление любой функции из этой системы делает ее неполной.
Теорема. Каждый базис содержит, не более четырех булевых функций.
Доказательство. Предположим, что существует базис F , состоящий более чем из четырех функций. По теореме Поста тогда получаем, что F состоит ровно из пяти функций, каждая из которых не принадлежит ровно одному классу Поста. Пусть f – функция из F , не принадлежащая классу Р0 . Тогда, с одной стороны, f (0,0,…, 0) =1, а, с другой – из следует, что f (1,1,…, 1) =1. Это означает, что f не является самодвойственной функцией, что противоречит предположению.
Пример. Следующие системы булевых функций являются базисами: .
Обоснование | Базис |
– конъюнктивный базис | |
– дизъюнктивный базис | |
; | <И, , 1> – базис Жегалкина |
– базис Шеффера | |
<> – базис Пирса |
Конъюнкции, то есть все функции вида , тоже составляют замкнутый класс. Очевидно, однако, что, например, функцию, которая на наборе (0,0,…, 0) имеет значение 1, нельзя представить суперпозицией таких функций. Таким образом, не является базисом, следовательно, конъюнктивный базис является минимальным.
Рассмотрим более подробно базис Жегалкина.
Алгебра Жегалкина и линейные функции
Алгебра Жегалкина – это алгебра над множеством двух бинарных булевых функций (И, ) и нульарной функции 1. Легко проверить следующие соотношения в этой алгебре:
;
;
;
.
Если в произвольной формуле, включающей только функции базиса Жегалкина, раскрыть скобки, то получим бесскобочную формулу, имеющую вид суммы (по модулю два) произведений, то есть некоторый полином. Он называется полиномом Жегалкина.
Широкий набор базисов открывает большие возможности при решении задач минимизации схем устройств дискретного действия, поскольку из базисных схем с помощью суперпозиций можно составить схему, соответствующую любой булевой функции.
Контрольные вопросы и упражнения
1. Дайте определение полной системе булевых функций.
2. Перечислите классы Поста.
3. Дайте определение двойственной функции. Приведите примеры.
4. Дайте определение самодвойственной функции. Приведите примеры.
5. Постройте полином Жегалкина для функции «стрелка Пирса».
6. Сформулируйте теорему Поста.
7. Что такое базис? Приведите примеры базисов.
Видео:Решить систему логических уравнений. Метод декомпозицииСкачать
3.8 Методы минимизации логических функций
Наиболее употребляемая операция при минимизации функций – это операция склеивания.
Рассмотрим три наиболее распространенных метода минимизации.
1. Пусть будут заданы номера наборов четырех переменных, на которых логическая функция принимает единичное значение: f (2,5,6,7,10,12,13,14) =1.
Выразим эту логическую функцию в СДНФ (символ конъюнкции писать не будем):
f (0010,0101, 0110, 0111, 1010, 1100, 1101, 1110) =
.
На первом этапе минимизации исходную СДНФ можно упростить за счет использования закона склеивания, тогда получим:
.
Обращаем внимание на то, что одну и ту же конституенту (импликанту) можно склеивать с другими конституентами (импликантами) многократно, так как в логике Буля действует закон идемпотентности:
,
поэтому любую конституенту можно размножить.
На втором этапе воспользуемся таблицей Куайна (табл. 8), в соответствии с которой данный метод минимизации получил свое наименование – метод Куайна. В таблице по вертикали перечислены все полученные на первом этапе упрощения импликанты, а по горизонтали – исходные конституенты. Единица в табл. 8 стоит там, где импликанта «накрывает» конституенту. Дело в том, что конституента всегда может быть заменена импликантой или даже отдельным термом по закону поглощения:
0010 | 0101 | 0110 | 0111 | 1010 | 1100 | 1101 | 1110 | |
– – 1 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 1 |
01–1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 |
01 1 – | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 |
– 1 0 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 |
1 1 0 – | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |
11–0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
После заполнения таблицы Куайна у нас получилось так, что почти в каждой графе оказалось по две единицы; между тем достаточно иметь одну единицу в графе. Поэтому, по возможности, нужно исключить избыточные единицы. Выбор единиц производится из соображений минимальности числа термов (выбранные единицы затемнены). В итоге оказалось, что можно обойтись только тремя импликантами вместо шести:
.
С помощью таблиц истинности легко проверить, что полученная в МНФ функция воспроизводит все значения исходной функции. Отметим, что в общем случае решений по критерию минимума термов может быть несколько.
2. Не менее эффективным способом минимизации логических функций является метод сочетания индексов. Для его изложения составим табл. 9, в графах которой записаны возможные сочетания индексов. В последней графе выписаны значения функции. Анализ таблицы начинается слева по столбцам. Принцип исключения i , j ‑кода следующий. На пересечении i ‑столбца, например, с сочетанием индексов 23, и j ‑строки, например, 3‑ей, находится код 10, что соответствует импликанте . Следовательно, в этом столбце везде, где встречается код 10, т. е. в строках 2, 3, 10 и 11, эти коды исключаются, поскольку значение функции в 3‑ей строке равно нулю. Теперь возьмем столбец с сочетанием индексов 124. Здесь во 2‑ой и 6‑ой строках оставлены коды 010, а в 10‑ой и 14‑ой строках – код 011. Сделано это потому, что эти коды встречаются только на строках со значением функции, равным единице. Напротив, код 110 этого же столбца встречается как при единичных значениях функции, так и при нулевых.
n | 1 | 2 | 3 | 4 | 12 | 13 | 14 | 23 | 24 | 34 | 123 | 124 | 134 | 234 | 1234 | y |
0 | 0 | 0 | 0 | 0 | 00 | 00 | 00 | 00 | 00 | 00 | 000 | 000 | 000 | 000 | 0000 | 0 |
1 | 1 | 0 | 0 | 0 | 10 | 10 | 10 | 00 | 00 | 00 | 100 | 100 | 100 | 000 | 1000 | 0 |
2 | 0 | 1 | 0 | 0 | 01 | 00 | 00 | 10 | 10 | 00 | 010 | 010 | 000 | 100 | 0100 | 1 |
3 | 1 | 1 | 0 | 0 | 11 | 10 | 10 | 10 | 10 | 00 | 110 | 110 | 100 | 100 | 1100 | 0 |
4 | 0 | 0 | 1 | 0 | 00 | 01 | 00 | 01 | 00 | 10 | 001 | 000 | 010 | 010 | 0010 | 0 |
5 | 1 | 0 | 1 | 0 | 10 | 11 | 10 | 01 | 00 | 10 | 101 | 100 | 110 | 010 | 1010 | 1 |
6 | 0 | 1 | 1 | 0 | 01 | 01 | 00 | 11 | 10 | 10 | 011 | 010 | 010 | 110 | 0110 | 1 |
7 | 1 | 1 | 1 | 0 | 11 | 11 | 10 | 11 | 10 | 10 | 111 | 110 | 110 | 110 | 1110 | 1 |
8 | 0 | 0 | 0 | 1 | 00 | 00 | 01 | 00 | 01 | 01 | 000 | 001 | 001 | 001 | 0001 | 0 |
9 | 1 | 0 | 0 | 1 | 10 | 10 | 11 | 00 | 01 | 01 | 100 | 101 | 101 | 001 | 1001 | 0 |
10 | 0 | 1 | 0 | 1 | 01 | 00 | 01 | 10 | 11 | 01 | 010 | 011 | 001 | 101 | 0101 | 1 |
11 | 1 | 1 | 0 | 1 | 11 | 10 | 11 | 10 | 11 | 01 | 110 | 111 | 101 | 101 | 1101 | 0 |
12 | 0 | 0 | 1 | 1 | 00 | 01 | 01 | 01 | 01 | 11 | 001 | 001 | 011 | 011 | 0011 | 1 |
13 | 1 | 0 | 1 | 1 | 10 | 11 | 11 | 01 | 01 | 11 | 101 | 101 | 111 | 011 | 1011 | 1 |
14 | 0 | 1 | 1 | 1 | 01 | 01 | 01 | 11 | 11 | 11 | 011 | 011 | 011 | 111 | 0111 | 1 |
15 | 1 | 1 | 1 | 1 | 11 | 11 | 11 | 11 | 11 | 11 | 111 | 111 | 111 | 111 | 1111 | 0 |
Итак, все коды на строках, заканчивающихся нулевыми значениями функции, исключаются автоматически. Если эти коды попадают на строки, заканчивающиеся единичным значением функции, то они также не учитываются. Остаются только те коды, которые расположены на строках с единичным значением функции (эти коды затемнены).
Далее руководствуются следующим правилом. Для того чтобы функция приняла значение, равное единице, достаточно того, чтобы только какая-нибудь одна импликанта на строке приняла единичное значение. Прежде всего, оставляем минимальную импликанту , которая перекрывает единицы в строках 2, 6, 10 и 14. Затем, естественно, обращаемся к 12‑ой строке. Здесь оставляем единственный на строке код 011, что отвечает импликанте . Эта же импликанта ответственна за 13‑ую строку, оканчивающуюся тоже единицей. Осталось рассмотреть 5‑ую и 7‑ую строки. Общей для них является импликанта: . Таким образом, тремя импликантами мы перекрыли все единичные значения функции, что совпадает с результатом, полученным на основе таблиц Куайна.
3. Существует графический способ склеивания, который получил название метод карты Карно (представлен в табл. 10). Выделяем смежные единицы, это и будут слагаемые нашей функции.
– получили два слагаемых
Хотя табл. 9 более громоздка, чем табл. 8, метод сочетания индексов не считается более сложным, чем метод Куайна, если помнить, что до составления таблиц Куайна необходимо произвести многочисленные склейки конституент и импликант. Реализация на компьютере алгоритма метода сочетания индексов оказывается сравнительно простой. И напротив, внешняя простота и наглядность третьего метода минимизации логических функций с помощью карт Карно оборачивается сложной программой при реализации алгоритма на компьютере.
1100 | 1110 | 0110 | 0100 | ||
1101 | 1111 | 0111 | 0101 | ||
1001 | 1011 | 0011 | 0001 | ||
1000 | 1010 | 0010 | 0000 | ||
Карта Карно для четырех переменных представлена в виде табл. 11. Каждая клетка карты соответствует конституенте. Заполненная карта представлена табл. 12 (функция взята та же, что и в первых двух методах). Согласно закону склеивания, две смежные конституенты с единичными значениями всегда можно объединить для получения соответствующей импликанты. Причем смежными считаются и те, которые лежат на границах карты. Какие именно единицы требуется объединить для получения подходящей импликанты, легко определить визуально. Следует также помнить, что в соответствии с законом идемпотентности одна и та же единица табл. 12 может склеиваться с двумя или тремя смежными единицами.
Контрольные вопросы
1. Перечислите основные методы минимизации функций.
2. Расскажите о методе Куайна.
3. Расскажите о методе карт Карно.
3.9 Неполностью определенные логические функции
Ранее мы рассматривали ситуации, когда на множество аргументов или логических переменных x 1 , x 2 ,…, xn не накладывались ограничения, или, что то же самое, функции были определены на всем наборе аргументов. Однако реально на практике функции либо не определены полностью, либо есть запрещенные комбинации. Необходимо доопределить функцию таким образом, чтобы аналитическая форма ее представления была минимальной, далее производят склейки (пример приведён в табл. 13).
.
* – эти значения доопределили сами, исходя того, чтобы выражение для функции F было минимальным.
3.10 Формы представления булевых функций
К настоящему времени мы знакомы с двумя формами представления булевых функций: таблица истинности и формула (аналитическая запись). Рассмотрим еще две формы представления таких функций.
3.10.1 Семантические деревья
Семантическое дерево – это двоичное дерево, корень которого помечен двоичной функцией от m переменных, из каждого узла идут по два ребра, соответствующих двум значениям очередной переменной, а 2 m листьев помечены соответствующими значениями функции.
3.10.2 Бинарные диаграммы решений (БДР )
Бинарная диаграмма решений (BinaryDecisionDiagrams, BDD) – это граф, являющийся модификацией семантического дерева. В БДР узлы с одним и тем же значением функции объединены. Если на каждом уровне БДР все вершины имеют одну и ту же метку (одинаковые переменные), то такая БДР называется упорядоченной (в англоязычной литературе такое представление называется OrdinaryBinaryDecisionDiagrams, или сокращенно OBDD). Будем называть такое представление УБДР. Вершины УБДР расположены по уровням, каждому уровню соответствует одна переменная, которая помечает вершины, находящиеся на этом уровне. Из каждой вершины выходят два ребра: одно соответствует нулевому значению соответствующей переменной (будем его изображать штриховой линией), а другое – единичному значению этой переменной (оно изображается сплошной линией).
На рис. 4 показаны все четыре формы представления функции .
Бинарные диаграммы решений используются как компактная форма представления булевой функции. Такое представление полезно во многих случаях, например, когда нужно многократно вычислять значения функции при различных наборах значений ее аргументов. Для того чтобы получить значение функции f , например, на языке С, вместо хранения громоздкой таблицы истинности можно вычислить оператор: f = q ? ( r ? 0:1): (р? 0:1) , который построен на основании БДР (см. рис. 4). В этом примере использование УБДР позволяет вычислить значение булевой функции, выполнив всего две операции, в то время как при ее вычислении по аналитическому представлению требуется не менее 5 операций.
Рис. 4. Четыре формы представления двоичной функции
f (p, q, r) | Таблица истинности | Семантическое дерево | Бинарная диаграмма решений | |||||||||||||||||||||||||||||||||||
|
Сложность представления функции с помощью УБДР существенно зависит от порядка переменных. Так, например, УБДР для иного порядка переменных, чем на рис. 4, содержит четыре вершины, а не три (рис. 5). Интересной проблемой теоретической информатики является нахождение алгоритма, дающего оптимальный порядок переменных булевой функции с точки зрения представления этой функции упорядоченной БДР.
Рис. 5. УБДР для функции с порядком переменных [p , q , r ]
3.11 Построение логических схем
При синтезе логических схем применяют элементы с одним и несколькими входами. Условия функционирования таких элементов определяются переключательными функциями одной или нескольких переменных.
Входные и выходные сигналы логических схем зависят от времени (одни из них в некоторый момент времени равны 1, в другие моменты времени 0). Логические функции, описывающие работу таких схем, называют переменными . Используют также схемы, для которых во все моменты времени сигналы равны либо 1, либо 0. Логические функции, описывающие работу этих схем, называют постоянными .
Существует только четыре различные переключательные функции одной переменной. Как видно из таблицы 14, только две функции не зависят от переменной А (в этих случаях переменная А фиктивна).
Х | А | Условное обозначение | Название функции |
0 1 | |||