Finding a subset of edges in a graph such that no two edges share a vertex. Useful in scheduling and assignment problems.