SlideShare a Scribd company logo
1 of 37
Download to read offline
Автоматные слова

                         Анна Фрид

           ИМ им. С. Л. Соболева СО РАН, Новосибирск
                     anna.e.frid@gmail.com


                   Лекция 2, 15.10.2011




Лекция 2                 Автоматные слова              1/37
Источник

Материал этой лекции в основном излагается по книге

Jean-Paul Allouche, Jeffrey Shallit, Automatic Sequences Theory,
Applications, Generalizations. Cambridge Univ. Press, 2003.




Материал из других источников в конце лекции будет отмечен
отдельно.

Лекция 2                     Автоматные слова                     2/37
Пример из жизни



                         w = w0 w1 w2 · · · ∈ {0, 1}ω ,
      wi = четность числа единиц в двоичном разложении числа i.


           23 = [10111]2 =⇒ w23 = 1 + 1 + 1 + 1 (mod 2) = 0.




                                         1
                     0        0                      1    0
                                         1




Лекция 2                          Автоматные слова                3/37
Пример из жизни




                                      1
                  0        0                      1   0
                                      1




                      w = 0110100110010110 · · · .
совершенно случайно это слово Туэ-Морса из предыдущей лекции




Лекция 2                       Автоматные слова                4/37
Еще один пример: сгибание бумаги




Лекция 2              Автоматные слова   5/37
Кривая дракона




Лекция 2          Автоматные слова   6/37
Слово дракона (paperfolding word)


                            w = w1 w2 w3 · · · ∈ {1, −1}ω


                                      P = 1 −1


  w (0)    =
  w (1)    =   1       -1         1           -1         1       -1        1        -1
  w (2)    =   1   1   -1         1     -1    -1         1   1   -1        1   -1   -1
  w (3)    =   1   1   -1     1   1     -1    -1         1   1   -1   -1   1   -1   -1

    w      =   1   1   -1     1   1     -1    -1    1    1   1   -1   -1   1   -1   -1

Это код кривой дракона: 1             налево, -1         направо (или наоборот).


Лекция 2                              Автоматные слова                               7/37
Автомат, выдающий слово дракона

           w = w1 w2 w3 · · · = 1 1 − 1 1 1 − 1 − 1 1 1 1 − 1 − 1 1 · · ·
                                 0
                                              1
                                A|1                       B|1
                                              0


                                             1                 1




                               D| − 1                    C| − 1
                                              0

                                 0                         1




                             3 = [11]2 =⇒ w3 = −1.

Лекция 2                              Автоматные слова                      8/37
Формальное определение



                         Σk = {0, . . . , k − 1}.

Definition
Слово a = a0 a1 a2 · · · над алфавитом ∆ называется k-автоматным для
некоторого k > 1, если существует детерминированный конечный
автомат с выходом (DFAO) M = (Q, Σk , δ, q0 , ∆, τ ), такой что
an = τ (δ(q0 , w )) для всех n ≥ 0 и для всех слов w ∈ Σ∗ , таких что
                                                        k
[w ]k = n.

Другими словами, автомат получает на вход k-ичное разложение
числа n и выдает символ an .




Лекция 2                      Автоматные слова                      9/37
Свойства автоматных слов

Lemma
Определение k-автоматного слова не зависит от того, как в автомат
подается k-ичное разложение, слева направо или справа налево.

Доказательство. Возьмем DFAO M = (Q, Σk , δ, q0 , ∆, τ ) из
определения и определим новый автомат M = (S, Σk , δ , q0 , ∆, τ )
следующим образом:
      множество состояний S = множество всех функций g из Q в ∆;
      q0 = τ ;
      τ (g ) = g (q0 ) для всех g ∈ S;
      для всех g ∈ S, a ∈ Σk определяем δ (g , a) = h, где функция h
      определяется равенствами h(q) = g (δ(q, a)).
Далее индукция по длине входа.

Лекция 2                         Автоматные слова                      10/37
Свойства автоматных слов




Lemma
Нули в начале k-ичного разложения тоже не мешают.

(Тоже требует доказательства!)




Лекция 2                    Автоматные слова        11/37
Свойства автоматных слов



k-волокно Ik (w , d) слова w = w0 w1 · · · : множество k-ичных
разложений чисел n, таких что wn = d.

                       Ik (w , d) = {(n)k : wn = d}.

Lemma
Слово w является k-автоматным тогда и только тогда, когда все его
k-волокна регулярные языки.




Лекция 2                       Автоматные слова                  12/37
Свойства автоматных слов




Lemma
Слово, отличающееся от k-автоматного слова в конечном количестве
позиций, k-автоматно.

Доказательство: через k-волокна, которые регулярны.




Лекция 2                    Автоматные слова                   13/37
Свойства автоматных слов

t-периодическое слово: w = uv ω , где |v | = t.
Пример: слово abbccc abac abac abac · · · = abbccc(abac)ω
4-периодично с предпериодом.
Lemma
Если слово t-периодическое (возможно, с предпериодом), то оно
k-автоматно для любого k.

Доказательство: по предыдущей лемме, достаточно рассмотреть чисто
периодический случай. Для него

                        Q = {0, 1, . . . , t − 1};

                     δ(q, b) = (kq + b) (mod t);
                              τ (q) = wq .


Лекция 2                      Автоматные слова                  14/37
Свойства автоматных слов




Кодирование: отображение ρ : ∆ → ∆ .
Lemma
Слово, получающееся из k-автоматного применением кодирования,
k-автоматно.
Доказательство: применяем кодирование к функции вывода.




Лекция 2                   Автоматные слова                     15/37
Свойства автоматных слов

Декартово произведение слов w = w0 w1 · · · и v = v0 v1 · · · : слово
[w0 × v0 ][w1 × v1 ] · · · .

Lemma
Декартово произведение k-автоматных слов k-автоматно.

Доказательство: декартово произведение автоматов.
                                             i
                                 q|a                q ′ |a′


                                             i
                                 p|b                p ′ |b′




                                             i
                     [q × p]|[a × b]                [q ′ × p ′ ]|[a′ × b ′ ]




Лекция 2                               Автоматные слова                        16/37
Проверка на автоматность



Как доказать, что слово автоматно? Построить автомат.

