
Ответы на экзаменационные вопросы / Ответы на экзаменационные вопросы по математической логике
.pdf25. Машина Тьюринга. Тьюринговая функциональная схема. Точное определение алгоритма. Тезис Тьюринга
Автоматизм, необходимый при реализации алгоритма, естественно привёл к мысли о передаче функции человека, реализующего алгоритм, машине. Эту идею предложили в 30-е годы прошлого века почти одновременно американский математик Эмиль Пост и английский математик Алан Тьюринг.
Рассмотрим один из вариантов, который носит название «машина Тьюринга».
Машина Тьюринга (МТ) — математическая модель идеализированного вычислительного устройства.
Устройство машины Тьюринга включает в себя:
1.Внешний алфавит, то есть конечное множество символов = {0, 1, … , }. В этом алфавите в виде слова кодируется та информация, которая подаётся в машину, то есть конечная последовательность символов алфавита. Машину перерабатывает эту информацию в новое слово.
2.Внутренний алфавит машины состоит из символов: {0, 1, … , , , , } . Символы 0, 1, … , — конечное число состояний машины, то есть возможных реакций МТ на любой символ внешнего алфавита.
Два состояния имеют особое назначение: 1 — начальное состояние машины (в этом состоянии машина начинает работать), 0 — заключительное состояние (стопсостояние; остановка).
Символы , , — это символы сдвига на 1 ячейку соответственно влево , на месте
и вправо .
Если нет состояния 1, то машина не начнёт работу, а если нет состояния 0, то машина не остановится, то есть зациклится.
3.Бесконечная в обе стороны лента, разбитая на ячейки (клетки). Это — внешняя память машины. В каждую ячейку может быть записан только один символ внешнего алфавита. Не пустым, то есть заполненным, может быть только конечное
число клеток. Пустую клетку обозначают символом 0 (иногда, если 0 не является символом алфавита, то вместо 0 пишут 0).
4.Управляющая (считывающая) головка. Она передвигается вдоль ленты и может останавливаться против какой-то клетки, то есть «считывать» символ в этой клетке. За один шаг головка может сдвинуться лишь на одну ячейку влево или на месте или вправо, что обозначается символами , , соответственно.
Конфигурация на ленте — совокупность, образованная последовательностью символов, записанных во внешней памяти (ленте), внутренним состоянием и номером воспринимаемой ячейки.
К началу работы машины на ленту подаётся начальная информация и управляющая головка, как правило, находится у крайнего правого (или левого) символа всех непустых клеток с указанием начального состояния 1 . Это так называемая начальная конфигурация.
Работа МТ складывается из тактов (шагов).
За один шаг машина может в данной ячейке:
•Написать один символ или оставить прежний в данной ячейке.
•Перейти в новое состояние или остаться в прежнем.

