Here are replies to some common questions:Ī: I really strived for simplicity for this instrument. If you encounter something you like, just press “Copy Piece Link” and save it somewhere, or better, share it! Go add some cells, change their orientation by clicking on them, and press play, experiment, have fun. This set of rules produces chaotic results in some settings, therefore you can end up with never repeating, gradually evolving sequences. If a cell encounters another cell on its way, it turns itself clockwise. If any cell encounters a wall, it triggers a pitched sound whose frequency is determined by the xy position of collision, and the cell reverses its direction. at each cycle, the cells move themselves in the direction of their internal states. It employs a cellular automaton type logic I’ve devised to produce sound events.Įach alive cell has 4 states: Up, right, down, left. Update: Click here to get Otomata for your iPhone / iPod / iPad! There is a notion of height-unambiguous PDAs, but the model is different (the automata are "real-time" and cannot push/pop an arbitrary number of states), and the expressiveness of the model is not discussed.You need Flash plugin to experience this content. (Literature note: there is a notion of height-deterministic PDAs, which is related but stronger as it is an analogue of determinism not unambiguity. This does not seem very powerful (and usually you can get rid of it by using nondeterminism at the point where you started pushing the things that were later replaced), but I don't formally see how to normalize them away. However, it also allows the automaton to pop a large number of symbols and (non-deterministically) push other symbols back to go back to the same height (the rest of the word can then ensures that only reaching the correct height gives an accepting run). This allows the automaton to push and then pop stuff to the stack, but this is clearly unnecessary (the automaton can be normalized to shortcut those). Intuitively, the weaker requirement allows the automaton to freely interact with its stack between reads, provided the size is the same at the reads. But for weakly height-unambiguous I have no idea. My question is: Which context-free languages are recognized by weakly height-unambiguous PDAs? I can show with a bit of effort that every height-unambiguous PDA can be converted to an equivalent unambiguous PDA, via a variant of the determinization procedure for visibly pushdown automata, so height-unambiguous PDAs can express precisely the context-free languages that are not inherently unambiguous. read transitions $(q, a, q') \in Q \times \Sigma \times Q$ where you move from state $q$ to state $q'$ while reading a letter $a$ and not touching the stack.Ī run of $A$ on a word $w \in \Sigma^*$ is a sequence $(q_0, s_0, p_0), \ldots, (q_n, s_n, p_n)$ of configurations of $Q \times \Gamma^* \times \'|$ for every $1 \leq j \leq |w|$.pop transitions $(q, \gamma, q') \in Q \times \Gamma \times Q$ where you are in state $q$, the top stack symbol is $\gamma$, and you remove it and move to state $q'$.push transitions $(q, q', \gamma) \in Q\times Q \times \Gamma$ where you move from state $q$ to $q'$ while pushing $\gamma$ to the stack.Formally, a pushdown automaton $A = (Q, q_0, F, \Gamma, \Delta)$ is a finite set $Q$ of states, an initial state $q_0 \in Q$, a subset $F \subseteq Q$ of final states, a stack alphabet $\Gamma$, and a set $\Delta$ of transitions of three kinds: I consider pushdown automata on an alphabet $\Sigma$, which are intuitively finite automata with a stack.
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |