29.04.2013 Views

TESI DOCTORAL - La Salle

TESI DOCTORAL - La Salle

TESI DOCTORAL - La Salle

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapter 3. Hierarchical consensus architectures<br />

the running of RHCA, it seems necessary to accurately choose the value of this parameter<br />

—regardless of whether the serial or parallel version of RHCA is implemented (in this latter<br />

case, notice that the RHCA running time still depends on b (via s) although it becomes<br />

s<br />

insensitive to the total number of consensus processes, Ki)—,asRHCAvariantswith<br />

different values of b may have dramatically different running times.<br />

As mentioned earlier, we aim to design an automatic mechanism that allows selecting<br />

thespecificvalueofb that gives rise to the RHCA variant of minimal running time, making<br />

it also possible to decide aprioriwhether it is more computationally efficient than flat<br />

consensus.<br />

To do so, we propose a simple yet effective methodology for comparing distinct RHCA<br />

variants (i.e. with different b values) on computational grounds, a detailed description of<br />

which is presented in table 3.2. In a nutshell, the proposed strategy is based on estimating<br />

the RHCA variants running time using equations (3.4) or (3.9) (depending on whether the<br />

serial or parallel version is to be implemented), replacing the theoretical time complexity of<br />

intermediate consensus processes (O (bij w )) by the average real execution time of c consensus<br />

processes using a specific consensus function F on a mini-ensemble of size bij —recall that<br />

the values of bij can be computed by means of equation (3.3).<br />

It is to note that, for a specific RHCA variant (that is, for a given mini-ensemble size<br />

b), the parameter bij may take a few different values —for instance, in the three toy RHCA<br />

variants depicted in figure 3.2, bij = {2, 3} although b = 2 in all of them. That is, the<br />

number of consensus processes to be executed for estimating the running time of the RHCA<br />

is usually small, which makes the proposed procedure little computationally demanding.<br />

Futhermore, notice that a more robust estimation can be obtained by averaging the running<br />

times of c>1 executions of the consensus function F on mini-ensembles of size bij, although<br />

this would increase the time required for completing the estimation procedure.<br />

By means of the proposed methodology, the user is provided with an estimation of<br />

which is the most computationally efficient RHCA configuration and which is its running<br />

time for the consensus clustering problem at hand. However, it is necessary to decide<br />

whether this allegedly optimal RHCA variant is faster than flat consensus. The running<br />

time of flat consensus can be estimated by extrapolating from the running times of the<br />

consensus processes executed upon mini-ensembles of size bij. A simpler although less<br />

efficient alternative consists of launching the execution of flat consensus, halting it as soon<br />

as its running time exceeds the estimated execution time of the allegedly optimal RHCA<br />

variant.<br />

The next section is devoted to illustrate the performance of the proposed running time<br />

estimation methodology by means of several experiments, as well as for evaluating the<br />

computational efficiency of RHCA in front of flat consensus.<br />

3.2.4 Experiments<br />

In the following paragraphs, we present a set of experiments oriented to i) evaluate the<br />

performance of the computationally optimal consensus architecture prediction methodology,<br />

and ii) analyze the computational efficiency of random hierarchical consensus architectures.<br />

To do so, we have designed several experiments which are outlined next.<br />

55<br />

i=1

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

Saved successfully!

Ooh no, something went wrong!