23.07.2013 Views

Comparing Metaheuristic Algorithms for Error Detection in ... - NEO

Comparing Metaheuristic Algorithms for Error Detection in ... - NEO

Comparing Metaheuristic Algorithms for Error Detection in ... - NEO

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

seems that they were able to f<strong>in</strong>d a pattern to reach the error, while the other<br />

stochastic algorithms have not. F<strong>in</strong>ally, BS f<strong>in</strong>ds the error <strong>in</strong> all the cases.<br />

Like the d<strong>in</strong> problem, mar is also f<strong>in</strong>ite. This means that there is a (relatively<br />

small) limit on the maximum depth the search algorithm may look <strong>in</strong>to. This<br />

knowledge, and the fact that DFS successfully found an error <strong>in</strong> all the problem<br />

<strong>in</strong>stances may lead us to th<strong>in</strong>k that the problem is small and, there<strong>for</strong>e, simple.<br />

That is not, however, the case: the size of the search space grows exponentially<br />

with the size of couples. An <strong>in</strong>terest<strong>in</strong>g observation is that shape of the search<br />

space rema<strong>in</strong>s ma<strong>in</strong>ly unaffected with the growth of the number of couples, as<br />

seen <strong>in</strong> Figure 2. Consider<strong>in</strong>g the size of the search space, the good results of RS<br />

and the observations we made on the D<strong>in</strong><strong>in</strong>g Philosophers problems, it seems<br />

that the mar problem have many different paths lead<strong>in</strong>g to an error state. To<br />

check this hypothesis we have checked all of the search space <strong>for</strong> the mar problem<br />

with 3 couples and found that with only 5156 different states <strong>in</strong> the search space,<br />

there are 30 error states and 216 different paths lead<strong>in</strong>g to those error states.<br />

This is <strong>in</strong>deed a large number of paths <strong>for</strong> the search space size and supports<br />

our hypothesis.<br />

Number of dierent states<br />

100000<br />

10000<br />

1000<br />

100<br />

10<br />

mar2<br />

mar3<br />

mar4<br />

1 0 15 30 45 60 75<br />

Fig.2. Search space <strong>for</strong> the mar problem as seen by DFS <strong>for</strong> <strong>in</strong>stances of 2, 3 and 4<br />

couples. Note that the Y axis is logarithmic.<br />

In general, when search<strong>in</strong>g <strong>for</strong> errors, we have observed that non-complete<br />

algorithms have a higher success rate than the tested complete algorithms. From<br />

figures 1(b) and 2 we can observe that one reason seems to be the concentration<br />

of the search <strong>in</strong> either the beg<strong>in</strong>n<strong>in</strong>g of it (BFS) or the end of it (DFS). Pure<br />

stochastic algorithms, like random search, explores a wider portion of the space<br />

at all the allowed depths (our random implementation is depth bounded). The<br />

metaheuristic algorithms tend to explore more through the search space and exploit<br />

areas that seem <strong>in</strong>terest<strong>in</strong>g, which typically are neither at the beg<strong>in</strong>n<strong>in</strong>g or<br />

at the end of the search space. Complete search algorithms start to fail to search<br />

the whole search space very soon. Are they really applicable <strong>for</strong> software model<br />

Depth

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!