Problem Graphs

| No Comments | No TrackBacks

This is an idea i came up with during analyzing problems while designing software.

A specific software-design has/causes several problems. Those problems have zero or more (alternative) solutions. These solutions are basically changes to the previous software design that caused the problem. The new software design that solves one or more problems of the initial design can again cause problems, but the problem that was solved with the solution wont be caused (otherwise the solution was not a real solution for the problem).

An example for a problem-graph:

So, a problem has several *alternative* solutions and a solution causes several problems (at once - they are not alternatives).

Dilemma

A cyclic problem-solution situation i call "dilemma", because it cant be solved by a specific solution:

Problem A can be solved with Solution A, which causes problem B, which in turn can be solved by the solution B, which causes problem A. You either solve A with solution A or B with solution B, but you cant solve both.

This does not imply that those problems cant be solved. There might be an alternative solution A2 (which has not been discovered yet) to solution A which does not cause problem B. But for this problem graph you can say: "Solving problem A with solution A leads into a dilemma".

Extensions

Weights

The problem graph idea can be extended: You can assign weights to the arrows. Without weights the causalities can be interpreted as:

  • "The problem P is completely solved by the solution S"
  • "The solution S causes exactly the problems P1 .. Pn"

With weights added it can be interpreted like this:

  • "The problem P is weakly solved by solution S"
  • "The solution S strongly causes problem P1 and weakly causes problem P2"

With these weights you can model non-exact problem relations like:

  • "Spamming can be strongly reduced by introducing captchas"
  • ..
Colors

The problems can be weighted (colored) too, so that you can say "problem X is much more costly than problem Y".

This can easily be extended (eg design algorithms that find optimal solutions for a problem graph etc) but at the moment im too busy.

No TrackBacks

TrackBack URL: http://ragmaanir.mypresident.de/mt/mt-tb.cgi/13

Leave a comment