Professional Documents
Culture Documents
&
Hitting Set Problem
Maria Allauddin
(1101)
Outline
• What is Partition Problem?
• What work has been done on this problem?
• Algorithms and their operation
•Applications And Examples
J2(30) J6(15)
J7(10)
J4(5)
J8(10)
J3(20) J5(10)
J6(15)
J1(10) J7(10)
J4(5)
J3(20) J8(10)
J5(10)
P1(30) P2(15) P3(35)
Removed job: J2(30)
Example: (Removing 2nd job)
n = 8, m= 3, k = 2
J1(10) J7(10)
J4(5)
J8(10)
J3(20)
J5(10)
P1(30) P2(15) P3(20)
Removed job: J2(30), J6(15)
Example: (Assigning 1st removed job)
n = 8, m= 3, k = 2
J2(30)
J1(10) J7(10)
J4(5)
J8(10)
J3(20)
J5(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
J6(15)
J2(30)
J1(10) J7(10)
J4(5)
J8(10)
J3(20)
J5(10)
P1(30) P2(45) P3(35)
Removed job: Nil
Assigned job: J6(15)
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.
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)
Vertex Cover and Hitting Set
• Both involve "select some items such that
all items are represented"
• 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
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
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
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
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
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
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.
Example
• gene g1 suggests trees t1, t3, t5
gene 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
Example
Example
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.
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/nabi
l-local-search.pdf
Thank You!