Research Article

Active Learning of Nondeterministic Finite State Machines

Algorithm 1

The algorithm .
input: A set of input symbols , the number of repeated queries
output: ONFSM conjecture
 // Construct the initial observation table
(1)set , and update using output queries by asking each query times;
(2)add to for all , and update using output queries by asking each query times;
(3)repeat
    // Check whether the table is closed
(4)  while  found such that , for all   do
(5)   move to ;
(6)   add to for all , and update using output queries by asking each query times;
(7)  end
(8)   make the ONFSM conjecture from ;
(9)  if  the Teacher replies with a counterexample   then
(10)if  any prefix of has been recorded in with a different value, then terminate with no solution;
(11) else
(12)find the longest such that ;
(13)add the input sequence of and all of its suffixes to , and update using output queries by asking each query times;
(14) end
(15)   end
(16)until  the Teacher replies “yes”;
(17)return the conjecture ;