Modelling Equidistant Frequency Permutation Arrays: An Application of Constraints to Mathematics

Similar documents
arxiv: v1 [math.gt] 21 Mar 2018

DVA325 Formal Languages, Automata and Models of Computation (FABER)

Automatic Generation of Constraints for Partial Symmetry Breaking

G53CLP Constraint Logic Programming

Logic diagram: a graphical representation of a circuit

Caching Search States in Permutation Problems

Maxima and Minima. Terminology note: Do not confuse the maximum f(a, b) (a number) with the point (a, b) where the maximum occurs.

New Methods in Finding Binary Constant Weight Codes

Notes on 4-coloring the 17 by 17 grid

In the game of Chess a queen can move any number of spaces in any linear direction: horizontally, vertically, or along a diagonal.

SOME EXAMPLES FROM INFORMATION THEORY (AFTER C. SHANNON).

code V(n,k) := words module

Coding for Efficiency

arxiv: v1 [cs.dm] 2 Jul 2018

Packing regularity of permutation codes

The Apprentices Tower of Hanoi

Digital Communication Systems ECS 452


arxiv: v1 [cs.cc] 21 Jun 2017

2) How fast can we implement these in a system

Dyck paths, standard Young tableaux, and pattern avoiding permutations

Exercises to Chapter 2 solutions

Quarter Turn Baxter Permutations

Mathematics of Magic Squares and Sudoku

((( ))) CS 19: Discrete Mathematics. Please feel free to ask questions! Getting into the mood. Pancakes With A Problem!

37 Game Theory. Bebe b1 b2 b3. a Abe a a A Two-Person Zero-Sum Game

MAT3707. Tutorial letter 202/1/2017 DISCRETE MATHEMATICS: COMBINATORICS. Semester 1. Department of Mathematical Sciences MAT3707/202/1/2017

Partitions and Permutations

Graphs of Tilings. Patrick Callahan, University of California Office of the President, Oakland, CA

Complex DNA and Good Genes for Snakes

: Principles of Automated Reasoning and Decision Making Midterm

The mathematics of Septoku

RAINBOW COLORINGS OF SOME GEOMETRICALLY DEFINED UNIFORM HYPERGRAPHS IN THE PLANE

Three of these grids share a property that the other three do not. Can you find such a property? + mod

Mobile Communications TCS 455

SMT 2014 Advanced Topics Test Solutions February 15, 2014

Good Synchronization Sequences for Permutation Codes

SOLITAIRE CLOBBER AS AN OPTIMIZATION PROBLEM ON WORDS

On the Capacity Region of the Vector Fading Broadcast Channel with no CSIT

Decoding Distance-preserving Permutation Codes for Power-line Communications

Backtracking. Chapter Introduction

(Refer Slide Time: 01:45)

Part VIII. Rosettes. The goal for this part is to identify and classify rosette patterns.

CS188 Spring 2010 Section 3: Game Trees

Pattern Avoidance in Unimodal and V-unimodal Permutations

14.7 Maximum and Minimum Values

A NEW COMPUTATION OF THE CODIMENSION SEQUENCE OF THE GRASSMANN ALGEBRA

Introduction to Coding Theory

A GRAPH THEORETICAL APPROACH TO SOLVING SCRAMBLE SQUARES PUZZLES. 1. Introduction

THIS LETTER reports the results of a study on the construction

Sudoku an alternative history

2 Logic Gates THE INVERTER. A logic gate is an electronic circuit which makes logic decisions. It has one output and one or more inputs.

The Problem. Tom Davis December 19, 2016

Using Fictitious Play to Find Pseudo-Optimal Solutions for Full-Scale Poker

Permutations. = f 1 f = I A

Digital Television Lecture 5

Integrated Strategy for Generating Permutation

Final Practice Problems: Dynamic Programming and Max Flow Problems (I) Dynamic Programming Practice Problems

An Elementary Solution to the Ménage Problem

The Mathematics Behind Sudoku Laura Olliverrie Based off research by Bertram Felgenhauer, Ed Russel and Frazer Jarvis. Abstract

