80
Learning Linear Temporal Properties Daniel Neider joint work with Ivan Gavran Complexity, Algorithms, Automata and Logic Meet Chennai Mathematical Institute, India January 24, 2019

Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Learning Linear Temporal Properties

Daniel Neiderjoint work with Ivan Gavran

Complexity, Algorithms, Automata and Logic MeetChennai Mathematical Institute, India

January 24, 2019

Page 2: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Making Sense of a System’s Behavior

aspirantaspirant aspirant

supporting 1

supporting 2

majoritysecured

supporting 2

majoritysecured

committed 2

committed 2committed 2

p1

p 2

a1

p2 a2

Apa

che

Zook

eepe

rLe

ader

Elec

tion

7

aspirantaspirant aspirant

aspirant

supporting 1

supporting 2

committed 2

majoritysecured

committed 1

committed 1

majoritysecured

committed 2

p1

a1

p2

a2

p 2

3

D. Neider: Learning Linear Temporal Properties 1

Page 3: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Outline

GoalDevelopment of learning algorithms for formulas in Linear TemporalLogic (LTL) from data

Outline1. Learning setup2. A base algorithm for learning LTL formulas based on SAT solving3. A performance improvement for the base algorithm based on

learning decision trees4. Future work

D. Neider: Learning Linear Temporal Properties 2

Page 4: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

1. Learning Setup

Page 5: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Syntax of Linear Temporal Logic (LTL)

Let P be a set of atomic propositions. Then,I each p ∈ P is an LTL formula, andI if ϕ and ψ are LTL formulas, so are ¬ϕ, ϕ ∨ ψ, Xϕ, ϕUψ

(as well as ϕ ∧ ψ, ϕ→ ψ, Fϕ, Gϕ, and so on)

We interpret LTL formulas over finite words u ∈ (2P)∗

I For instance, u = {p}{q}∅{p, q}∅{p, q}

ExampleLet P = {p, q, r}I ¬p ∨ qI X(p ∧ q)I ¬p U(q ∧ X r)

D. Neider: Learning Linear Temporal Properties 3

Page 6: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Syntax of Linear Temporal Logic (LTL)

Let P be a set of atomic propositions. Then,I each p ∈ P is an LTL formula, andI if ϕ and ψ are LTL formulas, so are ¬ϕ, ϕ ∨ ψ, Xϕ, ϕUψ

(as well as ϕ ∧ ψ, ϕ→ ψ, Fϕ, Gϕ, and so on)

We interpret LTL formulas over finite words u ∈ (2P)∗

I For instance, u = {p}{q}∅{p, q}∅{p, q}

ExampleLet P = {p, q, r}I ¬p ∨ qI X(p ∧ q)I ¬p U(q ∧ X r)

D. Neider: Learning Linear Temporal Properties 3

Page 7: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Syntax of Linear Temporal Logic (LTL)

Let P be a set of atomic propositions. Then,I each p ∈ P is an LTL formula, andI if ϕ and ψ are LTL formulas, so are ¬ϕ, ϕ ∨ ψ, Xϕ, ϕUψ

(as well as ϕ ∧ ψ, ϕ→ ψ, Fϕ, Gϕ, and so on)

We interpret LTL formulas over finite words u ∈ (2P)∗

I For instance, u = {p}{q}∅{p, q}∅{p, q}

ExampleLet P = {p, q, r}I ¬p ∨ qI X(p ∧ q)I ¬p U(q ∧ X r)

D. Neider: Learning Linear Temporal Properties 3

Page 8: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Semantics of Linear Temporal Logic

The semantics is defined by a satisfaction relation |= as follows:

u, i |= p ⇔ u:0 i

p ∈ u(i)

u, i |= ϕ ∨ ψ ⇔ u:0 i

ϕ or ψ

u, i |= Xϕ ⇔ u:0 i

ϕ

i + 1

u, i |= ϕUψ ⇔ u:0 i j − 1

ψ

j

ϕ

Abbreviation: we write u |= ψ for u, 0 |= ψ

D. Neider: Learning Linear Temporal Properties 4

Page 9: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Semantics of Linear Temporal Logic

The semantics is defined by a satisfaction relation |= as follows:

u, i |= p ⇔ u:0 i

p ∈ u(i)

u, i |= ϕ ∨ ψ ⇔ u:0 i

ϕ or ψ

u, i |= Xϕ ⇔ u:0 i