•Сдвинуться по ленте на одну клетку влево (или вправо) или остаться на месте.
Взависимости от того, какая была подана начальная информация , то есть
какая была начальная конфигурация, возможны 2 случая:
1.МТ начинает работу (не начать не может, так как при правильном задании должна быть известна реакция МТ на любой символ) и после конечного числа шагов
останавливается в некоторой конфигурации, то есть переходит в стоп-состояние 0. При этом на ленте оказывается изображённой некоторая информация . В этом случае говорят, что МТ применима к информации и перерабатывает её в , то есть существует и работает алгоритм перевода в .
2.МТ не останавливается, то есть не переходит в состояние 0 , как говорят, «зацикливается». В таком случае говорят, что данная МТ неприменима к информации .
Вкаждый момент работы МТ конфигурация записывается следующим образом:
{1, 2, … , , … , }
Это означает, что до 1 и после ячейки пустые, то есть в них стоят 0 (или 0), а в ячейках 1, … , могут быть как нулевые, так и ненулевые символы внешнего алфавита. При этом машина находится в состоянии .
Схему работы МТ, то есть алгоритма можно записать как программу МТ, то есть как конечное число шагов (тактов), каждый из которых записывается в виде:
→ ( , , )
Здесь 5 символов, 2 — из внешнего ( , ), 3 — из внутреннего ( , ( , , ), ) алфавитов. Такой шаг означает, что символ в ячейке, возле которой стоит управляющая головка, заменяется на символ , МТ из состояния переходит в состояние и при этом головка или сдвигается на 1 клетку влево ( ) или вправо ( ) или остаётся на месте ( ).
Программу МТ удобно записывать в виде двумерной таблицы, которая называется тьюринговой функциональной схемой.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
… |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
0 |
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
( , , ) |
|
|
|
( , , ) |
|
… |
|
|
( , , ) |
|
|
|
|
|
|
|
|
|||||||||
1 |
|
0,1 |
|
0,1 |
|
1,1 |
|
1,1 |
|
|
|
,1 |
|
,1 |
|
|
|
( , , ) |
|
|
|
( , , ) |
|
… |
|
|
( , , ) |
|
|
|
|
|
|
|
|
|||||||||
2 |
|
0,2 |
|
0,2 |
|
1,2 |
|
1,2 |
|
|
|
,2 |
|
,2 |
… |
|
|
… |
|
|
|
…. |
|
… |
|
|
|
… |
|
|
|
|
( , , ) |
|
|
|
( , , ) |
|
… |
|
|
|
( , , ) |
|
|
|
|
|
|
, |
|
||||||||
|
|
0, |
|
0, |
|
1, |
|
1, |
|
|
|
|
, |
Пример. Дана Тьюринговая функциональная схема:
|
|
|
|
|
0 |
1 |
2 |
|
|||
|
|
|
|
1 |
2 3 |
1 2 |
2 1 |
2 |
0 2 |
2 1 |
1 2 |
3 |
0 0 |
1 4 |
2 1 |
4 |
1 3 |
0 4 |
2 4 |
0 — символ пустой клетки.
Рассмотрим, как по такой программе работает МТ. Пример 1.
Пусть начальная конфигурация: {0, 0, 2, 2 , 0}
1
2 1 → 2 1, получаем: {0, 0, 2 , 2, 0}
1
2 1 → 2 1, получаем: {0, 0 , 2, 2, 0}
1
0 1 → 2 3, получаем: {0 , 2, 2, 2, 0}
3
0 3 → 0 0, получаем: {0, 2 , 2, 2, 0}
0
То есть МТ переработала слово 2 2 в слово 2 2 2. Пример 2.
Пусть начальная конфигурации: {0, 1, 1, 2, 2 , 0}
1
2 1 → 2 1, получаем: {0, 1, 1, 2 , 2, 0}
1
2 1 → 2 1, получаем: {0, 1, 1 , 2, 2, 0}
1
1 1 → 1 2, получаем: {0, 1, 1, 2 , 2, 0}
2
2 2 → 1 2, получаем: {0, 1, 1, 1 , 2, 0}
2
1 2 → 2 1, получаем: {0, 1, 1, 2 , 2, 0}
1
Видим, что пришли ко второй конфигурации, то есть процесс начал повторяться, зацикливаться, то есть делаем вывод, что данная МТ неприменима к слову
{0, 1, 1, 2, 2, 0}.
Тезис Тьюринга. Всякий алгоритм может быть задан посредством тьюринговой функциональной схемы и реализован в соответствующей МТ.

