Bipartite graph set cover











up vote
1
down vote

favorite












enter image description here



I don't know much about graph theory so I would need to know if the following problem has a positive answer or a reference. There is an undirected bipartite graph G with the two vertex sets V1, V2.



V1={1,2,3,4,5,6} , V2={A,B,C,D} , E={1A,1B,2A,2B,2C,3A,3C,4A,4B,4D,5A,5B,6A,6D}



Is there a function/algorithm that finds the minimum number of vertices from V1 which covers/connects all the vertices of V2 Such that:




  1. Each vertex from V1 could cover multi-vertices of V2 (not a single match)

  2. The vertex from V1 which has maximum edges toward V2 will be selected first, in case of many option pick the vertex which has the lower id

  3. Each vertex of V2 is connected with at least one vertex of V1


Many thanks



Retta










share|cite|improve this question
























  • Well, technically speaking, there is always an algorithm to solve a particular case. :) It's a bit like asking for an algorithm to factor 42.
    – Thomas Andrews
    Jun 18 '14 at 15:35










  • You seem to have completely specified the algorithm to be used.
    – Eric Towers
    Jun 18 '14 at 15:36















up vote
1
down vote

favorite












enter image description here



I don't know much about graph theory so I would need to know if the following problem has a positive answer or a reference. There is an undirected bipartite graph G with the two vertex sets V1, V2.



V1={1,2,3,4,5,6} , V2={A,B,C,D} , E={1A,1B,2A,2B,2C,3A,3C,4A,4B,4D,5A,5B,6A,6D}



Is there a function/algorithm that finds the minimum number of vertices from V1 which covers/connects all the vertices of V2 Such that:




  1. Each vertex from V1 could cover multi-vertices of V2 (not a single match)

  2. The vertex from V1 which has maximum edges toward V2 will be selected first, in case of many option pick the vertex which has the lower id

  3. Each vertex of V2 is connected with at least one vertex of V1


Many thanks



Retta










share|cite|improve this question
























  • Well, technically speaking, there is always an algorithm to solve a particular case. :) It's a bit like asking for an algorithm to factor 42.
    – Thomas Andrews
    Jun 18 '14 at 15:35










  • You seem to have completely specified the algorithm to be used.
    – Eric Towers
    Jun 18 '14 at 15:36













up vote
1
down vote

favorite









up vote
1
down vote

favorite











enter image description here



I don't know much about graph theory so I would need to know if the following problem has a positive answer or a reference. There is an undirected bipartite graph G with the two vertex sets V1, V2.



V1={1,2,3,4,5,6} , V2={A,B,C,D} , E={1A,1B,2A,2B,2C,3A,3C,4A,4B,4D,5A,5B,6A,6D}



Is there a function/algorithm that finds the minimum number of vertices from V1 which covers/connects all the vertices of V2 Such that:




  1. Each vertex from V1 could cover multi-vertices of V2 (not a single match)

  2. The vertex from V1 which has maximum edges toward V2 will be selected first, in case of many option pick the vertex which has the lower id

  3. Each vertex of V2 is connected with at least one vertex of V1


Many thanks



Retta










share|cite|improve this question















enter image description here



I don't know much about graph theory so I would need to know if the following problem has a positive answer or a reference. There is an undirected bipartite graph G with the two vertex sets V1, V2.



V1={1,2,3,4,5,6} , V2={A,B,C,D} , E={1A,1B,2A,2B,2C,3A,3C,4A,4B,4D,5A,5B,6A,6D}



Is there a function/algorithm that finds the minimum number of vertices from V1 which covers/connects all the vertices of V2 Such that:




  1. Each vertex from V1 could cover multi-vertices of V2 (not a single match)

  2. The vertex from V1 which has maximum edges toward V2 will be selected first, in case of many option pick the vertex which has the lower id

  3. Each vertex of V2 is connected with at least one vertex of V1


Many thanks



Retta







graph-theory algorithms bipartite-graph






share|cite|improve this question















share|cite|improve this question













share|cite|improve this question




share|cite|improve this question








edited Mar 9 '16 at 9:28









jrouquie

1032




1032










asked Jun 18 '14 at 15:30









user3592519

162




162












  • Well, technically speaking, there is always an algorithm to solve a particular case. :) It's a bit like asking for an algorithm to factor 42.
    – Thomas Andrews
    Jun 18 '14 at 15:35










  • You seem to have completely specified the algorithm to be used.
    – Eric Towers
    Jun 18 '14 at 15:36


















  • Well, technically speaking, there is always an algorithm to solve a particular case. :) It's a bit like asking for an algorithm to factor 42.
    – Thomas Andrews
    Jun 18 '14 at 15:35










  • You seem to have completely specified the algorithm to be used.
    – Eric Towers
    Jun 18 '14 at 15:36
















Well, technically speaking, there is always an algorithm to solve a particular case. :) It's a bit like asking for an algorithm to factor 42.
– Thomas Andrews
Jun 18 '14 at 15:35




Well, technically speaking, there is always an algorithm to solve a particular case. :) It's a bit like asking for an algorithm to factor 42.
– Thomas Andrews
Jun 18 '14 at 15:35












You seem to have completely specified the algorithm to be used.
– Eric Towers
Jun 18 '14 at 15:36




You seem to have completely specified the algorithm to be used.
– Eric Towers
Jun 18 '14 at 15:36










1 Answer
1






active

oldest

votes

















up vote
2
down vote













This is also called the "vertex cover in hypergraphs". Each vertex in $V_2$ is a vertex in the hypergraph. Each vertex in $V_1$ represents an edge in the hypergraph (joining all of its neighbors in $V_2$ using a single hyperedge). This is an NP-hard problem although there are $d$-approximation algorithms where $d$ is the maximum of the degree of the hyperedges (i.e., the degree of the largest vertex in $V_1$). This means if $d=3$, as it is in your given problem instance, there is an algorithm that picks out less than 3-times too many vertices in $V_1$, which is not impressive.






share|cite|improve this answer























  • Thanks for your response, could you please give me extra details or explanation cause i am not expert in math.
    – user3592519
    Jun 19 '14 at 16:19










  • @user3592519: I can't guess what your background is, so I have added obvious links to the potentially unfamiliar subjects above.
    – Eric Towers
    Jun 19 '14 at 16:58










  • Is the "vertex cover in hypergraphs" is matching my case, it seems a little bit different, i don't to be rude but i really appreciate your advice. May I apply the "vertex cover in hypergraphs" on my bipartite graph with its special requirements?!!
    – user3592519
    Jun 19 '14 at 18:14












  • The algorithm you give at the end of your post is the 3-approximation algorithm for the vertex cover in hypergraphs. It'll work (as in, will find a cover) but it may include up to 3-times as many vertices in V1 (i.e., hyperedges) as are needed for an optimal cover.
    – Eric Towers
    Jun 20 '14 at 3:00











Your Answer





StackExchange.ifUsing("editor", function () {
return StackExchange.using("mathjaxEditing", function () {
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
});
});
}, "mathjax-editing");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "69"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














 

draft saved


draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f838581%2fbipartite-graph-set-cover%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes








up vote
2
down vote













This is also called the "vertex cover in hypergraphs". Each vertex in $V_2$ is a vertex in the hypergraph. Each vertex in $V_1$ represents an edge in the hypergraph (joining all of its neighbors in $V_2$ using a single hyperedge). This is an NP-hard problem although there are $d$-approximation algorithms where $d$ is the maximum of the degree of the hyperedges (i.e., the degree of the largest vertex in $V_1$). This means if $d=3$, as it is in your given problem instance, there is an algorithm that picks out less than 3-times too many vertices in $V_1$, which is not impressive.






share|cite|improve this answer























  • Thanks for your response, could you please give me extra details or explanation cause i am not expert in math.
    – user3592519
    Jun 19 '14 at 16:19










  • @user3592519: I can't guess what your background is, so I have added obvious links to the potentially unfamiliar subjects above.
    – Eric Towers
    Jun 19 '14 at 16:58










  • Is the "vertex cover in hypergraphs" is matching my case, it seems a little bit different, i don't to be rude but i really appreciate your advice. May I apply the "vertex cover in hypergraphs" on my bipartite graph with its special requirements?!!
    – user3592519
    Jun 19 '14 at 18:14












  • The algorithm you give at the end of your post is the 3-approximation algorithm for the vertex cover in hypergraphs. It'll work (as in, will find a cover) but it may include up to 3-times as many vertices in V1 (i.e., hyperedges) as are needed for an optimal cover.
    – Eric Towers
    Jun 20 '14 at 3:00















up vote
2
down vote













This is also called the "vertex cover in hypergraphs". Each vertex in $V_2$ is a vertex in the hypergraph. Each vertex in $V_1$ represents an edge in the hypergraph (joining all of its neighbors in $V_2$ using a single hyperedge). This is an NP-hard problem although there are $d$-approximation algorithms where $d$ is the maximum of the degree of the hyperedges (i.e., the degree of the largest vertex in $V_1$). This means if $d=3$, as it is in your given problem instance, there is an algorithm that picks out less than 3-times too many vertices in $V_1$, which is not impressive.






share|cite|improve this answer























  • Thanks for your response, could you please give me extra details or explanation cause i am not expert in math.
    – user3592519
    Jun 19 '14 at 16:19










  • @user3592519: I can't guess what your background is, so I have added obvious links to the potentially unfamiliar subjects above.
    – Eric Towers
    Jun 19 '14 at 16:58










  • Is the "vertex cover in hypergraphs" is matching my case, it seems a little bit different, i don't to be rude but i really appreciate your advice. May I apply the "vertex cover in hypergraphs" on my bipartite graph with its special requirements?!!
    – user3592519
    Jun 19 '14 at 18:14












  • The algorithm you give at the end of your post is the 3-approximation algorithm for the vertex cover in hypergraphs. It'll work (as in, will find a cover) but it may include up to 3-times as many vertices in V1 (i.e., hyperedges) as are needed for an optimal cover.
    – Eric Towers
    Jun 20 '14 at 3:00













up vote
2
down vote










up vote
2
down vote