ϕ

i + 1

u, i |= ϕUψ ⇔ u:0 i j − 1

ψ

j

ϕ

Abbreviation: we write u |= ψ for u, 0 |= ψ

D. Neider: Learning Linear Temporal Properties 4

Page 10: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Semantics of Linear Temporal Logic

The semantics is defined by a satisfaction relation |= as follows:

u, i |= p ⇔ u:0 i

p ∈ u(i)

u, i |= ϕ ∨ ψ ⇔ u:0 i

ϕ or ψ

u, i |= Xϕ ⇔ u:0 i

ϕ

i + 1

u, i |= ϕUψ ⇔ u:0 i j − 1

ψ

j

ϕ

Abbreviation: we write u |= ψ for u, 0 |= ψ

D. Neider: Learning Linear Temporal Properties 4

Page 11: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Semantics of Linear Temporal Logic

The semantics is defined by a satisfaction relation |= as follows:

u, i |= p ⇔ u:0 i

p ∈ u(i)

u, i |= ϕ ∨ ψ ⇔ u:0 i

ϕ or ψ

u, i |= Xϕ ⇔ u:0 i

ϕ

i + 1

u, i |= ϕUψ ⇔ u:0 i j − 1

ψ

j

ϕ

Abbreviation: we write u |= ψ for u, 0 |= ψ

D. Neider: Learning Linear Temporal Properties 4

Page 12: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Semantics of Linear Temporal Logic

The semantics is defined by a satisfaction relation |= as follows:

u, i |= p ⇔ u:0 i

p ∈ u(i)

u, i |= ϕ ∨ ψ ⇔ u:0 i

ϕ or ψ

u, i |= Xϕ ⇔ u:0 i

ϕ

i + 1

u, i |= ϕUψ ⇔ u:0 i j − 1

ψ

j

ϕ

Abbreviation: we write u |= ψ for u, 0 |= ψ

D. Neider: Learning Linear Temporal Properties 4

Page 13: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Example

Consider the LTL formula ψ := X(p ∧ q)

u

=

{p} {q} ∅ {p, q} ∅ {p, q}

1

2

3

4

D. Neider: Learning Linear Temporal Properties 5

Page 14: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Example

Consider the LTL formula ψ := X(p ∧ q)

u = {p} {q} ∅ {p, q} ∅ {p, q}

1

2

3

4

D. Neider: Learning Linear Temporal Properties 5

Page 15: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Example

Consider the LTL formula ψ := X(p ∧ q)

u

=

{p} {q} ∅ {p, q} ∅ {p, q}1 p2 q3 p ∧ q4 X(p ∧ q)

D. Neider: Learning Linear Temporal Properties 5

Page 16: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Example

Consider the LTL formula ψ := X(p ∧ q)

u

=

{p} {q} ∅ {p, q} ∅ {p, q}1 p2 q3 p ∧ q4 X(p ∧ q)

D. Neider: Learning Linear Temporal Properties 5

Page 17: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Example

Consider the LTL formula ψ := X(p ∧ q)

u

=

{p} {q} ∅ {p, q} ∅ {p, q}1 p2 q3 p ∧ q4 X(p ∧ q)

{p}

D. Neider: Learning Linear Temporal Properties 5

Page 18: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Example

Consider the LTL formula ψ := X(p ∧ q)

u

=

{p} {q} ∅ {p, q} ∅ {p, q}1 p2 q3 p ∧ q4 X(p ∧ q)

1

D. Neider: Learning Linear Temporal Properties 5

Page 19: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Example

Consider the LTL formula ψ := X(p ∧ q)

u

=

{p} {q} ∅ {p, q} ∅ {p, q}1 p2 q3 p ∧ q4 X(p ∧ q)

1

D. Neider: Learning Linear Temporal Properties 5

Page 20: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Example

Consider the LTL formula ψ := X(p ∧ q)

u

=

{p} {q} ∅ {p, q} ∅ {p, q}1 p2 q3 p ∧ q4 X(p ∧ q)

1

{q}

D. Neider: Learning Linear Temporal Properties 5

Page 21: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Example

Consider the LTL formula ψ := X(p ∧ q)

u

=

{p} {q} ∅ {p, q} ∅ {p, q}1 p2 q3 p ∧ q4 X(p ∧ q)

1 0

D. Neider: Learning Linear Temporal Properties 5

Page 22: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Example

