Slide 1

Slide 1 text

Finding Synchronization Codes to Boost Compression by Substring Enumeration Dany Vohl Claude-Guy Quimper Danny Dubé Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration 1/73

Slide 2

Slide 2 text

Dany Vohl, Synchronization Codes to Boost Compression by Substring Enumeration Introduction (1) ● Synchronization codes frequently used in numerical data transmission & storage ● i.e. When data reception is ill-synchronized ● Recent work on data compression gives synchronization codes a new and unusual purpose ● This work aims to find synchronization codes 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 2/73

Slide 3

Slide 3 text

Dany Vohl, Synchronization Codes to Boost Compression by Substring Enumeration Introduction (1) ● Synchronization codes frequently used in numerical data transmission & storage ● i.e. When data reception is ill-synchronized ● Recent work on data compression gives synchronization codes a new and unusual purpose ● This work aims to find synchronization codes 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 3/73

Slide 4

Slide 4 text

Dany Vohl, Synchronization Codes to Boost Compression by Substring Enumeration Introduction (1) ● Synchronization codes frequently used in numerical data transmission & storage ● i.e. When data reception is ill-synchronized ● Recent work on data compression gives synchronization codes a new and unusual purpose ● This work aims to find synchronization codes 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 4/73

Slide 5

Slide 5 text

Dany Vohl, Synchronization Codes to Boost Compression by Substring Enumeration Structure of presentation 1. An application of synchronization codes 2. The new application : CSE 3. Characteristics of such codes 4. Constraint model 5. Pseudo-Boolean model 6. Experimental results 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 5/73

Slide 6

Slide 6 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration 1. An application of synchronization codes Hard drive 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 6/73

Slide 7

Slide 7 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Overview Hard drive Spinning disk Read/Write head (RW) 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 7/73

Slide 8

Slide 8 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Overview Hard drive Where does a track (or sector, or byte) start? 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 8/73

Slide 9

Slide 9 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration 2. Compression by Substring Enumeration : A Brief Description 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 9/73

Slide 10

Slide 10 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration ● CSE compresses by : ● transmitting the number of occurrences of every possible substrings of bits. ● Compression by Substring Enumeration : A Brief Description 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 10/73

Slide 11

Slide 11 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Compression by Substring Enumeration : A Brief Description 0 1 0 0 0 0 0 1 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 11/73

Slide 12

Slide 12 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Compression by Substring Enumeration : A Brief Description 0 1 0 0 0 0 0 1 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 12/73

Slide 13

Slide 13 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Compression by Substring Enumeration : A Brief Description 0 1 0 0 0 0 0 1 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 13/73

Slide 14

Slide 14 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Compression by Substring Enumeration : A Brief Description 0 1 0 0 0 0 0 1 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 14/73

Slide 15

Slide 15 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Compression by Substring Enumeration : A Brief Description 0 1 0 0 0 0 0 1 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 15/73

Slide 16

Slide 16 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Compression by Substring Enumeration : A Brief Description ● Problem : ● CSE is bit oriented while benchmarks are byte oriented ● Unaware of phase of the bits within the byte 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 16/73

Slide 17

Slide 17 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Compression by Substring Enumeration : A Brief Description ● Solution suggested (Dubé, ISITA, 2010) : ● Add control bits before compression to achieve strong synchronization ● Substrings inside byte boundaries ● Side effects : ● Pre-compressed file is larger than original file ● But is highly compressible 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 17/73

Slide 18

Slide 18 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Compression by Substring Enumeration : A Brief Description ● Solution suggested (Dubé, ISITA, 2010) : ● Add control bits before compression to acheive strong synchronization ● Substrings inside byte boundaries ● Side effects : ● Pre-compressed file is larger than original file ● But is highly compressible 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 18/73

Slide 19

Slide 19 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration 3. Characteristics of our synchronization codes Phase, Synchronization and Reliability 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 19/73

Slide 20

Slide 20 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Phase, Synchronization and Reliability Given this binary word: 0 1 0 1 0 1 0 1 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 20/73

Slide 21

Slide 21 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Phase, Synchronization and Reliability Given this binary word: 0 1 0 1 0 1 0 1 0 1 2 3 4 5 6 7 With bit's phase: 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 21/73

Slide 22

Slide 22 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Phase, Synchronization and Reliability ? ? ? ? ? ? ? ? 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 If one lands on a random bit inside the word, would it be possible to determine the phase of this bit? Let say one reads a “1” … … 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 22/73

Slide 23

Slide 23 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Phase, Synchronization and Reliability This is where synchronization codes come handy 0 1 0 1 0 1 0 1 Original block: _ _ _ _ _ _ 0 _ _ 0 1 1 1 Synchronization code: Synchronized block: 0 1 0 1 0 1 0 0 1 0 1 1 1 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 23/73

