Learning Symbolic Automata Symbolic Learning Conclusion
Learning Regular Languages over Large Alphabets Oded Maler Irini - - PowerPoint PPT Presentation
Learning Regular Languages over Large Alphabets Oded Maler Irini - - PowerPoint PPT Presentation
Learning Symbolic Automata Symbolic Learning Conclusion Learning Regular Languages over Large Alphabets Oded Maler Irini Eleftheria Mens CNRS-VERIMAG University of Grenoble 2, avenue de Vignate 38610 Gieres France TACAS 2014 April 10,
Learning Symbolic Automata Symbolic Learning Conclusion
Outline
Learning Regular Languages Learning regular languages L* Algorithm Queries Observation tables Symbolic Automata Symbolic automata Symbolic languages Symbolic Learning Evidences Symbolic Algorithm Example
Learning Symbolic Automata Symbolic Learning Conclusion
Outline
Learning Regular Languages Learning regular languages L* Algorithm Queries Observation tables Symbolic Automata Symbolic automata Symbolic languages Symbolic Learning Evidences Symbolic Algorithm Example
Learning Symbolic Automata Symbolic Learning Conclusion
Machine learning in general
- given M = {(x, y) | x ∈ X, y ∈ Y }
- find f : X → Y such that f(x) = y
- predict or identify f(x) for all x ∈ X
1 1 2 3 4 5 6 7 1.5 1.0 0.5 0.0 0.5 1.0 1.5 1 1 2 3 4 5 6 7 1.5 1.0 0.5 0.0 0.5 1.0 1.5 1 1 2 3 4 5 6 7 1.5 1.0 0.5 0.0 0.5 1.0 1.5
Learning Symbolic Automata Symbolic Learning Conclusion
Machine learning in general
- given M = {(x, y) | x ∈ X, y ∈ Y }
- find f : X → Y such that f(x) = y
- predict or identify f(x) for all x ∈ X
1 1 2 3 4 5 6 7 1.5 1.0 0.5 0.0 0.5 1.0 1.5 1 1 2 3 4 5 6 7 1.5 1.0 0.5 0.0 0.5 1.0 1.5 1 1 2 3 4 5 6 7 1.5 1.0 0.5 0.0 0.5 1.0 1.5
Learning Symbolic Automata Symbolic Learning Conclusion
Machine learning in general
- given M = {(x, y) | x ∈ X, y ∈ Y }
- find f : X → Y such that f(x) = y
- predict or identify f(x) for all x ∈ X
1 1 2 3 4 5 6 7 1.5 1.0 0.5 0.0 0.5 1.0 1.5 1 1 2 3 4 5 6 7 1.5 1.0 0.5 0.0 0.5 1.0 1.5 1 1 2 3 4 5 6 7 1.5 1.0 0.5 0.0 0.5 1.0 1.5
Learning Symbolic Automata Symbolic Learning Conclusion
Machine learning in general
- given M = {(x, y) | x ∈ X, y ∈ Y }
- find f : X → Y such that f(x) = y
- predict or identify f(x) for all x ∈ X
1 1 2 3 4 5 6 7 1.5 1.0 0.5 0.0 0.5 1.0 1.5 1 1 2 3 4 5 6 7 1.5 1.0 0.5 0.0 0.5 1.0 1.5 1 1 2 3 4 5 6 7 1.5 1.0 0.5 0.0 0.5 1.0 1.5
Learning Symbolic Automata Symbolic Learning Conclusion
Machine learning in general
- given M = {(x, y) | x ∈ X, y ∈ Y }
- find f : X → Y such that f(x) = y
- predict or identify f(x) for all x ∈ X
1 1 2 3 4 5 6 7 1.5 1.0 0.5 0.0 0.5 1.0 1.5 1 1 2 3 4 5 6 7 1.5 1.0 0.5 0.0 0.5 1.0 1.5 1 1 2 3 4 5 6 7 1.5 1.0 0.5 0.0 0.5 1.0 1.5
Learning Symbolic Automata Symbolic Learning Conclusion
Learning regular languages
start q0 q4 3, 4 q6 2 q3 0, 1 1, 2, 3, 4 q2 q5 0, 1, 2, 3, 4 3, 4 2 0, 1 0, 1, 2, 3, 4 1 q1 0, 2, 3, 4 2, 3, 4 1
Learning Symbolic Automata Symbolic Learning Conclusion
Learning regular languages
- Σ alphabet
- L ⊆ Σ∗ an unknown regular language (target language)
u ∈ Σ∗ − → {+, −}
start q0 q4 3, 4 q6 2 q3 0, 1 1, 2, 3, 4 q2 q5 0, 1, 2, 3, 4 3, 4 2 0, 1 0, 1, 2, 3, 4 1 q1 0, 2, 3, 4 2, 3, 4 1
Learning Symbolic Automata Symbolic Learning Conclusion
Learning regular languages
- Σ alphabet
- L ⊆ Σ∗ an unknown regular language (target language)
u ∈ Σ∗ − → {+, −}
start q0 q4 3, 4 q6 2 q3 0, 1 1, 2, 3, 4 q2 q5 0, 1, 2, 3, 4 3, 4 2 0, 1 0, 1, 2, 3, 4 1 q1 0, 2, 3, 4 2, 3, 4 1
Find automaton A, such that L = L(A)
?
Learning Symbolic Automata Symbolic Learning Conclusion
Learning regular languages
- Edward F Moore, 1956
Gedanken-experiments on sequential machines
- E. Mark Gold,1972
System Identification via State Characterization
- Dana Angluin, 1987
Learning regular sets from queries and counterexamples
Learning Symbolic Automata Symbolic Learning Conclusion
Learning regular languages
- Edward F Moore, 1956
Gedanken-experiments on sequential machines
- E. Mark Gold,1972
System Identification via State Characterization
- Dana Angluin, 1987
Learning regular sets from queries and counterexamples
- learning ω- languages [MP95]
- learning parameterized languages [BJR06]
- learning register automata [HSM11, HSJC12]
Learning Symbolic Automata Symbolic Learning Conclusion
L∗ Algorithm
- Active learning using two types of queries
Learning Symbolic Automata Symbolic Learning Conclusion
L∗ Algorithm
- Active learning using two types of queries
Membership Queries
MQ
w ∈ L ?
w ∈ Σ∗ yes / no
Learning Symbolic Automata Symbolic Learning Conclusion
L∗ Algorithm
- Active learning using two types of queries
Membership Queries
MQ
w ∈ L ?
w ∈ Σ∗ yes / no
Equivalence Queries
EQ
L = L(h) ?
h yes / c-ex
Learning Symbolic Automata Symbolic Learning Conclusion
L∗ Algorithm
- Active learning using two types of queries
Membership Queries
MQ
w ∈ L ?
w ∈ Σ∗ yes / no
Equivalence Queries
EQ
L = L(h) ?
h yes / c-ex
- Exactly learns the minimal DFA in polynomial time
- size of automaton (number of states)
- size of alphabet
- length of counterexample
Learning Symbolic Automata Symbolic Learning Conclusion
L∗ Algorithm
+/−
- Initialize
Learning Symbolic Automata Symbolic Learning Conclusion
L∗ Algorithm
+/−
b a c
- Initialize
- Ask MQs
Learning Symbolic Automata Symbolic Learning Conclusion
L∗ Algorithm
+/− +/− +/− +/−
b a c
- Initialize
- Ask MQs
Learning Symbolic Automata Symbolic Learning Conclusion
L∗ Algorithm
+/− +/− +/− +/−
a, b c b a
- Initialize
- Ask MQs
Learning Symbolic Automata Symbolic Learning Conclusion
L∗ Algorithm
+/− +/−
a, b c
- Initialize
- Ask MQs
Learning Symbolic Automata Symbolic Learning Conclusion
L∗ Algorithm
+/− +/−
a, b c a b c
- Initialize
- Ask MQs
Learning Symbolic Automata Symbolic Learning Conclusion
L∗ Algorithm
+/− +/− +/− +/− +/−
a, b c a b c
- Initialize
- Ask MQs
Learning Symbolic Automata Symbolic Learning Conclusion
L∗ Algorithm
+/− +/− +/− +/− +/−
a, b c a, c b a b c
- Initialize
- Ask MQs
Learning Symbolic Automata Symbolic Learning Conclusion
L∗ Algorithm
+/− +/−
a, b c a, c b
- Initialize
- Ask MQs
- When automaton
is well defined Ask EQ
Learning Symbolic Automata Symbolic Learning Conclusion
L∗ Algorithm
+/− +/− +/−
a, b c c a b
- Initialize
- Ask MQs
- When automaton
is well defined Ask EQ
- Use the
counterexample to fix the automaton
Learning Symbolic Automata Symbolic Learning Conclusion
L∗ Algorithm
+/− +/− +/−
. . .
a, b c c a b
- Initialize
- Ask MQs
- When automaton
is well defined Ask EQ
- Use the
counterexample to fix the automaton
- . . .
Learning Symbolic Automata Symbolic Learning Conclusion
Observation Table - T = (Σ, S, R, E, f)
ǫ a ǫ − + a + + b − − ba − − aa + + ab + + bb − − baa − − bab − −
- Σ = {a, b}
Learning Symbolic Automata Symbolic Learning Conclusion
Observation Table - T = (Σ, S, R, E, f)
ǫ a ǫ − + a + + b − − ba − − aa + + ab + + bb − − baa − − bab − −
- Σ = {a, b}
- S ⊆ Σ∗ prefixes
Learning Symbolic Automata Symbolic Learning Conclusion
Observation Table - T = (Σ, S, R, E, f)
ǫ a ǫ − + a + + b − − ba − − aa + + ab + + bb − − baa − − bab − −
- Σ = {a, b}
- S ⊆ Σ∗ prefixes
- R = S · Σ \ S boundary
Learning Symbolic Automata Symbolic Learning Conclusion
Observation Table - T = (Σ, S, R, E, f)
ǫ a ǫ − + a + + b − − ba − − aa + + ab + + bb − − baa − − bab − −
- Σ = {a, b}
- S ⊆ Σ∗ prefixes
- R = S · Σ \ S boundary
- E ⊆ Σ∗ suffixes
Learning Symbolic Automata Symbolic Learning Conclusion
Observation Table - T = (Σ, S, R, E, f)
ǫ a ǫ − + a + + b − − ba − − aa + + ab + + bb − − baa − − bab − −
- Σ = {a, b}
- S ⊆ Σ∗ prefixes
- R = S · Σ \ S boundary
- E ⊆ Σ∗ suffixes
- f : S ∪ R × E → {+, −} classification
function
Learning Symbolic Automata Symbolic Learning Conclusion
Observation Table - T = (Σ, S, R, E, f)
ǫ a ǫ − + a + + b − − ba − − aa + + ab + + bb − − baa − − bab − −
- Σ = {a, b}
- S ⊆ Σ∗ prefixes
- R = S · Σ \ S boundary
- E ⊆ Σ∗ suffixes
- f : S ∪ R × E → {+, −} classification
function
Learning Symbolic Automata Symbolic Learning Conclusion
Observation Table - T = (Σ, S, R, E, f)
ǫ a ǫ − + a + + b − − ba − − aa + + ab + + bb − − baa − − bab − −
- Σ = {a, b}
- S ⊆ Σ∗ prefixes
- R = S · Σ \ S boundary
- E ⊆ Σ∗ suffixes
- f : S ∪ R × E → {+, −} classification
function
Learning Symbolic Automata Symbolic Learning Conclusion
Observation Table - T = (Σ, S, R, E, f)
ǫ a ǫ − + a + + b − − ba − − aa + + ab + + bb − − baa − − bab − −
- Σ = {a, b}
- S ⊆ Σ∗ prefixes
- R = S · Σ \ S boundary
- E ⊆ Σ∗ suffixes
- f : S ∪ R × E → {+, −} classification
function
- fs : E → {+, −} for all s ∈ S ∪ R
fs(e) = f(s · e)
Learning Symbolic Automata Symbolic Learning Conclusion
Observation Table - T = (Σ, S, R, E, f)
ǫ a ǫ − + a + + b − − ba − − aa + + ab + + bb − − baa − − bab − −
- Σ = {a, b}
- S ⊆ Σ∗ prefixes
- R = S · Σ \ S boundary
- E ⊆ Σ∗ suffixes
- f : S ∪ R × E → {+, −} classification
function
- fs : E → {+, −} for all s ∈ S ∪ R
fs(e) = f(s · e)
Learning Symbolic Automata Symbolic Learning Conclusion
Observation Table - T = (Σ, S, R, E, f)
ǫ a ǫ − + a + + b − − ba − − aa + + ab + + bb − − baa − − bab − −
- Σ = {a, b}
- S ⊆ Σ∗ prefixes
- R = S · Σ \ S boundary
- E ⊆ Σ∗ suffixes
- f : S ∪ R × E → {+, −} classification
function
- fs : E → {+, −} for all s ∈ S ∪ R
fs(e) = f(s · e)
Learning Symbolic Automata Symbolic Learning Conclusion
Observation Table - T = (Σ, S, R, E, f)
ǫ a ǫ − + a + + b − − ba − − aa + + ab + + bb − − baa − − bab − −
- Σ = {a, b}
- S ⊆ Σ∗ prefixes
- R = S · Σ \ S boundary
- E ⊆ Σ∗ suffixes
- f : S ∪ R × E → {+, −} classification
function
- fs : E → {+, −} for all s ∈ S ∪ R
fs(e) = f(s · e)
Learning Symbolic Automata Symbolic Learning Conclusion
Observation Table - T = (Σ, S, R, E, f)
ǫ a ǫ − + a + + b − − ba − − aa + + ab + + bb − − baa − − bab − −
Learning Symbolic Automata Symbolic Learning Conclusion
Observation Table - T = (Σ, S, R, E, f)
ǫ a ǫ − + a + + b − − ba − − aa + + ab + + bb − − baa − − bab − −
q0 q1 q2
Learning Symbolic Automata Symbolic Learning Conclusion
Observation Table - T = (Σ, S, R, E, f)
ǫ a ǫ − + a + + b − − ba − − aa + + ab + + bb − − baa − − bab − −
q0 q1 q2
a b
Learning Symbolic Automata Symbolic Learning Conclusion
Observation Table - T = (Σ, S, R, E, f)
ǫ a ǫ − + a + + b − − ba − − aa + + ab + + bb − − baa − − bab − −
q0 q1 q2
a b a, b
Learning Symbolic Automata Symbolic Learning Conclusion
Observation Table - T = (Σ, S, R, E, f)
ǫ a ǫ − + a + + b − − ba − − aa + + ab + + bb − − baa − − bab − −
q0 q1 q2
a b a, b a, b
Learning Symbolic Automata Symbolic Learning Conclusion
Observation Table - T = (Σ, S, R, E, f)
ǫ a ǫ − + a + + b − − ba − − aa + + ab + + bb − − baa − − bab − −
q0 q1 q2
a b a, b a, b
Learning Symbolic Automata Symbolic Learning Conclusion
Observation Table - T = (Σ, S, R, E, f)
ǫ a ǫ − + a + + b − − ba − − aa + + ab + + bb − − baa − − bab − −
- S ∪ R is prefix-closed
q0 q1 q2
a b a, b a, b
Learning Symbolic Automata Symbolic Learning Conclusion
Observation Table - T = (Σ, S, R, E, f)
ǫ a ǫ − + a + + b − − ba − − aa + + ab + + bb − − baa − − bab − −
- S ∪ R is prefix-closed
- E is suffix-closed
q0 q1 q2
a b a, b a, b
Learning Symbolic Automata Symbolic Learning Conclusion
Observation Table - T = (Σ, S, R, E, f)
ǫ a ǫ − + a + + b − − ba − − aa + + ab + + bb − − baa − − bab − −
- S ∪ R is prefix-closed
- E is suffix-closed
q0 q1 q2
a b a, b a, b
- T closed
∀r ∈ R, ∃s ∈ S, fr = fs
Learning Symbolic Automata Symbolic Learning Conclusion
Observation Table - T = (Σ, S, R, E, f)
ǫ a ǫ − + a + + b − − ba − − aa + + ab + + bb − − baa − − bab + −
- S ∪ R is prefix-closed
- E is suffix-closed
q0 q1 q2
a b a, b a, b
- T closed
∀r ∈ R, ∃s ∈ S, fr = fs
Learning Symbolic Automata Symbolic Learning Conclusion
Observation Table - T = (Σ, S, R, E, f)
ǫ a ǫ − + a + + b − − ba − − bab + − aa + + ab + + bb − − baa − − : : :
- S ∪ R is prefix-closed
- E is suffix-closed
q0 q1 q2 q3
a b a, b a, b b
- T closed
∀r ∈ R, ∃s ∈ S, fr = fs
Learning Symbolic Automata Symbolic Learning Conclusion
Observation Table - T = (Σ, S, R, E, f)
ǫ a ǫ − + a + + b − − ba − − bab + − aa + + ab + + bb − − baa − − : : :
- S ∪ R is prefix-closed
- E is suffix-closed
q0 q1 q2 q3
a b a, b a, b b
- T closed
∀r ∈ R, ∃s ∈ S, fr = fs
- T consistent
∀s, s′ ∈ S, ∀a ∈ Σ, fs = fs′ ⇒ fs·a = fs′·a
Learning Symbolic Automata Symbolic Learning Conclusion
Observation Table - T = (Σ, S, R, E, f)
ǫ a ǫ − + a + + b − − ba − − bab + − aa + + ab + + bb − − baa − − : : :
- S ∪ R is prefix-closed
- E is suffix-closed
q0 q1 q2 q3
a b a, b a, b b
- T closed
∀r ∈ R, ∃s ∈ S, fr = fs
- T consistent
∀s, s′ ∈ S, ∀a ∈ Σ, fs = fs′ ⇒ fs·a = fs′·a
Learning Symbolic Automata Symbolic Learning Conclusion
Observation Table - T = (Σ, S, R, E, f)
ǫ a ǫ − + a + + b − − ba − − bab + − aa + + ab + + bb − − baa − − : : :
- S ∪ R is prefix-closed
- E is suffix-closed
q0 q1 q2 q3
a b a, b a, b b
- T closed
∀r ∈ R, ∃s ∈ S, fr = fs
- T consistent
∀s, s′ ∈ S, ∀a ∈ Σ, fs = fs′ ⇒ fs·a = fs′·a
Learning Symbolic Automata Symbolic Learning Conclusion
Observation Table - T = (Σ, S, R, E, f)
ǫ a b ǫ − + a + + b − − ba − − bab + − aa + + ab + + bb − − baa − − : : :
- S ∪ R is prefix-closed
- E is suffix-closed
q0 q1 q2 q3
a b a, b a, b b
- T closed
∀r ∈ R, ∃s ∈ S, fr = fs
- T consistent
∀s, s′ ∈ S, ∀a ∈ Σ, fs = fs′ ⇒ fs·a = fs′·a
Learning Symbolic Automata Symbolic Learning Conclusion
Observation Table - T = (Σ, S, R, E, f)
ǫ a b ǫ − + : a + + : b − − − ba − − + bab + − : aa + + : ab + + : bb − − : baa − − : : : : :
- S ∪ R is prefix-closed
- E is suffix-closed
q0 q1 q2 q3 q4
? a b a, b b a a b
a, b
- T closed
∀r ∈ R, ∃s ∈ S, fr = fs
- T consistent
∀s, s′ ∈ S, ∀a ∈ Σ, fs = fs′ ⇒ fs·a = fs′·a
Learning Symbolic Automata Symbolic Learning Conclusion
L∗ Example (Σ = {a, b})
Learning Symbolic Automata Symbolic Learning Conclusion
L∗ Example (Σ = {a, b})
- bservation table
ǫ ǫ − a b
hypothesis automaton
q0
?
a, b
Learning Symbolic Automata Symbolic Learning Conclusion
L∗ Example (Σ = {a, b})
- bservation table
ǫ ǫ − a + b −
hypothesis automaton
q0
?
a, b
Learning Symbolic Automata Symbolic Learning Conclusion
L∗ Example (Σ = {a, b})
- bservation table
ǫ ǫ − a + b −
hypothesis automaton
q0
?
a, b
Learning Symbolic Automata Symbolic Learning Conclusion
L∗ Example (Σ = {a, b})
- bservation table
ǫ ǫ − a + b −
hypothesis automaton
q0 q1
? a b
a, b
Learning Symbolic Automata Symbolic Learning Conclusion
L∗ Example (Σ = {a, b})
- bservation table
ǫ ǫ − a + b − aa ab
hypothesis automaton
q0 q1
? a b
a, b
Learning Symbolic Automata Symbolic Learning Conclusion
L∗ Example (Σ = {a, b})
- bservation table
ǫ ǫ − a + b − aa − ab +
hypothesis automaton
q0 q1
? a b
a, b
Learning Symbolic Automata Symbolic Learning Conclusion
L∗ Example (Σ = {a, b})
- bservation table
ǫ ǫ − a + b − aa − ab +
hypothesis automaton
q0 q1
? a b
a, b
Learning Symbolic Automata Symbolic Learning Conclusion
L∗ Example (Σ = {a, b})
- bservation table
ǫ ǫ − a + b − aa − ab +
hypothesis automaton
q0 q1
a b b a
Learning Symbolic Automata Symbolic Learning Conclusion
L∗ Example (Σ = {a, b})
- bservation table
ǫ ǫ − a + b − aa − ab +
hypothesis automaton
q0 q1
a b b a
Ask Equivalence Query:
counterexample: −ba
Learning Symbolic Automata Symbolic Learning Conclusion
L∗ Example (Σ = {a, b})
- bservation table
ǫ ǫ − a + ba − b − aa − ab +
hypothesis automaton
q0 q1
a b b a
counterexample: −ba
Learning Symbolic Automata Symbolic Learning Conclusion
L∗ Example (Σ = {a, b})
- bservation table
ǫ ǫ − a + b − ba − aa − ab +
hypothesis automaton
q0 q1
a b b a
counterexample: −ba
Learning Symbolic Automata Symbolic Learning Conclusion
L∗ Example (Σ = {a, b})
- bservation table
ǫ ǫ − a + b − ba − aa − ab + bb baa bab
hypothesis automaton
q0 q1
a b b a
Learning Symbolic Automata Symbolic Learning Conclusion
L∗ Example (Σ = {a, b})
- bservation table
ǫ ǫ − a + b − ba − aa − ab + bb + baa − bab +
hypothesis automaton
q0 q1
a b b a
Learning Symbolic Automata Symbolic Learning Conclusion
L∗ Example (Σ = {a, b})
- bservation table
ǫ ǫ − a + b − ba − aa − ab + bb + baa − bab +
hypothesis automaton
q0 q1
a b b a
Table is not consistent!
Learning Symbolic Automata Symbolic Learning Conclusion
L∗ Example (Σ = {a, b})
- bservation table
ǫ ǫ − a + b − b a − aa − ab + bb + baa − bab +
hypothesis automaton
q0 q1
a b b a
Table is not consistent!
Learning Symbolic Automata Symbolic Learning Conclusion
L∗ Example (Σ = {a, b})
- bservation table
ǫ a ǫ − a + b − b a − aa − ab + bb + baa − bab +
hypothesis automaton
q0 q1
a b b a
Table is not consistent!
Learning Symbolic Automata Symbolic Learning Conclusion
L∗ Example (Σ = {a, b})
- bservation table
ǫ a ǫ − + a + − b − − b a − − aa − ab + bb + baa − bab +
hypothesis automaton
q0 q1 q2
a b b a b
Learning Symbolic Automata Symbolic Learning Conclusion
L∗ Example (Σ = {a, b})
- bservation table
ǫ a ǫ − + a + − b − − b a − − aa − + ab + − bb + − baa − − bab + −
hypothesis automaton
q0 q1 q2
a b b a b
Learning Symbolic Automata Symbolic Learning Conclusion
L∗ Example (Σ = {a, b})
- bservation table
ǫ a ǫ − + a + − b − − ba − − aa − + ab + − bb + − baa − − bab + −
hypothesis automaton
q0 q1 q2
a b b a b a
Learning Symbolic Automata Symbolic Learning Conclusion
L∗ Example (Σ = {a, b})
- bservation table
ǫ a ǫ − + a + − b − − ba − − aa − + ab + − bb + − baa − − bab + −
hypothesis automaton
q0 q1 q2
a b b a b a
Ask Equivalence Query:
True
Learning Symbolic Automata Symbolic Learning Conclusion
Outline
Learning Regular Languages Learning regular languages L* Algorithm Queries Observation tables Symbolic Automata Symbolic automata Symbolic languages Symbolic Learning Evidences Symbolic Algorithm Example
Learning Symbolic Automata Symbolic Learning Conclusion
Deterministic Symbolic Automaton
q0 q1 q2 q3 q4 [1, 50] [51, 100] [1] [2, 72] [1, 20] [51, 70] [1, 50], [71, 100] [73, 100] [21, 100] Σ
Σ = [1, 100] ⊆ N
Learning Symbolic Automata Symbolic Learning Conclusion
Deterministic Symbolic Automaton
q0 q1 q2 q3 q4 [1] [1, 50], [71, 100] Σ [1, 50] [51, 100] [2, 72] [1, 20] [51, 70] [73, 100] [21, 100]
Σ = [1, 100] ⊆ N
Learning Symbolic Automata Symbolic Learning Conclusion
Deterministic Symbolic Automaton
q0 q1 q2 q3 q4 [1, 50] [51, 100] [1] [2, 72] [1, 20] [51, 70] [1, 50], [71, 100] [73, 100] [21, 100] Σ
Σ = [1, 100] ⊆ N
Learning Symbolic Automata Symbolic Learning Conclusion
Deterministic Symbolic Automaton
q0 q1 q2 q3 q4 [1] [2, 72] [73, 100] [1, 50] [51, 100] [1, 20] [51, 70] [1, 50], [71, 100] [21, 100] Σ
Σ = [1, 100] ⊆ N
Learning Symbolic Automata Symbolic Learning Conclusion
Deterministic Symbolic Automaton
q0 q1 q2 q3 q4 [1, 50] [51, 100] [1] [2, 72] [1, 20] [51, 70] [1, 50], [71, 100] [73, 100] [21, 100] Σ
Σ = [1, 100] ⊆ N
Learning Symbolic Automata Symbolic Learning Conclusion
Deterministic Symbolic Automaton
q0 q1 q2 q3 q4 [1, 50] [51, 100] [1] [2, 72] [1, 20] [51, 70] [1, 50], [71, 100] [73, 100] [21, 100] Σ
Σ = [1, 100] ⊆ N
Learning Symbolic Automata Symbolic Learning Conclusion
Deterministic Symbolic Automaton
q0 q1 q2 q3 q4 [1, 50] [51, 100] [1] [2, 72] [1, 20] [51, 70] [1, 50], [71, 100] [73, 100] [21, 100] Σ
a01 a02 a11 a12 a22 a32 a31, a33 a13 a21 a41
Σ = [1, 100] ⊆ N a01 = [1, 50] a02 = [51, 100] a11 = . . . . . .
Learning Symbolic Automata Symbolic Learning Conclusion
Deterministic Symbolic Automaton
q0 q1 q2 q3 q4 [1, 50] [51, 100] [1] [2, 72] [1, 20] [51, 70] [1, 50], [71, 100] [73, 100] [21, 100] Σ
a01 a02 a11 a12 a22 a32 a31, a33 a13 a21 a41
Σ = [1, 100] ⊆ N a01 = [1, 50] a02 = [51, 100] a11 = . . . . . . Σ = {a01, a02, . . . }
Learning Symbolic Automata Symbolic Learning Conclusion
Deterministic Symbolic Automaton
q0 q1 q2 q3 q4 [1, 50] [51, 100] [1] [2, 72] [1, 20] [51, 70] [1, 50], [71, 100] [73, 100] [21, 100] Σ
a01 a02 a11 a12 a22 a32 a31, a33 a13 a21 a41
Σ = [1, 100] ⊆ N a01 = [1, 50] a02 = [51, 100] a11 = . . . . . . Σ = {a01, a02, . . . } Σq0 = {a01, a02} Σq1 = {a11, a12, a13} . . .
Learning Symbolic Automata Symbolic Learning Conclusion
Deterministic Symbolic Automaton
q0 q1 q2 q3 q4 [1, 50] [51, 100] [1] [2, 72] [1, 20] [51, 70] [1, 50], [71, 100] [73, 100] [21, 100] Σ
a01 a02 a11 a12 a22 a32 a31, a33 a13 a21 a41
Σ = [1, 100] ⊆ N a01 = [1, 50] a02 = [51, 100] a11 = . . . . . . Σ = {a01, a02, . . . } Σq0 = {a01, a02} Σq1 = {a11, a12, a13} . . .
- a∈Σq
a = Σ
Learning Symbolic Automata Symbolic Learning Conclusion
Deterministic Symbolic Automaton
q0 q1 q2 q3 q4 [1, 50] [51, 100] [1] [2, 72] [1, 20] [51, 70] [1, 50], [71, 100] [73, 100] [21, 100] Σ
a01 a02 a11 a12 a22 a32 a31, a33 a13 a21 a41
Σ = [1, 100] ⊆ N a01 = [1, 50] a02 = [51, 100] a11 = . . . . . . Σ = {a01, a02, . . . } Σq0 = {a01, a02} Σq1 = {a11, a12, a13} . . .
- a∈Σq
a = Σ ψq : Σ → Σq, ∀q ∈ Q
Learning Symbolic Automata Symbolic Learning Conclusion
Deterministic Symbolic Automaton
q0 q1 q2 q3 q4 [1, 50] [51, 100] [1] [2, 72] [1, 20] [51, 70] [1, 50], [71, 100] [73, 100] [21, 100] Σ
a01 a02 a11 a12 a22 a32 a31, a33 a13 a21 a41
Σ = [1, 100] ⊆ N a01 = [1, 50] a02 = [51, 100] a11 = . . . . . . Σ = {a01, a02, . . . } Σq0 = {a01, a02} Σq1 = {a11, a12, a13} . . .
- a∈Σq
a = Σ ψq : Σ → Σq, ∀q ∈ Q ψq1(10) = a12
Learning Symbolic Automata Symbolic Learning Conclusion
Deterministic Symbolic Automaton
q0 q1 q2 q3 q4 [1, 50] [51, 100] [1] [2, 72] [1, 20] [51, 70] [1, 50], [71, 100] [73, 100] [21, 100] Σ
a01 a02 a11 a12 a22 a32 a31, a33 a13 a21 a41
Σ = [1, 100] ⊆ N a01 = [1, 50] a02 = [51, 100] a11 = . . . . . . Σ = {a01, a02, . . . } Σq0 = {a01, a02} Σq1 = {a11, a12, a13} . . .
- a∈Σq
a = Σ ψq : Σ → Σq, ∀q ∈ Q ψq1(10) = a12
δ : Q × Σ → Q
Learning Symbolic Automata Symbolic Learning Conclusion
Deterministic Symbolic Automaton
q0 q1 q2 q3 q4 [1, 50] [51, 100] [1] [2, 72] [1, 20] [51, 70] [1, 50], [71, 100] [73, 100] [21, 100] Σ
a01 a02 a11 a12 a22 a32 a31, a33 a13 a21 a41
Σ = [1, 100] ⊆ N a01 = [1, 50] a02 = [51, 100] a11 = . . . . . . Σ = {a01, a02, . . . } Σq0 = {a01, a02} Σq1 = {a11, a12, a13} . . .
- a∈Σq
a = Σ ψq : Σ → Σq, ∀q ∈ Q ψq1(10) = a12
δ : Q × Σ → Q
δ(q, a) = q′ iff δ(q, a) = q′, a ∈ a
Learning Symbolic Automata Symbolic Learning Conclusion
Deterministic Symbolic Automaton
A = (Σ, Σ, ψ, Q, δ, q0, F)
Learning Symbolic Automata Symbolic Learning Conclusion
Deterministic Symbolic Automaton
A = (Σ, Σ, ψ, Q, δ, q0, F), where
- Σ is the input alphabet,
- Q is a finite set of states,
- q0 is the initial state,
- F is the set of accepting states,
Learning Symbolic Automata Symbolic Learning Conclusion
Deterministic Symbolic Automaton
A = (Σ, Σ, ψ, Q, δ, q0, F), where
- Σ is the input alphabet,
- Q is a finite set of states,
- q0 is the initial state,
- F is the set of accepting states,
- Σ is a finite alphabet, decomposable into Σ =
q∈Q Σq,
Learning Symbolic Automata Symbolic Learning Conclusion
Deterministic Symbolic Automaton
A = (Σ, Σ, ψ, Q, δ, q0, F), where
- Σ is the input alphabet,
- Q is a finite set of states,
- q0 is the initial state,
- F is the set of accepting states,
- Σ is a finite alphabet, decomposable into Σ =
q∈Q Σq,
- ψ = {ψq : q ∈ Q} is a family of total surjective functions
ψq : Σ → Σq,
Learning Symbolic Automata Symbolic Learning Conclusion
Deterministic Symbolic Automaton
A = (Σ, Σ, ψ, Q, δ, q0, F), where
- Σ is the input alphabet,
- Q is a finite set of states,
- q0 is the initial state,
- F is the set of accepting states,
- Σ is a finite alphabet, decomposable into Σ =
q∈Q Σq,
- ψ = {ψq : q ∈ Q} is a family of total surjective functions
ψq : Σ → Σq,
- δ : Q × Σ → Q is a partial transition function decomposable into
a family of total functions δq : {q} × Σq → Q,
Learning Symbolic Automata Symbolic Learning Conclusion
Deterministic Symbolic Automaton
A = (Σ, Σ, ψ, Q, δ, q0, F), where
- Σ is the input alphabet,
- Q is a finite set of states,
- q0 is the initial state,
- F is the set of accepting states,
- Σ is a finite alphabet, decomposable into Σ =
q∈Q Σq,
- ψ = {ψq : q ∈ Q} is a family of total surjective functions
ψq : Σ → Σq,
- δ : Q × Σ → Q is a partial transition function decomposable into
a family of total functions δq : {q} × Σq → Q,
w = a1a2 . . . an accepted δ∗(q0, a1a2 . . . an) = δ∗(δ(q0, ψq(a1)), a2 . . . an) ∈ F
Learning Symbolic Automata Symbolic Learning Conclusion
Deterministic Symbolic Automaton
A = (Σ, Σ, ψ, Q, δ, q0, F), where
- Σ is the input alphabet,
- Q is a finite set of states,
- q0 is the initial state,
- F is the set of accepting states,
- Σ is a finite alphabet, decomposable into Σ =
q∈Q Σq,
- ψ = {ψq : q ∈ Q} is a family of total surjective functions
ψq : Σ → Σq,
- δ : Q × Σ → Q is a partial transition function decomposable into
a family of total functions δq : {q} × Σq → Q,
L(A) = {w ∈ Σ∗|δ∗(q0, w) ∈ F}
w = a1a2 . . . an accepted δ∗(q0, a1a2 . . . an) = δ∗(δ(q0, ψq(a1)), a2 . . . an) ∈ F
Learning Symbolic Automata Symbolic Learning Conclusion
Outline
Learning Regular Languages Learning regular languages L* Algorithm Queries Observation tables Symbolic Automata Symbolic automata Symbolic languages Symbolic Learning Evidences Symbolic Algorithm Example
Learning Symbolic Automata Symbolic Learning Conclusion
Symbolic Algorithm
Evidences
q0 q1 q2 q3 q4 [1, 50] [51, 100] [1] [2, 72] [1, 20] [51, 70] [1, 50], [71, 100] [73, 100] [21, 100] Σ
a01 a02 a11 a12 a22 a32 a31, a33 a13 a21 a41
Learning Symbolic Automata Symbolic Learning Conclusion
Symbolic Algorithm
Evidences
q0 q1 q2 q3 q4 [1, 50] [51, 100] [1] [2, 72] [1, 20] [51, 70] [1, 50], [71, 100] [73, 100] [21, 100] Σ 1
a01
51
a02
1
a11
2
a12
1
a22
51
a32
1
a31,
71
a33
73
a13
21
a21
1
a41
µ : Σ → Σ
Learning Symbolic Automata Symbolic Learning Conclusion
Symbolic Algorithm
Evidences
q0 q1 q2 q3 q4 [1, 50] [51, 100] [1] [2, 72] [1, 20] [51, 70] [1, 50], [71, 100] [73, 100] [21, 100] Σ 1
a01
51
a02
1
a11
2
a12
1
a22
51
a32
1
a31,
71
a33
73
a13
21
a21
1
a41
µ : Σ → Σ
Counterexample
minimal
- length
- lexicographically
Learning Symbolic Automata Symbolic Learning Conclusion
Symbolic Algorithm
Evidences
q0 q1 q2 q3 q4 [1, 50] [51, 100] [1] [2, 72] [1, 20] [51, 70] [1, 50], [71, 100] [73, 100] [21, 100] Σ 1
a01
51
a02
1
a11
2
a12
1
a22
51
a32
1
a31,
71
a33
73
a13
21
a21
1
a41
µ : Σ → Σ µ(a) = min{a ∈ Σ | ψ(a) = a} µ(a01) = 1 µ(a02) = 51 . . . µ(a) ⊆ [a]
Counterexample
minimal
- length
- lexicographically
Learning Symbolic Automata Symbolic Learning Conclusion
Symbolic Algorithm
Evidences
q0 q1 q2 q3 q4 [1, 50] [51, 100] [1] [2, 72] [1, 20] [51, 70] [1, 50], [71, 100] [73, 100] [21, 100] Σ 1
a01
51
a02
1
a11
2
a12
1
a22
51
a32
1
a31,
71
a33
73
a13
21
a21
1
a41
µ : Σ → Σ µ(a) = min{a ∈ Σ | ψ(a) = a} µ(a01) = 1 µ(a02) = 51 . . . µ(a) ⊆ [a]
Counterexample
minimal
- length
- lexicographically
- Discover new states
- Refine partitions
Learning Symbolic Automata Symbolic Learning Conclusion
Symbolic Algorithm
Evidences
q0 q1 q2 q3 q4 [1, 50] [51, 100] [1] [2, 72] [1, 20] [51, 70] [1, 50], [71, 100] [73, 100] [21, 100] Σ 1
a01
51
a02
1
a11
2
a12
1
a22
51
a32
1
a31,
71
a33
73
a13
21
a21
1
a41
µ : Σ → Σ µ(a) = min{a ∈ Σ | ψ(a) = a} µ(a01) = 1 µ(a02) = 51 . . . µ(a) ⊆ [a]
Counterexample
minimal
- length
- lexicographically
- Discover new states
- Refine partitions
- Split a symbolic letter
- Move letters from one
symbolic letter to another
Learning Symbolic Automata Symbolic Learning Conclusion
Symbolic Algorithm
Evidences
q0 q1 q2 q3 q4 [1, 50] [51, 100] [1] [2, 72] [1, 20] [51, 70] [1, 50], [71, 100] [73, 100] [21, 100] Σ 1
a01
51
a02
1
a11
2
a12
1
a22
51
a32
1
a31,
71
a33
73
a13
21
a21
1
a41
µ : Σ → Σ µ(a) = min{a ∈ Σ | ψ(a) = a} µ(a01) = 1 µ(a02) = 51 . . . µ(a) ⊆ [a]
Counterexample
minimal
- length
- lexicographically
- Discover new states
- Refine partitions
- Split a symbolic letter
- Move letters from one
symbolic letter to another
All evidences of the same symbolic letter behave the same evidence compatibility
Learning Symbolic Automata Symbolic Learning Conclusion
Symbolic algorithm
Repeat
- Create symbolic letters for all states and set evidences
- Ask MQs to complete the observation table
- Find observation table that is closed, consistent and
evidence compatible
- Ask EQ
- Use the counterexample to update the table
- Discover new state (vertical expansion)
- Refine symbolic letters (horizontal expansion)
Learning Symbolic Automata Symbolic Learning Conclusion
Example (Σ = [1, 100])
- bservation table
ǫ ǫ
ψ = {ψs}s∈S hypothesis automaton
Learning Symbolic Automata Symbolic Learning Conclusion
Example (Σ = [1, 100])
- bservation table
ǫ ǫ −
ψ = {ψs}s∈S
ψǫ
hypothesis automaton
Learning Symbolic Automata Symbolic Learning Conclusion
Example (Σ = [1, 100])
- bservation table
ǫ ǫ −
1
a0
ψ = {ψs}s∈S
ψǫ [a0] = [1, 100]
hypothesis automaton
Learning Symbolic Automata Symbolic Learning Conclusion
Example (Σ = [1, 100])
- bservation table
ǫ ǫ −
1
a0 +
ψ = {ψs}s∈S
ψǫ [a0] = [1, 100]
hypothesis automaton
Learning Symbolic Automata Symbolic Learning Conclusion
Example (Σ = [1, 100])
- bservation table
ǫ ǫ −
1
a0 +
ψ = {ψs}s∈S
ψǫ [a0] = [1, 100]
hypothesis automaton
q0 q1
Σ
Learning Symbolic Automata Symbolic Learning Conclusion
Example (Σ = [1, 100])
- bservation table
ǫ ǫ −
1
a0 +
ψ = {ψs}s∈S
ψǫ [a0] = [1, 100] ψa0
hypothesis automaton
q0 q1
Σ
Learning Symbolic Automata Symbolic Learning Conclusion
Example (Σ = [1, 100])
- bservation table
ǫ ǫ −
1
a0 +
1
a0
1
a1
ψ = {ψs}s∈S
ψǫ [a0] = [1, 100] ψa0 [a1] = [1, 100]
hypothesis automaton
q0 q1
Σ
Learning Symbolic Automata Symbolic Learning Conclusion
Example (Σ = [1, 100])
- bservation table
ǫ ǫ −
1
a0 +
1
a0
1
a1 −
ψ = {ψs}s∈S
ψǫ [a0] = [1, 100] ψa0 [a1] = [1, 100]
hypothesis automaton
q0 q1
Σ Σ
Ask Equivalence Query:
Learning Symbolic Automata Symbolic Learning Conclusion
Example (Σ = [1, 100])
- bservation table
ǫ ǫ −
1
a0 +
1
a0
1
a1 −
ψ = {ψs}s∈S
ψǫ [a0] = [1, 100] ψa0 [a1] = [1, 100]
hypothesis automaton
q0 q1
Σ Σ
Ask Equivalence Query:
counterexample − 24
Learning Symbolic Automata Symbolic Learning Conclusion
Example (Σ = [1, 100])
- bservation table
ǫ ǫ −
1
a0 +
1
a0
1
a1 −
24
a2
ψ = {ψs}s∈S
ψǫ [a0] = [1, 23] [a2] = [24, 100] ψa0 [a1] = [1, 100]
hypothesis automaton
q0 q1
[1, 23] Σ
Ask Equivalence Query:
counterexample − 24
Learning Symbolic Automata Symbolic Learning Conclusion
Example (Σ = [1, 100])
- bservation table
ǫ ǫ −
1
a0 +
1
a0
1
a1 −
24
a2 −
ψ = {ψs}s∈S
ψǫ [a0] = [1, 23] [a2] = [24, 100] ψa0 [a1] = [1, 100]
hypothesis automaton
q0 q1
[1, 23] Σ
Ask Equivalence Query:
counterexample − 24
Learning Symbolic Automata Symbolic Learning Conclusion
Example (Σ = [1, 100])
- bservation table
ǫ ǫ −
1
a0 +
1
a0
1
a1 −
24
a2 −
ψ = {ψs}s∈S
ψǫ [a0] = [1, 23] [a2] = [24, 100] ψa0 [a1] = [1, 100]
hypothesis automaton
q0 q1
[24, 100] [1, 23] Σ
Ask Equivalence Query:
Learning Symbolic Automata Symbolic Learning Conclusion
Example (Σ = [1, 100])
- bservation table
ǫ ǫ −
1
a0 +
1
a0
1
a1 −
24
a2 −
ψ = {ψs}s∈S
ψǫ [a0] = [1, 23] [a2] = [24, 100] ψa0 [a1] = [1, 100]
hypothesis automaton
q0 q1
[24, 100] [1, 23] Σ
Ask Equivalence Query:
counterexample
+ 1 · 66
Learning Symbolic Automata Symbolic Learning Conclusion
Example (Σ = [1, 100])
- bservation table
ǫ ǫ −
1
a0 +
1
a0
1
a1 −
24
a2 −
ψ = {ψs}s∈S
ψǫ [a0] = [1, 23] [a2] = [24, 100] ψa0 [a1] = [1, 100]
hypothesis automaton
q0 q1
[24, 100] [1, 23] Σ
Ask Equivalence Query:
counterexample
+ 1 · 66
Learning Symbolic Automata Symbolic Learning Conclusion
Example (Σ = [1, 100])
- bservation table
ǫ ǫ −
1
a0 +
1
a0
1
a1 −
24
a2 −
1
a0
66
a3
ψ = {ψs}s∈S
ψǫ [a0] = [1, 23] [a2] = [24, 100] ψa0 [a1] = [1, 65] [a3] = [66, 100]
hypothesis automaton
q0 q1
[24, 100] [1, 23] [1, 65]
Ask Equivalence Query:
counterexample
+ 1 · 66
Learning Symbolic Automata Symbolic Learning Conclusion
Example (Σ = [1, 100])
- bservation table
ǫ ǫ −
1
a0 +
1
a0
1
a1 −
24
a2 −
1
a0
66
a3 +
ψ = {ψs}s∈S
ψǫ [a0] = [1, 23] [a2] = [24, 100] ψa0 [a1] = [1, 65] [a3] = [66, 100]
hypothesis automaton
q0 q1
[24, 100] [1, 23] [1, 65]
Ask Equivalence Query:
counterexample
+ 1 · 66
Learning Symbolic Automata Symbolic Learning Conclusion
Example (Σ = [1, 100])
- bservation table
ǫ ǫ −
1
a0 +
1
a0
1
a1 −
24
a2 −
1
a0
66
a3 +
ψ = {ψs}s∈S
ψǫ [a0] = [1, 23] [a2] = [24, 100] ψa0 [a1] = [1, 65] [a3] = [66, 100]
hypothesis automaton
q0 q1
[24, 100] [1, 23] [66, 100] [1, 65]
Ask Equivalence Query:
Learning Symbolic Automata Symbolic Learning Conclusion
Example (Σ = [1, 100])
- bservation table
ǫ ǫ −
1
a0 +
1
a0
1
a1 −
24
a2 −
1
a0
66
a3 +
ψ = {ψs}s∈S
ψǫ [a0] = [1, 23] [a2] = [24, 100] ψa0 [a1] = [1, 65] [a3] = [66, 100]
hypothesis automaton
q0 q1
[24, 100] [1, 23] [66, 100] [1, 65]
Ask Equivalence Query:
counterexample
− 24 · 1
Learning Symbolic Automata Symbolic Learning Conclusion
Example (Σ = [1, 100])
- bservation table
ǫ ǫ −
1
a0 +
1
a0
1
a1 −
24
a2 −
1
a0
66
a3 +
ψ = {ψs}s∈S
ψǫ [a0] = [1, 23] [a2] = [24, 100] ψa0 [a1] = [1, 65] [a3] = [66, 100]
hypothesis automaton
q0 q1
[24, 100] [1, 23] [66, 100] [1, 65]
Ask Equivalence Query:
counterexample
− 24 · 1
Learning Symbolic Automata Symbolic Learning Conclusion
Example (Σ = [1, 100])
- bservation table
ǫ ǫ −
1
a0 +
24
a2 −
1
a0
1
a1 −
1
a0
66
a3 +
ψ = {ψs}s∈S
ψǫ [a0] = [1, 23] [a2] = [24, 100] ψa0 [a1] = [1, 65] [a3] = [66, 100] ψa2
hypothesis automaton
q0 q1
[24, 100] [1, 23] [66, 100] [1, 65]
Ask Equivalence Query:
counterexample
− 24 · 1
Learning Symbolic Automata Symbolic Learning Conclusion
Example (Σ = [1, 100])
- bservation table
ǫ 1 ǫ −
1
a0 +
24
a2 −
1
a0
1
a1 −
1
a0
66
a3 +
ψ = {ψs}s∈S
ψǫ [a0] = [1, 23] [a2] = [24, 100] ψa0 [a1] = [1, 65] [a3] = [66, 100] ψa2
hypothesis automaton
q0 q1
[24, 100] [1, 23] [66, 100] [1, 65]
Ask Equivalence Query:
counterexample
− 24 · 1
Learning Symbolic Automata Symbolic Learning Conclusion
Example (Σ = [1, 100])
- bservation table
ǫ 1 ǫ − +
1
a0 + −
24
a2 − −
1
a0
1
a1 − +
1
a0
66
a3 + −
ψ = {ψs}s∈S
ψǫ [a0] = [1, 23] [a2] = [24, 100] ψa0 [a1] = [1, 65] [a3] = [66, 100] ψa2
hypothesis automaton
q0 q1 q2
[1, 23] [66, 100] [1, 65] [24, 100]
Ask Equivalence Query:
counterexample
− 24 · 1
Learning Symbolic Automata Symbolic Learning Conclusion
Example (Σ = [1, 100])
- bservation table
ǫ 1 ǫ − +
1
a0 + −
24
a2 − −
1
a0
1
a1 − +
1
a0
66
a3 + −
24
a2
1
a4
ψ = {ψs}s∈S
ψǫ [a0] = [1, 23] [a2] = [24, 100] ψa0 [a1] = [1, 65] [a3] = [66, 100] ψa2 [a4] = [1, 100]
hypothesis automaton
q0 q1 q2
[1, 23] [66, 100] [1, 65] [24, 100]
Ask Equivalence Query:
counterexample
− 24 · 1
Learning Symbolic Automata Symbolic Learning Conclusion
Example (Σ = [1, 100])
- bservation table
ǫ 1 ǫ − +
1
a0 + −
24
a2 − −
1
a0
1
a1 − +
1
a0
66
a3 + −
24
a2
1
a4 − −
ψ = {ψs}s∈S
ψǫ [a0] = [1, 23] [a2] = [24, 100] ψa0 [a1] = [1, 65] [a3] = [66, 100] ψa2 [a4] = [1, 100]
hypothesis automaton
q0 q1 q2
[1, 23] [66, 100] [1, 65] [24, 100]
Ask Equivalence Query:
counterexample
− 24 · 1
Learning Symbolic Automata Symbolic Learning Conclusion
Example (Σ = [1, 100])
- bservation table
ǫ 1 ǫ − +
1
a0 + −
24
a2 − −
1
a0
1
a1 − +
1
a0
66
a3 + −
24
a2
1
a4 − −
ψ = {ψs}s∈S
ψǫ [a0] = [1, 23] [a2] = [24, 100] ψa0 [a1] = [1, 65] [a3] = [66, 100] ψa2 [a4] = [1, 100]
hypothesis automaton
q0 q1 q2
[1, 23] Σ [66, 100] [1, 65] [24, 100]
Ask Equivalence Query:
Learning Symbolic Automata Symbolic Learning Conclusion
Example (Σ = [1, 100])
- bservation table
ǫ 1 ǫ − +
1
a0 + −
24
a2 − −
1
a0
1
a1 − +
1
a0
66
a3 + −
24
a2
1
a4 − −
ψ = {ψs}s∈S
ψǫ [a0] = [1, 23] [a2] = [24, 100] ψa0 [a1] = [1, 65] [a3] = [66, 100] ψa2 [a4] = [1, 100]
hypothesis automaton
q0 q1 q2
[1, 23] Σ [66, 100] [1, 65] [24, 100]
Ask Equivalence Query:
counterexample
+ 24 · 51
Learning Symbolic Automata Symbolic Learning Conclusion
Example (Σ = [1, 100])
- bservation table
ǫ 1 ǫ − +
1
a0 + −
24
a2 − −
1
a0
1
a1 − +
1
a0
66
a3 + −
24
a2
1
a4 − −
ψ = {ψs}s∈S
ψǫ [a0] = [1, 23] [a2] = [24, 100] ψa0 [a1] = [1, 65] [a3] = [66, 100] ψa2 [a4] = [1, 100]
hypothesis automaton
q0 q1 q2
[1, 23] Σ [66, 100] [1, 65] [24, 100]
Ask Equivalence Query:
counterexample
+ 24 · 51
Learning Symbolic Automata Symbolic Learning Conclusion
Example (Σ = [1, 100])
- bservation table
ǫ 1 ǫ − +
1
a0 + −
24
a2 − −
1
a0
1
a1 − +
1
a0
66
a3 + −
24
a2
1
a4 − −
24
a2
51
a5
ψ = {ψs}s∈S
ψǫ [a0] = [1, 23] [a2] = [24, 100] ψa0 [a1] = [1, 65] [a3] = [66, 100] ψa2 [a4] = [1, 50] [a5] = [51, 100]
hypothesis automaton
q0 q1 q2
[1, 23] [1, 50] [66, 100] [1, 65] [24, 100]
Ask Equivalence Query:
counterexample
+ 24 · 51
Learning Symbolic Automata Symbolic Learning Conclusion
Example (Σ = [1, 100])
- bservation table
ǫ 1 ǫ − +
1
a0 + −
24
a2 − −
1
a0
1
a1 − +
1
a0
66
a3 + −
24
a2
1
a4 − −
24
a2
51
a5 + −
ψ = {ψs}s∈S
ψǫ [a0] = [1, 23] [a2] = [24, 100] ψa0 [a1] = [1, 65] [a3] = [66, 100] ψa2 [a4] = [1, 50] [a5] = [51, 100]
hypothesis automaton
q0 q1 q2
[1, 23] [1, 50] [66, 100] [1, 65] [24, 100]
Ask Equivalence Query:
counterexample
+ 24 · 51
Learning Symbolic Automata Symbolic Learning Conclusion
Example (Σ = [1, 100])
- bservation table
ǫ 1 ǫ − +
1
a0 + −
24
a2 − −
1
a0
1
a1 − +
1
a0
66
a3 + −
24
a2
1
a4 − −
24
a2
51
a5 + −
ψ = {ψs}s∈S
ψǫ [a0] = [1, 23] [a2] = [24, 100] ψa0 [a1] = [1, 65] [a3] = [66, 100] ψa2 [a4] = [1, 50] [a5] = [51, 100]
hypothesis automaton
q0 q1 q2
[1, 23] [1, 50] [51, 100] [66, 100] [1, 65] [24, 100]
Ask Equivalence Query:
counterexample
+ 24 · 51
Learning Symbolic Automata Symbolic Learning Conclusion
Example (Σ = [1, 100])
- bservation table
ǫ 1 ǫ − +
1
a0 + −
24
a2 − −
1
a0
1
a1 − +
1
a0
66
a3 + −
24
a2
1
a4 − −
24
a2
51
a5 + −
ψ = {ψs}s∈S
ψǫ [a0] = [1, 23] [a2] = [24, 100] ψa0 [a1] = [1, 65] [a3] = [66, 100] ψa2 [a4] = [1, 50] [a5] = [51, 100]
hypothesis automaton
q0 q1 q2
[1, 23] [1, 50] [51, 100] [66, 100] [1, 65] [24, 100]
Ask Equivalence Query:
counterexample
+ 24 · 51
Learning Symbolic Automata Symbolic Learning Conclusion
Example (Σ = [1, 100])
- bservation table
ǫ 1 ǫ − +
1
a0 + −
24
a2 − −
1
a0
1
a1 − +
1
a0
66
a3 + −
24
a2
1
a4 − −
24
a2
51
a5 + −
ψ = {ψs}s∈S
ψǫ [a0] = [1, 23] [a2] = [24, 100] ψa0 [a1] = [1, 65] [a3] = [66, 100] ψa2 [a4] = [1, 50] [a5] = [51, 100]
hypothesis automaton
q0 q1 q2
[1, 23] [1, 50] [51, 100] [66, 100] [1, 65] [24, 100]
Ask Equivalence Query: True
Learning Symbolic Automata Symbolic Learning Conclusion
Example (Σ = [1, 100])
- bservation table
ǫ 1 ǫ − +
1
a0 + −
24
a2 − −
1
a0
1
a1 − +
1
a0
66
a3 + −
24
a2
1
a4 − −
24
a2
51
a5 + −
ψ = {ψs}s∈S
ψǫ [a0] = [1, 23] [a2] = [24, 100] ψa0 [a1] = [1, 65] [a3] = [66, 100] ψa2 [a4] = [1, 50] [a5] = [51, 100]
hypothesis automaton
q0 q1 q2
[1, 23] [1, 50] [51, 100] [66, 100] [1, 65] [24, 100]
Ask Equivalence Query: True M = {ǫ, 1, 24, 1 1, 1 66, 24 1, 24 51, 1 1 1, 1 66 1, 24 1 1, 24 51 1} |M| = 11, |MQ| = 7, |EQ| = 5, |S| = 3, |R| = 4
Learning Symbolic Automata Symbolic Learning Conclusion
Example (Σ = [1, 100])
- bservation table
ǫ 1 ǫ − +
1
a0 + −
24
a2 − −
1
a0
1
a1 − +
1
a0
66
a3 + −
24
a2
1
a4 − −
24
a2
51
a5 + −
ψ = {ψs}s∈S
ψǫ [a0] = [1, 23] [a2] = [24, 100] ψa0 [a1] = [1, 65] [a3] = [66, 100] ψa2 [a4] = [1, 50] [a5] = [51, 100]
hypothesis automaton
q0 q1 q2
[1, 23] [1, 50] [51, 100] [66, 100] [1, 65] [24, 100]
Ask Equivalence Query: True M = {ǫ, 1, 24, 1 1, 1 66, 24 1, 24 51, 1 1 1, 1 66 1, 24 1 1, 24 51 1}
|M| = 790, |MQ| = 789, |EQ| = 2, |S| = 4, |R| = 396
|M| = 11, |MQ| = 7, |EQ| = 5, |S| = 3, |R| = 4
Learning Symbolic Automata Symbolic Learning Conclusion
Conclusion - Future work
Conclusion:
- learning languages over large or infinite alphabets
- finite number of convex intervals
- without using variables
- polynomial time in the number of states and maximum
number of intervals
Future Work:
- PAC-learning (Probably Approximately Correct Learning)
- the counterexample is not smallest
- learn without equivalence queries
- what if we do not have intervals?
- other types of alphabets
- . . .
Learning Symbolic Automata Symbolic Learning Conclusion
Conclusion - Future work
Conclusion:
- learning languages over large or infinite alphabets
- finite number of convex intervals
- without using variables
- polynomial time in the number of states and maximum
number of intervals
Future Work:
- PAC-learning (Probably Approximately Correct Learning)
- the counterexample is not smallest
- learn without equivalence queries
- what if we do not have intervals?
- other types of alphabets
- . . .
Learning Symbolic Automata Symbolic Learning Conclusion