Consider the LTL formula ψ := X(p ∧ q)

u

=

{p} {q} ∅ {p, q} ∅ {p, q}1 p2 q3 p ∧ q4 X(p ∧ q)

1 0 0 1 0 1

D. Neider: Learning Linear Temporal Properties 5

Page 23: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Example

Consider the LTL formula ψ := X(p ∧ q)

u

=

{p} {q} ∅ {p, q} ∅ {p, q}1 p2 q3 p ∧ q4 X(p ∧ q)

1 0 0 1 0 10 1 0 1 0 1

D. Neider: Learning Linear Temporal Properties 5

Page 24: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Example

Consider the LTL formula ψ := X(p ∧ q)

u

=

{p} {q} ∅ {p, q} ∅ {p, q}1 p2 q3 p ∧ q4 X(p ∧ q)

1 0 0 1 0 10 1 0 1 0 1

D. Neider: Learning Linear Temporal Properties 5

Page 25: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Example

Consider the LTL formula ψ := X(p ∧ q)

u

=

{p} {q} ∅ {p, q} ∅ {p, q}1 p2 q3 p ∧ q4 X(p ∧ q)

1 0 0 1 0 10 1 0 1 0 110

D. Neider: Learning Linear Temporal Properties 5

Page 26: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Example

Consider the LTL formula ψ := X(p ∧ q)

u

=

{p} {q} ∅ {p, q} ∅ {p, q}1 p2 q3 p ∧ q4 X(p ∧ q)

1 0 0 1 0 10 1 0 1 0 10

D. Neider: Learning Linear Temporal Properties 5

Page 27: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Example

Consider the LTL formula ψ := X(p ∧ q)

u

=

{p} {q} ∅ {p, q} ∅ {p, q}1 p2 q3 p ∧ q4 X(p ∧ q)

1 0 0 1 0 10 1 0 1 0 10 0 0 1 0 1

D. Neider: Learning Linear Temporal Properties 5

Page 28: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Example

Consider the LTL formula ψ := X(p ∧ q)

u

=

{p} {q} ∅ {p, q} ∅ {p, q}1 p2 q3 p ∧ q4 X(p ∧ q)

1 0 0 1 0 10 1 0 1 0 10 0 0 1 0 1

D. Neider: Learning Linear Temporal Properties 5

Page 29: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Example

Consider the LTL formula ψ := X(p ∧ q)

u

=

{p} {q} ∅ {p, q} ∅ {p, q}1 p2 q3 p ∧ q4 X(p ∧ q)

1 0 0 1 0 10 1 0 1 0 10 0 0 1 0 10

D. Neider: Learning Linear Temporal Properties 5

Page 30: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Example

Consider the LTL formula ψ := X(p ∧ q)

u

=

{p} {q} ∅ {p, q} ∅ {p, q}1 p2 q3 p ∧ q4 X(p ∧ q)

1 0 0 1 0 10 1 0 1 0 10 0 0 1 0 10

D. Neider: Learning Linear Temporal Properties 5

Page 31: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Example

Consider the LTL formula ψ := X(p ∧ q)

u

=

{p} {q} ∅ {p, q} ∅ {p, q}1 p2 q3 p ∧ q4 X(p ∧ q)

1 0 0 1 0 10 1 0 1 0 10 0 0 1 0 10 0 1 0 1 0

D. Neider: Learning Linear Temporal Properties 5

Page 32: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Example

Consider the LTL formula ψ := X(p ∧ q)

u

=

{p} {q} ∅ {p, q} ∅ {p, q}1 p2 q3 p ∧ q4 X(p ∧ q)

1 0 0 1 0 10 1 0 1 0 10 0 0 1 0 10 0 1 0 1 00

D. Neider: Learning Linear Temporal Properties 5

Page 33: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Learning of LTL Formulas

SampleA sample is a pair S = (P,N) consisting ofI a finite set P ⊂ (2P)∗ of positive examples (3) andI a finite set N ⊂ (2P)∗ of negative examples (7)

such that P ∩ N = ∅

Size of an LTL FormulaThe size of formula ψ is the number of its unique subformulas

Learning of LTL FormulasGiven a sample S, construct a minimal LTL formula ψ that isconsistent with S:I u |= ψ for each u ∈ PI u 6|= ψ for each u ∈ N

D. Neider: Learning Linear Temporal Properties 6

Page 34: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Learning of LTL Formulas

