Undirected graph adjacency coloring Given an undirected graph, possibly with multiple edges connecting the same pair of points. Some edges are white, others  black. What is the largest constant $c$ such that we can always color the vertices black and white so that for each color, at least a fraction $c$ of the edges of that color is adjacent to at least one vertex of that color?
It is not hard to see that $c\leq 2/3$: If we have three vertices such that each pair is connected by a black edge and a white edge, then one of the colors will have only $2$ out of $3$ vertices adjacent to an edge of that color. Also Shayan shows below that $c\geq 1/2$. What is the best $c$ between $1/2$ and $2/3$?
 A: I have the answer for c = 1/2.
Just consider the white edges. As you might know, for every (undirected) graph you can can delete at most half of edges to get a bipartite graph. We'll call the partitions A and B. So there are at least half of the white edges between the group A and B. So if we color all the vertices of which ever group to white, there are at least half of the white edges which is connected to at least one white vertex. So we can choose to paint all the vertices of A to white, or all the vertices of B to white. (We'll choose it later)
Now that we partitioned the vertices into two groups, we want to see which partition should we paint to black, the other partition would be colored to white, and as mentioned, for whites the conditions is held.
The black edges between two partitions, will be connected to at least one black vertex whichever way. Now see the black edges inside the partitions. If black edges in partition A is more, we'll color all the vertices of the A to black. And if black edges in partition B is more, we'll do otherwise.
You can see for white and black the conditions is held. 
Proof for the theorem used in this solution: Given a graph, partition it into 2 groups whichever way. If there was a vertex in one group, which more than half of its neighbors are in its group, move the vertex to the other partition. You can see this operation will end, and when ended, for each vertex at least half of its neighbors is in the other group. So at least half of the edges is in-between the partitions.
Update: In this proof, by neighbors we mean the number of edges connected to one vertex.
