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.
Once again, I'm beaten to the punch (but at least it means that when I can shake off my horrid sloth, I can write about the topics I promised to address long ago).
Oh, wait. I wrote some stuff about networks and promised more of that, too. Me and my big mouth.
Does anyone know, what exactly was Glider's role when he was "in" telecom? I know he wrote about the subject, but at what level? As an investment/management type person? As a journalist? Or at that kind of theoretical level where you use words like "network theory" and actually understand what they mean?
Gilder was a talking head/money man.
After trying to read the article, it appears that the 'network theory' he's talking about is the OSI 7 layer network model.
In network theory, you have seven layers of abstraction. Those same seven layers also apply, in slightly different form, to a computer system.
Which, although of some use, doesn't really describe the current IP network very well, which is a 4 or 5 layer system, depending on who you ask, and how you count. Of course the OSI model was specified before being implemented, and TCP/IP was the other way 'round.
And, of course, neither are 'theories'
Among other things, Gilder made investment advice, which people lost a whole bunch of money on.
I was wondering when you'd get around to graph theory!
A required course in my CS degree is an introduction to combinatorics. It starts off with enumeration (which is interesting in it's own way), but then dives right into graph theory. We're only studying simple graphs in this course but it's giving me a taste for it, and I'm enjoying it enough to want to take more of it in subsequent terms. (My university puts those courses under the Combinatorics and Optimization department rather than CS, but I can still take them all the same :)
Gilder probably meant that old IBM synchronous network (whose TLA I've blessedly forgot). You know, there one where you had to reboot the whole system to add a node. The one that used $7K modems and special data lines and did hard-routing and was still slower than a 1200 baud modem. IBM used to sell it as though it was how God intended computers to talk.
One example that some readers may be familiar with is the humble spreadsheet.
Each "cell" in a spreadsheet is a node. There is an edge between two node (say, from N1 to N2) if cell N2 refers to cell N1. So, for example, if cell A10 is the sum of cells A1 to A9, then there are nine directed edges, from A1 to A10, from A2 to A10 and so on.
This is a type of graph known as a dataflow graph, and if you reversed the edges, it would be a dependency graph. What it represents is what computation needs to be redone if the value in some cell is changed.
Minor typo: In the 4th example, I think that you want to say "Nodes are entities ..." not "Edges are entities ...".
I think Gilder needs to upgrade to quantum networks.
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 produces.
Shouldn't the italicized 'edges' be vertices? (or objects?)
Ray Kurzweil's site has a laughably incomplete biography of Gilder, but the most amusing entry on the wobospheric hit parade is the following:
At his peak, George Gilder had the power to move the markets. These days the conservative pundit turned technology guru is just trying to get people to pay attention to him.
Mr. Gilder's fascination with telecommunications companies and their technology wasn't dimmed by the Nasdaq meltdown of 2000 and 2001, which wiped out many of the loyal readers of his once-influential newsletter and nearly tossed Mr. Gilder into bankruptcy. The 66-year-old author and former Nixon speechwriter continues to seek out promising high-tech firms and promote them in the Gilder Technology Report, though his audience has shriveled from more than 75,000 subscribers six years ago to fewer than 5,000 these days.
— Marcelo Prince, "Where Are They Now: George Gilder", Wall Street Journal (8 May 2006)
About the gene network example -- it's worth making explicit that transcription factors are proteins.
Also, interesting factoid about linear systems, which can be represented by graphs in two ways. In "block diagrams", signals are represented as nodes (drawn as blocks, typically), and transfer functions relating the signals are represented as edges. In "signal flow diagrams", transfer functions are nodes, and signals are edges. Block diagrams appear to be more intuitive for humans, but signal flow diagrams have a very nice property: they are always planar graphs.
As a web developer who deals daily with a team of people who have only ever developed for the web, but whose responsibility lies with a team developing high-performance distributed software, I have to constantly remind the UI guys that when the kernel guys say "graph" they don't mean "chart", and when they say "grid" they don't mean "table." And vice versa.
Sigh. It's getting so we can't even communicate within our own industry anymore!
OT I was trying to get to your items on Group Theory on the old site, but they are gone, and a search doesn't seem to find them on the new site. Have they been moved, or lost?
It's odd that you chose the most interesting examples of a network, rather than the really obvious ones like roads and pipes. I'm sure there's been a lot more time dedicated to actual physical networks than to social network analysis, which AFAIK is just one of those things that academics do.
Here's a cool paper on whether it is feasible to reverse engineer time discrete finite dynamical systems. The Intelligence Design people handwave about reverse-engineering living organisms to find the copyright (tradmark?) of God. George Gilder screws up even worse by assuming that such reverse engineering will find a hierarchical network. What does GOOD MATH have to say?
Mon, 25 Jun 07
 arXiv:0706.3234 [ps, pdf, other]
Title: Reverse engineering time discrete finite dynamical systems: A feasible undertaking?
Authors: Edgar Delgado-Eckert
Comments: Submitted to journal, currently under review
Subjects: Quantitative Methods (q-bio.QM); Molecular Networks (q-bio.MN)
With the advent of high-throughput profiling methods, interest in reverse engineering the structure and dynamics of biochemical networks is high. Recently an algorithm for reverse engineering of biochemical networks was developed by Laubenbacher and Stigler. It is a top-down approach using time discrete dynamical systems. One of its key steps includes the choice of a term order. The aim of this paper is to identify minimal requirements on data sets to be used with this algorithm and to characterize optimal data sets. We found minimal requirements on a data set based on how many terms the functions to be reverse engineered display. Furthermore, we identified optimal data sets, which we characterized using a geometric property called "general position". Moreover, we developed a constructive method to generate optimal data sets, provided a codimensional condition is fulfilled. In addition, we present a generalization of their algorithm that does not depend on the choice of a term order. For this method we derived a formula for the probability of finding the correct model, provided the data set used is optimal. We analyzed the asymptotic behavior of the probability formula for a growing number of variables n (i.e. interacting chemicals). Unfortunately, this formula converges to zero as fast as r^(q^n), where q is a natural number and 0 is less than r is less than 1. Therefore, even if an optimal data set is used and the restrictions in using term orders are overcome, the reverse engineering problem remains unfeasible, unless prodigious amounts of data are available. Such large data sets are experimentally impossible to generate with today's technologies.
I'm surprised that you missed out neural networks. I guess they would be characterised as directed weighted graphs, since each neuron receives connections via its dendrites and connects to other neurons via its axon with varying connection strengths.
The non-hierarchical nature of neural networks is kind of the point after all - there's no 'controller' in the brain that makes us do stuff, just patterns of neural activity resulting in behaviour.
While that would have been an interesting addition, I think he was trying to focus on subjects that are actually studied in network theory. NNs aren't generally studied like that, I think.
In defense of George Gilder, he's an expert at minimal spamming trees :)