SampleA sample is a pair S = (P,N) consisting ofI a finite set P ⊂ (2P)∗ of positive examples (3) andI a finite set N ⊂ (2P)∗ of negative examples (7)

such that P ∩ N = ∅

Size of an LTL FormulaThe size of formula ψ is the number of its unique subformulas

Learning of LTL FormulasGiven a sample S, construct a minimal LTL formula ψ that isconsistent with S:I u |= ψ for each u ∈ PI u 6|= ψ for each u ∈ N

D. Neider: Learning Linear Temporal Properties 6

Page 35: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Learning of LTL Formulas

SampleA sample is a pair S = (P,N) consisting ofI a finite set P ⊂ (2P)∗ of positive examples (3) andI a finite set N ⊂ (2P)∗ of negative examples (7)

such that P ∩ N = ∅

Size of an LTL FormulaThe size of formula ψ is the number of its unique subformulas

Learning of LTL FormulasGiven a sample S, construct a minimal LTL formula ψ that isconsistent with S:I u |= ψ for each u ∈ PI u 6|= ψ for each u ∈ N

D. Neider: Learning Linear Temporal Properties 6

Page 36: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

A Consistent Formula Always Exists

u 3i

v 7

6=

∨u∈P

∧v∈N

i times︷ ︸︸ ︷X · · ·X

[(∧

p∈u(i)p) ∧ (

∧q/∈u(i)

¬q)]

But, this formula overfits the sample!

D. Neider: Learning Linear Temporal Properties 7

Page 37: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

A Consistent Formula Always Exists

u 3i

v 7

6=

∨u∈P

∧v∈N

i times︷ ︸︸ ︷X · · ·X

[(∧

p∈u(i)p) ∧ (

∧q/∈u(i)

¬q)]

But, this formula overfits the sample!

D. Neider: Learning Linear Temporal Properties 7

Page 38: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

A Consistent Formula Always Exists

u 3i

v 7

6=

∨u∈P

∧v∈N

i times︷ ︸︸ ︷X · · ·X

[(∧

p∈u(i)p) ∧ (

∧q/∈u(i)

¬q)]

But, this formula overfits the sample!

D. Neider: Learning Linear Temporal Properties 7

Page 39: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

A Consistent Formula Always Exists

u 3i

v 7

6=

∨u∈P

∧v∈N

i times︷ ︸︸ ︷X · · ·X

[(∧

p∈u(i)p) ∧ (

∧q/∈u(i)

¬q)]

But, this formula overfits the sample!

D. Neider: Learning Linear Temporal Properties 7

Page 40: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

A Consistent Formula Always Exists

u 3i

v 7

6=

∨u∈P

∧v∈N

i times︷ ︸︸ ︷X · · ·X

[(∧

p∈u(i)p) ∧ (

∧q/∈u(i)

¬q)]

But, this formula overfits the sample!

D. Neider: Learning Linear Temporal Properties 7

Page 41: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Complexity

Given: a sample S and n ∈ NQuestion: does a consistent LTL formula of size n exist?

Membership in NPI Nondeterministically guess an LTL formula of size nI Verify that it is consistent with S

NP-Hardness?We do not know whether the problem is NP-hardI But we strongly suspect that it isI What are samples requiring “large” consistent formulas?

(proposal: P ={{p}n

}and N =

{{p}n+1})

D. Neider: Learning Linear Temporal Properties 8

Page 42: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Complexity

Given: a sample S and n ∈ NQuestion: does a consistent LTL formula of size n exist?

Membership in NPI Nondeterministically guess an LTL formula of size nI Verify that it is consistent with S

NP-Hardness?We do not know whether the problem is NP-hardI But we strongly suspect that it isI What are samples requiring “large” consistent formulas?

(proposal: P ={{p}n

}and N =

{{p}n+1})

D. Neider: Learning Linear Temporal Properties 8

Page 43: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Complexity

Given: a sample S and n ∈ NQuestion: does a consistent LTL formula of size n exist?

Membership in NPI Nondeterministically guess an LTL formula of size nI Verify that it is consistent with S

NP-Hardness?We do not know whether the problem is NP-hardI But we strongly suspect that it isI What are samples requiring “large” consistent formulas?

(proposal: P ={{p}n

}and N =

{{p}n+1})

D. Neider: Learning Linear Temporal Properties 8

Page 44: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

2. A SAT-based LearningAlgorithm

