Flexible Optimization Problems

Flexible Optimization
Problems
A. Akavia, S. Safra
1
Motivation
What do we do with all the NP-hard
optimization problems ???
2
Relaxations: 2 Parameters


Optimization function  approximation
Input  flexibility
Example – graph coloring problem:
 Optimization function –


find an approximation of the min coloring.
Input flexibility –

find a k-coloring with few monochromatic
edges.
3
Talk Plan
Approximation
 Input flexibility
 Flexible optimization problems

Examples
 Definitions
 Hardness results

4
Relaxation 1: Approximation



An approximation algorithm is an
algorithm that returns an answer C
which “g-approximates” the optimal
solution C*.
C  g  C* (minimization)
1/g  C*  C (maximization)
5
Relaxation 2: Input Flexibility
Example: Graph Editing problems
complexity
and approximation
example:
2-colorability
results are w/r to the number
of modifications
Input:
 a graph G, and
 a desired property
Goal: find a small set of
edge-modifications
(addition/deletion/both) that
transforms G into G’ with the
desired property
6
Our Work:
Flexible-Approximation-Problems

Combining both relaxations –



approximating the optimization function,
while allowing input flexibility.
Example:
Given a graph G, find a coloring with
few colors,
and perhaps few monochromatic edges.
7
Natural Flexible-Approximation-Problems:
 Min Non-Deterministic Automaton

Min Synthesis Graph
8
Non-Deterministic Finite Automaton
(NFA)

Many applications:




program verification
speech recognition
natural language processing
…
Approximating the minimum NFA, which
accepts a given language L is hard.
9
Flexible Min NFA
Sometimes it suffices to find:


a small NFA,
(Approximation)
accepting a language “similar” to the input one.
(Input Flexibility)
10
Example: Automata-Theoretic
Approach to Program Verification


Program P is correct with
respect to a specifications T
if: L(P)  L(T)
In concurrent programming:
processes P1,..., Pn are correct
w/r to specification T
if: L(P1x…x Pn)  L(T)
in the worst case, |P1x…xPn|
is exponential in n
a
a
a
a
b
b
a
a
b b
b b
a
a
b b b b b
a
b
b b
a
a
b
a
a
P
...
P1
...
P2
...
.P3. .
11
Example: Automata-Theoretic
Approach to Program Verification

Coping with this state-explosion
[K94]:

finding a small automaton P’
(Optimization)

such that L(P1x…x Pn)  L(P’) (Input Flexibility)

and then checking whether L(P')  L(T)
L(P1x…x Pn)  L(P’)

L(P1x…x Pn)  L(T)
L(P’)  L(T)
12
Combinatorial Chemistry and
Flexible Min Synthesis Graph
a multi dimensional space

molecule

similarity (molecules) 
attribute
•Choose
•Synthesize
•Screen
coordinate
point
proximity (points)
**
* ** *
*
*
*
*
*
* ** ** ** * **** *
** ***** * ** * * *
** **** *** *** ** * * *
*
*
* * * * ** * ** * * ****** ******* * ***
* * * * * ** * *
** *
*
* * **** ************* ** ***** ** * * *
*** * * **
**** ****
* * ** ** * *
*
*
*
*
*
*
*
*
*
*
*
*
* * **** *
*
*
* ** * **** *****
*
*
*
* * ** ********************* * * *
*
* ** ************* *******
*
*
13
Split Synthesis [F91,L91,CS99]
a
b
a
b
a
a
b
a b
b b
a b
b b
a a
a b
b b
b b
Node - grow step
Label - appended
unit
c
c
c
a b
b b
c c
a
c
c
c
c
Produces each string s s.t.
s = labels concatenation
along a path
a
c
c
a
b
c
a
b
c
a
b
c
a
b
Synthesis
Graph
14
Flexible Min Synthesis Graph
Input:
A set of
strings S
Output:
A small
synthesis-graph
producing S’,
which is similar to S
a
a
b
b
c
c
a
b
c
a
b
Input flexibitily –
producing S’ and not S
Approximation –
finding a small synthesis graph
not the minimum
15
Definitions,
Theorems and
Proofs
16

Assume a distance function (x,x’) to be
the smallest number of basic
modifications (say, bit-changes) necessary
in order to transform x to x’.
the ball of radius d around a given input x is
ball(x,d) = {x’ | (x,x’)d}
17
(d,g)-flexible approximation problem

Assume:



a distance function , and
an optimization function f.
In a (d,g)-flexible-approximation problem,
given an input x,
d
f(x’,y’) ≤
x’
x
*
gf(x,y )
a solution y’ is returned
s.t.


y’ is feasible for some x’ball(x,d), and
f(x’,y’) is g-approximate to the optimum (for x).
18
Biclique Edge Cover Definition
Input: Bipartite graph G
Goal: Cover all edges by
bicliques (i.e. complete bipartite
subgraphs)
19
(d,g)-Biclique Edge Cover

Assume:


(G,G’) = symmetric edge
difference
f(G,y) = no. of bicliques in
the cover y.
G
G’
f(G’,y)=2
f(G,y)=3
(G,G’)=7
20
(d,g)-Biclique Edge Cover

In a (d,g)-Biclique Edge
Cover ((d,g)-BEC)
given an input G,
a solution y’ is returned
s.t.


y’ is the no. of bicliques in a
cover of G’ball(x,d), and
f(G’,y’) is g-approximate to
the min-BEC for G.
G
G’
21
Hardness of
(d,g)-Biclique Edge Cover
Thm: >0 (d,g)-Biclique-Edge-Cover problem is
hard for any g=O(|V|1/5-) and d=O(g), unless
NP=ZPP.
Proof: later.
22
(d,g)-Non-Deterministic Finite
Automaton (NFA)


Assume:

(L,L’) = symmetric difference between L and L’

f(L,A) = no. of states in an NFA A accepting L.
In a (d,g)-NFA, given a language L,
a solution y’ is returned
s.t.


y’ is the no. of states in an NFA accepting
L’ball(L,d), and
f(L’,y’) is g-approximate to the optimum for L.
23
Hardness of (d,g)-NFA
Thm: >0 (d,g)-NFA problem is hard for any
g=O(|L|1/10-) and d=O(g), unless NP=ZPP
24
Reduction Outlines

Reduction from Biclique-Edge-Cover:
{uv | (u,v)E}
Bipartite
graph G
Strings
set S
qF
q0
NFA
25
Proof
Reduction from flexible
Biclique Edge
approximation
Cover: Biclique Edge Cover:
k-biclique edge cover of G’
G
in d-distance from G 
NFA with k+2 states, accepting L’
L in d-distance from L
q0
v1
u1
v2
u2
v3
u3
v4
u4
v5
u5
G=(V,U,E)
A - an automaton
a
bipartite
acceptin
graph.
L
Define L
Define
L = {vu | (v,u)E}
qF
(d,g)-BEC is hard for
g=O(|V|1/5-) and d=O(g)
 (d,g)-NFA is hard for
g=O(|L|1/10-) and d=O(g)
26
Reminder

A synthesis-graph H produces a string s
if:
s is a label concatenation along a path
from first to last layers in H.
27
Given a set of strings S,
output a small synthesis-graph
producing S’, which is similar to S
(d,g)-Synthesis Graph

Assume:



(S,S’) = symmetric difference between S
and S’
f(S,H) = no. of internal nodes in a synthesis
graph H that produces the strings S.
In a (d,g)-Synthesis Graph, given an
input S, a solution y’ is returned s.t.


y’ is the no. of internal nodes in a synthesis
graph H producing S’ball(S,d), and
f(S’,y’) g-approximate the optimum for S.
28
Hardness of
(d,g)-Synthesis Graph
Thm: >0 (d,g)-Synthesis Graph problem is
hard for any g=O(|S|1/10-) and d=O(g), unless
NP=ZPP
Proof:
29
Reduction Outlines

Reduction from Biclique-Edge-Cover:
A
A
{uAv | (u,v)E}
A
Bipartite
graph G
Strings
set S
Synthesis
graph H
30
Proof
Reduction from flexible approximation Biclique Edge Cover:
Reduction from Biclique Edge Cover [CS99]:
k-biclique edge cover of G’ in d-distance from G 
k-biclique
edge cover
ofkGinternal

synthesis graph
H with
nodes producing S’ in
synthesis
d-distance graph
from SH with k internal nodes producing S
A
Define S
Define
S = {vAu | (v,u)E}
A
(d,g)-BEC is hard for
A
G=(V,U,E)
H - a graph
a
bipartite
constructing
graph.S
g=O(|V|1/5-) and d=O(g)
 (d,g)-SG is hard for
g=O(|S|1/10-) and d=O(g)
31
Hardness Proof of
(d,g)-Biclique-Edge-Cover
((d,g)-BEC)
32
(d,g)-Biclique Edge Cover
((d,g)-BEC)

In a (d,g)-Biclique Edge
Cover ((d,g)-BEC)
given an input G,
a solution y’ is returned
s.t.


y’ is the no. of bicliques in
the cover of G’ball(G,d),
and
f(G’,y’) is g-approximate to
the min-BEC for G.
G
f(G,y)=3
33
Hardness of (d,g)-BEC
Thm: (d,g)-BEC is hard for any g=O(|V|1/5-)
and d=O(g), unless NP=ZPP.
Proof:
34
flexible vs. non-flexible solutions
Lemma:
from any solution y’ to G’ball(G,d),
we may construct a solution y to G,
s.t. f(G,y) ≤ f(G’,y’) + d
G
G’
35
Calculating Approximation Factor
Claim: Let G be a graph,
if v’=f(G’,y’)’ g-approximate (d,g)-BEC,
where d=O(g),
then y, f(G,y)v’+d, s.t.
v=v’+d O(g)-approximate BEC
Proof: By the lemma y, f(G,y)a’+d, and
v  O(g)optG
v = v’ + d
 goptG + d
1/5-)

2goptG BEC(since
d = for
O(g)g=O(|V|
)
Assume
is hard
then:
(d,g)-BEC is hard for g=O(|V|1/5-) and d=O(g)
36
Hardness of Approximation of BEC
Proof Outlines:
 Construction [Simon90]
 Graph coloring is hard to approximate
by g=O(|V|1-) [FK98]
 Simple calculation, improves Simon’s
bound from a constant factor to
g=O(|V|1/5-).
37
Clique Cover Problem
Input: A graph G
Goal: Cover all vertices by cliques
1
5
4
2
3
1
2
4
3
5
Clique Cover is equivalent
to Graph Coloring
38
Construction
[Simon ‘90]
G
1
2
4
3
5
GI
1
2
3
4
5
1’
2’
3’
H
1
2
3
4
5
1’
2’
3’
4’
5’
1
2
3
4
5
1’
2’
3’
4’
5’
1
2
3
4
5
1’
2’
3’
4’
5’
1
2
3
4
5
1’
2’
3’
4’
5’
1
2
3
4
5
1’
2’
3’
4’
5’
1
2
3
4
5
1’
2’
3’
4’
5’
4’
5’
39
G
Propositions


1
2
4
3
5
GI 1
2
3
4
5
1’
2’
3’
4’
5’
a clique-cover in G translates into a
biclique-cover of the horizontal
edges in GI, and vice versa
a clique-cover in G translates into t2
biclique-covers of the horizontal
edges in H.
No. of GI’s copies in H.
40
H
Propositions

G=(V,E)
1 2
5
4 3
1
1’
1
1’
1
1’
2
2’
2
2’
2
2’
3
3’
3
3’
3
3’
4
4’
4
4’
4
4’
5
5’
5
5’
5
5’
1
1’
1
1’
1
1’
2
2’
2
2’
2
2’
3
3’
3
3’
3
3’
4
4’
4
4’
4
4’
5
5’
5
5’
5
5’
2|E|t bicliques are
necessary and sufficient
in order to cover the diagonal edges of H.
41
Propositions
Ascending, hence
cannot connect
copies within the
same row.

H
H
1
1’
1
1’
1
1’
2
2’
2
2’
2
2’
3
3’
3
3’
3
3’
4
4’
4
4’
4
4’
5
5’
5
5’
5
5’
1
1’
1
1’
1
1’
2
2’
2
2’
2
2’
3
3’
3
3’
3
3’
4
4’
4
4’
4
4’
5
5’
5
5’
5
5’
horizontal edges
in different copies of GI
cannot be members of the same biclique.
42
H
Lemma


G=(V,E)
1 2
5
4 3
1
1’
1
1’
1
1’
2
2’
2
2’
2
2’
3
3’
3
3’
3
3’
4
4’
4
4’
4
4’
5
5’
5
5’
5
5’
1
1’
1
1’
1
1’
2
2’
2
2’
2
2’
3
3’
3
3’
3
3’
4
4’
4
4’
4
4’
5
5’
5
5’
5
5’
s clique-cover in G 
(t2s + 2|E|t) biclique-cover in H
r biclique-cover in H 
(r – 2|E|t) / t2 clique-cover in G
43
Calculating Approximation Factor


Given a solution with r bicliques for H,
we may construct a solution with s
cliques for G, and
it is easy to verify that


if r is O(|VH|x) -approximate to ropt
then s is O(|V|5x) -approximate to sopt
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.
44
Related Work

Property testing [GGR]



Sample size
Typically seeking an exact solution and not an
approximated one
Bi-criteria optimization

optimization (vs. relaxation).



[MRSR]
Might be easy when only one criterion is considered.
Bi-criteria:
hard with one criterion  hard in the bi-criterion version.
Typically hostile objectives.
46
Discussion

Similar proof is valid for any problem,
which is



hard to approximate, and
“v  vd + d”
The gap is still too large:
relevant case
for (d,g)-SG
hard
d=0
d=O(|V|1/5-) d=O(|V|)
d=O(|E|)
Graph coloring is easy
easy
d=|V|2-|E|
47
Future Work

Improving our results
Extending our results to other problems

Achieving positive results



Parameterized polynomial solution
Approximation algorithm
48
49
Property Testing
[GGR]

Distinguish, by a small no. of probes, between
instances x that


satisfy a given property  accept
no set of |x| modifications causes x to
satisfy the property  reject
back
50
Bi-criteria Optimization
[MRSR]


Bi-criteria network design problem is a tuple (A,B,S)

A,B are two minimization objectives

S specify a membership requirement in a class of sub-graphs

The problem specifies a budget value on objective A

And seeks minimum over B (within the budget)
A (k,l)-approximation algorithm for an (A,B,S)-bicriteria optimization problem is a poly.-time
algorithm, that produces a solution that belongs to
the sub-graph class S, in which

the objective A is at most k times the budget, and

the objective B is at most l times the minimum
back
51
52