Slide 24

Slide 24 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Phase, Synchronization and Reliability Sequence of several synchronized blocks 0 1 0 1 0 1 0 1 _ _ _ _ _ _ 0 _ _ 0 1 1 1 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 2 3 4 5 6 7 8 9 10 11 12 1 1 1 0 0 0 1 1 _ _ _ _ _ _ 0 _ _ 0 1 1 1 1 1 1 0 0 0 0 1 1 0 1 1 1 0 1 2 3 4 5 6 7 8 9 10 11 12 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results … … … … … … 24/73

Slide 25

Slide 25 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Phase, Synchronization and Reliability Given this (d,k,n)-synchronization code taken from the alphabet {0, 1, _ } 1 1 0 1 _ 1 _ 1 1 0 0 _ 0 _ 0 1 0 0 _ 0 _ 1 1 0 0 _ 1 _ 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 25/73

Slide 26

Slide 26 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Phase, Synchronization and Reliability Given this (d,k,n)-synchronization code taken from the alphabet {0, 1, _ } Where d is # of data bits here, d=8 k is # of control bits here, k=20 n is the reliability here, n=7 1 1 0 1 _ 1 _ 1 1 0 0 _ 0 _ 0 1 0 0 _ 0 _ 1 1 0 0 _ 1 _ 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 26/73

Slide 27

Slide 27 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Phase, Synchronization and Reliability Given this (d,k,n)-synchronization code taken from the alphabet {0, 1, _ } Where d is # of data bits here, d=8 k is # of control bits here, k=20 n is the reliability here, n=7 1 1 0 1 _ 1 _ 1 1 0 0 _ 0 _ 0 1 0 0 _ 0 _ 1 1 0 0 _ 1 _ 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 27/73

Slide 28

Slide 28 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Phase, Synchronization and Reliability Given this (d,k,n)-synchronization code taken from the alphabet {0, 1, _ } We obtain a (8,20,7)-synchronization code Where d is # of data bits here, d=8 k is # of control bits here, k=20 n is the reliability here, n=7 1 1 0 1 _ 1 _ 1 1 0 0 _ 0 _ 0 1 0 0 _ 0 _ 1 1 0 0 _ 1 _ 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 28/73

Slide 29

Slide 29 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Phase, Synchronization and Reliability (8,20,7)-synchronization code : 7 reliable Synchronization code: Unknow phase in synchronized data: ... ... 1 1 0 1 _ 1 _ 1 1 0 0 _ 0 _ 0 1 0 0 _ 0 _ 1 1 0 0 _ 1 _ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 1 1 1 0 0 0 1 1 1 1 0 1 0 1 1 1 1 0 0 0 0 1 0 1 0 0 0 0 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 29/73

Slide 30

Slide 30 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Phase, Synchronization and Reliability (8,20,7)-synchronization code : 7 reliable Where did we start in the synchronization code? ... ... 1 1 0 1 _ 1 _ 1 1 0 0 _ 0 _ 0 1 0 0 _ 0 _ 1 1 0 0 _ 1 _ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 1 1 1 0 0 0 1 1 1 1 0 1 0 1 1 1 1 0 0 0 0 1 0 1 0 0 0 0 bit(s) read: 1 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 30/73

Slide 31

Slide 31 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Phase, Synchronization and Reliability (8,20,7)-synchronization code : 7 reliable Where did we start in the synchronization code? bit(s) read: 2 ... ... 1 1 0 1 _ 1 _ 1 1 0 0 _ 0 _ 0 1 0 0 _ 0 _ 1 1 0 0 _ 1 _ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 1 1 1 0 0 0 1 1 1 1 0 1 0 1 1 1 1 0 0 0 0 1 0 1 0 0 0 0 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 31/73

Slide 32

Slide 32 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Phase, Synchronization and Reliability (8,20,7)-synchronization code : 7 reliable Where did we start in the synchronization code? bit(s) read: 3 ... ... 1 1 0 1 _ 1 _ 1 1 0 0 _ 0 _ 0 1 0 0 _ 0 _ 1 1 0 0 _ 1 _ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 1 1 1 0 0 0 1 1 1 1 0 1 0 1 1 1 1 0 0 0 0 1 0 1 0 0 0 0 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 32/73

Slide 33

Slide 33 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Phase, Synchronization and Reliability (8,20,7)-synchronization code : 7 reliable Where did we start in the synchronization code? bit(s) read: 4 ... ... 1 1 1 0 0 0 1 1 1 1 0 1 0 1 1 1 1 0 0 0 0 1 0 1 0 0 0 0 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 1 1 0 1 _ 1 _ 1 1 0 0 _ 0 _ 0 1 0 0 _ 0 _ 1 1 0 0 _ 1 _ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 33/73

Slide 34

Slide 34 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Phase, Synchronization and Reliability (8,20,7)-synchronization code : 7 reliable Where did we start in the synchronization code? bit(s) read: 5 ... ... 1 1 0 1 _ 1 _ 1 1 0 0 _ 0 _ 0 1 0 0 _ 0 _ 1 1 0 0 _ 1 _ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 1 1 1 0 0 0 1 1 1 1 0 1 0 1 1 1 1 0 0 0 0 1 0 1 0 0 0 0 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 34/73

Slide 35

Slide 35 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Phase, Synchronization and Reliability (8,20,7)-synchronization code : 7 reliable Where did we start in the synchronization code? bit(s) read: 6 ... ... 1 1 1 0 0 0 1 1 1 1 0 1 0 1 1 1 1 0 0 0 0 1 0 1 0 0 0 0 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 1 1 0 1 _ 1 _ 1 1 0 0 _ 0 _ 0 1 0 0 _ 0 _ 1 1 0 0 _ 1 _ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 35/73

Slide 36

Slide 36 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Phase, Synchronization and Reliability (8,20,7)-synchronization code : 7 reliable Where did we start in the synchronization code? bit(s) read: 7 ... ... 1 1 0 1 _ 1 _ 1 1 0 0 _ 0 _ 0 1 0 0 _ 0 _ 1 1 0 0 _ 1 _ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 1 1 1 0 0 0 1 1 1 1 0 1 0 1 1 1 1 0 0 0 0 1 0 1 0 0 0 0 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 36/73

Slide 37

Slide 37 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Phase, Synchronization and Reliability (8,20,7)-synchronization code : 7 reliable Where did we start in the synchronization code? bit(s) read: 7 ... ... 1 1 0 1 _ 1 _ 1 1 0 0 _ 0 _ 0 1 0 0 _ 0 _ 1 1 0 0 _ 1 _ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 1 1 1 0 0 0 1 1 1 1 0 1 0 1 1 1 1 0 0 0 0 1 0 1 0 0 0 0 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 37/73

Slide 38

Slide 38 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Phase, Synchronization and Reliability (8,20,7)-synchronization code : 7 reliable Where did we start in the synchronization code? bit(s) read: 7 ... ... 1 1 0 1 _ 1 _ 1 1 0 0 _ 0 _ 0 1 0 0 _ 0 _ 1 1 0 0 _ 1 _ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 1 1 1 0 0 0 1 1 1 1 0 1 0 1 1 1 1 0 0 0 0 1 0 1 0 0 0 0 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 38/73

Slide 39

Slide 39 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration The considered (d,k,n)-Synchronization Codes 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 39/73

Slide 40

Slide 40 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration The considered (d,k,n)-Synchronization Codes (8,10,9)-sync. code 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 40/73

Slide 41

Slide 41 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration The considered (d,k,n)-Synchronization Codes (8,10,9)-sync. code The phases range in {0, .., d+k-1} 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 41/73

Slide 42

Slide 42 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Its rotations to the left The considered (d,k,n)-Synchronization Codes (8,10,9)-sync. code 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 42/73

Slide 43

Slide 43 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Its rotations to the left The considered (d,k,n)-Synchronization Codes (8,10,9)-sync. code 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 43/73

Slide 44

Slide 44 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Its rotations to the left The considered (d,k,n)-Synchronization Codes (8,10,9)-sync. code 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 44/73

Slide 45

Slide 45 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration The considered (d,k,n)-Synchronization Codes (8,10,9)-sync. code 9-reliability ensures two control bits conflict for any 2 lines in the first 9 columns 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 45/73

Slide 46

Slide 46 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration The considered (d,k,n)-Synchronization Codes (8,10,9)-sync. code 9-reliability ensures two control bits conflict for any 2 lines in the first 9 columns 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 46/73

Slide 47

Slide 47 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration 9-reliability ensures two control bits conflict for any 2 lines in the first 9 columns The considered (d,k,n)-Synchronization Codes (8,10,9)-sync. code 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 47/73

Slide 48

Slide 48 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration 4. Finding Synchronization Codes : A Constraint Model 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 48/73

Slide 49

Slide 49 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Finding Synchronization Codes : A Constraint Model Variables ● 1st model is built around 2k variables : ● The position P of the control bit and ● Its value V in a sequence C 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 49/73

Slide 50

Slide 50 text

