Филиал Московского государственного университета имени М.В

advertisement
Филиал Московского государственного университета
имени М.В. Ломоносова в г. Ташкенте
Каримов Даврон Фаррух угли
ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА
на тему «Поведение коллективов автоматов на целочисленной прямой»
по направлению 010500 - «Прикладная математика и информатика»
рассмотрена и рекомендована к защите
Зав. кафедрой «МаТИС» д.ф.-м.н.,
профессор
Научный руководитель:
н.с.
_________Кудрявцев В.Б.
______________ ВолковН.Ю.
«___»____________2014год
«___»_________2014год
Ташкент 2014
Содержание
1.
Введение
2.
Основные определения и понятия
3.
Постановка задачи и основные результаты
4.
Вычисление функций коллективами из 2 автоматов
5.
Вычисление функций коллективами из 3 автоматов
6.
Список использованной литературы
Введение.
В данной работе исследуется поведение коллективов из двух и трех конечных
автоматов на целочисленной прямой. Доказывается, что последовательности состояний и
выходных символов коллективов из двух автоматов при таком движении –
периодические.
Далее поведение коллективов из двух и трех конечных автоматов исследуются через
целочисленные функции, которые могут быть определенным образом вычислены такими
автоматами.
Рассмотрим такие коллективы автоматов, у которых автомат 𝑊1 (𝑅, 𝑉) имеет
внутренний
алфавит
𝑄1 = {(𝑧, 𝑦)|𝑧 ∈ {+, −}, 𝑦 ∈ {𝑞0 , 𝑞1 , 𝑞2 , … }}, где компонента 𝑧 −
предназначена для хранения знака некоторого числа, 𝑦 − собственное состояние
автомата. Для таких типов коллективов введем следующие определения.
𝑎 − расстановкой коллектива автоматов (𝑊1 , 𝑊2 )(𝑅, 𝑉) (где 𝑎 ∈ ℤ) будем называть
такую расстановку автоматов, что автомат 𝑊2 (𝑅, 𝑉) находится на a клеток правее
𝑊1 (𝑅, 𝑉), в случае 𝑎 ≥ 0, и на а клеток левее W1, в случае 𝑎 < 0. При этом, в случае 𝑎 ≥ 0
W1 находится в состоянии (+,𝑞1 ), а в случае 𝑎 < 0, W1 находится в состоянии ( - , 𝑞1 ).
Аналогично, a − расстановкой коллектива автоматов (𝑊1 , 𝑊2 , 𝑊3 )(𝑅, 𝑉) (где а ∈ ℤ)
будем называть такую расстановку автоматов, что автомат 𝑊3 (𝑅, 𝑉)находится на a клеток
правее 𝑊1 (𝑅, 𝑉), в случае а≥ 0 и на а клеток левее W1, в случае а< 0, а автоматы W1 и W2
находятся в одной клетке. При этом, в случае 𝑎 ≥ 0 W1 находится в состоянии (+,𝑞1 ), а в
случае 𝑎 < 0, W1 находится в состоянии ( - , 𝑞1 ).
Будем говорить, что коллектив автоматов вычисляет целочисленную функцию 𝑓(𝑥),
если для любого целого 𝑥 этот коллектив, стартуя из x-расстановки, остановится в 𝑓(𝑥)расстановке.
В данной работе использовалась дипломная работа Айтбаева Улугбека, в которой
было доказано, что коллектив из двух автоматов на целочисленной прямой вычисляет
функции вида: 𝑓(𝑥) = 𝑐 (константа), 𝑓(𝑥) = 𝑥 + 𝑐.
В данной работе было показано, что коллективы из двух автоматов на прямой могут
вычислять функции 𝑓(𝑥) = 𝑥(𝑚𝑜𝑑с). Также показано, что коллективы из трех автоматов
могут вычислять функции вида 𝑓(𝑥) = 𝑐𝑥 (константа).
Автор выражает благодарность Н. Ю. Волкову за научное руководство.
Основные определения и понятия.
Обозначим множества натуральных и целых чисел, как ℕ и ℤ, соответственно.
Положим ℕ0 = ℕ⋃{0}. Множество клеток, на которые плоскость разбивается
целочисленной решеткой, обозначим ℤ2 . Определим подмножество ℤ2 – бесконечную в
обе сторону ленту, разбитую на клетки: 𝐿(1) = {(𝑥, 𝑦)| 𝑦 = 1, 𝑥 ∈ ℤ} (рис. 1).
(рис. 1).
Каждой клетке бесконечной в обе стороны ленты сопоставлена координата её
нижнего левого угла. Отрезок из клеток, находящихся от клетки 𝑥0 на расстоянии, не
превосходящем r, назовем r-окрестностью клетки 𝑥0
𝐷𝑥0 ,𝑟 = {𝑥 | 𝑥 ∈ 𝐿(1), |𝑥 − 𝑥0 | ≤ 𝑟}
Будем считать, что задана нумерация клеток множества 𝐷𝑥0 ,𝑟 - слева направо, т.е.
первая клетка отрезка – самая левая, последняя – самая правая.
Под
автоматом
будем
понимать
инициальный
конечный
автомат
видаW=(A, Q, B, φ, ψ, q 0 ), где A— входной, B — выходной, Q— внутренний алфавиты
автомата W, φ: Q × A → Q и ψ: Q × A → B — функции переходов и выходов W,
соответственно, q 0 ∈ Q — его начальное состояние. Алфавит A определяет возможности
W “видеть” происходящее вокруг, а алфавит B — его возможности перемещаться.
Алфавит Q и функции φ и ψ задают внутреннюю логику автомата W.
Рассмотрим автомат W, перемещающийся по 𝐿(1). Выходным алфавитом W
является множество 𝐵 = 𝐷𝑥0 ,𝑉 , где параметр V∈ называется скоростью автомата W.
Входной алфавит W зависит от параметра R∈ (R ≥ V), называемого обзором автомата W
и способом взаимодействия W с другими автоматами.
Автомат со скоростью V и обзором R будем обозначать как W (R, V). Пусть W (R,
V) находится в клетке 𝑥0 . Множество 𝐷𝑥0 ,𝑉 называется окрестностью хода W, а множество
𝐷𝑥0 ,𝑅 – зоной обзора W.
Рассмотрим коллектив автоматов 𝐾 = (𝑊1 , . . . , 𝑊𝑚 )(𝑅, 𝑉), где R — обзор, а V—
скорость каждого из автоматов. Положим 𝑁 = 2𝑅 + 1 – размер зоны обзора каждого из
автоматов.
Обозначим внутренний алфавит автомата𝑊𝑗 как 𝑄𝑗 . Входным сигналом
автомата 𝑊𝑗 (𝑅, 𝑉) будет строка вида(𝑎1 , . . . , 𝑎2𝑅+1 )
𝑎𝑘 =
(𝑞𝑗1 , … , 𝑞𝑗𝑛 ) если в клетке с номером 𝑘 находятся автоматы с номерами 𝑗1 , … , 𝑗𝑛
где 𝑛 ≤ 𝑚 и {𝑗1 , … , 𝑗𝑛 } ⊆ {1, … , 𝑚}
{ 0 если клетка с номером 𝑘 − пуста.
(1)
где 𝑘 = 1, … , 2𝑅 + 1.
Полагаем, что
𝑎𝑅+1 = 0,
(2)
если в клетке с номером 𝑅 + 1, нет других автоматов, кроме 𝑊𝑗 (𝑅, 𝑉).
Строку, определенную равенствами (1), (2) назовем 𝑊𝑗 − конфигурациeй.
Множество всех 𝑊𝑗 − конфигураций при всевозможных расположениях и состояниях
автоматов является множеством A – входных символов.
Состоянием покоя автомата W(R, V) назовём такое состояние автомата, находясь в
котором, автоматпри любом входном символе,выдаст выходной символ 0и останется в
этом же состоянии.
Далее в работе будем рассматривать коллективы из двух или из трех автоматов, т.е.
случаи m=2,3.
Постановка задачи и основные результаты.
Целочисленной функцией назовем отображение 𝑓: ℤ → ℤ.
Рассмотрим такие коллективы автоматов, у которых автомат 𝑊1 (𝑅, 𝑉) имеет
внутренний
алфавит
𝑄1 = {(𝑧, 𝑦)|𝑧 ∈ {+, −}, 𝑦 ∈ {𝑞0 , 𝑞1 , 𝑞2 , … }}, где компонента 𝑧 −
предназначена для хранения знака некоторого числа, 𝑦 − собственное состояние
автомата. Для таких типов коллективов введем следующие определения.
𝑎 − расстановкой коллектива автоматов (𝑊1 , 𝑊2 )(𝑅, 𝑉) (где 𝑎 ∈ ℤ) будем называть
такую расстановку автоматов, что автомат 𝑊2 (𝑅, 𝑉) находится на a клеток правее
𝑊1 (𝑅, 𝑉), в случае 𝑎 ≥ 0, и на а клеток левее W1, в случае 𝑎 < 0. При этом, в случае 𝑎 ≥ 0
W1 находится в состоянии (+,𝑞1 ), а в случае 𝑎 < 0, W1 находится в состоянии ( - , 𝑞1 ).
Аналогично, a − расстановкой коллектива автоматов (𝑊1 , 𝑊2 , 𝑊3 )(𝑅, 𝑉) (где а ∈ ℤ)
будем называть такую расстановку автоматов, что автомат 𝑊3 (𝑅, 𝑉)находится на a клеток
правее 𝑊1 (𝑅, 𝑉), в случае а≥ 0 и на а клеток левее W1, в случае а< 0, а автоматы W1 и W2
находятся в одной клетке. При этом, в случае 𝑎 ≥ 0 W1 находится в состоянии (+,𝑞1 ), а в
случае 𝑎 < 0, W1 находится в состоянии ( - , 𝑞1 ).
Будем говорить, что коллектив автоматов вычисляет целочисленную функцию 𝑓(𝑥),
если для любого целого 𝑥 этот коллектив, стартуя из x-расстановки, остановится в 𝑓(𝑥)расстановке.
Теорема 1. Для любого 𝑐 ∈ 𝑍 существуют коллективы из двух автоматов
𝐾1𝑐 = (𝑊1 , 𝑊1′ ),𝐾2𝑐 = (𝑊2 , 𝑊2′ ), 𝐾3𝑐 = (𝑊3 , 𝑊3′ ), вычисляющие, соответственно,
функции 𝑓(𝑥) = 𝑐 (константа), 𝑓(𝑥) = 𝑥 + 𝑐, и 𝑓(𝑥) = 𝑥(𝑚𝑜𝑑 с).
Теорема 2. Для любого 𝑐 ∈ 𝑁существует коллектив из трех автоматов 𝐾 =
(𝑊1 , 𝑊2 , 𝑊3 ),вычисляющий функцию 𝑓(𝑥) = 𝑐𝑥.
Вычисление функций коллективами из 2 автоматов.
Определение. Последовательность выходных символов коллектива из 𝑛 автоматов
является периодической, если найдется число 𝑇 ∈ ℕ, такое, что, начиная с некоторого
момента 𝑖 = 𝑇0 (𝑇0 ∈ ℕ0 ) для любого автомата 𝑊𝑗 (𝑅, 𝑉), где 𝑗 ∈ {1,2, … , 𝑛}, выполняется
b𝑗 (i) = bj (i + kT)где 𝑇 ∈ ℕ, 𝑘 ∈ ℕ, где 𝑇0 – предпериод, а 𝑇 – период.
Из данного определения следует, что начиная с временного момента 𝑖 каждый набор
(b1 (𝑖), b2 (𝑖), … , b𝑗 (𝑖), … , b𝑛 (𝑖)) , где b𝑗 (𝑖) – выходной символ автомата 𝑊𝑗 (𝑅, 𝑉) (𝑗 ∈
{1,2, … , 𝑛}), будет повторяться ровно через каждые 𝑇 тактов.
Для любого момента времени i определим величину 𝑟(𝑖) следующим образом, как
расстояние между автоматами 𝑊1 (𝑅, 𝑉) и 𝑊2 (𝑅, 𝑉) в момент времени 𝑖.
Причем, если автоматы 𝑊1 (𝑅, 𝑉) и 𝑊2 (𝑅, 𝑉)в момент времени 𝑖 находятся на
расстоянии |𝑥| клеток друг от друга, и если автомат 𝑊2 (𝑅, 𝑉) находится правее автомата
𝑊1 (𝑅, 𝑉) или в той же клетке, то положим 𝑟(𝑖) равное расстоянию между автоматами в
момент времени i. Если 𝑊2 (𝑅, 𝑉) находится левее автомата 𝑊1 (𝑅, 𝑉), то положим
𝑟(𝑖)равное расстоянию между автоматами в момент времени i взятого со знаком минус.
Будем говорить, что коллектив (𝑊1 , 𝑊2 )находится в а-расстановке, если:
1)
𝑊2 удален от 𝑊1 на а клеток вправо в случае, если 𝑎 ≥ 0, и наа клеток влево,
в случае, если 𝑎 < 0.
2)
При 𝑎 ≥ 0,𝑊1 находится в состоянии вида (1,q), а при 𝑎 < 0, 𝑊1 находится в
состоянии вида (-1,q).
Лемма 1. Последовательность выходных сигналов коллектива из двух автоматов на
целочисленной прямой является периодической.
Доказательство: Передвигаясь нацелочисленной прямой, 2 автомата 𝑊1 (R, V) и 𝑊2 (R, V)
могут оказаться на расстоянии не большем R
а) 0 раз
б) конечное число раз
в) бесконечное число раз
Рассмотрим каждый из трёх случаев для произвольного коллектива из двух автоматов
𝑊1 (R, V) и 𝑊2 (R, V). Положим, что число состояний первого автомата |𝑄1 | = 𝑛1 , а число
состояний второго автомата |𝑄2 | = 𝑛2 .
Рассмотрим случай а), когда автоматы 𝑊1 (R, V) и 𝑊2 (R, V), в каждые моменты времени
𝑡1 , 𝑡2 ,где 𝑡1 , 𝑡2 ∈ ℕ0 находятся на расстоянии большемR. Так как в зоне обзора R каждого
из двух автоматов нет ничего, кроме пустых клеток, то входной сигнал каждого из двух
автоматов (𝑎1 (𝑡1 ) - входной сигнал автомата 𝑊1 (R, V) в момент времени 𝑡1 , 𝑎2 (𝑡2 ) входной сигнал автомата𝑊2 (R, V) в момент времени 𝑡2 ) будут одинаковыми:
𝑎 (𝑡 ) = 𝑎1 (𝑡2 )
{ 1 1
∀𝑡1 , 𝑡2 ∈ ℕ0
𝑎2 (𝑡1 ) = 𝑎2 (𝑡2 )
Так как состояний у автоматов 𝑊1 (R, V) и 𝑊2 (R, V) - конечное число, то не позднее чем
через𝑛1 𝑛2 + 1 тактов, найдутся такты i и j, такие, чтопара состояний q1 (j) и q 2 (j) первого
и второго автоматов соответственно, будут теми же самыми, что и в момент 𝑖. Т.е. будет
выполняться следующая система уравнений:
{
q1 (𝑖) = q1 (𝑗)
q 2 (𝑖) = q 2 (𝑗)
Положим T = j–i, 𝑇0 = i,и выражая j из первого равенства, получаем j = i + T, и заменяем
его.
{
q1 (𝑖) = q1 (𝑖 + 𝑇)
q 2 (𝑖) = q 2 (𝑖 + 𝑇)
Из определений функции перехода и функции входного сигнала конечного автомата
известно, что зная входной сигнал и состояние автомата в любой момент времени𝑡 ∈ ℕ0 ,
можно однозначно определить выходной сигнал в момент времени 𝑦 и состояние автомата
в момент времени 𝑡 + 1:
𝑞(𝑡 + 1) = 𝜑(𝑞(𝑡), 𝑎(𝑡))
{
𝑏(𝑡) = 𝜓(𝑞(𝑡), 𝑎(𝑡))
Из сказанного выше следует, что в момент времени 𝑖 + 𝑇 + 1 состояния
автоматов𝑊1 (R, V) и 𝑊2 (R, V)будут теми же самыми, что и в момент времени 𝑖 + 1. В
момент времени 𝑖 + 𝑇 + 2 - теми же самыми, что и в момент времени 𝑖 + 2. Таким
образом, в момент времени 𝑖 + 2𝑇 состояния автоматов 𝑊1 (R, V) и 𝑊2 (R, V) будут теми
же самыми, что и в момент времени 𝑖 + 𝑇. Следовательно, в момент времени 𝑖 + 𝑘𝑇, где
𝑘 ∈ ℕ0 , состояния автоматов𝑊1 (R, V) и 𝑊2 (R, V) будут теми же самыми, что и в момент
времени 𝑖. Этот факт можно записать следующей системой уравнений:
q (𝑖) = q1 (𝑖 + 𝑘𝑇)
{ 1
где𝑘 ∈ ℕ0
q 2 (𝑖) = q 2 (𝑖 + 𝑘𝑇)
Аналогично для любого t, где 𝑡 ≥ 𝑖 (𝑡 ≥ 𝑇0 ), верно что
{
q1 (𝑡) = q1 (𝑡 + 𝑇) = q1 (𝑡 + 2𝑇) = ⋯ = q1 (𝑡 + 𝑘𝑇)
где𝑘 ∈ ℕ0
q 2 (𝑡) = q 2 (𝑡 + 𝑇) = q 2 (𝑡 + 2𝑇) = ⋯ = q 2 (𝑡 + 𝑘𝑇)
Из этой системы следует система уравнений:
{
b1 (t) = b1 (t + kT)
где𝑘 ∈ ℕ0
b2 (t) = b2 (t + kT)
Эта система означает, что последовательность выходных сигналов коллектива из двух
автоматов нацелочисленной прямой является периодической. В данном случае
максимальное количество тактов в предпериоде и периоде связаны следующим образом
неравенством:
𝑚𝑎𝑥(𝑇0 ) + max(𝑇) ≤ 𝑛1 𝑛2 + 1
Отсюда следует, что 𝑚𝑎𝑥(𝑇0 ) ≤ 𝑛1 𝑛2 + 1 иmax(𝑇) ≤ 𝑛1 𝑛2 + 1.
Рассмотрим случай б), когда автоматы 𝑊1 (R, V) и 𝑊2 (R, V)находятся в зоне обзора друг
друга конечное число раз. Доказательство периодичности выходных сигналов в данном
случае сводится к доказательству периодичности выходных сигналов в случае, когда
автоматы 𝑊1 (R, V) и 𝑊2 (R, V) не находятся на расстоянии не большем 𝑅 ни в один из
тактов, с той лишь разницей, что в данном случае предпериод 𝑇0 = 𝑖 - это число тактов,
за которые автоматы 𝑊1 (R, V) и 𝑊2 (R, V) уже находились в зоне обзора друг друга
конечное число раз, и в последующие такты уже не встретятся.
Рассмотрим случай в), когда автоматы 𝑊1 (R, V) и 𝑊2 (R, V)находятся в зоне обзора друг
друга бесконечное число раз.
Когда автоматы будут находиться в зоне обзора друг друга, 𝑟(𝑖) будет находиться в
интервале:
−𝑅 ≤ 𝑟(𝑖) ≤ 𝑅, 𝑟(𝑖) ∈ ℤ.
Так как автоматы 𝑊1 (R, V) и 𝑊2 (R, V) находятся в зоне обзора друг друга бесконечное
число раз, то для любого временного момента 𝑖, найдётся такой временной момент𝑗, где
𝑖 ≤ 𝑗, что расстояние между автоматами 𝑊1 (R, V) и 𝑊2 (R, V) будет не больше чем |𝑅|.
Автоматы 𝑊1 (R, V) и 𝑊2 (R, V) могут находиться на расстоянии не большем |𝑅| не более
чем в 𝑛1 и 𝑛2 состояниях – каждый, соответственно и не более чем в 2𝑅 + 1 разных
расстановках.
Так как каждое из множеств {|𝑅|}, {|𝑄1 |} и {|𝑄2 |} имеет конечное число элементов, то и
множество вариантов расстановок при разных состояниях каждого из автоматов, также
будет иметь конечное число (2𝑅 + 1)𝑛1 𝑛2 элементов. Таким образом, существует не
более чем (2𝑅 + 1)𝑛1 𝑛2 вариантов расстановок при разных состояниях каждого из
автоматов.
Исходя из того, что вариантов расстановок при разных состояниях каждого из автоматов
𝑊1 (R, V) и 𝑊2 (R, V) – конечное число, а автоматы 𝑊1 (R, V) и 𝑊2 (R, V)находятся в зоне
обзора друг друга бесконечное число раз, следует, что при 𝑛1 > 𝑛2 , не позднее чем
через(2𝑅 + 1)𝑛1 𝑛2 + 1 встреч, найдется такт с номером𝑗 такой, что расстановка 𝑟(𝑗)и
пара состояний q1 (j) и q 2 (j) первого и второго автоматов соответственно, будут теми же
самыми, что и в некоторый момент 𝑖. Т.е. будет выполняться следующая система
уравнений:
𝑟(𝑖) = 𝑟(𝑗)
{q1 (𝑖) = q1 (𝑗)
q 2 (𝑖) = q 2 (𝑗)
Положим T = j–i, 𝑇0 = i,и выражая jиз первого равенства, получаемj = i + T, и заменяем
его.
𝑟(𝑖) = 𝑟(𝑖 + 𝑇)
{q1 (𝑖) = q1 (𝑖 + 𝑇)
q 2 (𝑖) = q 2 (𝑖 + 𝑇)
Из определений функции перехода и функции входного сигнала конечного автомата
известно, что зная входной сигнал и состояние автомата в любой момент времени 𝑡 ∈ ℕ,
можно однозначно определить выходной сигнал в момент времени 𝑡 и состояние автомата
в момент времени 𝑡 + 1:
{
𝑞(𝑡 + 1) = 𝜑(𝑞(𝑡), 𝑎(𝑡))
𝑏(𝑡) = 𝜓(𝑞(𝑡), 𝑎(𝑡))
Из сказанного выше следует, что в момент времени 𝑖 + 𝑇 + 1 расстановка и состояния
автоматов𝑊1 (R, V) и 𝑊2 (R, V)будут теми же самыми, что и в момент времени 𝑖 + 1. В
момент времени 𝑖 + 𝑇 + 2 - теми же самыми, что и в момент времени 𝑖 + 2. Таким
образом, в момент времени 𝑖 + 2𝑇 расстановка и состояния автоматов 𝑊1 (R, V) и
𝑊2 (R, V) будут теми же самыми, что и в момент времени 𝑖 + 𝑇. Следовательно, в момент
времени 𝑖 + 𝑘𝑇, где 𝑘 ∈ ℕ, расстановка и состояния автоматов 𝑊1 (R, V) и 𝑊2 (R, V) будут
теми же самыми, что и в момент времени 𝑖. Этот факт можно записать следующей
системой уравнений:
𝑟(𝑖) = 𝑟(𝑖 + 𝑘𝑇)
{q1 (𝑖) = q1 (𝑖 + 𝑘𝑇)
q 2 (𝑖) = q 2 (𝑖 + 𝑘𝑇)
где 𝑇 ∈ ℕ, 𝑘 ∈ ℕ0
Аналогично для любого t, где 𝑡 ≥ 𝑖 (𝑡 ≥ 𝑇0 ), верно что
{
q1 (𝑡) = q1 (𝑡 + 𝑇) = q1 (𝑡 + 2𝑇) = ⋯ = q1 (𝑡 + 𝑘𝑇)
q 2 (𝑡) = q 2 (𝑡 + 𝑇) = q 2 (𝑡 + 2𝑇) = ⋯ = q 2 (𝑡 + 𝑘𝑇)
где 𝑘 ∈ ℕ0
Из этой системы следует система уравнений:
{
b1 (t) = b1 (t + kT)
b2 (t) = b2 (t + kT)
где 𝑘 ∈ ℕ0
Данная система означает, что последовательность выходных сигналов коллектива из двух
автоматов нацелочисленной прямой является периодической.
Лемма доказана.
Лемма 2. Любая функция вида 𝑓(𝑥) = 𝑥 + 𝐶, где 𝑥 ∈ ℤ, 𝐶 ∈ ℤ вычислима коллективами
из двух автоматов.
Доказательство:
Пусть дана функция 𝒇(𝒙) = 𝒙 + 𝑪.Построим коллектив (𝑊1 , 𝑊2 )(𝑅, 𝑉), где 𝑅 = 𝑉 = 1,
который бы вычислял эту функцию. Для того, чтобы коллективу (𝑊1 , 𝑊2 )(𝑅, 𝑉) перейти
из их 𝑥расстановки в 𝑥 + 𝐶 расстановку, достаточно лишь чтобы автомат 𝑊1 (𝑅, 𝑉)
передвинулся на 𝐶 клеток влево, если 𝐶 > 0, либо на 𝐶 клеток вправо, если 𝐶 < 0, либо
остался на месте если 𝐶 = 0. Исходя из того, что для вычисления данной функции
автомату 𝑊1 (𝑅, 𝑉) не обязательно «знать» где (слева или справа) находится автомат
𝑊2 (𝑅, 𝑉), то множества состояний автомата 𝑊1 (𝑅, 𝑉) будет иметь следующий
упрощенный вид:
𝑄1 = {(𝑧, 𝑦)|𝑧 ∈ {+, −}, 𝑦 ∈ {𝑞0 , 𝑞1 , 𝑞2 , … , 𝑞|𝐶| , }} , где 𝑞|𝐶|
− состояние покоя для любого входного символа 𝑎 ∈ 𝑊1 ,
𝐶 ∈ ℤ.
А множеством состояний автомата 𝑊2 (𝑅, 𝑉) будет множество:
𝑄2 = {𝑞0′ },
где 𝑞0′ − состояние покоя для любого входного символа 𝑎′ ∈ 𝐴2 .
Функции 𝜑1 : 𝑄1 × 𝑊1 → 𝑄1 и 𝜓1 : 𝑄1 × 𝐴1 → 𝐵1 переходов и выходов автомата 𝑊1 (где
𝐴1 — входной, 𝐵1— выходной, 𝑄1— внутренний алфавит автомата 𝑊1 ) не будут зависеть
от входного символа 𝑎 ∈ 𝐴, таким образом, имея вид: 𝜑1 : 𝑄1 → 𝑄1 и 𝜓1 : 𝑄1 → 𝐵1. А
соответствующие функции 𝜑2 : 𝑄2 × 𝐴 → 𝑄2 и 𝜓2 : 𝑄2 × 𝐴2 → 0 переходов и выходов
автомата 𝑊2 будут иметь вид: 𝜑2 (𝑞0′ , 𝑎′) = 𝑞0′ , 𝜓2 (𝑞0′ , 𝑎′) = 0 , где 𝑎′ – любой входной
символ из 𝐴2 . Таким образом, автомат 𝑊2 (𝑅, 𝑉) всегда будет находиться в состоянии
покоя и мы не будем рассматривать его функцию перехода и выхода.
Пусть 𝐶 ≥ 0, 𝐶 ∈ ℤ, тогда таблица функций переходов и выходов автомата 𝑊1 будет иметь
следующий вид:
Q1
𝜑1 (Q1 )
𝜓1 (Q1 )
(∓, 𝑞0 )
(∓, 𝑞1 )
←
(∓, 𝑞1 )
(∓, 𝑞2 )
←
(∓, 𝑞2 )
(∓, 𝑞3 )
←
(∓, 𝑞|𝐶−1| )
(∓, 𝑞|𝐶| )
←
(∓, 𝑞|𝐶| )
(∓, 𝑞|𝐶| )
0
.
.
.
.
.
.
Таблица 1
В данной таблице (табл.1) указано множество состояний Q1 , функция переходов 𝜑1 (Q1 ) и
функция выходов 𝜓1 (Q1 ) автомата 𝑊1 (𝑅, 𝑉). Так как данные функции не зависят
существенным образом от входного сигнала, то множество входных сигналов в таблице
указанно не было. Таким образом, по данной таблице можно видеть, что автомат
𝑊1 (𝑅, 𝑉)за |𝐶|тактов
передвинулся
на
|𝐶|
клеток
влево,
следовательно,
коллектив (𝑊1 , 𝑊2 )(𝑅, 𝑉) перешел из xрасстановки в (𝑥 + 𝑐)-расстановку при 𝐶 ≥ 0.
При 𝐶 < 0 (Табл.1) будет иметь следующий вид:
Q1
𝜑1 (Q1 )
𝜓1 (Q1 )
(∓, 𝑞0 )
(∓, 𝑞1 )
→
(∓, 𝑞1 )
(∓, 𝑞2 )
→
(∓, 𝑞2 )
(∓, 𝑞3 )
→
.
.
.
.
.
.
.
.
.
(∓, 𝑞|𝐶−1| )
(∓, 𝑞|𝐶| )
→
(∓, 𝑞|𝐶| )
(∓, 𝑞|𝐶| )
0
Таблица 2
По Табл.2 можно видеть, что 𝑊1 (𝑅, 𝑉) за |𝐶| тактов передвинулся на |𝐶| клеток вправо,
следовательно, коллектив (𝑊1 , 𝑊2 )(𝑅, 𝑉) перешел из x-расстановки в (𝑥 + 𝑐)-расстановку
при 𝐶 < 0.
Лемма доказана.
Лемма 3. Любая функция вида 𝑓(𝑥) = 𝐶, где 𝑥 ∈ ℤ, 𝐶 ∈ ℤ вычислима коллективами из
двух автоматов.
Доказательство:
Пусть дана функция 𝒇(𝒙) = 𝑪. Построим коллектив из двух автоматов, вычисляющий эту
функцию. Множеством состояний автомата 𝑊1 будет множество:
𝑄1 = {(𝑧, 𝑦)|𝑧 ∈ {+, −}, 𝑦 ∈ {𝑞0 , 𝑞1 , 𝑞2 , … , 𝑞|𝐶| , }},
где 𝑞|𝐶| − состояние покоя для любого входного символа 𝑎 ∈ 𝐴1 , 𝐶 ∈ ℤ.
А множеством состояний автомата 𝑊2 будет множество:
𝑄2 = {𝑞0′ }, где 𝑞0′ − состояние покоя для любого входного символа 𝑎′ ∈ 𝑊2 .
Так как функции 𝜑2 : 𝑄2 × 𝑊2 → 𝑄2 и 𝜓2 : 𝑄2 × 𝑊2 → 0 переходов и выходов автомата
𝑊2 будут иметь вид: 𝜑2 (𝑞0′ , 𝑎′) = 𝑞0′ , 𝜓2 (𝑞0′ , 𝑎′) = 0 , (где 𝑎′ – любой входной символ из
𝑊2 ) и таким образом, автомат 𝑊2 всегда будет находиться в состоянии покоя (вне
зависимости от его входного символа), то мы не будем рассматривать функции переходов
и выходов автомата 𝑊2 (𝑅, 𝑉).
Пусть 𝐶 ≥ 0, тогда таблица функций переходов и выходов автомата 𝑊1 будет иметь
следующий вид:
Q1
A1
𝜑1 (Q1 )
𝜓1 (Q1 )
(−, 𝑞0 )
(0, 0, 0)
𝑞0
←
(−, 𝑞0 )
(0, 0, 0)
𝑞0
←
.
.
.
.
.
.
.
.
.
.
.
.
(−, 𝑞0 )
(𝑞0′ , 0, 0)
(−, 𝑞0 )
←
(−, 𝑞0 )
(0, 𝑞0′ , 0)
(+, 𝑞1 )
→
(+, 𝑞0 )
(0, 0, 0)
(+, 𝑞0 )
→
(+, 𝑞0 )
(0, 0, 0)
(+, 𝑞0 )
→
.
.
.
.
.
.
.
.
.
.
.
.
(+, 𝑞0 )
(0,0, 𝑞0′ )
(+, 𝑞0 )
→
(+, 𝑞0 )
(0, 𝑞0′ , 0)
(+, 𝑞1 )
←
(∓, 𝑞1 )
(0,0, 𝑞0′ )
(∓, 𝑞2 )
←
(∓, 𝑞2 )
(0, 0, 0)
(∓, 𝑞3 )
←
.
.
.
.
.
.
.
.
.
.
.
.
(∓, 𝑞|𝐶−1| )
(0, 0, 0)
(∓, 𝑞|𝐶| )
←
(∓, 𝑞|𝐶| )
(0, 0, 0)
(∓, 𝑞|𝐶| )
0
Таблица 3
Из
табл.3
видно,
что
автомат
𝑊1 (𝑅, 𝑉)
находится
в
состоянии
(∓, 𝑞0 )в момент времени 𝜏 = 0. Начиная с этого момента, автомат 𝑊1 (𝑅, 𝑉) начинает
двигаться в сторону автомата 𝑊2 (𝑅, 𝑉)по шагу за такт. Если 𝑥 > 0, то автомат
𝑊1 (𝑅, 𝑉)движется по шагу за такт - вправо, если же 𝑥 = 0, то автомат𝑊1 (𝑅, 𝑉) начиная в
момент 𝜏 = 0 сдвигается на шаг влево и далее двигается по шагу за такт, до тех пор, пока
не
достигнет
состояния
𝑞|𝐶| .
Также
если
𝐶 = 0,
то
𝑞0
состояние покоя для любого входного символа 𝑎 ∈ 𝑊1 .
Случай C< 0 рассматривается аналогично.
Общая концепция такова, что за |𝑥| тактов автомат 𝑊1 передвигается на |𝑥| клеток, в
сторону автомата 𝑊2 что бы встать с ним в одну клетку, а затем в зависимости от того 𝐶 >
0, 𝐶 < 0 или 𝐶 = 0, 𝑊1 соответственно передвигается на |𝐶| клеток влево, вправо, либо
«остаётся на месте».
Лемма доказана.
Лемма 4. Функция вида 𝒇(𝒙) = 𝒙(𝒎𝒐𝒅 𝒄), где 𝑥 ∈ ℤ вычислима коллективами из двух
автоматов.
Доказательство:
Пусть дана функция 𝒇(𝒙) = 𝒙(𝒎𝒐𝒅 𝒄).Построим коллектив из двух автоматов,
вычисляющий эту функцию. Множеством состояний автомата 𝑊1 будет множество:
𝑄1 = {(𝑧, 𝑦)|𝑧 ∈ {−, +}, 𝑦 ∈ {𝑞0 , 𝑞1 , … . 𝑞с , 𝑞0′ , 𝑞1′ , … , 𝑞𝑐′ }},
где 𝑞0′ − состояние покоя для любого входного символа 𝑎 ∈ 𝐴1 , 𝐶 ∈ ℤ.
А множеством состояний автомата 𝑊2 будет множество:
𝑄2 = {𝑞00 }, где 𝑞00 − состояние покоя для любого входного символа 𝑎′ ∈ 𝑊2 .
Так как функции 𝜑2 : 𝑄2 × 𝑊2 → 𝑄2 и 𝜓2 : 𝑄2 × 𝑊2 → 0 переходов и выходов автомата
𝑊2 будут иметь вид: 𝜑2 (𝑞00 , 𝑎′) = 𝑞00 , 𝜓2 (𝑞00 , 𝑎′) = 0 , (где 𝑎′ – любой входной символ из
𝑊2 ) и таким образом, автомат 𝑊2 всегда будет находиться в состоянии покоя (вне
зависимости от его входного символа), то мы не будем рассматривать функции переходов
и выходов автомата 𝑊2 (𝑅, 𝑉).
Таблица функций переходов и выходов автомата 𝑊1 :
Q1
A1
𝜑1 (Q1 )
𝜓1 (Q1 )
(+, 𝑞0 )
(0, 0, 0)
(+, 𝑞1 )
→
(+, 𝑞1 )
(0, 0, 0)
(+, 𝑞2 )
→
.
.
.
.
.
.
.
.
.
.
.
.
(+, 𝑞с )
(0, 0, 0)
(+, 𝑞0 )
→
(+, 𝑞0 )
(0, 0, 𝑞00 )
(+, 𝑞1 )
→
(+, 𝑞1 )
(0, 0, 𝑞00 )
(+, 𝑞2 )
→
.
.
.
.
.
.
.
.
.
.
.
.
(+, q c )
(0, 0, q00 )
(+, q 0 )
→
(+, q i )
(0, q00 , 0)
(+, q′i )
0
(+, q′i )
(0, q00 , 0)
(+, q′i−1 )
←
(+, q′i−1 )
(0, 0, q00 )
(+, q′i−2 )
←
(+, q′i−2 )
(0, 0, 0)
(+, q′i−3 )
←
.
.
.
.
.
.
.
.
.
.
.
.
(+, q′1 )
(0, 0, 0)
(+, q′0 )
←
(+, q′1 )
(0, 0, q00 )
(+, q′0 )
←
(+, q′1 )
(0, q00 , 0)
(+, q′0 )
←
(−, 𝑞0 )
(0, 0, 0)
(−, 𝑞1 )
←
(−, 𝑞1 )
(0, 0, 0)
(−, 𝑞2 )
←
.
.
.
.
.
.
.
.
.
.
.
.
(−, 𝑞с )
(0, 0, 0)
(−, 𝑞0 )
←
(−, 𝑞0 )
(𝑞00 , 0, 0 )
(−, 𝑞1 )
←
(−, 𝑞1 )
(𝑞00 , 0, 0)
(−, 𝑞2 )
←
.
.
.
.
.
.
.
.
.
.
.
.
(−, q c )
( q00 , 0, 0)
(−, q 0 )
←
(−, q i )
(0, q00 , 0)
(−, q′i )
0
(−, q′i )
(0, q00 , 0)
(−, q′i−1 )
→
(−, q′i−1 )
(q00 , 0, 0)
(−, q′i−2 )
→
(−, q′i−2 )
(0, 0, 0)
(−, q′i−3 )
→
.
.
.
.
.
.
.
.
.
.
.
.
(−, q′1 )
(0, 0, 0)
(−, q′0 )
→
(−, q′1 )
(q00 , 0, 0)
(−, q′0 )
→
(−, q′1 )
(0, q00 , 0)
(−, q′0 )
→
(∓, q′0 )
0
(∓, q′0 )
Таблица 4
Из таблицы видно, что автомат 𝑊1 (𝑅, 𝑉) находится в состоянии q 0 в момент времени 𝜏 =
0. Начиная с этого момента, автомат 𝑊1 (𝑅, 𝑉) начинает двигаться в сторону автомата
𝑊2 (𝑅, 𝑉)
по
шагу
за
такт,
меняя
последовательно
свои
состояния
q 0 , q 1 , … , 𝑞с , q 0 , q 1 , … , 𝑞с …. У автомата 𝑊1 (𝑅, 𝑉) меняются входные данные, в тот
момент когда он находится рядом с 𝑊2 (𝑅, 𝑉), автомат 𝑊1 (𝑅, 𝑉) делает еще шаг, после
чего он находится на одной клетке с автоматом 𝑊2 (𝑅, 𝑉). Автомат 𝑊1 (𝑅, 𝑉), находящийся
в данный момент в состоянии q i , где 0 ≤ 𝑖 ≤ с, меняет свое состояние на q′i , при этом
оставаясь на месте. В последующем автомат 𝑊1 (𝑅, 𝑉) начинает двигаться до тех пор пока
не пройдет i-клеток, в конечном итоге автомат оказывается в состоянии q′0 , которое
является состоянием покоя для любых входных символов. После чего автоматы находятся
на расстоянии i, которое является остатком деления x на с.
Лемма доказана.
Доказательство теоремы 1 следует из лемм 2,3,4, в которых показано, что существует
коллектив для каждого множества функций перечисленных в теореме 1.
Вычисление функций коллективами из 3 автоматов.
Теорема 2. Для любого 𝑐 ∈ 𝑁 существует коллектив из трех автоматов 𝐾 =
(𝑊1 , 𝑊2 , 𝑊3 ),вычисляющий функцию 𝑓(𝑥) = 𝑐 ∗ 𝑥.
Доказательство:
Пусть дана функция вида 𝒇(𝒙) = 𝒄 ∗ 𝒙. Построим коллектив из трех автоматов,
вычисляющий эту функцию. Множеством состояний автомата 𝑊1 будет множество:
𝑄1 = {(𝑧, 𝑦)|𝑧 ∈ {+, −}, 𝑦 ∈ {𝑞01 , 𝑞11 , 𝑞21 }},
где (+, 𝑞21 ), (−, 𝑞21 ) состояние покоя для любого входного символа а ∈ А1 .
Множеством состояний автомата 𝑊2 будет множество:
+
2
−
𝑄2 = (𝑞02 , 𝑞2𝑐−1
, 𝑞02+ , 𝑞12+ , 𝑞0+ , 𝑞1+ , … , 𝑞2𝑐−2
, 𝑞02− , 𝑞12− , 𝑞0− , 𝑞1− , … , 𝑞2𝑐−2
)
+
−
где 𝑞0+ , 𝑞1+ , … , 𝑞𝑐−1
, 𝑞0− , 𝑞1− , … , 𝑞𝑐−1
– состояния покоя для любых входных символов а ∈
А2 ,
+
+
−
−
𝑞𝑐−1
, 𝑞1+ , … , 𝑞2𝑐−3
, 𝑞𝑐−1
, 𝑞1− , … , 𝑞2𝑐−3
, − состояния движения для любых входных символов
а ∈ А2 .
2
𝑞2𝑐−1
– самое конечное состояние, является состоянием покоя для любых входных
символов а ∈ А2 ,
Множеством состояний автомата 𝑊3 будет множество:
𝑄3 = (𝑞03 , 𝑞03+ , 𝑞13+ , 𝑞23+ , 𝑞03− , 𝑞13− , 𝑞23− )
где 𝑞23 - состояние покоя для любого входного символа а ∈ А3 .
Таблица функций переходов и выходов автомата 𝑊1 будет иметь вид:
Q1
A1
𝜑1 (Q1 )
𝜓1 (Q1 )
(+, 𝑞10 )
(0, 𝑞02 , 0)
(+, 𝑞11 )
→
(+, 𝑞11 )
(𝑞12+ , 0,0)
(+, 𝑞11 )
→
(+, 𝑞11 )
(𝑞02+ , 0,0)
(+, 𝑞11 )
→
(+, 𝑞11 )
(0, 0,0)
(+, 𝑞11 )
→
(+, 𝑞11 )
(0,0, 𝑞03 )
(+, 𝑞11 )
→
(+, 𝑞11 )
(0, 𝑞03 , 0)
(+, 𝑞21 )
0
(+, 𝑞21 )
(…)
(+, 𝑞21 )
0
(−, 𝑞10 )
(0, 𝑞02 , 0)
(−, 𝑞11 )
←
(−, 𝑞11 )
(𝑞12− , 0,0)
(−, 𝑞11 )
←
(−, 𝑞11 )
(𝑞02− , 0,0)
(−, 𝑞11 )
←
(−, 𝑞11 )
(0, 0,0)
(−, 𝑞11 )
←
(−, 𝑞11 )
(𝑞03 , 0,0)
(−, 𝑞11 )
←
(−, 𝑞11 )
(0, 𝑞03 , 0)
(−, 𝑞21 )
0
(−, 𝑞21 )
(…)
(−, 𝑞21 )
0
Таблица 1
Таблица функций переходов и выходов автомата 𝑊2 будет иметь вид:
Q2
A2
𝜑2 (Q2 )
𝜓2 (Q2 )
𝑞02
(0, (+, 𝑞10 ) , 0)
𝑞12+
0
𝑞12+
(0, (+, 𝑞10 ) , 0)
𝑞02+
→
𝑞12+
(0,0, (+, 𝑞11 ))
𝑞02+
→
𝑞02+
(0,0, (+, 𝑞11 ))
𝑞12+
0
𝑞12+
(0,0,0)
𝑞02+
→
𝑞02+
(0,0,0)
𝑞12+
0
𝑞02+
(0,0, (+, 𝑞21 ))
𝑞12+
0
𝑞12+
(0,0, (+, 𝑞21 ))
𝑞0+
→
𝑞0+
(…)
𝑞1+
0
𝑞1+
(…)
𝑞2+
0
.
.
.
.
.
.
.
.
.
.
.
.
+
𝑞с−2
(…)
+
𝑞с−1
0
+
𝑞с−1
(…)
𝑞с+
→
𝑞с+
(…)
+
𝑞с+1
→
.
.
.
.
.
.
.
.
.
.
.
.
+
𝑞2с−3
(…)
+
𝑞2с−2
→
+
𝑞2с−2
(0,0,0)
𝑞0+
→
+
𝑞2с−2
(0,0,𝑞13+ )
𝑞2𝑐−1
→
+
𝑞2с−2
(0,0,𝑞03+ )
𝑞0+
→
𝑞02
(0, (−, 𝑞10 ) , 0)
𝑞12−
0
𝑞12−
((−, 𝑞11 ), 0,0)
𝑞02−
←
𝑞02−
((−, 𝑞11 ), 0,0)
𝑞12−
0
𝑞12−
(0,0,0)
𝑞02−
←
𝑞02−
(0,0,0)
𝑞12−
0
𝑞12−
((−, 𝑞21 ), 0,0)
𝑞12−
0
𝑞12−
((−, 𝑞21 ), 0,0)
𝑞0−
←
𝑞0−
(…)
𝑞1−
0
𝑞1−
(…)
𝑞2−
0
.
.
.
.
.
.
.
.
.
.
.
.
−
𝑞с−2
(…)
−
𝑞с−1
0
−
𝑞с−1
(…)
𝑞с−
←
𝑞с−
(…)
−
𝑞с+1
←
.
.
.
.
.
.
.
.
.
.
.
.
−
𝑞2с−3
(…)
−
𝑞2с−2
←
−
𝑞2с−2
(0,0,0)
𝑞0−
←
−
𝑞2с−2
(𝑞13− , 0,0)
𝑞2𝑐−1
←
−
𝑞2с−2
(𝑞03− , 0,0)
𝑞0−
←
𝑞2𝑐−1
(…)
𝑞2𝑐−1
0
Таблица 2
Таблица функций переходов и выходов автомата 𝑊3 будет иметь вид:
Q3
A3
𝜑3 (Q3 )
𝜓3 (Q3 )
𝑞03
(0,(+, 𝑞12 ),0)
𝑞13+
→
𝑞13+
((+, 𝑞12 ),0,0)
𝑞03+
0
𝑞03+
((+, 𝑞12 ),0,0)
𝑞13+
→
𝑞13+
(0,0,0)
𝑞03+
0
𝑞03+
(0,0,0)
𝑞13+
→
𝑞03+
2+
(𝑞2с−2
,0,0)
𝑞13+
→
𝑞13+
2+
(𝑞2с−2
,0,0)
𝑞23
0
𝑞03
(0,(−, 𝑞12 ),0)
𝑞13−
←
𝑞13−
(0,0, (−, 𝑞12 ))
𝑞03−
0
𝑞03−
(0,0, (−, 𝑞12 ))
𝑞13−
←
𝑞13−
(0,0,0)
𝑞03−
0
𝑞03−
(0,0,0)
𝑞13−
←
𝑞03−
2−
(0,0, 𝑞2с−2
)
𝑞13−
←
𝑞13−
2−
(0,0, 𝑞2с−2
)
𝑞23
0
𝑞23
(…)
𝑞23
0
Таблица 3
Из таблицы 1 видно, что автомат 𝑊1 движется навстречу автомата 𝑊3 по шагу за такт.
Автомат 𝑊1 останавливается когда находится в одной клетке с автоматом 𝑊3 и переходит
в свое конечное состояние (+, 𝑞21 )или (−, 𝑞21 ), которое является состоянием покоя для
любых а ∈ А1 .
Таблица 2 показывает, что автомат 𝑊2 движется навстречу автомату 𝑊3 с шагом за 2
такта, После того как автомат 𝑊2 встречает автомат 𝑊1 меняет скорость движения, и
с
движется по2с−1 шагов за 2с-1 тактов. Автомат 𝑊2 переходит в конечное состояние 𝑞2𝑐−1
при встрече автомата 𝑊3 в состоянии 𝑞13 в клетке справа. Состояние 𝑞2𝑐−1 является
состоянием покоя для любых а ∈ А1 .
В таблице 3 показано, что автомат 𝑊3 начинает движение тогда, когда они находятся в
одной клетке с автоматом 𝑊1 и состояние автомата 𝑊1 является конечным. Автомат 𝑊3
делает шаг за 2 такта. Автомат 𝑊3 переходит в состояние покоя, когда видит автомат 𝑊2
в состоянии 𝑞2𝑐−2 от себя. Состояние 𝑞23 – является состоянием покоя для любых а ∈ А1 .
Теорема доказана.
Список использованной литературы:
[1] Кудрявцев В.Б., Алешин С.В., Подколзин А.С. "Введение в теорию
автоматов", Наука, 1985.
[2] Волков Н.Ю. "Об автоматной модели преследования", 2007.
[3]Айтбаев У.Б. «Поведение коллективов автоматов на целочисленной прямой», 2012
Download