Как доказать, что слово НЕ автоматно?
Стандартные методы:
      Через нерегулярность языка-волокна (pumping lemma etc.);
      Найти непериодическую последовательность вида {w[uv i ]k }∞ ;
                                                                i=1
      Другие методы например, через частоты символов. В
      автоматном слове они, если существуют, должны быть
      рациональны (см. далее).




Лекция 2                      Автоматные слова                        17/37
Морфизмы


Пусть Γ, ∆ конечные алфавиты. Морфизмом называется
отображение ϕ : Γ∗ → ∆∗ , для всех слов x, y ∈ Γ∗ удовлетворяющее
равенству ϕ(xy ) = ϕ(x)ϕ(y ).

Ясно, что всякий морфизм однозначно определяется образами
символов ϕ(g ), g ∈ Γ.


Example
Морфизм Фибоначчи ϕ : {0, 1}∗ → {0, 1}∗ ϕ(0) = 01, ϕ(1) = 0
Тогда, например, ϕ(1101) = 00010.




Лекция 2                    Автоматные слова                        18/37
Однородные морфизмы и кодирования


Морфизм называется (k-)однородным, если длины образов всех
символов алфавита Γ одинаковы и равны k.

1-однородный морфизм называется кодированием.


Example
ϕ : a → ab, b → bc, c → ca   2-однородный морфизм
{a, b, c}∗ → {a, b, c}∗ .

ψ : a, c → 0, b → 1   кодирование.




Лекция 2                     Автоматные слова                19/37
Неподвижные точки морфизмов
ϕ(a) начинается с a, длины слов ϕk (a) неограниченно возрастают =⇒
у них существует предел, называемый неподвижной точкой морфизма.

               a → ϕ(a) → ϕ2 (a) → ϕ3 (a) → · · · → ϕ∞ (a)

Example
                          ϕ(0) = 01, ϕ(1) = 0



      0 → 01 → 01 0 → 010 01 → 01001 010 → 01001010 01001 → · · ·

Предел: слово Фибоначчи

           ϕ∞ (a) = 0100101001001010010100100101001001 · · ·

Почему неподвижная точка? Потому что ϕ(ϕ∞ (a)) = ϕ∞ (a).
Лекция 2                      Автоматные слова                      20/37
СD0L-слова


СD0L-словом называется результат применения кодирования к
неподвижной точке морфизма.
Example
                    ϕ : a → ab, b → bc, c → ca


                 ϕ∞ (a) = abbcbccabccacaabbc · · ·


                        ψ : a, c → 0, b → 1


               ψ(ϕ∞ (a)) = 011010001000000110 · · ·



Лекция 2                   Автоматные слова                 21/37
Теорема Кобхэма


Theorem (Cobham,1972)
Бесконечное слово k-автоматно тогда и только тогда, когда является
образом под действием кодирования неподвижной точки
k-однородного морфизма.

Доказательство. Морфизмы строятся по автомату или наоборот.
Пусть w = ψ(ϕ∞ (a)), где ϕ : ∆ → ∆k . Тогда
      множество состояний автомата равно ∆;
      начальное состояние - начальный символ a неподвижной точки
      морфизма;
      каждое состояние b ∈ ∆ выдает символ ψ(b);
      если ϕ(b) = b0 · · · bk−1 , то δ(b, i) = bi для всех i.



Лекция 2                          Автоматные слова                 22/37
Пример

               ϕ : a → ab, b → bc, c → ca

            ϕ∞ (a) = abbcbccabccacaabbc · · ·

                   ψ : a, c → 0, b → 1

           ψ(ϕ∞ (a)) = 011010001000000110 · · ·
                     0                        0

                                   1
                     a|0                      b|1


                             1            1

                                  c|0


                                   0

Лекция 2                   Автоматные слова         23/37
Слово Туэ-Морса




                                      1
                     0     0                      1   0
                                      1


w = 0110 1001 1001 0110 1001 · · · = ϕ∞ (0), где

                                   0 → 01,
                            ϕ:
                                   1 → 10.




Лекция 2                       Автоматные слова           24/37
Большие значения k




Слово Керянена из предыдущей лекции 85-автоматно.

           ϕ(a) = abcacdcbcdcadcdbdabacabadbabcbdbcbacbcdcacbab
                dabacadcbcdcacdbcbacbcdcacdcbdcdadbdcbca
Много примеров (удобно строить).




Лекция 2                       Автоматные слова                   25/37
Частоты символов




Частоты символов в неподвижной точке k-однородного морфизма
(если они существуют) рациональны.

Следовательно, в k-автоматном слове       тоже.

Если частоты символов в слове существуют, но не рациональны, то
слово не может быть k-автоматным.




Лекция 2                   Автоматные слова                       26/37
Алгоритмическая разрешимость задач об автоматах




Theorem (Honkala, 1986)
Вопрос о том, периодично ли (с предпериодом) k-автоматное слово,
разрешим.




Лекция 2                   Автоматные слова                    27/37
Алгоритмическая разрешимость задач об автоматах




Theorem (Cassaigne,1994)
Для любого паттерна существует алгоритм проверки, избегает ли его
данное циркулярное k-автоматное слово.




Лекция 2                   Автоматные слова                     28/37
Техника Алуша-Шарлье-Рамперсада-Шаллита




Theorem (Charlier, Rampersad, Shallit, 2011)
Если свойство k-автоматного слова w выражаемо в терминах
кванторов, логических операций, целочисленных переменных,
операций сложения, вычитания, индексирования в слове w , и
сравнения чисел или элементов слова w , то это свойство разрешимо.

Технику фактически впервые применил Lehr [1993], затем Allouche,
Rampersad, Shallit [2009].




Лекция 2                    Автоматные слова                       29/37
Пример применения техники




Перекрытие над алфавитом Σ     это слово вида axaxa, где a ∈ Σ,
x ∈ Σ∗ .
Theorem (Allouche, Rampersad, Shallit, 2009)
Следующий вопрос разрешим: избегает ли перекрытий данное
k-автоматное слово w ?




Лекция 2                   Автоматные слова                       30/37
Пример применения техники

Theorem (Allouche, Rampersad, Shallit, 2009)
Следующий вопрос разрешим: избегает ли перекрытий данное
k-автоматное слово w ?
Доказательство. По автомату M1 , строящему слово, строим
недетерминированный автомат M2 , который
      получает на вход k-ичные разложения чисел I и T ;
      выясняет, существует ли число J| 0 ≤ J ≤ T и wI +J = wI +J+T .
Если таких чисел нет, то wI · · · wI +2T перекрытие.
Детерминизуем автомат M2 , получаем M3 .
Меняем местами принимающие и не принимающие состояния в M3 ,
получаем M4 .
В w есть перекрытия ⇐⇒ в M4 есть достижимые принимающие
состояния.

Лекция 2                      Автоматные слова                         31/37
Об автомате M2


Множество состояний автомата M2 : пятерки вида

                           (b, c, d, q, r ), где


      b ∈ {<, =, >} - отношение между J и T ;
      c иd    carries при сложении очередных символов чисел I + J и
      I + T + J соответственно;
      qиr     состояния автомата M1 , соответствующие входам I + J и
      I + J + T соответственно.
Автомат недетерминированный: ребер каждого вида k штук, по
количеству возможных (очередных) цифр числа J.



Лекция 2                      Автоматные слова                    32/37
Для слова Туэ-Морса



В M1 два состояния:

                                     1
                      0   0                      1   0
                                     1


В M2 состояний 3*2*3*2*2=72;
В детерминированном M3 (и M4 ) 801 состояние.
Факт “слово Туэ-Морса избегает перекрытий”  самое сложное, что
было реально проверенно чисто программным образом.




Лекция 2                      Автоматные слова               33/37
Другая идея


Можно строить автоматы, проверяющие свойства k-автоматных слов,
не с помощью исходного автомата, а с помощью исходных морфизмов
(по теореме Кобхэма).

Example
Рассмотрим k-автоматное слово w = w0 w1 · · · над алфавитом
{0, 1, . . . , d − 1} и обозначим через Fn k-ичную дробь

                        0, wn wn+1 wn+2 · · · .

Можно ли с помощью нового автомата определить, какое число
больше, Fn или Fm ?




Лекция 2                    Автоматные слова                  34/37
Другая идея


Example
Рассмотрим k-автоматное слово w = w0 w1 · · · над алфавитом
{0, 1, . . . , d − 1} и обозначим через Fn k-ичную дробь

                        0, wn wn+1 wn+2 · · · .

Можно ли с помощью нового автомата определить, какое число
больше, Fn или Fm ?

[Frid, Zamboni, 2010] Да;
у соответствующего автомата порядка O((p 4 )!) состояний, где p
мощность алфавита неподвижной точки k-однородного морфизма из
теоремы Кобхэма.



Лекция 2                    Автоматные слова                  35/37
Для слова Туэ-Морса


У Туэ-Морса, как всегда, все хорошо:
                (0, 0)                                      (0, 0)                   (0, 0)                                           (0, 0)


                                     (1, 1)                                                                    (1, 1)


               0>0                                        1>1                        0<0                                              1<1
                                     (1, 1)                                                                    (1, 1)



                                     (0, 1)                                                                    (1, 0)
                                               (1, 0)                                                (0, 1)
                                                                                (0, 1)
                                                                  (1, 0)           (0, 1)
                         (0, 1)                                             (1, 0)                                           (1, 0)



                                                                           (1, 1)

                                  (0, 0)       0<1                                               1>0              (0, 0)

                                                                           (1, 1)


                                   (1, 0)

                                                                                                                    (0, 1)
                                              (0, 1)                                                  (0, 1)
                                                         (1, 0)                             (1, 0)




                                                                           (1, 1)

                                  (0, 0)       0=0                                               1=1              (0, 0)

                                                                           (1, 1)




Лекция 2                                                Автоматные слова                                                                       36/37
Завтра



      Слова Штурма и дискретизация прямых. Свойства слов Штурма,
      эквивалентные определения. Быстрое построение слов Штурма.

      Количество всех слов Штурма: геометрический метод Берстеля и
      Поккьолы. Границы его применимости.

      Комбинаторные функции сложности бесконечных слов и
      факторных языков. Их свойства, методы их оценки.



                           Начало в 11.15




Лекция 2                     Автоматные слова                   37/37

More Related Content

What's hot

Лекция №1. Введение. Предмет "Теория вычислительных процессов"
Лекция №1. Введение. Предмет "Теория вычислительных процессов"Лекция №1. Введение. Предмет "Теория вычислительных процессов"
Лекция №1. Введение. Предмет "Теория вычислительных процессов"Nikolay Grebenshikov
 
Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теори...
Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теори...Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теори...
Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теори...Nikolay Grebenshikov
 
коды хемминга
коды хеммингакоды хемминга
коды хеммингаYuliyaGridneva
 
20111202 machine learning_nikolenko_lecture04
20111202 machine learning_nikolenko_lecture0420111202 machine learning_nikolenko_lecture04
20111202 machine learning_nikolenko_lecture04Computer Science Club
 
20080928 structuralcomplexitytheory lecture01-02
20080928 structuralcomplexitytheory lecture01-0220080928 structuralcomplexitytheory lecture01-02
20080928 structuralcomplexitytheory lecture01-02Computer Science Club
 
Линейная алгебра - II
Линейная алгебра - IIЛинейная алгебра - II
Линейная алгебра - IIDEVTYPE
 
Коды, исправляющие ошибки. Простейшие границы. Коды Варшамова—Тененгольца.
Коды, исправляющие ошибки. Простейшие границы. Коды Варшамова—Тененгольца.Коды, исправляющие ошибки. Простейшие границы. Коды Варшамова—Тененгольца.
Коды, исправляющие ошибки. Простейшие границы. Коды Варшамова—Тененгольца.Alex Dainiak
 
Линейная алгебра - I
Линейная алгебра - IЛинейная алгебра - I
Линейная алгебра - IDEVTYPE
 
чернякова г.в.
чернякова г.в.чернякова г.в.
чернякова г.в.sharikdp
 
20110224 systems of_typed_lambda_calculi_moskvin_lecture01
20110224 systems of_typed_lambda_calculi_moskvin_lecture0120110224 systems of_typed_lambda_calculi_moskvin_lecture01
20110224 systems of_typed_lambda_calculi_moskvin_lecture01Computer Science Club
 
Алгоритмы и структуры данных осень 2013 лекция 8
Алгоритмы и структуры данных осень 2013 лекция 8Алгоритмы и структуры данных осень 2013 лекция 8
Алгоритмы и структуры данных осень 2013 лекция 8Technopark
 
Решение краевых задач методом конечных элементов
Решение краевых задач методом конечных элементовРешение краевых задач методом конечных элементов
Решение краевых задач методом конечных элементовTheoretical mechanics department
 
Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана" Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана" Technosphere1
 
