mq only model
Finite attributes around. Exact learning using only membership queries (mq). Scenario: Robot explores labyrinth.
Constrained instance oracle for f: Takes partial assignment P and prediction b, if possible, extends P to a complete assignment A such that f(A) = 1-b.
Lower bound: By information theory, atleast
ae learning
Monotone functions
Learnability in mq only model does not always imply ae learnability for deterministic algorithms.
But, implied for monotone functions. Pf: Let constrained instance oracle be simulated using
Parity fn
To learn any parity fn f, n linearly independent mq are both necessary and sufficient: Consider the
But, rand algorithm can strongly ae learn: Simulate constrained instance oracle by uniformly sampling assignments to unassigned variables and making mq’s with them.
mq and eq model
Learning DFA with membership queries
Keep / update a binary classification tree: leaves are states in actual DFA denoted by access strings; internal nodes are distinguishing strings which lead to accptence from one bunch of states and rejection from another. Make hypothesis DFA thence: sift access string + alphabet + dist. string; Use equivalence queries to get counterexample; simulate prefixes of counterexample in both hypothesis DFA and using membership queries with distinguishing strings in classification tree to distinguish some new state; repeat.
(\textbf{Myhill-Nerode}) So, minimal DFA unique!
Learning without reset, using homing sequence h
Only strongly connected component learnt. Run algorithm in parallel with many start states; For every membership query, execute h first to return to some state; awaken the right algorithm; run the reminder of the pending membership query and other processing.
Find homing sequence h
\textbf{Homing sequence in a DFA}: A string executed on DFA gives a sequence of outputs (+/-); if homing sequence, output sequence determines destination state irrespective of output.
Start with empty h; run no-reset learning algorithm to get a generalized binary classification tree (root can be one of states corresponding to some output sequence for h); if tree outgrows size(DFA) use randomization to find equivalent states: access string1 + dist str and string1 + dist str yield same result (accept / reject); append their distinguishing string to h; repeat.