Module Swal.Learner

Active learning algorithms for WFAs.

Implements two learners:

type t =
  1. | SWAL
  2. | Angluin

Discriminator tag serialized into the output JSON.

val pp : Ppx_deriving_runtime.Format.formatter -> t -> Ppx_deriving_runtime.unit
val show : t -> Ppx_deriving_runtime.string
val yojson_of_t : t -> Ppx_yojson_conv_lib.Yojson.Safe.t
module Log : sig ... end
module type T = sig ... end

Shared interface satisfied by both SWAL and Angluin.

module Angluin (S : Algebra.Semiring.T) (SMT : Smtml.Solver.S) : T with type aut = Automata.WFA.Make(S).t and type teacher = Teacher.Make(S).t

WL* algorithm (van Heerdt et al.), adapted to weighted automata.

module SWAL (S : Algebra.Semiring.T) (E : Encoding.T with type a = Automata.WFA.Make(S).t and type s = S.t) (SMT : Smtml.Solver.S) : T with type aut = Automata.WFA.Make(S).t and type teacher = Teacher.Make(S).t

SWAL algorithm (Algorithm 1 of the paper).