Этот тезис, так же, как и тезис Чёрча, нельзя доказать, так как он связывается нестрогое понятие алгоритма со строгим определением МТ. Его можно опровергнуть, если удастся привести пример алгоритма, который не может быть реализован с помощью МТ. Однако все известные до сих пор алгоритмы могут быть заданы посредством МТ.
Понятия рекурсивного алгоритма (алгоритм — это процесс вычисления частичнорекурсивной функции) и машины Тьюринга (алгоритм — то, что может быть задано посредством МТ), а также другие определения алгоритма, такие как машина Поста, нормальные алгоритмы Маркова, нейронные сети Неймана, равносильны.
Строгое определение алгоритма:
Всякий алгоритм — есть процесс вычисления частично-рекурсивной функции. Если функция не частично-рекурсивная алгоритма для её вычисления нет.
26. Функции, вычислимые по Тьюрингу. Доказать, что 3 простейших ПРФ — вычислимы по Тьюрингу
Воспользуемся специальным кодированием натуральных чисел в алфавите {0,1}: каждое число представим + 1 символов, то есть числа 0, 1, 2, … кодируем словами
1,11,111, …
Частичная числовая -местная функция = ( 1, … , ) называется вычислимой по Тьюрингу, если существует МТ с алфавитом {0,1} такая, что при начальной конфигурации, задающей в алфавите МТ значения 1, 2, … , , МТ начинает работу и, если при таких значениях функция определена, то МТ заканчивает работу в конфигурации, определяющей значение :
{0, 0, 1 , 1, . . . ,1 , 0,0}
0
Теорема. Функции, вычислимые по Тьюрингу, есть частично-рекурсивные функции, и наоборот.
Докажем, что простейшие ПРФ ( ) = 0, ( ) = + 1, ( 1, … , ) = есть функции, вычислимые по Тьюрингу.
1.( ) = , МТ { , } для вычисления этой функции задается Тьюринговая схема с двумя состояниями { 0, 1}:
|
|
|
|
|
|
0 |
1 |
|
|
||
|
|
|
|
|
|
|
|
1 0 0 0 1
Посмотрим, как работает эта МТ:
{0 0 1 1 0 0}
1
{0 0 1 0 0 0}
1
{0 0 0 0 0 0}
1

{0 0 0 0 0 0}
0
2.( ) = + , МТ { , } для вычисления этой функции задаётся Тьюринговая схема с двумя состояниями { 0, 1}:
|
|
|
|
|
|
0 |
1 |
|
|
||
|
|
|
|
|
|
|
|
1 1 0 1 1
Посмотрим, как работает эта МТ:
{0 0 1 1 0 0}
1
{0 0 1 1 0 0}
1
{0 0 1 1 0 0}
1
{0 1 1 1 0 0}
0
Вданном случае из 11 (то есть 1) получили 111 (то есть 2) (к слову: 1 – это 0).
3.( , … , ) = , МТ { , }.
Начальная информация — должны быть заданы 1, … , .
На ленте в алфавите {0,1} это группы 1, разделенные одной пустой клеткой, то есть 0.
Если две или более пустых клеток, то слева или справа от них только пустые клетки, то есть они показывают «границы» информации.
Например, конфигурация такая:
{0,0 , 1,1, … ,1 , 0, 1,1, … ,1 , 0, 1,1, … 1 , 0, 1,1, … 1 , 0,0}
|
1 |
2 |
3 |
4 |
|
То есть заданы значения аргументов функции 4-х переменных — начальная конфигурация. Наша МТ после окончания работы должна выдать значение
1( 1, … , ) = 1.
Пусть 1 — сохранение 1 в 1, 2 — обнуление 1 у остальных аргументов, 3 — определение границ, то есть конца информации, 0 — стоп-состояние.
В данном случае удобнее, чтобы в начальном состоянии управляющая головка находилась в крайнем левом положении, то есть под первой слева непустой клеткой.
|
|
|
|
|
0 |
1 |
|
|
|||
|
|
||
|
|
|
|
1 |
0 2 |
1 1 |
|
2 |
0 3 |
0 2 |
|
3 |
0 0 |
0 2 |
Посмотрим, как работает данная МТ. Пусть начальная конфигурация:
{0,0, 1 , 1,0,1,1,1,0,1,0,0}
1
1 1 → 1 1, {0,0,1, 1 , 0,1,1,1,0,1,0,0}
1
1 1 → 1 1, |
{0,0,1,1, 0 , 1,1,1,0,1,0,0} |
|
|
|
1 |
0 1 → 0 2, |
{0,0,1,1,0, 1 , 1,1,0,1,0,0} |
|
|
|
2 |
1 2 → 0 2, |
{0,0,1,1,0,0, 1 , 1,0,1,0,0} |
|
|
|
2 |
1 2 → 0 2, |
{0,0,1,1,0,0,0, 1 , 0,1,0,0} |
|
|
|
2 |
1 2 → 0 2, |
{0,0,1,1,0,0,0,0, 0 , 1,0,0} |
|
|
|
2 |
0 2 → 0 3, |
{0,0,1,1,0,0,0,0,0, 1 , 0,0} |
|
|
|
3 |
1 3 → 0 2, |
{0,0,1,1,0,0,0,0,0,0, 0 , 0} |
|
|
|
2 |
0 2 → 0 3, |
{0,0,1,1,0,0,0,0,0,0,0, 0} |
|
|
|
3 |
0 3 → 0 0, |
{0,0, 1,1 , 0,0,0,0,0,0,0, 0} |
|
|
1 |
0 |
27. Геделева нумерация МТ. Примеры: по номеру найти МТ и по МТ записать номер
Каждая МТ по определению есть набор ( , , П), где — внешний алфавит с выделенным пустым символом 0, — внутренний алфавит состояний с выделенными символами конечного ( 0 ) и начального ( 1 ) состояний, П — программа, то есть конечная последовательность упорядоченных пятёрок символов →
( = 1 … , 0 − , 1 − , 2 − ). Существуют некоторые обширные алфавиты 0 и0, в которых записываются все упомянутые символы ( , , , …).
Пусть 1, 2, 3, … — последовательность всех простых чисел, расположенных в порядке возрастания, то есть последовательность 2, 3, 4, 5, 7, 13 …
Номером МТ называется число: |
|
|
|
|
|
|
|
|
|
|
|
(МТ) = 1 |
1 |
1 |
1 |
1 |
2 |
2 |
2 |
2 |
2 |
3 |
… |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
|
Естественно, что не все натуральные числа являются номерами каких-то МТ. Но если— номер какой-то МТ в алфавите 0 , 0 , то её программу можно однозначно восстановить по номеру МТ.
Примеры.
1. МТ {0, 1 } для вычисления функции ( ) = + 1, П: 1 1 → 1 1, 0 1 → 1 0.
0, 1
Пусть − 0, − 2.
Номер этой МТ: (МТ) = 21315170111 130171191232290 = 56386110.
1 1→1 0 1 0 1→1 2 0
2.Пусть (МТ) = 1230 = 2 5 123 = 2 5 3 41 =
=21315170110 130170190230290 310370411430470.
1 1→1 0 |
0 0→0 0 |
0 0→1 0 |

