Learning Regular Languages over Large Alphabets Oded Maler Irini - - PowerPoint PPT Presentation

learning regular languages over large alphabets
SMART_READER_LITE
LIVE PREVIEW

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,


slide-1
SLIDE 1

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, 2014

slide-2
SLIDE 2

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

slide-3
SLIDE 3

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

slide-4
SLIDE 4

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

slide-5
SLIDE 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

slide-6
SLIDE 6

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

slide-7
SLIDE 7

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

slide-8
SLIDE 8

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

slide-9
SLIDE 9

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

slide-10
SLIDE 10

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

slide-11
SLIDE 11

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)

?

slide-12
SLIDE 12

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

slide-13
SLIDE 13

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]
slide-14
SLIDE 14

Learning Symbolic Automata Symbolic Learning Conclusion

L∗ Algorithm

  • Active learning using two types of queries
slide-15
SLIDE 15

Learning Symbolic Automata Symbolic Learning Conclusion

L∗ Algorithm

  • Active learning using two types of queries

Membership Queries

MQ

w ∈ L ?

w ∈ Σ∗ yes / no

slide-16
SLIDE 16

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

slide-17
SLIDE 17

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
slide-18
SLIDE 18

Learning Symbolic Automata Symbolic Learning Conclusion

L∗ Algorithm

+/−

  • Initialize
slide-19
SLIDE 19

Learning Symbolic Automata Symbolic Learning Conclusion

L∗ Algorithm

+/−

b a c

  • Initialize
  • Ask MQs
slide-20
SLIDE 20

Learning Symbolic Automata Symbolic Learning Conclusion

L∗ Algorithm

+/− +/− +/− +/−

b a c

  • Initialize
  • Ask MQs
slide-21
SLIDE 21

Learning Symbolic Automata Symbolic Learning Conclusion

L∗ Algorithm

+/− +/− +/− +/−

a, b c b a

  • Initialize
  • Ask MQs
slide-22
SLIDE 22

Learning Symbolic Automata Symbolic Learning Conclusion

L∗ Algorithm

+/− +/−

a, b c

  • Initialize
  • Ask MQs
slide-23
SLIDE 23

Learning Symbolic Automata Symbolic Learning Conclusion

L∗ Algorithm

+/− +/−

a, b c a b c

  • Initialize
  • Ask MQs
slide-24
SLIDE 24

Learning Symbolic Automata Symbolic Learning Conclusion

L∗ Algorithm

+/− +/− +/− +/− +/−

a, b c a b c

  • Initialize
  • Ask MQs
slide-25
SLIDE 25

Learning Symbolic Automata Symbolic Learning Conclusion

L∗ Algorithm

+/− +/− +/− +/− +/−

a, b c a, c b a b c

  • Initialize
  • Ask MQs
slide-26
SLIDE 26

Learning Symbolic Automata Symbolic Learning Conclusion

L∗ Algorithm

+/− +/−

a, b c a, c b

  • Initialize
  • Ask MQs
  • When automaton

is well defined Ask EQ

slide-27
SLIDE 27

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

slide-28
SLIDE 28

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

  • . . .
slide-29
SLIDE 29

Learning Symbolic Automata Symbolic Learning Conclusion

Observation Table - T = (Σ, S, R, E, f)

ǫ a ǫ − + a + + b − − ba − − aa + + ab + + bb − − baa − − bab − −

  • Σ = {a, b}
slide-30
SLIDE 30

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
slide-31
SLIDE 31

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
slide-32
SLIDE 32

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
slide-33
SLIDE 33

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

slide-34
SLIDE 34

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

slide-35
SLIDE 35

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

slide-36
SLIDE 36

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)

slide-37
SLIDE 37

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)

slide-38
SLIDE 38

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)

slide-39
SLIDE 39

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)

slide-40
SLIDE 40

Learning Symbolic Automata Symbolic Learning Conclusion

