Init commit

This commit is contained in:
2024-06-18 16:24:41 +03:00
commit dadc3c52cf
63 changed files with 122225 additions and 0 deletions

View File

@ -0,0 +1,27 @@
Логическая функция и способы её задания. Число логических функций.
Существенные и фиктивные переменные. Основные операции алгебры логики.
Логические формулы. Эквивалентность функций. Эквивалентность формул.
# Логическая функция и способы её задания.
- **Логическая функция** (булева) - функция, у которой каждая переменная принимает значения {0, 1} и сама функция возвращает значение из такого множества $f:\{0,1\}^n \rightarrow \{0,1\}$
- Любую логическую функцию можно задать перечислением значений на всех различных наборах значений переменных.
# Число логических функций.
###### Теорема
Существует $2^{2^n}$ логических функций от $n$ переменных
###### Доказательство
Функция определяется набором значений и каждый набор длины $2^𝑛$ из элементов 0, 1 задает некоторую функцию от 𝑛 переменных. Логических функций от $n$ переменных имеется ровно столько, сколько существует таких наборов, тo есть $2^{2^n}$
# Существенные и фиктивные переменные
- **Фиктивная переменная** - переменная, значение которой не зависит на значение функции
- **Существенная переменная** - не фиктивная переменная (лол)
# Основные операции алгебры логики
- **Отрицание**: $f(x) = \bar x$
- **Селектор**: $f(x, y) = x$
- **Конъюнкция**: $f(x, y) = x\&y$
- **Дизъюнкция**: $f(x, y) = x|y$
- **Сумма по модулю 2**: $f(x, y) = x \oplus y$
- **Импликация**: $f(x,y) = x \rightarrow y$
- **Эквивалентность**: $f(x, y) = x \equiv y$
# Логические формулы
**Логические формулы** - формулы, на основе элементарных логических функций
# Эквивалентность формул
Две формулы эквивалентны, если они представляют эквивалентные функции

View File

@ -0,0 +1,43 @@
Булева алгебра и её основные свойства. Булевы формулы. Нормальные формы (ДНФ и КНФ). Преобразование формул к ДНФ и КНФ.
1. Булева алгебра и её основные свойства
Система $<A, \{\&, |, \bar{}, 0, 1 \}>$
Множество **А**
2 элемента: **0, 1**
2 бинарных операций: &, |
Унарная операция: $\bar{}$
со следующими свойствами:
1. Ассоциативность
$x \wedge (y \wedge z) = (x \wedge y) \wedge z$
$x \vee (y \vee z) = (x \vee y) \vee z$
2. Коммутативность
$x \wedge y = y \wedge x$
$x \vee y = y \vee x$
3. Дистрибутивность
$x \wedge (y \vee z) = (x \wedge y) \vee (x \wedge z)$
$x \vee (y \wedge z) = (x \vee y) \wedge (x \vee z)$
4. Идемпотентность
$x \wedge x = x$, $x \vee x = x$
2. Основные функции
1. Законы де Моргана
$\overline{(x \wedge y)} = \bar y \vee \bar x$
$\overline {(x \vee y)} = \bar y \wedge \bar x$
2. Закон двойного отрицания
$\bar{\bar x} = x$
3. Закон противоречия (исключённого третьего)
$x \wedge \bar x = 0$
$x \vee \bar x = 1$
4. Свойства констант
$x \wedge 0 = 0$, $x \vee 1 = 1$
$x \wedge 1 = x$, $x \vee 0 = x$
$\bar1 = 0$, $\bar0 = 1$
5. Законы поглощения
$x \wedge (x \vee y) = x$
$x \vee (x \wedge y) = x$
6. Закон Блейка-Порецкого
$x \wedge (\bar x \vee y) = x \wedge y$
$x \vee (\bar x \wedge y) = x \vee y$
3. **Булева формула** - формула, в которой используются только операции отрицания, конъюнкции и дизъюнкции с константами 0 и 1
4. Нормальные формы (ДНФ и КНФ)
- **ДНФ** (Дизъюнктивная нормальная форма) - формула вида 0 или $K_1 \vee K_2 \vee \dots \vee K_m$, где $K$ - попарно различные коэффициенты
- **КНФ** (Конъюнктивная нормальная форма) - формула 1 или формула вида $D_1 * D_2 * \dots * D_m$,, где $D$ - попарно различные элементарные дизъюнкции

View File

