1 Flexible Optimization Problems A. Akavia, S. Safra.

51
1 Flexible Optimization Flexible Optimization Problems Problems A. Akavia, S. Safra A. Akavia, S. Safra
  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    217
  • download

    3

Transcript of 1 Flexible Optimization Problems A. Akavia, S. Safra.

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

1616

Definitions, Definitions, Theorems and Theorems and

ProofsProofs

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

4949

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

5252