20110224 systems of_typed_lambda_calculi_moskvin_lecture02
20110224 systems of_typed_lambda_calculi_moskvin_lecture0220110224 systems of_typed_lambda_calculi_moskvin_lecture02
20110224 systems of_typed_lambda_calculi_moskvin_lecture02Computer Science Club
 
Скорость роста функций
Скорость роста функцийСкорость роста функций
Скорость роста функцийDEVTYPE
 
Коды на основе многочленов и алгоритмы их декодирования
Коды на основе многочленов и алгоритмы их декодированияКоды на основе многочленов и алгоритмы их декодирования
Коды на основе многочленов и алгоритмы их декодированияAlex Dainiak
 
20111016 inroduction to_combinatorics_on_words_frid_lecture03
20111016 inroduction to_combinatorics_on_words_frid_lecture0320111016 inroduction to_combinatorics_on_words_frid_lecture03
20111016 inroduction to_combinatorics_on_words_frid_lecture03Computer Science Club
 

What's hot (20)

Лекция №1. Введение. Предмет "Теория вычислительных процессов"
Лекция №1. Введение. Предмет "Теория вычислительных процессов"Лекция №1. Введение. Предмет "Теория вычислительных процессов"
Лекция №1. Введение. Предмет "Теория вычислительных процессов"
 
Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теори...
Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теори...Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теори...
Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теори...
 
коды хемминга
коды хеммингакоды хемминга
коды хемминга
 
20111202 machine learning_nikolenko_lecture04
20111202 machine learning_nikolenko_lecture0420111202 machine learning_nikolenko_lecture04
20111202 machine learning_nikolenko_lecture04
 
20080928 structuralcomplexitytheory lecture01-02
20080928 structuralcomplexitytheory lecture01-0220080928 structuralcomplexitytheory lecture01-02
20080928 structuralcomplexitytheory lecture01-02
 
Линейная алгебра - II
Линейная алгебра - IIЛинейная алгебра - II
Линейная алгебра - II
 
Коды, исправляющие ошибки. Простейшие границы. Коды Варшамова—Тененгольца.
Коды, исправляющие ошибки. Простейшие границы. Коды Варшамова—Тененгольца.Коды, исправляющие ошибки. Простейшие границы. Коды Варшамова—Тененгольца.
Коды, исправляющие ошибки. Простейшие границы. Коды Варшамова—Тененгольца.
 
Линейная алгебра - I
Линейная алгебра - IЛинейная алгебра - I
Линейная алгебра - I
 
чернякова г.в.
чернякова г.в.чернякова г.в.
чернякова г.в.
 
20110224 systems of_typed_lambda_calculi_moskvin_lecture01
20110224 systems of_typed_lambda_calculi_moskvin_lecture0120110224 systems of_typed_lambda_calculi_moskvin_lecture01
20110224 systems of_typed_lambda_calculi_moskvin_lecture01
 
Алгоритмы и структуры данных осень 2013 лекция 8
Алгоритмы и структуры данных осень 2013 лекция 8Алгоритмы и структуры данных осень 2013 лекция 8
Алгоритмы и структуры данных осень 2013 лекция 8
 
Решение краевых задач методом конечных элементов
Решение краевых задач методом конечных элементовРешение краевых задач методом конечных элементов
Решение краевых задач методом конечных элементов
 
Integral1
Integral1Integral1
Integral1
 
Pr i-3
Pr i-3Pr i-3
Pr i-3
 
Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана" Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана"
 
20110224 systems of_typed_lambda_calculi_moskvin_lecture02
20110224 systems of_typed_lambda_calculi_moskvin_lecture0220110224 systems of_typed_lambda_calculi_moskvin_lecture02
20110224 systems of_typed_lambda_calculi_moskvin_lecture02
 
Скорость роста функций
Скорость роста функцийСкорость роста функций
Скорость роста функций
 
5
55
5
 
Коды на основе многочленов и алгоритмы их декодирования
Коды на основе многочленов и алгоритмы их декодированияКоды на основе многочленов и алгоритмы их декодирования
Коды на основе многочленов и алгоритмы их декодирования
 
20111016 inroduction to_combinatorics_on_words_frid_lecture03
20111016 inroduction to_combinatorics_on_words_frid_lecture0320111016 inroduction to_combinatorics_on_words_frid_lecture03
20111016 inroduction to_combinatorics_on_words_frid_lecture03
 

Viewers also liked

20081116 auctions nikolenko_lecture10
20081116 auctions nikolenko_lecture1020081116 auctions nikolenko_lecture10
20081116 auctions nikolenko_lecture10Computer Science Club
 
20120309 formal semantics shilov_lecture02
20120309 formal semantics shilov_lecture0220120309 formal semantics shilov_lecture02
20120309 formal semantics shilov_lecture02Computer Science Club
 
20111204 computer graphics_galinsky_lecture12_real_time
20111204 computer graphics_galinsky_lecture12_real_time20111204 computer graphics_galinsky_lecture12_real_time
20111204 computer graphics_galinsky_lecture12_real_timeComputer Science Club
 
20130915 lecture1 2-tarski_matiyasevich
20130915 lecture1 2-tarski_matiyasevich20130915 lecture1 2-tarski_matiyasevich
20130915 lecture1 2-tarski_matiyasevichComputer Science Club
 
20080323 machine learning_nikolenko_lecture05
20080323 machine learning_nikolenko_lecture0520080323 machine learning_nikolenko_lecture05
20080323 machine learning_nikolenko_lecture05Computer Science Club
 
20121006 uralcsslub fall_term_opening
20121006 uralcsslub fall_term_opening20121006 uralcsslub fall_term_opening
20121006 uralcsslub fall_term_openingComputer Science Club
 
20130429 dynamic c_c++_program_analysis-alexey_samsonov
20130429 dynamic c_c++_program_analysis-alexey_samsonov20130429 dynamic c_c++_program_analysis-alexey_samsonov
20130429 dynamic c_c++_program_analysis-alexey_samsonovComputer Science Club
 

Viewers also liked (9)

20131106 h10 lecture6_matiyasevich
20131106 h10 lecture6_matiyasevich20131106 h10 lecture6_matiyasevich
20131106 h10 lecture6_matiyasevich
 
