Approximation Algorithm

Example

Given an undirected graph on vertices and edges, find a set which maximises the number of edges with one end-point in and other endpoint in

  • Can we find a set such that the number of edges between and is at least times that of the maximum possible ?
  • in time

Lets have a graph with vertex for each student , if and do not know each other

  • Start with any partition and

  • If with strictly more neighbours in then in then move to

  • If with strictly more neighbours in then move to

  • When this process stops, each vertices has half its neighbours across

  • This implies that the cut

  • We have designed approximation for Max Cut in time

Using Randomisation

  • Put in with probability & in with probability
  • edges ,
  • Expected number of edges (linearity of expectations)
  • cut of (budget of expectations)

Max -SAT

Example

Given an instance of -SAT with variables and clauses, find the minimum number of clauses that can be satisfied by any truth assignment

  • -SAT is the restriction of SAT where each clause has at most literals
  • For simplicity, here we can assume exactly 3 literals

Using Randomisation

Put with probability and with probability , for each variable


Expected number of clauses satisfied
assignment satisfying clauses