<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://en.formulasearchengine.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=180.149.31.120</id>
	<title>formulasearchengine - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://en.formulasearchengine.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=180.149.31.120"/>
	<link rel="alternate" type="text/html" href="https://en.formulasearchengine.com/wiki/Special:Contributions/180.149.31.120"/>
	<updated>2026-08-05T03:40:18Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.47.0-wmf.7</generator>
	<entry>
		<id>https://en.formulasearchengine.com/w/index.php?title=Fourt%E2%80%93Woodlock_equation&amp;diff=21777</id>
		<title>Fourt–Woodlock equation</title>
		<link rel="alternate" type="text/html" href="https://en.formulasearchengine.com/w/index.php?title=Fourt%E2%80%93Woodlock_equation&amp;diff=21777"/>
		<updated>2013-12-11T19:30:54Z</updated>

		<summary type="html">&lt;p&gt;180.149.31.120: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A &#039;&#039;&#039;tree walking automaton&#039;&#039;&#039; (TWA) is a type of [[finite automaton]] that deals with [[tree structure]]s rather than strings. The concept was originally proposed in {{harvtxt|Aho|Ullman|1971}}.&lt;br /&gt;
&lt;br /&gt;
The following article deals with tree walking automata. For a different notion of tree automaton, closely related to regular tree languages, see [[tree automaton|branching automaton]].&lt;br /&gt;
&lt;br /&gt;
==Definition==&lt;br /&gt;
&lt;br /&gt;
All trees are assumed to be binary, with labels from a fixed alphabet &amp;lt;math&amp;gt;\Sigma&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Informally, a tree walking automaton A (TWA) is a finite state device which walks over the tree in a sequential manner. At each moment A visits node v in state q. Depending on the state q, the label of the node v, and whether the node is the root, a left child, a right child or a leaf, A changes its state from q to q&#039; and moves to the parent of v or its left or right child. A TWA accepts a tree if it enters an accepting state, and rejects if its enters a rejecting state or makes an infinite loop. As with string automata, a TWA may be deterministic or nondeterministic.&lt;br /&gt;
&lt;br /&gt;
More formally, a (nondeterministic) tree walking automaton over alphabet &amp;lt;math&amp;gt;\Sigma&amp;lt;/math&amp;gt; is a tuple:&lt;br /&gt;
&amp;lt;math&amp;gt;A=(Q, \Sigma, I, F, R, \delta)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;Q&amp;lt;/math&amp;gt; is a finite set of states, &amp;lt;math&amp;gt;I, F, R \subset Q&amp;lt;/math&amp;gt; are the sets of respectively initial, accepting and rejecting states, and &amp;lt;math&amp;gt;\delta&amp;lt;/math&amp;gt; is the transition relation: &amp;lt;math&amp;gt;\delta \subset (Q \times \{ \mathit{root}, \mathit{left}, \mathit{right},\mathit{leaf} \} \times \Sigma \times \{ \mathit{up}, \mathit{left}, \mathit{right} \} \times Q)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&lt;br /&gt;
A simple example of a tree walking automaton is a TWA that performs [[depth-first search]] (DFS) on the input tree. The automaton &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; has 3 states, &amp;lt;math&amp;gt;Q = \{ q_{0}, q_{\mathit{left}}, q_{\mathit{right}} \}&amp;lt;/math&amp;gt;. &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; begins in the root in state &amp;lt;math&amp;gt;q_{0}&amp;lt;/math&amp;gt; and descends to the left subtree. Then it processes the tree recursively. Whenever &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; enters a node &amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt; in state &amp;lt;math&amp;gt;q_{\mathit{left}}&amp;lt;/math&amp;gt;, it means that the left subtree of &amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt; has just been processed, so it proceeds to the right subtree of &amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt;. If &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; enters a node &amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt; in state &amp;lt;math&amp;gt;q_{\mathit{right}}&amp;lt;/math&amp;gt;, it means that the whole subtree with root &amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt; has been processed and &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; walks to the parent of &amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt; and changes its state to &amp;lt;math&amp;gt;q_{\mathit{left}}&amp;lt;/math&amp;gt; or &amp;lt;math&amp;gt;q_{\mathit{right}}&amp;lt;/math&amp;gt;, depending on whether &amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt; is a left or right child.&lt;br /&gt;
&lt;br /&gt;
==Properties==&lt;br /&gt;
&lt;br /&gt;
Unlike [[tree automaton|branching automata]], tree walking automata are difficult to analyze and even simple properties are nontrivial to prove. The following list summarizes some known facts related to TWA:&lt;br /&gt;
*As shown by {{harvtxt|Bojanczyk|Colcombet|2006}}, deterministic TWA are strictly weaker than nondeterministic ones (&amp;lt;math&amp;gt;\mathit{DTWA} \subsetneq \mathit{TWA}&amp;lt;/math&amp;gt;)&lt;br /&gt;
*deterministic TWA are closed under complementation (but it is not known whether the same holds for nondeterministic ones)&lt;br /&gt;
*the set of languages recognized by TWA is strictly contained in regular tree languages (&amp;lt;math&amp;gt;\mathit{TWA} \subsetneq \mathit{REG}&amp;lt;/math&amp;gt;), i.e. there exist regular languages which are not recognized by any tree walking automaton {{harv|Bojanczyk|Colcombet|2008}}.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*[[Pebble automaton|Pebble automata]], an extension of tree walking automata&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* {{cite doi|10.1016/S0019-9958(71)90706-6}}&lt;br /&gt;
* {{cite doi|10.1016/j.tcs.2005.10.031}}&lt;br /&gt;
* {{cite doi|10.1137/050645427}}&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
*Mikołaj Bojanczyk: [http://www.mimuw.edu.pl/~bojan/papers/twasurvey.pdf Tree-walking automata]. A brief survey.&lt;br /&gt;
&lt;br /&gt;
[[Category:Trees (data structures)]]&lt;br /&gt;
[[Category:Automata theory]]&lt;/div&gt;</summary>
		<author><name>180.149.31.120</name></author>
	</entry>
</feed>