From its very inception, one fundamental theme in automata theory is the quest for understanding the relative power of the various constructs of the t
|
|
- Herbert Fitzgerald
- 6 years ago
- Views:
Transcription
1 From Bidirectionality to Alternation Nir Piterman a; Moshe Y. Vardi b;1 a eizmann Institute of Science, Department of Computer Science, Rehovot 76100, Israel b Rice University, Department of Computer Science, Houston, TX , U.S.A. Abstract e describe an explicit simulation of 2-way nondeterministic automata by 1-way alternating automata with quadratic blow-up. e rst describe the construction for automata on nite words, and extend it to automata on innite words. Key words: two-way automata, nondeterminisitc nite automata, nondeterministic Buchi automata, alternating nite automata, alternating Buchi automata 1 Introduction The theory of nite automata is one of the fundamental building blocks of theoretical computer science. As the basic theory of nite-state systems, this theory is covered in numerous textbooks and in any basic undergraduate curriculum in computer science. Since its introduction in the 1950's, the theory had numerous applications in practically all branches of computer science, from the construction of electrical circuits [11], to the design of lexical analyzers [10], and to the automated verication of hardware and software designs [30]. Corresponding Author. addresses: nirp@wisdom.weizmann.ac.il, vardi@cs.rice.edu (Moshe Y. Vardi). URLs: nirp, vardi (Moshe Y. Vardi). 1 Supported in part by NSF grants CCR , CCR-99322, IIS , IIS , and EIA , by BSF grant , and by a grant from the Intel Corporation. Preprint submitted to Elsevier Science 21 November 2001
2 From its very inception, one fundamental theme in automata theory is the quest for understanding the relative power of the various constructs of the theory. Perhaps the most fundamental result of automata theory is the robustness of the class of regular languages, the class of languages denable by means of nite automata. Rabin and Scott showed in their classical paper that neither nondeterminism nor bidirectionality changes the expressive power of nite automata; that is, nondeterministic 2-way automata and deterministic 1-way automata have the same expressive power [20]. This robustness was later extended to alternating automata, which can switch back and forth between existential and universal modes (nondeterminism is an existential mode) [2,6,15]. In view of this robustness, the concept of relative expressive power was extended to cover also succinctness of description. For example, it is known that nondeterministic automata and two-way automata are exponentially more succinct than deterministic automata. The language L n = fuv : u; v 2 f0; 1g n and u 6= vg can be expressed using a 1-way nondeterministic automaton or a 2-way deterministic automaton of size polynomial in n, but a 1-way deterministic automaton accepting L n must be of exponential size (cf. [23]). Alternating automata, in turn, are doubly exponentially more succinct than deterministic automata [2,6]. Consequently, a major line of research in automata theory is establishing tight simulation results between dierent types of automata. For example, given a 2-way automaton with n states, Shepherdson showed how to construct an O(n log(n)) equivalent 1-way automaton with 2 states [22]. Birget showed how to construct an equivalent 1-way automaton with 2 3n states [1] (see also []). Vardi constructed the complementary automaton, an automaton accepting the words rejected by the 2-way automaton, with 2 2n states [26]. Birget also showed, via a chain of reductions, that a 2-way nondeterministic automaton can be converted to a 1-way alternating automaton with quadratic blow-up [1]. As the converse ecient simulation is impossible [15], alternation is more powerful than bidirectionality. Our focus in this paper is on simulation of bidirectionality by alternation. The interest in bidirectionality and alternation is not merely theoretical. Both constructs have been shown to be useful in automated reasoning. For example, reasoning about modal -calculus with past temporal connectives requires alternation and bidirectionality [24,25,2]. Recently, model checking of specications in -calculus on context-free and prex-recognizable systems has been reduced to questions about 2-way automata [14]. In a dierent eld of research, 2-way automata were used in query processing over semistructured data [4]. e found Birget's construction, simulating bidirectionality by alternation with 2
3 quadratic blow-up, unsatisfactory. As noted, his construction is indirect, using a chain of reductions. In particular, it uses the reverse language and, consequently, can not be extended to automata on innite words. The theory of nite automata on innite objects was established in the 1960s by Buchi, Mc- Naughton and Rabin [3,16,19]. They were motivated by decision problems in mathematical logic. More recently, automata on innite words have shown to be useful in computer-aided verication [12,30]. e note that bidirectionality does not add expressive power also in the context of automata on innite words. Vardi has already shown that given a 2-way nondeterministic Buchi automaton with n states one can construct an equivalent 1-way nondeterministic Buchi automaton with 2 O(n2 ) states [25]. Our main result in this paper is a direct quadratic simulation of bidirectionality by alternation. Given a 2-way nondeterministic automaton with n states, we construct an equivalent 1-way alternating automaton with O(n 2 ) states. Unlike Birget's construction, our construction is explicit. This has two advantages. First, one can see exactly how alternation can eciently simulate bidirectionality. (In order to convert the nondeterministic automaton into an alternating automaton we use the fact that the run of the 2-way nondeterministic automaton looks like a tree of \zigzags" 2. e analyze the form such a tree can take and recognize, using an alternating automaton, when such a tree exists.) Second, the explicitness of the construction enables us to extend it to Buchi automata. Since it is known how to simulate alternating Buchi automata by nondeterministic Buchi automata with exponential blow-up [17], our construction provides another proof of the result that a 2-way nondeterministic Buchi automaton with n states can be simulated by a 1-way nondeterministic Buchi with 2 O(n2 ) states [25]. e also show how to obtain, still with quadratic blow-up, a 1-way alternating automaton for the complementary language. This is trivial for automata on nite words, but not for automata on innite words. Finally, we show how to use our construction for 2-way nondeterministic Rabin and parity automata, avoiding an unnecessary blow up that results from rst converting those into 2-way nondeterministic Buchi automata. 2 Preliminaries e consider nite or innite sequences of symbols from some nite alphabet. Given a word w, an element in [!, we denote by w i the i th letter of the word w. The length of w is denoted by jwj and is dened to be! for innite 2 The analysis of the form of the \zigzags" is similar to the analysis of runs of pushdown-automata done in [21,29]. 3
4 words. A 2-way nondeterministic automaton is N = h; S; s 0 ; ; F i, where is the nite alphabet, S is the nite set of states, s 0 2 S is the initial state, : S! 2 Sf 1;0;1g is the transition function, and F is the acceptance set. e can run N either on nite words (2-way nondeterministic nite automaton or 2NFA for short) or on innite words (2-way nondeterministic Buchi automaton or 2NB for short). A run on a nite word w = w 0 ; :::; w l is a nite sequence of states and locations (t 0 ; i 0 ), (t 1 ; i 1 ), : : :, (t m ; i m ) 2 (S f0; :::; l + 1g). The pair (t j ; i j ) represents the automaton is in state t j reading letter i j. Formally, t 0 = s 0, i 0 = 0, for all 0 j < m, we have i j 2 f0; :::; lg, and i m 2 f0; :::; l + 1g. Finally, for all 0 j < m, we have (t j+1 ; i j+1 i j ) 2 (t j ; w ij ). A run is accepting if i m = l +1 and t m 2 F. A run on an innite word w = w 0 ; w 1 ; ::: is dened similarly as an innite sequence. The restriction on the locations is removed (for all j, the location i j can be every number in N). In 2NB, a run is accepting if it visits F N innitely often. A word w is accepted by N if it has an accepting run over w. The language of N is the set of words accepted by N, denoted by L(N). A 2-way nondeterministic parity (Rabin) automaton (2NP and 2NR for short) is N = h; S; s 0 ; ; i where ; S; s 0 and are like before and = ff 1 ; :::; F m g is a partition of S ( = fhg 1 ; B 1 i; :::; hg m ; B m ig is a subset of 2 S 2 S ). The index of the automaton is the number of sets (pairs) in its acceptance condition. A run of a 2NP or a 2NR is just like a run of a 2NB. A run r of a 2NP is accepting if the minimal index 1 i m such that r visits F i N innitely is even. A run r of a 2NR is accepting if there exists an i, 1 i m such that r visits G i N innitely often and B i N only nitely often. In the nite case we are only interested in runs in which the same state in the same position does not repeat twice during the run. In the innite case we minimize the amount of repetition to the unavoidable minimum. A run r = (s 0 ; 0); (s 1 ; i 1 ); (s 2 ; i 2 ); :::; (s m ; i m ) on a nite word is simple if for all j and k such that j < k, either s j 6= s k or i j 6= i k. A run r = (s 0 ; 0); (s 1 ; i 1 ); (s 2 ; i 2 ); ::: on an innite word is simple if one of the following holds (1) For all j < k, either s j 6= s k or i j 6= i k. (2) There exists l; m 2 N such that for all h < p < l + m, either s h 6= s p or i h 6= i p, and for all f l; s f = s f +m and i f = i f +m. e show that there exists an accepting run i there exists a simple accepting run. Claim 1 An automaton N (either 2NF A, 2NB, 2NP, or 2NR ) accepts a word w i it accepts it with a simple run. 4
5 Proof. For all automata, a simple run is in particular a run. Given an accepting run r = (s 0 ; 0); (s 1 ; i 1 ); : : : of A on w, we construct a simple run of N on w. Case 1 N is a 2NFA The run r is nite and ends in some pair (s m ; i m ). If r is not simple, there are some j and k such that j < k, s j = s k and i j = i k, consider the sequence (s 0 ; 0); :::; (s j ; i j ); (s k+1 ; i k+1 ); :::; (s m ; i m ): Since (s k+1 ; i k+1 i k ) 2 (s k ; a ik ) and (s k ; a ik ) = (s j ; a ij ) this sequence is still a run. The last state s m is a member of F and i m = jwj hence the run is accepting. Since the run is nite, nitely many repetitions of the above operation result in a simple run of A on w. Case 2 N is a 2NB e cannot simply remove sequences of states like we did in the nite case, since the visits to F may be hidden in these parts of the run. If for some j < k, we have that s j = s k ; i j = i k, and for all j p k we have s p =2 F (no accepting state occurring), we can simply remove this part. e have to show that the limit of all these changes stays a valid and accepting run. Note that we change the run only between occurrences of states from F. So we can divide the run into segments. In each segment the rst state is from F and no states from F occur elsewhere. As states from F occur innitely often in the run we have innitely many segments. Each of these segments is changed a nite number of times, the rst state of the segment does not change nor does the last state of the segment. Gluing the segments together for a run after performing the changes results in a valid run (the rst and the last state in every segment do not change). As every segment starts with a state from F and there are innitely many segments the run is still accepting. Now if there exists some j < k such that s j = s k and i j = i k we conclude that there is a visit to F between the two. e take the minimal j and k and create the run (s 0 ; 0), : : :, (s j 1 ; i j 1 ), ((s j ; i j ); : : : ; (s k 1 ; i k 1 ))!. Again this is a valid run and it visits F innitely often (between s j and s k 1 ). If no such j and k exist the run is simple. Case 3 N is a 2NR This case is very similar to the 2NB case. There is some index c such that the set G c is visited innitely often and the set B c is visited nitely often. Let (s d ; i d ) denote the rst visit to G c after which there are no visits to B c. For all j < k < d such that s j = s k and i j = i k we remove the segment of the run between s j and s k 1. The run clearly stays valid and accepting (nite number of changes). Now just like for Buchi automata, we identify all locations j < k 5
6 for which s j = s k and i j = i k and for all j p k we have s p =2 G c. These run segments are removed from the run. As before, the run obtained in the limit stays valid and accepting. Finally, if there exists some j < k such that s j = s k and i j = i k we conclude that there is a visit to G c between the two. Clearly B c cannot occur between s j and s k and the segment can be converted into an accepting loop. The case that n is a 2NP is treated similarly. The set F c takes the role of G c and S c 0 <c F c takes the role of B c. 2 Given a set S we rst dene the set B + (S) as the set of all positive formulas over the set S with true and false (i.e., for all s 2 S, s is a formula and if f 1 and f 2 are formulas, so are f 1 ^ f 2 and f 1 _ f 2 ). e say that a subset S 0 S satises a formula ' 2 B + (S) (denoted S 0 j= ') if by assigning true to all members of S 0 and false to all members of S n S 0 the formula ' evaluates to true. Clearly true is satised by the empty set and false cannot be satised. Given a formula f 2 B + (S), we dualize f by replacing ^ by _, true by false and vice versa. The dual of f is denoted e f. A tree is a set T N such that if x c 2 T where x 2 N and c 2 N, then also x 2 T. The elements of T are called nodes, and the empty word is the root of T. For every x 2 T, the nodes x c where c 2 N are the successors of x. Thus, successors in our notation are only the immediate successors. The nodes x y where y 2 N are the descendants of x. A node is a leaf if it has no successors. A path of a tree T is a set T such that 2 and for every x 2, either x is a leaf or there exists a unique c 2 N such that x c 2. Given an alphabet, a -labeled tree is a pair (T; V ) where T is a tree and V : T! maps each node of T to a letter in. A 1-way alternating automaton is A = h; Q; q 0 ; ; F i where, Q, q 0, and F are like in nondeterministic automata and : S! B + (Q) is the transition function. Again we may run A on nite words (1-way alternating automata on nite words or 1AFA for short) or on innite words (1-way alternating Buchi (co-buchi) automata or 1AB (1AC) for short). A run of A on a nite word w = w 0 :::w l is a labeled tree (T; r) where r : T! Q. The maximal depth in the tree is l + 1. A node x labeled by q describes a copy of the automaton in state q reading letter w jxj. The labels of a node and its successors have to satisfy the transition function. Formally, r() = q 0 and for all nodes x with r(x) = q and (q; w jxj ) = ' there is a (possibly empty) set fq 1 ; :::; q n g j= ' such that there are n successors to x, fx 0; : : : ; x (n 1)g and xc is labeled by q c+1 for 0 c < n. In particular, there can not appear in the run a node x for which (r(x); w jxj ) = false. Clearly, no set of states can satisfy false. The run is accepting if all the leaves in depth l + 1 are labeled 6
7 by states from F. Note that if x is a leaf such that jxj l, it must be the case that (r(x); w jxj ) = true. The formula true is the unique formula that is satised by the empty set. A run of A on an innite word w = w 0 w 1 ::: is dened similarly as a (possibly) innite labeled tree. A run of a 1AB is accepting if every innite path visits the accepting set innitely often. A run of a 1AC is accepting if every innite path visits the accepting set nitely often. For a nite path, the end of the path is some leaf x such that (r(x); w jxj ) = true. Thus, nite paths do not have to supply other demands. As before, a word w is accepted by A if it has an accepting run over the word. e similarly dene the language of A; L(A). Given an 1AFA A = h; Q; q 0 ; ; F i, the dual of A is the 1AFA e A = h; Q; q 0 ; e; Qn F i where e(q; a) is the dual of (q; a). The automata A and e A accept complementary languages [6], i.e. L( e A) = n L(A). The dualization includes replacing the acceptance condition F by its complement Q n F. Similarly, given an 1AB the dualization of the acceptance condition amounts to changing the acceptance mode from Buchi to co-buchi. Thus, given an 1AB A = h; Q; q 0 ; ; F i, the dual of A is the 1AC e A = h; Q; q 0 ; e; F i. Again the automata A and e A accept complementary languages [1], i.e. L( e A) =! n L(A). Note that dualizing an 1AFA results in an 1AFA and dualizing an 1AB results in an 1AC. Thus, nding the 1AFA complement of an 1AFA is quite simple, while nding the 1AB complement of an 1AB involves a quadratic construction [13] 3. e also consider weak alternating automata. A weak alternating automaton (1A) is a 1AB where the set of states Q is partitioned into disjoint sets, Q i, such that for each set Q i, either Q i F, in which case Q i is an accepting set, or Q i \ F = ;, in which case Q i is a rejecting set. In addition there exists a partial order on the collection of the Q i 's such that for every q 2 Q i and q 0 2 Q j for which q 0 occurs in (q; a), for some a 2, we have Q j Q i. Thus, transitions from a state in Q i lead to states in either the same Q i or a lower one. It follows that every innite path of a run of a 1A ultimately gets \trapped" within some set Q i. The path then satises the acceptance condition F if and only if Q i is an accepting set. Thus, we can view 1A with acceptance condition F as both a 1AB with acceptance condition F, and a 1AC with acceptance condition Q n F. 3 Kupferman and Vardi also prove that this construction can not be improved to linear [13]. 7
8 3 Automata on Finite ords e start by transforming 2NFA to 1AFA. e analyze the possible form of an accepting run of a 2NFA and using a 1AFA check when such a run exists over a word. The construction consists of two stages, in the rst stage we restrict the automaton so that it can move either forward or backward (and not stay in the same place). In the second stage we convert this `always moving' automaton into an alternating automaton. Theorem 2 For every 2NFA N = h; S; s 0 ; ; F i with n states, there exist 1AFA A and A 0 with O(n 2 ) states such that L(A) = L(N) and L(A 0 ) = n L(N). Note that if we further convert the 1AFAs into 1NFAs we get automata with 2 O(n2 ) states. The constructions of Vardi and Birget [26,1] produce smaller automata. 3.1 Removing -moves An -move in a run of a 2NFA is when two adjacent pairs have the same head position. Formally, in the run (s 0 ; 0); (s 1 ; i 1 ); :::; (s m ; i m ), step j > 0 is an -move if i j = i j 1. Our rst conversion is from N = h; S; s 0 ; ; F i with : S! 2 Sf 1;0;1g to an equivalent N 0 = h; S; s 0 ; 0 ; F i with 0 : S 0! 2 Sf 1;1g such that L(N) = L(N 0 ). There are no -moves in the runs of N 0. e start by dening for each state s and alphabet letter a, the set C s a of all states reachable from s by a sequence of -moves reading letter a and one last forward/backward move. 9 9(t 0 ; :::; t k ) 2 S >< + such that >= C s a = (t; ) 2 S f 1; 1g t 0 = s; 1 j k; (t j ; 0) 2 (t j 1 ; a); >: and (t; ) 2 (t k ; a) >; Dene 0 (s; a) = C s a. Claim 3 L(N) = L(N 0 )
9 Proof. Suppose N accepts w. Let r = (s 0 ; 0); :::; (s m ; i m ) be an accepting run of N on w. e turn r into a run r 0 of N 0 on w by pruning -moves: if i j = i j 1 simply remove (s j ; i j ) from the run. It is easy to see that r 0 is an accepting run of N 0 on w. Suppose N 0 accepts w. Let r 0 = (s 0 ; 0); :::; (s m ; i m ) be an accepting run of N 0 on w. e append the -moves from the appropriate sets C s a to complete a run of N on w Two-way runs From this point on we consider only 2NFAs with no -moves. Given a 2NFA N = h; S; s 0 ; ; F i, let A = h; Q; s 0 ; ; F i denote its equivalent 1AFA. Note that A uses the same acceptance set and initial state as N. Recall that a run of N is a sequence r = (s 0 ; 0); (s 1 ; i 1 ); (s 2 ; i 2 ); :::; (s m ; i m ) of pairs of states and locations, where s j is the state and i j is the location of the automaton in the word w. e refer to each state as a forward or backward state according to its predecessor in the run. If it resulted from a backward movement it is a backward state and if from a forward movement it is a forward state. Formally, (s j ; i j ) is a forward state if i j = i j and backward state if i j = i j 1 1. The rst state (s 0 ; 0) is dened to be a forward state. Given the 2NFA N our goal is to construct the 1AFA A recognizing the same language. In Figure 1a we see that a run of N takes the form of a tree of `zigzags'. Our one-way automaton reads words moving forward and accepts if such a tree exists. In Figure 1a we see that there are two transitions using a 1. The rst (s 2 ; 1) 2 (s 1 ; a 1 ) and the second (s 4 ; 1) 2 (s 3 ; a 1 ). In the one-way sweep we would like to make sure that s 3 indeed resulted from s 2 and that the run continuing from s 3 to s 4 and further is accepting. Hence when in state s 1 reading letter a 1 we guess that there is a part of the run coming from the future and spawn two processes. The rst checks that s 1 indeed results in s 3 and the second ensures that the part s 3 ; s 4 ; ::: of the run is accepting. Hence the state set of the alternating automaton is Q = S[(SS). A singleton state s 2 Q represents a part of the run that is only looking forward (s 4 in Figure 1a). In fact, we use singleton states to represent only the last forward state in the run of A that visits a letter. A pair state (s 1 ; s 3 ) 2 Q represents a part of the run that consists of a forward moving state and a backward moving state (s 1 and s 3 in Figure 1a). Such a pair ensures that there is a run segment linking the forward state to the backward state. e introduce one modication, since s 3 is a backward state (i.e. (s 3 ; 1) 2 (s 2 ; a 2 )) it makes sense to associate it with a 2 and not with a 1. As the alternating automaton reads a 1 (when in state s 1 ), it guesses that s 3 comes from the future and 9
10 s 0 s 1 s 2 s 3 s 4 t s 1 t 0 t 1 s 5 s 2 t 2 a 0 a 1 a 2 a 3 s 3 t 3 a 0 a 1 a 2 a 3 a 4 a 5 Fig. 1. (a) A zigzag run (b) The transition at the singleton state t changes direction. The alternating automaton then spawns two processes: the rst, s 4 and the second, (s 2 ; s 3 ); and both read a 2. Then it is easier to check that (s 3 ; 1) 2 (s 2 ; a 2 ). 3.3 The Construction The transition at a singleton state e dene the transitions of A in two stages. First we dene transitions from a singleton state. hen in a singleton state t 2 Q reading letter a j (See Figure 1b) the alternating automaton guesses that there are going to be k more visits to letter a j in the rest of the run (as the run is simple, k is bounded by the number of states of the 2NFA N). e refer to the states reading letter a j according to the order they appear in the run as s 1 ; :::; s k. e assume that all states that read letters prior to a j have already been taken care of, hence s 1 ; :::; s k themselves are backward states (i.e. (s i ; 1) 2 (p i ; a j+1 ) for some p i ). They read the letter a j and move forward (there exists some t i such that (t i ; 1) 2 (s i ; a j )). Denote the successors of s 1 ; :::; s k by t 1 ; :::; t k. The alternating automaton veries that there is a run segment connecting the successor of t (denoted t 0 ) to s 1 (by induction, all states reading letters before a j have been taken care of, this run segment should not go back to letters before a j ). Similarly the alternating automaton veries that a run segment connects t 1 to s 2, etc. In general the alternating automaton checks that there is a part of the run connecting t i to s i+1. Finally, from t k the run has to read the rest of the word and reach location jwj in an accepting state. Given a state t and an alphabet letter a, consider the set R t a of all possible sequences of states of length at most 2n 1 where no two states in an even place (forward states) are equal and no two states in an odd place (backward states) are equal. e further demand that the rst state in the sequence be 10
11 a successor of t ((t 0 ; 1) 2 (t; a)) and similarly that t i be a successor of s i ((t i ; 1) 2 (s i ; a)). Formally 0 k < n >< (t R t a = ht 0 ; s 1 ; t 1 ; :::; s k ; t k i 0 ; 1) 2 (t; a) i < j; s i 6= s j and t i 6= t j >: i; (t i ; 1) 2 (s i ; a) 9 >= >; The transition of A chooses one of these sequences and ensures that all promises are kept, i.e. there exists a run segment connecting t i 1 to s i. (t; a) = _ ht 0 ;s 1 ;:::;s k ;t k i2r t a (t 0 ; s 1 ) ^ (t 1 ; s 2 ) ^ ::: ^ (t k 1 ; s k ) ^ t k The transition at a pair state hen the alternating automaton is in a pair state (t; s) reading letter a j it tries to nd a run segment connecting t to s using only the sux a j :::a jwj 1. e view t as a forward state reading a j and s as a backward state reading a j 1 (Again (s; 1) 2 (p; a j )). As shown in Figure 2a, the run segment connecting t to s may visit letter a j but should not visit a j 1. Figure 2b provides a detailed example. The automaton in state (t; s) guesses that the run segment linking t to s visits a 2 twice and that the states reading letter a 2 are s 1 and s 2. The automaton further guesses that the predecessor of s is s 3 ((s; 1) 2 (s 3 ; a 2 )) and that the successors of t; s 1 and s 2 are t 0 ; t 1 and t 2 respectively. The alternating automaton spawns three processes: (t 0 ; s 1 ); (t 1 ; s 2 ) and (t 2 ; s 3 ) all reading letter a 3. Each of these pair states has to nd a run segment connecting the two states. e now dene the transition from a state in S S. Given a state (t; s) and an alphabet letter a, we dene the set R a (t;s) of all possible sequences of states of length at most 2n where no two states in an even position (forward states) are equal and no two states in an odd position (backward states) are equal. e further demand that the rst state in the sequence be a successor of t ((t 0 ; 1) 2 (t; a)), that the last state in the sequence be a predecessor of s ((s; 1) 2 (s k+1 ; a)) and similarly that t i be a successor of s i ((t i ; 1) 2 (s i ; a)). 11
12 t a 0 s a 1 a 2 a 3 t s 1 t 0 t 1 t s 2 t 2 s s 3 s a 0 a 1 a 2 a 3 a 0 a 1 a 2 a 3 Fig. 2. (a) Dierent connecting segments (b) The transition at the pair state (t; s) R (t;s) a = 0 k < n >< (t 0 ; 1) 2 (t; a) ht 0 ; s 1 ; t 1 ; :::; s k ; t k ; s k+1 i (s; 1) 2 (s k+1 ; a) i < j; s i 6= s j and t i 6= t j >: i; (t i ; 1) 2 (s i ; a) 9 >= >; The transition of A chooses one sequence and ensures that all pairs meet: true If (s; 1) 2 (t; a) >< ((t; s); a) = >: (t 0 ; s 1 ) ^ (t 1 ; s 2 ) ^ ::: ^ (t k ; s k+1 ) Otherwise ht 0 ;s 1 ;:::;t k ;s k+1 i2r (t;s) a 3.4 Proof of correctness To conclude, the complete description of A is h; Q; s 0 ; ; F i where the initial state and the set of accepting states is equal to that of N and is as dened. All the pair-labeled paths in a run of A have to terminate \before falling of 12
13 the edge of the tape" and the singleton-labeled path must \fall o" with an accepting state. Claim 4 L(A) = L(N) Proof. Given an accepting simple run of N on a word w of the form (s 0 ; 0), (s 1 ; i 1 ), : : : ; (s m ; i m ), we annotate each pair by the place it took in the run of N. Thus the run takes the form (s 0 ; 0; 0), (s 1 ; i 1 ; 1), : : : ; (s m ; i m ; m). e build a run tree (T; r 0 ) of A by induction. In addition to the labeling r 0 : T! S [ (S S), we attach a single tag to a singleton state and a pair of tags to a pair state. The tags are triplets from the annotated run of N. For example the root of the run tree of A is labeled by s 0 and tagged by (s 0 ; 0; 0). The labeling and the tagging conform to the following: A node x labeled by state s is tagged by (s; i; j) with i = jxj. e build the tree so that all triplets in the run of N whose third element is larger than j have their second element at least i. A node x labeled by state (t; s) is tagged by (t; i 1 ; j 1 ) and (s; i 2 ; j 2 ) with i 1 = jxj, i 2 = jxj 1, and j 1 < j 2. e build the tree so that all triplets in the run of N whose third element is between j 1 and j 2 have their second element be at least i 1. e start with the root labeling it by s 0 and tagging it by (s 0 ; 0; 0). Obviously this conforms to our demands. Given a node x labeled by t, tagged by (t; i; j), and adhering to our demands (see state t in Figure 1b). If (t; i; j) has no successor in the run of N, it must be the case that i = jwj and that t 2 F. Otherwise we denote the triplets in the run of N whose third element is larger than j and whose second element is i by (s 1 ; i; j 1 ); :::; (s k ; i; j k ). By assumption there is no point in the run of N beyond j visiting a letter before i. Since the run is simple, k < n. Denote by (t 0 ; i + 1; j + 1) the successor of (t; i; j) and by (t 1 ; i + 1; j 1 + 1); :::; (t k ; i + 1; j k + 1) the successors of s 1 ; :::; s k. e add k + 1 successors to x, label them (t 0 ; s 1 ); (t 1 ; s 2 ); :::; (t k 1 ; s k ); t k, to a successor of x labeled by (t l 1 ; s l ) we add the tags (t l 1 ; i + 1; j l 1 + 1) and (s l ; i; j l ), and to the successor of x labeled by t k we add the tag (t k ; i + 1; j k + 1). e now show that the new nodes added to the tree conform to our demands. By assumption there are no visits beyond the j th step in the run of N to letters before a i and s 1 ; :::; s k are all the visits to a i after the j th step of N. Let y be the successor of x labeled t k (tagged (t k ; i + 1; j k + 1)). Since jxj = i, we conclude jyj = i + 1. All the triplets in the run of N appearing after (t k ; i + 1; j k + 1) do not visit letters before a i+1 (e collected all visits to a i ). 13
14 Let y be a successor of x labeled by (t l ; s l+1 ) (tagged (t l ; i + 1; j l + 1) and (s l+1 ; i; j l+1 )). e know that i = jxj hence i + 1 = jyj; j l + 1 < j l+1 and between the j l + 1 element in the run of N and the j l+1 element letters before a i+1 are not visited. e turn to continuing the tree below a node labeled by a pair state. Given a node x labeled by (t; s) tagged (t; i; j) and (s; i 1; k). By assumption there are no visits to a i 1 in the run of N between the j th triplet and k th triplet. If k = j + 1 then we are done and we leave this node as a leaf. Otherwise we denote the triplets in the run of N whose third element is between j and k and whose second element is i by (s 1 ; i; j 1 ); :::; (s m ; i; j m ) (see Figure 2b). Denote by (t 1 ; i + 1; j 1 + 1); :::; (t m ; i + 1; j m + 1) their successors, by (t 0 ; i + 1; j + 1) the successor of t and by (s m+1 ; i; k 1) the predecessor of s. e add m + 1 successors to x and label them (t 0 ; s 1 ); (t 1 ; s 2 ); :::; (t m ; s m+1 ). To a successor of x labeled by (t l 1 ; s l ) we add the tags (t l 1 ; i + 1; j l 1 + 1) and (s l ; i; j l ). As in the previous case when we combine the assumption with the way we chose t 0 ; :::t m and s 1 ; :::; s m+1, we conclude that the new nodes conform to the demands. Clearly, all pair-labeled paths terminate with true before reading the whole word w and the path labeled by singleton states reaches the end of w with an accepting state. In the other direction we stretch the tree run of A into a linear run of N. Let (T; r 0 ) be an accepting run of A on a word w. e assume ordering on the successors of each node according to the appearance of their labels in the transition of A. The recursive algorithm in Figure 3 constructs an accepting run of N. hen rst reaching a node x labeled by pair state (t; s), we add t to the run of N. Then we handle recursively the children of x. hen we return to x we add s to the run of N. hen reaching a node x labeled by a singleton state s we simply add s to the run of N and handle the sons of x recursively. build run (x; r 0 (x) = s; i) build run (x; r 0 (x) = (t; s); i) r := r hs; ii; r := r ht; ii; for all sons x a of x for all sons x a of x build run (x a; r 0 (x a); i + 1) build run (x a; r 0 (x a); i + 1) End (for loop) End (for loop) r := r hs; i 1i; Fig. 3. Converting a run of A into a run of N Starting from the root labeled (s 0 ; 0), we add to the run of N the element (s 0 ; 0). e now handle the successors of the root according to their order. 14
15 Going up to the rst successor c labeled (t; s) we add (t; 1) to the run of N. Obviously from the denition of R s 0 a 0 we know that (t; 1) 2 (s 0 ; a 0 ). e handle the successors of c in recursion. hen we return to c we add (s; 0) to the run of N (to be justied later). e return now to and handle the next successor d. The node d is either labeled by (p; q) or by p. In both cases the denition of R s 0 a 0 ensures that (p; 1) 2 (s; a 0 ). hen we return to after scanning the whole tree the run of N is complete. Getting to a node x labeled (t; s) we add (t; jxj) to the run of x. Adding (t; jxj) itself and passing to the successors of x and between them was justied when handling the root. hen the recursion nished handling the last successor of x we add (s; jxj 1) to the run of N. Suppose the last successor of x was labeled (p; q) then from the denition of R a (t;s) jxj we know that (s; 1) 2 (q; a jxj ) hence this transition is justied. Getting to a node x labeled s is not dierent from handling the root. Instead of using the locations 0 and 1 in the run, we use locations jxj and jxj + 1. e have to show that the run is valid and accepting. Satisfying the transition was shown. In the tree run of A there is a single path labeled solely by singleton states. The last element in the run of N is the same state and reading the same letter as the last in this path. Since the path is accepting the last state there has to be from F and reading letter jwj (which does not exists, w = a 0 :::a jwj 1 ). All other states in the run of N read letters in the range f0; :::; jwj 1g. Otherwise there is some node x in the run of A such that jxj jwj (other than the previously designated node). This is impossible since the run of A is accepting. 2 As mentioned in Section 2 complementing an 1AFA is simple. The complement of A is e A = h; Q; s 0 ; e; Q n F i. As L(A) = L(N), L( e A) = n L(N). 4 Automata on innite words e may try to run the 1AFA from Section 3 on innite words. e demand that pair-labeled paths be nite and that the innite singleton-labeled path visit F innitely often. Although an accepting run of N visited F innitely often we cannot ensure innitely many visits to F on the innite path. The visits may be reected in the run of A in the pair-labeled paths. Another problem is when the run ends in a loop. Theorem 5 For every 2NB N = h; S; s 0 ; ; F i with n states, there exist 1ABs A and A 0 with O(n 2 ) states such that L(A) = L(N) and L(A 0 ) = 15
16 ! n L(N). 4.1 Removing -moves Like in the nite case we rst reduce the problem to automata without - moves. Given an automaton N = h; S; s 0 ; ; F i where : S! 2 Sf 1;0;1g we would like to remove all the -moves. There are two potential problems, visits to F in an -move and a loop of -moves that visits F. e double the number of states and add an accepting sink state N 0 = h; (S f?; >g) [ faccg; (s 0 ;?); 0 ; (F f?g)[(sf>g)[faccgi. A sequence like : : : ; ((s;?); i); ((s 0 ; >); i+ 1); : : : in the run means that in the run of N between the appearance of (s; i) and (s 0 ; i + 1) there was an -move that visited F. Similarly? means that -moves (if occured) have not visited F (in [31,9] similar problems are solved in a similar way). Given a state s and an alphabet letter a, we dene NC s a the set of all states reachable from state s by a sequence of -moves reading letter a and one last forward/backward step. All states avoid the acceptance set F. 9(t 0 ; :::; t k ) 2 S + s.t. t 0 = s; >< (t NC s a = ((t;?); ) 2 ((S f?g) f 1; 1g) j ; 0) 2 (t j 1 ; a); 1 j k; t j =2 F; >: and (t; ) 2 (t k ; a) 9 >= >; In addition we dene ACa s the set of all states reachable from state s by a sequence of -moves reading letter a and one last forward/backward step. One of the states in the sequence is an accepting state. 9 9(t 0 ; :::; t k ) 2 S + s.t. t 0 = s; >< 9j > 0 s.t. t AC s a = ((t; >); ) 2 ((S f>g) f 1; 1g) j 2 F; >= 1 j k; (t j ; 0) 2 (t j 1 ; a) >: and (t; ) 2 (t k ; a) >; e also have to take care of situations where there is a loop of -moves that visits F. The boolean variable ACCEP T s a is set to 1 if such a sequence exists and to 0 otherwise. Formally, the variable ACCEP T s a is set to 1 i there exists a sequence (t 0 ; :::; t k ) 2 S + that satises all the following conditions. t 0 = s. There exist j and l such that 0 j l k, (t j ; 0) 2 (t k ; a) and t l 2 F. 16
17 For all j where 1 j k, we have (s j ; 0) 2 (s j 1 ; a) e use the two -closures and the variable dened above in the denition of the transition function of the 1NFA N 0. >< 0 ((s;?); a) = 0 f(acc; 1)g ACCEP Ta s = 1 ((s; >); a) = >: NCa s [ ACa s ACCEP T a s = 0 0 (Acc; a) = f(acc; 1)g Apparently, N 0 is -move free. Claim 6 L(N')=L(N) Proof. Suppose N accepts w. There exists an accepting run r of N on w. If a nite sequence of -moves appears in r we simply prune it. If that sequence contained a visit to F add > to the forward/backward move at the end of the sequence. If r ends in an innite sequence of -moves, this sequence has a nite prex (s i ; l); (s i+1 ; l); :::; (s i+p ; l) such that s i = s i+p and, as r is accepting, there is a visit to F in this prex. e take the prex of the run (s 0 ; 0); :::; (s i ; l) and add to it the innite sux (Acc; l + 1); (Acc; l + 2); :::. Finally, we add labels? to all unlabeled states. It is easy to see that the resulting run is a valid run of N 0. It is also an accepting run. If the run ends in a sux Acc! then it is clearly accepting. Otherwise, removing sequences of -moves replaces a nite number of visits to F by a state labeled by >. As the original run visited F innitely often, so does the run of N 0. Suppose N 0 accepts w. e append -moves as promised from the denition of NC and AC. If the run ends with an innite sequence of Acc we can add a loop visiting F. Innitely many occurrences of > ensure innitely many visits to F The Construction e have to record hidden visits to F. This is done by doubling the set of states. hile in the nite case the state set is S [ (S S), this time we also annotate the states by? and >. Hence Q = (S [ (S S)) f?; >g. A pair state labeled by > is a promise to visit the acceptance set. The state (s; t; >) means that in the run segment linking s to t there has to appear a state from F. A state (s; >) is displaying a visit to F in the zigzags connecting s to the previous singleton state. The initial state is q 0 = (s 0 ;?). 17
18 ith the same notation we solve the problem of a loop. e allow a transition from a singleton state to a sequence of pair states. One of the pairs promises a visit to F. The acceptance set is F 0 = (S f>g) [ (F f?g) and the transition function is dened as follows The transition at a singleton state Just like in the nite case we consider all possible sequences of states of length at most 2n 1 with same demands. 9 0 k < n >< (t R t a = ht 0 ; s 1 ; t 1 ; :::; s k ; t k i 0 ; 1) 2 (t; a) >= i < j; s i 6= s j and t i 6= t j >: i; (t i ; 1) 2 (s i ; a) >; Recall that a sequence (t 0 ; s 1 ); (t 1 ; s 2 ); :::; (t k 1 ; s k ); t k checks that there is a zigzag run segment linking t 0 to t k. e mentioned that t k is annotated with > in case this run segment has a visit to F. If t k is annotated with >, at least one of the pairs has to be annotated with >. Although more than one pair may visit F we annotate all other pairs by?. Hence for k 2 N we consider the sequences of? and > of length k + 1 in which if the last is > so is another one. Otherwise all are?. 9 >< R k = >: h 0; :::; k i 2 f?; >g k+1 If k = > then 9!i s.t. 0 i < k and i = > >= If k =? then 0 i < k; i =? >; This is, however, not enough. e have to consider also the case of a loop. The automaton has to guess that the run terminates with a loop when it reads the rst letter of w that is read inside the loop. The only states reading this letter inside the loop are backward states. e consider pairs of sequences of at most 2n states, where the last state in the two sequences is equal. This repetition closes the loop. In both sequences no two states in an even/odd position are equal. For example, in Figure 4, we see that in state t reading letter a 1, the alternating automaton guesses the sequence (t 0 ; s 1 ); (t 1 ; s 2 ) and the sequence (t 2 ; s 3 ); (t 3 ; s 2 ). The last state in both sequences is s 2. More formally, we demand that the rst state in the rst sequence be a successor of t ((t 1 0 ; 1) 2 (t; a)), that the rst state in the second sequence be a successor of the last state in the rst sequence ((t 2; 1) 2 0 (s1 ; a)), that k+1 tp i be a successor of s p i for p 2 f1; 2g ((t p i ; 1) 2 (s p i ; a)) and that the last state in the 1
19 t t 0 s 1 t 1 s 2 t 2 s 3 t 3 s 2 a 0 a 1 a 2 a 3 Fig. 4. A loop rst sequence be equal to the last state in the second sequence (s 1 k+1 = s 2 l+1). 9 0 k < n; 0 l < n (t 1 ; 1) 2 (t; a); 0 (t2; 1) 2 0 (s1 ; a) k+1 * >< ht 1 L t 0 a = ; s1; 1 t1; :::; 1 s1 k ; t1 k ; + s1 k+1i; i < j; s 1 i 6= s 1 j and t 1 i 6= t 1 >= j ht 2; 0 s2; 1 t2; :::; 1 s2 l ; t2 l ; s2 l+1i i < j; s 2 i 6= s 2 j and t 2 i 6= t 2 j i; p; (t p i ; 1) 2 (sp i ; a) >: s 1 k+1 = s >; 2 l+1 It is obvious that a visit to F has to occur within the loop. Hence we have to make sure that the run segment connecting one of the pairs in the second sequence visits F. Hence we annotate one of the pairs (t 2 0 ; s2 1); :::; (t 2 l ; s2 l+1) with >. One visit to F is enough hence all other pairs are annotated by?. L l = fh 0 ; :::; l i 2 f?; >g l+1 j 9!i s.t. i = >g The transition of A chooses a sequence in R t a [ L t a and a sequence of? and >. 19
20 ((t;?); a) = ((t; >); a) = _ (t 0 ; s 1 ; 0 ) ^ ::: ^ (t k 1 ; s k ; k 1 ) ^ (t k ; k ) R t a ;R k L t a ;L l 0 1 (t1; 0 s1;?) ^ ::: ^ 1 (t1 k ; s1 ;?)^ k+1 C A (t 2 ; 0 s2; 1 0) ^ ::: ^ (t 2 l ; s2 ; l+1 l) The transition at a pair state In this case the only dierence is the addition of? and >. The set R a (t;s) equal to the nite case. R (t;s) a = 9 0 k < n >< (t 0 ; 1) 2 (t; a) >= ht 0 ; s 1 ; t 1 ; :::; s k ; t k ; s k+1 i (s; 1) 2 (s k+1 ; a) i < j; s i 6= s j and t i 6= t j >: i; (t i ; 1) 2 (s i ; a) >; is In the transition of `top' states we have to make sure that a visit to F indeed occurs. If the visit occured in this stage the promise (>) can be removed (?). Otherwise the promise must be passed to one of the successors. 9 >< R s;t;k = >: h 0; :::; k i 2 f?; >g k+1 If s =2 F and t =2 F then 9!i s.t. i = > >= Otherwise 0 i k; i =? >; The transition of A chooses a sequence of states and a sequence of? and >. >< true If (s; 1) 2 (t; a) ((t; s;?); a) = >: (t 0 ; s 1 ;?) ^ ::: ^ (t k ; s k+1 ;?) Otherwise R (t;s) a true If (s; 1) 2 (t; a) and >< ((t; s; >); a) = (s 2 F or t 2 F ) (t >: 0 ; s 1 ; 0 ) ^ ::: ^ (t k ; s k+1 ; k ) Otherwise R (t;s) a ; R s;t;k 20
21 4.3 Proof of correctness The proof is just an elaboration on the proof of the nite case. In both directions we use similar constructions. e only have to give special attention to visits to the accepting set. As the proofs are almost identical we just highlight the points of dierence. Claim 7 L(N)=L(A) Proof. Given an accepting simple run of N on a word w of the form (s 0 ; 0); (s 1 ; i 1 ); ::: we annotate each pair by the place it took in the run of N. Thus, the run takes the form (s 0 ; 0; 0); (s 1 ; i 1 ; 1); :::. If the run does not end in a loop the construction in the nite case works. e have to add the symbols? and >. hen dealing with a node x in the run tree of A labeled by (s; ) tagged by (s; i; j). In the proof of the nite case we identied the triplets (s 1 ; i; j 1 ); :::; (s k ; i; j k ) and (t 0 ; i + 1; j + 1); :::; (t k ; i + 1; j k + 1) and labeled the successors of x with (t 0 ; s 1 ); :::; (t k 1 ; s k ); t k. If there is no visit to F between j + 1 and j k + 1 we add to these states?. Otherwise the visit was between j l +1 and j l+1 for some l (consider j = j 0 ), in this case we add > both to t k and to the pair (t l ; s l+1 ), to all other pairs we add?. hen dealing with a node x in the run tree of A labeled by (t; s; ) tagged (t; i; j) and (s; i 1; k). e identied the set of pairs (t 0 ; s 1 ); :::; (t k ; s k+1 ). In case =? we continue just like in the nite case. In case = > we put it there because there was a visit to F between j and k. This visit to F has to occur between t l and s l+1 for some l and we pass the obligation to this pair. At some point we reach a visit to F and then the promise is removed. e have now an innite run tree of A. All pair-labeled paths are still nite and there is one innite path labeled by singleton states. Since every occurrence of > on this path covers a nite number of visits to F we are ensured that > appears innitely often along this path. If the run ends in a loop we have to identify the rst letter of w read in this loop. Suppose this letter is i. e build the run tree of A as before until reaching the node x in level i labeled by a singleton state (s; ) tagged by (s; i; j 0 ). As letter i is visited in the loop there are innitely many visits to it. Denote these visits by (s 0 ; i; j 0 ); (s 1 ; i; j 1 ); (s 2 ; i; j 2 ); :::, all backward states. Let s 0 be the rst state in the sequence above that appears innitely often. Denote by (s 1 0 ; i; j1 0); : : : ; (s 1 m ; i; j1 m) the prex of the sequence until the rst occurrence of s 0. As the run is simple, there is no other state repeating twice in this prex. Similarly denote by (s 2 0 ; i; j2 0); : : : (s 2 p ; i; j2 p) the sequence of states 21
22 from the rst occurrence of s 0 (excluding the occurrence) to the second occurrence of s 0. Again, as the run is simple there has to be a visit to F between locations j 1 0 and jp 2 in the run of N and p n. Now denote t 1; : : : 0 t1 m 1 the successors of s 1; : : : ; 0 s1 m 1, t 2 0 the successor of s 1 m, and t 2; : : : ; 1 t2 p 1 the successors of s 2 ; : : : 1 s2 p 1. e add m+p successors to x and label them (t 1 ; 0 s1 1); : : : (t 1 ; m 1 s1 m) and (t 2; 0 s2 1); : : : ; (t 2 ; p 1 s2 p). Obviously, all the conditions required in L s w i are fullled by this pair of sequences. There exists some jh 2 for which there is a visit to F between locations jh 2 and j 2 h+1 in the run of N. e annotate the pair (t 2 h ; s2 h+1) by > and all other pairs by?. e tag a pair (t d ; s d+1) by (t d ; i; j d + 1) and (s d ; i; j d+1). In the other direction we apply the same recursive algorithm. If the accepting run tree of A is innite then we never return to but the run created is an accepting run of N. If the accepting run tree of A is nite we have to identify the point in the tree x labeled by a singleton state (s; ) under which there are no successors labeled by singleton states. In this point we identify the loop. There are two pair states below x labeled by (t 1 ; s;?) and (t 2 ; s; ). e start handling the successors of x until we nish handling the successor labeled (t 1 ; s;?). Then, we put aside the run of N built so far and call it r. Now we build a new run r 0 starting from the point we stopped. Since the run of A is nite the recursion ends and the run r 0 is nite. As a nal step we present r (r 0 )! as the new run of N. 2 Both in the nite and the innite case we separated the construction into two stages. Namely removing the zero steps and then transforming automata that take no -moves. In the nite case the rst stage did not increase the number of states. In the innite case the rst stage doubled the number of states and then squaring we get approximately n n states. e could actually unite the two stages of the construction into one stage. Such a construction includes the -moves in the denition of the sets R a and L a. e believe our construction is easier to understand, while improving our construction to include the modication is not so dicult. Transforming the 2NB into a 1AB in one stage results in an automaton with approximately 2n 2 + 2n states. Remark In both the nite and the innite cases, we get a 1-way alternating automaton with O(n 2 ) states and transitions of exponential size. Birget's construction also results in exponential-sized transitions [1]. Globerman and Harel use -moves in order to reduce the transition to polynomial size []. Their construction uses the reverse language and can not be applied to innite words. In Appendices B and C, we use -moves to change our construction so that it uses only polynomial-sized transitions. e note that the transition size does not aect the conversion from 1AB to 1NB. In the case of unary 22
23 alphabet, our construction, with -moves, gives a polynomial time algorithm for checking the emptiness of 2NB. For 2NFA a log space algorithm exists [27]. 4.4 Complementing the alternating automaton Complementing an 1AB is not as easy as complementing an 1AFA. In the nite case dualizing the transition function and the acceptance set is enough. In the innite case we can dualize the transition but instead of Buchi acceptance we have to use co-buchi acceptance. That is, states from the acceptance set have to appear only nitely often along every innite path [1]. Kupferman and Vardi [13] showed how to complement alternating automata using weak alternating automata. Given a 2NB N with n states, we constructed a 1AB A with O(n 2 ) states. If we implement the quadratic construction from [13] on A we get A 0, a 1AB with O(n 4 ) states accepting the complementary language of N. e show how to construct an 1AB with O(n 2 ) states whose language is the complement of N's language. e recall the proof in [13] and show how to avoid the quadratic price in our case. The following observations about runs of 1AC are taken from [13] with minor adjustments. Denition 9 [13] A tree run (T; r) is memoryless if for all x 1 ; x 2 2 T such that jx 1 j = jx 2 j and r(x 1 ) = r(x 2 ), we have that for all y 2 N, x 1 y 2 T i x 2 y 2 T and r(x 1 y) = r(x 2 y). Theorem 10 [7] If a co-buchi automaton accepts a word w, then there exists a memoryless accepting run on w. e can restrict our attention to memoryless run trees. Hence, the run tree (T; r) can be represented in the form of a directed acyclic graph G = (V; E) where V Q N and E S 1 i=0(q fig) (Q fi + 1g): V = f(v (x); jxj) j x 2 T g E = f((v (x); jxj); (V (y); jyj)) j x; y 2 T and y successor of x in T g Given a (possibly nite) DAG G 0 G. e dene a vertex (s; i) as eventually safe in G 0 i only nitely many vertices in G 0 are reachable from (s; i). e dene a vertex (s; i) as currently safe in G 0 i all the vertices in G 0 reachable from (s; i) are not members of F N. Now dene the inductive sequence: G 0 = G 23
Weak Alternating Automata Are Not That Weak
Weak Alternating Automata Are Not That Weak Orna Kupferman Hebrew University Moshe Y. Vardi Rice University Abstract Automata on infinite words are used for specification and verification of nonterminating
More informationExtending temporal logic with!-automata Thesis for the M.Sc. Degree by Nir Piterman Under the Supervision of Prof. Amir Pnueli Department of Computer
Extending temporal logic with!-automata Thesis for the M.Sc. Degree by Nir Piterman Under the Supervision of Prof. Amir Pnueli Department of Computer Science The Weizmann Institute of Science Prof. Moshe
More informationWeak ω-automata. Shaked Flur
Weak ω-automata Shaked Flur Weak ω-automata Research Thesis Submitted in partial fulllment of the requirements for the degree of Master of Science in Computer Science Shaked Flur Submitted to the Senate
More informationWeak Alternating Automata and Tree Automata Emptiness. Moshe Y. Vardi y. Rice University. are used for specication and verication of nonterminating
Weak Alternating Automata and Tree Automata Emptiness Orna Kupferman UC Berkeley Moshe Y. Vardi y Rice University Abstract Automata on innite words and trees are used for specication and verication of
More informationmethod. In model checking [CES86, LP85, VW86], we check that a system meets a desired requirement by checking that a mathematical model of the system
From Linear Time to Branching Time Orna Kupferman y Hebrew University Moshe Y. Vardi z Rice University September 12, 2002 Abstract Model checking is a method for the verication of systems with respect
More informationAutomata, Logic and Games: Theory and Application
Automata, Logic and Games: Theory and Application 1. Büchi Automata and S1S Luke Ong University of Oxford TACL Summer School University of Salerno, 14-19 June 2015 Luke Ong Büchi Automata & S1S 14-19 June
More informationFrom Liveness to Promptness
From Liveness to Promptness Orna Kupferman Hebrew University Nir Piterman EPFL Moshe Y. Vardi Rice University Abstract Liveness temporal properties state that something good eventually happens, e.g., every
More informationWeak Alternating Automata and Tree Automata Emptiness
Weak Alternating Automata and Tree Automata Emptiness Orna Kupferman UC Berkeley Moshe Y. Vardi Rice University Abstract Automata on infinite words and trees are used for specification and verification
More informationof acceptance conditions (nite, looping and repeating) for the automata. It turns out,
Reasoning about Innite Computations Moshe Y. Vardi y IBM Almaden Research Center Pierre Wolper z Universite de Liege Abstract We investigate extensions of temporal logic by connectives dened by nite automata
More informationFROM NONDETERMINISTIC BÜCHI AND STREETT AUTOMATA TO DETERMINISTIC PARITY AUTOMATA
Logical Methods in Computer Science Vol. 3 (3:5) 2007, pp. 1 21 www.lmcs-online.org Submitted Nov. 9, 2006 Published Aug. 14, 2007 FROM NONDETERMINISTIC BÜCHI AND STREETT AUTOMATA TO DETERMINISTIC PARITY
More informationAutomata Theory and Model Checking
Automata Theory and Model Checking Orna Kupferman Abstract We study automata on infinite words and their applications in system specification and verification. We first introduce Büchi automata and survey
More informationUnifying Büchi Complementation Constructions
Unifying Büchi Complementation Constructions Seth Fogarty, Orna Kupferman 2, Moshe Y. Vardi, and Thomas Wilke 3 Department of Computer Science, Rice University 2 School of Computer Science and Engineering,
More informationA Note on the Reduction of Two-Way Automata to One-Way Automata
A Note on the Reduction of Two-Way Automata to One-Way Automata Moshe Y. Vardi IBM Almaden Research Center Abstract We describe a new elementary reduction of two-way automata to one-way automata. The reduction
More informationSETH FOGARTY AND MOSHE Y. VARDI
BÜCHI COMPLEMENTATION AND SIZE-CHANGE TERMINATION SETH FOGARTY AND MOSHE Y. VARDI Department of Computer Science, Rice University, Houston, TX e-mail address: sfogarty@gmail.com Department of Computer
More informationFinite-Delay Strategies In Infinite Games
Finite-Delay Strategies In Infinite Games von Wenyun Quan Matrikelnummer: 25389 Diplomarbeit im Studiengang Informatik Betreuer: Prof. Dr. Dr.h.c. Wolfgang Thomas Lehrstuhl für Informatik 7 Logik und Theorie
More informationPreface These notes were prepared on the occasion of giving a guest lecture in David Harel's class on Advanced Topics in Computability. David's reques
Two Lectures on Advanced Topics in Computability Oded Goldreich Department of Computer Science Weizmann Institute of Science Rehovot, Israel. oded@wisdom.weizmann.ac.il Spring 2002 Abstract This text consists
More informationThe efficiency of identifying timed automata and the power of clocks
The efficiency of identifying timed automata and the power of clocks Sicco Verwer a,b,1,, Mathijs de Weerdt b, Cees Witteveen b a Eindhoven University of Technology, Department of Mathematics and Computer
More informationComputability and Complexity
Computability and Complexity Decidability, Undecidability and Reducibility; Codes, Algorithms and Languages CAS 705 Ryszard Janicki Department of Computing and Software McMaster University Hamilton, Ontario,
More informationIntroduction to Theory of Computing
CSCI 2670, Fall 2012 Introduction to Theory of Computing Department of Computer Science University of Georgia Athens, GA 30602 Instructor: Liming Cai www.cs.uga.edu/ cai 0 Lecture Note 3 Context-Free Languages
More informationFrom Nondeterministic Büchi and Streett Automata to Deterministic Parity Automata
From Nondeterministic Büchi and Streett Automata to Deterministic Parity Automata Nir Piterman Ecole Polytechnique Fédéral de Lausanne (EPFL) Abstract Determinization and complementation are fundamental
More informationCS 154, Lecture 2: Finite Automata, Closure Properties Nondeterminism,
CS 54, Lecture 2: Finite Automata, Closure Properties Nondeterminism, Why so Many Models? Streaming Algorithms 0 42 Deterministic Finite Automata Anatomy of Deterministic Finite Automata transition: for
More informationTime-Space Trade-Os. For Undirected ST -Connectivity. on a JAG
Time-Space Trade-Os For Undirected ST -Connectivity on a JAG Abstract Undirected st-connectivity is an important problem in computing. There are algorithms for this problem that use O (n) time and ones
More informationPartially Ordered Two-way Büchi Automata
Partially Ordered Two-way Büchi Automata Manfred Kufleitner Alexander Lauser FMI, Universität Stuttgart, Germany {kufleitner, lauser}@fmi.uni-stuttgart.de June 14, 2010 Abstract We introduce partially
More informationautomaton model of self-assembling systems is presented. The model operates on one-dimensional strings that are assembled from a given multiset of sma
Self-Assembling Finite Automata Andreas Klein Institut fur Mathematik, Universitat Kassel Heinrich Plett Strae 40, D-34132 Kassel, Germany klein@mathematik.uni-kassel.de Martin Kutrib Institut fur Informatik,
More informationAutomata-based Verification - III
COMP30172: Advanced Algorithms Automata-based Verification - III Howard Barringer Room KB2.20: email: howard.barringer@manchester.ac.uk March 2009 Third Topic Infinite Word Automata Motivation Büchi Automata
More informationLecture 14 - P v.s. NP 1
CME 305: Discrete Mathematics and Algorithms Instructor: Professor Aaron Sidford (sidford@stanford.edu) February 27, 2018 Lecture 14 - P v.s. NP 1 In this lecture we start Unit 3 on NP-hardness and approximation
More informationLogic and Automata I. Wolfgang Thomas. EATCS School, Telc, July 2014
Logic and Automata I EATCS School, Telc, July 2014 The Plan We present automata theory as a tool to make logic effective. Four parts: 1. Some history 2. Automata on infinite words First step: MSO-logic
More informationFinite Automata. BİL405 - Automata Theory and Formal Languages 1
Finite Automata BİL405 - Automata Theory and Formal Languages 1 Deterministic Finite Automata (DFA) A Deterministic Finite Automata (DFA) is a quintuple A = (Q,,, q 0, F) 1. Q is a finite set of states
More informationDeterministic Finite Automata. Non deterministic finite automata. Non-Deterministic Finite Automata (NFA) Non-Deterministic Finite Automata (NFA)
Deterministic Finite Automata Non deterministic finite automata Automata we ve been dealing with have been deterministic For every state and every alphabet symbol there is exactly one move that the machine
More informationCS243, Logic and Computation Nondeterministic finite automata
CS243, Prof. Alvarez NONDETERMINISTIC FINITE AUTOMATA (NFA) Prof. Sergio A. Alvarez http://www.cs.bc.edu/ alvarez/ Maloney Hall, room 569 alvarez@cs.bc.edu Computer Science Department voice: (67) 552-4333
More informationChapter 5. Finite Automata
Chapter 5 Finite Automata 5.1 Finite State Automata Capable of recognizing numerous symbol patterns, the class of regular languages Suitable for pattern-recognition type applications, such as the lexical
More informationLanguages, regular languages, finite automata
Notes on Computer Theory Last updated: January, 2018 Languages, regular languages, finite automata Content largely taken from Richards [1] and Sipser [2] 1 Languages An alphabet is a finite set of characters,
More informationSTGs may contain redundant states, i.e. states whose. State minimization is the transformation of a given
Completely Specied Machines STGs may contain redundant states, i.e. states whose function can be accomplished by other states. State minimization is the transformation of a given machine into an equivalent
More informationAdvanced topic: Space complexity
Advanced topic: Space complexity CSCI 3130 Formal Languages and Automata Theory Siu On CHAN Chinese University of Hong Kong Fall 2016 1/28 Review: time complexity We have looked at how long it takes to
More informationOn the Succinctness of Nondeterminizm
On the Succinctness of Nondeterminizm Benjamin Aminof and Orna Kupferman Hebrew University, School of Engineering and Computer Science, Jerusalem 91904, Israel Email: {benj,orna}@cs.huji.ac.il Abstract.
More informationAutomata-based Verification - III
CS3172: Advanced Algorithms Automata-based Verification - III Howard Barringer Room KB2.20/22: email: howard.barringer@manchester.ac.uk March 2005 Third Topic Infinite Word Automata Motivation Büchi Automata
More informationLet us first give some intuitive idea about a state of a system and state transitions before describing finite automata.
Finite Automata Automata (singular: automation) are a particularly simple, but useful, model of computation. They were initially proposed as a simple model for the behavior of neurons. The concept of a
More informationFinite Automata. Mahesh Viswanathan
Finite Automata Mahesh Viswanathan In this lecture, we will consider different models of finite state machines and study their relative power. These notes assume that the reader is familiar with DFAs,
More informationAlternating nonzero automata
Alternating nonzero automata Application to the satisfiability of CTL [,, P >0, P =1 ] Hugo Gimbert, joint work with Paulin Fournier LaBRI, Université de Bordeaux ANR Stoch-MC 06/07/2017 Control and verification
More informationCS 208: Automata Theory and Logic
CS 28: Automata Theory and Logic b a a start A x(la(x) y(x < y) L b (y)) B b Department of Computer Science and Engineering, Indian Institute of Technology Bombay of 32 Nondeterminism Alternation 2 of
More informationNondeterminism. September 7, Nondeterminism
September 7, 204 Introduction is a useful concept that has a great impact on the theory of computation Introduction is a useful concept that has a great impact on the theory of computation So far in our
More informationUses of finite automata
Chapter 2 :Finite Automata 2.1 Finite Automata Automata are computational devices to solve language recognition problems. Language recognition problem is to determine whether a word belongs to a language.
More informationBüchi Automata and Their Determinization
Büchi Automata and Their Determinization Edinburgh, October 215 Plan of the Day 1. Büchi automata and their determinization 2. Infinite games 3. Rabin s Tree Theorem 4. Decidability of monadic theories
More informationFurther discussion of Turing machines
Further discussion of Turing machines In this lecture we will discuss various aspects of decidable and Turing-recognizable languages that were not mentioned in previous lectures. In particular, we will
More informationCSCE 551: Chin-Tser Huang. University of South Carolina
CSCE 551: Theory of Computation Chin-Tser Huang huangct@cse.sc.edu University of South Carolina Church-Turing Thesis The definition of the algorithm came in the 1936 papers of Alonzo Church h and Alan
More informationω-automata Automata that accept (or reject) words of infinite length. Languages of infinite words appear:
ω-automata ω-automata Automata that accept (or reject) words of infinite length. Languages of infinite words appear: in verification, as encodings of non-terminating executions of a program. in arithmetic,
More informationDiagram-based Formalisms for the Verication of. Reactive Systems. Anca Browne, Luca de Alfaro, Zohar Manna, Henny B. Sipma and Tomas E.
In CADE-1 Workshop on Visual Reasoning, New Brunswick, NJ, July 1996. Diagram-based Formalisms for the Verication of Reactive Systems Anca Browne, Luca de Alfaro, Zohar Manna, Henny B. Sipma and Tomas
More informationTWO-WAY FINITE AUTOMATA & PEBBLE AUTOMATA. Written by Liat Peterfreund
TWO-WAY FINITE AUTOMATA & PEBBLE AUTOMATA Written by Liat Peterfreund 1 TWO-WAY FINITE AUTOMATA A two way deterministic finite automata (2DFA) is a quintuple M Q,,, q0, F where: Q,, q, F are as before
More informationcse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska
cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska LECTURE 6 CHAPTER 2 FINITE AUTOMATA 2. Nondeterministic Finite Automata NFA 3. Finite Automata and Regular Expressions 4. Languages
More informationModel Checking of Safety Properties
Model Checking of Safety Properties Orna Kupferman Hebrew University Moshe Y. Vardi Rice University October 15, 2010 Abstract Of special interest in formal verification are safety properties, which assert
More informationTight Upper Bounds for Streett and Parity Complementation
Tight Upper Bounds for Streett and Parity Complementation Yang Cai MIT CSAIL The Stata Center, 32-G696 Cambridge, MA 02139 USA ycai@csail.mit.edu Ting Zhang Iowa State University 226 Atanasoff Hall Ames,
More informationFoundations of Informatics: a Bridging Course
Foundations of Informatics: a Bridging Course Week 3: Formal Languages and Semantics Thomas Noll Lehrstuhl für Informatik 2 RWTH Aachen University noll@cs.rwth-aachen.de http://www.b-it-center.de/wob/en/view/class211_id948.html
More informationAntichain Algorithms for Finite Automata
Antichain Algorithms for Finite Automata Laurent Doyen 1 and Jean-François Raskin 2 1 LSV, ENS Cachan & CNRS, France 2 U.L.B., Université Libre de Bruxelles, Belgium Abstract. We present a general theory
More informationVariable Automata over Infinite Alphabets
Variable Automata over Infinite Alphabets Orna Grumberg a, Orna Kupferman b, Sarai Sheinvald b a Department of Computer Science, The Technion, Haifa 32000, Israel b School of Computer Science and Engineering,
More information6.045: Automata, Computability, and Complexity (GITCS) Class 15 Nancy Lynch
6.045: Automata, Computability, and Complexity (GITCS) Class 15 Nancy Lynch Today: More Complexity Theory Polynomial-time reducibility, NP-completeness, and the Satisfiability (SAT) problem Topics: Introduction
More informationIntroduction to Languages and Computation
Introduction to Languages and Computation George Voutsadakis 1 1 Mathematics and Computer Science Lake Superior State University LSSU Math 400 George Voutsadakis (LSSU) Languages and Computation July 2014
More informationTheory of Computation
Theory of Computation Dr. Sarmad Abbasi Dr. Sarmad Abbasi () Theory of Computation 1 / 38 Lecture 21: Overview Big-Oh notation. Little-o notation. Time Complexity Classes Non-deterministic TMs The Class
More informationfor Propositional Temporal Logic with Since and Until Y. S. Ramakrishna, L. E. Moser, L. K. Dillon, P. M. Melliar-Smith, G. Kutty
An Automata-Theoretic Decision Procedure for Propositional Temporal Logic with Since and Until Y. S. Ramakrishna, L. E. Moser, L. K. Dillon, P. M. Melliar-Smith, G. Kutty Department of Electrical and Computer
More informationUsing DNA to Solve NP-Complete Problems. Richard J. Lipton y. Princeton University. Princeton, NJ 08540
Using DNA to Solve NP-Complete Problems Richard J. Lipton y Princeton University Princeton, NJ 08540 rjl@princeton.edu Abstract: We show how to use DNA experiments to solve the famous \SAT" problem of
More information6.045 Final Exam Solutions
6.045J/18.400J: Automata, Computability and Complexity Prof. Nancy Lynch, Nati Srebro 6.045 Final Exam Solutions May 18, 2004 Susan Hohenberger Name: Please write your name on each page. This exam is open
More informationComplexity Bounds for Muller Games 1
Complexity Bounds for Muller Games 1 Paul Hunter a, Anuj Dawar b a Oxford University Computing Laboratory, UK b University of Cambridge Computer Laboratory, UK Abstract We consider the complexity of infinite
More informationA fast algorithm to generate necklaces with xed content
Theoretical Computer Science 301 (003) 477 489 www.elsevier.com/locate/tcs Note A fast algorithm to generate necklaces with xed content Joe Sawada 1 Department of Computer Science, University of Toronto,
More informationNote Watson Crick D0L systems with regular triggers
Theoretical Computer Science 259 (2001) 689 698 www.elsevier.com/locate/tcs Note Watson Crick D0L systems with regular triggers Juha Honkala a; ;1, Arto Salomaa b a Department of Mathematics, University
More informationCOM364 Automata Theory Lecture Note 2 - Nondeterminism
COM364 Automata Theory Lecture Note 2 - Nondeterminism Kurtuluş Küllü March 2018 The FA we saw until now were deterministic FA (DFA) in the sense that for each state and input symbol there was exactly
More informationTemporal logics and explicit-state model checking. Pierre Wolper Université de Liège
Temporal logics and explicit-state model checking Pierre Wolper Université de Liège 1 Topics to be covered Introducing explicit-state model checking Finite automata on infinite words Temporal Logics and
More informationNon Determinism of Finite Automata
Non Determinism of Finite Automata Akshit Chauhan 1, Deepak Kumar 2, Deepak Chandel 3, 1,2,3 CSE Department DCE Gurgaon Abstract: The basic finite automata model has been extended over the years with different
More informationPushdown timed automata:a binary reachability characterization and safety verication
Theoretical Computer Science 302 (2003) 93 121 www.elsevier.com/locate/tcs Pushdown timed automata:a binary reachability characterization and safety verication Zhe Dang School of Electrical Engineering
More informationChapter 5 The Witness Reduction Technique
Outline Chapter 5 The Technique Luke Dalessandro Rahul Krishna December 6, 2006 Outline Part I: Background Material Part II: Chapter 5 Outline of Part I 1 Notes On Our NP Computation Model NP Machines
More informationComputation of Floating Mode Delay in Combinational Circuits: Theory and Algorithms. Kurt Keutzer. Synopsys. Abstract
Computation of Floating Mode Delay in Combinational Circuits: Theory and Algorithms Srinivas Devadas MIT Cambridge, MA Kurt Keutzer Synopsys Mountain View, CA Sharad Malik Princeton University Princeton,
More informationHow to Pop a Deep PDA Matters
How to Pop a Deep PDA Matters Peter Leupold Department of Mathematics, Faculty of Science Kyoto Sangyo University Kyoto 603-8555, Japan email:leupold@cc.kyoto-su.ac.jp Abstract Deep PDA are push-down automata
More informationAutomata-Theoretic Verification
Automata-Theoretic Verification Javier Esparza TU München Orna Kupferman The Hebrew University Moshe Y. Vardi Rice University 1 Introduction This chapter describes the automata-theoretic approach to the
More informationMa/CS 117c Handout # 5 P vs. NP
Ma/CS 117c Handout # 5 P vs. NP We consider the possible relationships among the classes P, NP, and co-np. First we consider properties of the class of NP-complete problems, as opposed to those which are
More informationAutomata-Theoretic LTL Model-Checking
Automata-Theoretic LTL Model-Checking Arie Gurfinkel arie@cmu.edu SEI/CMU Automata-Theoretic LTL Model-Checking p.1 LTL - Linear Time Logic (Pn 77) Determines Patterns on Infinite Traces Atomic Propositions
More informationAutomata Theory for Presburger Arithmetic Logic
Automata Theory for Presburger Arithmetic Logic References from Introduction to Automata Theory, Languages & Computation and Constraints in Computational Logic Theory & Application Presented by Masood
More informationPS2 - Comments. University of Virginia - cs3102: Theory of Computation Spring 2010
University of Virginia - cs3102: Theory of Computation Spring 2010 PS2 - Comments Average: 77.4 (full credit for each question is 100 points) Distribution (of 54 submissions): 90, 12; 80 89, 11; 70-79,
More informationChapter 3 Deterministic planning
Chapter 3 Deterministic planning In this chapter we describe a number of algorithms for solving the historically most important and most basic type of planning problem. Two rather strong simplifying assumptions
More informationShow that the following problems are NP-complete
Show that the following problems are NP-complete April 7, 2018 Below is a list of 30 exercises in which you are asked to prove that some problem is NP-complete. The goal is to better understand the theory
More informationFinal exam study sheet for CS3719 Turing machines and decidability.
Final exam study sheet for CS3719 Turing machines and decidability. A Turing machine is a finite automaton with an infinite memory (tape). Formally, a Turing machine is a 6-tuple M = (Q, Σ, Γ, δ, q 0,
More informationUnary Automatic Graphs: An Algorithmic Perspective 1
Unary Automatic Graphs: An Algorithmic Perspective 1 This paper studies infinite graphs produced from a natural unfolding operation applied to finite graphs. Graphs produced via such operations are of
More informationInfinite Games. Sumit Nain. 28 January Slides Credit: Barbara Jobstmann (CNRS/Verimag) Department of Computer Science Rice University
Infinite Games Sumit Nain Department of Computer Science Rice University 28 January 2013 Slides Credit: Barbara Jobstmann (CNRS/Verimag) Motivation Abstract games are of fundamental importance in mathematics
More informationComputability and Complexity
Computability and Complexity Non-determinism, Regular Expressions CAS 705 Ryszard Janicki Department of Computing and Software McMaster University Hamilton, Ontario, Canada janicki@mcmaster.ca Ryszard
More informationNormal and Sinkless Petri Nets. Hsu-Chun Yen. National Taiwan University. Taipei, Taiwan ROC. November 24, Abstract
Normal and Sinkless Petri Nets Rodney R. Howell Dept. of Computing and Information Sciences Kansas State University Manhattan, KS 66506 USA Hsu-Chun Yen Dept. of Electrical Engineering National Taiwan
More informationDecision, Computation and Language
Decision, Computation and Language Non-Deterministic Finite Automata (NFA) Dr. Muhammad S Khan (mskhan@liv.ac.uk) Ashton Building, Room G22 http://www.csc.liv.ac.uk/~khan/comp218 Finite State Automata
More informationSolving Partial-Information Stochastic Parity Games
Solving Partial-Information Stochastic Parity ames Sumit Nain and Moshe Y. Vardi Department of Computer Science, Rice University, Houston, Texas, 77005 Email: {nain,vardi}@cs.rice.edu Abstract We study
More informationChapter 1. Comparison-Sorting and Selecting in. Totally Monotone Matrices. totally monotone matrices can be found in [4], [5], [9],
Chapter 1 Comparison-Sorting and Selecting in Totally Monotone Matrices Noga Alon Yossi Azar y Abstract An mn matrix A is called totally monotone if for all i 1 < i 2 and j 1 < j 2, A[i 1; j 1] > A[i 1;
More information1 Preliminaries We recall basic denitions. A deterministic branching program P for computing a Boolean function h n : f0; 1g n! f0; 1g is a directed a
Some Separation Problems on Randomized OBDDs Marek Karpinski Rustam Mubarakzjanov y Abstract We investigate the relationships between complexity classes of Boolean functions that are computable by polynomial
More informationThe limitedness problem on distance automata: Hashiguchi s method revisited
Theoretical Computer Science 310 (2004) 147 158 www.elsevier.com/locate/tcs The limitedness problem on distance automata: Hashiguchi s method revisited Hing Leung, Viktor Podolskiy Department of Computer
More informationTheory of Computation
Theory of Computation COMP363/COMP6363 Prerequisites: COMP4 and COMP 6 (Foundations of Computing) Textbook: Introduction to Automata Theory, Languages and Computation John E. Hopcroft, Rajeev Motwani,
More informationLecture Notes On THEORY OF COMPUTATION MODULE -1 UNIT - 2
BIJU PATNAIK UNIVERSITY OF TECHNOLOGY, ODISHA Lecture Notes On THEORY OF COMPUTATION MODULE -1 UNIT - 2 Prepared by, Dr. Subhendu Kumar Rath, BPUT, Odisha. UNIT 2 Structure NON-DETERMINISTIC FINITE AUTOMATA
More information4.1 Notation and probability review
Directed and undirected graphical models Fall 2015 Lecture 4 October 21st Lecturer: Simon Lacoste-Julien Scribe: Jaime Roquero, JieYing Wu 4.1 Notation and probability review 4.1.1 Notations Let us recall
More informationLecture 23 : Nondeterministic Finite Automata DRAFT Connection between Regular Expressions and Finite Automata
CS/Math 24: Introduction to Discrete Mathematics 4/2/2 Lecture 23 : Nondeterministic Finite Automata Instructor: Dieter van Melkebeek Scribe: Dalibor Zelený DRAFT Last time we designed finite state automata
More informationConstructions on Finite Automata
Constructions on Finite Automata Informatics 2A: Lecture 4 Alex Simpson School of Informatics University of Edinburgh als@inf.ed.ac.uk 23rd September, 2014 1 / 29 1 Closure properties of regular languages
More informationCOL 352 Introduction to Automata and Theory of Computation Major Exam, Sem II , Max 80, Time 2 hr. Name Entry No. Group
COL 352 Introduction to Automata and Theory of Computation Major Exam, Sem II 2015-16, Max 80, Time 2 hr Name Entry No. Group Note (i) Write your answers neatly and precisely in the space provided with
More informationCS 154, Lecture 3: DFA NFA, Regular Expressions
CS 154, Lecture 3: DFA NFA, Regular Expressions Homework 1 is coming out Deterministic Finite Automata Computation with finite memory Non-Deterministic Finite Automata Computation with finite memory and
More informationComputability and Complexity
Computability and Complexity Push-Down Automata CAS 705 Ryszard Janicki Department of Computing and Software McMaster University Hamilton, Ontario, Canada janicki@mcmaster.ca Ryszard Janicki Computability
More informationCS256/Spring 2008 Lecture #11 Zohar Manna. Beyond Temporal Logics
CS256/Spring 2008 Lecture #11 Zohar Manna Beyond Temporal Logics Temporal logic expresses properties of infinite sequences of states, but there are interesting properties that cannot be expressed, e.g.,
More informationSynthesis from Probabilistic Components
Synthesis from Probabilistic Components Yoad Lustig, Sumit Nain, and Moshe Y. Vardi Department of Computer Science Rice University, Houston, TX 77005, USA yoad.lustig@gmail.com, nain@cs.rice.edu, vardi@cs.rice.edu
More informationDecision issues on functions realized by finite automata. May 7, 1999
Decision issues on functions realized by finite automata May 7, 1999 Christian Choffrut, 1 Hratchia Pelibossian 2 and Pierre Simonnet 3 1 Introduction Let D be some nite alphabet of symbols, (a set of
More informationECS 120 Lesson 15 Turing Machines, Pt. 1
ECS 120 Lesson 15 Turing Machines, Pt. 1 Oliver Kreylos Wednesday, May 2nd, 2001 Before we can start investigating the really interesting problems in theoretical computer science, we have to introduce
More informationHelsinki University of Technology Laboratory for Theoretical Computer Science Research Reports 66
Helsinki University of Technology Laboratory for Theoretical Computer Science Research Reports 66 Teknillisen korkeakoulun tietojenkäsittelyteorian laboratorion tutkimusraportti 66 Espoo 2000 HUT-TCS-A66
More information