13.10.2014 Views

OPTIMIZING THE JAVA VIRTUAL MACHINE INSTRUCTION SET BY ...

OPTIMIZING THE JAVA VIRTUAL MACHINE INSTRUCTION SET BY ...

OPTIMIZING THE JAVA VIRTUAL MACHINE INSTRUCTION SET BY ...

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.

199<br />

Chapter 9<br />

An Efficient Multicode<br />

Identification Algorithm<br />

Chapter 7 described the multicode identification process. This included a description<br />

of the algorithm used initially as well as later work which reduced the time and space<br />

cost associated with gathering and evaluating the profile data. This chapter presents<br />

an efficient algorithm for identifying multicodes from a collection of profile data by<br />

identifying and solving an equivalent string problem.<br />

9.1 The Most Contributory Substring Problem<br />

The problem of determining the best multicode can be expressed as a string problem.<br />

Considering the problem in this way led to the identification of a new string problem<br />

that had not been considered previously. Furthermore, an efficient algorithm was<br />

developed for determining its solution which has a considerably lower complexity<br />

than the O(n 3 ) algorithm shown in Figure 7.4 and Figure 7.5. This new algorithm<br />

views the problem of identifying multicodes as a string problem where the goal is to<br />

identify the substring that represents the greatest contribution of characters to a set<br />

of strings. More precisely, the most contributory substring w is a string of characters<br />

such that the length of w, denoted by |w|, times the number of times it occurs within<br />

a set of strings is maximal. Equivalently, the most contributory substring, w, can be<br />

viewed as the string that reduces the number of characters in a set of strings by the<br />

greatest amount when all occurrences of w are removed. To the best of the author’s<br />

knowledge, this problem has not been formally defined or solved previously.

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

Saved successfully!

Ooh no, something went wrong!