Research Article
Active Learning of Nondeterministic Finite State Machines
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 ; |
|