Булеви функции - основни понятия и дефиниции - част I
Булеви функции.
Основни понятия, таблици и закони на Де Морган
Какво представляват двоичните функции, как се представят с таблици на истинност и как се използват основните булеви операции
Булевите функции са една от най-важните теми в дискретната математика, защото стоят в основата на логиката, програмирането, цифровата електроника и начина, по който компютрите вземат решения. Те работят само с две стойности — \(0\) и \(1\), които можем да тълкуваме като невярно/вярно, изключено/включено, забранено/разрешено, няма сигнал/има сигнал. Именно затова булевите функции са естественият математически език за описание на условия, логически схеми, електронни устройства и програмни решения.
Исторически началото е поставено от Джордж Бул, който през XIX век показва, че логическите разсъждения могат да се разглеждат алгебрично. По-късно тази идея придобива огромно значение за информатиката и техниката — логическите операции могат да се реализират с електрически схеми, а логическите зависимости да се превръщат в работещи програми и цифрови устройства. Така булевата алгебра се оказва не просто математическа теория, а една от фундаменталните основи на компютърната ера.
Защо тази тема е важна за програмирането? Защото всяка условна конструкция от типа if, всяка проверка за достъп, всяко решение дали дадено действие да се извърши или не, на практика е булева функция. Когато пишем програма, ние много често неусетно реализираме именно такива функции. Затова колкото по-добре разбираме структурата на булевите изрази, толкова по-ясен, по-кратък и по-надежден код можем да пишем.
1) Учим се да описваме логически зависимости точно и кратко.
2) Разбираме как от математическа формула се получава логическа схема.
3) Виждаме как един логически израз се превръща в програмен код.
4) Научаваме как чрез опростяване на булева функция можем да опростим и самата програма или схема.
Нека имаме бариера на паркинг с три входни условия: \[x_1=\text{„има валидна карта"},\quad x_2=\text{„разрешен е нормален достъп"},\quad x_3=\text{„включен е специален режим"}.\] Бариерата се вдига само когато има карта и е изпълнено поне едно от условията \(x_2\) или \(x_3\): \[f(x_1,x_2,x_3)=x_1 x_2\lor x_1 x_3.\] Булевата алгебра ни позволява да опростим: \[x_1 x_2\lor x_1 x_3=x_1(x_2\lor x_3).\] Вместо две отделни проверки с карта — само една. Опростяването е еднакво валидно за логическата схема, за програмния код и за математическия израз.
Двата варианта в програмен код правят едно и също, но вторият е по-кратък, по-лесен за четене и по-малко податлив на грешки:
if ((card && normalAccess) || (card && specialMode)) { openBarrier(); }След опростяване:
if (card && (normalAccess || specialMode)) { openBarrier(); }Ето защо изучаването на булевите функции не е само теория. То ни учи как да мислим за условията по ясен математически начин, как да превеждаме реални ситуации на езика на логиката и как чрез опростяване на булеви изрази да правим кода и схемите по-ефективни.
Множеството \(B_2^n = B_2\times B_2\times\cdots\times B_2\) се състои от всички наредени \(n\)-торки от нули и единици. Булевата функция \(f:B_2^n\to B_2\) съпоставя на всяка такава \(n\)-торка \((x_1,x_2,\ldots,x_n)\) стойност от \(\{0,1\}\).




- \(f_0=\mathbf{0}\) и \(f_{15}=\mathbf{1}\) — константи
- \(f_1\) — конюнкция (логическо и), означение \(\mathbf{\cdot}\)
- \(f_3=x_1\), \(f_5=x_2\) — идентитети
- \(f_6\) — изключващо или, означение \(\mathbf{+}\)
- \(f_7\) — дизюнкция (логическо или), означение \(\lor\)
- \(f_8\) — стрелка на Пиърс, означение \(\downarrow\)
- \(f_9\) — еквивалентност, означение \(\equiv\)
- \(f_{10}=\overline{x_2}\), \(f_{12}=\overline{x_1}\) — отрицания
- \(f_{13}\) — импликация, означение \(\to\)
- \(f_{14}\) — черта на Шефер, означение \(\mid\)
Кликнете върху задача, за да видите решението.





Опитайте да решите сами, преди да потърсите помощ.
15 въпроса • 4 точки за верен отговор • максимум 60 точки
- 1.Дискретна математика, С. Бойчева, С. Толева-Стоименова, изд. Сиела, 2018
- 2.Увод в дискретната математика, К. Манев, изд. КЛМН, 2012
- 3.Въведение в дискретната математика, Хр. Кискинов, ПУИ
Запишете урок
Индивидуални и групови онлайн уроци по математика за цялата страна
- ›НВО по математика след 7 клас
- ›НВО по математика след 10 клас
- ›Кандидатстудентски изпити по математика
- ›Софийски университет „Св. Климент Охридски“
- ›УАСГ – Университет по архитектура, строителство и геодезия
- ›Технически университет – София и др.
- ›Прием в университети в чужбина (ISEE, SAT, A-Level и др.)
- ›Усвояване на текущия учебен материал (всички класове)
- ›Студенти по всички математически дисциплини:
Математически анализ, Линейна алгебра, Аналитична геометрия, Диференциални уравнения, Теория на вероятностите, Статистика и др.
Харесва ли ви съдържанието?
Ако този урок ви е бил полезен, можете да подкрепите създаването на нови безплатни материали.
Коментари
Публикуване на коментар