@ -0,0 +1,23 @@
Совершенные ДНФ и КНФ. Разложение функции по переменной. Построение СДНФ и СКНФ. Единственность СДНФ и СКНФ.
1. Совершенные ДНФ и КНФ
- **СДНФ** - ДНФ, каждая элементарная конъюнкция которой содержит все переменные, имеющиеся в формуле (0 - тоже СДНФ)
- **СКНФ** - КНФ, каждая дизъюнкция которой содержит все переменные, имеющиеся в формуле (1 - тоже СКНФ)
2. Разложение функции по переменной
$$
\begin{equation*}
x^\alpha =
\begin{cases}
\bar x &\text{если $\alpha = 0$}\\
x &\text{если $\alpha = 1$}
\end{cases}
\end{equation*}
$$
**Теорема (о разложении функции по переменной)**: Для любой логической функции $𝑓(𝑥_1, 𝑥_2, \dots, 𝑥_𝑛)$ справедливо тождество $$
f(x_1, x_2, \dots, x_n)
= x^0_k * f(x_1, x_2, \dots, x_{k-1}, 0, x_{k+1}, \dots, x_n) \vee x^1_k * f(x_1, x_2, \dots, x_{k-1}, 0, x_{k+1}, \dots, x_n)
= \overline{x_k} * f(x_1, x_2, \dots, x_{k-1}, 0, x_{k+1}, \dots, x_n) \vee x_k * f(x_1, x_2, \dots, x_{k-1}, 0, x_{k+1}, \dots, x_n)
$$
...
3. Единственность СДНФ и СКНФ

View File

@ -0,0 +1,12 @@
Импликанта логической функции. Свойство склейки. Сокращённая ДНФ.
1. **Импликанта** - элементарная конъюнкция К, которая имплицирует функцию, т.е. $K \rightarrow f = 1$
2. **Теорема (свойство склейки)**:
Пусть 𝐴 некоторая элементарная конъюнкция,
причём 𝐴𝑥 и 𝐴 ҧ 𝑥 импликанты функции 𝑓. Тогда 𝐴
тоже импликанта этой функции.
**Доказательство**
Поскольку $Ax$ и $A\bar x$ - импликанты функций f, $Ax \rightarrow f = 1$ и $A\bar x \rightarrow f = 1$
Тогда $(Ax \rightarrow f) \wedge (A\bar x \rightarrow f) = 1$
$(Ax \rightarrow f) \wedge (A\bar x \rightarrow f) = (\overline{Ax} \vee f) \wedge (\overline{A\bar x} \vee f) = (\overline{Ax} \wedge \overline{A\bar x}) \vee f = \overline{(Ax \vee A\bar x)} \vee f = (Ax \vee A\bar x) \rightarrow f = A(x \vee \bar x) = A \rightarrow f = 1$
3. **Сокращённая ДНФ** - дизъюнкция всех простых испликант функции

View File

@ -0,0 +1,12 @@
Построение Сокращённой ДНФ. Метод «булева куба». Метод Квайна Мак-Класки. Метод Нельсона.
1. Построение сокращенной ДНФ
![[Pasted image 20240607225319.png]]
2. Метод Квайна
1. Всю совокупность номеров наборов нужно разбить на группы в зависимости от числа единиц, имеющихся в наборах.
2. Элементы двух соседних групп (число единиц должно отличаться на 1) необходимо попарно сравнить и выявить пары соседних наборов.
3. Соседние наборы пометить и записать результат их склейки.
4. Процесс продолжается до тех пор, пока возможны склейки.
5. Все несклееные (не помеченные) наборы дают представление функции в виде сокращенной ДНФ.
3. Метод Нельсона
Построить СКНФ, раскрыть скобки и привести подобные

View File

@ -0,0 +1,33 @@
Алгебра Жегалкина. Свойства операции ⊕. Полиномы Жегалкина. Единственность полинома Жегалкина.
1. **Алгебра Жегалкина** - алгебраическая система для описания логических функций
1. Используются константы, конъюнкция и Сумма по модулю 2
2. Нет отрицания
3. $<\{0,1\},\{\oplus,\wedge,0,1\}>$ - поле наименьшего размера
2. Свойства $\oplus$:
- $x\oplus 0 = x$
- $x \oplus x = 0$, $x \oplus \bar x = 1$
- **Коммутативность**: $x \oplus y = y \oplus x$
- **Ассоциативность**: $(x \oplus y) \oplus z = x \oplus (y \oplus z)$
- **Дистрибутивность**: $x \cdot (y \oplus z) = x \cdot y \oplus x \cdot z$
- Уравнение $x \oplus a = b$ имеет единственное решение $x = a \oplus b$
3. Полином Жегалкина
1. Нет скобок
2. Нет одинаковых слагаемых
3. Одним из слагаемых может быть 1
4. 0 - полином, но не слагаемое
4. **Теорема.** Для любой логической функции существует единственный представляющий её полином.
*Доказательство*:
f - логическая функция
P(f) - её полином
- f представляется булевой функцией (например, [[1 курс/2 семестр/Дискретка/Билеты/3|СДНФ]])
- В формуле заменяется каждое отрицание ($\bar x = x \oplus 1$) и дизъюнкция ($x \vee y = xy \oplus x \oplus y$)
- Раскрываются скобки, применяя дистрибутивный закон
- Каждая конкатенация превращается в элементарную конъюнкцию ($x \cdot x = x$)
- Одинаковые слагаемые отпадают ($x \oplus x = 0$)
Каждое слагаемое в полиноме имеет вид $x_{i_1}, x_{i_2}, \dots, x_{i_k}$ или 1. Каждая конъюнкция определяется подмножеством $\{i_1, i_2, \dots, i_k\}$ или $\varnothing$ множества $\{1, 2, \dots, n\}$. Следовательно, множество всех слагаемых содержит $2^n$ элементов
Для составления полинома требуется выбрать одно из $2^{2^n}$ подмножеств множества всех возможных слагаемых - полинома от переменных $x_1, x_2, \dots, x_n$. Столько же и функций от таких переменных, так что для каждой функции f существует представляющий её полином, и число функций = число полиномов, поэтому P - биекция. А значит, одного полинома хватает только для одной функции

