Although there are some orange links that go from blue to red and a few purple ones

that go from red to blue. And this gives some insight to the in the

political blogosphere at least in 2004. Here's another one.

This is a study of the crash in 2008, and it was a graph that showed the structure

of banks lending to one another. An edge corresponds from an overnight loan

and a vertex corresponds to the bank. And from studying this diagram, experts

can see how the banks divided into groups and were therefore vulnerable in these

groups and we'll look at a more detailed definitions of how these groups are

defined a little later on. This is just an example of the use of a

digraph. And it's a digraph, the bank.

One bank lends money to another, that's not the same as the banks being connected,

in some as in an undirected graph. The direction really matters.

This is another one from logic where the vertices correspond to Boolean variables

and the edges correspond to implication. And people use graphs like this to study

in, in logical verification, and also studying electric circuits.

Electric circuits themselves can be diagraphs where circuit elements have

input and output. And so, the edge of course takes the

output of one element to the input of another.

Trying to understand the behavior of such a circuit involves processing a digraph.

Here's another abstraction so-called wordnet graph.

Where vertices correspond in what is called synsets and edges correspond to

hypernym relationships where a, a word is an instance of another one.

So, there's a lot of different events like a miracle or human activity and so forth.

And graphs of this type are very useful in studying applications involving meanings,

meanings in human languages. Here's a famous one.

General McChrystal said that once we understand this graph the war in

Afghanistan will be over. So, with all these types of applications

and there's many, many others just as with graph processing.

Now, the digraph as it, as it is modeled distinct from graph processing is

important. There's many direct applications where we

have connections between objects but the direction of the connection matters.

So, what about digraph processing algorithms.

Well, we're going to look at many problems that are very similar to the ones that we

looked at for undirected graphs. But you can see that they are going to be

a bit more complicated. Even a human has trouble looking at a

diagraph trying to figure out a simple problem like, is there a path from s to t

in this, in this diagraph. Seems like there's quite a few

possibilities to consider to convince yourself whether or not there's a path.

And for the huge diagraphs examples that I looked at before obviously we're going to

need a computer program. And we're going to have a bit of a

challenge figuring what's going on. Of course, you might want to know the

shortest directed path from s to t for example, if you are driving around lower

Manhattan and certainly, I want to have a solution to that problem.

Then, there's another problem called the topological sort problem which is a

general model that's useful in all kinds of applications where were scheduling

events that involve precedence constraints.

In the graph obstruction or the digraph obstruction, it amounts to the problem of

trying to draw the digraph so that all the edges point up.

That's called topological sorting. And then, connectivity is more complicated

for digraphs than for undirected graphs. There's the concept of strong

connectivity, which means for any given pair of vertices u and v, you want to know

is there going to be a directed path from u to v and another directed path from v to

u. That's a much more complicated problem

than connectivity in undirected graphs. And, a generalization of, of that or a

query related to strong connectivities, so-called transitive closure.

And for that, you just want to be able answer the query given vertices v and w as

their path from w to v, a transitive closure.

And actually, you're familiar with the web is a gigantic directed graph.

If there's a link from page a to page b, B, that's a directed edge.

And digraph processing is used in famous page rank algorithm to determine the

importance of a web page. Those are just a couple of examples of

digraph processing problems that introduce the idea.