Categorical Automata Learning Framework
Gerco van Heerdt Matteo Sammartino Alexandra Silva LiVe @ ETAPS 2017 calf-project.org
C ategorical A utomata L earning F ramework calf-project.org Gerco - - PowerPoint PPT Presentation
C ategorical A utomata L earning F ramework calf-project.org Gerco van Heerdt Matteo Sammartino Alexandra Silva LiVe @ ETAPS 2017 Our team Alexandra Silva Joshua Moerman Maverick Chardet Matteo Sammartino Gerco van Heerdt UCL UCL UCL
Gerco van Heerdt Matteo Sammartino Alexandra Silva LiVe @ ETAPS 2017 calf-project.org
Alexandra Silva UCL Gerco van Heerdt UCL
Joshua Moerman Radboud University Maverick Chardet ENS Lyon
Collaborators:
Bartek Klin Warsaw University Michal Szynwelski Warsaw University Matteo Sammartino UCL
Learner queries answers builds System black-box
S
automaton model of
S
Learner queries answers builds System black-box
S
automaton model of
S
set of system behaviors is a regular language Finite alphabet of system’s actions A
L ⊆ A
set of system behaviors is a regular language Finite alphabet of system’s actions A
L ⊆ A
Learner Teacher
L
set of system behaviors is a regular language Finite alphabet of system’s actions A
L ⊆ A
Learner Teacher
L
Q:w ∈ L? A: Y/N
set of system behaviors is a regular language Finite alphabet of system’s actions A
L ⊆ A
Learner Teacher
L
Q:w ∈ L? A: Y/N
L(H) = L?
Q: A: Y / N + counterexample H = hypothesis automaton
H
set of system behaviors is a regular language Finite alphabet of system’s actions A
L ⊆ A
Learner Teacher
L
Q:w ∈ L? A: Y/N Minimal DFA accepting L
L
builds L(H) = L?
Q: A: Y / N + counterexample H = hypothesis automaton
H
Non-deterministic Weighted Register Mealy Machines
Alternating Universal Probabilistic
Non-deterministic Weighted Register Mealy Machines
involved and hard to check
Alternating Universal Probabilistic
Non-deterministic Weighted Register Mealy Machines
involved and hard to check
Alternating Universal Probabilistic
Category theory comes to the rescue!
DFAs
”Q
initQ Q
Endofunctor = automaton type
Category = universe of state-spaces
DFAs
”Q
initQ Q
Endofunctor = automaton type
Category = universe of state-spaces
DFAs
F = (−) × A
C = Set
DFAs
”Q
initQ Q
Endofunctor = automaton type
Category = universe of state-spaces
DFAs
F = (−) × A
C = Set
DFAs
”Q
initQ Q
Endofunctor = automaton type
Category = universe of state-spaces
DFAs
F = (−) × A
C = Set
DFAs
”Q
initQ Q
Endofunctor = automaton type
Category = universe of state-spaces
DFAs
F = (−) × A
C = Set
DFAs
”Q
initQ Q
Endofunctor = automaton type
Category = universe of state-spaces
DFAs
F = (−) × A
C = Set
DFAs
”Q
initQ Q
Endofunctor = automaton type
Category = universe of state-spaces
DFAs
F = (−) × A
C = Set
Abstract observation data structure
Abstract observation data structure approximates
FQ Q
”Q
I
initQ Q
Y
Target minimal automaton
Abstract observation data structure approximates
FQ Q
”Q
I
initQ Q
Y
Target minimal automaton Hypothesis automaton
FH H I Y
”H
initH
abstract closedness and consistency
Abstract observation data structure
General correctness theorem
Guidelines for implementation
approximates
FQ Q
”Q
I
initQ Q
Y
Target minimal automaton Hypothesis automaton
FH H I Y
”H
initH
abstract closedness and consistency
Abstract observation data structure
General correctness theorem
Guidelines for implementation
approximates
FQ Q
”Q
I
initQ Q
Y
Target minimal automaton Hypothesis automaton
FH H I Y
”H
initH
abstract closedness and consistency
CALF: Categorical Automata Learning Framework
Gerco van Heerdt, Matteo Sammartino, Alexandra Silva
(arXiv:1704.05676)
Nom Vect Set DFAs Nominal automata Weighted automata
Nom Vect Set DFAs Nominal automata Weighted automata
NFAs Partial automata Universal automata Alternating automata Powerset Powerset with intersection Double powerset Maybe monad
Nom Vect Set DFAs Nominal automata Weighted automata
Observation tables Discrimination trees
NFAs Partial automata Universal automata Alternating automata Powerset Powerset with intersection Double powerset Maybe monad
Nom Vect Set DFAs Nominal automata Weighted automata
Observation tables Discrimination trees
Learning Nominal Automata (POPL ’17)
Joshua Moerman, Matteo Sammartino, Alexandra Silva, Bartek Klin, Michal Szynwelski
NFAs Partial automata Universal automata Alternating automata Powerset Powerset with intersection Double powerset Maybe monad
Nom Vect Set DFAs Nominal automata Weighted automata
Observation tables Discrimination trees
Learning Nominal Automata (POPL ’17)
Joshua Moerman, Matteo Sammartino, Alexandra Silva, Bartek Klin, Michal Szynwelski
NFAs Partial automata Universal automata Alternating automata Powerset Powerset with intersection Double powerset Maybe monad
Learning Automata with Side-effects
Gerco van Heerdt, Matteo Sammartino, Alexandra Silva
(arXiv:1704.08055)
Automaton type Optimizations
Minimization algorithms Testing algorithms
Automata Learning algorithms
(as nominal automata)