Основные логические операции
Логические операции в создании компьютерных программ — действия, которые производятся над входными данными. Такие функции производятся над сигналами булевского типа, то есть над примитивными выражениями, имеющими только два возможных значения: истина или ложь.
Виды операций
В программировании выделяют следующие виды функций:
- Логическое умножение или конъюнкция.
- Логическое сложение или дизъюнкция.
- Логическое отрицание или инверсия.
- Логическое следование или импликация.
- Логическая равнозначность или эквивалентность.
- Стрелка Пирса.
- Штрих Шеффера .
Логическое умножение (конъюнкция)
Конъюнкция — это действие, в результате которого каждым двум входным данным соответствует одно новое высказывание. Истинное значение на выходе получается, когда оба входных значения истинны.
Осторожно! Если преподаватель обнаружит плагиат в работе, не избежать крупных проблем (вплоть до отчисления). Если нет возможности написать самому, закажите тут.
Для обозначения логического умножения используют союз «и», значки \( \wedge\) , \(\&.\)
Таблица истинности для логического умножения выглядит так:
![]()
A, B — исходные данные;
A и B — значение, приобретаемое в результате реализации конъюнкции.
Из таблицы следуют свойства логического умножения:
- при ложном значении одной входной информации из двух конъюнкция будет ложной;
- при истинном значении переменных конъюнкция будет истинной;
- результат логического умножения не зависит от порядка записи ее переменных.
Логическое сложение (дизъюнкция)
Дизъюнкция — это булева функция, в итоге которой выходные данные будут ложными только при ложности всех исходных выражений.
Обозначается дизъюнкция союзом «или», символами +, \( \vee\) .
Таблица истинности логического сложения:
![]()
A, B — входная информация;
A или B — значение, приобретаемое в результате выполнения дизъюнкции.
Для дизъюнкции справедливы следующие утверждения:
- при истинности хотя бы одного подвыражения дизъюнкция будет истинной;
- при ложности всех высказываний дизъюнкция примет ложное значение;
- итог дизъюнкции не зависит от перемены мест слагаемых.
Логическое отрицание (инверсия)
Инверсия — выражение, ставящее в соответствие одному значению противоположное.
Условное обозначение логического отрицания: с помощью частицы «не», символов ¯, \(\neg.\)
Таблица истинности инверсии:
![]()
A — исходные данные;
не A — значение, приобретаемое в результате логического отрицания.
Логическое следование (импликация)
Импликация — это булева операция, ложная лишь тогда, когда первая исходная переменная является истиной, а вторая — ложью.
Следование записывается с помощью знака \(\rightarrow.\)
Таблица истинности для импликации:
![]()
A — входная информация, означающая условие;
B — входная информация, означающая следствие;
A → B — значение, приобретаемое в результате импликации.
По своему употреблению данная связка схожа со значением союзов «если. то. ».
Логическая равнозначность (эквивалентность)
Эквивалентность — выражение, являющееся истинным лишь в случае равенства двух входных элементов.
При записи равнозначности используют стрелки \(\Leftrightarrow\) , \(\leftrightarrow\) , \(\Xi\) .
Таблица истинности для равнозначности:
![]()
Стрелка Пирса
Стрелка Пирса — двухместное логическое действие со следующей последовательностью: сначала над исходными показаниями производится дизъюнкция, затем происходит отрицание полученного результата.
Данная манипуляция является отрицание логического сложения. Свое название рассматриваемая функция получила от своего автора — американского ученого Чарльза Пирса.
Запись стрелки Пирса осуществляется через знак \(\downarrow\) .
Таблица истинности для этой операции следующая:
![]()
Особенность стрелки Пирса заключается в ее возможности строить другие булевы функции.
Пример
Штрих Шеффера
Штрих Шеффера — это действие, приводящее к ложному итогу лишь при истинности обоих исходных данных. По порядку выполнения операций эта функция эквивалентна отрицанию конъюнкции.
Символ Шеффера назван по фамилии своего создателя — американского логика Генри Шеффера — и обозначается посредством знака \(\vert.\)
Таблица истинности для данной функции:
![]()
С помощью штриха Шеффера можно воспроизвести другие логические манипуляции.
Пример
Порядок выполнения операций
В составном логическом выражении действия выполняются в такой последовательности:
- инверсия;
- конъюнкция;
- дизъюнкция;
- импликация;
- эквивалентность.
Для построения нужного порядка, как и в математических выражениях, используют скобки.
Дизъюнкция
Логическая операция Дизъюнкция — бинарная операция над высказываниями, результатом которой является истинное высказывание в случаях, когда среди исходных высказываний есть хотя бы одно истинное. Дизъюнкция ложна, если оба исходных высказывания ложны.
Другие названия дизъюнкции — логическое сложение, логическое ИЛИ или просто ИЛИ.
Дизъюнкция изучается в информатике при рассмотрении раздела алгебра логики.
В естественных языках дизъюнкцию заменяют союзом «или«.
В языках программирования для дизъюнкции используют обозначение ‘ or ‘ или одинарной (двойной) вертикальной чертной ‘ | ‘ (либо ‘ || ‘) (например, x<0 or x>5 или a>=10 || a<3 ).
Для обозначения дизъюнкции используют символ ∨ или | .
Как набрать знак дизъюнкцию на клавиатуре
Так как на клавиатуре нет знака дизъюнкции (∨), ее удобно набирать используя комбинацию символов обратный слэш и слэш \/.
Таблица истинности для дизъюнкции
Истинность дизъюнкции определяется ее таблицей истинности.
| A | B | A \/ B |
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
Дизъюнкция и круги Эйлера
Результатом дизъюнкции является как область пересечения высказываний, там и области самих исходных высказываний.
Электрический аналог дизъюнкции
Представим, что выключатели A и B — это высказывания, причем 0 — выключатель разомкнут, 1 — выключатель замкнут. Лампа символизирует дизъюнкцию. Когда она не горит — 0, горящая лампа — 1. Тогда становится очевидным, что лампа будет гореть если хотя бы один (и оба сразу) выключатель будет замкнут, что полностью соотносится с таблицей истинности для дизъюнкции.
9 Математический ликбез