A Fast Algorithm For Finding Frequent Episodes In Event Streams

Compressing Pattern Databases

Single Error Correcting Codes (SECC) 6.02 Spring 2011 Lecture #9. Checking the parity. Using the Syndrome to Correct Errors

3432 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 53, NO. 10, OCTOBER 2007

Grade 7/8 Math Circles. Visual Group Theory

White Paper FEC In Optical Transmission. Giacomo Losio ProLabs Head of Technology

Chapter 1. The alternating groups. 1.1 Introduction. 1.2 Permutations

Econ 172A - Slides from Lecture 18

Lecture 4: Wireless Physical Layer: Channel Coding. Mythili Vutukuru CS 653 Spring 2014 Jan 16, Thursday

A Group-theoretic Approach to Human Solving Strategies in Sudoku

Cryptography. Module in Autumn Term 2016 University of Birmingham. Lecturers: Mark D. Ryan and David Galindo

Advanced Automata Theory 4 Games

Degrees of Freedom of the MIMO X Channel

Pattern Avoidance in Poset Permutations

2 person perfect information

Simulation Results for Permutation Trellis Codes using M-ary FSK

Chapter 1 out of 37 from Discrete Mathematics for Neophytes: Number Theory, Probability, Algorithms, and Other Stuff by J. M. Cargal.

Some results on Su Doku

Permutation group and determinants. (Dated: September 19, 2018)

7.4 Permutations and Combinations

Teacher s Notes. Problem of the Month: Courtney s Collection

1 Simultaneous move games of complete information 1

Math 3012 Applied Combinatorics Lecture 2

Heuristic Search with Pre-Computed Databases

Counting Sudoku Variants

(Refer Slide Time: 3:11)

Techniques for Generating Sudoku Instances

UNIVERSITY of PENNSYLVANIA CIS 391/521: Fundamentals of AI Midterm 1, Spring 2010

Permutations and codes:

Synchronization of Hamming Codes

Lecture 20: Combinatorial Search (1997) Steven Skiena. skiena

10/5/2015. Constraint Satisfaction Problems. Example: Cryptarithmetic. Example: Map-coloring. Example: Map-coloring. Constraint Satisfaction Problems

The Pythagorean Theorem

Adverserial Search Chapter 5 minmax algorithm alpha-beta pruning TDDC17. Problems. Why Board Games?

1. Non-Adaptive Weighing

Opponent Models and Knowledge Symmetry in Game-Tree Search

Chapter 4: The Building Blocks: Binary Numbers, Boolean Logic, and Gates

The patterns considered here are black and white and represented by a rectangular grid of cells. Here is a typical pattern: [Redundant]

Gates and Circuits 1

Mathematical Foundations of Computer Science Lecture Outline August 30, 2018

Transcription:

Modelling Equidistant Frequency Permutation Arrays: An Application of Constraints to Mathematics Sophie Huczynska, Paul McKay, Ian Miguel and Peter Nightingale 1

Introduction We used CP to contribute to work in theoretical mathematics Directly refuting a conjecture and supporting another While modelling EFPAs, we developed a model of cycle notation in CP Shows potential (as a modelling pattern), achieving powerful pruning However, slow in its current incarnation 2

EFPAs Equidistant Frequency Permutation Arrays A set of codewords such that: each pair is Hamming distance d apart; Each symbol 1..q appears λ times in each codeword. c1 1 1 2 2 3 3 c2 1 2 1 3 2 3 c3 1 2 3 1 3 2 c4 1 3 2 3 1 2 c5 1 3 3 2 2 1

EFPAs q=3, d=4, λ=2 5 codewords: v=5 4 differences 2 of each symbol in each codeword c1 1 1 2 2 3 3 c2 1 2 1 3 2 3 c3 1 2 3 1 3 2 c4 1 3 2 3 1 2 c5 1 3 3 2 2 1

EFPAs Of theoretical interest (recent paper in Designs, Codes and Cryptography journal by Sophie Huczynska) We supported this work by generating various maximal size EFPAs Refuted a conjecture that EFPAs always have a full column of 1s when d=qλ-λ Provided empirical evidence for the conjecture that particular constructions are maximal

EFPAs This theoretical work may apply to powerline communications Each symbol 1..q corresponds to a frequency Codewords are sent by transmitting the symbols in the codeword one by one Robust against different types of noise

Powerline Communications Overlay the symbol frequencies on top of the power transmission Signal received with symbols missing, extra frequencies added

Powerline Communications: Impulse Noise Someone switches on the kettle POP For example, takes out 3 symbols while transmitting c1 Receiver can still identify c1 (with any 3 symbols missing) c1 1 1 2 2 3 3 c2 1 2 1 3 2 3 c3 1 2 3 1 3 2 c4 1 3 2 3 1 2 c5 1 3 3 2 2 1

Powerline Communications: Narrow Band Noise Some appliances make continuous noise in a narrow frequency range For example, adds 1 and 2 everywhere Receiver can still distinguish codewords c1 1,2 1,2 1,2 1,2 1,2,3 1,2,3 c2 1,2 1,2 1,2 1,2,3 1,2 1,2,3 c3 1,2 1,2 1,2,3 1,2 1,2,3 1,2 c4 1,2 1,2,3 1,2 1,2,3 1,2 1,2 c5 1,2 1,2,3 1,2,3 1,2 1,2 1,2 Example follows Han Vinck, Coded Modulation, AEU J., 2000

Modelling EFPAs: 1: non-boolean model First model codewords represented as a sequence of qλ non-boolean variables c1 {1...q} {1...q}... c2 {1...q} {1...q}......

Modelling EFPAs: 1: non-boolean model x1 x2 x3 x4 x5 x6 y1 y2 y3 y4 y5 y6... For each row, a cardinality constraint ensures that each symbol occurs λ times: gcc([x1,..,x6], [1,..,q], [λ,..,λ]) d differences between each pair of rows: for each i: ri (xi yi) r1+r2+...+r6=d (where a Boolean variable (e.g. ri) has domain {0,1} and 0=false and 1=true)

Modelling EFPAs: 1: non-boolean model Symmetry-breaking by lexicographically ordering adjacent rows e.g. [x1,..,x6] lex [y1,..,y6] Same for adjacent columns [x1,y1,z1] lex [x2,y2,z2] x1 x2 x3 x4 x5 x6 y1 y2 y3 y4 y5 y6 z1 z2 z3 z4 z5 z6

Modelling EFPAs: Boolean and Channelled models Boolean model has stronger symmetrybreaking constraints, poor cardinality constraints Channelled model combines non- Boolean and Boolean models Details in the paper

Modelling EFPAs Now we present two models which extend the non-boolean model with implied constraint sets Permutation (model 2), modelling the permutation between each pair of codewords Implied (model 3), exploiting the fact that the first codeword is fixed by symmetrybreaking.

Modelling EFPAs: 2: Permutations Modelling permutations Each codeword can be mapped to any other using a permutation with d move-points We represent the permutation explicitly 0 2 1 0 1 2 4-cycle (d=4) 0 1 0 1 2 2

Index: Modelling EFPAs: 2: Permutations 0 1 2 3 4 5 0 2 1 0 1 2 4-cycle (d=4) 0 1 0 1 2 2 Represent cycle notation in CP When d=4, there are two forms of cycle notation: 4-cycle, e.g. (1,4,3,2) as shown above two 2-cycles e.g. (1,3)(2,5)

Index: Modelling EFPAs: 2: Permutations 0 1 2 3 4 5 0 2 1 0 1 2 two 2-cycles (d=4) 0 1 0 1 2 2 Symmetries arise in cycle notation The 4-cycle (1,4,3,2) (on previous slide) is equivalent to (1,4)(2,3) shown above (1,4)(2,3) is equivalent to (2,3)(1,4) (4,3,2,1) is equivalent to (1,4,3,2)

Index: Modelling EFPAs: 2: Permutations 0 1 2 3 4 5 0 2 1 0 1 2 two 2-cycles (d=4) 0 1 0 1 2 2 Smallest element first in each cycle Order cycles by first element 4-cycle may only permute distinct symbols (reified alldifferent)