Page 45: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

A SAT-based Learning Algorithm

n ← 0

n ← n + 1

createpropositionalformula ΦS

n

is ΦSn

satisfiable?

derive LTLformula ψ of size

n from model

sample S

no yes

1. ΦSn satisfiable iff there

exists an LTL formula ofsize n that is consistentwith S

2. A model of ΦSn contains

sufficient information toconstruct a consistent LTLformula of size n

D. Neider: Learning Linear Temporal Properties 9

Page 46: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

A SAT-based Learning Algorithm

n ← 0

n ← n + 1

createpropositionalformula ΦS

n

is ΦSn

satisfiable?

derive LTLformula ψ of size

n from model

sample S

no yes

1. ΦSn satisfiable iff there

exists an LTL formula ofsize n that is consistentwith S

2. A model of ΦSn contains

sufficient information toconstruct a consistent LTLformula of size n

D. Neider: Learning Linear Temporal Properties 9

Page 47: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Propositional Encoding

ΦSn := Φstructuren ∧ Φconsistency

n

Encodes the structure of the LTL formula

Ensures that the LTL formula is consistent with the sample

D. Neider: Learning Linear Temporal Properties 10

Page 48: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Propositional Encoding

ΦSn := Φstructuren ∧ Φconsistency

n

Encodes the structure of the LTL formula

Ensures that the LTL formula is consistent with the sample

D. Neider: Learning Linear Temporal Properties 10

Page 49: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Propositional Encoding

ΦSn := Φstructuren ∧ Φconsistency

n

Encodes the structure of the LTL formula

Ensures that the LTL formula is consistent with the sample

D. Neider: Learning Linear Temporal Properties 10

Page 50: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Encoding the Structure of LTL Formulas

Consider the LTL formula ϕ :=(p U(G q)

)∨(F(G q)

)

U F

p G G

q q

Syntax Tree

U F

p G

q

Syntax DAG

6

5 4

2 3

1

Identifiers

VariablesI xi ,λ where i ∈ {1, . . . , n} and λ ∈ ΛI li ,j where i ∈ {2, . . . , n} and j ∈ {1, . . . , i − 1}I ri ,j where i ∈ {2, . . . , n} and j ∈ {1, . . . , i − 1}

D. Neider: Learning Linear Temporal Properties 11

Page 51: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Encoding the Structure of LTL Formulas

Consider the LTL formula ϕ :=(p U(G q)

)∨(F(G q)

)∨

U F

p G G

q q

Syntax Tree

U F

p G

q

Syntax DAG

6

5 4

2 3

1

Identifiers

VariablesI xi ,λ where i ∈ {1, . . . , n} and λ ∈ ΛI li ,j where i ∈ {2, . . . , n} and j ∈ {1, . . . , i − 1}I ri ,j where i ∈ {2, . . . , n} and j ∈ {1, . . . , i − 1}

D. Neider: Learning Linear Temporal Properties 11

Page 52: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Encoding the Structure of LTL Formulas

Consider the LTL formula ϕ :=(p U(G q)

)∨(F(G q)

)∨

U F

p G G

q q

Syntax Tree

U F

p G

q

Syntax DAG

6

5 4

2 3

1

Identifiers

VariablesI xi ,λ where i ∈ {1, . . . , n} and λ ∈ ΛI li ,j where i ∈ {2, . . . , n} and j ∈ {1, . . . , i − 1}I ri ,j where i ∈ {2, . . . , n} and j ∈ {1, . . . , i − 1}

D. Neider: Learning Linear Temporal Properties 11

Page 53: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Encoding the Structure of LTL Formulas

Consider the LTL formula ϕ :=(p U(G q)

)∨(F(G q)

)∨

U F

p G G

q q

Syntax Tree

U F

p G

q

Syntax DAG

6

5 4

2 3

1

Identifiers

VariablesI xi ,λ where i ∈ {1, . . . , n} and λ ∈ ΛI li ,j where i ∈ {2, . . . , n} and j ∈ {1, . . . , i − 1}I ri ,j where i ∈ {2, . . . , n} and j ∈ {1, . . . , i − 1}

D. Neider: Learning Linear Temporal Properties 11

Page 54: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Encoding the Structure of LTL Formulas

Consider the LTL formula ϕ :=(p U(G q)

)∨(F(G q)

)∨

U F

p G G

q q

Syntax Tree

U F

p G

q

Syntax DAG

6

5 4

2 3

1

Identifiers

VariablesI xi ,λ where i ∈ {1, . . . , n} and λ ∈ ΛI li ,j where i ∈ {2, . . . , n} and j ∈ {1, . . . , i − 1}I ri ,j where i ∈ {2, . . . , n} and j ∈ {1, . . . , i − 1}

D. Neider: Learning Linear Temporal Properties 11

Page 55: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Encoding the Structure of LTL Formulas

VariablesI xi ,λ where i ∈ {1, . . . , n} and λ ∈ ΛI li ,j where i ∈ {2, . . . , n} and j ∈ {1, . . . , i − 1}I ri ,j where i ∈ {2, . . . , n} and j ∈ {1, . . . , i − 1}

Formula Φstructuren

I For i ∈ {1, . . . , n}, exactly one xi ,λ can be set to true:[ ∧1≤i≤n

∨λ∈Λ

xi ,λ

]∧[ ∧

1≤i≤n

∧λ 6=λ′∈Λ

¬xi ,λ ∨ ¬xi ,λ′

]

I For i ∈ {2, . . . , n}, exactly one li ,j and exactly one ri ,j can be setto true

I One of the variables x1,p for p ∈ P is set to true

D. Neider: Learning Linear Temporal Properties 12

Page 56: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Encoding the Structure of LTL Formulas

VariablesI xi ,λ where i ∈ {1, . . . , n} and λ ∈ ΛI li ,j where i ∈ {2, . . . , n} and j ∈ {1, . . . , i − 1}I ri ,j where i ∈ {2, . . . , n} and j ∈ {1, . . . , i − 1}

Formula Φstructuren

I For i ∈ {1, . . . , n}, exactly one xi ,λ can be set to true:[ ∧1≤i≤n

∨λ∈Λ

xi ,λ

]∧[ ∧

1≤i≤n

∧λ 6=λ′∈Λ

¬xi ,λ ∨ ¬xi ,λ′

]

I For i ∈ {2, . . . , n}, exactly one li ,j and exactly one ri ,j can be setto true

I One of the variables x1,p for p ∈ P is set to true

D. Neider: Learning Linear Temporal Properties 12

Page 57: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Propositional Encoding

ΦSn := Φstructuren ∧ Φconsistency

n

Encodes the structure of the LTL formula

Ensures that the LTL formula is consistent with the sample

D. Neider: Learning Linear Temporal Properties 13

Page 58: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

The Formula ΦSn

u {p} {q} ∅ {p, q} ∅ {p, q}1 p2 q3 p ∧ q4 X(p ∧ q)

1 0 0 1 0 10 1 0 1 0 10 0 0 1 0 10 0 1 0 1 0

D. Neider: Learning Linear Temporal Properties 14

Page 59: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

The Formula ΦSn

u {p} {q} ∅ {p, q} ∅ {p, q}1 x1,λ / `1,j / r1,j

2 x2,λ / `2,j / r2,j

3 x3,λ / `3,j / r3,j

4 x4,λ / `4,j / r4,j

D. Neider: Learning Linear Temporal Properties 14

Page 60: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

The Formula ΦSn

u {p} {q} ∅ {p, q} ∅ {p, q}1 x1,λ / `1,j / r1,j

2 x2,λ / `2,j / r2,j

3 x3,λ / `3,j / r3,j

4 x4,λ / `4,j / r4,j

yu1,0 yu

1,1 yu1,2 yu

1,3 yu1,4 yu

1,5

yu2,0 yu

2,1 yu2,2 yu

2,3 yu2,4 yu

2,5

yu3,0 yu

3,1 yu3,2 yu

3,3 yu3,4 yu

3,5

yu4,0 yu

4,1 yu4,2 yu

4,3 yu4,4 yu

4,5

D. Neider: Learning Linear Temporal Properties 14

Page 61: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

The Formula ΦSn

u {p} {q} ∅ {p, q} ∅ {p, q}1 x1,λ / `1,j / r1,j

2 x2,λ / `2,j / r2,j

3 x3,λ / `3,j / r3,j

4 x4,λ / `4,j / r4,j

yu1,0 yu

1,1 yu1,2 yu

1,3 yu1,4 yu

1,5

yu2,0 yu

2,1 yu2,2 yu

2,3 yu2,4 yu

2,5

yu3,0 yu

3,1 yu3,2 yu

