bsuir.info
БГУИР: Дистанционное и заочное обучение
(файловый архив)
Вход (быстрый)
Регистрация
Категории каталога
Другое [65]
Форма входа
Поиск
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Файловый архив
Файлы » ВМСиС » Другое

ВМСиС (з.), ДМ, Контрольная работа, вар.2, 2016
Подробности о скачивании 02.09.2016, 19:51
Найти близкую к минимальной раскраску вершин графа, заданного следующей матрицей смежности:

2 3 4 5 6 7 8
1 0 1 0 1 0 0 1
0 1 1 0 1 1 1 2
1 0 0 1 0 1 1 3
1 0 0 0 1 0 0 4
0 1 0 0 0 1 0 5
1 0 1 0 0 1 1 6
1 1 0 1 1 0 0 7
1 1 0 0 1 0 0 8

По данным матрицы смежности построим граф

Составим таблицу со степенями вершин полученного графа:
1 2 3 4 5 6 7 8
3 6 4 3 2 5 4 3

Далее отсортируем вершины таким образом, чтобы их степени убывали:
2 6 3 7 1 4 8 5
Р1 Р2 Р2 Р3 Р3 Р4 Р3 Р1
Первую неокрашенную вершину раскрашиваем в Р1, далее проверяем наличие связи со следующей неокрашенной вершиной. В данном случае в Р1 окрасится 5ая вершина. По этому же принципу раскрашиваем оставшиеся вершины графа. В результате получаем близкую к минимальной раскраску вершин графа.

2. Получить минимальную систему ДНФ для следующей системы полностью определенных булевых функций:
x1 x2 x3 x4 f1 f2 f3
[█(1 0 1 0@0 0 1 0@0 0 0 0@0 1 1 1@0 1 0 0@0 1 1 0@0 1 0 1@0 0 0 1)] [█(0 1 0@0 0 1@1 0 0@1 1 0@1 0 1@1 0 1@1 1 0@0 1 0)]
Решение:
Минимизируем данную систему ДНФ методом Квайна-Мак-Класки.
В СДНФ функций f1, f2, f3 заменим все конституенты единицы их двоичными кодами:
f =1010(2)+0010(3)+0000(1)+0111(1,2)+0100(1,3)+0110(1,3)+0101(1,2)+0001(2)
Образуем группы двоичных номеров. Признаком образования i-ой группы является i единиц в двоичном номере конституенты единицы.
0: 0000(1)
1: 0010(3) 0100(1,3) 0001(2)
2: 1010(2) 0110(1,3) 0101(1,2)
3: 0111(1,2)
4: -
Склеим номера из соседних групп
х_ _ _ : -
_х_ _ : 0х00(1) 0х10(3) 0х01(2)
_ _х_ : 01х0(1,3) 01х1(1,2) : 01хх(1)
_ _ _х : 010х(1) 011х(1) : 01хх(1)

Получили 7 простых импликант.
Строим импликантную матрицу:
f1 f2 f3
0000 0111 0100 0110 0101 1010 0111 0101 0001 0010 0100 0110
1010(2) ⨁
0х00(1) ⨁ +
0х10(3) ⨁ +
0х01(2) + ⨁
01х0(1,3) + + ⨁ +
01х1(1,2) + + ⨁ +
01хх(1) + + + +

f_minДНФ= 〖x_1 (x_2 ) ̅ x_3 (〖 x〗_4 ) ̅〗_((2))+ 〖(x_1 ) ̅ (x_3 ) ̅ (x_4 ) ̅〗_((1))+〖(x_1 ) ̅ x_3 (x_4 ) ̅〗_((3))+〖(x_1 ) ̅ (x_3 ) ̅〖 x〗_4〗_((2))+〖(x_1 ) ̅ x_2 (x_4 ) ̅〗_((1,3))+〖(x_1 ) ̅ x_2 x_4〗_((1,2))

3. Получить автомат с минимальным числом состояний, который реализует автомат, заданный следующей таблицей переходов. Закодировать методом «желательных соседств» состояния и получить соответствующую минимальную систему ДНФ.
00 01 11 10
1 -,1 3,1 - 6,1
2 -,0 5,1 3,- -
3 -,0 2,- -,1 4,-
4 3,1 6,- -,0 8,-
5 3,1 6,1 7,- -
6 - - 2,0 1,-
7 8,- 4,- -,0 8,-
8 7,- -,1 -,0 1,-

Построим автомат с минимальным числом состояний.
Явно несовместимыми являются пары , , , , , , , , . Пары , , являются явно совместимыми. Таким образом, получаем начальное значение матрицы совместимости:
2 3 4 5 6 7 8
0 0 - - - - - 1
- 0 0 - - 1 2
0 0 0 0 0 3
1 - - - 4
- - - 5
- 1 6
- 7
Цепь, порождаемая парой , содержит несовместимую пару , поэтому она тоже несовместима. Таким же образом несовместимы пары , , , , .
2 3 4 5 6 7 8
0 0 0 0 - 0 - 1
0 0 0 0 - 1 2
0 0 0 0 0 3
1 - - - 4
- - - 5
- 1 6
- 7
Далее получаем , , , , ,
2 3 4 5 6 7 8
0 0 0 0 - 0 - 1
0 0 0 0 1 1 2
0 0 0 0 0 3
1 - 0 0 4
1 0 0 5
- 1 6
- 7
Другие пары , , , , пока неопределенны на совместимость. Объединяя пары , получим совместимое множество .
Итак, получаются совместимые пары , , , , , , , , , .
В результате получаем совместимые множества , , и . Но правильная минимальная группировка является , , и .
В результате минимизации заданного автомата получаем автомат с четырьмя состояниями, таблицей переходов и выходов которого является:

00 01 11 10
1 2,1 3,1 2,0 1,1
2 1,0 4,1 3,0 1,-
3 -,0 2,- -,1 4,-
4 3,1 1,1 2,0 1,-

Вычислим значения , где - число столбцов таблицы переходов, в которых строки и имеют одинаковые элементы, т.е. число значений переменной , при которых .
Таблица переходов:
00 01 11 10
1 2 3 2 1
2 1 4 3 1
3 - 2 - 4
4 3 1 2 1

А , где - число состояний автомата, - число пар вида , причем и , а входные символы и имеют соседние коды, удобно задать в виде таблицы:





5 3 3

2 1

1

где строки и столбцы соответствуют состояниям автомата.
На первом шаге получаем два одномерных гиперкуба с максимальными значениями весов и .

А теперь выберем один двумерный гиперкуб, для которого выбираются два ребра с максимальной суммой весов.


Получаем один двумерный гиперкуб с максимальным весом добавленных ребер.


Теперь можем составить таблицу кодирования состояний:





0 0

1 0

1 1

0 1

Минимальная система булевых функций, описывающая заданное поведение, представляется следующими матрицами:

Х1 Х2 Z1 Z2

Y
0 0 0 0 1 0 1
0 0 1 - 0 0 0
0 0 0 1 1 1 1
0 1 0 0 1 1 1
0 1 1 0 0 1 1
0 1 1 1 1 0 -
0 1 0 1 0 0 1
1 1 0 - 1 0 0
1 1 1 0 1 1 0
1 1 1 1 - - 1
1 0 - 0 0 0 1
1 0 1 1 0 1 -
1 0 0 1 0 0 -
Категория: Другое | Добавил: chamamilla
Просмотров: 1265 | Загрузок: 7
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]