11
Flexible Optimization Flexible Optimization ProblemsProblems
A. Akavia, S. SafraA. Akavia, S. Safra
22
MotivationMotivation
What do we do with all the What do we do with all the NP-hard NP-hard optimization problems ???optimization problems ???
33
Relaxations: 2 ParametersRelaxations: 2 Parameters
Optimization function Optimization function approximationapproximation Input Input flexibilityflexibility
Example – graph coloring problemExample – graph coloring problem:: Optimization functionOptimization function – –
find an find an approximation approximation of the of the minmin coloring. coloring. Input flexibilityInput flexibility – –
find a find a kk-coloring with -coloring with fewfew monochromatic monochromatic edges. edges.
44
Talk PlanTalk Plan
ApproximationApproximation Input flexibilityInput flexibility Flexible optimization Flexible optimization problemsproblems
Examples Examples Definitions Definitions Hardness resultsHardness results
55
Relaxation 1: Relaxation 1: ApproximationApproximation
An An approximation algorithmapproximation algorithm is an is an algorithm that returns an answer algorithm that returns an answer CC which “ which “gg-approximates” the -approximates” the optimal solution optimal solution C*C*. .
C C g g C* C* (minimization)(minimization) 1/g 1/g C* C* C C (maximization)(maximization)
66
Relaxation 2: Input Relaxation 2: Input FlexibilityFlexibility
Example: Graph Editing problemsExample: Graph Editing problems
InputInput: : a graph a graph GG, and , and a desired propertya desired property
GoalGoal: find a small set of : find a small set of edge-modifications edge-modifications (addition/deletion/both) that (addition/deletion/both) that transforms transforms GG into into G’G’ with the with the desired propertydesired property
example: 2-colorability
complexity and approximation results are w/r to the number of modifications
77
Our WorkOur Work: : Flexible-Approximation-Flexible-Approximation-
ProblemsProblems Combining both relaxations –Combining both relaxations –
approximatingapproximating the optimization function, the optimization function, while allowing while allowing input flexibilityinput flexibility..
ExampleExample: : Given a graph Given a graph GG, find a coloring with , find a coloring with fewfew colorscolors, , and perhaps and perhaps few few monochromatic monochromatic edgesedges..
88
Natural Natural Flexible-Approximation-Flexible-Approximation-ProblemsProblems::
Min Min Non-Deterministic AutomatonNon-Deterministic Automaton
Min Min Synthesis GraphSynthesis Graph
99
Non-Deterministic Finite Non-Deterministic Finite Automaton (NFA)Automaton (NFA)
Many applications: Many applications: program verification program verification speech recognitionspeech recognition natural language processingnatural language processing ……
Approximating the minimum Approximating the minimum NFANFA, , which accepts a given language which accepts a given language LL is is
hard.hard.
1010
Flexible Min NFAFlexible Min NFA
Sometimes it suffices to findSometimes it suffices to find: :
a a smallsmall NFA,NFA,(Approximation)(Approximation)
accepting a language “accepting a language “similarsimilar” to the input ” to the input one.one.(Input Flexibility)(Input Flexibility)
1111
Example: AExample: Automata-Theoretic utomata-Theoretic Approach to Program Approach to Program
VerificationVerification
in the worst case, in the worst case, ||PP11xx……xPxPnn|| is is exponentialexponential in in nn
ProgramProgram PP is correct with is correct with respect to a respect to a specificationsspecifications TT if: if: L(P) L(P) L(T) L(T)
In concurrent programming: In concurrent programming: processesprocesses PP11,..., P,..., Pnn are correct are correct w/r to w/r to specificationspecification TT if: if: L(PL(P11xx…x P…x Pnn) ) L(T) L(T)
aaaabbaabbbbaa . . .
bbbbbbbbbbaaaa . . .
bbaaaabbaabbbb . . .
aaaabbaabbbbaa . . .
P1
P2
P3
P
1212
Example: AExample: Automata-Theoretic utomata-Theoretic Approach to Program Approach to Program
VerificationVerification Coping with this state-explosion Coping with this state-explosion
[[K94]K94]: : finding a finding a smallsmall automaton automaton P’ P’
(Optimization)(Optimization)
such that such that L(L(PP11xx…x P…x Pnn) ) L(P’) L(P’) (Input (Input Flexibility)Flexibility)
and then checking whether and then checking whether L(P') L(P') L(T) L(T)L(L(PP11xx…x P…x Pnn) ) L(P’) L(P’)
L(L(PP11xx…x P…x Pnn) ) L(T) L(T)
L(P’) L(P’) L(T) L(T)
1313
Combinatorial Chemistry andCombinatorial Chemistry and Flexible Min Synthesis GraphFlexible Min Synthesis Graph
a multi dimensional space
attribute coordinate
molecule point
similarity (molecules) proximity (points)
**
*
*
**
**
**
*
*
*
*
***
****
*
* ***
**
* ***
*** ***
*** *
****
* ***
** * ***
******
**
* ***
** * ***
**
* ***
**
* ***
**
* ***
*** *
****
* ***
**
* ***
*** ***
*** ***
**
* ***
*** ***
*** *
****
* ***
*** *
****
* ***
*** *
****
* ***
**
* ***
**
* ***
**
* ***
**
* ***
*** ***
**
* ***
*** *
****
* ***
**
* ***
*** ***
*** ***
*** *
***** ***
*** ***
**
* ***
****
*
*
**
**
**
*
*
*
*
*
•Choose •Synthesize •Screen
1414
cba
ba
bab b
cc
ac
baa
bab bb b
bab b
ccccc
acc
bab ba a
a
a
a
b
b
b
c
c
c
a
b
Synthesis Graph
NodeNode - grow stepLabelLabel - appended unit
Split Synthesis [F91,L91,CS99]
Produces Produces each string each string ss s.t.s.t. s = s = labels labels concatenation along a concatenation along a pathpath
1515
Flexible Min Synthesis Flexible Min Synthesis GraphGraph
Input: A set of strings S
a
a
a
b
b
b
c
c
c
a
b
Output: A small synthesis-graphsynthesis-graph producing S’, which is similar to S
Input flexibitily – producing S’ and not S
Approximation – finding a small synthesis graph not the minimum
1717
Assume a Assume a distance functiondistance function (x,x’)(x,x’) to be the smallest number of to be the smallest number of basic basic modificationsmodifications (say, bit-changes) (say, bit-changes) necessary in order to transform necessary in order to transform xx to to x’x’..
the ballball of radius d around a given input x is
ball(x,d)ball(x,d) = {x’ | = {x’ | (x,x’)(x,x’)d}d}
1818
(d,g)-flexible approximation (d,g)-flexible approximation problemproblem
AssumeAssume: : a a distancedistance function function , and, and an an optimizationoptimization function function ff..
In a In a (d,g)(d,g)-flexible-approximation -flexible-approximation problem, problem, given an input given an input xx, , a solution a solution y’ y’ is returned is returned s.t. s.t. y’ y’ is feasible for some is feasible for some x’x’ball(x,d)ball(x,d), and, and f(x’,y’) f(x’,y’) is is g-approximateg-approximate to the optimum to the optimum (for (for xx))..
dx’f(x’,y’) ≤ gf(x,y*)
x
1919
Biclique Edge Cover - Biclique Edge Cover - DefinitionDefinition
InputInput: Bipartite graph : Bipartite graph GGGoalGoal: Cover all edges by : Cover all edges by
bicliquesbicliques (i.e. complete bipartite (i.e. complete bipartite subgraphs) subgraphs)
2020
(d,g)-Biclique Edge Cover(d,g)-Biclique Edge Cover
G
f(G,y)=3
AssumeAssume: : (G,G’)(G,G’) = symmetric = symmetric
edge difference edge difference f(G,y)f(G,y) = no. of bicliques = no. of bicliques
in the cover in the cover yy..
f(G’,y)=2
(G,G’)=7
G’
2121
(d,g)-Biclique Edge Cover(d,g)-Biclique Edge Cover
In a In a (d,g)(d,g)--Biclique Edge Biclique Edge CoverCover ( ((d,g)-(d,g)-BECBEC) ) given an input given an input GG, , a solution a solution y’ y’ is returned is returned s.t. s.t. y’ y’ is is the no. of bicliques in the no. of bicliques in
a cover ofa cover of G’G’ball(x,d)ball(x,d), , andand
f(G’,y’) f(G’,y’) is is g-approximateg-approximate to the to the minmin--BECBEC for for GG..
G G’
2222
Hardness of Hardness of (d,g)-Biclique Edge Cover (d,g)-Biclique Edge Cover
ThmThm: : >0>0 (d,g)(d,g)-Biclique-Edge-Cover -Biclique-Edge-Cover problem is hard for any problem is hard for any g=O(|V|g=O(|V|1/5-1/5-)) and and d=O(g)d=O(g), unless , unless NP=ZPPNP=ZPP..
Proof: later.Proof: later.
2323
(d,g)-Non-Deterministic Finite (d,g)-Non-Deterministic Finite Automaton (NFA)Automaton (NFA)
AssumeAssume: : (L,L’)(L,L’) = symmetric difference between = symmetric difference between L L
and and L’L’ f(L,A)f(L,A) = no. of states = no. of states in an NFA in an NFA AA accepting accepting
LL.. In a In a (d,g)(d,g)-NFA-NFA, given a language , given a language LL, ,
a solution a solution y’ y’ is returned is returned s.t. s.t. y’ y’ is is the no. of the no. of statesstates in an NFA accepting in an NFA accepting
L’L’ball(L,d)ball(L,d), and , and f(L’,y’) f(L’,y’) is is g-approximateg-approximate to the optimum for to the optimum for LL. .
2424
Hardness of (d,g)-NFAHardness of (d,g)-NFA
ThmThm: : >0 >0 (d,g)(d,g)--NFANFA problem is hard for any problem is hard for any g=O(|L|g=O(|L|1/10-1/10-)) and and d=O(g)d=O(g), unless , unless NP=ZPPNP=ZPP
2525
Reduction OutlinesReduction Outlines Reduction from Reduction from Biclique-Edge-Cover:Biclique-Edge-Cover:
Bipartite graph G
{uv | (u,v)E}
Strings set S
q0qF
NFA
2626
ProofProofReduction from Reduction from Biclique Edge CoverBiclique Edge Cover::
kk-biclique edge cover of -biclique edge cover of G G NFA NFA with with k+2k+2 states, states, accepting accepting LL
G=(V,U,E) a bipartite graph.
u3
u4
u5
v1
v2
v3
v4
v5
u1
u2
Define L = {vu | (v,u)E}
Define L
A - an automaton acceptin L
q0qF
(d,g)(d,g)--BECBEC is hard for is hard for g=O(|V|g=O(|V|1/5-1/5-)) and and d=O(g)d=O(g) (d,g)(d,g)--NFANFA is hard for is hard for g=O(|L|g=O(|L|1/10-1/10-)) and and d=O(g)d=O(g)
Reduction from Reduction from flexible approximation Biclique Edge flexible approximation Biclique Edge CoverCover::kk-biclique edge cover of -biclique edge cover of G’G’ in in dd-distance from -distance from G G NFA NFA with with k+2k+2 states, states, accepting accepting L’ L’ in in dd-distance -distance from from LL
2727
ReminderReminder
A A synthesis-graph synthesis-graph HH producesproduces a a string string ss if: if:ss is a is a label concatenation label concatenation along a along a pathpath from first to last layers in from first to last layers in HH..
2828
AssumeAssume: : (S,S’)(S,S’) = symmetric difference between = symmetric difference between S S
and and S’S’ f(S,H)f(S,H) = no. of = no. of internal nodes in a synthesis internal nodes in a synthesis
graph graph HH that produces the strings that produces the strings SS.. In a In a (d,g)(d,g)--Synthesis GraphSynthesis Graph, given an , given an
input input SS, a solution , a solution y’ y’ is returned s.t. is returned s.t. y’ y’ is is the no. of internal nodes in a synthesis the no. of internal nodes in a synthesis
graph graph HH producing producing S’S’ball(S,d)ball(S,d), and , and f(S’,y’) f(S’,y’) g-approximateg-approximate the optimum for the optimum for SS..
(d,g)-Synthesis Graph(d,g)-Synthesis GraphGiven a set of strings S, output a small synthesis-graph synthesis-graph producing S’, which is similar to S
2929
Hardness of Hardness of (d,g)-Synthesis Graph(d,g)-Synthesis Graph
ThmThm: : >0 >0 (d,g)(d,g)-Synthesis Graph -Synthesis Graph problem is problem is hard for any hard for any g=O(|S|g=O(|S|1/10-1/10-)) and and d=O(g)d=O(g), , unless unless NP=ZPPNP=ZPP
Proof:Proof:
3030
Reduction OutlinesReduction Outlines Reduction from Reduction from Biclique-Edge-Cover:Biclique-Edge-Cover:
Bipartite graph G
{uAv | (u,v)E}
Strings set S
Synthesis graph H
A
A
A
3131
ProofProofReduction from Reduction from Biclique Edge CoverBiclique Edge Cover [CS99]: [CS99]:
kk-biclique edge cover-biclique edge cover of of GG synthesis graphsynthesis graph H H with with kk internal nodes producing internal nodes producing SS
G=(V,U,E) a bipartite graph.
Define S = {vAu | (v,u)E}Define S
H - a graph constructing S
A
A
A
(d,g)(d,g)--BECBEC is hard for is hard for g=O(|V|g=O(|V|1/5-1/5-)) and and d=O(g)d=O(g) (d,g)(d,g)--SGSG is hard for is hard for g=O(|S|g=O(|S|1/10-1/10-)) and and d=O(g)d=O(g)
Reduction from flReduction from flexible approximation Biclique Edge Coverexible approximation Biclique Edge Cover::
kk-biclique edge cover-biclique edge cover of of G’G’ in in dd-distance from -distance from GG synthesis graphsynthesis graph H H with with kk internal nodes producing internal nodes producing S’ S’ in in dd--distance from distance from SS
3232
Hardness Proof ofHardness Proof of(d,g)-(d,g)-Biclique-Edge-CoverBiclique-Edge-Cover
(((d,g)(d,g)--BECBEC))
3333
(d,g)-Biclique Edge Cover (d,g)-Biclique Edge Cover ((d,g)-BEC)((d,g)-BEC)
G
f(G,y)=3
In a In a (d,g)(d,g)--Biclique Edge Biclique Edge CoverCover ( ((d,g)-(d,g)-BECBEC) ) given an input given an input GG, , a solution a solution y’ y’ is returned is returned s.t. s.t. y’ y’ is is the no. of bicliques the no. of bicliques
in the cover of in the cover of G’G’ball(G,d)ball(G,d), and, and
f(G’,y’) f(G’,y’) is is g-approximateg-approximate to the to the minmin--BECBEC for for GG..
3434
Hardness of Hardness of (d,g)(d,g)--BECBEC
ThmThm: : (d,g)(d,g)-BEC-BEC is hard for any is hard for any g=O(|V|g=O(|V|1/5-1/5-)) and and d=O(g)d=O(g), unless , unless NP=ZPPNP=ZPP..
ProofProof::
3535
flexibleflexible vs. vs. non-flexiblenon-flexible solutionssolutions
LemmaLemma: : from any solution from any solution y’ y’ toto G’ G’ball(G,d)ball(G,d),, we may construct a solution we may construct a solution y y toto G G,, s.t. s.t. f(G,y) ≤ f(G’,y’) + d
G G’
3636
Calculating Approximation Calculating Approximation FactorFactor
ClaimClaim: Let : Let GG be a graph, be a graph, if if v’=f(G’,y’)’v’=f(G’,y’)’ gg-approximate -approximate (d,g)(d,g)-BEC-BEC,,
where where d=O(g)d=O(g), , then then y, f(G,y)y, f(G,y)v’+dv’+d, s.t. , s.t. v=v’+dv=v’+d O(g)O(g)-approximate -approximate BEC BEC
ProofProof: B: By the lemma y the lemma y, f(G,y)y, f(G,y)a’+da’+d, and , and v O(g)optG
v = v’ + d goptG + d 2goptG (since d = O(g))
Assume BEC is hard for g=O(|V|g=O(|V|1/5-1/5-)then:(d,g)(d,g)-BEC-BEC is hard for g=O(|V|g=O(|V|1/5-1/5-) and d=O(g)
3737
Hardness of Approximation of Hardness of Approximation of BECBEC
Proof OutlinesProof Outlines:: Construction [Simon90]Construction [Simon90] Graph coloring is hard to Graph coloring is hard to
approximate by approximate by g=O(|V|g=O(|V|1-1-) [FK98][FK98] Simple calculation, improves Simon’s Simple calculation, improves Simon’s
bound from a bound from a constant factorconstant factor to to g=O(|V|g=O(|V|1/5-1/5-)..
3838
54 3
21
Clique Cover ProblemClique Cover Problem
InputInput: A graph : A graph GG
GoalGoal: Cover all : Cover all verticesvertices by by cliquescliques
54
2
3
1
54 3
21
54
2
3
1
Clique Cover is equivalent to Graph
Coloring
3939
ConstructioConstruction [Simon n [Simon
‘90]‘90]
2’
5’
4’
3’2
5
4
3
1’1
54 3
21
2’
5’
4’
3’2
5
4
3
1’1
2’
5’
4’
3’2
5
4
3
1’1
2’
5’
4’
3’2
5
4
3
1’12’
5’
4’
3’2
5
4
3
1’1
2’
5’
4’
3’2
5
4
3
1’1
2’
5’
4’
3’2
5
4
3
1’1
G
GI
H
4040
PropositionPropositionss
a clique-cover in G translates into a biclique-cover of the horizontalhorizontal edges in GI, and vice versa
a clique-cover in G translates into t2 biclique-covers of the horizontalhorizontal edges in H.
2’
5’
4’
3’2
5
4
3
1’1
54 3
21G GI
No. of GI’s copies in H.
4141
PropositionPropositionss
2|E|t bicliques are necessary and sufficient in order to cover the diagonaldiagonal edges of H.
2’
5’
4’
3’
2
5
4
3
1’1
2’
5’
4’
3’
2
5
4
3
1’1
2’
5’
4’
3’
2
5
4
3
1’1
2’
5’
4’
3’
2
5
4
3
1’1
2’
5’
4’
3’
2
5
4
3
1’1
2’
5’
4’
3’
2
5
4
3
1’1
54 3
21G=(V,E)
H
4242
PropositionPropositionss
horizontalhorizontal edges in different copiesdifferent copies of GI cannotcannot be members of the samesame bicliquebiclique.
2’
5’
4’
3’
2
5
4
3
1’1
2’
5’
4’
3’
2
5
4
3
1’1
2’
5’
4’
3’
2
5
4
3
1’1
2’
5’
4’
3’
2
5
4
3
1’1
2’
5’
4’
3’
2
5
4
3
1’1
2’
5’
4’
3’
2
5
4
3
1’1
H
H
Ascending, hence cannot connect copies within the same row.
4343
LemmaLemma
s clique-cover in G (t2s + 2|E|t) biclique-cover in H
r biclique-cover in H (r – 2|E|t) / t2 clique-cover in G
2’
5’
4’
3’
2
5
4
3
1’1
2’
5’
4’
3’
2
5
4
3
1’1
2’
5’
4’
3’
2
5
4
3
1’1
2’
5’
4’
3’
2
5
4
3
1’1
2’
5’
4’
3’
2
5
4
3
1’1
2’
5’
4’
3’
2
5
4
3
1’1
54 3
21G=(V,E)
H
4444
Calculating Approximation FactorCalculating Approximation Factor Given a solution with Given a solution with rr bicliquesbicliques for for HH, ,
we may construct a solution with we may construct a solution with ss cliquescliques for for GG, and , and
it is easy to verify thatit is easy to verify that if if rr is is O(O(|V|VHH||xx)) --approximate to approximate to rroptopt
thenthen s s is is O(O(|V||V|5x5x)) --approximate to approximate to ssoptopt
Clique-Cover is hard to approximate by O(|V|1-), >0, unless NP=ZPP (from [FK98])
BEC is hard to approx within g=O(|VH|1/5-), >0, , unless NP=ZPP.
4646
Related WorkRelated Work Property testing Property testing [GGR]
Sample sizeSample size Typically seeking an Typically seeking an exact solutionexact solution and not an and not an
approximated oneapproximated one
Bi-criteria optimizationBi-criteria optimization [MRSR]
optimizationoptimization (vs. (vs. relaxationrelaxation).). Might be Might be easy easy when only when only one criterion one criterion is considered.is considered. Bi-criteriaBi-criteria: :
hard with hard with one criterionone criterion hard in the hard in the bi-criterionbi-criterion version.version.
Typically Typically hostilehostile objectives. objectives.
4747
DiscussionDiscussion
Similar proof is valid for any problem, Similar proof is valid for any problem, which is which is hard to approximatehard to approximate, and , and ““v v v vdd + d” + d”
The gap is still too large:The gap is still too large:
d=O(|E|)
relevant case for (d,g)-SG
d=O(|V|)
Graph coloring is easy
d=O(|V|1/5-) d=|V|2-|E|
easy
d=0
hard
4848
Future WorkFuture Work
Improving our resultsImproving our results Extending our results to other Extending our results to other
problemsproblems
Achieving positive resultsAchieving positive results Parameterized polynomial solutionParameterized polynomial solution Approximation algorithmApproximation algorithm
5050
Property TestingProperty Testing[GGR][GGR]
Distinguish, by a Distinguish, by a small no. of probessmall no. of probes, , between instances between instances xx that that
satisfy a given property satisfy a given property acceptaccept
no set of no set of |x||x| modifications causes modifications causes xx to to satisfy the property satisfy the property rejectreject
back
5151
Bi-criteria Optimization Bi-criteria Optimization [MRSR]
Bi-criteria network design Bi-criteria network design problem problem is a tuple is a tuple (A,B,S)(A,B,S) AA,,BB are two are two minimization objectivesminimization objectives
SS specify a membership requirement in a class of sub- specify a membership requirement in a class of sub-graphsgraphs
The problem specifies a The problem specifies a budgetbudget value on objective value on objective AA
And seeks And seeks minimumminimum over over BB (within the budget) (within the budget)
A A (k,l)(k,l)-approximation algorithm-approximation algorithm for an for an (A,B,S)(A,B,S)-bi--bi-criteria optimization criteria optimization problem problem is a poly.-time is a poly.-time algorithm, that produces a solution that belongs to algorithm, that produces a solution that belongs to the sub-graph class the sub-graph class SS, in which , in which the objective the objective AA is at most is at most kk times the times the budgetbudget, and , and
the objective the objective BB is at most is at most ll times the times the minimumminimum
back
Top Related