Последовательность построения конечных автоматов

 

Для построения КЦА необходимо:

ü построить граф-схему автомата или таблицы выходов и переходов ЦА;

ü Закодировать каждое состояние автомата;

ü Построить таблицу истинности, содержащую вход, состояние и выход автомата. Минимизировать функцию выходов автомата;

ü Построить таблицу истинности, содержащую вход, состояние и переходы автомата. Минимизировать функцию переходов автомата;

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

 

Формы представления функций алгебры логики

Табличная форма представления

Если мы имеем k переменных, то из них можно составить 2k комбинаций, а так как для каждой комбинации может задана своя функция, то число возможных функций .

 


Таблица 2.1 Пример таблицы истинности для 3 переменных

 

Каждая комбинация таблицы истинности – набор (конституанта).


СДНФ

СДНФ (Совершенная Дизъюнктивная Нормальная Форма) — это такая ДНФ, которая удовлетворяет трём условиям:

• в ней нет одинаковых элементарных конъюнкций

• в каждой конъюнкции нет одинаковых пропозициональных букв

• каждая элементарная конъюнкция содержит каждую пропозициональную букву из входящих в данную ДНФ пропозициональных букв, причем в одинаковом порядке.

В функцию выписываются все конституанты, в которых функция принимает значение 1. Если переменная входит в конституанту как 0, то записывается ёё отрицание, если как 1, то без отрицания.  в наборе соединяются операцией конъюнкция (* или &), между наборами ставится операция дизъюнкция (+ или v).

Для того, чтобы получить СДНФ функции, требуется составить её таблицу истинности

 

Таблица 2.2

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

 

В ячейках строки́ отмечаются лишь те комбинации, которые приводят логическое выражение в состояние единицы. Далее рассматриваются значения переменных при которых функция равна 1. Если значение переменной равно 0, то она записывается с инверсией. Если значение переменной равно 1, то без инверсии.Первый столбец содержит 1 в указанном поле. Отмечаются значения всех четырёх переменных, это:

 

= 0 = 0 = 0 = 0

 

Нулевые значения — тут все переменные представлены нулями — записываются в конечном выражении инверсией этой переменной. Первый член СДНФ рассматриваемой функции выглядит так:  Переменные второго члена:

 

= 0 = 0 = 0 = 1

 

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

 

 

СКНФ

СКНФ (Совершенная Конъюнктивная Нормальная Форма) — это такая КНФ, которая удовлетворяет трём условиям:

· в ней нет одинаковых элементарных дизъюнкций

· в каждой дизъюнкции нет одинаковых пропозициональных букв

· каждая элементарная дизъюнкция содержит каждую пропозициональную букву из входящих в данную КНФ пропозициональных букв

В функцию выписываются все конституанты, на которых функция принимает значение 0. Если переменная входит в конституанту как 1, то записывается ёё отрицание, если как 0, то без отрицания. В наборе xi соединяются операцией дизъюнкция (+ или v), а между наборами ставится операция конъюнкция (* или &).

Для того, чтобы получить СКНФ функции, требуется составить её таблицу истинности.

 

Таблица 2.3

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

 

В ячейках строки́ отмечаются лишь те комбинации, которые приводят логическое выражение в состояние нуля. Четвертый столбец содержит 0 в указанном поле. Отмечаются значения всех четырёх переменных, это:

 

= 0

= 0

= 1

= 1


В дизъюнкцию записывается переменная без инверсии если она в наборе равна 0 и с инверсией если она равна 1. Первый член СКНФ рассматриваемой функции выглядит так:  Остальные члены СКНФ составляются по аналогии.

 


Карты Карно

Карта Карно́ — графический способ минимизации переключательных (булевых) функций, обеспечивающий относительную простоту работы с большими выражениями и устранение потенциальных гонок. Карты Карно рассматриваются как перестроенная соответствующим образом таблица истинности функции.

Карта Карно может быть составлена для любого количества переменных, однако удобно работать при количестве переменных не более пяти. По сути Карта Карно - это таблица истинности составленная в 2-х мерном виде. Благодаря использованию кода Грея в ней верхняя строка является соседней с нижней, а правый столбец соседний с левым, т.о. вся Карта Карно сворачивается в фигуру тор(бублик). На пересечении строки и столбца проставляется соответствующее значение из таблицы истинности. После того как Карта заполнена, можно приступать к минимизации.

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

· объединяем смежные клетки содержащие единицы в область, так чтобы одна область содержала 2 n (n целое число = 0… ) клеток(помним про то что крайние строки и столбцы являются соседними между собой), в области не должно находиться клеток содержащих нули;

· область должна располагаться симметрично оси(ей) (оси располагаются через каждые четыре клетки);

· не смежные области расположенные симметрично оси(ей) могут объединяться в одну;

· область должна быть как можно больше, а кол-во областей как можно меньше;

· области могут пересекаться;

· возможно несколько вариантов накрытия.

Далее берём первую область и смотрим какие переменные не меняются в пределах этой области, выписываем конъюнкцию этих переменных, если неменяющаяся переменная нулевая, проставляем над ней инверсию. Берём следующую область, выполняем то же самое что и для первой, и т. д. для всех областей. Конъюнкции областей объединяем дизъюнкцией. Например(для Карт на 2-ве переменные)

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: