Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of...

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

Transcript of Learning Linear Temporal Propertiessri/CAALM2019/Slides/Daniel-Neider-caalm1… · Making Sense of...

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