
- •Определение булевой функции
- •Способы задания булевых функций
- •Формулы. Реализация функций формулами
- •Принцип двойственности
- •Разложение булевых функций по переменным. Совершенные
- •Полнота и замкнутость. Примеры функционально полных систем
- •Представление булевых функций полиномом Жегалкина
- •Класс функций, сохраняющий константу 0
- •Класс функций, сохраняющий константу 1
- •Класс самодвойственных функций
- •Класс линейных функций
- •Теорема Поста о полноте
- •Понятие днф. Проблема минимизации булевых функций
- •Геометрическая интерпретация задачи минимизации булевых функций
- •Определение тупиковой днф
- •Построение тупиковых днф методом упрощения совершенной днф
- •Определение сокращенной днф и геометрический метод ее построения
- •19.Минимизация булевых функций на основе построения тупиковых д. Н. Ф.
- •20. Минимизация булевых функций методом карт Карно.
- •21.Минимизация булевых функций методом Квайна-Мак-Класски
- •24. Элементарные методы синтеза схем из функциональных элементов. Метод синтеза, основанный на совершенной д. Н. Ф.
- •25. Элементарные методы синтеза схем из функциональных элементов. Метод синтеза, основанный на более компактной реализации множества всех конъюнкций .
- •26.Элементарные методы синтеза схем из функциональных элементов. Метод синтеза, основанный на разложении функции по переменной .
- •27 Синтез схем дешифратора
- •29. Определение и способы задания конечного автомата
- •Способы задания конечного автомата
- •30. Задача анализа и синтеза автоматов
- •31.Элементарные автоматы
- •32. Задача о полноте автоматного базиса
- •Канонический метод синтеза автомата.(?)
- •34.Словарные операторы. Примеры.
- •35. Словарный оператор, реализуемый автоматом. Ограниченно-детерминированный словарный оператор.
- •36. Минимизация автомата
- •37. Понятие формального языка
- •Регулярные языки и грамматики
- •38. Автоматы Мили и Мура. Распознавание множеств автоматами. Теорема анализа для автомата.
- •Понятие алгоритма. Машины Тьюринга и операции над ними. Функции, вычислимые на машинах Тьюринга.
- •40. Формальное определение алгоритма. Представление об алгоритмически неразрешимых проблемах.
- •2. Представление об алгоритмически неразрешимых проблемах
1
Определение булевой функции
Булевы
функции составляют один из классов
функциональных систем, на основе которых
описывают работу дискретных
преобразователей. К другим классам
функциональных систем относятся функции
-значной
логики, автоматные функции и вычисляемые
функции. С каждым из этих классов
связывают операции, позволяющие из
одних функций данного класса строить
другие функции этого же класса. Такими
операциями являются: операция суперпозиции,
операция обратной связи, операция
примитивной рекурсии и
-операция.
В результате получаем функциональные
системы с операциями, то есть некоторые
классы алгебр. Роль теории функциональных
систем в дискретной математике можно
сравнить с ролью математического анализа
в непрерывной математике.
Булевой
функцией
переменных называют функцию
,
у которой все переменные и сама функция
принимают только два значения. Эти
функции называют также логическими
функциями,
функциями
алгебры логики
или переключательными
функциями. Два
возможных значения функции и ее аргументов
обозначают по-разному: И (истина), Л
(ложь); 0, 1; да, нет. В дальнейшем будем
использовать 0 и 1.
Математическая логика, как самостоятельная область науки, сформировалась в середине XIX века, прежде всего благодаря работам ирландского математикам из г. Корке Джорджа Буля (отца писательницы Э.Л. Войнич, автора известного романа «Овод»). Первая работа Буля по логике – «Математический анализ логики» вышла в 1847 г. В 1854 г. вышел основной труд Буля – «Исследование законов мысли». Первые применения алгебры логики связаны с решением следующей задачи: выяснить, истинно или ложно сложное высказывание, если известна истинность или ложность составляющих высказываний.
Сложные высказывания образуются из исходных простых при помощи ограниченного набора логических операций (связок).
Будем
обозначать простые высказывания буквами
.
Из них можно составить новые высказывания,
например:
«
и
»,
обозначается
;
«
или
»,
обозначается
;
«не
»,
обозначается
;
«если
,
то
,
обозначается
.
Пусть
буквами
обозначены такие высказывания:
– «числовой ряд сходится»;
– «все члены ряда положительны»;
– «общий
член ряда стремится к нулю».
Образуем некоторые составные высказывания:
– «если
числовой ряд сходится, то его общий член
стремится к нулю»;
– «члены
ряда положительны и общий член ряда
стремится к нулю;
– «если
общий член ряда не стремится к нулю, то
ряд расходится».
С
помощью логических связок можно
образовать довольно сложные высказывания,
например,
,
относительно которых возникает вопрос
их истинности или ложности. Таким
образом, каждому высказыванию соответствует
булева функция.
Дадим
более строгое определение булевой
функции. Обозначим через
– булево множество, которое задает
область значений функции. Областью
определения функции
является совокупность всех выборок
,
где
,
,
то есть декартово произведение
.
Таким образом, булевой функцией от
переменных называется отображение
.
(1)
В
30-х годах XX
века булеву алгебру стали использовать
для анализа структуры релейных схем
(советский ученый В.И. Шестаков и
американский математик и инженер Клод
Шеннон). С развитием вычислительной
техники булеву алгебру стали применять
в качестве математического аппарата
для описания работы дискретных устройств
переработки информации. Такое устройство
можно представить в виде «черного ящика»
с входами и выходами (рис. 1).
… …
В процессе работы такого устройства каждый вход и каждый выход может находиться в одном из двух состояний: высокий или низкий уровень напряжения, намагниченность той или иной полярности, одно из двух положений переключателя и т.д. Не вдаваясь в подробности конкретной реализации устройства, говорят, что на входы поступает комбинация нулей и единиц и устройство преобразует ее в некоторую комбинацию нулей и единиц на выходе. При помощи двоичных слов информация (буквы, цифры, знаки препинания, служебные знаки) кодируется и поступает на вход устройства, которое производит обработку и на выходе появляется двоичное слово, которое затем можно снова перевести в естественную форму. Каждый выход дискретного преобразователя представляет собой булеву функцию.