Directed Acyclic Graph - Paths With Shared Structure

Paths With Shared Structure

A third type of application of directed acyclic graphs arises in representing a set of sequences as paths in a graph. For example, the directed acyclic word graph is a data structure in computer science formed by a directed acyclic graph with a single source and with edges labeled by letters or symbols; the paths from the source to the sinks in this graph represent a set of strings, such as English words. Any set of sequences can be represented as paths in a tree, by forming a tree node for every prefix of a sequence and making the parent of one of these nodes represent the sequence with one fewer element; the tree formed in this way for a set of strings is called a trie. A directed acyclic word graph saves space over a trie by allowing paths to diverge and rejoin, so that a set of words with the same possible suffixes can be represented by a single tree node.

The same idea of using a DAG to represent a family of paths occurs in the binary decision diagram, a DAG-based data structure for representing binary functions. In a binary decision diagram, each non-sink vertex is labeled by the name of a binary variable, and each sink and each edge is labeled by a 0 or 1. The function value for any truth assignment to the variables is the value at the sink found by following a path, starting from the single source vertex, that at each non-sink vertex follows the outgoing edge labeled with the value of that vertex's variable. Just as directed acyclic word graphs can be viewed as a compressed form of tries, binary decision diagrams can be viewed as compressed forms of decision trees that save space by allowing paths to rejoin when they agree on the results of all remaining decisions.

In many randomized algorithms in computational geometry, the algorithm maintains a history DAG representing features of some geometric construction that have been replaced by later finer-scale features; point location queries may be answered, as for the above two data structures, by following paths in this DAG.

Read more about this topic:  Directed Acyclic Graph

Famous quotes containing the words paths, shared and/or structure:

    Now the hungry lion roars,
    And the wolf behowls the moon;
    Whilst the heavy ploughman snores,
    All with weary task fordone.
    Now the wasted brands do glow,
    Whilst the screech-owl, screeching loud,
    Puts the wretch that lies in woe
    In remembrance of a shroud.
    Now it is the time of night,
    That the graves, all gaping wide,
    Every one lets forth his sprite,
    In the church-way paths to glide:
    William Shakespeare (1564–1616)

    [The pleasures of writing] correspond exactly to the pleasures of reading, the bliss, the felicity of a phrase is shared by writer and reader: by the satisfied writer and the grateful reader, or—which is the same thing—by the artist grateful to the unknown force in his mind that has suggested a combination of images and by the artistic reader whom his combination satisfies.
    Vladimir Nabokov (1899–1977)

    For the structure that we raise,
    Time is with materials filled;
    Our to-days and yesterdays
    Are the blocks with which we build.
    Henry Wadsworth Longfellow (1809–1882)