«Где начало того конца, которым оканчивается начало» Авторы: Машков Никита Абросимова Анастасия Логические функции Логическая функция — это функция логических переменных, которая может принимать только два значения: 0 или 1. В свою очередь, сама логическая переменная (аргумент логической функции) тоже может принимать только два значения: 0 или 1. Логический элемент — это устройство, реализующее ту или иную логическую функцию. Y=f(X1,X2,X3,...,Xn) — логическая функция, она может быть задана таблицей, которая называется таблицей истинности. Функции одной переменной Х 0 1 аргумент F0 0 0 константа 0 F1 0 1 Х F2 1 0 Не Х F3 1 1 константа 1 Функции двух переменных Таблица истинности функции двух переменных Y=F(X1,Х2) содержит 4 строки, а число функций двух переменных равно 16. Рассмотрим все эти функции двух переменных. Функции двух переменных X1 X2 F0 F1 F2 F3 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 1 1 0 1 0 1 F4 F5 F6 0 0 0 1 1 1 0 0 1 0 1 0 аргумент аргумент Константа 0 Конъюнкция Запрет по Х1 Повторение X1 Запрет по Х2 Повторение X2 Сложение по модулю 2 Функции двух переменных F7 F8 F9 F10 F11 0 1 1 1 1 1 0 0 0 0 1 0 0 1 1 1 0 1 0 1 F12 F13 1 1 1 1 0 0 0 1 F14 F15 1 1 1 1 1 1 0 1 Дизъюнкция Стрелка Пирса Эквивалентность Не Х2 Импликация x2-> x1 Не Х1 Импликация x1-> x2 Штрих Шеффера Константа 1 Таблица истинности функции Таблица истинности любой функции имеет вид: где Yi принимают значения 0 или 1 Каждый элемент конъюнкции это дизъюнкция переменных Xi, если Xi = 1 в соответствующей строке или их отрицание, если Xi = 0 в соответствующей строке. Очевидно, что данный элемент конъюнкции равен 1 только для этой строки и 0 для всех остальных. ТЕОРЕМА 1 Любая функция двух переменных может быть представлена в виде комбинации функций И, ИЛИ, НЕ. Доказательство Таблица истинности любой функции имеет вид: где Y0, Y1, Y2, Y3 принимают значения 0 или 1. Составим конъюнкцию (ИЛИ) из всех строк, где Yi равно 1. Каждый элемент конъюнкции это дизъюнкция (И) переменных, если Xi = 1 в соответствующей строке или их отрицание, если Xi = 0 в соответствующей строке. Очевидно, что данный элемент конъюнкции равен 1 только для этой строки и 0 для всех остальных. Тогда, конъюнкция будет равна 1 только для Yi = 1 и 0 во всех остальных случаях. То есть данная конъюнкция будет равна исходной функции. Таким образом, исходная функция представляется через И,ИЛИ,НЕ. Представление функций через И-ИЛИ-НЕ 1. Штрих Шеффера X1 V X2 Представление функций через И-ИЛИ-НЕ 2. Стрелка Пирса X1X2 Представление функций через И-ИЛИ-НЕ 3. Эквивалентность X1X2 V X1X2 Представление функций через И-ИЛИ-НЕ 4. Импликация X1 V X2 Карты Карно Минимизация функций • Склейку клеток карты Карно можно осуществлять по единицам • Склеивать можно только прямоугольные области, содержащие только единицы • С точки зрения минимальности число областей должно быть как можно меньше. ТЕОРЕМА 2 Для того, чтобы набор функций был базовым, то есть представлял все другие функции, достаточно чтобы через этот набор можно было представить функции И, ИЛИ, НЕ. Доказательство Любая функция представима через И, ИЛИ, НЕ. Заменим в этом представлении данные функции их эквивалентом через другой базовый набор. Тогда исходная функция представляется через данный базовый набор, что и требовалось доказать. ТЕОРЕМА 3 Через функцию штрих Шеффера Y = X1|X2 = (X1X2) можно представить любую другую логическую функцию. Доказательство Чтобы функция штрих Шеффера была базовой достаточно представить через неё функции И, ИЛИ, НЕ. Отрицание Х1 =(Х11) = Х1|1 Конъюнкция Х1 Х2 = ((Х1 Х2)) = (X1|X2) = (X1|X2)|1 Дизъюнкция Х1Х2 = (Х1Х2) = Х1|Х2 = (Х1|1)|(Х2|1) Теорема доказана. Другие базовые функции Представление логических стрелку Пирса (Теорема 4) функций через Через функцию стрелка Пирса Y = X1X2 = (X1X2) можно представить любую другую логическую функцию. Представление логических импликацию(Теорема 5) функций через Через функцию импликация Y = X1X2 = X1X2 можно представить любую другую логическую функцию. Выводы • • • Логические функции являются математической основой современных вычислительных устройств. Для реализации логических функций в вычислительных устройствах важно унифицировать и минимизировать их представление. Любая логическая функция может быть представлена как комбинация базовых логических функций И, ИЛИ, НЕ. Для минимизации представления произвольных логических функций двух переменных можно использовать карты Карно. Приведены минимальные представления всех логических функций двух переменных через базовые функции И, ИЛИ, НЕ. Выводы • • • • Приведено доказательство, что любые логические функции можно представить через функцию штрих Шеффера. Приведено доказательство, что любые логические функции можно представить через функцию стрелка Пирса. Приведено доказательство, что любые логические функции можно представить через функцию импликация. Работа может применяться как учебное пособие при изучении темы «Основы математической логики», так и как самостоятельный материал на элективных курсах и кружках.