PZ wrote about the latest nonsense from IDiot George Gilder. In this interview, Gilder tries to make some really horrible arguments about how everything is really hierarchical, and he uses “information theory, computer science, and network theory” as examples.
I believe that the universe is hierarchical, with creation at the top – the idea that there’s a creator and that we, at our best, act in his image. This top-down model is what all of my work has in common. I sensed that the basic flaw and failure of feminism was its gradient toward pure animal passion with no procreative purpose. In economics, I believed that it was the supply that created the demand. In my examination of computers and telecom, and subsequently biology, I saw the same thing. That’s really how I came into the intelligent design movement – through the recognition of this same structure that I’d previously examined in sexuality and economics, information theory, computer science and network theory.
PZ does a great job of tearing him down, but also asks:
Computer science and network theory: Gilder knows nothing about either, and has no training in the subjects. I suspect there are readers who know far more about the subject than Gilder: is network theory all about setting up strict hierarchies of top-down control?
And hey golly, that’s right smack dab in my area.
Network theory is seriously nifty stuff. It’s a sub-area of graph theory, which is one
of my favorite areas of computer science. And the short answer to PZs question is: “Hell no: in fact, if that *were* the case, it wouldn’t be an interesting subject at all. What makes it so interesting and difficult is precisely the fact that things aren’t hierarchical”.
The longer version needs a bit of background – because the terms “graph” and “network” don’t mean what many people expect them to.
Most people hear the word “graph”, and think of one of those wiggly-line like a stock-price-over-time graph. In computer science, we mean something very different. A graph
is a collection of objects (*nodes*), which are connected to one another by *edges*. There are two different types of graphs, depending on whether edges are symmetric or not. If the edges are symmetric (meaning that they don’t distinguish between an edge from A to B and an edge from B to A), the graph is called an *undirected* graph; if edges distinguish their source from their target, then it’s a *directed* graph. Graphs *can* also associate a
numeric value with an edge, in which case they’re called *weighted* graphs. For example, the thing over to the right is a simple directed weighted graph.
Graphs can be used for a *lot* of different things; I’m planning on spending at least several months writing about graph theory somewhere down the line. But in the case of
network theory, graphs are used to describe complex relationships between collections of objects. For example:
* Social networks: the objects are people; the edges connect people if they know
each other. Social network graphs are undirected, and generally, unweighted. (They
*could* be weighted with a number indicating the strength of the social bond between
the individuals, but in general, social networks don’t really do that.)
* Computer networks: the objects are computers; the edges are communication links
between the computers. Computer networks are generally weighted (to represent the
bandwidth of the connection), and directed (because many network connections have
different bandwidths in different directions – my home broadband connection is,
I think, has about 8 times the bandwidth from their router to my computer as
the bandwidth from my compute to their router).
* Economic networks: edges are entities that participate in economic activities – people, companies, etc. Edges represent relationships between them: a factory has edges
*from* the sources of its materials, and *to* the entities that use the things it
* Gene regulation networks: these are, fascinatingly, very similar to economic
networks. The objects are genes, specific proteins and related
biochemical complexes. The edges are directed, and basically represent input/output
relationships: the source of an edge represents the production of that chemical;
the target of it represents something which will use it. A gene typically has
inputs like transcription factors, and outputs are edges to the proteins produced
by the gene.
The idea of network theory is that all of these kinds of things consist of graphs representing relationships, and that the relationship graphs represent a kind of common structure that allows you to study them. The reason that you need something like network theory is precisely because these things *don’t* generally have a simple hierarchical
structure that you can use. They tend to be large, complex, decentralized networks, with
no single point of control (or even a small set of points of control). To understand
them, you need to study the properties of the structures. And that’s what network
theory is most fundamentally about: understanding the meaning of the structure of
complex networks in ways that allow you to understand or plan activity within that
The ways of understanding networks involve a wide range of techniques – including simulating activity within the network using process calculi; simulating constraints
using something called petri-nets; finding interesting substructures (like things called
cliques); identifying non-obvious single points of failure; predicting activity levels
by constraint propagation; and several hundred other fascinating things.
The point of all of this, though, is to answer PZs question. And I hope this makes
clear that the answer is a giant and resounding **NO**. Network theory is *not*
about setting up hierarchical structure. As usual, Gilder is talking out his ass about
something that he clearly knows *nothing* about.