The in Chapter 4 introduced revert operator and the resulting analysis opportunities promise a better understanding about drawbacks and also inspiration, which occurred during the creative process. In that chapter, it was mentioned that the revert operations inside the creativity map cannot be identified through a normal BPDL expression without the revert operator. The revert operator, however, requires the information about the involved transitions. Therefore, it is necessary to identify the transitions which finally lead to the revert to an older state. The tracking of the revert operations is not undertaken during the analysis process. Such an approach would slow down the analysis process. Instead, the information is collected during the creation of the creativity map. This information is then stored for later following analyses.
The identification of the transitions, responsible for a revert operation is not always a simple task. Some reverts will be applied on sequences, which have already been influenced by another revert operation. Difficulties of understanding can occur when reverting to other branches or nesting. The identification process requires an approach which can cater for all cases. The following example should illustrate the complexity of this tracking process. r1 r2 S1 S2 S3 S4 S5 S6 S10 S7 S8 t0 t1 t2 t3 t4 t8 t6 t5 S9 t7 S11 S12 r3 t9 t10 r4
Figure 7.2 depicts a part of a creativity map with four revert operations. The revert sequences are marked through the dashed arrows. The number of the label indicates the order of appearance, starting with the lowest number.
The revert sequences of this creativity map are:
RS 1:
−→
t1; −→
t1RS 2:
−→
t0; −→
t3; −→
t4RS 3:
−→
t5; −→
t6; −→
t7RS 4:
−→
t7; −→
t8; −→
t9; −→
t10The identification of the transitions, leading to the first revert is straight forward. The sequence RS 1 consists of the transitions between the states S2 and S4.
Sequence RS 2 is more complicated and seems to be a little odd. The transitions t1 and
t2 are not elements of the sequence. The reason for this is the first revert RS 1. A rule is,
that the, for a revert operation responsible, sequence will not contain branches. A branch always represents a former, unsuccessful approach.
This is the same case for sequence RS 3. The sequence contains only the transitions t5, t6
and t7, because there was a revert from S6 to S1 before. The transitions depicted on the
right, inside the figure, were created after the third revert r3. Those transitions therefore
cannot belong to the sequence RS 3, as they were not existing as the time of the revert operation.
The last sequence RS 4 is a good example for the case that a revert sequence can contain transitions of different branches inside the creativity map. The first transition t7 belongs
to a different branch of the creativity map. This causes problems for the automated identification of the sequences with a computer.
7.3.1 Identification Technique
The first choice for identifying the sequences in a tree structure like the creativity map would usually be the Depth-first search (DFS). However, this approach cannot cope properly with the above mentioned problems. Furthermore, it would require traversing the whole creativity map, in case of a new revert operation. This is very inefficient and time-consuming in larger creativity maps. Therefore, it is not the best choice for the
identification of related transitions which are distributed over two different branches.
A much simpler and more effective approach is a table, which stores the start and end state of the revert sequence. Those two states are of course the old and new state of the revert operation. S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 RS1 x x RS2 x x RS3 x x RS4 x x
Table 7.1: Revert Tracking Table
Table 7.1 contains the information about the revert sequences of the example in Figure 7.2. The first row contains the identifier of the states, in this case S1 to S12. The following rows are added one by one with the appearance of a new revert. The two x inside each row stand for the start and end state of the sequence. The left “x” represents the start state of the sequence and the right one the end state.
The benefit of this table is the simplicity of spotting the transitions and states of the sequence, which are responsible for a revert operation. The resulting algorithm for the identification process is simple and fast as well. The identification of the first sequence is very easy. The sequence starts at S2 and ends at S4. For the following reverts, the algorithm will take the sequences from all previous revert operations into account. A previous revert sequence will be subtracted from the current one, if it is a subsequence. Through this, previous reverts are taken into account.
A former revert sequence can be identified as a subsequence with the tracking table, if the left and right “x” are between or in the same columns as of the current sequence. This is already the case for the second revert sequence, in the example table. One can see that the two “x” of the sequence S2 to S4 lie inside the sequence S1 to S6. Therefore, that sequence is not a part of the current revert operation. The states and transitions of the previous sequence are removed from the current sequence.
Now, the two subsequences of the current revert sequence need to be “glued” together at the right position. For this, the start state of the subsequence is connected to the state
on the right of the end state. In the example, S2 would be connected with S5, through the transition which created S5.
Nonetheless, this approach has one disadvantage when used for computer processing. It requires a lot of memory due to the size of the table. The most space is wasted, because the table is sparsely populated. Fortunately the approach can be adjusted in order to reduce the size of the table.
With a closer look at the table, it becomes obvious that the “x” marks a time of appear- ance. Furthermore, every state contains a timestamp of its creation. Hence, it is possible to create a table with only the timestamps of the start and end transitions.
Start End RS1 S2 S4
RS2 S1 S6
RS3 S6 S9
RS4 S8 S12
Table 7.2: Improved Revert Tracking Table
The improved revert tracking table is much smaller than the original one. The first column contains the first or start state of the revert sequence. The second column contains the last or end state of the sequence. The number of columns is not related to the length of the revert sequences any more.
The identification process will compare the timestamps of the start and end state of the current revert sequence with the timestamps of the start and end state from the table. An old revert lies inside the current revert sequence, if the timestamp of the old start state is the same or more recent than the timestamp of the current start state and the timestamp of the old end state is older (not the same!) than the timestamp of the current end state. Already existing revert entries will not require a comparison again with new revert oper- ations, as the new revert will contain states, which did not exist at the time the old one was created. A new revert sequence cannot be inside an old revert sequence. Only vice versa!