Вы находитесь на странице: 1из 15

1.

Понятие алгебры логики


1. Логическое мышление
Мышление – это способность мыслить, анализировать и синтезировать.
На современном этапе для человека характерна дискретная форма
мышления.
Логическое мышление – это вид мыслительного процесса, при котором
человек использует логические конструкции и готовые понятия.
2. Формы и методы логического мышления
Понятие – форма мышления, отражающая существенные свойства,
связи и отношения предметов и явлений, определяемое словом или группой
слов. Понятия бывают конкретные и абстрактные.
Суждение – форма мышления, отражающая связи между предметами и
явлениями в форме утверждения или отрицания. Суждения бывают
истинными или ложными.
Умозаключения – форма мышления, при которой на основе нескольких
умозаключений делается определенный вывод (индуктивное, дедуктивное,
по аналогии).
Пример: а) Я – человек, но Вы не я, значит, Вы не человек.
б) Из шампиньонов варят суп. Значит, они съедобны.
в) «Можно ли ругать или наказывать человека за то, что он не сделал»
«Нельзя»
«В таком случае не ругайте и не наказывайте, я не сделал домашнее
задание»
3. Алгебра логики
Алгебра логики – раздел математики, в котором изучаются логические
операции над высказываниями.
Высказывание – предложение, выражающее суждение.

Высказывания строятся над множеством { x, , ∧, ∨, 0, 1 } ,


x – непустое множество с элементами, над которыми строятся 3
операции:

– отрицание (унарная операция);


¿ – конъюнкция (бинарная операция);
¿ – дизъюнкция (бинарная операция).
4. Законы алгебры логики
1. Закон двойного отрицания
x=¯x̄
x – можно сказать, ¯x̄ – нельзя не сказать.
2. Переместительный (коммутативный) закон:
– для логического сложения x∨ y= y ∨x
– для логического умножения x∧ y= y ∧x
3. Сочетательный (ассоциативный) закон:
– для логического сложения ( x∨ y )∨z=x∨ ( y∨z )
– для логического умножения ( x∧ y )∧z=x∧ ( y∧z )
4. Распределительный (дистрибутивный) закон:
– для логического сложения ( x∨ y )∧z= ( x∧z ) ∨( y∧z )
– для логического умножения ( x∧ y )∨z= ( x∨z ) ∧( y∨z )
5. Закон общей инверсии (закон де Моргана):
– для логического сложения x∨ y= x̄∧ ȳ
– для логического умножения x∧ y= x̄∨ ȳ
6. Закон идемпотентности:
– для логического сложения x∨ x= x
– для логического умножения x∧x= x
7. Закон исключения констант:
– для логического сложения x∨1=1 , x∨0=x
– для логического умножения x∧1=x , x∧0=0
8. Закон противоречия:
x∧ x̄=0
9. Закон исключения третьего:
x∨ x̄=1
10. Закон поглощения:
– для логического сложения x∨( x∧ y )=x
– для логического умножения x∧( x∨ y )=x
Процесс упрощения сложных логических высказываний на более
простые называется минимизацией функции.
Примеры:

1. Упростить формулу: ( x∨ y )∧( x∨z )


Решение:
( x∨ y )∧( x∨z )=x ∧( x ∨z )∨ y∧( x∨z )=x∨x ∧x∨z∨ y∧x∨ y ∧z=x∨z∨ y∧x ∨ y∧z=
=x∨z∨ y∧x∨ y∧z=x ∨z∨ y∧( x∨z )=( x∨z ) ∧(1∨ y )=( x∨z )∧1=x∨z
( 2⋅2 ) +2=2⋅2+ 2=6
Приоритет операции ¿ над ¿ . В дальнейшем скобки будем
опускать, а операцию ¿ между множествами не писать.

2. xy∨ x̄
5 6
Решение: xy∨ x̄ = x̄ ∨ ȳ∨ x̄ = x̄ ∨ ȳ

5. Функции алгебры логики

y=f ( x 1 , x2 , . . ., x n )
Булева функция – это функция от n аргументов
определённая на множестве E= { 0 , 1 } и принимающая значение множества
Е.
Булеву функцию можно задать с помощью таблицы или формулы.
Если имеются n переменных, то значения функции будут для каждого
n
из 2 набора.
Пример: для 3 переменных.
x1 x2 x3 y=f ( x 1 , x2 , x 3 )
0 0 0 y=f ( 0, 0, 0 )
0 0 1 y=f ( 0 , 0, 1 )
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
3
Всего 2 =8 наборов.
Если известны все значения y=f ( x 1 , x2 , x 3 ) для всех наборов, то
говорят, что задана булева функция, а сама таблица называется таблицей
истинности.
Пример задания формулой: y=x 1 ∨x2 ∧x 3 .
Количество функций от двух аргументов шестнадцать. Рассмотрим
основные из них
x1 x2 x 1∨x 2 x 1∧x 2 x 1 → x2 x1⊕ x 2 x1 ~ x2 x 1|x 2 x 1↓ x2
0 0 0 0 1 0 1 1 1
0 1 1 0 0 1 0 1 0
1 0 1 0 1 1 0 1 0
1 1 1 1 1 0 1 0 0

x 1∨x 2 – дизъюнкция (читается как «ИЛИ»);


x 1∧x 2 – конъюнкция (читается как «И»)
x 1 → x2 – импликация;
x 1 ⊕ x 2 – сумма по модулю;
x 1 ~ x 2 – эквивалентность;
x 1|x 2 – штрих Шеффера;
x 1 ↓ x 2 – стрелка Пирса.

Пример: Построить таблицу истинности функции


y=( x1 ∧x 2∨ x̄ 1 ) ↓ ( x 1 ⊕ x 2 )

x1 x2 x 1∧x 2 x 1∧x 2 x̄ 1 ( x 1 ∧x2 ∨ x̄ 1) ( x 1 ⊕ x 2 ) y=( x1 ∧x 2∨ x̄ 1 ) ↓ ( x 1 ⊕ x 2 )


0 0 0 1 1 1 0 0
0 1 0 1 1 1 1 0
1 0 0 1 0 1 1 0
1 1 1 0 0 0 0 1

После упрощения используя законы алгебры логики, можно получить


y=( x1 ∧x 2∨ x̄ 1 ) ↓ ( x 1 ⊕ x 2 )=x 1 ∧x 2
.

6. Нормальные формы логических высказываний.

Для любой формулы алгебры высказываний можно указать любую


равносильную ей формулу. Среди всевозможных выражений этих формул
некоторые играют важную роль в прикладных задачах. Для их реализации
необходимо формулы алгебры высказываний выражать через минимальный
набор операций конъюнкции, дизъюнкции и отрицания.

Конъюнктивным одночленом от переменных x 1 , ...,x n называется


конъюнкция этих переменных. Пример: x̄ 1∧x 2 , x̄ 1∧x 2 ∧ x̄ 3 ,
x 1∧x 2 ∧x 3∧ x̄ 4 .

Т.к. не пишем конъюнкции, то x̄ 1 x 2 , x̄ 1 x 2 x̄ 3 , x 1 x 2 x 3 x̄ 4 , x̄ 1 x 2 x 3 x̄ 4 .


Дизъюнктивным одночленом от переменных x 1 , ...,x n называется

дизъюнкция этих переменных. Пример: x̄ 1∨x 2 , x̄ 1∨x 2 ∨ x̄ 3 ,


x 1∨x 2 ∨x 3∨ x̄ 4 .

Дизъюнктивная нормальная форма (ДНФ) – это дизъюнкция


конъюнктивных одночленов K 1 ∨K 2 ∨.. .∨K m . Пример
y= x̄ 1 x 2 x3 ∨ x̄ 1 x̄ 2 x3 ∨ x̄ 1 x 3 ∨ x̄3 .

Конъюнктивная нормальная форма (КНФ) – это конъюнкция


дизъюнктивных одночленов D1 ∧D2∧. . .∧Dm . Пример:
y=( x̄1 ∨x 2 )( x 1 ∨x 2∨x 3 )( x̄ 2∨ x̄ 3 ) x 4

