Flying Logic: Just Another Outliner?

I am often asked to compare Flying Logic to other packages such as Austhink Rationale and MindMapper. I suppose the main thing that provokes this comparison is that all three are graphically-oriented programs for capturing knowledge. Traditional text-based outliner software is used for capturing knowledge too, but lacks the distinctive visual “boxes and lines” look that Flying Logic and the other packages share.

The main difference is that Flying Logic is not an outliner. What do I mean by this?

Outliners, whether they are traditional text-based ones or more visual ones like Rationale and MindMapper, are based on trees, also called strict hierarchies. If the sort of reasoning you want to do breaks down easily into this structure then outliners are fine, and of course Flying Logic does trees with no problem.

tree.png
A Tree

But Flying Logic is based on a more general structure called the Directed Acyclic Graph (or DAG). Unlike trees where every “child node” has exactly one “parent node,” in a DAG any child can have any number of parents. The only restriction is that a child not (directly or indirectly) be its own parent, a situation called a cycle or loop.

dag.png
A Directed Acyclic Graph (DAG)

In fact, FL allows cycles too, but specially treats the “back edges” that form them. This is useful when modeling so-called “virtuous cycles” or “vicious cycles.”

vicious.png
A Vicious Cycle (back edge in blue)

So Flying Logic is based on DAGs. So what?

Outliners (whether text-based or graphical) are useful when you are simply breaking a thing down into its subparts. For instance, “A degree program consists of a number of courses, each of which consist of a number of assignments.” This is a strict hierarchy. But what if you want to say that a particular course is a prerequisite for several degree programs, and see at a glance what degrees require which courses, and what courses are required by what degrees? Then the “course” entity needs to have several parents, and trees (and outliner software) do not permit this.

When modeling real-life cause-and-effect (such as when using systems thinking techniques like the Theory of Constraints), the need to break away from strict trees becomes even more apparent. Causes can have several effects, and effects can have several causes, or require several conditions, or both. This makes DAGs the most natural choice. But unlike tree-based outlines, which can be easily represented as indented blocks of text, DAGs have no simple expression in pure text without having to redundantly replicate information wherever a child has more than one parent. In other words: for trees, a graphical layout is a nicety, but for DAGs it is a necessity.

Flying Logic also includes features that are specifically aimed at modeling cause-and-effect, including junctors, operators, edge weights, and confidence spinners. Together, these allow various logical and/or mathematical relationships to be expressed, tested, and demonstrated step-by-step, including belief networks and probabilistic networks. (And they stay neatly out of your way when you don’t need them.) Outliners simply don’t do any of that.

Finally, if you look at the screen shot galleries of many graphical outliners, it’s often hard to tell whether more time and effort went into the actual planning work, or into tweaking the plethora of graphics options available. Flying Logic upholds a philosophy of Let the Planner focus on Planning. Since graphic design is not part of the planning process, Flying Logic deliberately avoids adding any graphical options except those that can be justified on the basis of supporting clean, understandable reasoning.

Be Sociable, Share!

14 thoughts on “Flying Logic: Just Another Outliner?

  1. This post offers a very clear explanation as to the importance of DAGs. In fact, the argument is so convincing that one wonders why other mind mapping products don’t use DAGs (surely the user community has been asking for this enhancement)? Can you provide any insight into the lack of DAG support in other products?

  2. Lee,

    I think that there are two factors that contribute to lack of support for DAGs in other products:

    1) Trees have proven themselves useful for many tasks that involve decomposition of a whole down into its parts— for example writing a speech outline. They represent the established paradigm.

    2) Using DAGs to represent cause-and-effect, systems level thinking is a relatively new (and powerful) paradigm that has yet to be widely accepted— when writing a speech one might use a DAG to naturally represent how the various points one makes combine to cause changes in the beliefs of the audience, influencing them towards the speaker’s point of view. Even if a speech writer thinks this way when planning a speech, outliners force them to put down the conclusion of their thinking process: the speech outline. Using a DAG on the other hand allows them to capture, review, and revise their actual thinking process that ultimately yields an outline— the set of steps necessary to give the actual speech.

  3. Thank you Robert for this very clear introduction to DAGs. I think you are right when you say that DAGs can be useful for developing speeches (or any other kind of argumentative writing). In using FL for just this kind of writing, I have often ended up with children with multiple parents, which I found extremely liberating even if the conventions of argumentative writing ultimately require a single source and destination (the main claim).

  4. This is a good post and interesting, but it does not really do justice to Austhink’s Rationale (Disclaimer: to which I am a contributor).

    Rationale might just look like a graphic outliner when you first play with it, but as you delve deeper you will find that there is more to it.

    At present 😉 Rationale can be used in three increasingly sophisticated ways:

    1. In “grouping mode” it allows the user to do a hierarchical tree-based analysis. This is equivalent to a graphic “outliner”.

    2. In “reasoning mode” it overlays the tree with semantics tuned to reasoning. It still looks like a graphic outliner, but it allows you to construct informal arguments where one node supports or objects to its parent.

    3. In “analysis mode” Rationale adds hi-trees which allow the user to represent the co-premise structure of an argument. (This can be faked with a tree or DAG, but I contend that they don’t do as good a job).

    So: It looks like Rationale and Flying Logic have somewhat overlapping concerns, and distinct strengths:

    A. Rationale is tuned for visualizing the logical structure of complex argumentation, although it has other applications.

    B. Flying Logic is better for visualizing Cause-and-Effect analysis, and perhaps other things.

  5. Welcome to the blog, Daniel!

    I agree that Rationale is definitely more specifically tuned for traditional argument mapping. However, I think that DAGs are still superior to trees even for that task, as one assertion may be a sub-argument supporting more than one parent argument, or even supporting part of an argument while simultaneously refuting another.

  6. While we’re on the topic of Argument Maps, I will note that when you download Flying Logic, the “Examples” folder includes an Argument Map domain and a simple example argument map. Domains can be used with any edition of Flying Logic, including the Personal and Student editions, so any edition of Flying Logic can be used to create argument maps.

  7. Thank-you for the kind welcome Robert.

    Now, back to the DAGs vs trees debate ;-):

    Certainly DAGs are more expressive than trees for the reasons that you state. However, whether they are superior depends on the context.

    By analogy: Special Relativity is more accurate than Newtonian mechanics (and includes it as a low-order approximation), but the latter is easier to learn, and easier and faster to apply correctly for complex engineering problems!

    In the case of complex argumentation, at Austhink we have found the need for an effective representation of co-premises more urgent than the need for multiple parents.

  8. Dan,

    I hardly think that DAGs are so complex when compared to trees that they can be reasonably likened to Quantum theory when compared with Newtonian mechanics! If that were the case, then I doubt anyone except academics would find Flying Logic useful, and this is manifestly not the case.

    In my experience, DAGs are a way of representing knowledge that is closer to how our brains actually represent it, and therefore more natural.

    In fact, DAGs are used by every spreadsheet package ever created to represent the flow of data through various formulas: any cell can be used by multiple formulas, and any formula can reference multiple cells, as long as no loops are created. Anyone who has ever used a spreadsheet in any depth understands the power of DAGs, even though the graph is not drawn with boxes and lines. This is part of why I like to call Flying Logic “The spreadsheet for rational thought.”

    I also note that Flying Logic’s grouping feature can easily be used to gather related premises as needed for analysis purposes, similar to the Rationale analysis view. If there is sufficient demand, I’m sure we could easily automate such a view as well.

  9. This is a fascinating discussion. I’ve never been satisfied with strict tree-based representations of my mind maps, but I don’t entirely understand the advantages of DAGs vs. hi-trees. I’m not looking to represent arguments or processes, but something more akin to entity relationships. And I don’t know a thing about graph theory or tree types, or the difference between co-premises and multiple parents (they sound the same to me).

    So I put up a post here with a concrete example I’m trying to map:

    http://forum.flyinglogic.com/index.php?topic=54.msg157#msg157

    I’d love to see each of your thoughts on how that data could best be represented as a DAG or hi-tree.

  10. Impressive programme and does what I want, though it is missing some functionality (such as elapsed time, and manually positioning boxes after they are connected).

    The key thing is when I want to present a chart, I have to blow it up on A0 which costs a lot, and people still cant see it properly.

    Q) Does anyone know if there is an option to change the font to make it bigger?

  11. Hello,
    I just wanted to express my gratitude and amazement towards this software. I can’t praise it’s feature enough. The more I use it, the more I get impressed by the vision behind it. It’s so simple, and still so capable. I’m a psychologist and I’m always searching for the best tools, and so far, this piece of software just blew me away. It’s in a league of its own. I humbly apologize to other software designer (as i’ve seen posts above related to other decision-making software) which I guess are doing a fine job too, but I’ve tried almost every piece of mind-mapping and decision-making software available, and none seem to come close. I truly believe that in a couple of years, this program will unveil its true potential (I mean that I believe that it’s only an infant at this stage, a very capable one, a very impressing one, but it has a lot more to offer, I am anxious to see it develop).
    Best regards,
    Dorin

  12. Hi just wanted to say thank you to the contributors
    to the discussion on this as it is on offer today and I had no previous knowledge of it. Although this post is old it strongly suggests it will naturally unfold to its full potential and that it is natural to how the brain works and intuitive to use I will enjoy exploring it’s and therefore my extended potential

Leave a Reply

Your email address will not be published. Required fields are marked *