Научная статья УДК 334+37
DOI 10.17150/2411-6262.2021.12(4).11
В.И. Мартьянов
Байкальский государственный университет, г. Иркутск, Российская Федерация
NP-ТРУДНЫЕ ЗАДАЧИ: АВТОМАТИЧЕСКОЕ ДОКАЗАТЕЛЬСТВО ТЕОРЕМ И МАШИНЫ ТЬЮРИНГА
АННОТАЦИЯ. Предлагается использовать для решения NP-полных (трудных) задач модификацию методов удовлетворения ограничением [1, с. 54] (УО) включением автоматического доказательства теорем (АДТ), а программирования в ограничениях [1, с. 114] — генераций машин Тьюринга (МТ) [2, с. 222]. В настоящее время УО [1, с. 57] использует АДТ в усеченной форме (логическое программирование), а предлагается использовать метод инвариантных преобразований (МИП) [3, с. 572], который является полноценным АДТ. Кроме того, предлагается использовать методы УО для генерации МТ, решающих NP-трудные задачи, записанные на ленте МТ, что является расширением возможностей программирования в ограничениях [1, с. 118].
КЛЮЧЕВЫЕ СЛОВА. NP-трудные задачи, удовлетворение ограничениям, программирование в ограничениях, искусственный интеллект, автоматическое доказательства теорем.
ИНФОРМАЦИЯ О СТАТЬЕ. Дата поступления 15 ноября 2021 г.; дата принятия к печати 23 ноября 2021 г.; дата онлайн-размещения 30 декабря 2021 г.
Original article
V.I. Martyanov
Baikal State University, Irkutsk, Russian Federation
NP-DIFFICULT TASKS: AUTOMATIC PROOF OF THEOREMS AND
TURING'S MACHINE
ABSTRACT. It is offered to use for solving NP-complete (difficult) tasks a modification of methods for satisfying the constraint [1, p. 54] (CS) by including automatic proof of theorems (APT), and programming in constraints [1, p. 114] — generation of Turing's machine (TM) [2, p. 222]. Currently, CS [1, p. 57] uses AP in a truncated form (logical programming), and it is suggested using the method of invariant transformations (MIT) [3, p. 572], which is a full-fledged APT. In addition, it is offered to use CS methods to generate TM solving NP-difficult tasks recorded on the TM tape, which is an extension of programming capabilities in constraints. [1, с. 118]. KEYWORDS. NP-difficult tasks, constraint satisfaction, constraint programming, artificial intelligence, automatic proof of theorems.
ARTICLE INFO. Received November 15, 2021; accepted November 23, 2021; available online December 30, 2021.
1. Удовлетворение ограничениям в логическом программировании и метод инвариантных преобразований АДТ.
Одной из важных задач искусственного интеллекта (ИИ) является задача удовлетворения ограничениям (УО) (constraint satisfaction problem). Целесообразность расширения концепции, предложенной P. van Hentenrick'ом в работе [4, p. 73], обосновывается следующими соображениями.
Основным и принципиальным недостатком классического метода удовлетворения ограничениям в логическом программировании, описанного
© Мартьянов В.И, 2021
P. van Hentenrick'ом в [4, p. 78], является слишком простая структура организации данных, что будет показано в настоящем разделе на примере задачи проектирования расписания занятий учебных заведений.
Перечислим коротко основные недостатки метода удовлетворения ограничениям в логическом программировании:
Недостаточная выразительность описательных средств, слишком простая структура организации данных.
Эффективная работа обеспечивается для проверки выполнимости только бинарных ограничений.
Технические решения реализации P. van Hentenrick'ом в [4, p. 73] метода удовлетворения ограничениям в логическом программировании не работают эффективно на сложноорганизованных множествах значений A , A2,..., An даже при использовании только бинарных ограничений.
Для иллюстрации рассмотрим постановку задачи проектирования расписания занятий для учебных заведений (в несколько упрощенной форме) и ее переформулировку в рамках метода удовлетворения ограничениям в логическом программировании.
Основные множества:
L = {I,.., lk} — совокупность преподавателей,
О = {о,..., от} — совокупность дисциплин,
С = {с1,., сп} — контингент учащихся (подгруппы, группы, потоки).
Множество проектируемых занятий: P £ L х O х C.
Аудиторный фонд: А= {a,..., a}.
Время (совокупность пар по дням недели): T={t,..., t }.
Ресурс: R = A х T.
Расписание является однозначным (инъективным) отображением:
P ^ R, (1)
которое должно удовлетворять весьма многочисленным условиям (из которых будут указаны лишь самые очевидные или бесспорные):
Общие и индивидуальные требования на дневное расписание преподавателей (количество занятий в день, включая лекции, освобожденные дни, пары и др.).
Общие и индивидуальные требования на дневное расписание контингентов учащихся (количество занятий в день, включая лекции, освобожденные дни, пары и др.).
Общие и индивидуальные требования на недельное расписание преподавателей (количество занятых дней, общее число единичных занятий, окон, сбалансированность недели и др.).
Общие и индивидуальные требования на недельное расписание контингентов учащихся (количество занятых дней, единичные занятия и окна исключаются, кроме физической культуры, сбалансированность недели и др.)
При постановке данной задачи (1) в стиле метода удовлетворения ограничениям:
P = {Pj, Р2, Ри}
— совокупность переменных , т.е. каждое занятие pi объявляется переменной, которой сопоставлялся элемент ресурса
Aj = ... = Au = R (2)
Замечание 1. Конечно, так определенные области значений (2) существенно отличаются от классического определения A1, A2, ..., An областей значений, но
поддерживать корректность работы процедурно для такого задания не столь и сложно. Более того, стратегия «проверяй вперед» для данного варианта практически вырождается и не требует каких-либо специальных усилий и затрат алгоритмического ресурса.
Все основные трудности связаны с проверкой ограничений. Ограничения при такой постановке задачи (1) формулируются для проекций (частей) переменных (так как переменная из P — вектор из трех составляющих: преподаватель, предмет, группа студентов).
Аналогично и для областей значения переменных, где каждый элемент ресурса R также вектор из двух составляющих: аудитории и времени проведения проектируемого занятия.
Для классического метода удовлетворения ограничениям в логическом программировании, описанного P. van Hentenrick'ом в [4, p. 78], найти приемлемые технические решения по эффективной проверки такого рода ограничений практически невозможно.
Другим важным ограничением является отсутствие средств создания иерархических (или сетевых) структур данных, что, кстати, очень хорошо реализуется в реляционных базах данных и диалектах SQL. С нашей точки зрения большие перспективы имеют средства создания структур связности на показателях, т.е. переменных х}, ..., хп (или, что эквивалентно, на областях значений A , ..., An переменных х , ..., хп). Более подробно это было рассмотрено в задаче анализа плоских изображений [5, с. 35].
Существует весьма много формальных логических исчислений. С нашей точки зрения, главное их отличие — это та или иная степень возможности эффективной алгоритмизации для создания систем АДТ, а еще лучше — опыт эффективного решения прикладных задач большой размерности, как для рассматриваемого в данном разделе подхода на основе алгоритмизации элементарных шагов содержательных математических доказательств.
Формальные логические исчисления, ориентированные на программную реализацию, называются системами автоматического доказательства теорем (АДТ). Полные системы автоматического доказательства теорем (например, метод резолюций) в принципе способны доказать любую теорему (тождественно истинную формулу), но не имеют возможности проверить ложность формулы (программа работает бесконечно и не останавливается).
Как уже упоминалось выше, при автоматизации процесса доказательства всех формул узкого исчисления предикатов (УИП) приходится сталкиваться с двумя фундаментальными проблемами, которые ограничивают возможности систем АДТ, основанных на алгоритмизации формальных систем логического вывода, в принципе:
При выводе сложно найти искомую цепочку вывода теоремы, так как возникает очень много комбинаций — происходит так называемый комбинаторный взрыв.
Если Ф — ложна, то это невозможно проверить, система «зацикливается».
Отметим еще раз, что для классической системы Гильберта [6, с. 75] построение цепочки доказательства, как правило, является практически неразрешимой задачей из-за комбинаторного взрыва, возникающего при построении цепочки доказательства.
Другие системы автоматического доказательства для некоторых классов формул строят цепочки более приемлемыми методами (например, метод резолюций [7, с. 196]).
В данном разделе будет рассмотрен эвристический метод АДТ, основанный на алгоритмизации элементарных шагов доказательств теорем содержательной математики.
Этот метод, так называемых инвариантных преобразований формул УИП, рассмотренный в работах [3, с. 578], и является предметом рассмотрения данного раздела (хотя рассмотрение будет проведено без углубления в детали обоснования полноты и области корректной работы данного метода, которые подробно изложены в работе [8, с. 79]).
Для содержательной математики характерно представление доказываемого утверждения в виде: «Дано», «Доказать», а так же совокупности X посылок доказательства, состоящей из аксиом, определений и ранее доказанных утверждений, рассматриваемого раздела математики.
Согласно этому, представим доказываемое утверждение в виде:
Г Дано :а ,...,а ф Н (3)
Доказать : в1,Р2,—,вт
где а. , в — некоторые утверждения.
Совокупность Е посылок доказательства будем считать состоящей из выражений двух видов:
« з в, (4)
которые будем называть продукциями (по аналогии с терминологией, используемой в описаниях баз знаний экспертных систем и систем искусственного интеллекта);
в = (У; 3 У2), (5)
которые будем называть определениями.
Пример 1. Доказываемое утверждение Ф (3) и совокупность посылок доказательства (1) и (2):
(0): Ф = (А £ В) & (В £ С) з (А £ С) — доказываемое утверждение, где
«Дано»: (А £ В), (В £ С) «Доказать»: (А £ С).
(1): (а 6 В) & (В £ С) з (а 6 С) — продукция;
(2): (В £ С) = (а 6 В) 6 (а 6 С) — определение.
Замечание 2. 1) Применение продукций (4) к доказываемому утверждению Ф приводит к расширению «Дано» добавлением в него в (конечно, только в случае вхождения а в число утверждений «Дано»).
Следовательно, осуществляется переход от доказательства утверждения Ф к доказательству утверждения
Г Дано : а1,а2,...,ак,в*
1 [Доказать : в1,в2,...,вт
2) Применение определений (5) к доказываемому утверждению Ф приводит к переформированию «Доказать» заменой в на у2 и добавлением в «Дано» утверждения у (конечно, только в случае вхождения в в число утверждений «Доказать»).
Следовательно, если предположить, что в совпадает с в1, то осуществляется переход от доказательства утверждения Ф к доказательству утверждения
Г Дано : а1,а2,...,ак,у1
2 [Доказать : у2,в2,...,вт
Рассмотрим доказательство утверждения Ф из примера 1 преобразованиями, неформально заданными в замечании 2.
Первым шагом будет применение преобразования, соответствующего определению (2) из примера 1, что приведет к переходу от доказательства утверждения Ф к доказательству утверждения Ф, равного
(А С В) & (В С С) & (а 6 А) > (а 6 С).
Вторым и третьим шагами будет применение преобразования, соответствующего продукции (1) из примера 1, что приведет к переходу от доказательства утверждения Ф1 к доказательству утверждения Ф2 равного
(А с В) & (В с С) & (а 6 А) & (а 6 В) & (а 6 С) > (а 6 С). (6)
Нетрудно заметить, что утверждение Ф2 удовлетворяет знаменитой формулировке из «Начал» Евклида «получили, что и требовалось доказать» (для этого термина даже было введено специальное обозначение в «Началах» Евклида).
В методе инвариантных преобразований (МИП) в качестве системы аксиом используются утверждения, соответствующие «получили, что и требовалось доказать», т.е. утверждения в которых, как в утверждении (6), «Дано» содержит «Доказать».
Изложим МИП более формально.
1. Доказываемые утверждения Ф — формулы УИП вида
а1 & а2 & ... & ак > р1 & р2 & ... & рт (7)
2. Преобразование, соответствующее продукции а >р (1.3.2), преобразует формулу Ф в формулу Ф1
а1 & а2 & ... & а&в > Рг & Р2 & ... & вт (8)
если а входит в число утверждений «Дано». Для всюду определенности применения продукций, как преобразования формул УИП, будем считать, что, если а не входит в число утверждений «Дано», то Ф, = Ф.
Таким образом, каждая продукция а > р (4) определяет преобразование д [а > р] всей совокупности формул УИП Ьс сигнатуры с, т.е.
д [а > р] : ^ -> Ьа (9)
Основной проблемой является корректность таким образом (9), заданных д — преобразований, т.е. совпадение логических значений формул Ф и д [а > = > р] (Ф) для всех Ф из Ьс
3. Преобразование, соответствующее определению р = (у > у2), (9), преобразует формулу Ф в формулу Ф1
(а1 & а2 & ... & а& у, ) > (у2 & р2 & ... & р^ (10)
если р входит в число утверждений «Доказать» (здесь р совпадает с р, ). Для всюду определенности применения продукций, как преобразования формул УИП, будем считать, что, если р не входит в число утверждений «Доказать», то Ф1 = Ф.
Таким образом, каждая определение р = (у, > у2) (10) определяет преобразование п [р = (71 > У2)] всей совокупности формул УИП Ьс сигнатуры с, т.е.
П [р = (Уг > 72)] : ^ -> ьс (11)
Основной проблемой является корректность таким образом (11), заданных П — преобразований, т.е. совпадение логических значений формул Ф и п [в = = (у1 з у2)] ( Ф) для всех Ф из Ьа
Определение вида (10) дает переформулировку цели доказательства. Допустим, что в = (у з у2) (по определению), тогда в доказательстве утверждения Ф переходим к доказательству утверждения Ф2:
Г Дано : а1,а2,...,ак,у1 2 [,Доказать : у2,в2,...,вт Чаще всего выделяется лемма, доказывающая утверждения вида:
Г Дано : а1,а2,...,ак ,у1
Ф2 = -,
Доказать : у2
Если лемма будет доказана, то переходим к утверждению вида:
Дано : а1,а2,...,ак
Ф2 =',
[Доказать : Р2,.. ,Рт
4. Как отмечалось выше, в методе инвариантных преобразований (МИП) в качестве системы аксиом используются утверждения, соответствующие «получили, что и требовалось доказать», т.е. утверждения в которых, как в утверждении (11), «Дано» содержит «Доказать». Таким образом, система аксиом МИП состоит из формул УИП, которые с некоторым упрощением, имеют вид
А & В з В (12)
Формулы УИП данной формы (12) будем называть та — каноническими. В реализации МИП ( системе АДТ АВТОДОТ) проверка на та — каноничность производится процедурно.
5. Применение схемы доказательства методом от противного в МИП реализуется, как переход от доказательства формулы Ф вида А з В к доказательству формулы
Ф1 вида
А & 1В з В (13)
Логическая эквивалентность формул Ф и Ф; достаточно очевидна и, следовательно, переход от доказательства формулы Ф к доказательству формулы Ф; (13) корректен.
Замечание 3. При применении схемы доказательства методом от противного в МИП, в «Дано» на каком-то этапе, как правило, образуется противоречие. т.е. некоторое утверждение а и его отрицание ^ а. В реализации МИП ( системе АДТ АВТОДОТ) проверка на присутствие такого рода противоречий производится процедурно (автоматическая проверка наличия противоречий включается после применения метода от противного).
6. Применение схемы доказательства методом индукции в МИП реализуется, как переход от доказательства формулы Ф(х) вида А(х) з В(х) к доказательству формулы Ф1 вида
А(х) & (А(у) &(х > у) з В(у)) з В(х) (14)
Логическая эквивалентность формул Ф и Ф1 доказана в статье [3, с.576] и, следовательно, переход от доказательства формулы Ф к доказательству формулы Ф; (14) корректен.
Естественным и необходимым требованием является определение переменной х на вполне упорядоченном множестве.
Замечание 4. 1) При применении данной схемы реализации индукции не требуется доказательство выполнимости основания индукции.
2) Естественно вместо порядка может быть использовано любое другое бинарное отношение, такое, что переменная х определена на вполне упорядоченном множестве относительно этого отношения (иногда это может быть отношение делимости на целых числах, отношение включения подмножеств и т.д.).
Реализация МИП система АДТ АВТОДОТ [3, с. 578] была успешно применена для решения двух прикладных задач сетевого планирования:
1) Формирование сетевого графика организационно-технических мероприятий обеспечения жизнеспособности территориально распределенной иерархической системы [9, с. 161].
2) Планирование информационных потоков в территориально распределенной иерархической системе [10, с. 46].
Для обеих задач применение МИП позволило получать совокупность планов в формуле вида:
А & (В1, V В1) &...&(Вк, V Вк2) > С (15)
где допустимые планы (удовлетворяющие системно-техническим условиям), представлены некоторыми конъюнкциями в посылке импликации формулы (15), получающимися после раскрытия дизъюнкций по правилу дистрибутивности, связывающих логические связки конъюнкции и дизъюнкции (т.е. привести посылку импликации формулы (15) к ДНФ).
Понятно, что посылка импликации в форме ДНФ имеет 2 в степени к конъюнкций и поиск среди них, удовлетворяющих ограничениям (включая п — каноничность), весьма непростая задача. Собственно говоря, эвристики, наработанные при решении данных задач, и стали частью техники решения NP — трудных задач, излагаемой в данной работе.
2. Программирование в ограничениях и генерация МТ.
Программирование в ограничениях (или программирование ограничениями) — парадигма программирования, в которой отношения между переменными указаны в форме ограничений. Ограничения отличаются от общих примитивов языков императивного программирования тем, что они определяют не последовательность шагов для исполнения, а свойства искомого решения, что делает такое программирование формой декларативного программирования.
Программирование в ограничениях тесно связано с теорией удовлетворения ограничений, которая предлагает удобный аппарат и простую формальную схему для представления и решения комбинаторных задач искусственного интеллекта. Исторически первая форма — логическое программирование с ограничениями, что уже рассмотрено в первой части данной статьи.
Во второй части этой статьи схематично (на уровне идеологии) рассмотрим генерацию МТ для решения МР — трудных задач, причем перебор программ МТ будем оптимизировать методами УО.
Машина Тьюринга имеет следующие части:
Конечная лента L, разделенная на ячейки. В процессе работы ДМТ с обеих сторон ленты могут пристраиваться новые ячейки, поэтому ленту Ь можно считать потенциально бесконечной. В каждой из ячеек прописан некоторый символ из алфавита А = {а0, а1, а2, ..., ап}, т.е. в ячейках ленты а., являются символами алфавита А. В процессе работы МТ символы в ячейках ленты Ь могут меняться
(или не меняться). Ленту L называют также внешней памятью МТ. При пристраивании новой ячейки слева или справа предполагаем, что в ней прописывается один и тот же выделенный символ алфавита A = {a0, a , ..., an}, а именно, a0, причем в этом случае ячейка считается пустой.
Множество состояний МТ Q = {q0, q, q2, ..., qm} , элементы которого называются внутренней памятью. В дальнейшем предполагаем, что МТ всегда находится только в одном состоянии (почему называется детерминированной, а не детерминированная машина Тьюринга может одновременно находиться более чем в одном состоянии). Состояние q0 называется заключительным (или стоп-со-стоянием) при получении которого работа МТ прекращается.
Управляющая головка. Это устройство считывает информацию только из одной ячейки ленты L.
Схема работы МТ. Один такт работы МТ состоит в считывания головкой информации из ячейки ленты МТ и прописывания в эту ячейку некоторого символа алфавита A = {a0, a , ..., an} и сдвига головки (обязательно!) МТ в соседнюю левую или правую ячейку, а ДМТ переходит в некоторое состояние из множества Q = {q0, q, q2, ..., qm}. Отметим, что МТ может работать бесконечно (или вечно), так как заключительное состояние q0 может оказаться недостижимым. Состоянием (машинным словом или конфигурацией) МТ будем называть совокупность, образованную последовательностью a , a.2, ..., символов всех ячеек ленты, состоянием внутренней памяти q. и номером k воспринимаемой ячейки a.k. Таким образом, каждое машинное слово содержит только одно вхождение символа состояния q. Для рассматриваемого здесь машинного слова символ q. стоит на позиции k, что позволяет записать его следующей последовательностью
% a2 - a ki qt a k - % (16)
Важно отметить, что каждое машинное слово всегда заканчивается символом алфавита (если головка сдвигается вправо от последнего символа машинного слова, то справа приписывается символ a0, т.е. справа к ленте приписывается пустая ячейка), но может начинаться символом состояния q..
Функции перехода, печати и сдвига. Функция перехода состояний
Pass : (Q x A) -> Q
Функция печати
Print : (Q x A) -> A
Функция сдвига головки
Displ : (Q x A) -> {-1, 1}
Рассмотрим преобразование машинного слова (16) после применения выше определенных функций. Пусть Pass (q. , a. k) = qf ; Print (q., a. k) = a; Displ (q. , a. k) = t. Тогда в зависимости от значения t ( —1 соответствует сдвигу головки по ленте влево, а 1 — сдвигу головки вправо) возможны следующие два варианта.
1 вариант. Пусть t = —1. Тогда машинное слово (16) будет преобразовано в последовательность
a, a, ... q. a..^ a, ... a .
]1 ]2 ] k-1 I ]s
2 вариант. Пусть t = 1. Тогда машинное слово (16) будет преобразовано в последовательность
a, a, ... a.. , a. q. a..., ... a..
]1 ]2 j k-1 1 j k+1 js
Функции Pass, Print, Displ называют программой МТ, а начальную ленту L — задачей. На ленте МТ можно записывать классические NP — трудные задачи: выполнимости (SAT), раскраски графов, существования покрытия и др. [1, с. 114].
Методы УО можно применять для ускорения перебора входных данных (задачи на ленте МТ), а также для ускорения перебора программ МТ (функций Pass, Print, Displ), что, возможно, обещает весьма неожиданные результаты.
Отметим, что генерация программ (хотя бы только для МТ) с нашей точки зрения является принципиально новым шагом, хотя пока мы не имеем по этому направлению весомых результатов.
Список использованной литературы
1. Щербина О.А. Удовлетворение ограничений и программирование в ограничениях / О.А. Щербина // Интеллектуальные системы. — 2011. — Т. 15, вып. 1-4. — С. 53-170.
2. Мальцев А.И. Алгоритмы и рекурсивные функции / А.И. Мальцев. — Москва : Наука, 1965. — 392 с.
3. Мартьянов В.И. Об инвариантных преобразованиях формул / В.И. Мартьянов // Математические заметки. — 1984. — Т. 36, вып. 4. — С. 571-581.
4. Van Hentenrick P. Constraint Satisfaction in Logic Programming / P. van Henten-rick. — London : The MIT Press, 1989. — 356 p.
5. Мартьянов В.И. Комбинаторные задачи высокой сложности и анализ плоских контурных изображений / В.И. Мартьянов, М.Д. Каташевцев / / Известия Иркутского государственного университета. Серия: Математика. — 2013. — Т. 6, № 4. — С. 31-47.
6. Ершов Ю.Л. Математическая логика : учеб. пособие / Ю.Л. Ершов, Е.А. Палютин. — Москва : Наука, 1987. — 336 с.
7. Робинсон Дж. Машино-ориентированная логика, основанная на приципе резолюции / Дж. Робинсон // Кибернетический сборник (новая серия) / под ред. О.Б. Лупанова. — Москва, 1970. — Вып. 7. — С. 194-218.
8. Мартьянов В.И. О реализации схем доказательств в методе инвариантных преобразований / В.И. Мартьянов, А.А. Хармеев, Н.П. Яковлев // Кибернетика. — 1988. — № 3. — С. 78-83.
9. Александров С.Г. Применение системы АДТ для решения задач сетевого планирования / С.Г. Александров, В.И. Мартьянов // Интеллектуализация программных средств : сб. науч. тр. — Новосибирск, 1990. — С. 160-168.
10. Мартьянов В.И. Планирование информационных потоков в иерархической системе / В.И. Мартьянов, В.В. Сухорутченко, В.В. Окунцов // Прикладные системы. — Москва, 1992. — С. 46-58.
Информация об авторе
Мартьянов Владимир Иванович — доктор физико-математических наук, профессор, профконсультант, Байкальский государственный университет, г. Иркутск, Российская Федерация, e-mail: martvliv@mail.ru, SPIN-код: 5011-7030, Scopus Author ID: 16464234100.
Author
Vladimir I. Martyanov — D.Sc. in Physics and Mathematics, Professor, Professional Consultant, Baikal State University, Irkutsk, Russian Federation, e-mail: martvliv@mail.ru, SPINCode: 5011-7030, Scopus Author ID: 16464234100.
Для цитирования
Мартьянов В.И. NP-трудные задачи: автоматическое доказательство теорем и машины Тьюринга / В.И. Мартьянов. — DOI 10.17150/2411-6262.2021.12(4).11 // Baikal Research Journal. — 2021. — Т. 12, № 4.
For Citation
Martyanov V.I. NP-Difficult Tasks: Automatic Proof of Theorems and Turing's Machine. Baikal Research Journal, 2021, vol. 12, no. 4. (In Russian). DOI: 10.17150/2411-6262.2021.12(4).11.