Observation Table - T = (Σ, S, R, E, f)

ǫ a ǫ − + a + + b − − ba − − aa + + ab + + bb − − baa − − bab − −

slide-41
SLIDE 41

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

slide-42
SLIDE 42

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

slide-43
SLIDE 43

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

slide-44
SLIDE 44

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

slide-45
SLIDE 45

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

slide-46
SLIDE 46

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

slide-47
SLIDE 47

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

slide-48
SLIDE 48

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

slide-49
SLIDE 49

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

slide-50
SLIDE 50

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

slide-51
SLIDE 51

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

slide-52
SLIDE 52

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

slide-53
SLIDE 53

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

slide-54
SLIDE 54

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

slide-55
SLIDE 55

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

slide-56
SLIDE 56

Learning Symbolic Automata Symbolic Learning Conclusion

L∗ Example (Σ = {a, b})

slide-57
SLIDE 57

Learning Symbolic Automata Symbolic Learning Conclusion

L∗ Example (Σ = {a, b})

  • bservation table

ǫ ǫ − a b

hypothesis automaton

q0

?

a, b

slide-58
SLIDE 58

Learning Symbolic Automata Symbolic Learning Conclusion

L∗ Example (Σ = {a, b})

  • bservation table

ǫ ǫ − a + b −

hypothesis automaton

q0

?

a, b

slide-59
SLIDE 59

Learning Symbolic Automata Symbolic Learning Conclusion

L∗ Example (Σ = {a, b})

  • bservation table

ǫ ǫ − a + b −

hypothesis automaton

q0

?

a, b

slide-60
SLIDE 60

Learning Symbolic Automata Symbolic Learning Conclusion

L∗ Example (Σ = {a, b})

  • bservation table

ǫ ǫ − a + b −

hypothesis automaton

q0 q1

? a b

a, b

slide-61
SLIDE 61

Learning Symbolic Automata Symbolic Learning Conclusion

L∗ Example (Σ = {a, b})

  • bservation table

ǫ ǫ − a + b − aa ab

hypothesis automaton

q0 q1

? a b

a, b

slide-62
SLIDE 62

Learning Symbolic Automata Symbolic Learning Conclusion

L∗ Example (Σ = {a, b})

  • bservation table

ǫ ǫ − a + b − aa − ab +

hypothesis automaton

q0 q1

? a b

a, b

slide-63
SLIDE 63

Learning Symbolic Automata Symbolic Learning Conclusion

L∗ Example (Σ = {a, b})

  • bservation table

ǫ ǫ − a + b − aa − ab +

hypothesis automaton

q0 q1

? a b

a, b

slide-64
SLIDE 64

Learning Symbolic Automata Symbolic Learning Conclusion

L∗ Example (Σ = {a, b})

  • bservation table

ǫ ǫ − a + b − aa − ab +

hypothesis automaton

q0 q1

a b b a

slide-65
SLIDE 65

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

slide-66
SLIDE 66

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

slide-67
SLIDE 67

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

slide-68
SLIDE 68

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

slide-69
SLIDE 69

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

slide-70
SLIDE 70

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!

slide-71
SLIDE 71

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!

slide-72
SLIDE 72

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!

slide-73
SLIDE 73

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

slide-74
SLIDE 74

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

slide-75
SLIDE 75

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

slide-76
SLIDE 76

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

slide-77
SLIDE 77

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

slide-78
SLIDE 78

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

slide-79
SLIDE 79

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

slide-80
SLIDE 80

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

slide-81
SLIDE 81

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

slide-82
SLIDE 82

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

slide-83
SLIDE 83

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

slide-84
SLIDE 84

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 = . . . . . .

slide-85
SLIDE 85

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, . . . }

slide-86
SLIDE 86

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} . . .

slide-87
SLIDE 87

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 = Σ

slide-88
SLIDE 88

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

slide-89
SLIDE 89

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

