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: