Hostname: page-component-74656f9884-6grmk Total loading time: 0 Render date: 2026-11-06T09:17:34.235Z Has data issue: false hasContentIssue false

A randomised inference algorithm for regular tree languages

Published online by Cambridge University Press:  21 March 2011

JOHANNA HÖGBERG*
Affiliation:
Department of Computing Science, Umeå University, SE–901 87 Umeå, Sweden email: johanna@cs.umu.se
Rights & Permissions [Opens in a new window]

Abstract

We present a randomised inference algorithm for regular tree languages. The algorithm takes as input two disjoint finite nonempty sets of trees 𝒫 and 𝒩 and outputs a nondeterministic finite tree automaton that accepts every tree in 𝒫 and rejects every tree in 𝒩. The output automaton typically represents a nontrivial generalisation of the examples given in 𝒫 and 𝒩. To obtain compact output automata, we use a heuristics similar to bisimulation minimisation. The algorithm has time complexity of $\ordo{\negsize \cdot \possize^2}$, where n𝒩 and n𝒫 are the size of 𝒩 and 𝒫, respectively. Experiments are conducted on a prototype implementation, and the empirical results appear to second the theoretical results.

Information

Type
Papers
Copyright
Copyright © Cambridge University Press 2011
Figure 0

Fig. 1. For every v ∈ nodes(s) with s(v) = f(k), the set basicr(v) ⊆ r(v) contains the trees that caused r(v) to be in δf(r(v1), . . ., r(vk)).

Figure 1

Algorithm 1 Derive an FTA from given data

Figure 2

Fig. 2. The automaton A1 accepts the tree s ∈ 𝒩 through the run r. To cancel r, Algorithm 1 computes the mapping basic′r.

Figure 3

Fig. 3. The automaton A2 accepts the tree s ∈ 𝒩 through the run r. To cancel r, Algorithm 1 computes the mappings basic′r and basicr.

Figure 4

Fig. 4. The size of the output automaton as a function of n𝒭 and n𝒩.

Figure 5

Fig. 5. The running time of the prototype (in milliseconds) as a function of n𝒭 and n𝒩.