A determinization algorithm [2,13,14] maintains subsets of states. Each subset is a state in the deterministic machine. To compute the transitions leaving a given subset D, a determinization algorithm computes for each symbol the set of states Q such that and .
In the case of predicates, however, transitions might overlap. For example, one transition may be applicable for high vowels, whereas another transition may be applicable for round vowels. In the determinized pfsr, such overlaps are not allowed. Therefore, we create a separate transition for high and round vowels, another transition for vowels which are high but not round, and a third transition for vowels which are round but not high.
In general, in order to compute the transitions leaving a given subset
D we do as follows. Firstly we compute the function TransD:
, defined as:
. For
example, suppose D={p}, and suppose we have transitions
Let be the predicates in the domain of TransD. For each split
of into two subsets
and
we have a
transition: