partition problem, hitting set problem

38
Partition Problem & Hitting Set Problem Maria Allauddin (1101)

Upload: mariaallauddin

Post on 02-Apr-2015

602 views

Category:

Documents


8 download

DESCRIPTION

Partition problem, hitting set problem What is Partition Problem? What work has been done on this problem? Algorithms and their operationApplications And ExamplesWhat is Hitting Set Problem? What work has been done on this problem? Algorithms and their operationApplications And Examples

TRANSCRIPT

Page 1: Partition problem, hitting set problem

Partition Problem&

Hitting Set Problem

Maria Allauddin

(1101)

Page 2: Partition problem, hitting set problem

• What is Partition Problem?

• What work has been done on this problem?

• Algorithms and their operation

•Applications And Examples

•What is Hitting Set Problem?

• What work has been done on this problem?

• Algorithms and their operation

•Applications And Examples

Outline

Page 3: Partition problem, hitting set problem

Partition problem

• What is the problem?

• The problem is to decide whether a given set of integers can be partitioned into two "halves" that have the same sum.

• S is a set of integers,

• Partition S into two subsets S1 and S2

• Such that S1+S2 Have equal sum

Page 4: Partition problem, hitting set problem

Example of Problem

• S={2, 10 ,3, 8, 5, 7, 9, 5, 3, 2 }

• S1={2, 5, 3, 10, 7}

• S2={2, 5, 3, 9, 8}

• Both subsets sum to 27.

Page 5: Partition problem, hitting set problem

Partition Problem Variations

• Subset Sum problem is special case of partition problem– Given a set S of integers, is there a subset S1

of S that sums to exactly t.

• A variation of the partition problem is the 3-partition problem,– The set S must be partitioned into |S|/3 triples

each with the same sum.

Page 6: Partition problem, hitting set problem

What work has been done on this problem?

• Graham’s Greedy Algorithm, "The Easiest Hard Problem", American Scientist, http://www.americanscientist.org/issues/pub/2002/3/the-easiest-hard-problem 

• Karmarkar, Narenda; Karp, Richard M (1982), "The Differencing Method of Set Partitioning", Technical Report UCB/CSD 82/113 (University of California at Berkeley: Computer Science Division (EECS)) 

• Mertens, Stephan (November 1998), "Phase Transition in the Number Partitioning Problem", Physical Review Letters 81 (20): 4281, doi:10.1103/PhysRevLett.81.4281, http://link.aps.org/abstract/PRL/v81/p4281, retrieved 2009-10-03 

• Mertens, Stephan (2001), "A physicist's approach to number partitioning", Theoretical Computer Science 265: 79–108, doi:10.1016/S0304-3975(01)00153-0 

• Mertens, Stephan (2006), "The Easiest Hard Problem: Number Partitioning", in Allon Percus; Gabriel Istrate; Cristopher Moore, Computational complexity and statistical physics, Oxford University Press US, p. 125, ISBN 9780195177374,

• Borgs, Christian; Chayes, Jennifer; Pittel, Boris (2001), "Phase transition and finite-size scaling for the integer partitioning problem", Random Structures and Algorithms 19 (3-4): 247–288, doi:10.1002/rsa.10004, http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.89.9577, retrieved 2009-10-04 

• Korf, Richard E. (1998), "A complete anytime algorithm for number partitioning", Artificial Intelligence 106 (2): 181–203, doi:10.1016/S0004-3702(98)00086-1, ISSN 0004-3702,

• Mertens, Stephan (1999), A complete anytime algorithm for balanced number partitioning  arXiv:cs/9903011

Page 7: Partition problem, hitting set problem

Algorithms and their Operation

• Graham’s Greedy Algorithm

• The differencing Method

Page 8: Partition problem, hitting set problem

Algorithm and their Operation

• Graham’s Greedy Algorithm•  • Repeat n times: • From the current set of numbers, remove the largest

number.• Consider the k numbers removed in an arbitrary order. Place each

of these numbers on the subset with current minimum sum.• Let• OPT : The value of the optimal solution to the load

balancing problem.

Page 9: Partition problem, hitting set problem

Algorithm and their Operation

• Graham’s Greedy Algorithm

Page 10: Partition problem, hitting set problem

Algorithm and their Operation

• Graham’s Greedy Algorithm

• The greedy algorithm almost always finds an approximate partition for a list of a thousand random numbers. Indeed, the procedure works equally well on a set of 10,000 or 100,000 or a million numbers. The explanation of this success is not that the algorithm is a marvel of ingenuity. Lots of other methods do as well or better.

