MATLAB Answers

Ivan
0

Approximate vertex cover problem

Asked by Ivan
on 12 Nov 2013
Latest activity Edited by Ivan
on 30 Nov 2013
Hello, I have 2 question: I want you resolve Approximate vertex cover problem, therefore
1.Can someone give me function who will choice random edge(2 vertex, ex: u and v) in graph, 2.And then function who will delete all egdes incident on either u and v.
Thank you!

  0 Comments

Sign in to comment.

2 Answers

Answer by Ben Petschel on 15 Nov 2013
 Accepted Answer

Assuming you've got an incidence matrix A with A(u,v) if there is an edge from u to v, then a random edge could be selected with
i = randsample(find(A),1);
[u,v] = ind2sub(size(A),i);
and then delete the edges with
A(u,:) = 0; % edges from u
A(:,u) = 0; % edges to u
A(v,:) = 0;
A(:,v) = 0;
This is probably not the most efficient algorithm but if the number of vertices is large then it should run a lot faster if you make A a sparse array.

  0 Comments

Sign in to comment.


Answer by Ivan
on 15 Nov 2013
Edited by Ivan
on 30 Nov 2013

Thank you, but [u,v] should be two adjacent vertices, and ind2sub don't do that. ind2sub do right for v, but for u he backs size of edges.

  0 Comments

Sign in to comment.