An Itera)ve Approach to Synthesize Data Transforma)on - - PowerPoint PPT Presentation

an itera ve approach to synthesize data transforma on
SMART_READER_LITE
LIVE PREVIEW

An Itera)ve Approach to Synthesize Data Transforma)on - - PowerPoint PPT Presentation

An Itera)ve Approach to Synthesize Data Transforma)on Programs Bo Wu and Craig Knoblock University of Southern California 1/10 7/30/15 Learning Transforma)on


slide-1
SLIDE 1

An ¡Itera)ve ¡Approach ¡to ¡Synthesize ¡ Data ¡Transforma)on ¡Programs ¡

Bo ¡Wu ¡and ¡Craig ¡Knoblock ¡ University ¡of ¡Southern ¡California ¡

7/30/15 ¡

1/10 ¡

slide-2
SLIDE 2

Learning ¡Transforma)on ¡Programs ¡ ¡by ¡Example ¡

Input ¡Data ¡ Target ¡Data ¡

2000 ¡Ford ¡Expedi)on ¡11k ¡runs ¡great ¡los ¡angeles ¡$4900 ¡(los ¡ angeles) ¡ 1998 ¡Honda ¡Civic ¡12k ¡miles ¡s. ¡Auto. ¡-­‑ ¡$3800 ¡(Arcadia) ¡ 2008 ¡Mitsubishi ¡Galant ¡ES ¡$7500 ¡(Sylmar ¡CA) ¡pic ¡ 1996 ¡Isuzu ¡Trooper ¡14k ¡clean ¡)tle ¡west ¡covina ¡$999 ¡(west ¡ covina) ¡pic ¡

… ¡ … ¡

2000 ¡Ford ¡Expedi)on ¡los ¡angeles ¡$4900 ¡ 1998 ¡Honda ¡Civic ¡12k ¡miles ¡s. ¡Auto. ¡-­‑ ¡$3800 ¡(Arcadia) ¡ ¡ 2008 ¡Mitsubishi ¡Galant ¡ES ¡$7500 ¡(Sylmar ¡CA) ¡pic ¡ 1998 ¡Honda ¡Civic ¡Arcadia ¡$3800 ¡ 2008 ¡Mitsubishi ¡Galant ¡Sylmar ¡CA ¡$7500 ¡ 1996 ¡Isuzu ¡Trooper ¡west ¡covina ¡$999 ¡

Time ¡complexity ¡is ¡exponen/al ¡in ¡the ¡number ¡ ¡ and ¡a ¡high ¡polynomial ¡in ¡the ¡length ¡of ¡examples ¡

7/30/15 ¡

2/10 ¡

slide-3
SLIDE 3

Reuse ¡subprograms ¡

(START,NUM,1) ¡ (BNK,NUM,1) ¡ (BNK, ¡LWRD,3) ¡ (NUM, ¡BNK,2) ¡

2000 ¡Ford ¡Expedi)on ¡11k ¡runs ¡great ¡los ¡angeles ¡$4900 ¡(los ¡angeles) ¡ ¡ 2000 ¡Ford ¡Expedi)on ¡los ¡angeles ¡$4900 ¡

Original: ¡ Target: ¡

Posi)on ¡program= ¡(lec ¡context, ¡right ¡context, ¡occurance) ¡

0 ¡ 20 ¡ 35 ¡ 52 ¡ Learned ¡Programs ¡ ¡

Acer ¡1st ¡ ¡ example ¡ Acer ¡2nd ¡ ¡ example ¡ Acer ¡3rd ¡ ¡ example ¡

7/30/15 ¡

slide-4
SLIDE 4

Iden)fy ¡incorrect ¡subprograms ¡

Input ¡ Output ¡

2000 ¡Ford ¡Expedi)on ¡11k ¡runs ¡great ¡los ¡angeles ¡$4900 ¡(los ¡angeles) ¡ ¡ 2000 ¡Ford ¡Expedi)on ¡los ¡angeles ¡$4900 ¡ ¡ 1998 ¡Honda ¡Civic ¡12k ¡miles ¡s. ¡Auto. ¡-­‑ ¡$3800 ¡(Arcadia) ¡ 2008 ¡Mitsubishi ¡Galant ¡Sylmar ¡CA ¡$7500 ¡ ¡

(START, ¡NUM, ¡1) ¡(BNK, ¡NUM, ¡1) ¡ (’(’, ¡WORD, ¡1) ¡(LWRD, ¡’)', ¡1) ¡ (ANY,BNK’$', ¡1) ¡(NUM, ¡BNK, ¡2) ¡

Program ¡ 2008 ¡Mitsubishi ¡Galant ¡ES ¡$7500 ¡(Sylmar ¡CA) ¡pic ¡ ¡ Input: ¡

Execu)on ¡Result: ¡

␣$7500 ¡ Null ¡ Null ¡ 0 ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡-­‑1 ¡ 33 ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡-­‑1 ¡

2008 ¡Mitsubishi ¡Galant ¡Sylmar ¡CA ¡$7500 ¡ ¡ Output: ¡

¡33 ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡43 ¡ 0 ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡23 ¡

≠ ¡ = ¡ ≠ ¡ = ¡

7/30/15 ¡

4/10 ¡

slide-5
SLIDE 5

Update ¡hypothesis ¡spaces ¡

(START, ¡NUM, ¡1) ¡(BNK, ¡NUM, ¡1) ¡ (’(’, ¡WORD, ¡1) ¡(LWRD, ¡’)', ¡1) ¡ (ANY,BNK’$', ¡1) ¡

Program ¡ Hypothesis ¡H3 ¡

2000 ¡Ford ¡Expedi)on ¡11k ¡runs ¡great ¡los ¡angeles ¡$4900 ¡(los ¡angeles) ¡ 1998 ¡Honda ¡Civic ¡12k ¡miles ¡s. ¡Auto. ¡-­‑ ¡$3800 ¡(Arcadia) ¡

h33 ¡ h32 ¡ h31 ¡ H3 ¡ h31 ¡

s ¡

h31 ¡

e ¡

h32 ¡

s ¡

h32 ¡

e ¡

h32 ¡

e ¡

Left context: ¡

  • LWRD ¡
  • WORD ¡
  • … ¡

Right context: ¡

  • “)” ¡
  • … ¡

2008 ¡Mitsubishi ¡Galant ¡ES ¡$7500 ¡(Sylmar ¡CA) ¡pic ¡ ¡

h32 ¡

e ¡

Left context:

  • WORD ¡
  • … ¡

Right context: ¡

  • “)” ¡
  • … ¡

7/30/15 ¡

5/10 ¡

slide-6
SLIDE 6
  • Dataset ¡

– D1: ¡17 ¡scenarios ¡used ¡in ¡(Lin ¡et ¡al., ¡2014) ¡ ¡

  • 5 ¡records ¡per ¡scenario ¡

– D2: ¡30 ¡scenarios ¡collected ¡from ¡student ¡data ¡integra)on ¡ projects ¡

  • about ¡350 ¡records ¡per ¡scenario ¡

– D3: ¡synthe)c ¡dataset ¡

  • designed ¡to ¡evaluate ¡scale-­‑up ¡
  • Alterna)ve ¡approaches ¡

– Our ¡implementa/on ¡of ¡Gulwani’s ¡approach: ¡(Gulwani, ¡2011) ¡ – Metagol: ¡(Lin ¡et ¡al., ¡2014) ¡

  • Metric ¡

– Time ¡(in ¡seconds) ¡to ¡generate ¡a ¡transforma)on ¡program ¡

Evalua)on ¡

7/30/15 ¡

6/10 ¡

slide-7
SLIDE 7

Program ¡genera)on ¡)me ¡comparisons ¡

Table: ¡)me ¡(in ¡seconds) ¡to ¡generate ¡programs ¡on ¡D1 ¡and ¡D2 ¡datasets ¡ Figure: ¡scalability ¡test ¡on ¡D3 ¡ D3 ¡

7/30/15 ¡

7/10 ¡

slide-8
SLIDE 8

Discussion ¡

  • Our ¡itera)ve ¡PBE ¡approach ¡significantly ¡

reduces ¡)me ¡in ¡synthesizing ¡programs ¡ ¡ ¡ ¡ ¡Future ¡work ¡

  • Extend ¡to ¡domains ¡with ¡only ¡par)al ¡traces ¡
  • Help ¡user ¡to ¡determine ¡when ¡to ¡stop ¡

transforming ¡on ¡large ¡datasets. ¡

7/30/15 ¡

8/10 ¡

slide-9
SLIDE 9

Thanks ¡

¡ Please ¡come ¡to ¡my ¡poster ¡#23 ¡for ¡more ¡details ¡ Bo ¡Wu ¡ bowu@isi.edu ¡ ¡ ¡ ¡

7/30/15 ¡

9/10 ¡

slide-10
SLIDE 10

References ¡

[Lin ¡et ¡al., ¡2014] ¡Dianhuan ¡Lin, ¡Eyal ¡Dechter, ¡Kevin ¡Ellis, ¡Joshua ¡Tenenbaum, ¡and ¡Stephen ¡Muggleton. ¡Bias ¡ reformula)on ¡for ¡one-­‑shot ¡func)on ¡induc)on. ¡In ¡ECAI, ¡2014. ¡ [Gulwani, ¡2011] ¡Sumit ¡Gulwani. ¡Automa)ng ¡string ¡processing ¡in ¡spreadsheets ¡using ¡input-­‑output ¡examples. ¡In ¡ POPL, ¡2011. ¡

¡

7/30/15 ¡

10/10 ¡

slide-11
SLIDE 11

Different ¡number ¡of ¡segments ¡

(START, ¡NUM, ¡1) ¡ (BNK, ¡NUM, ¡1) ¡ (BNK, ¡LWRD, ¡2) ¡ (NUM, ¡BNK, ¡-­‑1) ¡

1998 ¡Honda ¡Civic ¡ ¡130 ¡k ¡miles ¡-­‑ ¡$3800 ¡(Arcadia) ¡ 1998 ¡Honda ¡Civic ¡Arcadia ¡$3800 ¡

Old ¡Program: ¡ Trace ¡

2000 ¡Ford ¡Expedi)on ¡los ¡angeles ¡$4900 ¡ ¡ ¡

Output: ¡ Input: ¡ Execu)on ¡Result: ¡

Hypothesis ¡Spaces: ¡

32 ¡ 39 ¡41 ¡ 48 ¡ Start ¡= ¡24 ¡ End ¡= ¡39 ¡

H3 ¡ h31 ¡ h32 ¡ h33 ¡ 7/30/15 ¡