In a PlanetMath:tree such as SubPages, if page AB is a SubPage of page A, then it can't also be a SubPage of page B.

As an example, if you have an idea of something, say a "Car," you might classify it a certain way. You might say, "This car is an automobile." There are things that are automobiles: Trucks, motorcycles, cars. Your car is an automobiles. We could carry it further, and say "What are automobiles?" Consider the peers of the "automobile." There are also "aircraft," "spacecraft," and "water-craft."

But get your bills in the mail, and suddenly, your car ceases to be an automobile. Suddenly, what was formerly an automobile is now called an expense. Like electricity, or water, or rent. Now you hate your car. Especially since you just had to pay a mechanic to replace the transmission.

Your mechanic didn't see an expense. Your mechanic might not have even seen an automobile. Your mechanic saw a system. Your mechanic puts your car side-by-side other systems, like the electrical and plumbing system for a building, or the electronics in a VCR.

Now suppose a humorous God declared that people could only think about cars in terms of transportation.

Mechanics couldn't fix your car. And you couldn't pay your bills. Cars would break and could never be repaired. And you could only buy another one with all cash up front.

That's why you don't want to organize all knowledge under one system, and one system only.

The mathematical name for these systems is a PlanetMath:tree. Think of an upside-down tree without roots. At the base, you have something like "thing." Then it branches out into things like "transport." It branches further into "land-craft, air-craft, space-craft, water-craft." And then you've got all these little leaves: truck, car, the Enterprise, yacht, submarine.

To be sure, there are times that it's useful to consider ideas within only one tree. When you pay your bills, you don't want to think about taking your car out to the beach, or about how your engine works. When you pay your bills, you want to think about how much your transmission change cost, compared to how much credit card debt you want to pay off this month.

But when we are thinking about ideas, and how we want to map them out, and how we want to organize them, for lots of people to use for many different purposes, it is important to see ideas as belonging to many trees, not just one.

Things that are less restrictive than hierarchies


A simple way to start seeing mathematical trees in nature is to try and think about relations. Not necessarily your relations, your aunts and uncles or whatever, but mathematical relations. That is, any way in which things can be related. Take your parents, for example. Given any two people, it's easy to say whether one is the other's parent. "Parent of" is a relation between people. Or think of animals. Two animals are of the same species if they can crossbreed, i.e. mate and have fertile offspring. Same species as is a relation.

If you can find a relation where any object is related to at most one other, and it's not possible to find a cycle, a group of objects all of which are related to the next in a big circle, then you have a tree. Well, actually, you have a collection of trees (called a forest), but the difference is minor.

Thought of one yet?


How about parents? Not quite: I have two parents. So how about fathers? Yes: being a (biological) father is suitable. I cannot be the father of my father, nor of his father, et cetera. Equally, I can have at most one father. Hurrah! A tree.

Not a useful one, mind. Only half of your genome comes from your father. Only half of your ancestors (work with me here) come from your father. You really want the "mothers" tree, too, and the combination of the two is much more rich and complex. Not, in fact, a tree at all.

How about the traditional tree: a family tree? I list my children, my children's children, et cetera. Of course, this isn't a tree, since my children's children can marry, and their children will have two ancestors in this structure.

Trees are a good way of presenting an aspect of information, but many useful systems will be much, much more. This is why powerful systems are based on relations, not trees. Relational databases, ResourceDescriptionFramework, they all use relations. Isn't it time name-spaces did?

See Also

Wiki:LimitsOfHierarchies, TreeVsSemiLattice (which discusses A City is not a Tree), Wiki:TreeUberAlles, UsingTags


Q & A

Q: What's the name for the entity which is a single set of nodes with multiple relations defined on it, with each relation being a tree?

A: There may be a name for such a thing, but we're not concerned with it. There are hoards of structures people can make up, but that there are no names for: You just write out the structure, like you just did. Then you can name it. You could say: "This is a graph, and the relations between the elements are parts of a tree. I call it a foo."

A2: Something like the combination of the "fathers tree" and the "mothers tree" mentioned above? I've been calling it an "indirect tree", or sometimes "separation of relationship meta-data from leaf data" (analogous to the HTML/CSS "seperation of presentation from content"). But I suspect there's a better name.

A3: Are you looking for semilattice (TreeVsSemiLattice) ? "Either grouping taken by itself is a tree structure. The two together are a semilattice." -- Christopher Alexander


Great page, whoever wrote this.. – BayleShanks

EditNearLinks: SubPage SubPages