+ All Categories
Home > Documents > Combinatorial Problems2

Combinatorial Problems2

Date post: 04-Aug-2015
Category:
Upload: 3ashmawy
View: 47 times
Download: 2 times
Share this document with a friend
Popular Tags:
24
Combinatorial Design Problems
Transcript

Combinatorial Design Problems

Outline Introduction What are combinatorial problems ? Challenges Real life Problems

Solving combinatorial problems Reducing combinatorial problems Modeling as Constraint satisfaction problem

Subset generation problem

Satisfaction problem

Error correcting & Cryptology Hamming Distance Problem

Logical Cryptanalysis of DES

What are combinatorial problems ? A class of problems that are at least NP:

Enumerative combinatorics Counting the number of certain combinatorial objects

How many ways are there to make a 2-letter word?

How many ways are there to select 5 integers from {1,..,20} such that the (positive) difference between any 2 of the 5 integers is at least 3?

Design Theory Study of combinatorial design, which are collection of subsets with

certain intersection properties

Ternary Steiner systems

o Select 3-element subsets from the set {0,1,2,3,4,5,6} such that each object occurs in 3 of the subsets and the intersection of every two subsets has precisely one member.

Graph theory, Order theory, Geometric combinatorics, …etc.

What are combinatorial problems ? Characteristics & Challenges

Most of these problems are classified as NP problems

Huge search space

Real combinatorial problems

Cryptography / Error Correcting

Finding Shortest round trips (TSP)

Boolean satisfaction problems (SAT)

Planning, scheduling & timetabling

Protein structure prediction

Internet packet data routing , …etc.

Solving combinatorial design problems

Reducing combinatorial design problems

Need to prune search space before actually searching

Get results in reasonable time

How can this be done ? Constraint programming

Model problem as a constraint satisfaction problem (CSP)

o (V,D,C)

o V is a set of variables taking values from domain D upon which constraints in set C are satisfied.

Constraint solving

o Use clever algorithms to solve a CSP problem

• Node, Arc & Path consistencies

• Constraint propagation

Constraint satisfaction problem (CSP)

vs. Generate & Test

15 variables [V1,..,V15] all taking values in the domain

{1,..,15}

V1<V2, V2<V3, …, V14<V15

Generate & Test Approach

Enumerating all possible assignments

1515 = 437,893,890,380,859,375 possibility

109 assignments/second computer would need 14 years to find

solution

Constraint satisfaction problem (CSP)

vs. Generate & Test Model as a constraint satisfaction problem

Constraint satisfaction Solving Interleaving generation and checking

After each choice check if constraints have been violated and then fail early

Propagate & distribute

Making tests active rather than passive

o Not just testing whether constraints are violated or not but making them active and propagate constraints

V1 < V2

o V2 must be 1 greater than V1

o V1 = {1,..15} and V2 = {2,..,15}

Repeat this reasoning until V14 < V15

o V15 = {15}

Combinatorial Design Problems using

sets

Combinatorial Design Problems

Study of combinatorial design, which are collection of subsets

with certain intersection properties

Approach

Model variables as sets

Solve using set solvers

Combinatorial Design Problems using

sets

Ternary Steiner systems

Select 3-element subsets from the set {0,1,2,3,4,5,6} such that

each object occurs in 3 of the subsets and the intersection of

every two subsets has precisely one member.

Model

Use intersection constraint to state that the intersection of every two 3-

element subsets has precisely one member

Use element constraint to state that each element occurs in 3 of the 3-

element subsets

Solving

Set solver

Combinatorial Design Problems using

sets

Ternary Steiner systems

Solving

Set solver

Order in sets doesn’t matter

Symmetry breaking

o {0,1,2}

o ={1,0,2}

o ={2,1,0}

o ={0,2,1}

Solution

{012},{034},{056},{135},{146},{236},{245}

Combinatorial Problems as SAT

problems

Boolean satisfaction problems (SAT)

The problem of determining if the variables of a given Boolean

formula can be assigned in such a way as to make the formula

evaluate to TRUE.

Example

For (A B) (B ¬C) (A ¬B) to be true which variables have to be true to satisfy all clauses ?

Approaches

o Exhaustive search in the form of truth table to find the solution

• Number of rows for the truth table is 2# of variables

Combinatorial Problems as SAT

problems

Model as a SAT problem and use SAT solvers

SAT solvers Davis-Putnam Algorithm

Splits the clauses using truth assignments

(A B) (B ¬C) (A ¬B)

B (B ¬C) ¬B B ¬C

() () ¬C

()

A=0 A=1

B=0 B=1 B=0 B=1

C=0 C=1

() = Failed Partial Assignment = Successful Partial Assignment

Error correcting & Cryptology

In a good cryptographic system, changing one bit in the

cipher text changes enough bits in the corresponding plain

text to make it unreadable.

What causes the change/error of the cipher text?

Noise from communication channels

Could be an attack

Error correcting & Cryptology Holding a conversation in a noisy room becomes more difficult as

the noise become louder.

Data transmission becomes difficult as the communication channel gets noisier.

Solution ?

Raise your voice

Repeat yourself Adding some redundancy to the transmission in order for the recipient to be

able to reconstruct the message.

Replace the symbols in the original message by codewords that have some redundancy built into them.

Code words

Block codes (not varying in length)

Hamming Distance Problem

We are trying to find how close the 2 codewords/code

vectors are.

The Hamming Distance = d(u,v)

The number of places where the 2 codewords/code vectors

differ.

Examples

u = (1,0,1,0,1,0,1,0)

v = (1,0,1,1,1,0,0,0)

d(u,v) = 2

Hamming distance optimization

problem

As an optimization problem then, the task is to find (and

prove) the maximum size (number of codewords = a(n,

d,w)) for a binary error correcting code with given

parameters (n, d) and optionally fixed weight (w).

Approach

Trying to find increasingly larger codes and proving optimality

by failing to find one larger.

Hamming Distance Optimization

problem

How to model this ?

Using set variables (Si) to represent code words (Ci )

The element x is in the set Si iff the code Ci has a 1 at position x

[0000] -> S={}

[1000] -> S={1}

[0100] -> S={2}

[1100] -> S={1,2}

Hamming Distance Optimization

problem

Example

a(4,1,1)

How many code words of length 4 , minimal distance of 1 and weight 1 ?

[1000] S = {1}

[0100] S = {2}

[0010] S = {3}

[0001] S = {4}

Answer = 4

Logical Cryptanalysis of DES

What is DES ?

Data encryption standard which is a state of the art cipher

system used to encrypt/decrypt text.

Cryptanalysis

Trying to break the cipher system and acquire key

Logical cryptanalysis of DES ?

Modeling the DES algorithm as a SAT problem and therefore

explicit representation of Plain bits, Key bits, and Cipher bits.

Logical Cryptanalysis of DES

Logical Cryptanalysis of DES

Logical Cryptanalysis of DES

ε(P,K,C)

which is true if and only if for the corresponding sequences of bits (P0,P1,C0,C1,… etc) we have that C = Ek(P) holds.

Logical Cryptanalysis

Now that we have modeled our problem

We can use the formula to crack the key given a known plain

text and cipher text.

We can find out interesting properties of the cipher system

Faithful cipher

for any pair of plaintext and cipher text there is only one key that

could have produced them.

Thank you


Recommended