Международный научный журнал «ВЕСТНИК НАУКИ» № 6 (75) Том 2. ИЮНЬ 2024 г. УДК 004.021
Андулько Д.С.
студент
Орловский государственный университет им. И.С. Тургенева
(г. Орёл, Россия)
АЛГОРИТМ ФОРМИРОВАНИЯ ФУНКЦИЙ АЛГЕБРЫ ЛОГИКИ ИЗ ТАБЛИЦЫ ИСТИННОСТИ
Аннотация: в статье рассмотрены особенности алгоритма формирования функций алгебры логики из таблицы истинности.
Ключевые слова: алгоритм, алгебра логики, таблица истинности, СКНФ, СДНФ.
ВВЕДЕНИЕ.
С развитием технологий в середине XX века алгебра логики начала активно применяться в разработке устройств вычислительной техники, таких как микроконтроллеры, микропроцессоры и микросхемы памяти, которые составляют основы для более сложных электронных схем. Без этих устройств невозможно представить работу и быт современного человека, так как данные схемы применяются во всех электронных устройствах: от гирлянды для ёлки до персонального компьютера.
Так как программное обеспечение очень сильно связано с техникой, на которой исполняется, то нет никаких сомнений, что алгебра логики является крайне важной частью разработки программ.
В языках программирования логические операции играют важную роль в операторах ветвления. Например, без условных операторов сложно представить программу на любом языке программирования. На условных операторах также работают запросы в базах данных, которые упрощают поиск в больших массивах информации.
За развитием информационных технологий и техники следуют и изменения в образовании: в современных учебниках информатики для общеобразовательных учреждений изучаются элементы алгебры логики с целью объяснить работу логических устройств и вычислительных систем, а также принципов программирования. Для понимания данных принципов будет полезно знать алгоритм формирования функций алгебры логики из таблицы истинности, который будет описан в данной статье.
СОВЕРШЕННЫЕ НОРМАЛЬНЫЕ ФОРМЫ.
Важнейшими формами записи в теории функций алгебры логики являются конъюнктивная (КНФ) и дизъюнктивная нормальная формы (ДНФ). Они предназначены для единообразия написания функции (в КНФ и ДНФ используются только 3 операции: конъюнкция, дизъюнкция и логическое отрицание).
Чтобы определить КНФ и ДНФ нужно разобраться, что такое простые дизъюнкции и простые конъюнкции.
Простая дизъюнкция - это дизъюнкция набора переменных или их отрицаний. Соответственно, КНФ - конъюнкция простых дизъюнкций.
ДНФ определяется аналогично КНФ.
Простая конъюнкция - это конъюнкция набора переменных или их отрицаний. Соответственно, ДНФ - дизъюнкция простых конъюнкций.
Помимо КНФ и ДНФ существуют совершенная конъюнктивная нормальная форма (СКНФ) и совершенная дизъюнктивная нормальная форма (СДНФ). Это такие КНФ и ДНФ соответственно, у которых в каждой простой дизъюнкции и конъюнкции соответственно входят все переменные функции, причём в одном и том же порядке. Совершенные нормальные формы нужны для простоты нахождения предпосылок и следствий в формуле, зависящих в том числе и от известного количества переменных [1].
АЛГОРИТМ ФОРМИРОВАНИЯ СДНФ ИЗ ТАБЛИЦЫ ИСТИННОСТИ.
Для получения СДНФ из таблицы истинности применяется следующий алгоритм:
1. Находим строки таблицы истинности, в которых значение функции равно единице.
2. В каждой строке выбираем отдельные переменные и записываем их в простые конъюнкты по следующим правилам:
2.1. Если значение переменной в строке равно единице, то переменная записывается в итоговую формулу без изменений.
2.2. Если значение переменной в строке равно нулю, то переменная записывается в итоговую формулу с отрицанием.
3. Объединяем простые конъюнкты в итоговую формулу.
Пример:
Из таблицы истинности (таблица 1) получить функцию вида СДНФ.
Таблица 1. Таблица истинности функции алгебры логики.
хг *2 *3 F(X1, Х2, Х3)
0 0 0 1
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
Действие 1: выбираем строки, значение функции в которых равно 1.
Таблица 2. Выбранные строки для записи СДНФ.
Х1 *2 *3
0 0 0 1
0 0 1 1
0 1 1 1
1 0 1 1
1 1 0 1
1 1 1 1
Действие 2: выписываем переменные в соответствии с правилом 2.
Первый простой конъюнкт: —Л —х2 Л —х3,
Второй простой конъюнкт: —Л —х2 Л х3,
Третий простой конъюнкт: —хх Л х2 Л х3,
Четвёртый простой конъюнкт: хх Л —х2 Л х3,
Пятый простой конъюнкт: х1 Л х2 Л —х3,
Шестой простой конъюнкт: х1 Л х2 Л х3.
Действие 3: объединяем простые конъюнкты в итоговую формулу. ^(х1( х2, х3) = (—х1 Л —х2 Л —х3) V (—х1 Л —х2 Л х3) V (—х1 Л х2 Л х3) V V (х1 Л —Х2 Л Х3) V (х1 Л Х2 Л —Х3) V (х1 Л Х2 Л Х3)
На рисунке 1 изображена блок-схема алгоритма получения функции алгебры логики в виде СДНФ.
Рисунок 1. Блок-схема получения из таблицы истинности функции алгебры
логики вида СДНФ.
АЛГОРИТМ ФОРМИРОВАНИЯ СКНФ ИЗ ТАБЛИЦЫ ИСТИННОСТИ.
Для получения СКНФ из таблицы истинности применяется следующий алгоритм:
1. Находим строки таблицы истинности, в которых значение функции равно нулю.
2. В каждой строке выбираем отдельные переменные и записываем их в простые конъюнкты по следующим правилам:
2.1. Если значение переменной в строке равно нулю, то переменная записывается в итоговую формулу без изменений.
2.2. Если значение переменной в строке равно единице, то переменная записывается в итоговую формулу с отрицанием.
3. Объединяем простые конъюнкты в итоговую формулу.
Пример:
Из таблицы истинности (таблица 1) получить функцию вида СКНФ.
Действие 1: выбираем строки, значение функции в которых равно 0.
Таблица 3. Выбранные строки для записи СДНФ
Х1 *2 F(Х1, Х2, Хз)
0 1 0 0
1 0 0 0
Действие 2: выписываем переменные в соответствии с правилом 2. Первый простой дизъюнкт: х± V — х2 V х3, Второй простой дизъюнкт: —х± V х2 V х3.
Действие 3: объединяем простые дизъюнкты в итоговую формулу. F(x1, Х2, Хз) = (х± V —Х2 V Хз) Л (—Х± V Х2 V Х3)
На рисунке 2 изображена блок-схема алгоритма получения функции алгебры логики в виде СКНФ.
Рисунок 2. Блок-схема получения из таблицы истинности функции алгебры
логики вида СКНФ.
СПИСОК ЛИТЕРАТУРЫ:
1. Математическая логика. Методические указания по курсу "Основы дискретной математики для студентов специальности 220220" - Пермь: Изд-во ПГТУ, 1998. - 17 с. - Режим доступа: https://web. archive.org/web/20160409024622/http://window. edu.ru/resource/659/476 59/files/pstu021.pdf (дата обращения: 09.04.2016);
2. Алексеев В. Б., Поспелов А.Д. Дискретная математика (курс лекций, II семестр). - Москва: Изд. отд. фак. Вычислит. математики и кибернетики МГУ им. М. В. Ломоносова, 2002. - 44 с. - Режим доступа: https://web.archive.Org/web/20070710025553/http://mathcyb.cs.msu.su/paper/books/ dmcour.pdf (дата обращения: 10.07.2007)
Andulko D.S.
Orel State University or Turgenev State University (Orel, Russia)
ALGORITHM FOR FORMING LOGIC ALGEBRA FUNCTIONS FROM THE TRUTH TABLE
Abstract: the article considers the features of the algorithm for generating logical algebra functions from a truth table.
Keywords: algorithm, algebra of logic, truth table, SKNF, SDNF.