slide-90
SLIDE 90

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

slide-91
SLIDE 91

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

slide-92
SLIDE 92

Learning Symbolic Automata Symbolic Learning Conclusion

Deterministic Symbolic Automaton

A = (Σ, Σ, ψ, Q, δ, q0, F)

slide-93
SLIDE 93

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,
slide-94
SLIDE 94

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,

slide-95
SLIDE 95

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,

slide-96
SLIDE 96

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,

slide-97
SLIDE 97

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

slide-98
SLIDE 98

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

slide-99
SLIDE 99

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

slide-100
SLIDE 100

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

slide-101
SLIDE 101

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

µ : Σ → Σ

slide-102
SLIDE 102

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
slide-103
SLIDE 103

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
slide-104
SLIDE 104

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
slide-105
SLIDE 105

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

slide-106
SLIDE 106

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

slide-107
SLIDE 107

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)
slide-108
SLIDE 108

Learning Symbolic Automata Symbolic Learning Conclusion

Example (Σ = [1, 100])

  • bservation table

ǫ ǫ

ψ = {ψs}s∈S hypothesis automaton

slide-109
SLIDE 109

Learning Symbolic Automata Symbolic Learning Conclusion

Example (Σ = [1, 100])

  • bservation table

ǫ ǫ −

ψ = {ψs}s∈S

ψǫ

hypothesis automaton

slide-110
SLIDE 110

Learning Symbolic Automata Symbolic Learning Conclusion

Example (Σ = [1, 100])

  • bservation table

ǫ ǫ −

1

a0

ψ = {ψs}s∈S

ψǫ [a0] = [1, 100]

hypothesis automaton

slide-111
SLIDE 111

Learning Symbolic Automata Symbolic Learning Conclusion

Example (Σ = [1, 100])

  • bservation table

ǫ ǫ −

1

a0 +

ψ = {ψs}s∈S

ψǫ [a0] = [1, 100]

hypothesis automaton

slide-112
SLIDE 112

Learning Symbolic Automata Symbolic Learning Conclusion

Example (Σ = [1, 100])

  • bservation table

ǫ ǫ −

1

a0 +

ψ = {ψs}s∈S

ψǫ [a0] = [1, 100]

hypothesis automaton

q0 q1

Σ

slide-113
SLIDE 113

Learning Symbolic Automata Symbolic Learning Conclusion

Example (Σ = [1, 100])

  • bservation table

ǫ ǫ −

1

a0 +

ψ = {ψs}s∈S

ψǫ [a0] = [1, 100] ψa0

hypothesis automaton

q0 q1

Σ

slide-114
SLIDE 114

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

Σ

slide-115
SLIDE 115

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:

slide-116
SLIDE 116

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

slide-117
SLIDE 117

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

slide-118
SLIDE 118

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

slide-119
SLIDE 119

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:

slide-120
SLIDE 120

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

slide-121
SLIDE 121

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

slide-122
SLIDE 122

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

slide-123
SLIDE 123

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

slide-124
SLIDE 124

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:

slide-125
SLIDE 125

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

slide-126
SLIDE 126

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

slide-127
SLIDE 127

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

slide-128
SLIDE 128

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

slide-129
SLIDE 129

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

slide-130
SLIDE 130

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

slide-131
SLIDE 131

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

slide-132
SLIDE 132

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:

slide-133
SLIDE 133

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

slide-134
SLIDE 134

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

slide-135
SLIDE 135

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

slide-136
SLIDE 136

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

slide-137
SLIDE 137

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

slide-138
SLIDE 138

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

slide-139
SLIDE 139

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

slide-140
SLIDE 140

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

slide-141
SLIDE 141

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

slide-142
SLIDE 142

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
  • . . .
slide-143
SLIDE 143

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
  • . . .
slide-144
SLIDE 144

Learning Symbolic Automata Symbolic Learning Conclusion

Thank you !

Any questions?