20081116 auctions nikolenko_lecture10
20081116 auctions nikolenko_lecture1020081116 auctions nikolenko_lecture10
20081116 auctions nikolenko_lecture10
 
20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich
 
20120309 formal semantics shilov_lecture02
20120309 formal semantics shilov_lecture0220120309 formal semantics shilov_lecture02
20120309 formal semantics shilov_lecture02
 
20111204 computer graphics_galinsky_lecture12_real_time
20111204 computer graphics_galinsky_lecture12_real_time20111204 computer graphics_galinsky_lecture12_real_time
20111204 computer graphics_galinsky_lecture12_real_time
 
20130915 lecture1 2-tarski_matiyasevich
20130915 lecture1 2-tarski_matiyasevich20130915 lecture1 2-tarski_matiyasevich
20130915 lecture1 2-tarski_matiyasevich
 
20080323 machine learning_nikolenko_lecture05
20080323 machine learning_nikolenko_lecture0520080323 machine learning_nikolenko_lecture05
20080323 machine learning_nikolenko_lecture05
 
20121006 uralcsslub fall_term_opening
20121006 uralcsslub fall_term_opening20121006 uralcsslub fall_term_opening
20121006 uralcsslub fall_term_opening
 
20130429 dynamic c_c++_program_analysis-alexey_samsonov
20130429 dynamic c_c++_program_analysis-alexey_samsonov20130429 dynamic c_c++_program_analysis-alexey_samsonov
20130429 dynamic c_c++_program_analysis-alexey_samsonov
 

Similar to 20111015 inroduction to_combinatorics_on_words_frid_lecture02

Fractal Geometry
Fractal GeometryFractal Geometry
Fractal GeometrySSA KPI
 
предел последовательности
предел последовательностипредел последовательности
предел последовательностиtomik1044
 
Predely nepreryvnost funkcij
Predely nepreryvnost funkcijPredely nepreryvnost funkcij
Predely nepreryvnost funkcijDimon4
 
20111016 inroduction to_combinatorics_on_words_frid_lecture05
20111016 inroduction to_combinatorics_on_words_frid_lecture0520111016 inroduction to_combinatorics_on_words_frid_lecture05
20111016 inroduction to_combinatorics_on_words_frid_lecture05Computer Science Club
 
ITMO RecSys course. Autumn 2014. Lecture 5
ITMO RecSys course. Autumn 2014. Lecture 5ITMO RecSys course. Autumn 2014. Lecture 5
ITMO RecSys course. Autumn 2014. Lecture 5Andrey Danilchenko
 
пугач му по матлогике 2015
пугач му по матлогике 2015пугач му по матлогике 2015
пугач му по матлогике 2015LIPugach
 
20091108 algorithmsfornphardproblems kulikov_lecture08
20091108 algorithmsfornphardproblems kulikov_lecture0820091108 algorithmsfornphardproblems kulikov_lecture08
20091108 algorithmsfornphardproblems kulikov_lecture08Computer Science Club
 
Определенные интегралы
Определенные интегралыОпределенные интегралы
Определенные интегралыdaryaartuh
 
Определенные интеграллы
Определенные интеграллыОпределенные интеграллы
Определенные интеграллыdaryaartuh
 
Тригонометрические функции числового аргумента
Тригонометрические функции числового аргументаТригонометрические функции числового аргумента
Тригонометрические функции числового аргументаFormula.co.ua
 
Opredelennyj integral
Opredelennyj integralOpredelennyj integral
Opredelennyj integralDimon4
 
20110313 systems of_typed_lambda_calculi_moskvin_lecture05
20110313 systems of_typed_lambda_calculi_moskvin_lecture0520110313 systems of_typed_lambda_calculi_moskvin_lecture05
20110313 systems of_typed_lambda_calculi_moskvin_lecture05Computer Science Club
 
20110306 systems of_typed_lambda_calculi_moskvin_lecture03
20110306 systems of_typed_lambda_calculi_moskvin_lecture0320110306 systems of_typed_lambda_calculi_moskvin_lecture03
20110306 systems of_typed_lambda_calculi_moskvin_lecture03Computer Science Club
 
20111016 inroduction to_combinatorics_on_words_frid_lecture04
20111016 inroduction to_combinatorics_on_words_frid_lecture0420111016 inroduction to_combinatorics_on_words_frid_lecture04
20111016 inroduction to_combinatorics_on_words_frid_lecture04Computer Science Club
 
20110313 systems of_typed_lambda_calculi_moskvin_lecture06
20110313 systems of_typed_lambda_calculi_moskvin_lecture0620110313 systems of_typed_lambda_calculi_moskvin_lecture06
20110313 systems of_typed_lambda_calculi_moskvin_lecture06Computer Science Club
 

Similar to 20111015 inroduction to_combinatorics_on_words_frid_lecture02 (20)

Fractal Geometry
Fractal GeometryFractal Geometry
Fractal Geometry
 
предел последовательности
предел последовательностипредел последовательности
предел последовательности
 
Predely nepreryvnost funkcij
Predely nepreryvnost funkcijPredely nepreryvnost funkcij
Predely nepreryvnost funkcij
 
20111016 inroduction to_combinatorics_on_words_frid_lecture05
20111016 inroduction to_combinatorics_on_words_frid_lecture0520111016 inroduction to_combinatorics_on_words_frid_lecture05
20111016 inroduction to_combinatorics_on_words_frid_lecture05
 
ITMO RecSys course. Autumn 2014. Lecture 5
ITMO RecSys course. Autumn 2014. Lecture 5ITMO RecSys course. Autumn 2014. Lecture 5
ITMO RecSys course. Autumn 2014. Lecture 5
 
Funkciya y cos_ee_svojstva_i_grafik
Funkciya y cos_ee_svojstva_i_grafikFunkciya y cos_ee_svojstva_i_grafik
Funkciya y cos_ee_svojstva_i_grafik
 
пугач му по матлогике 2015
пугач му по матлогике 2015пугач му по матлогике 2015
пугач му по матлогике 2015
 
Lection07
Lection07Lection07
Lection07
 
20091108 algorithmsfornphardproblems kulikov_lecture08
20091108 algorithmsfornphardproblems kulikov_lecture0820091108 algorithmsfornphardproblems kulikov_lecture08
20091108 algorithmsfornphardproblems kulikov_lecture08
 
Определенные интегралы
Определенные интегралыОпределенные интегралы
Определенные интегралы
 
