Научная статья на тему 'The existence of computable sequence that cannot be described by finite automata'

The existence of computable sequence that cannot be described by finite automata Текст научной статьи по специальности «Математика»

CC BY
46
6
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
ALGORITHMIC COMPLEXITY / COMPUTABLE MARTINGALES / FINITE AUTOMATA

Аннотация научной статьи по математике, автор научной работы — Serikzhan Raushan, Bakibayev Timur

The goal of the project is to construct an infinite sequence that cannot be generated by any simple automatic device, and to estimate its complexity. The conjecture on the existence of such a sequence is based on the idea of superiority of Turing machines over finite automata. In the project, a new notion of automaton martingale is introduced, and the existence of an infinite binary random sequence that cannot be generated by a finite automaton is proved. In order to reach the goal of the project one had to study Turing machines, finite automata, computable martingales, and the diagonalization method.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «The existence of computable sequence that cannot be described by finite automata»

THE EXISTENCE OF COMPUTABLE SEQUENCE THAT CANNOT BE DESCRIBED BY FINITE AUTOMATA

R. Serikzhan, T. Bakibayev

Al-Farabi Kazakh National University, 480078, Almatv, Kazakhstan

V. LK 510.52

The goal of the project is to construct an infinite sequence that cannot be generated by any simple automatic device, and to estimate its complexity. The conjecture on the existence of such a sequence is based on the idea of superiority of Turing machines over finite automata. In the project, a new notion of automaton martingale is introduced, and the existence of an infinite binary random sequence that cannot be generated by a finite automaton is proved. In order to reach the goal of the project one had to study Turing machines, finite automata, computable martingales, and the diagonalization method.

Key words: algorithmic complexity, computable martingales, finite automata.

Introduction. The aim of this project is to construct an infinite random sequence. We introduce here a new notion of automaton martingale, construct a universal automaton martingale, and an infinite sequence is constructed against it. In order to do this we use the classical diagonalization method.

1. Martingale and Automaton Martingale.

Definition 1. [1] A martingale is a function d : {0,1}* ^ [0, ro) such that d(A) > 0, for every x E {0,1}*, the following equality (called fairness condition) holds.

d(A) is called the norm of d. d is normed if d(A) = 1. A martingale d succeeds on a set A if

S^ [d] denotes the class of sets on which the martingale d succeeds. A martingale d succeeds on a class C if C C S~[d].

Definition 2. A (betting) strategy s is a function s : {0,1}* ^ [0,1], The -strategy sd

d

d(x0) + d(x1) 2

d(x).

limsup d(A \ n) = ro.

(1)

Conversely, for every strategy s and every real a > 0 ¿he marting ale d[s,a] of norm a induced by s is defined by d(A) = a and, for any string X \ (n + 1) where n ^ 0,

d(X \ (n + 1)) =

2 ■ s(X \ n) ■ d(X \ n) if X(n) = 0

2 ■ (1 - s(X I n)) ■ d(X I n) if X(n) = 1.

(2)

We defined a new notion of automaton martingale in this paper in order to define sequences that can be generated by a DFA, Since an automaton martingale is based on a DFA, i, e, it can either accept or reject an expression, we have to consider the bets according to outcome. In case if an automaton accepts the expression (input), the corresponding automaton martingale bets 0.75 (on zero). In case if an automaton rejects the expression, the corresponding automaton martingale bets 0.25,

Definition 3. An automaton martingale is a martingale with a strategy that can be described by a deterministic finite automaton, 2. Main Theorem.

Theorem 1. There exists a universal Turing machine that generates an infinite sequence X that cannot be generated by any automaton martingale.

In order to prove theorem 1 we need to prove the following 3 lemmas. Lemma 1. There exists a universal Turing machine which enumerates all deterministic finite automata. Moreover, by given string of length n Turing machine checks whether it is a coded automaton in linear time.

Proof. Let the following string be a code of an automaton:

where m is the number of states, l is the code length of each state, x is a sequence of all coded states (|x| = m * l), f is a binary string of length m where the i-th bit equals 1 if and only if the state number i is final, and 5 = q<o,o)9<i,o)."9<m,i) represents the following transition table (|5| = 2 * m * l):

for transitions of type qi, j ^ Q(i,j)-

Without lost of generality we assume that the first state is the initial one, because any finite automaton with another initial state can be rewritten as an (isomorphic) automaton with the first state as initial and that accepts the same language.

So, the total length of the code is n = m +1 +l + 1 + m* l + m + 2 * m* l = 3ml + 2m +l + 2, In order to check whether a given string represents a coded automaton we have to do the following:

1) Check whether the string is of the form 0m10z 1xfó (in n steps),

2) Check whether the length of xf ó equals 3ml + m (in k * m * l steps).

Checking whether ó contains only codes from x is not necessary because automata with wrong states will be stopped during simulation once a wrong state is met.

Lemma 2. For any martingale d1 and automaton martingale d2 there exists one martingale di,2, that succeeds on all sequences on which any or both martingale and automaton martingale succeed.

Proof. In order to create a new martingale d1,2 we emulate sdl and sd2 from computable set of all automaton martingales on some sequence X, An initial capital is divided into equal parts

0m10¿ 1xfS,

Table

Transition table

0 Q{0,0) Q{1,0) ... Q{m,0)