This is also called the "vertex cover in hypergraphs". Each vertex in $V_2$ is a vertex in the hypergraph. Each vertex in $V_1$ represents an edge in the hypergraph (joining all of its neighbors in $V_2$ using a single hyperedge). This is an NP-hard problem although there are $d$-approximation algorithms where $d$ is the maximum of the degree of the hyperedges (i.e., the degree of the largest vertex in $V_1$). This means if $d=3$, as it is in your given problem instance, there is an algorithm that picks out less than 3-times too many vertices in $V_1$, which is not impressive.






share|cite|improve this answer














This is also called the "vertex cover in hypergraphs". Each vertex in $V_2$ is a vertex in the hypergraph. Each vertex in $V_1$ represents an edge in the hypergraph (joining all of its neighbors in $V_2$ using a single hyperedge). This is an NP-hard problem although there are $d$-approximation algorithms where $d$ is the maximum of the degree of the hyperedges (i.e., the degree of the largest vertex in $V_1$). This means if $d=3$, as it is in your given problem instance, there is an algorithm that picks out less than 3-times too many vertices in $V_1$, which is not impressive.







share|cite|improve this answer














share|cite|improve this answer



share|cite|improve this answer








edited Jun 19 '14 at 16:57

























answered Jun 18 '14 at 15:41









Eric Towers

31.2k22265




31.2k22265












  • Thanks for your response, could you please give me extra details or explanation cause i am not expert in math.
    – user3592519
    Jun 19 '14 at 16:19










  • @user3592519: I can't guess what your background is, so I have added obvious links to the potentially unfamiliar subjects above.
    – Eric Towers
    Jun 19 '14 at 16:58










  • Is the "vertex cover in hypergraphs" is matching my case, it seems a little bit different, i don't to be rude but i really appreciate your advice. May I apply the "vertex cover in hypergraphs" on my bipartite graph with its special requirements?!!
    – user3592519
    Jun 19 '14 at 18:14












  • The algorithm you give at the end of your post is the 3-approximation algorithm for the vertex cover in hypergraphs. It'll work (as in, will find a cover) but it may include up to 3-times as many vertices in V1 (i.e., hyperedges) as are needed for an optimal cover.
    – Eric Towers
    Jun 20 '14 at 3:00


















  • Thanks for your response, could you please give me extra details or explanation cause i am not expert in math.
    – user3592519
    Jun 19 '14 at 16:19










  • @user3592519: I can't guess what your background is, so I have added obvious links to the potentially unfamiliar subjects above.
    – Eric Towers
    Jun 19 '14 at 16:58










  • Is the "vertex cover in hypergraphs" is matching my case, it seems a little bit different, i don't to be rude but i really appreciate your advice. May I apply the "vertex cover in hypergraphs" on my bipartite graph with its special requirements?!!
    – user3592519
    Jun 19 '14 at 18:14












  • The algorithm you give at the end of your post is the 3-approximation algorithm for the vertex cover in hypergraphs. It'll work (as in, will find a cover) but it may include up to 3-times as many vertices in V1 (i.e., hyperedges) as are needed for an optimal cover.
    – Eric Towers
    Jun 20 '14 at 3:00
















Thanks for your response, could you please give me extra details or explanation cause i am not expert in math.
– user3592519
Jun 19 '14 at 16:19




Thanks for your response, could you please give me extra details or explanation cause i am not expert in math.
– user3592519
Jun 19 '14 at 16:19












@user3592519: I can't guess what your background is, so I have added obvious links to the potentially unfamiliar subjects above.
– Eric Towers
Jun 19 '14 at 16:58




@user3592519: I can't guess what your background is, so I have added obvious links to the potentially unfamiliar subjects above.
– Eric Towers
Jun 19 '14 at 16:58












Is the "vertex cover in hypergraphs" is matching my case, it seems a little bit different, i don't to be rude but i really appreciate your advice. May I apply the "vertex cover in hypergraphs" on my bipartite graph with its special requirements?!!
– user3592519
Jun 19 '14 at 18:14






Is the "vertex cover in hypergraphs" is matching my case, it seems a little bit different, i don't to be rude but i really appreciate your advice. May I apply the "vertex cover in hypergraphs" on my bipartite graph with its special requirements?!!
– user3592519
Jun 19 '14 at 18:14














The algorithm you give at the end of your post is the 3-approximation algorithm for the vertex cover in hypergraphs. It'll work (as in, will find a cover) but it may include up to 3-times as many vertices in V1 (i.e., hyperedges) as are needed for an optimal cover.
– Eric Towers
Jun 20 '14 at 3:00




The algorithm you give at the end of your post is the 3-approximation algorithm for the vertex cover in hypergraphs. It'll work (as in, will find a cover) but it may include up to 3-times as many vertices in V1 (i.e., hyperedges) as are needed for an optimal cover.
– Eric Towers
Jun 20 '14 at 3:00


















 

draft saved


draft discarded



















































 


draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f838581%2fbipartite-graph-set-cover%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Probability when a professor distributes a quiz and homework assignment to a class of n students.

Aardman Animations

Are they similar matrix