Определенные интеграллы
Определенные интеграллыОпределенные интеграллы
Определенные интеграллы
 
Тригонометрические функции числового аргумента
Тригонометрические функции числового аргументаТригонометрические функции числового аргумента
Тригонометрические функции числового аргумента
 
Opredelennyj integral
Opredelennyj integralOpredelennyj integral
Opredelennyj integral
 
23
2323
23
 
20110313 systems of_typed_lambda_calculi_moskvin_lecture05
20110313 systems of_typed_lambda_calculi_moskvin_lecture0520110313 systems of_typed_lambda_calculi_moskvin_lecture05
20110313 systems of_typed_lambda_calculi_moskvin_lecture05
 
20110306 systems of_typed_lambda_calculi_moskvin_lecture03
20110306 systems of_typed_lambda_calculi_moskvin_lecture0320110306 systems of_typed_lambda_calculi_moskvin_lecture03
20110306 systems of_typed_lambda_calculi_moskvin_lecture03
 
fiz-mat
fiz-matfiz-mat
fiz-mat
 
Lection02
Lection02Lection02
Lection02
 
20111016 inroduction to_combinatorics_on_words_frid_lecture04
20111016 inroduction to_combinatorics_on_words_frid_lecture0420111016 inroduction to_combinatorics_on_words_frid_lecture04
20111016 inroduction to_combinatorics_on_words_frid_lecture04
 
20110313 systems of_typed_lambda_calculi_moskvin_lecture06
20110313 systems of_typed_lambda_calculi_moskvin_lecture0620110313 systems of_typed_lambda_calculi_moskvin_lecture06
20110313 systems of_typed_lambda_calculi_moskvin_lecture06
 

More from Computer Science Club

20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugsComputer Science Club
 
20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugsComputer Science Club
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugsComputer Science Club
 
20140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture1220140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture12Computer Science Club
 
20140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture1120140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture11Computer Science Club
 
20140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture1020140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture10Computer Science Club
 
20140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture0920140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture09Computer Science Club
 
20140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture0220140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture02Computer Science Club
 
20140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture0120140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture01Computer Science Club
 
20140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-0420140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-04Computer Science Club
 
20140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture0120140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture01Computer Science Club
 

More from Computer Science Club (20)

20141223 kuznetsov distributed
20141223 kuznetsov distributed20141223 kuznetsov distributed
20141223 kuznetsov distributed
 
Computer Vision
Computer VisionComputer Vision
Computer Vision
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs
 
20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs
 
20140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture1220140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture12
 
20140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture1120140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture11
 
20140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture1020140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture10
 
20140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture0920140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture09
 
20140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture0220140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture02
 
20140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture0120140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture01
 
20140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-0420140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-04
 
20140223-SuffixTrees-lecture01-03
20140223-SuffixTrees-lecture01-0320140223-SuffixTrees-lecture01-03
20140223-SuffixTrees-lecture01-03
 
20140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture0120140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture01
 
20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich
 
20131013 h10 lecture4_matiyasevich
20131013 h10 lecture4_matiyasevich20131013 h10 lecture4_matiyasevich
20131013 h10 lecture4_matiyasevich
 
20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich
 
20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich
 
20131006 h10 lecture2_matiyasevich
20131006 h10 lecture2_matiyasevich20131006 h10 lecture2_matiyasevich
20131006 h10 lecture2_matiyasevich
 
20130922 h10 lecture1_matiyasevich
20130922 h10 lecture1_matiyasevich20130922 h10 lecture1_matiyasevich
20130922 h10 lecture1_matiyasevich
 