3,3 yu3,4 yu

3,5

yu4,0 yu

4,1 yu4,2 yu

4,3 yu4,4 yu

4,5

yu3,1

yu1,1

yu2,1

∧-operator:[x3,∧ ∧ `3,1 ∧ r3,2

]→

[yu

3,1 ↔ (yu1,1 ∧ yu

2,1)]

D. Neider: Learning Linear Temporal Properties 14

Page 62: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

The Formula ΦSn

u {p} {q} ∅ {p, q} ∅ {p, q}1 x1,λ / `1,j / r1,j

2 x2,λ / `2,j / r2,j

3 x3,λ / `3,j / r3,j

4 x4,λ / `4,j / r4,j

yu1,0 yu

1,1 yu1,2 yu

1,3 yu1,4 yu

1,5

yu2,0 yu

2,1 yu2,2 yu

2,3 yu2,4 yu

2,5

yu3,0 yu

3,1 yu3,2 yu

3,3 yu3,4 yu

3,5

yu4,0 yu

4,1 yu4,2 yu

4,3 yu4,4 yu

4,5

yu3,1

yu2,2

X-operator:[x3,X ∧ `3,2

]→

[yu

3,1 ↔ yu2,2

]

D. Neider: Learning Linear Temporal Properties 14

Page 63: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

The Formula ΦSn

u {p} {q} ∅ {p, q} ∅ {p, q}1 x1,λ / `1,j / r1,j

2 x2,λ / `2,j / r2,j

3 x3,λ / `3,j / r3,j

4 x4,λ / `4,j / r4,j

yu1,0 yu

1,1 yu1,2 yu

1,3 yu1,4 yu

1,5

yu2,0 yu

2,1 yu2,2 yu

2,3 yu2,4 yu

2,5

yu3,0 yu

3,1 yu3,2 yu

3,3 yu3,4 yu

3,5

yu4,0 yu

4,1 yu4,2 yu

4,3 yu4,4 yu

4,5yu4,0

D. Neider: Learning Linear Temporal Properties 14

Page 64: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

The Formula ΦSn

u {p} {q} ∅ {p, q} ∅ {p, q}1 x1,λ / `1,j / r1,j

2 x2,λ / `2,j / r2,j

3 x3,λ / `3,j / r3,j

4 x4,λ / `4,j / r4,j

yu1,0 yu

1,1 yu1,2 yu

1,3 yu1,4 yu

1,5

yu2,0 yu

2,1 yu2,2 yu

2,3 yu2,4 yu

2,5

yu3,0 yu

3,1 yu3,2 yu

3,3 yu3,4 yu

3,5

yu4,0 yu

4,1 yu4,2 yu

4,3 yu4,4 yu

4,5yu4,0

Φconsistencyn :=

[ ∧u∈P

Φun ∧ yu

n,0

]

∧[ ∧

u∈NΦu

n ∧ ¬yun,0

]

D. Neider: Learning Linear Temporal Properties 14

Page 65: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

The Formula ΦSn

u {p} {q} ∅ {p, q} ∅ {p, q}1 x1,λ / `1,j / r1,j

2 x2,λ / `2,j / r2,j

3 x3,λ / `3,j / r3,j

4 x4,λ / `4,j / r4,j

yu1,0 yu

1,1 yu1,2 yu

1,3 yu1,4 yu

1,5

yu2,0 yu

2,1 yu2,2 yu

2,3 yu2,4 yu

2,5

yu3,0 yu

3,1 yu3,2 yu

3,3 yu3,4 yu

3,5

yu4,0 yu

4,1 yu4,2 yu

4,3 yu4,4 yu

4,5yu4,0

Φconsistencyn :=

[ ∧u∈P

Φun ∧ yu

n,0

]∧[ ∧

u∈NΦu

n ∧ ¬yun,0

]

D. Neider: Learning Linear Temporal Properties 14

Page 66: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Summary

RemarkFor a sample S and fixed n, the constructed propositional formula ΦSnhas the desired properties and ranges over O(n2 + n · |P|+ n · |S|)variables

TheoremA minimal LTL formula consistent with a given sample S can be foundby solving a sequence of SAT queries for ΦSn

D. Neider: Learning Linear Temporal Properties 15

Page 67: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Example: Leader Election

aspirantaspirant aspirant

supporting 1

supporting 2

majoritysecured

supporting 2

majoritysecured

