def find_roots(graph):
    """
    Identify all roots, where a root is a node that has no edges that point to
    it.
    
    :param graph: A networkx DiGraph.
    """
    instances = set(graph.nodes())
    if not instances:
        raise ValueError('graph contains no edges')
    for edge in graph.edges():
        if edge[1] in instances:
            instances.remove(edge[1])
    return instances
