A solution of the syntactical induction-inference problem for regular languages

  • Authors:
  • Tsyh-Wen Pao;John W. Carr, III

  • Affiliations:
  • Department of Computer and Information Science, University of Pennsylvania, Philadelphia, PA 19174, U.S.A.;Department of Computer and Information Science, University of Pennsylvania, Philadelphia, PA 19174, U.S.A.

  • Venue:
  • Computer Languages
  • Year:
  • 1978

Quantified Score

Hi-index 0.00

Visualization

Abstract

A Teacher knows a regular language L(G), in the form of a finite state acceptor. A method is described for selecting a set of examples, strings X, each in L(G) as inputs to the Pupil. The Set X is mapped into a lattice W (in Pupil) of finite state machines. A mapping is defined from pairs of machines in the lattice W into strings y, each of which serves as a ''crucial experiment''. The Teacher is asked to decide if the string y belongs to L(G). The process then repeats or terminates. This procedure is shown to converge (if Teacher answers truthfully) to a finite state acceptor accepting only strings of L(G)(which obviously may be brought into canonical, minimal state form). However, this process does not depend on state minimization as an inference method. The only necessary condition for the inference process is that every move (edge) of that finite state acceptor U(X) chosen to correspond to L(G) must be applied at least once in generating some string x in X. A proof is given that if the Teacher answers correctly, the Pupil will infer a machine behaviorally equivalent to the original acceptor U. Elements of the lattice W are constructed by successive refinement of the partitions of the state set of the initial finite state machine U(X). Pairs are chosen in an ordered process and converted to deterministic and completely specified machines, if necessary. The two machines are tested for behavioral equivalence. If they are equivalent, one is eliminated. If not, a testing string y belonging to one machine, but not the other, is constructed and output to the teacher. If y belongs to L(G), one machine is eliminated. If not, y is tested by the Pupil against a sequence of machines generated internally. If only one machine is left, the process terminates, otherwise two new candidate machines are chosen. The algorithm described is relatively simple and easy to understand, but does not necessarily produce a minimal time solution.