Page 11: Partition problem, hitting set problem

The differencing Method

• Karmarkar, Narenda; Karp, Richard M (1982), "The Differencing Method of Set Partitioning", Technical Report UCB/CSD 82/113 (University of California at Berkeley: Computer Science Division (EECS)) 

• Karmarkar-Karp algorithm operates in two phases. • First, reading down the right hand side, pairs of

numbers are replaced by their difference, effectively deciding they will go into different subsets.

Page 12: Partition problem, hitting set problem

• In the second phase, reading up the right hand side, the partition is constructed from the sequence of differencing decisions.

• In the case shown the algorithm finds a close perfect partition, but it is not guaranteed always to work.

Page 13: Partition problem, hitting set problem

The differencing Method

Page 14: Partition problem, hitting set problem

Example

Set a b b-a Partition

{3,6,13,20,30,40,73} 40 73 33 {6,13,73} {3,20,30,40}

{3,6,13,20,30,33 } 30 33 3 {6,13,33} {3,20,30}

{3,3,6,13,20 } 13 20 7 {3,6,13} {3,20}

{3,3,6,7} 6 7 1 {3,6} {3,7}

{1,3,3} 3 3 0 {3} {1,3}

{0,1} 0 1 1 {0} {1}

{1}       ɸ {1}

Let I= {3,6,13,20,30,40,73}

Page 15: Partition problem, hitting set problem

Example

Set a b b-a Partition

{6,9,13,17,19} 17 19 2 {6,9,17} {13,19}

{2,6,9,13} 9 13 4 {6,9} {2,13}

{2,4,6} 4 6 2 {6} {2,4}

{2,2} 2 2 0 {2} {2}

{0} 3 3 0 ɸ {0}

Let I= {6,9,13,17,19}

Page 16: Partition problem, hitting set problem

Applications

• Applications of such problems

• Any Where if there is need of two equal partitions e.g. balancing weight of Cargos for ships.

• Load Balancing in Processors

Page 17: Partition problem, hitting set problem

J1(10)

J2(30)

J3(20)

J4(5)

J5(10)

J6(15)

J7(10)

J8(10)

P1(60) P2(15) P3(35)

Example:

n = 8, m= 3, k = 2

Page 18: Partition problem, hitting set problem

J1(10)

J3(20)

J6(15)

J7(10)

J8(10)

P1(30) P2(15) P3(35)

Removed job: J2(30)

Example: (Removing 1st job)

n = 8, m= 3, k = 2

J4(5)

J5(10)

Page 19: Partition problem, hitting set problem

J1(10)

J3(20)

J7(10)

J8(10)

P1(30) P2(15) P3(20)

Removed job: J2(30), J6(15)

Example: (Removing 2nd job)

n = 8, m= 3, k = 2

J4(5)

J5(10)

Page 20: Partition problem, hitting set problem

J1(10)

J3(20)

J7(10)

J8(10)

P1(30) P2(45) P3(20)

Removed job: J6(15)

Assigned job: J2(30)

Example: (Assigning 1st removed job)

n = 8, m= 3, k = 2

J2(30)

J4(5)

J5(10)

Page 21: Partition problem, hitting set problem

J1(10)

J3(20)

J6(15)

J7(10)

J8(10)

P1(30) P2(45) P3(35)

Removed job: Nil

Assigned job: J6(15)

Example: (Assigning 1st removed job)

n = 8, m= 3, k = 2

J2(30)

J4(5)

J5(10)

Page 22: Partition problem, hitting set problem

Hitting Set problem

• Informally, we are given a collection of subsets S of a universe T and asked to find a subset H of T that intersects ("hits") every set in S.

• In other words, every set in S must contain at least one element of H. We additionally require that H have at most a given size K.

Page 23: Partition problem, hitting set problem

What is the problem?

• Problem, given a set T of sets s1, s2 … sn, is there a set H of at most k elements such that H contains at least one element from every s1…sn?

• Example: T = {{1,2,3},{a,1},{a,b,c},{}}– k=2, no valid H!– k=3, H = {1,a,} (other choices exist)

Page 24: Partition problem, hitting set problem

Vertex Cover and Hitting Set

• Both involve "select some items such that all items are represented"

Page 25: Partition problem, hitting set problem

• Vertex Cover Hitting Set• T={(a,b),(b,c),(c,e),(c,d),(e,f),(d,e),(d,g),(d,f)}

• Vertex Cover– VC={(b,c),(d,e)}Or {b,c,d,e} => VC=4

• Hitting Set• T={(a,b),(b,c),(c,e),(c,d),(e,f),(d,e),(d,g),(d,f)}

