Handling cycles raises some important issues: the notion of branch is not always useful in a cycle (for example, in an unattacked cycle like in Examples 5 and 7), and when this notion is useful, the length of a branch can be defined in different ways.
Let us consider different examples:
The notion of branch is useless in this case, because there is no leaf in the graph.
There are two possibilities:
The second possibility means that the cycle may have two
representations which are acyclic but also infinite graphs (one with
the root and the other one with the root
). This is a rewriting
process of the cycle:
The and
must be new arguments created during the rewriting
process of the cycle.
In this case, the notion of branch is useful because there exists one leaf in the graph, but the difficulty is to compute the length of this branch. As in Example 7, we can consider either that there is only one infinite branch (so, it is impossible to know if this branch is an attack or a defence branch), or that there is an infinity of attack branches and defence branches whose lengths are known and finite.
In the second case, the graph can be rewritten into the following structures:
The and
must be new arguments created during the rewriting
process of the graph.
From the previous examples, we have chosen to manage a cycle as an infinity of attack branches and defence branches whose lengths are known and finite because we would like to be able to apply Definition 10 in all cases (acyclic graphs and graphs with cycles). However, we need a rewriting process of the graph with cycles into an acyclic graph. There are two different cases, one for the unattacked cycles and one for the attacked cycles:
![]() |
||||||
![]() |
![]() |
... | ![]() |
![]() |
![]() |
... |
![]() |
![]() |
... | ![]() |
![]() |
![]() |
... |
![]() |
... | ![]() |
![]() |
![]() |
... | |
![]() |
... | ![]() |
![]() |
![]() |
... | |
... | ... | ... | ... | ... | ||
![]() |
![]() |
![]() |
... | |||
![]() |
![]() |
![]() |
... | |||
![]() |
![]() |
... | ||||
![]() |
![]() |
... | ||||
![]() |
... | |||||
![]() |
... |
Example 7 - Unattacked cycle (continuation) The graph containing the unattacked cycle
and the argument
, which is attacked by
, is rewritten as
follows:
|
|
where the and
are new arguments.
![]() |
||||||
![]() |
![]() |
... | ![]() |
![]() |
![]() |
... |
![]() |
![]() |
... | ![]() |
![]() |
![]() |
... |
![]() |
... | ![]() |
![]() |
![]() |
... | |
![]() |
... | ![]() |
![]() |
![]() |
... | |
... | ... | ... | ... | ... | ||
![]() |
![]() |
![]() |
... | |||
![]() |
![]() |
![]() |
... | |||
![]() |
![]() |
![]() |
... | |||
![]() |
![]() |
![]() |
... | |||
![]() |
![]() |
... | ||||
![]() |
![]() |
... | ||||
![]() |
... | |||||
![]() |
... |
Example 8 - Attacked cycle (continuation) The graph containing the cycle
attacked in
by the argument
and with the
argument
(resp.
) attacked by
(resp.
) is rewritten as follows:
|
|
where the and
are new arguments.
Note: If there exist several cycles in a graph, we have two cases.
Marie-Christine Lagasquie 2005-02-04