Среди множества КНФ и ДНФ существует уникальная форма, которая


единственная для данной формулы, представляющая собой минимальный
набор операций над переменными. Эта форма называется совершенной.
Совершенной дизъюнктивной нормальной формой (СДНФ)
называется такая форма ДНФ, в которой отсутствуют одинаковые
конъюнктивные одночлены, причем в каждом конъюнктивном одночлене
присутствуют все переменные и отсутствуют их повторения.

Например: y= x̄ 1 x 2 x3 ∨ x̄ 1 x̄ 2 x3 ∨ x̄ 1 x̄ 2 x̄3 ∨x 1 x 2 x̄ 3 .
Совершенной конъюктивной нормальной формой (СКНФ)
называется такая форма КНФ, в которой отсутствуют одинаковые
дизъюнктивные одночлены, причем в каждом дизъюнктивном одночлене
присутствуют все переменные и отсутствуют их повторения.
y=( x̄1 ∨x 2∨x 3 ∨x 4 )( x 1∨x 2 ∨x 3 ∨x 4 )( x 1 ∨ x̄ 2∨ x̄ 3 ∨x 4 )
Например: .
Рассмотрим способы приведения функций алгебры логики в виде
СДНФ (СКНФ)
y=x 1 ∧( x̄ 2∨x 3 )
Пример. Привести функцию в виде СДНФ
1. С помощью законов алгебры логики
y=x 1 ∧( x̄ 2∨x 3 )=x 1 ( x̄ 2 ∨x 3 ) =x 1 x̄ 2 ∨x 1 x3 =x 1 x̄ 2∧1∨x 1 x 3 ∧1=
¿ x1 x̄ 2 ( x 3 ∨ x̄ 3 ) ∨x 1 x3 ( x 2∨ x̄ 2 ) =x 1 x̄ 2 x3 ∨x 1 x̄ 2 x̄3 ∨x 1 x 3 x 2∨x 1 x 3 x̄ 2=
¿ x1 x̄ 2 x 3 ∨x 1 x̄ 2 x̄ 3 ∨x 1 x 2 x 3 ∨x 1 x̄ 2 x 3 =x 1 x̄2 x 3 ∨x 1 x̄2 x̄ 3 ∨x 1 x2 x 3
2. С помощью таблицы истинности.
Для представления булевой функции в СДНФ необходимо:
1. В таблице истинности выбрать наборы переменных, значение
функции которых равны «1».
2. Выписать эти наборы переменных в виде конъюнктивных
одночленов, при этом, если переменная в наборе равна «1», она
выписывается без изменений, если равна нулю, то выписывается
с инверсией.
3. Все полученные конъюнктивные одночлены объединяются
дизъюнкцией.
Для представления булевой функции в СКНФ необходимо:
1. В таблице истинности выбрать наборы переменных, значение
функции которых равны «0».
2. Выписать эти наборы переменных в виде дизъюнктивных
одночленов, при этом, если переменная в наборе равна «1»,
она выписывается с отрицанием, если равна нулю, то
выписывается без изменений.
3. Все полученные дизъюнктивные одночлены объединяются
конъюнкцией.
y=x 1 ∧( x̄ 2∨x 3 )
Постоим таблицу истинности функции

x1 x2 x3 y=f ( x 1 , x2 , x 3 )
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 0
1 1 1 1

Построим СДНФ.

Выберем строки с значением y=1 . Выделим их (красные


квадратики).
Выпишем конъюнктивные одночлены
K 1 =x1 x̄ 2 x̄ 3 ;

K 2 =x1 x̄ 2 x 3 ;

K 2 =x1 x 2 x 3 .

Тогда получим y=x 1 x̄ 2 x̄3 ∨x 1 x̄ 2 x3 ∨x 1 x 2 x3 .


Построим СКНФ.
Выберем строки со значением y=0 . Выделим их (зеленые
квадратики).
Выпишем дизъюнктивные одночлены
D1 =x1 ∨x 2 ∨x3 ;

D2 =x1 ∨x 2 ∨ x̄3 ;

