Maximal independent set
In graph theory,[] a maximal independent set or maximal stable set is an independent set that is not a subset of any other independent set. In other words, there is no vertex outside the independent set that may join it because it is maximal with respect to the independent set property.
For example, in the graph, a path with three vertices,, and, and two edges and, the sets and are both maximally independent. The set is independent, but is not maximal independent, because it is a subset of the larger independent set. In this same graph, the maximal cliques are the sets and.
A MIS is also a dominating set in the graph, and every dominating set that is independent must be maximal independent, so MISs are also called independent dominating sets.
A graph may have many MISs of widely varying sizes; the largest, or possibly several equally large, MISs of a graph is called a maximum independent set. The graphs in which all maximal independent sets have the same size are called well-covered graphs.
The phrase "maximal independent set" is also used to describe maximal subsets of independent elements in mathematical structures other than graphs, and in particular in vector spaces and matroids.
Two algorithmic problems are associated with MISs: finding a single MIS in a given graph and listing all MISs in a given graph.
Definition
For a graph, an independent set is a maximal independent set if for, one of the following is true:- where denotes the neighbors of
Notice that any neighbor to a vertex in the independent set cannot be in because these vertices are disjoint by the independent set definition.
Related vertex sets
If S is a maximal independent set in some graph, it is a maximal clique or maximal complete subgraph in the complementary graph. A maximal clique is a set of vertices that induces a complete subgraph, and that is not a subset of the vertices of any larger complete subgraph. That is, it is a set S such that every pair of vertices in S is connected by an edge and every vertex not in S is missing an edge to at least one vertex in S. A graph may have many maximal cliques, of varying sizes; finding the largest of these is the maximum clique problem.Some authors include maximality as part of the definition of a clique, and refer to maximal cliques simply as cliques.
The complement of a maximal independent set, that is, the set of vertices not belonging to the independent set, forms a minimal vertex cover. That is, the complement is a vertex cover, a set of vertices that includes at least one endpoint of each edge, and is minimal in the sense that none of its vertices can be removed while preserving the property that it is a cover. Minimal vertex covers have been studied in statistical mechanics in connection with the hard-sphere lattice gas model, a mathematical abstraction of fluid-solid state transitions.
Every maximal independent set is a dominating set, a set of vertices such that every vertex in the graph either belongs to the set or is adjacent to the set. A set of vertices is a maximal independent set if and only if it is an independent dominating set.
Graph family characterizations
Certain graph families have also been characterized in terms of their maximal cliques or maximal independent sets. Examples include the maximal-clique irreducible and hereditary maximal-clique irreducible graphs. A graph is said to be maximal-clique irreducible if every maximal clique has an edge that belongs to no other maximal clique, and hereditary maximal-clique irreducible if the same property is true for every induced subgraph. Hereditary maximal-clique irreducible graphs include triangle-free graphs, bipartite graphs, and interval graphs.Cographs can be characterized as graphs in which every maximal clique intersects every maximal independent set, and in which the same property is true in all induced subgraphs.
Bounding the number of sets
showed that any graph with n vertices has at most 3n/3 maximal cliques. Complementarily, any graph with n vertices also has at most 3n/3 maximal independent sets. A graph with exactly 3n/3 maximal independent sets is easy to construct: simply take the disjoint union of n/3 triangle graphs. Any maximal independent set in this graph is formed by choosing one vertex from each triangle. The complementary graph, with exactly 3n/3 maximal cliques, is a special type of Turán graph; because of their connection with Moon and Moser's bound, these graphs are also sometimes called Moon-Moser graphs. Tighter bounds are possible if one limits the size of the maximal independent sets: the number of maximal independent sets of size k in any n-vertex graph is at mostThe graphs achieving this bound are again Turán graphs.
Certain families of graphs may, however, have much more restrictive bounds on the numbers of maximal independent sets or maximal cliques. If all n-vertex graphs in a family of graphs have O edges, and if every subgraph of a graph in the family also belongs to the family, then each graph in the family can have at most O maximal cliques, all of which have size O. For instance, these conditions are true for the planar graphs: every n-vertex planar graph has at most 3n − 6 edges, and a subgraph of a planar graph is always planar, from which it follows that each planar graph has O maximal cliques. Interval graphs and chordal graphs also have at most n maximal cliques, even though they are not always sparse graphs.
The number of maximal independent sets in n-vertex cycle graphs is given by the Perrin numbers, and the number of maximal independent sets in n-vertex path graphs is given by the Padovan sequence. Therefore, both numbers are proportional to powers of 1.324718, the plastic number.
Finding a single maximal independent set
Sequential algorithm
Given a Graph G, it is easy to find a single MIS using the following algorithm:- Initialize I to an empty set.
- While V is not empty:
- * Choose a node v∈V;
- * Add v to the set I;
- * Remove from V the node v and all its neighbours.
- Return I.
O is obviously the best possible runtime for a serial algorithm. But a parallel algorithm can solve the problem much faster.
Random-selection parallel algorithm Luby's Algorithm
The following algorithm finds a MIS in time O.- Initialize I to an empty set.
- While V is not empty:
- * Choose a random set of vertices S ⊆ V, by selecting each vertex v independently with probability 1/, where d is the degree of v.
- * For every edge in E, if both its endpoints are in the random set S, then remove from S the endpoint whose degree is lower. Break ties arbitrarily, e.g. using a lexicographic order on the vertex names.
- * Add the set S to I.
- * Remove from V the set S and all the neighbours of nodes in S.
- Return I.
Call a node v bad if more than 2/3 of its neighbors are higher neighbours. Call an edge bad if both its endpoints are bad; otherwise the edge is good.
- At least 1/2 of all edges are always good. PROOF: Build a directed version of G by directing each edge to the node with the higher degree. So for every bad node, the number of out-going edges is more than 2 times the number of in-coming edges. So every bad edge, that enters a node v, can be matched to a distinct set of two edges that exit the node v. Hence the total number of edges is at least 2 times the number of bad edges.
- For every good node u, the probability that a neighbour of u is selected to S is at least a certain positive constant. PROOF: the probability that NO neighbour of u is selected to S is at most the probability that none of u's lower neighbours is selected. For each lower-neighbour v, the probability that it is not selected is, which is at most >d). The number of such neighbours is at least d/3, since u is good. Hence the probability that no lower-neighbour is selected is at most 1-exp.
- For every node u that is selected to S, the probability that u will be removed from S is at most 1/2. PROOF: This probability is at most the probability that a higher-neighbour of u is selected to S. For each higher-neighbour v, the probability that it is selected is at most 1/2d, which is at most 1/2d >d). By union bound, the probability that no higher-neighbour is selected is at most d/2d = 1/2.
- Hence, for every good node u, the probability that a neighbour of u is selected to S and remains in S is a certain positive constant. Hence, the probability that u is removed, in each step, is at least a positive constant.
- Hence, for every good edge e, the probability that e is removed, in each step, is at least a positive constant. So the number of good edges drops by at least a constant factor each step.
- Since at least half the edges are good, the total number of edges also drops by a constant factor each step.
- Hence, the number of steps is O, where m is the number of edges. This is bounded by.
Random-priority parallel algorithm
The following algorithm is better than the previous one in that at least one new node is always added in each connected component:- Initialize I to an empty set.
- While V is not empty, each node v does the following:
- * Selects a random number r in and sends it to its neighbours;
- * If r is smaller than the numbers of all neighbours of v, then v inserts itself into I, removes itself from V and tells its neighbours about this;
- * If v heard that one of its neighbours got into I, then v removes itself from V.
- Return I.
ANALYSIS:
- A node has probability at least of being removed. PROOF: For each edge connecting a pair of nodes, replace it with two directed edges, one from and the other. Notice that is now twice as large. For every pair of directed edges, define two events: and, pre-emptively removes and pre-emptively removes, respectively. The event occurs when and, where is a neighbor of and is neighbor. Recall that each node is given a random number in the same range. In a simple example with two disjoint nodes, each has probability of being smallest. If there are three disjoint nodes, each has probability of being smallest. In the case of, it has probability at least of being smallest because it is possible that a neighbor of is also the neighbor of, so a node becomes double counted. Using the same logic, the event also has probability at least of being removed.
- When the events and occur, they remove and directed outgoing edges, respectively. PROOF: In the event , when is removed, all neighboring nodes are also removed. The number of outgoing directed edges from removed is. With the same logic, removes directed outgoing edges.
- In each iteration of step 2, in expectation, half the edges are removed. PROOF: If the event happens then all neighbours of are removed; hence the expected number of edges removed due to this event is at least. The same is true for the reverse event, i.e. the expected number of edges removed is at least. Hence, for every undirected edge, the expected number of edges removed due to one of these nodes having smallest value is. Summing over all edges,, gives an expected number of edges removed every step, but each edge is counted twice, giving edges removed in expectation every step.
- Hence, the expected run time of the algorithm is which is.
Random-permutation parallel algorithm Blelloch's Algorithm
- Initialize I to an empty set.
- While V is not empty:
- * Let W be the set of vertices in V with no earlier neighbours ;
- * Add W to I;
- * Remove from V the nodes in the set W and all their neighbours.
- Return I.
- If, in step i, we select, where D is the maximum degree of a node in the graph, then WHP all nodes remaining after step i have degree at most. Thus, after log steps, all remaining nodes have degree 0, and can be removed in a single step.
- If, in any step, the degree of each node is at most d, and we select , then WHP the longest path in the directed graph determined by the fixed ordering has length. Hence the fully parallel algorithm takes at most steps.
- Combining these two facts gives that, if we select, then WHP the run-time of the partially parallel algorithm is.
Listing all maximal independent sets
It is straightforward to turn a proof of Moon and Moser's 3n/3 bound on the number of maximal independent sets into an algorithm that lists all such sets in time O. For graphs that have the largest possible number of maximal independent sets, this algorithm takes constant time per output set. However, an algorithm with this time bound can be highly inefficient for graphs with more limited numbers of independent sets. For this reason, many researchers have studied algorithms that list all maximal independent sets in polynomial time per output set. The time per maximal independent set is proportional to that for matrix multiplication in dense graphs, or faster in various classes of sparse graphs.
Parallelization of finding maximum independent sets
History
The maximal independent set problem was originally thought to be non-trivial to parallelize due to the fact that the lexicographical maximal independent set proved to be P-Complete; however, it has been shown that a deterministic parallel solution could be given by an reduction from either the maximum set packing or the maximal matching problem or by an reduction from the 2-satisfiability problem. Typically, the structure of the algorithm given follows other parallel graph algorithms - that is they subdivide the graph into smaller local problems that are solvable in parallel by running an identical algorithm.Initial research into the maximal independent set problem started on the PRAM model and has since expanded to produce results for distributed algorithms on computer clusters. The many challenges of designing distributed parallel algorithms apply in equal to the maximum independent set problem. In particular, finding an algorithm that exhibits efficient runtime and is optimal in data communication for subdividing the graph and merging the independent set.