Логика исследует закономерности мышления, но делает это отлично от того, как этим занимается, например, психология. Формальная логика абстрагируется от связей мышления с какими-либо сторонами сознания и сосредотачивается на логической непротиворечивости и последовательности мышления. Таким образом, формальная логика — это наука об общих структурах правильного мышления в его языковой форме.
Логика — это нормативная наука, то есть она определяет, как оно должно быть, в то время как, например, психология исследуется как оно есть и как и почему логические законы нарушаются.
9.1.1 Высказывания
Логика как наука имеет дело, прежде всего, с высказываваниями. Высказывание отражает определённую объективную 1 связь между предметами. Высказывание истинно, если в нём содержится адеквантное отражение этой связи — в ином случае высказывание ложно. В общем случае высказывание существует с форме повествовательного предложения.
Например, высказывание «Земля вращается вокруг Солнца» отражает объективное отношение, поэтому оно истинно, а высказывание «страницы этой книги зелёного цвета» не адекватно отражает существующее положение дел, поэтому оно ложно.
Прежде всего, нас будут интересовать атомарные высказывания. Это элементарные высказывания, которые невозможно разделить на составляющие — более мелкие высказывания. Например, «четыре — это целое число» — это атомарное высказывание.

Мы уже сталкивались с логическими операциями в R (например, при сабсете данных). Подумайте, какие атомарные высказывания могли бы быть сформулированы в той области, которую мы изучаем.
Атомарные высказывания могут быть либо истинны, либо ложны. Почему? Потому что мы находимся в рамках двузначной логики 2 . Атомарные высказывания могут быть обозначены пропозициональными переменными. Так же как и числа в математике могут быть заменены буквеными обозначениями для абстрагирования от значения числа, так же и высказывания заменяются переменными для абстрагирования от содержания высказывания. Для обозначения пропозициональных переменных используются латинские буквы. А так как само высказывания имеет опредлённое значение истинности (истина, или TRUE , и ложь, или FALSE ), то и переменная, которой мы обозначаем это высказывание, также будет обладать этим же значением истинности. Всё аналогично математике.
9.1.2 Логические операции
С атомарными высказываниями можно выполнять различные логические операции.
9.1.2.1 Инверсия
Самая простая операция — инверсия, или отрицание. Оно обозначается с помощью оператора \(\neg\) . Это унарная операция, то есть она применяется к одной переменной. При отрицании значение истинности высказывания изменяется на противоположное, поэтому мы можнм составить следующую таблицу истинности для отрицания:
| \(p\) | \(\neg p\) |
|---|---|
| TRUE | FALSE |
| FALSE | TRUE |
В данном случае с помощью переменной \(p\) обозначено некоторые атомарное высказывание.
Особо стоит отметить, что при отрицании отрицается всё высказывание целиком, а не какой-то отдельный его элемент. То есть формально правильным вариантом отрицания высказывания «все лебеди белые» будет следующий — «неверно, что все лебеди белые».
Графически инверсия отображается так:

Кружком обозначена часть пространства, где утверждение истинно. Соответственно, в любой иной области пространства оно ложно.
9.1.2.1.1 Инверсия в R
Оператор отрицания в R обозначается восклицательным знаком ! . Если его поставить перед некоторой командой, которая возвращает логическое значение, то этот оператор изменит его на противоположное:
9.1.3 Сложные высказвания
Из атомарных высказываний можно составлять сложные высказывания при помощи логических операторов. Например, высказывание «если четыре делится на два, то четыре — чётное число» является сложным, посколько состоит из двух атомарных — «четыре делится на два» и «четыре — чётное число» — соединённых союзом «если…, то…».
Далее мы пристумаем с знакомству с бинарными операторами, то есть такими, которые функционируют на двух аргументах.
9.1.3.1 Конъюнкция
Конъюнкция (логическое умножение, логические И) представляет собой такое высказывание, которое наиболее точно передается следующей конструкцией естественного языка — «как \(p\) , так и \(q\) ». \(p\) и \(q\) в данном случае пропозициональные переменные, которые заменяют конкретные высказывания. Конъюнкция истинна тогда и только тогда, когда обе пропозициональные переменные, входящие в её состав, имеют значении истинности TRUE . В любом ином случае конъюнкция ложна.
Конъюнкция обозначается символом \(\wedge\) и имеет следующую таблицу истинности:
| \(p\) | \(q\) | \(p \wedge q\) |
|---|---|---|
| TRUE | TRUE | TRUE |
| TRUE | FALSE | FALSE |
| FALSE | TRUE | FALSE |
| FALSE | FALSE | FALSE |
Графически конъюнкция отображается так:

9.1.3.1.1 Конъюнкция в R
В качестве оператора логического И в R используется символ & :
9.1.3.2 Дизъюнкция
Дизъюнкция (логическое сложение, логические ИЛИ) представляет собой такое высказывание, которое наиболее точно передается следующей конструкцией естественного языка — «или \(p\) , или \(q\) , или и то и другое». Поэтому дизъюнкция истинна тогда, когда хотя бы одна пропозициональная переменная, входящая в её состав, имеет значении истинности TRUE . В случае, если оба высказывания ложны, дизъюнкция будет ложна.
Дизъюнкция обозначается символом \(\vee\) и имеет следующую таблицу истинности:
| \(p\) | \(q\) | \(p \vee q\) |
|---|---|---|
| TRUE | TRUE | TRUE |
| TRUE | FALSE | TRUE |
| FALSE | TRUE | TRUE |
| FALSE | FALSE | FALSE |
Графически дизъюнкция отображается так:

9.1.3.2.1 Дизъюнкция в R
В качестве оператора логического ИЛИ в R используется символ | :
9.1.3.3 Разделительная дизъюнкция
Разделительная дизъюнкция (исключающее ИЛИ) — это такое высказывание, которое наиболее полно описывается следующим выражением естественного языка — «либо \(p\) , либо \(q\) ». На её графическом представлении хорошо видно, чем она отличается от обычной дизъюнкции — она исключает ту часть пространства, где верны оба высказывания:

Для обозначения разделительно дизъюнкции есть много различных операторов, но мы будем записывать её так — \(p \; \mathrm
| \(p\) | \(q\) | \(p \; \mathrm |
|---|---|---|
| TRUE | TRUE | FALSE |
| TRUE | FALSE | TRUE |
| FALSE | TRUE | TRUE |
| FALSE | FALSE | FALSE |
Таким образом, видно, что исключающее ИЛИ истинно тогда, когда значения истинности пропозициональных переменных, входящих в сложное высказывание, различны.
9.1.3.3.1 Разделительная дизъюнкция в R
В R эта логическая функция реализована, в отличие от предыдущих, не как оператор, а как функция с соответствующим названием:
9.1.4 Условные высказывания
9.1.4.1 Импликация
Сложное высказывание, описываемое конструкцией естественного языка «если \(p\) , то \(q\) » в формальной логике носит название импликации. Она отражает следование одного утверждения из другого и обозначается следующим образом — \(p \rightarrow q\) . Высказывание \(p\) называется антецедентом имликации, а \(q\) — консеквентом.
Импликация имеет следующую таблицу истиности:
| \(p\) | \(q\) | \(p \rightarrow q\) |
|---|---|---|
| TRUE | TRUE | TRUE |
| TRUE | FALSE | FALSE |
| FALSE | TRUE | TRUE |
| FALSE | FALSE | TRUE |
Как видно из таблицы, импликация ложна только тогда, когда её антецедент истинен, и консеквент — ложен. Но что более интересно, так это то, что, согласно таблице, из ложного утверждения может следовать любое 3 . Это факт мы вспомним, когда будем обсуждать тестирование статистических гипотез.
Импликацию утвержает то же самое, что и следующее сложное высказывание — \(\neg (p \wedge \neg q)\) . Отсюда можно получить графическое изображение импликации:

Таблица истинности для импликации \(p \rightarrow q\) у нас есть. Постройте таблицу истинности для высказывания \(\neg (p \wedge \neg q)\) и проверьте, действительно ли значенния истинности обоих сложных высказывания совпадают.
9.1.4.2 Репликация
Репликация похожа на импликацию, но действует как бы в обратном направлении, что отражено в её обозначении — \(p \leftarrow q\) . Эта конструкция читается как « \(p\) реплицирует \(q\) » и является эквивалентом естественноязыкового «только если \(p\) , то \(q\) ». Соответствующим образом изменяется и таблица истиности:
| \(p\) | \(q\) | \(p \leftarrow q\) |
|---|---|---|
| TRUE | TRUE | TRUE |
| TRUE | FALSE | TRUE |
| FALSE | TRUE | FALSE |
| FALSE | FALSE | TRUE |
Идея здесь в том, что если мы получили в результате ложь, то истины в начале быть не могло. Графическое изобажение репликации выглядит так:

Выведите равносильное репликации высказывание, содержащее только операторы инверсии, конъюнкции и дизъюнкции. Под равносильностью мы пониманием одинаковый набор значений истинности двух утверждений.
Для импликации \(p \rightarrow q\) таким утверждением является \(\neg (p \wedge \neg q)\) . А для репликации?
9.1.4.3 Эквиваленция
Если мы соединим с помощью конъюнкции импликацию и репликацию, то есть запишем вот такое высказывание — \((p \rightarrow q) \wedge (p \leftarrow q)\) — то получим эквиваленцию. По своей сути она является логическим отражением языковой конструкции «только если \(p\) , то \(q\) », поэтому она обозначается вот так — \(p \leftrightarrow q\) — и её таблица истинности выглядит соответствующим образом:
| \(p\) | \(q\) | \(p \leftrightarrow q\) |
|---|---|---|
| TRUE | TRUE | TRUE |
| TRUE | FALSE | FALSE |
| FALSE | TRUE | FALSE |
| FALSE | FALSE | TRUE |
Из неё легко вывести графическое представление эквиваленции:

Проверьте, действительно ли равносильны высказывания \(p \leftrightarrow q\) и \((p \rightarrow q) \wedge (p \leftarrow q)\) . Для этого необходио построить таблицу истинности для представленно конъюнкции.
9.2 Элементы теории множеств
На базе теории множеств стоит вся современная математика. Мы ознакомимся только в некоторыми концепциями этого раздела математики, но вообще полезно с ним познакомиться гораздо глубже.
9.2.1 Множество
Понятие множества неопределимо. По крайней мере силами самой теории множеств. Но мы будем понимать под множеством совокупность, или набор, некоторых (любых) объектов. Это могут быть числа, буквы, точки и любые другие объекты. Объекты, входящие в состав мноежства, называются элементами этого множества.
Множества обозначают заглавными латинскими буквами (например, \(A\) ), а его элемента прописными латинскими буквами (например, \(a_1\) , \(a_2\) и т.д.).
Множества удобно изображать кружочками. Примерно так:

Если элемент входит в данное множество, то мы говорим, что этот элемент принадлежит данному множеству, и записываем это следующим образом:
Символ \(\in\) читается как «принадлежит».
Если мы хотим задать множество через перечисление элементов, то можно это сделать так:
\[ B = \ <0, 1, 2, 3, 4, 5\>\] В данном случае множество \(B\) содержит 6 элементов — числа от нуля до пяти.
Приведём примеры множеств.
- Множество букв русского алфавита:
- Множество всех натуральных чисел 4 :
- Множество всех целых чисел:
Также из числовых множеств мы можем вспомнить рациональные числа \(\mathbb\) , действительные (вещественные) числа \(\mathbb
Мы можем взять и рассмотреть не все элементы какого-то множества, а какую-то их часть. Например, взять элементы \(a_1\) и \(a_2\) и объединить их в множество поменьше.

Мы получим множество \(A_1 = \
В частности, множество натуральных чисел включается во множество целых — \(\mathbb
\[ \mathbb \subset \mathbb
Вот такая пирамижка получается.
9.2.2 Операции над множествами
Над множествами можно производить определённые операции. Во-первых, множества можно складывать, или объединять:

Тогда в новом множестве окажутся все элементы обоих исходных множеств. Что-то это напоминает.
Во-вторых, множества можно умножать, или находить их пересечение:

Тогда в новом множестве окажутся те элементы, которые принадлежат обоим множествам сразу. Это тоже что-то напоминает.
В-третьих, можно искать разность множеств — такая операция называется дополнение:

А ещё можно вычитать множества друг из друга, то есть искать их симметрическую разность:
\[ A \, \triangle \, B = (A \backslash B) \cup (B \backslash A) = \

Ну, и самый смак — декартово произведение двух множеств. Пусть у нас есть два множества \(A\) и \(B\) . Тогда их декартово произведение представляет собой множество всех возможных упорядоченных пар \((a, b), a \in A, b \in B\) .
Упорядоченность подразумевает, что если мы будем перемножать \(A \times B\) , то будут получаться пары \((a,b)\) , а если \(B \times A\) , то пары \((b, a)\) .
Пример интересного декартова произведения множеств представлен на картинке. Это произведение множества \(\<в, и, к\>\) на множество цветов радуги:

9.2.3 Отображения
Мы можем сопоставлять элементы много множества элементам другого. Тогда мы получим отображение. Например, мы можем взять множество букв латинского алфавита и сопоставить каждому элменту этого множества число, которое будет отображать позицию буквы в алфавите. Пусть у нас есть множество \(L = \<\text\>\) и множество \(N = \<1, 2, 3, \dots, 24, 25, 26\>\) . Тогда мы можем задать такое отображение:
\[ F: L \rightarrow N \]
Более того, мы даже можем реализовать его в R:
Заметьте, что мы реализовали в коде отображение, написав функцию. Это не случайно. Не вдаваясь в детали, можно сказать, что термины «отображение» и «функция» — синонимы. Ведь по сути что делает [математическая] функция? Сопоставляет между собой значения числовых множеств. То есть отображает одно множество в другое.
Например, простая функция \(y = x\) 5 отображает множество вещественных чисел в само себя: \(F: \mathbb
Вот такая вот интересная история.
9.3 Немного комбинаторики
9.3.1 Перестановки
Представим такую задачу: нам необходимо расставить книги на полке. Всего у нас есть пять книг. Сколькими способами мы это сможем сделать?
Подойдём к вопросу технически: возьмем и начнём расставлять. На первое место мы можем поставить любую из пяти книг, то есть вариантов заполнить первое место на полке — пять штук. Когда первое место заполнено, то вариантов заполнить второе место остаётся четыре. Всего возможных вариантов заполнения первых двух мест получается \(5 \times 4\) . Заполняем далее: на третье место претендуют три оставшиеся книги, то есть вариантов, которыми мы можем расставить три книги \(5 \times 4 \times 3\) . Следуя далее этой логике мы получим, что всего возможных вариантов расставить все пять книг на полке будет \(5 \times 4 \times 3 \times 2 \times 1 = 5!\) .
Мы получили формулу числа перестановок из \(n\) элементов:
То есть любые \(n\) объектов можно расставить на \(n\) мест \(n!\) способами.
9.3.2 Размещения
Теперь представим, что у нас очень маленькая полка, и на ней умещается всего три книги. Сколькими способами мы можем заполнить такую полку, если всего в нашем распоряжении пять книг?
Всего перестановок из пяти книг \(5!\) , однако в силу того, что на полку умещаются только три первые книги из каждой перестановки, отличных друг от друга вариантов теперь будет меньше. Во сколько раз? В число раз, равно количеству перестановок из тех книг, которые на полку не помещаются. В нашем случае \((5-3)!\) . То есть мы можем заполнить нашу полку \(\displaystyle \frac<5!><(5-3)!>\) способами.
Мы получили формулу для подсчета числа размещений из \(n\) элементов по \(k\) :
9.3.3 Сочетания
А теперь задача такова: нам не важно в каком порядке будут стоять книги на полке — нам нужно просто поставить три какие-то книги. Сколько возможно вариантов выбрать три книги из пяти?
Так как мы теперь не учитываем порядок книг, то возможных вариантов будет в \(3!\) раз меньше, чем число размещений. Почему? Так как все перестановки этих трёх книг для нас теперь идентичны. Итого, всего вариантов выбрать три книги из пяти $.
Мы получили формулу для подсчета числа сочетаний из \(n\) элементов по \(k\) :
Последняя формула на пригодится далее при обсуждении схемы испытаний Бернулли.
9.4 Элементы математического анализа
Из всего матана нам надо уловить два основных концепта — производную и интеграл. Эти и займёмся, захватив попутно немного пределов.
9.4.1 Последовательность
Числовая последовательсность — это последовательность чисел 6 . В общем случае — любых. Она обозначается \((x_n)_
Последовательность возникает на некотором множестве чисел. Если на таком множестве определено отношение порядка, то есть элементы этого множества можно сравнивать на «больше-меньше-равно», то можно сформировать монотонную последовательность. Это такая последовательность, которая не возрастает или не убывает. Более того, если существует такой объект (число), к которому элементы последовательности приближаются с ростом номер, то он является…
9.4.2 Предел последовательности
…пределом этой последовательности.
Разберемся на примере. Пусть у нас есть вот такая простенькая последовательность:
\[ \Big(\frac<1>
Достаточно очевидно, что каждый следующий её элемент, меньше предыдущего. Отрицательными элементы данной последовательности быть не могут, поэтому кажется, что всё идет к тому, что где-то там последовательность упрётся в ноль.
Формально число \(a\) называется пределом последовательности \(\
\[ \lim_
То есть, в случае нашей последовательности мы можем отсутупить на сколь угодно малое число \(\varepsilon\) от нуля, и, начиная с какого-то номера, все элементы нашей последовательности окажутся в интервале \((\varepsilon, 0)\) . Поэтому
9.4.3 Функции
Функции (они же отображения, как мы выяснили выше) устанавливают соответствие между элементами двух множеств. Чаще всего мы имеет дело с числовыми функциями, то есть такими, которые ставят одни числа в соответствие другим. У любой функции есть область определения (множество X) и область значений (множество Y). Сама же функция представляет собой множество упорядоченных пар \((x, y) \in X \times Y\) , таких что пары существуют для всех элементов \(X\) , и если первые элементы пар равны, то равны и их вторые элементы.
9.4.3.1 Дискретные и непрерывные функции
В зависимости от того, каково множество \(X\) функции могут быть дискретные и непрерывные. Например, если функция определена на множестве \(\mathbb
Если функция определена на множестве \(\mathbb
9.4.4 Дифференцируемость функции. Производная
А раз они дифференцируемы, то мы можем взять производную!
Производная — штука очень полезная. Во-первых, она показывает тангенс угла наклона касательной в данной точке, а во-вторых скорость и направление изменения функции в данной точке. На самом деле, что одно, что другое рассказывает нам примерно об одном и том же.
Давайте издалека. Как нам узнать, куда двигается функция в данной точке?
Выберем точку, \(x_0\) в которой мы хотим определить, куда и с какой скоростью движется наша функция. В этой точке функция имеет значение \(y_0\) :

Шагнём на некоторую дистанцию \(\Delta x\) вправо (по направлению оси \(x\) ). Назовём эту дистанцию приращением. В точке \(x_0 + \Delta x\) фунция будет иметь какое-то значение \(y_0 + \Delta y\) .

Наша функция движется из точки \((x_0, y_0)\) в точку \((x_0 + \Delta x, y_0 + \Delta y)\) . То есть имеем следующий треугольник:

Если мы узнаем, каков угол \(\alpha\) — а точнее \(\tan \alpha\) , потому что так проще — то узнаем, куда движется функция.
Ну, хорошо. Но мы шагали далеко от точки, которая нас интесует. Если мы будем постепенно уменьшать шаг, то получим последовательность
\[ \tan \alpha_1, \tan \alpha_2, \tan \alpha_3, \dots \]
У этой последовательности есть предел, и если мы его рассчитаем, то как раз и получим значение производной в данной точке.
Очень маленькое приращение обозначается \(dx\) (или \(df\) , если это приращение функции). Вот мы и получили производную.
Можно построить график производной. Это тоже будет функция. Важное свойство этой функции, которое нам понадобится в дальнейшем, заключается в том, что в там, где график производной пересекает ось \(x\) — то есть там, где производная равна нулю — на исходной функции случаются точки смены монотонности (то есть точки минимума и максимума).

Тут есть таблица производных элементальных функций.
9.4.5 Функции нескольких переменных
Существуют функции не только от одной переменной. Например, можно определить какую-то такую функцию:
Работают они так же, как и обычные функции, но у них есть важная фича.
9.4.6 Частные производные
Так как у нас теперь несколько переменных, от которых зависит значение функции, мы можем смотреть, как они изменяются по каждой из них в отдельности. Это позволяют сделать частные производные.
Частные производные в целом беруться так же, как и обычные, только мы предполагаем, что все другие переменные, то есть те, по которым мы не берём производную — это константы. Таким образом, мы получаем скорость изменения функции по какой-либо одной переменной.
Например, у нас есть функция
Если нас интересует производная по \(x\) , то мы предполагаем следующее:
Если же нас интересует производная по \(y\) , то мы делаем так:
Также вы видите, что частная производная обозначается в помощью символа \(\partial\) , чтобы она отличалась от полной производной, которая нам не понадобится. 🙂
9.4.7 Интеграл
Интеграл — штука мощная, но нам он понадобится только с одной стороны. Нам надо будет искать площадь под кривой. Этим и займемся.
Пусть у нас есть знакомая нам функция \(y = \sqrt x\) . Нам надо найти площадь по ней на отрезке от \(0\) до \(3\) .

Мы можем разбить этот отрезок на части размером \(\Delta x\) , а саму площадь на соответствующие прямоугольники. Это нам позволит оценить площадь:

\[ S \approx \sum_^n y_i \Delta x_i \]
Ясно, что чем более узкими прямоугольники у нас будут, тем точнее мы будем знать площадь. Снова нам на помощь приходят пределы:
\[ \lim_ <\Delta x \rightarrow 0>\sum_^n y_1 \Delta x_i = \int_a^b \sqrt x \, dx \]
Такая штука называется определённый интеграл. Определенный он потому, что мы знаем, площадь в каких границах нас интересует. Определённый интеграл — это число.
\[ \int_0^3 \sqrt x \, dx \approx 3.46 \]
А раз есть определённых интеграл, значит есть и неопределённый. Здесь нам понадобиться вот эта визуализация:
Мы смотрим, как изменяется площадь под графиком некоторой функции \(f(x)\) по мере нашего движения по оси \(x\) , и строим соответствующий график. Этот график и отображает неопределенный интеграл, второй название которого первообразная. Неопределённый интеграл (первообразная) — это функция, причем такая, что её производная равна \(f(x)\) . Первообразная обозначается \(F(x)\) . Таким образом, справедливо равенство \(F'(x) = f(x)\) .
А также справедливо соответствие между определённым и неопредленным интегралом:
\[ \int_a^b f(x)dx = F(b) — F(a) \]
9.5 Элементы линейной алгебры
9.5.1 Что такое матрица?
«Увы, невозможно объяснить, что такое матрица. Ты должен увидеть это сам.»
Морфеус (Матрица, 1999)
Матрица выглядит как таблица чисел, записанных в определенном порядке. Например, вот так:
Ну, и, собственно, всё. Это и есть матрица.
9.5.2 Откуда берутся матрицы?
Матрицы возникают при решении систем линейных уравнений. Рассмотрим систему.
\[ \begin
Система состоит из \(n\) линейных уравнений относительно \(m\) неизвестных. Её можно переписать в матричном виде:
Но ведь мы можем написать вектор всего с одной строкой. Например, некоторый вектор \(\boldsymbol
Для большей точности принята следующая терминология: векторы вида \(\boldsymbol
Ок, но остается вопрос: почему матричная запись равносильна причной нам записи системы?
Деталь 1
Есть две замечательные матрицы: единичная матрица \(\boldsymbol
Деталь 2
Матрица размером \(n × n\) называется квадратной матрицей.
Квадратная матрица, все элементы которой, кроме стоящих на главной диагонали, равны нулю, называется диагональной матрицей.
9.5.3 Действия с матрицами
9.5.3.1 Сложение матриц
Сложение определено только для матриц одинакового размера.
Свойства сложения матриц:
- \(\boldsymbol+ \boldsymbol= \boldsymbol+ \boldsymbol\) (коммутативность)
- \((\boldsymbol+ \boldsymbol) + \boldsymbol
= \boldsymbol+ (\boldsymbol+ \boldsymbol )\) (ассоциативность) - \(\boldsymbol+ \boldsymbol
= \boldsymbol\) (существование нулевого элемента) - \(\boldsymbol+ (-\boldsymbol) = \boldsymbol
\) (существование противоположного элемента)
Все, описанное выше, справедливо для векторов.
9.5.3.2 Умножение матрицы на число
Умножение на вещественное число определено для любой матрицы \(n × m\) .
Свойства умножения матрицы на число:
- \(1 \cdot \boldsymbol= \boldsymbol\)
- \(-1 \cdot \boldsymbol= -\boldsymbol\)
- \(\lambda(\mu \boldsymbol) = (\lambda \mu) \boldsymbol\) (ассоциативность)
- \((\lambda + \mu) \boldsymbol= \lambda \boldsymbol+ \mu \boldsymbol\) (дистрибутивность)
- \(\lambda (\boldsymbol+ \boldsymbol) = \lambda \boldsymbol+ \lambda \boldsymbol\) (дистрибутивность)
Все, описанное выше, справедливо для векторов.
9.5.4 Скалярное произведение векторов
Скаларное произведение определено для векторов одинаковой размерности как сумма произведений их соответствующих координат.
9.5.5 Векторное произведение векторов
9.5.6 Произведение матриц (матричное умножение)
Ну, вот и начался треш.
Cвойства произведения матриц:
- \(\boldsymbol(\boldsymbol\boldsymbol
) = (\boldsymbol\boldsymbol) \boldsymbol \) (ассоциативность) - \(\lambda (\boldsymbol\boldsymbol) = (\lambda \boldsymbol) \boldsymbol= (\lambda \boldsymbol) \boldsymbol\) (ассоциативность)
- \(\boldsymbol(\boldsymbol+ \boldsymbol
) = \boldsymbol\boldsymbol+ \boldsymbol\boldsymbol \) (дистрибутивность) - \((\boldsymbol+ \boldsymbol) \boldsymbol
= \boldsymbol\boldsymbol + \boldsymbol\boldsymbol \) (дистрибутивность) - \(\boldsymbol\boldsymbol\neq \boldsymbol\boldsymbol\) (отсутствие коммутативности)
- \(\boldsymbol
\boldsymbol= \boldsymbol; \, \boldsymbol\boldsymbol = \boldsymbol\) (умножение на единичный элемент) - \(\boldsymbol
\boldsymbol= \boldsymbol ; \, \boldsymbol\boldsymbol = \boldsymbol \) (умножение на нулевой элемент) - \(\boldsymbol\boldsymbol^ <-1>= \boldsymbol^ <-1>\boldsymbol= \boldsymbol
\) (умножение на обратную матрицу — только для некоторых квадратных матриц)
Матричное умножение определено для векторов-столбцов (матриц-столбцов) и векторов-строк (матриц-строк) и выполняется по тем же правилам.
9.5.7 Транспонирование матрицы
В матрице строки и столбцы можно поменять местами — получится транспонированная матрица.
9.5.8 Детерминант и обратная матрица
Детерминант матрицы из одного элемента равен этому элементу:
\[ \det \begin
Вычисление дереминанта матрицы произвольного размера \(n × n\) требует введения ещё пары определений.

Детерминант матрицы произвольного размера \(n×n\) вычисляется так 10 :
Но жизнь упрощается, когда есть R:
Детерминант матрицы равен нулю, в частности, если её столбцы линейно зависимы, то есть значения одного можно линейно выразить через значения другого. Например,
Для такой матрицы обратной ей матрицы не существует.
9.5.9 След матрицы
След матрицы — сумма элементов (квадратной) матрицы, стоящих на главной 11 диагонали.
О нём мы чуть-чуть вспомним, когда будем обсуждать ковариационные матрицы.

В R нет специальной функции, которая вычисляет след матрицы. Давайте её напишем!
Функция должна принимать на вход матрицу, проверять, является ли матрица квадратной, и, если да, то возвращать значение следа матрицы, если нет, то печатать в консоль «матрица не является квадратной».

- \(\boldsymbol\times \boldsymbol\) ;
- \(\boldsymbol\times \boldsymbol\) ;
- \(\boldsymbol\times \boldsymbol\) ;
- \(\boldsymbol\times \boldsymbol\) ;
- \(\boldsymbol\times \boldsymbol^\mathrm
\)
Чтобы проверить ответ, введите в соответствующее поле значения элементов матрицы построчно. Элементы одной строки разделяйте пробелами, строки разделяйте [только] запятыми.
Обсуждение критериев объективности мы оставим за рамками этого курса и постулируем, что мы их как-то хотя бы интуитивно пониманием. Для некоторой концептуальной рамки обозначим следующее: мы говорим об объективной связи между предметами, если (1) определённым предметам (или индивидам) присущи определённые признаки и если (2) определённым признакам свойственны определённые признаки.↩
Есть в другие подходы к определению истинности высказываний — таковый различные виды многозначной логики. Но они не-необходимы нам для целей курса, поэтому оставим их за бортом.↩
Этот факт часто используется при доказательстве всяких невозможных математических утверждений, когда изначально принимается неверная посылка, но это не очевидно.↩
В теории множеств натуральные числа начинаются с нуля. Если нас интересуют натуральные числа без нуля, то мы будем использовать обозначение \(\mathbb
По умолчанию считаем, что \(x \in \mathbb
Некотрые определения математики заставляют тебя задуматься о том, что ты ещё не до конца постиг дзен абстрактной науки…↩
Хотя и не все. Непрерывность является необходимым, но недостаточным условием для дифференцируемости.↩
Таблицы истинности
Они могут принимать значения «истина» или «ложь» (1 или 0). Для функции, содержащей две переменные, наборов значений переменных всего четыре:
![]()
Значения логических функций определяются с помощью таблица истинности.
Таблицы истинности для основных двоичных логических функций
1. Конъюнкция (логическое умножение) – сложное логическое выражение, которое является истинным только в том случае, когда истинны оба входящих в него простых выражения.
Обозначение: ![]()

2. Дизъюнкция (логическое сложение) – это сложное логическое выражение, которое истинно, если хотя бы одно из простых логических выражений истинно и ложно, если оба простых логических выражения ложны.
Обозначение: ![]()

3. Импликация (логическое следствие) – это сложное логическое выражение, которое является ложным тогда и только тогда, когда условие истинно, а следствие ложно.
Обозначение: ![]()

4. Эквиваленция – это сложное логическое высказывание, которое является истинным только при одинаковых значениях истинности простых выражений, входящих в него.
Обозначение: ![]()

5. Логическое отрицание (инверсия) делает истинное высказывание ложным и, наоборот, ложное – истинным.
Обозначение: ![]()

6. Штрих Шеффера – операция, отрицающая конъюнкцию, т.е. значение ложно тогда и только тогда, когда оба простых выражения истинны.
Обозначение: ![]()

7. Стрелка Пирса – операция, отрицающая конъюнкцию, т.е. значение истинно тогда и только тогда, когда оба простых выражения ложны.
Обозначение: ![]()

Порядок выполнения логических операций
При построении таблицы истинности необходимо учитывать порядок выполнения логических операций:
- Инверсия
- Конъюнкция
- Дизъюнкция
- Импликация
- Эквиваленция
- Штрих Шеффера
- Стрелка Пирса
Для последних двух операций приоритет не определен.
Замечание. Если необходимо изменить указанный порядок выполнения логических операций используются скобки.
Примеры решения задач
| Задание | Составить таблицу истинности для функции |
| Решение | Составим таблицу истинности для заданной функции, которая содержит две переменные |

![]()
I – ![]()
II – ![]()
III – ![]()
IV – ![]()
V – ![]()
VI – ![]()