D3 =x1 ∨ x̄ 2 ∨x3 ;

D 4 =x 1 ∨ x̄ 2∨ x̄ 3 ;

D5 = x̄1 ∨ x̄ 2 ∨x3 .

Тогда получим СКНФ


y=( x1 ∨x 2∨x 3 ) ( x 1∨x 2 ∨ x̄ 3 )( x 1 ∨ x̄ 2∨x 3 )( x1 ∨ x̄ 2 ∨ x̄3 ) ( x̄ 1∨ x̄ 2 ∨x 3 )
.
7. Минимизация логических функций. Карты Карно.

Процесс упрощения булевой функции называется минимизаций.


Существуют разные методы минимизации булевых функций, одним из
которых является карты Карно.
Карта Карно – графическое представление всевозможных значений
переменных в определенном порядке.
Для двух переменных:
x1 0 1

x2
0
1

Для трех переменных:


x 1 ,x 2 00 01 11 10

x3
0
1
Для четырех переменных:
x 1 ,x 2 00 01 11 10

x 3 ,x 4
00
01
11
10

Для пяти переменных:


x 1 ,x 2 , x 3 000 001 011 010 110 111 101 100

x4 , x5
00
01
11
10

Если нужно получить минимальный ДНФ, то в карте Карно нужно


рассмотреть только те клетки, которые содержат «1». Сама минимизация
проходит по следующим правилам:
1. Объединяются смежные клетки, содержащие «1» в область так,
n
чтобы одна область содержала 2 клеток, причем в области не
должно быть «0».
2. Область должна располагаться симметрично относительно оси или
осей.
2.1. Если в первых четырех клетках имеются области,
симметричные относительно оси или осей, то их можно
объединить
3. Не смежные области, расположенные симметрично относительно
оси могут объединяться в одну.
4. Область должна быть как можно больше, а их количество как можно
меньше.
5. Области могут пересекаться.
6. Возможно несколько вариантов выбора областей.
7. После обозначения областей на карте Карно, берется первая область
и определяют на ней какие переменные не меняются. Выписывается
конъюнкция этих переменных, причем если переменная равна нулю,
то она берется с инверсией. Далее дизъюнкцией объединяются все
области.
Пример 1: Минимизировать функцию, записанную с помощью
таблицы истинности.
x1 x2 x3 x4 y
0 0 0 0 1
0 0 0 1 1
0 0 1 0 1
0 0 1 1 0
0 1 0 0 0
0 1 0 1 0
0 1 1 0 1
0 1 1 1 0
1 0 0 0 0
1 0 0 1 0
1 0 1 0 1
1 0 1 1 1
1 1 0 0 1
1 1 0 1 0
1 1 1 0 1
1 1 1 1 1

Запишем значение y в карту Карно. Определим ДНФ

x 1 ,x 2 00 01 11 10

x 3 ,x 4
00 1 0 1 0
01 1 0 0 0
11 0 0 1 1
10 1 1 1 1

Для красной области


x1 , x2 , x3 , x4
0 0 0 0
0 0 0 1
________
x̄ 1 x̄ 2 x̄ 3
Переменные берутся с отрицанием, т.к. их значения равны нулю.
Поэтому
K 1 = x̄1 x̄ 2 x̄ 3 .
Для зеленой области
x1 , x2 , x3 , x4
1 0 1 0
1 1 1 0
1 1 1 0
1 0 1 0
__________
x 3 x̄ 4

Тогда K 2 =x3 x̄ 4

Для синей области


x1 , x2 , x3 , x4
1 1 0 0
2 1 1 0
________
x 1 x 2 x̄ 4

Тогда K 3 =x 1 x 2 x̄ 4

Для желтой области


x1 , x2 , x3 , x4
1111
1110
1011
1010
_______
x1 x3

Тогда K 4 =x 1 x 3
Минимальная ДНФ имеет вид
y= x̄ 1 x̄ 2 x̄3 ∨x 3 x̄ 4 ∨x 1 x 2 x̄ 4 ∨x 1 x3 .

Сравним с СДНФ

