# Упражнение2_Булеви функции – начини на представяне. Анализ на логически схеми. Преминаване от един базис в друг
## 1. Булеви функции и логически операции
Булевата функция е функция, която приема стойности 0 и 1. Променливите на булевата функция също могат да приемат само две стойности — 0 (невярно) и 1 (вярно). Основните логически операции са:
- Конюнкция (И) – резултатът е 1 само ако и двата аргумента са 1.
- Дизюнкция (ИЛИ) – резултатът е 0 само ако и двата аргумента са 0.
- Отрицание (НЕ) – обръща стойността на аргумента (ако е 1, става 0 и обратно).
$$
f(a,b,c)=\bar a\,b+\bar a\,c
$$
$$
{\large \textbf{Истинностна таблица}}
$$
<table align="center">
<tr>
<th>i</th><th>a</th><th>b</th><th>c</th><th>f</th>
</tr>
<tr><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr>
<tr><td>1</td><td>0</td><td>0</td><td>1</td><td>1</td></tr>
<tr><td>2</td><td>0</td><td>1</td><td>0</td><td>1</td></tr>
<tr><td>3</td><td>0</td><td>1</td><td>1</td><td>1</td></tr>
<tr><td>4</td><td>1</td><td>0</td><td>0</td><td>0</td></tr>
<tr><td>5</td><td>1</td><td>0</td><td>1</td><td>0</td></tr>
<tr><td>6</td><td>1</td><td>1</td><td>0</td><td>0</td></tr>
<tr><td>7</td><td>1</td><td>1</td><td>1</td><td>0</td></tr>
</table>
## 2. Представяне в СДНФ
Конституент на единицата (минтерм) е елементарна конюнкция, в която участват всички променливи на функцията. Минтермът има стойност 1 само за един единствен набор. Съвършената дизюнктивна нормална форма (СДНФ) е дизюнкция от минтерми, за които функцията е 1.
$$
Пример: f=\bar a\,\bar b\,c\ \vee\ \bar a\,b\,\bar c\ \vee\ \bar a\,b\,c
=\Sigma m(1,2,3).
$$
### Практическо приложение:
СДНФ се използва основно при синтез и проектиране на логически схеми, когато трябва ясно да се определят всички входни комбинации, за които изходът е 1. Тя е удобна за:
* изграждане на логически схеми от елементи И и ИЛИ;
* автоматично генериране на схеми в CAD системи за цифрови устройства;
* анализ на функции, когато трябва да се види при кои условия системата ще даде вярна (активна) реакция.
## 3. Представяне в СКНФ
Конституент на нулата (макстерм) е елементарна дизюнкция, в която участват всички променливи на функцията. Макстермът има стойност 0 само за един набор. Съвършената конюнктивна нормална форма (СКНФ) е конюнкция от макстерми, за които функцията е 0.
$$
Пример: f=(a\vee b\vee c)(a\vee \bar b\vee \bar c)(\bar a\vee b\vee c)(a\vee \bar b\vee c)
=\Pi M(0,4,5,6,7).
$$
### Практическо приложение:
СКНФ се използва, когато трябва да се анализират или реализират условия за изключване (т.е. комбинации, при които изходът е 0). Подходяща е за:
* проверка на логическа коректност и избягване на недопустими състояния;
* изграждане на схеми с елементи тип ИЛИ и И, които реализират условия за блокиране;
* анализ на откази или забранени комбинации в цифрови системи;
при логическо моделиране на контроли и защити, където е важно да се знае кога системата няма да сработи.
## 4. Преминаване от един базис в друг
Всеки базис, който е функционално пълен, може да реализира всички булеви функции. Най-често използваните са стандартният базис (И, ИЛИ, НЕ) и алтернативните базиси, изградени само с операции NAND или NOR.
$$
\text{Пример за преобразуване чрез операция NAND:}\quad \bar a b = (a \uparrow a)\ \uparrow\ (b \uparrow b)
$$
## 5. Заключение и въпроси за проверка
Булевите функции са основата на логическите схеми и цифровите устройства. Чрез тях можем да представим и реализираме всяка логическа зависимост. Минимизацията и преобразуването на функциите са важни за оптимизацията на схемите. Контролни въпроси:
1. Какво представлява булевата функция?
2. Какви са основните логически операции?
3. Какво е минтерм и макстерм?
4. Как се съставят СДНФ и СКНФ?
5. Какво означава преминаване от един базис в друг?