20111015 inroduction to_combinatorics_on_words_frid_lecture02

  • 1. Автоматные слова Анна Фрид ИМ им. С. Л. Соболева СО РАН, Новосибирск anna.e.frid@gmail.com Лекция 2, 15.10.2011 Лекция 2 Автоматные слова 1/37
  • 2. Источник Материал этой лекции в основном излагается по книге Jean-Paul Allouche, Jeffrey Shallit, Automatic Sequences Theory, Applications, Generalizations. Cambridge Univ. Press, 2003. Материал из других источников в конце лекции будет отмечен отдельно. Лекция 2 Автоматные слова 2/37
  • 3. Пример из жизни w = w0 w1 w2 · · · ∈ {0, 1}ω , wi = четность числа единиц в двоичном разложении числа i. 23 = [10111]2 =⇒ w23 = 1 + 1 + 1 + 1 (mod 2) = 0. 1 0 0 1 0 1 Лекция 2 Автоматные слова 3/37
  • 4. Пример из жизни 1 0 0 1 0 1 w = 0110100110010110 · · · . совершенно случайно это слово Туэ-Морса из предыдущей лекции Лекция 2 Автоматные слова 4/37
  • 5. Еще один пример: сгибание бумаги Лекция 2 Автоматные слова 5/37
  • 6. Кривая дракона Лекция 2 Автоматные слова 6/37
  • 7. Слово дракона (paperfolding word) w = w1 w2 w3 · · · ∈ {1, −1}ω P = 1 −1 w (0) = w (1) = 1 -1 1 -1 1 -1 1 -1 w (2) = 1 1 -1 1 -1 -1 1 1 -1 1 -1 -1 w (3) = 1 1 -1 1 1 -1 -1 1 1 -1 -1 1 -1 -1 w = 1 1 -1 1 1 -1 -1 1 1 1 -1 -1 1 -1 -1 Это код кривой дракона: 1 налево, -1 направо (или наоборот). Лекция 2 Автоматные слова 7/37
  • 8. Автомат, выдающий слово дракона w = w1 w2 w3 · · · = 1 1 − 1 1 1 − 1 − 1 1 1 1 − 1 − 1 1 · · · 0 1 A|1 B|1 0 1 1 D| − 1 C| − 1 0 0 1 3 = [11]2 =⇒ w3 = −1. Лекция 2 Автоматные слова 8/37
  • 9. Формальное определение Σk = {0, . . . , k − 1}. Definition Слово a = a0 a1 a2 · · · над алфавитом ∆ называется k-автоматным для некоторого k > 1, если существует детерминированный конечный автомат с выходом (DFAO) M = (Q, Σk , δ, q0 , ∆, τ ), такой что an = τ (δ(q0 , w )) для всех n ≥ 0 и для всех слов w ∈ Σ∗ , таких что k [w ]k = n. Другими словами, автомат получает на вход k-ичное разложение числа n и выдает символ an . Лекция 2 Автоматные слова 9/37
  • 10. Свойства автоматных слов Lemma Определение k-автоматного слова не зависит от того, как в автомат подается k-ичное разложение, слева направо или справа налево. Доказательство. Возьмем DFAO M = (Q, Σk , δ, q0 , ∆, τ ) из определения и определим новый автомат M = (S, Σk , δ , q0 , ∆, τ ) следующим образом: множество состояний S = множество всех функций g из Q в ∆; q0 = τ ; τ (g ) = g (q0 ) для всех g ∈ S; для всех g ∈ S, a ∈ Σk определяем δ (g , a) = h, где функция h определяется равенствами h(q) = g (δ(q, a)). Далее индукция по длине входа. Лекция 2 Автоматные слова 10/37
  • 11. Свойства автоматных слов Lemma Нули в начале k-ичного разложения тоже не мешают. (Тоже требует доказательства!) Лекция 2 Автоматные слова 11/37
  • 12. Свойства автоматных слов k-волокно Ik (w , d) слова w = w0 w1 · · · : множество k-ичных разложений чисел n, таких что wn = d. Ik (w , d) = {(n)k : wn = d}. Lemma Слово w является k-автоматным тогда и только тогда, когда все его k-волокна регулярные языки. Лекция 2 Автоматные слова 12/37
  • 13. Свойства автоматных слов Lemma Слово, отличающееся от k-автоматного слова в конечном количестве позиций, k-автоматно. Доказательство: через k-волокна, которые регулярны. Лекция 2 Автоматные слова 13/37
  • 14. Свойства автоматных слов t-периодическое слово: w = uv ω , где |v | = t. Пример: слово abbccc abac abac abac · · · = abbccc(abac)ω 4-периодично с предпериодом. Lemma Если слово t-периодическое (возможно, с предпериодом), то оно k-автоматно для любого k. Доказательство: по предыдущей лемме, достаточно рассмотреть чисто периодический случай. Для него Q = {0, 1, . . . , t − 1}; δ(q, b) = (kq + b) (mod t); τ (q) = wq . Лекция 2 Автоматные слова 14/37
  • 15. Свойства автоматных слов Кодирование: отображение ρ : ∆ → ∆ . Lemma Слово, получающееся из k-автоматного применением кодирования, k-автоматно. Доказательство: применяем кодирование к функции вывода. Лекция 2 Автоматные слова 15/37
  • 16. Свойства автоматных слов Декартово произведение слов w = w0 w1 · · · и v = v0 v1 · · · : слово [w0 × v0 ][w1 × v1 ] · · · . Lemma Декартово произведение k-автоматных слов k-автоматно. Доказательство: декартово произведение автоматов. i q|a q ′ |a′ i p|b p ′ |b′ i [q × p]|[a × b] [q ′ × p ′ ]|[a′ × b ′ ] Лекция 2 Автоматные слова 16/37
  • 17. Проверка на автоматность Как доказать, что слово автоматно? Построить автомат. Как доказать, что слово НЕ автоматно? Стандартные методы: Через нерегулярность языка-волокна (pumping lemma etc.); Найти непериодическую последовательность вида {w[uv i ]k }∞ ; i=1 Другие методы например, через частоты символов. В автоматном слове они, если существуют, должны быть рациональны (см. далее). Лекция 2 Автоматные слова 17/37
  • 18. Морфизмы Пусть Γ, ∆ конечные алфавиты. Морфизмом называется отображение ϕ : Γ∗ → ∆∗ , для всех слов x, y ∈ Γ∗ удовлетворяющее равенству ϕ(xy ) = ϕ(x)ϕ(y ). Ясно, что всякий морфизм однозначно определяется образами символов ϕ(g ), g ∈ Γ. Example Морфизм Фибоначчи ϕ : {0, 1}∗ → {0, 1}∗ ϕ(0) = 01, ϕ(1) = 0 Тогда, например, ϕ(1101) = 00010. Лекция 2 Автоматные слова 18/37
  • 19. Однородные морфизмы и кодирования Морфизм называется (k-)однородным, если длины образов всех символов алфавита Γ одинаковы и равны k. 1-однородный морфизм называется кодированием. Example ϕ : a → ab, b → bc, c → ca 2-однородный морфизм {a, b, c}∗ → {a, b, c}∗ . ψ : a, c → 0, b → 1 кодирование. Лекция 2 Автоматные слова 19/37
  • 20. Неподвижные точки морфизмов ϕ(a) начинается с a, длины слов ϕk (a) неограниченно возрастают =⇒ у них существует предел, называемый неподвижной точкой морфизма. a → ϕ(a) → ϕ2 (a) → ϕ3 (a) → · · · → ϕ∞ (a) Example ϕ(0) = 01, ϕ(1) = 0 0 → 01 → 01 0 → 010 01 → 01001 010 → 01001010 01001 → · · · Предел: слово Фибоначчи ϕ∞ (a) = 0100101001001010010100100101001001 · · · Почему неподвижная точка? Потому что ϕ(ϕ∞ (a)) = ϕ∞ (a). Лекция 2 Автоматные слова 20/37
  • 21. СD0L-слова СD0L-словом называется результат применения кодирования к неподвижной точке морфизма. Example ϕ : a → ab, b → bc, c → ca ϕ∞ (a) = abbcbccabccacaabbc · · · ψ : a, c → 0, b → 1 ψ(ϕ∞ (a)) = 011010001000000110 · · · Лекция 2 Автоматные слова 21/37
  • 22. Теорема Кобхэма Theorem (Cobham,1972) Бесконечное слово k-автоматно тогда и только тогда, когда является образом под действием кодирования неподвижной точки k-однородного морфизма. Доказательство. Морфизмы строятся по автомату или наоборот. Пусть w = ψ(ϕ∞ (a)), где ϕ : ∆ → ∆k . Тогда множество состояний автомата равно ∆; начальное состояние - начальный символ a неподвижной точки морфизма; каждое состояние b ∈ ∆ выдает символ ψ(b); если ϕ(b) = b0 · · · bk−1 , то δ(b, i) = bi для всех i. Лекция 2 Автоматные слова 22/37
  • 23. Пример ϕ : a → ab, b → bc, c → ca ϕ∞ (a) = abbcbccabccacaabbc · · · ψ : a, c → 0, b → 1 ψ(ϕ∞ (a)) = 011010001000000110 · · · 0 0 1 a|0 b|1 1 1 c|0 0 Лекция 2 Автоматные слова 23/37
  • 24. Слово Туэ-Морса 1 0 0 1 0 1 w = 0110 1001 1001 0110 1001 · · · = ϕ∞ (0), где 0 → 01, ϕ: 1 → 10. Лекция 2 Автоматные слова 24/37
  • 25. Большие значения k Слово Керянена из предыдущей лекции 85-автоматно. ϕ(a) = abcacdcbcdcadcdbdabacabadbabcbdbcbacbcdcacbab dabacadcbcdcacdbcbacbcdcacdcbdcdadbdcbca Много примеров (удобно строить). Лекция 2 Автоматные слова 25/37
  • 26. Частоты символов Частоты символов в неподвижной точке k-однородного морфизма (если они существуют) рациональны. Следовательно, в k-автоматном слове тоже. Если частоты символов в слове существуют, но не рациональны, то слово не может быть k-автоматным. Лекция 2 Автоматные слова 26/37
  • 27. Алгоритмическая разрешимость задач об автоматах Theorem (Honkala, 1986) Вопрос о том, периодично ли (с предпериодом) k-автоматное слово, разрешим. Лекция 2 Автоматные слова 27/37
  • 28. Алгоритмическая разрешимость задач об автоматах Theorem (Cassaigne,1994) Для любого паттерна существует алгоритм проверки, избегает ли его данное циркулярное k-автоматное слово. Лекция 2 Автоматные слова 28/37
  • 29. Техника Алуша-Шарлье-Рамперсада-Шаллита Theorem (Charlier, Rampersad, Shallit, 2011) Если свойство k-автоматного слова w выражаемо в терминах кванторов, логических операций, целочисленных переменных, операций сложения, вычитания, индексирования в слове w , и сравнения чисел или элементов слова w , то это свойство разрешимо. Технику фактически впервые применил Lehr [1993], затем Allouche, Rampersad, Shallit [2009]. Лекция 2 Автоматные слова 29/37
  • 30. Пример применения техники Перекрытие над алфавитом Σ это слово вида axaxa, где a ∈ Σ, x ∈ Σ∗ . Theorem (Allouche, Rampersad, Shallit, 2009) Следующий вопрос разрешим: избегает ли перекрытий данное k-автоматное слово w ? Лекция 2 Автоматные слова 30/37
  • 31. Пример применения техники Theorem (Allouche, Rampersad, Shallit, 2009) Следующий вопрос разрешим: избегает ли перекрытий данное k-автоматное слово w ? Доказательство. По автомату M1 , строящему слово, строим недетерминированный автомат M2 , который получает на вход k-ичные разложения чисел I и T ; выясняет, существует ли число J| 0 ≤ J ≤ T и wI +J = wI +J+T . Если таких чисел нет, то wI · · · wI +2T перекрытие. Детерминизуем автомат M2 , получаем M3 . Меняем местами принимающие и не принимающие состояния в M3 , получаем M4 . В w есть перекрытия ⇐⇒ в M4 есть достижимые принимающие состояния. Лекция 2 Автоматные слова 31/37
  • 32. Об автомате M2 Множество состояний автомата M2 : пятерки вида (b, c, d, q, r ), где b ∈ {<, =, >} - отношение между J и T ; c иd carries при сложении очередных символов чисел I + J и I + T + J соответственно; qиr состояния автомата M1 , соответствующие входам I + J и I + J + T соответственно. Автомат недетерминированный: ребер каждого вида k штук, по количеству возможных (очередных) цифр числа J. Лекция 2 Автоматные слова 32/37
  • 33. Для слова Туэ-Морса В M1 два состояния: 1 0 0 1 0 1 В M2 состояний 3*2*3*2*2=72; В детерминированном M3 (и M4 ) 801 состояние. Факт “слово Туэ-Морса избегает перекрытий” самое сложное, что было реально проверенно чисто программным образом. Лекция 2 Автоматные слова 33/37
  • 34. Другая идея Можно строить автоматы, проверяющие свойства k-автоматных слов, не с помощью исходного автомата, а с помощью исходных морфизмов (по теореме Кобхэма). Example Рассмотрим k-автоматное слово w = w0 w1 · · · над алфавитом {0, 1, . . . , d − 1} и обозначим через Fn k-ичную дробь 0, wn wn+1 wn+2 · · · . Можно ли с помощью нового автомата определить, какое число больше, Fn или Fm ? Лекция 2 Автоматные слова 34/37
  • 35. Другая идея Example Рассмотрим k-автоматное слово w = w0 w1 · · · над алфавитом {0, 1, . . . , d − 1} и обозначим через Fn k-ичную дробь 0, wn wn+1 wn+2 · · · . Можно ли с помощью нового автомата определить, какое число больше, Fn или Fm ? [Frid, Zamboni, 2010] Да; у соответствующего автомата порядка O((p 4 )!) состояний, где p мощность алфавита неподвижной точки k-однородного морфизма из теоремы Кобхэма. Лекция 2 Автоматные слова 35/37
  • 36. Для слова Туэ-Морса У Туэ-Морса, как всегда, все хорошо: (0, 0) (0, 0) (0, 0) (0, 0) (1, 1) (1, 1) 0>0 1>1 0<0 1<1 (1, 1) (1, 1) (0, 1) (1, 0) (1, 0) (0, 1) (0, 1) (1, 0) (0, 1) (0, 1) (1, 0) (1, 0) (1, 1) (0, 0) 0<1 1>0 (0, 0) (1, 1) (1, 0) (0, 1) (0, 1) (0, 1) (1, 0) (1, 0) (1, 1) (0, 0) 0=0 1=1 (0, 0) (1, 1) Лекция 2 Автоматные слова 36/37
  • 37. Завтра Слова Штурма и дискретизация прямых. Свойства слов Штурма, эквивалентные определения. Быстрое построение слов Штурма. Количество всех слов Штурма: геометрический метод Берстеля и Поккьолы. Границы его применимости. Комбинаторные функции сложности бесконечных слов и факторных языков. Их свойства, методы их оценки. Начало в 11.15 Лекция 2 Автоматные слова 37/37