committed 2

committed 2committed 2

p1

p 2

a1

p2 a2

Apa

che

Zook

eepe

rLe

ader

Elec

tion

7

aspirantaspirant aspirant

aspirant

supporting 1

supporting 2

committed 2

majoritysecured

committed 1

committed 1

majoritysecured

committed 2

p1

a1

p2

a2

p 2

3

ψ := ¬rec(2 , 1)U comm(1)

D. Neider: Learning Linear Temporal Properties 16

Page 68: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

3. An Enhanced AlgorithmBased on Decision Trees

Page 69: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Decision Trees

Sunny? Hot? Windy? Play golf or not

false true true 7true false true 7false false false 7true false false 3true true true 3

sunny?

hot? 7

3 windy?

7 3

(G(q → p) ∧ p

)∨(

G(q → p) ∧ ¬p ∧ ¬F q)

D. Neider: Learning Linear Temporal Properties 17

Page 70: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Decision Trees

Sunny? Hot? Windy? Play golf or not

false true true 7true false true 7false false false 7true false false 3true true true 3

sunny?

hot? 7

3 windy?

7 3

(G(q → p) ∧ p

)∨(

G(q → p) ∧ ¬p ∧ ¬F q)

D. Neider: Learning Linear Temporal Properties 17

Page 71: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Decision Trees

G(q → p) p F q Classification

false true true 7true false true 7false false false 7true false false 3true true true 3

G(q → p)

p 7

3 F q

7 3

(G(q → p) ∧ p

)∨(

G(q → p) ∧ ¬p ∧ ¬F q)

D. Neider: Learning Linear Temporal Properties 17

Page 72: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Decision Trees

G(q → p) p F q Classification

false true true 7true false true 7false false false 7true false false 3true true true 3

G(q → p)

p 7

3 F q

7 3

(G(q → p) ∧ p

)∨(

G(q → p) ∧ ¬p ∧ ¬F q)

D. Neider: Learning Linear Temporal Properties 17

Page 73: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Finding Predicates

3 7

ϕ2,ϕ1, ϕ3, . . .

StrategyWhich sampling strategy to use?

D. Neider: Learning Linear Temporal Properties 18

Page 74: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Finding Predicates

3 7

ϕ2,

ϕ1

, ϕ3, . . .

StrategyWhich sampling strategy to use?

D. Neider: Learning Linear Temporal Properties 18

Page 75: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Finding Predicates

3 7

ϕ2

,

ϕ1,

ϕ3, . . .

StrategyWhich sampling strategy to use?

D. Neider: Learning Linear Temporal Properties 18

Page 76: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Finding Predicates

3 7

ϕ2,ϕ1, ϕ3, . . .

StrategyWhich sampling strategy to use?

D. Neider: Learning Linear Temporal Properties 18

Page 77: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Evaluation on Synthetic Benchmarks

1,000 2,000 3,0000

200

400

600

Sample size

Timein

s

SAT-based algorithm

1,000 2,000 3,0000

200

400

600

Sample size

DT-enhanced algorithm

F p1 → (¬p0 U p1) G(p1 → G p0)G(p0 ∧ (¬p1 → ((¬p1 U(p2 ∧ ¬p1)))) G¬p0

Average increase in size: 1.41

D. Neider: Learning Linear Temporal Properties 19

Page 78: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Evaluation on Synthetic Benchmarks

1,000 2,000 3,0000

200

400

600

Sample size

Timein

s

SAT-based algorithm

1,000 2,000 3,0000

200

400

600

Sample size

DT-enhanced algorithm

F p1 → (¬p0 U p1) G(p1 → G p0)G(p0 ∧ (¬p1 → ((¬p1 U(p2 ∧ ¬p1)))) G¬p0

Average increase in size: 1.41

D. Neider: Learning Linear Temporal Properties 19

Page 79: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

4. Future Work

Page 80: Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of a System’s Behavior aspirant aspirant aspirant supporting 1 supporting 2 majority

Future Work

Try It!You can download our tool from gitHub

https://github.com/gergia/samples2LTL

Ideas for Future WorkI Gain better understanding of the complexityI Relax learning model, allow misclassification errors (MAX-SAT)I Learning from positive data onlyI Other declarative formalisms, such as (ω-)regular expressions, PSL,

STL, CTL, UML Message Sequence Charts, etc.

D. Neider: Learning Linear Temporal Properties 20