View File

@ -0,0 +1,19 @@
Ациклический орграф. Теорема о монотонной нумерации.
# Ациклический орграф
**Ациклический орграф** - орграф без ориентированных циклов
**Монотонная нумерация** вершин графа - нумерация, при котором номер начальной вершины каждого ребра меньше номера конечной вершины
**Полустепень исхода** ($deg^-(x)$) - число рёбер орграфа, выходящих из вершины x
**Полустепень захода** ($deg^+(x)$) - число рёбер, входящих в вершину x
# Теорема о монотонной нумерации
###### Теорема
Для любого ациклического орграфа существует монотонная нумерация его вершин
###### Доказательство
Присваиваются номера вершинам в порядке возрастания, $1, \dots, k$, таким образом уже частичная нумерация монотонна
Выбирается какой-то ориентированный путь P наибольшей длины, проходящий только через вершины, ещё не имеющие номеров. Начальная вершина - $\alpha$
Пусть $\exists$ вершина b так, что $(b,a) \in E$ , тогда вершина
- не принадлежит P, иначе цикл
- имеет номер, иначе есть путь больше P

View File

@ -0,0 +1,22 @@
Схемы из функциональных элементов. Сложность и глубина схем. Способы построения схем в стандартном базисе.
# Схемы из функциональных элементов
**СФЭ** (Схема из функциональных элементов) - ациклический орграф, содержащий вершины двух типов:
1. **Входные** (источники) - к вершине приписан уникальный символ переменной
2. **Функциональные** (гейты) - приписан символ логической функции. [[1 курс/2 семестр/Дискретка/Билеты/7|Полустепень захода]] совпадает с числом аргументов соответствующей функции1
Для гейтов используется ограниченный набор функций:
- **Стандартный** - $\wedge, \vee, \bar{}$
- **Базис Жегалкина** - $\oplus, \wedge, 1$
# Сложность и глубина схем
**Сложность схемы** - число гейтов в схеме
**Схемная сложность** функции ($L(f)$) - наименьшая сложность схемы, вычисляющий функцию
**$L(n)$** - наибольшая системная сложность функции от n переменных
> ![NOTE]
> $L(f)$ и $L(n)$ зависят от базиса
**Глубина схемы** - наибольшая длина ориентированного пути, с началом во входной вершине
# Способы построения схем в стандартном базисе
1. Использование нормальных форм
2. [[1 курс/2 семестр/Дискретка/Билеты/3|Разложение по переменной]]

View File

@ -0,0 +1,40 @@
Суперпозиция функций. Замыкание системы функций. Свойства замыкания. Полная система функций. Теорема сведения.
# Суперпозиция функций
**Суперпозиция** функции из множества A -
1. любая выходная функция схемы, где разрешено использовать только функции множества A
2. функция, которая может быть получена из A операциями _переименования переменных_ и _подстановки_
**Полная система** функций - набор функциональных элементов, с помощью которых можно построить схему для любой функции
## Операции над функциями
1. **Переименование переменных** - переменным даются новые имена
$f(x_1, x_2, \dots, x_n) \rightarrow f(y_1, y_2, \dots, y_n)$
**Отождествление переменных** - разные переменные получают одно имя ($x_1 = x_2 = z$)
1. **Подстановка** - вместо переменной подставляется функция
$f(x_1, x_2, \dots, x_{k-1}, g(y_1, y_2, \dots, y_m), x_{k+1}, \dots, x_n)$
# Замыкание системы функций
**Замыкание** множества А (\[A\]) -
1. множество всех суперпозиций функция из A
2. множество всех функций, для которых возможно построить схему с функциональными элементами А
**Замкнутый** класс функций - класс функций, совпадающий со своим замыканием (A = \[A\])
# Свойства замыкания
- $A \subseteq [A]$
- $[[A]] = [A]$
- Если $A \subseteq B$, то $[A] \subseteq [B]$
# Полная система функций
$P_2$ - класс всех логических функций
**Полная система** функций -
1. множество функций, где любая функция является суперпозицией функций из этого множества
2. множество A, что $[A] = P_2$
# Теорема сведения
###### Теорема
Пусть A и B - множества функций. A - полная система и каждая функция из A - суперпозиция функций из B. Тогда B - тоже полная система
###### Доказательство
Если A - суперпозиция функций из B, то $A \subseteq [B]$. По свойству замыкания, $[A] \subseteq [B]$. Т.к. A - полная система, то $[A] = P_2 \Rightarrow P_2 \subseteq [B]$
$P_2$ состоит из всех лог. функций, значит $[B] \subseteq P_2 \Rightarrow P_2 = [B]$, что значит, что B - полная система