While a tree structure can represent some agreement networks well, it is clear that some situations may not be well served, as not all useful (ie 'rent-paying') statements relating to a particular topic are mutually exclusive/inclusive.
Imagine a topic about what fruit people like. It can be arranged into a tree as follows:
- What Fruit do you like?
- I like Maloideae (all apples/pears etc)
- I like apples
- I like pears
- I like Musa fruit (all bananas and similar)
- I like bananas
- the 'Cavendish' is the one I like
- I like plantains
But a tree structure is almost useless for this topic, as someone who likes plantain is quite likely to also like apples; or pears (or even oranges...). Imposing a tree-like structure on this topic forces people into 'camps' that do not fit their true opinions.
In a trivial example like this, they would just be put off using Canonizer- it would be clear to them that the limitations imposed by a tree-like structure were unhelpful to the topic.
In a more complex example, the effects could be worse. In forcing people to choose one 'camp' over another, the Canonizer could do the opposite of what is intended, and push people with overlapping views further apart, as they might feel forced to choose the 'camp' which went along with their most valued belief, and to ignore one or more minor beliefs. That is what ideologies do to people, and it seems unhealthy to me.
Allowing people to commit to more than one camp, but with voting diluted, as Canonizer allows, just tends towards confusion, as camps no longer represent people properly, but only partially. Why is there not a single camp just for people who like bananas (but not plantains) and Cavendish pears? Because if that's what I like, then I'd like to have detailed conversations with others with exactly the same predilection over how to combine both in the perfect fruit salad!
Without being in a position to implement it (and without having the technical ability either), I propose that it will be valuable for the Canonizer to implement another, more fluid camp definition; that of the semi-lattice.
A semi-lattice is a hierarchical structure that nevertheless allows overlap between categories. Here are diagrams showing the difference between a tree and a semi-lattice:
And here is a seminal article by Christopher Alexander
called A City is not a Tree
which explains the differences, and their implications in mapping real-world structures.