1 q(0,l> q(l,l> ... Q(m,l)

between both martingales such that each of them can apply its own strategy on the sequence. Each of sdl and sd2 bets according to its strategy (on zero), and the new martingale strategy sdl,2 summarizes the bets and bets the total sum. Whether di,2 wins or lose on current step, it divides the obtained capital between d1 and d2 corresponding to their new capitals. Thus, martingales can win or lose on a sequence independently from each other. We should note that the new martingale d1,2 succeeds if at least one of the martingales d1 and d2 succeeds:

limsup d1,2(X \ n) =limsup d1(X \ n) +limsup d2(X \ n).

Therefore, if one of the martingales succeeds then

limsupd1(X \ n) = w or limsupd2(X \ n) = w.

It implies that

lim sup d1 2 (X f n) = w.

Note, that the definition of the new martingale d1,2 is as follows:

d1,2(x) = d1(x) + d2(x),

and

¿1,2 (A) = 2^(A).

Lemma 3. Given a finite set of automaton martingales {d1, d2,..., there exists one combined martingale d1,2,...,n that succeeds on all sequences on which any of these automaton martingales succeeds.

Proof. Lemma is proved by induction. In the proof of lemma 2 we took some fixed d1 and d2 and combined them into one martingale. In the same way we can merge a set of other automaton martingales into a combined martingale d1,2,...,n For example, we combine martingale d1,2, which is based on d1 and d2, with the martingale d3. As a result, if one of d1,2 and ¿3 wins, the new martingale d1,2,3 based on them also wins. So, we will get the universal martingale d1,2,...,n that succeeds on all sequences on which any automaton martingale succeeds. Thus, the definition of the combined martingale d1,2,...,n is

¿1,2,...,n(x) = ¿1(x) + ¿2(x) + ¿3(x) + ... + dn(x)

Definition 4. Let ^e a string number s in length-lexicographical ordering.

As the coding of finite automata and combined martingales d1,2,...,n are defined we can now turn to the construction of the desired set.

Proof (of theorem 1),

It is easy to see that we can simply take one general combined martingale for all automaton martingales and diagonalize over it. But for complexity estimation reasons it is better to have the exact procedure for building the set and hence the exact algorithm of sdl,2 . .. We build the set step by step as follows.

On step s of the construction we define the value of X(zs). In order to do this, we do the following (diagonalize against all automaton martingales up to zs):

1, Check which of the strings zs with s' ^ s are coded automata (by lemma 1),

2, By lemma 3 combine all of the corresponding automaton martingales into one martingale d1,2,...,fc-

3, Run the emulation process of the corresponding strategy sdl 2 k on string

X(zo)X(zi)...X(zs-i). " ' ""'

4, In case if sdl2 k(X(z0)X(z1)...X(zs-1)) > 0.5 (it bets more on zero) let X(zs) = 1, otherwise let X(zs) = 0,

Thus we guarantee that limn^0 sup d1,2,...,k(X \ n) = to for all k > 0 and that limn^0 sup dj(X \ n) = ^ for any i > 0, Therefore, no automaton martingale succeeds on the constructed set (on the characteristic sequence of the set), 3. Estimation of complexity.

Lemma 4. Given X \ zs, all strings z's < zs that represent finite automata,and dj(zs-1) for each such automaton (0 ^ i ^ s) it takes k ■ s steps to compute X(zs).

Proof. By the proof of theorem 1 we have to emulate each finite automaton z's such that s' ^ s on string X \ zs-1, Since we are given all strings z's ^ zs that represent finite automata

zs

than k ■ log s steps.

In order to construct sequence X, that contains some strings (for instance, z1 = 0 z2 = 1, z3 = 00 and so on) we need to start from A and check whether it represents an automaton. As A is not a coded automaton (by lemma 1) we add 0 to X, and we do the same with other strings until we find an automaton. As soon as we meet one we need to emulate that automaton on XX

1

them on X \ zs in order to find X(zs). So, each automaton „bets" according to its corresponding automaton martingale's strategy, and we sum up these bets,

X

first two symbols and so on in order to let capital of an automaton rise or fall, and we always give

1

if there are no automata we let X(zs) = 0; 2) emulate the last step of each of these automata one by one; 3) sum up the bet; 4) if we bet more on 0 then let X(zs) = 1 otherwise let X(zs) = 0, Now we have to check how many strings s' ^ s represent coded finite automata. Since the code of an automaton is 0m10z 1xf5, it is easy to see that there are not more than 2|Zs|-2-m-1

or 2|f automata. Hence, there exists some k, such that for the first, third and fourth steps

s

of the above procedure it takes k steps, and for the second step — k ■ - steps. Without lost of generality we can assume that it takes k ■ s steps to complete the whole procedure.

In order to simplify the explanation let a be the capital of the first automaton and b be the capital of the other. Let s(dAl) = 0.7 and s(dA2) = 0.25 then the total bet is s(dAl,2) =

0.7a + 0.25b _ _ . . _ , „ , _

---, Thus, we combine two automata into one on a fixed segment oi X, and the same

a + b

way we combine all the following automata step by step. If s(dAl,2) > 0.5 we let X(zs) = 1 for the diagonalization, otherwise we let X(zs) = 0.

Theorem 2. Given zs it takes 22|zs| steps to compute X(zs),

X \ zs s' < s

takes k ■ s steps to compute X(zs), So, by induction it takes s ■ k ■ s steps to compute X(zs). Since s ^ 2K the total number of steps is less than 2|zS ■ 2|zS ■ k ^ k ■ 22|zS ^ 0(22|zs|).

References

1. Rodney G. Downey, Denis R. Hirschfeldt. Algorithmic Randomness and Complexity, Theory and Applications of Computabilitv, New York: Springer, 2010.

Raushan Serikzhan — SU Manager al-Farabi Kazakh National University;

e-mail: r.serikzhan@gmail.com

Timur Bakibayev — Ph.D. al-Farabi Kazakh National University;

e-mail: timurbakibayev@gmail. com

Дата поступления — 11.11.2014

i Надоели баннеры? Вы всегда можете отключить рекламу.