Finding Synchronization Codes : A Constraint Model Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration ● Given 2 control bits in sequence C ● Let A and B be these 2 control bits 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results A B 50/73

Slide 51

Slide 51 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Finding Synchronization Codes : A Constraint Model ● Given 2 control bits in sequence C ● Let A and B be these 2 control bits 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results A B B 51/73

Slide 52

Slide 52 text

Finding Synchronization Codes : A Constraint Model Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration ● and are the position of bits A and B in seq. C ● At rotation i and j 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 52/73

Slide 53

Slide 53 text

Finding Synchronization Codes : A Constraint Model Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration ● and are the position of bits A and B inside lines i and j 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 53/73

Slide 54

Slide 54 text

● Similarly, we have the values of A and B inside lines i and j Finding Synchronization Codes : A Constraint Model Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 54/73

Slide 55

Slide 55 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration 5. Finding Synchronization Codes : A Pseudo-Boolean Model 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 55/73

Slide 56

Slide 56 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Finding Synchronization Codes : A Pseudo-Boolean Model ● 2 binary variables for d+k characters in C : ● : is the i th bit in C a control bit? If so, ● indicates if it is a 0 or a 1 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 56/73

Slide 57

Slide 57 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Finding Synchronization Codes : A Pseudo-Boolean Model 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 57/73

Slide 58

Slide 58 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Finding Synchronization Codes : A Pseudo-Boolean Model ● 3rd variable: ● When true (=1), the control bits i and g are 2 distinct bits at same (rotated) position with different values 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 58/73

Slide 59

Slide 59 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Finding Synchronization Codes : A Pseudo-Boolean Model 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 59/73

Slide 60

Slide 60 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Finding Synchronization Codes : A Pseudo-Boolean Model False 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 60/73

Slide 61

Slide 61 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Finding Synchronization Codes : A Pseudo-Boolean Model ● Finally, we ensure that the sum of all is greater or equal to 1 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 61/73

Slide 62

Slide 62 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration 6. Finding Synchronization Codes : Experimental results 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 62/73

Slide 63

Slide 63 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Finding Synchronization Codes : Experimental results ● Experiments executed in 2 parts ● 1st : optimal k for cases where d = n ● 2nd : smallest k for cases where d ≠ n 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 63/73

Slide 64

Slide 64 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Finding Synchronization Codes : Experimental results ● The combination (PB model, minisat+) is faster than (CP model, Gecode) ● (8,15,8)-Sync. Code : – CP (Gecode) : 5 min 48 sec – satisfiable – PB (Minisat+) : 0.31 sec – satisfiable ● (8,14,8)-Sync. Code : – CP (Gecode) : 1 month – ??? – PB (Minisat+) : 3.77 sec – unsatisfiable 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 64/73

Slide 65

Slide 65 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Finding Synchronization Codes : Experimental results ● The combination (PB model, minisat+) is faster than (CP model, Gecode) ● (8,15,8)-Sync. Code : – CP (Gecode) : 5 min 48 sec – satisfiable – PB (Minisat+) : 0.31 sec – satisfiable ● (8,14,8)-Sync. Code : – CP (Gecode) : 1 month – ??? – PB (Minisat+) : 3.77 sec – unsatisfiable 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 65/73

Slide 66

Slide 66 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Finding Synchronization Codes : Experimental results PB results for d = n Unsatisfiable Satisfiable 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 66/73

Slide 67

Slide 67 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Finding Synchronization Codes : Experimental results PB results for d = n Unsatisfiable Satisfiable 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 67/73

Slide 68

Slide 68 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Finding Synchronization Codes : Experimental results PB results for d ≠ n : no such code Blank : no answer found within 18000 seconds integer : smallest value of k 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 68/73

Slide 69

Slide 69 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Conclusion 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 69/73

Slide 70

Slide 70 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Conclusion ● New application of synchronization codes : ● Compression by Substring Enumeration ● Characteristics of synchronization codes ● d data bits ● k control bits ● n reliable : – Maximum number of bits read before synchronization 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 70/73

Slide 71

Slide 71 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Conclusion ● 2 Models ● CP model : O(k2+d2) variables and constraints – Domains : max(n,k) ● PB model : O(k2+d2) variables and constraints – All domains have only 2 values (binary) 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 71/73

Slide 72

Slide 72 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Conclusion ● Found synchronization codes for words up to 64 bits when d = n ● Found the minimal number of control bits when d ≠ n 1. Overview : 1st application 2. A 2nd application : CSE 3. Characteristics 4. Constraint Model 5. Pseudo-Boolean model 6. Experimental results 72/73

Slide 73

Slide 73 text

Dany Vohl, Synchronisation Codes to Boost Compression by Substring Enumeration Questions? 73/73