Modelling EFPAs: 2: Permutations Somewhat complicated, only implemented for d=4 perm contains the indices to be permuted cform is the form of the cycle notation 0 for 4-cycle, 1 for 2-cycles perm: cform: 1 1 4 3 2 Which means: (1,4)(3,2)

Modelling EFPAs: 2: Permutations Example (q=3, d=4, λ=3), SAC at root node Plain non-boolean model (first two rows): 1 1 1 2 2 2 3 3 3 4 4 4 1..3 1..4 1..4 1..3 1..4 2..4 1..3 1..4 2..4 1..4 1..4 2..4 6 values pruned but nothing assigned

Modelling EFPAs: 2: Permutations Example (q=3, d=4, λ=3), SAC at root node Permutation model: 1 1 1 2 2 2 3 3 3 4 4 4 1 1..4 1..4 1..3 1..4 2..4 1..3 1..4 2..4 1..4 1..4 4 An extra 4 values pruned, assigning the first and last variables

Modelling EFPAs: 2: Permutations Example (q=3, d=4, λ=3), during search Permutation model: 1 1 1 2 2 2 3 3 3 4 4 4 1 1 1 2 2 2 3 4 4 3,4 3,4 3,4 Search decisions Assigned by perm Any permutation must move both remaining 3s

Modelling EFPAs: 3: Implied Constraints The first codeword is fixed to: 1,..,1,2,..,2,3,... by column lex ordering constraints [x1,y1,z1] lex [x2,y2,z2] implies x1 x2, and the same applies to every pair of adjacent columns The only codeword satisfying x1 x2 x3... is 1,..,1,2,..,2,3,... x1 x2 x3 x4 x5 x6 y1 y2 y3 y4 y5 y6 z1 z2 z3 z4 z5 z6

Modelling EFPAs: 3: Implied Constraints If more than floor(d/2) of any symbol are moved, violates Hamming distance constraint 1 1 1 2 2 2 1 1 Move no more than d/2 of each symbol (d=4)

Modelling EFPAs: 3: Implied Constraints If more than floor(d/2) of any symbol are moved, violates Hamming distance constraint Block 1 contains at least one 1. 1 1 1 2 2 2 Block 1 1 1 New constraint: Block i has at least λ-floor(d/2) occurrences of i. Move no more than d/2 of each symbol (d=4)

Modelling EFPAs: 3: Implied Constraints 1 1 1 2 2 2 1 1 Block 1 Block 2 Move no more than d/2 of each symbol (d=4) Count occurrences of symbols in blocks using GCC constraints

Tools We used the Tailor modelling assistant Translates from Essence' modelling language to Minion input language Provides a small performance improvement by eliminating common subexpressions The Minion constraint solver was used

Experiments Optimization problem: find largest set of codewords for parameters q, d, λ Models all have size parameter v We use pairs of values for v, largest satisfiable instance and smallest unsat/unknown 24 EFPA instances, 12 satisfiable, 11 unsat, 1 unknown

Experiment 1: non-boolean, Boolean and Channelled Channelled dominates Boolean in both search nodes and time GCC constraint on codewords is valuable Non-Boolean and Channelled Neither dominates the other They have different variable/value ordering

Experiment 2: non-boolean, Perm, Implied All based on the non-boolean model, different sets of additional constraints Same variable/value ordering for all Implied improves on non-boolean in most cases, but not dramatically e.g. instance 4-4-4-9, 100s non-boolean, 80s Implied

Experiment 2: non-boolean, Perm, Implied Perm gives a big improvement in search nodes, but worse in solve time Overhead of the extra constraints is too high May have potential (as a modelling pattern) if this issue can be solved

Conclusions We used CP to contribute to work in theoretical mathematics Directly refuting a conjecture and supporting another While modelling EFPAs, we developed a model of cycle notation in CP Shows potential (as a modelling pattern), achieving powerful pruning However, slow in its current incarnation 32

Thank You Any questions? 33