Главная страница
Навигация по странице:

  • Направление: «Искусственный Интеллект» ПРЕДМЕТ

  • Тема: Минимизация булевых функций Выполнил

  • 10 вариант Введённый вектор

  • Аппаратное обеспечение Интеллектуальных систем. 3 лаб ed. Минимизация булевых функций


    Скачать 43.13 Kb.
    НазваниеМинимизация булевых функций
    АнкорАппаратное обеспечение Интеллектуальных систем
    Дата12.03.2023
    Размер43.13 Kb.
    Формат файлаdocx
    Имя файла3 лаб ed.docx
    ТипЛабораторная работа
    #981505

    МИНИСТЕРСТВО ЦИФРОВЫХ ТЕХНОЛОГИЙ РЕСПУБЛИКИ УЗБЕКИСТАН

    ТАШКЕНТСКИЙ УНИВЕРСИТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ ИМЕНИ МУХАММАДА АЛ-ХОРАЗМИЙ

    Факультет: «ТАТУ-БГУИР совместный факультет информационных технологий»

    Направление: «Искусственный Интеллект»

    ПРЕДМЕТ: Аппаратное обеспечение интеллектуальных систем

    Лабораторная работа 2

    Тема: Минимизация булевых функций

    Выполнил: Исамиддинов Ботир

    Студент группы: 12-21

    Ташкент 2023

    Задание на лабораторную работу

    1. Записать формулу функции ( , , ) в виде СДНФ и минимизировать ее графическим методом, методом неопределенных коэффициентов и методом минимизирующих карт Карно. Сравнить полученные результаты.

    2. Записать формулу функции ( , , , ) в виде СДНФ и минимизировать ее методами Квайна, Мак-Класки и диаграммами Вейча. Сравнить полученные результаты.

    3. Реализовать один из методов программным образом (методы раздаются на практике преподавателем)

    10 вариант

    Введённый вектор: 11100110

    Таблица истинности:


    x1

    x2

    x3

    F

    0

    0

    0

    1

    0

    0

    1

    1

    0

    1

    0

    1

    0

    1

    1

    0

    1

    0

    0

    0

    1

    0

    1

    1

    1

    1

    0

    1

    1

    1

    1

    0

    Совершенная дизъюнктивная нормальная форма (СДНФ)


    ¬x1¬x2¬x3 ∨ ¬x1¬x2x3 ∨ ¬x1x2¬x3 ∨ x1¬x2x3 ∨ x1x2¬x3

    Полином Жегалкина


    1⊕x2x3⊕x1⊕x1x3⊕x1x2⊕x1x2x3


    Решение

    Построение совершенной дизъюнктивной нормальной формы:


    Найдём наборы, на которых функция принимает истинное значение: { 0, 0, 0 } { 0, 0, 1 } { 0, 1, 0 } { 1, 0, 1 } { 1, 1, 0 }
    В соответствие найденным наборам поставим элементарные конъюнкции по всем переменным, причём если переменная в наборе принимает значение 0, то она будет записана с отрицанием:
    K1: { 0, 0, 0 } — ¬x1¬x2¬x3
    K2: { 0, 0, 1 } — ¬x1¬x2x3
    K3: { 0, 1, 0 } — ¬x1x2¬x3
    K4: { 1, 0, 1 } — x1¬x2x3
    K5: { 1, 1, 0 } — x1x2¬x3
    Объединим конъюнкции с помощью операции ИЛИ и получим совершенную дизъюнктивную нормальную форму:

    K1 ∨ K2 ∨ K3 ∨ K4 ∨ K5 = ¬x1¬x2¬x3 ∨ ¬x1¬x2x3 ∨ ¬x1x2¬x3 ∨ x1¬x2x3 ∨ x1x2¬x3


    Построение полинома Жегалкина методом Паскаля:


    x1

    x2

    x3

    F(x1, x2, x3)






















    0

    0

    0

    1



    1



    1



    1

    1

    0

    0

    1

    1

    ⊕ 1

    0



    0



    0




    0

    1

    0

    1



    1

    ⊕ 1

    0



    0




    0

    1

    1

    0

    ⊕ 1

    1

    ⊕ 0

    1



    1

    x2x3

    1

    0

    0

    0



    0



    0

    ⊕ 1

    1

    x1

    1

    0

    1

    1

    ⊕ 0

    1



    1

    ⊕ 0

    1

    x1x3

    1

    1

    0

    1



    1

    ⊕ 0

    1

    ⊕ 0

    1

    x1x2

    1

    1

    1

    0

    ⊕ 1

    1

    ⊕ 1

    0

    ⊕ 1

    1

    x1x2x3


    Построение полинома Жегалкина методом треугольника:


    000

    001

    010

    011

    100

    101

    110

    111

    1

    x3

    x2

    x2x3

    x1

    x1x3

    x1x2

    x1x2x3

    1

    0

    0

    1

    1

    1

    1

    1

    1

    0

    1

    0

    0

    0

    0




    1

    1

    1

    0

    0

    0







    0

    0

    1

    0

    0










    0

    1

    1

    0













    1

    0

    1
















    1

    1



















    0























    1. Строится треугольная таблица, в которой первый столбец совпадает со столбцом значений функции в таблице истинности.
    2. Ячейка в каждом последующем столбце получается путём сложения по модулю 2 двух ячеек предыдущего столбца — стоящей в той же строке и строкой ниже.
    3. Столбцы вспомогательной таблицы нумеруются двоичными кодами в том же порядке, что и строки таблицы истинности.
    4. Каждому двоичному коду ставится в соответствие один из членов полинома Жегалкина в зависимости от позиций кода, в которых стоят единицы.
    5. Если в верхней строке какого-либо столбца стоит единица, то соответствующий член присутствует в полиноме Жегалкина.


    Построение полинома Жегалкина методом неопределённых коэффициентов:


    Запишем данную функцию в виде полинома Жегалкина с неопределёнными коэффициентами:

    f(x1,x2,x3) = a000 ⊕ a100x1 ⊕ a010x2 ⊕ a001x3 ⊕ a110x1x2 ⊕ a101x1x3 ⊕ a011x2x3 ⊕ a111x1x2x3

    f(0,0,0) = a000 = 1 ⇒ a000 = 1

    f(1,0,0) = a000 ⊕ a100 = 1 ⊕ a100 = 0 ⇒ a100 = 1

    f(0,1,0) = a000 ⊕ a010 = 1 ⊕ a010 = 1 ⇒ a010 = 0

    f(0,0,1) = a000 ⊕ a001 = 1 ⊕ a001 = 1 ⇒ a001 = 0

    f(1,1,0) = a000 ⊕ a100 ⊕ a010 ⊕ a110 = 1 ⊕ 1 ⊕ 0 ⊕ a110 = 1 ⇒ a110 = 1

    f(1,0,1) = a000 ⊕ a100 ⊕ a001 ⊕ a101 = 1 ⊕ 1 ⊕ 0 ⊕ a101 = 1 ⇒ a101 = 1

    f(0,1,1) = a000 ⊕ a010 ⊕ a001 ⊕ a011 = 1 ⊕ 0 ⊕ 0 ⊕ a011 = 0 ⇒ a011 = 1

    f(1,1,1) = a000 ⊕ a100 ⊕ a010 ⊕ a001 ⊕ a110 ⊕ a101 ⊕ a011 ⊕ a111 = 1 ⊕ 1 ⊕ 0 ⊕ 0 ⊕ 1 ⊕ 1 ⊕ 1 ⊕ a111 = 0 ⇒ a111 = 1


    Окончательно получаем: 1 x1  x1x2  x1x3  x2x3  x1x2x3

    2. Записать формулу функции ( , , , ) в виде СДНФ и минимизировать ее методами Квайна, Мак-Класки и диаграммами Вейча. Сравнить полученные результаты.

    Введённый вектор: 11100110

    Таблица истинности:


    x1

    x2

    x3

    F

    0

    0

    0

    1

    0

    0

    1

    1

    0

    1

    0

    1

    0

    1

    1

    0

    1

    0

    0

    0

    1

    0

    1

    1

    1

    1

    0

    1

    1

    1

    1

    0

    Совершенная дизъюнктивная нормальная форма (СДНФ)


    ¬x1¬x2¬x3 ∨ ¬x1¬x2x3 ∨ ¬x1x2¬x3 ∨ x1¬x2x3 ∨ x1x2¬x3

    Совершенная конъюнктивная нормальная форма (СKНФ)


    (x1¬x2¬x3) ∧ (¬x1∨x2∨x3) ∧ (¬x1¬x2¬x3)

    Полином Жегалкина


    1⊕x2x3⊕x1⊕x1x3⊕x1x2⊕x1x2x3

    Карта Карно:


    x1 \ x2x3

    00

    01

    11

    10

    0

    1

    1

    0

    1

    1

    0

    1

    0

    1

    Минимизированная ДНФ:


    x2¬x3¬x2x3¬x1¬x2

    Минимизированная КНФ:


    (¬x2¬x3)∧(¬x1∨x2∨x3)


    Решение

    Построение совершенной дизъюнктивной нормальной формы:


    Найдём наборы, на которых функция принимает истинное значение: { 0, 0, 0 } { 0, 0, 1 } { 0, 1, 0 } { 1, 0, 1 } { 1, 1, 0 }
    В соответствие найденным наборам поставим элементарные конъюнкции по всем переменным, причём если переменная в наборе принимает значение 0, то она будет записана с отрицанием:
    K1: { 0, 0, 0 } — ¬x1¬x2¬x3
    K2: { 0, 0, 1 } — ¬x1¬x2x3
    K3: { 0, 1, 0 } — ¬x1x2¬x3
    K4: { 1, 0, 1 } — x1¬x2x3
    K5: { 1, 1, 0 } — x1x2¬x3
    Объединим конъюнкции с помощью операции ИЛИ и получим совершенную дизъюнктивную нормальную форму:

    K1 ∨ K2 ∨ K3 ∨ K4 ∨ K5 = ¬x1¬x2¬x3 ∨ ¬x1¬x2x3 ∨ ¬x1x2¬x3 ∨ x1¬x2x3 ∨ x1x2¬x3


    Построение совершенной конъюнктивной нормальной формы:


    Найдём наборы, на которых функция принимает ложное значение: { 0, 1, 1 } { 1, 0, 0 } { 1, 1, 1 }
    В соответствие найденным наборам поставим элементарные дизъюнкции по всем переменным, причём если переменная в наборе принимает значение 1, то она будет записана с отрицанием:
    D1: { 0, 1, 1 } — x1¬x2¬x3
    D2: { 1, 0, 0 } — ¬x1x2x3
    D3: { 1, 1, 1 } — ¬x1¬x2¬x3
    Объединим дизъюнкции с помощью операции И и получим совершенную конъюнктивную нормальную форму:

    D1 ∧ D2 ∧ D3 = (x1¬x2¬x3) ∧ (¬x1∨x2∨x3) ∧ (¬x1¬x2¬x3)


    Построение полинома Жегалкина методом Паскаля:


    x1

    x2

    x3

    F(x1, x2, x3)






















    0

    0

    0

    1



    1



    1



    1

    1

    0

    0

    1

    1

    ⊕ 1

    0



    0



    0




    0

    1

    0

    1



    1

    ⊕ 1

    0



    0




    0

    1

    1

    0

    ⊕ 1

    1

    ⊕ 0

    1



    1

    x2x3

    1

    0

    0

    0



    0



    0

    ⊕ 1

    1

    x1

    1

    0

    1

    1

    ⊕ 0

    1



    1

    ⊕ 0

    1

    x1x3

    1

    1

    0

    1



    1

    ⊕ 0

    1

    ⊕ 0

    1

    x1x2

    1

    1

    1

    0

    ⊕ 1

    1

    ⊕ 1

    0

    ⊕ 1

    1

    x1x2x3


    Построение полинома Жегалкина методом треугольника:


    000

    001

    010

    011

    100

    101

    110

    111

    1

    x3

    x2

    x2x3

    x1

    x1x3

    x1x2

    x1x2x3

    1

    0

    0

    1

    1

    1

    1

    1

    1

    0

    1

    0

    0

    0

    0




    1

    1

    1

    0

    0

    0







    0

    0

    1

    0

    0










    0

    1

    1

    0













    1

    0

    1
















    1

    1



















    0























    1. Строится треугольная таблица, в которой первый столбец совпадает со столбцом значений функции в таблице истинности.
    2. Ячейка в каждом последующем столбце получается путём сложения по модулю 2 двух ячеек предыдущего столбца — стоящей в той же строке и строкой ниже.
    3. Столбцы вспомогательной таблицы нумеруются двоичными кодами в том же порядке, что и строки таблицы истинности.
    4. Каждому двоичному коду ставится в соответствие один из членов полинома Жегалкина в зависимости от позиций кода, в которых стоят единицы.
    5. Если в верхней строке какого-либо столбца стоит единица, то соответствующий член присутствует в полиноме Жегалкина.


    Построение полинома Жегалкина методом неопределённых коэффициентов:


    Запишем данную функцию в виде полинома Жегалкина с неопределёнными коэффициентами:

    f(x1,x2,x3) = a000 ⊕ a100x1 ⊕ a010x2 ⊕ a001x3 ⊕ a110x1x2 ⊕ a101x1x3 ⊕ a011x2x3 ⊕ a111x1x2x3

    f(0,0,0) = a000 = 1 ⇒ a000 = 1

    f(1,0,0) = a000 ⊕ a100 = 1 ⊕ a100 = 0 ⇒ a100 = 1

    f(0,1,0) = a000 ⊕ a010 = 1 ⊕ a010 = 1 ⇒ a010 = 0

    f(0,0,1) = a000 ⊕ a001 = 1 ⊕ a001 = 1 ⇒ a001 = 0

    f(1,1,0) = a000 ⊕ a100 ⊕ a010 ⊕ a110 = 1 ⊕ 1 ⊕ 0 ⊕ a110 = 1 ⇒ a110 = 1

    f(1,0,1) = a000 ⊕ a100 ⊕ a001 ⊕ a101 = 1 ⊕ 1 ⊕ 0 ⊕ a101 = 1 ⇒ a101 = 1

    f(0,1,1) = a000 ⊕ a010 ⊕ a001 ⊕ a011 = 1 ⊕ 0 ⊕ 0 ⊕ a011 = 0 ⇒ a011 = 1

    f(1,1,1) = a000 ⊕ a100 ⊕ a010 ⊕ a001 ⊕ a110 ⊕ a101 ⊕ a011 ⊕ a111 = 1 ⊕ 1 ⊕ 0 ⊕ 0 ⊕ 1 ⊕ 1 ⊕ 1 ⊕ a111 = 0 ⇒ a111 = 1


    Окончательно получаем: 1 x1  x1x2  x1x3  x2x3  x1x2x3


    Минимизация ДНФ


    x1 \ x2x3

    00

    01

    11

    10

    0

    1

    1

    0

    1

    1

    0

    1

    0

    1

    Выделим на карте Карно прямоугольные области из единиц наибольшей площади, являющиеся степенями двойки и выпишем соответствующие им конъюнкции:

    Область 1:


    x1 \ x2x3

    00

    01

    11

    10

    0

    1

    1

    0

    1

    1

    0

    1

    0

    1


    K1: x2¬x3

    Область 2:


    x1 \ x2x3

    00

    01

    11

    10

    0

    1

    1

    0

    1

    1

    0

    1

    0

    1


    K2¬x2x3

    Область 3:


    x1 \ x2x3

    00

    01

    11

    10

    0

    1

    1

    0

    1

    1

    0

    1

    0

    1


    K3¬x1¬x2

    Объединим их с помощью операции ИЛИ и получим минимизированную ДНФ:

    x2¬x3¬x2x3¬x1¬x2


    Минимизация КНФ


    x1 \ x2x3

    00

    01

    11

    10

    0

    1

    1

    0

    1

    1

    0

    1

    0

    1

    Выделим на карте Карно прямоугольные области из нулей наибольшей площади, являющиеся степенями двойки и выпишем соответствующие им дизъюнкции:

    Область 1:


    x1 \ x2x3

    00

    01

    11

    10

    0

    1

    1

    0

    1

    1

    0

    1

    0

    1


    D1: (¬x2¬x3)

    Область 2:


    x1 \ x2x3

    00

    01

    11

    10

    0

    1

    1

    0

    1

    1

    0

    1

    0

    1


    D2: (¬x1x2x3)

    Объединим их с помощью операции И и получим минимизированную КНФ:

    (¬x2¬x3)∧(¬x1∨x2∨x3)

    3. Реализовать один из методов программным образом (методы раздаются на практике преподавателем)

    Карта Карно:


    x1 \ x2x3

    00

    01

    11

    10

    0

    1

    1

    0

    1

    1

    0

    1

    0

    1

    Выделим на карте Карно прямоугольные области из единиц наибольшей площади, являющиеся степенями двойки и выпишем соответствующие им конъюнкции:

    Область 1:


    x1 \ x2x3

    00

    01

    11

    10

    0

    1

    1

    0

    1

    1

    0

    1

    0

    1


    K1: x2¬x3

    Область 2:


    x1 \ x2x3

    00

    01

    11

    10

    0

    1

    1

    0

    1

    1

    0

    1

    0

    1


    K2¬x2x3

    Область 3:


    x1 \ x2x3

    00

    01

    11

    10

    0

    1

    1

    0

    1

    1

    0

    1

    0

    1


    K3¬x1¬x2

    Объединим их с помощью операции ИЛИ и получим минимизированную ДНФ:

    x2¬x3¬x2x3¬x1¬x2


    Минимизация КНФ


    x1 \ x2x3

    00

    01

    11

    10

    0

    1

    1

    0

    1

    1

    0

    1

    0

    1

    Выделим на карте Карно прямоугольные области из нулей наибольшей площади, являющиеся степенями двойки и выпишем соответствующие им дизъюнкции:

    Область 1:


    x1 \ x2x3

    00

    01

    11

    10

    0

    1

    1

    0

    1

    1

    0

    1

    0

    1


    D1: (¬x2¬x3)

    Область 2:


    x1 \ x2x3

    00

    01

    11

    10

    0

    1

    1

    0

    1

    1

    0

    1

    0

    1


    D2: (¬x1x2x3)

    Объединим их с помощью операции И и получим минимизированную КНФ:

    (¬x2¬x3)∧(¬x1∨x2∨x3)


    написать администратору сайта