[Solved] CSC349 Assignment 8- Approximation Algorithms

$25

File Name: CSC349_Assignment_8-_Approximation_Algorithms.zip
File Size: 423.9 KB

SKU: [Solved] CSC349 Assignment 8- Approximation Algorithms Category: Tag:
5/5 - (1 vote)

Deliverables:

GitHub Classroom: https://classroom.github.com/a/Gbga1MOi

Required Files: compile.sh, run.sh

Optional Files: *.py, *.java, *.clj, *.kt, *.js, *.sh

By now you are very familiar with the Vertex Cover problem:

Input: A graph G = (V,E).

Goal: Find a vertex cover of minimum size.

We will implement a log(n)-approximation algorithm, a 2-approximation algorithm for this problem (this differs from the 2-approximation in class), and an exact (but slow) algorithm. log(n)-Approximation Algorithm

SmartGreedyVertexCover(G)

Input: A graph G.

Output: A set of vertices that form a (not necessarily optimal) vertex cover.

1: C

2: while G has at least one edge do

3: v vertex in G with maximum degree

4: G G v (This also removes all edges adjacent to v)

5: C C v

6: return C

Implement this algorithm.

2-Approximation Algorithm BasicGreedyVertexCover(G)

Input: A graph G.

Output: A set of vertices that form a (not necessarily optimal) vertex cover.

1: C

2: while G has at least one edge do

3: (u,v) any edge in G

4: G G {u,v} (This also removes all edges adjacent to u and v)

5: C C {u,v}

6: return C

Implement this algorithm.

Exact Algorithm

Implement a brute force (exact) algorithm for vertex cover.

1 of 2

CPE 349 Algorithms Approximation Algorithms Programming Assignment 8

Fall 2019 Due: Thursday, December 5th

Format:

The input graph will be undirected and simple (no self loops or multiple edges). The format will be a simple edge list. There will be n vertices and m edges. Each edge in the graph will be represented by a pair of vertex identifiers. Note that I will not give you graphs with isolated vertices. All edge lists will begin at 0.

For example the following graph is represented by the list:

1 2

1 3 2 3 1 4 0 5 4 3 3 0

What to turn in via GitHub Classroom by 8pm of the due date:

  • Accept the following GitHub Classroom assignment: https://classroom.github.com/a/Gbga1MOi. This will create a GitHub repository which you will use to submit your source code for this assignment. The repository will also include some basic sample inputs and outputs.
  • Your algorithm should take an edge list and output the vertices corresponding to three vertex covers.
  • Your program must read input from a file (given as the first command line argument) and write output to stdout.

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Shopping Cart
[Solved] CSC349 Assignment 8- Approximation Algorithms
$25