28. Самоприменимость МТ. Теорема об алгоритмической неразрешимости проблемы самоприменимости
Как и раньше, кодируем натуральные числа символом 1. Будем рассматривать МТ, алфавит которых содержит символ 1.
МТ называется применимой к начальному слову, если она, начав работать с этим словом на ленте, придёт в заключительное состояние.
МТ называется самоприменимой, если она применима к своему номеру (МТ), то есть если она начинает свою работу со своим кодом (то есть по программе, восстановленной по этому коду) и заканчивает работу, то есть останавливается в какойто конфигурации, то есть перерабатывает код в какое-то слово.
Пример тьюринговой функциональной схемы самоприменимой машины:
|
|
|
|
|
|
0 |
1 |
|
|
||
|
|
|
|
|
|
|
|
1 00 11
Данная машина работает так: к любому слову, состоящему из символов 1, она прибавляет ещё один символ 1 справа и останавливается.
Очевидный пример несамоприменимой машины — если в правых частях команд не встречается 0 — стоп-состояние. Такая машина неприменима ни к какому слову.
Рассмотрим алгоритмическую проблему самоприменимости, то есть существует ли алгоритм, который по любому (МТ) устанавливает, самоприменима ли она или нет. Согласно Тьюрингу, это означает, существует ли такая МТ, которая была бы применима к кодам номеров всех МТ и в зависимости от того, самоприменима МТ или нет, имела бы различные заключительные конфигурации. Например, в случае самоприменимости
МТ заключительная конфигурация |
имела бы вид {0 0 |
1 0 0} , а в случае |
|
|
|
|
0 |
несамоприменимости — {0 0 |
0 0 |
0}. |
|
|
0 |
|
|
Теорема. Проблема самоприменимости алгоритмически неразрешима, то есть не существует МТ, решающей эту проблему в указанном выше смысле.
Доказательство.
Предположим противное, что такая машина существует (например, в номер самоприменимой машины перерабатывается в 1, а несамоприменимой в 0). Тогда можно построить машину , которая:
1)Применима ко всем кодам номеров несамоприменимых машин (то есть по номеру устанавливает, что машина несамоприменима).
2)Неприменима ко всем кодам номеров самоприменимых машин.
Действительно, машина получается из следующим образом: алфавит сохраняется неизменным, заключительное состояние 0 машины считается не заключительным состоянием машины , а заключительным состоянием считается новое состояние 0′ , причём программа состоит из всех команд и ещё двух команд:
10 → 10 («зацикливание»)
00 → 00′
Очевидно, что удовлетворяет требованиям 1) и 2), так как конфигурация 1
0
машины означает, что установлена самоприменимость исследуемой МТ, а команда 10 → 10 зацикливает программу, что означает, что неприменима к номеру
самоприменимой МТ; в то же время заключительная конфигурация 0 машины
0
устанавливает несамоприменимость МТ, а команда 00 → 00′ означает, что применима к несамоприменимой МТ (не зацикливается).
Итак, если самоприменима (то есть применима к коду своего номера), то она применима и к коду самоприменимой МТ, но тогда требование 2) не удовлетворено; если же несамоприменима (то есть неприменима к коду своего номера), то она неприменима и к коду несамоприменимой МТ, но тогда не выполнено требование 1). Следовательно, мы пришли к противоречию, то есть не существует машины , решающей проблему самоприменимости.
Заметим, что неразрешима именно массовая проблема: не существует единого алгоритма, который решал бы проблему самоприменимости.
Используя результат этой теоремы, можно доказать неразрешимость других алгоритмических проблем. Например, можно доказать следующую теорему.
Теорема. Проблема применимости МТ к начальному слову алгоритмически неразрешима, то есть не существует МТ (а, следовательно, и алгоритма), разрешающей проблему определения по номеру (МТ) и начальному слову , применима ли МТ к .
Иначе говоря, можно ли построить МТ, которая была бы применима ко всем словам вида (МТ)0 (МТ — произвольная машина, 0 — разделитель, — произвольное слово), и в случае, если МТ применима к слову , то заключительная конфигурация
имела бы вид {0 0 |
1 0 0} , а в случае, если |
МТ неприменима к слову , |
|
0 |
|
заключительная конфигурация имела бы вид {0 0 0 |
0 0}. |
|
|
0 |
|
29. Нормальные алгоритмы Маркова. Точное определение алгоритма. Примеры
Будем называть алфавитом всякое непустое конечное множество символов, а сами символы алфавита будем называть буквами.
Слово в алфавите — всякая конечная последовательность букв алфавита . Пустая последовательность букв называется пустым словом и обозначается .
Если обозначает слово |
|
|
|
|
|
… |
|
и обозначает |
слово |
|
|
|
… |
|
, то |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
1 |
|
2 |
|
|
|
|
|
|
|
1 |
|
2 |
|
|
|
|
обозначает объединение |
|
… |
|
|
|
|
|
… |
|
. В частности, = = ; кроме того, |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
1 |
|
2 |
|
|
|
|
1 |
|
2 |
|
|
|
|
|
|
|
|
|
|
(1 2) 3 = 1(2 3).
Принято говорить, что слово входит в слово , если существуют такие (возможно, пустые) слова и , что = .
Алфавит называется расширением алфавита , если . Очевидно, что в этом случае всякое слово в алфавите является также словом в алфавите .
Алгоритмом в алфавите называется вычислимая функция, областью определения которой служит какое-нибудь подмножество множества всех слов в алфавите и значениями которой являются также слова из . Если , то есть — расширение , то всякий алгоритм в называется алгоритмом над алфавитом .
Пусть есть слово в алфавите ; говорят, что алгоритм применим к слову , еслисодержится в области определения .
Большинство известных алгоритмов можно разбить на некоторые простейшие шаги (одно из свойств алгоритма — элементарность каждого шага). Следуя А. А. Маркову, в качестве элементарной операции, на базе которой строятся алгоритмы, выделим подстановку одного слова вместо другого.
Если и — слова в алфавите , то выражение → называется простой формулой подстановки в , а →∙ называется заключительной формулой подстановки в ; при этом предполагается, что символы стрелка «→» и точка «∙» не являются буквами алфавита , а каждое слово и может быть и пустым словом.
Пусть → (∙) обозначает одну из формул подстановки → или →∙ .
Конечный список формул подстановки в алфавите :
1 → (∙) 1 { 2 → (∙) 2
…
→ (∙)
Называется схемой алгоритма и порождает следующий алгоритм в алфавите ,
называемый алгоритмом Маркова или нормальным алгоритмом.
Пусть — слово в алфавите . Здесь может быть одно из двух:
1)Ни одно из слов 1, 2, … , не входит в слово (обозначается: : ).
2)Среди слов 1, 2, … , существуют такие, которые входят в . Пусть — наименьшее целое число из 1 ≤ ≤ такое, что входит в , и — слово, которое получается, если самое левое вхождение слова в слово заменить
словом .
Тот факт, что и находятся в описанном отношении, коротко запишем в виде: : , если → (∙) — простая подстановка;
: ∙ , если → (∙) — заключительная подстановка.
В первом случае говорят, что алгоритм просто переводит слово в слово , а во втором случае говорят, что алгоритм заключительно переводит слово в слово .
Пусть |
далее |
: |
означает, |
что |
существует |
такая |
последовательность |
||||
, , … , слов |
в алфавите , что = , = , : |
|
|
для = 0 … − 2 , |
|||||||
0 1 |
|
|
|
|
0 |
|
|
|
+1 |
|
|
причем либо : |
|
, либо : |
∙ |
|
(в этом последнем случае вместо : |
||||||
|
−1 |
|
−1 |
|
|
|
|
|
|
пишут : ∙ ).
Положим теперь ( ) = тогда и только тогда, когда либо : ∙ , либо :
и : .
Это и есть точное (строгое) определение алгоритма. Любой алгоритм, если он существует, может быть представлен как нормальный алгоритм Маркова.
Таким образом, работу алгоритма можно описать следующим образом:
Пусть дано слово в алфавите . Находим первую в схеме алгоритма формулу подстановки → (∙) такую, что входит в . Совершаем подстановку слова вместо самого левого вхождения слова в . Пусть 1 — результат такой подстановки. Если →∙ , то работа этой подстановки заканчивается и далее переходим к следующей подстановке, такой, что входит в 1 (то есть к -той подстановке), и так же совершаем подстановку → (∙) , результат которой 2 и так далее. Если же → , то применяем к 1 тот же поиск, который был только что применён к (до тех пор, пока входит в ) и так далее.
Если на конечном этапе будет получено такое слово , что : , то есть ни одно из слов 1, … , не входит в , то работа алгоритма заканчивается, и будет его значением. Если же описанный процесс на конечном этапе не заканчивается, то говорят, что алгоритм неприменим к данному слову .
Примеры.
1.Пусть схема алгоритма: : → , → .
Тогда, если начальное слово , то алгоритм работает так:
→ → → , :
Обратим внимание на то, что → произошло потому, что заключительной подстановки в схеме алгоритма нет. Закончиться алгоритм может, как уже было написано ранее, либо при последней заключительной подстановке : ∙ , либо при простой подстановке : при отсутствии зацикливания ( → , → ).
2.Пусть схема алгоритма: : →∙ , →∙ .
Тогда, если начальное слово , то алгоритм работает так:
→∙ →∙ , |
: ∙ |
3.Пусть схема алгоритма: : → , →∙ .
Тогда, если начальное слово , то алгоритм работает так:
→ → →∙ , |
: ∙ |
4.Пусть схема алгоритма: : → , → .
Тогда, если начальное слово , то алгоритм работает так:
→ → →
Так как подстановка → — простая, то алгоритм не заканчивается, процесс продолжается бесконечно, значит данный алгоритм неприменим к данному слову.
Пример 1. Пусть есть алфавит { , } . Рассмотрим схему → , → . Определяемый этой схемой нормальный алгоритм перерабатывает всякое слово в алфавите , содержащее хотя бы одно вхождение буквы , в слово, которое получается вычёркиванием в самого левого вхождения буквы .
Если = , то →∙ , где = . Данный алгоритм неприменим к пустым словам, не содержащим буквы , так как простые подстановки → будут перерабатывать эти слова в себя самих, но тогда всегда → , и мы не приходим к заключительной подстановке, то есть процесс будет продолжаться бесконечно.
Если же рассмотреть несколько изменённую схему → , →∙ , то алгоритм применительно к слову = сработает так: : ∙ .