2006–07 Mersin İdmanyurdu season: Difference between revisions
Mersin, Turkey |
en>Cydebot m Robot - Speedily moving category Mersin İdmanyurdu Seasons to Category:Mersin İdmanyurdu seasons per CFDS. |
||
Line 1: | Line 1: | ||
The | In [[computer science]], more specifically in [[automata theory|automata]] and [[formal language]] theory, '''nested words''' are a concept proposed by [[Rajeev Alur|Alur]] and Madhusudan as a joint generalization of [[String (computer science)|words]], as traditionally used for modelling [[linearly ordered]] structures, and of ordered unranked [[Tree (data structure)|trees]], as traditionally used for modelling hierarchical structures. Finite-state acceptors for nested words, | ||
so-called '''nested word automata''', then give a more expressive generalization of [[nondeterministic finite automaton|finite automata]] on words. The linear encodings of languages accepted by finite nested word automata gives the class of '''visibly pushdown languages'''. The latter language class lies properly between the [[regular language]]s and the [[deterministic context-free language]]s. Since their introduction in 2004, these concepts have triggered much research in that area.<ref>[http://scholar.google.com/scholar?as_q=&as_oq=%22nested+words%22+%22visibly+pushdown%22 Google Scholar search results] for "nested words" OR "visibly pushdown"</ref> | |||
An equivalent formalism is [[regular tree grammar]]s. | |||
==Formal definition== | |||
To define ''nested words'', we first need to define ''matching relation''. As usual, for a [[nonnegative integer]] <math>\ell</math>, we use the notation <math>[\ell]</math> to denote the set <math>\{1,2,\ldots,\ell-1,\ell\}</math>, with the special case <math>[0]=\emptyset</math>. | |||
A ''matching relation'' ↝ of length <math>\ell\ge 0</math> is a subset of <math>\{-\infty, 1,2,\ldots,\ell-1,\ell\}\times\{1,2,\ldots,\ell-1,\ell,\infty\}</math> such that: <br /> | |||
(i) all nesting edges are forward, that is, if i ↝ j then i<j; <br /> | |||
(ii) nesting edges never have a finite position in common, that is, for <math>-\infty < i < \infty </math>, there is at most one position h such that h ↝ i, and there is at most one position j such that i ↝ j; and <br /> | |||
(iii) nesting edges never cross, that is, we can't find i<i'≤j<j' such that both i ↝ j and i' ↝ j'.<br /> | |||
<math>i</math> is referred to as a ''call position'', if i ↝ j for some j, as a ''pending call'' if i ↝ ∞, as a ''return position'', if h ↝ i for some h and as a "pending return" if -∞ ↝ i. | |||
A ''nested word'' of length <math>\ell</math> over an [[alphabet (computer science)|alphabet]] Σ is a pair (w,↝), where w is a word of length <math>\ell</math>over Σ (in the usual sense) and ↝ is a matching relation of length <math>\ell</math>. | |||
==Encoding nested words into ordinary words== | |||
Nested words over the alphabet <math>\Sigma=\{a_1,a_2,\ldots,a_n\}</math> can be encoded into "ordinary" words over the ''tagged alphabet'' <math> \hat{\Sigma}</math>, in which each symbol ''a'' from Σ has three tagged counterparts: the | |||
symbol '''⟨a''' for encoding a call position in a nested word labelled with ''a'', the symbol '''a⟩''' for encoding a return position labelled with ''a'', and finally the symbol '''a''' itself for representing an internal position labelled with ''a''. More precisely, let φ be the function mapping nested words over Σ to words over <math>\hat{\Sigma}</math> such that each nested word (<math>w_1w_2\cdots w_\ell</math>,↝) is mapped to the word <math>x_1x_2...x_\ell</math>, where the letter <math>x_i</math> equals '''⟨a''', '''a''', or '''a⟩''', respectively, if <math>w_i=a</math> and ''i'' is a call position, an internal position, or a return position, respectively. | |||
===Example=== | |||
For illustration, let ''n=(w,↝)'' be the nested word over an ternary alphabet with ''w=abaabccca'' and matching relation ''↝ = {(-∞,1),(2,∞),(3,4),(5,7),(8,∞)}''. Then its encoding as word reads as ''φ(n) = a⟩⟨b⟨aa⟩⟨bcc⟩⟨ca''. | |||
==Automata== | |||
===Nested word automaton=== | |||
A ''nested word automaton'' has a finite number of states, and operates in almost the same way as a [[deterministic finite automaton]] on classical strings: a classical finite automaton reads the input word <math>w = w_1\cdots w_\ell</math> from left to right, and the state of the automaton after reading the ''j''th letter <math>w_j</math> depends on the state in which the automaton was before reading <math>w_j</math>. | |||
In a nested word automaton, the position <math>j</math> in the nested word (w,↝) might be a return position; if so, the state after reading <math>w_j</math> will not only depend on the ''linear state'' in which the automaton was before reading <math>w_j</math>, but also on a ''hierarchical state'' propagated by the automaton at the time it was in the corresponding call position. In analogy to [[regular language]]s of words, a set ''L'' of nested words is called ''regular'' if it is accepted by some (finite-state) nested word automaton. | |||
===Visibly pushdown automaton=== | |||
Nested word automata are an automaton model accepting nested words. There is an equivalent automaton model operating on (ordinary) words. Namely, the notion of a '''deterministic visibly pushdown automaton''' is a restriction of the notion of a [[deterministic pushdown automaton]]. | |||
Following Alur and Madhusudan,<ref name="AlurMadhu09">{{harvtxt|Alur|Madhusudan|2009}}</ref> a deterministic visibly pushdown automaton is formally defined as a 6-tuple <math>M=(Q, \hat{\Sigma}, \Gamma, \delta, q_0, F)</math> | |||
where | |||
*<math>Q </math> is a finite set of ''states'', | |||
*<math>\hat{\Sigma}</math> is the ''input alphabet'', which – in contrast to that of ordinary pushdown automata – is partitioned into three sets <math>\Sigma_\text{c}</math>, <math>\Sigma_\text{r}</math>, and <math>\Sigma_\text{int}</math>. The alphabet <math>\Sigma_\text{c}</math> denotes the set of ''call symbols'', <math>\Sigma_\text{r}</math> contains the ''return symbols'', and the set <math>\Sigma_\text{int}</math> contains the ''internal symbols'', | |||
*<math>\Gamma</math> is a finite set which is called the ''stack alphabet'', containing a special symbol <math>\bot\in\Gamma</math> denoting the empty stack, | |||
*<math>\delta = \delta_\text{c} \cup \delta_\text{r} \cup \delta_\text{int}</math> is the ''transition function'', which is partitioned into three parts corresponding to call transitions, return transitions, and internal transitions, namely | |||
**<math>\delta_\text{c}\colon Q \times \Sigma_\text{c} \to Q \times \Gamma</math>, the ''call transition function'' | |||
**<math>\delta_\text{r}\colon Q \times \Sigma_\text{r} \times \Gamma \to Q </math>, the ''return transition function'' | |||
**<math>\delta_\text{int}:Q \times \Sigma_\text{int} \to Q</math>, the ''internal transition function'', | |||
*<math>q_0\in\, Q </math> is the ''initial state'', and | |||
*<math>F \subseteq Q</math> is the set of ''accepting states''. | |||
The notion of ''computation'' of a visibly pushdown automaton is a restriction of the one used for [[Pushdown_automaton#Formal_Definition|pushdown automata]]. Visibly pushdown automata only add a symbol to the stack when reading a call symbol <math>a_\text{c}\in \Sigma_\text{c}</math>, they only remove the top element from the stack when reading a return symbol <math>a_\text{r}\in\Sigma_\text{r}</math> and they do not alter the stack when reading an internal event <math>a_\text{i}\in\Sigma_\text{int}</math>. A computation ending in an accepting state is an ''accepting computation''. | |||
As a result, a visibly pushdown automaton cannot push to and pop from the stack with the same input symbol. Thus the language <math>L=\{a^nba^n \mid n\in\mathrm{N} \}</math> cannot be accepted by a visibly pushdown automaton for any partition of <math>\Sigma</math>, however there are pushdown automata accepting this language. | |||
If a [[Formal language|language]] <math>L</math> over a tagged alphabet <math>\hat{\Sigma}</math> is accepted by a deterministic visibly pushdown automaton, then <math>L</math> is called a ''visibly pushdown language''. | |||
===Nondeterministic visibly pushdown automata=== | |||
[[Nondeterministic finite automaton|Nondeterministic]] visibly pushdown automata are as expressive as deterministic ones. Hence one can transform a nondeterministic visibly pushdown automaton into a deterministic one, but if the nondeterministic automaton had <math>s</math> states, the deterministic one may have up to <math>2^{s^2}</math> states.<ref name="AlurMadhu04">{{harvtxt|Alur|Madhusudan|2004}}</ref> | |||
==Decision problems== | |||
Let <math>|A|</math> be the size of the description of an automaton <math>A</math>, then it is possible to check if a word ''n'' is accepted by the automaton in time <math>O(|A|^3\ell)</math>. In particular, the emptiness problem is solvable in time <math>O(|A|^3)</math>. | |||
If <math>A</math> is fixed, it is decidable in time <math>O(\ell)</math> and space <math>O(d)</math> where <math>d</math> is the depth of ''n'' in a streaming seeing. It is also decidable with space <math>O(\log(\ell))</math> and time <math>O(\ell^2 \log (\ell))</math>, and by a uniform boolean circuit of depth <math>O(\log \ell)</math>.<ref name="AlurMadhu09" /> | |||
For two nondeterministic automata ''A'' and ''B'', deciding whether the set of words accepted by ''A'' is a subset of the word accepted by ''B'' is [[EXPTIME]]-complete. It is also EXPTIME-complete to figure out if there is a word that is not accepted.<ref name="AlurMadhu09" /> | |||
==Languages== | |||
As the definition of visibly pushdown automata shows, deterministic visibly pushdown automata can be seen as a special case of [[deterministic pushdown automata]]; thus the set '''VPL''' of visibly pushdown languages over <math>\,\hat{\Sigma}</math> forms a subset of the set '''DCFL''' of [[deterministic context-free language]]s over the set of symbols in <math>\,\hat{\Sigma}</math>. In particular, the function that removes the matching relation from nested words transforms regular languages over nested words into context-free languages. | |||
===Closure properties=== | |||
The set of visibly pushdown languages is closed under the following operations:<ref name="AlurMadhu04" /> | |||
*set operations: | |||
**union | |||
**intersection | |||
**complement, thus giving rise to a [[boolean algebra]]. | |||
*[[Kleene star]] | |||
*[[Concatenation#Concatenation_of_sets_of_strings|concatenation]] | |||
For the intersection operation, one can construct a VPA ''M'' simulating two given VPAs <math>M_1</math> and <math>M_2</math> by a simple product construction {{harv|Alur|Madhusudan|2004}}: For <math>i=1,2</math>, assume <math>M_i</math> is given as <math>(Q_i,\ \hat{\Sigma},\ \Gamma_i,\ \delta_i, \ s_{i},\ Z_i, \ F_i)</math>. Then for the automaton ''M'', the set of states is <math>\, Q_1\times Q_2</math>, the initial state is <math>\left(s_{1}, s_2\right)</math>, the set of final states is <math>F_1 \times F_2</math>, the stack alphabet is given by <math>\,\Gamma_1\times\Gamma_2</math>, and the initial stack symbol is <math>(Z_1,Z_2)</math>. | |||
If <math>M</math> is in state <math>(p_1,p_2)</math> on reading a ''call symbol'' <math>\left\langle a\right.</math>, then | |||
<math>M</math> pushes the stack symbol <math>(\gamma_1,\gamma_2)</math> | |||
and goes to state <math>(q_1,q_2)</math>, where <math>\gamma_i</math> is the stack symbol pushed by <math>M_i</math> | |||
when transitioning from state <math>p_i</math> to <math>q_i</math> on reading input <math>\left\langle a\right.</math>. | |||
If <math>M</math> is in state <math>(p_1,p_2)</math> on reading an ''internal symbol'' <math>a</math>, then <math>M</math> | |||
goes to state <math>(q_1,q_2)</math>, whenever <math>M_i</math> | |||
transitions from state <math>p_i</math> to <math>q_i</math> on reading ''a''. | |||
If <math>M</math> is in state <math>(p_1,p_2)</math> on reading a ''return symbol'' <math>\left. a\right\rangle</math>, then <math>M</math> | |||
pops the symbol <math>(\gamma_1,\gamma_2)</math> from the stack and | |||
goes to state <math>(q_1,q_2)</math>, where <math>\gamma_i</math> is the stack symbol popped by <math>M_i</math> | |||
when transitioning from state <math>p_i</math> to <math>q_i</math> on reading <math>\left. a\right\rangle</math>. | |||
Correctness of the above construction crucially relies on the fact that the push and pop actions of the simulated | |||
machines <math>M_1</math> and <math>M_2</math> are synchronized along the input symbols read. In fact, a similar simulation is no longer possible for [[deterministic pushdown automaton|deterministic pushdown automata]], as the larger class of deterministic context-free languages is no longer closed under intersection. | |||
In contrast to the construction for concatenation shown above, the complementation construction for visibly pushdown automata parallels the standard construction<ref>{{harvtxt|Hopcroft|Ullman|1979}}, p. 238 f.</ref> for deterministic pushdown automata. | |||
Moreover, like the class of context free languages the class of visibly pushdown languages is closed under [[String_operations#Prefixes|prefix closure]] and reversal, hence also suffix closure. | |||
===Relation to other language classes=== | |||
{{harvtxt|Alur|Madhusudan|2004}} point out that the visibly pushdown languages are more general than the parenthesis languages suggested in {{harvtxt|McNaughton|1967}}. As shown by {{harvtxt|Crespi Reghizzi|Mandrioli|2012}}, the VPL in turn are strictly contained in the class of languages described by [[operator-precedence grammar]]s, which were introduced by {{harvtxt|Floyd|1963}}. In comparison to [[conjunctive grammars]], a generalization of context-free grammars, {{harvtxt|Okhotin|2011}} shows that the linear conjunctive languages form a superclass of the visibly pushdown languages. The table at the end of this article puts the family of visibly pushdown languages in relation to other language families in the [[Chomsky hierarchy]]. | |||
==Other models of description== | |||
===Visibly pushdown grammars=== | |||
Visibly pushdown languages are exactly the languages that can be described by ''visibly pushdown grammars''.<ref name="AlurMadhu09" /> | |||
Visibly pushdown grammars can be defined as a restriction of [[Context-free_grammar#Formal_definitions|context-free grammars]]. A visibly pushdown grammars ''G'' is defined by the 4-[[tuple]]: | |||
<math>G = (V=V^0\cup V^1\,, \Sigma\,, R\,, S\,)</math> where | |||
*<math>V^0\, </math> and <math>V^1\, </math> are disjoint finite set; each element <math> v\in V</math> is called ''a non-terminal character'' or a ''variable''. Each variable represents a different type of phrase or clause in the sentence. Each variable defines a sub-language of the language defined by <math>G\, </math>, and the sub-languages of <math>V^0\, </math> are the one without pending calls or pending returns. | |||
*<math>\Sigma\,</math> is a finite set of ''terminal''s, disjoint from <math>V\,</math>, which make up the actual content of the sentence. The set of terminals is the alphabet of the language defined by the grammar <math>G\, </math>. | |||
*<math>S\,</math> is the start variable (or start symbol), used to represent the whole sentence (or program). It must be an element of <math>V\,</math>. | |||
*<math>R\,</math> is a finite relation from <math>V\,</math> to <math>(V\cup\Sigma)^{*}</math> such that <math>\exist\, w\in (V\cup\Sigma)^{*}: (S,w)\in R</math>. The members of <math>R\,</math> are called the ''(rewrite) rule''s or ''production''s of the grammar. There are three kinds of rewrite rules. For <math>X,Y\in V ,Z\in V^0</math>, <math>a\in \hat\Sigma</math> and <math>b\in \hat\Sigma</math> | |||
**<math>X\to \epsilon</math> | |||
**<math>X\to aY</math> and if <math>X\in V^0</math> then <math>Y\in V^0</math> and <math>a\in \Sigma</math> | |||
**<math>X\to \langle aZb\rangle Y</math> and if <math>X\in V^0</math> then <math>Y\in V^0</math> | |||
Here, the asterisk represents the [[Kleene star]] operation and <math>\epsilon</math> is the empty word. | |||
===Uniform Boolean circuits=== | |||
The problem whether a word of length <math>\ell</math> is accepted by a given nested word automaton can be solved by uniform [[boolean circuit]]s of depth <math>\Omicron(\log\ell)</math>.<ref name="AlurMadhu09" /> | |||
===Logical description=== | |||
Regular languages over nested words are exactly the set of languages described by [[Monadic predicate calculus|Monadic]] [[SO_(complexity)|second-order logic]] with two unary predicates ''call'' and ''return'', linear successor and the matching relation ↝.<ref name="AlurMadhu09" /> | |||
==See also== | |||
*[[Model checking]] | |||
==Notes== | |||
<references/> | |||
==References== | |||
*{{cite doi|10.1145/321172.321179}} | |||
*{{cite doi|10.1145/321406.321411}} | |||
*{{cite doi|10.1145/1007352.1007390}} | |||
*{{cite doi|10.2168/LMCS-4(4:11)2008}} | |||
*{{cite doi|10.1145/1516512.1516518}} | |||
*{{cite journal|ref=harv|last=Crespi Reghizzi|first=Stefano|last2=Mandrioli|first2=Dino|title=Operator precedence and the visibly pushdown property|journal=Journal of Computer and System Sciences|year=2012|volume=78|issue=6|pages=1837–1867|doi=10.1016/j.jcss.2011.12.006}} | |||
*Okhotin, Alexander: [http://users.utu.fi/aleokh/papers/linconj_vs_dcfl.pdf Comparing linear conjunctive languages to subfamilies of the context-free languages], 37th International Conference on Current Trends in Theory and Practice of Computer Science (SOFSEM 2011). | |||
==External links== | |||
* [http://www.cis.upenn.edu/~alur/nw.html Nested words and visibly pushdown languages] | |||
* [http://www.cs.uiuc.edu/~madhu/vpa/ Visibly pushdown automata - Automata on nested words] | |||
* [http://qwiki.stanford.edu/index.php/Complexity_Zoo:V#vpl class VPL] at the [[Complexity Zoo]] | |||
{{Formal languages and grammars}} | |||
[[Category:Words]] | |||
[[Category:Formal languages]] | |||
[[Category:Automata theory]] |
Revision as of 15:07, 25 January 2014
In computer science, more specifically in automata and formal language theory, nested words are a concept proposed by Alur and Madhusudan as a joint generalization of words, as traditionally used for modelling linearly ordered structures, and of ordered unranked trees, as traditionally used for modelling hierarchical structures. Finite-state acceptors for nested words, so-called nested word automata, then give a more expressive generalization of finite automata on words. The linear encodings of languages accepted by finite nested word automata gives the class of visibly pushdown languages. The latter language class lies properly between the regular languages and the deterministic context-free languages. Since their introduction in 2004, these concepts have triggered much research in that area.[1] An equivalent formalism is regular tree grammars.
Formal definition
To define nested words, we first need to define matching relation. As usual, for a nonnegative integer , we use the notation to denote the set , with the special case .
A matching relation ↝ of length is a subset of such that:
(i) all nesting edges are forward, that is, if i ↝ j then i<j;
(ii) nesting edges never have a finite position in common, that is, for , there is at most one position h such that h ↝ i, and there is at most one position j such that i ↝ j; and
(iii) nesting edges never cross, that is, we can't find i<i'≤j<j' such that both i ↝ j and i' ↝ j'.
is referred to as a call position, if i ↝ j for some j, as a pending call if i ↝ ∞, as a return position, if h ↝ i for some h and as a "pending return" if -∞ ↝ i.
A nested word of length over an alphabet Σ is a pair (w,↝), where w is a word of length over Σ (in the usual sense) and ↝ is a matching relation of length .
Encoding nested words into ordinary words
Nested words over the alphabet can be encoded into "ordinary" words over the tagged alphabet , in which each symbol a from Σ has three tagged counterparts: the symbol ⟨a for encoding a call position in a nested word labelled with a, the symbol a⟩ for encoding a return position labelled with a, and finally the symbol a itself for representing an internal position labelled with a. More precisely, let φ be the function mapping nested words over Σ to words over such that each nested word (,↝) is mapped to the word , where the letter equals ⟨a, a, or a⟩, respectively, if and i is a call position, an internal position, or a return position, respectively.
Example
For illustration, let n=(w,↝) be the nested word over an ternary alphabet with w=abaabccca and matching relation ↝ = {(-∞,1),(2,∞),(3,4),(5,7),(8,∞)}. Then its encoding as word reads as φ(n) = a⟩⟨b⟨aa⟩⟨bcc⟩⟨ca.
Automata
Nested word automaton
A nested word automaton has a finite number of states, and operates in almost the same way as a deterministic finite automaton on classical strings: a classical finite automaton reads the input word from left to right, and the state of the automaton after reading the jth letter depends on the state in which the automaton was before reading .
In a nested word automaton, the position in the nested word (w,↝) might be a return position; if so, the state after reading will not only depend on the linear state in which the automaton was before reading , but also on a hierarchical state propagated by the automaton at the time it was in the corresponding call position. In analogy to regular languages of words, a set L of nested words is called regular if it is accepted by some (finite-state) nested word automaton.
Visibly pushdown automaton
Nested word automata are an automaton model accepting nested words. There is an equivalent automaton model operating on (ordinary) words. Namely, the notion of a deterministic visibly pushdown automaton is a restriction of the notion of a deterministic pushdown automaton.
Following Alur and Madhusudan,[2] a deterministic visibly pushdown automaton is formally defined as a 6-tuple where
- is a finite set of states,
- is the input alphabet, which – in contrast to that of ordinary pushdown automata – is partitioned into three sets , , and . The alphabet denotes the set of call symbols, contains the return symbols, and the set contains the internal symbols,
- is a finite set which is called the stack alphabet, containing a special symbol denoting the empty stack,
- is the transition function, which is partitioned into three parts corresponding to call transitions, return transitions, and internal transitions, namely
- is the initial state, and
- is the set of accepting states.
The notion of computation of a visibly pushdown automaton is a restriction of the one used for pushdown automata. Visibly pushdown automata only add a symbol to the stack when reading a call symbol , they only remove the top element from the stack when reading a return symbol and they do not alter the stack when reading an internal event . A computation ending in an accepting state is an accepting computation.
As a result, a visibly pushdown automaton cannot push to and pop from the stack with the same input symbol. Thus the language cannot be accepted by a visibly pushdown automaton for any partition of , however there are pushdown automata accepting this language.
If a language over a tagged alphabet is accepted by a deterministic visibly pushdown automaton, then is called a visibly pushdown language.
Nondeterministic visibly pushdown automata
Nondeterministic visibly pushdown automata are as expressive as deterministic ones. Hence one can transform a nondeterministic visibly pushdown automaton into a deterministic one, but if the nondeterministic automaton had states, the deterministic one may have up to states.[3]
Decision problems
Let be the size of the description of an automaton , then it is possible to check if a word n is accepted by the automaton in time . In particular, the emptiness problem is solvable in time . If is fixed, it is decidable in time and space where is the depth of n in a streaming seeing. It is also decidable with space and time , and by a uniform boolean circuit of depth .[2]
For two nondeterministic automata A and B, deciding whether the set of words accepted by A is a subset of the word accepted by B is EXPTIME-complete. It is also EXPTIME-complete to figure out if there is a word that is not accepted.[2]
Languages
As the definition of visibly pushdown automata shows, deterministic visibly pushdown automata can be seen as a special case of deterministic pushdown automata; thus the set VPL of visibly pushdown languages over forms a subset of the set DCFL of deterministic context-free languages over the set of symbols in . In particular, the function that removes the matching relation from nested words transforms regular languages over nested words into context-free languages.
Closure properties
The set of visibly pushdown languages is closed under the following operations:[3]
- set operations:
- union
- intersection
- complement, thus giving rise to a boolean algebra.
- Kleene star
- concatenation
For the intersection operation, one can construct a VPA M simulating two given VPAs and by a simple product construction Template:Harv: For , assume is given as . Then for the automaton M, the set of states is , the initial state is , the set of final states is , the stack alphabet is given by , and the initial stack symbol is .
If is in state on reading a call symbol , then pushes the stack symbol and goes to state , where is the stack symbol pushed by when transitioning from state to on reading input .
If is in state on reading an internal symbol , then goes to state , whenever transitions from state to on reading a.
If is in state on reading a return symbol , then pops the symbol from the stack and goes to state , where is the stack symbol popped by when transitioning from state to on reading .
Correctness of the above construction crucially relies on the fact that the push and pop actions of the simulated machines and are synchronized along the input symbols read. In fact, a similar simulation is no longer possible for deterministic pushdown automata, as the larger class of deterministic context-free languages is no longer closed under intersection.
In contrast to the construction for concatenation shown above, the complementation construction for visibly pushdown automata parallels the standard construction[4] for deterministic pushdown automata.
Moreover, like the class of context free languages the class of visibly pushdown languages is closed under prefix closure and reversal, hence also suffix closure.
Relation to other language classes
Template:Harvtxt point out that the visibly pushdown languages are more general than the parenthesis languages suggested in Template:Harvtxt. As shown by Template:Harvtxt, the VPL in turn are strictly contained in the class of languages described by operator-precedence grammars, which were introduced by Template:Harvtxt. In comparison to conjunctive grammars, a generalization of context-free grammars, Template:Harvtxt shows that the linear conjunctive languages form a superclass of the visibly pushdown languages. The table at the end of this article puts the family of visibly pushdown languages in relation to other language families in the Chomsky hierarchy.
Other models of description
Visibly pushdown grammars
Visibly pushdown languages are exactly the languages that can be described by visibly pushdown grammars.[2]
Visibly pushdown grammars can be defined as a restriction of context-free grammars. A visibly pushdown grammars G is defined by the 4-tuple:
- and are disjoint finite set; each element is called a non-terminal character or a variable. Each variable represents a different type of phrase or clause in the sentence. Each variable defines a sub-language of the language defined by , and the sub-languages of are the one without pending calls or pending returns.
- is a finite set of terminals, disjoint from , which make up the actual content of the sentence. The set of terminals is the alphabet of the language defined by the grammar .
- is the start variable (or start symbol), used to represent the whole sentence (or program). It must be an element of .
- is a finite relation from to such that . The members of are called the (rewrite) rules or productions of the grammar. There are three kinds of rewrite rules. For , and
Here, the asterisk represents the Kleene star operation and is the empty word.
Uniform Boolean circuits
The problem whether a word of length is accepted by a given nested word automaton can be solved by uniform boolean circuits of depth .[2]
Logical description
Regular languages over nested words are exactly the set of languages described by Monadic second-order logic with two unary predicates call and return, linear successor and the matching relation ↝.[2]
See also
Notes
- ↑ Google Scholar search results for "nested words" OR "visibly pushdown"
- ↑ 2.0 2.1 2.2 2.3 2.4 2.5 Template:Harvtxt
- ↑ 3.0 3.1 Template:Harvtxt
- ↑ Template:Harvtxt, p. 238 f.
References
- Template:Cite doi
- Template:Cite doi
- Template:Cite doi
- Template:Cite doi
- Template:Cite doi
- One of the biggest reasons investing in a Singapore new launch is an effective things is as a result of it is doable to be lent massive quantities of money at very low interest rates that you should utilize to purchase it. Then, if property values continue to go up, then you'll get a really high return on funding (ROI). Simply make sure you purchase one of the higher properties, reminiscent of the ones at Fernvale the Riverbank or any Singapore landed property Get Earnings by means of Renting
In its statement, the singapore property listing - website link, government claimed that the majority citizens buying their first residence won't be hurt by the new measures. Some concessions can even be prolonged to chose teams of consumers, similar to married couples with a minimum of one Singaporean partner who are purchasing their second property so long as they intend to promote their first residential property. Lower the LTV limit on housing loans granted by monetary establishments regulated by MAS from 70% to 60% for property purchasers who are individuals with a number of outstanding housing loans on the time of the brand new housing purchase. Singapore Property Measures - 30 August 2010 The most popular seek for the number of bedrooms in Singapore is 4, followed by 2 and three. Lush Acres EC @ Sengkang
Discover out more about real estate funding in the area, together with info on international funding incentives and property possession. Many Singaporeans have been investing in property across the causeway in recent years, attracted by comparatively low prices. However, those who need to exit their investments quickly are likely to face significant challenges when trying to sell their property – and could finally be stuck with a property they can't sell. Career improvement programmes, in-house valuation, auctions and administrative help, venture advertising and marketing, skilled talks and traisning are continuously planned for the sales associates to help them obtain better outcomes for his or her shoppers while at Knight Frank Singapore. No change Present Rules
Extending the tax exemption would help. The exemption, which may be as a lot as $2 million per family, covers individuals who negotiate a principal reduction on their existing mortgage, sell their house short (i.e., for lower than the excellent loans), or take part in a foreclosure course of. An extension of theexemption would seem like a common-sense means to assist stabilize the housing market, but the political turmoil around the fiscal-cliff negotiations means widespread sense could not win out. Home Minority Chief Nancy Pelosi (D-Calif.) believes that the mortgage relief provision will be on the table during the grand-cut price talks, in response to communications director Nadeam Elshami. Buying or promoting of blue mild bulbs is unlawful.
A vendor's stamp duty has been launched on industrial property for the primary time, at rates ranging from 5 per cent to 15 per cent. The Authorities might be trying to reassure the market that they aren't in opposition to foreigners and PRs investing in Singapore's property market. They imposed these measures because of extenuating components available in the market." The sale of new dual-key EC models will even be restricted to multi-generational households only. The models have two separate entrances, permitting grandparents, for example, to dwell separately. The vendor's stamp obligation takes effect right this moment and applies to industrial property and plots which might be offered inside three years of the date of buy. JLL named Best Performing Property Brand for second year running
The data offered is for normal info purposes only and isn't supposed to be personalised investment or monetary advice. Motley Fool Singapore contributor Stanley Lim would not personal shares in any corporations talked about. Singapore private home costs increased by 1.eight% within the fourth quarter of 2012, up from 0.6% within the earlier quarter. Resale prices of government-built HDB residences which are usually bought by Singaporeans, elevated by 2.5%, quarter on quarter, the quickest acquire in five quarters. And industrial property, prices are actually double the levels of three years ago. No withholding tax in the event you sell your property. All your local information regarding vital HDB policies, condominium launches, land growth, commercial property and more
There are various methods to go about discovering the precise property. Some local newspapers (together with the Straits Instances ) have categorised property sections and many local property brokers have websites. Now there are some specifics to consider when buying a 'new launch' rental. Intended use of the unit Every sale begins with 10 p.c low cost for finish of season sale; changes to 20 % discount storewide; follows by additional reduction of fiftyand ends with last discount of 70 % or extra. Typically there is even a warehouse sale or transferring out sale with huge mark-down of costs for stock clearance. Deborah Regulation from Expat Realtor shares her property market update, plus prime rental residences and houses at the moment available to lease Esparina EC @ Sengkang - Okhotin, Alexander: Comparing linear conjunctive languages to subfamilies of the context-free languages, 37th International Conference on Current Trends in Theory and Practice of Computer Science (SOFSEM 2011).
External links
- Nested words and visibly pushdown languages
- Visibly pushdown automata - Automata on nested words
- class VPL at the Complexity Zoo
Other Sports Official Alfonzo from Chase, has hobbies and interests for instance fast, property developers in new industrial launch singapore and aquariums. In recent times has visited Monasteries of Haghpat and Sanahin.