• H={b,d,e} =>H=3

Page 26: Partition problem, hitting set problem

What work has been done on it?• An Approximation algorithm for the Hitting Set Problem,

www.ti.inf.ethz.ch/ew/courses/ApproxAlgs0203/hitting.ps • Frequency heuristic (greedy) algorithm , www.cs.nyu.edu/~cil217/Thesis/algorithm.html• The Hitting Set Problem and Evolutionary Algorithmic Techniques .,

www.springerlink.com/index/25ga20hq9g8y7r66.pdf • On the Minimum Hitting Set of Bundles Problem,

www.lamsade.dauphine.fr/~gourves/mhsb.pdf• An improved algorithm for the red-blue hitting set problem ,

par.cse.nsysu.edu.tw/~algo/paper/paper09/A1-3.pdf• Implicit Hitting Set Problems, Multi-Genome Alignment,

cs.nyu.edu/parida/CPM2010/MainPage_files/14.pdf• Periodical genetic algorithms for the probabilistic hitting set ,

140.115.80.28:90/research/2073181.pdf• [PDF] A Statistics-directed Minimal Hitting Set Algorithm ,

www.isy.liu.se/dx09/papers/dx09_submission_19.pdf • An improved algorithm for the red-blue hitting set problem , portal.acm.org/citation.cfm?

id=1840164

Page 27: Partition problem, hitting set problem

Algorithm 1

• Approximation algorithm:

• H <-- empty set

• while H not yet hit all set in T do

•     Pick a set not yet hit, add every element in that set to H

• return H

Page 28: Partition problem, hitting set problem

Algorithm 1

• T={(a,b),(b,c),(c,e),(c,d),(e,f),(d,e),(d,g),(d,f)}

• H= a, b

• H= a, b, c, e

• H= a, b, c, e, d, g

Page 29: Partition problem, hitting set problem

Algorithm 2

• - Frequency heuristic (greedy) algorithm:

• H <-- empty set

• while H not yet hit all set in T do

•     Choose the element hitting the most un-hit sets and add it to H

• return H

Page 30: Partition problem, hitting set problem

T={(a,b),(b,c),(c,e),(c,d),(e,f),(d,e),(d,g),(d,f)}

•H= b

•H= b, e

•H= b, e, d

Page 31: Partition problem, hitting set problem

Example

• Genetics-Tree Selecting– Consensus Method– Our goal is to select one tree from each gene.

Therefore we would like to select popular trees since they immediately "cover" may genes. If there is a single tree suggested by all genes, then it suffices to select only that tree.

Page 32: Partition problem, hitting set problem

Example

• gene g1 suggests trees t1, t3, t5gene g2 suggests trees t1, t2, t4 gene g3 suggests trees t1, t6, t4 gene g4 suggests trees t1, t6, t5 gene g5 suggests trees t2, t4, t7 gene g6 suggests trees t3, t5, t8

• {t1,t2,t3} By approximation

• {t4,t5} By Frequency heuristic

Page 33: Partition problem, hitting set problem

Example

Page 34: Partition problem, hitting set problem

Example

Page 35: Partition problem, hitting set problem
Page 36: Partition problem, hitting set problem

Applications• Another example of a practical application involving the

hitting set problem arises in efficient dynamic detection of race conditions.

• In this case, each time global memory is written, the current thread and set of locks held by that thread are stored.

• Under lockset-based detection, if later another thread writes to that location and there is not a race, it must be because it holds at least one lock in common with each of the previous writes.

• Thus the size of the hitting set represents the minimum lock set size to be race-free. This is useful in eliminating redundant write events, since large lock sets are considered unlikely in practice.

Page 37: Partition problem, hitting set problem

References• http

://www.americanscientist.org/issues/pub/2002/3/the-easiest-hard-problem/1

• http://www.uespra.org/index.php?option=com_awiki&view=mediawiki&articl

e=Partition_problem%3Fqsrc%3D3044&Itemid=111

• http://archive.numdam.org/ARCHIVE/ITA/ITA_1987__21_1/ITA_1987__21_

1_11_0/ITA_1987__21_1_11_0.pdf

• http://www.worldlingo.com/ma/enwiki/en/Hitting_set

• http://reference.findtarget.com/search/Vertex_cover

%23Vertex_cover_in_hypergraphs/

• http://www.cs.nyu.edu/~cil217/Thesis/algorithm.html

• http://dcgprogram.epfl.ch/webdav/site/dcgprogram/users/184244/public/

nabil-local-search.pdf

Page 38: Partition problem, hitting set problem

Thank You!