y=x̄1 x̄2 x̄3 x̄4∨x̄1 x̄2 x̄3 x4∨x̄1 x̄2 x3 x̄4∨x̄1x2 x3 x̄4∨x1 x̄2 x3 x̄4∨¿¿∨x1 x̄2x3 x4∨x1 x2 x̄3 x̄4∨x1 x2x3 x̄4∨x1 x2 x3 x4
Пример 2. Укажите ошибки при объединении областей в карте
Карно.

x 1 ,x 2 , x 3 000 001 011 010 110 111 101 100

x4 , x5
00 0 1 0 0 1 0 0 0
01 1 1 0 0 1 0 0 1
11 1 0 0 0 0 0 0 1
10 0 1 1 1 1 0 0 0

Верное объединение
x 1 ,x 2 , x 3 000 001 011 010 110 111 101 100

x4 , x5
00 0 1 0 0 1 0 0 0
01 1 1 0 0 1 0 0 1
11 1 0 0 0 0 0 0 1
10 0 1 1 1 1 0 0 0

8. Многозначная и нечеткая логика


Самостоятельно.
2. Элементы теории графов
9. Основные понятия графов
Теория графов – один из разделов дискретной математики,
применяемый в решении различных задач (экономических, управленческих)
в результате которых элементы множества графическим способом связаны
между собой.
Граф строится для того, чтобы отразить отношения на множествах.
A= {a1 , a 2 ,. . ., a n }
Пусть задано множество . Построение графа
следующее

Вершина – отображение элемента множества А.


Ребро – соединение вершин между собой.
Виды ребер: петля – вершина соединенная сама с собой, дуга – ребро
имеющая порядок соединения вершин.
3. Теория конечных автоматов и их синтез
10. Теоретические основы проектирования автоматов

Автомат – устройство, выполняющий некоторые функции без участия


человека.
Автомат называется конечным, если множество его состояний и
входных сигналов являются конечными множествами.
Абстрактный автомат – математическая модель дискретного автомата,
который имеет входной канал, выходной канал и находящийся в каждый
момент времени в каком-либо состоянии.
Слова входного языка представляются символами множества
X ={ x 1 , x 2 , . .. , x n }
называемая входным алфавитом.
Слова выходного языка представляются символами множества
Y = { y 1 , y 2 ,. .. , y p }
называемая входным алфавитом.
Q= {q1 , q 2 , .. . ,q m }
Множество состояний автомата называют
алфавитом состояний.
Для формирования выходного сигнала меду парами q и x необходима
схема, формирующая этот переход. Такая функциональная зависимость
определяет функцию выходов .
Для перехода автомата между состояниями реализуется другая схема,
функциональная зависимость которой называется функцией переходов .
Последовательность выходных сигналов записывается в виде
( y 1 [ 1 ] , y 2 [ 2 ] , y 3 [ 3 ] , .. . )
Дискретные времена называются тактами.

Пусть на вход автомата подается слово α=( x 1 x 3 x 5 x1 ) . Слово β на


выходе будет генерироваться по следующей схеме:
1. В начальный момент времени τ =1
на вход автомата,
находящегося в состоянии q [ 1 ] , поступает первый символ x 1 [ 1 ] .
Функция выхода , обрабатывая обе информации, выводи первый
символ β [ 1 ] = y 1 [ 1 ] =ϕ ( q [ 1 ] , x1 [ 1 ] ) . Сам автомат переходит в новое
состояние с помощью функции переходов для следующего момента
времени q [ 2 ] =ψ ( q [ 1 ] , x 1 [ 1 ] ) .
2. Для следующего момента времени τ =2 на вход автомата,
находящегося в состоянии q [ 2 ] , поступает второй символ x 3 [ 2 ] .
β [ 2 ] = y 2 [ 2 ] =ϕ ( q [ 2 ] , x 3 [ 2 ] )
Функция выхода формирует сигнал . Сам
автомат переходит в новое состояние q [ 2 ] =ψ ( q [ 2 ] , x 3 [ 2 ] ) .
Функциональная схема автомата

Оценить