3 ms·
What's the difference between a dag and a multitree? The wikipedia article was confusing - it seems that it prevents diamond shapes? Like where 1 leads to both
by tunesmith 6y ago
What's the difference between a dag and a multitree? The wikipedia article was confusing - it seems that it prevents diamond shapes? Like where 1 leads to both 2 and 3, and where 2 and 3 both lead to 4?
- climech 6y ago>prevents diamond shapes Pretty much this, unless I'm missing something. An earlier version of the program actually used DAGs, but I found it a little underconstrained. I got pretty excited when I discovered multitrees, as it seemed to be exactly what I needed the whole time.
- gradys 6y agoWhy is the no diamond constraint useful here?
- climech 6y agoWithout it, the structure allowed the user to create a graph like this: [x] Task ├──[x] Sub-task (1) │ ├──[x] Sub-sub-task (2) │ └──[x] Sub-sub-task ├──[x] Sub-task (3) │ ├──[x] Sub-sub-task (2) │ └──[x] Sub-sub-task └──[x] Sub-task by creating a link from (3) to (2). The tree command would actually omit the second occurrence of (2), since the algorithm visited each node just once.
- ssivark 6y agoPrecisely; a multi-tree has a unique path between two nodes. On the same note, I wonder what is the relation between dags/multitrees and semilattices. They seem to be very similar concepts afaict.
- tunesmith 6y agoOh, so you can only crosslink from different root nodes. That makes sense. There are so many ways to structure todos. In this case, it appears to be using subtasks specifically to break things down in various ways, and it's a cool implementation. I personally think of todos as having dependencies, like a simplified PERT chart, which would more require a DAG. If I brought in the ability to generalize groups of that graph (or in the other direction, take a general node and "break it down" into a group of nodes), I guess I'm thinking of a multi-graph there. That sounds really hard. :)