From Wikipedia, the free encyclopedia
Карноова карта, Карноова мапа или скраћено К-мапа, је метод за упрошћавање израза Булове алгебре. Морис Карно је измислио овај метод 1953, као побољшање Веичевог дијаграма. Карноова мапа смањује потребу за напорним калкулацијама тако што користи људску способност препознавања образаца. Она такође дозвољава брзу идентификацију и елиминацију потенцијалних проблема са тркама услова.
Потребни Булови резултати су смештени из таблице истинитости у дводимензионалну матрицу где су ћелије поређане у Грејовом коду, и свака позиција сваке ћелије представља једну комбинацију улазних параметара, док вредност сваке ћелије представља одговарајућу излазну вредност. Бирају се оптималне групе јединица и нула, које представљају изразе канонског облика оригиналне таблице истинитости.[1] Ови изрази се могу искористити за записивање минималног Буловог израза који представља захтевану логику.
Карноове мапе се користе да упрошћавање логичких проблема у реалном животу тако да се они могу имплементирати тако да захтевају минималан број логичких кола. Изрази суме производа се увек могу имплементирати коришћењем логичког кола И која се спајају у логичка кола ИЛИ, и производ сума се може имплементирати користећи логичка кола ИЛИ која се спајају у логичка кола И.[2] Карноове мапе се могу користити и за упрошћавање логичких израза у софтверском дизајну. Булови услови, као на пример условне наредбе, се могу доста укомпликовати, што чини програмски код тешким за читање и одржавање. Када се минимизује, канонски облик израза суме производа и производа суме се може имплементирати директно помоћу И и ИЛИ логичких операција.[3]
Карноове мапе се користе као процес упрошћавања функција Булове алгебре. Узмимо Булову или бинарну функцију описану у следећој таблици истинитости.
A | B | C | D | f(A, B, C, D) | |
---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 1 | 0 |
2 | 0 | 0 | 1 | 0 | 0 |
3 | 0 | 0 | 1 | 1 | 0 |
4 | 0 | 1 | 0 | 0 | 0 |
5 | 0 | 1 | 0 | 1 | 0 |
6 | 0 | 1 | 1 | 0 | 1 |
7 | 0 | 1 | 1 | 1 | 0 |
8 | 1 | 0 | 0 | 0 | 1 |
9 | 1 | 0 | 0 | 1 | 1 |
10 | 1 | 0 | 1 | 0 | 1 |
11 | 1 | 0 | 1 | 1 | 1 |
12 | 1 | 1 | 0 | 0 | 1 |
13 | 1 | 1 | 0 | 1 | 1 |
14 | 1 | 1 | 1 | 0 | 1 |
15 | 1 | 1 | 1 | 1 | 0 |
Следе две различите нотације које описују исту функцију у неупрошћеном облику Булове алгебре, користећи променљиве , , , и њихове инверзне вредности.
У овом случају, за улаз од 4 променљиве можемо добити 16 комбинација, па таблица истинитости има 16 редова и Карноова мапа има 16 позиција. Што значи да ће Карноова мапа бити распоређена у матрицу 4 × 4.
Вредности редова и колона (приказане на врху и са леве стране мапе) су поређане по Грејевом коду уместо бинарног бројевног поретка. Грејев код осигурава да се само једна променљива мења између сваког пара суседних ћелија. Свака ћелија комплетне Карноове мапе садржи бинарну цифру која представља решење функције за ту комбинацију улаза.
Након што је Карноова мапа конструисана она се користи за налажење најпростијих израза за информације из таблице истинитости. Суседне јединице у Карноовој мапи представљају могућности за упрошћавање израза. Минимални израз се добија заокруживањем група јединица на мапи. Те групе морају бити правоугаоног облика и морају да имају површину величине неког степена броја 2 (нпр. 1, 2, 4, 8...). Ти правоугаоници треба да буду што већи, али не смеју да садрже нуле. Групе смеју да се преклапају у циљу да се повећају. Оптимална груписања на овом примеру су приказана зеленим, црвеним и плавим линијама, и црвена и зелена група се преклапају. Црвена група је поље са 2 × 2 ћелије, зелена је 4 × 1, и област преклапања је означена браон бојом.
Мрежа је торусног облика што значи да се поља која се налазе на ивици матрице спајају са другим на крајевима матрице (видети слику). Ћелије скроз десно су заправо суседне са ћелијама које су скроз лево. То такође важи и за ћелије које се налазе скро на врху и на дну. Тако да може да буде валидан израз – он укључује ћелије 12 и 8 на врху, и спаја их са ћелијама 10 и 14 на дну – као и , који укључује 4 ћошка.
Када је Карноова мапа конструисана и суседне јединице повезане у правоугаоне групе, минимално алгебарско решење се може наћи посматрањем променљивих које остају у истим групама.
За црвену групу:
Значи, први део израза у Буловој суми производа је израз .
За зелену групу, и одржавају исто стање, док се и мењају, што значи да добијамо .
На исти начин, плава група нам даје израз .
Коначно решење је једноставно производ ових група, односно .
На овај начин смо уз помоћ Карноових мапа упростили израз
у
Такође би било могуће доћи до овог решења пажљивом употребом аксиома Булове алгебре, али време које је потребно за тако нешто расте експоненцијално.
Инверзна функција се решава на исти начин, с тим што се у том случају групишу нуле уместо јединица.
Три израза искоришћена да покрију инверзну функцију су показана са сивим правоугаоницима са различитим бојама оквира:
Што нам даје инверзну функцију:
Кроз коришћење Де Морганових закона производ сума може бити одређен:
Карноове мапа такође дозвољавају лаку минимизацију функција за чије таблице истинитости које садрже небитна стања. Небитно стање је комбинација улаза за које дизајнер не жели да зна шта је излаз. Управо зато, те случајеве можемо искористити и као нуле и као јединице, шта нам више одговара. Оне се углавном означавају са X или d.
Пример на десној страни је исти као и пример изнад, али је у њему вредност F за ABCD = 1111 замењен са небитним стањем. Ово нам омогућава да црвену групу проширимо скроз до дна, и самим тим, избацимо зелену групу.
На основу овога добијамо нову једначину:
Приметите да је први израз , а не . У овом случају смо изгубили израз зелене групе, упростили смо црвену групу и избегли трку услова (приказану жутом бојом).
Случај за инверзну функцију је следећи:
Карноове мапе су корисне за детектовање и елиминацију трка услова.
Да ли ће се ови краткотрајни кварови јавити, зависи од физичке природе имплементације, и да ли треба да бринемо о њима зависи од примене.
У овом случају, додатни израз би елиминисао потенцијалну трку услова, спајајући зелено и плаво излазно стање или плаво и црвено излазно стање: ово је приказано као жута област (која се обавија са дна на врх са десне стране) у дијаграму десно.
Израз је непотребан у изразима статичке логике система, али такви редундантни изрази су потребни да би се обезбедиле динамичке перформансе без трке услова.
Слично, додатни израз се мора додати на инверзну функцију да би се елиминисала потенцијална трка услова. Користећи Де Морганов закон добијамо још један израз производа сума F, али са новим фактором .
Следе примери са свим могућим Карноовима мапама са 2 променљиве. Поред сваке се налазе и минимални изрази као функција и минимални услови без трке услова.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.