/
Interpolants  as Classifiers Interpolants  as Classifiers

Interpolants as Classifiers - PowerPoint Presentation

min-jolicoeur
min-jolicoeur . @min-jolicoeur
Follow
344 views
Uploaded On 2018-09-21

Interpolants as Classifiers - PPT Presentation

Rahul Sharma Joint work with Aditya Nori MSR India and Alex Aiken Stanford Interpolants If then an interpolant satisfies contains only the variables common to and An ID: 673977

interpolant interpolants examples svm interpolants interpolant svm examples positive separators negative support verification return classifier candidate common generate vector

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Interpolants as Classifiers" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Interpolants as Classifiers

Rahul Sharma

Joint work with

Aditya

Nori

(MSR India) and Alex Aiken (Stanford)Slide2

Interpolants

If

then an

interpolant satisfies: contains only the variables common to and An interpolant is a simple proof Quantifier free formulas in linear arithmetic have quantifier free interpolants.

 Slide3

Example

 

x

ySlide4

Binary Classification

Input: labeled examples

Positive examples:

Negative examples: Find true,falseFor all positives, trueFor all negatives,

false

 Slide5

Verification and ML

Interpolant

: separates

from Classifier: separates positive examples from negative examples Is there a connection?Slide6

Yes!

Consider the common variables of

and

: Interpolant if

If

:

separates

’s from

’s

 Slide7

Our Contributions

Main result

: view

interpolants as classifiers as positive example as negative exampleUse state-of-the-art classification algorithms (SVMs) for computing interpolantsEncouraging empirical results Slide8

Parallels b/w Verification and ML

Unroll the loops

F

ind interpolantsGet general proofs (loop invariants)Get positive and negative examplesFind a classifier Get a predicate which generalizesSlide9

Support Vector Machine

(

SVM

)

positive

examples

n

egative

examples

+

+

+

+

+Slide10

Support Vector Machine

(

SVM

)SeparatorsSeparators

Separators

Separators

All separators are good candidates for

interpolants

+

+

+

+

+Slide11

Support Vector Machine

(

SVM

)Optimal Margin Classifier

+

+

+

+Slide12

Example

x = y = 0;

while(*)

x++; y++;while(x != 0) x--; y--;assert (y == 0);

 

x = y = 0;

if(*)

x++; y++;

p

:

if(x != 0)

x--; y--;

i

f(x == 0)

assert (y == 0);Slide13

Interpolants by SVM

x

y

(0,0)++(1,1)

 Slide14

Basic Algorithm

Let

be the common variables of

and Generate from satisfying assignments of Generate from satisfying assignments of Call SVM with and Return predicate containing

 Slide15

Two Problems

Data is not linearly separable

The candidate

interpolant is not an interpolantxy++Slide16

No separating inequality

For each

SVM( ) return Cannot generate linear separators with both and .

 

x

y

(0,0)

+

+

(1,1)

(0,1)

(1,0)

 Slide17

Candidate is not an Interpolant

while(true)

{

Find candidate

interpolant

if (

)

Add

to

and continue;

if

(

)

Add

to

and continue

;

break; Exit if

interpolant

found

}

return

;

 

Theorem

:

terminates

iff

output

is an

interpolant

between

and

 Slide18

Example

x

y

(0,0)++

(1,1)

 

Interpolant

!Slide19

Evaluation

1000 lines of C++

LIBSVM

for SVM queriesZ3 theorem proverSlide20

ExperimentsSlide21

Related Work

Interpolants

used in tools

BLAST, IMPACT …Interpolants from proofsKrajícek[97], Pudlák[97], McMillan[05], …Interpolants from constraint solvingARMC, Rybalchenko et al. [07]Slide22

Conclusion

Connect

interpolants

and classifiersA sound interpolation procedureFuture work: non-linear interpolantsIntegrate with a verification toolEUF, arrays, bit-vectors, etc.